/* JagdIQ Praxis-Simulator */
.practice-shell{
  width:min(100vw,432px);
  min-height:100dvh;
  margin:0 auto;
  overflow-y:auto;
  color:var(--green,#0b4a38);
  background:
    radial-gradient(circle at 86% 2%,rgba(255,255,255,.25),transparent 24%),
    linear-gradient(180deg,#f5e4cf 0%,#edd7ba 100%);
}
.practice-dashboard,.practice-session,.practice-summary{
  min-height:100dvh;
  box-sizing:border-box;
  padding:max(18px,env(safe-area-inset-top)) 15px max(28px,calc(env(safe-area-inset-bottom) + 20px));
}
.practice-header,.practice-session-head{
  display:grid;
  grid-template-columns:44px minmax(0,1fr) 36px;
  align-items:center;
  gap:10px;
  margin-bottom:14px;
}
.practice-header{grid-template-columns:44px minmax(0,1fr)}
.practice-header>div,.practice-session-head>div{min-width:0}
.practice-header span,.practice-session-head span,.practice-kicker{
  display:block;
  color:#9a711d;
  font-size:7px;
  font-weight:900;
  letter-spacing:1.15px;
}
.practice-header h1{
  margin:3px 0 0;
  font-family:Georgia,serif;
  font-size:25px;
  line-height:1;
}
.practice-session-head strong{
  display:block;
  margin-top:3px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-family:Georgia,serif;
  font-size:15px;
}
.practice-session-head>b{
  width:34px;height:34px;
  display:grid;place-items:center;
  border-radius:50%;
  background:rgba(255,249,241,.58);
  font-family:Georgia,serif;
  font-size:15px;
}
.practice-back{
  width:44px;height:44px;
  display:grid;place-items:center;
  border:1px solid rgba(255,255,255,.78);
  border-radius:50%;
  background:rgba(255,249,241,.54);
  color:inherit;
  box-shadow:0 7px 18px rgba(86,60,37,.08),inset 0 1px 0 rgba(255,255,255,.92);
}
.practice-back svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.practice-hero{
  display:grid;
  gap:10px;
  padding:17px;
  border:1px solid rgba(255,255,255,.8);
  border-radius:25px;
  background:rgba(255,249,241,.58);
  box-shadow:0 10px 25px rgba(91,62,37,.08),inset 0 1px 0 rgba(255,255,255,.92);
}
.practice-hero>div:first-child{display:flex;align-items:end;justify-content:space-between;gap:12px}
.practice-hero>div:first-child span{font-size:7px;font-weight:900;letter-spacing:1px;color:#9a711d}
.practice-hero>div:first-child strong{font-family:Georgia,serif;font-size:29px;line-height:1}
.practice-hero-track,.practice-category-progress,.practice-progress{
  height:5px;
  overflow:hidden;
  border-radius:999px;
  background:rgba(11,74,56,.1);
}
.practice-hero-track i,.practice-category-progress i,.practice-progress i{display:block;height:100%;border-radius:inherit;background:var(--green,#0b4a38)}
.practice-hero p{margin:0;color:#6f6960;font-size:9.5px}
.practice-primary,.practice-secondary{
  width:100%;
  min-height:48px;
  border-radius:16px;
  font:inherit;
  font-weight:900;
}
.practice-primary{
  border:0;
  background:linear-gradient(180deg,#08704d 0%,#07583c 100%);
  color:#fff;
  box-shadow:0 9px 18px rgba(9,97,63,.14);
}
.practice-secondary{
  margin-top:8px;
  border:1px solid rgba(11,74,56,.15);
  background:rgba(255,249,241,.52);
  color:inherit;
}
.practice-active{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-top:11px;
  padding:13px 14px;
  border:1px solid rgba(255,255,255,.78);
  border-radius:20px;
  background:rgba(197,218,188,.4);
}
.practice-active>div{display:grid;gap:2px;min-width:0}
.practice-active span{font-size:7px;font-weight:900;letter-spacing:.9px;color:#567263}
.practice-active strong{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.practice-active button{
  border:0;border-radius:12px;padding:9px 11px;background:#0b5d43;color:#fff;font:inherit;font-size:9px;font-weight:900;
}
.practice-section-title{
  display:flex;align-items:end;justify-content:space-between;gap:12px;
  margin:18px 2px 9px;
}
.practice-section-title h2{margin:0;font-family:Georgia,serif;font-size:20px}
.practice-section-title span{color:#746e65;font-size:8px}
.practice-category-grid{display:grid;gap:8px}
.practice-category{
  position:relative;
  display:grid;
  grid-template-columns:46px minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  min-height:76px;
  padding:11px 12px 15px;
  border:1px solid rgba(255,255,255,.8);
  border-radius:21px;
  background:rgba(255,249,241,.56);
  color:inherit;
  text-align:left;
  box-shadow:0 8px 18px rgba(91,62,37,.06);
}
.practice-category-icon{
  width:44px;height:44px;
  display:grid;place-items:center;
  border-radius:15px;
  background:rgba(11,74,56,.07);
}
.practice-category-icon svg{width:25px;height:25px}
.practice-category-copy{display:grid;gap:3px;min-width:0}
.practice-category-copy strong{font-family:Georgia,serif;font-size:15px}
.practice-category-copy small{color:#746e65;font-size:8px;line-height:1.3}
.practice-category-score{font-family:Georgia,serif;font-size:15px}
.practice-category-progress{position:absolute;left:68px;right:12px;bottom:8px;height:3px}
.practice-history{margin-top:2px}
.practice-history-row{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:10px 12px;border-bottom:1px solid rgba(11,74,56,.08);
}
.practice-history-row>div{display:grid;gap:2px;min-width:0}
.practice-history-row strong{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.practice-history-row small{color:#746e65;font-size:8px}
.practice-history-row>span{font-family:Georgia,serif;font-size:15px}
.practice-loading,.practice-error{
  min-height:100dvh;
  display:grid;
  place-items:center;
  align-content:center;
  gap:12px;
  padding:24px;
  box-sizing:border-box;
  text-align:center;
}
.practice-loading>span{
  width:34px;height:34px;border:3px solid rgba(11,74,56,.15);border-top-color:currentColor;border-radius:50%;animation:practice-spin .8s linear infinite;
}
.practice-loading strong,.practice-error h1{font-family:Georgia,serif}
.practice-error>div{
  width:66px;height:66px;display:grid;place-items:center;border-radius:22px;background:rgba(255,249,241,.58);font-family:Georgia,serif;font-size:30px;color:#9a711d;
}
.practice-error h1{margin:0;font-size:27px}
.practice-error p{max-width:310px;margin:0;color:#6f6960;font-size:10px;line-height:1.4}
@keyframes practice-spin{to{transform:rotate(360deg)}}
.practice-progress{margin:0 2px 14px}
.practice-situation{
  display:grid;gap:9px;padding:17px;
  border:1px solid rgba(255,255,255,.8);
  border-radius:25px;
  background:rgba(255,249,241,.58);
  box-shadow:0 9px 22px rgba(91,62,37,.07);
}
.practice-situation>span,.practice-options>span{color:#9a711d;font-size:7px;font-weight:900;letter-spacing:1px}
.practice-situation p{margin:0;color:#746e65;font-size:9px;line-height:1.45}
.practice-situation h1{margin:0;font-family:Georgia,serif;font-size:24px;line-height:1.15}
.practice-options{display:grid;gap:8px;margin-top:12px}
.practice-options>button{
  display:grid;grid-template-columns:31px minmax(0,1fr);gap:9px;align-items:center;
  min-height:58px;padding:10px 11px;
  border:1px solid rgba(255,255,255,.82);
  border-radius:18px;
  background:rgba(255,249,241,.56);
  color:inherit;text-align:left;
}
.practice-options>button i{
  width:29px;height:29px;display:grid;place-items:center;border-radius:10px;background:rgba(11,74,56,.07);font-style:normal;font-size:9px;font-weight:900;
}
.practice-options>button strong{font-size:10px;line-height:1.35}
.practice-options>button.is-selected{outline:2px solid rgba(11,74,56,.28)}
.practice-options>button:disabled{opacity:.62}
.practice-session-meta{
  display:flex;justify-content:space-between;gap:10px;margin:10px 2px 0;color:#746e65;font-size:7.5px;
}
.practice-decision{
  min-height:100dvh;
  box-sizing:border-box;
  display:grid;
  justify-items:center;
  align-content:center;
  gap:11px;
  padding:28px 18px;
  text-align:center;
  background:linear-gradient(180deg,#f5e4cf,#edd7ba);
}
.practice-decision-mark{
  width:82px;height:82px;display:grid;place-items:center;border-radius:27px;background:rgba(255,249,241,.62);font-family:Georgia,serif;font-size:40px;
}
.practice-decision.is-good .practice-decision-mark{color:#0b6a48}
.practice-decision.is-critical .practice-decision-mark{color:#94453d;background:rgba(165,78,65,.1)}
.practice-decision h1{margin:0;font-family:Georgia,serif;font-size:30px}
.practice-decision p{max-width:350px;margin:0;color:#655f57;font-size:11px;line-height:1.52}
.practice-decision .practice-primary{max-width:340px;margin-top:5px}
.practice-summary{
  display:grid;justify-items:center;align-content:start;gap:10px;padding-top:max(28px,env(safe-area-inset-top));
}
.practice-score-ring{
  --practice-score:0deg;
  width:142px;height:142px;
  display:grid;place-items:center;
  border-radius:50%;
  background:conic-gradient(var(--green,#0b4a38) var(--practice-score),rgba(71,63,55,.09) 0);
  padding:7px;box-sizing:border-box;
}
.practice-score-ring>div{
  width:100%;height:100%;display:grid;place-content:center;text-align:center;border-radius:50%;background:#f2ddc4;
}
.practice-score-ring strong{font-family:Georgia,serif;font-size:30px;line-height:1}
.practice-score-ring span{margin-top:4px;color:#746e65;font-size:8px}
.practice-summary h1{margin:0;font-family:Georgia,serif;font-size:27px}
.practice-summary>p{margin:0;color:#6f6960;font-size:9px;text-align:center}
.practice-summary-list{width:100%;display:grid;gap:8px;margin:8px 0}
.practice-summary-list article{
  display:grid;gap:6px;padding:12px;
  border:1px solid rgba(255,255,255,.78);
  border-radius:19px;
  background:rgba(255,249,241,.56);
}
.practice-summary-list article.is-critical{border-color:rgba(148,69,61,.28)}
.practice-summary-list article>div{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:start;gap:8px}
.practice-summary-list article>div span{width:27px;height:27px;display:grid;place-items:center;border-radius:9px;background:rgba(11,74,56,.07);font-size:8px;font-weight:900}
.practice-summary-list article>div strong{font-size:9px;line-height:1.3}
.practice-summary-list article>div b{font-family:Georgia,serif;font-size:15px}
.practice-summary-list small{color:#746e65;font-size:8px;line-height:1.35}
.practice-summary-list p{margin:0;color:#655f57;font-size:8.5px;line-height:1.4}
.practice-summary-note{width:100%;box-sizing:border-box;padding:13px 14px;border-radius:18px;background:rgba(197,218,188,.38)}
.practice-summary-note strong{font-family:Georgia,serif;font-size:14px}
.practice-summary-note p{margin:4px 0 0;color:#667067;font-size:8.5px;line-height:1.4}
.exam-practice-card{
  width:100%;
  display:grid;
  grid-template-columns:48px minmax(0,1fr) auto;
  align-items:center;
  gap:11px;
  margin-top:10px;
  padding:12px 13px;
  border:1px solid rgba(255,255,255,.76);
  border-radius:22px;
  background:rgba(255,249,241,.53);
  color:var(--green,#0b4a38);
  text-align:left;
  box-shadow:0 8px 20px rgba(91,62,37,.06);
}
.exam-practice-icon{
  width:46px;height:46px;display:grid;place-items:center;border-radius:15px;background:rgba(11,74,56,.08);
}
.exam-practice-icon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.exam-practice-card>div:nth-child(2){display:grid;gap:2px;min-width:0}
.exam-practice-card span{font-size:7px;font-weight:900;letter-spacing:.8px;color:#9a711d}
.exam-practice-card strong{font-family:Georgia,serif;font-size:14px}
.exam-practice-card small{color:#746e65;font-size:8px}
.exam-practice-arrow{font-family:Georgia,serif;font-size:25px!important;color:var(--green,#0b4a38)!important}


/* Phase 6 · Praxis ↔ Bibliothek */
.practice-library-links{
  width:100%;
  max-width:360px;
  box-sizing:border-box;
  display:grid;
  gap:9px;
  margin-top:4px;
  padding:12px;
  border:1px solid rgba(255,255,255,.78);
  border-radius:18px;
  background:rgba(255,249,241,.56);
  text-align:left;
}
.practice-library-links[hidden]{display:none}
.practice-library-links-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.practice-library-links-head>div{display:grid;gap:2px;min-width:0}
.practice-library-links-head small{
  color:#9a711d;
  font-size:7px;
  font-weight:900;
  letter-spacing:.9px;
}
.practice-library-links-head strong{
  font-family:Georgia,serif;
  font-size:14px;
}
.practice-library-links-head>span{
  padding:5px 7px;
  border-radius:999px;
  background:rgba(11,74,56,.07);
  font-size:7px;
  font-weight:900;
}
.practice-library-link-list{display:grid;gap:6px}
.practice-library-link-list button{
  width:100%;
  display:grid;
  grid-template-columns:minmax(0,1fr) 18px;
  align-items:center;
  gap:7px;
  padding:8px 9px;
  border:1px solid rgba(11,74,56,.08);
  border-radius:13px;
  background:rgba(255,255,255,.45);
  color:inherit;
  text-align:left;
}
.practice-library-link-list button>span{display:grid;gap:2px;min-width:0}
.practice-library-link-list strong{
  overflow:hidden;
  font-size:9px;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.practice-library-link-list small{
  display:-webkit-box;
  overflow:hidden;
  color:#746e65;
  font-size:7.5px;
  line-height:1.3;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
}
.practice-library-link-list i{
  font-family:Georgia,serif;
  font-size:20px;
  font-style:normal;
}
