:root{
  --bg:#f4f7fb;--surface:#fff;--surface2:#eef3f9;--text:#172033;--muted:#67728a;--line:#dbe3ee;
  --accent:#295fd6;--accent2:#7b5cff;--good:#197a55;--warn:#a45b12;--bad:#b83434;--shadow:0 16px 45px rgba(25,38,70,.10);
  --radius:22px;--fs:16px;
}
*{box-sizing:border-box}html{font-size:var(--fs)}body{margin:0;background:linear-gradient(180deg,#f9fbff 0,#f2f5fa 100%);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;min-height:100vh}
button,input,select{font:inherit}.skip-link{position:fixed;left:12px;top:-60px;background:#000;color:#fff;padding:10px 14px;z-index:99;border-radius:8px}.skip-link:focus{top:12px}
.topbar{position:sticky;top:0;z-index:20;height:74px;display:flex;align-items:center;justify-content:space-between;padding:0 20px;background:rgba(255,255,255,.88);backdrop-filter:blur(18px);border-bottom:1px solid rgba(219,227,238,.8)}
.brand{border:0;background:none;display:flex;align-items:center;gap:10px;text-align:left;color:inherit;cursor:pointer}.brand-mark{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,var(--accent),var(--accent2));font-weight:900;box-shadow:0 8px 20px rgba(53,84,190,.25)}.brand strong,.brand small{display:block}.brand small{color:var(--muted);font-size:.72rem;margin-top:1px}.top-actions{display:flex;gap:8px}.icon-btn{width:42px;height:42px;border:1px solid var(--line);background:var(--surface);border-radius:13px;cursor:pointer;color:var(--text)}
#app{width:min(1120px,calc(100% - 28px));margin:0 auto;padding:28px 0 110px}.hero{display:grid;grid-template-columns:1.4fr .8fr;gap:20px;align-items:stretch}.panel,.card{background:var(--surface);border:1px solid rgba(219,227,238,.9);border-radius:var(--radius);box-shadow:var(--shadow)}.panel{padding:28px}.card{padding:20px}.eyebrow{color:var(--accent);font-weight:800;text-transform:uppercase;letter-spacing:.11em;font-size:.76rem}h1{font-size:clamp(2rem,5vw,3.5rem);line-height:1.02;margin:.45rem 0 .7rem;letter-spacing:-.045em}h2{font-size:1.45rem;margin:0 0 12px}h3{margin:0 0 8px}.muted{color:var(--muted)}.lead{font-size:1.06rem;color:var(--muted);max-width:700px;line-height:1.65}.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.btn{border:0;border-radius:14px;padding:12px 16px;font-weight:800;cursor:pointer;transition:.15s transform,.15s box-shadow}.btn:hover{transform:translateY(-1px)}.btn-primary{background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;box-shadow:0 10px 24px rgba(53,84,190,.23)}.btn-secondary{background:var(--surface2);color:var(--text)}.btn-ghost{background:transparent;color:var(--text);border:1px solid var(--line)}.btn-danger{background:#feecec;color:#8e2626}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.grid{display:grid;gap:16px}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-2{grid-template-columns:repeat(2,1fr)}.section{margin-top:24px}.stat{padding:18px;border-radius:18px;background:var(--surface2)}.stat b{font-size:1.7rem;display:block}.stat span{color:var(--muted);font-size:.82rem}.progress{height:10px;border-radius:999px;background:#e5eaf2;overflow:hidden}.progress>span{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--accent2));border-radius:inherit}.mode-card{cursor:pointer;min-height:210px;display:flex;flex-direction:column}.mode-card .mode-icon{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:var(--surface2);font-size:1.3rem;margin-bottom:22px}.mode-card .btn{margin-top:auto;align-self:flex-start}.topic-list{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.topic{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px;border:1px solid var(--line);border-radius:16px;background:var(--surface);cursor:pointer;text-align:left;color:inherit}.topic:hover{border-color:#b7c5db}.topic small{display:block;color:var(--muted);margin-top:4px}.badge{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;background:var(--surface2);font-size:.74rem;font-weight:800}.badge.good{background:#e6f5ef;color:var(--good)}.badge.warn{background:#fff2df;color:var(--warn)}
.exam-shell{max-width:850px;margin:0 auto}.exam-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.exam-card{background:#fff;border:1px solid #cfd7e3;border-radius:12px;padding:28px;box-shadow:0 8px 22px rgba(25,38,70,.06)}.mock-authentic{background:#ececec;min-height:calc(100vh - 180px);padding:18px;border:1px solid #aaa}.mock-authentic .exam-card{border-radius:0;box-shadow:none;border:1px solid #777}.mock-authentic .btn-primary{border-radius:3px;background:#174d8c;box-shadow:none}.mock-authentic .btn-secondary,.mock-authentic .btn-ghost{border-radius:3px}.qnum{font-size:.82rem;font-weight:800;color:var(--muted);margin-bottom:16px}.case-box{padding:16px;background:#f7f9fc;border-left:4px solid #c7d2e3;margin:12px 0 18px;line-height:1.65}.question{font-size:1.15rem;font-weight:800;line-height:1.5}.answers{display:grid;gap:10px;margin-top:18px}.answer{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--line);padding:14px;border-radius:14px;cursor:pointer;background:#fff}.answer:hover{border-color:#aebbd0}.answer input{margin-top:4px}.answer.correct{border-color:#64b38f;background:#f0faf6}.answer.incorrect{border-color:#d38d8d;background:#fff4f4}.feedback{margin-top:18px;padding:18px;border-radius:16px;background:#f7f9fc;border:1px solid var(--line);line-height:1.58}.feedback h3{margin-bottom:10px}.clue{background:#fff0a8;padding:1px 3px;border-radius:3px;font-weight:800}.feedback-grid{display:grid;gap:10px;margin-top:12px}.why{padding:12px;background:#fff;border-radius:12px;border:1px solid var(--line)}.transfer{margin-top:16px;padding:16px;border:2px dashed #b9c7dd;border-radius:14px}.divider{height:1px;background:var(--line);margin:18px 0}.result-ring{width:128px;height:128px;border-radius:50%;display:grid;place-items:center;margin:0 auto 14px;background:conic-gradient(var(--accent) var(--pct),#e5eaf2 0)}.result-ring::after{content:"";position:absolute}.ring-inner{width:94px;height:94px;background:#fff;border-radius:50%;display:grid;place-items:center;font-weight:900;font-size:1.35rem}.center{text-align:center}.review-item{padding:18px;border:1px solid var(--line);border-radius:16px;margin-top:12px}.review-item.correct{border-left:5px solid var(--good)}.review-item.incorrect{border-left:5px solid var(--bad)}.table{width:100%;border-collapse:collapse}.table th,.table td{text-align:left;padding:12px;border-bottom:1px solid var(--line)}.table th{font-size:.78rem;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.empty{padding:40px;text-align:center;color:var(--muted)}

.recommendation{display:flex;align-items:center;justify-content:space-between;gap:20px}.recommendation p{margin-bottom:0}.mock-status{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:8px 0 12px;font-size:.85rem}.flag-btn{border:1px solid #888;background:#f6f6f6;padding:7px 10px;border-radius:3px;cursor:pointer}.flag-btn.active{font-weight:800;background:#fff4c7}.question-map{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px;padding:10px;background:#ddd;border:1px solid #aaa}.qdot{width:34px;height:32px;border:1px solid #777;background:#fff;cursor:pointer}.qdot.answered{font-weight:800;border-bottom:4px solid #174d8c}.qdot.flagged{background:#fff4c7}.qdot.current{outline:3px solid #174d8c;outline-offset:1px}.unanswered-note{align-self:center;font-size:.82rem;font-weight:700;color:#7a3d00}

.bottom-nav{position:fixed;z-index:30;bottom:14px;left:50%;transform:translateX(-50%);display:flex;gap:4px;padding:7px;background:rgba(25,32,48,.93);backdrop-filter:blur(15px);border-radius:20px;box-shadow:0 18px 45px rgba(0,0,0,.22)}.bottom-nav button{border:0;background:transparent;color:#cbd4e5;border-radius:14px;min-width:78px;padding:8px 12px;font-size:.72rem;cursor:pointer}.bottom-nav button span{display:block;font-size:1.2rem;margin-bottom:2px}.bottom-nav button.active{background:#fff;color:#1a2435}.toast{position:fixed;right:18px;bottom:105px;background:#172033;color:#fff;padding:12px 16px;border-radius:12px;opacity:0;transform:translateY(10px);pointer-events:none;transition:.2s}.toast.show{opacity:1;transform:none}
body.high-contrast{--bg:#000;--surface:#000;--surface2:#111;--text:#fff;--muted:#ddd;--line:#fff;background:#000}.high-contrast .topbar{background:#000}.high-contrast .exam-card,.high-contrast .answer,.high-contrast .why,.high-contrast .ring-inner{background:#000}.high-contrast .case-box,.high-contrast .feedback{background:#111}.high-contrast .clue{background:#ff0;color:#000}
body.large-text{--fs:19px}
@media(max-width:800px){.hero,.grid-3,.grid-2,.topic-list{grid-template-columns:1fr}.recommendation{align-items:flex-start;flex-direction:column}.panel{padding:22px}.topbar{padding:0 14px}.brand small{display:none}#app{width:min(100% - 20px,1120px);padding-top:18px}
.recommendation{display:flex;align-items:center;justify-content:space-between;gap:20px}.recommendation p{margin-bottom:0}.mock-status{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:8px 0 12px;font-size:.85rem}.flag-btn{border:1px solid #888;background:#f6f6f6;padding:7px 10px;border-radius:3px;cursor:pointer}.flag-btn.active{font-weight:800;background:#fff4c7}.question-map{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px;padding:10px;background:#ddd;border:1px solid #aaa}.qdot{width:34px;height:32px;border:1px solid #777;background:#fff;cursor:pointer}.qdot.answered{font-weight:800;border-bottom:4px solid #174d8c}.qdot.flagged{background:#fff4c7}.qdot.current{outline:3px solid #174d8c;outline-offset:1px}.unanswered-note{align-self:center;font-size:.82rem;font-weight:700;color:#7a3d00}

.bottom-nav{width:calc(100% - 18px);justify-content:space-around;bottom:8px}.bottom-nav button{min-width:0;flex:1}.exam-card{padding:20px}.mock-authentic{padding:8px}.table{font-size:.86rem}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

.case-cluster-head{margin:16px 0 6px;padding:16px 18px;border:1px solid var(--line);border-radius:14px;background:var(--surface-2)}
.case-cluster-head p{margin:7px 0 0;line-height:1.55;color:var(--muted)}
.case-cluster-head strong{font-size:.95rem}

.case-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin-top:14px}
.case-summary{padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--surface-2)}
.case-summary h3{margin:6px 0 8px}
.case-summary p{margin:6px 0;line-height:1.5}

.readiness-trend{display:flex;align-items:flex-end;gap:10px;min-height:190px;margin-top:18px;padding:12px 4px 0;overflow-x:auto}
.trend-col{min-width:52px;flex:1;text-align:center}
.trend-value{font-size:.78rem;font-weight:700;margin-bottom:6px}
.trend-bar{height:120px;border:1px solid var(--line);border-radius:10px;display:flex;align-items:flex-end;padding:3px;background:var(--surface-2)}
.trend-bar span{display:block;width:100%;border-radius:7px;background:var(--accent)}
.trend-col small{display:block;margin-top:6px;color:var(--muted)}

.prescription-list{display:grid;gap:12px;margin-top:16px}
.prescription-step{display:grid;grid-template-columns:42px 1fr auto;gap:14px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--surface-2)}
.step-num{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-weight:800;border:1px solid var(--line)}
.prescription-step h3{margin:3px 0 5px}
@media(max-width:650px){.prescription-step{grid-template-columns:38px 1fr}.prescription-step .btn{grid-column:1/-1;width:100%}}

.mock-gate{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin:18px 0;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--surface-2)}
.mock-gate h2{margin:4px 0 8px}
.mock-gate p{margin:0;line-height:1.55}
@media(max-width:650px){.mock-gate{flex-direction:column}.mock-gate .badge{align-self:flex-start}}

.coverage-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;margin-top:16px}
.coverage-card{padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--surface-2)}
.coverage-title{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.coverage-card p{line-height:1.45}
.difficulty-strip{display:flex;flex-wrap:wrap;gap:7px;margin:10px 0;font-size:.78rem;color:var(--muted)}
.difficulty-strip span{padding:5px 7px;border:1px solid var(--line);border-radius:999px}
.coverage-card details{margin-top:10px}
.coverage-card summary{cursor:pointer;font-weight:700}

.qdot.locked-section,.qdot:disabled{opacity:.35;cursor:not-allowed}

/* Deep study-guide library */
.guide-hero{max-width:980px;margin:0 auto}.guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.memory-card{border-left:4px solid var(--accent)}.memory-list{display:grid;gap:10px;margin:14px 0}.memory-chip{padding:13px 15px;border-radius:14px;background:var(--soft);border:1px solid var(--border);line-height:1.45}.topic-resource{display:grid;grid-template-columns:1fr auto;align-items:stretch;padding:0;overflow:hidden}.topic-main{border:0;background:transparent;color:inherit;text-align:left;padding:18px;display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;cursor:pointer}.topic-main small{display:block;margin-top:5px}.topic-quiz{margin:10px;align-self:center}@media(max-width:720px){.guide-grid{grid-template-columns:1fr}.topic-resource{grid-template-columns:1fr}.topic-quiz{width:calc(100% - 20px)}}

/* Deep study library */
.guide-meta{display:flex;gap:.55rem;flex-wrap:wrap;margin:1rem 0 0}
.guide-meta span{border:1px solid var(--line);background:var(--soft);border-radius:999px;padding:.4rem .7rem;font-size:.82rem;font-weight:700}
.guide-lesson{position:relative;padding-top:2.7rem}
.lesson-num{position:absolute;top:.8rem;right:1rem;font-size:.78rem;font-weight:900;letter-spacing:.08em;opacity:.45}
.guide-lesson p{line-height:1.68}
@media(max-width:640px){.guide-meta{gap:.4rem}.guide-meta span{font-size:.76rem}.guide-lesson{padding-top:2.45rem}}

.learning-path{display:grid;gap:.25rem;margin:1rem 0;padding:.85rem 1rem;border:1px solid var(--line);border-radius:14px;background:var(--soft)}
.learning-path strong{font-size:.95rem}.learning-path span{font-size:.86rem;line-height:1.45;opacity:.82}

/* Visual learning system */
.visual-learning{overflow:hidden}
.visual-learning>p{max-width:72ch}
.flow-map{display:flex;align-items:stretch;gap:.55rem;overflow-x:auto;padding:.75rem .1rem .3rem;scroll-snap-type:x proximity}
.flow-node{min-width:145px;flex:1;display:grid;gap:.35rem;align-content:center;padding:1rem;border:1px solid var(--line);border-radius:16px;background:linear-gradient(145deg,var(--soft),var(--panel));scroll-snap-align:start}
.flow-node b{font-size:.92rem}.flow-node span{font-size:.8rem;line-height:1.35;opacity:.78}
.flow-arrow{align-self:center;font-size:1.35rem;font-weight:900;opacity:.4}
.risk-ladder{display:flex;align-items:flex-end;gap:.5rem;margin:1rem 0}
.risk-ladder>div{flex:1;min-height:70px;display:grid;align-content:center;gap:.25rem;padding:.7rem;border:1px solid var(--line);border-radius:14px;background:var(--soft)}
.risk-ladder>div:nth-child(2){min-height:86px}.risk-ladder>div:nth-child(3){min-height:102px}.risk-ladder>div:nth-child(4){min-height:118px}.risk-ladder>div:nth-child(5){min-height:134px}
.risk-ladder b{font-size:1.05rem}.risk-ladder span{font-size:.78rem;line-height:1.3}
.compare-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin-top:1rem}
.compare-grid>div{display:grid;gap:.25rem;padding:.9rem;border:1px solid var(--line);border-radius:14px;background:var(--soft)}
.compare-grid strong{font-size:.9rem}.compare-grid span{font-size:.82rem;line-height:1.4;opacity:.8}
.match-board{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1rem}
.match-board>div{display:grid;gap:.5rem;align-content:start}
.match-board>div>strong{font-size:.78rem;text-transform:uppercase;letter-spacing:.07em;opacity:.65}
.match-chip{width:100%;text-align:left;padding:.75rem .85rem;border:1px solid var(--line);border-radius:12px;background:var(--panel);color:inherit;font:inherit;cursor:pointer;transition:transform .15s ease,border-color .15s ease,opacity .15s ease}
.match-chip:hover,.match-chip.selected{transform:translateY(-1px);border-color:currentColor}
.match-chip.matched{opacity:.48;pointer-events:none;text-decoration:line-through}
.visual-feedback{margin-top:.8rem;padding:.65rem .8rem;border-radius:10px;background:var(--soft);font-size:.84rem;font-weight:700}
.shake{animation:jgshake .3s linear}@keyframes jgshake{25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}
@media(max-width:700px){.flow-arrow{display:none}.flow-node{min-width:72%}.risk-ladder{display:grid;grid-template-columns:1fr}.risk-ladder>div,.risk-ladder>div:nth-child(n){min-height:0}.compare-grid,.match-board{grid-template-columns:1fr}.match-board{gap:.7rem}}
@media(prefers-reduced-motion:reduce){.match-chip{transition:none}.shake{animation:none}}

.clue-round{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;margin-top:1rem}
.clue-choice{min-height:78px;padding:.8rem;border:1px solid var(--line);border-radius:14px;background:var(--panel);color:inherit;font:inherit;font-weight:700;cursor:pointer}
.clue-choice:hover{border-color:currentColor}.clue-choice.matched{opacity:.55}
.micro-complete{grid-column:1/-1;display:grid;gap:.25rem;padding:1rem;border:1px solid var(--line);border-radius:14px;background:var(--soft)}
.micro-complete span{font-size:.84rem;opacity:.8}
@media(max-width:700px){.clue-round{grid-template-columns:1fr}.clue-choice{min-height:0;text-align:left}}

.prescription{display:grid;gap:.75rem}
.prescription-item{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.9rem;border:1px solid var(--line);border-radius:14px;background:var(--soft)}
.prescription-item>div{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:.35rem .65rem}
.prescription-item p{grid-column:1/-1;margin:.1rem 0 0;font-size:.84rem;opacity:.8}
.pattern-list{display:grid;gap:.55rem;margin-top:1rem}
.pattern-row{display:flex;align-items:center;gap:.8rem;padding:.75rem;border:1px solid var(--line);border-radius:13px;background:var(--soft)}
.pattern-rank{display:grid;place-items:center;min-width:30px;height:30px;border-radius:50%;border:1px solid var(--line);font-weight:900}
.pattern-row div{display:grid;gap:.2rem}.pattern-row strong{text-transform:capitalize}.pattern-row small{opacity:.75;line-height:1.35}
@media(max-width:700px){.prescription-item{display:grid}.prescription-item .btn{width:100%}}

.contrast-table{display:grid;gap:.55rem;margin-top:1rem}
.contrast-row{display:grid;grid-template-columns:1fr auto 1fr;align-items:stretch;gap:.55rem}
.contrast-row>div{display:grid;gap:.25rem;padding:.8rem;border:1px solid var(--line);border-radius:13px;background:var(--soft)}
.contrast-row>div strong{font-size:.9rem}.contrast-row>div span{font-size:.8rem;line-height:1.4;opacity:.8}
.contrast-row>b{align-self:center;text-transform:uppercase;font-size:.72rem;opacity:.5}
@media(max-width:700px){.contrast-row{grid-template-columns:1fr}.contrast-row>b{text-align:center}}

.memory-aids{display:grid;gap:.65rem}.memory-aid{padding:.8rem;border-left:3px solid currentColor;background:var(--soft);border-radius:0 12px 12px 0}.memory-aid p{margin:.25rem 0 0;font-size:.84rem;line-height:1.5;opacity:.82}

.recall-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;margin-top:.8rem}.recall-card{padding:.8rem;border:1px solid var(--line);border-radius:13px;background:var(--soft)}.recall-card summary{cursor:pointer;font-weight:800;line-height:1.35}.recall-card p{font-size:.84rem;line-height:1.5;margin:.65rem 0 0;opacity:.82}@media(max-width:700px){.recall-grid{grid-template-columns:1fr}}

.exam-plan{display:grid;gap:.75rem;margin-bottom:1rem}.exam-plan-head{display:flex;justify-content:space-between;align-items:center;gap:1rem}.weekly-goal{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:.9rem}.weekly-goal>div:first-child{display:grid}.weekly-goal strong{font-size:1.1rem}.weekly-goal span{font-size:.75rem;opacity:.7}.goal-track{height:10px;border-radius:999px;background:var(--soft);overflow:hidden;border:1px solid var(--line)}.goal-track i{display:block;height:100%;background:currentColor;border-radius:inherit}.plan-next{margin:0;padding:.7rem .8rem;border-radius:12px;background:var(--soft);font-size:.84rem}.study-plan-dialog{width:min(92vw,480px);border:1px solid var(--line);border-radius:18px;background:var(--panel);color:inherit;padding:1.2rem;box-shadow:0 24px 80px #0005}.study-plan-dialog::backdrop{background:#0008}.study-plan-dialog form{display:grid;gap:1rem}.study-plan-dialog label{display:grid;gap:.4rem;font-weight:800}.study-plan-dialog input{padding:.7rem;border:1px solid var(--line);border-radius:10px;background:var(--soft);color:inherit;font:inherit}@media(max-width:700px){.exam-plan-head{align-items:start}.weekly-goal{grid-template-columns:1fr}.study-plan-dialog{padding:1rem}}
.mock-cadence{margin:1rem 0;padding:.9rem 1rem;border:1px solid var(--line);border-radius:14px;background:var(--soft)}.mock-cadence p{margin:.35rem 0 0;font-size:.85rem;line-height:1.45;opacity:.8}

.mock-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-top:1rem}
.mock-form-card{display:flex;justify-content:space-between;align-items:center;gap:1rem;width:100%;padding:1rem;border:1px solid var(--line);border-radius:16px;background:var(--soft);color:inherit;text-align:left;font:inherit;cursor:pointer}
.mock-form-card span:first-child{display:grid;gap:.28rem}.mock-form-card strong{font-size:.98rem}.mock-form-card small{line-height:1.4;opacity:.72}
.mock-form-card.recommended{outline:2px solid currentColor;outline-offset:1px}
.mock-form-card:hover{transform:translateY(-1px)}
@media(max-width:700px){.mock-form-grid{grid-template-columns:1fr}.mock-form-card{align-items:flex-start}.mock-form-card:hover{transform:none}}
@media(prefers-reduced-motion:reduce){.mock-form-card{transition:none}}

.decision-rule-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-top:1rem}
.decision-rule{display:grid;grid-template-columns:2rem 1fr;gap:.7rem;align-items:start;padding:.9rem;border:1px solid var(--line);border-radius:14px;background:var(--soft)}
.decision-rule>b{display:grid;place-items:center;width:2rem;height:2rem;border-radius:999px;border:1px solid var(--line);font-size:.8rem}
.decision-rule div{display:grid;gap:.25rem}.decision-rule strong{font-size:.95rem}.decision-rule span{font-size:.88rem;line-height:1.45;opacity:.82}
@media(max-width:700px){.decision-rule-grid{grid-template-columns:1fr}.decision-rule{grid-template-columns:1.8rem 1fr}.decision-rule>b{width:1.8rem;height:1.8rem}}

.sequence-bank{display:flex;flex-wrap:wrap;gap:.55rem;margin:1rem 0}
.sequence-chip{border:1px solid var(--line);background:var(--soft);border-radius:999px;padding:.65rem .85rem;text-align:left;cursor:pointer;font:inherit}
.sequence-chip:hover{transform:translateY(-1px)}
.sequence-slots{display:grid;gap:.55rem;margin:1rem 0}
.sequence-slot{display:grid;grid-template-columns:2rem 1fr;gap:.65rem;align-items:center;border:1px dashed var(--line);border-radius:12px;padding:.65rem .8rem;min-height:3rem}
.sequence-slot b{display:grid;place-items:center;width:1.8rem;height:1.8rem;border-radius:999px;background:var(--soft)}
.sequence-slot.filled{border-style:solid}.sequence-slot.filled span{font-weight:650}
.sequence-feedback{margin:.75rem 0}
@media(max-width:600px){.sequence-chip{width:100%;border-radius:12px}.sequence-slot{grid-template-columns:1.8rem 1fr}}


/* Accessibility controls shared by Study and Mock tracks */
body.reading-spacing p,
body.reading-spacing li,
body.reading-spacing .question,
body.reading-spacing .case-box,
body.reading-spacing .answer span,
body.reading-spacing .guide-lesson p,
body.reading-spacing .muted {
  line-height: 1.75;
  letter-spacing: .012em;
}
body.reading-spacing .answer { padding-top: 1rem; padding-bottom: 1rem; }
body.reduce-motion *, body.reduce-motion *::before, body.reduce-motion *::after {
  animation-duration: .001ms !important;
  animation-iteration-count: 1 !important;
  transition-duration: .001ms !important;
  scroll-behavior: auto !important;
}
body.reduce-motion .shake { transform: none !important; }
:focus-visible {
  outline: 3px solid currentColor;
  outline-offset: 3px;
}
.exam-card:focus { outline: none; }
.answer:focus-within {
  outline: 3px solid currentColor;
  outline-offset: 2px;
}
.icon-btn[aria-pressed="true"] {
  box-shadow: inset 0 0 0 2px currentColor;
}
.keyboard-help {
  font-size: .9rem;
  border-top: 1px solid var(--border);
  padding-top: .75rem;
  margin-top: .75rem;
}
.sr-only {
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}
@media (max-width: 560px) {
  .top-actions { gap: .25rem; }
  .top-actions .icon-btn { min-width: 38px; min-height: 38px; }
}

/* Authentic mock room: strip premium dashboard chrome while preserving accessibility controls. */
body.mock-mode-active { background:#e9e9e9; }
body.mock-mode-active .bottom-nav { display:none; }
body.mock-mode-active .topbar {
  height:56px;
  background:#f7f7f7;
  backdrop-filter:none;
  border-bottom:1px solid #999;
  box-shadow:none;
}
body.mock-mode-active .brand-mark {
  background:#fff;
  color:#111;
  border:1px solid #777;
  border-radius:2px;
  box-shadow:none;
}
body.mock-mode-active .brand small { display:none; }
body.mock-mode-active .brand strong { font-weight:700; }
body.mock-mode-active .icon-btn {
  border-radius:2px;
  background:#fff;
  border-color:#888;
  box-shadow:none;
}
body.mock-mode-active #app { padding-top:14px; padding-bottom:24px; }
body.mock-mode-active .mock-authentic { border-radius:0; }


/* Post-mock BEST-answer discrimination */
.option-debrief {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.75rem;
  margin-top:1rem;
}
.option-why {
  border:1px solid var(--border);
  border-radius:12px;
  padding:.85rem;
  background:var(--card);
}
.option-why.best { border-width:2px; }
.option-why.chosen:not(.best) { border-style:dashed; }
.option-why p { margin:.45rem 0 0; }
@media (max-width:720px){.option-debrief{grid-template-columns:1fr}}


/* ===== Premium learning-shell polish =====
   The main learning product is intentionally rich; full Mock Mode remains plain. */
:root{
  --bg:#08111f;
  --surface:#101b2d;
  --surface2:#17243a;
  --text:#edf5ff;
  --muted:#9fb0c8;
  --line:#2b3d59;
  --accent:#55d3c4;
  --accent2:#7777ff;
  --good:#54d6a5;
  --warn:#f4bd66;
  --bad:#ff7a86;
  --shadow:0 24px 70px rgba(0,0,0,.28);
}
body{
  background:
    radial-gradient(900px 520px at 15% -10%,rgba(69,93,220,.22),transparent 65%),
    radial-gradient(720px 520px at 100% 5%,rgba(35,201,181,.12),transparent 62%),
    linear-gradient(180deg,#08111f 0%,#0a1424 48%,#08111f 100%);
}
.topbar{
  background:rgba(8,17,31,.84);
  border-bottom-color:rgba(122,151,192,.18);
  box-shadow:0 8px 28px rgba(0,0,0,.14);
}
.brand-mark{
  background:linear-gradient(135deg,#4fd2c0,#6d73ff);
  box-shadow:0 10px 30px rgba(67,110,225,.28);
}
.icon-btn{
  background:rgba(18,31,51,.92);
  border-color:#304761;
}
.panel,.card{
  background:linear-gradient(180deg,rgba(17,29,48,.96),rgba(13,24,41,.96));
  border-color:rgba(94,126,166,.26);
  box-shadow:var(--shadow);
}
.hero .panel:first-child{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(420px 250px at 92% 0%,rgba(84,211,196,.12),transparent 70%),
    linear-gradient(135deg,rgba(19,35,61,.98),rgba(15,27,49,.98));
}
.hero .panel:first-child::after{
  content:"";
  position:absolute;
  width:190px;height:190px;
  border-radius:50%;
  right:-55px;bottom:-70px;
  border:1px solid rgba(85,211,196,.18);
  box-shadow:0 0 0 30px rgba(119,119,255,.035),0 0 0 62px rgba(85,211,196,.025);
  pointer-events:none;
}
.eyebrow{color:#6ce3d3}
.btn-primary{
  background:linear-gradient(135deg,#4ccbbb,#6874f5);
  box-shadow:0 12px 28px rgba(47,116,192,.24);
}
.btn-secondary{background:#1b2a42;color:var(--text);border:1px solid #30445f}
.btn-ghost{border-color:#3c516e}
.stat{
  background:linear-gradient(180deg,#172740,#142137);
  border:1px solid rgba(86,121,163,.24);
}
.stat b{color:#f5f9ff}
.progress{background:#1b2a40}
.progress>span{background:linear-gradient(90deg,#52d1bf,#7777ff)}
.mode-card .mode-icon{
  background:linear-gradient(135deg,rgba(83,211,194,.13),rgba(119,119,255,.14));
  border:1px solid rgba(99,151,188,.24);
}
.topic,.answer,.why,.review-item,.option-why{
  background:#111d30;
  border-color:#2d405d;
}
.topic:hover,.answer:hover{border-color:#4d708f}
.badge{background:#1a2a41;color:#cbd9eb}
.badge.good{background:rgba(53,174,126,.16);color:#6ee0b1}
.badge.warn{background:rgba(226,157,57,.14);color:#f5c476}
.case-box,.feedback{
  background:#132137;
  border-color:#2d405d;
}
.clue{background:#665718;color:#fff3b0}
.transfer{border-color:#425b7a}
.table th,.table td{border-color:#2a3b54}
.table th{color:#9fb0c8}
.result-ring{background:conic-gradient(#55d3c4 var(--pct),#23344d 0)}
.ring-inner{background:#101b2d}
.bottom-nav{
  background:rgba(7,14,26,.92);
  border:1px solid rgba(87,115,153,.25);
}
.bottom-nav button{color:#a7b8cf}
.bottom-nav button.active{
  background:linear-gradient(135deg,#1a3048,#253152);
  color:#fff;
}
.toast{background:#eaf4ff;color:#0d1827}
.prescription-step,.case-summary,.case-cluster-head,.trend-bar{
  background:#111e32;
  border-color:#2b3e59;
}
.warning-card{
  border-color:rgba(244,189,102,.52)!important;
  box-shadow:0 0 0 1px rgba(244,189,102,.08),var(--shadow);
}
.today-card{
  background:
    radial-gradient(500px 220px at 100% 0%,rgba(84,211,196,.11),transparent 70%),
    linear-gradient(180deg,#13233a,#101b2d);
}
.guide-meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:14px;
}
.guide-meta span{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:5px 9px;
  border:1px solid #314662;
  background:#14233a;
  border-radius:999px;
  color:#afc0d5;
  font-size:.78rem;
}
input[type="date"],input[type="number"],input[type="text"],select{
  background:#0e1a2c;
  color:var(--text);
  border:1px solid #354b68;
  border-radius:11px;
  padding:10px 12px;
  color-scheme:dark;
}

/* Mock Mode deliberately exits the premium shell. */
body.mock-mode-active{
  --text:#111;
  --muted:#555;
  --line:#aaa;
  --surface:#fff;
  --surface2:#f1f1f1;
  --accent:#174d8c;
  --accent2:#174d8c;
  background:#e9e9e9!important;
  color:#111;
}
body.mock-mode-active .topbar{
  background:#f7f7f7!important;
  border-bottom:1px solid #999!important;
  color:#111!important;
}
body.mock-mode-active .brand-mark{
  background:#fff!important;color:#111!important;border:1px solid #777!important;
}
body.mock-mode-active .icon-btn{
  background:#fff!important;color:#111!important;border-color:#888!important;
}
body.mock-mode-active .panel,
body.mock-mode-active .card,
body.mock-mode-active .exam-card,
body.mock-mode-active .answer,
body.mock-mode-active .case-box{
  color:#111;
}
body.mock-mode-active input[type="date"],
body.mock-mode-active input[type="number"],
body.mock-mode-active input[type="text"],
body.mock-mode-active select{color-scheme:light}

/* High contrast remains an explicit accessibility mode above the premium palette. */
body.high-contrast{
  --bg:#000;--surface:#000;--surface2:#111;--text:#fff;--muted:#fff;--line:#fff;
  background:#000!important;
}
body.high-contrast .panel,body.high-contrast .card{background:#000;border-color:#fff}
body.high-contrast .topic,body.high-contrast .answer,body.high-contrast .why,
body.high-contrast .case-box,body.high-contrast .feedback,body.high-contrast .option-why{background:#000;border-color:#fff}
body.high-contrast .btn-primary{background:#fff;color:#000}


/* ===== Responsive production hardening ===== */
button,.btn,.icon-btn,.topic,.mock-form-card,.form-choice,.qdot{touch-action:manipulation}
.btn,.icon-btn,.bottom-nav button,.qdot,input[type="radio"]{min-height:44px}
.qdot{min-width:44px}
.topic,.mock-form-card,.form-choice{min-height:64px}
.table{min-width:620px}
.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
img,svg,canvas{max-width:100%}
h1,h2,h3,p,small,.question,.case-box,.topic span{overflow-wrap:anywhere}
.actions>*{max-width:100%}
.mock-form-grid,.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.mock-form-card,.form-choice{
  width:100%;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  padding:15px;
  text-align:left;
  border:1px solid var(--line);
  border-radius:16px;
  color:inherit;
  background:#111d30;
  cursor:pointer;
}
.mock-form-card.recommended,.form-choice.selected{
  border-color:#54cdbf;
  box-shadow:inset 0 0 0 1px rgba(84,205,191,.32);
}
body.mock-mode-active .mock-form-card,
body.mock-mode-active .form-choice{background:#fff}

@media(max-width:900px){
  #app{width:min(100% - 22px,1120px)}
  .hero{grid-template-columns:1fr}
  .grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mock-form-grid,.form-grid{grid-template-columns:1fr}
  .readiness-head{align-items:flex-start}
}
@media(max-width:640px){
  :root{--radius:18px}
  .topbar{height:64px;padding:0 10px}
  .brand-mark{width:38px;height:38px;border-radius:12px}
  .top-actions{gap:4px}
  .icon-btn{width:40px;height:40px;border-radius:11px}
  #app{width:min(100% - 14px,1120px);padding:14px 0 calc(98px + env(safe-area-inset-bottom))}
  .panel{padding:18px}
  .card{padding:16px}
  h1{font-size:clamp(1.85rem,10vw,2.65rem)}
  h2{font-size:1.25rem}
  .lead{font-size:1rem}
  .grid-3,.grid-2,.topic-list{grid-template-columns:1fr}
  .stat{padding:14px}
  .stat b{font-size:1.45rem}
  .recommendation,.readiness-head,.mock-status{align-items:stretch;flex-direction:column}
  .recommendation .btn,.readiness-head .btn,.actions .btn{width:100%}
  .actions{gap:8px}
  .prescription-step{grid-template-columns:34px minmax(0,1fr);gap:10px}
  .prescription-step .btn{grid-column:1/-1;width:100%}
  .step-num{width:32px;height:32px}
  .case-summary-grid{grid-template-columns:1fr}
  .option-debrief{grid-template-columns:1fr}
  .bottom-nav{
    width:calc(100% - 10px);
    bottom:max(5px,env(safe-area-inset-bottom));
    border-radius:16px;
    padding:5px;
  }
  .bottom-nav button{padding:7px 4px;font-size:.66rem}
  .bottom-nav button span{font-size:1.05rem}
  .exam-shell{max-width:none}
  .exam-card{padding:16px}
  .mock-authentic{padding:4px;border-left:0;border-right:0}
  .question{font-size:1.05rem}
  .answer{padding:12px}
  .question-map{padding:7px;gap:5px}
  .qdot{width:44px;height:44px}
  .case-box{padding:13px}
  .feedback{padding:14px}
  .review-item{padding:14px}
  .guide-meta span{font-size:.72rem}
  .table{font-size:.82rem}
}
@media(max-width:380px){
  .brand strong{font-size:.9rem}
  .top-actions .icon-btn{width:38px;min-width:38px;padding:0}
  .bottom-nav button{font-size:.61rem}
  .bottom-nav button span{font-size:1rem}
  #app{width:calc(100% - 10px)}
}

/* Safe-area support for modern mobile devices. */
.topbar{padding-left:max(14px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right))}
body.mock-mode-active #app{padding-bottom:max(24px,env(safe-area-inset-bottom))}


/* First-run setup */
.onboarding-card{
  background:
    radial-gradient(520px 220px at 100% 0%,rgba(119,119,255,.13),transparent 70%),
    linear-gradient(180deg,#14243b,#101b2d);
}
.setup-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}
.setup-field{
  display:flex;
  flex-direction:column;
  gap:8px;
  padding:14px;
  border:1px solid #30445f;
  border-radius:14px;
  background:#111e32;
}
.setup-field strong{font-size:.9rem}
.setup-field small{color:var(--muted);line-height:1.4}
.setup-warning{min-height:24px;margin-top:10px}
@media(max-width:780px){.setup-grid{grid-template-columns:1fr}}

/* Study Library domain discovery */
.field-label{display:block;font-weight:800;margin-bottom:8px}
.text-input{width:100%;min-height:48px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--text);padding:11px 14px;font:inherit}
.text-input:focus{outline:3px solid color-mix(in srgb,var(--accent) 35%,transparent);outline-offset:2px}
.topic-resource[hidden]{display:none!important}

.case-context-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:9px;font-size:.76rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
@media(max-width:520px){.case-context-head{align-items:flex-start;flex-direction:column;gap:3px}}

.submit-review .question-map{display:grid;grid-template-columns:repeat(13,minmax(34px,1fr));gap:7px;margin:16px 0}
.submit-review .qdot{min-height:38px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text);font-weight:800}
.submit-review .qdot.unanswered{border-style:dashed}
.submit-review .qdot.flagged{box-shadow:inset 0 0 0 2px currentColor}
@media(max-width:720px){.submit-review .question-map{grid-template-columns:repeat(7,minmax(34px,1fr))}}
@media(max-width:420px){.submit-review .question-map{grid-template-columns:repeat(5,minmax(34px,1fr))}}

@media print{
  body{background:#fff!important;color:#111!important}
  .topbar,.sidebar,.bottom-nav,.toast,.guide-hero .actions,.sequence-reset,.sequence-bank,.clue-bank,.btn{display:none!important}
  .app-shell,.main{display:block!important;padding:0!important;margin:0!important;max-width:none!important}
  .panel,.card,.guide-lesson,.memory-card,.case-box{background:#fff!important;color:#111!important;border:1px solid #bbb!important;box-shadow:none!important;break-inside:avoid}
  .muted,.eyebrow,.guide-meta,.learning-path{color:#333!important}
  .section{margin:14px 0!important}
  a{color:#111!important;text-decoration:none!important}
}

/* Locked JG visual language: neural-head learning environment. Mock mode remains intentionally plain. */
.locked-visual-hero{grid-template-columns:minmax(0,1.05fr) minmax(250px,.72fr) minmax(0,.9fr);align-items:stretch}
.neural-panel{position:relative;overflow:hidden;min-height:310px;display:grid;place-items:center;background:linear-gradient(145deg,rgba(13,29,64,.98),rgba(30,25,74,.96));border-color:rgba(96,165,250,.22)}
.neural-panel:before{content:"";position:absolute;inset:-25%;background:radial-gradient(circle at 50% 45%,rgba(45,212,191,.14),transparent 35%),radial-gradient(circle at 65% 40%,rgba(139,92,246,.18),transparent 42%);filter:blur(10px)}
.neural-head{position:relative;width:min(100%,340px);color:#5eead4;text-align:center}
.neural-head svg{display:block;width:100%;filter:drop-shadow(0 0 18px rgba(94,234,212,.18))}
.neural-head .head-outline,.neural-head .brain-line{fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;opacity:.78}
.neural-head .brain-line{stroke:#93c5fd;opacity:.72}
.neural-head .nodes circle{fill:#c4b5fd;stroke:#fff;stroke-width:1.5;filter:drop-shadow(0 0 8px #8b5cf6)}
.neural-head .halo{fill:none;stroke:url(#jgGlow);stroke-width:2;opacity:.3;stroke-dasharray:4 12}
.neural-caption{margin-top:-26px;position:relative;display:flex;flex-direction:column;gap:3px}
.neural-caption strong{text-transform:uppercase;letter-spacing:.12em;font-size:.73rem;color:#dbeafe}
.neural-caption span{font-size:.78rem;color:#94a3b8}
.pulse-panel{align-self:stretch}
@media(max-width:1100px){.locked-visual-hero{grid-template-columns:1fr 1fr}.locked-visual-hero .neural-panel{grid-row:1 / span 2;grid-column:2}.locked-visual-hero .pulse-panel{grid-column:1}}
@media(max-width:760px){.locked-visual-hero{grid-template-columns:1fr}.locked-visual-hero .neural-panel,.locked-visual-hero .pulse-panel{grid-column:auto;grid-row:auto}.neural-panel{min-height:245px}.neural-head{max-width:275px}}
@media(prefers-reduced-motion:no-preference){.neural-head .nodes circle{animation:jgPulse 3.2s ease-in-out infinite}.neural-head .nodes circle:nth-child(2n){animation-delay:-1.2s}.neural-head .nodes circle:nth-child(3n){animation-delay:-2.1s}@keyframes jgPulse{0%,100%{opacity:.7}50%{opacity:1;transform:scale(1.08);transform-box:fill-box;transform-origin:center}}}
body.reduce-motion .neural-head .nodes circle{animation:none!important}

.library-pulse{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:9px;margin-top:18px}
.library-pulse-item{padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:rgba(15,23,42,.18);display:grid;grid-template-columns:1fr auto;gap:5px 10px;align-items:center}
.library-pulse-item span{font-size:.78rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.library-pulse-item b{font-size:.8rem}
.library-pulse-item i{grid-column:1/-1;height:4px;background:rgba(148,163,184,.15);border-radius:99px;overflow:hidden}.library-pulse-item em{display:block;height:100%;background:linear-gradient(90deg,var(--accent),#8b5cf6);border-radius:99px}

.neural-mark{display:inline-flex;align-items:center;gap:8px;margin-bottom:10px;color:var(--accent);font-size:.72rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase}
.neural-mark svg{width:34px;height:34px;overflow:visible;filter:drop-shadow(0 0 8px rgba(94,234,212,.18))}
.neural-mark path{fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.neural-mark circle{fill:#c4b5fd;stroke:#fff;stroke-width:.7}

.trend-svg{width:100%;height:auto;max-height:220px;margin-top:8px;overflow:visible}.trend-svg line{stroke:var(--line);stroke-width:1}.trend-svg polyline{fill:none;stroke:var(--accent);stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.trend-svg circle{fill:#c4b5fd;stroke:var(--surface);stroke-width:3}

.mistake-notebook{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-top:16px;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:rgba(15,23,42,.2)}.mistake-notebook p{margin:4px 0 0}@media(max-width:620px){.mistake-notebook{align-items:flex-start;flex-direction:column}}

.blueprint-map{display:grid;gap:10px;margin-top:14px}.blueprint-row{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:12px 0;border-bottom:1px solid var(--line)}.blueprint-row:last-child{border-bottom:0}.blueprint-row small{display:block;color:var(--muted);margin-top:3px}.blueprint-tags{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.blueprint-tags button{border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:999px;padding:6px 9px;font-size:.72rem;cursor:pointer}@media(max-width:720px){.blueprint-row{align-items:flex-start;flex-direction:column}.blueprint-tags{justify-content:flex-start}}

.mock-condition-strip{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:14px 0;padding:10px 12px;border:1px solid var(--line);border-radius:10px;font-size:.78rem}.mock-condition-strip span{padding:4px 8px;border:1px solid var(--line);border-radius:999px;color:var(--muted)}

.answer{min-height:44px}

/* Semantic logo family: puzzle = study guides, tree = quizzes/practice, lightbulb = insight/readiness */
.feature-mark{display:inline-flex;align-items:center;gap:.65rem;margin:0 0 .9rem;padding:.55rem .75rem;border:1px solid var(--line);border-radius:14px;background:linear-gradient(145deg,var(--soft),transparent);max-width:max-content;min-height:48px}
.feature-art{width:54px;height:54px;flex:0 0 54px;display:block;border-radius:12px;border:1px solid currentColor;background-image:url('assets/branding/working-logo-set-puzzle-tree-lightbulb.png');background-repeat:no-repeat;background-size:300% auto;background-position-y:8%;box-shadow:0 7px 20px rgba(2,8,23,.34)}
.feature-puzzle .feature-art{background-position-x:0}.feature-tree .feature-art{background-position-x:50%}.feature-lightbulb .feature-art{background-position-x:100%}
.feature-mark span:last-child{display:grid;gap:.08rem;min-width:0}.feature-mark b{font-size:.82rem;letter-spacing:.02em;line-height:1.2}.feature-mark small{font-size:.7rem;line-height:1.3;color:var(--muted)}
.feature-puzzle{color:#43c8ff}.feature-tree{color:#57e7b1}.feature-lightbulb{color:#ffd166}
.exam-top .feature-mark{margin:0 auto 0 0;padding:.35rem .55rem;border-radius:10px;min-height:40px}.exam-top .feature-mark small{display:none}.exam-top .feature-art{width:34px;height:34px;flex-basis:34px;border-radius:8px}
.mock-authentic .feature-mark{display:none!important}
@media(max-width:650px){.exam-top .feature-mark span:last-child{display:none}.feature-mark{max-width:100%;margin-bottom:12px}.feature-mark small{font-size:.66rem}.feature-art{width:50px;height:50px;flex-basis:50px}}
/* v49 persistent evidence-weighted Tree of Knowledge competency journey */
.competency-journey{background:linear-gradient(145deg,rgba(5,22,48,.98),rgba(6,42,55,.94));border-color:rgba(45,212,191,.24);overflow:hidden}
.competency-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-start}.competency-head h2{margin:.25rem 0}.competency-score{text-align:right;min-width:150px}.competency-score b{display:block;font-size:3.3rem;line-height:1;color:#ecfeff;text-shadow:0 0 24px rgba(45,212,191,.28)}.competency-score span{color:#5eead4;font-weight:800}.competency-main{display:grid;grid-template-columns:minmax(260px,.8fr) 1.2fr;gap:28px;align-items:center}.growth-tree{position:relative;max-width:390px;margin:auto}.growth-tree svg{width:100%;filter:drop-shadow(0 0 16px rgba(45,212,191,.12))}.growth-roots,.growth-trunk,.growth-profile{fill:none;stroke:#d9fffb;stroke-linecap:round;stroke-linejoin:round}.growth-roots{stroke-width:4;opacity:.65}.growth-trunk{stroke-width:7}.growth-profile{stroke-width:3;opacity:.7}.growth-leaf{fill:#17385c;stroke:#31577a;stroke-width:2;transition:.3s}.growth-leaf.lit{fill:#34d399;stroke:#a7f3d0;filter:drop-shadow(0 0 8px #2dd4bf)}.growth-caption{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding-top:38px;pointer-events:none}.growth-caption strong{font-size:2.6rem;color:white;text-shadow:0 0 18px #14b8a6}.growth-caption span{font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;color:#a7f3d0;font-weight:800}.evidence-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.evidence-grid div{padding:16px;border:1px solid rgba(148,163,184,.15);border-radius:14px;background:rgba(2,12,30,.34)}.evidence-grid b{display:block;font-size:1.45rem;color:#e6fffb}.evidence-grid span{font-size:.76rem;color:#94a3b8}.competency-track{display:grid;grid-template-columns:repeat(5,1fr);position:relative;margin:10px 0 16px;gap:6px}.competency-track:before{content:"";position:absolute;top:13px;left:7%;right:7%;height:3px;background:#17385c}.journey-stage{position:relative;text-align:center;color:#64748b}.journey-stage i{position:relative;z-index:1;display:block;width:28px;height:28px;margin:0 auto 8px;border-radius:50%;background:#17385c;border:3px solid #31577a}.journey-stage.reached i{background:#14b8a6;border-color:#99f6e4;box-shadow:0 0 12px rgba(45,212,191,.4)}.journey-stage.current i{transform:scale(1.2);background:#34d399}.journey-stage strong,.journey-stage span,.journey-stage small{display:block}.journey-stage strong{font-size:.78rem;color:#cbd5e1}.journey-stage.current strong{color:#5eead4}.journey-stage span{font-size:.72rem}.journey-stage small{font-size:.68rem;margin-top:4px}.next-growth{display:flex;gap:10px;justify-content:space-between;align-items:center;padding:12px 14px;border-radius:12px;background:rgba(45,212,191,.08);border:1px solid rgba(45,212,191,.18)}.next-growth strong{color:#5eead4}.next-growth span{font-size:.8rem;color:#cbd5e1}.competency-note{font-size:.72rem;color:#64748b;margin:12px 0 0}.locked-visual-hero{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}
@media(max-width:760px){.competency-head{display:block}.competency-score{text-align:left;margin-top:14px}.competency-main{grid-template-columns:1fr}.evidence-grid{grid-template-columns:repeat(2,1fr)}.competency-track{overflow-x:auto;grid-template-columns:repeat(5,minmax(110px,1fr));padding-bottom:6px}.next-growth{align-items:flex-start;flex-direction:column}}

/* v50 evidence branch map + competency momentum */
.domain-growth-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px}.domain-growth{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid rgba(148,163,184,.14);border-radius:14px;background:rgba(2,12,30,.3)}.domain-growth i{width:16px;height:16px;border-radius:50%;background:#17385c;border:2px solid #31577a;flex:0 0 auto}.domain-growth span,.domain-growth strong,.domain-growth small{display:block}.domain-growth small{color:#94a3b8;margin-top:3px}.domain-growth.level-1 i{background:#2563eb}.domain-growth.level-2 i{background:#0ea5e9;box-shadow:0 0 8px rgba(14,165,233,.25)}.domain-growth.level-3 i{background:#14b8a6;border-color:#99f6e4;box-shadow:0 0 10px rgba(45,212,191,.45)}.domain-growth.level-4 i{background:#34d399;border-color:#d1fae5;box-shadow:0 0 14px rgba(52,211,153,.6)}@media(max-width:760px){.domain-growth-grid{grid-template-columns:1fr}}


/* v51 competency evidence quality + honest next actions */
.evidence-quality-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:16px 0}.evidence-quality-grid>div{padding:14px;border:1px solid var(--line);border-radius:14px;background:rgba(7,22,45,.48)}.evidence-quality-grid b{display:block;font-size:1.35rem}.evidence-quality-grid span{font-size:.82rem;color:var(--muted)}.competency-actions{display:grid;gap:9px;margin-top:16px}.competency-actions h3{margin:0 0 3px}.competency-action{width:100%;display:flex;justify-content:space-between;align-items:center;text-align:left;gap:16px;padding:13px 15px;border:1px solid var(--line);border-radius:14px;background:rgba(10,31,59,.62);color:var(--text);cursor:pointer}.competency-action:hover,.competency-action:focus-visible{border-color:var(--accent);transform:translateY(-1px)}.competency-action span{display:grid;gap:4px}.competency-action small{color:var(--muted);line-height:1.35}.competency-action>b{white-space:nowrap;color:var(--accent)}@media(max-width:720px){.evidence-quality-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.competency-action{align-items:flex-start}.competency-action>b{font-size:.8rem}}

/* v52 evidence-stage gates, history, and next-branch plan */
.milestone-gates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px}.milestone-gate{display:flex;gap:11px;align-items:center;padding:12px;border:1px solid rgba(148,163,184,.15);border-radius:14px;background:rgba(2,12,30,.28)}.milestone-gate i{font-style:normal;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#172554;color:#93c5fd}.milestone-gate.met i{background:rgba(16,185,129,.18);color:#6ee7b7;border:1px solid rgba(110,231,183,.35)}.milestone-gate span,.milestone-gate strong,.milestone-gate small{display:block}.milestone-gate small{color:#94a3b8;margin-top:3px}.competency-history-row{height:190px;display:flex;align-items:flex-end;gap:10px;margin:18px 0;overflow-x:auto;padding:8px 4px}.history-point{min-width:62px;height:100%;display:grid;grid-template-rows:auto 1fr auto auto;gap:5px;text-align:center;align-items:end}.history-point>b{font-size:.85rem}.history-point>i{display:block;width:18px;height:var(--h);max-height:115px;min-height:8px;margin:auto;border-radius:10px 10px 3px 3px;background:linear-gradient(180deg,#2dd4bf,#2563eb);box-shadow:0 0 12px rgba(45,212,191,.24)}.history-point>span{font-size:.72rem;color:#cbd5e1}.history-point>small{font-size:.68rem;color:#64748b}.domain-proof-plan .topic{align-items:center}@media(max-width:760px){.milestone-gates{grid-template-columns:1fr}.competency-history-row{height:170px}}

/* v53 competency coaching + milestone celebration */
.competency-celebration{background:linear-gradient(135deg,rgba(27,219,176,.10),rgba(71,118,255,.08));border:1px solid rgba(91,224,196,.28)}
.competency-celebration h2{margin:.25rem 0}.competency-coach .coach-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0}.competency-coach .coach-grid>div{padding:14px;border:1px solid var(--border);border-radius:14px;background:rgba(255,255,255,.025)}.competency-coach .coach-grid b,.competency-coach .coach-grid span{display:block}.competency-coach .coach-grid span{color:var(--muted);font-size:.85rem;margin-top:4px}@media(max-width:640px){.competency-coach .coach-grid{grid-template-columns:1fr}}
/* v54 competency evidence explainability */
.competency-factor-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}.competency-factor-grid>div{padding:14px;border:1px solid rgba(148,163,184,.15);border-radius:14px;background:rgba(2,12,30,.32)}.competency-factor-grid span,.competency-factor-grid b,.competency-factor-grid small{display:block}.competency-factor-grid span{color:#94a3b8;font-size:.76rem}.competency-factor-grid b{font-size:1.35rem;margin:4px 0;color:#e6fffb}.competency-factor-grid i{display:block;height:6px;background:#17385c;border-radius:999px;overflow:hidden;margin:7px 0}.competency-factor-grid em{display:block;height:100%;background:linear-gradient(90deg,#0ea5e9,#34d399);border-radius:inherit}.competency-factor-grid small{color:#94a3b8;line-height:1.35}.plateau-coach{border-color:rgba(56,189,248,.2);background:linear-gradient(145deg,rgba(5,22,48,.95),rgba(9,36,60,.9))}@media(max-width:760px){.competency-factor-grid{grid-template-columns:1fr}}


/* v55-v58 competency evidence ledger, weekly pulse, and integrity guardrails */
.ledger-grid{display:grid;gap:10px;margin-top:16px}.ledger-row{display:grid;grid-template-columns:minmax(220px,1.2fr) minmax(150px,.8fr) minmax(170px,.8fr);gap:14px;align-items:center;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:rgba(2,12,30,.28)}.ledger-row strong,.ledger-row small{display:block}.ledger-row small{color:var(--muted);margin-top:3px}.ledger-row>span{font-size:.78rem;color:#94a3b8}.ledger-meter{height:7px;border-radius:99px;background:#17385c;overflow:hidden}.ledger-meter i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#2563eb,#34d399)}.weekly-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:16px}.weekly-grid>div{padding:13px;border:1px solid var(--line);border-radius:13px;background:rgba(2,12,30,.28)}.weekly-grid b,.weekly-grid span{display:block}.weekly-grid b{font-size:1.3rem}.weekly-grid span{font-size:.76rem;color:var(--muted);margin-top:3px}.integrity-flags{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.integrity-flags span{padding:7px 10px;border:1px solid rgba(251,191,36,.25);border-radius:999px;background:rgba(251,191,36,.07);color:#fde68a;font-size:.78rem}@media(max-width:800px){.ledger-row{grid-template-columns:1fr}.weekly-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* v59-v62 competency evidence balance */
.balance-bars{display:grid;gap:10px;margin-top:16px}.balance-row{display:grid;grid-template-columns:minmax(130px,1fr) minmax(140px,3fr) 52px;gap:12px;align-items:center}.balance-row>div{height:10px;background:rgba(148,163,184,.16);border-radius:999px;overflow:hidden}.balance-row i{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-2));border-radius:999px}.balance-row b{text-align:right}@media(max-width:620px){.balance-row{grid-template-columns:1fr 44px}.balance-row>span{grid-column:1/-1}.balance-row>div{min-width:0}}
/* v63-v66 competency calibration and proof prescription */
.runway-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}.runway-grid>div{padding:12px;border:1px solid var(--line);border-radius:14px}.runway-grid strong,.runway-grid span{display:block}.runway-grid span{color:var(--muted);font-size:.86rem;margin:4px 0 8px}.runway-grid i{display:block;height:7px;background:rgba(255,255,255,.07);border-radius:999px;overflow:hidden}.runway-grid em{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--accent2));border-radius:inherit}.competency-calibration .readiness-head{align-items:flex-start}.proof-prescription .topic small{max-width:680px}@media(max-width:700px){.runway-grid{grid-template-columns:1fr}.proof-prescription .topic{align-items:flex-start}.proof-prescription .topic button{width:100%;margin-top:8px}}

/* v67-v70 evidence coherence panels */
.competency-note{font-size:.86rem;opacity:.78}.why p{line-height:1.45}

/* v71-v74 competency interpretation surfaces */
.maturity-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:14px}.maturity-grid>div{display:grid;gap:7px;padding:14px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.025)}.maturity-grid small{color:var(--muted)}

/* v75-v80 evidence-quality surfaces */
.attribution-grid,.mock-exposure-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-top:14px}.attribution-grid>div,.mock-exposure-row>div{padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--surface-2)}.attribution-grid strong,.mock-exposure-row strong{display:block}.attribution-grid b,.mock-exposure-row b{display:block;font-size:1.35rem;margin:5px 0}.attribution-grid small,.mock-exposure-row small{color:var(--muted)}
.coverage-grid{display:grid;gap:10px;margin-top:14px}.coverage-grid>div{display:grid;grid-template-columns:minmax(140px,1.1fr) minmax(120px,2fr) 52px;gap:10px;align-items:center}.coverage-grid i{height:9px;border-radius:999px;background:var(--surface-2);overflow:hidden}.coverage-grid em{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-2));border-radius:inherit}.coverage-grid small{grid-column:1/-1;color:var(--muted)}
.sequence-list{display:grid;gap:10px;margin-top:14px}.sequence-list>div{display:grid;grid-template-columns:38px 1fr auto;gap:10px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:14px}.sequence-list i{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--surface-2);font-style:normal;font-weight:800}.sequence-list small{display:block;color:var(--muted);margin-top:3px}
@media(max-width:640px){.coverage-grid>div{grid-template-columns:1fr 46px}.coverage-grid>div>span{grid-column:1/-1}.coverage-grid small{grid-column:1/-1}.sequence-list>div{grid-template-columns:34px 1fr}.sequence-list .btn{grid-column:2;justify-self:start}.mock-exposure-row{grid-template-columns:1fr 1fr}}


/* v81-v86 evidence freshness / stability / durability / balance */
.freshness-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:16px 0}.freshness-grid>div,.source-mix-bars>div{border:1px solid var(--line);border-radius:14px;padding:12px;background:rgba(255,255,255,.025)}.freshness-grid b{display:block;font-size:1.45rem}.freshness-grid span{font-size:.82rem;color:var(--muted)}
.volatility-list{display:grid;gap:9px;margin-top:14px}.volatility-list>div{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:11px 12px;border:1px solid var(--line);border-radius:12px}.volatility-list small{display:block;color:var(--muted);margin-top:3px}
.source-mix-bars{display:grid;gap:9px;margin-top:15px}.source-mix-bars>div{display:grid;grid-template-columns:minmax(120px,1fr) 3fr 48px;align-items:center;gap:10px}.source-mix-bars i{height:8px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden}.source-mix-bars em{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#22c7b8,#70a5ff)}.source-mix-bars b{text-align:right}.contract-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:15px}.contract-grid>div{display:flex;gap:10px;padding:12px;border:1px solid var(--line);border-radius:13px}.contract-grid>div.met{border-color:rgba(68,203,167,.45);background:rgba(68,203,167,.06)}.contract-grid i{font-style:normal;font-weight:800}.contract-grid small{display:block;color:var(--muted);margin-top:3px}
@media(max-width:760px){.freshness-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contract-grid{grid-template-columns:1fr}.source-mix-bars>div{grid-template-columns:1fr 2fr 42px}}

.backlog-row{display:grid;grid-template-columns:32px 1fr 48px;gap:10px;align-items:center;padding:11px 12px;margin-top:9px;border:1px solid var(--line);border-radius:12px}.backlog-row i{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:rgba(112,165,255,.12);font-style:normal;font-weight:800}.backlog-row small{display:block;color:var(--muted);margin-top:3px}.backlog-row>b{text-align:right}
/* v89-v98 orchestration surfaces */
.readiness-contract+.section.card,.proof-backlog+.section.card{scroll-margin-top:84px}
@media (max-width:720px){.section.card .grid.grid-3{grid-template-columns:1fr}.topic-list .topic{align-items:flex-start;gap:10px}.topic-list .topic>.badge{white-space:nowrap}}

/* v99-v106 diagnostic decision-tree retention lab */
.diagnostic-tree-lab{overflow:hidden}.diag-family-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0}.diag-family{display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;border:1px solid var(--line);background:var(--surface-2);border-radius:14px;padding:14px;color:inherit;cursor:pointer}.diag-family span:first-child{display:grid;gap:4px}.diag-family small{color:var(--muted);line-height:1.35}.diag-family:hover,.diag-family:focus-visible{border-color:var(--accent);transform:translateY(-1px)}.diag-active-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;border-top:1px solid var(--line);padding-top:18px}.diag-map{max-width:820px;margin:20px auto}.diag-root{display:flex;align-items:center;gap:12px;padding:15px 18px;border:1px solid var(--accent);border-radius:14px;background:linear-gradient(135deg,var(--surface-2),var(--surface))}.diag-root span{font-size:.72rem;font-weight:800;letter-spacing:.12em;color:var(--accent)}.diag-connector{text-align:center;color:var(--muted);font-size:1.3rem;line-height:1.1;padding:4px}.diag-node{border:1px solid var(--line);border-radius:14px;background:var(--surface-2);overflow:hidden}.diag-node summary{display:flex;align-items:center;gap:12px;padding:14px;cursor:pointer;list-style:none}.diag-node summary::-webkit-details-marker{display:none}.diag-step{display:grid;place-items:center;min-width:30px;height:30px;border-radius:50%;background:var(--accent-soft);font-weight:800;color:var(--accent)}.diag-node-body{padding:0 16px 16px 58px}.diag-choice-grid{display:grid;gap:10px;margin:16px 0}.diag-choice,.diag-rebuild-choice{width:100%;text-align:left;border:1px solid var(--line);background:var(--surface-2);color:inherit;padding:13px 14px;border-radius:12px;cursor:pointer}.diag-choice:hover,.diag-rebuild-choice:hover{border-color:var(--accent)}.diag-choice.correct,.diag-rebuild-choice.correct{border-color:var(--good);box-shadow:inset 0 0 0 1px var(--good)}.diag-choice.wrong,.diag-rebuild-choice.wrong{border-color:var(--warn);box-shadow:inset 0 0 0 1px var(--warn)}.diag-feedback{display:grid;gap:6px;min-height:46px;padding:12px 14px;border-radius:12px;background:var(--surface-2);color:var(--muted)}.diag-feedback strong{color:var(--text)}.diag-feedback small{color:var(--accent)}.diag-rebuild-choices{display:grid;gap:9px;margin:16px 0}.diag-rebuild-track{display:grid;gap:8px;margin:14px 0}.diag-rebuild-track span{padding:10px 12px;border-left:3px solid var(--accent);background:var(--surface-2);border-radius:0 10px 10px 0}.diag-retention-note{margin-top:18px;padding:14px;border-radius:12px;background:var(--surface-2);color:var(--muted);line-height:1.5}.diag-retention-note strong{color:var(--text)}
@media(max-width:760px){.diag-family-grid{grid-template-columns:1fr}.diag-active-head{display:block}.diag-active-head .actions{margin-top:12px}.diag-node-body{padding-left:16px}}
@media print{.diagnostic-tree-lab .actions,.diag-family-grid,.diag-challenge,.diag-rebuild{display:none!important}.diagnostic-tree-lab details{display:block}.diagnostic-tree-lab details>*{display:block}}
.diag-coverage{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:16px 0}.diag-coverage>div{display:grid;gap:3px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2)}.diag-coverage b{font-size:1.15rem}.diag-coverage span,.diag-family-reveal{font-size:.82rem;color:var(--muted)}.diag-family-reveal{margin-top:10px}.diag-mixed{border-left:3px solid var(--accent)}
@media(max-width:760px){.diag-coverage{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* v107-v114 diagnostic retention hardening */
.diag-retention-dashboard{margin:18px 0;padding:18px;border:1px solid var(--line);border-radius:18px;background:rgba(10,25,43,.62)}
.diag-stage-row{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:12px 0 16px}
.diag-stage-row>div{padding:12px;border:1px solid var(--line);border-radius:14px;text-align:center}.diag-stage-row b,.diag-stage-row span{display:block}.diag-stage-row span{font-size:.78rem;color:var(--muted)}
.diag-confidence{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:12px 0}.diag-confidence span{font-size:.82rem;color:var(--muted);margin-right:4px}.diag-confidence button{border:1px solid var(--line);background:transparent;color:var(--text);border-radius:999px;padding:7px 11px}.diag-confidence button.selected{background:rgba(48,190,181,.18);border-color:rgba(78,214,204,.65)}
.diag-contrast details{margin:8px 0;border:1px solid var(--line);border-radius:14px;padding:10px 12px}.diag-contrast summary{cursor:pointer;font-weight:700}.diag-contrast p{color:var(--muted)}
.diag-teachback textarea{width:100%;box-sizing:border-box;margin:12px 0;border:1px solid var(--line);border-radius:14px;background:rgba(6,17,31,.72);color:var(--text);padding:12px;resize:vertical}
@media(max-width:700px){.diag-stage-row{grid-template-columns:repeat(2,1fr)}}

/* v115-v122 — selected Sept 5 Diagnosis storyboard visual direction */
.diagnostic-tree-lab{overflow:hidden;border:1px solid rgba(77,188,213,.28);background:linear-gradient(180deg,rgba(13,31,53,.98),rgba(8,20,37,.98));box-shadow:0 18px 55px rgba(0,0,0,.2)}
.diag-story-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;padding:4px 2px 14px}.diag-story-head h2{margin:.25rem 0 .35rem;font-size:clamp(1.35rem,2.3vw,2rem)}
.diag-story-progress{min-width:180px;padding:12px 14px;border:1px solid rgba(72,190,211,.28);border-radius:16px;background:rgba(8,35,58,.8)}.diag-story-progress span,.diag-story-progress small{display:block;color:var(--muted);font-size:.76rem}.diag-story-progress b{display:block;font-size:1.5rem;margin:3px 0;color:#7ee7dc}
.diag-cycle{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;align-items:center;gap:8px;margin:8px 0 10px;padding:10px;border-radius:16px;background:rgba(4,17,31,.55);border:1px solid var(--line)}.diag-cycle span{display:flex;gap:8px;align-items:center;justify-content:center;font-size:.82rem;font-weight:700}.diag-cycle span b{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:rgba(45,201,190,.18);color:#7ee7dc}.diag-cycle i{color:#68859f}
.diag-originality-note{font-size:.76rem;color:var(--muted);margin:0 0 15px}
.diag-family-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.diag-family{min-height:104px;align-items:flex-start;text-align:left;background:linear-gradient(145deg,rgba(17,57,83,.92),rgba(20,37,65,.92));border:1px solid rgba(91,181,206,.25);transition:transform .15s ease,border-color .15s ease,background .15s ease}.diag-family:hover{transform:translateY(-2px);border-color:rgba(94,224,212,.6)}.diag-family strong{font-size:.88rem}.diag-family small{margin-top:7px;line-height:1.3}
.diag-active-head{margin-top:20px;padding:15px 16px;border-radius:17px 17px 0 0;background:rgba(6,25,43,.9);border:1px solid var(--line);border-bottom:0}.diag-active-head .actions{display:flex;gap:7px;flex-wrap:wrap}
#diagTreeWorkspace{padding:18px;border:1px solid var(--line);border-radius:0 0 17px 17px;background:rgba(247,251,255,.96);color:#10263b}#diagTreeWorkspace .muted,#diagTreeWorkspace small{color:#536b7f}#diagTreeWorkspace .eyebrow{color:#147c8e}
#diagTreeWorkspace .diag-root{background:#e9f6ff;color:#10263b;border-color:#75bfe8}#diagTreeWorkspace .diag-node{background:white;color:#10263b;border-color:#b8d4e5}#diagTreeWorkspace .diag-node-body{color:#40586b}#diagTreeWorkspace .memory-chip{background:#e9fbf6;color:#176a61}
#diagTreeWorkspace .diag-choice{background:white;color:#10263b;border-color:#c6dbe8}#diagTreeWorkspace .diag-choice:hover{border-color:#2aa7bd;background:#f0fbfd}#diagTreeWorkspace .diag-choice.correct{background:#e7f8ec;border-color:#65bd7a}#diagTreeWorkspace .diag-choice.wrong{background:#fff0ef;border-color:#dd8179}
#diagTreeWorkspace .diag-feedback{background:#eef6fb;color:#24445c;border-color:#c5dbe8}#diagTreeWorkspace textarea{background:white;color:#10263b;border-color:#bfd5e3}
.diag-retention-note{margin-top:14px;padding:11px 13px;border-left:3px solid #42cdbd;background:rgba(38,169,159,.08);border-radius:8px;color:var(--muted);font-size:.8rem}
@media(max-width:1000px){.diag-family-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.diag-cycle{grid-template-columns:1fr 1fr}.diag-cycle i{display:none}}
@media(max-width:650px){.diag-story-head{display:block}.diag-story-progress{margin-top:12px}.diag-family-grid{grid-template-columns:1fr}.diag-cycle{grid-template-columns:1fr}.diag-active-head{display:block}.diag-active-head .actions{margin-top:12px}}

.diagnostic-tree-lab [data-diag-mode].diag-mode-active{background:linear-gradient(135deg,#24b9c5,#22a98f);border-color:transparent;color:#fff;box-shadow:0 7px 18px rgba(27,166,165,.2)}

/* v123-v132 diagnostic retention-session UX */
.diag-family-progress-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:14px 0}.diag-family-progress-strip>div{padding:9px 11px;border:1px solid var(--line);border-radius:12px;background:rgba(7,24,42,.5)}.diag-family-progress-strip span,.diag-family-progress-strip small{display:block}.diag-family-progress-strip span{font-size:.78rem;font-weight:700}.diag-family-progress-strip small{font-size:.7rem;color:var(--muted);margin-top:4px}.diag-family-progress-strip i{display:block;height:4px;background:rgba(255,255,255,.08);border-radius:999px;margin-top:7px;overflow:hidden}.diag-family-progress-strip em{display:block;height:100%;background:linear-gradient(90deg,#29bfc3,#44d29d);border-radius:inherit}
.diag-session-plan{display:grid;grid-template-columns:minmax(220px,.75fr) 1.25fr;gap:16px;margin:16px 0;padding:16px;border:1px solid rgba(77,188,213,.3);border-radius:17px;background:linear-gradient(135deg,rgba(10,46,67,.72),rgba(18,36,65,.72))}.diag-session-plan h3{margin:.2rem 0}.diag-session-moves{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.diag-session-moves button{display:flex;gap:10px;text-align:left;align-items:center;border:1px solid var(--line);border-radius:13px;background:rgba(8,25,44,.8);color:var(--text);padding:10px;cursor:pointer}.diag-session-moves button:hover{border-color:#4bd2c5}.diag-session-moves b{display:grid;place-items:center;min-width:26px;height:26px;border-radius:50%;background:rgba(64,205,191,.15);color:#78e6dc}.diag-session-moves span,.diag-session-moves strong,.diag-session-moves small{display:block}.diag-session-moves small{font-size:.69rem;color:var(--muted);margin-top:2px}
.diag-session-recap{margin:14px 0;padding:14px;border:1px solid var(--line);border-radius:15px;background:rgba(5,20,35,.5)}
#diagTreeWorkspace .diag-clue-fade{padding:4px}#diagTreeWorkspace .diag-clue-fade .muted{max-width:700px}
@media(max-width:760px){.diag-session-plan{grid-template-columns:1fr}.diag-session-moves{grid-template-columns:1fr}.diag-family-progress-strip{grid-template-columns:1fr}}

/* v133-v142 transfer-proof and repair-routing UI */
.diag-next-action,.diag-repair-prescription{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:14px 0;padding:14px 16px;border:1px solid rgba(75,210,197,.32);border-radius:16px;background:linear-gradient(135deg,rgba(24,91,99,.24),rgba(21,47,77,.5))}.diag-next-action strong,.diag-next-action small{display:block}.diag-next-action small{margin-top:4px;color:var(--muted);max-width:780px}.diag-repair-prescription h3{margin:.25rem 0}.diag-repair-prescription p{margin:.25rem 0;color:var(--muted)}
.diag-transfer-proof,.diag-freshness{margin:14px 0;padding:15px;border:1px solid var(--line);border-radius:16px;background:rgba(6,22,39,.52)}.diag-proof-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.diag-proof-head h3{margin:.2rem 0}.diag-proof-head>strong{font-size:1.65rem;color:#7ee7dc;text-align:right}.diag-proof-head>strong small{display:block;font-size:.66rem;color:var(--muted);font-weight:500;white-space:nowrap}
.diag-freshness-bands{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:10px 0}.diag-freshness-bands span{padding:10px;border:1px solid var(--line);border-radius:12px;text-align:center;font-size:.76rem;color:var(--muted)}.diag-freshness-bands b{display:block;font-size:1.15rem;color:var(--text)}
@media(max-width:650px){.diag-next-action,.diag-repair-prescription,.diag-proof-head{display:block}.diag-next-action button,.diag-repair-prescription button{width:100%;margin-top:12px}.diag-proof-head>strong{text-align:left;display:block;margin-top:8px}.diag-freshness-bands{grid-template-columns:repeat(2,1fr)}}

/* v143-v160 — Mini Mocks + Show Me This in a Case */
.mini-mock-hub{border:1px solid rgba(69,196,203,.3);background:linear-gradient(145deg,rgba(12,42,66,.96),rgba(15,30,55,.96))}
.mini-mock-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:16px 0}.mini-mock-stats>div{padding:13px;border:1px solid var(--line);border-radius:14px;background:rgba(5,21,38,.5);text-align:center}.mini-mock-stats b,.mini-mock-stats span{display:block}.mini-mock-stats b{font-size:1.35rem;color:#7ee7dc}.mini-mock-stats span{font-size:.74rem;color:var(--muted)}
.mini-topic-chips{display:flex;gap:7px;flex-wrap:wrap;margin-top:14px}.mini-topic-chips button{border:1px solid var(--line);background:rgba(5,22,40,.6);color:var(--text);border-radius:999px;padding:8px 11px;cursor:pointer}.mini-topic-chips small{color:#7ee7dc}
#miniMockBrowser{margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}.mini-browser-head{display:flex;justify-content:space-between;color:var(--muted);margin-bottom:10px}.mini-mock-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;max-height:560px;overflow:auto;padding-right:4px}.mini-mock-card{display:flex;justify-content:space-between;gap:10px;text-align:left;align-items:center;border:1px solid var(--line);background:rgba(7,25,43,.68);color:var(--text);padding:12px;border-radius:14px;cursor:pointer}.mini-mock-card:hover{border-color:#47cfc4}.mini-mock-card span,.mini-mock-card strong,.mini-mock-card small{display:block}.mini-mock-card small{color:var(--muted);margin-top:4px;line-height:1.35}
.show-me-case{display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center;border:1px solid rgba(68,205,194,.38);background:linear-gradient(135deg,rgba(20,91,96,.2),rgba(17,43,72,.72))}.show-case-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;background:rgba(54,210,195,.14);color:#7ee7dc;font-size:1.4rem}.show-me-case h2{margin:.2rem 0}.show-me-case small{color:#7ee7dc}
.knowledge-app-bridge{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;margin:14px 0;padding:14px;border:1px solid var(--line);border-radius:16px;background:rgba(7,23,40,.6)}.knowledge-app-bridge>div{text-align:center}.knowledge-app-bridge span,.knowledge-app-bridge b{display:block}.knowledge-app-bridge span{font-size:.75rem;color:var(--muted)}.knowledge-app-bridge b{font-size:1.35rem}.knowledge-app-bridge>i{color:#69d8ce}.knowledge-app-bridge>p{grid-column:1/-1;margin:2px 0 0;padding-top:10px;border-top:1px solid var(--line);color:#f3c889}
@media(max-width:700px){.mini-mock-stats{grid-template-columns:1fr}.mini-mock-list{grid-template-columns:1fr}.show-me-case{grid-template-columns:1fr}.show-case-icon{display:none}.show-me-case .btn{width:100%}}

/* v161-v172 Mini Mock application intelligence */
.mini-prescription{display:flex;justify-content:space-between;gap:18px;align-items:center;margin:14px 0;padding:14px 16px;border:1px solid rgba(75,210,197,.35);border-radius:16px;background:linear-gradient(135deg,rgba(25,100,102,.22),rgba(17,44,73,.55))}.mini-prescription strong,.mini-prescription small{display:block}.mini-prescription p{margin:.35rem 0;color:var(--muted)}.mini-prescription small{color:#7ee7dc}
.mini-app-dashboard,.mini-reading-signals{margin:14px 0;padding:14px;border:1px solid var(--line);border-radius:16px;background:rgba(6,22,39,.48)}.mini-app-dashboard h3{margin:.2rem 0}.mini-gap-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.mini-gap-grid>div{padding:10px;border:1px solid var(--line);border-radius:12px}.mini-gap-grid span,.mini-gap-grid small,.mini-gap-grid b{display:block}.mini-gap-grid small{font-size:.7rem;color:var(--muted);margin:3px 0 7px}.mini-gap-grid i{display:block;height:4px;background:rgba(255,255,255,.08);border-radius:999px;overflow:hidden}.mini-gap-grid em{display:block;height:100%;background:linear-gradient(90deg,#2cbcc4,#43d29e)}.mini-gap-grid b{margin-top:6px;font-size:.68rem;color:#f3c889}
.mini-filter-bar{display:grid;grid-template-columns:1fr 180px auto;gap:9px;align-items:end;margin-bottom:12px}.mini-filter-bar label{font-size:.72rem;color:var(--muted)}.mini-filter-bar input[type=search],.mini-filter-bar select{display:block;width:100%;box-sizing:border-box;margin-top:5px;padding:9px 10px;border:1px solid var(--line);border-radius:10px;background:rgba(5,20,36,.85);color:var(--text)}.mini-filter-bar .mini-check{padding:9px 0;color:var(--text);white-space:nowrap}
@media(max-width:700px){.mini-prescription{display:block}.mini-prescription button{width:100%;margin-top:12px}.mini-gap-grid,.mini-filter-bar{grid-template-columns:1fr}}

/* v173-v188 production design lock + case transfer progression */
.transfer-path,.mini-coverage-matrix,.mini-debrief-route{margin:14px 0;padding:15px;border:1px solid rgba(77,188,213,.28);border-radius:16px;background:linear-gradient(145deg,rgba(7,29,49,.72),rgba(13,37,63,.72))}
.transfer-path h3,.mini-coverage-matrix h3,.mini-debrief-route h3{margin:.2rem 0}.transfer-steps{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;margin-top:12px}.transfer-steps span{display:flex;gap:6px;align-items:center;justify-content:center;padding:8px 5px;border:1px solid var(--line);border-radius:10px;font-size:.7rem;color:var(--muted)}.transfer-steps b{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:rgba(255,255,255,.06)}.transfer-steps .done{color:#7ee7dc;border-color:rgba(61,204,190,.25)}.transfer-steps .active{color:#fff;border-color:#43cfc2;background:rgba(40,185,175,.16)}
.mini-coverage-matrix>div:last-child{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;margin-top:10px}.mini-coverage-matrix span{padding:9px 10px;border:1px solid var(--line);border-radius:11px}.mini-coverage-matrix strong,.mini-coverage-matrix small{display:block}.mini-coverage-matrix strong{font-size:.76rem}.mini-coverage-matrix small{font-size:.68rem;color:var(--muted);margin-top:3px}
.mini-similar-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}.mini-similar-row button{padding:10px;text-align:left;border:1px solid var(--line);border-radius:12px;background:rgba(5,21,38,.72);color:var(--text)}.mini-similar-row strong,.mini-similar-row small{display:block}.mini-similar-row small{color:var(--muted);margin-top:4px}
.production-design-contract{display:none}
@media(max-width:760px){.transfer-steps{grid-template-columns:repeat(2,1fr)}.mini-coverage-matrix>div:last-child,.mini-similar-row{grid-template-columns:1fr}}

/* v189-v204 content integrity + version guardrails */
.blueprint-version-guard{display:grid;grid-template-columns:1fr 180px 180px;gap:10px;align-items:stretch;margin:14px 0;padding:14px;border:1px solid rgba(72,194,203,.3);border-radius:16px;background:linear-gradient(135deg,rgba(8,38,60,.72),rgba(17,36,63,.72))}.blueprint-version-guard>div{padding:9px 10px}.blueprint-version-guard>div+div{border:1px solid var(--line);border-radius:12px;text-align:center}.blueprint-version-guard strong,.blueprint-version-guard small,.blueprint-version-guard span,.blueprint-version-guard b{display:block}.blueprint-version-guard small{color:var(--muted);margin-top:4px}.blueprint-version-guard>div+div span{font-size:.68rem;color:var(--muted)}.blueprint-version-guard>div+div b{font-size:1.2rem;margin:4px 0;color:#7ee7dc}
.content-integrity{border-color:rgba(75,210,197,.3)}.integrity-hierarchy{display:grid;grid-template-columns:1fr;gap:6px;margin-top:14px}.integrity-hierarchy>strong{margin-bottom:2px}.integrity-hierarchy span{display:flex;align-items:center;gap:9px;padding:8px 10px;border:1px solid var(--line);border-radius:10px}.integrity-hierarchy b{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:rgba(54,205,193,.13);color:#7ee7dc}.integrity-caveat{font-size:.72rem;margin-top:10px}.mini-source-note{font-size:.7rem;color:#7ee7dc;margin:3px 0 10px}
@media(max-width:760px){.blueprint-version-guard{grid-template-columns:1fr}.blueprint-version-guard>div+div{text-align:left}}

/* v205-v220 Study Guide teaching contract */
.study-teaching-contract{display:grid;grid-template-columns:1fr 1.1fr;gap:16px;align-items:center;margin:14px 0;padding:16px;border:1px solid rgba(73,205,196,.32);border-radius:18px;background:linear-gradient(135deg,rgba(15,64,77,.36),rgba(18,36,65,.78))}.study-teaching-contract strong,.study-teaching-contract small{display:block}.study-teaching-contract strong{font-size:1.08rem}.study-teaching-contract small{margin-top:5px;color:var(--muted);line-height:1.45}.study-contract-flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;align-items:center;gap:5px}.study-contract-flow span{display:flex;align-items:center;justify-content:center;gap:5px;padding:8px 5px;border:1px solid rgba(70,207,195,.25);border-radius:10px;font-size:.7rem}.study-contract-flow b{color:#7ee7dc}.study-contract-flow i{color:#6e8ca4}.study-contract-flow .plain{background:#f3f4f5;color:#27313a;border-color:#c9ced2}.study-contract-flow .plain b{color:#27313a}
.mode-separation{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;gap:7px;align-items:stretch;margin:14px 0}.mode-card{padding:12px;border:1px solid var(--line);border-radius:14px;background:rgba(7,25,43,.65)}.mode-card span,.mode-card strong,.mode-card small{display:block}.mode-card span{font-size:.62rem;color:#7ee7dc;letter-spacing:.06em}.mode-card strong{margin:5px 0;font-size:.84rem}.mode-card small{color:var(--muted);font-size:.68rem}.mode-card.mock{background:#eceff1;color:#20272d;border-color:#c6ccd0}.mode-card.mock span,.mode-card.mock small{color:#58636b}.mode-arrow{display:grid;place-items:center;color:#69869d}
.learning-toolbox,.study-retention-rx{margin:14px 0;padding:14px;border:1px solid var(--line);border-radius:16px;background:rgba(7,23,40,.5)}.learning-tool-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:9px}.learning-tool-grid>div{display:flex;gap:9px;padding:10px;border:1px solid var(--line);border-radius:11px}.learning-tool-grid b{display:grid;place-items:center;min-width:24px;height:24px;border-radius:50%;background:rgba(62,205,192,.13);color:#7ee7dc}.learning-tool-grid span,.learning-tool-grid strong,.learning-tool-grid small{display:block}.learning-tool-grid strong{font-size:.76rem}.learning-tool-grid small{font-size:.68rem;color:var(--muted);margin-top:3px}.study-retention-rx{border-color:rgba(75,210,197,.32)}.study-retention-rx strong,.study-retention-rx small{display:block}.study-retention-rx strong{color:#7ee7dc}.study-retention-rx small{margin-top:4px;color:var(--muted)}
@media(max-width:800px){.study-teaching-contract{grid-template-columns:1fr}.mode-separation{grid-template-columns:1fr}.mode-arrow{transform:rotate(90deg)}.study-contract-flow{grid-template-columns:1fr 1fr}.study-contract-flow i{display:none}.learning-tool-grid{grid-template-columns:1fr}}

/* v221-v236 progressive scaffold fading + application repair */
.scaffold-fade,.application-repair{margin:14px 0;padding:14px;border:1px solid var(--line);border-radius:16px;background:rgba(7,23,40,.52)}.scaffold-fade{display:grid;grid-template-columns:.8fr 1.2fr;gap:14px;align-items:center}.scaffold-fade strong,.scaffold-fade small{display:block}.scaffold-fade strong{color:#7ee7dc}.scaffold-fade small{margin-top:4px;color:var(--muted)}.scaffold-meter{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.scaffold-meter span{padding:8px 5px;text-align:center;border:1px solid var(--line);border-radius:9px;font-size:.68rem;color:var(--muted)}.scaffold-meter span.on{border-color:rgba(68,207,195,.4);background:rgba(43,181,172,.13);color:#c9fffa}
.application-repair>div:not(.eyebrow){display:flex;gap:9px;padding:9px 0;border-top:1px solid var(--line)}.application-repair b{display:grid;place-items:center;min-width:24px;height:24px;border-radius:50%;background:rgba(65,207,194,.14);color:#7ee7dc}.application-repair span,.application-repair strong,.application-repair small{display:block}.application-repair strong{font-size:.78rem}.application-repair small{font-size:.7rem;color:var(--muted);margin-top:3px}.case-bridge-level{display:inline-block;padding:4px 8px;border:1px solid rgba(76,211,199,.35);border-radius:999px;color:#7ee7dc;font-size:.65rem;text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px}
.mock-firewall{padding:8px 10px;border:1px solid #d5d9dc;background:#f2f3f4;color:#252b30}.mock-firewall span,.mock-firewall strong,.mock-firewall small{display:block}.mock-firewall span{font-size:.6rem;letter-spacing:.06em}.mock-firewall small{font-size:.68rem;color:#626b72}
@media(max-width:700px){.scaffold-fade{grid-template-columns:1fr}.scaffold-meter{grid-template-columns:repeat(2,1fr)}}

/* v237-v252 deliberate practice + error fingerprints */
.error-fingerprint,.deliberate-loop,.post-mock-handoff{margin:14px 0;padding:14px;border:1px solid var(--line);border-radius:16px;background:rgba(7,23,40,.5)}.error-fingerprint>div:last-child{border-left:3px solid #48cfc3;padding-left:11px}.error-fingerprint span{font-weight:700}.error-fingerprint p{margin:.25rem 0 0;color:var(--muted);font-size:.76rem}
.deliberate-loop{display:grid;grid-template-columns:1fr 1fr;gap:15px;align-items:center}.deliberate-loop strong{font-size:.82rem}.deliberate-loop>div:last-child{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:5px;align-items:center}.deliberate-loop span{padding:9px 5px;border:1px solid rgba(70,205,194,.28);border-radius:10px;text-align:center;font-size:.7rem}.deliberate-loop b{color:#7ee7dc;margin-right:5px}.deliberate-loop i{color:#6f8aa0}
.transfer-evidence{display:flex;gap:9px;align-items:center;padding:8px 11px;margin:10px 0;border:1px solid var(--line);border-radius:12px}.transfer-evidence span{font-size:.6rem;color:var(--muted);letter-spacing:.05em}.transfer-evidence strong{color:#7ee7dc}.transfer-evidence small{color:var(--muted)}
.post-mock-handoff h3{margin:.2rem 0}.handoff-flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;gap:5px;align-items:center;margin-top:11px}.handoff-flow span{padding:8px;text-align:center;border:1px solid var(--line);border-radius:9px;font-size:.68rem}.handoff-flow i{color:#6e8ca4}
@media(max-width:760px){.deliberate-loop{grid-template-columns:1fr}.handoff-flow{grid-template-columns:1fr}.handoff-flow i{transform:rotate(90deg);text-align:center}.transfer-evidence{display:block}.transfer-evidence>*{display:block;margin:3px 0}}

/* v253-v300 Start Here + personalized roadmap */
.start-here{border-color:rgba(72,207,196,.36);background:linear-gradient(145deg,rgba(9,39,61,.94),rgba(17,37,65,.96))}.start-paths{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:15px}.start-paths button{padding:16px;text-align:left;border:1px solid var(--line);border-radius:16px;background:rgba(6,24,42,.7);color:var(--text);cursor:pointer}.start-paths button:hover{border-color:#4bd0c4;transform:translateY(-1px)}.start-paths span,.start-paths strong,.start-paths small{display:block}.start-paths span{font-size:.62rem;color:#7ee7dc;letter-spacing:.06em}.start-paths strong{margin:6px 0;font-size:.94rem}.start-paths small{color:var(--muted);line-height:1.4}.start-setup{margin-top:14px;padding:14px;border-top:1px solid var(--line)}.start-fields{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.start-fields label{font-size:.7rem;color:var(--muted)}.start-fields input,.start-fields select{display:block;width:100%;box-sizing:border-box;margin-top:5px;padding:9px;border:1px solid var(--line);border-radius:10px;background:#071b2e;color:var(--text)}
.roadmap{border-color:rgba(67,194,215,.34)}.roadmap-priorities{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0}.roadmap-priorities>div{display:flex;gap:9px;padding:11px;border:1px solid var(--line);border-radius:12px}.roadmap-priorities b{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:rgba(64,207,194,.14);color:#7ee7dc}.roadmap-priorities span,.roadmap-priorities strong,.roadmap-priorities small{display:block}.roadmap-priorities small{color:var(--muted);font-size:.68rem;margin-top:3px}.roadmap-week{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:7px;margin:12px 0}.roadmap-week>div{padding:10px;border:1px solid var(--line);border-radius:11px;background:rgba(7,24,41,.52)}.roadmap-week span,.roadmap-week strong,.roadmap-week small{display:block}.roadmap-week span{font-size:.62rem;color:#7ee7dc}.roadmap-week strong{font-size:.76rem;margin:3px 0}.roadmap-week small{font-size:.65rem;color:var(--muted)}
.how-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.how-grid>div{padding:11px;border:1px solid var(--line);border-radius:12px}.how-grid b,.how-grid strong,.how-grid small{display:block}.how-grid b{color:#7ee7dc}.how-grid small{color:var(--muted);margin-top:4px}
@media(max-width:760px){.start-paths,.start-fields,.roadmap-priorities,.how-grid{grid-template-columns:1fr}.roadmap-week{grid-template-columns:1fr 1fr}}

/* v302-v320 V1 integration and accessibility polish */
.help-btn{font-weight:800}
.help-overlay{position:fixed;inset:0;background:rgba(0,0,0,.48);z-index:90}
.help-drawer{position:fixed;top:0;right:0;width:min(420px,92vw);height:100dvh;z-index:91;transform:translateX(105%);transition:transform .2s ease;background:#0b1c31;color:var(--text);border-left:1px solid var(--line);box-shadow:-18px 0 50px rgba(0,0,0,.3);padding:18px;box-sizing:border-box;overflow:auto}
.help-drawer.open{transform:translateX(0)}
.help-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.help-head h2{margin:.2rem 0}.help-quick{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:12px 0}.help-quick button{min-height:42px;border:1px solid var(--line);border-radius:10px;background:rgba(7,25,43,.8);color:var(--text);font-size:.7rem}
.help-sections details{border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin:8px 0;background:rgba(6,22,38,.6)}.help-sections summary{cursor:pointer;font-weight:700}.help-sections p{color:var(--muted);line-height:1.5;font-size:.82rem}
.help-footer{margin-top:14px;padding:13px;border:1px solid rgba(68,207,195,.25);border-radius:12px;background:rgba(43,181,172,.08)}.help-footer strong,.help-footer span,.help-footer small{display:block}.help-footer span{color:#7ee7dc;margin:4px 0}.help-footer small{color:var(--muted)}
.first-run-prompt{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:12px 14px;border:1px solid rgba(65,207,194,.3);border-radius:14px;background:rgba(24,84,91,.16)}.first-run-prompt span{font-size:.62rem;color:#7ee7dc}.first-run-prompt strong,.first-run-prompt small{display:block}.first-run-prompt small{color:var(--muted);margin-top:2px}
.baseline-domain-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:14px 0}.baseline-domain-grid>div{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:11px}.baseline-domain-grid strong,.baseline-domain-grid small{display:block}.baseline-domain-grid small{color:var(--muted);font-size:.68rem;margin-top:3px}
.mini-results{border-color:rgba(71,203,195,.3)}
/* Touch, keyboard, safe-area, and small-screen hardening */
button,.btn,input,select,textarea{font:inherit}
button,.btn{min-height:44px}
button:focus-visible,.btn:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid #7ee7dc;outline-offset:2px}
html,body{max-width:100%;overflow-x:hidden}
body{padding-bottom:env(safe-area-inset-bottom)}
.topbar{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}
.bottom-nav{padding-bottom:max(6px,env(safe-area-inset-bottom));padding-left:max(6px,env(safe-area-inset-left));padding-right:max(6px,env(safe-area-inset-right))}
#app{width:min(1180px,calc(100% - 24px));margin-left:auto;margin-right:auto}
body.mock-mode-active #helpBtn{display:none!important}
body.mock-mode-active .help-drawer,body.mock-mode-active .help-overlay{display:none!important}
@media(max-width:700px){
 .topbar{min-height:56px}.brand small{display:none}.top-actions{gap:4px}.top-actions .icon-btn{min-width:42px;min-height:42px}
 #app{width:min(100% - 16px,1180px);padding-left:0;padding-right:0}
 .baseline-domain-grid{grid-template-columns:1fr}.help-quick{grid-template-columns:repeat(2,1fr)}
 .first-run-prompt{grid-template-columns:1fr}.first-run-prompt .btn{width:100%}
 .actions{gap:8px}.actions .btn{flex:1 1 auto}
}
@media(prefers-reduced-motion:reduce){.help-drawer{transition:none}}

/* v321 dashboard hierarchy cleanup */
.home-freedom{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;margin:10px 0 16px;padding:10px 12px;border:1px solid var(--line);border-radius:13px;background:rgba(7,23,40,.5)}.home-freedom span,.home-freedom strong,.home-freedom small{display:block}.home-freedom strong{font-size:.78rem}.home-freedom small{font-size:.67rem;color:var(--muted);margin-top:2px}.home-freedom i{color:#7ee7dc;font-style:normal;font-size:.7rem}
.advanced-evidence{margin:16px 0;border:1px solid var(--line);border-radius:16px;background:rgba(7,22,39,.42);overflow:hidden}.advanced-evidence>summary{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:14px 16px;cursor:pointer;list-style:none}.advanced-evidence>summary::-webkit-details-marker{display:none}.advanced-evidence>summary span,.advanced-evidence>summary strong,.advanced-evidence>summary small{display:block}.advanced-evidence>summary small{font-size:.68rem;color:var(--muted);margin-top:3px}.advanced-evidence-body{padding:0 12px 12px}
@media(max-width:700px){.home-freedom{grid-template-columns:1fr}.home-freedom i{text-align:center}.advanced-evidence>summary{align-items:flex-start}}

.explore-home{display:flex;justify-content:space-between;gap:18px;align-items:center;border-color:rgba(72,205,195,.28)}.explore-home h2{margin:.2rem 0}.explore-home .actions{justify-content:flex-end}
@media(max-width:700px){.explore-home{display:block}.explore-home .actions{margin-top:12px}.explore-home .actions .btn{width:100%}}

/* v326 approved-accommodation rehearsal settings */
.accommodation-setup{margin:18px 0 0;padding:16px;border:1px solid rgba(45,212,191,.28);border-radius:18px;background:rgba(8,47,73,.24)}
.accommodation-setup legend{padding:0 8px;font-weight:800}.accommodation-setup legend span{margin-left:6px;font-size:.72rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
.check-row{display:flex!important;align-items:center;gap:10px}.check-row input{width:20px!important;height:20px}
.accommodation-summary{display:flex;justify-content:space-between;gap:16px;align-items:center;margin:16px 0;padding:15px 16px;border:1px solid rgba(45,212,191,.35);border-radius:14px;background:rgba(13,148,136,.09)}
.accommodation-summary div{display:grid;gap:3px}.accommodation-summary span,.accommodation-summary small{color:var(--muted)}
@media(max-width:640px){.accommodation-summary{align-items:flex-start;flex-direction:column}}

/* v327 learner profile + personalized encouragement */
.learner-profile-setup{margin:0 0 18px;padding:16px;border:1px solid rgba(96,165,250,.28);border-radius:18px;background:linear-gradient(135deg,rgba(37,99,235,.10),rgba(45,212,191,.07))}
.learner-profile-setup legend{padding:0 8px;font-weight:800;color:#dbeafe}.learner-profile-setup .profile-check{min-height:44px;margin-top:20px;color:var(--text)}
.profile-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.discreet-choice .check-row{margin-top:10px;color:var(--text);font-weight:600}
.personal-checkin{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;margin:0 0 14px;padding:14px 16px;border:1px solid rgba(45,212,191,.28);border-radius:16px;background:linear-gradient(105deg,rgba(13,148,136,.13),rgba(37,99,235,.08));box-shadow:0 12px 35px rgba(2,8,23,.18)}
.personal-checkin>span,.encouragement-icon,.celebration-spark{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,#2dd4bf,#3b82f6);color:#03131f;font-size:1.2rem;box-shadow:0 0 22px rgba(45,212,191,.27)}
.personal-checkin strong,.personal-checkin small{display:block}.personal-checkin strong{font-size:1rem;color:#ecfeff}.personal-checkin small{margin-top:4px;color:var(--muted);font-size:.82rem;line-height:1.45}
.competency-celebration{position:relative;display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:center;padding-right:58px;overflow:hidden}
.celebration-dismiss{position:absolute;right:12px;top:12px;width:40px;min-height:40px;border:1px solid var(--line);border-radius:50%;background:rgba(2,12,30,.45);color:var(--text);cursor:pointer}
.post-session-encouragement{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:center;border-color:rgba(45,212,191,.34);background:linear-gradient(135deg,rgba(13,148,136,.12),rgba(79,70,229,.10))}.post-session-encouragement h2{margin:.25rem 0;font-size:1.35rem}
.profile-editor{margin-top:-4px;border-color:rgba(96,165,250,.3)}.profile-editor .profile-check{margin-top:20px;color:var(--text)}
body.mock-mode-active .personal-checkin,body.mock-mode-active .competency-celebration,body.mock-mode-active .post-session-encouragement{display:none!important}
@media(max-width:760px){.profile-grid{grid-template-columns:1fr}.learner-profile-setup .profile-check{margin-top:4px}.personal-checkin,.competency-celebration,.post-session-encouragement{grid-template-columns:1fr}.personal-checkin>span,.encouragement-icon,.celebration-spark{width:36px;height:36px}}

/* v328 V1 learner-journey hierarchy and responsive finish */
.learner-journey{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;align-items:center;gap:10px;margin:14px 0 18px;padding:12px 14px;border:1px solid rgba(96,165,250,.22);border-radius:18px;background:linear-gradient(90deg,rgba(30,58,138,.15),rgba(13,148,136,.10))}
.journey-step{display:grid;grid-template-columns:auto 1fr;gap:9px;align-items:center;min-width:0;opacity:.62}.journey-step>span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;border:1px solid #3d5574;background:#122139;color:#a9bed8;font-weight:900}.journey-step strong,.journey-step small{display:block}.journey-step strong{font-size:.82rem;color:#dbeafe}.journey-step small{font-size:.68rem;color:var(--muted);margin-top:2px}.journey-step.current,.journey-step.complete{opacity:1}.journey-step.current>span{background:linear-gradient(135deg,#2dd4bf,#3b82f6);color:#03131f;border-color:transparent;box-shadow:0 0 18px rgba(45,212,191,.3)}.journey-step.complete>span{background:rgba(16,185,129,.16);border-color:rgba(110,231,183,.38);color:#6ee7b7}.learner-journey>i{font-style:normal;color:#4c6b88}
.study-safeguards,.progress-evidence{margin-top:28px}.study-safeguards .advanced-evidence-body,.progress-evidence .advanced-evidence-body{display:grid;gap:16px}.study-safeguards .advanced-evidence-body>.section,.progress-evidence .advanced-evidence-body>.section{margin:0}
#studyTopicList{scroll-margin-top:76px}.topic-resource{transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.topic-resource:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(2,8,23,.2)}.topic-resource .topic-main{min-width:0}.topic-resource .topic-main strong{font-size:1rem}.topic-resource .topic-main small{line-height:1.5}
.mini-browser-head{position:sticky;top:62px;z-index:2;padding:11px 12px;border:1px solid var(--line);border-radius:12px;background:rgba(9,23,40,.96);backdrop-filter:blur(12px)}.mini-empty{padding:28px 16px;text-align:center;border:1px dashed var(--line);border-radius:14px;color:var(--muted)}.mini-empty strong,.mini-empty span{display:block}.mini-empty strong{color:var(--text);margin-bottom:5px}
.advanced-evidence[open]>summary>span:last-child{transform:rotate(45deg)}.advanced-evidence>summary>span:last-child{transition:transform .18s ease;color:#7ee7dc;font-size:1.2rem}.advanced-evidence>summary:hover{background:rgba(45,212,191,.045)}
body.mock-mode-active .learner-journey{display:none!important}
@media(max-width:820px){.learner-journey{grid-template-columns:1fr 1fr;gap:8px}.learner-journey>i{display:none}.journey-step{padding:7px;border:1px solid rgba(148,163,184,.10);border-radius:12px}.mini-browser-head{top:58px}}
@media(max-width:520px){.learner-journey{grid-template-columns:1fr;padding:9px}.journey-step{min-height:48px}.topic-resource:hover{transform:none}.mini-browser-head{position:static}.study-safeguards .advanced-evidence-body,.progress-evidence .advanced-evidence-body{padding-left:8px;padding-right:8px}}
@media(prefers-reduced-motion:reduce){.topic-resource,.advanced-evidence>summary>span:last-child{transition:none}}

/* v331 audio, 2027 shelf, and small-screen polish */
#soundBtn{position:relative;font-size:1.05rem;font-weight:900;color:#7ee7dc}
#soundBtn[aria-pressed="false"]{color:var(--muted);opacity:.78}
.focus-2027-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.progress-2027{border-color:rgba(75,210,197,.38);box-shadow:0 18px 55px rgba(2,12,25,.28)}.progress-2027 .topic-resource{align-items:center}.progress-2027 .focus-2027-progress{margin-top:8px}
@media(max-width:650px){.focus-2027-actions{width:100%;justify-content:stretch}.focus-2027-actions .btn{flex:1}.progress-2027 .topic-resource{display:block}.progress-2027 .topic-main{margin-bottom:10px}}
.install-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;margin:0 0 16px;padding:14px 16px;border:1px solid rgba(75,210,197,.38);border-radius:16px;background:linear-gradient(135deg,rgba(18,71,83,.58),rgba(12,31,54,.9));box-shadow:0 14px 38px rgba(2,12,25,.22)}.install-card img{width:54px;height:54px;border-radius:13px}.install-card strong,.install-card small{display:block}.install-card small{margin-top:4px;color:var(--muted);max-width:680px}.install-actions{display:flex;gap:8px;align-items:center}.device-data{border-color:rgba(75,210,197,.32)}.backup-health{display:flex;align-items:center;gap:10px;margin-top:14px;padding:12px;border:1px solid var(--line);border-radius:12px;background:rgba(7,23,40,.42)}.backup-health small{color:var(--muted)}
@media(max-width:700px){.install-card{grid-template-columns:auto 1fr}.install-actions{grid-column:1/-1}.install-actions .btn{flex:1}.backup-health{align-items:flex-start;flex-direction:column}.device-data .actions .btn{width:100%}}
body.mock-mode-active .install-card,body.mock-mode-active .device-data{display:none!important}
.additions-2027{position:relative;overflow:hidden;border-color:rgba(45,212,191,.30);background:radial-gradient(520px 220px at 100% 0%,rgba(45,212,191,.10),transparent 72%),var(--surface)}
.additions-2027:before{content:"2027";position:absolute;right:-8px;top:-24px;font-size:6rem;font-weight:950;letter-spacing:-.08em;color:rgba(94,234,212,.045);pointer-events:none}
.additions-2027>.topic-list{position:relative}.additions-2027 .topic-resource{cursor:default;align-items:stretch;background:rgba(7,28,47,.42)}
.additions-2027 .topic-main{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex:1}.additions-2027 .topic-main>span:first-child{min-width:0}.additions-2027 .topic-quiz{align-self:center;white-space:nowrap}
.additions-2027 .badge{white-space:nowrap}.additions-2027 small{max-width:64ch}
.focus-2027-progress{display:grid;gap:6px;margin-top:11px}.focus-2027-progress>i{display:block;width:min(320px,100%);height:7px;border-radius:99px;overflow:hidden;background:#17334d}.focus-2027-progress>i>em{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#2dd4bf,#60a5fa)}.focus-2027-progress>span{font-size:.72rem;color:#9fb4ca;line-height:1.35}
@media(max-width:760px){.additions-2027 .topic-resource,.additions-2027 .topic-main{align-items:stretch;flex-direction:column}.additions-2027 .topic-quiz{width:100%}.additions-2027 .badge{align-self:flex-start}}
@media(max-width:560px){.topbar .brand small{display:none}.topbar .brand{gap:6px}.top-actions{gap:2px}.icon-btn{width:36px;height:36px;border-radius:10px}.topbar{padding-left:max(7px,env(safe-area-inset-left));padding-right:max(7px,env(safe-area-inset-right))}}
@media(max-width:390px){.topbar .brand>span:last-child{display:none}.topbar .brand-mark{width:36px;height:36px}.top-actions .icon-btn{width:35px;height:35px}}

/* v329 Home command center + Deep Study Guide production hierarchy */
.dashboard-welcome{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);gap:26px;align-items:center;margin:4px 0 18px;padding:24px 26px;border:1px solid rgba(78,216,202,.30);border-radius:24px;background:radial-gradient(500px 220px at 100% 0%,rgba(74,222,200,.13),transparent 70%),linear-gradient(135deg,rgba(12,38,62,.98),rgba(23,31,64,.96));box-shadow:0 24px 70px rgba(0,0,0,.25)}
.dashboard-welcome h1{margin:.25rem 0;font-size:clamp(2rem,5vw,3.45rem);line-height:1.02;letter-spacing:-.035em}.dashboard-welcome p{margin:.7rem 0 0;color:#b8c7d9;font-size:1.02rem;line-height:1.5}.welcome-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.welcome-metrics span{min-width:0;padding:14px 10px;border:1px solid rgba(148,163,184,.16);border-radius:15px;background:rgba(2,12,30,.30);text-align:center}.welcome-metrics b,.welcome-metrics small{display:block}.welcome-metrics b{font-size:1.55rem;color:#ecfeff}.welcome-metrics small{margin-top:4px;color:#94a3b8;font-size:.7rem;line-height:1.3}.dashboard-explore{margin-top:28px}
.guide-navigator{position:sticky;top:66px;z-index:12;display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:12px 0 18px;padding:7px;border:1px solid rgba(96,165,250,.24);border-radius:16px;background:rgba(7,20,36,.92);backdrop-filter:blur(16px);box-shadow:0 12px 28px rgba(0,0,0,.18)}.guide-navigator button{min-height:44px;padding:8px 10px;border:0;border-radius:11px;background:transparent;color:#b8c7da;font:inherit;font-size:.8rem;font-weight:800;cursor:pointer}.guide-navigator button:hover,.guide-navigator button:focus-visible{background:linear-gradient(135deg,rgba(45,212,191,.14),rgba(59,130,246,.15));color:#fff}
#guide-core,#guide-case,#guide-practice,#guide-memory{scroll-margin-top:132px}.guide-more-actions{flex:1 1 100%;border:1px solid var(--line);border-radius:13px;background:rgba(2,12,30,.22)}.guide-more-actions>summary{min-height:44px;display:flex;align-items:center;padding:0 13px;cursor:pointer;color:#c9d7e8;font-size:.82rem;font-weight:800}.guide-more-actions>div{display:flex;flex-wrap:wrap;gap:8px;padding:0 10px 10px}.guide-more-actions .btn{flex:1 1 150px}.guide-diagnostics{margin-top:28px}
.guide-lesson{position:relative;overflow:hidden}.guide-lesson:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(#2dd4bf,#6366f1);opacity:.75}.guide-lesson h2{line-height:1.25}.guide-lesson p{font-size:1rem;line-height:1.65;color:#c4d1e2}.show-me-case{border-color:rgba(45,212,191,.38);background:radial-gradient(380px 180px at 100% 0%,rgba(45,212,191,.10),transparent 70%),linear-gradient(180deg,rgba(17,35,54,.98),rgba(13,27,46,.98))}
body.mock-mode-active .dashboard-welcome,body.mock-mode-active .guide-navigator,body.mock-mode-active .guide-more-actions{display:none!important}
@media(max-width:900px){.dashboard-welcome{grid-template-columns:1fr}.welcome-metrics{max-width:none}.guide-navigator{top:62px}}
@media(max-width:600px){.dashboard-welcome{padding:19px 17px;border-radius:20px}.dashboard-welcome h1{font-size:2.15rem}.welcome-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.welcome-metrics span{padding:11px 5px}.welcome-metrics b{font-size:1.2rem}.welcome-metrics small{font-size:.62rem}.guide-navigator{grid-template-columns:1fr 1fr;top:58px;border-radius:14px}.guide-navigator button{font-size:.74rem}#guide-core,#guide-case,#guide-practice,#guide-memory{scroll-margin-top:166px}.guide-lesson p{font-size:.96rem}}
@media(max-width:360px){.welcome-metrics{grid-template-columns:1fr}.welcome-metrics span{text-align:left;display:grid;grid-template-columns:auto 1fr;gap:8px;align-items:center}.welcome-metrics small{margin-top:0;font-size:.7rem}.guide-navigator{position:static}}

/* v330 practice loop, results handoff, and pre-mock planner polish */
body.study-session-active{background:radial-gradient(720px 360px at 50% -5%,rgba(45,212,191,.10),transparent 70%),linear-gradient(180deg,#08111f,#0a1424)}
.study-session-context{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:10px 0 12px}.study-session-context>span{padding:10px 12px;border:1px solid rgba(96,165,250,.18);border-radius:12px;background:rgba(15,31,51,.78)}.study-session-context b,.study-session-context small{display:block}.study-session-context b{color:#e7f8f5;font-size:.82rem}.study-session-context small{margin-top:2px;color:var(--muted);font-size:.68rem;line-height:1.35}
body.study-session-active .exam-shell{max-width:940px}body.study-session-active .exam-card{border-color:rgba(96,165,250,.25);box-shadow:0 24px 65px rgba(0,0,0,.24)}body.study-session-active .question{font-size:1.12rem;line-height:1.55}body.study-session-active .answer{transition:transform .14s ease,border-color .14s ease,background .14s ease}body.study-session-active .answer:hover{transform:translateX(2px)}body.study-session-active .answer.correct{background:rgba(16,185,129,.10);border-color:rgba(110,231,183,.55)}body.study-session-active .answer.incorrect{background:rgba(244,63,94,.08);border-color:rgba(251,113,133,.50)}
body.study-session-active .feedback{margin-top:20px;padding:19px;border:1px solid rgba(45,212,191,.30);border-radius:18px;background:linear-gradient(180deg,rgba(15,44,58,.82),rgba(13,28,46,.92));box-shadow:0 18px 40px rgba(2,8,23,.18)}body.study-session-active .feedback h3{margin-top:0;font-size:1.2rem}body.study-session-active .feedback-grid{gap:12px}body.study-session-active .transfer{margin-top:16px;padding:16px;border-radius:15px;background:rgba(37,99,235,.08)}
.result-next-move{display:flex;justify-content:space-between;gap:20px;align-items:center;border-color:rgba(45,212,191,.35);background:radial-gradient(360px 170px at 100% 0%,rgba(45,212,191,.11),transparent 72%),linear-gradient(180deg,rgba(16,36,57,.98),rgba(13,27,46,.98))}.result-next-move h2{margin:.25rem 0}.result-next-move .btn{flex:0 0 auto}.detailed-debrief{margin-top:26px}.detailed-debrief .advanced-evidence-body{padding:0 14px 14px}.detailed-debrief .debrief-head{padding-top:4px}.detailed-debrief .review-item{margin-top:14px}
.pre-mock-contract{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:9px;align-items:center;margin:12px 0 18px;padding:12px 14px;border:1px solid rgba(96,165,250,.22);border-radius:16px;background:linear-gradient(90deg,rgba(37,99,235,.09),rgba(13,148,136,.08))}.pre-mock-contract span{padding:8px}.pre-mock-contract b,.pre-mock-contract small{display:block}.pre-mock-contract b{font-size:.78rem;color:#7ee7dc;text-transform:uppercase;letter-spacing:.06em}.pre-mock-contract small{margin-top:3px;color:var(--muted);font-size:.72rem;line-height:1.35}.pre-mock-contract i{font-style:normal;color:#577590}
body.mock-mode-active .study-session-context,body.mock-mode-active .pre-mock-contract{display:none!important}
@media(max-width:720px){.study-session-context{grid-template-columns:1fr 1fr}.study-session-context>span:first-child{grid-column:1/-1}.result-next-move{align-items:stretch;flex-direction:column}.result-next-move .btn{width:100%}.pre-mock-contract{grid-template-columns:1fr}.pre-mock-contract i{transform:rotate(90deg);text-align:center}.pre-mock-contract span{text-align:center}}
@media(max-width:420px){.study-session-context{grid-template-columns:1fr}.study-session-context>span:first-child{grid-column:auto}body.study-session-active .feedback{padding:15px}body.study-session-active .question{font-size:1.04rem}}
@media(prefers-reduced-motion:reduce){body.study-session-active .answer{transition:none}body.study-session-active .answer:hover{transform:none}}

/* v339 visual-production pass — premium learning shell, authentic Mock firewall */
body:not(.mock-mode-active){
  background:
    linear-gradient(rgba(73,205,196,.018) 1px,transparent 1px),
    linear-gradient(90deg,rgba(96,165,250,.016) 1px,transparent 1px),
    radial-gradient(900px 520px at 8% -8%,rgba(37,99,235,.16),transparent 70%),
    radial-gradient(760px 460px at 96% 12%,rgba(20,184,166,.11),transparent 72%),
    linear-gradient(180deg,#07111f 0%,#091526 48%,#07111f 100%);
  background-size:42px 42px,42px 42px,auto,auto,auto;
}
body:not(.mock-mode-active) .topbar{box-shadow:0 10px 34px rgba(2,8,23,.24)}
body:not(.mock-mode-active) .panel,body:not(.mock-mode-active) .card{
  border-color:rgba(96,165,250,.18);
  box-shadow:0 18px 52px rgba(2,8,23,.22),inset 0 1px 0 rgba(255,255,255,.025);
}
body:not(.mock-mode-active) .card:hover{border-color:rgba(94,234,212,.25)}
.dashboard-welcome{position:relative;isolation:isolate;overflow:hidden;min-height:210px}
.dashboard-welcome:before,.dashboard-welcome:after{content:"";position:absolute;border-radius:50%;pointer-events:none;z-index:-1}
.dashboard-welcome:before{width:280px;height:280px;right:-90px;top:-150px;border:1px solid rgba(94,234,212,.17);box-shadow:0 0 0 34px rgba(45,212,191,.025),0 0 0 70px rgba(96,165,250,.025)}
.dashboard-welcome:after{width:150px;height:150px;left:43%;bottom:-120px;background:radial-gradient(circle,rgba(99,102,241,.13),transparent 67%);filter:blur(2px)}
.welcome-metrics span{position:relative;overflow:hidden}.welcome-metrics span:after{content:"";position:absolute;left:10px;right:10px;bottom:0;height:2px;background:linear-gradient(90deg,transparent,#5eead4,transparent);opacity:.5}
.recommendation,.next-action,.today-card{position:relative;overflow:hidden}.recommendation:before,.next-action:before{content:"";position:absolute;left:0;top:16px;bottom:16px;width:3px;border-radius:99px;background:linear-gradient(#5eead4,#6366f1)}
.mode-card{position:relative;isolation:isolate;overflow:hidden;min-height:250px;padding-top:24px}.mode-card:before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(300px 170px at 100% 0%,rgba(45,212,191,.09),transparent 72%)}
.mode-card[data-route="mock"]{background:linear-gradient(135deg,#111d30 0 61%,#e9ecef 61% 64%,#f7f7f7 64%);color:#f3f7fb}.mode-card[data-route="mock"]:after{content:"AUTHENTIC PLAIN MODE";position:absolute;right:13px;top:18px;width:28%;color:#424b53;font-size:.58rem;font-weight:900;letter-spacing:.08em;line-height:1.35;text-align:center}.mode-card[data-route="mock"] .btn{background:#f7f7f7;color:#26313a;border-color:#aab1b7}.mode-card[data-route="mock"] p{max-width:60%}
.study-library-hero{position:relative;overflow:hidden;background:radial-gradient(620px 320px at 92% 5%,rgba(45,212,191,.12),transparent 70%),linear-gradient(135deg,rgba(13,35,60,.98),rgba(19,27,54,.98))}.study-library-hero:after{content:"LEARN  ·  RECOGNIZE  ·  APPLY";position:absolute;right:-8px;bottom:18px;color:rgba(148,163,184,.07);font-size:clamp(1.5rem,4vw,3.4rem);font-weight:950;letter-spacing:.04em;pointer-events:none}.study-library-hero>*{position:relative;z-index:1}
.library-pulse{position:relative;z-index:1}.library-pulse-item{transition:border-color .16s ease,transform .16s ease}.library-pulse-item:hover{transform:translateY(-2px);border-color:rgba(94,234,212,.35)}
.guide-hero{position:relative;isolation:isolate;overflow:hidden}.guide-hero:after{content:"";position:absolute;z-index:-1;width:340px;height:340px;border:1px solid rgba(94,234,212,.12);border-radius:50%;right:-175px;top:-190px;box-shadow:0 0 0 42px rgba(99,102,241,.025),0 0 0 84px rgba(45,212,191,.02)}
.guide-navigator button:after{content:"";display:block;width:0;height:2px;margin:5px auto 0;border-radius:9px;background:#5eead4;transition:width .16s ease}.guide-navigator button:hover:after,.guide-navigator button:focus-visible:after{width:28px}
.guide-lesson{min-height:210px}.guide-lesson .lesson-num{font-size:2.2rem;line-height:1;color:rgba(94,234,212,.10);opacity:1}.guide-lesson:hover:before{width:5px}
.show-me-case{grid-template-columns:auto minmax(0,1fr) auto;align-items:center}.show-case-icon{box-shadow:0 0 0 8px rgba(45,212,191,.05),0 0 28px rgba(45,212,191,.22)}
.case-bridge-visual{display:grid;grid-template-columns:auto 1fr auto 1fr auto;align-items:center;gap:8px;margin:15px 0;padding:10px 12px;border:1px solid rgba(94,234,212,.16);border-radius:13px;background:rgba(2,12,30,.24)}.case-bridge-visual span{display:flex;align-items:center;gap:6px;color:#c7d6e8;font-size:.73rem;font-weight:800}.case-bridge-visual b{color:#5eead4;font-size:.61rem;letter-spacing:.08em}.case-bridge-visual i{height:1px;background:linear-gradient(90deg,rgba(94,234,212,.12),rgba(96,165,250,.62),rgba(94,234,212,.12))}
body.study-session-active .exam-card{position:relative;overflow:hidden}body.study-session-active .exam-card:before{content:"";position:absolute;left:0;top:0;right:0;height:3px;background:linear-gradient(90deg,#2dd4bf,#60a5fa,#6366f1)}
body.study-session-active .answer{min-height:58px;align-items:center}body.study-session-active .answer input{accent-color:#2dd4bf}body.study-session-active .answer:focus-within{outline:2px solid #5eead4;outline-offset:2px}
.result-next-move:before{content:"NEXT";position:absolute;right:18px;bottom:-13px;color:rgba(94,234,212,.045);font-size:4.6rem;font-weight:950;letter-spacing:-.05em;pointer-events:none}
@media(max-width:700px){.mode-card[data-route="mock"]{background:linear-gradient(180deg,#111d30 0 76%,#f4f4f4 76%)}.mode-card[data-route="mock"]:after{display:none}.mode-card[data-route="mock"] p{max-width:none}.study-library-hero:after{font-size:1.35rem;bottom:9px}.show-me-case{grid-template-columns:1fr}.case-bridge-visual{grid-template-columns:1fr}.case-bridge-visual i{display:none}.case-bridge-visual span{min-height:34px}.guide-lesson{min-height:0}}
@media(prefers-reduced-motion:reduce){.library-pulse-item,.guide-navigator button:after{transition:none}.library-pulse-item:hover{transform:none}}
body.mock-mode-active .case-bridge-visual{display:none!important}

/* v340 live-iPhone corrections */
@media(max-width:720px){
  #studyTopicList .topic-resource{display:block;padding:0;overflow:hidden}
  #studyTopicList .topic-main{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;gap:12px;padding:18px 17px 14px}
  #studyTopicList .topic-main>span:first-child{min-width:0;width:100%}
  #studyTopicList .topic-main>.badge{justify-self:start;max-width:100%;white-space:nowrap;padding:6px 10px}
  #studyTopicList .topic-quiz{display:block;width:calc(100% - 28px);margin:0 14px 14px;white-space:normal}
}

/* v343 subscriber Home — one-screen visual app launcher */
.dashboard-active:not(.large-text){height:100dvh;overflow:hidden}.dashboard-active:not(.large-text) #app{height:calc(100dvh - 74px);padding:14px 0 104px;display:grid;grid-template-rows:auto minmax(0,1fr);gap:12px}.dashboard-active .dashboard-welcome{min-height:0;margin:0;padding:16px 20px;grid-template-columns:minmax(0,1fr) auto;align-items:center}.dashboard-active .dashboard-welcome h1{font-size:clamp(1.55rem,4vw,2.2rem);margin:.2rem 0}.dashboard-active .dashboard-welcome p{margin:0;font-size:.86rem}.dashboard-active .welcome-metrics{min-width:310px}.dashboard-active .home-tile-hub{min-height:0;margin:0}
.home-tile-hub{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:16px 0 20px}
.home-tile{position:relative;isolation:isolate;min-height:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;padding:15px 16px;border:1px solid rgba(96,165,250,.20);border-radius:20px;background:linear-gradient(150deg,rgba(17,37,61,.98),rgba(12,24,43,.98));color:var(--text);text-align:left;cursor:pointer;overflow:hidden;box-shadow:0 18px 44px rgba(2,8,23,.22);transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}
.home-tile:before{content:"";position:absolute;z-index:-1;inset:0;background:radial-gradient(240px 150px at 94% 0%,rgba(45,212,191,.12),transparent 72%)}
.home-tile:hover,.home-tile:focus-visible{transform:translateY(-3px);border-color:rgba(94,234,212,.52);box-shadow:0 22px 55px rgba(2,8,23,.32)}.home-tile:focus-visible{outline:2px solid #5eead4;outline-offset:3px}
.home-tile>span:nth-child(2){align-self:end}.home-tile small,.home-tile strong,.home-tile em{display:block}.home-tile small{color:#67e8d3;font-size:.66rem;font-weight:900;letter-spacing:.12em}.home-tile strong{margin:5px 0;font-size:1.15rem;line-height:1.15}.home-tile em{color:#9fb1c8;font-size:.76rem;font-style:normal;line-height:1.35}.home-tile>b{align-self:center;color:#7ee7dc;font-size:1.3rem}
.tile-art{width:58px;height:58px;align-self:start;border-radius:14px;border:1px solid currentColor;background-image:url('assets/branding/working-logo-set-puzzle-tree-lightbulb.png');background-repeat:no-repeat;background-size:300% auto;background-position-y:8%;box-shadow:0 10px 24px rgba(2,8,23,.34)}.tile-art-puzzle{background-position-x:0}.tile-art-tree{background-position-x:50%}.tile-art-lightbulb{background-position-x:100%}
.tile-number,.tile-calendar,.tile-screen{align-self:start;display:grid;place-items:center;width:58px;height:58px;border-radius:14px;border:1px solid rgba(94,234,212,.32);background:linear-gradient(145deg,rgba(13,148,136,.22),rgba(37,99,235,.18));color:#d9fffb;font-weight:950}.tile-number{font-size:1.18rem}.tile-calendar{font-size:1.45rem}.tile-calendar:before{content:"SEP";position:absolute;margin-top:-25px;font-size:.48rem;letter-spacing:.1em;color:#7ee7dc}.tile-screen{width:70px;border-radius:9px;background:#eef1f3;color:#303941;border-color:#9aa2a8;font-size:.66rem}
.tile-mock{background:linear-gradient(150deg,rgba(17,29,48,.98) 0 76%,rgba(239,241,243,.96) 76%)}.tile-mock:before{display:none}.tile-mock em{color:#aab7c8}
@media(max-width:900px){.home-tile-hub{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.dashboard-active:not(.large-text) #app{height:calc(100dvh - 74px);padding:10px 0 102px;gap:9px}.dashboard-active .dashboard-welcome{display:block;padding:12px 14px}.dashboard-active .dashboard-welcome .eyebrow,.dashboard-active .dashboard-welcome p{display:none}.dashboard-active .welcome-metrics{min-width:0;margin-top:8px}.dashboard-active .welcome-metrics span{padding:7px 4px}.dashboard-active .welcome-metrics b{font-size:1rem}.dashboard-active .welcome-metrics small{font-size:.58rem}.dashboard-active .home-tile-hub{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr));gap:8px}.dashboard-active .home-tile{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:5px;padding:10px 11px;border-radius:16px}.dashboard-active .home-tile>b,.dashboard-active .home-tile em{display:none}.dashboard-active .home-tile>span:nth-child(2){align-self:auto}.dashboard-active .tile-art,.dashboard-active .tile-number,.dashboard-active .tile-calendar{width:38px;height:38px;border-radius:10px}.dashboard-active .tile-screen{width:50px;height:34px}.dashboard-active .home-tile small{font-size:.54rem}.dashboard-active .home-tile strong{font-size:.9rem;margin:2px 0}}
@media(max-width:390px){.dashboard-active .home-tile strong{font-size:.82rem}.dashboard-active .welcome-metrics span:nth-child(2){display:none}.dashboard-active .welcome-metrics{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){.home-tile{transition:none}.home-tile:hover{transform:none}}
body.mock-mode-active .home-tile-hub{display:none!important}

/* v343 Study Library — one identity, compact chooser, reliable tap targets */
.study-library-hero{min-height:0;padding:20px 22px}.study-library-hero .feature-mark{margin-bottom:10px}.study-library-hero h1{font-size:clamp(1.7rem,4vw,2.35rem);margin:.25rem 0}.study-library-hero>.eyebrow{display:none}#studyTopicList{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}#studyTopicList .topic-main{position:relative;z-index:1;touch-action:manipulation}#studyTopicList .topic-quiz{position:relative;z-index:1;touch-action:manipulation}
@media(max-width:560px){.study-library-hero{padding:15px}.study-library-hero .feature-mark{transform:scale(.88);transform-origin:left center;margin-bottom:2px}#studyTopicList{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}#studyTopicList .topic-main{padding:13px 12px 9px}#studyTopicList .topic-main strong{font-size:.83rem}#studyTopicList .topic-main small{display:none}#studyTopicList .topic-main>.badge{font-size:.62rem;padding:4px 7px}#studyTopicList .topic-quiz{width:calc(100% - 20px);margin:0 10px 10px;padding:9px 7px;font-size:.72rem}}

/* v343 shared control-center architecture */
.control-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.control-actions button{min-height:40px;flex:1;border:1px solid rgba(94,234,212,.25);border-radius:11px;background:rgba(37,99,235,.12);color:var(--text);font-weight:850;cursor:pointer}.control-center{padding:20px;border:1px solid rgba(96,165,250,.2);border-radius:22px;background:linear-gradient(150deg,rgba(15,34,55,.98),rgba(9,22,39,.98));box-shadow:0 18px 52px rgba(2,8,23,.25)}.control-title{display:flex;justify-content:space-between;align-items:center;gap:12px}.control-title h1{font-size:clamp(1.65rem,4vw,2.35rem);margin:.2rem 0}.control-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:12px 0}.control-stat-grid>div{padding:10px;border:1px solid rgba(96,165,250,.16);border-radius:12px;background:rgba(2,12,30,.3)}.control-stat-grid b,.control-stat-grid small{display:block}.control-stat-grid b{font-size:1.2rem;color:#eafffc}.control-stat-grid small{color:var(--muted);font-size:.66rem}.control-domain-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.control-domain-grid button{padding:10px 12px;border:1px solid rgba(96,165,250,.17);border-radius:12px;background:rgba(11,28,48,.72);color:var(--text);text-align:left;cursor:pointer}.control-domain-grid button span{display:flex;justify-content:space-between;gap:8px}.control-domain-grid strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.78rem}.control-domain-grid small{color:#5eead4;font-size:.7rem}.control-domain-grid i{display:block;height:3px;margin-top:7px;border-radius:9px;background:linear-gradient(90deg,#2dd4bf var(--domain-progress),rgba(71,85,105,.35) 0)}
.mock-control-active{display:grid;grid-template-columns:1fr 1fr;gap:10px}.mock-control-active>.section{margin-top:0}.mock-control-track,.mock-control-intro,.mock-control-forms,.mock-control-launch{padding:16px}.mock-control-track{grid-column:1/-1}.mock-control-track h2,.mock-control-forms h2,.mock-control-launch h2{font-size:1.05rem;margin-bottom:8px}.mock-control-track .form-grid{grid-template-columns:1fr 1fr;gap:8px}.mock-control-track .form-choice{padding:10px;min-height:0}.mock-control-track .form-choice small{display:none}.mock-control-intro h1{font-size:1.6rem!important;margin:.2rem 0}.mock-control-forms .mock-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.mock-control-forms .mock-form-card{min-height:48px;padding:10px}.mock-control-launch .mock-gate{margin:0;padding:8px}.mock-control-launch .actions{margin-top:8px}.mock-control-launch .btn{padding:10px;font-size:.78rem}
@media(max-width:700px){body:not(.large-text) .study-control-active,body:not(.large-text) .progress-control-active{height:calc(100dvh - 74px);overflow:hidden;padding-top:10px!important;padding-bottom:102px!important}.study-control-active .section{margin-top:8px}.study-control-active>[data-focus-target]{margin:0}.study-control-active #studyTopicList{margin-top:8px}.study-control-active #studyTopicList .topic-resource{min-height:0}.study-control-active #studyTopicList .topic-main>.badge{justify-self:end}.progress-control{padding:14px}.progress-control .feature-mark{display:none}.progress-control .control-stat-grid{margin:8px 0}.progress-control .control-actions{margin-top:8px}.mock-control-active{height:calc(100dvh - 74px);padding:10px 0 102px!important;grid-template-columns:1fr 1fr;overflow:hidden}.mock-control-track{grid-column:1/-1}.mock-control-track .eyebrow,.mock-control-intro .eyebrow{display:none}.mock-control-track h2{font-size:.88rem}.mock-control-track .form-choice strong{font-size:.72rem}.mock-control-track .form-choice .badge{font-size:.55rem}.mock-control-intro,.mock-control-forms,.mock-control-launch{min-height:0}.mock-control-intro h1{font-size:1.25rem!important}.mock-control-forms{grid-row:3;grid-column:1}.mock-control-launch{grid-row:3;grid-column:2}.mock-control-forms .mock-form-grid{grid-template-columns:1fr}.mock-control-forms .mock-form-card{padding:7px;min-height:38px}.mock-control-forms .mock-form-card strong{font-size:.68rem}.mock-control-launch .mock-gate h2{font-size:.8rem}.mock-control-launch .mock-gate .badge{font-size:.58rem}.mock-control-launch .actions{display:grid;gap:6px}.mock-control-launch .btn{font-size:.66rem;padding:8px 5px}}

/* v344 direct control centers and reachable phone launcher */
.control-search{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;margin:10px 0}.control-search span{font-size:.72rem;font-weight:850;color:#8fa4bd}.control-search input{width:100%;min-height:38px;border:1px solid rgba(96,165,250,.2);border-radius:11px;background:rgba(2,12,30,.35);color:var(--text);padding:8px 11px}.mock-direct-control{max-width:900px;margin:auto}.track-control,.mock-direct-grid,.mock-direct-summary{display:grid;gap:9px;margin-top:12px}.track-control{grid-template-columns:1fr 1fr}.track-control button,.mock-direct-grid button{border:1px solid rgba(96,165,250,.2);border-radius:13px;background:rgba(11,28,48,.7);color:var(--text);padding:11px;text-align:left;cursor:pointer}.track-control button.selected,.mock-direct-grid button.selected{border-color:#5eead4;background:rgba(13,148,136,.14)}.track-control strong,.track-control small,.mock-direct-grid strong,.mock-direct-grid small{display:block}.track-control small,.mock-direct-grid small{margin-top:3px;color:var(--muted);font-size:.68rem}.mock-direct-grid{grid-template-columns:repeat(4,1fr)}.mock-direct-summary{grid-template-columns:repeat(4,1fr)}.mock-direct-summary>div{padding:10px;text-align:center;border:1px solid rgba(96,165,250,.16);border-radius:12px}.mock-direct-summary b,.mock-direct-summary small{display:block}.mock-direct-summary small{color:var(--muted);font-size:.66rem}.mock-launch{width:100%;min-height:48px;margin-top:12px;border:0;border-radius:13px;background:linear-gradient(135deg,#14b8a6,#2563eb);color:white;font-weight:900;cursor:pointer}.control-empty{display:grid;gap:12px;margin-top:18px}.control-empty button{min-height:44px;border:0;border-radius:12px;font-weight:850}
@media(max-width:900px){body.dashboard-active{height:auto;overflow:auto}.dashboard-active:not(.large-text) #app{height:auto;min-height:calc(100dvh - 74px);padding:10px 0 calc(120px + env(safe-area-inset-bottom));display:block}.dashboard-active .dashboard-welcome{display:block;padding:11px 14px;margin-bottom:8px}.dashboard-active .dashboard-welcome .eyebrow,.dashboard-active .dashboard-welcome p{display:none}.dashboard-active .dashboard-welcome h1{font-size:1.35rem}.dashboard-active .welcome-metrics{min-width:0;margin-top:7px}.dashboard-active .welcome-metrics span{padding:6px 4px}.dashboard-active .welcome-metrics b{font-size:.95rem}.dashboard-active .welcome-metrics small{font-size:.57rem}.dashboard-active .home-tile-hub{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(3,110px);gap:8px}.dashboard-active .home-tile{display:grid;grid-template-columns:42px minmax(0,1fr) 14px;align-items:center;gap:8px;padding:10px;border-radius:15px}.dashboard-active .home-tile>span:nth-child(2)>small{display:none!important}.dashboard-active .home-tile>b{display:block;font-size:.95rem}.dashboard-active .tile-art,.dashboard-active .tile-number,.dashboard-active .tile-calendar{width:40px;height:40px;border-radius:10px}.dashboard-active .tile-screen{width:42px;height:36px;font-size:.48rem}.dashboard-active .home-tile strong{font-size:.88rem;line-height:1.08;margin:0;overflow-wrap:normal;word-break:normal;hyphens:none}.dashboard-active .home-tile em{display:block;margin-top:5px;color:#9fb1c8;font-size:.62rem;line-height:1.22;overflow-wrap:normal;word-break:normal;hyphens:none}.study-control-active,.progress-control-active,.mock-control-active{height:auto!important;min-height:calc(100dvh - 74px);overflow:visible!important;padding:10px 0 calc(120px + env(safe-area-inset-bottom))!important}.study-control,.progress-control,.mock-direct-control{padding:13px}.study-control .feature-mark,.progress-control .feature-mark{display:none}.control-title h1{font-size:1.3rem}.control-stat-grid{margin:8px 0}.control-domain-grid{gap:6px}.control-domain-grid button{padding:8px 9px}.control-domain-grid strong{font-size:.7rem}.control-actions{margin-top:8px}.control-actions button{min-height:36px;font-size:.7rem}.mock-direct-grid{grid-template-columns:1fr 1fr}.mock-direct-summary{gap:6px}.track-control button,.mock-direct-grid button{padding:8px}.track-control small{display:none}}

/* v346 global iPhone bottom-reachability contract */
@media(max-width:900px){html{min-height:100%;overflow-x:hidden;overflow-y:auto}body{min-height:100dvh;height:auto!important;overflow-x:hidden!important;overflow-y:auto!important}body:not(.mock-mode-active) #app{height:auto!important;max-height:none!important;overflow:visible!important;padding-bottom:calc(190px + env(safe-area-inset-bottom))!important;scroll-padding-bottom:calc(190px + env(safe-area-inset-bottom))}.bottom-nav{bottom:max(8px,env(safe-area-inset-bottom));max-height:82px}.help-drawer{padding-bottom:calc(48px + env(safe-area-inset-bottom))}.study-plan-dialog{max-height:calc(100dvh - 28px);overflow:auto;padding-bottom:calc(24px + env(safe-area-inset-bottom))}}

/* v347 phone spacing and unmistakable activity selection */
.control-domain-grid button span{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px}
.control-domain-grid strong{display:-webkit-box;overflow:hidden;white-space:normal;text-overflow:clip;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;line-height:1.25;overflow-wrap:normal;word-break:normal;hyphens:none}
.control-domain-grid small{min-width:max-content;white-space:nowrap;line-height:1.25}
.match-chip{position:relative;z-index:0;transform-origin:center;transition:transform .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease,opacity .15s ease}
.match-chip.selected,.match-chip[aria-pressed="true"]:not(.matched){z-index:2;transform:scale(1.025);border-color:#5eead4;border-width:2px;background:linear-gradient(135deg,rgba(13,148,136,.28),rgba(37,99,235,.20));box-shadow:0 0 0 3px rgba(94,234,212,.16),0 10px 24px rgba(2,8,23,.34),inset 0 0 18px rgba(94,234,212,.08);color:#f4fffe;font-weight:800}
.match-chip.selected:after{content:"✓ Selected";position:absolute;right:12px;top:50%;transform:translateY(-50%);padding:3px 7px;border-radius:999px;background:#5eead4;color:#06221f;font-size:.62rem;font-weight:950;letter-spacing:.02em}
.match-chip.matched{transform:none}
body.high-contrast .match-chip.selected,body.high-contrast .match-chip[aria-pressed="true"]:not(.matched){outline:3px solid #fff;outline-offset:2px;border-color:#5eead4;background:#123d3a;box-shadow:0 0 0 6px #5eead4}
@media(max-width:900px){body:not(.mock-mode-active) #app{padding-bottom:calc(128px + env(safe-area-inset-bottom))!important;scroll-padding-bottom:calc(128px + env(safe-area-inset-bottom))}.control-domain-grid button{min-height:58px;padding:9px 10px}.control-domain-grid strong{font-size:.74rem}.control-domain-grid small{font-size:.68rem}.control-domain-grid i{margin-top:8px}.study-control-active,.progress-control-active,.mock-control-active{padding-bottom:calc(128px + env(safe-area-inset-bottom))!important}}
@media(max-width:390px){.control-domain-grid button span{gap:7px}.control-domain-grid strong{font-size:.7rem}.control-domain-grid small{font-size:.65rem}.match-chip.selected:after{position:static;display:inline-block;margin-left:8px;transform:none}}
@media(prefers-reduced-motion:reduce){.match-chip{transition:none}.match-chip.selected,.match-chip[aria-pressed="true"]:not(.matched){transform:none}}

/* v348 integrated previous-screen navigation */
.integrated-back-row{position:sticky;top:82px;z-index:19;width:max-content;max-width:100%;margin:0 0 12px;display:flex;gap:8px}
.integrated-back,.integrated-home{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:9px 14px;border:1px solid rgba(94,234,212,.38);border-radius:999px;background:rgba(7,17,31,.94);backdrop-filter:blur(14px);box-shadow:0 10px 26px rgba(2,8,23,.26);color:#dffdfa;font:inherit;font-size:.82rem;font-weight:850;cursor:pointer;touch-action:manipulation}
.integrated-back span,.integrated-home span{font-size:1.15rem;line-height:1;color:#5eead4}.integrated-back:hover,.integrated-back:focus-visible,.integrated-home:hover,.integrated-home:focus-visible{border-color:#5eead4;background:rgba(13,58,67,.96)}.integrated-back:hover,.integrated-back:focus-visible{transform:translateX(-2px)}
body.high-contrast .integrated-back,body.high-contrast .integrated-home{border:2px solid #fff;background:#000;color:#fff;box-shadow:none}
body.mock-mode-active .integrated-back-row{display:none!important}

/* v354: primary navigation belongs to control centers, never over deep content. */
body.secondary-screen-active .bottom-nav{display:none!important}
@media(max-width:900px){
  body.secondary-screen-active:not(.mock-mode-active) #app{
    padding-bottom:calc(32px + env(safe-area-inset-bottom))!important;
    scroll-padding-bottom:calc(32px + env(safe-area-inset-bottom))!important;
  }
}
@media(max-width:900px){.integrated-back-row{top:70px;margin:0 0 9px}.integrated-back,.integrated-home{min-height:42px;padding:8px 12px;font-size:.76rem}}
@media(prefers-reduced-motion:reduce){.integrated-back{transition:none}.integrated-back:hover,.integrated-back:focus-visible{transform:none}}

/* v349 mixed-cache startup recovery */
.startup-recovery{max-width:720px;margin:clamp(28px,10vh,110px) auto;text-align:center;border-color:rgba(94,234,212,.42);background:radial-gradient(420px 190px at 50% 0%,rgba(45,212,191,.13),transparent 72%),linear-gradient(150deg,rgba(15,34,55,.98),rgba(9,22,39,.98))}.startup-recovery .actions{justify-content:center}.startup-recovery .lead{max-width:560px;margin-left:auto;margin-right:auto}

/* v350 balanced Mock control center */
.mock-direct-control{max-width:1040px;width:100%;padding:clamp(18px,3vw,30px)}
.mock-direct-control .control-title{padding-bottom:15px;border-bottom:1px solid rgba(96,165,250,.14)}
.mock-choice-label{display:flex;justify-content:space-between;align-items:baseline;gap:14px;margin:17px 2px 8px}.mock-choice-label strong{font-size:.9rem;color:#e8f4ff}.mock-choice-label span{font-size:.72rem;color:var(--muted);text-align:right}
.track-control{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:0}.track-control button{display:grid;grid-template-columns:minmax(0,1fr) minmax(110px,auto);align-items:center;gap:18px;min-height:72px;padding:14px 17px;text-align:left}.track-control strong{font-size:.92rem}.track-control small{margin:0;text-align:right;line-height:1.35}
.mock-direct-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin-top:0}.mock-direct-grid button{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;min-height:64px;padding:13px 14px}.mock-direct-grid strong{font-size:.84rem}.mock-direct-grid small{margin:0;padding:4px 7px;border-radius:999px;background:rgba(148,163,184,.09);text-align:right;white-space:nowrap}.mock-direct-grid button.selected small{background:rgba(94,234,212,.13);color:#8ff5e9}
.mock-direct-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:15px}.mock-direct-summary>div{min-height:67px;display:grid;place-content:center;padding:10px 8px}.mock-direct-summary b{font-size:1.15rem}.mock-direct-summary small{margin-top:3px;font-size:.7rem}.mock-launch{min-height:54px;margin-top:15px;font-size:.92rem;letter-spacing:.01em}
@media(max-width:700px){.mock-direct-control{padding:15px}.mock-direct-control .control-title{align-items:flex-start}.mock-direct-control .control-title .badge{white-space:nowrap}.mock-choice-label{margin-top:13px}.mock-choice-label span{display:none}.track-control{gap:8px}.track-control button{grid-template-columns:1fr;gap:4px;min-height:67px;padding:11px 12px;text-align:center}.track-control small{display:block!important;text-align:center;font-size:.64rem}.mock-direct-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.mock-direct-grid button{min-height:57px;padding:10px 11px}.mock-direct-grid strong{font-size:.76rem}.mock-direct-grid small{font-size:.61rem}.mock-direct-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.mock-direct-summary>div{min-height:59px;padding:7px 3px}.mock-direct-summary b{font-size:1rem}.mock-direct-summary small{font-size:.6rem;line-height:1.15}.mock-launch{min-height:50px;margin-top:11px}}
@media(max-width:390px){.mock-direct-control{padding:12px}.mock-direct-control .control-title h1{font-size:1.16rem}.mock-direct-control .control-title .badge{font-size:.58rem}.mock-direct-grid button{grid-template-columns:1fr}.mock-direct-grid strong,.mock-direct-grid small{text-align:center}.mock-direct-grid small{justify-self:center}.mock-direct-summary small{font-size:.56rem}}

/* v351 Home launcher fills the usable phone viewport */
@media(max-width:900px){body.dashboard-active{height:100dvh!important;overflow:hidden!important}.dashboard-active:not(.large-text) #app{height:calc(100dvh - 74px)!important;min-height:0!important;display:grid!important;grid-template-rows:auto minmax(0,1fr);gap:8px;padding:10px 0 calc(102px + env(safe-area-inset-bottom))!important;overflow:hidden!important}.dashboard-active .dashboard-welcome{margin-bottom:0}.dashboard-active .home-tile-hub{height:100%;min-height:0;grid-template-rows:repeat(3,minmax(0,1fr));align-self:stretch}.dashboard-active .home-tile{min-height:0;height:100%}}
@media(max-width:390px){.dashboard-active:not(.large-text) #app{padding-top:7px!important;gap:6px}.dashboard-active .home-tile-hub{gap:6px}.dashboard-active .home-tile{padding:8px 9px}.dashboard-active .home-tile em{margin-top:3px}}
@media(max-height:650px) and (max-width:900px){body.dashboard-active{height:auto!important;overflow-y:auto!important}.dashboard-active:not(.large-text) #app{height:auto!important;min-height:calc(100dvh - 74px)!important;overflow:visible!important}.dashboard-active .home-tile-hub{grid-template-rows:repeat(3,96px)}}

/* v352 every primary control center fills the usable phone viewport */
@media(max-width:900px){body:not(.large-text) #app.study-control-active,body:not(.large-text) #app.mock-control-active,body:not(.large-text) #app.progress-control-active{height:calc(100dvh - 74px)!important;min-height:0!important;padding:10px 0 calc(102px + env(safe-area-inset-bottom))!important;overflow:hidden!important}.study-control-active>.study-control,.mock-control-active>.mock-direct-control,.progress-control-active>.progress-control{height:100%;min-height:0;margin:0;box-sizing:border-box}.study-control-active>.study-control{display:grid;grid-template-rows:auto auto auto minmax(0,1fr);gap:0}.study-control-active .control-title{align-self:start}.study-control-active .control-actions{align-self:start}.study-control-active .control-search{align-self:start}.study-control-active .study-domain-grid{height:100%;min-height:0;grid-template-rows:repeat(5,minmax(0,1fr));align-self:stretch}.study-control-active .study-domain-grid button{height:100%;min-height:0;align-content:center}.progress-control-active>.progress-control{display:grid;grid-template-rows:auto auto minmax(0,1fr) auto}.progress-control-active .control-domain-grid{height:100%;min-height:0;grid-template-rows:repeat(5,minmax(0,1fr))}.progress-control-active .control-domain-grid button{height:100%;min-height:0;align-content:center}.mock-control-active>.mock-direct-control{display:grid;grid-template-rows:auto auto auto auto minmax(0,1fr) auto auto}.mock-control-active .mock-direct-grid{align-self:stretch}.mock-control-active .mock-direct-summary{align-self:end}}
@media(max-height:720px) and (max-width:900px){body:not(.large-text) #app.study-control-active,body:not(.large-text) #app.mock-control-active,body:not(.large-text) #app.progress-control-active{height:auto!important;min-height:calc(100dvh - 74px)!important;overflow:visible!important}.study-control-active>.study-control,.mock-control-active>.mock-direct-control,.progress-control-active>.progress-control{height:auto}.study-control-active .study-domain-grid,.progress-control-active .control-domain-grid{grid-template-rows:repeat(5,58px)}}


/* v354 iPhone control-center bugfixes */
#app.mock-control-active{display:block!important;grid-template-columns:minmax(0,1fr)!important;gap:0!important}
#app.mock-control-active>.mock-direct-control{width:100%;max-width:none;margin:0 auto}
.mock-direct-control .control-title h1{overflow-wrap:normal;word-break:normal;hyphens:none}
.study-plan-dialog select{width:100%;padding:.7rem;border:1px solid var(--line);border-radius:10px;background:var(--soft);color:inherit;font:inherit}
.plan-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.plan-dialog-head h2{margin:.25rem 0 0}.plan-dialog-close{border:1px solid var(--line);background:var(--soft);color:inherit;border-radius:10px;width:38px;height:38px;font-size:1.4rem;line-height:1;cursor:pointer}.plan-dialog-preview{display:grid;gap:4px;padding:12px 13px;border:1px solid rgba(94,234,212,.22);border-radius:12px;background:rgba(13,148,136,.08)}.plan-dialog-preview span{font-size:.78rem;color:var(--muted);line-height:1.4}
@media(max-width:900px){#app.mock-control-active{width:min(100% - 20px,1120px)!important}.mock-control-active>.mock-direct-control{height:100%;min-height:0}.study-plan-dialog{width:calc(100vw - 24px);margin:auto}}


/* v356 Study Plan mobile dialog repair — true opaque panel on iPhone Safari */
body.study-plan-open{overflow:hidden!important}
body.study-plan-open .bottom-nav{visibility:hidden!important;pointer-events:none!important}
.study-plan-dialog{box-sizing:border-box;background-color:#0b1729!important;background-image:none!important;opacity:1!important;color:#f8fbff!important;border-color:rgba(94,234,212,.34)!important;box-shadow:0 28px 90px rgba(0,0,0,.82),inset 0 1px 0 rgba(255,255,255,.035)!important;isolation:isolate}
.study-plan-dialog::backdrop{background:rgba(2,8,23,.94)!important;opacity:1!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
.study-plan-dialog form{min-width:0;background:#0b1729!important;opacity:1!important}
.study-plan-dialog input,.study-plan-dialog select{box-sizing:border-box;width:100%;min-height:46px}
.study-plan-dialog .actions{display:grid;grid-template-columns:1fr;gap:9px;margin-top:2px}
.study-plan-dialog .actions .btn{width:100%;min-height:48px}
@media(max-width:700px){
  .study-plan-dialog{
    position:fixed!important;
    inset:calc(72px + env(safe-area-inset-top)) 12px calc(12px + env(safe-area-inset-bottom)) 12px!important;
    width:auto!important;
    max-width:480px!important;
    max-height:none!important;
    margin:0 auto!important;
    padding:15px!important;
    overflow:auto!important;
    border-radius:18px!important;
  }
  .study-plan-dialog form{gap:11px!important}
  .study-plan-dialog .plan-dialog-head{gap:10px}
  .study-plan-dialog .plan-dialog-head h2{font-size:1.35rem;line-height:1.12;margin-top:3px}
  .study-plan-dialog .eyebrow{font-size:.7rem}
  .study-plan-dialog>form>p.muted{font-size:.82rem;line-height:1.38;margin:0}
  .study-plan-dialog label{gap:5px;font-size:.84rem;line-height:1.25}
  .study-plan-dialog input,.study-plan-dialog select{min-height:44px!important;height:44px!important;padding:8px 11px!important;font-size:.9rem!important}
  .study-plan-dialog .plan-dialog-preview{padding:10px 11px;background:#0d2930!important}
  .study-plan-dialog .plan-dialog-preview strong{font-size:.82rem}
  .study-plan-dialog .plan-dialog-preview span{font-size:.72rem;line-height:1.35}
  .study-plan-dialog .plan-dialog-close{flex:0 0 40px;width:40px;height:40px}
  .study-plan-dialog .actions .btn{min-height:46px;padding:10px 14px}
}
@media(max-width:390px){
  .study-plan-dialog{inset:calc(68px + env(safe-area-inset-top)) 9px calc(9px + env(safe-area-inset-bottom)) 9px!important;padding:13px!important}
  .study-plan-dialog form{gap:9px!important}
  .study-plan-dialog .plan-dialog-head h2{font-size:1.22rem}
  .study-plan-dialog>form>p.muted{font-size:.77rem}
}


/* v357 Study Guide interactive-choice feedback — selected choices become visually unmistakable */
:root{--study-choice-teal:#5eead4;--study-choice-teal-deep:#0f766e;--study-choice-good:#41d39b;--study-choice-bad:#ff8178}
.visual-learning .match-chip,.clue-choice,.sequence-chip,.diag-choice,.diag-rebuild-choice,.diag-family,.recall-card{transition:transform .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease,opacity .16s ease}
.match-chip.selected,.clue-choice.selected,.sequence-chip.selected,.diag-choice.selected,.diag-rebuild-choice.selected,.diag-family.selected{
  transform:scale(1.025);border-color:var(--study-choice-teal)!important;background:linear-gradient(135deg,rgba(20,184,166,.28),rgba(37,99,235,.17))!important;box-shadow:0 0 0 2px rgba(94,234,212,.2),0 10px 24px rgba(0,0,0,.18)!important;color:inherit
}
.match-chip.selected::after,.clue-choice.selected::after,.sequence-chip.selected::after,.diag-choice.selected::after,.diag-rebuild-choice.selected::after{content:' ✓ selected';font-size:.68em;font-weight:800;letter-spacing:.02em;color:var(--study-choice-teal);margin-left:.45rem}
.match-chip.matched,.clue-choice.correct,.sequence-chip.correct,.diag-choice.correct,.diag-rebuild-choice.correct{
  opacity:1!important;border-color:var(--study-choice-good)!important;background:linear-gradient(135deg,rgba(34,197,94,.24),rgba(13,148,136,.14))!important;box-shadow:0 0 0 2px rgba(65,211,155,.16),0 9px 22px rgba(0,0,0,.15)!important
}
.match-chip.matched::after,.clue-choice.correct::after,.sequence-chip.correct::after,.diag-choice.correct::after,.diag-rebuild-choice.correct::after{content:' ✓';font-weight:900;color:var(--study-choice-good);margin-left:.45rem}
.match-chip.wrong,.clue-choice.wrong,.sequence-chip.wrong,.diag-choice.wrong,.diag-rebuild-choice.wrong{
  border-color:var(--study-choice-bad)!important;background:linear-gradient(135deg,rgba(239,68,68,.22),rgba(190,24,93,.1))!important;box-shadow:0 0 0 2px rgba(255,129,120,.14)!important
}
.match-chip.wrong::after,.clue-choice.wrong::after,.sequence-chip.wrong::after,.diag-choice.wrong::after,.diag-rebuild-choice.wrong::after{content:' ✕';font-weight:900;color:var(--study-choice-bad);margin-left:.45rem}
.sequence-slot.filled{border-color:rgba(65,211,155,.58)!important;background:rgba(34,197,94,.09)!important}.sequence-slot.filled b{background:rgba(34,197,94,.18)!important;color:#8df3c8}
.recall-card[open]{transform:scale(1.012);border-color:rgba(94,234,212,.62)!important;background:linear-gradient(135deg,rgba(20,184,166,.14),rgba(37,99,235,.08))!important;box-shadow:0 8px 22px rgba(0,0,0,.12)}
.recall-card[open] summary{color:#8ff5e9}.recall-card[open] summary::after{content:'  ✓ revealed';font-size:.72em;font-weight:800;color:#5eead4}
/* Standard Study Mode answers highlight the entire choice; authentic Mock Mode remains plain. */
.exam-shell:not(.mock-authentic) .answer.selected{transform:scale(1.018);border-color:var(--study-choice-teal)!important;background:linear-gradient(135deg,rgba(20,184,166,.18),rgba(37,99,235,.08))!important;box-shadow:0 0 0 2px rgba(94,234,212,.16),0 8px 20px rgba(0,0,0,.1)}
.exam-shell:not(.mock-authentic) .answer:has(input:checked):not(.correct):not(.incorrect){border-color:var(--study-choice-teal);background:linear-gradient(135deg,rgba(20,184,166,.18),rgba(37,99,235,.08));box-shadow:0 0 0 2px rgba(94,234,212,.14)}
.exam-shell:not(.mock-authentic) .answer.correct{background:rgba(34,197,94,.13)!important;border-color:var(--study-choice-good)!important;box-shadow:0 0 0 2px rgba(65,211,155,.13)}
.exam-shell:not(.mock-authentic) .answer.incorrect{background:rgba(239,68,68,.11)!important;border-color:var(--study-choice-bad)!important;box-shadow:0 0 0 2px rgba(255,129,120,.11)}
#diagTreeWorkspace .diag-choice.selected,#diagTreeWorkspace .diag-rebuild-choice.selected{background:#dff9f5!important;color:#0b3d43!important;border-color:#2fc7b7!important}
#diagTreeWorkspace .diag-choice.correct,#diagTreeWorkspace .diag-rebuild-choice.correct{background:#e7f8ec!important;color:#153a25!important;border-color:#65bd7a!important}
#diagTreeWorkspace .diag-choice.wrong,#diagTreeWorkspace .diag-rebuild-choice.wrong{background:#fff0ef!important;color:#52211f!important;border-color:#dd8179!important}
@media(max-width:700px){.match-chip.selected,.clue-choice.selected,.sequence-chip.selected,.diag-choice.selected,.diag-rebuild-choice.selected,.diag-family.selected{transform:scale(1.015)}.match-chip.selected::after,.clue-choice.selected::after,.sequence-chip.selected::after,.diag-choice.selected::after,.diag-rebuild-choice.selected::after{display:block;margin:.25rem 0 0}}
@media(prefers-reduced-motion:reduce){.visual-learning .match-chip,.clue-choice,.sequence-chip,.diag-choice,.diag-rebuild-choice,.diag-family,.recall-card{transition:none}.match-chip.selected,.clue-choice.selected,.sequence-chip.selected,.diag-choice.selected,.diag-rebuild-choice.selected,.diag-family.selected{transform:none}}

/* v400 — authentic long-form mock case record */
body.mock-mode-active{background:#e8e8e8!important;color:#111}
body.mock-mode-active .app-shell{max-width:none!important;padding-left:clamp(8px,2vw,28px)!important;padding-right:clamp(8px,2vw,28px)!important}
body.mock-mode-active .exam-shell.mock-authentic{width:min(1180px,100%);max-width:1180px;margin:0 auto;background:#eee;border:1px solid #9a9a9a;padding:14px;color:#111}
body.mock-mode-active .mock-authentic .exam-top{position:sticky;top:0;z-index:12;background:#f5f5f5;border:1px solid #9b9b9b;padding:8px 10px;margin:0 0 8px;color:#111}
body.mock-mode-active .mock-authentic .case-cluster-head{background:#f5f5f5;border:1px solid #aaa;padding:9px 11px;margin-bottom:8px;color:#111}
body.mock-mode-active .mock-authentic .case-cluster-head .eyebrow,body.mock-mode-active .mock-authentic .case-cluster-head .muted{color:#444!important}
body.mock-mode-active .mock-authentic .mock-status{background:#f7f7f7;border:1px solid #aaa;padding:7px 10px;color:#111}
body.mock-mode-active .mock-authentic .exam-card{padding:18px 22px;background:#fff;color:#111;border:1px solid #777;max-width:none}
.official-case-record{border:1px solid #8c8c8c;background:#fff;margin:8px 0 22px;color:#111;font-family:Arial,Helvetica,sans-serif}
.official-case-part{background:#e6e6e6;border-bottom:1px solid #999;padding:7px 12px;font-weight:700;font-size:.88rem}
.official-case-record>h2{font-size:1.12rem;margin:13px 14px 8px;color:#111}
.official-case-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid #bbb;border-bottom:1px solid #bbb;margin:0 14px 13px}
.official-case-meta>div{display:grid;grid-template-columns:minmax(115px,.7fr) 1.3fr;border-bottom:1px solid #ddd;min-width:0}
.official-case-meta>div:nth-last-child(-n+2){border-bottom:0}
.official-case-meta b,.official-case-meta span{padding:7px 9px;font-size:.88rem;line-height:1.35}
.official-case-meta b{background:#f1f1f1;border-right:1px solid #ccc}
.official-case-record>h3{font-size:.95rem;margin:0 14px 8px;color:#111}
.official-case-narrative{margin:0 14px 15px;max-height:42vh;overflow:auto;border:1px solid #c5c5c5;padding:12px 14px;background:#fff;scrollbar-gutter:stable}
.official-case-narrative p{margin:0 0 11px;font-size:.96rem;line-height:1.55;color:#111}.official-case-narrative p:last-child{margin-bottom:0}
body.mock-mode-active .mock-authentic .question{font-family:Arial,Helvetica,sans-serif;font-size:1rem;line-height:1.45;color:#111;margin-top:14px}
body.mock-mode-active .mock-authentic .answer{border-radius:0;border-color:#aaa;padding:10px 12px;color:#111;background:#fff}
body.mock-mode-active .mock-authentic .answer.selected,body.mock-mode-active .mock-authentic .answer:has(input:checked){background:#e7eef7!important;border-color:#555!important;transform:none!important;box-shadow:none!important}
body.mock-mode-active .mock-authentic .question-map{max-height:110px;overflow:auto;background:#f5f5f5;border:1px solid #aaa;padding:7px}
@media(max-width:700px){body.mock-mode-active .app-shell{padding:0!important}.mock-authentic .exam-top{font-size:.78rem;gap:5px;flex-wrap:wrap}.mock-authentic .badge{font-size:.7rem}.official-case-meta{grid-template-columns:1fr;margin-left:8px;margin-right:8px}.official-case-meta>div,.official-case-meta>div:nth-last-child(-n+2){border-bottom:1px solid #ddd}.official-case-meta>div:last-child{border-bottom:0}.official-case-meta b,.official-case-meta span{font-size:.78rem;padding:6px 7px}.official-case-narrative{margin:0 8px 12px;padding:10px;max-height:38vh}.official-case-narrative p{font-size:.9rem;line-height:1.48}.official-case-record>h2,.official-case-record>h3{margin-left:8px;margin-right:8px}body.mock-mode-active .mock-authentic .exam-card{padding:12px 10px}.mock-authentic .case-cluster-head{font-size:.78rem}.mock-authentic .keyboard-help{display:none}.mock-authentic .question-map{max-height:82px}}

/* v400 mock fidelity: restrained longitudinal case record */
.mock-authentic .official-case-record{background:#fff;color:#171717;border:1px solid #b8b8b8;border-radius:0;box-shadow:none;margin:0 0 18px;padding:18px 20px;font-family:Arial,Helvetica,sans-serif}
.mock-authentic .official-case-part{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#444;border-bottom:1px solid #bbb;padding-bottom:7px;margin-bottom:12px}
.mock-authentic .official-case-record h2{font-size:20px;color:#111;margin:0 0 12px}
.mock-authentic .official-case-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid #aaa;margin-bottom:16px}
.mock-authentic .official-case-meta>div{padding:8px 10px;border-right:1px solid #bbb;display:flex;flex-direction:column;gap:3px}
.mock-authentic .official-case-meta>div:last-child{border-right:0}
.mock-authentic .official-case-meta b{font-size:11px;text-transform:uppercase;color:#555}.mock-authentic .official-case-meta span{font-size:14px;color:#111}
.mock-authentic .official-case-record h3{font-size:15px;color:#111;margin:12px 0 7px}
.mock-authentic .official-case-narrative{font-size:15px;line-height:1.55;max-height:42vh;overflow:auto;padding:0 12px 0 0;scrollbar-gutter:stable}
.mock-authentic .official-case-narrative p,.mock-authentic .official-prior-record p{margin:0 0 11px}
.mock-authentic .official-prior-record{border-top:1px solid #bbb;margin-top:14px;padding-top:10px;font-size:14px;line-height:1.5}
.mock-authentic .official-prior-record summary{cursor:pointer;font-weight:700;color:#222}
@media(max-width:700px){
 .mock-authentic .official-case-record{padding:12px;margin-left:-4px;margin-right:-4px}
 .mock-authentic .official-case-meta{grid-template-columns:1fr 1fr}
 .mock-authentic .official-case-meta>div{border-bottom:1px solid #bbb}
 .mock-authentic .official-case-narrative{max-height:34vh;font-size:14px;line-height:1.48}
}

/* v400 examination-reading refinement */
.mock-authentic .official-case-instruction{font:13px/1.4 Arial,Helvetica,sans-serif;color:#222;background:#f3f3f3;border:1px solid #c8c8c8;padding:8px 10px;margin:0 0 14px}
.mock-authentic .question{font-family:Arial,Helvetica,sans-serif;color:#111;font-size:16px;line-height:1.45}
.mock-authentic .answer{font-family:Arial,Helvetica,sans-serif;border-radius:0;box-shadow:none}
.mock-authentic .answer.selected{transform:none}
@media(max-width:700px){
 .mock-authentic .official-case-record h2{font-size:18px}
 .mock-authentic .official-case-meta>div{padding:7px 8px}
 .mock-authentic .official-case-instruction{font-size:12px}
 .mock-authentic .question{font-size:15px}
}

/* v400 larger mock rebuild: case-record density + responsive exam workspace */
.mock-authentic{max-width:1180px;margin:0 auto}
.mock-authentic .exam-card{width:100%;max-width:none}
.mock-authentic .official-case-meta{grid-template-columns:repeat(5,minmax(0,1fr))}
.mock-authentic .official-case-narrative{max-width:100%;white-space:normal}
.mock-authentic .answers{display:grid;grid-template-columns:1fr;gap:8px}
.mock-authentic .answer{min-height:48px;padding:11px 12px;background:#fff;border:1px solid #aaa;color:#111}
.mock-authentic .answer:hover{background:#f4f4f4}
.mock-authentic .answer.selected{background:#e9eef3;border-color:#555;color:#111}
.mock-authentic .case-cluster-head,.mock-authentic .mock-status{max-width:none}
@media(min-width:900px){
 .mock-authentic .official-case-narrative{max-height:46vh}
 .mock-authentic .exam-card{padding:24px 28px}
}
@media(max-width:700px){
 .mock-authentic{width:100%;padding-left:0;padding-right:0}
 .mock-authentic .exam-card{padding:12px 10px}
 .mock-authentic .official-case-meta{grid-template-columns:1fr 1fr}
 .mock-authentic .official-case-meta>div:nth-child(odd){border-right:1px solid #bbb}
 .mock-authentic .official-case-narrative{max-height:36vh;padding-right:6px}
 .mock-authentic .answer{padding:10px;min-height:46px}
 .mock-authentic .case-cluster-head{padding-left:10px;padding-right:10px}
}

/* v400 mock rebuild: full current-form longitudinal coverage */
.mock-authentic .official-case-part{display:flex;justify-content:space-between;gap:12px;align-items:center}
.mock-authentic .official-case-part span:last-child{text-align:right}
.mock-authentic .official-case-record{overflow:hidden}
.mock-authentic .official-case-narrative{overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
@media(max-width:480px){
 .mock-authentic .official-case-part{font-size:11px}
 .mock-authentic .official-case-meta{font-size:12px}
 .mock-authentic .official-case-narrative{max-height:33vh}
}

/* v400 final mock-bank context + exam restraint */
.mock-authentic .official-case-record,.mock-authentic .question,.mock-authentic .answers{user-select:text}
.mock-authentic .answer.correct,.mock-authentic .answer.incorrect{background:#fff!important;border-color:#aaa!important;color:#111!important}
.mock-authentic .official-prior-record{background:#fafafa;padding:10px;border:1px solid #ccc}
.mock-authentic .official-prior-record[open] summary{margin-bottom:8px}
@media(max-width:700px){
 .mock-authentic .official-prior-record{font-size:13px}
 .mock-authentic .official-case-record{max-width:100vw}
}

/* v400 mock exam viewport + reading ergonomics */
.mock-authentic{min-height:calc(100dvh - 16px)}
.mock-authentic .exam-card{box-sizing:border-box}
.mock-authentic .official-case-record{box-sizing:border-box}
.mock-authentic .official-case-part{position:sticky;top:0;background:#fff;z-index:2}
@media(min-width:900px){
 .mock-authentic .official-case-record{max-height:58vh;display:flex;flex-direction:column}
 .mock-authentic .official-case-narrative{flex:1;min-height:160px;max-height:none}
}
@media(max-width:700px){
 .mock-authentic{min-height:100dvh}
 .mock-authentic .official-case-record{margin-bottom:10px}
 .mock-authentic .official-case-part{position:static}
 .mock-authentic .official-case-narrative{max-height:31dvh}
 .mock-authentic .answers{padding-bottom:max(12px,env(safe-area-inset-bottom))}
}

/* v400 final discrimination cleanup + section/question separation */
.mock-authentic .official-case-record + .question,
.mock-authentic .official-case-record ~ .question{border-top:2px solid #777;padding-top:16px;margin-top:16px}
.mock-authentic .question{background:#fff}
.mock-authentic .answers{margin-top:10px}
.mock-authentic .answer{transition:background-color .08s linear,border-color .08s linear}
@media(max-width:700px){
 .mock-authentic .official-case-part span:last-child{max-width:58%;line-height:1.25}
 .mock-authentic .official-case-record + .question,
 .mock-authentic .official-case-record ~ .question{padding-top:12px;margin-top:12px}
}

/* v400 mock control anchoring: controls remain at the viewport bottom rather than floating with content */
.mock-authentic .mock-bottom-bar,
.mock-authentic .exam-bottom-bar,
.mock-authentic .question-nav{position:sticky;bottom:0;z-index:20;background:#fff;border-top:1px solid #aaa;box-shadow:none}
@media(max-width:700px){
 .mock-authentic .mock-bottom-bar,
 .mock-authentic .exam-bottom-bar,
 .mock-authentic .question-nav{bottom:env(safe-area-inset-bottom);padding-bottom:max(8px,env(safe-area-inset-bottom))}
}

/* v400 longitudinal record labeling remains deliberately plain in active Mock Mode */
.mock-authentic .official-case-record h3{font-size:14px;font-weight:700;letter-spacing:0;text-transform:none;margin:0 0 8px;color:#111}

/* v400 post-completion debrief only; never rendered in active Mock Mode */
.mock-option-debrief{display:grid;gap:8px;margin-top:14px}
.mock-option-debrief-row{border:1px solid #c9c9c9;background:#fff;padding:10px 12px;line-height:1.45}
.mock-option-debrief-row.best{border-width:2px}


/* v400 mock narrative/mobile completion polish */
.mock-record-stack,.mock-completed-narrative{display:grid;gap:12px;min-width:0}
.mock-record-section{background:#fff;border:1px solid #d8dde5;border-radius:6px;overflow:hidden;min-width:0}
.mock-record-section-head{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:10px 12px;background:#f3f5f7;border-bottom:1px solid #d8dde5;font-weight:700}
.mock-record-section-body{padding:12px 14px;line-height:1.55;overflow-wrap:anywhere}
.mock-complete-banner{border:1px solid #b9d8c4;background:#f2faf5;padding:12px 14px;border-radius:6px}
@media(max-width:700px){
 .mock-record-section-head{padding:9px 10px;align-items:flex-start;flex-wrap:wrap}
 .mock-record-section-body{padding:10px;font-size:14px;line-height:1.5}
 .mock-completed-narrative{gap:9px}
 .mock-question-shell,.mock-case-shell,.mock-review-shell{width:100%;max-width:100%;min-width:0;overflow-x:hidden}
 .mock-question-shell button,.mock-review-shell button{max-width:100%}
}


/* v400 phone mock ergonomics + completed-case review */
.mock-phone-actions{position:sticky;bottom:0;z-index:8;background:#fff;border-top:1px solid #d7dce3;padding:10px max(10px,env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));display:flex;gap:8px;align-items:center}
.mock-phone-actions>*{min-height:44px}
.mock-question-nav{display:flex;gap:6px;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin;max-width:100%}
.mock-question-nav button{flex:0 0 auto;min-width:44px;min-height:44px}
.mock-review-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.mock-review-summary>*{min-width:0}
@media(max-width:700px){
 .mock-phone-actions{margin-left:-10px;margin-right:-10px}
 .mock-review-summary{grid-template-columns:1fr}
 .mock-question-nav{padding-bottom:4px}
 .mock-case-shell,.mock-question-shell,.mock-review-shell{padding-left:max(10px,env(safe-area-inset-left));padding-right:max(10px,env(safe-area-inset-right))}
}


/* v400 completed narrative + phone review workflow */
.mock-review-header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;flex-wrap:wrap}
.mock-review-filter-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.mock-review-filter-row button{min-height:44px}
.mock-review-question-list{display:grid;gap:8px}
.mock-review-question-item{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;border:1px solid #d5dae2;background:#fff;padding:10px 12px;border-radius:6px;min-width:0}
.mock-review-question-item .label{min-width:0;overflow-wrap:anywhere}
.mock-review-status{font-size:12px;white-space:nowrap}
.mock-completed-narrative .mock-record-section-body p{margin:0 0 10px}
.mock-completed-narrative .mock-record-section-body p:last-child{margin-bottom:0}
@media(max-width:700px){
 .mock-review-header{display:block}
 .mock-review-filter-row{display:grid;grid-template-columns:1fr 1fr;gap:7px}
 .mock-review-filter-row button{width:100%}
 .mock-review-question-item{grid-template-columns:auto 1fr;align-items:start}
 .mock-review-status{grid-column:2;white-space:normal}
 .mock-completed-narrative .mock-record-section-body{max-height:none;overflow:visible}
 .mock-phone-actions{position:sticky;bottom:0}
}

/* v400 safari phone viewport + review navigation */
html{-webkit-text-size-adjust:100%}
body{min-height:100dvh}
.mock-question-shell,.mock-case-shell,.mock-review-shell,.mock-completed-narrative{box-sizing:border-box}
.mock-review-question-item{width:100%;text-align:left;color:inherit;font:inherit}
.mock-review-question-item:focus-visible,.mock-review-filter-row button:focus-visible{outline:3px solid currentColor;outline-offset:2px}
@supports(height:100svh){body{min-height:100svh}}
@media(max-width:700px){
 .mock-review-shell{width:100%;max-width:100%;overflow-x:hidden}
 .mock-review-question-list{width:100%;min-width:0}
 .mock-review-question-item{min-height:48px}
}

/* v400 long narrative reading rhythm */
.mock-record-section-body p{max-width:76ch}
@media(max-width:700px){
 .mock-record-section-body p{max-width:none}
 .mock-record-section-body{line-height:1.58}
 .mock-record-section+.mock-record-section{margin-top:2px}
}

/* v400 narrative scanability */
.mock-record-section-body{font-size:15px}
.mock-record-section-body p+p{margin-top:.8em}
.mock-record-section-head{position:relative}
@media(max-width:700px){
 .mock-record-section-body{font-size:15px;line-height:1.62}
 .mock-record-section-body p{margin-block:0 .9em}
 .mock-record-section-body p:last-child{margin-bottom:0}
 .mock-completed-narrative,.mock-record-stack{width:100%;min-width:0}
}

/* v400 long-form section navigation */
.mock-record-section-jump{display:flex;gap:6px;overflow-x:auto;max-width:100%;padding:2px 0 6px}
.mock-record-section-jump a,.mock-record-section-jump button{flex:0 0 auto;min-height:44px;padding:8px 10px}
.mock-record-section{scroll-margin-top:12px}
@media(max-width:700px){
 .mock-record-section-jump{position:static;width:100%;overscroll-behavior-inline:contain}
 .mock-record-section-jump a,.mock-record-section-jump button{font-size:13px}
}

/* v400 mega phone mock hardening */
.mock-record-section:target{scroll-margin-top:16px}
.mock-record-section-jump a:focus-visible{outline:3px solid currentColor;outline-offset:2px}
.mock-review-question-item[aria-current="true"]{font-weight:700}
@media(max-width:700px) and (orientation:landscape){
 .mock-record-section-body{font-size:14px;line-height:1.52}
 .mock-phone-actions{padding-top:7px;padding-bottom:calc(7px + env(safe-area-inset-bottom))}
 .mock-review-filter-row{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-height:500px){
 .mock-phone-actions{position:sticky}
 .mock-record-section-head{position:relative}
}

/* v400b real review + timer visibility */
.mock-final-review-map .qdot[hidden]{display:none!important}
.mock-review-filter-row .active{font-weight:700}
.mock-review-empty{padding:12px 0}
.mock-timer-toggle{min-height:36px;border:1px solid #999;background:#fff;color:#111;padding:6px 9px;border-radius:3px;font:inherit}
@media(max-width:700px){
 .mock-timer-toggle{min-height:44px}
 .mock-final-review-map{max-height:42dvh;overflow-y:auto;align-content:start}
}

/* v400 completed-case browser + debrief workflow */
.mock-case-review-tabs{display:flex;gap:7px;overflow-x:auto;max-width:100%;padding:2px 0 10px;overscroll-behavior-inline:contain}
.mock-case-review-tabs button{flex:0 0 auto;min-height:44px;border:1px solid #aeb6c2;background:#fff;color:#111;padding:8px 10px;border-radius:4px;text-align:left}
.mock-case-review-tabs button.active{font-weight:700;border-width:2px}
.mock-case-review-panel{scroll-margin-top:12px;min-width:0}
.mock-case-review-panel .mock-record-section{min-width:0}
@media(max-width:700px){
 .mock-case-review-tabs{margin-inline:-2px;padding-bottom:8px}
 .mock-case-review-tabs button{max-width:78vw;white-space:normal}
 .mock-case-review-panel{width:100%;max-width:100%;overflow-x:hidden}
 .debrief-head .actions{display:grid;grid-template-columns:1fr 1fr;width:100%}
 .debrief-head .actions .btn{min-height:44px}
}

/* v400 case browser performance */
.mock-case-browser-tools{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}
.mock-case-browser-tools .active{font-weight:700}
.mock-case-review-tabs button{display:grid;gap:2px}
.mock-case-review-tabs button small{font-size:11px;opacity:.76}
.mock-case-review-tabs button[hidden]{display:none!important}
.mock-case-browser-empty{padding:8px 0}
@media(max-width:700px){
 .mock-case-browser-tools{display:grid;grid-template-columns:1fr 1fr}
 .mock-case-browser-tools .btn{min-height:44px}
}

/* v400 case-to-debrief bridge */
.mock-case-debrief-action{margin-top:12px}
.mock-case-debrief-action .btn{min-height:44px}
#debriefList{scroll-margin-top:14px}

/* v400 results workflow polish */
.mock-case-review-browser,.submit-review,.debrief-head{min-width:0}
.mock-case-browser-tools .btn,.debrief-filter,#clearCaseDebriefFocus{min-height:44px}
.mock-case-review-tabs button:focus-visible,.debrief-filter:focus-visible,#clearCaseDebriefFocus:focus-visible{outline:3px solid currentColor;outline-offset:2px}
#mockDebriefEmpty{padding:10px 0}
@media(max-width:700px){
 .debrief-head{display:block}
 .debrief-head .actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:10px}
 .debrief-head .actions .btn{width:100%}
 .mock-case-browser-tools{position:static}
 .mock-case-review-tabs{scroll-padding-inline:8px}
}

/* v400 universal interactive choice states */
:root{--study-selected-ring:#5eead4;--study-selected-bg:rgba(20,184,166,.24);--study-wrong:#fb7185;--study-correct:#4ade80}
.match-chip,.clue-choice,.sequence-chip,.diag-choice,.diag-rebuild-choice,.diag-family,[data-diag-confidence]{
 transition:border-color .14s ease,background .14s ease,box-shadow .14s ease,transform .14s ease;
}
.match-chip.selected,.clue-choice.selected,.sequence-chip.selected,.diag-choice.selected,.diag-rebuild-choice.selected,.diag-family.selected,[data-diag-confidence].selected,[data-diag-confidence][aria-pressed="true"]{
 border-color:var(--study-selected-ring)!important;
 background:linear-gradient(135deg,var(--study-selected-bg),rgba(37,99,235,.16))!important;
 box-shadow:0 0 0 3px rgba(94,234,212,.18),0 10px 24px rgba(2,8,23,.22)!important;
 font-weight:800;
}
.match-chip.wrong,.clue-choice.wrong,.sequence-chip.wrong,.diag-choice.wrong,.diag-rebuild-choice.wrong{
 border-color:var(--study-wrong)!important;background:rgba(244,63,94,.13)!important;
}
.match-chip.matched,.clue-choice.correct,.sequence-chip.correct,.diag-choice.correct,.diag-rebuild-choice.correct{
 border-color:var(--study-correct)!important;background:rgba(34,197,94,.15)!important;
}
.match-chip:focus-visible,.clue-choice:focus-visible,.sequence-chip:focus-visible,.diag-choice:focus-visible,.diag-rebuild-choice:focus-visible,.diag-family:focus-visible,[data-diag-confidence]:focus-visible{
 outline:3px solid var(--study-selected-ring);outline-offset:3px;
}
@media(max-width:700px){
 .match-chip,.clue-choice,.sequence-chip,.diag-choice,.diag-rebuild-choice,.diag-family,[data-diag-confidence]{min-height:48px}
}

/* v400 Study Plan must be an opaque modal — dashboard must never show through the plan surface */
.study-plan-dialog{
 position:fixed!important;inset:50% auto auto 50%!important;transform:translate(-50%,-50%)!important;
 width:min(680px,calc(100vw - 28px))!important;max-height:min(86dvh,760px)!important;
 overflow:auto!important;box-sizing:border-box!important;
 background:#0b1728!important;color:#eef8ff!important;
 border:1px solid rgba(94,234,212,.38)!important;border-radius:22px!important;
 box-shadow:0 30px 100px rgba(0,0,0,.72)!important;padding:0!important;z-index:10020!important;
}
.study-plan-dialog::backdrop{background:rgba(1,7,18,.86)!important;backdrop-filter:blur(5px)}
.study-plan-dialog>form{background:#0b1728!important;padding:22px!important;border-radius:inherit!important}
.study-plan-dialog label{display:grid;gap:7px;margin:15px 0;color:#dceaf4;font-weight:700}
.study-plan-dialog input,.study-plan-dialog select{width:100%;min-height:48px;box-sizing:border-box;background:#f8fbff!important;color:#0b1728!important;border:1px solid #aebdca;border-radius:10px;padding:10px 12px;font:inherit}
.study-plan-dialog .plan-dialog-preview{background:#11243a!important;border:1px solid rgba(94,234,212,.24);border-radius:14px;padding:13px 15px}
body.study-plan-open{overflow:hidden}
body.study-plan-open #app{pointer-events:none}
@media(max-width:700px){
 .study-plan-dialog{width:calc(100vw - 18px)!important;max-height:calc(100dvh - 24px)!important;border-radius:18px!important}
 .study-plan-dialog>form{padding:17px!important}
 .study-plan-dialog .actions{display:grid;grid-template-columns:1fr 1fr}
 .study-plan-dialog .actions .btn,.plan-dialog-close{min-height:48px}
}

/* v400 reveal/open-state feedback for interactive retrieval cards */
.recall-card,.diag-node{transition:border-color .14s ease,background .14s ease,box-shadow .14s ease}
.recall-card[open],.diag-node[open]{border-color:#5eead4!important;background:rgba(20,184,166,.10)!important;box-shadow:0 0 0 2px rgba(94,234,212,.12)!important}
.recall-card[open]>summary,.diag-node[open]>summary{font-weight:800}
.recall-card summary:focus-visible,.diag-node summary:focus-visible{outline:3px solid #5eead4;outline-offset:3px;border-radius:6px}
@media(max-width:700px){.recall-card summary,.diag-node summary{min-height:48px;display:flex;align-items:center}}

/* v400 screenshot-driven layout repairs */

/* Mock control center: distribute content across the whole available canvas. */
#app.mock-control-active{
 display:block!important;
 width:min(100% - 24px,1180px)!important;
 max-width:1180px!important;
 margin-inline:auto!important;
}
#app.mock-control-active>.mock-direct-control{
 width:100%!important;
 max-width:none!important;
 margin:0!important;
 box-sizing:border-box;
}
.mock-direct-control .track-control{
 display:grid!important;
 grid-template-columns:repeat(2,minmax(0,1fr))!important;
 gap:12px!important;
 width:100%!important;
}
.mock-direct-control .track-control>button{
 width:100%!important;
 min-width:0!important;
 min-height:74px;
}
.mock-direct-control .mock-direct-grid{
 display:grid!important;
 grid-template-columns:repeat(4,minmax(0,1fr))!important;
 gap:12px!important;
 width:100%!important;
}
.mock-direct-control .mock-direct-grid>button{
 width:100%!important;
 min-width:0!important;
 min-height:82px;
 text-align:left;
}
.mock-direct-control .mock-direct-summary{
 display:grid!important;
 grid-template-columns:repeat(4,minmax(0,1fr))!important;
 gap:10px!important;
 width:100%!important;
}
.mock-direct-control .mock-direct-summary>div{
 min-width:0;
 text-align:center;
}
.mock-direct-control .mock-launch{
 display:block!important;
 width:min(100%,520px)!important;
 margin:16px auto 0!important;
 min-height:52px;
}

/* Dashboard: six tiles occupy the remaining usable phone height rather than ending early. */
@media(max-width:700px){
 body:not(.large-text) #app.dashboard-active{
   min-height:calc(100dvh - 74px - 76px - env(safe-area-inset-bottom))!important;
   display:grid!important;
   grid-template-rows:auto minmax(0,1fr)!important;
   gap:10px!important;
   padding-bottom:10px!important;
 }
 body:not(.large-text) #app.dashboard-active .dashboard-welcome{
   margin:0!important;
 }
 body:not(.large-text) #app.dashboard-active .home-tile-hub{
   display:grid!important;
   grid-template-columns:repeat(2,minmax(0,1fr))!important;
   grid-template-rows:repeat(3,minmax(92px,1fr))!important;
   gap:10px!important;
   min-height:0!important;
   height:100%!important;
   align-self:stretch!important;
   margin:0!important;
 }
 body:not(.large-text) #app.dashboard-active .home-tile{
   height:100%!important;
   min-height:92px!important;
   align-content:center!important;
   padding:12px!important;
 }
 body:not(.large-text) #app.dashboard-active .home-tile .tile-art{
   width:48px!important;height:48px!important;
 }

 /* Bottom navigation: true fixed dock, flush to the viewport edge. */
 .bottom-nav{
   position:fixed!important;
   left:0!important;right:0!important;bottom:0!important;
   transform:none!important;
   width:100%!important;
   max-width:none!important;
   box-sizing:border-box!important;
   display:grid!important;
   grid-template-columns:repeat(4,minmax(0,1fr))!important;
   gap:0!important;
   padding:6px max(6px,env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(6px,env(safe-area-inset-left))!important;
   border-radius:0!important;
   border-top:1px solid rgba(148,163,184,.28)!important;
   background:#111c2d!important;
   backdrop-filter:none!important;
   box-shadow:0 -10px 28px rgba(0,0,0,.30)!important;
 }
 .bottom-nav button{
   width:100%!important;
   min-width:0!important;
   min-height:56px!important;
   padding:6px 4px!important;
   border-radius:10px!important;
 }
 .bottom-nav button span{font-size:1.08rem!important;margin-bottom:1px!important}

 /* Mock selection phone layout: balanced full-width grid, no left clumping. */
 #app.mock-control-active{
   width:calc(100% - 16px)!important;
   min-height:calc(100dvh - 74px - 76px - env(safe-area-inset-bottom))!important;
   padding-bottom:10px!important;
 }
 #app.mock-control-active>.mock-direct-control{
   padding:16px!important;
 }
 .mock-direct-control .track-control{
   grid-template-columns:repeat(2,minmax(0,1fr))!important;
 }
 .mock-direct-control .mock-direct-grid{
   grid-template-columns:repeat(2,minmax(0,1fr))!important;
 }
 .mock-direct-control .mock-direct-summary{
   grid-template-columns:repeat(2,minmax(0,1fr))!important;
 }
 .mock-direct-control .mock-launch{
   width:100%!important;
 }
}

/* v400 mock selection emphasis */
.mock-direct-control .track-control>button,
.mock-direct-control .mock-direct-grid>button{
 transition:transform .14s ease,border-color .14s ease,background .14s ease,box-shadow .14s ease;
}
.mock-direct-control .track-control>button.selected,
.mock-direct-control .mock-direct-grid>button.selected,
.mock-direct-control [aria-pressed="true"][data-exam-track],
.mock-direct-control [aria-pressed="true"][data-select-mock-form]{
 transform:scale(1.025);
 border-color:#5eead4!important;
 border-width:2px!important;
 background:linear-gradient(145deg,rgba(20,184,166,.24),rgba(37,99,235,.18))!important;
 box-shadow:0 0 0 3px rgba(94,234,212,.15),0 12px 28px rgba(2,8,23,.28)!important;
}
.mock-direct-control .track-control>button.selected::after,
.mock-direct-control .mock-direct-grid>button.selected::after{
 content:"Selected";
 display:inline-block;
 margin-top:7px;
 padding:3px 7px;
 border-radius:999px;
 background:#5eead4;
 color:#06221f;
 font-size:.64rem;
 font-weight:950;
}
@media(max-width:700px){
 .mock-direct-control .track-control>button.selected,
 .mock-direct-control .mock-direct-grid>button.selected{transform:none}
}

/* v400 dock suppression safeguards */
@media(max-width:700px){
 body.mock-mode-active .bottom-nav{display:none!important;visibility:hidden!important;pointer-events:none!important}
 body.study-plan-open .bottom-nav{display:none!important;visibility:hidden!important;pointer-events:none!important}
}
\n/* v400 real-device visual polish */\n@media(max-width:700px){\n  /* Dashboard: make six tiles visually occupy the whole usable lane without text clipping. */\n  body:not(.large-text) #app.dashboard-active{\n    min-height:calc(100svh - 74px - 76px - env(safe-area-inset-bottom))!important;\n  }\n  body:not(.large-text) #app.dashboard-active .home-tile-hub{\n    grid-auto-flow:row!important;\n    align-content:stretch!important;\n  }\n  body:not(.large-text) #app.dashboard-active .home-tile{\n    grid-template-columns:52px minmax(0,1fr) auto!important;\n    gap:10px!important;\n  }\n  body:not(.large-text) #app.dashboard-active .home-tile strong{font-size:1.02rem!important}\n  body:not(.large-text) #app.dashboard-active .home-tile em{font-size:.71rem!important;line-height:1.25!important}\n\n  /* Mock selection: compact full-width layout that fits the phone instead of reading like a narrow left rail. */\n  #app.mock-control-active>.mock-direct-control{\n    display:grid!important;\n    grid-template-columns:1fr!important;\n    gap:10px!important;\n    align-content:start!important;\n  }\n  .mock-direct-control .control-title{margin-bottom:0!important}\n  .mock-direct-control .control-title h1{font-size:1.5rem!important;margin:.1rem 0!important}\n  .mock-direct-control .mock-choice-label{display:flex!important;justify-content:space-between!important;align-items:end!important;gap:8px!important;margin-top:2px!important}\n  .mock-direct-control .mock-choice-label span{font-size:.72rem!important;text-align:right!important}\n  .mock-direct-control .track-control{gap:8px!important}\n  .mock-direct-control .track-control>button{min-height:62px!important;padding:9px!important}\n  .mock-direct-control .mock-direct-grid{gap:8px!important}\n  .mock-direct-control .mock-direct-grid>button{min-height:68px!important;padding:9px!important}\n  .mock-direct-control .mock-direct-grid>button strong{font-size:.88rem!important}\n  .mock-direct-control .mock-direct-grid>button small{font-size:.68rem!important}\n  .mock-direct-control .mock-direct-summary{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:6px!important;margin-top:2px!important}\n  .mock-direct-control .mock-direct-summary>div{padding:8px 4px!important}\n  .mock-direct-control .mock-direct-summary b{font-size:1rem!important}\n  .mock-direct-control .mock-direct-summary small{font-size:.62rem!important}\n  .mock-direct-control .mock-launch{min-height:50px!important;margin-top:4px!important}\n\n  /* Real bottom dock: never float upward during document scroll. */\n  .bottom-nav{top:auto!important;margin:0!important;translate:none!important}\n}\n\n/* Study Plan fallback overlay in addition to native dialog backdrop. */\nbody.study-plan-open:before{content:"";position:fixed;inset:0;z-index:10000;background:#020817;opacity:.94;pointer-events:auto}\nbody.study-plan-open .study-plan-dialog{z-index:10020!important}\n.study-plan-dialog{contain:layout paint}\n.study-plan-dialog .plan-dialog-head{position:sticky;top:0;z-index:2;background:#0b1728;padding-bottom:10px}\n@media(max-width:700px){.study-plan-dialog .plan-dialog-head{margin:-2px -2px 0;padding:2px 2px 10px}.study-plan-dialog .actions{position:sticky;bottom:0;background:#0b1728;padding-top:10px;padding-bottom:max(2px,env(safe-area-inset-bottom))}}\n
/* v400 final dock suppression ordering */
@media(max-width:700px){
 body.mock-mode-active .bottom-nav{display:none!important;visibility:hidden!important;pointer-events:none!important}
 body.study-plan-open .bottom-nav{display:none!important;visibility:hidden!important;pointer-events:none!important}
}

/* v400 authoritative phone geometry */
:root{
 --jg-topbar-h:74px;
 --jg-phone-dock-h:76px;
 --jg-phone-gutter:8px;
}
@media(max-width:700px){
 html,body{min-height:100%;max-width:100%;overflow-x:hidden}
 body:not(.mock-mode-active):not(.study-plan-open){
   padding-bottom:calc(var(--jg-phone-dock-h) + env(safe-area-inset-bottom));
 }
 #app{
   box-sizing:border-box!important;
   width:calc(100% - (var(--jg-phone-gutter) * 2))!important;
   max-width:1180px!important;
   margin-inline:auto!important;
   scroll-padding-bottom:calc(var(--jg-phone-dock-h) + 18px + env(safe-area-inset-bottom))!important;
 }
 .bottom-nav{
   position:fixed!important;
   inset:auto 0 0 0!important;
   transform:none!important;
   translate:none!important;
   margin:0!important;
   width:100%!important;
   min-height:var(--jg-phone-dock-h)!important;
   box-sizing:border-box!important;
   z-index:9990!important;
   display:grid!important;
   grid-template-columns:repeat(4,minmax(0,1fr))!important;
   align-items:stretch!important;
   gap:0!important;
   border-radius:0!important;
   background:#111c2d!important;
   border-top:1px solid rgba(148,163,184,.30)!important;
   box-shadow:0 -9px 24px rgba(0,0,0,.34)!important;
   padding:5px max(6px,env(safe-area-inset-right)) calc(5px + env(safe-area-inset-bottom)) max(6px,env(safe-area-inset-left))!important;
 }
 .bottom-nav button{
   min-width:0!important;
   width:100%!important;
   min-height:56px!important;
   padding:5px 3px!important;
   border-radius:10px!important;
   display:grid!important;
   place-items:center!important;
   align-content:center!important;
 }
 body.mock-mode-active,body.study-plan-open{padding-bottom:0!important}
 body.mock-mode-active .bottom-nav,
 body.study-plan-open .bottom-nav{display:none!important;visibility:hidden!important;pointer-events:none!important}

 /* Dashboard consumes the exact visible lane above the dock. */
 body:not(.large-text) #app.dashboard-active{
   min-height:calc(100dvh - var(--jg-topbar-h) - var(--jg-phone-dock-h) - env(safe-area-inset-bottom))!important;
   height:calc(100dvh - var(--jg-topbar-h) - var(--jg-phone-dock-h) - env(safe-area-inset-bottom))!important;
   display:grid!important;
   grid-template-rows:auto minmax(0,1fr)!important;
   gap:8px!important;
   padding:8px 0!important;
   overflow:hidden!important;
 }
 @supports(height:100svh){
   body:not(.large-text) #app.dashboard-active{
     min-height:calc(100svh - var(--jg-topbar-h) - var(--jg-phone-dock-h) - env(safe-area-inset-bottom))!important;
     height:calc(100svh - var(--jg-topbar-h) - var(--jg-phone-dock-h) - env(safe-area-inset-bottom))!important;
   }
 }
 body:not(.large-text) #app.dashboard-active .dashboard-welcome{
   min-height:0!important;margin:0!important;
 }
 body:not(.large-text) #app.dashboard-active .home-tile-hub{
   height:100%!important;min-height:0!important;margin:0!important;
   display:grid!important;
   grid-template-columns:repeat(2,minmax(0,1fr))!important;
   grid-template-rows:repeat(3,minmax(0,1fr))!important;
   gap:8px!important;align-content:stretch!important;
 }
 body:not(.large-text) #app.dashboard-active .home-tile{
   min-height:0!important;height:100%!important;max-height:none!important;
   padding:10px!important;gap:8px!important;
   grid-template-columns:48px minmax(0,1fr) 18px!important;
   align-items:center!important;
 }
 body:not(.large-text) #app.dashboard-active .home-tile strong{font-size:.98rem!important;line-height:1.08!important}
 body:not(.large-text) #app.dashboard-active .home-tile em{font-size:.69rem!important;line-height:1.2!important}
 body:not(.large-text) #app.dashboard-active .home-tile small{font-size:.59rem!important}

 /* Large-text users trade exact viewport fill for guaranteed scrolling/no clipping. */
 body.large-text #app.dashboard-active{
   height:auto!important;min-height:calc(100dvh - var(--jg-topbar-h))!important;
   overflow:visible!important;padding-bottom:18px!important;
 }
 body.large-text #app.dashboard-active .home-tile-hub{
   grid-template-columns:1fr!important;grid-template-rows:none!important;height:auto!important;
 }

 /* Control centers are full width, centered, scrollable, and never covered by dock. */
 #app.mock-control-active,#app.study-control-active,#app.progress-control-active{
   width:calc(100% - (var(--jg-phone-gutter) * 2))!important;
   height:auto!important;
   min-height:calc(100dvh - var(--jg-topbar-h) - var(--jg-phone-dock-h) - env(safe-area-inset-bottom))!important;
   overflow:visible!important;
   padding:8px 0 14px!important;
 }
 #app.mock-control-active>.mock-direct-control{
   width:100%!important;max-width:none!important;box-sizing:border-box!important;
   margin:0!important;padding:14px!important;
   display:grid!important;grid-template-columns:1fr!important;gap:8px!important;
 }
 .mock-direct-control .control-title{align-items:flex-start!important}
 .mock-direct-control .control-title h1{font-size:1.42rem!important;line-height:1.05!important}
 .mock-direct-control .track-control,
 .mock-direct-control .mock-direct-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
 .mock-direct-control .track-control>button{min-height:60px!important;padding:8px!important}
 .mock-direct-control .mock-direct-grid>button{min-height:64px!important;padding:8px!important;position:relative!important}
 .mock-direct-control .mock-direct-summary{
   display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:5px!important;
 }
 .mock-direct-control .mock-direct-summary>div{padding:7px 3px!important}
 .mock-direct-control .mock-direct-summary b{font-size:.98rem!important}
 .mock-direct-control .mock-direct-summary small{font-size:.58rem!important;line-height:1.12!important}
 .mock-direct-control .mock-launch{width:100%!important;min-height:50px!important;margin:3px 0 0!important}
 .mock-direct-control .mock-direct-grid>button.selected::after,
 .mock-direct-control .track-control>button.selected::after{
   content:"✓ Selected";position:absolute;right:6px;top:6px;margin:0!important;
   padding:2px 5px!important;font-size:.56rem!important;line-height:1.2!important;
 }
 .mock-direct-control .track-control>button{position:relative!important}

 /* Secondary screens: enough bottom clearance for the fixed dock, but not a giant empty void. */
 body.secondary-screen-active:not(.mock-mode-active) #app{
   padding-bottom:18px!important;
   scroll-padding-bottom:calc(var(--jg-phone-dock-h) + 20px + env(safe-area-inset-bottom))!important;
 }
}
@media(max-width:380px){
 :root{--jg-phone-gutter:6px}
 .mock-direct-control .control-title{display:grid!important;grid-template-columns:1fr!important}
 .mock-direct-control .control-title>.badge{justify-self:start!important}
 .mock-direct-control .mock-direct-summary{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 body:not(.large-text) #app.dashboard-active .home-tile{grid-template-columns:42px minmax(0,1fr) 16px!important;padding:8px!important}
}
@media(max-width:700px) and (orientation:landscape){
 body:not(.large-text) #app.dashboard-active{height:auto!important;min-height:calc(100dvh - var(--jg-topbar-h))!important;overflow:visible!important}
 body:not(.large-text) #app.dashboard-active .home-tile-hub{height:auto!important;grid-template-rows:none!important}
 body:not(.large-text) #app.dashboard-active .home-tile{min-height:88px!important}
}

/* v400 mock selector semantics/readability */
.mock-selection-live{font-size:.74rem;color:var(--muted);text-align:center;min-height:1.2em}
.mock-selection-live strong{color:#eafffc}
@media(max-width:700px){.mock-selection-live{font-size:.68rem;margin:-1px 0 1px}}

/* v400 Safari visible-viewport correction */
@media(max-width:700px){
 body:not(.large-text) #app.dashboard-active{
   height:calc(var(--jg-visual-height,100svh) - var(--jg-topbar-h) - var(--jg-phone-dock-h) - env(safe-area-inset-bottom))!important;
   min-height:calc(var(--jg-visual-height,100svh) - var(--jg-topbar-h) - var(--jg-phone-dock-h) - env(safe-area-inset-bottom))!important;
 }
}

/* v400 integrated Back/Home stays in document flow on phone */
@media(max-width:700px){
 body.secondary-screen-active:not(.mock-mode-active) .integrated-back-row{
   position:static!important;top:auto!important;left:auto!important;right:auto!important;
   width:100%!important;max-width:none!important;margin:0 0 8px!important;
   display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:8px!important;
 }
 body.secondary-screen-active:not(.mock-mode-active) .integrated-back,
 body.secondary-screen-active:not(.mock-mode-active) .integrated-home{
   min-height:44px!important;margin:0!important;
 }
}

/* v410 active-mock narrative density: plain exam workspace, phone-first */
.mock-authentic .official-case-narrative{overflow:auto;scrollbar-gutter:stable;overscroll-behavior:contain}
.mock-authentic .official-prior-record{max-height:22vh;overflow:auto}
@media(max-width:700px){
 body.mock-mode-active .mock-authentic .exam-card{padding:8px 8px 12px}
 .mock-authentic .official-case-record{padding:9px;margin:0 0 8px;max-height:52dvh}
 .mock-authentic .official-case-record h2{font-size:16px;margin-bottom:7px}
 .mock-authentic .official-case-meta{margin-bottom:8px}
 .mock-authentic .official-case-meta>div{padding:5px 6px}
 .mock-authentic .official-case-instruction{padding:6px 7px;margin-bottom:8px;font-size:11px}
 .mock-authentic .official-case-record h3{font-size:12px;margin-bottom:5px}
 .mock-authentic .official-case-narrative{max-height:25dvh;font-size:13px;line-height:1.38;padding-right:4px}
 .mock-authentic .official-case-narrative p{margin-bottom:7px}
 .mock-authentic .official-prior-record{font-size:12px;max-height:14dvh;margin-top:7px;padding:7px}
 .mock-authentic .question{font-size:14px;line-height:1.36;padding-top:9px!important;margin-top:9px!important}
 .mock-authentic .answers{gap:6px;margin-top:7px}
 .mock-authentic .answer{min-height:42px;padding:8px 9px;font-size:13px;line-height:1.3}
 .mock-authentic .mock-status{padding-top:4px;padding-bottom:4px}
 .mock-authentic .question-map{max-height:64px}
}
@media(max-width:390px) and (max-height:700px){
 .mock-authentic .official-case-record{max-height:46dvh}
 .mock-authentic .official-case-narrative{max-height:20dvh}
 .mock-authentic .official-case-meta>div:nth-child(3),.mock-authentic .official-case-meta>div:nth-child(4){display:none}
}

/* v412 phone mock workspace: prioritize case record + decision over chrome */
@media(max-width:700px){
 body.mock-mode-active .mock-authentic .exam-top{position:sticky;top:0;z-index:5;padding:6px 7px;min-height:36px}
 body.mock-mode-active .mock-authentic .exam-top strong{font-size:.82rem}
 body.mock-mode-active .mock-authentic .mock-status{min-height:34px;margin:3px 0 5px;font-size:.72rem}
 body.mock-mode-active .mock-authentic .case-cluster-head{padding:5px 7px;margin-bottom:5px}
 body.mock-mode-active .mock-authentic .case-cluster-head .eyebrow{font-size:.62rem}
 body.mock-mode-active .mock-authentic .progress{height:3px;margin:3px 0 6px}
 body.mock-mode-active .mock-authentic .qnum{margin-bottom:5px;font-size:.72rem}
}

/* v421 current-format full-mock workspace: dense longitudinal record + stable decision area */
body.mock-mode-active .mock-authentic .exam-card{display:flex;flex-direction:column;min-height:0}
body.mock-mode-active .mock-authentic .official-case-record{min-height:0}
body.mock-mode-active .mock-authentic .official-case-narrative{max-height:48vh;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable}
body.mock-mode-active .mock-authentic .question{flex:0 0 auto}
body.mock-mode-active .mock-authentic .answers{flex:0 0 auto}
@media(max-width:700px){
 body.mock-mode-active .exam-shell.mock-authentic{min-height:100dvh;padding:7px}
 body.mock-mode-active .mock-authentic .exam-card{min-height:calc(100dvh - 170px);padding:8px}
 body.mock-mode-active .mock-authentic .official-case-record{display:flex;flex-direction:column;max-height:58dvh;min-height:310px;overflow:hidden;margin-bottom:8px}
 body.mock-mode-active .mock-authentic .official-case-narrative{flex:1 1 auto;min-height:210px;max-height:none!important;overflow-y:auto!important;padding:8px 7px 8px 0;font-size:13px;line-height:1.42;border-top:1px solid #d0d0d0;border-bottom:1px solid #d0d0d0}
 body.mock-mode-active .mock-authentic .official-prior-record{flex:0 0 auto;max-height:78px;overflow:auto}
 body.mock-mode-active .mock-authentic .question{position:relative;z-index:2;background:#fff;margin:0;padding:9px 4px 5px!important;font-size:14px;line-height:1.35}
 body.mock-mode-active .mock-authentic .answers{background:#fff;margin-top:4px;gap:5px}
 body.mock-mode-active .mock-authentic .answer{min-height:40px;padding:7px 8px;font-size:12.8px;line-height:1.28}
}
@media(max-width:390px) and (max-height:700px){
 body.mock-mode-active .mock-authentic .official-case-record{max-height:54dvh;min-height:260px}
 body.mock-mode-active .mock-authentic .official-case-narrative{min-height:170px}
}
/* v423 — longitudinal Mini Mock workspace */
.mini-longitudinal-record{border:1px solid #b9c3cf;background:#f7f8fa;margin:12px 0 18px;border-radius:8px;overflow:hidden}.mini-record-head{display:flex;justify-content:space-between;gap:12px;padding:10px 12px;background:#e9edf1;border-bottom:1px solid #c8d0d8;font-size:.9rem}.mini-record-instruction{padding:8px 12px;font-size:.82rem;color:#4c5661;border-bottom:1px solid #d5dbe1}.mini-record-scroll{height:min(48vh,430px);min-height:260px;overflow-y:auto;overscroll-behavior:contain;padding:14px 16px;background:#fff;line-height:1.55;scrollbar-gutter:stable}.mini-record-scroll p{margin:0 0 1em}.mini-record-scroll details{border-top:1px solid #d9dee4;padding-top:10px;margin-top:12px}.mini-record-scroll summary{cursor:pointer;font-weight:700}@media(max-width:600px){.mini-record-head{display:block}.mini-record-head b{display:block;margin-top:4px}.mini-record-scroll{height:46vh;min-height:300px}.exam-shell .exam-card:has(.mini-longitudinal-record) .question{position:relative;background:#fff;padding-top:10px}.exam-shell .exam-card:has(.mini-longitudinal-record) .answers{background:#fff}}

/* v425 Study Lessons controlled hub */
.study-hub-tabs{position:sticky;top:8px;z-index:20;display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0;padding:10px;border:1px solid var(--line);border-radius:18px;background:rgba(7,17,38,.94);backdrop-filter:blur(14px)}
.study-hub-tabs button{min-height:52px;border:1px solid var(--line);border-radius:13px;background:var(--card);color:var(--muted);font-weight:800;padding:10px}
.study-hub-tabs button.active{color:#fff;border-color:#55d9cf;box-shadow:0 0 0 1px rgba(85,217,207,.25),0 0 22px rgba(85,217,207,.13)}
.study-pane[hidden]{display:none!important}.study-pane.active{animation:studyPaneIn .18s ease-out}@keyframes studyPaneIn{from{opacity:.4;transform:translateY(4px)}to{opacity:1;transform:none}}
.concept-card{align-self:start}.exam-example-btn{margin-top:12px}.exam-example{margin-top:14px;padding:16px;border:1px solid var(--line);border-radius:14px;background:rgba(3,12,29,.55)}
.exam-example-record{max-height:390px;overflow:auto;padding:12px 14px;border:1px solid rgba(255,255,255,.09);border-radius:12px;background:rgba(255,255,255,.025);scrollbar-gutter:stable}
.exam-example-record p{line-height:1.65}.exam-clue{border-radius:8px;transition:.2s}.exam-clue.revealed{padding:8px;background:rgba(77,220,200,.13);box-shadow:inset 3px 0 #55d9cf}
.exam-clue-teach{margin-top:12px;padding:12px;border-radius:12px;background:rgba(68,130,255,.1)}.exam-clue-teach small{display:block;margin-top:7px;color:var(--muted)}
.practice-level-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.practice-level{text-align:left;color:inherit;cursor:pointer}.practice-level b,.practice-level span{display:block}.practice-level span{color:var(--muted);margin-top:6px}
.sequence-slot{min-height:62px;transition:.18s}.sequence-slot.correct-glow,.dsm-drop.correct-glow{border-color:#55d9cf!important;box-shadow:0 0 0 1px rgba(85,217,207,.45),0 0 18px rgba(85,217,207,.24)}
.dsm-duration-bank{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.dsm-duration-chip{border:1px solid var(--line);border-radius:999px;padding:9px 12px;background:var(--card);color:inherit;cursor:grab}.dsm-duration-chip.selected{outline:2px solid #55d9cf}.dsm-duration-chip.used{opacity:.35;pointer-events:none}
.dsm-match-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.dsm-drop{min-height:100px;border:1px dashed rgba(255,255,255,.2);border-radius:14px;padding:12px;transition:.18s}.dsm-drop>strong,.dsm-drop>span,.dsm-teach b,.dsm-teach small{display:block}.dsm-drop>span,.dsm-teach small{color:var(--muted);margin-top:5px}.dsm-teach{margin-top:9px;padding-top:9px;border-top:1px solid var(--line)}
@media(max-width:640px){.study-hub-tabs{top:4px;grid-template-columns:1fr;padding:7px;gap:6px}.study-hub-tabs button{min-height:42px}.guide-grid,.practice-level-grid,.dsm-match-grid{grid-template-columns:1fr!important}.exam-example-record{max-height:44vh}.study-pane{padding-bottom:12px}}

@media(max-width:700px){
 #app{padding-top:12px!important}.study-library-head{display:block;padding:15px;border-radius:19px}.study-library-brand{gap:10px}.study-library-brand h1{font-size:1.55rem!important;margin-top:.15rem}.study-library-brand p{font-size:.78rem;line-height:1.42}.study-library-quick{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:12px}.study-library-quick button{min-height:54px}.study-domain-search{margin:12px 0 8px}.study-domain-search input{min-height:44px}.study-domain-list{gap:7px}.study-domain-row{grid-template-columns:44px 1fr 20px;gap:10px;min-height:68px;padding:9px 10px;border-radius:14px}.study-domain-icon{width:42px;height:42px;border-radius:12px;font-size:1.3rem}.study-domain-copy strong{font-size:.82rem}.study-domain-copy small{font-size:.68rem}.study-domain-chevron{font-size:1.55rem}
 .guide-hero{padding:15px!important;border-radius:19px!important}.guide-hero h1{font-size:1.55rem!important}.guide-hero .lead{font-size:.78rem;line-height:1.45}.guide-hero .learning-path{padding:9px 10px;margin:9px 0}.guide-hero .guide-meta{margin-top:8px}.guide-hero .guide-meta span{font-size:.66rem;padding:5px 7px}.guide-hero .actions{margin-top:9px}.guide-hero .actions .btn{font-size:.7rem;padding:9px 10px}
 .study-hub-tabs{position:sticky!important;top:70px!important;grid-template-columns:repeat(3,1fr)!important;margin:8px auto 12px!important}.study-hub-tabs button{min-height:43px!important;padding:5px!important;font-size:.68rem!important;line-height:1.12}.study-pane-head{align-items:flex-start;margin:6px 0 9px}.study-pane-head h2{font-size:1.1rem}.study-pane-head p{font-size:.72rem;line-height:1.4}.study-pane-count{font-size:.62rem;padding:5px 7px}
 .concept-list{gap:7px}.concept-row{grid-template-columns:40px minmax(0,1fr);gap:9px;padding:11px;border-radius:14px}.concept-row-icon{width:38px;height:38px;border-radius:11px;font-size:1.05rem;align-self:start}.concept-row-copy h3{font-size:.88rem}.concept-row-copy p{font-size:.7rem;line-height:1.42}.exam-example-launch{grid-column:2;width:100%;min-width:0;padding:8px 9px;text-align:left;display:flex;justify-content:space-between}
 .exam-example-overlay{padding:0;background:#061525}.exam-example-shell{width:100%;height:100dvh;border:0;border-radius:0}.exam-example-top{padding:calc(10px + env(safe-area-inset-top)) 12px 10px}.exam-example-concept{padding:9px 12px}.exam-example-tabs{padding:5px}.exam-example-tabs button{min-height:39px;font-size:.72rem}.exam-example-case{padding:9px 10px calc(10px + env(safe-area-inset-bottom));gap:8px}.exam-example-scroll{padding:13px;border-radius:12px}.exam-example-scroll p{font-size:.84rem;line-height:1.55}.exam-reveal-main{min-height:48px}.exam-example-teaching{padding:10px;grid-template-columns:34px 1fr}.teaching-bulb{width:32px;height:32px;font-size:1rem}
 .practice-level-grid,.dsm-match-grid{grid-template-columns:1fr!important}.practice-level{min-height:82px!important;padding:13px!important}
}


/* v426 — production alignment to the approved 8-screen JG visual */
body:not(.mock-mode-active){--jg-navy:#071626;--jg-card:#0c2742;--jg-card2:#102f4e;--jg-cyan:#35d4d8;--jg-teal:#26d7b0;--jg-blue:#3c86ff}
body:not(.mock-mode-active) .topbar{background:linear-gradient(180deg,rgba(5,18,34,.98),rgba(8,28,48,.95));border-bottom:1px solid rgba(53,212,216,.18)}
body:not(.mock-mode-active) .brand-mark{background:linear-gradient(145deg,#18b9d1,#28d8a8);box-shadow:0 0 22px rgba(53,212,216,.24)}
.approved-home-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;max-width:760px;margin:0 auto}
.approved-home-grid .home-tile{min-height:178px!important;display:grid!important;grid-template-columns:1fr!important;align-content:center!important;justify-items:center!important;text-align:center!important;padding:18px!important;border:1px solid rgba(53,212,216,.25)!important;border-radius:18px!important;background:linear-gradient(155deg,#0d3153,#0b2240)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.03),0 14px 34px rgba(0,0,0,.23)!important}
.approved-home-grid .home-tile:hover{border-color:#36e2dc!important;box-shadow:0 0 0 1px rgba(53,212,216,.22),0 0 26px rgba(53,212,216,.12)!important;transform:translateY(-2px)}
.approved-home-grid .home-tile>span:nth-child(2){display:block!important}.approved-home-grid small,.approved-home-grid strong,.approved-home-grid em{display:block!important}.approved-home-grid small{font-size:.62rem!important;color:#67e9df!important;letter-spacing:.09em!important}.approved-home-grid strong{font-size:1.12rem!important;margin-top:5px!important;color:#fff!important}.approved-home-grid em{font-size:.72rem!important;color:#9eb7ce!important;margin-top:5px!important;font-style:normal!important}
.tile-loop,.tile-bars{width:54px;height:54px;display:grid;place-items:center;margin-bottom:8px;border-radius:16px;background:linear-gradient(145deg,rgba(38,215,176,.18),rgba(60,134,255,.16));border:1px solid rgba(53,212,216,.22);font-size:1.8rem;color:#45e2ce}.tile-bars{font-size:1rem;letter-spacing:2px;color:#53db78}
.approved-bottom-nav{grid-template-columns:repeat(5,minmax(0,1fr))!important;background:#07182a!important;border-top:1px solid rgba(53,212,216,.18)!important}.approved-bottom-nav button{font-size:.66rem!important;color:#a7b9cc!important}.approved-bottom-nav button span{font-size:1.15rem!important}.approved-bottom-nav button:hover,.approved-bottom-nav button:focus-visible{color:#47e6dc!important;background:rgba(53,212,216,.06)!important}

/* Study Library */
.study-library-premium{max-width:900px;margin:0 auto}.study-library-head{padding:20px;border:1px solid rgba(53,212,216,.24);border-radius:22px;background:radial-gradient(420px 180px at 92% 0%,rgba(38,215,176,.14),transparent 70%),linear-gradient(145deg,#0a1e34,#0d2a45);box-shadow:0 24px 60px rgba(0,0,0,.25)}.study-library-head{display:grid;grid-template-columns:1fr auto;gap:18px}.study-library-brand{display:flex;gap:14px}.study-library-brand h1{font-size:2.15rem;margin:.2rem 0 .45rem}.study-library-brand p{margin:0;color:#9db4ca}.study-library-quick{display:grid;grid-template-columns:repeat(2,130px);gap:8px;align-self:end}.study-library-quick button{border:1px solid rgba(96,165,250,.2);border-radius:13px;background:#0a1d31;color:#fff;padding:10px;text-align:left}.study-library-quick b,.study-library-quick span{display:block}.study-library-quick b{font-size:.76rem}.study-library-quick span{font-size:.65rem;color:#8fa8c0;margin-top:3px}
.study-domain-search{display:block;margin:14px 0 9px}.study-domain-search span{display:block;margin:0 0 5px 4px;font-size:.66rem;color:#7fe7df;text-transform:uppercase;font-weight:900;letter-spacing:.09em}.study-domain-search input{width:100%;height:46px;border:1px solid rgba(96,165,250,.2);border-radius:13px;background:#091c30;color:#fff;padding:0 14px}
.study-domain-list{display:grid;gap:8px}.study-domain-row{width:100%;display:grid;grid-template-columns:48px 1fr 24px;align-items:center;gap:11px;min-height:72px;padding:10px 12px;border:1px solid rgba(96,165,250,.18);border-radius:15px;background:linear-gradient(145deg,#0f2c49,#0a2037);color:#fff;text-align:left}.study-domain-row:hover{border-color:#39ddd7}.study-domain-icon{width:44px;height:44px;display:grid;place-items:center;border:1px solid rgba(53,212,216,.2);border-radius:13px;background:rgba(53,212,216,.08);font-size:1.3rem}.study-domain-copy strong,.study-domain-copy small{display:block}.study-domain-copy strong{font-size:.9rem}.study-domain-copy small{font-size:.69rem;color:#93acc4;margin-top:3px}.study-domain-copy i{display:block;width:min(220px,100%);height:3px;margin-top:7px;background:rgba(100,116,139,.25);border-radius:8px;overflow:hidden}.study-domain-copy i em{display:block;height:100%;background:linear-gradient(90deg,#2dd4bf,#3b82f6)}.study-domain-chevron{font-size:1.6rem;color:#64e8df}

/* Domain hub + concepts */
.guide-hero{max-width:980px!important;padding:20px!important;background:radial-gradient(500px 190px at 100% 0,rgba(53,212,216,.12),transparent 68%),linear-gradient(145deg,#091d32,#0d2c48)!important;border-color:rgba(53,212,216,.22)!important}.guide-hero h1{font-size:2rem!important}.study-hub-tabs{max-width:980px;margin:10px auto 16px!important;padding:6px!important;grid-template-columns:repeat(3,1fr)!important;background:#071a2d!important;border-color:rgba(53,212,216,.18)!important}.study-hub-tabs button{min-height:44px!important;border:0!important;background:transparent!important;color:#9eb6cc!important;font-size:.75rem}.study-hub-tabs button.active{background:linear-gradient(135deg,#168fb8,#1ebaa1)!important;color:#fff!important;border-radius:10px!important}
.study-pane{max-width:980px;margin:0 auto}.study-pane-head{display:flex;justify-content:space-between;align-items:end;gap:14px;margin:7px 0 10px}.study-pane-head h2{font-size:1.25rem;margin:.25rem 0}.study-pane-head p{max-width:700px;margin:0;color:#95acc2;font-size:.8rem}.study-pane-count{padding:6px 9px;border:1px solid rgba(53,212,216,.2);border-radius:999px;color:#64e7de;font-size:.66rem;font-weight:900}
.concept-list{display:grid;gap:8px}.concept-row{display:grid;grid-template-columns:44px minmax(0,1fr) 120px;gap:11px;align-items:center;padding:12px;border:1px solid rgba(96,165,250,.17);border-radius:15px;background:linear-gradient(145deg,#102c49,#0a2037)}.concept-row-icon{width:40px;height:40px;border:1px solid rgba(53,212,216,.2);border-radius:12px;background:rgba(53,212,216,.08);display:grid;place-items:center}.concept-row-copy small{color:#4de0d6;font-size:.61rem;text-transform:uppercase;font-weight:900}.concept-row-copy h3{margin:3px 0;font-size:.93rem}.concept-row-copy p{margin:0;color:#9eb3c7;font-size:.72rem;line-height:1.45}.exam-example-launch{border:1px solid rgba(53,212,216,.28);border-radius:12px;background:linear-gradient(145deg,rgba(14,119,150,.5),rgba(15,125,105,.4));color:#fff;padding:9px;font-size:.7rem;font-weight:900}
.practice-level{background:linear-gradient(145deg,#102c49,#0a2037)!important;border-color:rgba(96,165,250,.18)!important}

/* Full-screen Exam Example */
.exam-example-overlay{position:fixed;inset:0;z-index:10050;display:grid;place-items:center;padding:18px;background:rgba(1,7,16,.82);backdrop-filter:blur(10px)}.exam-example-shell{width:min(760px,100%);height:min(850px,calc(100dvh - 36px));display:grid;grid-template-rows:auto auto auto 1fr;background:#07182a;border:1px solid rgba(53,212,216,.25);border-radius:22px;overflow:hidden;box-shadow:0 30px 100px rgba(0,0,0,.55)}.exam-example-top{display:grid;grid-template-columns:auto 1fr auto;align-items:center;padding:12px 14px;background:#082038;border-bottom:1px solid rgba(96,165,250,.15)}.exam-example-top>div{text-align:center}.exam-example-top strong,.exam-example-top small{display:block}.exam-example-top small,.exam-example-top>span{color:#8ca8c0;font-size:.65rem}.exam-example-back{border:0;background:transparent;color:#62e7df;font-weight:900}.exam-example-concept{padding:10px 14px;background:linear-gradient(90deg,rgba(31,133,176,.16),rgba(31,184,156,.08));border-bottom:1px solid rgba(96,165,250,.12)}.exam-example-concept span,.exam-example-concept strong{display:block}.exam-example-concept span{font-size:.61rem;color:#5fe5dc;text-transform:uppercase;font-weight:900}.exam-example-concept strong{font-size:.85rem;margin-top:3px}.exam-example-tabs{display:grid;grid-template-columns:1fr 1fr;padding:5px;background:#071729}.exam-example-tabs button{min-height:40px;border:0;border-radius:10px;background:transparent;color:#9eb5ca;font-weight:900}.exam-example-tabs button.active{background:linear-gradient(135deg,#1391b5,#1ab39a);color:#fff}.exam-example-case{display:grid;grid-template-rows:1fr auto;gap:8px;min-height:0;padding:10px}.exam-example-case[hidden]{display:none!important}.exam-example-scroll{overflow:auto;min-height:0;padding:15px;border-radius:12px;background:#f8fbff;color:#1c2b41}.exam-example-scroll p{font-size:.86rem;line-height:1.58}.exam-example-scroll .exam-clue.revealed{background:#fff0a8!important;color:#25344a!important;box-shadow:inset 3px 0 #e7b624!important;padding:7px!important}.exam-reveal-main{min-height:50px!important;background:linear-gradient(135deg,#128eae,#12a783)!important}.exam-example-teaching{display:grid;grid-template-columns:38px 1fr;gap:10px;padding:11px;border:1px solid rgba(53,212,216,.18);border-radius:12px;background:rgba(15,72,93,.32)}.teaching-bulb{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;color:#ffd55e;background:rgba(255,210,80,.1)}.exam-example-teaching span,.exam-example-teaching strong{display:block}.exam-example-teaching span{font-size:.61rem;color:#66e8df;text-transform:uppercase;font-weight:900}.exam-example-teaching p{font-size:.7rem;color:#9db2c6;margin:.4rem 0 0}

/* Interactive / DSM */
.sequence-slot.correct-glow,.dsm-drop.correct-glow{border-color:#45e4d8!important;box-shadow:0 0 0 1px rgba(69,228,216,.35),0 0 18px rgba(69,228,216,.2)!important}.dsm-studio{background:radial-gradient(360px 150px at 100% 0,rgba(82,80,255,.16),transparent 65%),linear-gradient(145deg,#102b48,#0a1e34)!important}.dsm-duration-chip{background:#12304f!important}.dsm-drop{background:#091e33!important}

/* iPhone */
@media(max-width:700px){
 #app{padding-top:10px!important}.dashboard-welcome{display:none!important}.approved-home-grid{grid-template-columns:repeat(2,1fr)!important;gap:8px!important}.approved-home-grid .home-tile{min-height:135px!important;padding:12px!important;border-radius:15px!important}.approved-home-grid strong{font-size:.9rem!important}.approved-home-grid em{font-size:.62rem!important}.approved-home-grid small{font-size:.55rem!important}.approved-home-grid .tile-art,.approved-home-grid .tile-screen,.approved-home-grid .tile-calendar,.tile-loop,.tile-bars{transform:scale(.82);margin-bottom:2px!important}
 .study-library-head{display:block;padding:14px;border-radius:18px}.study-library-brand h1{font-size:1.45rem!important}.study-library-brand p{font-size:.73rem}.study-library-brand .feature-mark{display:none}.study-library-quick{grid-template-columns:repeat(2,1fr);margin-top:10px}.study-library-quick button{min-height:48px}.study-domain-search input{height:42px}.study-domain-row{grid-template-columns:40px 1fr 18px;min-height:62px;padding:8px}.study-domain-icon{width:37px;height:37px;font-size:1.05rem}.study-domain-copy strong{font-size:.78rem}.study-domain-copy small{font-size:.62rem}
 .guide-hero{padding:13px!important;border-radius:18px!important}.guide-hero .feature-mark,.guide-hero .neural-mark{display:none!important}.guide-hero h1{font-size:1.4rem!important}.guide-hero .lead{font-size:.73rem;line-height:1.4}.guide-hero .learning-path{padding:8px;margin:7px 0}.guide-hero .guide-meta span{font-size:.6rem;padding:4px 6px}.guide-hero .actions{margin-top:7px}.guide-hero .actions .btn{font-size:.64rem;padding:8px}
 .study-hub-tabs{position:sticky!important;top:69px!important;margin:7px auto 10px!important}.study-hub-tabs button{min-height:40px!important;padding:4px!important;font-size:.61rem!important;line-height:1.12}.study-pane-head{align-items:start}.study-pane-head h2{font-size:1.02rem}.study-pane-head p{font-size:.67rem}.study-pane-count{font-size:.56rem}
 .concept-row{grid-template-columns:36px 1fr;gap:8px;padding:9px}.concept-row-icon{width:34px;height:34px;font-size:.92rem}.concept-row-copy h3{font-size:.8rem}.concept-row-copy p{font-size:.64rem}.exam-example-launch{grid-column:2;width:100%;text-align:left;display:flex;justify-content:space-between;padding:7px}
 .exam-example-overlay{padding:0;background:#061525}.exam-example-shell{height:100dvh;width:100%;border:0;border-radius:0}.exam-example-top{padding:calc(9px + env(safe-area-inset-top)) 10px 9px}.exam-example-tabs button{min-height:38px;font-size:.66rem}.exam-example-case{padding:8px 9px calc(8px + env(safe-area-inset-bottom))}.exam-example-scroll{padding:12px}.exam-example-scroll p{font-size:.8rem;line-height:1.52}.exam-reveal-main{min-height:46px!important}
 .approved-bottom-nav button{font-size:.58rem!important}
}


/* v427 iPhone Study Library fit repair — compact without clipping */
@media (max-width:700px){
  :root{--jg-phone-dock-h:64px!important;--jg-topbar-h:58px!important;--jg-phone-gutter:8px!important}
  body:not(.mock-mode-active) .topbar{height:58px!important;min-height:58px!important;padding:0 10px!important}
  body:not(.mock-mode-active) .topbar .brand-mark{width:34px!important;height:34px!important;border-radius:11px!important}
  body:not(.mock-mode-active) .topbar .brand strong{font-size:.82rem!important}
  body:not(.mock-mode-active) .topbar .brand small{display:none!important}
  body:not(.mock-mode-active) .top-actions{gap:4px!important}
  body:not(.mock-mode-active) .top-actions .icon-btn{width:32px!important;height:32px!important;font-size:.72rem!important}

  #app.study-control-active{
    width:calc(100% - 16px)!important;
    min-height:0!important;height:auto!important;
    padding:6px 0 calc(70px + env(safe-area-inset-bottom))!important;
    overflow:visible!important;
  }
  .study-library-premium{width:100%!important;max-width:none!important;margin:0!important}
  .study-library-head{
    display:block!important;
    padding:10px!important;
    border-radius:15px!important;
    margin:0 0 7px!important;
  }
  .study-library-brand{display:block!important}
  .study-library-brand .feature-mark{display:none!important}
  .study-library-brand .eyebrow{font-size:.58rem!important}
  .study-library-brand h1{
    font-size:1.12rem!important;line-height:1.05!important;
    margin:2px 0 4px!important;letter-spacing:-.02em!important;
  }
  .study-library-brand p{
    font-size:.66rem!important;line-height:1.25!important;
    margin:0!important;white-space:normal!important;
  }
  .study-library-quick{
    display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:5px!important;margin-top:8px!important;
  }
  .study-library-quick button{
    min-height:39px!important;padding:6px 7px!important;border-radius:10px!important;
  }
  .study-library-quick b{font-size:.63rem!important;line-height:1.05!important}
  .study-library-quick span{font-size:.54rem!important;line-height:1.05!important;margin-top:2px!important}

  .study-domain-search{margin:7px 0 6px!important}
  .study-domain-search span{font-size:.55rem!important;margin:0 0 3px 3px!important}
  .study-domain-search input{
    height:37px!important;min-height:37px!important;
    padding:0 11px!important;border-radius:11px!important;
    font-size:.78rem!important;
  }

  #studyTopicList.study-domain-list{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-template-rows:repeat(5,62px)!important;
    gap:6px!important;
    margin:0!important;
  }
  #studyTopicList .study-domain-row{
    height:62px!important;min-height:62px!important;max-height:62px!important;
    grid-template-columns:31px minmax(0,1fr) 12px!important;
    gap:6px!important;
    padding:6px 7px!important;
    border-radius:12px!important;
    overflow:hidden!important;
  }
  #studyTopicList .study-domain-icon{
    width:29px!important;height:29px!important;border-radius:9px!important;
    font-size:.86rem!important;align-self:center!important;
  }
  #studyTopicList .study-domain-copy{min-width:0!important;overflow:hidden!important}
  #studyTopicList .study-domain-copy strong{
    display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:2!important;
    overflow:hidden!important;font-size:.65rem!important;line-height:1.05!important;
    white-space:normal!important;
  }
  #studyTopicList .study-domain-copy small{
    display:block!important;overflow:hidden!important;text-overflow:ellipsis!important;
    white-space:nowrap!important;font-size:.52rem!important;line-height:1!important;
    margin-top:3px!important;
  }
  #studyTopicList .study-domain-copy i{height:2px!important;margin-top:4px!important;width:100%!important}
  #studyTopicList .study-domain-chevron{font-size:1.05rem!important;line-height:1!important}

  .approved-bottom-nav{
    min-height:64px!important;height:64px!important;
    padding-bottom:env(safe-area-inset-bottom)!important;
  }
  .approved-bottom-nav button{min-height:54px!important;padding:4px 1px!important;font-size:.53rem!important}
  .approved-bottom-nav button span{font-size:.95rem!important;margin-bottom:1px!important}
}
/* Short iPhone viewport: squeeze another step rather than cover cards */
@media (max-width:700px) and (max-height:760px){
  .study-library-brand p{display:none!important}
  .study-library-quick{margin-top:5px!important}
  .study-library-quick button{min-height:34px!important}
  #studyTopicList.study-domain-list{grid-template-rows:repeat(5,55px)!important}
  #studyTopicList .study-domain-row{height:55px!important;min-height:55px!important;max-height:55px!important}
  #studyTopicList .study-domain-copy small{display:none!important}
}


/* v428 balanced full-height phone layouts */
@media (max-width:700px){
  body:not(.mock-mode-active) #app.dashboard-active,
  body:not(.mock-mode-active) #app.study-control-active{
    min-height:calc(100dvh - var(--jg-topbar-h) - var(--jg-phone-dock-h) - env(safe-area-inset-bottom))!important;
    height:calc(100dvh - var(--jg-topbar-h) - var(--jg-phone-dock-h) - env(safe-area-inset-bottom))!important;
    overflow:hidden!important;
    padding-top:8px!important;
    padding-bottom:8px!important;
  }

  /* Home: use the whole usable viewport */
  #app.dashboard-active .approved-home-grid{
    height:100%!important;
    min-height:0!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-template-rows:repeat(3,minmax(0,1fr))!important;
    gap:8px!important;
    align-content:stretch!important;
  }
  #app.dashboard-active .approved-home-grid .home-tile{
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    padding:10px!important;
    align-content:center!important;
  }

  /* Study: compact header/search, domains consume all remaining height */
  #app.study-control-active .study-library-premium{
    height:100%!important;
    min-height:0!important;
    display:grid!important;
    grid-template-rows:auto auto minmax(0,1fr)!important;
    gap:7px!important;
  }
  #app.study-control-active .study-library-head{margin:0!important}
  #app.study-control-active .study-domain-search{margin:0!important}
  #app.study-control-active #studyTopicList.study-domain-list{
    min-height:0!important;
    height:100%!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-template-rows:repeat(5,minmax(0,1fr))!important;
    gap:6px!important;
    align-content:stretch!important;
  }
  #app.study-control-active #studyTopicList .study-domain-row{
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    align-self:stretch!important;
    padding:6px 7px!important;
  }
}

/* Slightly taller phones can breathe more without creating dead space */
@media (max-width:700px) and (min-height:800px){
  #app.dashboard-active .approved-home-grid{gap:10px!important}
  #app.dashboard-active .approved-home-grid .home-tile{padding:14px!important}
  #app.study-control-active .study-library-premium{gap:9px!important}
  #app.study-control-active #studyTopicList.study-domain-list{gap:8px!important}
  #app.study-control-active #studyTopicList .study-domain-row{padding:8px!important}
}


/* v429 screenshot-driven Home fill repair */
@media (max-width:700px){
  body:not(.mock-mode-active) #app.dashboard-active{
    position:fixed!important;
    left:8px!important;right:8px!important;
    top:calc(var(--jg-topbar-h) + env(safe-area-inset-top))!important;
    bottom:calc(var(--jg-phone-dock-h) + env(safe-area-inset-bottom))!important;
    width:auto!important;height:auto!important;min-height:0!important;
    padding:8px 0!important;margin:0!important;
    overflow:hidden!important;
  }
  #app.dashboard-active .approved-home-grid{
    position:absolute!important;
    inset:8px 0!important;
    width:100%!important;height:auto!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-template-rows:repeat(3,minmax(0,1fr))!important;
    gap:10px!important;
  }
  #app.dashboard-active .approved-home-grid .home-tile{
    width:100%!important;height:100%!important;min-height:0!important;max-height:none!important;
    margin:0!important;padding:clamp(10px,2vh,20px)!important;
    display:grid!important;place-content:center!important;
  }
  #app.dashboard-active .approved-home-grid .home-tile>span:nth-child(2){
    align-self:center!important;
  }
}


/* v429 dashboard fill selector repair — dashboard-active lives on BODY, not #app */
@media (max-width:700px){
  body.dashboard-active:not(.mock-mode-active) #app{
    width:calc(100% - 16px)!important;
    height:calc(100dvh - var(--jg-topbar-h) - var(--jg-phone-dock-h) - env(safe-area-inset-bottom))!important;
    min-height:calc(100dvh - var(--jg-topbar-h) - var(--jg-phone-dock-h) - env(safe-area-inset-bottom))!important;
    padding:8px 0!important;
    overflow:hidden!important;
  }
  body.dashboard-active:not(.mock-mode-active) #app .approved-home-grid{
    height:100%!important;
    min-height:0!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-template-rows:repeat(3,minmax(0,1fr))!important;
    gap:8px!important;
    align-content:stretch!important;
  }
  body.dashboard-active:not(.mock-mode-active) #app .approved-home-grid .home-tile{
    min-height:0!important;
    height:100%!important;
    max-height:none!important;
    align-self:stretch!important;
    align-content:center!important;
    padding:10px!important;
  }
}
@media (max-width:700px) and (min-height:800px){
  body.dashboard-active:not(.mock-mode-active) #app .approved-home-grid{gap:10px!important}
  body.dashboard-active:not(.mock-mode-active) #app .approved-home-grid .home-tile{padding:14px!important}
}


/* v431 hamburger menu + Sources & References */
.top-menu-wrap{position:relative;display:block}
.menu-btn{display:flex!important;flex-direction:column;justify-content:center;align-items:center;gap:4px}
.menu-btn span{display:block;width:18px;height:2px;border-radius:4px;background:currentColor}
.app-menu[hidden]{display:none!important}
.app-menu{position:absolute;right:0;top:calc(100% + 10px);z-index:10020;width:min(330px,calc(100vw - 24px));padding:9px;border:1px solid rgba(94,234,212,.22);border-radius:17px;background:linear-gradient(165deg,#0b2138,#07182a);box-shadow:0 26px 70px rgba(0,0,0,.48);backdrop-filter:blur(18px)}
.app-menu-head{padding:9px 10px 11px;border-bottom:1px solid rgba(148,163,184,.13);margin-bottom:6px}.app-menu-head strong,.app-menu-head small{display:block}.app-menu-head strong{font-size:.95rem;color:#f1fbff}.app-menu-head small{font-size:.68rem;color:#89a2ba;margin-top:2px}
.app-menu-link{width:100%;min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:8px 10px;border:0;border-radius:10px;background:transparent;color:#dceafb;text-decoration:none;text-align:left;font:inherit;cursor:pointer}.app-menu-link:hover,.app-menu-link:focus-visible{background:rgba(45,212,191,.09);color:#fff}.app-menu-link>span{font-size:.78rem;font-weight:750}.app-menu-link>b{font-size:.76rem;color:#63e5dc;min-width:44px;text-align:right}.app-menu-sep{height:1px;background:rgba(148,163,184,.13);margin:6px 5px}
.sources-page{max-width:1000px;margin:0 auto;background:radial-gradient(520px 220px at 100% 0,rgba(45,212,191,.11),transparent 70%),linear-gradient(145deg,#0a1d32,#0d2942)!important;border-color:rgba(94,234,212,.2)!important}
.sources-hero{display:flex;justify-content:space-between;align-items:flex-start;gap:22px}.sources-hero h1{font-size:clamp(2rem,5vw,3.2rem);margin:.35rem 0}.sources-hero .lead{margin-bottom:0}.sources-method{margin:18px 0 10px;padding:14px 16px;border:1px solid rgba(45,212,191,.22);border-radius:14px;background:rgba(45,212,191,.055)}.sources-method strong{color:#78eee5}.sources-method p{margin:.35rem 0 0;color:#aec0d3;line-height:1.55}.sources-verified{display:inline-block;margin:0 0 18px;padding:6px 9px;border-radius:999px;background:rgba(59,130,246,.1);color:#a8c9ff;font-size:.7rem;font-weight:800}
.sources-group{margin-top:22px}.sources-group h2{font-size:1.2rem;border-bottom:1px solid rgba(148,163,184,.14);padding-bottom:8px}.sources-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.source-card{padding:14px;border:1px solid rgba(96,165,250,.17);border-radius:14px;background:linear-gradient(145deg,#102b47,#0a2036)}.source-card strong,.source-card small{display:block}.source-card strong{font-size:.86rem;line-height:1.3;color:#f5f9ff}.source-card small{margin-top:5px;font-size:.66rem;color:#8ca6bf}.source-card p{font-size:.72rem;line-height:1.48;color:#a7b9cb}.source-card a{display:inline-block;color:#62e5dc;font-size:.7rem;font-weight:850;text-decoration:none}.source-card a:hover{text-decoration:underline}.sources-governance{margin-top:22px;padding:16px;border:1px solid rgba(94,234,212,.2);border-radius:14px;background:rgba(7,24,42,.55)}.sources-governance h2{font-size:1rem}.sources-governance p{font-size:.78rem;line-height:1.55;color:#aabed1}
@media(max-width:700px){
 .topbar{padding-right:10px!important}.top-menu-wrap .menu-btn{width:40px!important;height:40px!important}
 .app-menu{position:fixed;right:8px;top:calc(58px + env(safe-area-inset-top));width:calc(100vw - 16px);max-height:calc(100dvh - 82px);overflow:auto;border-radius:15px}
 .sources-page{padding:15px!important}.sources-hero{display:block}.sources-hero .btn{width:100%;text-align:center;margin-top:12px}.sources-hero h1{font-size:1.7rem}.sources-hero .lead{font-size:.78rem}.sources-grid{grid-template-columns:1fr}.source-card{padding:11px}.source-card strong{font-size:.79rem}.source-card p{font-size:.68rem}.sources-method p{font-size:.72rem}
}


/* v433 authentic biopsychosocial mock hierarchy */
.mock-authentic .official-case-record>h2{margin:7px 0 5px;font-size:17px}
.mock-authentic .official-client-info{flex:0 0 auto;border:1px solid #b8b8b8;background:#f8f8f8;margin:0 0 6px}
.mock-authentic .official-client-info>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;padding:7px 9px;font-weight:700;font-size:13px;background:#f1f1f1}
.mock-authentic .official-client-info>summary::-webkit-details-marker{display:none}
.mock-authentic .official-client-info>summary:after{content:'▾';font-size:12px;margin-left:4px}
.mock-authentic .official-client-info[open]>summary:after{content:'▴'}
.mock-authentic .client-info-hint{margin-left:auto;color:#666;font-size:10px;font-weight:500}
.mock-authentic .official-client-info[open] .client-info-hint{font-size:0}.mock-authentic .official-client-info[open] .client-info-hint:after{content:'Tap to collapse';font-size:10px}
.mock-authentic .official-client-info .official-case-meta{margin:0;padding:7px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0}
.mock-authentic .official-client-info .official-case-meta>div{padding:5px 7px!important}
.mock-authentic .official-case-narrative{display:block!important}
.mock-authentic .official-general-info>h3,.mock-authentic .official-session-info>h3{font-size:15px!important;margin:0 0 7px!important}
.mock-authentic .official-general-scroll,.mock-authentic .official-session-scroll{line-height:1.42}
.mock-authentic .official-general-scroll p,.mock-authentic .official-session-scroll p{margin:0 0 9px}
@media(max-width:700px){
 body.mock-mode-active .mock-authentic .official-case-record{max-height:64dvh!important;min-height:330px}
 body.mock-mode-active .mock-authentic .official-case-record>h2{font-size:14px;margin:4px 0}
 body.mock-mode-active .mock-authentic .official-client-info>summary{padding:5px 7px;font-size:12px}
 body.mock-mode-active .mock-authentic .official-case-instruction{padding:5px 6px;margin-bottom:5px;font-size:10.5px}
 body.mock-mode-active .mock-authentic .official-case-narrative{min-height:235px!important;flex:1 1 auto;overflow-y:auto!important;padding:7px 6px 7px 0!important}
 body.mock-mode-active .mock-authentic .official-client-info .official-case-meta{font-size:11px}
}
@media(max-width:390px) and (max-height:700px){
 body.mock-mode-active .mock-authentic .official-case-record{max-height:60dvh!important;min-height:285px}
 body.mock-mode-active .mock-authentic .official-case-narrative{min-height:195px!important}
}


/* v435 locked global Study Lesson hierarchy */
.study-domain-header{margin-bottom:10px!important;padding-bottom:18px!important}
.study-domain-header .lead{margin-bottom:0!important}
.study-print-bar{margin:0 0 10px}
.study-print-bar .btn{width:100%;min-height:52px;display:flex;align-items:center;justify-content:center;gap:9px;border-radius:14px}
.study-hub-tabs{margin-top:0!important}
.study-pane[hidden]{display:none!important}
.study-pane:not(.active){display:none!important}
@media(max-width:700px){
 .study-domain-header{padding:14px 16px!important;margin-bottom:8px!important}
 .study-domain-header h1{margin:.28rem 0 .45rem!important}
 .study-domain-header .lead{font-size:.78rem!important;line-height:1.42!important}
 .study-print-bar{margin-bottom:8px}
 .study-print-bar .btn{min-height:46px}
 .study-hub-tabs{position:relative!important;top:auto!important}
}


/* v436 Core Concept focus/enlarge interaction */
.concept-row{position:relative;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.concept-row:focus-visible{outline:2px solid #55d9cf;outline-offset:2px}
.concept-collapse{display:none;position:absolute;right:12px;top:10px;width:34px;height:34px;border:1px solid rgba(94,234,212,.28);border-radius:10px;background:#0a2238;color:#eaffff;font-size:1.25rem;line-height:1;z-index:3}
body.concept-focus-open:before{content:"";position:fixed;inset:0;z-index:10040;background:rgba(2,8,18,.72);backdrop-filter:blur(7px)}
body.concept-focus-open{overflow:hidden}
.concept-row.concept-expanded{
 position:fixed!important;z-index:10050!important;
 left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important;
 width:min(680px,calc(100vw - 30px))!important;
 max-height:min(78dvh,760px)!important;overflow:auto!important;
 display:grid!important;grid-template-columns:64px minmax(0,1fr)!important;
 gap:18px!important;align-items:start!important;
 padding:24px!important;border-radius:22px!important;
 border-color:#55d9cf!important;
 background:linear-gradient(145deg,#123252,#0b2038)!important;
 box-shadow:0 30px 100px rgba(0,0,0,.62),0 0 0 1px rgba(85,217,207,.22),0 0 38px rgba(85,217,207,.12)!important;
}
.concept-row.concept-expanded .concept-collapse{display:block}
.concept-row.concept-expanded .concept-row-icon{width:58px!important;height:58px!important;font-size:1.65rem!important;border-radius:16px!important}
.concept-row.concept-expanded .concept-row-copy{padding-right:36px}
.concept-row.concept-expanded .concept-row-copy small{font-size:.72rem!important}
.concept-row.concept-expanded .concept-row-copy h3{font-size:1.45rem!important;line-height:1.18!important;margin:6px 0 10px!important}
.concept-row.concept-expanded .concept-row-copy p{font-size:1.05rem!important;line-height:1.65!important;color:#d5e2ee!important}
.concept-row.concept-expanded .exam-example-launch{
 grid-column:2!important;width:100%!important;min-height:48px!important;
 font-size:.86rem!important;margin-top:4px!important
}
@media(max-width:700px){
 .concept-row.concept-expanded{
   width:calc(100vw - 18px)!important;
   max-height:82dvh!important;
   grid-template-columns:48px minmax(0,1fr)!important;
   gap:12px!important;padding:18px 16px!important;border-radius:18px!important;
 }
 .concept-row.concept-expanded .concept-row-icon{width:44px!important;height:44px!important;font-size:1.25rem!important}
 .concept-row.concept-expanded .concept-row-copy{padding-right:28px}
 .concept-row.concept-expanded .concept-row-copy h3{font-size:1.22rem!important}
 .concept-row.concept-expanded .concept-row-copy p{font-size:1rem!important;line-height:1.62!important}
 .concept-row.concept-expanded .exam-example-launch{grid-column:1/-1!important}
 .concept-collapse{right:9px;top:8px}
}


/* v437 Core Concept Exam Example reasoning loop */
.exam-example-question{border:1px solid rgba(88,215,205,.24);background:rgba(8,35,55,.78);border-radius:14px;padding:13px 14px;margin-bottom:13px}
.exam-example-question>span{display:block;text-transform:uppercase;letter-spacing:.09em;font-size:.66rem;font-weight:800;color:#70e1d5;margin-bottom:5px}
.exam-example-question h4{margin:0 0 5px;font-size:1rem;line-height:1.38;color:#f3fbff}
.exam-example-question p{margin:0;font-size:.75rem;color:#aebfd0}
.exam-clue.clue-hidden{background:transparent!important;border-color:transparent!important;color:inherit!important}
.exam-clue.clue-hidden:before{display:none!important}
.exam-example-choices{display:grid;gap:8px;margin:14px 0 4px}
.exam-example-choice{display:grid;grid-template-columns:26px 1fr;gap:8px;text-align:left;width:100%;padding:11px 12px;border:1px solid rgba(143,174,197,.24);border-radius:12px;background:#0a2035;color:#dbe8f2;line-height:1.4;cursor:pointer}
.exam-example-choice:hover,.exam-example-choice.selected{border-color:#58d7cd;background:#10344c;box-shadow:0 0 0 1px rgba(88,215,205,.14)}
.exam-example-choice b{color:#72e1d6}
.exam-example-tabs button:disabled{opacity:.42;cursor:not-allowed}
.exam-reveal-main:disabled{opacity:.55;cursor:not-allowed}
.exam-answer-result{margin:13px 0;padding:12px 14px;border-radius:12px;border:1px solid rgba(148,163,184,.24);background:#0a2035}
.exam-answer-result.correct{border-color:rgba(72,211,161,.48);box-shadow:0 0 22px rgba(72,211,161,.08)}
.exam-answer-result.incorrect{border-color:rgba(240,177,74,.5)}
.exam-answer-result strong{display:block;margin-bottom:5px}
.exam-answer-result p{margin:4px 0;font-size:.82rem;line-height:1.45}
@media(max-width:700px){
 .exam-example-question{padding:10px 11px;margin-bottom:10px}
 .exam-example-question h4{font-size:.91rem}
 .exam-example-choice{padding:9px 10px;font-size:.8rem}
}

/* v438 Exam Example answer-result contrast repair */
.exam-example-overlay .exam-answer-result,
.exam-example-overlay .exam-answer-result p,
.exam-example-overlay .exam-answer-result span{color:#dceaf4!important}
.exam-example-overlay .exam-answer-result strong{color:#ffffff!important;font-weight:800!important}
.exam-example-overlay .exam-answer-result.correct strong{color:#9ff4d0!important}
.exam-example-overlay .exam-answer-result.incorrect strong{color:#ffd38a!important}
.exam-example-overlay .exam-answer-result{background:#0b2941!important}

/* v440 screenshot-driven mobile readability repair */
@media (max-width:700px){
  /* Enlarge artwork only; tile geometry remains untouched */
  body.dashboard-active:not(.mock-mode-active) .home-tile .tile-art{
    width:74px!important;height:74px!important;transform:scale(1.28)!important;
    transform-origin:center!important;margin-bottom:12px!important;
  }
  body.dashboard-active:not(.mock-mode-active) .home-tile .tile-screen,
  body.dashboard-active:not(.mock-mode-active) .home-tile .tile-calendar,
  body.dashboard-active:not(.mock-mode-active) .home-tile .tile-loop,
  body.dashboard-active:not(.mock-mode-active) .home-tile .tile-bars{
    transform:scale(1.22)!important;transform-origin:center!important;margin-bottom:12px!important;
  }

  /* Learning/practice question contrast — keep authentic full Mock styling separate */
  body:not(.mock-mode-active) .exam-shell .exam-card{background:#f8fafc!important;color:#102238!important}
  body:not(.mock-mode-active) .exam-shell .exam-card .question{
    color:#102238!important;background:#f8fafc!important;font-weight:800!important;
    font-size:1.08rem!important;line-height:1.48!important;
  }
  body:not(.mock-mode-active) .exam-shell .exam-card .qnum{color:#40566d!important;font-weight:800!important}
  body:not(.mock-mode-active) .exam-shell .answers{gap:10px!important}
  body:not(.mock-mode-active) .exam-shell .answer{
    background:#102238!important;color:#f7fbff!important;border-color:#50647b!important;
    font-size:1rem!important;line-height:1.5!important;padding:15px 14px!important;
  }
  body:not(.mock-mode-active) .exam-shell .answer span,
  body:not(.mock-mode-active) .exam-shell .answer b{color:#f7fbff!important}
  body:not(.mock-mode-active) .exam-shell .answer.selected{
    border-color:#50ddd2!important;box-shadow:0 0 0 2px rgba(80,221,210,.28)!important;
    background:#15344e!important;
  }
  body:not(.mock-mode-active) .exam-shell .btn-primary{font-weight:800!important}
}

/* v441 targeted phone repair: visible case text + compact choices + legible disabled CTA */
@media(max-width:700px){
 body:not(.mock-mode-active) .exam-shell .exam-card .case-box{
   background:#102238!important;color:#f4f9fd!important;border-left-color:#54d9cf!important;
   font-size:.96rem!important;line-height:1.55!important;
 }
 body:not(.mock-mode-active) .exam-shell .exam-card .case-box *,
 body:not(.mock-mode-active) .exam-shell .exam-card .case-box p,
 body:not(.mock-mode-active) .exam-shell .exam-card .case-box span,
 body:not(.mock-mode-active) .exam-shell .exam-card .case-box strong{
   color:#f4f9fd!important;
 }
 body:not(.mock-mode-active) .exam-shell .answer{
   min-height:0!important;padding:11px 12px!important;font-size:.94rem!important;line-height:1.4!important;
 }
 body:not(.mock-mode-active) .exam-shell .answers{gap:8px!important}
 body:not(.mock-mode-active) .exam-shell .btn-primary,
 body:not(.mock-mode-active) .exam-shell .btn-primary:disabled{
   background:#173b59!important;color:#ffffff!important;border:1px solid #4d728f!important;
   opacity:1!important;text-shadow:0 1px 1px rgba(0,0,0,.25)!important;
 }
 body:not(.mock-mode-active) .exam-shell .btn-primary:disabled{
   background:#294a63!important;color:#ffffff!important;cursor:not-allowed!important;
 }
}

/* v442 study/practice readability lock: every dark teaching surface uses light text */
body:not(.mock-mode-active) .exam-shell:not(.mock-authentic) .feedback,
body:not(.mock-mode-active) .exam-shell:not(.mock-authentic) .transfer,
body:not(.mock-mode-active) .exam-shell:not(.mock-authentic) .option-why,
body:not(.mock-mode-active) .exam-shell:not(.mock-authentic) .case-box{
 color:#f5f9ff!important;
}
body:not(.mock-mode-active) .exam-shell:not(.mock-authentic) .feedback *,
body:not(.mock-mode-active) .exam-shell:not(.mock-authentic) .transfer *,
body:not(.mock-mode-active) .exam-shell:not(.mock-authentic) .option-why *,
body:not(.mock-mode-active) .exam-shell:not(.mock-authentic) .case-box *{
 color:inherit!important;
}
body:not(.mock-mode-active) .exam-shell:not(.mock-authentic) .feedback .muted,
body:not(.mock-mode-active) .exam-shell:not(.mock-authentic) .transfer .muted,
body:not(.mock-mode-active) .exam-shell:not(.mock-authentic) .option-why .muted{
 color:#d5e2ee!important;
}
body:not(.mock-mode-active) .exam-shell:not(.mock-authentic) .clue{
 color:#fff3b0!important;background:#665718!important;
}
body:not(.mock-mode-active) .exam-shell:not(.mock-authentic) .answer.correct{
 background:#dff7eb!important;color:#123226!important;border-color:#43c895!important;
}
body:not(.mock-mode-active) .exam-shell:not(.mock-authentic) .answer.correct *{color:#123226!important}
body:not(.mock-mode-active) .exam-shell:not(.mock-authentic) .answer.incorrect{
 background:#fde7e7!important;color:#4a1717!important;border-color:#ef7777!important;
}
body:not(.mock-mode-active) .exam-shell:not(.mock-authentic) .answer.incorrect *{color:#4a1717!important}

/* v444 study reasoning ladder + evidence standard */
.reasoning-ladder{overflow:hidden}
.reasoning-ladder-steps{display:grid;gap:10px;margin-top:14px}
.reasoning-step{border:1px solid rgba(104,232,222,.28);border-radius:16px;background:rgba(7,29,49,.72);overflow:hidden}
.reasoning-step summary{display:flex;align-items:center;gap:12px;padding:15px 16px;cursor:pointer;font-weight:850;color:#f5f9ff}
.reasoning-step summary b{display:grid;place-items:center;min-width:34px;height:34px;border-radius:50%;background:rgba(67,215,203,.14);border:1px solid rgba(92,231,220,.34);color:#8ff7ec}
.reasoning-step p{margin:0;padding:0 16px 16px 62px;color:#d8e6f2;line-height:1.55}
@media(max-width:520px){.reasoning-step p{padding-left:16px}.reasoning-step summary{font-size:16px}}
.mastery-evidence-lock{margin-top:16px;padding:16px;border:1px solid rgba(130,154,190,.24);border-radius:18px;background:rgba(7,25,43,.62)}
.mastery-evidence-lock strong{color:#f5f9ff}.mastery-evidence-lock p{color:#cbd9e8;line-height:1.5;margin:6px 0 0}

/* v445 progressive Study Mode teaching feedback */
.study-feedback-v445{display:grid;gap:12px;color:#eaf2fb}
.study-feedback-v445 .feedback-verdict{padding:15px 16px;border-radius:16px;border:1px solid rgba(116,232,221,.28);background:#102941}
.study-feedback-v445 .feedback-verdict h3{margin:0 0 6px;color:#fff;font-size:clamp(19px,3.8vw,24px);line-height:1.22}
.study-feedback-v445 .feedback-verdict p{margin:0;color:#d7e4ef;line-height:1.5}
.study-feedback-v445 .feedback-step{border:1px solid rgba(126,159,193,.34);border-radius:16px;background:#10243b;overflow:hidden}
.study-feedback-v445 .feedback-step summary{display:flex;align-items:center;gap:11px;padding:14px 15px;color:#f8fbff;font-weight:850;cursor:pointer;list-style:none}
.study-feedback-v445 .feedback-step summary::-webkit-details-marker{display:none}
.study-feedback-v445 .feedback-step summary b{display:grid;place-items:center;flex:0 0 32px;height:32px;border-radius:50%;background:#153b50;border:1px solid rgba(94,235,219,.36);color:#8df4e9}
.study-feedback-v445 .feedback-step summary span{font-size:clamp(16px,3.5vw,19px);line-height:1.3}
.study-feedback-v445 .feedback-step-body{padding:2px 16px 16px;color:#e7eef6;font-size:16px;line-height:1.58}
.study-feedback-v445 .feedback-step-body p{color:#e7eef6}
.study-feedback-v445 .feedback-meta{color:#bfd0df!important;font-size:14px}
.study-feedback-v445 .why{display:grid;gap:9px}
.study-feedback-v445 .why>p{margin:0;padding:11px 12px;border-radius:12px;background:#172d45}
.study-feedback-v445 mark.clue{display:inline;padding:2px 5px;margin-right:5px;background:#806916;color:#fff3ad;border-radius:5px}
.study-feedback-v445 .why p span{color:#eef5fb}
.study-feedback-v445 .transfer{color:#eef5fb}
.study-feedback-v445 .transfer-feedback{color:#f4f8fc;line-height:1.5}
.study-feedback-v445 .transfer-feedback strong{color:#fff}
@media(max-width:520px){
 .study-feedback-v445{margin-left:-4px;margin-right:-4px}
 .study-feedback-v445 .feedback-step-body{font-size:16px;padding-left:14px;padding-right:14px}
 .study-feedback-v445 .feedback-step summary{padding:13px}
}

/* v446 locked Exam Example flow: question/case remains visible through reveal */
.exam-example-unified .exam-example-scroll{padding-bottom:22px}
.exam-example-choice.answer-correct{background:#dff7e9!important;border:2px solid #32a86b!important;color:#123e2b!important;box-shadow:0 0 0 3px rgba(50,168,107,.12)}
.exam-example-choice.answer-correct b,.exam-example-choice.answer-correct span{color:#123e2b!important}
.exam-example-choice.answer-incorrect{background:#fde8e8!important;border:2px solid #d65b5b!important;color:#692929!important}
.exam-example-choice.answer-incorrect b,.exam-example-choice.answer-incorrect span{color:#692929!important}
.exam-example-choice:disabled{opacity:1;cursor:default}
.exam-inline-teaching{display:grid;gap:12px;margin-top:16px}
.exam-inline-teaching[hidden]{display:none!important}
.exam-inline-teaching .exam-answer-result{margin:0}
.exam-why-best{display:grid;grid-template-columns:48px 1fr;gap:12px;padding:17px;border:1px solid rgba(75,218,204,.34);border-radius:18px;background:#0b3445;color:#edf8fa}
.exam-why-best span{display:block;color:#7ff2e5;text-transform:uppercase;font-weight:900;font-size:13px;letter-spacing:.04em}
.exam-why-best strong{display:block;margin-top:5px;color:#fff;font-size:clamp(18px,4vw,23px);line-height:1.32}
.exam-why-best p{color:#d9e9ed!important;line-height:1.55}
.exam-example-unified .exam-clue.revealed{background:#806916!important;color:#fff3ad!important;border-radius:5px;padding:2px 4px;box-decoration-break:clone;-webkit-box-decoration-break:clone}
@media(max-width:520px){.exam-why-best{grid-template-columns:38px 1fr;padding:14px}.exam-example-choice.answer-correct,.exam-example-choice.answer-incorrect{font-size:inherit}}

/* v447 coordinated Home / Adaptive Plan / Progress / responsive Mock pass */
.tile-explain{position:absolute;right:9px;top:9px;display:grid;place-items:center;width:25px;height:25px;border-radius:50%;border:1px solid rgba(210,239,255,.38);background:rgba(7,26,44,.74);color:#eefbff;font-weight:900;font-size:.8rem;z-index:4}
.home-tile{position:relative}
.tile-screen-pro{position:relative;display:grid!important;grid-template-columns:auto auto;place-items:center;gap:2px 7px;min-width:64px!important;min-height:52px!important;padding:9px!important;border:1px solid rgba(139,220,255,.42)!important;border-radius:10px!important;background:linear-gradient(155deg,#12344d,#0a1e32)!important;box-shadow:inset 0 0 0 2px rgba(75,176,231,.08),0 10px 24px rgba(0,0,0,.22)}
.tile-screen-pro:before{content:"";position:absolute;left:8px;right:8px;top:8px;height:3px;border-radius:8px;background:linear-gradient(90deg,#72e3d7 0 38%,rgba(255,255,255,.16) 38%)}
.tile-screen-pro b{font-size:1rem;color:#fff}.tile-screen-pro em{font-style:normal;font-size:.72rem;color:#9fdbea}
.tile-calendar-pro{position:relative;display:grid!important;place-items:center;border-radius:13px!important;background:linear-gradient(160deg,#0f324d,#0d2136)!important;border:1px solid rgba(106,229,216,.44)!important;box-shadow:0 10px 24px rgba(0,0,0,.2)}
.tile-calendar-pro:before{content:"";position:absolute;left:8px;right:8px;top:8px;height:8px;border-radius:5px;background:repeating-linear-gradient(90deg,#65dfd2 0 4px,transparent 4px 9px)}
.tile-calendar-pro b{font-size:1.55rem;color:#fff;margin-top:7px}
.tile-loop-pro{position:relative;display:grid!important;place-items:center;font-size:2rem!important;color:#79eee2!important;text-shadow:0 0 16px rgba(71,223,209,.25)}
.tile-loop-pro i{position:absolute;width:15px;height:15px;border-radius:50%;background:#d8fff9;box-shadow:0 0 12px rgba(116,240,225,.8);transform:translate(18px,-10px)}
.tile-bars-pro{display:flex!important;align-items:flex-end!important;justify-content:center!important;gap:5px!important;min-width:64px!important;height:54px!important}
.tile-bars-pro i{display:block;width:10px;border-radius:6px 6px 2px 2px;background:linear-gradient(#83eadf,#38aebd);box-shadow:0 0 12px rgba(90,222,213,.12)}
.tile-bars-pro i:nth-child(1){height:22px}.tile-bars-pro i:nth-child(2){height:36px}.tile-bars-pro i:nth-child(3){height:49px}

.home-explain-dialog,.study-plan-dialog{border:0;padding:0;background:transparent;color:inherit;max-width:none}
.home-explain-dialog::backdrop,.study-plan-dialog::backdrop{background:rgba(2,8,17,.76);backdrop-filter:blur(6px)}
.home-explain-card{position:relative;width:min(620px,calc(100vw - 28px));padding:24px;border:1px solid rgba(91,229,216,.3);border-radius:22px;background:linear-gradient(160deg,#0d2b45,#081a2d);box-shadow:0 32px 90px rgba(0,0,0,.55);color:#eff8ff}
.home-explain-card h2{margin:.3rem 0 .75rem;font-size:1.65rem}.home-explain-card p{color:#d4e2ee;line-height:1.6}.home-explain-close{position:absolute;right:12px;top:10px;width:36px;height:36px;border-radius:10px;border:1px solid rgba(255,255,255,.16);background:#102a42;color:#fff;font-size:1.25rem}
.home-explain-when{display:grid;gap:5px;margin:18px 0;padding:14px;border-radius:14px;background:#10283d;border:1px solid rgba(123,165,195,.18)}.home-explain-when span{color:#d9e5ee;line-height:1.45}

.adaptive-today-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;padding:18px 20px;margin:0 0 12px;border:1px solid rgba(81,225,213,.3);border-radius:20px;background:linear-gradient(145deg,rgba(12,47,68,.95),rgba(12,30,51,.96));box-shadow:0 16px 44px rgba(0,0,0,.18)}
.adaptive-today-card h2{margin:.3rem 0 .45rem}.adaptive-today-card p{margin:0;color:#ccdae7;line-height:1.45}
.adaptive-today-meta{display:flex;gap:18px;margin-top:13px;flex-wrap:wrap}.adaptive-today-meta span{display:grid}.adaptive-today-meta b{font-size:1.15rem;color:#fff}.adaptive-today-meta small{color:#9fb5c8}
.adaptive-today-actions{display:grid;gap:8px;min-width:190px}
.plan-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.plan-accommodations{margin:16px 0;padding:16px;border:1px solid rgba(117,151,183,.28);border-radius:16px}.plan-accommodations legend{padding:0 7px;font-weight:850}.plan-accommodation-toggle{display:flex!important;gap:10px!important;align-items:center!important}.plan-accommodation-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:13px}.plan-accommodation-notes{grid-column:1/-1}

.readiness-dial-card{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:20px;align-items:center}
.readiness-dial-wrap{display:grid;justify-items:center;gap:5px}
.readiness-dial{position:relative;width:220px;height:150px}
.readiness-dial-track{position:absolute;left:20px;top:10px;width:180px;height:180px;border-radius:50%;background:conic-gradient(from 225deg,#2c5369 0 75%,transparent 75% 100%);-webkit-mask:radial-gradient(circle at center,transparent 0 58px,#000 60px 100%);mask:radial-gradient(circle at center,transparent 0 58px,#000 60px 100%)}
.readiness-dial-needle{position:absolute;left:108px;top:92px;width:78px;height:4px;border-radius:4px;background:#85f2e6;transform-origin:2px 2px;transform:rotate(var(--dial-angle));box-shadow:0 0 14px rgba(91,234,221,.55)}
.readiness-dial-cap{position:absolute;left:101px;top:85px;width:18px;height:18px;border-radius:50%;background:#e8ffff;border:5px solid #1c465d;box-shadow:0 0 16px rgba(123,239,226,.35)}
.readiness-dial-score{position:absolute;left:0;right:0;bottom:7px;text-align:center}.readiness-dial-score b{font-size:2.15rem;color:#fff}.readiness-dial-score span{color:#9eb7ca}.dial-zero,.dial-mid,.dial-max{position:absolute;font-size:.7rem;color:#9fb8ca;font-weight:800}.dial-zero{left:9px;bottom:24px}.dial-mid{left:101px;top:0}.dial-max{right:0;bottom:24px}

/* Real-exam-inspired wide Mock workspace: laptop/desktop + tablet landscape */
@media (min-width:900px){
 body.mock-mode-active .exam-shell.mock-authentic{max-width:1500px;margin:0 auto;padding:12px 18px 24px}
 body.mock-mode-active .mock-authentic .exam-card{display:grid!important;grid-template-columns:minmax(360px,.82fr) minmax(520px,1.18fr);grid-template-rows:auto auto 1fr auto;grid-template-areas:"qnum record" "question record" "answers record" "actions record";column-gap:22px;align-items:start;min-height:calc(100dvh - 175px)}
 body.mock-mode-active .mock-authentic .qnum{grid-area:qnum}
 body.mock-mode-active .mock-authentic .official-case-record{grid-area:record;max-height:calc(100dvh - 205px)!important;min-height:560px!important;margin:0!important}
 body.mock-mode-active .mock-authentic .question{grid-area:question;position:sticky;top:10px;background:#fff;z-index:2;padding:16px 6px 10px!important;font-size:1rem!important}
 body.mock-mode-active .mock-authentic .answers{grid-area:answers;align-self:start;background:#fff;padding-right:4px}
 body.mock-mode-active .mock-authentic .actions{grid-area:actions;align-self:end;position:sticky;bottom:0;background:#fff;padding:12px 0 2px;z-index:3}
 body.mock-mode-active .mock-authentic .official-case-narrative{font-size:14px;line-height:1.5}
}
@media (min-width:820px) and (max-width:899px) and (orientation:landscape){
 body.mock-mode-active .mock-authentic .exam-card{display:grid!important;grid-template-columns:minmax(320px,.9fr) minmax(420px,1.1fr);grid-template-areas:"qnum record" "question record" "answers record" "actions record";column-gap:16px}
 body.mock-mode-active .mock-authentic .qnum{grid-area:qnum}.mock-authentic .official-case-record{grid-area:record}.mock-authentic .question{grid-area:question}.mock-authentic .answers{grid-area:answers}.mock-authentic .actions{grid-area:actions}
}
@media(max-width:760px){
 .adaptive-today-card{grid-template-columns:1fr;padding:14px 15px}.adaptive-today-actions{grid-template-columns:1fr 1fr;min-width:0}.plan-form-grid,.plan-accommodation-fields{grid-template-columns:1fr}.plan-accommodation-notes{grid-column:auto}
 .readiness-dial-card{grid-template-columns:1fr}.readiness-dial{transform:scale(.9);transform-origin:center}
 .tile-explain{width:24px;height:24px;right:7px;top:7px}
}

/* v448 authoritative mobile Study Plan containment */
.study-plan-dialog,.study-plan-dialog *{box-sizing:border-box}
.study-plan-dialog form,.study-plan-dialog fieldset,.study-plan-dialog label,.study-plan-dialog input,.study-plan-dialog select,.study-plan-dialog .plan-form-grid,.study-plan-dialog .plan-accommodation-fields{min-width:0!important;max-width:100%!important}
.study-plan-dialog .plan-accommodations{width:100%!important;min-inline-size:0!important;overflow:hidden!important}
.study-plan-dialog .plan-accommodations legend{max-width:100%;white-space:normal;overflow-wrap:anywhere;line-height:1.25}
.study-plan-dialog label{overflow-wrap:anywhere}
.study-plan-dialog input,.study-plan-dialog select{display:block;width:100%!important;max-width:100%!important}
.study-plan-dialog [data-accommodation-fields][hidden]{display:none!important}
@media(max-width:700px){
 .study-plan-dialog{
   left:10px!important;right:10px!important;top:calc(70px + env(safe-area-inset-top))!important;bottom:calc(10px + env(safe-area-inset-bottom))!important;
   width:calc(100vw - 20px)!important;max-width:calc(100vw - 20px)!important;margin:0!important;padding:14px!important;
 }
 .study-plan-dialog form{width:100%!important;display:block!important}
 .study-plan-dialog .plan-dialog-head{width:100%;margin:0!important;padding:0 0 10px!important}
 .study-plan-dialog .plan-form-grid{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:12px!important;width:100%!important}
 .study-plan-dialog .plan-accommodations{margin:14px 0!important;padding:12px!important}
 .study-plan-dialog .plan-accommodation-toggle{display:grid!important;grid-template-columns:24px minmax(0,1fr)!important;gap:9px!important;align-items:start!important;width:100%!important}
 .study-plan-dialog .plan-accommodation-toggle input{width:20px!important;min-width:20px!important;height:20px!important;min-height:20px!important;margin:1px 0 0!important}
 .study-plan-dialog .plan-accommodation-toggle span{min-width:0!important;font-size:.92rem;line-height:1.28;overflow-wrap:anywhere}
 .study-plan-dialog .plan-accommodation-fields{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:11px!important;width:100%!important}
 .study-plan-dialog .plan-accommodation-fields[hidden]{display:none!important}
 .study-plan-dialog label{display:grid!important;width:100%!important;gap:5px!important;font-size:.88rem!important}
 .study-plan-dialog input,.study-plan-dialog select{width:100%!important;max-width:100%!important;min-width:0!important}
}

/* v448 Study curriculum track selector + 2027 curriculum shelf */
.study-track-selector{display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,.8fr);gap:16px;align-items:center;padding:14px 16px;margin-bottom:14px;border:1px solid rgba(102,226,214,.26);border-radius:17px;background:rgba(8,31,50,.78)}
.study-track-selector>div:first-child{display:grid;gap:3px}.study-track-selector>div:first-child strong{color:#f4fbff}.study-track-selector>div:first-child span{color:#a9bdce;font-size:.82rem}
.study-track-selector .track-control{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.study-track-selector .track-control button{min-width:0}
.study-2027-compact{margin:12px 0 15px;padding:15px;border:1px solid rgba(101,222,211,.28);border-radius:17px;background:linear-gradient(145deg,rgba(11,49,67,.92),rgba(9,28,47,.94))}
.study-2027-compact-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin:4px 0 12px}.study-2027-compact-head>div{display:grid;gap:3px}.study-2027-compact-head strong{color:#fff}.study-2027-compact-head span:not(.badge){color:#b9cada;font-size:.8rem;line-height:1.4}
.study-2027-chip-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.study-2027-chip-grid button{display:grid;gap:4px;text-align:left;padding:11px 12px;border:1px solid rgba(137,170,197,.22);border-radius:12px;background:#0b2339;color:#eef8ff}
.study-2027-chip-grid button strong{font-size:.82rem;line-height:1.25}.study-2027-chip-grid button small{font-size:.7rem;color:#9fb6c8}
@media(max-width:820px){.study-track-selector{grid-template-columns:1fr}.study-2027-chip-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.study-track-selector{padding:12px}.study-track-selector .track-control{grid-template-columns:1fr 1fr}.study-2027-chip-grid{grid-template-columns:1fr}.study-2027-compact{padding:12px}}

/* v449 distinctive Home artwork — preserve locked puzzle/tree source */
.approved-home-grid .tile-screen-pro{overflow:hidden;grid-template-columns:1fr 1fr;transform:none!important}
.approved-home-grid .tile-screen-pro:after{content:"";position:absolute;left:9px;right:9px;bottom:8px;height:11px;border-left:2px solid #6ce9de;border-bottom:2px solid #6ce9de;transform:skewY(-14deg);opacity:.72}
.approved-home-grid .tile-calendar-pro{overflow:hidden;transform:none!important}
.approved-home-grid .tile-calendar-pro:after{content:"";position:absolute;left:11px;right:11px;bottom:9px;height:18px;background:radial-gradient(circle,#72e8dd 0 2px,transparent 2.5px) 0 0/11px 9px;opacity:.68}
.approved-home-grid .tile-loop-pro{width:64px!important;height:58px!important;border:1px solid rgba(105,233,220,.32);border-radius:50%!important;background:radial-gradient(circle at 50% 50%,rgba(91,232,219,.14),transparent 58%);transform:none!important}
.approved-home-grid .tile-loop-pro:before{content:"1  3  7";position:absolute;bottom:-2px;font-size:.48rem;letter-spacing:.11em;color:#a8c7d8;text-shadow:none}
.approved-home-grid .tile-bars-pro{position:relative;width:68px!important;border-bottom:2px solid rgba(126,229,221,.35);transform:none!important}
.approved-home-grid .tile-bars-pro:before{content:"";position:absolute;left:3px;right:2px;top:7px;height:32px;border-top:2px solid #7debe0;transform:skewY(-17deg);opacity:.6}
.approved-home-grid .tile-bars-pro:after{content:"";position:absolute;right:0;top:0;width:7px;height:7px;border-radius:50%;background:#d9fffb;box-shadow:0 0 10px rgba(116,240,225,.72)}
@media(min-width:900px){
 body.dashboard-active:not(.mock-mode-active) #app{max-width:1380px!important;margin:0 auto!important;width:100%!important}
 body.dashboard-active:not(.mock-mode-active) .approved-home-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;grid-template-rows:repeat(2,minmax(190px,1fr))!important;gap:16px!important;min-height:0!important}
 body.dashboard-active:not(.mock-mode-active) .approved-home-grid .home-tile{min-height:190px!important}
}
@media(min-width:700px) and (max-width:899px){
 body.dashboard-active:not(.mock-mode-active){height:auto!important;overflow:auto!important}
 body.dashboard-active:not(.mock-mode-active) #app{height:auto!important;min-height:calc(100dvh - 74px)!important;overflow:visible!important;padding-bottom:calc(110px + env(safe-area-inset-bottom))!important}
 body.dashboard-active:not(.mock-mode-active) .approved-home-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-rows:repeat(3,minmax(150px,1fr))!important;gap:12px!important}
 body.dashboard-active:not(.mock-mode-active) .approved-home-grid .home-tile{min-height:150px!important}
}
/* v450 premium adult learning games */
.tile-games{background:linear-gradient(145deg,rgba(13,54,70,.96),rgba(16,30,61,.98))}.tile-game-orbit{position:relative;width:68px;height:68px;border:1px solid rgba(111,234,218,.45);border-radius:50%;display:grid;place-items:center;box-shadow:inset 0 0 28px rgba(67,220,204,.12),0 10px 30px rgba(0,0,0,.25)}.tile-game-orbit:before,.tile-game-orbit:after{content:"";position:absolute;border:1px solid rgba(122,173,255,.38);border-radius:50%;inset:9px -7px;transform:rotate(35deg)}.tile-game-orbit:after{transform:rotate(-35deg)}.tile-game-orbit b{font-size:25px;color:#c8fff8;text-shadow:0 0 18px rgba(102,235,218,.75)}
.games-hub,.game-shell{max-width:1200px;margin:auto}.games-hero{display:grid;grid-template-columns:1.4fr .6fr;gap:24px;padding:28px;border:1px solid rgba(105,221,211,.25);border-radius:24px;background:radial-gradient(circle at 90% 10%,rgba(61,200,191,.18),transparent 35%),linear-gradient(145deg,#0a2238,#101a35);overflow:hidden}.games-hero h1{max-width:760px;margin:.2em 0;font-size:clamp(1.8rem,4vw,3.2rem)}.games-hero p{color:#b8c9d7;line-height:1.55}.game-hero-art{display:grid;place-items:center;min-height:170px}.game-tree-stage{width:130px;height:130px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(112,232,217,.35);box-shadow:0 0 60px rgba(65,216,198,.16);position:relative}.game-tree-stage:before{content:"";width:5px;height:70px;background:linear-gradient(#75d9c8,#557b65);border-radius:10px}.game-tree-stage i{position:absolute;width:76px;height:60px;top:20px;border-radius:55% 45% 52% 48%;background:radial-gradient(circle at 35% 30%,#7ce5cc,#246d65 72%)}.game-tree-stage b{position:absolute;top:25px;color:#eafff8}.game-domain-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:16px}.game-domain-card{padding:18px;border:1px solid rgba(137,170,197,.2);border-radius:18px;background:linear-gradient(150deg,rgba(12,35,56,.97),rgba(10,26,45,.97));position:relative}.game-domain-index{position:absolute;right:16px;top:12px;font-size:2rem;font-weight:800;color:rgba(138,227,216,.12)}.game-domain-card h2{margin:0 0 3px}.game-domain-card>p{margin:0 0 12px;color:#8ea8bb;font-size:.8rem}.game-domain-card>div:last-child{display:grid;gap:8px}.game-domain-card button{display:grid;grid-template-columns:1fr auto;gap:3px 12px;text-align:left;padding:12px;border-radius:12px;border:1px solid rgba(127,168,198,.18);background:#0c2940;color:#f2fbff}.game-domain-card button small{grid-column:1;color:#a9bdcc}.game-domain-card button span{grid-column:2;grid-row:1/3;align-self:center;color:#78ded2}
.game-top{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;padding:12px 0 18px}.game-exit{border:1px solid rgba(135,170,196,.25);background:#0d2940;color:#d8e9f4;border-radius:12px;padding:10px 12px}.game-top h1{margin:2px 0}.game-score{display:flex;gap:10px;align-items:center}.game-score span{display:grid;text-align:center;padding:6px 12px;border-radius:10px;background:#0c2940}.game-score small{font-size:.62rem;color:#8da6b9}.game-score button{border:0;background:transparent;color:#9db4c5}.game-stage{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(420px,1.2fr);gap:18px;align-items:stretch}.living-tree{min-height:520px;border-radius:24px;position:relative;overflow:hidden;background:linear-gradient(#091d37 0 50%,#0b3140 78%,#132e27 78%);border:1px solid rgba(105,221,211,.2)}.game-sky i{position:absolute;width:3px;height:3px;background:#d7ffff;border-radius:50%;box-shadow:60px 35px #d7ffff,150px 70px #d7ffff,240px 30px #d7ffff,300px 110px #d7ffff}.tree-ground{position:absolute;bottom:0;width:100%;height:22%;background:radial-gradient(ellipse at 50% 0,#245b45,#102f2b 65%)}.tree-trunk{position:absolute;bottom:18%;left:48%;width:22px;height:0;background:linear-gradient(90deg,#594532,#8a6543,#4e3a2c);border-radius:14px 14px 3px 3px;transition:.5s}.tree-crown{position:absolute;left:50%;bottom:48%;width:0;height:0;transition:.5s}.tree-crown i{position:absolute;width:100px;height:82px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#3d9b73,#185943 75%);opacity:0;transform:scale(.3);transition:.5s}.tree-crown i:nth-child(1){left:-110px;top:-10px}.tree-crown i:nth-child(2){left:10px;top:-25px}.tree-crown i:nth-child(3){left:-55px;top:-90px}.tree-crown i:nth-child(4){left:-45px;top:25px}.tree-crown b{position:absolute;opacity:0;width:10px;height:10px;border-radius:50%;background:#d9aa5d;box-shadow:-55px -15px #d9aa5d,45px -35px #d9aa5d,20px 20px #d9aa5d}.tree-nest,.tree-bird{position:absolute;opacity:0;transition:.4s}.tree-nest{left:52%;bottom:52%;font-size:32px;color:#b78d5d}.tree-nest span{color:#d9f2ed}.tree-bird{left:61%;bottom:67%;font-size:42px;color:#aee9e0}.stage-1 .tree-trunk{height:70px}.stage-2 .tree-trunk{height:130px}.stage-3 .tree-trunk{height:180px}.stage-3 .tree-crown,.stage-4 .tree-crown,.stage-5 .tree-crown,.stage-6 .tree-crown,.stage-7 .tree-crown,.stage-8 .tree-crown{width:1px;height:1px}.stage-4 .tree-crown i:nth-child(-n+2),.stage-5 .tree-crown i:nth-child(-n+3),.stage-6 .tree-crown i,.stage-7 .tree-crown i,.stage-8 .tree-crown i{opacity:1;transform:scale(1)}.stage-5 .tree-trunk,.stage-6 .tree-trunk,.stage-7 .tree-trunk,.stage-8 .tree-trunk{height:190px}.stage-6 .tree-crown b,.stage-7 .tree-crown b,.stage-8 .tree-crown b{opacity:1}.stage-7 .tree-nest,.stage-8 .tree-nest{opacity:1}.stage-8 .tree-bird{opacity:1}.game-card{padding:24px;border-radius:24px;background:linear-gradient(145deg,#102a43,#0b2035);border:1px solid rgba(133,175,202,.22)}.game-prompt small{color:#68d8cd;letter-spacing:.1em}.game-prompt p{padding:14px;border-left:3px solid #4ccbbb;background:rgba(0,0,0,.12);line-height:1.55}.game-options{display:grid;gap:9px}.game-options button{padding:14px;text-align:left;border:1px solid rgba(145,178,203,.24);border-radius:12px;background:#102f49;color:#eef9ff;font-size:.95rem}.game-options button.correct{border-color:#73ddaf;background:rgba(44,139,101,.28)}.game-options button.wrong{border-color:#df8c91;background:rgba(143,56,65,.22)}.game-feedback{margin-top:15px;padding-top:15px;border-top:1px solid rgba(150,180,200,.18)}.game-feedback strong{color:#bff7e8}.game-feedback p{color:#b9cad6;line-height:1.5}.game-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 2px;color:#8fa8ba;font-size:.78rem}
@media(max-width:800px){.games-hero{grid-template-columns:1fr}.game-hero-art{min-height:110px}.game-domain-grid{grid-template-columns:1fr}.game-stage{grid-template-columns:1fr}.living-tree{min-height:280px}.game-top{grid-template-columns:auto 1fr}.game-score{grid-column:1/-1;justify-content:flex-end}.game-footer{align-items:flex-start;flex-direction:column}}@media(max-width:520px){.games-hero,.game-domain-card,.game-card{padding:14px;border-radius:16px}.game-top h1{font-size:1.35rem}.living-tree{min-height:230px}.game-options button{font-size:.9rem}.game-score{justify-content:space-between;width:100%}}

/* v451 assessment-game fidelity + premium botanical progression */
.living-tree{background:radial-gradient(circle at 72% 18%,rgba(213,239,225,.10),transparent 22%),linear-gradient(#07182d 0 56%,#0c2933 76%,#172d25 76%);box-shadow:inset 0 0 80px rgba(0,0,0,.25)}
.tree-seed{position:absolute;left:calc(50% - 8px);bottom:17%;width:16px;height:10px;border-radius:65% 35% 65% 35%;background:#8c6542;transform:rotate(-18deg);box-shadow:0 3px 8px rgba(0,0,0,.35);transition:.45s}
.tree-root{position:absolute;left:50%;bottom:17%;width:2px;height:0;border-left:2px solid rgba(172,128,79,.72);transform-origin:bottom;transition:.45s}.tree-root.r1{transform:rotate(42deg)}.tree-root.r2{transform:rotate(-46deg)}
.tree-branch{position:absolute;left:50%;bottom:46%;width:5px;height:0;border-radius:8px;background:linear-gradient(#8c6542,#59402e);transform-origin:bottom;transition:.5s}.tree-branch.b1{transform:rotate(48deg)}.tree-branch.b2{transform:rotate(-50deg)}.tree-branch.b3{bottom:55%;transform:rotate(62deg)}.tree-branch.b4{bottom:58%;transform:rotate(-62deg)}
.tree-leaves{position:absolute;left:50%;bottom:48%;width:1px;height:1px}.tree-leaves i{position:absolute;width:34px;height:18px;border-radius:85% 15% 80% 20%;background:radial-gradient(circle at 30% 30%,#8acb88,#34735c 68%,#235746);opacity:0;transform:scale(.25) rotate(var(--r));transition:.45s;box-shadow:0 5px 12px rgba(0,0,0,.18)}
.tree-leaves i:nth-child(1){left:-104px;top:-30px;--r:-24deg}.tree-leaves i:nth-child(2){left:70px;top:-44px;--r:24deg}.tree-leaves i:nth-child(3){left:-75px;top:-102px;--r:-12deg}.tree-leaves i:nth-child(4){left:38px;top:-118px;--r:18deg}.tree-leaves i:nth-child(5){left:-20px;top:-150px;--r:-6deg}.tree-leaves i:nth-child(6){left:-130px;top:-82px;--r:-35deg}.tree-leaves i:nth-child(7){left:95px;top:-92px;--r:34deg}.tree-leaves i:nth-child(8){left:-48px;top:-55px;--r:8deg}.tree-fruit{position:absolute;left:50%;bottom:60%;opacity:0;transition:.4s}.tree-fruit i{position:absolute;width:11px;height:11px;border-radius:50%;background:#d5a35a;box-shadow:-62px 8px #c98951,53px -12px #dda963,18px -64px #c98951,-28px -72px #dda963}
.stage-0 .tree-seed{opacity:1}.stage-1 .tree-seed,.stage-2 .tree-seed,.stage-3 .tree-seed,.stage-4 .tree-seed,.stage-5 .tree-seed,.stage-6 .tree-seed,.stage-7 .tree-seed,.stage-8 .tree-seed{opacity:.35}.stage-1 .tree-root,.stage-2 .tree-root,.stage-3 .tree-root,.stage-4 .tree-root,.stage-5 .tree-root,.stage-6 .tree-root,.stage-7 .tree-root,.stage-8 .tree-root{height:34px}.stage-2 .tree-trunk{height:82px}.stage-3 .tree-trunk{height:145px}.stage-3 .tree-branch.b1,.stage-3 .tree-branch.b2{height:68px}.stage-4 .tree-trunk,.stage-5 .tree-trunk,.stage-6 .tree-trunk,.stage-7 .tree-trunk,.stage-8 .tree-trunk{height:190px}.stage-4 .tree-branch,.stage-5 .tree-branch,.stage-6 .tree-branch,.stage-7 .tree-branch,.stage-8 .tree-branch{height:88px}.stage-4 .tree-leaves i:nth-child(-n+3),.stage-5 .tree-leaves i:nth-child(-n+6),.stage-6 .tree-leaves i,.stage-7 .tree-leaves i,.stage-8 .tree-leaves i{opacity:1;transform:scale(1) rotate(var(--r))}.stage-6 .tree-fruit,.stage-7 .tree-fruit,.stage-8 .tree-fruit{opacity:1}.tree-stage-label{position:absolute;left:18px;bottom:14px;color:#b8d6cc;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}
.game-options button{min-height:58px;line-height:1.35}.game-prompt h2{line-height:1.25}.game-feedback .why-not{font-size:.86rem;color:#9fb6c4}
/* v452 Assessment Tree: production progression, mature + 15 color phases */
.living-tree{isolation:isolate;background:linear-gradient(#143a59 0 43%,#5d91a0 63%,#1d5948 76%,#17382e 100%);box-shadow:inset 0 0 80px rgba(0,0,0,.28)}
.living-tree .sun-glow{position:absolute;right:8%;top:12%;width:90px;height:90px;border-radius:50%;background:radial-gradient(circle,#fff7c5 0,#ffd87b 18%,rgba(255,196,91,.24) 45%,transparent 70%);filter:blur(1px)}
.distant-hills{position:absolute;left:-5%;right:-5%;bottom:21%;height:31%;opacity:.7;background:linear-gradient(145deg,transparent 0 14%,#2c6470 15% 28%,transparent 29% 35%,#376f70 36% 49%,transparent 50% 56%,#285c63 57% 72%,transparent 73%);filter:blur(.4px)}
.tree-seed{position:absolute;z-index:5;left:calc(50% - 12px);bottom:19%;width:24px;height:16px;border-radius:65% 35% 65% 35%;transform:rotate(-24deg);background:radial-gradient(circle at 35% 30%,#f2cf77,#a86f25 58%,#604017);box-shadow:0 3px 10px rgba(0,0,0,.4);transition:.6s}.stage-2 .tree-seed,.stage-3 .tree-seed,.stage-4 .tree-seed,.stage-5 .tree-seed,.stage-6 .tree-seed,.stage-7 .tree-seed,.stage-8 .tree-seed{opacity:0;transform:scale(.5)}
.tree-roots i{position:absolute;z-index:3;left:50%;bottom:18%;width:0;height:5px;transform-origin:left;border-radius:80%;background:linear-gradient(90deg,#795034,#3d2a1e);opacity:0;transition:.7s}.stage-1 .tree-roots i,.stage-2 .tree-roots i,.stage-3 .tree-roots i,.stage-4 .tree-roots i,.stage-5 .tree-roots i,.stage-6 .tree-roots i,.stage-7 .tree-roots i,.stage-8 .tree-roots i{opacity:1;width:68px}.tree-roots i:nth-child(1){transform:rotate(15deg)}.tree-roots i:nth-child(2){transform:rotate(165deg)}.tree-roots i:nth-child(3){transform:rotate(34deg)}.tree-roots i:nth-child(4){transform:rotate(146deg)}.tree-roots i:nth-child(5){transform:rotate(5deg)}.tree-roots i:nth-child(6){transform:rotate(177deg)}.tree-roots i:nth-child(7){transform:rotate(92deg);width:45px!important}
.tree-trunk{z-index:4;left:calc(50% - 15px);bottom:18%;width:30px;background:linear-gradient(90deg,#4b3023,#9a6b3f 32%,#6a432d 65%,#38251e);box-shadow:inset 4px 0 4px rgba(255,215,151,.12),8px 4px 18px rgba(0,0,0,.2)}
.stage-1 .tree-trunk{height:0}.stage-2 .tree-trunk{height:74px;width:10px;left:calc(50% - 5px)}.stage-3 .tree-trunk{height:125px;width:15px;left:calc(50% - 7px)}.stage-4 .tree-trunk{height:170px;width:22px;left:calc(50% - 11px)}.stage-5 .tree-trunk,.stage-6 .tree-trunk,.stage-7 .tree-trunk,.stage-8 .tree-trunk{height:205px}
.tree-branches i{position:absolute;z-index:4;left:50%;bottom:48%;width:0;height:9px;background:linear-gradient(90deg,#765036,#4a3025);border-radius:80%;transform-origin:left;opacity:0;transition:.6s}.stage-4 .tree-branches i:nth-child(-n+3),.stage-5 .tree-branches i,.stage-6 .tree-branches i,.stage-7 .tree-branches i,.stage-8 .tree-branches i{opacity:1}.stage-4 .tree-branches i:nth-child(-n+3){width:70px}.stage-5 .tree-branches i,.stage-6 .tree-branches i,.stage-7 .tree-branches i,.stage-8 .tree-branches i{width:105px}.tree-branches i:nth-child(1){transform:rotate(-28deg)}.tree-branches i:nth-child(2){transform:rotate(208deg)}.tree-branches i:nth-child(3){bottom:56%;transform:rotate(-12deg)}.tree-branches i:nth-child(4){bottom:58%;transform:rotate(192deg)}.tree-branches i:nth-child(5){bottom:64%;transform:rotate(-38deg);width:78px!important}.tree-branches i:nth-child(6){bottom:66%;transform:rotate(220deg);width:80px!important}.tree-branches i:nth-child(7){bottom:71%;transform:rotate(-90deg);width:65px!important}
.tree-leaves{position:absolute;z-index:6;left:50%;bottom:60%;width:1px;height:1px}.tree-leaves i{position:absolute;width:54px;height:34px;border-radius:70% 30% 70% 30%;background:linear-gradient(145deg,#78d16e,#25764f 60%,#174b39);box-shadow:inset 5px 4px 9px rgba(255,255,255,.13),0 5px 12px rgba(0,0,0,.12);opacity:0;transform:scale(.2) rotate(var(--r,0deg));transition:opacity .55s,transform .65s,background .8s,filter .8s}.stage-3 .tree-leaves i:nth-child(-n+4),.stage-4 .tree-leaves i:nth-child(-n+12),.stage-5 .tree-leaves i:nth-child(-n+22),.stage-6 .tree-leaves i,.stage-7 .tree-leaves i,.stage-8 .tree-leaves i{opacity:1;transform:scale(1) rotate(var(--r,0deg))}
.tree-leaves i:nth-child(6n+1){left:-145px;top:-55px;--r:-20deg}.tree-leaves i:nth-child(6n+2){left:-88px;top:-118px;--r:18deg}.tree-leaves i:nth-child(6n+3){left:-20px;top:-145px;--r:-8deg}.tree-leaves i:nth-child(6n+4){left:48px;top:-118px;--r:25deg}.tree-leaves i:nth-child(6n+5){left:95px;top:-55px;--r:-18deg}.tree-leaves i:nth-child(6n){left:-30px;top:-62px;--r:8deg}.tree-leaves i:nth-child(n+7):nth-child(-n+12){transform:translateY(42px) scale(1) rotate(var(--r))}.tree-leaves i:nth-child(n+13):nth-child(-n+18){transform:translateY(-45px) scale(.9) rotate(var(--r))}.tree-leaves i:nth-child(n+19):nth-child(-n+24){transform:translateX(30px) translateY(18px) scale(.88) rotate(var(--r))}.tree-leaves i:nth-child(n+25){transform:translateX(-25px) translateY(-10px) scale(.82) rotate(var(--r))}
.tree-fruit{position:absolute;z-index:7;left:50%;bottom:60%}.tree-fruit i{position:absolute;width:12px;height:14px;border-radius:50% 50% 55% 55%;background:radial-gradient(circle at 35% 25%,#ffdf7b,#d77c28 55%,#923f1d);opacity:0;transition:.5s}.stage-6 .tree-fruit i,.stage-7 .tree-fruit i,.stage-8 .tree-fruit i{opacity:1}.tree-fruit i:nth-child(1){left:-100px;top:-45px}.tree-fruit i:nth-child(2){left:-55px;top:-105px}.tree-fruit i:nth-child(3){left:25px;top:-118px}.tree-fruit i:nth-child(4){left:78px;top:-55px}.tree-fruit i:nth-child(5){left:-20px;top:-55px}.tree-fruit i:nth-child(6){left:55px;top:-90px}.tree-fruit i:nth-child(7){left:-125px;top:-10px}.tree-fruit i:nth-child(8){left:105px;top:-12px}.tree-fruit i:nth-child(9){left:-65px;top:-20px}
.tree-nest{z-index:8;left:56%;bottom:56%;width:55px;height:20px;border-radius:0 0 50% 50%;background:repeating-linear-gradient(10deg,#8b633c 0 3px,#c3955e 3px 5px);font-size:0}.tree-nest span{font-size:10px;letter-spacing:2px;color:#d9eef0}.tree-bird{z-index:9}.tree-stage-label,.tree-color-counter,.gold-badge{position:absolute;z-index:12;left:50%;transform:translateX(-50%);white-space:nowrap}.tree-stage-label{bottom:6%;padding:7px 14px;border-radius:999px;background:rgba(4,18,26,.72);backdrop-filter:blur(8px);color:#eafff8;font-weight:800}.tree-color-counter{bottom:1.8%;font-size:.72rem;color:#d8ece8}.gold-badge{top:7%;padding:8px 14px;border:1px solid rgba(255,222,115,.7);border-radius:999px;background:rgba(30,21,3,.65);color:#ffe69a;font-weight:900;letter-spacing:.08em}.mastery-aura{position:absolute;z-index:2;left:50%;bottom:28%;width:300px;height:300px;border-radius:50%;transform:translateX(-50%);opacity:0;background:radial-gradient(circle,rgba(255,224,107,.48),rgba(255,187,49,.12) 52%,transparent 70%);filter:blur(8px)}
.leaf-color-1 .tree-leaves i{filter:hue-rotate(8deg) saturate(1.08)}.leaf-color-2 .tree-leaves i{filter:hue-rotate(16deg) saturate(1.12)}.leaf-color-3 .tree-leaves i{filter:hue-rotate(25deg) saturate(1.16)}.leaf-color-4 .tree-leaves i{filter:hue-rotate(36deg) saturate(1.2)}.leaf-color-5 .tree-leaves i{filter:hue-rotate(48deg) saturate(1.22)}.leaf-color-6 .tree-leaves i{filter:hue-rotate(62deg) saturate(1.25)}.leaf-color-7 .tree-leaves i{filter:hue-rotate(78deg) saturate(1.3)}.leaf-color-8 .tree-leaves i{filter:hue-rotate(98deg) saturate(1.35)}.leaf-color-9 .tree-leaves i{filter:hue-rotate(120deg) saturate(1.4)}.leaf-color-10 .tree-leaves i{filter:hue-rotate(145deg) saturate(1.45)}.leaf-color-11 .tree-leaves i{filter:hue-rotate(170deg) saturate(1.5)}.leaf-color-12 .tree-leaves i{filter:hue-rotate(195deg) saturate(1.55)}.leaf-color-13 .tree-leaves i{filter:hue-rotate(220deg) saturate(1.6)}.leaf-color-14 .tree-leaves i{background:linear-gradient(145deg,#ffd86d,#d98b2e 62%,#9b4e1f);filter:saturate(1.35)}.golden-mastery .tree-leaves i{background:linear-gradient(145deg,#fff5a6,#f2c94c 45%,#b97812);filter:drop-shadow(0 0 8px rgba(255,218,88,.75))}.golden-mastery .tree-trunk,.golden-mastery .tree-branches i,.golden-mastery .tree-roots i{filter:sepia(.3) brightness(1.15)}.golden-mastery .mastery-aura{opacity:1;animation:goldAura 2.6s ease-in-out infinite}.golden-mastery{box-shadow:inset 0 0 100px rgba(255,204,64,.13),0 0 32px rgba(255,200,65,.18)}@keyframes goldAura{50%{transform:translateX(-50%) scale(1.12);opacity:.72}}
@media(max-width:520px){.living-tree{min-height:330px}.tree-trunk{transform:scale(.82);transform-origin:bottom}.tree-branches,.tree-leaves,.tree-fruit{transform:scale(.78);transform-origin:center bottom}.mastery-aura{width:240px;height:240px}.tree-stage-label{bottom:7%}}

/* v453 Assessment Tree — approved high-fidelity production art */
.assessment-tree-game{max-width:1120px;margin:0 auto}
.assessment-tree-game .game-top{position:relative;z-index:3}
.assessment-tree-game .game-stage{display:grid;grid-template-columns:1fr;gap:0}
.assessment-tree-game .assessment-tree-experience{position:relative;border:1px solid rgba(112,225,214,.28);border-radius:28px 28px 18px 18px;overflow:hidden;background:#071828;box-shadow:0 24px 70px rgba(0,0,0,.34)}
.assessment-tree-scene{position:relative;min-height:460px;overflow:hidden;background:#0b2435}
.assessment-tree-stage-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;display:block;animation:assessmentSceneIn .8s cubic-bezier(.2,.72,.22,1) both}
.assessment-tree-vignette{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(2,10,18,.16) 0%,transparent 28%,transparent 68%,rgba(2,10,18,.7) 100%),radial-gradient(circle at 50% 42%,transparent 35%,rgba(1,8,13,.26) 100%)}
.assessment-tree-score-ribbon{position:absolute;left:18px;top:18px;display:flex;gap:9px;z-index:3}
.assessment-tree-score-ribbon span{display:grid;min-width:76px;padding:9px 12px;border:1px solid rgba(231,249,244,.28);border-radius:13px;background:rgba(5,21,31,.68);backdrop-filter:blur(8px);box-shadow:0 10px 24px rgba(0,0,0,.2)}
.assessment-tree-score-ribbon b{font-size:1.15rem;color:#fff}.assessment-tree-score-ribbon small{font-size:.65rem;text-transform:uppercase;letter-spacing:.08em;color:#b7d4d0}
.assessment-tree-timeline{position:relative;z-index:4;margin:-44px 16px 0;padding:11px 10px 9px;display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:5px;border:1px solid rgba(211,233,225,.24);border-radius:18px;background:rgba(4,17,25,.88);backdrop-filter:blur(11px);box-shadow:0 14px 34px rgba(0,0,0,.28)}
.assessment-tree-timeline span{position:relative;display:grid;justify-items:center;gap:3px;min-width:0;color:#6f8490}
.assessment-tree-timeline span:after{content:"";position:absolute;left:calc(50% + 13px);right:calc(-50% + 13px);top:14px;height:1px;background:rgba(122,148,159,.28)}
.assessment-tree-timeline span:last-child:after{display:none}
.assessment-tree-timeline i{position:relative;z-index:2;display:grid;place-items:center;width:29px;height:29px;border-radius:50%;font-style:normal;font-size:.76rem;border:1px solid rgba(142,169,180,.36);background:#091c2b;color:#7c929c;transition:.35s}
.assessment-tree-timeline small{font-size:.56rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;letter-spacing:.01em}
.assessment-tree-timeline .reached{color:#d9eee6}.assessment-tree-timeline .reached i{color:#e4f6ec;border-color:rgba(137,226,188,.54);background:linear-gradient(145deg,#12372e,#0d252d);box-shadow:0 0 0 2px rgba(111,219,178,.08)}
.assessment-tree-timeline .current i{color:#fff3b0;border-color:#ffe08b;background:linear-gradient(145deg,#5f4a14,#2f2d20);box-shadow:0 0 0 4px rgba(255,219,105,.14),0 0 22px rgba(255,211,79,.26)}
.assessment-tree-caption{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:16px 18px 18px;background:linear-gradient(180deg,#081b2b,#071824)}
.assessment-tree-caption strong{font-size:1.04rem;color:#f4fbff}.assessment-tree-caption span{max-width:68%;font-size:.78rem;color:#a8bdc8;line-height:1.42;text-align:right}
.assessment-tree-game .assessment-game-card{margin-top:12px;padding:22px;border-radius:20px;background:linear-gradient(160deg,#0a263c,#081d30);border:1px solid rgba(103,213,203,.22);box-shadow:0 18px 46px rgba(0,0,0,.2)}
.assessment-tree-game .game-prompt small{display:block;margin-bottom:10px;color:#79e5d8;font-weight:800;letter-spacing:.13em}
.assessment-tree-game .game-prompt p{padding:16px 17px;border-left:4px solid #53d9cb;border-radius:0 10px 10px 0;background:rgba(6,20,34,.62);font-size:1rem;line-height:1.58;color:#ecf8ff}
.assessment-tree-game .game-prompt h2{margin:17px 0 13px;font-size:1.35rem;color:#f6fbff}
.assessment-tree-game .game-options{gap:10px}
.assessment-tree-game .game-options button{position:relative;min-height:64px;padding:15px 17px 15px 59px;border-radius:15px;border:1px solid rgba(111,176,203,.38);background:linear-gradient(145deg,#123850,#0e2d43);font-size:1rem;font-weight:740;color:#f4fbff;box-shadow:inset 0 1px rgba(255,255,255,.025);transition:transform .16s ease,border-color .16s ease,background .16s ease}
.assessment-tree-game .game-options button:before{content:counter(gameAnswer,upper-alpha);counter-increment:gameAnswer;position:absolute;left:15px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:31px;height:31px;border-radius:50%;border:1px solid rgba(128,219,234,.48);background:rgba(28,109,137,.48);font-weight:900;color:#eafeff}
.assessment-tree-game .game-options{counter-reset:gameAnswer}
.assessment-tree-game .game-options button:not(:disabled):active{transform:scale(.99)}
.assessment-tree-game .game-options button.correct{border-color:#6ee6af;background:linear-gradient(145deg,rgba(35,130,91,.52),rgba(13,70,62,.58))}
.assessment-tree-game .game-options button.wrong{border-color:#e58f98;background:linear-gradient(145deg,rgba(130,49,63,.48),rgba(76,35,52,.55))}
.assessment-tree-game .game-feedback{border-top-color:rgba(122,184,190,.18)}
.assessment-tree-game.golden-mastery,.assessment-tree-experience.golden-mastery{border-color:rgba(255,215,92,.62)}
.assessment-gold-aura{position:absolute;inset:7% 10% 7%;z-index:2;pointer-events:none;filter:blur(4px);animation:goldAuraPulse 2.7s ease-in-out infinite}
.assessment-gold-aura i{position:absolute;inset:12%;border-radius:50%;border:2px solid rgba(255,228,119,.42);box-shadow:0 0 45px rgba(255,201,65,.45),inset 0 0 38px rgba(255,225,124,.18)}
.assessment-gold-aura i:nth-child(2){inset:23%;animation-delay:.5s}.assessment-gold-aura i:nth-child(3){inset:34%;animation-delay:1s}
.premium-game-scene{position:relative;overflow:hidden;min-height:420px;border-radius:24px;border:1px solid rgba(105,221,211,.2);background:#071828}
.premium-game-scene img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.game-scene-shade{position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(1,9,14,.7))}
@keyframes assessmentSceneIn{0%{opacity:.35;transform:scale(1.035);filter:saturate(.82) brightness(.88)}100%{opacity:1;transform:scale(1);filter:saturate(1) brightness(1)}}
@keyframes goldAuraPulse{0%,100%{opacity:.66;transform:scale(.98)}50%{opacity:1;transform:scale(1.025)}}
@media(max-width:760px){
 .assessment-tree-game{width:100%;max-width:none}
 .assessment-tree-game .game-top{grid-template-columns:auto 1fr;gap:10px;padding-bottom:9px}
 .assessment-tree-game .game-top .game-score{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center}
 .assessment-tree-game .game-top .game-score>span{display:none}
 .assessment-tree-game .game-top h1{font-size:1.45rem;line-height:1.05}
 .assessment-tree-scene{min-height:330px}
 .assessment-tree-score-ribbon{top:12px;left:12px}.assessment-tree-score-ribbon span{min-width:65px;padding:7px 10px}
 .assessment-tree-timeline{margin:-38px 8px 0;padding:8px 5px 7px;gap:2px;border-radius:14px}
 .assessment-tree-timeline i{width:25px;height:25px;font-size:.66rem}
 .assessment-tree-timeline small{font-size:.48rem}
 .assessment-tree-caption{padding:13px 12px 14px;align-items:flex-start}
 .assessment-tree-caption strong{font-size:.95rem}.assessment-tree-caption span{font-size:.7rem;max-width:64%}
 .assessment-tree-game .assessment-game-card{margin-top:10px;padding:14px;border-radius:17px}
 .assessment-tree-game .game-prompt p{font-size:.98rem;padding:14px;line-height:1.54}
 .assessment-tree-game .game-prompt h2{font-size:1.2rem}
 .assessment-tree-game .game-options button{min-height:60px;padding:13px 12px 13px 55px;font-size:.95rem}
}
@media(max-width:420px){
 .assessment-tree-scene{min-height:286px}
 .assessment-tree-timeline{overflow-x:auto;grid-template-columns:repeat(10,46px);justify-content:start;scrollbar-width:none}
 .assessment-tree-timeline::-webkit-scrollbar{display:none}
 .assessment-tree-caption{display:grid;gap:4px}.assessment-tree-caption span{max-width:none;text-align:left}
}
@media(prefers-reduced-motion:reduce){.assessment-tree-stage-image,.assessment-gold-aura{animation:none!important}}

/* v453 seven-tile Home contract after Games launch */
@media(max-width:700px){
 body.dashboard-active:not(.mock-mode-active) #app .approved-home-grid{
   grid-template-columns:repeat(2,minmax(0,1fr))!important;
   grid-template-rows:repeat(3,minmax(0,1fr)) minmax(70px,.68fr)!important;
 }
 body.dashboard-active:not(.mock-mode-active) #app .approved-home-grid .tile-games{
   grid-column:1/-1!important;min-height:0!important;height:100%!important;
 }
}
@media(min-width:701px) and (max-width:899px){
 body.dashboard-active:not(.mock-mode-active) .approved-home-grid{
   grid-template-columns:repeat(2,minmax(0,1fr))!important;
   grid-template-rows:auto!important;
 }
 body.dashboard-active:not(.mock-mode-active) .approved-home-grid .tile-games{grid-column:1/-1!important}
}
@media(min-width:900px){
 body.dashboard-active:not(.mock-mode-active) .approved-home-grid{
   grid-template-columns:repeat(4,minmax(0,1fr))!important;
   grid-template-rows:repeat(2,minmax(170px,1fr))!important;
   gap:14px!important;
 }
}

/* v456 purpose-built games — distinct mechanics, premium domain visuals */
.purpose-game{max-width:1180px;margin:0 auto}
.purpose-game-stage{display:grid;grid-template-columns:minmax(320px,.95fr) minmax(360px,1.05fr);gap:14px;align-items:stretch}
.domain-game-visual{position:relative;min-height:560px;border-radius:26px;overflow:hidden;border:1px solid rgba(110,221,212,.27);background:#071523;box-shadow:0 26px 70px rgba(0,0,0,.32);isolation:isolate}
.domain-game-visual>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(1.06) contrast(1.04);transform:scale(1.01);transition:filter .5s ease,transform .7s ease}
.domain-game-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(2,10,17,.05),rgba(2,10,17,.12) 52%,rgba(1,8,14,.78) 100%),radial-gradient(circle at 50% 44%,transparent 36%,rgba(1,8,14,.2) 100%)}
.domain-game-progress{position:absolute;left:18px;right:18px;bottom:17px;z-index:4;display:grid;grid-template-columns:1fr auto;gap:5px 12px;padding:14px 15px;border:1px solid rgba(230,246,241,.23);border-radius:16px;background:rgba(4,18,28,.78);backdrop-filter:blur(11px);box-shadow:0 15px 32px rgba(0,0,0,.22)}
.domain-game-progress strong{font-size:1rem;color:#f4fbff}.domain-game-progress span{font-size:.72rem;color:#b0c8d1;text-align:right}.domain-game-progress em{grid-column:1/-1;height:5px;border-radius:8px;background:rgba(255,255,255,.11);overflow:hidden}.domain-game-progress em i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#4dd6c9,#85e7bd,#e6c96d);box-shadow:0 0 18px rgba(91,223,198,.4);transition:width .65s cubic-bezier(.2,.8,.2,1)}
.domain-game-motif{position:absolute;inset:0;z-index:3;pointer-events:none}
.domain-game-motif i{position:absolute;opacity:.18;transition:opacity .45s,transform .55s,filter .45s}
.theme-diagnosis .domain-game-motif i{width:18px;height:18px;border:2px solid #ffd17a;border-radius:50%;box-shadow:0 0 18px rgba(255,195,76,.3)}
.theme-diagnosis .domain-game-motif i:nth-child(1){left:16%;top:22%}.theme-diagnosis .domain-game-motif i:nth-child(2){left:69%;top:26%}.theme-diagnosis .domain-game-motif i:nth-child(3){left:30%;top:48%}.theme-diagnosis .domain-game-motif i:nth-child(4){left:74%;top:57%}.theme-diagnosis .domain-game-motif i:nth-child(5){left:48%;top:36%}
.theme-defense .domain-game-motif i{left:12%;right:12%;height:1px;background:rgba(120,218,255,.5);box-shadow:0 0 14px rgba(80,198,255,.4)}.theme-defense .domain-game-motif i:nth-child(1){top:37%}.theme-defense .domain-game-motif i:nth-child(2){top:49%}.theme-defense .domain-game-motif i:nth-child(3){top:61%}
.theme-risk .domain-game-motif i:first-child{right:14%;top:22%;width:2px;height:46%;transform-origin:bottom;background:linear-gradient(transparent,#fff8c5);box-shadow:0 0 35px #ffe98a;opacity:.2;transform:rotate(-18deg)}
.theme-risk .domain-game-motif i:last-child{left:8%;right:8%;bottom:29%;height:5px;border-radius:8px;background:linear-gradient(90deg,#4ebf78,#f0cf5e,#df6e65);opacity:.55}
.theme-ethics .domain-game-motif i{bottom:24%;width:2px;height:38%;background:linear-gradient(#f3d68e,transparent);transform-origin:bottom;opacity:.15}.theme-ethics .domain-game-motif i:nth-child(1){left:35%;transform:rotate(-18deg)}.theme-ethics .domain-game-motif i:nth-child(2){left:50%}.theme-ethics .domain-game-motif i:nth-child(3){left:65%;transform:rotate(18deg)}
.theme-treatment .domain-game-motif i{left:12%;height:10px;border-radius:8px;background:linear-gradient(90deg,#67d9c8,#d5b665);box-shadow:0 6px 18px rgba(0,0,0,.25);opacity:.28}.theme-treatment .domain-game-motif i:nth-child(1){bottom:42%;width:30%}.theme-treatment .domain-game-motif i:nth-child(2){bottom:38%;width:45%}.theme-treatment .domain-game-motif i:nth-child(3){bottom:34%;width:60%}.theme-treatment .domain-game-motif i:nth-child(4){bottom:30%;width:74%}
.theme-mse .domain-game-motif i{width:10px;height:10px;border-radius:50%;background:#72e5ff;box-shadow:0 0 18px #57d8ff;opacity:.18}.theme-mse .domain-game-motif i:nth-child(1){left:26%;top:27%}.theme-mse .domain-game-motif i:nth-child(2){left:42%;top:22%}.theme-mse .domain-game-motif i:nth-child(3){left:56%;top:32%}.theme-mse .domain-game-motif i:nth-child(4){left:37%;top:43%}.theme-mse .domain-game-motif i:nth-child(5){left:61%;top:49%}.theme-mse .domain-game-motif i:nth-child(6){left:48%;top:56%}
.theme-culture .domain-game-motif i{width:34px;height:34px;border:1px solid rgba(255,214,115,.75);border-radius:50%;box-shadow:0 0 22px rgba(255,205,86,.3);opacity:.17}.theme-culture .domain-game-motif i:nth-child(1){left:20%;top:22%}.theme-culture .domain-game-motif i:nth-child(2){right:20%;top:27%}.theme-culture .domain-game-motif i:nth-child(3){left:28%;top:52%}.theme-culture .domain-game-motif i:nth-child(4){right:28%;top:48%}
.domain-game-visual .domain-game-motif i:nth-child(-n+1){opacity:calc(.18 + min(1,var(--game-progress)/20)*.72)}
.domain-game-visual[style*="--game-progress:"] .domain-game-motif i{filter:drop-shadow(0 0 calc(var(--game-progress)*.08px) rgba(103,233,214,.55))}
.purpose-game-body{padding:22px;border:1px solid rgba(119,179,202,.22);border-radius:26px;background:linear-gradient(155deg,#0b293f,#071b2e);box-shadow:0 22px 58px rgba(0,0,0,.24);min-height:560px}
.purpose-game-prompt small,.flash-card small{display:block;margin-bottom:10px;color:#70dfd3;font-weight:900;letter-spacing:.14em}.purpose-game-prompt p,.flash-card p{padding:14px 15px;border-left:4px solid #50d6ca;border-radius:0 10px 10px 0;background:rgba(4,17,29,.62);color:#eef9ff;line-height:1.55}.purpose-game-prompt h2{font-size:1.32rem;line-height:1.28;color:#f7fbff}
.purpose-options{display:grid;gap:10px;margin-top:14px}.purpose-options button{position:relative;min-height:62px;padding:14px 15px;text-align:left;border:1px solid rgba(105,178,205,.38);border-radius:15px;background:linear-gradient(145deg,#123b54,#0d2d43);color:#f4fbff;font-size:.96rem;font-weight:720;transition:transform .15s,border-color .2s,background .2s}.purpose-options button:not(:disabled):active{transform:scale(.99)}.purpose-options button.correct{border-color:#6ee2ad;background:linear-gradient(145deg,rgba(39,137,96,.58),rgba(11,72,63,.65))}.purpose-options button.wrong{border-color:#e38f98;background:linear-gradient(145deg,rgba(131,50,64,.55),rgba(71,31,48,.66))}
.purpose-game-feedback{margin-top:16px;padding-top:15px;border-top:1px solid rgba(139,181,200,.17)}.purpose-game-feedback strong{color:#c9f7ea}.purpose-game-feedback p{color:#abc0cc;line-height:1.5}.purpose-game-feedback .btn{margin-top:8px}
.scan-clue-btn{width:100%;min-height:54px;margin-top:12px;border:1px solid rgba(255,210,102,.48);border-radius:13px;background:linear-gradient(145deg,#4a3d1b,#272b2d);color:#fff3c0;font-weight:850}.scan-clue-panel{margin-top:12px;padding:14px;border:1px solid rgba(255,213,103,.35);border-radius:13px;background:rgba(56,43,17,.42);animation:purposeReveal .35s ease both}.scan-clue-panel b{color:#ffe89f}.scan-clue-panel p{margin:.4em 0 0;color:#f4ecd5}
.flash-card{display:grid;place-items:start;align-content:center;min-height:480px;padding:24px;border:1px solid rgba(118,195,220,.22);border-radius:22px;background:radial-gradient(circle at 70% 15%,rgba(89,207,199,.11),transparent 25%),#071d30}.flash-card p{font-size:1.12rem}
.imposter-grid{grid-template-columns:1fr 1fr}.imposter-grid button{min-height:112px;display:grid;align-content:center;gap:4px}.imposter-grid button span{font-size:.63rem;color:#89acbc;letter-spacing:.1em;text-transform:uppercase}.imposter-grid button strong{font-size:1.08rem}
.instrument-match-target{display:grid;place-items:center;min-height:150px;padding:18px;border:1px solid rgba(255,214,104,.42);border-radius:20px;background:radial-gradient(circle at 50% 0,rgba(255,219,103,.13),transparent 42%),#0b2135}.instrument-match-target span{color:#83dcd1;font-size:.7rem;letter-spacing:.15em}.instrument-match-target strong{font-size:2rem;color:#fff4bf}.match-arrow{text-align:center;font-size:1.4rem;color:#78d9cc;padding:8px}.match-grid{grid-template-columns:1fr 1fr}
.sequence-build-zone{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:16px 0}.sequence-build-zone span{display:grid;place-items:center;height:52px;border:1px dashed rgba(117,208,198,.48);border-radius:12px;color:#95b9c2;background:rgba(9,41,53,.52);font-weight:900}.sequence-pieces{display:grid;gap:9px}.sequence-pieces button{padding:14px;border:1px solid rgba(118,174,199,.36);border-radius:13px;background:#10354d;color:#eefaff;text-align:left}.sequence-pieces button.selected{opacity:.52;border-color:#6ed8be}.sequence-correct-order{display:grid;gap:6px;margin:12px 0}.sequence-correct-order span{display:grid;grid-template-columns:32px 1fr;gap:8px;align-items:center;padding:8px;border-radius:10px;background:rgba(12,47,60,.55);color:#c9dbe1}.sequence-correct-order b{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#1c685d;color:#fff}
.mse-finding-card,.risk-signal-card{display:grid;gap:8px;padding:22px;border:1px solid rgba(126,203,225,.3);border-radius:19px;background:radial-gradient(circle at 10% 0,rgba(92,213,237,.12),transparent 30%),#0a2238}.mse-finding-card small,.risk-signal-card small{color:#78e3d8;letter-spacing:.12em}.mse-finding-card strong,.risk-signal-card strong{font-size:1.23rem;color:#f4fbff;line-height:1.35}.mse-route-arrow{text-align:center;padding:10px;color:#8baebb;font-size:.72rem;letter-spacing:.12em}.mse-bins{grid-template-columns:1fr 1fr}.risk-lanes{grid-template-columns:1fr 1fr}.risk-lanes button{min-height:120px;display:grid;place-items:center;text-align:center}.risk-lanes button b{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:rgba(84,204,193,.2);margin-bottom:4px}
.mechanic-crossroads .purpose-options{grid-template-columns:1fr 1fr}.mechanic-crossroads .purpose-options button{clip-path:polygon(0 0,91% 0,100% 50%,91% 100%,0 100%,7% 50%);padding-left:28px}
.mechanic-timeline-lock .purpose-options button{border-left:5px solid #d6a95c;background:linear-gradient(90deg,rgba(96,67,24,.45),#0e3046 16%)}
.mechanic-radar .purpose-options button{border-radius:50px}.mechanic-binary .purpose-options{grid-template-columns:1fr 1fr}.mechanic-line-choice .purpose-options button:before{content:"";position:absolute;left:13px;top:13px;bottom:13px;width:3px;border-radius:3px;background:#61d6c9}.mechanic-line-choice .purpose-options button{padding-left:26px}
.mechanic-lens .purpose-options button{border-radius:30px 14px 30px 14px}.mechanic-builder .purpose-options button{border-bottom:4px solid rgba(85,212,185,.25)}.mechanic-repair .purpose-options button:before{content:"✦";margin-right:9px;color:#e7cc72}.mechanic-chain .purpose-options button:before{content:"○";margin-right:9px;color:#71d9cc}
@keyframes purposeReveal{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}
@media(max-width:820px){
 .purpose-game-stage{grid-template-columns:1fr}.domain-game-visual{min-height:330px}.purpose-game-body{min-height:0}
 .domain-game-progress{left:12px;right:12px;bottom:12px;padding:10px 12px}
}
@media(max-width:520px){
 .purpose-game .game-top h1{font-size:1.3rem}.domain-game-visual{min-height:285px;border-radius:19px}.purpose-game-body{padding:14px;border-radius:18px}
 .purpose-game-prompt h2{font-size:1.15rem}.purpose-options button{min-height:58px;font-size:.91rem}.imposter-grid,.match-grid,.mse-bins,.risk-lanes,.mechanic-crossroads .purpose-options{grid-template-columns:1fr}
 .imposter-grid button,.risk-lanes button{min-height:72px}.sequence-build-zone{gap:5px}.sequence-build-zone span{height:44px}
}
@media(prefers-reduced-motion:reduce){.domain-game-visual>img,.domain-game-motif i,.domain-game-progress em i{transition:none!important}}

/* v456 purpose-built Games production pass — Assessment Tree intentionally untouched */
.domain-stage-badge{position:absolute;right:18px;top:18px;z-index:5;display:grid;justify-items:end;padding:9px 11px;border:1px solid rgba(235,249,244,.24);border-radius:13px;background:rgba(3,16,26,.72);backdrop-filter:blur(10px)}
.domain-stage-badge small{font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;color:#bcd2d8}.domain-stage-badge b{font-size:1.05rem;color:#fff}
.purpose-game .domain-game-motif i:nth-child(-n+2){opacity:calc(.12 + (var(--game-progress) * .005))}
.mechanic-clue-scan .scan-clue-btn,.mechanic-radar .scan-clue-btn{border:1px solid rgba(248,200,105,.5);background:rgba(78,55,24,.55);color:#ffe7a8}
.mechanic-timeline-lock .purpose-game-prompt:before{content:"DURATION LOCK";display:inline-block;padding:5px 9px;margin-bottom:9px;border-radius:999px;background:rgba(205,154,72,.14);color:#f3ce8c;font-size:.62rem;letter-spacing:.12em}
.mechanic-map .purpose-game-body{background:radial-gradient(circle at 50% 18%,rgba(72,131,167,.16),transparent 35%),linear-gradient(160deg,#0a2234,#081826)}
.mechanic-triage .purpose-options button:nth-child(1):before,.mechanic-triage .purpose-options button:nth-child(2):before,.mechanic-triage .purpose-options button:nth-child(3):before,.mechanic-triage .purpose-options button:nth-child(4):before{display:inline-grid;place-items:center;width:28px;height:28px;margin-right:9px;border-radius:50%;background:rgba(232,178,82,.16);color:#ffd486}
.mechanic-triage .purpose-options button:nth-child(1):before{content:"1"}.mechanic-triage .purpose-options button:nth-child(2):before{content:"2"}.mechanic-triage .purpose-options button:nth-child(3):before{content:"3"}.mechanic-triage .purpose-options button:nth-child(4):before{content:"4"}
.mechanic-evidence .purpose-options button{border-left:4px solid rgba(116,205,231,.5)}
.mechanic-lab .purpose-options button{background:linear-gradient(145deg,rgba(20,58,79,.96),rgba(8,36,55,.96));border-color:rgba(102,190,211,.34)}
.mechanic-rapid .purpose-game-body{box-shadow:inset 0 0 0 1px rgba(107,229,214,.12),0 20px 55px rgba(0,0,0,.24)}
.mechanic-discriminate .purpose-options{grid-template-columns:1fr 1fr}.mechanic-discriminate .purpose-options button{min-height:105px}
@media(max-width:520px){.domain-stage-badge{top:10px;right:10px}.mechanic-discriminate .purpose-options{grid-template-columns:1fr}.mechanic-discriminate .purpose-options button{min-height:62px}}

/* v457 immediate scene progression */
.domain-game-visual.just-advanced{animation:gameStageAdvance .82s cubic-bezier(.18,.82,.22,1) both}
.domain-game-visual.just-advanced>img{animation:gameStageImageAdvance .82s cubic-bezier(.18,.82,.22,1) both}
.domain-game-visual.just-advanced .domain-game-progress{animation:gameProgressGlow .9s ease both}
.domain-game-visual.just-advanced .domain-stage-badge{animation:gameBadgePop .7s cubic-bezier(.18,.9,.3,1.2) both}
@keyframes gameStageAdvance{0%{box-shadow:0 0 0 rgba(110,228,210,0)}28%{box-shadow:0 0 0 4px rgba(110,228,210,.3),0 0 50px rgba(110,228,210,.28)}100%{box-shadow:0 26px 70px rgba(0,0,0,.32)}}
@keyframes gameStageImageAdvance{0%{filter:saturate(.8) brightness(.82);transform:scale(1.035)}100%{filter:saturate(1.08) contrast(1.04);transform:scale(1.01)}}
@keyframes gameProgressGlow{0%{filter:brightness(1)}35%{filter:brightness(1.6)}100%{filter:brightness(1)}}
@keyframes gameBadgePop{0%{transform:scale(.82);opacity:.45}55%{transform:scale(1.08);opacity:1}100%{transform:scale(1);opacity:1}}
@media(prefers-reduced-motion:reduce){.domain-game-visual.just-advanced,.domain-game-visual.just-advanced>img,.domain-game-visual.just-advanced .domain-game-progress,.domain-game-visual.just-advanced .domain-stage-badge{animation:none!important}}
/* v458 locked feature identities: Games=controller, Adaptive Plan=brain lightbulb */
.tile-feature-art{width:82px;height:82px;display:grid;place-items:center;border-radius:18px;overflow:hidden;background:radial-gradient(circle,rgba(29,221,216,.13),rgba(4,18,35,.25) 68%);border:1px solid rgba(94,226,219,.28);box-shadow:inset 0 0 28px rgba(36,205,205,.08),0 12px 30px rgba(0,0,0,.28)}
.tile-feature-art img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.05)}
.tile-plan-art img{object-position:center 18%;transform:scale(1.12)}
.tile-games-art{box-shadow:0 0 22px rgba(20,214,255,.18),inset 0 0 25px rgba(83,76,255,.12)}
.game-controller-hero{display:grid!important;place-items:center!important;min-height:220px!important;background:radial-gradient(circle at 50% 48%,rgba(22,126,255,.2),transparent 62%)!important}
.game-controller-hero img{width:min(300px,86%)!important;height:auto!important;aspect-ratio:auto!important;object-fit:contain!important;border-radius:24px;filter:drop-shadow(0 0 24px rgba(26,194,255,.28));transform:none!important}

/* v458 authoritative phone Home geometry — 7 tiles, zero scroll, zero dock overlap */
@media(max-width:700px){
  body.dashboard-active:not(.mock-mode-active):not(.large-text){
    height:var(--jg-visual-height,100svh)!important;
    min-height:0!important;
    max-height:var(--jg-visual-height,100svh)!important;
    overflow:hidden!important;
    padding-bottom:0!important;
  }

  body.dashboard-active:not(.mock-mode-active):not(.large-text) #app{
    box-sizing:border-box!important;
    width:calc(100% - 16px)!important;
    height:calc(var(--jg-visual-height,100svh) - var(--jg-topbar-h) - var(--jg-phone-dock-h) - env(safe-area-inset-bottom))!important;
    min-height:0!important;
    max-height:calc(var(--jg-visual-height,100svh) - var(--jg-topbar-h) - var(--jg-phone-dock-h) - env(safe-area-inset-bottom))!important;
    margin:0 auto!important;
    padding:6px 0!important;
    overflow:hidden!important;
  }

  body.dashboard-active:not(.mock-mode-active):not(.large-text) #app .approved-home-grid{
    box-sizing:border-box!important;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    max-height:100%!important;
    margin:0!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-template-rows:repeat(3,minmax(0,1fr)) minmax(66px,.58fr)!important;
    gap:6px!important;
    align-content:stretch!important;
    overflow:hidden!important;
  }

  body.dashboard-active:not(.mock-mode-active):not(.large-text) #app .approved-home-grid .home-tile{
    box-sizing:border-box!important;
    min-height:0!important;
    height:100%!important;
    max-height:100%!important;
    margin:0!important;
    padding:clamp(6px,1.05svh,10px)!important;
    gap:5px!important;
    overflow:hidden!important;
    align-content:center!important;
  }

  body.dashboard-active:not(.mock-mode-active):not(.large-text) #app .approved-home-grid .home-tile>span:nth-child(2){
    min-width:0!important;
    align-self:center!important;
  }

  body.dashboard-active:not(.mock-mode-active):not(.large-text) #app .approved-home-grid .home-tile>span:nth-child(2)>small{
    display:none!important;
  }

  body.dashboard-active:not(.mock-mode-active):not(.large-text) #app .approved-home-grid .home-tile strong{
    margin:2px 0 0!important;
    font-size:clamp(.86rem,2.45vw,1rem)!important;
    line-height:1.06!important;
  }

  body.dashboard-active:not(.mock-mode-active):not(.large-text) #app .approved-home-grid .home-tile em{
    margin-top:4px!important;
    font-size:clamp(.58rem,1.85vw,.68rem)!important;
    line-height:1.16!important;
  }

  body.dashboard-active:not(.mock-mode-active):not(.large-text) #app .approved-home-grid
  :is(.tile-art,.tile-feature-art,.tile-loop,.tile-bars){
    width:clamp(52px,9.3svh,74px)!important;
    height:clamp(52px,9.3svh,74px)!important;
    max-width:74px!important;
    max-height:74px!important;
    margin:0 auto 3px!important;
  }

  body.dashboard-active:not(.mock-mode-active):not(.large-text) #app .approved-home-grid .tile-screen{
    width:clamp(58px,9.7svh,76px)!important;
    height:clamp(46px,7.8svh,61px)!important;
    min-width:0!important;
    min-height:0!important;
    margin:0 auto 3px!important;
  }

  body.dashboard-active:not(.mock-mode-active):not(.large-text) #app .approved-home-grid .tile-explain{
    top:8px!important;
    right:8px!important;
    width:22px!important;
    height:22px!important;
    min-width:22px!important;
    min-height:22px!important;
    font-size:.72rem!important;
  }

  /* The seventh tile is a compact full-width feature bar, not a fourth tall card. */
  body.dashboard-active:not(.mock-mode-active):not(.large-text) #app .approved-home-grid .tile-games{
    grid-column:1/-1!important;
    min-height:0!important;
    height:100%!important;
    display:grid!important;
    grid-template-columns:76px minmax(0,1fr) 24px!important;
    grid-template-rows:1fr!important;
    align-items:center!important;
    align-content:center!important;
    gap:8px!important;
    padding:6px 11px!important;
  }

  body.dashboard-active:not(.mock-mode-active):not(.large-text) #app .approved-home-grid .tile-games .tile-games-art{
    width:68px!important;
    height:52px!important;
    max-width:68px!important;
    max-height:52px!important;
    margin:0!important;
    border-radius:13px!important;
  }

  body.dashboard-active:not(.mock-mode-active):not(.large-text) #app .approved-home-grid .tile-games .tile-games-art img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center!important;
    transform:scale(1.02)!important;
  }

  body.dashboard-active:not(.mock-mode-active):not(.large-text) #app .approved-home-grid .tile-games>span:nth-child(2){
    text-align:left!important;
    align-self:center!important;
  }

  body.dashboard-active:not(.mock-mode-active):not(.large-text) #app .approved-home-grid .tile-games strong{
    font-size:clamp(.94rem,2.7vw,1.06rem)!important;
  }

  body.dashboard-active:not(.mock-mode-active):not(.large-text) #app .approved-home-grid .tile-games em{
    white-space:normal!important;
    margin-top:3px!important;
  }

  body.dashboard-active:not(.mock-mode-active):not(.large-text) .approved-bottom-nav{
    height:var(--jg-phone-dock-h)!important;
    min-height:var(--jg-phone-dock-h)!important;
    max-height:calc(var(--jg-phone-dock-h) + env(safe-area-inset-bottom))!important;
  }
}

/* Short iPhones tighten proportionally without introducing Home scrolling. */
@media(max-width:700px) and (max-height:760px){
  body.dashboard-active:not(.mock-mode-active):not(.large-text) #app .approved-home-grid{
    grid-template-rows:repeat(3,minmax(0,1fr)) minmax(58px,.50fr)!important;
    gap:5px!important;
  }
  body.dashboard-active:not(.mock-mode-active):not(.large-text) #app .approved-home-grid .home-tile{
    padding:5px!important;
  }
  body.dashboard-active:not(.mock-mode-active):not(.large-text) #app .approved-home-grid
  :is(.tile-art,.tile-feature-art,.tile-loop,.tile-bars){
    width:50px!important;height:50px!important;
  }
  body.dashboard-active:not(.mock-mode-active):not(.large-text) #app .approved-home-grid .tile-games{
    grid-template-columns:64px minmax(0,1fr) 22px!important;
    padding:4px 9px!important;
  }
  body.dashboard-active:not(.mock-mode-active):not(.large-text) #app .approved-home-grid .tile-games .tile-games-art{
    width:58px!important;height:44px!important;
  }
}

/* v459 authoritative horizontal Games tile */

@media(max-width:700px){
 body.dashboard-active:not(.mock-mode-active){overflow:hidden!important;height:var(--jg-visual-height,100svh)!important;max-height:var(--jg-visual-height,100svh)!important;padding-bottom:0!important}
 body.dashboard-active:not(.mock-mode-active) #app{box-sizing:border-box!important;height:calc(var(--jg-visual-height,100svh) - var(--jg-topbar-h) - var(--jg-phone-dock-h) - env(safe-area-inset-bottom))!important;min-height:0!important;max-height:calc(var(--jg-visual-height,100svh) - var(--jg-topbar-h) - var(--jg-phone-dock-h) - env(safe-area-inset-bottom))!important;padding:6px 0!important;overflow:hidden!important}
 body.dashboard-active:not(.mock-mode-active) #app .approved-home-grid{width:100%!important;height:100%!important;min-height:0!important;max-height:100%!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-rows:repeat(3,minmax(0,1fr)) 82px!important;gap:6px!important;overflow:hidden!important;margin:0!important;align-content:stretch!important}
 body.dashboard-active:not(.mock-mode-active) #app .approved-home-grid .home-tile{min-height:0!important;height:100%!important;max-height:100%!important;padding:7px!important;gap:4px!important;overflow:hidden!important}
 body.dashboard-active:not(.mock-mode-active) #app .approved-home-grid .home-tile>span:nth-child(2)>small{display:none!important}
 body.dashboard-active:not(.mock-mode-active) #app .approved-home-grid .home-tile strong{margin:2px 0 0!important;font-size:.96rem!important;line-height:1.06!important}
 body.dashboard-active:not(.mock-mode-active) #app .approved-home-grid .home-tile em{margin-top:3px!important;font-size:.64rem!important;line-height:1.14!important}
 body.dashboard-active:not(.mock-mode-active) #app .approved-home-grid :is(.tile-art,.tile-feature-art,.tile-loop,.tile-bars){width:min(70px,8.5svh)!important;height:min(70px,8.5svh)!important;margin:0 auto 2px!important}
 body.dashboard-active:not(.mock-mode-active) #app .approved-home-grid .tile-screen{width:min(74px,9svh)!important;height:min(58px,7.2svh)!important;margin:0 auto 2px!important}
 body.dashboard-active:not(.mock-mode-active) #app .approved-home-grid .tile-games{grid-column:1/-1!important;display:grid!important;grid-template-columns:92px minmax(0,1fr) 26px!important;grid-template-rows:82px!important;grid-template-areas:"art copy help"!important;align-items:center!important;justify-items:stretch!important;align-content:center!important;text-align:left!important;height:82px!important;max-height:82px!important;min-height:82px!important;padding:6px 10px!important;gap:10px!important;overflow:hidden!important}
 body.dashboard-active:not(.mock-mode-active) #app .approved-home-grid .tile-games>.tile-games-art{grid-area:art!important;width:88px!important;height:58px!important;max-width:88px!important;max-height:58px!important;margin:0!important;border-radius:12px!important;place-self:center!important;overflow:hidden!important}
 body.dashboard-active:not(.mock-mode-active) #app .approved-home-grid .tile-games>.tile-games-art img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important;transform:none!important;display:block!important}
 body.dashboard-active:not(.mock-mode-active) #app .approved-home-grid .tile-games>span:nth-child(2){grid-area:copy!important;min-width:0!important;align-self:center!important;text-align:left!important;overflow:hidden!important}
 body.dashboard-active:not(.mock-mode-active) #app .approved-home-grid .tile-games strong{margin:0!important;font-size:1rem!important;line-height:1.05!important;white-space:nowrap!important}
 body.dashboard-active:not(.mock-mode-active) #app .approved-home-grid .tile-games em{margin:4px 0 0!important;font-size:.63rem!important;line-height:1.12!important;max-height:2.24em!important;overflow:hidden!important}
 body.dashboard-active:not(.mock-mode-active) #app .approved-home-grid .tile-games>.tile-explain{grid-area:help!important;position:static!important;place-self:start end!important;width:24px!important;height:24px!important;min-width:24px!important;min-height:24px!important}
 body.dashboard-active:not(.mock-mode-active) .approved-bottom-nav{position:fixed!important;left:0!important;right:0!important;bottom:0!important;height:var(--jg-phone-dock-h)!important;min-height:var(--jg-phone-dock-h)!important;z-index:9990!important}
}
@media(max-width:700px) and (max-height:760px){
 body.dashboard-active:not(.mock-mode-active) #app .approved-home-grid{grid-template-rows:repeat(3,minmax(0,1fr)) 70px!important;gap:5px!important}
 body.dashboard-active:not(.mock-mode-active) #app .approved-home-grid .tile-games{grid-template-columns:74px minmax(0,1fr) 24px!important;grid-template-rows:70px!important;height:70px!important;min-height:70px!important;max-height:70px!important;padding:4px 8px!important}
 body.dashboard-active:not(.mock-mode-active) #app .approved-home-grid .tile-games>.tile-games-art{width:70px!important;height:46px!important}
}

/* v460 adaptive brain-break integration */
.brain-break-backdrop{
 position:fixed;inset:0;z-index:12050;display:grid;place-items:center;padding:18px;
 background:rgba(2,9,16,.76);backdrop-filter:blur(14px)
}
.brain-break-card{
 position:relative;width:min(520px,100%);overflow:hidden;padding:24px;border-radius:26px;
 border:1px solid rgba(79,224,211,.34);
 background:radial-gradient(circle at 82% 12%,rgba(32,126,255,.17),transparent 34%),linear-gradient(155deg,#0b293f,#071929);
 box-shadow:0 30px 90px rgba(0,0,0,.52)
}
.brain-break-card h2{margin:.3rem 0 .55rem;font-size:clamp(1.45rem,5vw,2rem);line-height:1.08;color:#f6fbff}
.brain-break-card p{color:#bfd0dc;line-height:1.55}.brain-break-card p strong{color:#f2fbff}
.brain-break-card>small{display:block;margin-top:13px;color:#7f9cab}
.brain-break-controller{height:150px;display:grid;place-items:center;margin:-8px 0 2px;background:radial-gradient(circle,rgba(27,128,255,.16),transparent 62%)}
.brain-break-controller img{width:min(270px,82%);height:130px;object-fit:contain;filter:drop-shadow(0 0 22px rgba(47,188,255,.32))}
.brain-break-close{position:absolute;right:14px;top:14px;z-index:2;width:34px;height:34px;border-radius:50%;border:1px solid rgba(136,187,208,.35);background:rgba(5,22,35,.78);color:#d8e9f3;font-size:1.2rem}
.brain-break-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}
@media(max-width:520px){
 .brain-break-card{padding:18px;border-radius:22px}
 .brain-break-controller{height:126px}.brain-break-controller img{height:112px}
 .brain-break-actions{grid-template-columns:1fr}
}

/* v461 purpose-built tap-sort games */
.sort-card{
 display:grid;gap:8px;padding:22px;border:1px solid rgba(111,199,219,.32);border-radius:20px;
 background:radial-gradient(circle at 10% 0,rgba(84,213,205,.12),transparent 32%),linear-gradient(155deg,#0b273d,#081d31);
 box-shadow:0 16px 38px rgba(0,0,0,.18)
}
.sort-card small{color:#73e2d6;letter-spacing:.13em;font-weight:900}
.sort-card strong{font-size:1.16rem;line-height:1.42;color:#f4fbff}
.sort-route-label{margin:12px 0 7px;text-align:center;color:#8eabb8;font-size:.69rem;letter-spacing:.13em;font-weight:800}
.sort-bins{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.sort-bins button{
 min-height:86px!important;display:grid!important;place-items:center!important;text-align:center!important;padding:14px!important;
 border-radius:16px!important
}
.sort-bins button span{font-size:.92rem;line-height:1.2}
.binary-sort{grid-template-columns:1fr 1fr!important}
.binary-sort button{min-height:118px!important}
.perception-sort{grid-template-columns:repeat(3,1fr)!important}
.perception-sort button{min-height:108px!important}
.boundary-sort{grid-template-columns:repeat(3,1fr)!important}
.boundary-sort button:nth-child(1){border-color:rgba(84,214,179,.45)}
.boundary-sort button:nth-child(2){border-color:rgba(232,194,92,.42)}
.boundary-sort button:nth-child(3){border-color:rgba(231,118,126,.46)}
.privacy-sort button{min-height:102px!important}
.defense-sort button,.distortion-sort button{min-height:74px!important}
.mechanic-sort .domain-game-progress strong:after{content:" · Sort";color:#75d9cf;font-size:.68rem;font-weight:700}
@media(max-width:620px){
 .sort-card{padding:16px}
 .sort-bins,.perception-sort,.boundary-sort{grid-template-columns:1fr!important}
 .sort-bins button,.binary-sort button,.perception-sort button,.boundary-sort button{min-height:62px!important}
}

/* v466 earned-progress response */
.game-score.score-advanced span:first-child{animation:jgScoreEarn .48s ease-out}
@keyframes jgScoreEarn{0%{transform:scale(1)}45%{transform:scale(1.09);filter:brightness(1.35)}100%{transform:scale(1)}}
@media (prefers-reduced-motion:reduce){.game-score.score-advanced span:first-child{animation:none}}

/* v467 DSM-5-TR Criteria Challenge */
.dsm-score{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0}
.dsm-score span{display:grid;place-items:center;padding:10px;border:1px solid rgba(111,199,219,.28);border-radius:14px;background:rgba(4,22,36,.48)}
.dsm-score b{font-size:1.15rem;color:#8ce4d8}.dsm-score small{font-size:.67rem;text-transform:uppercase;letter-spacing:.11em;color:#91aab6}
.dsm-teach{display:grid;gap:6px;margin-top:9px;padding-top:9px;border-top:1px solid rgba(111,199,219,.22)}
.dsm-teach b{color:#9de7dc}.dsm-teach small{line-height:1.35}.dsm-teach em{font-style:normal;font-size:.75rem;color:#e9c77c;line-height:1.35}
.dsm-duration-chip.used{opacity:.28;pointer-events:none}.dsm-drop[role=button]:focus-visible{outline:2px solid #77ded2;outline-offset:3px}
@media(max-width:620px){.dsm-score{position:sticky;top:0;z-index:3;background:#071d30;padding:6px;border-radius:14px}.dsm-match-grid{grid-template-columns:1fr!important}}

/* v468 Exam Example discrimination teaching */
.exam-choice-analysis{margin-top:14px;padding:14px;border:1px solid rgba(111,199,219,.24);border-radius:16px;background:rgba(5,25,39,.58)}
.exam-choice-analysis>span{display:block;margin-bottom:9px;color:#8ce4d8;font-size:.72rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.exam-choice-analysis>div{display:grid;grid-template-columns:30px 1fr;gap:8px;padding:8px 0;border-top:1px solid rgba(143,181,193,.12)}
.exam-choice-analysis>div:first-of-type{border-top:0}.exam-choice-analysis b{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#153b50;color:#d7f5f0}
.exam-choice-analysis p{margin:0;color:#b9cbd2;font-size:.83rem;line-height:1.4}.exam-example-next{display:flex;justify-content:flex-end;margin-top:14px}
@media(max-width:620px){.exam-example-next .btn{width:100%}.exam-choice-analysis{padding:12px}}

/* v469 conservative practice prescription */
.practice-prescription{display:flex;justify-content:space-between;gap:18px;align-items:center;margin:12px 0 16px;padding:15px 17px;border:1px solid rgba(93,220,205,.3);border-radius:18px;background:linear-gradient(135deg,rgba(10,54,69,.72),rgba(7,29,47,.82))}
.practice-prescription span,.practice-rec-tag{display:block;color:#79e1d5;font-size:.68rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.practice-prescription strong{display:block;margin:3px 0;font-size:1rem;color:#f2fbff}.practice-prescription p{margin:0;color:#b7cad2;font-size:.82rem;line-height:1.4}.practice-prescription>small{max-width:170px;text-align:right;color:#829ca9}
.practice-level.recommended{border-color:rgba(94,225,208,.6)!important;box-shadow:0 0 0 1px rgba(94,225,208,.12),0 14px 34px rgba(0,0,0,.16)}.practice-rec-tag{margin-bottom:7px}
@media(max-width:620px){.practice-prescription{display:block}.practice-prescription>small{display:block;max-width:none;text-align:left;margin-top:8px}}

/* v470 mastery evidence gates */
.mastery-gate-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}
.mastery-gate-grid>div{display:grid;grid-template-columns:28px 1fr;gap:8px;align-items:center;padding:10px;border:1px solid rgba(128,166,181,.18);border-radius:13px;background:rgba(5,24,38,.44)}
.mastery-gate-grid i{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;font-style:normal;font-weight:900}.mastery-gate-grid .met i{background:rgba(74,202,176,.18);color:#86e5d7}.mastery-gate-grid .open i{background:rgba(145,160,171,.1);color:#78919d}
.mastery-gate-grid b,.mastery-gate-grid small{display:block}.mastery-gate-grid b{font-size:.78rem;color:#e8f4f7}.mastery-gate-grid small{margin-top:2px;color:#8fa8b2;font-size:.72rem}
.mastery-retention-note{display:grid;gap:3px;margin-top:10px;padding:10px 12px;border-left:3px solid #d5ae5f;background:rgba(91,70,27,.16);border-radius:0 10px 10px 0}.mastery-retention-note b{color:#efd38d}.mastery-retention-note span{font-size:.78rem;color:#b9c9ce}
@media(max-width:620px){.mastery-gate-grid{grid-template-columns:1fr}}
/* v472 game-to-learning-loop */
.game-retrieval-due{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-top:14px;padding:12px 14px;border:1px solid rgba(103,224,205,.32);border-radius:15px;background:rgba(8,47,60,.58)}
.game-retrieval-due strong{color:#8ce4d8}.game-retrieval-due span{max-width:520px;color:#abc2ca;font-size:.8rem;line-height:1.35}
@media(max-width:620px){.game-retrieval-due{display:block}.game-retrieval-due span{display:block;margin-top:4px}}

/* v473 cross-system game weak evidence */
.game-weak-evidence{display:flex;justify-content:space-between;gap:14px;align-items:center;margin:-6px 0 14px;padding:10px 13px;border-left:3px solid #d6ad5d;background:rgba(100,73,25,.14);border-radius:0 12px 12px 0}
.game-weak-evidence b{color:#efd38d;font-size:.78rem}.game-weak-evidence span{max-width:620px;color:#b9cbd1;font-size:.77rem;line-height:1.35}
@media(max-width:620px){.game-weak-evidence{display:block}.game-weak-evidence span{display:block;margin-top:4px}}

/* v475 screenshot fix — Adaptive Study Plan must be fully viewport-bound on phones */
@media (max-width:700px){
  .study-plan-dialog{
    box-sizing:border-box!important;
    left:10px!important;
    right:10px!important;
    width:auto!important;
    max-width:none!important;
    transform:none!important;
    margin:0!important;
    overflow-x:hidden!important;
  }
  .study-plan-dialog *, .study-plan-dialog *::before, .study-plan-dialog *::after{box-sizing:border-box}
}

/* v478 mobile Study Plan action-safe area */
@media (max-width:700px){
  .study-plan-dialog{
    bottom:calc(96px + env(safe-area-inset-bottom))!important;
    max-height:calc(100dvh - 176px - env(safe-area-inset-top) - env(safe-area-inset-bottom))!important;
  }
  .study-plan-dialog form{
    min-height:0!important;
    max-height:100%!important;
    overflow:hidden!important;
    display:flex!important;
    flex-direction:column!important;
  }
  .study-plan-dialog .plan-form-grid,
  .study-plan-dialog .plan-accommodations,
  .study-plan-dialog .plan-activation-note{
    flex:0 0 auto;
  }
  .study-plan-dialog .plan-actions{
    position:sticky!important;
    bottom:0!important;
    z-index:5!important;
    margin-top:12px!important;
    padding:10px 0 calc(8px + env(safe-area-inset-bottom))!important;
    background:linear-gradient(180deg,rgba(7,28,45,0),#071c2d 26%)!important;
  }
}

/* v479 authoritative iPhone Study Plan geometry — supersedes v478 */
@media (max-width:700px){
  .study-plan-dialog{
    position:fixed!important;
    inset:max(8px,env(safe-area-inset-top)) 10px calc(82px + env(safe-area-inset-bottom)) 10px!important;
    width:auto!important;
    height:auto!important;
    max-width:none!important;
    max-height:none!important;
    margin:0!important;
    padding:12px!important;
    transform:none!important;
    overflow:hidden!important;
    contain:none!important;
  }

  .study-plan-dialog form{
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    max-height:none!important;
    display:flex!important;
    flex-direction:column!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    overscroll-behavior:contain;
    scrollbar-width:none;
    padding:0!important;
  }
  .study-plan-dialog form::-webkit-scrollbar{display:none}

  .study-plan-dialog .plan-dialog-head{
    position:sticky!important;
    top:0!important;
    z-index:4!important;
    margin:0!important;
    padding:0 0 6px!important;
    background:#0b1728!important;
  }
  .study-plan-dialog .plan-dialog-head h2{font-size:1.25rem!important;line-height:1.12!important;margin:.14rem 0!important}
  .study-plan-dialog form>p.muted{font-size:.76rem!important;line-height:1.28!important;margin:2px 0 8px!important}

  .study-plan-dialog .plan-form-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:7px!important;
    width:100%!important;
  }
  .study-plan-dialog label{gap:3px!important;font-size:.78rem!important;line-height:1.18!important}
  .study-plan-dialog input,
  .study-plan-dialog select{
    min-height:42px!important;
    height:42px!important;
    padding:7px 10px!important;
    font-size:.9rem!important;
    border-radius:11px!important;
  }

  .study-plan-dialog .plan-accommodations{
    margin:8px 0!important;
    padding:9px 10px!important;
    border-radius:14px!important;
  }
  .study-plan-dialog .plan-accommodations legend{
    font-size:.82rem!important;
    line-height:1.16!important;
    padding:0 5px!important;
  }
  .study-plan-dialog .plan-accommodation-toggle{
    grid-template-columns:22px minmax(0,1fr)!important;
    gap:7px!important;
    align-items:start!important;
    margin:1px 0!important;
  }
  .study-plan-dialog .plan-accommodation-toggle input{
    width:20px!important;
    min-width:20px!important;
    height:20px!important;
    min-height:20px!important;
    padding:0!important;
  }
  .study-plan-dialog .plan-accommodation-toggle span{font-size:.78rem!important;line-height:1.2!important}
  .study-plan-dialog .plan-accommodations>p.muted{
    font-size:.69rem!important;
    line-height:1.25!important;
    margin:7px 0 0!important;
  }
  .study-plan-dialog .plan-accommodation-fields{
    gap:7px!important;
    margin-top:7px!important;
  }
  .study-plan-dialog .plan-accommodation-fields small{font-size:.66rem!important;line-height:1.2!important}

  .study-plan-dialog .plan-dialog-preview{
    margin:2px 0 7px!important;
    padding:8px 10px!important;
    border-radius:12px!important;
  }
  .study-plan-dialog .plan-dialog-preview strong{font-size:.78rem!important;line-height:1.18!important}
  .study-plan-dialog .plan-dialog-preview span{font-size:.69rem!important;line-height:1.22!important;margin-top:2px!important}

  .study-plan-dialog .actions{
    position:sticky!important;
    bottom:0!important;
    z-index:6!important;
    flex:0 0 auto!important;
    display:grid!important;
    grid-template-columns:minmax(0,1.35fr) minmax(0,.85fr)!important;
    gap:8px!important;
    margin:0!important;
    padding:6px 0 2px!important;
    background:linear-gradient(180deg,rgba(11,23,40,0),#0b1728 24%)!important;
  }
  .study-plan-dialog .actions .btn{
    min-height:44px!important;
    padding:8px 10px!important;
    font-size:.86rem!important;
  }
}

/* v480 activated Study Plan Home — compact no-scroll phone dashboard */
@media (max-width:700px){
  body.dashboard-active.study-plan-home-active:not(.large-text) #app{
    height:calc(100dvh - var(--jg-topbar-h))!important;
    min-height:0!important;
    padding:8px 0 calc(var(--jg-phone-dock-h) + 8px + env(safe-area-inset-bottom))!important;
    gap:7px!important;
    overflow:hidden!important;
    align-content:stretch!important;
  }

  body.study-plan-home-active .dashboard-welcome{
    display:none!important;
  }

  body.study-plan-home-active .adaptive-today-card{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:10px!important;
    align-items:center!important;
    margin:0!important;
    padding:10px 12px!important;
    min-height:104px!important;
    border-radius:16px!important;
  }
  body.study-plan-home-active .adaptive-today-card .eyebrow{
    font-size:.58rem!important;
    letter-spacing:.08em!important;
  }
  body.study-plan-home-active .adaptive-today-card h2{
    margin:2px 0 3px!important;
    font-size:1rem!important;
    line-height:1.08!important;
  }
  body.study-plan-home-active .adaptive-today-card p{
    margin:0!important;
    font-size:.67rem!important;
    line-height:1.22!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    max-width:100%!important;
  }
  body.study-plan-home-active .adaptive-today-meta{
    display:grid!important;
    grid-template-columns:repeat(5,minmax(0,auto))!important;
    gap:7px!important;
    margin-top:7px!important;
  }
  body.study-plan-home-active .adaptive-today-meta span{
    display:flex!important;
    align-items:baseline!important;
    gap:3px!important;
    min-width:0!important;
  }
  body.study-plan-home-active .adaptive-today-meta b{
    font-size:.78rem!important;
    line-height:1!important;
  }
  body.study-plan-home-active .adaptive-today-meta small{
    font-size:.49rem!important;
    line-height:1!important;
    white-space:nowrap!important;
  }
  body.study-plan-home-active .adaptive-today-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:6px!important;
    min-width:126px!important;
  }
  body.study-plan-home-active .adaptive-today-actions .btn{
    min-height:34px!important;
    padding:6px 9px!important;
    font-size:.68rem!important;
    border-radius:10px!important;
  }

  body.study-plan-home-active .approved-home-grid{
    flex:1 1 auto!important;
    min-height:0!important;
    height:auto!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-template-rows:repeat(4,minmax(0,1fr))!important;
    gap:6px!important;
  }
  body.study-plan-home-active .approved-home-grid .home-tile{
    min-height:0!important;
    height:auto!important;
    padding:6px 8px!important;
    border-radius:13px!important;
    align-content:center!important;
    gap:2px!important;
  }
  body.study-plan-home-active .approved-home-grid .home-tile>span:first-child{
    margin-bottom:2px!important;
  }
  body.study-plan-home-active .approved-home-grid .tile-art,
  body.study-plan-home-active .approved-home-grid .tile-feature-art{
    width:42px!important;
    height:42px!important;
    min-width:42px!important;
    min-height:42px!important;
    transform:none!important;
    margin:0 auto 2px!important;
  }
  body.study-plan-home-active .approved-home-grid .tile-screen,
  body.study-plan-home-active .approved-home-grid .tile-loop,
  body.study-plan-home-active .approved-home-grid .tile-bars{
    transform:scale(.72)!important;
    transform-origin:center!important;
    margin:-4px auto -3px!important;
  }
  body.study-plan-home-active .approved-home-grid small{
    display:none!important;
  }
  body.study-plan-home-active .approved-home-grid strong{
    font-size:.76rem!important;
    line-height:1.08!important;
    margin:1px 0!important;
  }
  body.study-plan-home-active .approved-home-grid em{
    display:none!important;
  }
  body.study-plan-home-active .approved-home-grid .tile-explain{
    width:21px!important;
    height:21px!important;
    top:5px!important;
    right:5px!important;
    font-size:.67rem!important;
  }
  body.study-plan-home-active .approved-home-grid .tile-games{
    grid-column:1 / -1!important;
    min-height:0!important;
    display:grid!important;
    grid-template-columns:54px minmax(0,1fr)!important;
    justify-items:start!important;
    text-align:left!important;
    align-items:center!important;
    padding:6px 12px!important;
  }
  body.study-plan-home-active .approved-home-grid .tile-games .tile-feature-art{
    margin:0!important;
  }
  body.study-plan-home-active .approved-home-grid .tile-games>span:nth-child(2){
    text-align:left!important;
  }
}

/* v481 FINAL activated-home authority — supersedes older dashboard grid rules */
@media (max-width:700px){
  body.dashboard-active.study-plan-home-active:not(.mock-mode-active):not(.large-text) #app{
    box-sizing:border-box!important;
    width:calc(100% - 16px)!important;
    height:calc(var(--jg-visual-height,100dvh) - var(--jg-topbar-h) - var(--jg-phone-dock-h) - env(safe-area-inset-bottom))!important;
    min-height:0!important;
    max-height:calc(var(--jg-visual-height,100dvh) - var(--jg-topbar-h) - var(--jg-phone-dock-h) - env(safe-area-inset-bottom))!important;
    margin:0 auto!important;
    padding:6px 0!important;
    overflow:hidden!important;
    display:grid!important;
    grid-template-rows:auto minmax(0,1fr)!important;
    gap:6px!important;
    align-content:stretch!important;
  }

  body.dashboard-active.study-plan-home-active .dashboard-welcome{
    display:none!important;
  }

  body.dashboard-active.study-plan-home-active .adaptive-today-card{
    box-sizing:border-box!important;
    width:100%!important;
    min-height:0!important;
    max-height:none!important;
    margin:0!important;
    padding:8px 10px!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 132px!important;
    grid-template-rows:auto auto!important;
    column-gap:9px!important;
    row-gap:6px!important;
    align-items:start!important;
    border-radius:15px!important;
    overflow:hidden!important;
  }
  body.dashboard-active.study-plan-home-active .adaptive-today-card>div:first-child{
    min-width:0!important;
  }
  body.dashboard-active.study-plan-home-active .adaptive-today-card .eyebrow{
    font-size:.55rem!important;
    line-height:1!important;
    letter-spacing:.08em!important;
    white-space:nowrap!important;
  }
  body.dashboard-active.study-plan-home-active .adaptive-today-card h2{
    margin:3px 0 2px!important;
    font-size:.98rem!important;
    line-height:1.06!important;
    display:-webkit-box!important;
    -webkit-line-clamp:2!important;
    -webkit-box-orient:vertical!important;
    overflow:hidden!important;
  }
  body.dashboard-active.study-plan-home-active .adaptive-today-card p{
    margin:0!important;
    font-size:.63rem!important;
    line-height:1.16!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }

  body.dashboard-active.study-plan-home-active .adaptive-today-meta{
    grid-column:1 / -1!important;
    width:100%!important;
    display:grid!important;
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    gap:4px!important;
    margin:0!important;
  }
  body.dashboard-active.study-plan-home-active .adaptive-today-meta span{
    min-width:0!important;
    display:grid!important;
    justify-items:center!important;
    align-content:center!important;
    gap:1px!important;
    padding:4px 2px!important;
    border-radius:8px!important;
    background:rgba(5,24,39,.32)!important;
  }
  body.dashboard-active.study-plan-home-active .adaptive-today-meta b{
    font-size:.76rem!important;
    line-height:1!important;
  }
  body.dashboard-active.study-plan-home-active .adaptive-today-meta small{
    width:100%!important;
    font-size:.43rem!important;
    line-height:1.05!important;
    white-space:normal!important;
    text-align:center!important;
    overflow-wrap:normal!important;
  }

  body.dashboard-active.study-plan-home-active .adaptive-today-actions{
    grid-column:2!important;
    grid-row:1!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:5px!important;
    min-width:0!important;
    width:132px!important;
  }
  body.dashboard-active.study-plan-home-active .adaptive-today-actions .btn{
    width:100%!important;
    min-height:32px!important;
    padding:5px 6px!important;
    font-size:.64rem!important;
    line-height:1.08!important;
    border-radius:9px!important;
  }

  body.dashboard-active.study-plan-home-active:not(.mock-mode-active):not(.large-text) #app .approved-home-grid{
    box-sizing:border-box!important;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    max-height:100%!important;
    margin:0!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-template-rows:repeat(4,minmax(0,1fr))!important;
    grid-auto-rows:minmax(0,1fr)!important;
    gap:6px!important;
    align-content:stretch!important;
    overflow:hidden!important;
  }

  body.dashboard-active.study-plan-home-active:not(.mock-mode-active):not(.large-text) #app .approved-home-grid .home-tile{
    box-sizing:border-box!important;
    min-height:0!important;
    height:100%!important;
    max-height:none!important;
    margin:0!important;
    padding:7px 8px!important;
    display:grid!important;
    grid-template-columns:44px minmax(0,1fr) 22px!important;
    align-items:center!important;
    align-content:center!important;
    justify-items:stretch!important;
    gap:7px!important;
    text-align:left!important;
    border-radius:13px!important;
    overflow:hidden!important;
  }

  body.dashboard-active.study-plan-home-active #app .approved-home-grid .home-tile>span:first-child{
    margin:0!important;
    justify-self:center!important;
  }
  body.dashboard-active.study-plan-home-active #app .approved-home-grid .tile-art,
  body.dashboard-active.study-plan-home-active #app .approved-home-grid .tile-feature-art{
    width:42px!important;
    height:42px!important;
    min-width:42px!important;
    min-height:42px!important;
    margin:0!important;
    transform:none!important;
  }
  body.dashboard-active.study-plan-home-active #app .approved-home-grid .tile-screen{
    width:44px!important;
    height:36px!important;
    margin:0!important;
    transform:none!important;
  }
  body.dashboard-active.study-plan-home-active #app .approved-home-grid .tile-loop,
  body.dashboard-active.study-plan-home-active #app .approved-home-grid .tile-bars{
    width:42px!important;
    height:42px!important;
    margin:0!important;
    transform:scale(.78)!important;
    transform-origin:center!important;
  }

  /* Restore the control-badge descriptions that v480 hid. */
  body.dashboard-active.study-plan-home-active #app .approved-home-grid .home-tile>span:nth-child(2){
    display:block!important;
    min-width:0!important;
    text-align:left!important;
  }
  body.dashboard-active.study-plan-home-active #app .approved-home-grid .home-tile small{
    display:none!important;
  }
  body.dashboard-active.study-plan-home-active #app .approved-home-grid .home-tile strong{
    display:block!important;
    margin:0 0 2px!important;
    font-size:.78rem!important;
    line-height:1.05!important;
    color:#fff!important;
    white-space:normal!important;
  }
  body.dashboard-active.study-plan-home-active #app .approved-home-grid .home-tile em{
    display:block!important;
    margin:0!important;
    font-size:.55rem!important;
    line-height:1.12!important;
    color:#9eb7ce!important;
    font-style:normal!important;
    white-space:normal!important;
    overflow:hidden!important;
    display:-webkit-box!important;
    -webkit-line-clamp:2!important;
    -webkit-box-orient:vertical!important;
  }
  body.dashboard-active.study-plan-home-active #app .approved-home-grid .tile-explain{
    position:absolute!important;
    width:21px!important;
    height:21px!important;
    top:5px!important;
    right:5px!important;
    font-size:.66rem!important;
  }

  body.dashboard-active.study-plan-home-active:not(.mock-mode-active):not(.large-text) #app .approved-home-grid .tile-games{
    grid-column:1 / -1!important;
    min-height:0!important;
    height:100%!important;
    display:grid!important;
    grid-template-columns:44px minmax(0,1fr) 22px!important;
    align-items:center!important;
    justify-items:stretch!important;
    text-align:left!important;
    padding:7px 10px!important;
  }
  body.dashboard-active.study-plan-home-active #app .approved-home-grid .tile-games .tile-feature-art{
    margin:0!important;
  }
}

/* v481 Today-card structure */
.adaptive-today-card>.adaptive-today-meta{grid-column:1 / -1}
.adaptive-today-copy{min-width:0}

/* v482 Active Study Plan + roadmap */
.active-plan-page{max-width:980px;margin:0 auto;padding:10px 0 110px}
.active-plan-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;padding:20px;border:1px solid rgba(86,225,213,.28);border-radius:22px;background:linear-gradient(145deg,#0a2842,#0d2038);box-shadow:0 20px 50px rgba(0,0,0,.22)}
.active-plan-hero h1{margin:.3rem 0 .45rem}.active-plan-hero p{margin:0;color:#b8cad7;line-height:1.45}
.active-plan-countdown{display:grid;place-items:center;min-width:120px;padding:14px;border:1px solid rgba(91,229,216,.25);border-radius:16px;background:rgba(5,25,42,.55)}.active-plan-countdown b{font-size:2.1rem}.active-plan-countdown span{font-size:.72rem;color:#95adbd}
.active-plan-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:12px;margin-top:12px}.active-plan-grid .card,.active-plan-priority{margin:0}
.active-plan-today h2,.active-plan-workload h2,.active-plan-priority h2{margin:.25rem 0 .5rem}
.active-plan-meta,.workload-bars{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0}.active-plan-meta span,.workload-bars span{padding:10px;border:1px solid rgba(106,167,190,.18);border-radius:12px;background:rgba(5,24,40,.4)}.active-plan-meta b,.active-plan-meta small,.workload-bars b,.workload-bars small{display:block}.active-plan-meta b,.workload-bars b{font-size:1.1rem}.active-plan-meta small,.workload-bars small{font-size:.68rem;color:#90a8b8}
.active-plan-priority{margin-top:12px}.priority-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.priority-strip>div{display:grid;grid-template-columns:28px 1fr;gap:7px;padding:10px;border-radius:12px;background:rgba(6,27,43,.52);border:1px solid rgba(93,177,191,.16)}.priority-strip>div>b{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#124257;color:#8de7dc}.priority-strip strong,.priority-strip small{display:block}.priority-strip strong{font-size:.76rem}.priority-strip small{font-size:.64rem;color:#8fa6b4;margin-top:2px}
.floating-modify-plan{position:fixed;right:18px;bottom:calc(92px + env(safe-area-inset-bottom));z-index:9300;border:1px solid rgba(94,234,212,.4);border-radius:999px;background:linear-gradient(135deg,#1d6b83,#2948a8);color:white;font-weight:850;padding:11px 16px;box-shadow:0 14px 34px rgba(0,0,0,.32)}
.roadmap-overlay{position:fixed;inset:0;z-index:12000;background:rgba(2,8,17,.88);backdrop-filter:blur(7px);padding:18px;overflow:auto}.roadmap-overlay[hidden]{display:none!important}.plan-roadmap-shell{max-width:980px;margin:0 auto;padding:20px;border:1px solid rgba(91,229,216,.3);border-radius:22px;background:#0a1d31;color:#eef8ff}
.roadmap-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.roadmap-head h2{margin:.25rem 0}.roadmap-head p{color:#a9bdca}
.roadmap-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:14px 0}.roadmap-summary span{padding:10px;border-radius:12px;background:#0d2a43;border:1px solid rgba(91,229,216,.18)}.roadmap-summary b,.roadmap-summary small{display:block}.roadmap-summary small{font-size:.68rem;color:#98afbd}
.roadmap-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:10px 0}.roadmap-tabs button{padding:10px;border-radius:11px;border:1px solid rgba(110,160,185,.22);background:#0b243b;color:#cde1eb;font-weight:800}.roadmap-tabs button.active{border-color:#5eead4;background:#113a4e;color:#fff}
.roadmap-pane{display:none}.roadmap-pane.active{display:block}.roadmap-list{display:grid;gap:8px}.roadmap-list>div{display:grid;grid-template-columns:180px 1fr;gap:12px;padding:11px;border-radius:12px;background:rgba(5,24,40,.5);border:1px solid rgba(117,159,178,.15)}.roadmap-list b,.roadmap-list strong,.roadmap-list small{display:block}.roadmap-list small{font-size:.69rem;color:#8fa8b7;margin-top:2px}
body.roadmap-open{overflow:hidden!important}
@media(max-width:700px){
 .active-plan-page{padding:6px 0 100px}.active-plan-hero{grid-template-columns:1fr auto;padding:14px;gap:10px}.active-plan-hero h1{font-size:1.35rem}.active-plan-hero p{font-size:.79rem}.active-plan-countdown{min-width:82px;padding:9px}.active-plan-countdown b{font-size:1.6rem}.active-plan-grid{grid-template-columns:1fr}.active-plan-meta,.workload-bars{grid-template-columns:repeat(3,1fr)}.priority-strip{grid-template-columns:1fr 1fr}.floating-modify-plan{right:12px;bottom:calc(88px + env(safe-area-inset-bottom));font-size:.78rem;padding:9px 13px}
 .roadmap-overlay{padding:8px}.plan-roadmap-shell{padding:13px;border-radius:16px}.roadmap-head{display:block}.roadmap-head .btn{width:100%;margin-top:8px}.roadmap-summary{grid-template-columns:1fr 1fr}.roadmap-list>div{grid-template-columns:100px 1fr;gap:8px}.roadmap-list strong{font-size:.76rem}.roadmap-list small{font-size:.64rem}
}

/* v483 Modify Plan profile, reminders, reset */
.plan-profile-settings,.plan-reminders{margin:14px 0;padding:14px;border:1px solid rgba(117,151,183,.28);border-radius:16px}
.plan-profile-settings legend,.plan-reminders legend{padding:0 7px;font-weight:850}
.reminder-day-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin:10px 0}.reminder-day-grid label{display:grid;justify-items:center;gap:5px;padding:8px 4px;border:1px solid rgba(106,160,184,.2);border-radius:10px;background:rgba(7,28,45,.44)}.reminder-day-grid input{width:18px!important;height:18px!important;min-height:18px!important}.reminder-day-grid span{font-size:.68rem;color:#b9cbd4}.reminder-status{min-height:1.1em;margin-top:6px;color:#80dfd4;font-size:.72rem}
.plan-reset-zone{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:14px 0;padding:13px;border:1px solid rgba(255,104,104,.3);border-radius:14px;background:rgba(108,25,25,.12)}.plan-reset-zone strong,.plan-reset-zone span{display:block}.plan-reset-zone strong{color:#ffd0d0}.plan-reset-zone span{margin-top:2px;color:#c6aeb2;font-size:.74rem}.reset-danger{background:#6f1f2b!important;border-color:#b44a57!important;color:#fff!important}.reset-danger:disabled{opacity:.45!important;cursor:not-allowed!important}
.reset-mission-dialog{border:0;padding:0;background:transparent;color:inherit;max-width:none}.reset-mission-dialog::backdrop{background:rgba(2,8,17,.86);backdrop-filter:blur(6px)}.reset-mission-dialog form{width:min(560px,calc(100vw - 24px));padding:22px;border:1px solid rgba(255,107,119,.36);border-radius:20px;background:linear-gradient(160deg,#23101a,#0c1b2b);color:#f7fbff;box-shadow:0 32px 80px rgba(0,0,0,.55)}.reset-mission-dialog h2{margin:.25rem 0 .6rem}.reset-mission-dialog p{color:#c6d1d8;line-height:1.45}.reset-warning{display:grid;gap:3px;margin:12px 0;padding:12px;border-left:3px solid #ff6b77;background:rgba(124,26,39,.18)}.reset-warning strong{color:#ffb1b8}.reset-warning span{font-size:.78rem;color:#d2bcc0}.reset-confirm-check{display:grid;grid-template-columns:20px 1fr;gap:9px;align-items:start;margin:12px 0;font-size:.8rem;line-height:1.35}.reset-confirm-check input{width:18px;height:18px}
.active-plan-start,.roadmap-start-line{display:block;margin-top:6px;color:#8fa8b8;font-size:.72rem}.roadmap-start-line{margin:2px 0 8px}
@media(max-width:700px){.plan-profile-settings,.plan-reminders{padding:10px;margin:9px 0}.reminder-day-grid{gap:3px}.reminder-day-grid label{padding:6px 2px}.plan-reset-zone{padding:10px}.plan-reset-zone span{font-size:.67rem}}

/* v483 reminder verification control */
.reminder-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:8px}
.reminder-actions .btn{min-height:38px;padding:7px 10px;font-size:.75rem}
.reminder-actions .reminder-status{flex:1;min-width:150px}
@media(max-width:700px){.reminder-actions{display:grid;grid-template-columns:1fr}.reminder-actions .btn{width:100%}}


/* v488 Learning Games target-and-dart — single canonical placement authority */
.tile-games-art,
.game-controller-hero{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  overflow:visible!important;
}
.tile-games-art img,
.game-controller-hero img{
  display:block!important;
  object-fit:contain!important;
  object-position:50% 50%!important;
  transform:none!important;
  border-radius:0!important;
  filter:drop-shadow(0 6px 12px rgba(0,0,0,.34))!important;
}
body.dashboard-active:not(.mock-mode-active) #app .approved-home-grid .tile-games>.tile-games-art{
  grid-area:art!important;
  place-self:center!important;
  align-self:center!important;
  justify-self:center!important;
  margin:0!important;
  padding:0!important;
}
body.dashboard-active:not(.mock-mode-active) #app .approved-home-grid .tile-games>.tile-games-art img{
  width:100%!important;
  height:100%!important;
  margin:auto!important;
}
.games-hero .game-controller-hero{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  min-width:0!important;
  min-height:230px!important;
  padding:12px!important;
  box-sizing:border-box!important;
}
.games-hero .game-controller-hero img{
  width:min(240px,70vw)!important;
  height:min(240px,70vw)!important;
  max-width:240px!important;
  max-height:240px!important;
  margin:auto!important;
}
@media(max-width:800px){
  .games-hero .game-controller-hero{min-height:205px!important;padding:8px 0!important}
  .games-hero .game-controller-hero img{width:min(190px,52vw)!important;height:min(190px,52vw)!important;max-width:190px!important;max-height:190px!important}
}

/* v489 Batch 1 — locked Home artwork alignment and canonical dart controller sticker safe-area placement */
body.dashboard-active:not(.mock-mode-active) #app .approved-home-grid .tile-art-puzzle,
body.dashboard-active:not(.mock-mode-active) #app .approved-home-grid .tile-art-tree{
  transform:translateY(-4px)!important;
}
body.dashboard-active:not(.mock-mode-active) #app .approved-home-grid .tile-games>.tile-games-art,
.games-hero .game-controller-hero{
  overflow:visible!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
body.dashboard-active:not(.mock-mode-active) #app .approved-home-grid .tile-games>.tile-games-art img,
.games-hero .game-controller-hero img{
  display:block!important;
  object-fit:contain!important;
  object-position:50% 50%!important;
  transform:none!important;
  margin:auto!important;
  border:0!important;
  border-radius:0!important;
}
@media(max-width:700px){
  body.dashboard-active:not(.mock-mode-active) #app .approved-home-grid .tile-art-puzzle,
  body.dashboard-active:not(.mock-mode-active) #app .approved-home-grid .tile-art-tree{
    transform:translateY(-3px)!important;
  }
}

/* v491 — the tile itself is the final clipping ancestor on phones. */
body.dashboard-active:not(.mock-mode-active) #app .approved-home-grid .tile-games{
  overflow:visible!important;
}
body.dashboard-active:not(.mock-mode-active) #app .approved-home-grid .tile-games>.tile-games-art{
  box-sizing:border-box!important;
  padding:3px!important;
}
body.dashboard-active:not(.mock-mode-active) #app .approved-home-grid .tile-games>.tile-games-art img{
  max-width:100%!important;
  max-height:100%!important;
  filter:drop-shadow(0 3px 6px rgba(0,0,0,.30))!important;
}

/* v496 screenshot repair — fill the real phone viewport and center Games as one unit. */
@media(max-width:700px){
  body.dashboard-active:not(.mock-mode-active){min-height:100dvh!important;height:100dvh!important;max-height:100dvh!important}
  body.dashboard-active:not(.mock-mode-active) #app{
    position:fixed!important;
    top:calc(var(--jg-topbar-h) + env(safe-area-inset-top))!important;
    right:var(--jg-phone-gutter,8px)!important;
    bottom:calc(var(--jg-phone-dock-h) + env(safe-area-inset-bottom))!important;
    left:var(--jg-phone-gutter,8px)!important;
    width:auto!important;height:auto!important;min-height:0!important;max-height:none!important;
    padding:6px 0!important;
  }
  body.dashboard-active:not(.mock-mode-active) #app .approved-home-grid{
    position:static!important;width:100%!important;height:100%!important;min-height:0!important;max-height:none!important;
    grid-template-rows:repeat(3,minmax(0,1fr)) minmax(72px,.62fr)!important;
  }
  body.dashboard-active:not(.mock-mode-active) #app .approved-home-grid .tile-games{
    position:relative!important;
    grid-template-columns:auto minmax(0,auto)!important;
    grid-template-rows:1fr!important;
    grid-template-areas:"art copy"!important;
    justify-content:center!important;justify-items:center!important;align-items:center!important;
    column-gap:12px!important;padding:6px 42px 6px 12px!important;text-align:center!important;overflow:visible!important;
  }
  body.dashboard-active:not(.mock-mode-active) #app .approved-home-grid .tile-games>span:nth-child(2){
    grid-area:copy!important;justify-self:center!important;align-self:center!important;text-align:center!important;overflow:visible!important;
  }
  body.dashboard-active:not(.mock-mode-active) #app .approved-home-grid .tile-games>.tile-explain{
    position:absolute!important;top:8px!important;right:8px!important;
  }
}
