@layer theme,base,components,utilities;@layer theme{:root,:host{--font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-font-family: var(--sans);--default-mono-font-family: var(--font-mono)}}@layer base{*,:after,:before,::backdrop,::file-selector-button{box-sizing:border-box;margin:0;padding:0;border:0 solid}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;tab-size:4;font-family:var(--default-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings, normal);font-variation-settings:var(--default-font-variation-settings, normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings, normal);font-variation-settings:var(--default-mono-font-variation-settings, normal);font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea,::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;border-radius:0;background-color:transparent;opacity:1}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px){::placeholder{color:currentcolor;@supports (color: color-mix(in lab,red,red)){color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]),::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer utilities;@layer base{:root{--bg: #f2f0e9;--bg-deep: #e7e3d8;--surface: rgba(255, 255, 252, .84);--surface-solid: #fffefa;--surface-raised: #ffffff;--ink: #15191b;--muted: #60696d;--faint: #656e72;--line: rgba(27, 35, 39, .13);--line-strong: rgba(27, 35, 39, .22);--ember: #e94f24;--ember-bright: #ff6a3d;--ember-soft: #ffe1d5;--ember-text: #b93615;--on-ember: #21130f;--focus-ring: #b93615;--gold: #c97b19;--gold-soft: #ffebc9;--gold-text: #844800;--steel: #2f67c8;--steel-soft: #dfeaff;--success: #157a55;--success-soft: #d9f2e7;--danger: #b53630;--danger-soft: #fae1de;--mastery-not-started-bg: #e3e7e8;--mastery-not-started-text: #3f4a4f;--mastery-introduced-bg: #dce9ff;--mastery-introduced-text: #174b96;--mastery-recalled-bg: #ede1ff;--mastery-recalled-text: #63319a;--mastery-applied-bg: #fff0bd;--mastery-applied-text: #714700;--mastery-retained-bg: #d6f2e5;--mastery-retained-text: #126344;--mastery-exam-ready-bg: #ffdcd0;--mastery-exam-ready-text: #9f2c0e;--shadow: 0 24px 70px rgba(24, 32, 35, .09);--shadow-small: 0 10px 32px rgba(24, 32, 35, .08);--display: "Avenir Next Condensed", "Arial Narrow", "Helvetica Neue", sans-serif;--sans: "Avenir Next", Avenir, Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;--safe-top: env(safe-area-inset-top, 0px);--safe-right: env(safe-area-inset-right, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px)}[data-theme=dark]{--bg: #0b0f12;--bg-deep: #10171b;--surface: rgba(20, 27, 31, .8);--surface-solid: #151c20;--surface-raised: #1a2328;--ink: #f1f4f2;--muted: #a1adb2;--faint: #808d93;--line: rgba(218, 230, 232, .12);--line-strong: rgba(218, 230, 232, .21);--ember: #ff7148;--ember-bright: #ff8a68;--ember-soft: #44271f;--ember-text: #ff8665;--focus-ring: #ff8665;--gold: #f0ac4d;--gold-soft: #3d2d19;--gold-text: #f0ac4d;--steel: #89adff;--steel-soft: #1d2c4b;--success: #63d6a5;--success-soft: #163b2e;--danger: #ff8b83;--danger-soft: #462522;--mastery-not-started-bg: #283137;--mastery-not-started-text: #d8e0e3;--mastery-introduced-bg: #1d3557;--mastery-introduced-text: #b2d2ff;--mastery-recalled-bg: #392652;--mastery-recalled-text: #e1c6ff;--mastery-applied-bg: #483510;--mastery-applied-text: #ffe19b;--mastery-retained-bg: #123d30;--mastery-retained-text: #94e8c3;--mastery-exam-ready-bg: #4a241a;--mastery-exam-ready-text: #ffc1aa;--shadow: 0 28px 80px rgba(0, 0, 0, .32);--shadow-small: 0 12px 36px rgba(0, 0, 0, .26)}*{box-sizing:border-box}html{min-width:320px;background:var(--bg);color-scheme:light;scroll-behavior:smooth;text-rendering:optimizeLegibility}html[data-theme=dark]{color-scheme:dark}body{min-height:100dvh;margin:0;overflow-x:hidden;background:radial-gradient(circle at 79% -8%,var(--ember),transparent 32rem),radial-gradient(circle at 8% 48%,var(--steel),transparent 28rem),linear-gradient(155deg,var(--bg) 0%,var(--bg-deep) 120%);@supports (color: color-mix(in lab,red,red)){background:radial-gradient(circle at 79% -8%,color-mix(in srgb,var(--ember) 14%,transparent),transparent 32rem),radial-gradient(circle at 8% 48%,color-mix(in srgb,var(--steel) 8%,transparent),transparent 28rem),linear-gradient(155deg,var(--bg) 0%,var(--bg-deep) 120%)}color:var(--ink);font-family:var(--sans)}body:before{position:fixed;inset:0;z-index:-1;background-image:radial-gradient(circle,var(--line) .75px,transparent .75px);background-size:22px 22px;content:"";mask-image:linear-gradient(to bottom,black,transparent 72%);pointer-events:none}button,input,select,textarea{color:inherit;font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}h1[tabindex="-1"]:focus-visible{outline:3px solid var(--focus-ring);outline-offset:5px}::selection{background:var(--ember-soft)}}@layer components{.app-frame{width:min(100%,90rem);min-height:100dvh;margin-inline:auto}.skip-link{position:fixed;top:calc(.75rem + var(--safe-top));left:calc(.75rem + var(--safe-left));z-index:100;translate:0 -200%;border-radius:999px;padding:.7rem 1rem;background:var(--ink);color:var(--bg);font-weight:750;transition:translate .15s ease}.skip-link:focus{translate:0}.topbar{position:sticky;top:0;z-index:30;min-height:4.5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--line);padding:calc(.75rem + var(--safe-top)) calc(1rem + var(--safe-right)) .75rem calc(1rem + var(--safe-left));background:var(--bg);@supports (color: color-mix(in lab,red,red)){background:color-mix(in srgb,var(--bg) 82%,transparent)}backdrop-filter:blur(20px) saturate(130%)}.brand{min-width:0;display:inline-flex;align-items:center;gap:.7rem}.brand-mark{width:2.35rem;height:2.35rem;display:grid;flex:0 0 auto;place-items:center;border:1px solid var(--ember);@supports (color: color-mix(in lab,red,red)){border:1px solid color-mix(in srgb,var(--ember) 35%,var(--line))}border-radius:.82rem;background:linear-gradient(145deg,var(--ember),var(--surface-solid));@supports (color: color-mix(in lab,red,red)){background:linear-gradient(145deg,color-mix(in srgb,var(--ember) 20%,var(--surface-raised)),var(--surface-solid))}box-shadow:inset 0 1px color-mix(in srgb,white 40%,transparent);color:var(--ember)}.brand strong,.brand small{display:block}.brand strong{overflow:hidden;font-family:var(--display);font-size:1.05rem;letter-spacing:.01em;line-height:1.05;text-overflow:ellipsis;white-space:nowrap}.brand small{margin-top:.22rem;color:var(--muted);font-family:var(--mono);font-size:.62rem;letter-spacing:.04em;text-transform:uppercase}.local-pill,.chip,.status-chip{min-height:1.8rem;display:inline-flex;align-items:center;gap:.38rem;border:1px solid var(--line);border-radius:999px;padding:.34rem .62rem;background:var(--surface);@supports (color: color-mix(in lab,red,red)){background:color-mix(in srgb,var(--surface) 86%,transparent)}color:var(--muted);font-family:var(--mono);font-size:.68rem;font-weight:650;letter-spacing:.025em}.local-pill{display:inline-flex;min-height:2.75rem}.side-nav{position:fixed;right:calc(.75rem + var(--safe-right));bottom:calc(.75rem + var(--safe-bottom));left:calc(.75rem + var(--safe-left));z-index:40;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.22rem;border:1px solid var(--line-strong);border-radius:1.35rem;padding:.38rem;background:var(--surface-solid);@supports (color: color-mix(in lab,red,red)){background:color-mix(in srgb,var(--surface-solid) 88%,transparent)}box-shadow:var(--shadow);backdrop-filter:blur(24px) saturate(140%)}.nav-item{min-width:0;min-height:3.6rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.24rem;border-radius:1rem;color:var(--muted);font-size:.7rem;font-weight:750;transition:background .15s ease,color .15s ease,transform .15s ease}.nav-item[data-active=true]{background:var(--ember-soft);color:var(--ember-text)}.nav-item:active{transform:scale(.97)}.page-shell{width:100%;min-width:0;padding:1.25rem calc(1rem + var(--safe-right)) calc(7rem + var(--safe-bottom)) calc(1rem + var(--safe-left))}.app-footer{display:grid;gap:.9rem;margin-top:clamp(2.5rem,7vw,5rem);border:1px solid var(--line);border-radius:1.15rem;padding:1rem;background:var(--surface-solid);@supports (color: color-mix(in lab,red,red)){background:color-mix(in srgb,var(--surface-solid) 74%,transparent)}}.app-footer p{max-width:66rem;margin:0;color:var(--muted);font-size:.78rem;font-weight:620;line-height:1.55}.footer-links{display:flex;flex-wrap:wrap;gap:.35rem}.footer-links a{min-height:2.75rem;display:inline-flex;align-items:center;border-radius:999px;padding:.65rem .85rem;color:var(--ink);font-size:.8rem;font-weight:760}.footer-links a:hover{background:var(--ember-soft);color:var(--ember-text)}.page-stack{display:grid;gap:1.25rem}.display{margin:0;font-family:var(--display);font-weight:780;letter-spacing:-.045em;line-height:.98}.page-title{max-width:18ch;font-size:clamp(2.4rem,10vw,5.4rem)}.page-lede{max-width:42rem;margin:0;color:var(--muted);font-size:clamp(1rem,2vw,1.15rem);line-height:1.65}.eyebrow{margin:0;color:var(--ember-text);font-family:var(--mono);font-size:.69rem;font-weight:760;letter-spacing:.13em;text-transform:uppercase}.muted{color:var(--muted)}.panel,.soft-panel{border:1px solid var(--line);background:var(--surface);backdrop-filter:blur(18px)}.panel{border-radius:1.5rem;box-shadow:var(--shadow-small)}.soft-panel{border-radius:1.15rem}.panel-pad{padding:clamp(1.1rem,3vw,1.6rem)}.hero-panel{position:relative;isolation:isolate;overflow:hidden;min-height:22rem;display:grid;align-content:end;gap:1.1rem;padding:clamp(1.4rem,5vw,3.5rem);background:linear-gradient(125deg,var(--surface-solid),var(--surface));@supports (color: color-mix(in lab,red,red)){background:linear-gradient(125deg,color-mix(in srgb,var(--surface-solid) 92%,transparent),color-mix(in srgb,var(--surface) 74%,transparent))}}.hero-panel:before,.hero-panel:after{position:absolute;z-index:-1;border:1px solid var(--ember);@supports (color: color-mix(in lab,red,red)){border:1px solid color-mix(in srgb,var(--ember) 30%,transparent)}border-radius:50%;content:"";pointer-events:none}.hero-panel:before{width:27rem;height:27rem;top:-17rem;right:-8rem;box-shadow:0 0 0 2.5rem var(--ember),0 0 0 5rem var(--ember);@supports (color: color-mix(in lab,red,red)){box-shadow:0 0 0 2.5rem color-mix(in srgb,var(--ember) 3%,transparent),0 0 0 5rem color-mix(in srgb,var(--ember) 2%,transparent)}}.hero-panel:after{width:8rem;height:8rem;top:2.4rem;right:4rem;background:radial-gradient(circle at 38% 35%,var(--gold),var(--ember) 55%,#721f12);border:0;box-shadow:0 0 5rem var(--ember);@supports (color: color-mix(in lab,red,red)){box-shadow:0 0 5rem color-mix(in srgb,var(--ember) 28%,transparent)}opacity:.88}.button-row{display:flex;flex-wrap:wrap;gap:.7rem}.button{min-height:3rem;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border:1px solid transparent;border-radius:999px;padding:.72rem 1.05rem;cursor:pointer;font-size:.86rem;font-weight:780;line-height:1;transition:transform .15s ease,filter .15s ease,background .15s ease}.button:hover{filter:brightness(1.06)}.button:active{transform:scale(.975)}.button:disabled{cursor:not-allowed;filter:none;opacity:.45}.button-primary{background:linear-gradient(135deg,var(--ember-bright),var(--ember));box-shadow:0 10px 25px var(--ember);@supports (color: color-mix(in lab,red,red)){box-shadow:0 10px 25px color-mix(in srgb,var(--ember) 24%,transparent)}color:var(--on-ember)}.button-secondary{border-color:var(--line-strong);background:var(--surface-raised);color:var(--ink)}.button-quiet{background:transparent;color:var(--muted)}.button-danger{border-color:var(--danger);@supports (color: color-mix(in lab,red,red)){border-color:color-mix(in srgb,var(--danger) 35%,var(--line))}background:var(--danger-soft);color:var(--danger)}.stats-grid,.module-grid,.map-grid,.error-grid,.settings-grid{display:grid;gap:.85rem}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-card{min-width:0;padding:1.05rem}.stat-value{margin-top:.65rem;font-family:var(--mono);font-size:clamp(1.6rem,8vw,2.4rem);font-weight:760;letter-spacing:-.06em}.stat-label{margin-top:.2rem;color:var(--muted);font-size:.75rem}.section-header{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-top:.4rem}.section-header h2{margin:.3rem 0 0;font-family:var(--display);font-size:clamp(1.55rem,5vw,2.15rem);letter-spacing:-.035em}.module-card{position:relative;overflow:hidden;display:grid;gap:1rem;padding:1.3rem}.module-card:after{position:absolute;width:5rem;height:5rem;right:-2.4rem;bottom:-2.4rem;border:1rem solid var(--ember);@supports (color: color-mix(in lab,red,red)){border:1rem solid color-mix(in srgb,var(--ember) 6%,transparent)}border-radius:50%;content:""}.module-card h3,.objective-card h3,.error-card h3{margin:0;font-size:1.06rem;letter-spacing:-.015em}.module-card p,.objective-card p,.error-card p{margin:0;color:var(--muted);font-size:.85rem;line-height:1.55}.progress-track{height:.42rem;overflow:hidden;border-radius:999px;background:var(--muted);@supports (color: color-mix(in lab,red,red)){background:color-mix(in srgb,var(--muted) 14%,transparent)}}.progress-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--ember),var(--gold));transition:width .3s ease}.choice-grid,.confidence-grid,.tag-grid{display:grid;gap:.65rem}.confidence-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.choice-button,.confidence-button,.tag-button{min-height:3.25rem;display:flex;align-items:center;gap:.75rem;border:1px solid var(--line-strong);border-radius:1rem;padding:.85rem 1rem;background:var(--surface-solid);cursor:pointer;text-align:left;transition:border-color .15s ease,background .15s ease,transform .15s ease}.confidence-button{flex-direction:column;justify-content:center;gap:.25rem;text-align:center}.choice-button:hover,.confidence-button:hover,.tag-button:hover,.choice-button[data-selected=true],.confidence-button[data-selected=true],.tag-button[data-selected=true]{border-color:var(--ember);background:var(--ember-soft)}.theme-fieldset .choice-button:focus-within,.file-button:focus-within{outline:3px solid var(--focus-ring);outline-offset:3px}.choice-button[data-correct=true]{border-color:var(--success);background:var(--success-soft)}.choice-button[data-wrong=true]{border-color:var(--danger);background:var(--danger-soft)}.choice-letter{width:1.9rem;height:1.9rem;display:grid;flex:0 0 auto;place-items:center;border-radius:.62rem;background:var(--ink);@supports (color: color-mix(in lab,red,red)){background:color-mix(in srgb,var(--ink) 8%,transparent)}font-family:var(--mono);font-size:.75rem;font-weight:750}.textarea{width:100%;min-height:9rem;resize:vertical;border:1px solid var(--line-strong);border-radius:1rem;padding:1rem;background:var(--surface-solid);line-height:1.55}.input,.select{width:100%;min-height:3rem;border:1px solid var(--line-strong);border-radius:.9rem;padding:.7rem .85rem;background:var(--surface-solid)}.study-frame{max-width:50rem;margin-inline:auto}.study-progress{display:flex;align-items:center;gap:.8rem;margin-bottom:1rem}.study-progress .progress-track{flex:1}.study-card{display:grid;gap:1.35rem;padding:clamp(1.2rem,5vw,2.2rem)}.study-card h1{margin:0;font-family:var(--display);font-size:clamp(1.85rem,7vw,3.1rem);letter-spacing:-.04em;line-height:1.02}.scenario-box,.explain-box,.decision-rule{border-left:3px solid var(--gold);border-radius:0 .9rem .9rem 0;padding:1rem;background:var(--gold-soft);line-height:1.6}.explain-box{border-color:var(--steel);background:var(--steel-soft)}.decision-rule{border-color:var(--ember);background:var(--ember-soft)}.feedback-banner{display:flex;align-items:flex-start;gap:.75rem;border:1px solid var(--line);border-radius:1rem;padding:.9rem 1rem;background:var(--surface-solid)}.study-card .feedback-banner h1,.study-card .feedback-heading{display:block;font-family:inherit;font-size:.95rem;letter-spacing:0;line-height:1.25}.feedback-banner[data-tone=good]{border-color:var(--success);@supports (color: color-mix(in lab,red,red)){border-color:color-mix(in srgb,var(--success) 42%,var(--line))}background:var(--success-soft)}.feedback-banner[data-tone=bad]{border-color:var(--danger);@supports (color: color-mix(in lab,red,red)){border-color:color-mix(in srgb,var(--danger) 42%,var(--line))}background:var(--danger-soft)}.persistence-alert{align-items:center;margin-bottom:1rem}.persistence-alert>div:first-of-type{min-width:min(100%,24rem);flex:1 1 24rem}.persistence-alert span{display:block;margin-top:.2rem;font-size:.82rem;line-height:1.45}.prose{color:var(--ink);@supports (color: color-mix(in lab,red,red)){color:color-mix(in srgb,var(--ink) 88%,var(--muted))}font-size:1rem;line-height:1.75}.prose h2{margin:2rem 0 .7rem;font-family:var(--display);font-size:1.65rem;letter-spacing:-.025em}.prose ul,.prose ol{padding-left:1.25rem}.prose li+li{margin-top:.55rem}.concept-layout{display:grid;gap:1rem}.concept-aside{align-self:start;padding:1.1rem}.objective-card,.error-card{display:grid;gap:.75rem;padding:1rem}.objective-list{display:grid;gap:.6rem;margin:0;padding:0;list-style:none}.objective-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:.65rem;border-top:1px solid var(--line);padding-top:.75rem}.objective-id{color:var(--ember-text);font-family:var(--mono);font-size:.72rem;font-weight:760}.objective-resource-links{display:flex;flex-wrap:wrap;gap:.25rem .7rem;margin-top:.35rem}.objective-resource-links a{min-height:2.75rem;display:inline-flex;align-items:center;gap:.2rem;color:var(--ember-text);font-size:.68rem;font-weight:760;text-decoration:underline;text-underline-offset:.16rem}.status-chip[data-level=not-started]{border-color:var(--mastery-not-started-text);@supports (color: color-mix(in lab,red,red)){border-color:color-mix(in srgb,var(--mastery-not-started-text) 32%,transparent)}background:var(--mastery-not-started-bg);color:var(--mastery-not-started-text)}.status-chip[data-level=introduced]{border-color:var(--mastery-introduced-text);@supports (color: color-mix(in lab,red,red)){border-color:color-mix(in srgb,var(--mastery-introduced-text) 32%,transparent)}background:var(--mastery-introduced-bg);color:var(--mastery-introduced-text)}.status-chip[data-level=recalled]{border-color:var(--mastery-recalled-text);@supports (color: color-mix(in lab,red,red)){border-color:color-mix(in srgb,var(--mastery-recalled-text) 32%,transparent)}background:var(--mastery-recalled-bg);color:var(--mastery-recalled-text)}.status-chip[data-level=applied]{border-color:var(--mastery-applied-text);@supports (color: color-mix(in lab,red,red)){border-color:color-mix(in srgb,var(--mastery-applied-text) 32%,transparent)}background:var(--mastery-applied-bg);color:var(--mastery-applied-text)}.status-chip[data-level=retained]{border-color:var(--mastery-retained-text);@supports (color: color-mix(in lab,red,red)){border-color:color-mix(in srgb,var(--mastery-retained-text) 32%,transparent)}background:var(--mastery-retained-bg);color:var(--mastery-retained-text)}.status-chip[data-level=exam-ready]{border-color:var(--mastery-exam-ready-text);@supports (color: color-mix(in lab,red,red)){border-color:color-mix(in srgb,var(--mastery-exam-ready-text) 32%,transparent)}background:var(--mastery-exam-ready-bg);color:var(--mastery-exam-ready-text)}.modal-backdrop,.onboarding-backdrop{position:fixed;inset:0;z-index:80;display:grid;place-items:center;overflow-y:auto;padding:calc(1rem + var(--safe-top)) calc(1rem + var(--safe-right)) calc(1rem + var(--safe-bottom)) calc(1rem + var(--safe-left));background:color-mix(in srgb,#080b0d 70%,transparent);backdrop-filter:blur(12px) saturate(80%)}.modal-card{width:min(100%,34rem);max-height:calc(100dvh - 2rem - var(--safe-top) - var(--safe-bottom));overflow-y:auto;border:1px solid var(--line-strong);border-radius:1.5rem;padding:clamp(1.15rem,4vw,1.75rem);background:var(--surface-solid);box-shadow:var(--shadow)}.onboarding-backdrop{z-index:90}.onboarding-dialog{width:min(100%,68rem);max-height:calc(100dvh - 2rem - var(--safe-top) - var(--safe-bottom));display:grid;gap:clamp(1.1rem,3vw,1.8rem);overflow-y:auto;padding:clamp(1.2rem,4vw,2.25rem);background:var(--surface-solid)}.onboarding-header{display:grid;gap:.8rem}.onboarding-header h1{max-width:17ch;font-size:clamp(2rem,7vw,4rem)}.onboarding-grid{display:grid;gap:.8rem;margin:0;padding:0;list-style:none}.onboarding-card{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);align-content:start;gap:.65rem .75rem;padding:1rem}.onboarding-step{width:1.55rem;height:1.55rem;display:grid;place-items:center;border-radius:50%;background:var(--ember-soft);color:var(--ember-text);font-family:var(--mono);font-size:.7rem;font-weight:800}.onboarding-card>svg{position:absolute;top:1rem;right:1rem;color:var(--muted)}.onboarding-card h2,.onboarding-card p{grid-column:1 / -1;margin:0}.onboarding-card h2{margin-top:.3rem;padding-right:2rem;font-size:1rem;letter-spacing:-.015em}.onboarding-card p{color:var(--muted);font-size:.84rem;line-height:1.55}.onboarding-actions{display:flex;flex-direction:column-reverse;gap:.65rem}.glossary-grid,.learn-grid,.about-grid{display:grid;gap:.85rem;margin-top:1rem}.glossary-card{padding:1.15rem;scroll-margin-top:6rem}.glossary-card dt{font-family:var(--display);font-size:1.35rem;font-weight:780;letter-spacing:-.025em}.glossary-card dd{margin:.6rem 0 0;color:var(--muted);font-size:.9rem;line-height:1.6}.glossary-card .glossary-internal{border-top:1px solid var(--line);padding-top:.65rem;font-size:.72rem}.glossary-internal code{border-radius:.35rem;padding:.15rem .3rem;background:var(--muted);@supports (color: color-mix(in lab,red,red)){background:color-mix(in srgb,var(--muted) 10%,transparent)}color:var(--ink);font-family:var(--mono)}.mastery-list{display:grid;margin:1rem 0 0;padding:0;list-style:none}.mastery-list li{display:grid;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:.75rem;padding:1rem}.mastery-list li+li{border-top:1px solid var(--line)}.mastery-list p{margin:0;color:var(--muted);font-size:.84rem;line-height:1.5}.mastery-number{color:var(--faint);font-family:var(--mono);font-size:.7rem;font-weight:750}.section-title{margin:.35rem 0 0;font-family:var(--display);font-size:clamp(1.45rem,5vw,2rem);letter-spacing:-.03em;line-height:1.05}.module-description{max-width:48rem;margin:.45rem 0 0;font-size:.88rem;line-height:1.55}.concept-card{min-height:13rem;display:grid;align-content:space-between;gap:1rem;padding:1.2rem;transition:border-color .15s ease,transform .15s ease,box-shadow .15s ease}.concept-card:hover{border-color:var(--ember);@supports (color: color-mix(in lab,red,red)){border-color:color-mix(in srgb,var(--ember) 42%,var(--line))}box-shadow:var(--shadow);transform:translateY(-2px)}.concept-card h3,.concept-card p{margin:0}.concept-card h3{font-family:var(--display);font-size:1.35rem;letter-spacing:-.025em}.concept-card p{margin-top:.5rem;color:var(--muted);font-size:.86rem;line-height:1.55}.concept-card-action{min-height:2.75rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;border-top:1px solid var(--line);padding-top:.75rem;color:var(--ember-text);font-size:.78rem;font-weight:780}.legal-panel{border-color:var(--ember);@supports (color: color-mix(in lab,red,red)){border-color:color-mix(in srgb,var(--ember) 28%,var(--line))}background:var(--ember-soft);@supports (color: color-mix(in lab,red,red)){background:color-mix(in srgb,var(--ember-soft) 55%,var(--surface-solid))}}.legal-panel>p:last-child{max-width:60rem;margin:1rem 0 0;font-weight:680;line-height:1.65}.loading-panel{min-height:22rem;display:grid;align-content:center}.loading-lines{display:grid;gap:.85rem}.loading-lines span{height:1rem;border-radius:999px;background:var(--muted);@supports (color: color-mix(in lab,red,red)){background:color-mix(in srgb,var(--muted) 13%,transparent)}animation:loading-pulse 1.3s ease-in-out infinite alternate}.loading-lines span:first-child{width:min(72%,32rem);height:2.5rem}.loading-lines span:nth-child(2){width:min(88%,42rem);animation-delay:.1s}.loading-lines span:last-child{width:min(56%,25rem);animation-delay:.2s}.skeleton-line,.skeleton-card{border-color:transparent;background:var(--muted);@supports (color: color-mix(in lab,red,red)){background:color-mix(in srgb,var(--muted) 13%,transparent)}animation:loading-pulse 1.3s ease-in-out infinite alternate}.skeleton-line{width:min(88%,42rem);height:1rem;border-radius:999px}.skeleton-title{width:min(70%,32rem);height:clamp(2.25rem,7vw,3.25rem)}.skeleton-short{width:min(48%,20rem)}.skeleton-card{min-height:7.5rem}.error-reference{margin:0;color:var(--faint);font-family:var(--mono);font-size:.7rem}.form-group{display:grid;gap:.45rem}.form-group label,.form-label{font-size:.78rem;font-weight:760}.settings-section{display:grid;gap:1rem;padding:1.2rem}.theme-fieldset{min-width:0;margin:0}.settings-section h2{margin:0;font-family:var(--display);font-size:1.45rem;letter-spacing:-.025em}.callout{border:1px solid var(--steel);@supports (color: color-mix(in lab,red,red)){border:1px solid color-mix(in srgb,var(--steel) 30%,var(--line))}border-radius:1rem;padding:1rem;background:var(--steel-soft);color:var(--ink);@supports (color: color-mix(in lab,red,red)){color:color-mix(in srgb,var(--ink) 90%,var(--steel))}font-size:.86rem;line-height:1.55}.empty-state{min-height:24rem;display:grid;align-content:center;justify-items:start;gap:1rem;padding:clamp(1.4rem,6vw,3rem)}.empty-state .display{max-width:15ch;font-size:clamp(2rem,8vw,4rem)}.drill-shell{width:100%;max-width:58rem;margin-inline:auto}.drill-hero{overflow:hidden;background:radial-gradient(circle at 96% 8%,var(--steel),transparent 17rem),var(--surface);@supports (color: color-mix(in lab,red,red)){background:radial-gradient(circle at 96% 8%,color-mix(in srgb,var(--steel) 17%,transparent),transparent 17rem),var(--surface)}}.drill-mode-picker{min-width:0;display:grid;gap:.65rem;margin:0;padding:0;border:0}.drill-card{min-height:25rem;display:grid;align-content:center;gap:1.25rem;padding:clamp(1.25rem,5vw,2.4rem)}.drill-card h2{margin:.3rem 0 0;font-family:var(--display);font-size:clamp(1.75rem,6vw,2.8rem);letter-spacing:-.035em;line-height:1.08}.drill-queue-summary{display:flex;flex-wrap:wrap;gap:.55rem}.drill-answer-form{display:grid;gap:.75rem}.drill-answer-input{min-height:3.6rem;font-size:1.02rem}.drill-answer-help{margin:0;font-size:.78rem;line-height:1.5}.drill-result{gap:1rem}.drill-result .feedback-banner span{display:block;margin-top:.2rem;font-size:.82rem}.drill-answer-reveal{display:grid;gap:.35rem;border-left:3px solid var(--ember);border-radius:0 .9rem .9rem 0;padding:1rem;background:var(--ember-soft)}.drill-answer-reveal strong{font-family:var(--mono);font-size:clamp(1.15rem,4vw,1.5rem);line-height:1.4}.drill-sources{display:grid;gap:.4rem}.drill-sources ul{display:grid;gap:.45rem;margin:0;padding-left:1.1rem;color:var(--muted);font-size:.75rem;line-height:1.45}.drill-sources a{color:var(--steel);font-weight:720;text-decoration:underline;text-underline-offset:.18em}.source-url{display:block;max-width:100%;overflow-wrap:anywhere;word-break:break-word}.drill-score{display:flex;align-items:baseline;gap:.8rem;border:1px solid var(--line);border-radius:1rem;padding:1rem;background:var(--surface-solid)}.drill-score strong{color:var(--ember-text);font-family:var(--mono);font-size:clamp(1.7rem,7vw,2.5rem);letter-spacing:-.05em}.drill-score span{color:var(--muted);font-size:.8rem}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;margin:-1px;padding:0;border:0;clip:rect(0,0,0,0);white-space:nowrap}}@media (min-width: 560px){.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.module-grid,.error-grid,.settings-grid,.tag-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.onboarding-actions{flex-direction:row;justify-content:flex-end}.glossary-grid,.learn-grid,.about-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width: 780px){.page-shell{padding:2rem calc(2rem + var(--safe-right)) calc(8rem + var(--safe-bottom)) calc(2rem + var(--safe-left))}.hero-panel{min-height:28rem}.module-grid,.map-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.concept-layout{grid-template-columns:minmax(0,1fr) 16rem}.concept-aside{position:sticky;top:6.5rem}.onboarding-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width: 1040px){.app-frame{display:grid;grid-template-columns:12rem minmax(0,1fr);grid-template-rows:auto 1fr}.topbar{grid-column:1 / -1;padding-inline:1.5rem}.side-nav{position:sticky;top:4.5rem;right:auto;bottom:auto;left:auto;z-index:20;height:calc(100dvh - 4.5rem);display:flex;flex-direction:column;align-self:start;gap:.35rem;border-width:0 1px 0 0;border-radius:0;padding:1.5rem .8rem;background:transparent;box-shadow:none;backdrop-filter:none}.nav-item{min-height:3rem;flex-direction:row;justify-content:flex-start;gap:.7rem;padding:0 .85rem;font-size:.78rem}.page-shell{max-width:76rem;padding:2.7rem 3rem 5rem}.map-grid,.learn-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (prefers-reduced-motion: no-preference){@keyframes forge-rise{0%{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}.page-shell>*{animation:forge-rise .35s ease both}@keyframes loading-pulse{0%{opacity:.45}to{opacity:1}}}@media (max-width: 379px){.brand small{display:none}.topbar{gap:.5rem}.local-pill{padding-inline:.5rem;font-size:.61rem}.mastery-list li{grid-template-columns:auto minmax(0,1fr)}.mastery-list p{grid-column:1 / -1}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}.exam-shell{width:100%;max-width:76rem;margin-inline:auto}.exam-toolbar{position:sticky;top:5.1rem;z-index:18;display:flex;align-items:center;justify-content:space-between;gap:.65rem;margin-bottom:1rem;padding:.65rem;background:var(--surface-solid);@supports (color: color-mix(in lab,red,red)){background:color-mix(in srgb,var(--surface-solid) 92%,transparent)}backdrop-filter:blur(18px)}.exam-timer{min-width:6.5rem;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;border-radius:999px;padding:.55rem .75rem;background:var(--ink);color:var(--bg);font-family:var(--mono);font-size:.8rem;font-weight:800}.exam-layout{display:grid;gap:1rem;align-items:start}.exam-card{min-height:24rem;display:grid;align-content:start;gap:1.25rem;padding:clamp(1.15rem,4vw,2rem)}.exam-card h1,.exam-card h2{margin:0;font-family:var(--display);font-size:clamp(1.55rem,5vw,2.35rem);letter-spacing:-.035em;line-height:1.08}.exam-card h1{scroll-margin-top:14rem}.exam-choice-list{display:grid;gap:.7rem}.exam-choice{min-height:3.65rem;display:grid;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:.75rem;border:1px solid var(--line-strong);border-radius:1rem;padding:.75rem;background:var(--surface);@supports (color: color-mix(in lab,red,red)){background:color-mix(in srgb,var(--surface) 88%,transparent)}cursor:pointer;font-size:.9rem;line-height:1.45;transition:border-color .15s ease,background .15s ease,transform .15s ease}.exam-choice:hover{border-color:var(--ember);@supports (color: color-mix(in lab,red,red)){border-color:color-mix(in srgb,var(--ember) 50%,var(--line))}}.exam-choice:active{transform:scale(.995)}.exam-choice[data-selected=true]{border-color:var(--ember);background:var(--ember-soft)}.exam-choice:has(input:focus-visible){outline:3px solid var(--focus-ring);outline-offset:3px}.exam-choice:has(input:disabled){cursor:not-allowed;opacity:.52}.exam-choice input{width:1.1rem;height:1.1rem;margin:0;accent-color:var(--ember)}.exam-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;border-top:1px solid var(--line);padding-top:1rem}.exam-palette{display:grid;gap:1rem;padding:1rem}.exam-palette-header,.exam-domain-label{display:flex;align-items:center;justify-content:space-between;gap:1rem;font-size:.78rem}.exam-domain-label{margin-bottom:.45rem}.exam-palette-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:.38rem}.exam-palette-button{position:relative;min-width:0;min-height:2.75rem;border:1px solid var(--line-strong);border-radius:.65rem;background:var(--surface-solid);color:var(--muted);font-family:var(--mono);font-size:.7rem;font-weight:760;cursor:pointer}.exam-palette-button[data-answered=true]{border-color:var(--steel);@supports (color: color-mix(in lab,red,red)){border-color:color-mix(in srgb,var(--steel) 58%,var(--line))}background:var(--steel-soft);color:var(--ink)}.exam-palette-button[data-current=true]{outline:3px solid var(--ember);outline-offset:1px}.exam-palette-button[data-flagged=true]:after{position:absolute;top:.22rem;right:.22rem;width:.42rem;height:.42rem;border-radius:999px;background:var(--ember);content:""}.exam-palette-legend{display:flex;flex-wrap:wrap;gap:.8rem;color:var(--muted);font-size:.72rem}.exam-palette-legend span{display:inline-flex;align-items:center;gap:.35rem}.exam-palette-legend i{width:.7rem;height:.7rem;display:inline-block;border:1px solid var(--line-strong);border-radius:.2rem}.exam-palette-legend i[data-kind=answered]{background:var(--steel-soft)}.exam-palette-legend i[data-kind=flagged]{border-color:var(--ember);background:var(--ember)}.exam-allocation-grid{display:flex;flex-wrap:wrap;gap:.5rem}.exam-review-item{overflow:clip}.exam-review-item summary{min-height:4rem;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.8rem;padding:.9rem 1rem;cursor:pointer;list-style:none}.exam-review-item summary::-webkit-details-marker{display:none}.exam-question-number{width:2rem;height:2rem;display:inline-grid;place-items:center;border-radius:.65rem;background:var(--surface-raised);font-family:var(--mono);font-size:.7rem;font-weight:780}.exam-review-body{border-top:1px solid var(--line);padding:1rem}.exam-review-choices{display:grid;gap:.55rem;margin:0;padding:0;list-style:none}.exam-review-choices li{display:grid;grid-template-columns:minmax(4.5rem,auto) minmax(0,1fr);gap:.35rem .75rem;border:1px solid var(--line);border-radius:.85rem;padding:.75rem}.exam-review-choices li>span{color:var(--faint);font-size:.69rem;font-weight:760;text-transform:uppercase}.exam-review-choices li>p{grid-column:2;margin:0;color:var(--muted);font-size:.78rem;line-height:1.5}.exam-review-choices li[data-correct=true]{border-color:var(--success);@supports (color: color-mix(in lab,red,red)){border-color:color-mix(in srgb,var(--success) 48%,var(--line))}background:var(--success-soft);@supports (color: color-mix(in lab,red,red)){background:color-mix(in srgb,var(--success-soft) 72%,transparent)}}.exam-review-choices li[data-selected=true]{box-shadow:inset 3px 0 var(--ember)}.matching-grid{display:grid;gap:.75rem}.matching-row{display:grid;grid-template-columns:minmax(8rem,.8fr) minmax(12rem,1.2fr);align-items:center;gap:.7rem;border:1px solid var(--line);border-radius:.9rem;padding:.75rem;background:var(--surface);@supports (color: color-mix(in lab,red,red)){background:color-mix(in srgb,var(--surface) 88%,transparent)}font-size:.82rem}.matching-result{grid-column:2;display:inline-flex;align-items:center;gap:.3rem;font-size:.72rem;font-weight:760}.matching-result[data-correct=true]{color:var(--success)}.matching-result[data-correct=false]{color:var(--danger)}@media (min-width: 760px){.exam-palette-grid{grid-template-columns:repeat(10,minmax(0,1fr))}}@media (min-width: 1040px){.exam-layout{grid-template-columns:minmax(0,1fr) 18rem}.exam-palette{position:sticky;top:10rem}.exam-palette-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}@media (max-width: 559px){.exam-toolbar{top:4.8rem}.exam-toolbar>.chip{display:none}.exam-actions,.exam-actions>.button-row{width:100%}.exam-actions>.button-row .button{flex:1}.exam-review-item summary{grid-template-columns:auto minmax(0,1fr)}.exam-review-item summary .status-chip{grid-column:2;justify-self:start}.exam-review-choices li{grid-template-columns:1fr}.exam-review-choices li>p{grid-column:1}.matching-row{grid-template-columns:1fr}.matching-result{grid-column:1}}.demo-top-actions{display:flex;align-items:center;gap:1rem}.demo-all-tools{font-size:.8rem;font-weight:750;white-space:nowrap}.demo-live{gap:.5rem}.demo-live>span{height:.4rem;width:.4rem;border-radius:50%;background:var(--success)}.demo-intro{display:flex;align-items:center;justify-content:space-between;gap:1.4rem;margin-bottom:1.5rem;padding-bottom:1.2rem;border-bottom:1px solid var(--line)}.demo-intro p{margin:.4rem 0 0;font-size:.8rem;color:var(--muted)}.demo-intro .eyebrow{color:var(--ember-text);margin:0}.demo-intro .button{font-size:.78rem}.demo-example-label{display:flex;align-items:center;gap:.7rem;color:var(--muted);font-size:.78rem}.demo-content:focus{outline:none}.demo-content .hero-panel{min-height:19rem}.demo-content .hero-panel .page-title{font-size:clamp(2.6rem,6vw,4.8rem)}.demo-session-results{display:flex;align-items:center;justify-content:space-between;gap:1.5rem}.demo-session-results p{max-width:42rem}.demo-tour{margin-bottom:1.5rem;border-color:var(--ember);display:flex;gap:2rem;justify-content:space-between;align-items:center}.demo-tour p{max-width:44rem}.demo-tour .button-row{flex-shrink:0}.demo-reset-notice{margin-bottom:1.5rem}.demo-study-header{justify-content:space-between}.demo-study{max-width:62rem}.demo-step-track{display:grid;grid-template-columns:repeat(7,1fr);gap:.5rem}.demo-step-track>span{display:flex;gap:.4rem;align-items:center;border-top:3px solid var(--line);padding-top:.5rem;font-family:var(--mono);font-size:.7rem;color:var(--muted)}.demo-step-track>span[data-current]{border-color:var(--ember);color:var(--ember-text);font-weight:750}.demo-step-track>span[data-complete]{border-color:var(--success)}.demo-choice-detail{display:block;font-size:.78rem;margin-top:.2rem}.demo-recall-text{white-space:pre-wrap;overflow-wrap:anywhere}.demo-summary-score{display:flex;align-items:center;gap:1.5rem;margin:1rem 0}.demo-summary-score strong{font:800 clamp(3rem,7vw,5rem)/1 var(--display);color:var(--ember-text)}.demo-summary-score span{color:var(--muted);max-width:11rem}.demo-domain h2{font-size:1.25rem}.demo-domain-selected{border-color:var(--ember)}.demo-domain .button{margin-top:auto}.demo-content details summary{cursor:pointer;font-weight:700;color:var(--ember-text);padding:.6rem 0}.demo-content details p{margin-top:.6rem}.demo-content .study-card h1{font-size:clamp(1.7rem,4vw,2.55rem)}@media (max-width: 780px){.demo-intro,.demo-tour,.demo-session-results{flex-direction:column;align-items:flex-start}.demo-intro{gap:.8rem}.demo-tour{gap:1rem}.demo-example-label{align-items:flex-start;line-height:1.5}.demo-example-label .chip{white-space:nowrap}.demo-top-actions{gap:.65rem}.demo-live{font-size:.58rem;min-height:2rem}.demo-all-tools{font-size:.7rem}.demo-step-track{gap:.3rem}.demo-step-track>span{flex-direction:column;align-items:flex-start;font-size:.61rem}.demo-study-header{gap:.4rem}.demo-study-header .chip{font-size:.61rem}.demo-content .hero-panel{min-height:19rem}}@media (max-width: 420px){.demo-live{display:none}.demo-step-track>span span{font-size:.55rem}.demo-intro .button-row{gap:.4rem}.demo-intro .button{padding-inline:.65rem}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;scroll-behavior:auto!important;transition:none!important}}
