.card-container{flex-direction:column;flex:1;width:100%;min-height:0;margin:0;padding:0;animation:.2s ease-out both card-entrance;display:flex;position:relative}@keyframes card-entrance{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.card-container{animation:none}}.card{background:var(--paper);width:100%;box-shadow:none;touch-action:pan-y;-webkit-user-select:none;user-select:none;isolation:isolate;border:0;border-radius:0;flex-direction:column;flex:auto;min-height:0;display:flex;position:relative;overflow:hidden auto}.card-watermark{top:6px;right:var(--pad-x);z-index:-1;opacity:.05;pointer-events:none;position:absolute}.card-texture{z-index:-1;opacity:.035;pointer-events:none;width:140px;height:140px;position:absolute;bottom:0;left:0}.toprule{background:var(--rule);height:3px;transition:background .3s}.card.revealed .toprule{height:6px}.meta{padding:var(--sp-4) var(--pad-x) 0;justify-content:space-between;align-items:center;gap:var(--sp-3);display:flex}.meta-left{align-items:center;gap:10px;min-width:0;display:flex}.sigil-slot{border:1px dashed var(--placeholder-line);background:var(--placeholder-fill);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;display:inline-flex}.sigil-slot svg{width:30px;height:30px}.form-tag{background:var(--neutral-wash);min-width:0;font-size:var(--fs-label);color:var(--muted);letter-spacing:normal;border-radius:999px;flex-shrink:1;align-items:center;gap:6px;padding:4px 10px 4px 8px;display:inline-flex}.form-tag svg{flex-shrink:0;width:14px;height:14px}.form-tag-text{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.meta .faint{text-align:right;overflow-wrap:anywhere;min-width:0}.meta-right{align-items:center;gap:var(--sp-3);flex-shrink:0;display:flex}.card-menu-trigger{width:var(--tap);height:var(--tap);color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:background .2s;display:inline-flex}.card-menu-trigger:hover{background:var(--ground)}.card-menu-trigger:focus-visible{outline:3px solid color-mix(in srgb, var(--accent) 38%, transparent);outline-offset:2px}.card .stem{padding:var(--sp-5) var(--pad-x) var(--sp-2)}.stem .richtext p,.stem .richtext li{font-size:calc(var(--fs-stem) * 1.05);max-width:36ch;line-height:1.5}.difficulty{flex-shrink:0;align-items:center;gap:7px;display:inline-flex}.difficulty-label{font-size:var(--fs-label);letter-spacing:.12em;text-transform:uppercase;color:var(--faint)}.difficulty-bars{align-items:center;gap:3px;display:inline-flex}.difficulty-bars span{border-radius:50%;width:8px;height:8px}.difficulty-bars .filled{background:var(--muted)}.difficulty-bars .empty{background:var(--rule)}.options{padding:var(--sp-2) var(--pad-x) var(--sp-4);gap:var(--sp-2);flex-direction:column;display:flex}.opt{gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);background:var(--paper);border:1px solid var(--rule);font:inherit;font-size:var(--fs-option);color:inherit;text-align:left;min-height:var(--tap);cursor:pointer;appearance:none;border-radius:12px;align-items:center;width:100%;margin:0;line-height:1.5;transition:border-color .2s,background .2s,transform .15s,box-shadow .15s;display:flex}.opt:hover{border-color:var(--muted);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.opt:focus-visible{outline:2px solid var(--affirm);outline-offset:2px}.opt.selected{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 14%, var(--paper));box-shadow:var(--shadow-sm);border-width:2px;transform:translateY(-1px)}.opt.selected b{background:var(--accent);color:var(--on-accent)}.choice-hint{padding:0 var(--pad-x) var(--sp-3);font-size:var(--fs-meta);color:var(--muted);margin:0}.opt b{background:var(--ground);width:26px;height:26px;color:var(--body);font-weight:600;font-size:var(--fs-body);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.foot{padding:0 var(--pad-x) var(--sp-5);justify-content:space-between;align-items:center;display:flex}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width>=768px){.foot .visually-hidden{width:auto;height:auto;padding:initial;margin:initial;clip:auto;white-space:normal;font-size:var(--fs-meta);color:var(--faint);position:static;overflow:visible}}.ident{padding:var(--sp-4) var(--pad-x) var(--sp-3);gap:var(--sp-3);align-items:flex-start;display:flex}.domain{font-size:var(--fs-label);letter-spacing:.14em;text-transform:uppercase}.concept{font-size:var(--fs-body);margin-top:2px;font-weight:600}.grade-result{margin:0 var(--pad-x) var(--sp-3);padding:var(--sp-2) var(--sp-3);font-size:var(--fs-body);border-radius:8px;align-items:center;gap:6px;width:fit-content;font-weight:600;display:inline-flex}.grade-result.right{background:var(--affirm-wash);color:var(--affirm-on-wash)}.grade-result.wrong{background:var(--negate-wash);color:var(--negate-on-wash)}.grade-star-pop{color:var(--brand-star);margin-left:2px;animation:.5s ease-out grade-star-pop;display:inline-flex}.grade-star-pop svg{fill:currentColor}@keyframes grade-star-pop{0%{opacity:0;transform:scale(0)rotate(-15deg)}60%{opacity:1;transform:scale(1.3)rotate(5deg)}to{opacity:1;transform:scale(1)rotate(0)}}@media (prefers-reduced-motion:reduce){.grade-star-pop{animation:none}}.well{margin:0 var(--pad-x);padding:var(--sp-3);border-radius:4px}.well .label{margin-bottom:4px}.block{padding:var(--sp-5) var(--pad-x) 0}.richtext p,.richtext li{font-size:var(--fs-body);color:var(--body);max-width:74ch;margin:0;line-height:1.6}.richtext p+p,.richtext p+ol,.richtext p+ul,.richtext ol+p,.richtext ul+p{margin-top:var(--sp-2)}.richtext ol,.richtext ul{gap:var(--sp-2);flex-direction:column;max-width:74ch;margin:0;padding-left:1.25em;display:flex}.richtext li{padding-left:2px}.richtext .lead-label{color:var(--ink)}.richtext .quoted-term{background:color-mix(in srgb, var(--accent) 14%, transparent);border-radius:3px;padding:0 2px}.well .richtext p,.well .richtext li{font-size:var(--fs-answer);line-height:1.5}.ribbonrow{margin:var(--sp-5) var(--pad-x) 0;padding-top:var(--sp-3);border-top:1px solid var(--rule-soft);justify-content:space-between;align-items:center;display:flex}.ribbon{border-radius:4px;width:180px;height:8px;margin-top:6px;display:flex;overflow:hidden}.ribbon div{height:100%}.weightnum{font-size:var(--fs-display);text-align:right;font-weight:600;line-height:1}.citebar{margin-top:var(--sp-5);padding:var(--sp-3) var(--pad-x);background:var(--neutral-wash);font-size:var(--fs-meta);color:var(--muted);flex-direction:column;gap:4px;display:flex}.citebar a{color:var(--body);text-underline-offset:2px;text-decoration:underline}.cite-section{color:var(--muted);text-decoration:none}.stamp{text-transform:uppercase;letter-spacing:.08em;pointer-events:none;background:var(--paper);box-shadow:var(--shadow-md);white-space:nowrap;z-index:50;border:4px solid;border-radius:10px;padding:10px 18px;font-size:clamp(1.25rem,1.05rem + .85vw,1.75rem);font-weight:800;line-height:1.1;position:absolute}.stamp-right{top:96px;left:var(--pad-x);color:var(--affirm);border-color:var(--affirm);transform:rotate(-14deg)}.stamp-left{top:96px;right:var(--pad-x);color:var(--negate);border-color:var(--negate);transform:rotate(14deg)}.swipe-hint{padding:var(--sp-3) var(--pad-x) max(var(--sp-3), env(safe-area-inset-bottom));background:var(--paper);border-top:1px solid var(--rule);font-size:var(--fs-meta);color:var(--muted);justify-content:space-between;align-items:center;gap:var(--sp-4);flex-shrink:0;margin-top:auto;display:none}.hint-left,.hint-right{color:var(--negate);align-items:center;gap:4px;display:inline-flex}.hint-right{color:var(--affirm)}.hint-center{text-align:center;width:100%}.thumb-zone{padding:var(--sp-3) var(--pad-x) max(var(--sp-3), env(safe-area-inset-bottom));gap:var(--sp-3);background:var(--paper);border-top:1px solid var(--rule);z-index:10;flex-shrink:0;margin-top:auto;display:flex}.thumb-zone button{padding:var(--sp-3);font-size:var(--fs-option);cursor:pointer;min-height:var(--tap);border:0;border-radius:6px;flex:0 260px;font-weight:600;transition:filter .2s,transform .1s}.thumb-zone button:hover{filter:brightness(.92)}.thumb-zone button:active{transform:scale(.98)}.btn-affirm{color:var(--on-accent);background:var(--affirm)}.btn-negate{color:var(--on-accent);background:var(--negate)}.btn-partial{color:var(--on-accent);background:var(--accent)}.thumb-zone button:disabled{opacity:.4;cursor:not-allowed}.thumb-zone button:disabled:hover{filter:none}.thumb-zone.three-way button{padding:var(--sp-3) var(--sp-2);flex:1 1 0}@media (pointer:coarse){.swipe-hint{display:flex}.thumb-zone{display:none}}.btn-continue{font-size:var(--fs-option);flex:auto;padding:16px}.lock-in-zone{padding:var(--sp-3) var(--pad-x) max(var(--sp-3), env(safe-area-inset-bottom));background:var(--paper);border-top:1px solid var(--rule);z-index:10;flex-shrink:0;margin-top:auto;display:flex}.btn-lock-in{width:100%}.btn-lock-in:disabled{opacity:.4;cursor:not-allowed}.long-press-menu{background:var(--paper);border:1px solid var(--rule);box-shadow:var(--shadow-lg);z-index:200;border-radius:12px;padding:8px;position:fixed;bottom:160px;left:50%;transform:translate(-50%)}.long-press-menu button{text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;width:100%;padding:12px 20px;font-size:14px;display:block}.long-press-menu button:hover{background:var(--ground)}.cc{gap:var(--sp-3);padding:var(--sp-2) var(--pad-x) var(--sp-4);display:flex}.cc .col{padding:var(--sp-3);font-size:var(--fs-body);border-radius:10px;flex:1;justify-content:center;align-items:center;min-height:96px;line-height:1.5;display:flex}.cc .col.empty{border:1px dashed var(--unresolved-line);color:var(--faint);font-size:var(--fs-body)}.cc .col-label{font-weight:600}.prereq-trace{margin:var(--sp-5) var(--pad-x) 0;padding:var(--sp-3);background:var(--panel-wash);border:1px solid var(--rule-soft);border-radius:12px}.prereq-trace .label{color:var(--negate);margin-bottom:12px}.trace-graphic{margin:12px 0}.trace-line{stroke:var(--unresolved-line)}.trace-node-missing{fill:var(--paper);stroke:var(--negate)}.trace-node-target{fill:var(--paper)}.prereq-list{margin:12px 0}.prereq-item{align-items:center;gap:var(--sp-2);font-size:var(--fs-body);color:var(--body);padding:6px 0;display:flex}.prereq-item.this-card{color:var(--ink);font-weight:600}.missing-dot{color:var(--negate)}.this-dot{color:var(--affirm)}.confident-miss{margin:var(--sp-4) var(--pad-x) 0;padding:var(--sp-4);background:var(--negate);color:var(--paper);text-align:center;border-radius:12px}.confident-miss-headline{font-size:var(--fs-answer);font-weight:700}.confident-miss-note{margin:var(--sp-2) 0 0;font-size:var(--fs-meta);opacity:.9}.calibration-mark{margin:var(--sp-3) var(--pad-x) 0;padding:var(--sp-2) var(--sp-3);font-size:var(--fs-meta);align-items:center;gap:var(--sp-2);border-radius:999px;width:fit-content;display:inline-flex}.calibration-mark.ok{background:var(--affirm-wash);color:var(--affirm-on-wash)}.calibration-mark.hot{background:var(--negate-wash);border:2px solid var(--negate);color:var(--negate-on-wash);font-weight:600}.calibration-mark.under{background:var(--warn-wash);color:var(--warn-ink)}.calibration-mark.gap{background:var(--neutral-wash);color:var(--muted)}.cal-icon{flex-shrink:0;display:inline-flex}.panel-overlay{background:var(--scrim);z-index:300;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.panel{background:var(--paper);max-width:500px;max-height:80vh;box-shadow:var(--shadow-xl);border-radius:16px;padding:24px;overflow-y:auto}.panel h3{margin:0 0 16px;font-size:20px;font-weight:600}.panel h4{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 6px;font-size:12px;font-weight:600}.panel-section{margin:16px 0}.panel-section p{color:var(--body);margin:0;font-size:14px;line-height:1.6}.panel-section .richtext ol,.panel-section .richtext ul{padding-left:1.1em}.panel button{margin-top:20px}.panel .btn-primary{width:100%}@media (width>=800px){.options{gap:var(--sp-3) 36px;grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.opt:nth-child(2){border-top-color:#0000}}@media (width>=900px){.card-container{justify-content:flex-start}.card{flex:0 auto}.swipe-hint,.thumb-zone{margin-top:0}}@media (width<=520px){.ribbon{width:min(42vw,180px)}}@media (width<=400px){.difficulty-label{display:none}}.wording-warning{max-width:var(--measure);margin:var(--sp-2) var(--pad-x) 0;background:var(--dev-flag-wash);color:var(--dev-flag-ink);font-size:var(--fs-label);letter-spacing:.04em;text-overflow:ellipsis;white-space:nowrap;border-radius:6px;align-self:flex-start;padding:3px 8px;overflow:hidden}.wording-warning svg{vertical-align:-2px}.workspace{margin-top:var(--sp-4);padding:0 var(--pad-x);gap:var(--sp-2);flex-direction:column;display:flex}.workspace-toggle{font-size:var(--fs-meta);color:var(--muted);text-underline-offset:2px;cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:0;text-decoration:underline}.workspace-input{border:1px solid var(--rule);background:var(--neutral-wash);width:100%;color:var(--body);font:inherit;font-size:var(--fs-body);padding:var(--sp-2) var(--sp-3);resize:vertical;border-radius:8px}.revise-button{margin:var(--sp-4) var(--pad-x) 0;padding:var(--sp-2) var(--sp-3);border:1px solid var(--rule);color:var(--body);font-size:var(--fs-meta);cursor:pointer;text-align:center;background:0 0;border-radius:8px}.revise-button-attention{border-color:var(--warn-ink);animation:1.8s ease-in-out infinite revise-attention-pulse}@media (prefers-reduced-motion:reduce){.revise-button-attention{animation:none}}@keyframes revise-attention-pulse{0%,to{box-shadow:0 0 0 0 color-mix(in srgb, var(--warn-ink) 35%, transparent)}50%{box-shadow:0 0 0 4px color-mix(in srgb, var(--warn-ink) 0%, transparent)}}.ident-actions{gap:var(--sp-1);align-items:center;margin-left:auto;display:flex}.icon-button.listening{color:var(--negate);animation:1.2s ease-in-out infinite listening-pulse}@media (prefers-reduced-motion:reduce){.icon-button.listening{animation:none}}@keyframes listening-pulse{0%,to{opacity:1}50%{opacity:.4}}.speech-button{align-items:center;gap:var(--sp-1);border:1px solid var(--rule);color:var(--body);font-size:var(--fs-meta);cursor:pointer;margin-bottom:var(--sp-2);background:0 0;border-radius:999px;padding:4px 12px;display:inline-flex}.concept-visual{width:100%;max-width:340px;height:auto;margin:0 auto var(--sp-3);background:var(--paper);border:1px solid var(--rule);border-radius:10px;display:block}.streak-row{padding:var(--sp-2) var(--pad-x) 0}.streak-chip{background:var(--warn-wash);color:var(--warn-ink);font-size:var(--fs-label);white-space:nowrap;border-radius:999px;align-items:center;padding:2px 8px;font-weight:600;display:inline-flex}.grade-result.partial{background:var(--warn-wash);color:var(--warn-ink)}.reasoning-disclosure{margin:var(--sp-4) var(--pad-x) 0}.reasoning-lead-in{margin:0 0 var(--sp-2);color:var(--warn-ink);font-size:var(--fs-meta);font-weight:600}.reasoning-toggle{color:var(--muted);font-size:var(--fs-meta);text-underline-offset:2px;cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.reasoning-body{margin-top:var(--sp-2);padding:var(--sp-3);background:var(--neutral-wash);border-radius:8px}.celebration{pointer-events:none;z-index:60;height:220px;position:absolute;top:0;left:0;right:0;overflow:visible}.celebration-piece{width:8px;height:8px;transform:translate(-50%, -50%) rotate(var(--angle)) translateY(0) scale(1);opacity:1;border-radius:2px;animation:.7s ease-out forwards celebration-burst;position:absolute;top:96px;left:50%}.celebration-piece.c0{background:var(--d01)}.celebration-piece.c1{background:var(--d02)}.celebration-piece.c2{background:var(--d03)}.celebration-piece.c3{background:var(--d04)}.celebration-piece.c4{background:var(--d05)}.celebration-piece.c5{background:var(--affirm)}@keyframes celebration-burst{0%{transform:translate(-50%, -50%) rotate(var(--angle)) translateY(0) scale(1);opacity:1}to{transform:translate(-50%, -50%) rotate(var(--angle)) translateY(-90px) scale(.3);opacity:0}}@media (prefers-reduced-motion:reduce){.celebration{display:none}}.sortorder{padding:var(--sp-2) var(--pad-x) var(--sp-4);gap:var(--sp-4);flex-direction:column;display:flex}.sortorder-slots{gap:var(--sp-2);flex-direction:column;display:flex}.sortorder-slot{align-items:center;gap:var(--sp-3);min-height:var(--tap);padding:var(--sp-2) var(--sp-3);border:1px dashed var(--rule);background:var(--paper);font:inherit;font-size:var(--fs-option);color:var(--body);text-align:left;cursor:default;border-radius:12px;transition:border-color .2s,background .2s,transform .15s,box-shadow .15s;display:flex}.sortorder-slot.filled{border-style:solid;border-color:var(--accent);background:color-mix(in srgb, var(--accent) 14%, var(--paper));cursor:pointer}.sortorder-slot.filled:hover{box-shadow:var(--shadow-sm);transform:translateY(-1px)}.sortorder-slot-num{background:var(--ground);width:26px;height:26px;color:var(--body);font-weight:600;font-size:var(--fs-body);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.sortorder-slot.filled .sortorder-slot-num{background:var(--accent);color:var(--on-accent)}.sortorder-bank{gap:var(--sp-2);flex-wrap:wrap;display:flex}.sortorder-tile{padding:var(--sp-2) var(--sp-3);min-height:var(--tap);border:1px solid var(--rule);background:var(--paper);font:inherit;font-size:var(--fs-option);color:var(--body);cursor:pointer;border-radius:10px;transition:border-color .2s,background .2s,transform .15s,box-shadow .15s}.sortorder-tile:hover{border-color:var(--muted);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.sortorder-result{margin:0 var(--pad-x) var(--sp-4)}.sortorder-list{margin:var(--sp-2) 0 0;flex-direction:column;gap:6px;padding:0;list-style:none;display:flex}.sortorder-list li{align-items:center;gap:var(--sp-2);padding:6px var(--sp-3);font-size:var(--fs-body);border-radius:8px;display:flex}.sortorder-list li.right{background:var(--result-affirm-wash);color:var(--affirm-on-wash)}.sortorder-list li.wrong{background:var(--result-negate-wash);color:var(--negate-on-wash)}.sortorder-list.correct-list li{background:var(--neutral-wash);color:var(--body)}.sortorder-correct-label{margin-top:var(--sp-3)}.sortorder-mark{flex-shrink:0;display:inline-flex}.matchpairs{padding:var(--sp-2) var(--pad-x) var(--sp-4);gap:var(--sp-3) var(--sp-4);grid-template-columns:1fr 1fr;align-items:start;display:grid}.matchpairs-col{gap:var(--sp-2);flex-direction:column;display:flex}.matchpairs-item{min-height:var(--tap);padding:var(--sp-2) var(--sp-3);border:1px solid var(--rule);background:var(--paper);font:inherit;font-size:var(--fs-body);color:var(--body);text-align:left;cursor:pointer;border-radius:12px;line-height:1.4;transition:border-color .2s,background .2s,transform .15s,box-shadow .15s}.matchpairs-item:hover{border-color:var(--muted);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.matchpairs-item.pending{border-style:dashed;border-width:2px}.matchpairs-item.linked{background:var(--neutral-wash);box-shadow:var(--shadow-sm);border-width:2px;transform:translateY(-1px)}.matchpairs-linked-to{color:var(--muted);font-size:var(--fs-meta)}.matchpairs-result{margin:0 var(--pad-x) var(--sp-4);gap:var(--sp-2);flex-direction:column;display:flex}.matchpairs-result-row{align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);font-size:var(--fs-body);border-radius:8px;flex-wrap:wrap;display:flex}.matchpairs-result-row.right{background:var(--result-affirm-wash);color:var(--affirm-on-wash)}.matchpairs-result-row.wrong{background:var(--result-negate-wash);color:var(--negate-on-wash)}.mp-mark{flex-shrink:0;display:inline-flex}.mp-left,.mp-right{background:var(--paper);border:1px solid #0000;border-radius:6px;padding:2px 8px}.mp-arrow{color:var(--muted);flex-shrink:0}.mp-correct-hint{font-size:var(--fs-meta);color:var(--muted);margin-left:auto}.numberline{margin:0 var(--pad-x) var(--sp-4);padding-top:var(--sp-5);position:relative}.numberline-track{width:100%;display:block}.nl-line{stroke:var(--track-empty)}.nl-tick{stroke:var(--rule)}.nl-marker{stroke:var(--paper);stroke-width:2px}.numberline-labels{font-size:var(--fs-meta);color:var(--muted);justify-content:space-between;margin-top:2px;display:flex}.numberline-input{width:100%;margin:var(--sp-2) 0 0;accent-color:var(--accent)}.numberline-bubble{background:var(--ink);color:var(--paper);font-size:var(--fs-meta);white-space:nowrap;border-radius:999px;padding:2px 10px;font-weight:600;position:absolute;top:0;left:50%;transform:translate(-50%)}.nl-tolerance{fill:var(--warn-wash)}.nl-correct-marker{fill:var(--paper);stroke:var(--affirm);stroke-width:2px}.nl-your-marker{stroke:var(--paper);stroke-width:2px}.numberline-legend{gap:var(--sp-4);margin-top:var(--sp-2);font-size:var(--fs-meta);color:var(--body);flex-wrap:wrap;display:flex}.numberline-legend span{align-items:center;gap:6px;display:inline-flex}.nl-swatch{border-radius:50%;width:10px;height:10px;display:inline-block}.nl-swatch.correct{background:var(--affirm)}.numericanswer{padding:var(--sp-2) var(--pad-x) var(--sp-4)}.numericanswer-row{align-items:center;gap:var(--sp-3);display:flex}.numericanswer-input{min-width:0;min-height:var(--tap);padding:var(--sp-3) var(--sp-4);border:2px solid var(--rule);background:var(--paper);color:var(--ink);font:inherit;font-size:var(--fs-answer);text-align:center;border-radius:12px;flex:auto;font-weight:600;transition:border-color .2s}.numericanswer-input::placeholder{color:var(--faint);font-weight:400}.numericanswer-input:focus-visible{border-color:var(--accent);outline:none}.numericanswer-unit{font-size:var(--fs-option);color:var(--muted);flex-shrink:0;font-weight:600}.numericanswer-result{margin:0 var(--pad-x) var(--sp-4);padding:var(--sp-3);border-radius:10px}.numericanswer-result.right{background:var(--result-affirm-wash)}.numericanswer-result.partial{background:var(--warn-wash)}.numericanswer-result.wrong{background:var(--result-negate-wash)}.numericanswer-compare{align-items:center;gap:var(--sp-3);display:flex}.numericanswer-compare-item{flex:1;min-width:0}.numericanswer-value{font-size:var(--fs-answer);color:var(--ink);overflow-wrap:anywhere;font-weight:600}.numericanswer-mark{flex-shrink:0;display:inline-flex}.numericanswer-result.right .numericanswer-mark{color:var(--affirm-on-wash)}.numericanswer-result.wrong .numericanswer-mark{color:var(--negate-on-wash)}.numericanswer-result.partial .numericanswer-mark{color:var(--warn-ink)}.numericanswer-tolerance-note{margin:var(--sp-2) 0 0;font-size:var(--fs-meta);color:var(--muted)}.assessment-main{flex-direction:column;display:flex}.assessment-start,.assessment-outcome,.assessment-results{width:min(100%,560px);padding:var(--sp-6) var(--gutter) var(--sp-7);text-align:center;margin:auto}.assessment-start h2,.assessment-outcome h2{margin:var(--sp-1) 0 var(--sp-4);font-size:var(--fs-display);font-weight:600}.assessment-scope{margin:0 0 var(--sp-2);color:var(--muted);font-size:var(--fs-body)}.assessment-count{margin:0 0 var(--sp-5);color:var(--body);font-size:var(--fs-body);font-weight:600}.assessment-rules{margin:0 0 var(--sp-6);color:var(--body);font-size:var(--fs-meta)}.assessment-outcome p{margin:0 0 var(--sp-5);color:var(--body);font-size:var(--fs-body)}.assessment-outcome-actions{gap:var(--sp-3);flex-direction:column;display:flex}.assessment-run{flex-direction:column;flex:1;min-height:0;display:flex}.assessment-progress{padding:var(--sp-3) var(--pad-x) var(--sp-2);gap:var(--sp-1);flex-direction:column;flex-shrink:0;display:flex}.assessment-progress-track{gap:4px;display:flex}.assessment-progress-seg{background:var(--track-empty);border-radius:2px;flex:1;height:4px}.assessment-progress-seg.filled{background:var(--accent)}.assessment-progress-text{font-size:var(--fs-label);color:var(--muted)}.assessment-card-slot,.assessment-card-slot>*{flex-direction:column;flex:1;min-height:0;display:flex}.assessment-results h2{margin:var(--sp-1) 0 4px;font-size:var(--fs-display);font-weight:600}.assessment-results-date{margin:0 0 var(--sp-5);color:var(--muted);font-size:var(--fs-meta)}.assessment-results-list{margin:0 0 var(--sp-5);gap:var(--sp-2);text-align:left;flex-direction:column;padding:0;list-style:none;display:flex}.assessment-results-row{align-items:center;gap:var(--sp-3);padding:var(--sp-3);background:var(--panel-tint);border-radius:8px;display:flex}.assessment-results-mark{flex-shrink:0;display:inline-flex}.assessment-results-row.right .assessment-results-mark{color:var(--affirm-on-wash)}.assessment-results-row.partial .assessment-results-mark{color:var(--warn-ink)}.assessment-results-row.wrong .assessment-results-mark{color:var(--negate-on-wash)}.assessment-results-title{min-width:0;font-size:var(--fs-meta);color:var(--ink);flex:1}.assessment-results-label{font-size:var(--fs-label);color:var(--muted);flex-shrink:0;font-weight:600}.assessment-revise-note{margin:0 0 var(--sp-6);padding:var(--sp-3) var(--sp-4);background:var(--warn-wash);color:var(--warn-ink);font-size:var(--fs-meta);text-align:left;border-radius:8px}.leave-overlay{z-index:20;padding:var(--gutter);background:color-mix(in srgb, var(--ink) 55%, transparent);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.leave-dialog{width:min(100%,420px);padding:var(--sp-6);background:var(--paper);box-shadow:var(--shadow-lg);border-radius:12px}.leave-dialog h2{margin:0 0 var(--sp-2);font-size:var(--fs-option)}.leave-dialog p{margin:0 0 var(--sp-5);color:var(--body);font-size:var(--fs-body)}.leave-dialog-actions{justify-content:flex-end;gap:var(--sp-3);display:flex}@media (width<=480px){.leave-dialog-actions{flex-direction:column}.leave-dialog-actions button{width:100%}}.brand-track{fill:none;stroke:var(--brand-track);stroke-width:2px;stroke-linecap:round;stroke-dasharray:.1 4.2}.brand-stop-a{fill:var(--brand-stop-a)}.brand-stop-b{fill:var(--brand-stop-b)}.brand-stop-c{fill:var(--brand-stop-c)}.brand-star{fill:var(--brand-star)}.wordmark{align-items:center;gap:calc(var(--wordmark-size,28px) * .32);display:inline-flex}.wordmark-text{font-family:var(--font-sans);font-size:var(--wordmark-size,28px);letter-spacing:-.02em;color:var(--ink);font-weight:700}.brand-screen{justify-content:center;align-items:center;gap:var(--sp-5);height:100dvh;padding:var(--gutter);text-align:center;background:var(--paper);color:var(--ink);flex-direction:column;display:flex}.brand-screen-title{font-size:var(--fs-display);margin:0;font-weight:600}.brand-screen-body{align-items:center;gap:var(--sp-4);max-width:42ch;color:var(--body);font-size:var(--fs-body);flex-direction:column;line-height:1.7;display:flex}.adm-main{padding-bottom:0}.adm-shell{gap:var(--sp-4);flex-direction:column;display:flex}.adm-nav{gap:var(--sp-2);padding:var(--sp-3) var(--pad-x) var(--sp-2);border-bottom:1px solid var(--rule);-webkit-overflow-scrolling:touch;display:flex;overflow-x:auto}.adm-nav-item{align-items:center;gap:var(--sp-2);min-height:var(--tap);padding:0 var(--sp-3);color:var(--muted);font:inherit;font-size:var(--fs-meta);white-space:nowrap;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:999px;flex-shrink:0;display:flex}.adm-nav-item:hover{background:var(--panel-tint)}.adm-nav-item-active{background:var(--affirm-wash);border-color:var(--affirm-line);color:var(--affirm-on-wash);font-weight:600}.adm-content{contain:layout;min-width:0;max-width:100%;padding:0 var(--pad-x);overflow-x:hidden}@media (width>=900px){.adm-shell{align-items:flex-start;gap:var(--sp-5);padding-left:var(--pad-x);padding-right:var(--pad-x);flex-direction:row}.adm-nav{width:180px;padding:var(--sp-5) 0;border-bottom:0;border-right:1px solid var(--rule);flex-direction:column;flex-shrink:0;overflow-x:visible}.adm-nav-item{border-radius:8px;justify-content:flex-start}.adm-content{min-width:0;padding:var(--sp-5) 0;flex:1}}.adm-page{gap:var(--sp-4);padding:var(--sp-4) 0;flex-direction:column;display:flex}.adm-page-title{font-size:var(--fs-answer);color:var(--ink);margin:0}.adm-back-link{align-items:center;gap:var(--sp-1);min-height:var(--tap);padding:0 var(--sp-2);color:var(--muted);font:inherit;font-size:var(--fs-meta);cursor:pointer;background:0 0;border:0;align-self:flex-start;display:inline-flex}.adm-back-link:hover,.adm-back-link:focus-visible{color:var(--ink)}.adm-row-link{min-height:var(--tap);color:var(--ink);font:inherit;font-size:inherit;cursor:pointer;background:0 0;border:0;align-items:center;padding:0;font-weight:600;-webkit-text-decoration:underline #0000;text-decoration:underline #0000;display:inline-flex}.adm-row-link:hover,.adm-row-link:focus-visible{-webkit-text-decoration-color:var(--affirm);text-decoration-color:var(--affirm)}.adm-overview{gap:var(--sp-5);flex-direction:column;display:flex}.adm-tiles{gap:var(--sp-3);grid-template-columns:repeat(2,1fr);display:grid}@media (width>=640px){.adm-tiles{grid-template-columns:repeat(4,1fr)}}.adm-tile{min-height:var(--tap);padding:var(--sp-3);border:1px solid var(--rule);background:var(--paper);text-align:left;cursor:pointer;border-radius:10px;flex-direction:column;align-items:flex-start;gap:2px;display:flex}.adm-tile:hover,.adm-tile:focus-visible{background:var(--panel-tint)}.adm-tile-value{font-size:var(--fs-display);color:var(--ink);font-variant-numeric:tabular-nums;font-weight:700}.adm-tile-label{font-size:var(--fs-meta);color:var(--body)}.adm-tile-sub{font-size:var(--fs-label);color:var(--affirm-on-wash)}.adm-needs h2{font-size:var(--fs-answer);color:var(--ink);margin:0 0 var(--sp-3)}.adm-needs-grid{gap:var(--sp-4);grid-template-columns:1fr;display:grid}@media (width>=640px){.adm-needs-grid{grid-template-columns:1fr 1fr}}.adm-needs-col h3{font-size:var(--fs-meta);color:var(--muted);margin:0 0 var(--sp-2);font-weight:600}.adm-needs-list{gap:var(--sp-1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.adm-needs-row{justify-content:space-between;align-items:center;gap:var(--sp-2);width:100%;min-height:var(--tap);padding:var(--sp-2) var(--sp-3);border:1px solid var(--rule);background:var(--paper);font:inherit;font-size:var(--fs-meta);color:var(--ink);text-align:left;border-radius:8px;display:flex}button.adm-needs-row{cursor:pointer}button.adm-needs-row:hover,button.adm-needs-row:focus-visible{background:var(--panel-tint)}.adm-needs-figure{color:var(--muted);font-variant-numeric:tabular-nums;flex-shrink:0}.adm-needs-course{color:var(--muted);font-size:var(--fs-label);font-weight:400}.adm-search input{width:100%;min-height:var(--tap);border:1px solid var(--rule);background:var(--paper);color:var(--body);font:inherit;font-size:var(--fs-meta);padding:var(--sp-2) var(--sp-3);border-radius:8px}.adm-add-learner{gap:var(--sp-2);padding:var(--sp-3);border:1px solid var(--rule);background:var(--paper);border-radius:10px;flex-direction:column;display:flex}.adm-add-learner h3{font-size:var(--fs-meta);color:var(--ink);margin:0;font-weight:600}.adm-add-form{gap:var(--sp-2);flex-wrap:wrap;display:flex}.adm-add-form input{min-width:0;min-height:var(--tap);border:1px solid var(--rule);background:var(--paper);color:var(--body);font:inherit;font-size:var(--fs-meta);padding:var(--sp-2) var(--sp-3);border-radius:8px;flex:160px}.adm-add-form button{min-height:var(--tap);flex-shrink:0}.adm-badge{margin-right:var(--sp-1);background:var(--affirm-wash);color:var(--affirm-on-wash);font-size:var(--fs-label);border-radius:999px;padding:2px 8px;font-weight:600;display:inline-block}.adm-invite-email{color:var(--muted)}@media (width<=460px){.adm-add-form input{flex-basis:100%}}.adm-learners-tabs{gap:var(--sp-2);flex-wrap:wrap;display:flex}.adm-learners-tab{min-height:var(--tap);padding:0 var(--sp-3);border:1px solid var(--rule);background:var(--paper);color:var(--muted);font:inherit;font-size:var(--fs-meta);cursor:pointer;border-radius:999px}.adm-learners-tab:hover{background:var(--panel-tint)}.adm-learners-tab-active{background:var(--affirm-wash);border-color:var(--affirm-line);color:var(--affirm-on-wash);font-weight:600}.adm-learners-groups{gap:var(--sp-3);flex-direction:column;display:flex}.adm-group-card-rollup{color:var(--muted);font-size:var(--fs-label)}.adm-group-section{margin-bottom:var(--sp-4)}.adm-group-section-title{font-size:var(--fs-body);color:var(--body);margin:0 0 var(--sp-2)}.adm-group-cards{gap:var(--sp-2);flex-wrap:wrap;display:flex}.adm-group-card{min-height:var(--tap);min-width:9rem;padding:var(--sp-2) var(--sp-3);border:1px solid var(--rule);background:var(--paper);font:inherit;cursor:pointer;border-radius:8px;flex-direction:column;align-items:flex-start;gap:2px;display:flex}.adm-group-card:hover:not(:disabled),.adm-group-card:focus-visible:not(:disabled){background:var(--panel-tint)}.adm-group-card:disabled{cursor:default;opacity:.6}.adm-group-card-code{color:var(--ink);font-weight:600;font-size:var(--fs-meta)}.adm-group-card-count{color:var(--muted);font-size:var(--fs-label)}.adm-member-list{gap:var(--sp-1);margin:0 0 var(--sp-2);flex-direction:column;padding:0;list-style:none;display:flex}.adm-member-list li{justify-content:space-between;align-items:baseline;gap:var(--sp-2);padding:var(--sp-1) 0;border-bottom:1px solid var(--rule-soft);flex-wrap:wrap;display:flex}.adm-member-list li:last-child{border-bottom:none}.adm-member-meta{color:var(--muted);font-size:var(--fs-label)}.adm-group-topic-block{margin-bottom:var(--sp-3)}.adm-group-topic-block:last-child{margin-bottom:0}.adm-group-topic-course{font-size:var(--fs-meta);color:var(--ink);margin:0 0 var(--sp-1);font-weight:600}.adm-rename-form{align-items:center;gap:var(--sp-2);flex-wrap:wrap;display:flex}.adm-rename-form label{font-size:var(--fs-meta);color:var(--muted)}.adm-rename-form input{min-width:0;min-height:var(--tap);border:1px solid var(--rule);background:var(--paper);color:var(--body);font:inherit;font-size:var(--fs-meta);padding:var(--sp-2) var(--sp-3);border-radius:8px;flex:200px}.adm-rename-form button{min-height:var(--tap)}.adm-rename-notice{padding:var(--sp-2) var(--sp-3);background:var(--affirm-wash);color:var(--affirm-on-wash);font-size:var(--fs-meta);border-radius:8px;margin:0}@media (width<=460px){.adm-rename-form input,.adm-rename-form button{flex:100%}}.adm-settings-row{align-items:center;gap:var(--sp-3);flex-wrap:wrap;display:flex}.adm-switch{width:var(--tap);height:var(--tap);cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;padding:0;display:inline-flex}.adm-switch:disabled{cursor:default;opacity:.6}.adm-switch:focus-visible{outline:3px solid color-mix(in srgb, var(--accent) 38%, transparent);outline-offset:2px}.adm-switch-track{background:var(--track-empty);border:1px solid var(--rule);border-radius:999px;align-items:center;width:40px;height:22px;padding:2px;transition:background .15s;display:inline-flex}.adm-switch[aria-checked=true] .adm-switch-track{background:var(--affirm);border-color:var(--affirm)}.adm-switch-thumb{background:var(--paper);border-radius:50%;width:16px;height:16px;transition:transform .15s}.adm-switch[aria-checked=true] .adm-switch-thumb{transform:translate(18px)}.adm-settings-label{font-size:var(--fs-body);color:var(--ink)}.adm-error-line{font-size:var(--fs-meta);color:var(--negate)}.adm-sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.adm-detail{gap:var(--sp-4);flex-direction:column;display:flex}.adm-detail-section{gap:var(--sp-2);padding:var(--sp-3);border:1px solid var(--rule);background:var(--paper);border-radius:10px;flex-direction:column;display:flex}.adm-detail-heading{font-size:var(--fs-meta);color:var(--ink);margin:0;font-weight:600}.adm-editor-grid{gap:var(--sp-3);flex-wrap:wrap;display:flex}.adm-editor-field{gap:var(--sp-1);flex-direction:column;flex:180px;min-width:0;display:flex}.adm-editor-field label{font-size:var(--fs-label);color:var(--muted)}.adm-editor-field input{min-height:var(--tap);border:1px solid var(--rule);background:var(--paper);color:var(--body);font:inherit;font-size:var(--fs-meta);padding:var(--sp-2) var(--sp-3);border-radius:8px}.adm-editor-actions{align-items:center;gap:var(--sp-3);flex-wrap:wrap;display:flex}.adm-domain-bars{gap:var(--sp-3);flex-direction:column;display:flex}.adm-domain-row{flex-direction:column;gap:4px;display:flex}.adm-domain-label{justify-content:space-between;align-items:baseline;gap:var(--sp-2);font-size:var(--fs-meta);flex-wrap:wrap;display:flex}.adm-domain-title{font-weight:600}.adm-domain-coverage{color:var(--muted);flex-shrink:0}.adm-domain-track{background:var(--track-empty);border-radius:5px;height:10px;overflow:hidden}.adm-domain-fill{border-radius:5px;height:100%;transition:width .3s}.adm-needs-work{font-size:var(--fs-meta);color:var(--body);margin:0}@media (width<=460px){.adm-editor-field{flex-basis:100%}}.adm-cov-controls{align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-3);flex-wrap:wrap;display:flex}.adm-cov-controls label{font-size:var(--fs-meta);color:var(--muted);flex-shrink:0}.adm-cov-controls select{min-width:0;max-width:100%;min-height:var(--tap);border:1px solid var(--rule);background:var(--paper);color:var(--ink);font:inherit;font-size:var(--fs-meta);padding:var(--sp-1) var(--sp-3);border-radius:8px;flex:220px}.adm-cov-legend{gap:var(--sp-2) var(--sp-4);margin:0 0 var(--sp-3);font-size:var(--fs-label);color:var(--muted);flex-wrap:wrap;padding:0;list-style:none;display:flex}.adm-cov-legend li{align-items:center;gap:var(--sp-1);display:inline-flex}.adm-cov-swatch{border:1px solid var(--rule);border-radius:3px;width:14px;height:14px}.adm-cov-swatch.adm-cov-none{background:0 0;border-style:dashed}.adm-cov-swatch.adm-cov-low{background:color-mix(in srgb, var(--affirm) 30%, var(--paper))}.adm-cov-swatch.adm-cov-mid{background:color-mix(in srgb, var(--affirm) 60%, var(--paper))}.adm-cov-swatch.adm-cov-high{background:var(--affirm);border-color:var(--affirm)}.adm-cov-legend-note{width:100%}.adm-cov-wrap{border:1px solid var(--rule);background:var(--paper);border-radius:10px;overflow-x:auto}.adm-cov-table{border-collapse:collapse;width:100%;font-size:var(--fs-meta)}.adm-cov-table th,.adm-cov-table td{border-bottom:1px solid var(--rule-soft);white-space:nowrap}.adm-cov-table thead th{text-align:left;padding:var(--sp-2) var(--sp-3);color:var(--muted);background:var(--paper);font-weight:600}.adm-cov-table tbody tr:last-child th,.adm-cov-table tbody tr:last-child td{border-bottom:none}.adm-cov-learner-th{z-index:1;background:var(--paper);min-width:9rem;position:sticky;left:0}.adm-cov-learner-btn{width:100%;min-height:var(--tap);padding:var(--sp-2) var(--sp-3);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:flex-start;gap:2px;display:flex}.adm-cov-learner-btn:hover,.adm-cov-learner-btn:focus-visible{background:var(--panel-tint)}.adm-cov-learner-name{color:var(--ink);font-weight:600}.adm-cov-learner-group{color:var(--muted);font-size:var(--fs-label)}.adm-cov-cell{min-width:4.5rem;padding:var(--sp-2) var(--sp-3);text-align:center;font-variant-numeric:tabular-nums}.adm-cov-cell.adm-cov-none{color:var(--muted)}.adm-cov-cell.adm-cov-low{background:color-mix(in srgb, var(--affirm) 30%, var(--paper));color:var(--ink)}.adm-cov-cell.adm-cov-mid{background:color-mix(in srgb, var(--affirm) 60%, var(--paper));color:var(--ink)}.adm-cov-cell.adm-cov-high{background:var(--affirm);color:var(--on-accent);font-weight:600}@media (width<=460px){.adm-cov-learner-th{min-width:7rem}.adm-cov-cell{min-width:3.75rem}}.adm-issue{gap:var(--sp-2);flex-direction:column;display:flex}.adm-issue-form{align-items:center;gap:var(--sp-2);flex-wrap:wrap;display:flex}.adm-issue-form label{font-size:var(--fs-meta);color:var(--muted)}.adm-issue-form select,.adm-issue-form input{min-height:var(--tap);border:1px solid var(--rule);background:var(--paper);color:var(--body);font:inherit;font-size:var(--fs-meta);padding:var(--sp-2) var(--sp-3);border-radius:8px}.adm-issue-form input{flex:160px;min-width:0}.adm-issue-form button{min-height:var(--tap)}.adm-issue-notice{font-size:var(--fs-meta);color:var(--muted);margin:0}.adm-assess-list{gap:var(--sp-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.adm-assess-item{border:1px solid var(--rule);background:var(--paper);border-radius:8px;overflow:hidden}.adm-assess-row{align-items:center;gap:var(--sp-2);padding:var(--sp-1) var(--sp-2);display:flex}.adm-expand-button{flex-shrink:0}.adm-chevron{transition:transform .15s}.adm-chevron-open{transform:rotate(90deg)}.adm-assess-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.adm-assess-title{font-size:var(--fs-meta);color:var(--ink);font-weight:600}.adm-assess-meta{font-size:var(--fs-label);color:var(--muted)}.adm-assess-results{padding:var(--sp-2) var(--sp-3) var(--sp-3);border-top:1px solid var(--rule-soft)}.adm-assess-takers{gap:var(--sp-1);margin:0 0 var(--sp-2);flex-direction:column;padding:0;list-style:none;display:flex}.adm-assess-takers li{justify-content:space-between;align-items:baseline;gap:var(--sp-2);padding:var(--sp-1) 0;font-size:var(--fs-meta);flex-wrap:wrap;display:flex}.adm-assess-taker-name{color:var(--ink);flex:auto;min-width:0}.adm-assess-taker-score{color:var(--body);font-variant-numeric:tabular-nums}.adm-assess-taker-date{color:var(--muted);font-size:var(--fs-label)}.adm-assess-taken-count{font-size:var(--fs-label);color:var(--muted);margin:0}.adm-assess-results-list{gap:var(--sp-1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.adm-assess-results-list li{justify-content:space-between;align-items:baseline;gap:var(--sp-2);padding:var(--sp-1) 0;border-bottom:1px solid var(--rule-soft);flex-wrap:wrap;display:flex}.adm-assess-results-list li:last-child{border-bottom:none}@media (width<=460px){.adm-issue-form select,.adm-issue-form input,.adm-issue-form button{flex:100%}}.adm-crumbs ol{align-items:center;gap:var(--sp-1);font-size:var(--fs-label);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.adm-crumbs li{align-items:center;gap:var(--sp-1);display:inline-flex}.adm-crumbs button{min-height:var(--tap);padding:0 var(--sp-1);color:var(--muted);font:inherit;font-size:var(--fs-label);cursor:pointer;background:0 0;border:0;align-items:center;-webkit-text-decoration:underline #0000;text-decoration:underline #0000;display:inline-flex}.adm-crumbs button:hover,.adm-crumbs button:focus-visible{color:var(--ink);-webkit-text-decoration-color:var(--muted);text-decoration-color:var(--muted)}.adm-crumbs [aria-current=page]{color:var(--ink);font-weight:600}.adm-crumbs-sep{color:var(--muted)}.adm-framework-group{gap:var(--sp-2);margin-bottom:var(--sp-4);flex-direction:column;display:flex}.adm-framework-heading{align-items:baseline;gap:var(--sp-2);font-size:var(--fs-body);color:var(--ink);flex-wrap:wrap;font-weight:600;display:flex}.adm-framework-counts{font-size:var(--fs-label);color:var(--muted);font-weight:400}.adm-catalogue-grid{gap:var(--sp-3);grid-template-columns:1fr;display:grid}@media (width>=640px){.adm-catalogue-grid{grid-template-columns:repeat(2,1fr)}}.adm-catalogue-card{min-height:var(--tap);padding:var(--sp-3);border:1px solid var(--rule);background:var(--paper);text-align:left;font:inherit;cursor:pointer;border-radius:10px;flex-direction:column;align-items:flex-start;gap:4px;display:flex}.adm-catalogue-card:hover,.adm-catalogue-card:focus-visible{background:var(--panel-tint)}.adm-catalogue-card-title{font-size:var(--fs-body);color:var(--ink);font-weight:600}.adm-catalogue-card-kind{font-size:var(--fs-label);color:var(--muted);text-transform:uppercase;letter-spacing:.02em}.adm-catalogue-card-counts{font-size:var(--fs-meta);color:var(--body)}.adm-catalogue-card-source{font-size:var(--fs-label);color:var(--muted)}.adm-topic-row{width:100%;min-height:var(--tap);padding:var(--sp-2) var(--sp-3);border:1px solid var(--rule);background:var(--paper);font:inherit;text-align:left;cursor:pointer;border-radius:8px;flex-direction:column;gap:4px;display:flex}.adm-topic-row:hover,.adm-topic-row:focus-visible{background:var(--panel-tint)}.adm-explain-section{gap:var(--sp-1);flex-direction:column;display:flex}.adm-explain-section+.adm-explain-section{margin-top:var(--sp-3)}.adm-card-list{gap:var(--sp-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.adm-card-item{border:1px solid var(--rule);background:var(--paper);border-radius:8px;overflow:hidden}.adm-card-summary{justify-content:space-between;align-items:center;gap:var(--sp-2);width:100%;min-height:var(--tap);padding:var(--sp-2) var(--sp-3);font:inherit;text-align:left;color:var(--ink);cursor:pointer;background:0 0;border:0;flex-wrap:wrap;display:flex}.adm-card-summary:hover,.adm-card-summary:focus-visible{background:var(--panel-tint)}.adm-card-preview{min-width:0;font-size:var(--fs-meta);flex:240px}.adm-card-meta{align-items:center;gap:var(--sp-2);flex-shrink:0;display:flex}.adm-card-form{font-size:var(--fs-label);color:var(--muted)}.adm-card-difficulty{gap:2px;display:inline-flex}.adm-card-difficulty span{border-radius:50%;width:6px;height:6px}.adm-card-difficulty .filled{background:var(--muted)}.adm-card-difficulty .empty{background:var(--rule)}.adm-card-status{background:var(--affirm-wash);color:var(--affirm-on-wash)}.adm-card-detail{align-items:flex-start;gap:var(--sp-2);padding:0 var(--sp-3) var(--sp-3);border-top:1px solid var(--rule-soft);flex-direction:column;display:flex}.adm-card-answer{gap:var(--sp-1);width:100%;padding-top:var(--sp-2);flex-direction:column;display:flex}.adm-request-form{gap:var(--sp-2);flex-direction:column;display:flex}.adm-request-form label{font-size:var(--fs-label);color:var(--muted)}.adm-request-form select,.adm-request-form input,.adm-request-form textarea{min-height:var(--tap);border:1px solid var(--rule);background:var(--paper);color:var(--body);font:inherit;font-size:var(--fs-meta);padding:var(--sp-2) var(--sp-3);resize:vertical;border-radius:8px}.adm-request-form button{min-height:var(--tap);align-self:flex-start}.adm-request-list{gap:var(--sp-2);margin:var(--sp-2) 0 0;flex-direction:column;padding:0;list-style:none;display:flex}.adm-request-item{justify-content:space-between;align-items:flex-start;gap:var(--sp-3);padding:var(--sp-3);border:1px solid var(--rule);background:var(--paper);border-radius:8px;flex-wrap:wrap;display:flex}.adm-request-info{flex-direction:column;flex:220px;gap:2px;min-width:0;display:flex}.adm-request-topic{font-size:var(--fs-meta);color:var(--ink);font-weight:600}.adm-request-meta{font-size:var(--fs-label);color:var(--muted)}.adm-request-description{margin:var(--sp-1) 0 0;font-size:var(--fs-meta);color:var(--body)}.adm-request-actions{align-items:center;gap:var(--sp-2);flex-wrap:wrap;flex-shrink:0;display:flex}.adm-request-status-open{background:var(--affirm-wash);color:var(--affirm-on-wash)}.adm-request-status-done{background:var(--panel-tint);color:var(--muted)}@media (width<=460px){.adm-request-form select,.adm-request-form input,.adm-request-form textarea,.adm-request-form button{width:100%}.adm-request-item{flex-direction:column}.adm-request-actions{width:100%}}.progress-domains-section h2,.progress-work-section h2{margin:0 0 var(--sp-4);font-size:var(--fs-display);font-weight:600}.progress-legend{gap:var(--sp-4);margin:0 0 var(--sp-5);padding-bottom:var(--sp-4);border-bottom:1px solid var(--rule);font-size:var(--fs-meta);color:var(--muted);flex-wrap:wrap;display:flex}.progress-legend-item{align-items:center;gap:6px;display:flex}.progress-legend-item strong{color:var(--ink);font-weight:600}.progress-legend-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.progress-legend-known{background:var(--affirm)}.progress-legend-learning{background:var(--d05)}.progress-legend-not-started{background:var(--track-empty)}.progress-domain-list{gap:var(--sp-4);flex-direction:column;display:flex}.progress-domain-row{flex-direction:column;gap:4px;display:flex}.progress-domain-label{justify-content:space-between;align-items:baseline;gap:var(--sp-2);font-size:var(--fs-meta);display:flex}.progress-domain-title{font-weight:600}.progress-domain-coverage{color:var(--muted);white-space:nowrap;flex-shrink:0}.progress-domain-track{background:var(--track-empty);border-radius:5px;height:10px;overflow:hidden}.progress-domain-fill{border-radius:5px;height:100%;transition:width .3s}.progress-work-list{gap:var(--sp-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.progress-work-item{align-items:flex-start;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);background:var(--ground);border:1px solid var(--rule);border-radius:10px;display:flex}.progress-work-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px;margin-top:6px}.progress-work-copy{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.progress-work-copy strong{color:var(--ink);font-size:var(--fs-body)}.progress-work-copy span{color:var(--muted);font-size:var(--fs-meta)}.progress-work-item .btn-secondary{flex-shrink:0;align-self:center}.progress-empty{min-height:220px;padding:var(--sp-6) var(--pad-x);text-align:center;justify-content:center;align-items:center;display:flex}.progress-empty p{max-width:42ch;color:var(--muted);font-size:var(--fs-body);margin:0}.app{background:var(--paper);flex-direction:column;width:100%;height:100dvh;display:flex;overflow:hidden}.app-header{background:var(--paper);flex-shrink:0}.status-bar{min-height:56px;padding:8px var(--pad-x);font-size:var(--fs-meta);color:var(--muted);justify-content:space-between;align-items:center;display:flex}.status-actions{flex-shrink:0;align-items:center;gap:12px;display:flex}.readiness-headline{font:inherit;font-size:inherit;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:4px;padding:0}.readiness-headline:hover{color:var(--ink)}.header-brand{align-items:center;gap:var(--sp-2);flex-shrink:1;min-width:0;display:flex}.header-brand .wordmark{flex-shrink:0}.header-brand-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.focus-chip{font-size:var(--fs-label);white-space:nowrap;border-radius:999px;flex-shrink:0;align-items:center;padding:2px 8px;font-weight:600;display:inline-flex}@media (width<=420px){.header-brand .wordmark-text{display:none}}.assignment-strip{justify-content:space-between;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--pad-x);background:color-mix(in srgb, var(--affirm) 10%, var(--paper));font-size:var(--fs-meta);display:flex}.assignment-strip p{color:var(--ink);margin:0}.assignment-strip-actions{align-items:center;gap:var(--sp-2);flex-shrink:0;display:flex}.assessment-banner{justify-content:space-between;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--pad-x);background:var(--warn-wash);font-size:var(--fs-meta);display:flex}.assessment-banner p{color:var(--warn-ink);margin:0}.assessment-banner strong{color:var(--ink)}.orientation-strip{justify-content:space-between;align-items:center;gap:var(--sp-3);padding:var(--sp-1) var(--pad-x);background:var(--panel-tint);border-bottom:1px solid var(--rule);flex-shrink:0;display:flex}.orientation-strip p{font-size:var(--fs-meta);color:var(--body);margin:0}.orientation-link{font:inherit;font-size:var(--fs-meta);color:var(--accent);cursor:pointer;background:0 0;border:0;padding:0;font-weight:600;text-decoration:underline}.icon-button{width:var(--tap);height:var(--tap);color:var(--body);cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;padding:0;display:inline-flex}.icon-button:hover{background:var(--ground);color:var(--ink)}.icon-button:active{transform:scale(.98)}.icon-button:focus-visible,.btn-primary:focus-visible,.btn-secondary:focus-visible,.btn-danger:focus-visible,.btn-danger-quiet:focus-visible,.readiness-headline:focus-visible,.tab:focus-visible{outline:3px solid color-mix(in srgb, var(--accent) 38%, transparent);outline-offset:2px}.session-progress-row{justify-content:space-between;align-items:center;gap:var(--sp-3);padding:0 var(--pad-x) 8px;font-size:var(--fs-meta);color:var(--muted);display:flex}.session-progress-left{align-items:center;gap:var(--sp-2);min-width:0;display:flex}.session-progress-delta{color:var(--body);font-weight:600}.session-trail{align-items:center;gap:var(--sp-2);flex-shrink:0;min-width:0;display:flex}.session-trail-dots{flex-wrap:nowrap;align-items:center;gap:4px;display:flex}.session-trail-dot{background:var(--faint);border-radius:50%;flex-shrink:0;width:6px;height:6px}.session-trail-dot.milestone{width:9px;height:9px}.session-trail-overflow{font-size:var(--fs-label);color:var(--muted);white-space:nowrap;margin-left:2px}.session-trail-star{fill:none;stroke:var(--faint);stroke-width:1.6px;stroke-linejoin:round;flex-shrink:0;transition:fill .3s,stroke .3s}.session-trail-star.filled{fill:var(--brand-star);stroke:var(--brand-star)}@media (prefers-reduced-motion:reduce){.session-trail-star{transition:none}}.app-main{flex-direction:column;flex:1;align-items:stretch;width:100%;min-height:0;padding:0;display:flex}.card-reason{min-height:calc(var(--fs-body) * 1.6 * 2);font-size:var(--fs-body);color:var(--body);padding:0 var(--gutter) var(--sp-4);text-align:center;justify-content:center;align-items:center;max-width:75ch;margin-inline:auto;display:flex}.session-complete{width:min(100%,680px);padding:var(--sp-7) var(--gutter);text-align:center;margin:auto}.session-complete p{font-size:var(--fs-answer);margin-bottom:var(--sp-5)}.session-complete p.due-tomorrow{margin-top:calc(-1 * var(--sp-4));font-size:var(--fs-body);color:var(--muted)}.off-ramp{width:min(100%,480px);padding:var(--sp-7) var(--gutter);text-align:center;margin:auto}.off-ramp p{font-size:var(--fs-answer);margin:0 0 var(--sp-3)}.off-ramp-actions{margin-top:var(--sp-5);gap:var(--sp-3);flex-direction:column;display:flex}.off-ramp-actions button{width:100%}.btn-primary{background:var(--accent);color:var(--on-accent);font-size:var(--fs-option);cursor:pointer;min-height:var(--tap);border:none;border-radius:6px;padding:14px 28px;font-weight:500}.btn-primary:hover{filter:brightness(.9)}.btn-primary:active{transform:scale(.98)}.stats{margin-top:var(--sp-7);text-align:left}.completion-actions{justify-content:center;gap:10px;display:flex}.stats h3{font-size:var(--fs-label);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:var(--sp-4)}.calibration-grid{gap:var(--sp-2);font-size:var(--fs-body);grid-template-columns:auto 1fr 1fr;display:grid}.calibration-grid .label{font-size:var(--fs-label);color:var(--muted);text-align:right;padding-right:var(--sp-3)}.cal-cell{padding:var(--sp-3);text-align:center;border-radius:8px;font-weight:600}.cal-cell.ok{background:var(--affirm-wash);border:1px solid var(--affirm-line);color:var(--affirm-on-wash)}.cal-cell.hot{background:var(--negate-wash);border:2px solid var(--negate);color:var(--negate-on-wash)}.cal-cell.under{background:var(--warn-wash);border:1px solid var(--warn-line);color:var(--warn-ink)}.cal-cell.gap{background:var(--neutral-wash);border:1px solid var(--neutral-line);color:var(--muted)}.loading-spinner{text-align:center;padding:60px var(--sp-5);color:var(--muted)}.session-complete h2{font-size:var(--fs-display);margin:0 0 var(--sp-3);font-weight:600}.details-header{min-height:60px;padding:var(--sp-2) var(--pad-x);grid-template-columns:var(--tap) 1fr var(--tap);align-items:center;display:grid}.details-header h1{font-size:var(--fs-option);text-align:center;margin:0;font-weight:600}.header-spacer{width:var(--tap)}.tabs{gap:var(--sp-5);padding:0 var(--pad-x);border-bottom:1px solid var(--rule);flex-shrink:0;display:flex}.tab{min-height:var(--tap);font:inherit;font-size:var(--fs-option);color:var(--muted);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;margin-bottom:-1px;padding:0;font-weight:600;display:inline-flex}.tab:hover{color:var(--ink)}.tab.active{color:var(--ink);border-bottom-color:var(--ink)}.profile-main{background:var(--paper);flex:1;min-height:0;overflow-y:auto}.profile-main section{padding:var(--sp-6) var(--pad-x)}.session-overview{align-items:end;gap:var(--tap);background:var(--ground);grid-template-columns:minmax(0,1fr) auto;display:grid}.readiness-overview{gap:var(--sp-4);background:var(--ground);flex-direction:column;display:flex}.readiness-overview h2{font-size:var(--fs-display);color:var(--ink)}.readiness-title-row{justify-content:space-between;align-items:center;gap:var(--sp-3);flex-wrap:wrap;display:flex}.readiness-basis{color:var(--muted);font-size:var(--fs-meta);margin:0}.confident-miss-basis{color:var(--negate);font-size:var(--fs-meta);margin:0}.confident-miss-basis strong{font-size:var(--fs-body)}.exam-date-row{gap:var(--sp-2);padding:var(--sp-4);background:var(--paper);border:1px solid var(--rule);border-radius:10px;flex-direction:column;display:flex}.exam-date-row label{font-size:var(--fs-label);text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.exam-date-field{align-items:center;gap:var(--sp-3);flex-wrap:wrap;display:flex}.exam-date-field input[type=date]{min-height:var(--tap);padding:8px var(--sp-3);font:inherit;font-size:var(--fs-body);color:var(--ink);background:var(--paper);border:1px solid var(--rule);border-radius:6px}.exam-date-days{font-size:var(--fs-body);color:var(--body);font-weight:600}.exam-date-hint{color:var(--muted);font-size:var(--fs-meta);margin:0}.domain-bars{gap:var(--sp-3);flex-direction:column;display:flex}.domain-bar-row{flex-direction:column;gap:4px;display:flex}.domain-bar-label{justify-content:space-between;align-items:baseline;gap:var(--sp-2);font-size:var(--fs-meta);display:flex}.domain-bar-title{color:var(--ink)}.domain-bar-weight{color:var(--muted);flex-shrink:0}.domain-bar-track{background:var(--track-empty);border-radius:5px;height:10px;overflow:hidden}.domain-bar-fill{border-radius:5px;height:100%;transition:width .3s}.position-section{gap:var(--sp-4);flex-direction:column;display:flex}.blocked-concept-list{gap:var(--sp-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.blocked-concept{padding:var(--sp-3) var(--sp-4);background:var(--ground);border:1px solid var(--rule);border-radius:10px}.blocked-concept-head{justify-content:space-between;align-items:baseline;gap:var(--sp-3);font-size:var(--fs-body);display:flex}.blocked-concept-head strong{color:var(--ink)}.blocked-concept-head span{color:var(--muted);font-size:var(--fs-meta);white-space:nowrap}.blocked-concept-prereqs{margin-top:var(--sp-3);gap:var(--sp-2);flex-wrap:wrap;display:flex}.blocked-prereq-chip{align-items:center;gap:var(--sp-2);padding:6px var(--sp-3);background:var(--paper);border:1px solid var(--rule);font-size:var(--fs-meta);color:var(--body);border-radius:10px;flex-wrap:wrap;display:flex}.claim-button{min-height:var(--tap);white-space:nowrap;background:color-mix(in srgb, var(--affirm) 14%, var(--paper));color:var(--affirm);font:inherit;font-size:var(--fs-label);cursor:pointer;border:none;border-radius:999px;justify-content:center;align-items:center;padding:4px 14px;font-weight:600;display:inline-flex}.claim-button:hover{background:color-mix(in srgb, var(--affirm) 22%, var(--paper))}.flagged-card-stem{margin:var(--sp-2) 0 0;color:var(--body);font-size:var(--fs-meta)}.section-kicker{color:var(--muted);font-size:var(--fs-meta);text-transform:uppercase;margin:0 0 6px;font-weight:600}.session-overview h2,.section-heading h2,.session-actions h2,.account-section h2{font-size:var(--fs-display);margin:0;font-weight:600;line-height:1.3}.session-metrics{gap:var(--sp-3);grid-template-columns:repeat(3,minmax(80px,1fr));display:grid}.session-metrics div{background:var(--paper);padding:var(--sp-3);border:1px solid var(--rule);border-radius:10px;flex-direction:column;gap:2px;display:flex}.session-metrics strong{font-size:var(--fs-display);line-height:1}.session-metrics .metric-affirm{color:var(--affirm)}.session-metrics .metric-negate{color:var(--negate)}.session-metrics span,.section-heading>span,.answer-copy span,.answer-verdict time{color:var(--muted);font-size:var(--fs-meta)}.section-heading{justify-content:space-between;align-items:end;gap:var(--sp-5);margin-bottom:var(--sp-5);display:flex}.answer-list{margin:0;padding:0;list-style:none}.answer-list li{min-height:80px;padding:var(--sp-3) 0;grid-template-columns:var(--tap) minmax(0, 1fr) auto;border-bottom:1px solid var(--rule);align-items:center;gap:16px;display:grid}.answer-list li:last-child{border-bottom:0}.answer-result{border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex}.answer-result.correct{color:var(--affirm-on-wash);background:var(--result-affirm-wash)}.answer-result.missed{color:var(--negate-on-wash);background:var(--result-negate-wash)}.answer-copy,.answer-verdict{flex-direction:column;min-width:0;display:flex}.answer-copy strong{-webkit-line-clamp:2;-webkit-box-orient:vertical;padding-bottom:1px;display:-webkit-box;overflow:hidden}.answer-copy span{text-transform:capitalize}.answer-verdict{align-items:flex-end}.session-empty{justify-content:center;align-items:center;gap:var(--sp-2);min-height:180px;color:var(--muted);flex-direction:column;display:flex}.session-empty p{margin:0}.session-empty .history-symbol{color:var(--faint)}.session-empty-hint{font-size:var(--fs-meta);color:var(--muted)}.session-actions{justify-content:space-between;align-items:center;gap:var(--sp-6);background:var(--panel-tint);display:flex}.session-actions p{max-width:62ch;color:var(--body);font-size:var(--fs-body);margin:6px 0 0}.confirm-actions{gap:var(--sp-2);display:flex}.btn-secondary,.btn-danger,.btn-danger-quiet{min-height:var(--tap);padding:10px var(--sp-4);justify-content:center;align-items:center;gap:var(--sp-2);font:inherit;font-size:var(--fs-option);cursor:pointer;border:0;border-radius:6px;font-weight:600;display:inline-flex}.btn-secondary{color:var(--ink);background:var(--ground)}.btn-secondary:hover{filter:brightness(.96)}.btn-secondary:active{transform:scale(.98)}.btn-danger{color:var(--on-accent);background:var(--negate)}.btn-danger:hover{filter:brightness(.9)}.btn-danger:active{transform:scale(.98)}.btn-danger-quiet{color:var(--negate);background:var(--paper);border:1.5px solid var(--negate)}.btn-danger-quiet:hover{background:var(--negate);color:var(--on-accent)}.btn-danger-quiet:active{transform:scale(.98)}.account-section{gap:var(--sp-4);flex-direction:column;display:flex}.account-section p{max-width:62ch;color:var(--body);font-size:var(--fs-body);margin:0}.account-actions{gap:var(--sp-2);flex-wrap:wrap;display:flex}.account-delete{padding-top:var(--sp-4);border-top:1px solid var(--rule)}.account-delete-hint{margin:var(--sp-2) 0 0;color:var(--muted);font-size:var(--fs-meta)}.display-section{gap:var(--sp-4);flex-direction:column;display:flex}.display-section h2{font-size:var(--fs-display);margin:0;font-weight:600}.display-section p{max-width:62ch;color:var(--body);font-size:var(--fs-body);margin:0}.font-scale-options{gap:var(--sp-2);flex-wrap:wrap;display:flex}.font-scale-option{min-height:var(--tap);padding:0 var(--sp-4);border:1.5px solid var(--rule);background:var(--paper);color:var(--ink);font:inherit;font-size:var(--fs-body);cursor:pointer;border-radius:8px;font-weight:600}.font-scale-option:hover{background:var(--ground)}.font-scale-option.active{background:var(--ink);border-color:var(--ink);color:var(--on-accent)}.orientation-section h2{margin:0 0 var(--sp-4);font-size:var(--fs-display);font-weight:600}.orientation-steps{gap:var(--sp-2);color:var(--body);font-size:var(--fs-body);flex-direction:column;margin:0;padding-left:1.4em;line-height:1.6;display:flex}.privacy-section h2{margin:0 0 var(--sp-3);font-size:var(--fs-display);font-weight:600}.privacy-section p{margin:0 0 var(--sp-3);max-width:62ch;color:var(--body);font-size:var(--fs-body)}.privacy-contents{margin:0 0 var(--sp-3);color:var(--body);font-size:var(--fs-body);flex-direction:column;gap:4px;padding-left:1.4em;display:flex}.app-about-section{align-items:center;gap:var(--sp-2);text-align:center;flex-direction:column;display:flex}.app-about-section h2{font-size:var(--fs-display);margin:0;font-weight:600}.app-about-section p{max-width:42ch;color:var(--body);font-size:var(--fs-body);margin:0}.app-version{color:var(--muted);font-size:var(--fs-meta)}.banner-stack{z-index:15;flex-direction:column;display:flex;position:fixed;top:0;left:0;right:0}.unlock-banner,.sync-banner{justify-content:space-between;align-items:center;gap:var(--sp-4);padding:var(--sp-3) var(--pad-x);font-size:var(--fs-meta);box-shadow:var(--shadow-sm);display:flex}.banner-stack>:first-child{padding-top:calc(var(--sp-3) + env(safe-area-inset-top))}.unlock-banner{background:color-mix(in srgb, var(--affirm) 14%, var(--paper));color:var(--ink);font-weight:600}.unlock-banner button{color:inherit;background:0 0;flex-shrink:0}.sync-banner{background:color-mix(in srgb, var(--negate) 12%, var(--paper));color:var(--ink)}.sync-banner button{flex-shrink:0}.claim-overlay{z-index:20;padding:var(--gutter);background:color-mix(in srgb, var(--ink) 55%, transparent);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.claim-dialog{width:min(100%,480px);max-height:90dvh;padding:var(--sp-6);background:var(--paper);box-shadow:var(--shadow-lg);border-radius:12px;overflow-y:auto}.claim-dialog h2{margin:0 0 var(--sp-2)}.claim-dialog p{margin:0 0 var(--sp-5);color:var(--body);font-size:var(--fs-body)}.claim-options{gap:var(--sp-3);flex-direction:column;display:flex}.claim-option{width:100%;padding:var(--sp-4);border:1.5px solid var(--rule);background:var(--paper);font:inherit;text-align:left;cursor:pointer;border-radius:10px;flex-direction:column;align-items:flex-start;gap:4px;display:flex}.claim-option:hover{background:var(--ground)}.claim-option strong{font-size:var(--fs-option)}.claim-option span{color:var(--muted);font-size:var(--fs-meta)}@media (width<=680px){.profile-main section{padding:var(--sp-5) var(--sp-5)}.session-overview{align-items:start;gap:var(--sp-5);grid-template-columns:1fr}.session-metrics{gap:var(--sp-4);width:100%}.exam-date-field,.session-actions{flex-direction:column;align-items:stretch}.confirm-actions,.btn-danger-quiet{width:100%}.confirm-actions button{flex:1}.completion-actions{flex-direction:column}.completion-actions button{width:100%}}@media (width<=480px){.answer-list li{grid-template-columns:var(--tap) 1fr;gap:var(--sp-3)}.answer-verdict{margin-top:var(--sp-1);grid-column:2;align-items:flex-start}}.course-section{gap:var(--sp-3);background:var(--ground);flex-direction:column;display:flex}.course-section h2{font-size:var(--fs-answer);color:var(--ink)}.course-options{gap:var(--sp-2);flex-direction:column;align-items:flex-start;display:flex}.course-switch-group{gap:var(--sp-1);flex-direction:column;align-items:flex-start;display:flex}.course-switch-framework{font-size:var(--fs-label);color:var(--muted);text-transform:uppercase;letter-spacing:.02em;font-weight:600}.course-switch-level{white-space:nowrap;margin-left:var(--sp-1);font-size:var(--fs-meta);color:var(--muted);flex-shrink:0}.course-switch-hint{font-size:var(--fs-meta);color:var(--muted)}.focus-section{gap:var(--sp-2);flex-direction:column;align-items:flex-start;display:flex}.focus-section label{font-size:var(--fs-meta);color:var(--muted)}.focus-section select{border:1px solid var(--rule);background:var(--paper);color:var(--body);font:inherit;padding:var(--sp-2) var(--sp-3);border-radius:8px}.focus-hint{font-size:var(--fs-meta);color:var(--muted)}.group-section{gap:var(--sp-3);flex-direction:column;align-items:flex-start;display:flex}.group-fields{gap:var(--sp-2);flex-direction:column;width:100%;max-width:360px;display:flex}.group-fields label{font-size:var(--fs-meta);color:var(--muted)}.group-fields input{border:1px solid var(--rule);background:var(--paper);color:var(--body);font:inherit;padding:var(--sp-2) var(--sp-3);border-radius:8px}.group-hint{font-size:var(--fs-meta);color:var(--muted)}.group-readonly{gap:var(--sp-2);width:100%;max-width:360px;padding:var(--sp-3);border:1px solid var(--rule);background:var(--ground);border-radius:8px;flex-direction:column;display:flex}.group-readonly-row{flex-direction:column;gap:2px;display:flex}.group-readonly-label{font-size:var(--fs-meta);color:var(--muted)}.group-readonly-value{font-size:var(--fs-body);color:var(--ink)}.group-readonly-hint{font-size:var(--fs-meta);color:var(--muted);margin:0}.group-assignments{gap:var(--sp-2);flex-direction:column;width:100%;max-width:360px;display:flex}.group-assignments h3{font-size:var(--fs-meta);color:var(--muted);margin:0}.group-assignments ul{gap:var(--sp-1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.group-assignments li{padding:var(--sp-2) var(--sp-3);border:1px solid var(--rule);background:var(--paper);font-size:var(--fs-meta);color:var(--body);border-radius:8px}.admin-group{gap:var(--sp-3);background:var(--ground);flex-direction:column;display:flex}.admin-group-head h2{font-size:var(--fs-answer);color:var(--ink)}.admin-group-summary{font-size:var(--fs-meta);color:var(--muted)}.admin-subgroup h3{font-size:var(--fs-body);color:var(--body);margin-bottom:var(--sp-2)}.admin-table-wrap{border:1px solid var(--rule);background:var(--paper);border-radius:10px;overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;font-size:var(--fs-meta)}.admin-table th,.admin-table td{text-align:left;padding:var(--sp-2) var(--sp-3);border-bottom:1px solid var(--rule-soft);white-space:nowrap}.admin-table th{color:var(--muted);font-weight:600}.admin-table tr:last-child td{border-bottom:none}.admin-note{font-size:var(--fs-meta);color:var(--muted)}.admin-assign{gap:var(--sp-2);flex-direction:column;display:flex}.admin-assign-form{align-items:center;gap:var(--sp-2);flex-wrap:wrap;display:flex}.admin-assign-form label{font-size:var(--fs-meta);color:var(--muted)}.admin-assign-form select,.admin-assign-form input{border:1px solid var(--rule);background:var(--paper);color:var(--body);font:inherit;font-size:var(--fs-meta);padding:var(--sp-2) var(--sp-3);border-radius:8px}.admin-assign-list{gap:var(--sp-1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.admin-assign-list li{justify-content:space-between;align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-3);border:1px solid var(--rule);background:var(--paper);font-size:var(--fs-meta);border-radius:8px;display:flex}@font-face{font-family:Instrument Sans;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/instrument-sans-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Instrument Sans;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/instrument-sans-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Instrument Sans;font-style:italic;font-weight:400 700;font-display:swap;src:url(/fonts/instrument-sans-italic-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Instrument Sans;font-style:italic;font-weight:400 700;font-display:swap;src:url(/fonts/instrument-sans-italic-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}:root{--font-sans:"Instrument Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--paper:#fff;--ground:#f6f7fb;--ink:#1d2433;--body:#3d4459;--muted:#5b6478;--faint:#8991a6;--rule:#e6e7e9;--affirm:#2f7d6b;--negate:#8c3f52;--accent:#4f46e5;--d01:#c24a14;--d02:#0f6bb0;--d03:#6d4ac2;--d04:#0b7550;--d05:#8f6508;--d06:#c22a60;--d07:#456f9e;--affirm-wash:#f0f6f5;--affirm-line:#cfe1dd;--negate-wash:#f8f3f5;--warn-wash:#f8f6f2;--warn-line:#e5dfd2;--warn-ink:#836829;--neutral-wash:#f6f6f7;--neutral-line:#e4e5e7;--track-empty:#dddee0;--result-affirm-wash:#ecf3f2;--result-negate-wash:#f6f0f1;--on-accent:white;--affirm-on-wash:#2b7362;--negate-on-wash:#8c3f52;--panel-tint:#f8f8f9;--placeholder-line:#d9dadc;--placeholder-fill:#fafbfb;--rule-soft:#f1f2f3;--unresolved-line:#d6d8da;--unresolved-fill:#e2e3e4;--panel-wash:#fdfdfd;--dev-flag-wash:#fff4e6;--dev-flag-ink:#8b5a00;--shadow-sm:0 2px 8px #1d243314;--shadow-md:0 6px 20px #1d24331f;--shadow-lg:0 8px 24px #1d243326;--shadow-xl:0 12px 40px #1d243333;--scrim:#1d243399;--fs-stem:clamp(1.3125rem, 1.23rem + .34vw, 1.5rem);--fs-option:clamp(1.125rem, 1.1rem + .11vw, 1.1875rem);--fs-answer:clamp(1.1875rem, 1.13rem + .22vw, 1.3125rem);--fs-body:clamp(1.0625rem, 1.04rem + .11vw, 1.125rem);--fs-meta:.9375rem;--fs-label:.75rem;--fs-display:clamp(1.625rem, 1.46rem + .67vw, 2rem);--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px;--sp-7:44px;--gutter:clamp(18px, 5vw, 72px);--measure:58rem;--pad-x:max(var(--gutter), (100% - var(--measure)) / 2);--tap:48px;--brand-track:#5b50e8;--brand-stop-a:#e8503f;--brand-stop-b:#e3a008;--brand-stop-c:#0fa87e;--brand-star:#f0b429}@media (prefers-color-scheme:dark){:root{--ground:#0f1420;--paper:#171d2e;--ink:#e8ebf5;--body:#b9c1da;--muted:#8b93b0;--faint:#636b87;--rule:#303646;--affirm:#38957f;--negate:#be6f82;--d01:#e97c4f;--d02:#5ca8d8;--d03:#a98fe8;--d04:#3bb68f;--d05:#c89a3a;--d06:#e86e96;--d07:#84a5c4;--on-accent:#0f1420;--affirm-on-wash:#6fc6ae;--negate-on-wash:#d897a6;--affirm-wash:#1c303b;--affirm-line:#244d4e;--negate-wash:#2e283a;--warn-wash:#2e2d30;--warn-line:#514734;--warn-ink:#b9923f;--neutral-wash:#2a3040;--neutral-line:#454a5a;--track-empty:#383e4e;--result-affirm-wash:#1e353e;--result-negate-wash:#352c3d;--panel-tint:#282d3e;--placeholder-line:#494e5e;--placeholder-fill:#262b3c;--rule-soft:#2e3444;--unresolved-line:#4d5362;--unresolved-fill:#3d4252;--panel-wash:#212738;--dev-flag-wash:#473115;--dev-flag-ink:#f1b950;--accent:#7a6cf4;--brand-track:#8b80f5;--brand-stop-a:#ff7a6b;--brand-stop-b:#ffc93c;--brand-stop-c:#2ee6a8;--brand-star:#ffd166;--shadow-sm:0 2px 10px #0000000d;--shadow-md:0 8px 26px #00000014;--shadow-lg:0 10px 30px #0000001a;--shadow-xl:0 16px 48px #00000024;--scrim:#0009}}*{box-sizing:border-box}body{background:var(--ground);color:var(--ink);font:400 var(--fs-body)/1.6 var(--font-sans);-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;margin:0}#root{flex-direction:column;min-height:100vh;display:flex}.stem{font-size:var(--fs-stem);letter-spacing:-.011em;line-height:1.45}.answer{font-size:var(--fs-answer);line-height:1.5}.body-text{font-size:var(--fs-body);color:var(--body);line-height:1.7}.label{font-size:var(--fs-label);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.label.faint{color:var(--muted)}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
