.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}:root{--chevron-ink: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%235b6068' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");--chevron-cream: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23eef0ea' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}select{--select-pad: 12px;-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-left:var(--select-pad);padding-right:calc(var(--select-pad) * 2 + 10px);background-image:var(--chevron-ink);background-repeat:no-repeat;background-position:right var(--select-pad) center;background-size:10px 6px;cursor:pointer}.app-root{height:100%;width:100%;min-height:0;display:grid;grid-template-rows:100%;grid-template-columns:100%;overflow:hidden;background:var(--room-gradient);color:var(--on-dark);font-family:var(--font-ui);position:relative;isolation:isolate}.app-root:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--room-texture);opacity:.55;pointer-events:none;z-index:0}.app-room-glow{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--room-glow),var(--room-vignette);pointer-events:none;z-index:0}@media (prefers-reduced-motion: reduce){.app-root:before{display:none}}.screen-frame{position:relative;z-index:1;height:100%;width:100%;min-width:0;min-height:0;display:flex;flex-direction:column}.screen-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-gutter:stable}.screen-scroll.center{display:flex;flex-direction:column}.screen-scroll.center>.screen{width:100%;margin-block:auto}.screen-scroll.fill{overflow:hidden}.screen.fill{height:100%;display:flex;flex-direction:column;min-height:0}.screen.fill>.screen-body{flex:1 1 auto;min-height:0}.screen-scroll,.pane-scroll{scrollbar-width:thin;scrollbar-color:rgb(var(--on-dark-rgb) / .22) transparent}.screen-scroll::-webkit-scrollbar,.pane-scroll::-webkit-scrollbar{width:10px;height:10px}.screen-scroll::-webkit-scrollbar-track,.pane-scroll::-webkit-scrollbar-track{background:transparent}.screen-scroll::-webkit-scrollbar-thumb,.pane-scroll::-webkit-scrollbar-thumb{background:rgb(var(--on-dark-rgb) / .18);border:3px solid transparent;background-clip:content-box;border-radius:999px}.screen-scroll::-webkit-scrollbar-thumb:hover,.pane-scroll::-webkit-scrollbar-thumb:hover{background:rgb(var(--on-dark-rgb) / .34);background-clip:content-box}.pane-scroll{overflow:auto;overscroll-behavior:contain}.screen-frame.has-dock:after{content:"";position:absolute;left:0;right:0;bottom:0;height:calc(var(--dock-space) + 12px);background:linear-gradient(180deg,#14171200,#1417126b 58%,#141712b3);pointer-events:none;z-index:2}.topbar{flex:0 0 auto;position:relative;z-index:40;min-height:var(--topbar-h);min-width:0;display:flex;align-items:center;gap:var(--s-3);padding:var(--s-2) var(--s-5);background:rgb(var(--surface-rgb) / .88);border-bottom:1px solid rgb(var(--wash-rgb) / .1);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:var(--on-dark)}.topbar:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:linear-gradient(90deg,transparent,rgb(var(--accent-rgb) / .5) 30%,rgb(var(--accent-rgb) / .5) 70%,transparent);pointer-events:none}.topbar-brand{flex:none;white-space:nowrap;font-weight:800;font-size:var(--fs-body);letter-spacing:-.01em;color:var(--cream);background:none;border:0;padding:4px 2px;cursor:pointer;font-family:var(--font-ui)}.topbar-brand:before{content:"";display:inline-block;width:7px;height:7px;margin-right:7px;border-radius:2px;background:var(--accent);vertical-align:1px}.topbar-brand:focus-visible{outline:var(--focus-ring);outline-offset:2px}.topbar-course{min-width:0;font-family:var(--font-mono);font-size:var(--fs-micro);font-weight:500;letter-spacing:.06em;color:var(--on-dark-50);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar-spacer{flex:1}.topbar-back{flex:none;height:32px;padding:0 12px;background:rgb(var(--wash-rgb) / .07);border:1px solid rgb(var(--wash-rgb) / .16);border-radius:8px;color:rgb(var(--on-dark-rgb) / .85);font:700 var(--fs-sm)/1 var(--font-ui);cursor:pointer}.topbar-back:hover{background:rgb(var(--wash-rgb) / .12)}.topbar-back:focus-visible{outline:var(--focus-ring);outline-offset:2px}.topbar-actions{display:flex;gap:8px;align-items:center}.screen{position:relative;z-index:1;max-width:var(--w-base);margin:0 auto;padding:var(--s-6) var(--s-6) var(--dock-space);color:var(--on-dark)}.screen.wide{max-width:var(--w-wide)}.screen.narrow{max-width:var(--w-narrow)}.screen{transition:max-width .24s ease}@media (prefers-reduced-motion: reduce){.screen{transition:none}}.screen.focused{padding-bottom:var(--s-10)}.step-marker{font-family:var(--font-mono);font-size:var(--fs-micro);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--lime-soft);margin:0 0 var(--s-2)}.eyebrow{font-family:var(--font-mono);font-size:var(--fs-micro);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-text);margin:0 0 8px}.eyebrow.on-paper{color:var(--accent-ink)}.eyebrow.blue{color:var(--blue)}.screen-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:20px;flex-wrap:wrap}.screen-head-main{display:flex;align-items:flex-start;gap:12px;min-width:0}.screen-head h1{font-size:var(--fs-xl);font-weight:800;line-height:1.15;margin:0;letter-spacing:-.01em;color:var(--cream)}.screen-head h1:after{content:"";display:block;width:28px;height:3px;margin-top:var(--s-2);border-radius:2px;background:var(--accent)}.screen-sub{margin:6px 0 0;color:var(--on-dark-60);font-size:var(--fs-body);font-weight:500;line-height:1.5;max-width:620px}.screen-head-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.btn.back{margin-top:2px}.screen-body{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;position:relative;z-index:1}.grid-2{display:grid;gap:16px;grid-template-columns:1.35fr 1fr}.grid-2.even{grid-template-columns:1fr 1fr}.grid-3{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.row-between{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap}.stack{display:grid;gap:10px}.screen-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--s-3);margin-top:var(--s-2);padding-top:var(--s-4);border-top:1px solid var(--panel-border);flex-wrap:wrap}.screen-actions .spacer{flex:1}.screen-actions-note{font-size:var(--fs-sm);font-weight:500;color:var(--on-dark-60);margin:0;max-width:56ch}.choice-grid{display:grid;gap:var(--s-3)}.choice-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.choice-grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.choice-custom-input{display:flex;align-items:center;gap:var(--s-3);margin-top:var(--s-4)}.choice-custom-input .v{font-variant-numeric:tabular-nums;white-space:nowrap}.range-lime{flex:1;-webkit-appearance:none;-moz-appearance:none;appearance:none;height:6px;border-radius:999px;background:linear-gradient(to right,var(--lime) var(--range-fill, 50%),var(--panel-border) var(--range-fill, 50%));outline:none;cursor:pointer}.range-lime::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;border-radius:50%;background:var(--lime);border:3px solid var(--room-ink-2);box-shadow:0 1px 3px #0a0c0a73;cursor:pointer;transition:transform .12s ease}.range-lime::-webkit-slider-thumb:hover{transform:scale(1.08)}.range-lime::-moz-range-track{height:6px;border-radius:999px;background:transparent}.range-lime::-moz-range-progress{height:6px;border-radius:999px;background:var(--lime)}.range-lime::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--lime);border:3px solid var(--room-ink-2);box-shadow:0 1px 3px #0a0c0a73;cursor:pointer}.range-lime:focus-visible{outline:var(--focus-ring);outline-offset:3px}.choice-hit{display:flex;flex-direction:column;gap:var(--s-2);align-items:flex-start;width:100%;padding:0;border:none;background:none;color:inherit;text-align:left;font-family:var(--font-ui);cursor:pointer}.choice-hit:focus-visible{outline:var(--focus-ring);outline-offset:2px}.choice{display:flex;flex-direction:column;gap:var(--s-2);align-items:flex-start;width:100%;padding:var(--s-4) var(--s-5);border-radius:var(--radius-md);border:1.5px solid var(--panel-border);background:rgb(var(--wash-rgb) / .04);color:var(--on-dark);text-align:left;font-family:var(--font-ui);cursor:pointer;transition:border-color .12s ease,background .12s ease}.choice:hover:not([disabled]){background:rgb(var(--wash-rgb) / .07);border-color:var(--panel-border-strong)}.choice:focus-visible{outline:var(--focus-ring);outline-offset:2px}.choice[aria-checked=true],.choice.selected{border-color:var(--lime);background:var(--lime-tint);box-shadow:inset 3px 0 0 var(--lime)}.choice[disabled]{opacity:.45;cursor:not-allowed}.choice-head{display:flex;align-items:center;gap:var(--s-3);width:100%}.choice-title{font-size:var(--fs-md);font-weight:800;letter-spacing:-.01em;color:var(--cream)}.choice-meta{font-family:var(--font-mono);font-size:var(--fs-micro);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--on-dark-50)}.choice-desc{font-size:var(--fs-sm);font-weight:500;line-height:1.55;color:var(--on-dark-75);max-width:60ch;margin:0}.course-choice{position:relative;min-width:0}.choice-instructor{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-sm);font-weight:500;color:var(--on-dark-50)}.course-choice.has-link .choice-instructor{max-width:calc(100% - 7.5rem)}.course-choice-link{position:absolute;right:var(--s-5);bottom:var(--s-4);font-size:var(--fs-sm);font-weight:700;color:var(--on-dark-75)}.course-choice-link:hover{color:var(--cream)}.course-choice-link:focus-visible{outline:var(--focus-ring);outline-offset:2px}.course-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s-4)}.course-layout.has-plan{grid-template-columns:minmax(0,1fr) minmax(0,420px)}.course-layout>.choice-grid{align-self:center}.course-layout-side{position:sticky;top:var(--s-4);min-width:0;animation:study-plan-in .24s ease-out}@keyframes study-plan-in{0%{opacity:0;transform:translate(12px)}}@media (prefers-reduced-motion: reduce){.course-layout-side{animation:none}}.study-plan{display:flex;flex-direction:column;max-height:min(600px,calc(100vh - 300px));min-height:320px;border-radius:var(--radius-md);border:1px solid var(--panel-border);background:rgb(var(--surface-rgb) / .55);overflow:hidden}.study-plan-head{display:grid;gap:var(--s-1);padding:var(--s-4) var(--s-5);border-bottom:1px solid var(--panel-border)}.study-plan-title{margin:0;font-size:var(--fs-md);font-weight:800;color:var(--on-dark)}.study-plan-meta{margin:0;font-family:var(--font-mono);font-size:var(--fs-micro);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--accent-text)}.study-plan-list{flex:1;min-height:0;margin:0;padding:var(--s-1) 0;list-style:none;overflow-y:auto}.study-plan-start{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--s-1) var(--s-3);font-size:var(--fs-sm);line-height:1.4;color:var(--on-dark-60)}.study-plan-start>span{flex:0 1 auto}.study-plan-start-action{padding:0;border:0;background:none;font:inherit;font-weight:700;color:var(--accent-text);cursor:pointer}.study-plan-start-action:hover{text-decoration:underline}.study-plan-row{display:grid;grid-template-columns:26px minmax(0,1fr) auto;gap:var(--s-2);align-items:baseline;width:100%;padding:9px var(--s-5);border:0;background:none;font:inherit;font-size:var(--fs-sm);line-height:1.4;text-align:left;color:inherit}button.study-plan-row{cursor:pointer}button.study-plan-row:hover{background:rgb(var(--wash-rgb) / .06)}.study-plan-item+.study-plan-item{border-top:1px solid rgb(var(--wash-rgb) / .05)}.study-plan-item.is-before{opacity:.45}.study-plan-item.is-start .study-plan-index,.study-plan-item.is-start .study-plan-name{color:var(--accent-text)}.study-plan-index,.study-plan-time{font-family:var(--font-mono);font-size:var(--fs-micro);font-variant-numeric:tabular-nums;color:var(--on-dark-50)}.study-plan-name{font-weight:600;color:var(--on-dark-75);overflow-wrap:anywhere}@media (max-width: 900px){.course-layout.has-plan{grid-template-columns:minmax(0,1fr)}.course-layout-side{position:static}.study-plan{max-height:420px;min-height:0}}.choice-weeks{font-size:var(--fs-lg, 22px);font-weight:800;letter-spacing:-.01em;line-height:1.2;color:var(--accent-text)}.pace-summary{display:grid;grid-template-columns:minmax(0,auto) minmax(0,1fr);gap:var(--s-6, 32px);align-items:center;margin-top:var(--s-2);padding:var(--s-5);border-radius:var(--radius-md);border:1px solid var(--panel-border);background:rgb(var(--surface-rgb) / .55)}.pace-summary-result{display:grid;gap:2px;animation:pace-result-in .22s ease-out}.pace-summary-result p{margin:0}@keyframes pace-result-in{0%{opacity:0;transform:translateY(4px)}}@media (prefers-reduced-motion: reduce){.pace-summary-result{animation:none}}.pace-summary-label{font-family:var(--font-mono);font-size:var(--fs-micro);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--on-dark-60)}.pace-summary-weeks{font-size:clamp(40px,6vw,56px);font-weight:800;letter-spacing:-.03em;line-height:1.05;color:var(--on-dark)}.pace-summary-load{font-size:var(--fs-sm);font-weight:600;color:var(--on-dark-75)}.pace-summary-span{display:flex;align-items:center;gap:var(--s-3);min-width:0}.pace-summary-date{display:grid;gap:2px;flex:none}.pace-summary-date.end{text-align:right}.pace-summary-day{font-size:var(--fs-md);font-weight:800;color:var(--on-dark);white-space:nowrap}.pace-summary-track{position:relative;flex:1;min-width:24px;height:2px;background:linear-gradient(90deg,var(--accent),rgb(var(--accent-rgb) / .25))}.pace-summary-join{font-size:var(--fs-sm);font-weight:600;color:var(--accent-text)}.pace-start-choice{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-2) var(--s-3)}.pace-start-hint{margin:0;font-size:var(--fs-sm);color:var(--on-dark-60)}.pace-summary-empty{grid-column:1 / -1;margin:0;padding:var(--s-3) 0;text-align:center;font-size:var(--fs-sm);color:var(--on-dark-60)}.pace-course-note{margin:0;font-size:var(--fs-sm);line-height:1.5;color:var(--on-dark-60)}@media (max-width: 760px){.pace-summary{grid-template-columns:minmax(0,1fr);gap:var(--s-4)}}.course-search-bar{position:relative;display:flex;align-items:center;margin-bottom:var(--s-4);width:100%}.course-search-icon{position:absolute;left:14px;display:flex;align-items:center;justify-content:center;color:var(--on-dark-50);pointer-events:none}.course-search-input{width:100%;height:44px;padding:0 38px 0 40px;font:500 var(--fs-body)/1 var(--font-ui);color:var(--cream);background:rgb(var(--wash-rgb) / .04);border:1.5px solid var(--panel-border);border-radius:var(--radius-md);transition:border-color .12s ease,background .12s ease}.course-search-input::-webkit-search-decoration,.course-search-input::-webkit-search-cancel-button{-webkit-appearance:none}.course-search-input::placeholder{color:var(--on-dark-45);font-weight:500}.course-search-input:hover{background:rgb(var(--wash-rgb) / .07);border-color:var(--panel-border-strong)}.course-search-input:focus-visible{outline:var(--focus-ring);outline-offset:1px;border-color:var(--blue);background:rgb(var(--wash-rgb) / .08)}.course-search-clear{position:absolute;right:12px;display:flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:none;border-radius:50%;background:rgb(var(--wash-rgb) / .1);color:var(--on-dark-75);font-size:11px;line-height:1;cursor:pointer;transition:background .12s ease,color .12s ease}.course-search-clear:hover{background:rgb(var(--wash-rgb) / .2);color:var(--cream)}.course-search-clear:focus-visible{outline:var(--focus-ring);outline-offset:1px}.fact-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1px;background:var(--hairline);border-radius:var(--radius-md);overflow:hidden}.fact{padding:var(--s-3) var(--s-4);background:var(--paper)}.fact .v{display:block;font-family:var(--font-mono);font-size:var(--fs-md);font-weight:800;color:var(--ink);font-variant-numeric:tabular-nums}.fact .l{display:block;margin-top:2px;font-family:var(--font-mono);font-size:var(--fs-micro);font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}.card{background:var(--paper);color:var(--ink);border:0;border-radius:var(--radius-lg);box-shadow:var(--card-shadow);position:relative}.card.accent-top:before{content:"";position:absolute;top:0;left:28px;right:28px;height:3px;background:var(--blue);border-radius:0 0 3px 3px}.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px 24px 0}.card-head h2{margin:0;font-size:var(--fs-md);font-weight:800;letter-spacing:-.005em;color:var(--ink)}.card-head .kicker{font-family:var(--font-mono);font-size:9.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.card-body{padding:var(--s-4) var(--s-6) var(--s-6);color:var(--body)}.card-body.even{padding:var(--s-6)}.panel-dark{background:var(--panel);border:1px solid var(--panel-border);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--on-dark);padding:22px}.panel-dark h2,.panel-dark h3{margin:0 0 4px;color:var(--cream);font-weight:800}.panel-dark .panel-label{font-family:var(--font-mono);font-size:9.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--on-dark-50)}.panel-dark p{color:var(--on-dark-75)}.btn{font-family:var(--font-ui);font-size:var(--fs-sm);font-weight:700;border-radius:9px;padding:0 16px;height:40px;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;border:1px solid transparent;transition:background .12s ease,border-color .12s ease,transform .12s ease;text-decoration:none;white-space:nowrap}.btn:focus-visible{outline:var(--focus-ring);outline-offset:2px}.btn[disabled]{opacity:.45;cursor:not-allowed}.btn.primary{background:var(--blue);color:#fff;box-shadow:var(--cta-shadow)}.btn.primary:hover:not([disabled]){background:var(--blue-hover)}.btn.ink{background:var(--ink);color:var(--on-accent)}.btn.ink:hover:not([disabled]){background:var(--ink-hover)}.btn.secondary{background:transparent;color:var(--on-dark);border-color:var(--panel-border-strong)}.on-paper .btn.secondary,.card .btn.secondary,.btn.secondary.on-paper{color:var(--ink);border-color:var(--hairline-20);background:transparent}.btn.secondary:hover:not([disabled]){background:rgb(var(--wash-rgb) / .08)}.on-paper .btn.secondary:hover:not([disabled]),.card .btn.secondary:hover:not([disabled]),.btn.secondary.on-paper:hover:not([disabled]){background:#15171a0f}.btn.ghost{background:transparent;color:var(--on-dark-60);border-color:transparent}.on-paper .btn.ghost,.card .btn.ghost,.btn.ghost.on-paper{color:var(--muted)}.btn.ghost:hover:not([disabled]){background:rgb(var(--wash-rgb) / .08);color:var(--on-dark)}.on-paper .btn.ghost:hover:not([disabled]),.card .btn.ghost:hover:not([disabled]),.btn.ghost.on-paper:hover:not([disabled]){background:#15171a0f;color:var(--ink)}.btn.danger{background:transparent;color:var(--coral-soft);border-color:#c9503d80}.btn.danger:hover:not([disabled]){background:var(--coral-bg)}.on-paper .btn.danger,.card .btn.danger,.btn.danger.on-paper{color:var(--coral-deep)}.btn.lime{background:var(--lime-tint-strong);border:1px solid rgb(var(--accent-rgb) / .55);color:var(--lime-soft)}.btn.amber{background:#c98a2e38;border:1px solid rgba(201,138,46,.6);color:var(--amber-on-dark)}.btn.small{height:34px;padding:0 13px;font-size:var(--fs-label)}.btn.large{height:50px;padding:0 24px;font-size:var(--fs-md);font-weight:800;border-radius:10px}.btn.block{width:100%}.linkish{background:none;border:0;padding:0;font-family:var(--font-ui);font-size:var(--fs-sm);font-weight:600;color:var(--blue-ink);text-decoration:underline;text-underline-offset:2px;cursor:pointer}.on-paper .linkish,.card .linkish{color:var(--blue)}.stat{display:grid;gap:2px}.stat-label{font-family:var(--font-mono);font-size:var(--fs-micro);font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--on-dark-50)}.on-paper .stat-label,.card .stat-label{color:var(--muted)}.stat-value{font-family:var(--font-mono);font-size:var(--fs-lg);font-weight:800;letter-spacing:-.01em;font-variant-numeric:tabular-nums;color:var(--cream)}.on-paper .stat-value,.card .stat-value{color:var(--ink)}.stat-hint{font-size:var(--fs-sm);font-weight:500;line-height:1.5;color:var(--on-dark-60)}.on-paper .stat-hint,.card .stat-hint{color:var(--muted)}.pill{display:inline-flex;align-items:center;gap:5px;font-family:var(--font-mono);font-size:var(--fs-micro);font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:5px 10px;border-radius:7px;border:1px solid var(--panel-border-strong);background:rgb(var(--wash-rgb) / .07);color:var(--on-dark-75);white-space:nowrap}.on-paper .pill,.card .pill{background:#15171a0d;border-color:var(--hairline-20);color:var(--muted)}.pill.progress,.pill.done{background:var(--lime-tint);color:var(--lime-soft);border-color:rgb(var(--accent-rgb) / .5)}.on-paper .pill.progress,.card .pill.progress,.on-paper .pill.done,.card .pill.done{background:rgb(var(--accent-rgb) / .2);color:var(--lime-deep);border-color:#3d7a1a66}.pill.info,.pill.ranked{background:var(--blue-tint-strong);color:var(--blue-ink);border-color:#3d6bd899}.on-paper .pill.info,.card .pill.info,.on-paper .pill.ranked,.card .pill.ranked{background:var(--blue-tint);color:var(--blue);border-color:#3d6bd866}.pill.warn{background:var(--coral-bg);color:var(--coral-soft);border-color:var(--coral-line)}.on-paper .pill.warn,.card .pill.warn{background:#c9503d1f;color:var(--coral-deep);border-color:#c9503d66}.pill.amber{background:var(--amber-bg);color:var(--amber-on-dark);border-color:var(--amber-line)}.on-paper .pill.amber,.card .pill.amber{color:var(--amber-text)}.pill.neutral-dark{background:rgb(var(--surface-rgb) / .6);color:var(--on-dark-60);border-color:rgb(var(--wash-rgb) / .2)}.pill-glyph{font-size:var(--fs-micro)}.pill.tiny{font-size:9px;padding:4px 8px}.kind-badge{display:inline-flex;align-items:center;font-family:var(--font-mono);font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:3px 8px;border-radius:5px;border:1px solid var(--panel-border);white-space:nowrap}.kind-badge.ai{background:#6b5fd638;color:var(--lavender-badge-text);border-color:#6b5fd680}.kind-badge.human{background:var(--blue-tint-strong);color:var(--blue-ink);border-color:#3d6bd880}.on-paper .kind-badge.ai,.card .kind-badge.ai{background:#6b5fd629;color:var(--lavender-ink)}.on-paper .kind-badge.human,.card .kind-badge.human{background:var(--blue-tint);color:var(--blue)}.loading-block{display:grid;gap:10px}.skeleton-row{height:14px;border-radius:6px;background:linear-gradient(90deg,#ffffff14,#ffffff29,#ffffff14);background-size:200% 100%;animation:shimmer 1.4s linear infinite}.on-paper .skeleton-row,.card .skeleton-row{background:linear-gradient(90deg,var(--paper-inset) 0%,#fbfaf6 50%,var(--paper-inset) 100%);background-size:200% 100%}.skeleton-row:nth-child(2){width:76%}.skeleton-row:nth-child(3){width:54%}@keyframes shimmer{to{background-position:-200% 0}}@media (prefers-reduced-motion: reduce){.skeleton-row{animation:none}}.empty-state,.error-state{display:grid;gap:8px;justify-items:start;padding:22px;border:1px dashed rgb(var(--wash-rgb) / .24);border-radius:var(--radius-md);background:var(--panel);color:var(--on-dark-75)}.on-paper .empty-state,.card .empty-state,.on-paper .error-state,.card .error-state{border-color:var(--hairline-20);background:var(--paper-inset);color:var(--muted)}.empty-state h3,.error-state h3{margin:0;font-size:var(--fs-md);font-weight:800;color:var(--cream)}.on-paper .empty-state h3,.card .empty-state h3,.on-paper .error-state h3,.card .error-state h3{color:var(--ink)}.empty-state p,.error-state p{margin:0;font-size:var(--fs-body);font-weight:500;line-height:1.5;max-width:60ch}.error-state,.on-paper .error-state,.card .error-state{border-color:var(--coral-line);background:var(--coral-bg)}.save-indicator{font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:.06em;color:var(--on-dark-50)}.on-paper .save-indicator,.card .save-indicator{color:var(--muted)}.save-indicator.saved{color:var(--lime-soft)}.on-paper .save-indicator.saved,.card .save-indicator.saved,.notes-page .save-indicator.saved{color:#27610c}.save-indicator.error{color:var(--coral-soft)}.overlay-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:grid;place-items:center;background:var(--scrim-strong);padding:24px}.modal{width:min(560px,100%);max-height:86vh;overflow:auto;background:var(--paper);color:var(--ink);border-radius:var(--radius-lg);box-shadow:var(--modal-shadow);padding:28px}.modal.narrow{width:min(460px,100%)}.drawer-root{place-items:stretch;justify-content:flex-end;padding:0}.drawer{width:min(430px,94vw);height:100%;overflow:auto;background:var(--paper);color:var(--ink);box-shadow:var(--sidebar-shadow);padding:22px 22px 30px}.drawer-frame{position:relative;display:flex;height:100%;max-width:94vw}.drawer-frame>.drawer{max-width:94vw}.drawer-resize{position:absolute;top:0;bottom:0;left:-5px;width:10px;cursor:col-resize;touch-action:none;z-index:2}.drawer-resize:after{content:"";position:absolute;top:50%;left:3px;width:4px;height:44px;margin-top:-22px;border-radius:999px;background:var(--hairline-20);transition:background .12s ease,height .12s ease}.drawer-resize:hover:after,.drawer-resize:active:after,.drawer-resize:focus-visible:after{background:var(--blue)}.drawer-resize:focus-visible{outline:none}.modal h2,.drawer h2{margin:0 0 4px;font-size:var(--fs-lg);font-weight:800;letter-spacing:-.01em}.modal-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:18px;flex-wrap:wrap}.reflection-modal{width:min(680px,calc(100vw - 32px));max-height:min(860px,calc(100vh - 32px));overflow-y:auto}.reflection-choice{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:18px}.reflection-choice .muted-note{flex-basis:100%}.reflection-recording{display:flex;flex-direction:column;align-items:stretch;gap:12px;padding:12px 16px;margin-top:16px;border-radius:12px;background:#ae242414}.reflection-recording-row{display:flex;align-items:center;gap:12px}.reflection-recording-row .btn{margin-left:auto}.reflection-live-meter{display:inline-flex;align-items:center;justify-content:center;gap:3px;width:36px;height:36px;flex:0 0 auto;border-radius:50%;background:#fff;box-shadow:0 4px 14px #b4231824}.reflection-live-meter span{width:3px;height:18px;border-radius:3px;background:#b42318;transform:scaleY(.3);transition:transform 60ms linear}.reflection-live-meter span:nth-child(2),.reflection-live-meter span:nth-child(3){height:22px}.reflection-capped{margin-top:18px}.reflection-capped p{margin:0;line-height:1.6}.reflection-capped .reflection-choice{margin-top:14px}.reflection-error{padding:10px 12px;border:1px solid rgba(180,35,24,.35);border-radius:10px;color:#8f2018;background:#b423180f}.reflection-processing{display:flex;align-items:center;gap:18px;min-height:112px;padding:18px;margin-top:16px;border:1px solid rgba(47,95,204,.18);border-radius:14px;background:linear-gradient(135deg,#2f5fcc14,#6f42c10f)}.reflection-processing p{margin:5px 0 0;color:var(--muted)}.reflection-processing-mark{display:flex;align-items:center;justify-content:center;gap:3px;width:58px;height:58px;flex:0 0 auto;border-radius:50%;background:#fff;box-shadow:0 8px 24px #2f5fcc26}.reflection-processing-mark span{width:4px;border-radius:4px;background:var(--blue);animation:reflection-wave .9s ease-in-out infinite alternate}.reflection-processing-mark span:nth-child(1){height:13px;animation-delay:-.3s}.reflection-processing-mark span:nth-child(2){height:25px;animation-delay:-.15s}.reflection-processing-mark span:nth-child(3){height:34px}.reflection-processing-mark span:nth-child(4){height:19px;animation-delay:-.45s}@keyframes reflection-wave{0%{transform:scaleY(.45);opacity:.55}to{transform:scaleY(1);opacity:1}}@media (prefers-reduced-motion: reduce){.reflection-processing-mark span{animation:none}}.reflection-modal .rich-surface:focus-visible{outline:3px solid rgba(47,95,204,.35);outline-offset:2px}.reflection-feedback{padding:var(--s-3) var(--s-4);border:1px solid var(--panel-border);border-radius:12px;background:var(--paper-inset)}.reflection-feedback h3{margin:0 0 var(--s-2);font-size:var(--fs-sm);font-weight:700;color:var(--ink)}.reflection-feedback ul{margin:0;padding-left:var(--s-4);display:grid;gap:var(--s-1)}.reflection-feedback-item{font-size:var(--fs-sm);line-height:1.5;color:var(--ink)}.reflection-feedback-item.is-coverage{color:var(--muted)}@media (max-width: 640px){.reflection-recording-row{align-items:flex-start;flex-wrap:wrap}.reflection-recording-row .btn{width:100%;margin-left:0}}.list{display:grid;gap:8px;list-style:none;margin:0;padding:0}.list-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid var(--panel-border);border-radius:var(--radius);background:rgb(var(--wash-rgb) / .04);color:var(--on-dark);text-align:left;width:100%;font:inherit}.on-paper .list-item,.card .list-item{border-color:var(--hairline);background:#fff;color:var(--ink)}button.list-item{cursor:pointer;font-family:var(--font-ui)}button.list-item:hover{background:rgb(var(--wash-rgb) / .08)}.on-paper button.list-item:hover,.card button.list-item:hover{background:var(--paper-inset)}button.list-item:focus-visible{outline:var(--focus-ring);outline-offset:2px}.list-item-main{display:grid;gap:3px;min-width:0}.list-item-title{font-size:var(--fs-body);font-weight:700}.list-item-sub{font-size:var(--fs-label);font-weight:500;color:var(--on-dark-60);font-family:var(--font-mono);letter-spacing:.02em}.on-paper .list-item-sub,.card .list-item-sub{color:var(--muted)}.list-item-meta{display:flex;gap:6px;align-items:center;flex-shrink:0}.list-item.selected{border-color:var(--blue);background:var(--blue-tint-strong)}.dock{position:absolute;bottom:var(--dock-inset);left:50%;transform:translate(-50%);z-index:45;display:flex;gap:3px;padding:5px;background:rgb(var(--surface-rgb) / .85);border:1px solid rgb(var(--wash-rgb) / .14);border-radius:13px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--dock-shadow);max-width:calc(100vw - 24px);overflow-x:auto}.dock-btn{display:inline-flex;align-items:center;gap:7px;height:calc(var(--dock-h) - 10px);padding:0 13px;background:transparent;border:1px solid transparent;border-radius:9px;color:var(--on-dark-60);font-family:var(--font-mono);font-size:var(--fs-micro);font-weight:600;letter-spacing:.05em;cursor:pointer;white-space:nowrap}.dock-btn:hover{background:rgb(var(--wash-rgb) / .07);color:var(--on-dark)}.dock-btn:focus-visible{outline:var(--focus-ring);outline-offset:2px}.dock-btn.active{background:var(--lime-tint-strong);border-color:rgb(var(--accent-rgb) / .45);color:var(--lime-soft)}.dock-btn .dock-dot{width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.6}.dock-btn.active .dock-dot{opacity:1}.dock-label-short{display:none}.dock-sep{width:1px;background:rgb(var(--wash-rgb) / .14);margin:4px 3px;flex:none}.classroom-canvas{position:absolute;top:0;right:0;bottom:0;left:0}.classroom-canvas canvas{display:block}.onboarding-page{position:relative;height:100%;display:grid;place-items:center;padding:var(--s-8) var(--s-4);background:var(--room-gradient);color:var(--on-dark);overflow:auto;overscroll-behavior:contain}.onboarding-page:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--room-texture);pointer-events:none}.onboarding-card{position:relative;z-index:1;width:100%;max-width:480px;background:var(--paper);color:var(--ink);border-radius:var(--radius-lg);padding:var(--s-8);display:grid;gap:var(--s-4);box-shadow:var(--modal-shadow)}.title-mark{display:grid;gap:2px;margin:0}.title-kicker{font-family:var(--font-mono);font-size:var(--fs-micro);font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.title-word{margin:0;font-size:34px;font-weight:800;letter-spacing:-.03em;line-height:1.05;color:var(--ink)}.title-lede{margin:0;font-size:var(--fs-body);font-weight:500;line-height:1.6;color:var(--body)}.title-status{margin:0;font-size:var(--fs-sm);font-weight:600;color:var(--muted)}.title-foot{margin:0;padding-top:var(--s-4);border-top:1px solid var(--hairline);font-size:var(--fs-label);font-weight:500;line-height:1.5;color:var(--faint)}.title-foot a{color:var(--on-dark-75);text-decoration:underline;text-underline-offset:2px}.title-foot a:hover{color:var(--on-dark)}.verify-sub{margin:0;font-size:var(--fs-body);line-height:1.55;color:var(--on-dark-75)}.verify-email{color:var(--on-dark);font-weight:700;overflow-wrap:anywhere}.verify-change{display:grid;gap:var(--s-3)}.verify-change-actions{display:flex;justify-content:flex-end;gap:var(--s-2)}.code-slots{position:relative;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--s-2)}.code-slots-input{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;width:100%;height:100%;padding:0;border:0;background:transparent;color:transparent;caret-color:transparent;font-size:16px;outline:none;cursor:text}.code-slots-input::selection{background:transparent}.code-slot{display:grid;place-items:center;height:60px;font:700 26px/1 var(--font-mono);font-variant-numeric:tabular-nums;color:var(--on-dark);background:rgb(var(--well-rgb) / .22);border:1px solid var(--panel-border-strong);border-radius:10px;transition:border-color .12s ease,background-color .12s ease,box-shadow .12s ease}.code-slot.filled{background:rgb(var(--wash-rgb) / .06)}.code-slot.active{border-color:var(--blue-ink);box-shadow:0 0 0 3px var(--blue-tint)}.code-slot.active:empty:after{content:"";width:2px;height:26px;background:var(--blue-ink);animation:code-caret 1s steps(2,start) infinite}.code-slots.has-error .code-slot{border-color:var(--coral-line)}.code-slots.is-busy .code-slot{opacity:.55}@keyframes code-caret{to{visibility:hidden}}@media (prefers-reduced-motion: reduce){.code-slot.active:empty:after{animation:none}}.verify-message{margin:0;min-height:1.5em;font-size:var(--fs-sm);font-weight:600;line-height:1.5;color:var(--on-dark-60)}.verify-message.is-error{color:var(--coral-soft)}.verify-message:empty{visibility:hidden}.verify-resend{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-1) var(--s-2);font-size:var(--fs-sm);color:var(--on-dark-60)}.verify-foot{display:flex;justify-content:center;padding-top:var(--s-3);border-top:1px solid var(--panel-border)}.onboarding-divider{display:flex;align-items:center;gap:var(--s-3);font-family:var(--font-mono);font-size:var(--fs-micro);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--faint)}.onboarding-divider:before,.onboarding-divider:after{content:"";flex:1;height:1px;background:var(--hairline)}.onboarding-progress{height:8px;border-radius:999px;background:var(--paper-inset);overflow:hidden;border:1px solid var(--hairline)}.onboarding-progress-fill{height:100%;background:var(--blue);border-radius:999px;transition:width .24s ease}@media (prefers-reduced-motion: reduce){.onboarding-progress-fill{transition:none}}.field{display:grid;gap:6px;min-width:0}.field-row{display:flex;gap:var(--s-2);align-items:flex-end}.field-row .field{flex:1}.field-label{font-family:var(--font-mono);font-size:var(--fs-micro);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.field-input,.field-select,.field-textarea{width:100%;height:50px;padding:0 14px;font:600 var(--fs-body)/1 var(--font-ui);color:var(--ink);background-color:var(--paper-inset);border:1.5px solid var(--hairline-20);border-radius:10px;transition:border-color .12s ease,background .12s ease}.field-textarea{height:auto;min-height:120px;padding:12px 14px;line-height:1.6;resize:vertical}.field-input::placeholder,.field-textarea::placeholder{color:var(--faint);font-weight:500}.field-input:hover,.field-select:hover,.field-textarea:hover{border-color:var(--ink-25)}.field-input:focus-visible,.field-select:focus-visible,.field-textarea:focus-visible{outline:var(--focus-ring);outline-offset:1px;border-color:var(--blue);background-color:#fff}.field-select{--select-pad: 14px;padding-left:var(--select-pad);padding-right:calc(var(--select-pad) * 2 + 10px)}.field-input.compact,.field-select.compact{height:38px;border-width:1px;font-size:var(--fs-sm)}.field-select.compact{--select-pad: 12px}.field-select.grow{flex:1;min-width:160px}.field-input.minutes{width:88px;text-align:right;font-variant-numeric:tabular-nums}.creating-status{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s-3)}.creating-stage{font-size:var(--fs-body);font-weight:700;color:var(--ink)}.creating-percent{font-family:var(--font-mono);font-size:var(--fs-body);font-weight:700;color:var(--muted);font-variant-numeric:tabular-nums}.room-home{position:relative;z-index:1;height:100%;overflow:hidden}.room-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background:var(--room-ink)}.room-backdrop-scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--scene-scrim);transition:background-color .24s ease}.room-backdrop.dim .room-backdrop-scrim{background-color:var(--scene-scrim-dim)}:root[data-appearance=light] .room-backdrop~* .app-room-glow{display:none}:root[data-appearance=light] .room-backdrop~.room-home{--room-ink: #15171a}:root[data-appearance=light] .room-backdrop~* :is(.topbar,.screen-head,.sp-toolbar,.room-home-notice){--surface-rgb: 21 23 26;--on-dark: #eef0ea;--on-dark-rgb: 238 240 234;--on-dark-75: rgba(238, 240, 234, .75);--on-dark-60: rgba(238, 240, 234, .6);--on-dark-50: rgba(238, 240, 234, .5);--on-dark-45: rgba(238, 240, 234, .45);--cream: #eef0ea;--wash-rgb: 255 255 255;--panel-border: rgba(255, 255, 255, .12);--panel-border-strong: rgba(255, 255, 255, .18);--accent-text: #b7ea78;--lime-soft: #b7ea78;--coral-soft: #f0b4a8;--amber-on-dark: #e8b96b}.room-home-canvas{position:absolute;top:0;right:0;bottom:0;left:0}.room-home-canvas canvas{display:block}.room-home-fallback{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--room-gradient)}.room-home-fallback:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--room-texture)}.room-home-arch{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:150px;height:270px;background:linear-gradient(180deg,#c9b088,#a88a5f);border-radius:75px 75px 0 0;opacity:.9}.room-center-top{display:flex;flex-direction:column;align-items:center;gap:var(--s-2);width:100%}.room-home-notice{position:relative;z-index:10;max-width:600px;width:100%;margin:0 auto;padding:0;background:none;border:none;border-radius:0;-webkit-backdrop-filter:none;backdrop-filter:none;text-align:center;pointer-events:auto}.room-notice-heading-row{display:inline-flex;align-items:center;justify-content:center;gap:var(--s-2)}.room-notice-title{margin:0;font-family:var(--font-ui);font-size:32px;font-weight:800;line-height:1.15;letter-spacing:-.025em;color:var(--cream);text-shadow:0 2px 16px rgba(0,0,0,.95),0 1px 4px rgba(0,0,0,.95)}.room-notice-body{margin:var(--s-2) 0 0;font-family:var(--font-ui);font-size:15px;font-weight:600;line-height:1.5;color:rgb(var(--on-dark-rgb) / .92);text-shadow:0 2px 12px rgba(0,0,0,.95),0 1px 4px rgba(0,0,0,.95)}.room-notice-x{background:none;border:0;color:rgb(var(--on-dark-rgb) / .55);font-size:26px;line-height:1;cursor:pointer;padding:0 4px;transition:color .15s ease,transform .15s ease;text-shadow:0 2px 8px rgba(0,0,0,.9)}.room-notice-x:hover{color:rgb(var(--wash-rgb));transform:scale(1.15)}.room-notice-x:focus-visible{outline:var(--focus-ring);outline-offset:2px}.room-home-grid{position:relative;z-index:1;display:grid;grid-template-columns:300px minmax(0,1fr) 300px;gap:var(--s-4);padding:var(--s-6);height:100%;align-items:stretch}.room-col{display:flex;flex-direction:column;gap:var(--s-3);min-width:0}.room-left,.room-right{justify-content:flex-start;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none}.room-left::-webkit-scrollbar,.room-right::-webkit-scrollbar{width:0}.room-center{align-items:center;justify-content:space-between;padding:var(--s-2) 0 var(--dock-space)}.glass-panel{background:var(--panel);border:1px solid rgb(var(--wash-rgb) / .12);border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:16px;color:var(--cream)}.glass-label{font-family:var(--font-mono);font-size:var(--fs-micro);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-text)}.glass-title{margin-top:var(--s-2);font-size:var(--fs-body);font-weight:700;line-height:1.3}.glass-meta{margin-top:var(--s-1);font-family:var(--font-mono);font-size:var(--fs-label);font-weight:500;line-height:1.5;color:var(--on-dark-60)}.glass-note{margin:var(--s-2) 0 0;font-size:var(--fs-sm);font-weight:500;line-height:1.5;color:var(--on-dark-60)}.glass-list{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}.glass-row{display:flex;align-items:center;gap:8px;width:100%;padding:9px 10px;border-radius:8px;background:rgb(var(--wash-rgb) / .06);border:1px solid transparent;color:var(--cream);cursor:pointer;font-family:var(--font-ui);text-align:left}.glass-row:hover{background:rgb(var(--wash-rgb) / .1)}.glass-row:focus-visible{outline:var(--focus-ring);outline-offset:2px}.glass-row.active{background:var(--lime-tint);border-color:rgb(var(--accent-rgb) / .4)}.glass-row-title{font-size:var(--fs-sm);font-weight:600;line-height:1.3}.glass-row.active .glass-row-title{font-weight:700}.glass-glyph{font-size:13px;font-weight:700;color:rgb(var(--on-dark-rgb) / .4);flex:none}.glass-row.active .glass-glyph,.glass-row .glass-glyph:first-child{color:var(--lime-text)}.glass-link{margin-top:var(--s-3);width:100%;text-align:left;background:none;border:none;padding:0;font-family:var(--font-ui);font-size:var(--fs-sm);font-weight:600;line-height:1.4;color:rgb(var(--on-dark-rgb) / .6);cursor:pointer;text-decoration:underline;text-underline-offset:2px}.glass-link:hover{color:var(--cream)}.glass-link:focus-visible{outline:var(--focus-ring);outline-offset:2px}.glass-btn{margin-top:10px;width:100%;height:34px;background:rgb(var(--wash-rgb) / .08);border:1px solid rgb(var(--wash-rgb) / .18);border-radius:8px;color:var(--cream);font-family:var(--font-ui);font-size:12px;font-weight:600;cursor:pointer}.glass-btn:hover{background:rgb(var(--wash-rgb) / .14)}.glass-btn:focus-visible{outline:var(--focus-ring);outline-offset:2px}.test-card-active{border-color:rgb(var(--accent-rgb) / .55);box-shadow:0 0 0 1px rgb(var(--accent-rgb) / .25),0 0 18px rgb(var(--accent-rgb) / .18)}.test-card-live{color:var(--lime-text)}.test-card-btn{margin-top:10px;width:100%}.glass-eyebrow{font-family:var(--font-mono);font-size:var(--fs-micro);font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-text);text-align:center}.room-cta-block{display:flex;flex-direction:column;align-items:center;gap:14px}.room-cta-block .glass-note{margin:0;text-align:center}.room-center-top .glass-eyebrow,.room-identity{padding:6px 12px;border-radius:999px;border:1px solid var(--panel-border);background:var(--panel);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.room-identity{align-self:flex-start}.room-cta{height:56px;padding:0 40px;font-size:16px;font-weight:800;border-radius:12px}.glass-split{display:flex;gap:14px}.glass-half{flex:1;min-width:0}.glass-half+.glass-half{padding-left:14px;border-left:1px solid rgb(var(--wash-rgb) / .12)}.glass-avatar{width:34px;height:34px;border-radius:50%;background:rgb(var(--accent-rgb) / .18);border:1px solid rgb(var(--accent-rgb) / .4)}.glass-hero-nums{margin-top:8px;font-family:var(--font-mono);font-size:20px;font-weight:800}.glass-score-line{margin-top:6px;display:flex;align-items:baseline;gap:6px}.glass-score{font-family:var(--font-mono);font-size:18px;font-weight:800}.room-identity{font-family:var(--font-ui);font-size:var(--fs-label);font-weight:500;color:var(--on-dark-60);margin:var(--s-2) 0 0}.home-note{font-size:var(--fs-body);font-weight:500;color:var(--on-dark-60);margin:10px 0 0;line-height:1.55}.on-paper .home-note,.card .home-note{color:var(--muted)}@media (max-width: 1080px){.room-home{display:flex;flex-direction:column}.room-home-grid{grid-template-columns:1fr;flex:1 1 auto;height:auto;min-height:0;align-content:start;overflow-y:auto;overscroll-behavior:contain;padding-bottom:calc(var(--dock-space) + var(--s-4))}.room-center{order:-1;min-height:0;padding:var(--s-3) 0 var(--s-1)}.room-left,.room-right{overflow:visible}}@media (max-width: 720px){.screen{padding:var(--s-5) var(--s-4) calc(var(--dock-space) + var(--s-5))}.screen-head{flex-direction:column;align-items:stretch}.btn{min-height:44px}.choice-grid.cols-3,.choice-grid.cols-4,.trend-pair,.briefing-stats{grid-template-columns:1fr}.briefing-stat{border-left:0;border-top:1px solid var(--hairline)}.briefing-stat:first-child{border-top:0}.screen-actions{flex-direction:column;align-items:stretch}.screen-actions .btn{width:100%}}.review-shell{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;overflow:auto;background:var(--room-ink);padding:38px 16px 60px;display:flex;justify-content:center}.review-shell:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:var(--room-texture);pointer-events:none}.review-shell:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:radial-gradient(900px 420px at 50% -5%,rgba(74,82,64,.6),transparent 72%);pointer-events:none}.review-col{position:relative;z-index:1;width:640px;max-width:100%}.review-topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.review-timestamp{font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:rgb(var(--on-dark-rgb) / .5)}.review-card{background:var(--paper);border-radius:var(--radius-lg);box-shadow:var(--modal-shadow);padding:30px 32px 26px;color:var(--ink)}.review-hero{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;flex-wrap:wrap}.review-hero-value{font-family:var(--font-mono);font-size:54px;font-weight:800;line-height:.9;letter-spacing:-.02em;color:var(--ink);font-variant-numeric:tabular-nums}.review-hero-suffix{font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-top:6px}.review-hero-meta{font-family:var(--font-mono);font-size:11px;font-weight:600;line-height:1.7;color:var(--muted);text-align:right}.review-hero-meta .warn{color:var(--amber-text)}.review-timeline{margin-top:18px}.review-timeline-bar{display:flex;height:38px;border-radius:9px;overflow:hidden;border:1px solid rgba(21,23,26,.16)}.review-seg{min-width:8px}.review-timeline-labels{display:flex;justify-content:space-between;margin-top:6px;font-family:var(--font-mono);font-size:9.5px;font-weight:500;letter-spacing:.05em;color:var(--muted)}.review-hero-main{min-width:0}.review-hero-stats{display:flex;gap:22px;margin:0;padding:12px 16px;border-radius:var(--radius-md);background:#141a140d;border:1px solid var(--hairline-20)}.review-hero-stats>div{display:grid;gap:3px}.review-hero-stats dt{font-family:var(--font-mono);font-size:9px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}.review-hero-stats dd{margin:0;font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:15px;font-weight:800;color:var(--ink)}.review-hero-stats .is-warn dd{color:var(--amber-text)}.review-legend{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px 16px}.review-legend-key{display:inline-flex;align-items:center;gap:7px;font-size:11.5px;font-weight:600}.review-swatch{width:11px;height:11px;border-radius:3px;flex:0 0 auto}.review-legend-name{color:var(--ink)}.review-legend-ms{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:11px;font-weight:700;color:var(--muted)}.review-timeline-note{margin:8px 0 0;font-size:11px;font-weight:500;color:var(--muted)}.review-prompt{display:flex;gap:12px;align-items:flex-start;margin-top:18px;padding:13px 15px;border-radius:var(--radius-md);background:#3d6bd812;border:1px solid rgba(61,107,216,.3)}.review-prompt-glyph{flex:0 0 auto;width:26px;height:26px;border-radius:7px;display:grid;place-items:center;font-size:13px;background:#3d6bd829;color:#2b4fa8}.review-prompt strong{display:block;font-size:13.5px}.review-prompt p{margin:3px 0 0;font-size:12px;line-height:1.55;color:var(--muted)}.review-banner{margin-top:16px;padding:12px 14px;border-radius:10px;background:var(--amber-bg);border:1px solid var(--amber-line)}.review-banner-label{font-family:var(--font-mono);font-size:9.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--amber-text)}.review-banner body,.review-banner p{font-size:12px;font-weight:600;line-height:1.4;color:var(--ink);margin:6px 0 0}.review-field-label{font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.review-input{height:42px;width:100%;margin-top:7px;padding:0 13px;background:var(--paper-inset);border:1.5px solid rgba(21,23,26,.14);border-radius:9px;font:600 13.5px/1 var(--font-ui);color:var(--ink)}.review-input:focus{outline:var(--focus-ring);outline-offset:1px}.review-seg-card{margin-top:10px;border-radius:10px;padding:14px 16px;background:var(--paper-inset);border:1px solid transparent}.review-seg-card.selected{background:var(--room-ink);color:var(--cream)}.review-seg-card.unassigned{background:transparent;border:1px dashed rgba(21,23,26,.3)}.review-seg-title{font-size:14px;font-weight:800}.review-seg-meta{font-family:var(--font-mono);font-size:10.5px;font-weight:500;color:var(--muted);margin-top:2px}.review-seg-card.selected .review-seg-meta{color:rgb(var(--on-dark-rgb) / .55)}.review-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.review-alloc-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;background:rgb(var(--wash-rgb) / .07)}.review-footer{margin-top:22px;padding-top:18px;border-top:1px solid rgba(21,23,26,.12);display:flex;gap:14px;flex-wrap:wrap;align-items:center}.review-autosave{font-family:var(--font-mono);font-size:var(--fs-micro);font-weight:500;color:var(--muted)}.review-block{margin-top:var(--s-5)}.review-seg-list{display:grid;gap:var(--s-2);margin-top:var(--s-2)}.review-seg-button{all:unset;cursor:pointer;width:100%;display:flex;justify-content:space-between;gap:var(--s-3);align-items:center}.review-seg-button:focus-visible{outline:var(--focus-ring);outline-offset:3px;border-radius:6px}.review-seg-meta.block{display:block}.review-seg-controls{display:inline-flex;gap:var(--s-2);align-items:center}.review-chip{border:1.5px solid var(--ink-25);border-radius:8px;padding:8px 14px;font-family:var(--font-ui);font-size:var(--fs-label);font-weight:700;color:var(--ink)}.review-chip.ink{background:var(--ink);color:var(--on-accent);border-color:var(--ink);border-radius:7px;padding:8px 12px}.review-chip.on-dark{color:var(--cream);border-color:var(--panel-border-strong)}.review-seg-form{margin-top:var(--s-3);display:grid;gap:var(--s-2)}.review-seg-fields{display:flex;gap:var(--s-2);flex-wrap:wrap}.review-unit{font-size:var(--fs-sm);font-weight:500;align-self:center;color:var(--muted)}.review-alloc{margin-top:var(--s-3)}.review-alloc-list{display:grid;gap:var(--s-2);margin-top:var(--s-2)}.review-alloc-row{cursor:pointer}.review-alloc-check{accent-color:var(--blue)}.review-alloc-name{font-size:var(--fs-sm);font-weight:600}.review-field-label.on-dark{color:var(--on-dark-60)}.review-legend-item{display:inline-flex;gap:var(--s-2);align-items:center;font-size:var(--fs-sm);font-weight:600}.review-footer .spacer{flex:1}.review-save{flex:1;min-width:180px}.bp-editbar{position:sticky;top:0;z-index:26;margin:0 0 var(--s-5);min-height:52px;padding:10px 20px;display:flex;gap:14px;align-items:center;background:#3d6bd8eb;color:#fff;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:var(--radius-md)}.bp-arch{margin-top:var(--s-2);padding:22px 22px 18px;background:var(--panel);border:1px solid rgb(var(--wash-rgb) / .1);border-radius:var(--radius-lg);position:relative;overflow:hidden}.bp-arch-grid{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:7px;align-items:stretch;position:relative;z-index:1}.bp-arch-baseline{position:absolute;left:22px;right:22px;top:50px;height:2px;background:repeating-linear-gradient(90deg,rgb(var(--on-dark-rgb) / .22) 0 7px,transparent 7px 14px);z-index:0}.bp-arch-node{display:grid;align-content:start;gap:3px;background:var(--surface-deep);border:1px solid rgb(var(--wash-rgb) / .12);border-radius:10px;padding:9px 6px;text-align:center;cursor:pointer;color:var(--on-dark);font-family:var(--font-ui);min-width:0;transition:border-color .12s ease,background .12s ease,transform .12s ease}.bp-arch-node:hover{background:rgb(var(--surface-raised-muted-rgb) / 1);border-color:var(--panel-border-strong)}.bp-arch-node:focus-visible{outline:var(--focus-ring);outline-offset:2px}.bp-arch-node[aria-pressed=true]{border-color:rgb(var(--on-dark-rgb) / .45)}.bp-arch-node .wk{font-family:var(--font-mono);font-size:9px;font-weight:700;letter-spacing:.04em;color:var(--on-dark-50);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bp-arch-node .st{font-size:10.5px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bp-arch-node.current{background:rgb(var(--surface-raised-rgb) / 1);border-color:rgb(var(--accent-rgb) / .6)}.bp-arch-node.current .wk{color:var(--lime-soft)}.bp-arch-node.locked{border-style:dashed;border-color:rgb(var(--wash-rgb) / .1)}.bp-arch-node.locked .st{color:var(--on-dark-50);font-weight:600}.bp-arch-node.locked .wk,.bp-arch-node.locked .when{color:rgb(var(--on-dark-rgb) / .3)}.bp-arch-node .when{font-family:var(--font-mono);font-size:9px;color:var(--on-dark-45);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bp-legend{position:relative;z-index:1;display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-top:16px;padding-top:12px;border-top:1px solid rgb(var(--wash-rgb) / .08)}.bp-legend-label{font-family:var(--font-mono);font-size:9px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--on-dark-45);margin-right:2px}.bp-ledger{margin-top:0;display:flex;flex-direction:column;gap:6px}.bp-week-card{background:var(--panel);border:1px solid var(--panel-border);border-radius:var(--radius-md);overflow:hidden;transition:border-color .12s ease,background .12s ease}.bp-week-card:hover{border-color:var(--panel-border-strong)}.bp-week-card:has(.bp-week-head[aria-expanded=true]){background:var(--panel-strong)}.bp-week-head{width:100%;display:flex;align-items:center;gap:10px;padding:11px 14px;background:transparent;border:0;color:var(--cream);cursor:pointer;font-family:var(--font-ui);text-align:left}.bp-week-head:hover{background:rgb(var(--wash-rgb) / .03)}.bp-week-head:focus-visible{outline:var(--focus-ring);outline-offset:-2px}.bp-week-title{flex:none;width:66px;font-family:var(--font-mono);font-size:13px;font-weight:800;letter-spacing:.01em}.bp-week-meta{flex:1;min-width:140px;font-family:var(--font-mono);font-size:10px;font-weight:500;line-height:1.45;color:var(--on-dark-50)}.bp-caret{flex:none;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:6px;background:rgb(var(--wash-rgb) / .06);font-size:10px;font-weight:700;color:var(--on-dark-60)}.bp-week-head:hover .bp-caret{background:rgb(var(--wash-rgb) / .12);color:var(--on-dark)}.bp-week-body{padding:2px 14px 14px;display:grid;gap:6px}.bp-coverage{padding:8px 11px;border-radius:8px;background:rgb(var(--wash-rgb) / .04);border-left:2px solid rgb(var(--accent-rgb) / .5);font-family:var(--font-mono);font-size:10px;font-weight:500;line-height:1.5;color:var(--on-dark-75)}.bp-sec-row{display:flex;align-items:flex-start;gap:12px;padding:11px 12px;border-radius:9px;background:rgb(var(--wash-rgb) / .035);border:1px solid rgb(var(--wash-rgb) / .08);transition:border-color .12s ease,background .12s ease}.bp-sec-row:hover{background:rgb(var(--wash-rgb) / .06)}.bp-sec-row.sel{border-color:var(--blue);background:var(--blue-tint)}.bp-sec-title{font-size:12.5px;font-weight:700;line-height:1.35;color:var(--cream)}.bp-sec-sub{margin-top:2px;font-size:11px;font-weight:500;line-height:1.5;color:var(--on-dark-50)}.bp-sec-tags{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-top:8px}.bp-sec-tags .pill{font-size:9px;padding:4px 8px}.bp-sec-time{font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.04em;color:var(--lime-soft)}.bp-sec-note{margin-top:10px}.bp-sec-actions{display:inline-flex;gap:6px;flex:none;align-items:center}.bp-sec-row .grab{font-size:13px;font-weight:700;color:rgb(var(--on-dark-rgb) / .45);cursor:grab;background:none;border:0;padding:4px;align-self:center}.bp-editbar-label{font:700 var(--fs-micro)/1 var(--font-mono);letter-spacing:.1em;text-transform:uppercase}.bp-editbar-note{font:600 var(--fs-sm)/1.4 var(--font-ui);opacity:.92;margin-top:2px}.bp-editbar .spacer{flex:1}.bp-editbar .btn.ghost{color:#fff;border-color:#ffffff59}.bp-editbar .btn.ghost:hover:not([disabled]){background:#ffffff29;color:#fff}.bp-editbar .btn.secondary{background:#fff;color:var(--ink);border-color:#fff}.bp-editbar .btn.secondary:hover:not([disabled]){background:var(--paper-inset)}.bp-week-select{--select-pad: 8px;background-color:rgb(var(--wash-rgb) / .08);background-image:var(--chevron-cream);color:var(--on-dark);border:1px solid var(--panel-border-strong);border-radius:7px;padding-top:4px;padding-bottom:4px;font:600 var(--fs-label)/1.4 var(--font-ui)}.bp-week-select:focus-visible{outline:var(--focus-ring);outline-offset:2px}.bp-retry{margin-top:var(--s-2)}.bp-loose-ends{margin-top:var(--s-3);border-style:dashed;background:var(--panel)}.bp-loose-note{margin:0;font-size:12px;font-weight:500;line-height:1.55;color:var(--on-dark-60)}.bp-loose-list{display:grid;gap:4px;margin-top:var(--s-1)}.bp-loose-row{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:8px 12px;border-radius:8px;background:rgb(var(--wash-rgb) / .04);border:1px solid rgb(var(--wash-rgb) / .08)}.bp-loose-title{font-size:12.5px;font-weight:700;color:var(--cream);min-width:0}.bp-save-banner{margin-bottom:18px;padding:14px 16px;border-radius:var(--radius-md);background:var(--coral-bg);border:1px solid var(--coral-line);font-size:12px;font-weight:700;line-height:1.45;color:var(--coral-soft)}.bp-test-row{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;font-family:var(--font-mono);font-size:10.5px;font-weight:500;color:var(--on-dark-60);padding:9px 12px;border-radius:8px;background:#3d6bd81a;border:1px solid rgba(61,107,216,.24)}.bp-test-main{min-width:0}.on-paper .bp-test-row,.card .bp-test-row{color:var(--muted);background:var(--blue-tint);border-color:#3d6bd840}.notes-grid{display:grid;grid-template-columns:282px minmax(0,1fr);gap:var(--s-3);height:100%;min-height:0;align-items:stretch}.notes-grid.focused{grid-template-columns:minmax(0,1fr)}.notes-grid.focused .notes-index{display:none}.notes-index{display:flex;flex-direction:column;min-height:0;padding:var(--s-3);border-radius:var(--radius-lg);background:var(--panel);border:1px solid rgb(var(--wash-rgb) / .12);color:var(--cream)}.notes-index-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:4px 6px 10px;border-bottom:1px solid rgb(var(--wash-rgb) / .1)}.notes-index h2{font-size:14px;font-weight:800;margin:0}.notes-index .count{font-family:var(--font-mono);font-size:9px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--on-dark-45);white-space:nowrap}.notes-index-list{display:grid;gap:var(--s-3);margin-top:var(--s-2);padding-right:2px;align-content:start;flex:1 1 auto;min-height:0}.notes-index-group-label{position:sticky;top:0;z-index:1;font-family:var(--font-mono);font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-text);padding:4px 6px;margin-bottom:2px;background:linear-gradient(180deg,rgb(var(--surface-rgb) / .96) 70%,rgb(var(--surface-rgb) / 0))}.notes-index-row{display:flex;gap:8px;align-items:flex-start;width:100%;background:transparent;border:1px solid transparent;border-radius:8px;padding:7px 8px;cursor:pointer;color:var(--on-dark-75);text-align:left;font-family:var(--font-ui);transition:background .11s ease}.notes-index-row:hover{background:rgb(var(--wash-rgb) / .05)}.notes-index-row:focus-visible{outline:var(--focus-ring);outline-offset:-2px}.notes-index-row.active{background:linear-gradient(90deg,rgb(var(--accent-rgb) / .22),rgb(var(--accent-rgb) / .06));border-color:rgb(var(--accent-rgb) / .28);box-shadow:inset 3px 0 0 var(--accent)}.notes-index-row .dot{width:6px;height:6px;border-radius:50%;margin-top:5px;flex:none;background:rgb(var(--on-dark-rgb) / .22)}.notes-index-row .dot.written{background:var(--lime)}.notes-index-text{display:grid;gap:2px;min-width:0}.notes-index-row .t{font-size:12px;font-weight:600;line-height:1.35}.notes-index-row .s{font-family:var(--font-mono);font-size:9px;letter-spacing:.04em;color:rgb(var(--on-dark-rgb) / .4)}.notes-index-row.active .t{font-weight:700;color:var(--cream)}.notes-index-row.active .s{color:var(--accent-text)}.notes-page{background:var(--paper);border-radius:var(--radius-lg);min-height:0;display:flex;flex-direction:column;color:var(--ink);box-shadow:var(--card-shadow);overflow:hidden}.notes-page-head{padding:16px 28px 14px;border-bottom:1px solid rgba(21,23,26,.1);display:flex;gap:14px;align-items:flex-start;justify-content:space-between;flex-wrap:wrap}.notes-page-title{font-size:19px;font-weight:800;margin:2px 0 0;letter-spacing:-.01em}.notes-count{font-family:var(--font-mono);font-size:var(--fs-micro);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-variant-numeric:tabular-nums}.notes-body{flex:1 1 auto;min-height:0;padding:var(--s-6) var(--s-8);width:100%;max-width:820px;margin-inline:auto}.notes-body h4{font-size:16px;font-weight:800;line-height:1.4;margin:0 0 10px}.notes-body p,.notes-body li{font-size:14px;font-weight:500;line-height:1.7;color:var(--body)}.notes-body code{font-family:var(--font-mono);font-size:12.5px;background:#15171a12;padding:2px 5px;border-radius:4px}.notes-meta{font-family:var(--font-mono);font-size:var(--fs-micro);font-weight:500;color:var(--muted)}.notes-meta-line{margin-top:var(--s-1)}.notes-save{font-weight:700}.notes-page-actions{display:inline-flex;gap:var(--s-2);flex:none}.eyebrow.flush{margin:0}.drawer.notes-drawer{padding:0;display:flex;flex-direction:column;overflow:hidden}.notes-drawer-head{padding:20px 22px 14px;border-bottom:1px solid rgba(21,23,26,.1)}.notes-drawer-head .notes-page-title{margin:2px 0 0}.notes-drawer-body{flex:1 1 auto;min-height:0;overflow:auto;padding:var(--s-4) 22px;display:flex;flex-direction:column}.notes-drawer-body .rich-field.page .rich-surface{min-height:240px}.note-editor{display:grid;gap:var(--s-2);padding:var(--s-3);border:1px solid var(--hairline);border-radius:var(--radius);background:#fff}.note-editor-label{font-size:var(--fs-body);font-weight:700;color:var(--ink)}.note-page-editor{display:flex;flex-direction:column;min-height:0;flex:1 1 auto}.rich-field{display:flex;flex-direction:column;min-height:0;flex:1 1 auto;gap:var(--s-2)}.fmt-bar{display:flex;align-items:center;gap:2px;flex-wrap:wrap;padding-bottom:8px;border-bottom:1px solid rgba(21,23,26,.08)}.fmt-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid transparent;background:transparent;color:var(--muted);cursor:pointer;min-width:28px;height:28px;padding:0 6px;border-radius:6px;font:700 12.5px/1 var(--font-ui);letter-spacing:0;display:inline-flex;align-items:center;justify-content:center;transition:background .12s ease,color .12s ease}.fmt-btn.wide{min-width:32px}.fmt-btn:hover{background:#15171a0f;color:var(--ink)}.fmt-btn:focus-visible{outline:2px solid var(--lime-deep);outline-offset:1px}.fmt-btn.active{background:var(--ink);color:var(--paper);border-color:var(--ink)}.fmt-btn[aria-label=Bold]{font-weight:800}.fmt-btn[aria-label=Italic]{font-style:italic;font-family:var(--font-serif, var(--font-ui))}.fmt-btn[aria-label="Inline code"]{font-family:var(--font-mono);font-size:12px}.fmt-sep{width:1px;height:16px;background:#15171a1f;margin:0 6px;flex:none}.fmt-spacer{flex:1 1 auto}.fmt-link-row{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.fmt-link-input{flex:1 1 200px;min-width:0;height:30px;padding:0 9px;border:1px solid rgba(21,23,26,.2);border-radius:6px;background:#fff;font:500 12.5px/1 var(--font-mono);color:var(--ink)}.fmt-link-input:focus-visible{outline:2px solid var(--lime-deep);outline-offset:1px}.rich-surface-wrap{position:relative;flex:1 1 auto;min-height:0;display:flex}.rich-placeholder{position:absolute;inset:0 0 auto 0;margin:0;pointer-events:none;font:500 var(--fs-md)/1.75 var(--font-ui);color:var(--faint)}.rich-surface{flex:1 1 auto;min-height:220px;width:100%;border:0;outline:none;background:transparent;font:500 var(--fs-md)/1.75 var(--font-ui);color:var(--ink);overflow-wrap:anywhere}.rich-field.page .rich-surface{min-height:320px}.rich-surface>:first-child{margin-top:0}.rich-surface>:last-child{margin-bottom:0}.rich-surface p{margin:0 0 .85em}.rich-surface h1{font-size:21px;font-weight:800;line-height:1.3;letter-spacing:-.01em;margin:1.1em 0 .45em}.rich-surface h2{font-size:16.5px;font-weight:800;line-height:1.35;margin:1em 0 .4em}.rich-surface h1.note-source-tag{display:table;margin:1.6em 0 .6em;padding:4px 10px 4px 8px;font:800 12px/1.4 var(--font-ui);letter-spacing:.02em;border-radius:999px;border:1px solid var(--lime-tint-strong);background:var(--lime-tint);color:var(--lime-deep)}.rich-surface h1.note-source-tag:before{content:"✎ "}.rich-surface h1.note-source-tag[data-source=recall]{border-color:var(--blue-tint-strong);background:var(--blue-tint);color:var(--blue)}.rich-surface h1.note-source-tag[data-source=recall]:before{content:"↻ "}.rich-surface ul,.rich-surface ol{margin:0 0 .85em;padding-left:1.35em}.rich-surface li{margin:0 0 .3em}.rich-surface strong{font-weight:800}.rich-surface code{font-family:var(--font-mono);font-size:.88em;background:#15171a12;padding:2px 5px;border-radius:4px}.rich-surface a{color:var(--lime-deep);text-decoration:underline;text-underline-offset:2px}.note-editor .rich-field{gap:6px}.note-editor .rich-surface{min-height:120px;font-size:var(--fs-body)}.notice-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:16px;align-items:start}.notice-card{padding:24px 26px}.notice-stats{display:grid;grid-template-columns:repeat(3,1fr);margin-top:16px;border:1px solid var(--hairline);border-radius:var(--radius-md);overflow:hidden}.notice-stat{padding:var(--s-3) var(--s-4);border-left:1px solid var(--hairline)}.notice-stat:first-child{border-left:0}.notice-stat-value{font-family:var(--font-mono);font-size:var(--fs-lg);font-weight:800;color:var(--ink);font-variant-numeric:tabular-nums}.notice-stat-label{font-family:var(--font-mono);font-size:9.5px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin-top:2px}.notice-hero-title{margin:var(--s-2) 0 0;font-size:var(--fs-xl);font-weight:800;letter-spacing:-.015em;line-height:1.15}.notice-hero-sub{margin:var(--s-2) 0 0;font-size:var(--fs-body);font-weight:500;line-height:1.55;color:var(--muted);max-width:60ch}.notice-hero-actions{margin-top:var(--s-4);display:flex;gap:var(--s-3);flex-wrap:wrap;align-items:center}.notice-coverage-list{margin-top:var(--s-2);display:grid;gap:var(--s-2)}.schedule-main{flex:1;min-width:0}.schedule-name.block{display:block}.panel-foot{margin-top:var(--s-3)}.panel-note{font-size:var(--fs-sm);font-weight:500;line-height:1.55;color:var(--on-dark-75);margin:var(--s-2) 0 0}.card .panel-note,.on-paper .panel-note{color:var(--muted)}.test-row-main.grow{flex:1}.linkish.mono-link{font-family:var(--font-mono);font-size:var(--fs-micro);letter-spacing:.08em;text-transform:uppercase}.notice-timer{font-family:var(--font-mono);font-size:11px;font-weight:600;color:var(--amber-text);margin-top:12px}.coverage-box{background:var(--paper-inset);border-radius:10px;padding:10px 14px;margin-top:14px}.coverage-label{font-family:var(--font-mono);font-size:9.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.coverage-item{background:var(--paper);border-radius:8px;padding:8px 10px;font-size:12px;font-weight:600;margin-top:6px}.schedule-panel h3{margin:0 0 2px;font-size:14px;font-weight:800;color:var(--cream)}.schedule-row{display:flex;gap:12px;align-items:center;padding:8px 0;border-bottom:1px solid rgb(var(--wash-rgb) / .08)}.schedule-row .pill{font-size:9px;padding:4px 8px;flex:none}.schedule-row:last-child{border-bottom:0}.schedule-wk{width:32px;flex:none;font-family:var(--font-mono);font-size:9.5px;font-weight:700;color:var(--on-dark-45)}.schedule-name{font-size:12.5px;font-weight:700;color:var(--cream)}.schedule-meta{font-family:var(--font-mono);font-size:10px;font-weight:500;color:var(--on-dark-50)}.returned-row{display:flex;gap:14px;align-items:center;flex-wrap:wrap;background:var(--paper);border-radius:var(--radius);padding:9px 14px;color:var(--ink)}.test-row-figures{display:inline-flex;gap:16px;align-items:baseline;flex:none}.test-row-fig{display:inline-flex;gap:5px;align-items:baseline}.test-row-fig .v{font-family:var(--font-mono);font-size:var(--fs-body);font-weight:800;font-variant-numeric:tabular-nums;color:var(--ink)}.test-row-fig .l{font-family:var(--font-mono);font-size:9px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--faint)}.test-row-note{font-size:var(--fs-label);font-weight:500;color:var(--coral-deep);margin-top:3px}.list-expand{width:100%;height:32px;margin-top:var(--s-1)}.card .list-expand,.list-expand.on-paper{background:#15171a0a;border-color:var(--hairline-20);color:var(--muted)}.card .list-expand:hover,.list-expand.on-paper:hover{background:#15171a12;color:var(--ink)}.returned-row .pill{background:#15171a0d;border-color:var(--hairline-20);color:var(--muted)}.returned-row .pill.progress,.returned-row .pill.done{background:rgb(var(--accent-rgb) / .2);color:var(--lime-deep);border-color:#3d7a1a66}.returned-row .pill.info,.returned-row .pill.ranked{background:var(--blue-tint);color:var(--blue);border-color:#3d6bd866}.returned-row .pill.warn{background:#c9503d1f;color:var(--coral-deep);border-color:#c9503d66}.returned-row .test-row-sub{color:var(--muted)}.returned-row .linkish{color:var(--blue)}.test-schedule-list{list-style:none;margin:0;padding:0;gap:var(--s-2)}.test-schedule-row{position:relative;align-items:stretch;gap:var(--s-4);padding:15px 16px 15px 18px;overflow:hidden;background:rgb(var(--wash-rgb) / .035);color:var(--cream);border:1px solid rgb(var(--wash-rgb) / .08);border-radius:var(--radius-md);box-shadow:none;transition:border-color .12s ease,background .12s ease}.test-schedule-row:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:linear-gradient(180deg,var(--blue),color-mix(in srgb,var(--blue) 35%,transparent));opacity:0;transition:opacity .16s ease}.test-schedule-row:hover{background:rgb(var(--wash-rgb) / .06);border-color:var(--panel-border-strong)}.test-schedule-row:hover:before{opacity:1}.test-schedule-row .test-row-main{align-content:start;gap:3px}.test-schedule-row .test-row-title{margin:0;color:var(--cream);font-size:var(--fs-md);line-height:1.3}.test-schedule-row .test-row-sub{color:var(--on-dark-50)}.test-schedule-row .test-row-actions{align-content:flex-start;align-items:center;justify-content:flex-end;min-width:128px;gap:var(--s-2)}.test-schedule-row .test-row-actions .pill,.test-schedule-row .test-row-actions .btn.small{height:32px;min-height:0;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;white-space:nowrap}.test-schedule-row .test-row-actions .pill{padding:0 12px;font-size:var(--fs-micro);line-height:1}.test-schedule-row .test-row-actions .btn.small{padding:0 14px;font-size:var(--fs-label);line-height:1}.test-schedule-row .pill{background:rgb(var(--wash-rgb) / .07);border-color:var(--panel-border-strong);color:var(--on-dark-75)}.test-schedule-row .pill.info{background:var(--blue-tint-strong);color:var(--blue-ink);border-color:#3d6bd899}.test-schedule-row .pill.done{background:var(--lime-tint);color:var(--lime-soft);border-color:rgb(var(--accent-rgb) / .5)}.test-schedule-row .pill.warn{background:var(--coral-bg);color:var(--coral-soft);border-color:var(--coral-line)}.test-schedule-row.next-week{background:rgb(var(--wash-rgb) / .018);color:var(--on-dark-60);border:1px dashed rgb(var(--wash-rgb) / .1);box-shadow:none}.test-schedule-row.next-week:before{background:var(--faint)}.test-schedule-row.next-week .test-row-title{color:var(--on-dark-75)}.test-schedule-row.next-week .test-row-sub{color:var(--on-dark-45)}.test-schedule-row.past-test{background:rgb(var(--wash-rgb) / .02);border-color:rgb(var(--wash-rgb) / .06)}.test-schedule-row.past-test:before{background:rgb(var(--wash-rgb) / .2)}.test-schedule-row.past-test .test-row-title{color:var(--on-dark-85)}.test-schedule-row.past-test .test-row-sub{color:var(--on-dark-45)}.test-schedule-row.past-test .test-coverage-trigger{opacity:.85}.test-past-toggle{width:100%;padding:8px 14px;margin-bottom:var(--s-3);display:flex;align-items:center;justify-content:center;gap:8px;background:rgb(var(--wash-rgb) / .025);border:1px dashed rgb(var(--wash-rgb) / .12);border-radius:var(--radius-md);color:var(--on-dark-50);font-family:var(--font-ui);font-size:var(--fs-label);font-weight:600;letter-spacing:.02em;cursor:pointer;transition:all .15s ease}.test-past-toggle:hover{background:rgb(var(--wash-rgb) / .06);color:var(--on-dark-85);border-color:rgb(var(--wash-rgb) / .22)}.test-past-toggle:focus-visible{outline:var(--focus-ring);outline-offset:2px}.test-past-toggle-icon{font-size:11px;line-height:1;color:var(--on-dark-45);transition:transform .15s ease}.test-past-toggle:hover .test-past-toggle-icon{color:var(--on-dark-85)}.test-schedule-divider{display:flex;align-items:center;gap:var(--s-3);margin:var(--s-2) 0;padding:4px 0;color:var(--on-dark-45);font-family:var(--font-mono);font-size:var(--fs-micro);font-weight:700;letter-spacing:.08em;text-transform:uppercase}.test-schedule-divider:before,.test-schedule-divider:after{content:"";flex:1;height:1px;background:rgb(var(--wash-rgb) / .08)}.test-coverage-trigger{width:fit-content;min-width:168px;margin-top:var(--s-2);padding:7px 9px;display:inline-flex;align-items:center;gap:9px;border:1px solid rgb(var(--wash-rgb) / .1);border-radius:var(--radius-sm);background:rgb(var(--wash-rgb) / .04);color:var(--cream);font-family:var(--font-ui);text-align:left;cursor:pointer;transition:background .15s ease,border-color .15s ease,transform .15s ease}.test-coverage-trigger:hover{background:rgb(var(--wash-rgb) / .08);border-color:var(--panel-border-strong);transform:translate(2px)}.test-coverage-trigger:focus-visible{outline:var(--focus-ring);outline-offset:2px}.test-coverage-trigger>span:nth-child(2){display:grid;gap:1px}.test-coverage-trigger strong{font-size:var(--fs-sm);line-height:1.2}.test-coverage-trigger small{font-size:var(--fs-micro);color:var(--on-dark-50)}.test-coverage-icon{width:20px;height:20px;position:relative;flex:none}.test-coverage-icon i{position:absolute;width:13px;height:9px;border:1px solid currentColor;border-radius:2px;background:var(--panel-strong);color:var(--lime-soft)}.test-coverage-icon i:nth-child(1){top:1px;left:1px;opacity:.45}.test-coverage-icon i:nth-child(2){top:5px;left:4px;opacity:.7}.test-coverage-icon i:nth-child(3){top:9px;left:7px}.test-coverage-arrow{margin-left:auto;color:var(--lime-soft);font-size:var(--fs-body)}.test-schedule-row.next-week .test-coverage-trigger{opacity:.76}.drawer-root:has(.test-section-drawer){animation:test-overlay-in .18s ease-out}.test-section-drawer{width:min(460px,94vw);padding:0;animation:test-drawer-in .22s cubic-bezier(.22,1,.36,1)}.test-drawer-head{position:sticky;top:0;z-index:1;display:flex;justify-content:space-between;gap:var(--s-4);padding:24px 24px 18px;background:color-mix(in srgb,var(--paper) 92%,transparent);border-bottom:1px solid var(--hairline);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.test-drawer-head h2{margin-top:3px;font-size:var(--fs-lg);line-height:1.3}.test-drawer-kicker{font-family:var(--font-mono);font-size:var(--fs-micro);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--blue)}.test-drawer-close{width:36px;min-width:36px;height:36px;padding:0;border-radius:50%;font-size:22px;line-height:1}.test-drawer-meta{display:flex;flex-wrap:wrap;gap:6px;padding:18px 24px 0}.test-drawer-meta span{padding:5px 8px;border-radius:999px;background:var(--paper-inset);font-family:var(--font-mono);font-size:var(--fs-micro);color:var(--muted)}.test-drawer-summary{display:flex;align-items:baseline;gap:9px;margin:18px 24px 0;padding:14px 16px;border:1px solid rgba(61,107,216,.18);border-radius:var(--radius-md);background:linear-gradient(135deg,var(--blue-tint),rgba(61,107,216,.03))}.test-drawer-summary strong{font-family:var(--font-mono);font-size:var(--fs-xl);color:var(--blue)}.test-drawer-summary span{font-size:var(--fs-sm);font-weight:600;color:var(--muted)}.test-section-list{list-style:none;margin:0;padding:18px 24px 32px;display:grid}.test-section-list li{position:relative;display:grid;grid-template-columns:34px minmax(0,1fr);gap:12px;padding:14px 0;border-bottom:1px solid var(--hairline)}.test-section-list li:last-child{border-bottom:0}.test-section-number{display:grid;place-items:center;width:30px;height:30px;border:1px solid rgba(61,107,216,.24);border-radius:8px;background:var(--blue-tint);color:var(--blue);font-family:var(--font-mono);font-size:var(--fs-micro);font-weight:800}.test-section-list h3{margin:1px 0 0;font-size:var(--fs-body);line-height:1.4}.test-section-list p{margin:4px 0 0;font-size:var(--fs-sm);line-height:1.55;color:var(--muted)}@keyframes test-overlay-in{0%{opacity:0}}@keyframes test-drawer-in{0%{transform:translate(24px);opacity:0}}@media (max-width: 620px){.drawer-root:has(.test-section-drawer){align-items:end}.test-section-drawer{width:100%;height:min(82vh,720px);border-radius:var(--radius-lg) var(--radius-lg) 0 0;animation-name:test-sheet-in}.test-schedule-row{padding:14px}.test-schedule-row .test-row-actions{width:100%;min-width:0;justify-content:space-between}.test-coverage-trigger{width:100%}.test-drawer-head,.test-drawer-meta{padding-inline:18px}.test-drawer-summary{margin-inline:18px}.test-section-list{padding-inline:18px}}@keyframes test-sheet-in{0%{transform:translateY(24px);opacity:0}}@media (prefers-reduced-motion: reduce){.test-schedule-row,.test-schedule-row:before,.test-coverage-trigger,.drawer-root:has(.test-section-drawer),.test-section-drawer{transition:none;animation:none}.test-schedule-row:hover,.test-coverage-trigger:hover{transform:none}}.filter-pills{display:flex;gap:6px;flex-wrap:wrap}.filter-pill{height:30px;padding:0 12px;border-radius:8px;cursor:pointer;font-family:var(--font-mono);font-size:10.5px;font-weight:600;background:rgb(var(--wash-rgb) / .06);border:1px solid rgb(var(--wash-rgb) / .16);color:var(--on-dark-60)}.filter-pill[aria-pressed=true]{background:var(--lime-tint-strong);border-color:rgb(var(--accent-rgb) / .5);color:var(--lime-soft)}.filter-pill:focus-visible{outline:var(--focus-ring);outline-offset:2px}.briefing-card>.card-body{padding:var(--s-6) var(--s-6) var(--s-5)}.briefing-flags{margin-bottom:var(--s-4)}.briefing-stats{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--hairline);border-radius:var(--radius-md);overflow:hidden}.briefing-stat{padding:var(--s-3) var(--s-4);background:var(--paper);border-left:1px solid var(--hairline)}.briefing-stat:first-child{border-left:0}.briefing-stat .v{display:block;font-family:var(--font-mono);font-size:var(--fs-lg);font-weight:800;color:var(--ink);font-variant-numeric:tabular-nums}.briefing-stat .l{display:block;margin-top:2px;font-family:var(--font-mono);font-size:var(--fs-micro);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.coverage-text{margin:var(--s-2) 0 0;font-size:var(--fs-sm);font-weight:600;line-height:1.55;color:var(--body)}.rules-list{list-style:none;margin:var(--s-4) 0 0;padding:0;display:grid;gap:var(--s-2)}.rules-list li{display:flex;gap:var(--s-3);font-size:var(--fs-sm);font-weight:600;line-height:1.45;color:var(--body)}.rules-list .sq{color:var(--blue);flex:none}.briefing-note{background:#15171a0f;border-radius:9px;padding:var(--s-3);font-size:var(--fs-sm);font-weight:500;color:var(--muted);margin-top:var(--s-4)}.briefing-note-action{margin-top:var(--s-3)}.briefing-actions{margin-top:var(--s-5);display:grid;gap:var(--s-2)}.briefing-hint{margin:0;font-size:var(--fs-sm);color:var(--muted);text-align:center}.briefing-exit{margin-top:var(--s-4);text-align:center}.runner-shell{position:relative;z-index:1;background:var(--room-ink);height:100%;min-height:0;display:flex;flex-direction:column}.runner-top{flex:0 0 auto;z-index:30;min-height:60px;padding:10px 22px;background:rgb(var(--surface-rgb) / .95);border-bottom:1px solid rgb(var(--wash-rgb) / .12);color:var(--cream);display:flex;gap:14px;align-items:center;flex-wrap:wrap}.runner-title{font-size:var(--fs-body);font-weight:800}.runner-pos{font-family:var(--font-mono);font-size:var(--fs-micro);font-weight:600;color:var(--on-dark-60)}.runner-timer{margin-left:auto;text-align:right;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.runner-timer .t{font-size:var(--fs-lg);font-weight:800}.runner-timer .cap{font-size:8.5px;font-weight:600;letter-spacing:.08em;color:var(--on-dark-45)}.runner-timer.urgent .t{color:var(--coral-soft)}.runner-body{flex:1 1 auto;min-height:0;width:100%;max-width:var(--w-wide);margin:0 auto;padding:var(--s-6) var(--s-5) var(--s-10);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--s-5);align-items:stretch}.runner-nav{align-self:start}.runner-q{background:var(--paper);border-radius:var(--radius-lg);padding:var(--s-8);color:var(--ink);display:flex;flex-direction:column;min-height:420px}.runner-qnum{font-family:var(--font-mono);font-size:var(--fs-md);font-weight:800}.runner-marks{font-family:var(--font-mono);font-size:var(--fs-micro);font-weight:600;color:var(--faint)}.runner-prompt{font-size:var(--fs-md);font-weight:600;line-height:1.55;margin:var(--s-4) 0}.exam-instr{margin:var(--s-4) 0 0;font-family:var(--font-mono);font-size:var(--fs-label);font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--blue)}.opt-list{margin-top:20px;display:flex;flex-direction:column;gap:9px}.opt-btn{display:flex;gap:12px;align-items:center;text-align:left;width:100%;padding:13px 15px;border-radius:var(--radius);cursor:pointer;background:#fff;border:1.5px solid rgba(21,23,26,.16);font:600 13.5px/1.5 var(--font-ui);color:var(--ink)}.opt-btn:hover{border-color:#15171a59}.opt-btn.picked{background:var(--blue-tint);border-color:var(--blue)}.opt-btn:has(input:focus-visible){outline:var(--focus-ring);outline-offset:2px}.opt-btn input{position:absolute;opacity:0;pointer-events:none}.opt-badge{width:27px;height:27px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font:800 11.5px/1 var(--font-mono);color:var(--muted);background:transparent;border:1.5px solid rgba(21,23,26,.22)}.opt-badge.round{border-radius:50%}.opt-badge.square{border-radius:7px}.opt-btn.picked .opt-badge{background:var(--blue);border-color:var(--blue);color:#fff}.opt-text{flex:1;min-width:0}.opt-mark{flex-shrink:0;font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--blue)}.multi-meta{margin-top:16px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.multi-chip{padding:4px 10px;border-radius:7px;background:var(--blue-tint);border:1px solid rgba(61,107,216,.4);font:700 11px/1.4 var(--font-mono);color:var(--blue)}.multi-warn{font:600 11.5px/1.4 var(--font-ui);color:var(--amber-text)}.drop-list{margin-top:20px;display:flex;flex-direction:column;gap:14px}.drop-line{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font:600 14px/1.6 var(--font-ui);color:var(--ink)}.drop-box{display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 12px;border-radius:var(--radius);background:var(--paper-inset);border:1.5px solid rgba(21,23,26,.22);cursor:pointer;font:600 13px/1 var(--font-ui);color:var(--muted)}.drop-box.filled{background:var(--blue-tint);border-color:var(--blue);color:var(--ink);font-weight:700}.drop-box:focus-within{outline:var(--focus-ring);outline-offset:2px}.drop-tag{font:700 8.5px/1.5 var(--font-mono);letter-spacing:.07em;color:var(--faint);text-transform:uppercase}.drop-box.filled .drop-tag{color:var(--blue)}.drop-box select{--select-pad: 0px;padding-right:18px;border:0;background-color:transparent;font:700 13px/1 var(--font-ui);color:inherit;cursor:pointer;max-width:200px}.drop-box select:focus{outline:none}.composite-meta{margin-top:18px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.composite-count{font:700 10px/1.5 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--amber-text)}.matrix-list{margin-top:20px;display:flex;flex-direction:column;gap:8px}.matrix-row{display:flex;align-items:center;gap:14px;padding:8px 0;flex-wrap:wrap;border-bottom:1px solid rgba(21,23,26,.1)}.matrix-row:last-child{border-bottom:0}.matrix-text{flex:1;min-width:220px;font:600 13.5px/1.5 var(--font-ui);color:var(--ink)}.matrix-cells{display:flex;gap:8px;flex-shrink:0}.matrix-cell{display:flex;align-items:center;justify-content:center;gap:7px;width:78px;height:42px;border-radius:var(--radius);cursor:pointer;background:#fff;border:1.5px solid rgba(21,23,26,.18);font:700 12.5px/1 var(--font-ui);color:var(--ink);position:relative}.matrix-cell input{position:absolute;opacity:0;pointer-events:none}.matrix-cell:hover{border-color:#15171a66}.matrix-cell.picked{background:var(--blue-tint);border-color:var(--blue)}.matrix-cell:has(input:focus-visible){outline:var(--focus-ring);outline-offset:2px}.matrix-dot{width:14px;height:14px;border-radius:50%;background:transparent;border:1.5px solid rgba(21,23,26,.22)}.matrix-cell.picked .matrix-dot{background:var(--blue);border-color:var(--blue)}.drag-grid{margin-top:20px;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}.drag-label{font:700 10px/1.5 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--faint)}.drag-bank,.drag-targets{margin-top:9px;display:flex;flex-direction:column;gap:7px}.drag-targets{gap:10px}.drag-item{display:flex;align-items:center;gap:9px;padding:11px 13px;border-radius:var(--radius);background:var(--paper-inset);border:1.5px solid rgba(21,23,26,.14);font:600 12.5px/1.3 var(--font-ui);color:var(--ink);cursor:grab;text-align:left}.drag-item.picked{border-color:var(--blue);background:var(--blue-tint)}.drag-item.used{background:transparent;border-style:dashed;border-color:#15171a33;color:#15171a59;cursor:default}.drag-item-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.drag-item-meta{margin-left:auto;font:600 8.5px/1.5 var(--font-mono);letter-spacing:.06em;color:var(--faint);text-transform:uppercase;flex-shrink:0}.drag-item.used .drag-item-meta{color:#15171a59}.drag-target-text{font:600 12px/1.45 var(--font-ui);color:var(--muted)}.drag-slot{display:flex;align-items:center;gap:9px;width:100%;min-height:44px;padding:9px 12px;border-radius:var(--radius);background:transparent;border:1.5px dashed rgba(21,23,26,.25);font:600 12.5px/1.4 var(--font-ui);color:var(--faint);cursor:pointer;text-align:left}.drag-slot.filled{background:var(--blue-tint);border-style:solid;border-color:var(--blue);color:var(--ink);font-weight:700}.drag-slot:focus-visible{outline:var(--focus-ring);outline-offset:2px}.runner-nav{width:244px;padding:16px;background:var(--panel);border:1px solid rgb(var(--wash-rgb) / .14);border-radius:12px}.runner-nav.collapsed{width:52px;padding:14px 0;display:grid;justify-items:center;gap:8px}.runner-cells{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-top:10px}.runner-cell{height:32px;border-radius:7px;border:1px solid rgb(var(--wash-rgb) / .16);background:transparent;color:var(--on-dark-60);font-family:var(--font-mono);font-size:11px;font-weight:700;cursor:pointer}.runner-cell.answered{background:rgb(var(--accent-rgb) / .2);border-color:rgb(var(--accent-rgb) / .5);color:var(--lime-soft)}.runner-cell.current{border-color:var(--blue);color:rgb(var(--wash-rgb))}.runner-cell:focus-visible{outline:var(--focus-ring);outline-offset:2px}.runner-nav-label{font-family:var(--font-mono);font-size:var(--fs-micro);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--on-dark-50)}.runner-legend{font-family:var(--font-mono);font-size:9.5px;font-weight:600;letter-spacing:.05em;color:var(--on-dark-60);margin-top:10px}.runner-foot{border-top:1px solid rgba(21,23,26,.12);padding-top:var(--s-5);margin-top:auto;display:flex;gap:var(--s-3);flex-wrap:wrap}.result-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-6);align-items:stretch}.result-grid>*{min-height:360px}.result-grid>.card{height:100%}.score-hero-label{font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.score-hero-value{font-family:var(--font-mono);font-size:62px;font-weight:800;line-height:.86;letter-spacing:-.03em;color:var(--ink);font-variant-numeric:tabular-nums}.score-hero-sub{font-family:var(--font-mono);font-size:11px;font-weight:600;line-height:1.6;color:var(--muted);margin-top:8px}.rank-stamp{display:inline-flex;gap:10px;align-items:center;margin-top:14px;padding:9px 14px;border:2px solid var(--blue);border-radius:8px;transform:rotate(-1.2deg)}.rank-stamp .r{font-family:var(--font-mono);font-size:15px;font-weight:800;color:var(--blue)}.rank-stamp .c{font-family:var(--font-mono);font-size:9.5px;font-weight:700;letter-spacing:.08em;color:var(--blue)}.band-track{height:7px;border-radius:4px;background:#15171a17;overflow:hidden;margin-top:4px}.band-fill{height:100%;background:var(--lime);border-radius:4px}.locked-panel{display:flex;flex-direction:column;background:var(--amber-bg);border:1px solid var(--amber-line);border-radius:var(--radius-lg);padding:var(--s-8);color:var(--cream)}.locked-panel .eyebrow{color:var(--amber-on-dark)}.locked-panel h3{font-size:20px;font-weight:800;line-height:1.25;margin:8px 0}.locked-panel p{font-size:12.5px;font-weight:500;line-height:1.55;color:var(--on-dark-75)}.result-hero-body{padding:var(--s-8)}.result-bands{margin-top:var(--s-5);display:grid;gap:var(--s-3)}.result-band-head{font-size:var(--fs-sm);font-weight:600}.result-band-count{font-family:var(--font-mono);font-size:var(--fs-label);color:var(--muted);font-variant-numeric:tabular-nums}.result-retry{margin-top:var(--s-5)}.result-review-foot{margin-top:var(--s-4)}.locked-actions{margin-top:auto;padding-top:var(--s-5)}.review-q-prompt{margin-top:var(--s-3)}.review-q-prompt p{margin:0;font-size:var(--fs-body);font-weight:700;line-height:1.55;color:var(--ink)}.opt-letter{font-family:var(--font-mono);margin-right:var(--s-2)}.tag.mono{font-family:var(--font-mono)}.eyebrow.amber{color:var(--amber-on-dark)}.review-mode-label{font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.1em;color:var(--lime-soft)}.review-q{background:var(--paper);border-radius:10px;padding:16px;color:var(--ink)}.review-q-number{color:var(--ink)}.review-q-status{font-family:var(--font-mono);font-size:var(--fs-micro);letter-spacing:.06em;text-transform:uppercase}.review-q-status.correct{color:var(--lime-deep)}.review-q-status.wrong{color:var(--coral-deep)}.review-q-status.blank{color:var(--muted)}.review-q-opt{border-radius:8px;padding:9px 11px;font-size:12px;font-weight:600;background:var(--paper-inset);color:var(--muted);margin-top:6px}.review-q-opt.correct{background:rgb(var(--accent-rgb) / .16);border:1.5px solid var(--lime);color:var(--ink)}.review-q-opt.wrong{border:1.5px solid var(--coral-line)}.review-q-opt .tag{font-family:var(--font-mono);font-size:10px;font-weight:600;color:var(--lime-deep)}.review-expl{font-size:12px;font-weight:500;line-height:1.6;color:var(--body);margin-top:10px}.review-dist{font-family:var(--font-mono);font-size:10px;font-weight:500;color:var(--muted);margin-top:8px}.scoreboard{background:var(--panel);border:1px solid var(--panel-border);border-radius:var(--radius-lg);padding:22px;color:var(--on-dark)}.scoreboard-label{font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--on-dark-50)}.scoreboard-note{font-family:var(--font-mono);font-size:10px;font-weight:500;color:var(--on-dark-45)}.podium{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;align-items:end;margin:18px auto 0;max-width:520px}.podium-cell{text-align:center;display:flex;flex-direction:column;justify-content:flex-end}.podium-name{font-size:12.5px;font-weight:700;line-height:1.3;color:var(--cream)}.podium-tag{font-family:var(--font-mono);font-size:8.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--on-dark-45);margin-top:3px}.podium-plinth{display:grid;align-content:center;gap:2px;border-radius:10px 10px 0 0;padding:10px 6px;margin-top:8px;background:linear-gradient(180deg,rgb(var(--wash-rgb) / .09),rgb(var(--wash-rgb) / .03));border:1px solid rgb(var(--wash-rgb) / .14);border-bottom:0}.podium-plinth.first{background:linear-gradient(180deg,rgb(var(--accent-rgb) / .24),rgb(var(--accent-rgb) / .07));border-color:rgb(var(--accent-rgb) / .5)}.podium-rank{font-family:var(--font-mono);font-size:18px;font-weight:800;letter-spacing:-.02em;color:var(--cream)}.podium-plinth.first .podium-rank{color:var(--lime-soft)}.podium-score{font-family:var(--font-mono);font-size:11px;font-weight:700;color:rgb(var(--on-dark-rgb) / .6)}.board-rows{display:grid;gap:4px;margin-top:0;padding-top:10px;border-top:1px solid rgb(var(--wash-rgb) / .14)}.board-rows-label{font-family:var(--font-mono);font-size:9px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--on-dark-45);padding:2px 2px 4px}.board-gap{text-align:center;color:var(--on-dark-45);letter-spacing:.3em;padding:2px 0}.board-row{display:flex;align-items:center;gap:10px;padding:7px 12px;border-radius:8px;background:rgb(var(--wash-rgb) / .035);border:1px solid rgb(var(--wash-rgb) / .07);font-size:12.5px;font-weight:600}.board-row.learner{background:var(--blue-tint-strong);border-color:#3d6bd899}.board-who{display:grid;gap:2px;min-width:0}.board-name{font-weight:700;line-height:1.25}.board-rank{width:32px;flex:none;font-family:var(--font-mono);font-size:12px;font-weight:800;color:var(--on-dark-60);font-variant-numeric:tabular-nums}.board-row.learner .board-rank{color:var(--cream)}.on-paper .board-rank,.card .board-rank{color:var(--muted)}.board-score{margin-left:auto;font-family:var(--font-mono);font-size:13.5px;font-weight:800;color:var(--cream);font-variant-numeric:tabular-nums}.board-row .kind-badge{font-size:8px;padding:1px 5px}.leaderboard-table{width:100%;border-collapse:collapse;font-size:13px}.leaderboard-table th,.leaderboard-table td{text-align:left;padding:8px 10px;border-bottom:1px solid rgb(var(--wash-rgb) / .1);color:var(--on-dark)}.leaderboard-table th{font-family:var(--font-mono);font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--on-dark-45)}.leaderboard-row.is-learner{background:var(--blue-tint-strong)}.leaderboard-provisional{font-family:var(--font-mono);font-size:11px;font-weight:600;color:var(--amber-on-dark);background:var(--amber-bg);padding:10px 12px;border-radius:8px;border:1px solid var(--amber-line)}.leaderboard-separator td{text-align:center;color:var(--on-dark-45)}.leaderboard-expand{margin-top:8px;width:100%}.rank-trend{list-style:none;padding:0;margin:0;display:grid;gap:4px}.rank-trend-row{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:9px 14px;border:1px solid var(--panel-border);border-radius:var(--radius);background:rgb(var(--wash-rgb) / .04);font-size:12.5px;font-weight:600;color:var(--on-dark)}.rank-trend-name{flex:1;min-width:150px;font-size:12.5px;font-weight:700}.rank-trend-figures{display:inline-flex;gap:18px;align-items:baseline;flex:none}.rank-trend-fig{display:inline-flex;gap:5px;align-items:baseline}.rank-trend-fig .v{font-family:var(--font-mono);font-size:13px;font-weight:800;font-variant-numeric:tabular-nums;color:var(--ink)}.rank-trend-fig .l{font-family:var(--font-mono);font-size:9px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--faint)}.rank-movement{display:inline-flex;gap:5px;align-items:baseline;min-width:96px;font-variant-numeric:tabular-nums;color:var(--on-dark-60);font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.rank-movement.up{color:var(--lime-deep)}.rank-movement.down{color:var(--coral-deep)}.rank-movement.flat{color:var(--faint)}.rank-block,.rank-trend.spaced{margin-top:var(--s-2)}.rank-trend-row.on-paper{background:var(--paper-inset);border-color:transparent;color:var(--ink)}.rank-trend-row.on-paper:hover{background:#e7eae1}.trend-pair{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-6);margin-top:var(--s-4);padding-bottom:var(--s-3)}.trend-col{min-width:0}.trend-caption{font-family:var(--font-mono);font-size:var(--fs-micro);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.trend-svg{width:100%;height:auto;margin-top:var(--s-2);overflow:visible}.trend-tick{font-family:var(--font-mono);font-size:10px;font-weight:600;fill:var(--faint)}.rank-selector{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}.rank-leaderboard{margin-top:0}.trend-chart-card{margin-top:0;padding:20px 24px 18px}.trend-list-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-top:var(--s-5);padding-top:var(--s-4);border-top:1px solid var(--hairline)}.trend-axis{display:flex;gap:4px;border-top:1px solid rgba(21,23,26,.1);padding-top:6px}.trend-axis button{flex:1;min-width:0;background:none;border:0;border-radius:6px;cursor:pointer;padding:5px 2px;font-family:var(--font-mono);font-size:9px;font-weight:700;letter-spacing:.04em;color:var(--muted);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.trend-axis button:hover{background:#15171a0d;color:var(--ink)}.trend-axis button:focus-visible{outline:var(--focus-ring);outline-offset:-2px}.an-shell{display:flex;gap:16px;align-items:flex-start}.an-index{flex:0 0 172px;padding:8px 0;border-radius:12px;background:var(--panel);border:1px solid var(--panel-border);position:sticky;top:64px}.an-index button{display:flex;gap:8px;align-items:center;width:100%;text-align:left;background:transparent;border:0;border-left:2px solid transparent;padding:10px 14px;cursor:pointer;color:var(--on-dark-60);font-family:var(--font-ui);font-size:var(--fs-sm);font-weight:600}.an-index button:hover{background:rgb(var(--wash-rgb) / .05);color:var(--on-dark)}.an-index button.active{border-left:3px solid var(--accent);padding-left:13px;background:linear-gradient(90deg,rgb(var(--accent-rgb) / .22),rgb(var(--accent-rgb) / .06));color:var(--cream);font-weight:700}.an-index button.active .num{color:var(--accent-text)}.an-index button:focus-visible{outline:var(--focus-ring);outline-offset:-2px}.an-index .num{font-family:var(--font-mono);font-size:9px;font-weight:700}.an-index-foot{padding:10px 14px;font-family:var(--font-mono);font-size:9.5px;color:var(--on-dark-45)}.an-main{flex:1;min-width:0;display:grid;gap:16px}.an-hero-total{font-family:var(--font-mono);font-size:var(--fs-display);font-weight:800;letter-spacing:-.02em;color:var(--ink);font-variant-numeric:tabular-nums}.an-delta{display:inline-block;padding:4px 9px;border-radius:7px;font-family:var(--font-mono);font-size:11px;font-weight:700}.an-delta.up{background:rgb(var(--accent-rgb) / .2);color:var(--lime-deep)}.an-delta.down{background:#c9503d29;color:var(--coral-deep)}.an-delta.flat{background:#15171a0f;color:var(--muted)}.an-stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:1px;background:#15171a1a;border-radius:10px;overflow:hidden;margin-top:14px}.an-stat-cell{padding:13px;background:var(--paper)}.an-stat-cell .v{font-family:var(--font-mono);font-size:var(--fs-md);font-weight:800;color:var(--ink)}.an-stat-cell .l{font-family:var(--font-mono);font-size:var(--fs-micro);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-top:2px}.an-heat-wrap{--heat-cell: 15px;display:flex;gap:7px;align-items:flex-start;padding:2px 0}.an-heat-days{flex:none;display:grid;grid-template-rows:repeat(7,var(--heat-cell));gap:4px;font-family:var(--font-mono);font-size:8.5px;font-weight:600;letter-spacing:.04em;color:var(--faint)}.an-heat-days span{display:flex;align-items:center}.an-heatmap{display:grid;grid-auto-flow:column;grid-auto-columns:var(--heat-cell);gap:4px;overflow-x:auto;padding-bottom:2px}.an-heat-week{display:grid;grid-template-rows:repeat(7,var(--heat-cell));gap:4px}.an-heat-cell{width:var(--heat-cell);height:var(--heat-cell);min-width:0;border-radius:4px;border:1px solid rgba(21,23,26,.06);background:#15171a0e;padding:0}.an-heat-cell.an-lvl-1{background:rgb(var(--accent-rgb) / .28)}.an-heat-cell.an-lvl-2{background:rgb(var(--accent-rgb) / .62);color:var(--ink)}.an-heat-cell.an-lvl-3{background:rgb(var(--accent-rgb) / .9);color:var(--ink)}.an-heat-cell.today{border:1.5px dashed var(--blue)}.an-heat-cell.selected{border:1.5px solid var(--blue);box-shadow:0 0 0 2px #3d6bd838}.an-heat-button:hover{outline:1.5px solid rgba(21,23,26,.35)}.an-heat-button:focus-visible{outline:var(--focus-ring);outline-offset:1px}.an-cal-grid{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--s-6);align-items:start;margin-top:var(--s-3)}.an-cal-side{min-width:0}.an-legend{display:flex;gap:12px;flex-wrap:wrap;margin-top:10px;align-items:center}.an-legend-item{display:inline-flex;gap:6px;align-items:center;font-family:var(--font-mono);font-size:10px;color:var(--muted)}.an-hint{font-size:var(--fs-sm);font-weight:500;line-height:1.55;color:var(--muted);margin:var(--s-2) 0 0}.an-bars{display:grid;gap:var(--s-2)}.an-bars-spaced{margin-top:var(--s-3)}.an-bar-button{background:none;border:0;padding:0;cursor:pointer;text-align:left;font:inherit;width:100%}.an-bar-button:focus-visible{outline:var(--focus-ring);outline-offset:3px;border-radius:6px}.an-bar-row{display:grid;grid-template-columns:minmax(0,200px) minmax(0,1fr) auto;gap:var(--s-3);align-items:center}.an-bar-label{font-family:var(--font-ui);font-size:var(--fs-sm);font-weight:600;color:var(--body);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.an-bar-track{height:10px;border-radius:5px;background:#15171a14;overflow:hidden;min-width:0}.an-bar{height:100%;background:var(--lime);border-radius:5px}.an-bar.unassigned{background:repeating-linear-gradient(115deg,#c98a2e80 0,#c98a2e80 4px,#c98a2e29 4px,#c98a2e29 9px)}.an-bar-value{font-family:var(--font-mono);font-size:var(--fs-label);color:var(--muted);text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.an-alloc{display:flex;gap:6px;flex-wrap:wrap;margin-top:2px}.an-alloc-item{font-family:var(--font-mono);font-size:10px;color:var(--muted);background:var(--paper-inset);border:1px solid var(--hairline);border-radius:6px;padding:2px 6px}.an-selected-day{margin-top:12px;border-top:1px solid var(--hairline);padding-top:12px}.an-selected-day h4{margin:0 0 var(--s-2);font-size:var(--fs-body);font-weight:800;color:var(--ink)}.an-rail{display:grid;gap:var(--s-3)}.an-compare-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-4)}.an-compare{padding:20px 22px}.an-pct{font-family:var(--font-mono);font-size:var(--fs-display);font-weight:800;letter-spacing:-.03em;line-height:1.05;margin-top:var(--s-2);color:var(--cream);font-variant-numeric:tabular-nums}.an-pct .suf{font-size:var(--fs-lg);margin-left:2px;color:var(--on-dark-50)}.an-pct-label{font-family:var(--font-mono);font-size:var(--fs-micro);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--on-dark-45)}.an-pct-rail{position:relative;height:6px;margin-top:var(--s-4);border-radius:3px;background:linear-gradient(90deg,rgb(var(--wash-rgb) / .08),rgb(var(--accent-rgb) / .45))}.an-pct-mark{position:absolute;top:50%;width:12px;height:12px;border-radius:50%;background:var(--lime);border:2px solid #1b1f18;transform:translate(-50%,-50%)}.an-compare-line{font-size:var(--fs-sm);font-weight:500;line-height:1.55;margin:var(--s-3) 0 0;color:var(--on-dark-75)}.an-compare-line b{font-family:var(--font-mono);font-weight:800;color:var(--cream)}.an-compare-note{font-size:var(--fs-label);font-weight:500;line-height:1.6;color:var(--on-dark-45);margin:0;max-width:78ch}@media (max-width: 860px){.an-compare-pair,.an-cal-grid{grid-template-columns:minmax(0,1fr)}}@media (max-width: 560px){.an-bar-row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"label label" "track value";row-gap:var(--s-1)}.an-bar-label{grid-area:label;white-space:normal}.an-bar-track{grid-area:track}.an-bar-value{grid-area:value}}.an-index-list{display:grid}.an-panel{display:grid;gap:var(--s-4)}.an-hero-row{margin-top:var(--s-2);align-items:baseline}.an-total-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--s-4);flex-wrap:wrap}.an-total-meta{font-family:var(--font-mono);font-size:var(--fs-micro);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--faint)}.an-paper-list{margin-top:var(--s-3);gap:var(--s-1)}.an-paper-list .list-item{padding:9px 14px}.an-legend-note{font-family:var(--font-mono);font-size:var(--fs-micro);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.an-heat-button{cursor:pointer;font-family:var(--font-mono)}.an-legend-item .an-heat-cell{width:10px;height:10px;min-width:0;aspect-ratio:auto;flex:none}.an-selected-day.boxed{background:var(--paper-inset);border-radius:var(--radius-md);padding:var(--s-4);border-top:0;margin-top:0}.an-day-total{font-family:var(--font-mono);font-size:var(--fs-body);font-weight:800}.an-day-list{display:grid;gap:var(--s-2);margin-top:var(--s-2)}.an-day-row{padding:10px 11px;border-radius:8px;background:var(--paper)}.an-day-title{font-size:var(--fs-sm);font-weight:700}.an-day-value{font-family:var(--font-mono);font-size:var(--fs-label);font-weight:800}.an-day-reset{margin-top:var(--s-2)}.analytics-gap-title{margin:var(--s-2) 0 0;font-size:var(--fs-body);color:var(--ink)}.an-session-list,.an-study-board{margin-top:var(--s-3)}.an-session-row{align-items:center}.an-study-board .list-item{display:grid;grid-template-columns:42px minmax(130px,220px) minmax(100px,1fr) auto;align-items:center}.an-study-board .list-item.selected{border-color:var(--blue);background:var(--blue-tint-strong)}.an-chart{position:relative;margin:var(--s-5) 0 0;padding-bottom:24px}.an-chart svg{display:block;width:100%;height:auto;overflow:visible}.an-chart-grid{stroke:#15171a1a;stroke-width:1;stroke-dasharray:3 5}.an-chart-area{fill:url(#study-area)}.an-chart-line{fill:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.an-chart-line.learner{stroke:var(--blue)}.an-chart-line.classmate{stroke:var(--coral);stroke-dasharray:9 7}.an-chart-line.score{stroke:var(--lime-deep)}.an-chart-point{stroke:var(--paper);stroke-width:3}.an-chart-point.learner{fill:var(--blue)}.an-chart-point.classmate{fill:var(--coral)}.an-chart-point.score{fill:var(--lime-deep)}.an-chart-point.selected{stroke:var(--ink);stroke-width:4}.an-chart-hit{fill:transparent;cursor:pointer}.an-chart-hit:focus-visible{outline:none;stroke:var(--ink);stroke-width:2;fill:#3d6bd81f}.an-chart-y{fill:var(--faint);font-family:var(--font-mono);font-size:10px;font-weight:700}.an-chart-axis{position:absolute;inset:auto 0 0;height:18px}.an-chart-axis span{position:absolute;transform:translate(-50%);font-family:var(--font-mono);font-size:9px;font-weight:700;color:var(--faint);white-space:nowrap}.an-chart-readout{display:grid;gap:4px;justify-items:end;font-family:var(--font-mono);font-size:var(--fs-label);color:var(--muted)}.an-chart-readout b{color:var(--ink)}.an-chart-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s-5)}.an-chart-legend{display:flex;flex-wrap:wrap;gap:var(--s-4);margin-top:var(--s-2);font-family:var(--font-mono);font-size:var(--fs-label);font-weight:700}.an-chart-legend span{display:inline-flex;align-items:center;gap:7px}.an-chart-legend span:before{content:"";width:18px;height:3px;border-radius:2px;background:currentColor}.an-chart-legend .learner{color:var(--blue)}.an-chart-legend .classmate{color:var(--coral-deep)}.an-chart-select{display:grid;gap:5px;min-width:190px;font-family:var(--font-mono);font-size:var(--fs-micro);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.an-chart-select select{min-height:40px;border:1px solid var(--hairline);border-radius:8px;background-color:var(--paper-inset);color:var(--ink);--select-pad: 12px;padding-top:7px;padding-bottom:7px;font:700 var(--fs-sm) var(--font-ui);text-transform:none;letter-spacing:normal}.an-chart-select select:focus-visible{outline:var(--focus-ring);outline-offset:2px}.an-distribution{display:flex;align-items:stretch;gap:clamp(8px,3vw,26px);min-height:240px;margin:var(--s-5) 0 0}.an-column{flex:1;min-width:0;display:grid;grid-template-rows:22px minmax(140px,1fr) auto;gap:7px;text-align:center}.an-column-value,.an-column-label{font-family:var(--font-mono);font-size:var(--fs-label);font-weight:700;color:var(--muted)}.an-column-track{position:relative;display:flex;align-items:flex-end;overflow:hidden;border-radius:9px 9px 4px 4px;background:var(--paper-inset)}.an-column-track span{display:block;width:100%;min-height:4px;border-radius:9px 9px 3px 3px;background:linear-gradient(180deg,var(--lime),var(--lime-deep))}.an-column.selected .an-column-track{box-shadow:0 0 0 3px var(--blue-tint-strong)}.an-column.selected .an-column-track span{background:linear-gradient(180deg,var(--blue-hover),var(--blue))}.an-column.selected .an-column-label{color:var(--blue)}.an-section-chart{display:grid;grid-template-columns:minmax(210px,.8fr) minmax(280px,1.2fr);gap:clamp(20px,5vw,56px);align-items:center;margin-top:var(--s-4)}.an-donut{margin:0;display:grid;place-items:center}.an-donut svg{display:block;width:min(100%,270px);overflow:visible;transform:rotate(-90deg)}.an-donut-base,.an-donut-slice{fill:none;stroke-width:24}.an-donut-base{stroke:var(--paper-inset)}.an-donut-slice{stroke-linecap:butt;transition:stroke-width .16s ease}.an-donut-slice:hover{stroke-width:29}.an-donut-total,.an-donut-caption{transform:rotate(90deg);transform-origin:100px 100px;font-family:var(--font-mono);fill:var(--ink)}.an-donut-total{font-size:19px;font-weight:800}.an-donut-caption{font-size:8px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;fill:var(--muted)}.an-section-legend{list-style:none;display:grid;gap:1px;margin:0;padding:0;overflow:hidden;border:1px solid var(--hairline);border-radius:var(--radius-md);background:var(--hairline)}.an-section-legend li{display:grid;grid-template-columns:10px minmax(0,1fr) 42px 70px;gap:10px;align-items:center;min-height:43px;padding:8px 12px;background:var(--paper)}.an-section-swatch{width:9px;height:9px;border-radius:50%}.an-section-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-sm);font-weight:700;color:var(--body)}.an-section-share,.an-section-duration{font-family:var(--font-mono);font-size:var(--fs-label);font-weight:700;color:var(--muted);text-align:right}.an-section-duration{color:var(--ink)}.an-focus-callout{max-width:290px;padding:8px 11px;border-radius:8px;background:var(--coral-bg);color:var(--coral-deep);font-size:var(--fs-label);line-height:1.4}.an-focus-callout b{font-weight:800}.an-focus-map{padding-bottom:28px}.an-chart-grid.benchmark{stroke:var(--coral-line);stroke-dasharray:7 5}.an-focus-point{fill:var(--blue);fill-opacity:.72;stroke:var(--paper);stroke-width:3;cursor:default}.an-focus-point.needs-focus{fill:var(--coral)}.an-focus-point:focus-visible{outline:none;stroke:var(--ink);stroke-width:4;fill-opacity:1}.an-focus-axis{position:absolute;inset:auto 5% 0;display:flex;justify-content:space-between;font-family:var(--font-mono);font-size:9px;font-weight:700;color:var(--faint)}@media (max-width: 680px){.an-study-board .list-item{grid-template-columns:40px minmax(0,1fr) auto}.an-study-board .an-bar-track{grid-column:2 / -1;width:100%}.an-chart-head{display:grid}.an-chart-select{width:100%}.an-chart-readout{justify-items:start}.an-chart{overflow-x:auto;overflow-y:hidden}.an-chart svg{min-width:560px}.an-chart-axis{min-width:560px}.an-distribution{min-height:190px;gap:6px}.an-column{grid-template-rows:22px minmax(100px,1fr) auto}.an-column-label{font-size:9px}.an-section-chart{grid-template-columns:minmax(0,1fr)}.an-section-legend li{grid-template-columns:10px minmax(0,1fr) 38px 62px;gap:7px;padding-inline:9px}.an-focus-callout{max-width:none}}.segmented{display:inline-flex;align-items:center;gap:3px;padding:4px;border-radius:10px;background:var(--paper);border:1px solid var(--hairline)}.segmented.on-room{background:var(--panel);border-color:var(--panel-border-strong);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.segmented button{height:28px;padding:0 12px;border:0;border-radius:7px;background:transparent;color:var(--muted);font-family:var(--font-mono);font-size:var(--fs-micro);font-weight:700;letter-spacing:.04em;cursor:pointer}.segmented.on-room button{color:var(--on-dark-60)}.segmented button:hover{color:var(--ink)}.segmented.on-room button:hover{color:var(--on-dark)}.segmented button[aria-pressed=true]{background:var(--blue);color:#fff}.segmented button:focus-visible{outline:var(--focus-ring);outline-offset:2px}.an-tabs{display:flex;gap:6px;flex-wrap:wrap}.an-tab{background:rgb(var(--wash-rgb) / .06);color:var(--on-dark-60);border:1px solid rgb(var(--wash-rgb) / .16);border-radius:8px;padding:8px 14px;font-family:var(--font-mono);font-size:var(--fs-label);font-weight:600;cursor:pointer}.an-tab.active,.an-tab[aria-selected=true]{background:var(--blue);color:#fff;border-color:var(--blue)}.an-tab:focus-visible{outline:var(--focus-ring);outline-offset:2px}.recovery-card{width:min(460px,100%);padding:28px}.recovery-status{display:flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--coral)}.recovery-status .dot{width:8px;height:8px;border-radius:50%;background:var(--coral)}.recovery-title{font-size:21px;font-weight:800;line-height:1.3;margin:10px 0 0;letter-spacing:-.01em}.recovery-body{font-size:12.5px;font-weight:500;line-height:1.6;color:var(--muted);margin:8px 0 0}.recovery-info{margin-top:18px;padding:14px;border-radius:10px;background:var(--paper-inset);display:grid;gap:8px;font-size:11.5px;font-weight:600}.recovery-info .k{color:var(--muted)}.recovery-actions{display:grid;gap:8px;margin-top:18px}.recovery-foot{font-family:var(--font-mono);font-size:10px;letter-spacing:.04em;color:var(--muted);margin-top:12px}.live{position:relative;height:100%;overflow:hidden;background:var(--room-ink)}.live-canvas{position:absolute;top:0;right:0;bottom:0;left:0}.live-fallback{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;align-content:center;justify-items:center;gap:6px;padding:24px;text-align:center;background:var(--room-olive-0);color:var(--on-dark-75)}.live-panel{position:absolute;top:var(--s-6);width:300px;z-index:5;background:var(--panel);border:1px solid var(--panel-border);border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:16px;color:var(--on-dark);display:grid;gap:10px;align-content:start}.live-panel h2{margin:0;font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--on-dark-50)}.live-week{left:var(--s-6);max-height:min(52vh,480px);overflow:auto}.live-room{right:var(--s-6);height:min(72vh,640px);display:flex;flex-direction:column}.live-room>*{flex-shrink:0}.live-room>.room-board-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain}.week-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.week-row{display:flex;align-items:center;gap:6px;width:100%;text-align:left;padding:8px 9px;border:0;border-radius:7px;cursor:pointer;background:rgb(var(--wash-rgb) / .06);color:var(--on-dark);font:600 12px/1.3 var(--font-ui)}.week-row:hover{background:rgb(var(--wash-rgb) / .1)}.week-row.selected{background:rgb(var(--accent-rgb) / .18);font-weight:700}.week-row:focus-visible{outline:var(--focus-ring);outline-offset:2px}.week-glyph{flex-shrink:0;font-weight:700;font-size:13px}.week-glyph.complete,.week-glyph.in_progress{color:var(--lime-text)}.week-glyph.not_started{color:var(--on-dark-45)}.week-title{flex:1;min-width:0}.week-row.selected .week-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.week-notes{justify-self:start}.live-counts{display:flex;gap:12px;flex-wrap:wrap;margin:0;font:600 11px/1 var(--font-ui)}.live-count{white-space:nowrap}.live-count-value{font-family:var(--font-mono);font-size:11px;font-weight:700}.live-count-value.studying{color:var(--lime-text)}.live-count-value.break{color:var(--amber-on-dark)}.live-count-value.away{color:var(--on-dark-50)}.live-count-label{color:var(--on-dark-75)}.room-divider{height:1px;background:rgb(var(--wash-rgb) / .12)}.live-empty{font-size:12px;color:var(--on-dark-45);margin:0}.feed{list-style:none;margin:0;padding:0;display:grid;gap:8px}.feed-row{font:500 11.5px/1.4 var(--font-ui);color:var(--on-dark-75)}.feed-time{margin-left:6px;font-family:var(--font-mono);font-size:10px;color:var(--on-dark-45);white-space:nowrap}.live-menu-btn{position:absolute;top:16px;right:16px;z-index:6;width:38px;height:38px;border-radius:9px;cursor:pointer;background:var(--panel);border:1px solid var(--panel-border-strong);color:var(--on-dark);font:700 14px/1 var(--font-ui)}.live-menu-btn:hover{background:var(--panel-strong)}.live-menu-btn:focus-visible{outline:var(--focus-ring);outline-offset:2px}.live-return{position:absolute;top:16px;left:16px;z-index:6;height:38px;padding:0 16px;border-radius:9px;cursor:pointer;background:var(--panel);border:1px solid var(--panel-border-strong);color:var(--on-dark);font:700 12.5px/1 var(--font-ui)}.live-return:hover{background:var(--panel-strong)}.live-return:focus-visible{outline:var(--focus-ring);outline-offset:2px}.live-topleft{position:absolute;top:var(--s-4);left:var(--s-4);z-index:6;display:flex;gap:var(--s-3);align-items:center}.live-topleft .live-return{position:static}.board{display:grid;gap:8px}.board-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.board-head-title{font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--on-dark-50)}.board-head-live{display:inline-flex;align-items:center;gap:5px;font:600 10.5px/1 var(--font-ui);color:var(--on-dark-75);white-space:nowrap}.board-list{list-style:none;margin:0;padding:0;display:grid;gap:3px}.board-entry{display:grid;grid-template-columns:18px 1fr auto;align-items:center;gap:9px;width:100%;text-align:left;padding:7px 9px;border:1px solid transparent;border-radius:8px;cursor:pointer;background:rgb(var(--wash-rgb) / .05);color:var(--on-dark);font:600 12px/1.25 var(--font-ui)}.board-entry:hover{background:rgb(var(--wash-rgb) / .11)}.board-entry:focus-visible{outline:var(--focus-ring);outline-offset:2px}.board-entry.selected{border-color:rgb(var(--accent-rgb) / .55);background:var(--lime-tint-strong)}.board-entry.is-learner{background:#3d6bd833;border-color:#3d6bd873}.board-entry.is-learner:hover{background:#3d6bd84d}.board-entry-rank{font-family:var(--font-mono);font-size:10.5px;font-weight:700;color:var(--on-dark-45);text-align:right}.board-entry.running .board-entry-rank{color:var(--lime-text)}.board-entry-who{min-width:0;display:grid;gap:2px}.board-entry-name{display:flex;align-items:center;gap:6px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.board-entry-you{font:700 8.5px/1 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;padding:2px 5px;border-radius:4px;background:#3d6bd866;color:var(--blue-badge-text)}.board-entry .kind-badge{font-size:8.5px;padding:1px 5px}.board-entry-clock{display:inline-flex;align-items:center;gap:5px}.board-entry-time{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:12px;font-weight:700;color:var(--on-dark-75)}.board-entry.running .board-entry-time{color:var(--lime-text)}.live-dot.small{width:5px;height:5px}.board-entry.running .live-dot{background:var(--lime)}.board-entry.studying{border-color:rgb(var(--accent-rgb) / .35);background:rgb(var(--accent-rgb) / .1)}.board-entry.studying:hover{background:rgb(var(--accent-rgb) / .18)}.board-entry.studying .board-entry-rank,.board-entry.studying .board-entry-time{color:var(--lime-text)}.board-entry.on-break{border-color:#e8a83859;background:#e8a8381a}.board-entry.on-break:hover{background:#e8a8382e}.board-entry.on-break .board-entry-rank,.board-entry.on-break .board-entry-time{color:var(--amber-on-dark, #e8a838)}.live-dot.break{background:var(--amber-on-dark, #e8a838)}.board-entry.selected{border-color:rgb(var(--on-dark-rgb) / .35);background:rgb(var(--on-dark-rgb) / .1)}.board-entry.selected:hover{background:rgb(var(--on-dark-rgb) / .16)}.board-status-tag{display:inline-flex;align-items:center;gap:4px;font-family:var(--font-mono);font-size:9px;font-weight:600;line-height:1}.board-status-tag.studying{color:var(--lime-text)}.board-status-tag.break{color:var(--amber-on-dark, #e8a838)}.board-status-tag.away{color:var(--on-dark-45)}.room-board-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end}.room-sort-bar{display:flex;gap:4px;padding:3px;background:rgb(var(--well-rgb) / .28);border-radius:7px;border:1px solid rgb(var(--wash-rgb) / .08)}.room-sort-select{display:grid;gap:3px;font:600 9px/1 var(--font-mono);color:var(--on-dark-50);text-transform:uppercase;letter-spacing:.06em}.room-sort-select select{height:31px;max-width:132px;border:1px solid rgb(var(--wash-rgb) / .12);border-radius:7px;--select-pad: 9px;background-color:rgb(var(--well-rgb) / .28);background-image:var(--chevron-cream);background-size:8px 5px;color:var(--on-dark);font:600 10px/1 var(--font-ui)}.room-sort-select select:focus-visible{outline:var(--focus-ring);outline-offset:2px}.room-sort-btn{flex:1;height:25px;padding:0 6px;border-radius:5px;border:0;cursor:pointer;font-family:var(--font-mono);font-size:10px;font-weight:600;background:transparent;color:var(--on-dark-60);transition:background .12s ease,color .12s ease;white-space:nowrap;text-align:center}.room-sort-btn:hover{color:var(--on-dark);background:rgb(var(--wash-rgb) / .08)}.room-sort-btn.active{background:rgb(var(--wash-rgb) / .16);color:rgb(var(--wash-rgb));font-weight:700;box-shadow:0 1px 2px #00000059}.room-sort-btn:focus-visible{outline:var(--focus-ring);outline-offset:1px}.room-sort-meta{font-family:var(--font-mono);font-size:9.5px;color:var(--on-dark-50);margin-top:-4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.live-board-iso{position:absolute;top:68px;right:16px;z-index:5;width:260px;max-height:min(72vh,620px);overflow:auto}.live-bell{position:absolute;top:16px;right:62px;z-index:6;width:38px;height:38px;border-radius:9px;cursor:pointer;background:var(--panel);border:1px solid var(--panel-border-strong);color:var(--on-dark);font:700 15px/1 var(--font-ui)}.live-bell:hover,.live-bell.open{background:var(--panel-strong)}.live-bell.open{border-color:rgb(var(--accent-rgb) / .5)}.live-bell:focus-visible{outline:var(--focus-ring);outline-offset:2px}.live-bell-badge{position:absolute;top:-5px;right:-5px;min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:var(--lime);color:#11210a;font:800 9.5px/17px var(--font-mono);text-align:center}.live-feed{position:absolute;top:60px;right:340px;z-index:7;width:300px;max-height:min(56vh,520px);overflow:auto;background:var(--surface-dark);border-color:var(--panel-border-strong);box-shadow:0 18px 44px #00000080}.feed-head{display:flex;align-items:center;gap:8px}.feed-head h2{flex:1}.feed-close{background:none;border:0;color:var(--on-dark-60);font-size:18px;line-height:1;cursor:pointer;padding:0 2px}.feed-close:hover{color:var(--on-dark)}.feed-close:focus-visible{outline:var(--focus-ring);outline-offset:2px}.toast-stack{position:absolute;right:16px;bottom:16px;z-index:8;display:grid;gap:8px;justify-items:end;max-width:min(340px,60vw);pointer-events:none}.toast{display:flex;align-items:flex-start;gap:8px;padding:9px 13px;border-radius:10px;background:var(--panel-strong);border:1px solid var(--panel-border-strong);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--on-dark);font:500 11.5px/1.45 var(--font-ui);animation:toast-in .24s ease-out}.toast.still{animation:none}.toast-dot{flex:0 0 auto;width:6px;height:6px;margin-top:5px;border-radius:50%;background:var(--lime)}.toast-text{min-width:0}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){.toast{animation:none}}.live-session{top:auto;bottom:var(--s-6);left:var(--s-6);background:var(--panel-strong);border-color:var(--panel-border-strong);gap:6px}.session-label-row{display:flex;align-items:center;justify-content:center;gap:8px}.live-dot{width:7px;height:7px;border-radius:50%;background:var(--lime)}.session-state-label{display:flex;align-items:center;gap:7px}.session-state-dot{width:7px;height:7px;border-radius:50%;border:1.5px solid var(--on-dark-50);box-sizing:border-box}.live-session.is-studying .session-state-dot{background:var(--lime);border-color:var(--lime);box-shadow:0 0 0 3px var(--lime-tint)}.live-session.is-studying .session-state-label{color:var(--lime-soft)}.live-session.is-break .session-state-dot{background:var(--amber-on-dark, #e8a838);border-color:var(--amber-on-dark, #e8a838)}.live-session.is-break .session-state-label{color:var(--amber-on-dark, #e8a838)}.session-clock{font:800 32px/1.05 var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:.02em;color:var(--cream)}.live-session.is-idle .session-clock{color:var(--on-dark-60)}.session-section{font:600 12px/1.3 var(--font-ui);color:var(--on-dark-60);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.session-error{margin:0;font:500 11.5px/1.45 var(--font-ui);color:var(--coral-soft)}.session-toolbar{display:flex;align-items:center;gap:6px;margin-top:8px;padding-top:12px;border-top:1px solid var(--panel-border)}.session-toolbar .session-main{flex:1;height:40px;min-height:40px;padding:0 14px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:13px;white-space:nowrap}.session-toolbar .session-main svg{width:14px;height:14px}.icon-btn{position:relative;flex:0 0 auto;width:40px;height:40px;border-radius:9px;cursor:pointer;display:inline-grid;place-items:center;background:rgb(var(--wash-rgb) / .08);border:1px solid var(--panel-border-strong);color:var(--on-dark);transition:background .12s ease,border-color .12s ease}.icon-btn:hover:not([disabled]){background:rgb(var(--wash-rgb) / .16)}.icon-btn[aria-pressed=true]{background:var(--lime-tint-strong);border-color:rgb(var(--accent-rgb) / .55);color:var(--lime-soft)}.icon-btn:focus-visible{outline:var(--focus-ring);outline-offset:2px}.icon-btn[disabled]{opacity:.45;cursor:not-allowed}.icon-btn:after{content:attr(data-tip);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%,4px);padding:5px 8px;border-radius:6px;white-space:nowrap;pointer-events:none;background:var(--surface-dark);border:1px solid var(--panel-border-strong);color:var(--on-dark);font:600 11px/1 var(--font-ui);opacity:0;transition:opacity .12s ease,transform .12s ease}.icon-btn:hover:after,.icon-btn:focus-visible:after{opacity:1;transform:translate(-50%)}@media (prefers-reduced-motion: reduce){.icon-btn,.icon-btn:after{transition:none}}.peek-bubble{position:absolute;left:50%;top:120px;transform:translate(-50%);width:268px;z-index:30;background:var(--paper);border:1px solid var(--hairline-20);border-radius:var(--radius-md);box-shadow:var(--modal-shadow);padding:16px;display:grid;gap:6px;color:var(--ink)}.peek-bubble.hovering{position:fixed;z-index:40;pointer-events:none}.peek-head{display:flex;align-items:center;gap:8px}.peek-close{margin-left:auto;background:none;border:0;font-size:18px;cursor:pointer;line-height:1}.peek-row{font-size:13px}.peek-row.muted{color:var(--muted)}.peek-activity{display:flex;align-items:center;gap:7px;font-weight:650}.peek-dot{width:7px;height:7px;border-radius:50%;flex:0 0 auto;background:var(--muted)}.peek-dot.studying{background:var(--green, #4e7d24)}.peek-dot.break{background:var(--amber, #c98a2e)}.peek-dot.away{background:var(--hairline-20);border:1px solid var(--muted)}.peek-section{font-weight:650;color:var(--blue-ink, #2b4fa8);font-size:12.5px}.peek-detail{color:var(--muted);font-size:12px;line-height:1.45}.peek-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-top:4px;padding-top:8px;border-top:1px solid var(--hairline-20)}.peek-today{display:grid;justify-items:end;gap:1px}.peek-today-label{font-family:var(--font-mono);font-size:8.5px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}.peek-today-value{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:13px;font-weight:800}.escape-menu{width:min(400px,100%);padding:22px;background:#ebe9e2}.escape-head{margin-bottom:14px}.escape-eyebrow{margin:0 0 2px;font-family:var(--font-mono);font-size:9.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.escape-menu h2{margin:0;font-size:26px;font-weight:800;letter-spacing:-.02em}.escape-status{display:grid;gap:3px;margin-bottom:16px;padding:12px 14px;border-radius:var(--radius-md);background:var(--surface-escape);color:var(--cream, #eef0ea);border:1px solid rgba(0,0,0,.2)}.escape-status .escape-status-label{color:rgb(var(--on-dark-rgb) / .62)}.escape-status .escape-status-clock{color:var(--cream)}.escape-status .escape-status-title{color:rgb(var(--on-dark-rgb) / .9)}.escape-status .escape-status-title.muted{color:rgb(var(--on-dark-rgb) / .5)}.escape-status-main{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.escape-status-label{display:inline-flex;align-items:center;gap:6px;font:600 11px/1 var(--font-ui);color:var(--muted)}.escape-status-clock{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:19px;font-weight:800}.escape-status-title{font-size:12.5px;font-weight:600}.escape-status-title.muted{color:var(--muted);font-weight:500;font-style:italic}.escape-items{display:grid;gap:8px}.escape-item{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:13px 15px;border-radius:var(--radius-md);cursor:pointer;background:#fff;border:1px solid rgba(20,26,20,.16);color:var(--ink);font-family:var(--font-ui);box-shadow:0 1px 2px #141a140f;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}.escape-item:hover{border-color:#141a146b;box-shadow:0 4px 12px #141a1424;transform:translateY(-1px)}@media (prefers-reduced-motion: reduce){.escape-item,.escape-item:hover{transition:none;transform:none}}.escape-item:focus-visible{outline:var(--focus-ring);outline-offset:2px}.escape-item.primary{background:#2f5fcc;border-color:#2f5fcc;color:#fff;box-shadow:var(--cta-shadow)}.escape-item.primary:hover{background:#2953b6;border-color:#2953b6;box-shadow:var(--cta-shadow)}.escape-glyph{flex:0 0 auto;width:30px;height:30px;border-radius:8px;display:grid;place-items:center;font-size:14px;background:#141a1414;color:var(--ink)}.escape-item.primary .escape-glyph{background:#ffffff26}.escape-item-text{flex:1;min-width:0;display:grid;gap:2px}.escape-item-title{font-size:14px;font-weight:700}.escape-item-sub{font-size:11.5px;font-weight:500;color:var(--muted)}.escape-item.primary .escape-item-sub{color:#f3f5efb3}.escape-key{flex:0 0 auto;font-family:var(--font-mono);font-size:9.5px;font-weight:700;padding:3px 7px;border-radius:5px;letter-spacing:.05em;background:rgb(var(--wash-rgb) / .16);color:#f3f5efd9}.escape-foot{display:flex;justify-content:center;margin-top:16px;padding-top:14px;border-top:1px solid rgba(20,26,20,.14)}.start-modal{width:min(520px,100%)}.start-modal-sub{margin:6px 0 0;font-size:13px;line-height:1.55;color:var(--muted)}.start-field{margin-top:18px;display:grid;gap:7px}.start-field-label{display:flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.start-optional{font-size:8.5px;letter-spacing:.06em;padding:2px 6px;border-radius:4px;background:#141a1414;color:var(--muted)}.start-sections{list-style:none;margin:0;padding:0;display:grid;gap:6px;max-height:244px;overflow:auto}.start-section{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:10px 12px;border-radius:9px;cursor:pointer;background:#fff;border:1px solid var(--hairline-20);color:var(--ink);font-family:var(--font-ui)}.start-section:hover{background:#141a140a}.start-section:focus-visible{outline:var(--focus-ring);outline-offset:2px}.start-section.picked{border-color:#3d6bd899;background:#3d6bd814}.start-section .week-glyph{font-size:14px}.start-section .week-glyph.complete,.start-section .week-glyph.in_progress{color:#4e7d24}.start-section .week-glyph.not_started{color:var(--muted)}.start-section-text{flex:1;min-width:0;display:grid;gap:1px}.start-section-title{font-size:13.5px;font-weight:700}.start-section-state{font-size:11px;font-weight:500;color:var(--muted)}.start-section-tick{color:#3d6bd8;font-size:11px}.start-modal-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:24px -28px -28px;padding:16px 28px;background:#141a140d;border-top:1px solid rgba(20,26,20,.14);border-radius:0 0 var(--radius-lg) var(--radius-lg)}.start-modal-actions .spacer{flex:1}.start-modal-actions .btn.secondary{background:#fff;border-color:#141a144d;color:var(--ink);font-weight:700}.start-modal-actions .btn.secondary:hover:not([disabled]){background:#fff;border-color:#141a1480}.start-modal-actions .btn.primary{box-shadow:var(--cta-shadow)}.check-fieldset{border:0;margin:12px 0 0;padding:0;display:grid;gap:8px}.check-fieldset legend{font-size:15px;font-weight:700;margin-bottom:8px}.profile-card{background:var(--panel);border:1px solid var(--panel-border);border-radius:var(--radius-lg);overflow:hidden}.profile-identity{display:flex;align-items:center;gap:var(--s-4);padding:18px 20px;flex-wrap:wrap}.profile-avatar{flex:none;width:56px;height:56px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-ui);font-size:22px;font-weight:800;color:var(--lime-soft);background:radial-gradient(120% 120% at 30% 20%,rgb(var(--accent-rgb) / .3),rgb(var(--accent-rgb) / .1));border:1px solid rgb(var(--accent-rgb) / .45)}.profile-who{flex:1;min-width:180px}.profile-name{margin:0;font-size:var(--fs-lg);font-weight:800;letter-spacing:-.015em;color:var(--cream)}.profile-meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:7px}.profile-meta .pill{font-size:9px;padding:4px 8px}.profile-course{font-family:var(--font-mono);font-size:var(--fs-micro);font-weight:500;letter-spacing:.05em;color:var(--on-dark-50)}.profile-run{flex:none;display:grid;gap:3px;text-align:right}.profile-run .l{font-family:var(--font-mono);font-size:9px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--on-dark-45)}.profile-run .v{font-family:var(--font-mono);font-size:var(--fs-body);font-weight:800;color:var(--cream)}.profile-facts{grid-template-columns:repeat(6,minmax(0,1fr));border-radius:0;border-top:1px solid var(--panel-border)}.profile-facts .fact{padding:var(--s-3) var(--s-4);min-width:0}.profile-facts .fact .v{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:var(--s-4);align-items:start}.profile-grid .list-item{padding:10px 14px}.profile-signout{margin-top:var(--s-2);padding-top:var(--s-3);border-top:1px solid var(--hairline)}@media (max-width: 900px){.profile-facts{grid-template-columns:repeat(3,minmax(0,1fr))}.profile-grid{grid-template-columns:minmax(0,1fr)}}@media (max-width: 560px){.profile-run{width:100%;text-align:left;display:flex;gap:8px;align-items:baseline}.profile-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}.settings-list{display:grid}.setting-option{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--s-2) var(--s-6);align-items:center;padding:var(--s-4) 0;text-align:left}.setting-option+.setting-option{border-top:1px solid var(--hairline)}.setting-option:first-child{padding-top:0}.setting-option:last-child{padding-bottom:0}.setting-option-label{display:grid;gap:2px;min-width:0}.setting-option-title{font-size:var(--fs-body);font-weight:700;color:var(--ink)}.setting-option-desc{font-size:var(--fs-sm);line-height:1.45;color:var(--muted);max-width:44ch}.settings-foot{display:flex;justify-content:flex-end;margin-top:var(--s-4);padding-top:var(--s-4);border-top:1px solid var(--hairline)}@media (max-width: 640px){.setting-option{grid-template-columns:minmax(0,1fr)}label.setting-option{grid-template-columns:minmax(0,1fr) auto}}.option-toggle{display:inline-flex;gap:2px;padding:3px;border-radius:10px;background:var(--paper-inset);border:1px solid var(--hairline)}.option-toggle-btn{height:34px;padding:0 var(--s-3);border:1px solid transparent;border-radius:7px;background:transparent;font:600 var(--fs-sm)/1 var(--font-ui);color:var(--muted);white-space:nowrap;cursor:pointer;transition:color .12s ease,background-color .12s ease,border-color .12s ease}.option-toggle-btn:hover{color:var(--ink)}.option-toggle-btn[aria-pressed=true]{background:var(--lime-tint);border-color:var(--accent-line);color:var(--accent-ink);font-weight:700}.option-toggle-btn:focus-visible{outline:var(--focus-ring);outline-offset:2px}.setting-switch{-moz-appearance:none;appearance:none;-webkit-appearance:none;position:relative;flex:none;width:44px;height:26px;margin:0;border-radius:13px;border:1px solid var(--hairline-20);background:var(--paper-inset);cursor:pointer;transition:background-color .12s ease,border-color .12s ease}.setting-switch:after{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #15171a4d;transition:transform .12s ease}.setting-switch:checked{background:var(--accent-ink);border-color:var(--accent-ink)}.setting-switch:checked:after{transform:translate(18px)}.setting-switch:focus-visible{outline:var(--focus-ring);outline-offset:2px}@media (prefers-reduced-motion: reduce){.option-toggle-btn,.setting-switch,.setting-switch:after{transition:none}}.check-option{display:flex;gap:10px;align-items:flex-start;text-align:left;padding:9px 10px;border:1px solid var(--hairline);border-radius:8px;background:#fff;cursor:pointer;font-size:13px;color:var(--ink)}.check-option span{flex:1}.check-option input{margin-top:2px;flex:0 0 auto;accent-color:var(--blue)}.muted-note{font-size:var(--fs-sm);font-weight:500;line-height:1.6;color:var(--muted);margin:var(--s-3) 0 0;max-width:68ch}.break-stats{margin:12px 0}.break-kinds{border:0;padding:0;margin:0 0 8px;display:grid;gap:6px}.break-kinds legend{font-size:12px;color:var(--muted);margin-bottom:6px}.break-secondary{display:flex;justify-content:flex-end;margin-top:6px}.review-reconcile{font-size:12px;color:var(--muted);margin-top:10px}@media (max-width: 1080px){.live-panel{width:min(300px,calc(50vw - 36px))}.live-week{left:var(--s-6)}.live-room{right:var(--s-6)}.live-session{bottom:20px}.session-clock{font-size:28px}.peek-bubble{position:static;width:auto;transform:none}.notice-grid,.result-grid{grid-template-columns:1fr}.result-grid>*{min-height:0}.notes-grid{grid-template-columns:1fr;height:auto}.notes-index-list{max-height:220px;overflow:auto}.notes-page{min-height:420px}.runner-body{grid-template-columns:1fr}.an-shell{flex-direction:column;align-items:stretch}.an-index{position:static;flex:none;width:100%}.bp-arch-grid{display:flex;overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:var(--s-2)}.bp-arch-node{flex:0 0 104px;scroll-snap-align:center}.bp-arch-baseline{display:none}}@media (max-width: 720px){.live{overflow-y:auto}.live-panel{position:static;width:auto;max-height:none;margin:12px 12px 0}.live-room{height:auto}.live-room>.room-board-scroll{overflow:visible}.live-session{margin:12px}.live-menu-btn{position:sticky;top:12px;margin-left:auto;margin-right:12px;display:block}.live-return{position:sticky;top:12px;margin:12px;display:inline-block}}@media (prefers-reduced-motion: reduce){.btn,.an-tab,.an-heat-cell,.an-bar{transition:none}.an-heat-cell:hover{transform:none}}@media (max-width: 720px){.dock{bottom:10px}.dock-btn{padding:0 10px}.review-card{padding:22px 18px}.review-hero-value{font-size:42px}.podium{grid-template-columns:repeat(3,minmax(0,1fr))}}.test-list{display:grid;gap:var(--s-1)}.test-row{display:flex;gap:var(--s-3);align-items:center;justify-content:space-between;padding:9px 14px;border:1px solid var(--hairline);border-radius:var(--radius);background:#fff;color:var(--ink)}.test-row-main{display:grid;gap:2px;min-width:0}.test-row-title{font-size:var(--fs-body);font-weight:700;letter-spacing:-.005em}.test-row-sub{font-family:var(--font-mono);font-size:var(--fs-micro);font-weight:500;letter-spacing:.03em;color:var(--muted)}.test-row-rank{font-family:var(--font-mono);font-size:var(--fs-label);color:var(--muted)}.test-row-actions{flex-shrink:0;display:flex;gap:var(--s-2);flex-wrap:wrap}.test-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-3);width:min(100%,620px);margin-block:var(--s-1) var(--s-2)}.test-tabs button[role=tab]{min-width:0;height:44px;padding:0 var(--s-6);border:1px solid var(--panel-border);border-radius:8px;background:rgb(var(--wash-rgb) / .06);color:var(--on-dark-60);cursor:pointer;font-family:var(--font-mono);font-size:var(--fs-label);font-weight:600;letter-spacing:.04em}.test-tabs button[role=tab]:hover{background:rgb(var(--wash-rgb) / .1);color:var(--on-dark)}.test-tabs button[role=tab].active{background:var(--blue);color:#fff;border-color:var(--blue)}.test-tabs button[role=tab]:focus-visible{outline:var(--focus-ring);outline-offset:2px}@media (max-width: 520px){.test-tabs{gap:var(--s-2)}.test-tabs button[role=tab]{padding-inline:var(--s-2)}}.test-review-list{display:grid;gap:var(--s-4)}.test-runner-grace{margin:0;font-size:var(--fs-sm);font-weight:700;color:var(--coral-soft)}.theme-switch{position:fixed;top:calc((var(--topbar-h) - 36px) / 2);right:var(--s-5);z-index:41;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;border:1px solid var(--panel-border);background:rgb(var(--surface-rgb) / .6);color:var(--on-dark-75);cursor:pointer;transition:color .12s ease,border-color .12s ease}.theme-switch:after{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px}.theme-switch:hover{color:var(--on-dark);border-color:var(--panel-border-strong)}.theme-switch:focus-visible{outline:var(--focus-ring);outline-offset:2px}.title-card{max-width:440px;color:var(--on-dark);background:rgb(var(--surface-rgb) / .8);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--panel-border);box-shadow:var(--modal-shadow)}.title-head{display:grid;gap:var(--s-4)}.card-title{margin:0;font-size:26px;font-weight:800;letter-spacing:-.02em;line-height:1.15;color:var(--on-dark)}.brand-logo{display:block;height:64px;width:auto;max-width:100%;margin:-14px 0 -14px -14px}.brand-logo-on-light{display:none}:root[data-appearance=light] .brand-logo-on-dark{display:none}:root[data-appearance=light] .brand-logo-on-light{display:block}.title-card .field-label{color:var(--on-dark-60)}.field-label-row{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s-3)}.title-card .field-input{color:var(--on-dark);background-color:rgb(var(--well-rgb) / .22);border-width:1px;border-color:var(--panel-border-strong)}.title-card .field-input::placeholder{color:var(--on-dark-50)}.title-card .field-input:hover{border-color:rgb(var(--wash-rgb) / .3)}.title-card .field-input:focus-visible{background-color:rgb(var(--well-rgb) / .22);border-color:var(--blue-ink)}.title-card .field-input:-webkit-autofill{-webkit-text-fill-color:var(--on-dark);box-shadow:0 0 0 100px rgb(var(--surface-rgb)) inset;caret-color:var(--on-dark)}.title-card .onboarding-divider{color:var(--on-dark-50)}.title-card .onboarding-divider:before,.title-card .onboarding-divider:after{background:var(--panel-border)}.title-card .title-status{color:var(--on-dark-60)}.title-card .title-foot{color:var(--on-dark-60);border-top-color:var(--panel-border)}.title-switch{margin:0;text-align:center;font-size:var(--fs-sm);color:var(--on-dark-60)}.title-card .btn.google-btn{background:#fff;border-color:#15171a29;color:#1f1f1f}.google-btn-wrapper{position:relative;width:100%}.google-icon-badge{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;flex-shrink:0}.google-btn-overlay{position:absolute;top:0;left:0;width:100%;height:100%;opacity:.0001;z-index:2;overflow:hidden;cursor:pointer}.google-btn-overlay[data-disabled=true]{pointer-events:none}.title-card .google-btn-wrapper:hover .btn.google-btn:not([disabled]){background:#eef0ea}.google-btn-wrapper:active .btn.google-btn:not([disabled]){transform:scale(.99)}.break-surface,.noticeboard{width:min(520px,100%)}.escape-resume{justify-content:space-between}.feed-text{display:inline}.drag-target{display:grid;gap:var(--s-2)}.nb-meta{color:var(--on-dark-60);font-size:var(--fs-body)}.nb-mono{font-family:var(--font-mono)}.nb-result-line{font-size:var(--fs-md);padding:var(--s-3) 0;border-top:1px solid var(--panel-border);border-bottom:1px solid var(--panel-border);color:var(--on-dark)}.nb-warn{color:var(--amber-on-dark);font-weight:600}.nb-sheet{background:var(--paper);border:1px solid var(--hairline);border-radius:var(--radius);padding:var(--s-6) var(--s-6) var(--s-8);box-sizing:border-box}.nb-heading{text-align:center;font-family:var(--font-mono);font-size:var(--fs-body);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);margin:0;padding-bottom:var(--s-1)}.nb-subhead{text-align:center;font-family:var(--font-mono);font-size:var(--fs-label);color:var(--muted);margin:0 0 var(--s-5)}.nb-table{width:100%;table-layout:fixed;border-collapse:collapse;font-size:var(--fs-body)}.nb-table th{padding:10px 8px;border-bottom:2px solid var(--ink);font-weight:600;font-size:var(--fs-label);color:var(--ink)}.nb-table td{padding:9px 8px;border-bottom:1px solid var(--hairline);color:var(--ink)}.nb-cell-rank{width:72px;text-align:right;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.nb-cell-change{width:3.5em;text-align:center;font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--fs-label);white-space:nowrap;padding-left:0}.nb-change{font-weight:700}.nb-change.up{color:var(--lime-deep)}.nb-change.down{color:var(--coral-deep)}.nb-change.same{color:var(--muted);font-weight:400}.nb-cell-name{text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nb-cell-correct{width:7.5em;white-space:nowrap;text-align:right;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.nb-cell-score{width:4.5em;text-align:right;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.nb-cell-mark{width:1.5em;text-align:center;font-size:var(--fs-label);padding-right:0;-webkit-user-select:none;user-select:none}.nb-learner{font-weight:700}.nb-learner .nb-cell-name span{text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:3px}.nb-actions{display:flex;align-items:center;gap:var(--s-3);flex-wrap:wrap;margin-top:var(--s-4)}.nb-error{display:flex;flex-direction:column;align-items:center;gap:var(--s-3);padding:var(--s-6) 0;color:var(--muted);text-align:center}.nb-error p{margin:0;font-size:var(--fs-body)}.nb-review-container{margin-top:var(--s-4)}@media (max-width: 600px){.nb-sheet{padding:var(--s-5) var(--s-3) var(--s-6)}.nb-table th,.nb-table td{padding:8px 4px}}.an-stat-delta{font-family:var(--font-mono);font-size:var(--fs-micro);color:var(--muted);margin-top:var(--s-1);white-space:nowrap}.an-section-bar-list{display:grid;gap:var(--s-2)}.an-section-bar-row{display:grid;grid-template-columns:minmax(0,180px) minmax(0,1fr) auto auto;gap:var(--s-3);align-items:center;min-height:40px;border:0;background:transparent;padding:0;cursor:pointer;text-align:left;font:inherit;width:100%}.an-section-bar-row:focus-visible{outline:var(--focus-ring);outline-offset:3px;border-radius:var(--radius-sm)}.an-section-bar-label{font-family:var(--font-ui);font-size:var(--fs-sm);font-weight:600;color:var(--body);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.an-section-bar-track{height:12px;border-radius:4px;background:var(--paper-inset);overflow:hidden;min-width:0}.an-section-bar-fill{height:100%;background:var(--lime-deep);border-radius:4px}.an-section-bar-value{font-family:var(--font-mono);font-size:var(--fs-label);color:var(--muted);text-align:right;white-space:nowrap}.an-section-bar-arrow{color:var(--faint);font-size:var(--fs-body)}@media (max-width: 560px){.an-section-bar-row{grid-template-columns:minmax(0,1fr) auto auto;grid-template-areas:"label label label" "track value arrow";row-gap:var(--s-1)}.an-section-bar-label{grid-area:label}.an-section-bar-track{grid-area:track}.an-section-bar-value{grid-area:value}.an-section-bar-arrow{grid-area:arrow}}.an-chart-line.rank{stroke:var(--muted);stroke-dasharray:6 4}.an-chart-point.rank{fill:var(--paper);stroke:var(--muted);stroke-width:2}.an-chart-legend .score{color:var(--lime-deep)}.an-chart-legend .rank{color:var(--muted)}.an-chart-legend .rank:before{content:"";width:18px;height:2px;border-radius:1px;background:currentColor;border-top:1px dashed currentColor}.an-table{width:100%;border-collapse:collapse;font-size:var(--fs-sm);margin-top:var(--s-2)}.an-table th{padding:8px 12px;font-family:var(--font-mono);font-size:var(--fs-micro);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);text-align:left;border-bottom:1px solid var(--hairline)}.an-table td{padding:10px 12px;border-bottom:1px solid var(--hairline);color:var(--body)}.an-table-row{cursor:pointer;transition:background .12s ease}.an-table-row:hover{background:var(--paper-inset)}.an-table-row:focus-within{background:var(--paper-inset)}.an-table .an-col-date{font-family:var(--font-mono);font-size:var(--fs-label);color:var(--muted);white-space:nowrap}.an-table .an-col-mono{font-family:var(--font-mono);font-size:var(--fs-label);text-align:right;white-space:nowrap}.an-table .an-col-name{max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.an-table-btn{background:none;border:0;padding:0;font:inherit;font-weight:600;color:var(--ink);cursor:pointer;text-align:left;display:block;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.an-table-btn:focus-visible{outline:var(--focus-ring);outline-offset:2px;border-radius:4px}.an-table-sub{font-family:var(--font-mono);font-size:var(--fs-micro);color:var(--muted);margin-top:2px}@media (max-width: 480px){.an-table .an-col-date{display:none}.an-table .an-col-name{max-width:140px}}.an-class-headline{display:flex;gap:var(--s-6);flex-wrap:wrap;align-items:flex-end;justify-content:space-between}.an-class-headline-main{display:flex;flex-direction:column;gap:var(--s-1)}.an-class-rank-title{font-size:var(--fs-xl);font-weight:700;color:var(--ink)}.an-class-rank-title .mono{font-family:var(--font-mono)}.an-class-sub{font-size:var(--fs-sm);color:var(--muted)}.an-class-sub .mono{font-family:var(--font-mono)}.an-class-headline-side{display:flex;flex-direction:column;gap:var(--s-1)}.an-class-alltime{font-family:var(--font-mono);font-size:var(--fs-lg);font-weight:700;color:var(--ink)}.an-class-grid{display:flex;gap:var(--s-4);flex-wrap:wrap;align-items:flex-start}.an-class-board-card{flex:1 1 520px;min-width:0}.an-class-side-cards{flex:1 1 280px;min-width:0;display:grid;gap:var(--s-4)}.an-latest-test-figures{display:flex;gap:var(--s-5);margin:var(--s-3) 0 var(--s-2)}.an-latest-test-fig{display:flex;flex-direction:column}.an-latest-test-fig .v{font-family:var(--font-mono);font-size:var(--fs-xl);font-weight:700;color:var(--ink)}.an-latest-test-fig .l{font-size:var(--fs-micro);color:var(--muted);margin-top:2px}.an-latest-test-fig .l .mono{font-family:var(--font-mono)}.an-latest-test-date{font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--muted);margin-bottom:var(--s-3)}@media (max-width: 720px){:root{--phone-scene-h: 42vh}@supports (height: 1svh){:root{--phone-scene-h: 42svh}}.room-home,.live{display:flex;flex-direction:column;overflow-y:auto;overscroll-behavior:contain}.live-canvas,.live-fallback{position:sticky;inset:0 auto auto;flex:none;height:var(--phone-scene-h);z-index:10;border-bottom:1px solid var(--panel-border)}.room-backdrop:not(.dim){bottom:auto;height:var(--phone-scene-h);border-bottom:1px solid var(--panel-border)}.room-backdrop:not(.dim) .room-backdrop-scrim{display:none}.room-home{margin-top:var(--phone-scene-h);height:calc(100% - var(--phone-scene-h));background:var(--room-ink)}.room-home-grid{flex:1 0 auto;height:auto;min-height:0;padding:var(--s-3) var(--s-3) var(--dock-space);gap:var(--s-3)}.room-center{padding:0;gap:var(--s-3)}.dock{position:fixed;left:0;right:0;bottom:0;transform:none;max-width:none;overflow:visible;gap:0;padding:4px 4px calc(4px + env(safe-area-inset-bottom));border-width:1px 0 0;border-radius:0;background:#121412f5}.dock-sep{display:none}.dock-btn{flex:1 1 0;min-width:0;flex-direction:column;justify-content:center;gap:5px;height:46px;padding:0 2px;font-size:9px;letter-spacing:.02em}.dock-btn .dock-label{max-width:100%;overflow:hidden;text-overflow:ellipsis}.dock-btn .dock-label-long{display:none}.dock-btn .dock-label-short{display:inline}.live>*{flex-shrink:0}.live-panel{margin:0 12px 12px;max-height:none;overflow:visible}.live>.peek-bubble{order:1;margin:12px 12px 0}.live-session{order:2;margin:12px}.live-room{order:3;height:auto}.live-room>.room-board-scroll{overflow:visible}.live-week{order:4}}.review-toolbar{display:flex;gap:var(--s-2);align-items:center;margin-bottom:var(--s-3)}.review-search{flex:1 1 auto;min-width:0;height:38px;padding:0 var(--s-3);border-radius:var(--radius-sm);background:var(--paper-inset);color:var(--ink);border:1px solid var(--panel-border);font-family:var(--font-ui);font-size:var(--fs-body)}.review-search:focus{outline:var(--focus-ring);outline-offset:1px}.review-tool-btn{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;height:38px;padding:0 14px;border-radius:var(--radius-sm);font-size:var(--fs-body);font-weight:600;border:1px solid var(--panel-border);background:var(--paper-inset);color:var(--muted);cursor:pointer;transition:color .12s ease,border-color .12s ease}.review-tool-btn:hover,.review-tool-btn[aria-expanded=true]{color:var(--ink);border-color:var(--panel-border-strong)}.review-tool-count{min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--blue);color:var(--on-accent);font-size:var(--fs-micro);line-height:18px;text-align:center}.review-filter-panel{display:flex;flex-wrap:wrap;gap:var(--s-3);align-items:flex-end;padding:var(--s-3);margin-bottom:var(--s-4);border-radius:var(--radius-md);background:var(--panel);border:1px solid var(--panel-border)}.review-filter-panel[hidden]{display:none}.review-filter-field{flex:1 1 180px;min-width:0;display:grid;gap:6px;font-family:var(--font-mono);font-size:var(--fs-label);font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--on-dark-60)}.review-filter-field select{--select-pad: var(--s-3);width:100%;height:38px;border-radius:var(--radius-sm);background-color:var(--paper-inset);color:var(--ink);border:1px solid var(--panel-border);font-family:var(--font-ui);font-size:var(--fs-body);font-weight:500;text-transform:none;letter-spacing:normal}.review-filter-clear{flex:0 0 auto;height:38px;padding:0 var(--s-2);background:none;border:none;color:var(--on-dark-60);font-size:var(--fs-body);font-weight:600;text-decoration:underline;cursor:pointer}.review-filter-clear:hover{color:var(--on-dark)}.review-days-list{display:flex;flex-direction:column;gap:var(--s-6)}.review-day{margin-bottom:var(--s-2)}.review-day-header{font-family:var(--font-mono);font-size:var(--fs-sm);font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--on-dark-60);margin-bottom:var(--s-3)}.review-source-group+.review-source-group{margin-top:var(--s-4)}.review-source-header{display:flex;align-items:baseline;gap:var(--s-2);margin:0 0 var(--s-2);font-family:var(--font-mono);font-size:var(--fs-micro);font-weight:700;text-transform:uppercase;letter-spacing:.06em}.review-source-name{color:var(--on-dark)}.review-source-count{color:var(--on-dark-50);font-weight:600}.review-day-items,.review-item-group{display:flex;flex-direction:column;gap:var(--s-2)}.review-item-row{display:flex;align-items:center;gap:var(--s-3);width:100%;padding:12px 16px;border-radius:var(--radius-md);background:var(--panel);border:1px solid var(--panel-border);color:var(--on-dark);cursor:pointer;text-align:left;font-family:inherit;font-size:var(--fs-body);transition:background .12s ease,border-color .12s ease}.review-item-row:hover{background:var(--panel-strong);border-color:var(--panel-border-strong)}.review-item-stem{flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.review-item-mark{font-family:var(--font-mono);font-size:14px;font-weight:700;flex-shrink:0}.review-item-mark.correct{color:var(--lime-text)}.review-item-mark.wrong{color:var(--coral-soft)}.review-item-mark.blank{color:var(--on-dark-50)}.review-item-detail{padding-left:var(--s-2)}.review-empty-filter{color:var(--on-dark-60);font-size:var(--fs-body);margin-top:var(--s-4)}.quiz-result-stack{display:grid;gap:var(--s-4)}.quiz-score{display:flex;align-items:baseline;gap:var(--s-4);flex-wrap:wrap;margin-top:var(--s-2)}.quiz-score-pct{font-family:var(--font-mono);font-size:var(--fs-display);font-weight:700;line-height:1;font-variant-numeric:tabular-nums}.quiz-score-count{font-size:var(--fs-md);color:var(--ink)}.quiz-domains{margin-top:var(--s-3);gap:var(--s-3)}.quiz-domains .an-bar-label{font-size:var(--fs-body)}.quiz-domains .an-bar-value{font-size:var(--fs-sm);color:var(--ink)}.quiz-revisit-list{display:grid;gap:var(--s-4);margin-top:var(--s-3)}.quiz-revisit-list .review-q-status,.quiz-revisit-list .review-q-number{font-size:var(--fs-label)}.quiz-domains .an-bar-row{grid-template-columns:minmax(180px,2fr) 3fr auto}.quiz-domains .an-bar-label{white-space:normal;overflow:visible;text-overflow:clip}.quiz-revisit-list>.review-q{border:1px solid rgba(21,23,26,.12);border-radius:var(--radius);padding:var(--s-4);background:#fff}.flag-control{display:inline-flex;align-items:center;gap:var(--s-2)}.flag-btn{border:0;padding:2px 4px;background:transparent;color:#15171a99;font:inherit;font-size:var(--fs-sm);cursor:pointer;white-space:nowrap}.flag-btn[aria-pressed=true]{color:var(--amber-text);font-weight:700}.flag-error{color:var(--coral-deep);font-size:var(--fs-sm)}.review-item-flag{color:var(--amber-on-dark);font-size:var(--fs-sm);flex-shrink:0}.runner-foot .flag-control{margin-left:auto}.flag-toggle[aria-pressed=true]{color:var(--amber-text);border-color:currentColor;font-weight:700}.review-q .flag-control{margin-left:auto;margin-right:var(--s-3)}.review-tool-btn[aria-pressed=true]{color:var(--amber-text);border-color:var(--amber);box-shadow:inset 0 0 0 1px var(--amber)}.audio-player{display:flex;align-items:center;gap:var(--s-3);width:100%;margin-top:var(--s-2);color:inherit}.audio-player-toggle{width:32px;height:32px;border-radius:999px;background:var(--blue);color:var(--on-accent);border:none;padding:0;display:inline-flex;align-items:center;justify-content:center;flex:none;cursor:pointer;transition:background .15s ease,transform .1s ease}.audio-player-toggle:hover{background:var(--blue-hover)}.audio-player-toggle:active{transform:scale(.96)}.audio-player-toggle svg{display:block}.audio-player-seek{flex:1;min-width:0;height:6px;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:3px;outline:none;cursor:pointer;background:linear-gradient(to right,var(--blue) 0%,var(--blue) var(--seek-progress, 0%),color-mix(in srgb,currentColor 20%,transparent) var(--seek-progress, 0%),color-mix(in srgb,currentColor 20%,transparent) 100%)}.audio-player-seek::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:13px;height:13px;border-radius:50%;background:var(--blue);border:2px solid var(--on-accent);box-shadow:0 1px 3px #00000040;cursor:pointer}.audio-player-seek::-moz-range-thumb{width:13px;height:13px;border-radius:50%;background:var(--blue);border:2px solid var(--on-accent);box-shadow:0 1px 3px #00000040;cursor:pointer}.audio-player-time{font-size:var(--fs-sm);font-variant-numeric:tabular-nums;color:inherit;white-space:nowrap;flex:none}.reflection-transcript{margin:var(--s-3) 0;padding:var(--s-3) var(--s-4);border-left:3px solid var(--blue);background:var(--paper-inset);color:var(--ink);font-style:italic;border-radius:0 var(--radius-sm, 6px) var(--radius-sm, 6px) 0}.professor-chip{display:inline-flex;align-items:center;gap:var(--s-2);padding:var(--s-1) var(--s-3);border-radius:999px;background:var(--paper-inset);border:1px solid var(--hairline);font-size:var(--fs-sm);color:var(--muted);margin:var(--s-2) 0}.handback-card{display:flex;flex-direction:column;gap:var(--s-3);margin-block:var(--s-3)}.handback-skills{padding:var(--s-3) var(--s-4);border:1px solid var(--hairline);border-radius:var(--radius-md);background:var(--paper-inset)}.handback-skills h3{margin:0 0 var(--s-2);font-size:var(--fs-sm);font-weight:700;color:var(--ink)}.handback-skills ul{margin:0;padding-left:var(--s-4);display:grid;gap:var(--s-1)}.handback-skills li{font-size:var(--fs-sm);line-height:1.5;color:var(--ink)}.handback-spotlight{font-size:var(--fs-sm);color:var(--muted);margin:var(--s-1) 0 var(--s-3)}.listen-bar{position:sticky;bottom:calc(var(--dock-space) + var(--s-2));z-index:3;display:flex;align-items:center;gap:var(--s-3);margin-top:var(--s-4);padding:var(--s-3) var(--s-4);color:var(--on-dark)}.listen-bar.glass-panel{background:var(--float-bg);border-color:var(--float-border);box-shadow:var(--dock-shadow)}.listen-bar p{margin:0}.listen-bar-copy{display:grid;gap:2px;min-width:0}.listen-bar .audio-player{flex:1;min-width:120px}.sp-row.playing{isolation:isolate}.sp-row.playing:after{content:"";position:absolute;top:-1px;right:-8px;bottom:-1px;left:-8px;z-index:-1;border-radius:var(--radius);background:var(--blue-tint-strong)}.rhythm-chips{display:flex;flex-wrap:wrap;gap:var(--s-2);margin-block:var(--s-2)}.rhythm-chip{border:1px solid rgba(21,23,26,.18);border-radius:999px;padding:4px 10px;font-family:var(--font-ui);font-size:var(--fs-sm);background:transparent;display:inline-flex;align-items:center;gap:6px;cursor:pointer;color:inherit}.rhythm-chip[aria-pressed=true]{border-color:currentColor;font-weight:700}.rhythm-chip:disabled{opacity:.45;cursor:default}.rhythm-swatch{width:10px;height:10px;border-radius:50%;display:inline-block;flex-shrink:0}.an-chart-line.rhythm-overlay{stroke-width:2}.an-chart-line.rhythm-overlay.dashed{stroke-dasharray:6 5}.rhythm-readout{list-style:none;padding:0;margin-top:var(--s-2);display:grid;grid-template-columns:auto 1fr auto;gap:4px 10px;align-items:center;font-size:var(--fs-sm)}.rhythm-readout li{display:contents}.rhythm-value{font-family:var(--font-mono)}.recall-modal{width:min(640px,calc(100vw - 32px));max-height:min(860px,calc(100vh - 32px));overflow-y:auto}.recall-head{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3)}.recall-step{font-family:var(--font-mono);font-size:var(--fs-label);color:var(--muted)}.recall-dots{display:flex;gap:6px;margin-top:var(--s-2)}.recall-dot{width:8px;height:8px;border-radius:50%;background:#15171a24}.recall-dot.is-done{background:var(--ok, #2f7d4f)}.recall-dot.is-current{background:var(--accent, #2f5fcc)}.recall-sub{color:var(--muted);font-size:var(--fs-sm);margin:var(--s-1) 0 var(--s-3)}.recall-actions{display:flex;flex-wrap:wrap;gap:var(--s-2);margin-top:var(--s-4);align-items:center}.recall-actions .push{margin-left:auto}.recall-recording{display:flex;flex-direction:column;gap:var(--s-2);padding:var(--s-3);border-radius:12px;background:#ae242414}.recall-recording-row{display:flex;align-items:center;gap:var(--s-3)}.recall-timer{font-family:var(--font-mono)}.recall-rec-dot{width:12px;height:12px;border-radius:50%;background:#b42318;box-shadow:0 0 0 5px #b423181f}.recall-textarea{width:100%;min-height:140px;font:inherit;padding:var(--s-3);border-radius:10px;border:1px solid rgba(21,23,26,.18);resize:vertical}.recall-processing{padding:var(--s-4);border-radius:12px;background:#2f5fcc0f;color:var(--muted)}.recall-error{padding:var(--s-2) var(--s-3);border-radius:10px;border:1px solid rgba(180,35,24,.35);color:#8f2018;background:#b423180f}.recall-hint{color:var(--muted);font-size:var(--fs-sm);line-height:1.45;margin:var(--s-2) 0 0}.recall-hint-label{font-weight:600;color:var(--ink);margin-right:var(--s-1)}.recall-prompt{margin:var(--s-3) 0;padding:var(--s-3) var(--s-4);border-left:3px solid var(--blue);border-radius:0 10px 10px 0;background:var(--paper);font-size:1.05rem;line-height:1.45}.recall-saved{margin:var(--s-2) 0 var(--s-3);font-weight:600}.ret-move{display:grid;grid-template-columns:1fr auto;gap:4px var(--s-3);align-items:center;margin-top:var(--s-3)}.ret-move-label{font-size:var(--fs-sm)}.ret-move-nums{font-family:var(--font-mono);font-size:var(--fs-sm)}.ret-bar{display:block;grid-column:1 / -1;height:6px;border-radius:3px;background:#15171a14;overflow:hidden}.ret-bar>span{display:block;height:100%;border-radius:3px}.ret-bar .steady{background:#2f7d4f}.ret-bar .fading{background:#c58a1b}.ret-bar .low{background:#b4532a}.recall-q-stem{font-size:var(--fs-body);line-height:1.5;white-space:pre-wrap}.recall-opt.is-correct{border-color:#2f7d4f;background:#2f7d4f14}.recall-opt.is-missed{border-color:#b4231866}.recall-explanation{margin-top:var(--s-3);padding:var(--s-3);border-radius:10px;background:#15171a0a;font-size:var(--fs-sm);line-height:1.55;white-space:pre-wrap}.recall-verdict{font-weight:700;margin-top:var(--s-3)}.recall-panel .glass-btn{margin-top:var(--s-3)}.recall-panel-foot{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s-2);margin-top:var(--s-3)}.recall-link{background:none;border:0;padding:0;color:inherit;text-decoration:underline;cursor:pointer;font:inherit;font-size:var(--fs-label)}.ret-hero{font-family:var(--font-mono);font-size:var(--fs-display);font-weight:700;line-height:1}.ret-week{margin-top:var(--s-4)}.ret-week-label{font-family:var(--font-mono);font-size:var(--fs-label);color:var(--muted);margin-bottom:var(--s-2)}.ret-rows{list-style:none;margin:0;padding:0;display:grid;gap:var(--s-2)}.ret-row-wrap{display:flex;align-items:center;gap:8px}.ret-row-wrap .ret-row{flex:1}.ret-row{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:6px var(--s-3);align-items:center;text-align:left;padding:var(--s-2) var(--s-3);border-radius:10px;border:1px solid rgba(21,23,26,.08);background:var(--paper);cursor:pointer;font:inherit;color:inherit}.ret-row:hover{background:#15171a08}.ret-row:focus-visible{outline:var(--focus-ring);outline-offset:2px}.ret-row-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ret-row-pct{font-family:var(--font-mono)}.ret-row .ret-bar{grid-column:1 / -1}.mem-drawer{width:min(460px,100vw);padding:var(--s-6);overflow-y:auto}.mem-list{list-style:none;margin:var(--s-2) 0 var(--s-4);padding:0;display:grid;gap:var(--s-2)}.mem-skill{display:grid;grid-template-columns:1fr auto;gap:4px var(--s-2);font-size:var(--fs-sm)}.mem-skill .ret-bar{grid-column:1 / -1}.mem-muted{color:var(--muted);font-size:var(--fs-label)}.mem-event{display:grid;grid-template-columns:auto 1fr auto;gap:var(--s-2);font-size:var(--fs-sm);align-items:baseline}.mem-event .mono{font-family:var(--font-mono);font-size:var(--fs-label)}.mem-more{margin:0 0 var(--s-4)}.mem-more summary{cursor:pointer;color:var(--muted);font-size:var(--fs-sm)}.mem-more .mem-list{margin-top:var(--s-2)}.sp-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px;margin-bottom:14px}.sp-toolbar-actions{display:flex;flex-wrap:wrap;gap:8px}.sp-header{display:inline-flex;flex-wrap:wrap;align-items:baseline;gap:6px;font-size:var(--fs-md);color:var(--on-dark-75)}.sp-header .mono,.sp-line .mono,.sp-sheet .mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.sp-header b{font-weight:800}.sp-pace.behind{color:var(--amber-on-dark)}.sp-line,.sp-rows{list-style:none;margin:0;padding:0}.sp-line{--sp-node-y: 22px;padding:6px 14px;border:1px solid var(--panel-border);border-radius:var(--radius-lg);background:var(--panel);color:var(--on-dark)}.sp-item{position:relative;display:flex;align-items:center;gap:10px;min-height:44px;padding:7px 0 7px 34px}.sp-item:before{content:"";position:absolute;left:13px;top:0;bottom:0;width:2px;background:var(--panel-border-strong)}.sp-item.filled:before{background:var(--lime)}.sp-item.here:before{background:linear-gradient(var(--lime) var(--sp-node-y),var(--panel-border-strong) var(--sp-node-y))}.sp-line>.sp-week:first-child>.sp-week-item:before{top:var(--sp-node-y)}.sp-exam:before{bottom:auto;height:var(--sp-node-y)}.sp-node{position:absolute;left:14px;top:var(--sp-node-y);transform:translate(-50%,-50%);box-sizing:border-box;background:var(--room-ink)}.sp-node.week{width:12px;height:12px;border:2px solid var(--on-dark-50)}.sp-node.sec{width:10px;height:10px;border-radius:50%;border:2px solid var(--on-dark-45)}.sp-node.sec.done{background:var(--lime);border-color:var(--lime)}.sp-node.test{width:8px;height:8px;border:2px solid var(--on-dark-50)}.sp-node.here{width:20px;height:20px;border-radius:50%;border:3px solid var(--lime);box-shadow:0 0 0 3px var(--lime-tint)}.sp-node.exam{padding:2px;font-size:15px;line-height:1;color:var(--on-dark)}.sp-item.filled>.sp-node.week,.sp-item.filled>.sp-node.test{background:var(--lime);border-color:var(--lime)}.sp-week-head{flex:1;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;min-width:0;padding:4px 0;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.sp-week-head.static{cursor:default}.sp-week-head:focus-visible{outline:var(--focus-ring);outline-offset:2px}.sp-week-title{font-family:var(--font-mono);font-size:var(--fs-body);font-weight:800}.sp-week-meta{font-size:var(--fs-label);color:var(--on-dark-50)}.sp-week.current .sp-week-title{color:var(--lime-soft)}.sp-week.current>.sp-week-item>.sp-node.week{border-color:var(--lime);box-shadow:0 0 0 3px var(--lime-tint)}.sp-week-head .sp-tag.now{align-self:center;background:var(--lime-tint-strong);color:var(--lime-text);border:1px solid rgb(var(--accent-rgb) / .45)}.sp-week.future .sp-week-title{color:var(--on-dark-60)}.sp-heavy{color:var(--amber-on-dark)}.sp-row-main{flex:1 1 auto;display:flex;flex-direction:column;gap:4px;min-width:0;padding:2px 0;border:0;background:none;color:var(--cream);font:inherit;text-align:left;cursor:pointer}.sp-row-main.static{cursor:default}.sp-row-main:focus-visible{outline:var(--focus-ring);outline-offset:2px;border-radius:4px}button.sp-row-main:hover .sp-row-title{text-decoration:underline;text-underline-offset:3px}.sp-row-title{font-size:var(--fs-body);font-weight:700;line-height:1.35;overflow-wrap:anywhere}.sp-row-sub{font-size:var(--fs-label);color:var(--on-dark-50)}.sp-row.muted .sp-row-title,.sp-row.locked .sp-row-title,.sp-test.locked .sp-row-title{color:var(--on-dark-60);font-weight:600}.sp-tags{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.sp-tag{padding:2px 8px;border-radius:999px;font-size:var(--fs-micro);font-weight:800;letter-spacing:.02em}.sp-tag.here{background:var(--lime);color:var(--ink)}.sp-tag.class{border:1px dashed var(--on-dark-60);color:var(--on-dark-75)}.sp-tag-note{font-size:var(--fs-micro);color:var(--on-dark-50)}.sp-slot{flex:none;display:inline-flex;align-items:center;gap:6px;margin-left:auto;font-size:var(--fs-label);color:var(--on-dark-60);white-space:nowrap}.sp-act{flex:none;display:inline-flex;align-items:center;gap:4px}.sp-check{color:var(--lime-soft);font-weight:800}.sp-today{color:var(--lime-soft);font-weight:700}.sp-missed{color:var(--amber-on-dark);font-weight:700}.sp-memory{display:inline-flex;align-items:center;gap:6px}.sp-bar{display:inline-block;width:56px;height:4px;border-radius:2px;overflow:hidden;background:rgb(var(--wash-rgb) / .12)}.sp-bar>span{display:block;height:100%;background:var(--lime-soft-fill)}.sp-memory.due .sp-bar>span{background:var(--amber-on-dark-fill)}.sp-memory.due .mono{color:var(--amber-on-dark)}.sp-test.avail-available{background:var(--lime-tint);border-radius:var(--radius);padding-right:8px}.sp-exam-label{flex:1;font-weight:800}.sp-row.edit .sp-row-main{flex-direction:row;flex-wrap:wrap;align-items:baseline;gap:4px 8px}.sp-grip{color:var(--on-dark-45);font-weight:800;letter-spacing:-2px}.sp-move select{min-width:92px}@media (max-width: 560px){.sp-line{padding:4px 10px}.sp-row,.sp-test{flex-wrap:wrap;row-gap:6px}.sp-row-main{flex:1 1 180px}.sp-row .sp-act,.sp-test .sp-act,.sp-row.edit .edit-controls{margin-left:auto}}.sp-sheet{width:min(440px,94vw);display:flex;flex-direction:column;gap:10px}.sp-sheet h2{margin:0}.sp-sheet-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.sp-sheet-kicker{margin:0 0 4px;font-size:var(--fs-label);font-weight:700;color:var(--muted)}.sp-sheet-close{flex:none;width:36px;height:36px;border:1px solid var(--hairline-20);border-radius:50%;background:transparent;color:var(--ink);font-size:22px;line-height:1;cursor:pointer}.sp-sheet-close:focus-visible{outline:var(--focus-ring);outline-offset:2px}.sp-sheet-summary{margin:0;font-size:var(--fs-body);line-height:1.5;color:var(--body)}.sp-group{padding-top:12px;border-top:1px solid var(--hairline)}.sp-group h3{margin:0 0 8px;font-size:var(--fs-label);font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.sp-sheet .sp-bar{background:var(--hairline-20)}.sp-sheet .sp-bar>span{background:var(--lime-deep)}.sp-sheet .sp-memory.due .sp-bar>span{background:var(--amber)}.sp-sheet .sp-memory.due .mono{color:var(--amber-text)}.sp-memory.wide .sp-bar{width:140px;height:6px;border-radius:3px}.sp-fact{margin:6px 0 0;font-size:var(--fs-body);color:var(--body)}.sp-facts{display:grid;grid-template-columns:1fr auto;gap:6px 12px;margin:0;font-size:var(--fs-body)}.sp-facts dt{color:var(--muted)}.sp-facts dd{margin:0;text-align:right;color:var(--ink)}.sp-group-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.sp-note-preview{margin:0 0 8px;padding:10px 12px;border-radius:var(--radius);background:var(--paper-inset);font-size:var(--fs-body);line-height:1.5;white-space:pre-line;color:var(--body)}.sp-link{padding:0;border:0;background:none;color:var(--blue);font:inherit;font-size:var(--fs-body);font-weight:700;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.sp-sheet-foot{display:flex;justify-content:flex-end;margin-top:auto;padding-top:12px;border-top:1px solid var(--hairline)}@media (max-width: 720px){.drawer-root:has(.sp-sheet){justify-content:stretch;align-content:end}.drawer.sp-sheet{width:100%;height:auto;max-height:85vh;border-radius:var(--radius-lg) var(--radius-lg) 0 0}}.sp-links{display:flex;flex-wrap:wrap;gap:var(--s-3)}.cs-body{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:var(--s-6);max-width:1160px;width:100%;margin:0 auto;align-items:start}.cs-stage-col{display:flex;flex-direction:column;gap:var(--s-3);min-width:0}.cs-toolbar{display:flex;align-items:center;justify-content:flex-start;gap:var(--s-4)}.cs-tabs{display:inline-flex;gap:var(--s-1);padding:var(--s-1);border:1px solid var(--panel-border);border-radius:var(--radius-md);background:#15171a6b}:root[data-appearance=light] .cs-tabs{background:#15171a0f}.cs-tab{display:flex;align-items:center;justify-content:center;gap:var(--s-2);min-width:118px;border:0;border-radius:var(--radius-sm);padding:9px 16px;background:transparent;color:var(--on-dark-60);font:700 var(--fs-body)/1 var(--font-ui);cursor:pointer;transition:background .16s ease,color .16s ease}.cs-tab:hover{color:var(--on-dark);background:rgb(var(--wash-rgb) / .06)}.cs-tab.active{color:var(--on-dark);background:var(--panel-strong);box-shadow:inset 0 -2px 0 var(--lime)}.cs-tab span{min-width:20px;padding:3px 6px;border-radius:999px;background:rgb(var(--wash-rgb) / .1);color:var(--on-dark-60);font:700 var(--fs-micro)/1 var(--font-mono)}.cs-tab.active span{background:var(--lime-tint-strong);color:var(--lime-soft)}.cs-stage-row{display:flex;align-items:stretch;gap:var(--s-3);padding:var(--s-2) 0}.cs-arrow{flex:0 0 auto;align-self:center;width:42px;height:56px;border-radius:var(--radius-md);border:1px solid var(--panel-border-strong);background:var(--panel);color:var(--on-dark);cursor:pointer;font-size:var(--fs-md);transition:background .16s ease}.cs-arrow:hover{background:var(--panel-strong)}.cs-stage{flex:1 1 auto;min-width:0;height:min(50vh,430px);min-height:320px;border:1px solid var(--panel-border);border-radius:var(--radius-lg);overflow:hidden;background:radial-gradient(60% 54% at 50% 48%,rgb(var(--accent-rgb) / .12),transparent 70%),linear-gradient(180deg,rgb(var(--wash-rgb) / .025),#15171a24);box-shadow:inset 0 1px rgb(var(--wash-rgb) / .04);touch-action:pan-y}.cs-stage-fallback{flex:1 1 auto;min-width:0;height:min(50vh,430px);min-height:320px;border:1px solid var(--panel-border);border-radius:var(--radius-lg);overflow:hidden;background:var(--panel);display:flex;align-items:center;justify-content:center}.cs-stage-fallback p{margin:0;color:var(--on-dark);font:800 var(--fs-display)/1 var(--font-ui)}.cs-strip{display:flex;gap:var(--s-2);overflow-x:auto;scroll-snap-type:x mandatory;padding:var(--s-1) 2px var(--s-3);scrollbar-width:thin}.cs-chip{position:relative;flex:0 0 auto;min-width:112px;scroll-snap-align:center;display:flex;align-items:center;gap:var(--s-2);border-radius:var(--radius);border:1px solid var(--panel-border);background:var(--panel);color:var(--on-dark-75);padding:12px 13px;cursor:pointer;transition:background .16s ease,border-color .16s ease,color .16s ease}.cs-chip:hover{background:var(--panel-strong);color:var(--on-dark)}.cs-chip.active{border-color:rgb(var(--accent-rgb) / .5);background:var(--panel-strong);color:var(--on-dark);box-shadow:inset 0 -3px 0 var(--lime)}.cs-chip-index{color:var(--on-dark-60);font:700 var(--fs-label)/1 var(--font-mono)}.cs-chip-name{font:700 var(--fs-body)/1 var(--font-ui)}.cs-chip-check{margin-left:auto;color:var(--lime-text);font-size:var(--fs-body);font-weight:800}.cs-card{position:sticky;top:var(--s-4);display:flex;flex-direction:column;gap:var(--s-2);padding:var(--s-6);border-radius:var(--radius-lg);background:var(--paper);color:var(--body);box-shadow:var(--card-shadow)}.cs-card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--s-2)}.cs-card-kicker,.cs-card-count{font:700 var(--fs-micro)/1 var(--font-mono);letter-spacing:.1em;text-transform:uppercase}.cs-card-kicker{color:var(--faint)}.cs-card-count{color:var(--lime-deep)}.cs-selected-name{display:flex;flex-direction:column;gap:var(--s-1);padding:var(--s-2) 0 var(--s-3)}.cs-selected-name span{color:var(--ink);font:800 var(--fs-xl)/1.1 var(--font-ui);letter-spacing:-.02em}.cs-selected-name small{color:var(--muted);font:700 var(--fs-sm)/1.2 var(--font-ui);text-transform:capitalize}.cs-card-divider{height:1px;margin-bottom:var(--s-2);background:var(--hairline)}.cs-row{display:flex;justify-content:space-between;align-items:baseline;gap:var(--s-3);padding:5px 0}.cs-row-label{color:var(--faint);font:700 var(--fs-micro)/1 var(--font-mono);text-transform:uppercase;letter-spacing:.08em}.cs-row-value{color:var(--body);font:700 var(--fs-body)/1.3 var(--font-ui);text-align:right}.cs-error{margin:0;font-size:var(--fs-sm);font-weight:600;line-height:1.4;color:var(--coral-deep)}.cs-card-actions{display:grid;gap:var(--s-2);margin-top:var(--s-3)}.cs-card-actions .btn{width:100%}.cs-card .btn.secondary{color:var(--ink);border-color:var(--hairline-20);background:transparent}.cs-card .btn.secondary:hover:not([disabled]){background:var(--paper-inset)}.cs-arrow:focus-visible,.cs-tab:focus-visible,.cs-chip:focus-visible,.cs-card .btn:focus-visible{outline:var(--focus-ring);outline-offset:2px}@media (max-width: 900px){.cs-body{grid-template-columns:minmax(0,1fr)}.cs-arrow{display:none}.cs-card{position:static}}@media (max-width: 560px){.cs-toolbar{align-items:stretch;flex-direction:column}.cs-tabs{display:flex}.cs-tab{min-width:0;flex:1 1 0}.cs-stage{height:390px;min-height:280px}}@media (prefers-reduced-motion: reduce){.cs-body *,.cs-body *:before,.cs-body *:after{transition:none!important;animation:none!important}}.climb{padding:12px 14px}.climb-head{display:flex;justify-content:space-between;gap:8px;white-space:nowrap}.climb-score{font-variant-numeric:tabular-nums}.climb-over{color:var(--lime-soft)}.climb-svg{display:block;margin-top:8px;overflow:hidden;border-radius:4px}.climb{--climb-peak: #fff;--climb-cloud: #fff;--climb-glow: #fff}:root[data-appearance=light] .climb{--climb-peak: #4a6488;--climb-cloud: #7f93b0;--climb-glow: var(--blue)}.climb-peak-stop{stop-color:var(--climb-peak)}.climb-cloud-stop{stop-color:var(--climb-cloud)}.climb-world{transition:transform .9s cubic-bezier(.22,1,.36,1)}.climb-hachure{fill:none;stroke:var(--on-dark);stroke-opacity:.22;stroke-width:.7}.climb-mate{fill:var(--room-ink-2);stroke:var(--on-dark);stroke-opacity:.7;stroke-width:1}.climb-ahead{fill:none;stroke:var(--on-dark);stroke-opacity:.55;stroke-width:1.4;stroke-dasharray:2 4}.climb-route{fill:none;stroke:var(--on-dark);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.climb-glow{fill:none;stroke:var(--climb-glow);stroke-width:6;stroke-linejoin:round;stroke-linecap:round;opacity:0}.climb-glow.pulse{animation:climb-glow 1.4s ease-out}.climb-pole{stroke:var(--on-dark);stroke-width:1}.climb-flag{fill:var(--coral)}.climb-me{fill:var(--coral);stroke:#fff;stroke-width:1.5}.climb-gain{fill:var(--lime-soft);font-family:var(--font-ui);font-size:11px;font-weight:800;animation:climb-gain 1.6s ease-out forwards}.climb-me.highlight{stroke-width:2.5}.climb-mate.highlight{fill:#0c0d0f;stroke:#fff;stroke-opacity:1;stroke-width:1.5}.climb-pick-name{fill:var(--on-dark);font-family:var(--font-ui);font-size:9px;font-weight:700;paint-order:stroke;stroke:var(--room-ink);stroke-width:3px;stroke-linejoin:round}.climb-flight{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;pointer-events:none}.climb-flyer{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(.4);opacity:0;display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 24px;border-radius:28px;background:var(--coral);color:#fff;font-family:var(--font-ui);line-height:1;white-space:nowrap;box-shadow:0 12px 40px #00000059}.climb-flyer-amount{font-size:44px;font-weight:800;font-variant-numeric:tabular-nums}.climb-flyer-amount small{font-size:.5em;font-weight:700;opacity:.85}.climb-flyer-label{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;opacity:.9}.climb-chips{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:10px}.climb-chip{opacity:0;padding:9px 18px;border-radius:999px;background:#141814db;border:1px solid rgb(var(--wash-rgb) / .18);color:var(--on-dark);font-family:var(--font-ui);font-size:15px;font-weight:600;white-space:nowrap;box-shadow:0 8px 28px #0000004d}.climb-chip strong{color:var(--lime-soft);font-size:20px;font-weight:800;font-variant-numeric:tabular-nums;margin-right:4px}.climb-clouds{opacity:0;transition:opacity .9s ease;pointer-events:none}.climb.above .climb-clouds{opacity:1}@keyframes climb-glow{0%{opacity:0}25%{opacity:.35}to{opacity:0}}@keyframes climb-gain{0%{opacity:0;transform:translateY(4px)}20%{opacity:1;transform:translateY(0)}70%{opacity:1;transform:translateY(-8px)}to{opacity:0;transform:translateY(-12px)}}@media (prefers-reduced-motion: reduce){.climb-world{transition:none}.climb-glow.pulse{animation:none}.climb-gain{animation:climb-gain-still 1.6s linear forwards}}@keyframes climb-gain-still{0%,80%{opacity:1}to{opacity:0}}.live-room .climb{padding:10px 12px;background:rgb(var(--wash-rgb) / .04);-webkit-backdrop-filter:none;backdrop-filter:none}.climb-head:has(.climb-period){align-items:center}.climb-period{margin-left:auto;text-transform:none;letter-spacing:0}.readiness-sets{display:grid;gap:var(--s-2)}.readiness-set{padding:var(--s-3) var(--s-4)}.readiness-set.is-locked{opacity:.75}.readiness-set-head{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3)}.readiness-set-title{font-weight:600;display:flex;align-items:center;gap:var(--s-2)}.readiness-set-detail{margin-top:var(--s-1);font-size:var(--fs-sm);color:var(--muted)}.readiness-set-score{font-size:var(--fs-md);font-weight:700;color:var(--ink);margin-right:var(--s-2)}.score-gauge{margin:0 auto var(--s-4);max-width:260px;text-align:center}.score-gauge svg{width:100%;height:auto;display:block}.score-gauge-counts{font-size:var(--fs-sm);color:var(--muted)}.progress-panel .progress-line{margin:0 0 var(--s-2);font-size:var(--fs-sm)}.progress-fact{font-family:var(--font-mono)}.progress-up{color:#2f7d4f}.progress-down{color:#b42318}.progress-bar-study{height:100%;display:inline-block;background:#3d6bd8}.progress-bar-rituals{height:100%;display:inline-block;background:#8fd13f}.progress-split-track,.an-bar-track:has(.progress-bar-study){display:flex}.progress-panel .glass-btn{margin-top:var(--s-2)}.readiness-headline{font-size:var(--fs-md);font-weight:700;margin:var(--s-1) 0 var(--s-3);color:var(--ink)}.readiness-domains{display:grid;gap:var(--s-2);margin-top:var(--s-3)}.readiness-domain-row{display:grid;grid-template-columns:minmax(0,180px) 48px minmax(80px,1fr) auto;gap:var(--s-3);align-items:center}.readiness-domain-name{font-family:var(--font-ui);font-size:var(--fs-sm);font-weight:600;color:var(--body);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.readiness-locked{font-family:var(--font-ui);font-size:var(--fs-sm);color:var(--muted)}.an-board-controls{display:flex;gap:var(--s-3);margin-top:var(--s-4);margin-bottom:var(--s-3);flex-wrap:wrap;align-items:center}.app-root.classic .topbar-brand{display:none}.app-root.classic .classic-shell{display:grid;grid-template-columns:220px minmax(0,1fr);height:100%;min-width:0}.app-root.classic .classic-main{min-width:0;min-height:0;height:100%;overflow:hidden;position:relative;z-index:1}.app-root.classic .screen{padding-bottom:var(--s-6)}.app-root.classic .classic-sidebar{display:flex;flex-direction:column;min-height:0;padding:var(--s-5) var(--s-3);background:var(--panel);border-right:1px solid var(--panel-border);color:var(--cream);z-index:4}.app-root.classic .classic-brand{padding:0 var(--s-3) var(--s-5);font-weight:700;color:var(--cream)}.app-root.classic .classic-nav{display:flex;flex:1;flex-direction:column;gap:var(--s-1);min-height:0}.app-root.classic .classic-nav-item{display:flex;justify-content:space-between;align-items:center;width:100%;padding:var(--s-3);border:0;border-radius:8px;background:transparent;color:var(--on-dark-75);text-align:left;font:600 var(--fs-sm)/1.3 var(--font-ui);cursor:pointer}.app-root.classic .classic-nav-item:hover{background:rgb(var(--wash-rgb) / .12);color:var(--cream)}.app-root.classic .classic-nav-item.active{background:var(--lime-tint);box-shadow:inset 0 0 0 1px var(--lime),inset 3px 0 0 var(--lime);color:var(--cream)}.app-root.classic .classic-nav-group{margin:var(--s-4) var(--s-3) var(--s-1);color:var(--on-dark-50);font:600 var(--fs-xs)/1 var(--font-mono);text-transform:uppercase;letter-spacing:.08em}.app-root.classic .classic-nav-spacer{flex:1}.app-root.classic .classic-live-count{font:var(--fs-xs)/1 var(--font-mono);color:var(--on-dark-60)}.app-root.classic .classic-sidebar-footer{border-top:1px solid var(--panel-border);padding-top:var(--s-3)}.app-root.classic .classic-topbar{display:none}.app-root.classic .classic-session-card{padding:var(--s-3);border-radius:9px;border:1px solid var(--panel-border);background:var(--panel);color:var(--cream)}.app-root.classic .classic-session-clock{font-family:var(--font-mono)}.app-root.classic .classic-session-actions{display:flex;gap:var(--s-2)}.app-root.classic .classic-session-actions button{color:var(--cream);background:transparent;border:1px solid var(--panel-border);border-radius:6px;padding:var(--s-1) var(--s-2)}.app-root.classic .classic-session-bar,.app-root.classic .classic-scrim{display:none}.classic-shell:has(.screen.focused){grid-template-columns:minmax(0,1fr)}.classic-shell:has(.screen.focused) .classic-sidebar{display:none}.app-root.classic .classic-home{height:100%;overflow:auto;padding:var(--s-5);color:var(--cream)}.app-root.classic .classic-banner,.app-root.classic .classic-home-top>section:not(.test-card-active),.app-root.classic .classic-home-grid>section:not(.test-card-active),.app-root.classic .classic-home-split>section{background:var(--panel);border:1px solid var(--panel-border);border-radius:12px;padding:var(--s-4);color:var(--cream)}.app-root.classic .classic-home-top{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1.25fr) minmax(0,1fr);gap:var(--s-4)}.app-root.classic .classic-streak-head{display:flex;align-items:center;justify-content:space-between;gap:var(--s-2)}.app-root.classic .classic-streak-month{display:flex;align-items:center;gap:var(--s-1);font-family:var(--font-mono);font-size:var(--fs-label);color:var(--on-dark-60)}.app-root.classic .classic-streak-summary{display:flex;align-items:baseline;flex-wrap:wrap;column-gap:var(--s-2)}.app-root.classic .classic-streak-nav{width:20px;height:20px;border:0;border-radius:6px;background:transparent;color:var(--cream);font-size:16px;line-height:1;cursor:pointer}.app-root.classic .classic-streak-nav:hover:not(:disabled){background:rgb(var(--wash-rgb) / .1)}.app-root.classic .classic-streak-nav:focus-visible{outline:var(--focus-ring);outline-offset:1px}.app-root.classic .classic-streak-nav:disabled{opacity:.3;cursor:default}.app-root.classic .classic-streak-cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;margin-top:var(--s-2)}.app-root.classic .classic-streak-dow,.app-root.classic .classic-streak-day{display:grid;place-items:center;height:19px;font-family:var(--font-mono);font-size:11px}.app-root.classic .classic-streak-dow{color:var(--on-dark-50)}.app-root.classic .classic-streak-day{border-radius:6px;background:rgb(var(--wash-rgb) / .05);color:var(--on-dark-60)}.app-root.classic .classic-streak-day.studied{background:rgb(var(--accent-rgb) / .8);color:var(--ink);font-weight:700}.app-root.classic .classic-streak-day.today{box-shadow:inset 0 0 0 1.5px var(--cream)}.app-root.classic .classic-streak-day.future{background:transparent;color:var(--on-dark-50);opacity:.5}.app-root.classic .classic-home-grid{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:var(--s-4);margin-top:var(--s-4)}.app-root.classic .classic-home-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--s-4);margin-top:var(--s-4)}.app-root.classic .classic-home-stack{display:flex;flex-direction:column;gap:var(--s-4)}.app-root.classic .classic-home-stack>.classic-standing{flex:1 1 auto}.app-root.classic .classic-home .glass-panel{display:flex;flex-direction:column}.app-root.classic .classic-home .glass-panel>button:last-of-type{margin-top:auto}.app-root.classic .classic-banner>p{margin:0}.app-root.classic .classic-banner>h1{margin:var(--s-2) 0 var(--s-1)}.app-root.classic .classic-banner>.glass-note{margin-top:var(--s-1)}.app-root.classic .classic-banner>button:last-of-type{align-self:flex-start}.app-root.classic .classic-home .glass-panel>:has(+button:last-of-type){margin-bottom:10px}.app-root.classic .classic-standing-list{list-style:none;margin:var(--s-3) 0 0;padding:0;display:flex;flex-direction:column;gap:2px}.app-root.classic .classic-standing-list li{display:grid;grid-template-columns:2.5ch minmax(0,1fr) auto;gap:var(--s-3);align-items:center;padding:6px var(--s-2);border-radius:6px;font-size:var(--fs-sm);color:var(--on-dark-75)}.app-root.classic .classic-standing-list li.is-learner{background:rgb(var(--wash-rgb) / .08);color:var(--cream);font-weight:700}.app-root.classic .classic-standing-rank,.app-root.classic .classic-standing-points{font-family:var(--font-mono);font-size:var(--fs-label);color:var(--on-dark-50)}.app-root.classic .classic-standing-list li.is-learner .classic-standing-rank,.app-root.classic .classic-standing-list li.is-learner .classic-standing-points{color:var(--cream)}.app-root.classic .classic-standing-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-root.classic .classic-home-grid>div{display:flex;flex-direction:column}.app-root.classic .classic-home-grid>div>*{flex:1 1 auto}.app-root.classic .classic-home-grid>:empty{display:none}@media (min-width: 721px){.app-root.classic .live.classic{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 320px;grid-template-rows:minmax(220px,1fr) fit-content(45%);gap:var(--s-4);padding:var(--s-4);height:100%;background:transparent;overflow:hidden}.app-root.classic .live.classic .live-canvas,.app-root.classic .live.classic .live-fallback{position:relative;inset:auto;grid-column:1 / 3;grid-row:1;width:100%;height:100%;min-width:0;min-height:0;border-radius:12px;overflow:hidden}.app-root.classic .live.classic .live-panel{position:static;inset:auto;transform:none;width:auto;max-height:none;margin:0;min-height:0}.app-root.classic .live.classic .live-session{grid-column:1;grid-row:2;display:flex;flex-direction:column}.app-root.classic .live.classic .live-session>.session-toolbar{margin-top:auto}.app-root.classic .live.classic .live-week{grid-column:2;grid-row:2;overflow:auto}.app-root.classic .live.classic .live-room{grid-column:3;grid-row:1 / 3;height:auto}.app-root.classic .live.classic .peek-bubble:not(.hovering){position:absolute;left:auto;right:calc(320px + var(--s-4) * 2);transform:none}}@media (max-width: 720px){.app-root.classic .classic-shell{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto minmax(0,1fr)}.app-root.classic .classic-topbar{grid-row:1;display:flex;align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--panel-border);color:var(--cream)}.app-root.classic .classic-topbar>button{margin-left:auto;color:var(--cream);background:transparent;border:1px solid var(--panel-border);border-radius:6px;padding:var(--s-2)}.app-root.classic .classic-session-bar{grid-row:2;display:block;min-width:0;padding:var(--s-2) var(--s-3)}.app-root.classic .classic-session-bar .classic-session-card{display:flex;align-items:center;gap:var(--s-2);padding:var(--s-2) var(--s-3)}.app-root.classic .classic-session-bar .classic-session-card>strong{white-space:nowrap}.app-root.classic .classic-session-bar .classic-session-card>div:not(.classic-session-clock):not(.classic-session-actions){display:none}.app-root.classic .classic-session-bar .classic-session-actions{margin-left:auto}.app-root.classic .classic-sidebar{position:fixed;inset:0 auto 0 0;width:min(280px,85vw);transform:translate(-100%);transition:transform .2s ease;z-index:12;background:var(--room-ink)}.classic-shell:has(.classic-topbar button[aria-expanded=true]) .classic-sidebar{transform:translate(0)}.app-root.classic .classic-scrim{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:11;border:0;background:var(--scrim)}.app-root.classic .classic-sidebar-footer{display:none}.app-root.classic .classic-main{grid-row:3}.app-root.classic .classic-home{padding:var(--s-3)}.app-root.classic .classic-home-top,.app-root.classic .classic-home-split{grid-template-columns:minmax(0,1fr)}.app-root.classic .classic-home-grid{grid-auto-flow:row;grid-template-columns:minmax(0,1fr)}}.app-root.classic .screen-head-back{display:inline-block;margin:0 0 var(--s-3);padding:0;border:0;background:none;color:var(--on-dark-60);font:600 var(--fs-sm)/1.2 var(--font-ui);cursor:pointer}.app-root.classic .screen-head-back:hover{color:var(--cream)}.app-root.classic .screen-head-back:focus-visible{outline:var(--focus-ring);outline-offset:2px}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;overflow:hidden;overscroll-behavior:none}body{font:14px/1.4 var(--font-ui, ui-sans-serif),system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--on-dark, #eef0ea);background:var(--room-ink, #15171a);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}::selection{background:rgb(var(--accent-rgb, 143 209 63) / .32)}@supports (height: 100dvh){html,body,#root{height:100dvh}}canvas{display:block}.app{position:relative;height:100%}.tint,.vignette,.grain{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.vignette{background:radial-gradient(ellipse at 50% 45%,transparent 52%,rgba(10,12,10,.42) 100%)}.grain{opacity:.03;background-image:radial-gradient(rgba(255,255,255,.55) .5px,transparent .5px);background-size:3px 3px}@media (prefers-reduced-motion: reduce){.grain{display:none}}canvas:focus{outline:none}:root{--room-ink: #15171a;--room-ink-2: #23261f;--room-olive-0: #2a2f27;--room-olive-1: #3a4235;--room-olive-2: #4a5240;--room-gradient: radial-gradient(1200px 660px at 50% -4%, rgba(126, 141, 103, .34), transparent 68%), radial-gradient(900px 820px at 86% 108%, rgba(52, 60, 48, .55), transparent 70%), linear-gradient(177deg, #1e2219 0%, #282e23 44%, #212519 72%, #181b15 100%);--room-texture: radial-gradient(rgba(238, 240, 234, .05) .5px, transparent .6px) 0 0 / 3px 3px;--room-glow: radial-gradient(1020px 440px at 50% -8%, rgba(158, 175, 124, .16), transparent 72%), radial-gradient(540px 340px at 14% 4%, rgba(122, 138, 96, .1), transparent 74%);--room-glow-sm: radial-gradient(760px 380px at 50% -6%, rgba(158, 175, 124, .14), transparent 74%);--room-vignette: radial-gradient(128% 108% at 50% 36%, transparent 42%, rgba(9, 11, 9, .5) 100%);--paper: #f7f8f4;--paper-inset: #eef0ea;--ink: #15171a;--ink-hover: #23261f;--body: #2c2f2a;--muted: #5c6058;--faint: #8b8f86;--cream: #eef0ea;--hairline: rgba(21, 23, 26, .12);--hairline-20: rgba(21, 23, 26, .18);--blue: #3d6bd8;--blue-hover: #4f7ce6;--blue-ink: #9db8f5;--blue-tint: rgba(61, 107, 216, .12);--blue-tint-strong: rgba(61, 107, 216, .22);--lime: #8fd13f;--lime-soft: #b7ea78;--lime-deep: #3d7a1a;--lime-tint: rgb(var(--accent-rgb) / .16);--lime-tint-strong: rgb(var(--accent-rgb) / .2);--amber: #c98a2e;--amber-text: #8a5f1e;--amber-on-dark: #e8b96b;--amber-bg: rgba(201, 138, 46, .14);--amber-line: rgba(201, 138, 46, .45);--coral: #c9503d;--coral-deep: #b8492f;--coral-soft: #f0b4a8;--coral-bg: rgba(201, 80, 61, .16);--coral-line: rgba(201, 80, 61, .5);--lavender: #6b5fd6;--lavender-soft: #cdc6fb;--lavender-faint: #b3a9f5;--lavender-ink: #5a4fc4;--accent-rgb: 143 209 63;--accent: var(--lime);--accent-text: #b7ea78;--accent-ink: var(--lime-deep);--accent-tint: rgb(var(--accent-rgb) / .14);--accent-line: rgb(var(--accent-rgb) / .42);--panel: rgba(21, 23, 26, .86);--panel-strong: rgba(21, 23, 26, .92);--panel-border: rgba(255, 255, 255, .12);--panel-border-strong: rgba(255, 255, 255, .18);--on-dark: #eef0ea;--on-dark-rgb: 238 240 234;--wash-rgb: 255 255 255;--well-rgb: 0 0 0;--on-accent: #eef0ea;--float-bg: var(--panel-strong);--float-border: var(--panel-border-strong);--blue-badge-text: #dfe7ff;--lavender-badge-text: #d8d3f5;--surface-rgb: 21 23 26;--surface-raised-rgb: 46 58 36;--surface-raised-muted-rgb: 35 40 32;--surface-deep: #1b1f18;--surface-dark: #141a16;--surface-escape: #1d241c;--lime-text: var(--lime);--lime-soft-fill: var(--lime-soft);--amber-on-dark-fill: var(--amber-on-dark);--on-dark-75: rgb(var(--on-dark-rgb) / .75);--on-dark-60: rgb(var(--on-dark-rgb) / .6);--on-dark-50: rgb(var(--on-dark-rgb) / .5);--on-dark-45: rgb(var(--on-dark-rgb) / .45);--scrim: rgba(0, 0, 0, .55);--scrim-strong: rgba(10, 12, 10, .72);--scene-scrim: linear-gradient(180deg, rgba(21, 23, 26, .62) 0%, rgba(21, 23, 26, .38) 42%, rgba(21, 23, 26, .74) 100%);--scene-scrim-dim: rgba(21, 23, 26, .72);--topbar-h: 52px;--dock-h: 46px;--dock-inset: 16px;--dock-space: 78px;--w-narrow: 720px;--w-base: 1080px;--w-wide: 1200px;--s-1: 4px;--s-2: 8px;--s-3: 12px;--s-4: 16px;--s-5: 20px;--s-6: 24px;--s-8: 32px;--s-10: 40px;--fs-micro: 10px;--fs-label: 11px;--fs-sm: 12px;--fs-body: 13px;--fs-md: 15px;--fs-lg: 19px;--fs-xl: 26px;--fs-display: 40px;--font-ui: "Manrope", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--radius-sm: 7px;--radius: 9px;--radius-md: 11px;--radius-lg: 14px;--card-shadow: 0 22px 50px rgba(10, 12, 10, .32);--modal-shadow: 0 26px 60px rgba(10, 12, 10, .5);--sidebar-shadow: -20px 0 50px rgba(10, 12, 10, .45);--dock-shadow: 0 14px 36px rgba(10, 12, 10, .45);--cta-shadow: none;--focus-ring: 2px solid #3d6bd8;--paper-dim: var(--paper-inset);--ink-25: rgba(21, 23, 26, .25);--ink-12: var(--hairline);--moss: var(--lime-deep);--moss-tint: var(--lime-tint);--muted-62: rgba(92, 96, 88, .9);--muted-45: var(--on-dark-45);--muted-40: rgba(92, 96, 88, .75);--rust: var(--coral);--confirm: var(--lime-deep);--cta-blue: var(--blue);--cta-blue-hover: var(--blue-hover);--cta-blue-ink: var(--blue-ink);--avatar-bg: var(--paper-inset);--plate: var(--panel);--plate-border: var(--panel-border);--plate-cream: var(--on-dark);--backdrop-base: var(--room-olive-1);--backdrop-stripes: var(--room-texture);--backdrop-scrim: linear-gradient(180deg, rgba(21, 23, 26, .42) 0%, rgba(21, 23, 26, .3) 45%, rgba(21, 23, 26, .5) 100%)}:root[data-appearance=light]{--room-ink: #e7eae2;--room-ink-2: #dde1d7;--room-olive-0: #e9ece4;--room-olive-1: #e2e6dc;--room-olive-2: #d5dacd;--room-gradient: radial-gradient(1200px 660px at 50% -4%, rgba(255, 255, 255, .75), transparent 68%), linear-gradient(177deg, #eef0ea 0%, #e7eae2 55%, #e0e4d9 100%);--room-texture: radial-gradient(rgba(21, 23, 26, .035) .5px, transparent .6px) 0 0 / 3px 3px;--room-glow: radial-gradient(1020px 440px at 50% -8%, rgba(255, 255, 255, .5), transparent 72%);--room-glow-sm: radial-gradient(760px 380px at 50% -6%, rgba(255, 255, 255, .45), transparent 74%);--room-vignette: radial-gradient(128% 108% at 50% 36%, transparent 55%, rgba(21, 23, 26, .06) 100%);--panel: rgba(255, 255, 255, .96);--panel-strong: rgba(255, 255, 255, .94);--panel-border: rgba(21, 23, 26, .1);--panel-border-strong: rgba(21, 23, 26, .16);--on-dark: #15171a;--on-dark-rgb: 21 23 26;--on-dark-75: rgba(21, 23, 26, .8);--on-dark-60: rgba(21, 23, 26, .68);--on-dark-50: rgba(21, 23, 26, .62);--on-dark-45: rgba(21, 23, 26, .58);--cream: #15171a;--wash-rgb: 21 23 26;--well-rgb: 255 255 255;--float-bg: #eef2fb;--float-border: rgba(61, 107, 216, .28);--blue-badge-text: #1f3f8f;--lavender-badge-text: #4a3fb0;--surface-rgb: 252 252 250;--surface-raised-rgb: 228 233 220;--surface-raised-muted-rgb: 228 233 220;--surface-deep: #ffffff;--surface-dark: #ffffff;--surface-escape: #ffffff;--lime-text: var(--lime-deep);--lime-soft: #3d7a1a;--lime-soft-fill: var(--lime);--amber-on-dark: #8a5f1e;--amber-on-dark-fill: var(--amber);--blue-ink: #2f56b8;--coral-soft: #b8492f;--lavender-soft: #5a4fc4;--lavender-faint: #6b5fd6;--accent-rgb: 95 158 42;--accent: #5f9e2a;--accent-text: #3d7a1a;--card-shadow: 0 10px 28px rgba(21, 23, 26, .1);--modal-shadow: 0 18px 44px rgba(21, 23, 26, .18);--sidebar-shadow: -12px 0 32px rgba(21, 23, 26, .12);--dock-shadow: 0 8px 24px rgba(21, 23, 26, .14);--backdrop-scrim: linear-gradient(180deg, rgba(238, 240, 234, .55) 0%, rgba(238, 240, 234, .4) 45%, rgba(238, 240, 234, .66) 100%);--scene-scrim: linear-gradient(180deg, rgba(21, 23, 26, .62) 0%, rgba(21, 23, 26, .38) 42%, rgba(21, 23, 26, .74) 100%);--scene-scrim-dim: rgba(21, 23, 26, .72);--scrim: rgba(21, 23, 26, .28);--scrim-strong: rgba(21, 23, 26, .4);--chevron-cream: var(--chevron-ink)}
