@font-face{font-family:Onest;src:url(./onest-latin-wght-normal.Dun_Rd-l.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Onest;src:url(./onest-latin-ext-wght-normal.QAhDxQuo.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Martian Mono;src:url(./martian-mono-latin-wght-normal.5W32yIyr.woff2) format("woff2");font-weight:100 800;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Martian Mono;src:url(./martian-mono-latin-ext-wght-normal.DlL6xMw5.woff2) format("woff2");font-weight:100 800;font-style:normal;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Onest Fallback;src:local("Arial");size-adjust:106.21%;ascent-override:91.33%;descent-override:28.72%;line-gap-override:0%}:root{--bg-room: #09090b;--bg-sunken: #0d0d0f;--bg-surface: #111113;--bg-raised: #18181b;--bg-field: #1b1b1f;--line-soft: #222226;--line-strong: #2f2f35;--text-primary: #ededef;--text-secondary: #a1a1aa;--text-faint: #8a8a93;--brand-500: #5b7cff;--brand-300: #8fa6ff;--brand-bg: #141a33;--brand-button-top: #4d67f2;--brand-button-bottom: #3a52d8;--state-good: #5ed69b;--state-good-bg: #0f2219;--state-partly: #f2c063;--state-partly-bg: #2a2210;--state-miss: #ff7a7a;--state-miss-bg: #2a1414;--state-danger: #ff6b6b;--state-destructive-top: #e02d2d;--state-destructive-bottom: #c81e1e;--edge-unasked: #2a2a30;--focus-ring: #8fa6ff;--sans: "Onest", "Onest Fallback", "Segoe UI", system-ui, sans-serif;--mono: "Martian Mono", ui-monospace, "Cascadia Mono", Consolas, monospace;--gutter: 16px;--gap: 16px;--sidebar: 256px;--radius-control: 10px;--radius-control-l: 12px;--radius-card: 16px;--radius-panel: 20px;--shadow-window: 0 24px 64px -8px rgb(0 0 0 / .6), 0 1px 2px rgb(0 0 0 / .4), inset 0 1px 0 rgb(255 255 255 / .06);--shadow-popover: 0 16px 40px -6px rgb(0 0 0 / .55), 0 0 0 1px rgb(0 0 0 / .35), inset 0 1px 0 rgb(255 255 255 / .07);--glow-brand: 0 6px 20px -4px rgb(91 124 255 / .45);--ease: cubic-bezier(.2, .8, .2, 1);--ease-in: cubic-bezier(.4, 0, 1, 1);--dur-press: 90ms;--dur-quick: .16s;--dur-move: .24s;--dur-grow: .32s;--dur-signature: .6s;--dur-camera: .7s;color-scheme:dark;color:var(--text-primary);background:var(--bg-room);font-family:var(--sans);font-size:16px;line-height:1.5;font-synthesis:none;-webkit-text-size-adjust:100%}@media(min-width:900px){:root{--gutter: 32px;--gap: 24px}}*{box-sizing:border-box}body{margin:0;min-height:100dvh;background:var(--bg-room)}h1,h2,h3,p,ul,ol,dl,dd,blockquote{margin:0}h1,h2,h3,p,li,blockquote{overflow-wrap:anywhere}h1,h2,h3{font-weight:600;line-height:1.25;letter-spacing:-.01em}h2{font-size:1.0625rem}h3{font-size:1rem}ul,ol{padding:0;list-style:none}button,input,textarea,select{font:inherit;color:inherit}button,a,input,textarea,select,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:0;background:none;padding:0}button:disabled{cursor:not-allowed;opacity:.45}a{color:var(--brand-300)}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}main:focus{outline:none}.icon{flex:none;display:block}.page,.card,.stack,.add-form,.question-card,.feedback,.finish,.disclosure-body,.inline-form,.help-form{grid-template-columns:minmax(0,1fr)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.skip-link{position:fixed;left:16px;top:-80px;z-index:30;padding:12px 18px;border-radius:var(--radius-control-l);background:var(--brand-button-top);color:#fff;font-weight:600}.skip-link:focus{top:12px}.display-xl{font-size:clamp(2rem,6vw,2.5rem);font-weight:600;line-height:1.08;letter-spacing:-.025em}.display-add{font-size:clamp(1.5rem,4vw,2.125rem);font-weight:600;line-height:1.08;letter-spacing:-.025em}.display-l{font-size:clamp(1.5rem,5vw,1.875rem);font-weight:600;line-height:1.14;letter-spacing:-.02em}.display-card{font-size:1.75rem;font-weight:600;line-height:1.14;letter-spacing:-.02em}.display-page{font-size:clamp(1.5rem,4vw,1.625rem);font-weight:600;line-height:1.14;letter-spacing:-.02em}.display-s{font-size:1.25rem;font-weight:600;line-height:1.3;letter-spacing:-.005em}.title{font-size:1.0625rem;font-weight:600;line-height:1.3;letter-spacing:-.005em}.eyebrow{display:block;font-size:.78125rem;font-weight:500;line-height:1.4;letter-spacing:.004em;color:var(--text-faint)}.label{font-size:.875rem;font-weight:500;color:var(--text-primary)}.lead{color:var(--text-secondary);font-size:1rem;line-height:1.55}.mono-number{font-family:var(--sans);font-size:.8125rem;font-weight:500;color:var(--text-secondary);font-variant-numeric:tabular-nums}.muted{color:var(--text-secondary)}.faint{color:var(--text-faint)}.small{font-size:.875rem}.strong{font-weight:600}.footnote{font-size:.78125rem;font-weight:500;line-height:1.4;letter-spacing:.004em;color:var(--text-faint)}.primary,.secondary,.text-button,.danger-button,.destructive{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;text-decoration:none;font-weight:600;line-height:1.2;white-space:nowrap;transition:background-color var(--dur-quick),border-color var(--dur-quick),color var(--dur-quick),box-shadow var(--dur-quick),transform var(--dur-press) var(--ease)}.primary:active:not(:disabled),.secondary:active:not(:disabled),.danger-button:active:not(:disabled),.destructive:active:not(:disabled){transform:scale(.98)}.primary,.secondary,.danger-button,.destructive{min-height:48px;padding:0 22px;border-radius:var(--radius-control-l);font-size:.9375rem}.primary{padding-right:18px;background:linear-gradient(var(--brand-button-top),var(--brand-button-bottom));color:#fff;box-shadow:var(--glow-brand),inset 0 1px #ffffff47,inset 0 -1px #1a268059}.primary:hover:not(:disabled){background:linear-gradient(#5873f5,#4058e0)}.secondary{border:1px solid var(--line-soft);background:var(--bg-surface);color:var(--text-primary)}.secondary:hover:not(:disabled){border-color:var(--line-strong);background:var(--bg-raised)}.text-button{gap:6px;padding:0 12px;border-radius:var(--radius-control);color:var(--text-secondary);font-size:.875rem;font-weight:500}.text-button:hover:not(:disabled){background:var(--bg-raised);color:var(--text-primary)}.text-button.danger,.text-button.danger:hover:not(:disabled){color:var(--state-danger)}.danger-button{border:1px solid rgb(255 107 107 / .4);background:none;color:var(--state-danger)}.danger-button:hover:not(:disabled){border-color:#ff6b6bb3;background:var(--state-miss-bg)}.destructive{background:linear-gradient(var(--state-destructive-top),var(--state-destructive-bottom));color:#fff;box-shadow:0 6px 20px -4px #e02d2d73,inset 0 1px #ffffff38}.compact{min-height:40px;padding:0 16px;border-radius:var(--radius-control);font-size:.875rem}.primary.compact{padding-right:14px}.fit{align-self:flex-start;justify-self:start}.start-button{width:100%}.back-link{justify-self:start;margin:-12px 0 -11px -12px}@media(pointer:coarse){.compact,.text-button{min-height:44px}}label{font-size:.875rem;font-weight:500}input:not([type=checkbox]):not([type=file]):not([type=radio]),textarea,select{width:100%;min-width:0;min-height:44px;padding:10px 14px 10px var(--field-inset, 14px);border:1px solid var(--line-strong);border-radius:var(--radius-control);background:var(--bg-field);box-shadow:inset 0 1px 2px #00000059;color:var(--text-primary);font-size:1rem;line-height:1.5;transition:border-color var(--dur-quick),box-shadow var(--dur-quick)}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus{-webkit-text-fill-color:var(--text-primary);caret-color:var(--text-primary);box-shadow:0 0 0 1000px var(--bg-field) inset}.turnstile{min-height:65px}input::placeholder,textarea::placeholder{color:var(--text-faint)}textarea{resize:vertical;max-height:60vh}input:focus-visible,textarea:focus-visible,select:focus-visible{outline:none;border-color:var(--brand-500);box-shadow:0 0 0 3px #5b7cff40}input[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--state-danger)}.field{display:grid;gap:8px}.select-wrap{position:relative}.select-wrap select{appearance:none;padding-right:42px}.select-wrap .icon{position:absolute;top:50%;right:14px;translate:0 -50%;color:var(--text-faint);pointer-events:none}input[type=checkbox]{width:18px;height:18px;margin:0;accent-color:var(--brand-500)}input[type=checkbox].switch{appearance:none;position:relative;flex:none;width:40px;height:24px;border-radius:12px;background:var(--line-strong);cursor:pointer;transition:background-color var(--dur-quick)}input[type=checkbox].switch:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #0000004d;transition:translate var(--dur-quick) var(--ease)}input[type=checkbox].switch:checked{background:var(--brand-500);box-shadow:0 0 10px #5b7cff73}input[type=checkbox].switch:checked:after{translate:16px 0}.stack{display:grid;gap:12px}.row,.action-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px}.action-row>.text-button:first-child{margin-left:-12px}.wrap{flex-wrap:wrap}.page{display:grid;align-content:start;gap:var(--gap);max-width:760px;margin:0 auto}.page-wide{display:grid;grid-template-columns:minmax(0,1fr);align-content:start;gap:var(--gap);max-width:1120px;margin:0 auto}.page-title{display:grid;gap:6px}.page-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}.card{display:grid;gap:12px;min-width:0;padding:20px;border:1px solid var(--line-soft);border-radius:var(--radius-card);background:var(--bg-surface)}.card>h2:not([class]){font-size:1rem}.inline-form{display:grid;gap:10px}.message{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 8px 8px 16px;border:1px solid rgb(91 124 255 / .35);border-radius:14px;background:#5b7cff1a;color:var(--text-primary);font-size:.875rem}.message.error{border-color:#ff6b6b59;background:#ff6b6b1a}.message.notice{border-color:#5ed69b59;background:#5ed69b1a}.message .text-button{flex:none}.global-message{margin-bottom:var(--gap)}.badge{display:inline-flex;flex:none;align-items:center;padding:3px 8px;border-radius:6px;font-size:.78125rem;font-weight:500;font-variant-numeric:tabular-nums;white-space:nowrap}.badge-brand{background:var(--brand-bg);color:var(--brand-300)}.badge-good{background:var(--state-good-bg);color:var(--state-good)}.badge-miss{background:var(--state-miss-bg);color:var(--state-miss)}.badge-neutral{background:var(--bg-raised);color:var(--text-secondary)}.review-timer{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:12px;padding:12px 16px;border:1px solid var(--line-soft);border-radius:var(--radius-control-l);background:var(--bg-raised)}.review-timer .strong{display:contents;font-size:.9375rem}.review-timer .strong .icon{grid-row:span 2;color:var(--brand-300)}.review-timer .small{grid-column:2;font-size:.8125rem}.review-timer .text-button{grid-column:2;justify-self:start;margin-left:-12px}.option-list{display:grid;overflow:hidden;border:1px solid var(--line-soft);border-radius:var(--radius-card);background:var(--bg-surface)}.option-row{position:relative;display:grid;grid-template-columns:auto 1fr auto;align-items:center;column-gap:14px;padding:14px 16px;color:var(--text-faint);transition:background-color var(--dur-quick)}.option-row+.option-row{border-top:1px solid var(--line-soft)}.option-row:hover{background:var(--bg-raised)}.option-button{grid-column:2;justify-self:start;text-align:left;font-size:.9375rem;font-weight:600;color:var(--text-primary)}a.option-button{text-decoration:none}.option-button:after{content:"";position:absolute;inset:0}.option-button:focus-visible{outline:none}.option-row:has(.option-button:focus-visible){outline:2px solid var(--focus-ring);outline-offset:-2px}.option-row p{grid-column:2;font-size:.8125rem;color:var(--text-faint)}.option-row>.icon:first-child{grid-row:span 2;width:36px;height:36px;padding:8px;border-radius:10px;background:var(--brand-bg);color:var(--brand-300)}.option-row>.icon:last-child{grid-column:3;grid-row:1 / span 2}.option-row.chosen{background:var(--brand-bg);box-shadow:inset 0 0 0 1px var(--brand-500)}.disclosure{border:1px solid var(--line-soft);border-radius:14px;background:var(--bg-surface)}.disclosure summary{display:flex;align-items:center;gap:10px;min-height:48px;padding:0 16px;cursor:pointer;list-style:none;font-size:.875rem;font-weight:500;color:var(--text-secondary)}.disclosure summary::-webkit-details-marker{display:none}.disclosure summary .icon:last-child{margin-left:auto;color:var(--text-faint);transition:transform var(--dur-move) var(--ease)}.disclosure[open] summary .icon:last-child{transform:rotate(180deg)}.disclosure-body{display:grid;gap:12px;padding:0 16px 16px}.meter{display:block;overflow:hidden;height:6px;border-radius:3px;background:var(--bg-raised)}.meter i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--brand-500),var(--brand-300));box-shadow:0 0 10px #5b7cff99;transition:width var(--dur-grow) var(--ease)}kbd{display:inline-block;padding:1px 6px;border:1px solid var(--line-strong);border-bottom-width:2px;border-radius:5px;background:var(--bg-raised);color:var(--text-secondary);font:500 .78125rem/1.4 var(--sans)}.loading-state{display:grid;gap:var(--gap)}.skeleton{display:grid;gap:12px;padding:24px;border:1px solid var(--line-soft);border-radius:var(--radius-panel);background:var(--bg-surface)}.skeleton-line{display:block;height:12px;border-radius:6px;background:linear-gradient(90deg,var(--bg-raised) 25%,#222227 50%,var(--bg-raised) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.6s ease-in-out infinite}.skeleton-line.title{width:60%;height:22px}.skeleton-line.short{width:40%}.skeleton-line.large{width:140px;height:96px;border-radius:16px}@keyframes skeleton-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media(prefers-reduced-motion:reduce){.skeleton-line{animation:none;background:var(--bg-raised)}}@keyframes pulse{50%{opacity:.35}}.app{min-height:100dvh}.app.with-sidebar{display:grid;grid-template-columns:minmax(0,1fr)}.app-column{position:relative;display:flex;flex-direction:column;min-width:0;min-height:100dvh}.app-main{position:relative;flex:1;width:100%;padding:20px var(--gutter) 32px}.app.with-sidebar{--tab-bar: calc(69px + env(safe-area-inset-bottom)) }.app.with-sidebar .app-main{padding-bottom:calc(var(--tab-bar) + 40px)}.ambient-light{position:absolute;inset:0 0 auto;height:300px;pointer-events:none;background:radial-gradient(ellipse 210px 120px at 64% 14px,rgb(143 166 255 / .1),transparent 70%),radial-gradient(ellipse 300px 190px at 50% 14px,rgb(92 125 255 / .16),transparent 72%)}.app-main>*,.site-footer{position:relative}.sidebar{display:none}.sidebar-logo{display:flex;padding:2px 0 24px 8px}.sidebar-logo .wordmark{margin-block:-10px;padding-block:10px}.wordmark{display:inline-flex;align-items:center;gap:9px;min-height:44px;color:var(--text-primary);text-decoration:none;font-size:1.125rem;font-weight:600;line-height:1.3;letter-spacing:-.01em}.wordmark-dot{color:var(--brand-300)}.brand-mark{display:inline-flex;align-items:flex-end;gap:2px;width:24px;height:24px;padding:2px 3px}.brand-mark i{width:4px;border-radius:2px;background:linear-gradient(var(--brand-300),var(--brand-500));transform:skew(-14deg)}.brand-mark i:nth-child(1){height:10px}.brand-mark i:nth-child(2){height:15px}.brand-mark i:nth-child(3){height:20px}.sidebar-add{width:100%;min-height:38px;border-radius:var(--radius-control);font-size:.875rem;font-weight:500}.sidebar-add .icon{width:16px;height:16px}.sidebar-nav{display:grid;gap:4px;margin-top:24px}.nav-item{display:flex;align-items:center;gap:12px;min-height:38px;padding:0 12px;border:1px solid transparent;border-radius:9px;color:var(--text-secondary);text-decoration:none;font-size:.875rem;font-weight:500;transition:background-color var(--dur-quick),color var(--dur-quick)}.nav-item .icon{width:18px;height:18px}.nav-item:hover{background:var(--bg-raised);color:var(--text-primary)}.nav-item[aria-current=page]{border-color:var(--line-soft);background:var(--bg-raised);color:var(--text-primary)}.nav-item[aria-current=page] .icon{color:var(--brand-300)}.nav-count{margin-left:auto;padding:2px 7px;border-radius:6px;background:var(--brand-bg);color:var(--brand-300);font-size:.78125rem;line-height:1.4;font-variant-numeric:tabular-nums}.sidebar-label{padding:28px 0 10px 12px}.sidebar-sets{display:grid;gap:4px}.set-link{display:flex;align-items:center;gap:10px;min-height:34px;padding:0 12px;border-radius:9px;color:var(--text-secondary);text-decoration:none;font-size:.875rem;transition:background-color var(--dur-quick),color var(--dur-quick)}.set-link:hover,.set-link[aria-current=page]{background:var(--bg-raised);color:var(--text-primary)}.set-link span:nth-child(2){flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.set-link .set-due{color:var(--text-faint);font-size:.78125rem;font-weight:500;line-height:1.4;font-variant-numeric:tabular-nums}.recall-ring{flex:none;width:14px;height:14px;border-radius:50%;background:conic-gradient(var(--brand-500) calc(var(--p) * 1%),var(--line-strong) 0);mask:radial-gradient(circle,transparent 3.5px,#000 4px)}.sidebar-end{display:grid;gap:16px;margin-top:auto;padding-top:24px}.exam-card{display:grid;gap:4px;padding:14px;border:1px solid var(--line-soft);border-radius:var(--radius-control-l);background:var(--bg-surface);font-size:.875rem}.exam-card p{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.exam-when{display:flex;align-items:center;gap:8px;color:var(--brand-300);font-size:.78125rem;font-weight:500;line-height:1.4}.exam-when .icon{width:16px;height:16px}.exam-card .exam-name{font-weight:500}.exam-card .exam-date{color:var(--text-faint);font-size:.78125rem;font-weight:500;line-height:1.4}.account-row{display:flex;align-items:center;gap:10px;padding:8px;border-radius:var(--radius-control);color:var(--text-primary);text-decoration:none;transition:background-color var(--dur-quick)}.account-row:hover,.account-row[aria-current=page]{background:var(--bg-raised)}.avatar{display:grid;flex:none;place-items:center;width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,var(--brand-button-top),var(--brand-button-bottom));color:#fff;font-size:.875rem;font-weight:500}.account-text{display:grid;flex:1;min-width:0}.account-text span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:.875rem;font-weight:500}.account-text .account-email{color:var(--text-faint);font-size:.78125rem;line-height:1.4}.account-row>.icon{width:16px;height:16px;color:var(--text-faint)}.prep-toast{position:fixed;right:24px;bottom:24px;z-index:25;display:flex;align-items:center;gap:10px;padding:6px 6px 6px 14px;border:1px solid var(--line-soft);border-radius:var(--radius-control-l);background:var(--bg-raised);box-shadow:var(--shadow-window);font-size:.875rem;font-weight:500;animation:toast-in var(--dur-move) var(--ease) both}.prep-toast>.icon{flex:none;color:var(--state-good)}.prep-toast.failed>.icon{color:var(--state-miss)}.prep-toast .text-button{color:var(--brand-300)}@keyframes toast-in{0%{opacity:0;translate:0 8px}}@media(max-width:899px){.prep-toast{top:calc(env(safe-area-inset-top) + 12px);bottom:auto;left:16px;right:16px;animation-name:toast-down}.prep-toast>span{flex:1}}@keyframes toast-down{0%{opacity:0;translate:0 -8px}}@media(prefers-reduced-motion:reduce){.prep-toast{animation:none}}.tab-bar{position:fixed;inset:auto 0 0;z-index:20;display:grid;grid-template-columns:repeat(3,1fr);padding:8px 8px calc(8px + env(safe-area-inset-bottom));border-top:1px solid var(--line-soft);background:var(--bg-sunken)}.tab{display:grid;justify-items:center;align-content:center;gap:4px;min-height:52px;border-radius:var(--radius-control);color:var(--text-faint);text-decoration:none;font-size:.78125rem;font-weight:500}.tab .icon{width:22px;height:22px}.tab[aria-current=page]{color:var(--text-primary)}.tab[aria-current=page] .icon{color:var(--brand-300);filter:drop-shadow(0 0 6px rgb(91 124 255 / .6))}.site-header{position:relative;z-index:1}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:12px;max-width:1200px;margin:0 auto;padding:12px var(--gutter)}.header-end{display:flex;align-items:center;gap:4px}@media(max-width:359px){.site-header .wordmark-text{display:none}}@media(max-width:599px){.header-sign-up{display:none}}.site-footer{padding:0 var(--gutter) 24px}.app.with-sidebar .site-footer{padding-bottom:calc(var(--tab-bar) + 24px)}.site-footer-links{display:flex;flex-wrap:wrap;align-items:center;gap:0 24px;max-width:1120px;margin:0 auto;padding-top:8px;border-top:1px solid var(--line-soft)}.site-footer-links .text-button{padding-inline:0;font-size:.8125rem;color:var(--text-faint)}.site-footer-links .text-button:hover{color:var(--text-primary)}.site-footer-links .eyebrow{flex-basis:100%}@media(min-width:600px){.site-footer-links .eyebrow{flex-basis:auto;margin-left:auto}}.sidebar-resizer{display:none}@media(min-width:900px){.app.with-sidebar{grid-template-columns:var(--sidebar) minmax(0,1fr)}.sidebar-resizer{position:fixed;top:0;bottom:0;left:calc(var(--sidebar) - 5px);z-index:6;display:block;width:9px;cursor:col-resize;touch-action:none}.sidebar-resizer:after{content:"";position:absolute;inset:0 3px;border-radius:2px;background:var(--brand-500);opacity:0;transition:opacity var(--dur-quick) var(--ease)}.sidebar-resizer:hover:after{opacity:1;transition-delay:.15s}.sidebar-resizer.dragging:after,.sidebar-resizer:focus-visible:after{opacity:1;transition-delay:0ms}.sidebar-resizer:focus-visible{outline:none}.sidebar{position:sticky;top:0;display:flex;flex-direction:column;height:100dvh;overflow-y:auto;padding:20px 16px 16px;border-right:1px solid var(--line-soft);background:var(--bg-sunken)}.tab-bar{display:none}.app-main,.app.with-sidebar .app-main{padding:32px var(--gutter)}.app.with-sidebar .site-footer{padding-bottom:24px}.ambient-light{height:420px;background:radial-gradient(ellipse 330px 150px at 60% 21px,rgb(143 166 255 / .09),transparent 70%),radial-gradient(ellipse 640px 300px at 50% 21px,rgb(92 125 255 / .15),transparent 72%)}}@media(pointer:coarse){.nav-item,.set-link,.sidebar-add{min-height:44px}}.app.focus .app-main{padding-top:0;padding-bottom:16px}.app.with-sidebar .app-main.map-main{flex:none;height:calc(100dvh - var(--tab-bar));padding:0;overflow:hidden}.map-main .page-slot{height:100%}.map-main>.message{position:absolute;top:72px;left:50%;z-index:6;width:min(560px,calc(100% - 32px));translate:-50% 0;box-shadow:var(--shadow-popover);background-color:var(--bg-raised)}.map-main .loading-state{padding:32px var(--gutter)}.map-home{position:relative;height:100%;overflow:hidden;background:radial-gradient(circle at 12% 18%,rgb(169 186 255 / .35) 0 1px,transparent 1.5px),radial-gradient(circle at 63% 41%,rgb(169 186 255 / .22) 0 1px,transparent 1.5px),radial-gradient(circle at 37% 77%,rgb(169 186 255 / .28) 0 1.2px,transparent 1.7px),radial-gradient(circle at 86% 64%,rgb(169 186 255 / .18) 0 1px,transparent 1.5px),radial-gradient(circle at 78% 9%,rgb(169 186 255 / .25) 0 .8px,transparent 1.3px),var(--bg-room);background-size:320px 320px}.path-map{position:absolute;inset:0;overflow:hidden;cursor:grab;touch-action:none;user-select:none}.path-map:active{cursor:grabbing}.map-layer{position:absolute;top:0;left:0;transform-origin:0 0;will-change:transform}.path-map.gliding .map-layer{transition:transform var(--dur-camera) var(--ease)}.map-art{display:block}.stop{position:absolute;display:grid;place-items:center;width:64px;height:64px;border-radius:50%;translate:-50% -50%}.stop:disabled{opacity:1}.stop-disc{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;font-size:.9375rem;font-weight:600;font-variant-numeric:tabular-nums;transition:transform var(--dur-quick) var(--ease),box-shadow var(--dur-quick)}.stop:hover .stop-disc{transform:scale(1.06)}.stop:active .stop-disc{transform:scale(.96)}.stop.done .stop-disc{background:linear-gradient(var(--brand-button-top),var(--brand-button-bottom));color:#fff;box-shadow:0 0 0 3px #0d0e12,0 0 0 7px #5c7dff66,0 6px 18px #5c7dff73,inset 0 1px #ffffff59}.stop.current .stop-disc{position:relative;width:60px;height:60px;background:#fff;color:#0a0d17;font-size:1.1875rem;box-shadow:0 0 0 3px #0d0e12,0 0 0 6px #fff,0 0 34px 6px #8fa6ffa6}.stop.current .stop-disc:after{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;box-shadow:0 0 46px 14px #8fa6ff8c;opacity:0;animation:stop-breathe 2s ease-in-out 3}.stop.current.check .stop-disc:after{box-shadow:0 0 46px 14px #f2bf638c}.stop.check .stop-disc{border-radius:14px}.stop.done.check .stop-disc{background:linear-gradient(#fff,#c9d6ff);color:#0a0d17;box-shadow:0 0 0 3px #0d0e12,0 0 0 7px #dbe3ff80,0 0 16px #dbe3ff80}.stop.current.check .stop-disc{border-radius:16px;background:linear-gradient(#ffdb8c,#ed9e38);color:#1f1405;box-shadow:0 0 0 4px #0d0e12,0 0 0 6px #ffdb8c,0 0 34px 6px #f2bf63b3}@keyframes stop-breathe{50%{opacity:1}}.stop-stars{position:absolute;bottom:-6px;display:flex;gap:2px}.stop-stars svg{width:12px;height:11px;fill:#333845}.stop-stars svg.earned{fill:#f2bf63;filter:drop-shadow(0 0 3px rgb(242 191 99 / .6))}.map-pin{position:absolute;top:-4px;right:-8px;display:grid;place-items:center;width:28px;height:28px;border:2px solid #fff;border-radius:50%;background:linear-gradient(var(--brand-button-top),#2c3a99);color:#fff;font-size:.8125rem;font-weight:600;box-shadow:0 6px 16px #0009}.trail-walked.arriving{stroke-dasharray:1 1;stroke-dashoffset:var(--from);animation:trail-draw .6s ease-out .15s forwards}@keyframes trail-draw{to{stroke-dashoffset:0}}.crystal-glint{fill:#fff;opacity:0;animation:crystal-glint .6s var(--ease) .45s both}@keyframes crystal-glint{35%{opacity:.9}to{opacity:0}}.lighthouse.arriving .lamp-glow{animation:lamp-on .4s var(--ease) both}@keyframes lamp-on{0%{opacity:0}}.lighthouse.arriving .beam{animation:beam-sweep .9s var(--ease) .4s both}@keyframes beam-sweep{0%{opacity:0;rotate:var(--sweep)}}.map-pin.hop{animation:pin-hop .32s var(--ease) .85s both}@keyframes pin-hop{50%{translate:0 -10px}}.island-label{position:absolute;display:grid;justify-items:start;width:max-content;max-width:230px;min-height:44px;padding:8px 12px;border:1px solid var(--line-soft);border-radius:var(--radius-control);background:#111113eb;text-align:left;transition:border-color var(--dur-quick),background-color var(--dur-quick)}.island-label:hover:not(:disabled){border-color:var(--line-strong);background:var(--bg-raised)}.island-label.chosen{border-color:#5b7cff99;background:var(--brand-bg)}.island-label:disabled{opacity:1}.island-due{margin-top:2px;color:var(--brand-300);font-size:.75rem;font-weight:600}.island-label.right{translate:-100% 0}.island-title{font-size:.8125rem;font-weight:600}.island-facts{color:var(--text-faint);font-size:.75rem}.stop-card{position:absolute;z-index:3;display:grid;gap:6px;width:248px;padding:12px 14px 14px;border:1px solid var(--line-strong);border-radius:var(--radius-control-l);background:var(--bg-raised);box-shadow:var(--shadow-popover);translate:-50% -100%;font-size:.875rem}.stop-card-title{font-weight:600}.stop-card-facts{color:var(--text-secondary);font-size:.8125rem}.stop-card .secondary{margin-top:4px}.zoom-controls{position:absolute;z-index:4;display:grid;overflow:hidden;border:1px solid var(--line-strong);border-radius:var(--radius-control-l);background:#111113eb;box-shadow:var(--shadow-popover)}.zoom-controls button{display:grid;place-items:center;width:44px;height:44px;color:var(--text-secondary)}.zoom-controls button+button{border-top:1px solid var(--line-soft)}.zoom-controls button:hover:not(:disabled){background:var(--bg-raised);color:var(--text-primary)}.zoom-controls button:focus-visible{outline-offset:-2px}.back-home{position:absolute;left:24px;z-index:4;background:#111113eb}.map-title{position:absolute;top:28px;left:32px;z-index:2;display:grid;gap:2px;pointer-events:none}.map-title h1{text-shadow:0 2px 12px var(--bg-room)}.map-home:after{content:"";position:absolute;inset:0 0 auto;z-index:1;height:140px;background:linear-gradient(#09090bd9,#09090b00);pointer-events:none}.map-side{position:absolute;inset:12px 8px 8px;z-index:5;display:flex;flex-direction:column;justify-content:space-between;gap:12px;pointer-events:none}.hud-card{display:grid;gap:12px;padding:16px;border:1px solid var(--line-soft);border-radius:var(--radius-card);background:#111113;box-shadow:var(--shadow-window);pointer-events:auto}.level-card{position:relative;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;column-gap:12px;row-gap:6px;padding:10px 12px;border-radius:999px}.level-row{display:contents}.level-disc{display:grid;grid-row:span 2;place-items:center;width:32px;height:32px;border-radius:50%;background:linear-gradient(var(--brand-button-top),var(--brand-button-bottom));color:#fff;font-weight:600;box-shadow:0 0 12px #5b7cff80}.level-text h2{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.run-chip{display:inline-flex;grid-row:span 2;grid-column:3;align-items:center;gap:4px;padding:6px 10px;border:1px solid var(--line-soft);border-radius:999px;font-weight:600;font-variant-numeric:tabular-nums}.run-chip .icon,.run-line .icon{color:var(--state-partly)}.level-card .meter{grid-column:2}.level-facts{display:none}.level-more{grid-column:1 / -1}.level-more summary{position:absolute;inset:0;overflow:hidden;color:transparent;font-size:0;cursor:pointer;list-style:none}.level-more summary::-webkit-details-marker{display:none}.level-more summary:focus-visible{border-radius:inherit;outline:2px solid var(--focus-ring)}.level-card:has(.level-more[open]){border-radius:var(--radius-card)}.level-more-body{display:grid;gap:10px;padding:8px 4px 4px}.run-week{display:flex;justify-content:space-between;gap:4px}.run-day{display:grid;justify-items:center;gap:4px;color:var(--text-faint);font-size:.75rem}.run-day i{width:22px;height:22px;border:1px solid var(--line-strong);border-radius:50%}.run-done i{border-color:transparent;background:var(--brand-500);box-shadow:0 0 8px #5b7cff99}.run-rest i{border-style:dashed}.run-missed i{border-color:#ff7a7a80}.run-today i{border-color:var(--brand-300)}.milestone{display:grid;gap:6px}.milestone-meter{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px}.next-stop{border-color:#5b7cff59;box-shadow:var(--shadow-window),0 0 40px -12px #5b7cff73}.next-stop.boss{border-color:#f2bf6373;box-shadow:var(--shadow-window),0 0 40px -12px #f2bf6373}.next-eyebrow{display:flex;align-items:center;gap:8px;color:var(--brand-300);font-size:.875rem;font-weight:500}.next-stop.boss .next-eyebrow{color:var(--state-partly)}.next-stop.done{border-color:#5ed69b73;box-shadow:var(--shadow-window)}.next-facts{display:flex;align-items:center;gap:6px;color:var(--text-secondary);font-size:.78125rem;font-weight:500;line-height:1.4}.next-more{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px}.next-stop .scope{display:flex;align-items:center;gap:12px}.next-stop .scope label{flex:none;color:var(--text-faint);font-size:.78125rem;font-weight:500}.next-stop .scope .select-wrap{flex:1;min-width:0}.next-stop .select-wrap select{min-height:40px;padding-top:6px;padding-bottom:6px;font-size:.875rem}.island-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.island-stats li{display:grid;padding:8px 10px;border-radius:var(--radius-control);background:var(--bg-raised);color:var(--text-faint);font-size:.75rem}.island-stats strong{color:var(--text-primary);font-size:1.0625rem;font-variant-numeric:tabular-nums}.island-stats .lit{color:var(--brand-300)}.island-stats .retry{color:var(--state-partly)}.next-stop .review-timer{margin:0}.next-stop .option-list{background:var(--bg-raised)}.next-stop .option-row{padding:12px 14px}.next-stop .option-button{font-size:.875rem}.next-stop .option-row p{font-size:.78125rem}.next-stop .option-row>.icon:first-child{width:32px;height:32px;padding:7px}.topic-choices{display:flex;flex-wrap:wrap;gap:8px}.topic-choices .compact{font-weight:500}.first-island{position:absolute;top:34%;left:calc((100% - var(--side-reserve, 0px)) / 2);display:grid;justify-items:center;gap:8px;width:min(420px,86%);padding:56px 24px;border:1.5px dashed rgb(143 166 255 / .45);border-radius:50%;background:radial-gradient(closest-side,rgb(91 124 255 / .12),transparent);text-align:center;translate:-50% -50%}.first-island-mark{display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--brand-500);border-radius:50%;color:var(--brand-300)}.map-home.welcome .map-side{justify-content:flex-end}.map-home.welcome .first-island{top:24%}@media(max-width:899px){.next-stop .next-desc,.next-stop .scope label,.map-title{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.map-home.welcome .next-stop{max-height:72dvh;overflow-y:auto}}@media(min-width:900px){.app.with-sidebar .app-main.map-main{height:100dvh;padding:0}.map-home{--side-reserve: 424px}.map-home.welcome .first-island{top:50%}.map-side{inset:28px 32px auto auto;width:360px;justify-content:flex-start;gap:16px}.level-card{grid-template-columns:minmax(0,1fr) auto;padding:18px 20px;border-radius:var(--radius-card);row-gap:12px}.level-disc,.run-chip{display:none}.level-text{display:flex;grid-column:1 / -1;align-items:flex-end;justify-content:space-between}.level-text h2{position:static;width:auto;height:auto;overflow:visible;clip-path:none;white-space:normal}.level-number{display:block;color:var(--text-primary);font-size:2.5rem;font-weight:600;line-height:1.08}.level-text .mono-number{font-size:.875rem}.level-card .meter{grid-column:1 / -1;height:8px;border-radius:4px}.level-facts{display:flex;grid-column:1 / -1;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;font-size:.78125rem;font-weight:500;line-height:1.4}.run-line{display:inline-flex;align-items:center;gap:8px;font-size:.875rem;line-height:1.5}.level-more summary{position:static;display:flex;align-items:center;justify-content:space-between;margin:0 -8px -4px;padding:4px 8px;line-height:1.3;border-radius:var(--radius-control);color:var(--text-secondary);font-size:.8125rem;font-weight:500}.level-more summary:hover{background:var(--bg-raised);color:var(--text-primary)}.level-more[open] summary .icon{rotate:180deg}.next-stop{padding:18px 20px}}@media(prefers-reduced-motion:reduce){.stop.current .stop-disc:after{animation:none}.path-map.gliding .map-layer{transition:none}}.app-dialog{width:min(480px,calc(100vw - 32px));max-height:calc(100dvh - 48px);padding:0;overflow-y:auto;border:1px solid var(--line-strong);border-radius:var(--radius-panel);background:var(--bg-surface);color:var(--text-primary);box-shadow:var(--shadow-window)}.app-dialog::backdrop{background:#050508b8}.dialog-body{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;padding:24px}.dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.app-dialog .display-s+p{margin-top:6px}.icon-button{display:grid;flex:none;place-items:center;width:40px;height:40px;margin:-8px -8px 0 0;border-radius:var(--radius-control);color:var(--text-secondary)}.icon-button:hover{background:var(--bg-raised);color:var(--text-primary)}.dialog-actions{display:flex;justify-content:flex-end;gap:8px}@media(pointer:coarse){.icon-button{width:44px;height:44px}}@media(max-width:599px){.app-dialog{width:100vw;max-width:none;margin:auto 0 0;border-width:1px 0 0;border-radius:var(--radius-panel) var(--radius-panel) 0 0}.app-dialog .dialog-body{padding-bottom:calc(24px + env(safe-area-inset-bottom))}.dialog-actions{flex-direction:column-reverse}.dialog-actions>*{width:100%}}.drop-overlay{position:fixed;inset:0;z-index:40;display:grid;place-items:center;padding:24px;background:#050508c7;pointer-events:none;animation:drop-in var(--dur-quick) var(--ease)}.drop-zone{display:grid;justify-items:center;gap:10px;width:min(640px,100%);padding:56px 32px;border:2px dashed rgb(143 166 255 / .7);border-radius:28px;background:#141a33bf;box-shadow:0 0 80px #5c7dff4d;text-align:center}.drop-zone .muted{max-width:420px}.drop-disc{display:grid;place-items:center;width:64px;height:64px;margin-bottom:4px;border-radius:50%;background:#5b7cff2e;color:var(--brand-300)}@keyframes drop-in{0%{opacity:0}}@media(prefers-reduced-motion:reduce){.drop-overlay{animation:none}}.drop-dialog .problem{color:var(--state-miss)}.drop-files{overflow:hidden;border:1px solid var(--line-soft);border-radius:var(--radius-control-l)}.drop-files li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 14px}.drop-files li+li{border-top:1px solid var(--line-soft)}.drop-files li>.icon:first-child{color:var(--brand-300)}.drop-files li>.icon:last-child{color:var(--state-good)}.drop-file-text{display:grid;min-width:0}.drop-file-name{overflow:hidden;font-size:.875rem;font-weight:500;white-space:nowrap;text-overflow:ellipsis}.drop-file-meta{color:var(--text-faint);font-size:.78125rem;font-weight:500}.drop-files li.left-out .drop-file-name{color:var(--text-secondary)}.drop-files li.left-out .drop-file-meta,.drop-files li.left-out>.icon:last-child{color:var(--state-miss)}.drop-files li.left-out>.icon:first-child{color:var(--text-faint)}.drop-preview{display:flex;align-items:flex-start;gap:10px;max-height:140px;overflow:hidden;padding:12px 14px;border:1px solid var(--line-soft);border-radius:var(--radius-control-l);color:var(--text-secondary);font-size:.875rem;overflow-wrap:anywhere}.drop-preview .icon{color:var(--brand-300)}.drop-preview.text{display:block;white-space:pre-line;mask:linear-gradient(#000 70%,transparent)}.exam-delete{margin-right:auto;margin-left:-12px}.exam-notes{display:grid;gap:8px;min-width:0;margin:0;padding:0;border:0}.exam-notes legend{padding:0 0 8px;font-size:.875rem;font-weight:500}.exam-notes-toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:44px;padding:10px 14px;border:1px solid var(--line-strong);border-radius:var(--radius-control);background:var(--bg-field);text-align:left}.exam-notes-toggle span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.exam-notes-toggle .icon{color:var(--text-faint);transition:rotate var(--dur-quick) var(--ease)}.exam-notes-toggle[aria-expanded=true]{border-color:var(--brand-500)}.exam-notes-toggle[aria-expanded=true] .icon{rotate:180deg}.exam-notes-list{overflow:hidden;border:1px solid var(--line-soft);border-radius:var(--radius-control-l)}.exam-notes-list li+li{border-top:1px solid var(--line-soft)}.exam-notes-list label{display:flex;align-items:center;gap:12px;min-height:48px;padding:0 14px;font-weight:400;cursor:pointer}.exam-notes-title{flex:1;min-width:0;overflow-wrap:anywhere}.exam-notes-ideas{color:var(--text-faint);font-size:.78125rem;font-weight:500}@media(min-width:600px){.exam-notes-list:not(.open){display:none}}@media(max-width:599px){.exam-notes-toggle{display:none}.exam-delete{margin:0}}.raw-text{width:min(760px,calc(100vw - 32px))}.raw-head,.raw-foot{position:sticky;z-index:1;background:var(--bg-surface)}.raw-head{top:0;padding:24px 24px 12px}.raw-head>div{display:grid;gap:4px}.raw-sections{padding:0 24px}.raw-sections li{display:grid;gap:6px;padding:16px 0;border-top:1px solid var(--line-soft)}.raw-sections p{white-space:pre-wrap;overflow-wrap:anywhere}.raw-foot{bottom:0;padding:14px 24px calc(18px + env(safe-area-inset-bottom));border-top:1px solid var(--line-soft)}@media(prefers-reduced-motion:reduce){.exam-notes-toggle .icon{transition:none}}.code-block{min-width:0;margin:0;padding:12px 0 14px;border:1px solid var(--line-soft);border-radius:var(--radius-control-l);background:var(--bg-sunken)}*+.code-block,.code-block+*{margin-top:8px}.code-block figcaption{padding:0 16px 8px;color:var(--text-secondary);font-size:.75rem;font-weight:500}.code-block pre{margin:0;padding:0 40px 0 16px;overflow-x:auto;white-space:pre;tab-size:4;color:var(--text-primary);font:400 .8125rem / 1.3125rem var(--mono);mask-image:linear-gradient(to left,transparent,#000 32px)}:where(p,h1,li,blockquote) code{padding:.05em .3em;border-radius:4px;background:var(--bg-raised);font-family:var(--mono);font-size:.88em;font-weight:400}.hljs-keyword,.hljs-selector-tag{color:var(--brand-300)}.hljs-string,.hljs-regexp{color:var(--state-good)}.hljs-number,.hljs-literal,.hljs-type,.hljs-built_in,.hljs-title.class_{color:var(--state-partly)}.hljs-comment,.hljs-quote{color:var(--text-faint)}.study{position:relative;display:grid;grid-template-columns:minmax(0,1fr);align-content:start;min-height:calc(100dvh - 32px)}.session-bar{position:sticky;top:0;z-index:5;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;min-height:56px;margin:0 calc(var(--gutter) * -1);padding:0 var(--gutter);background:linear-gradient(var(--bg-room) 70%,rgb(9 9 11 / 0))}.session-set{display:none}.session-progress{grid-column:2;display:flex;align-items:center;justify-content:center;gap:12px;min-width:0}.segments{display:flex;flex:1;gap:3px;max-width:240px}.segment{flex:1;height:3px;border-radius:2px;background:var(--line-strong);transition:background-color var(--dur-move) var(--ease)}.segment.current{background:var(--text-primary);box-shadow:0 0 8px #ededef80}.segment.held{background:var(--state-good)}.segment.glint{position:relative}.segment.glint:after{content:"";position:absolute;inset:-2px 0;border-radius:3px;background:#fff;box-shadow:0 0 10px #34d399e6;opacity:0;animation:glint .6s var(--ease) both}@keyframes glint{35%{opacity:1}}.segment.partial{background:var(--state-partly)}.segment.missed{background:var(--state-miss)}.segment.help,.segment.answered{background:var(--brand-300)}.segment.marking{background:var(--text-primary);animation:pulse .9s ease-in-out infinite}.session-count{flex:none;color:var(--text-secondary);font-size:.875rem;font-weight:500;font-variant-numeric:tabular-nums}.session-exit{order:-1;width:44px;padding:0}.session-exit .exit-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.session-light{position:absolute;inset:0 calc(var(--gutter) * -1) auto;z-index:-1;height:320px;pointer-events:none;background:radial-gradient(ellipse 60% 100% at 50% 0,rgb(var(--tone) / .16),transparent 72%);transition:background var(--dur-grow) var(--ease);--tone: 92 125 255}.session-light.good{--tone: 94 214 155}.session-light.partly{--tone: 242 192 99}.session-light.miss{--tone: 255 122 122}.session-column{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;width:100%;max-width:720px;margin:0 auto;padding:12px 0 24px}.study-meta{color:var(--text-faint);font-size:.78125rem;font-weight:500;line-height:1.4}.key-idea{display:grid;gap:6px;padding:14px 16px;border:1px solid rgb(91 124 255 / .3);border-radius:var(--radius-card);background:var(--brand-bg)}.key-idea .eyebrow,.hint .eyebrow,.sources-label{display:flex;align-items:center;gap:6px;color:var(--brand-300)}.key-idea .key-point{font-size:.9375rem}.question-card{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;padding-top:8px}.question-card.nudge{animation:nudge var(--dur-grow) var(--ease)}@keyframes nudge{40%{translate:0 -8px}}.question-head{display:grid;gap:10px}.question-title{font-size:1.375rem;font-weight:500;line-height:1.3;letter-spacing:-.01em}.question-note{color:var(--text-secondary);font-size:.9375rem}.question-note.small{color:var(--text-faint);font-size:.8125rem}.assist{display:flex;flex-wrap:wrap;align-items:flex-start;gap:8px}.assist-button,.help>summary{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:0 12px;border:1px solid var(--line-soft);border-radius:var(--radius-control);background:var(--bg-surface);color:var(--text-secondary);font-size:.875rem;font-weight:500;cursor:pointer;transition:border-color var(--dur-quick),color var(--dur-quick)}.assist-button .icon,.help>summary .icon{width:16px;height:16px}.assist-button:hover:not(:disabled),.help>summary:hover{border-color:var(--line-strong);color:var(--text-primary)}.help{display:contents}.help>summary{list-style:none}.help>summary::-webkit-details-marker{display:none}.help>summary .icon:last-child{display:none}.help[open]>summary{border-color:#5b7cff80;color:var(--text-primary)}.help .disclosure-body{flex-basis:100%;display:grid;gap:12px;padding:14px 16px;border:1px solid var(--line-soft);border-radius:var(--radius-card);background:var(--bg-surface)}.help-form{display:grid;gap:8px}.explanation{color:var(--text-secondary);font-size:.9375rem}.hints{display:grid;gap:8px}.hint{display:grid;gap:6px;padding:14px 16px;border:1px solid rgb(242 192 99 / .35);border-radius:var(--radius-card);background:var(--bg-surface)}.hint .eyebrow{color:var(--state-partly)}.sources{display:grid;gap:10px}.source{border-left:2px solid var(--brand-500);padding-left:14px}.source summary{cursor:pointer;color:var(--text-faint);font-size:.8125rem;font-weight:500}.source-text{padding-top:6px;font-size:.9375rem}.composer{position:sticky;bottom:16px;z-index:4;margin-top:8px}.composer-field{display:grid;gap:8px;padding:12px 12px 12px 16px;border:1px solid rgb(91 124 255 / .55);border-radius:var(--radius-card);background:var(--bg-surface);box-shadow:var(--shadow-window),0 0 0 4px #5b7cff14}.composer-field:focus-within{border-color:var(--brand-500);box-shadow:var(--shadow-window),0 0 0 4px #5b7cff33}.composer textarea{min-height:3lh;max-height:40vh;padding:0;border:0;background:none;box-shadow:none;font-size:1rem;resize:none;field-sizing:content}.composer textarea:focus-visible{box-shadow:none}.composer-bar{display:flex;align-items:center;justify-content:flex-end;gap:12px}.key-hint{color:var(--text-faint);font-size:.78125rem;font-weight:500;line-height:1.4}.key-hint kbd{margin-right:4px}.send{display:grid;flex:none;place-items:center;width:40px;height:40px;border-radius:var(--radius-control);background:linear-gradient(var(--brand-button-top),var(--brand-button-bottom));color:#fff;box-shadow:var(--glow-brand)}.send.checking .icon{animation:pulse .9s ease-in-out infinite}.submitted-answer{display:grid;gap:6px;padding:14px 16px;border:1px solid var(--line-soft);border-radius:var(--radius-card);background:var(--bg-surface)}.submitted-answer blockquote{white-space:pre-line}.marking-wait{display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:12px;row-gap:4px}.marking-wait:before{content:"";grid-row:span 1;width:18px;height:18px;border:2px solid var(--line-strong);border-top-color:var(--brand-500);border-radius:50%;animation:spin .9s linear infinite}.marking-wait p,.marking-wait .text-button{grid-column:1 / -1;justify-self:start}.marking-wait .text-button{margin-left:-12px}@keyframes spin{to{rotate:360deg}}.feedback{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;padding-top:8px}.feedback-question{color:var(--text-secondary);font-size:.9375rem}.feedback{--tone: 161 161 170}.feedback.held{--tone: 94 214 155}.feedback.partial{--tone: 242 192 99}.feedback.missed{--tone: 255 122 122}.verdict-banner{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:16px 20px;border:1px solid rgb(var(--tone) / .35);border-radius:var(--radius-card);background:rgb(var(--tone) / .1)}.verdict-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:rgb(var(--tone) / .16);color:rgb(var(--tone))}.verdict-text{display:grid;gap:2px}.verdict{color:rgb(var(--tone));font-size:1.5rem;font-weight:600;line-height:1.2}.feedback.neutral .verdict{color:var(--text-primary)}.verdict-line{color:var(--text-secondary);font-size:.875rem}.xp{padding:4px 8px;border-radius:8px;background:rgb(var(--tone) / .16);color:rgb(var(--tone));font-size:.8125rem;font-weight:600;font-variant-numeric:tabular-nums}.evidence{display:grid;gap:8px}.said{padding-left:14px;border-left:2px solid var(--line-strong)}.said>span{white-space:pre-wrap}.said mark{background:none;color:var(--state-good);text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:3px}.missing .eyebrow{color:rgb(var(--tone))}.missing ul{display:grid;gap:8px;padding:12px 16px;border:1px solid var(--line-soft);border-radius:var(--radius-control-l);background:var(--bg-surface)}.missing li{display:flex;gap:10px}.missing li .icon{flex:none;margin-top:3px;color:rgb(var(--tone))}.expected .eyebrow{color:var(--brand-300)}.expected blockquote{padding-left:14px;border-left:2px solid var(--brand-500)}.why>summary,.feedback-actions .text-button{min-height:36px;padding:0 10px;font-size:.8125rem}.feedback-actions{display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin-left:-10px}.why{display:contents}.why>summary{display:inline-flex;align-items:center;gap:6px;border-radius:var(--radius-control);color:var(--text-secondary);font-weight:500;cursor:pointer;list-style:none}.why>summary::-webkit-details-marker{display:none}.why[open]>summary .icon{rotate:180deg}.why-body{flex-basis:100%;padding:4px 10px 8px;color:var(--text-secondary)}.evidence-label{font-size:.8125rem;font-weight:500;color:var(--text-faint)}.next-zone{position:sticky;bottom:16px;z-index:4;display:grid;gap:10px;margin-top:8px}.next-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 8px 8px 16px;border:1px solid var(--line-soft);border-radius:var(--radius-card);background:var(--bg-surface);box-shadow:var(--shadow-window)}.next-hint{color:var(--text-faint);font-size:.8125rem}.next-hint kbd{margin:0 4px}.next-question{flex:none}.break-suggestion{display:grid;gap:10px;padding:14px 16px;border:1px solid rgb(91 124 255 / .35);border-radius:var(--radius-card);background:var(--brand-bg)}.break-actions{display:flex;flex-wrap:wrap;gap:8px}.study-break .dialog-body{justify-items:center;text-align:center}.study-break-clock{color:var(--text-primary);font-size:3rem;font-weight:600;font-variant-numeric:tabular-nums}.finish{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;padding-top:24px}@media(min-width:900px){.finish{padding-top:36px}}.finish-head{display:grid;gap:6px}.finish-count{margin-top:4px;color:var(--text-secondary)}.result-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:8px}.result-tiles li{display:grid;gap:2px;padding:16px 18px;border:1px solid var(--line-soft);border-radius:14px;background:var(--bg-surface);color:var(--text-secondary);font-size:.875rem}.result-tiles strong{font-size:1.875rem;font-weight:600;line-height:1.14}.result-tiles .held strong{color:var(--state-good)}.result-tiles .partial strong{color:var(--state-partly)}.result-tiles .missed strong{color:var(--state-miss)}.level-progress{display:grid;gap:8px}.level-progress-head{display:flex;justify-content:space-between;gap:12px;color:var(--text-secondary);font-size:.875rem}.xp-gained{color:var(--state-good);font-weight:600}.level-count{font-variant-numeric:tabular-nums}.level-bar{position:relative;height:6px;overflow:hidden;border-radius:3px;background:var(--bg-raised)}.level-before,.level-gained{position:absolute;top:0;bottom:0;left:0}.level-before{background:var(--brand-500)}.level-gained{background:var(--state-good);transform-origin:left;animation:xp-fill .6s var(--ease) .4s both}@keyframes xp-fill{0%{transform:scaleX(0)}}.finish-details{display:grid;gap:10px}.finish-details:not(:has(*)){display:none}.finish-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px;color:var(--text-secondary)}.finish-row .dot{width:8px;height:8px;border-radius:50%;background:var(--state-miss)}.finish-row .dot.marking{background:var(--text-primary);animation:pulse .9s ease-in-out infinite}.finish-actions{display:flex;flex-wrap:wrap;gap:8px}.finish-stars{display:flex;align-items:flex-end;gap:6px;margin-bottom:6px}.finish-stars svg{width:34px;height:31px;fill:var(--bg-raised)}.finish-stars svg:nth-child(2){width:44px;height:40px}.finish-stars svg.earned{fill:#f2bf63;filter:drop-shadow(0 0 10px rgb(242 191 99 / .45));animation:star-pop .28s var(--ease) both}.finish-stars svg.earned:nth-child(1){animation-delay:.12s}.finish-stars svg.earned:nth-child(2){animation-delay:.24s}.finish-stars svg.earned:nth-child(3){animation-delay:.36s}@keyframes star-pop{0%{opacity:0;scale:.6}70%{opacity:1;scale:1.08}to{scale:1}}.level-halo{position:relative;display:grid;place-items:center;width:80px;height:80px;margin:30px 0 34px 30px;border-radius:50%;background:linear-gradient(var(--brand-button-top),var(--brand-button-bottom));box-shadow:0 0 32px #5b7cff73;color:#fff;font-size:2.25rem;font-weight:600}.level-halo:before,.level-halo:after{content:"";position:absolute;inset:-14px;border:1px solid rgb(143 166 255 / .35);border-radius:50%;animation:halo .48s var(--ease) both}.level-halo:after{inset:-30px;border-color:#8fa6ff29;animation-delay:.1s}@keyframes halo{0%{opacity:0;scale:.8}}.touch-only{display:none}@media(pointer:coarse){.touch-only{display:inline}.pointer-only{display:none}}@media(min-width:900px){.study{min-height:calc(100dvh - 32px)}.session-bar{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);min-height:68px;padding:0 20px 0 28px}.session-progress{gap:14px}.session-set{display:flex;align-items:center;gap:10px;min-width:0;color:var(--text-secondary);font-size:.875rem;font-weight:500}.session-title{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.segments{flex:none;gap:4px;width:300px;max-width:none}.segment{height:4px}.session-exit{order:0;justify-self:end;width:auto;padding:0 14px 0 12px}.session-exit .exit-label{position:static;width:auto;height:auto;overflow:visible;clip-path:none}.session-column{padding-top:32px}.question-title{font-size:1.75rem}}@media(max-width:599px){.next-bar{padding:8px}.next-hint{display:none}.next-question{width:100%}.result-tiles strong{font-size:1.25rem}.finish-actions{display:grid}.composer{bottom:max(8px,env(safe-area-inset-bottom))}}@media(prefers-reduced-motion:reduce){.segment.marking,.send.checking .icon,.finish-row .dot.marking,.marking-wait:before,.finish-stars svg.earned,.level-gained,.level-halo:before,.level-halo:after{animation:none}.segment.glint:after{display:none}.question-card.nudge{animation:none}}.add-link .add-label{font-weight:600}.empty-state{display:grid;justify-items:center;gap:8px;padding:48px 24px;border:1.5px dashed var(--line-strong);border-radius:var(--radius-panel);background:var(--bg-surface);text-align:center}.empty-state .primary{margin-top:8px}.empty-mark{display:grid;place-items:center;width:48px;height:48px;margin-bottom:4px;border-radius:var(--radius-control-l);background:var(--brand-bg);color:var(--brand-300)}.set-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}.set-card{position:relative;display:grid;gap:14px;height:100%;padding:20px;border:1px solid var(--line-soft);border-radius:var(--radius-card);background:var(--bg-surface);transition:border-color var(--dur-quick)}.set-card:hover{border-color:var(--line-strong)}.set-card:has(.set-card-link:focus-visible){outline:2px solid var(--focus-ring);outline-offset:2px}.set-card-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.set-card-link{color:inherit;text-decoration:none}.set-card-link:after{content:"";position:absolute;inset:0;border-radius:inherit}.set-card-link:focus-visible{outline:none}.collection-meta{color:var(--text-faint);font-size:.875rem}.collection-exam{display:flex;align-items:center;gap:6px;color:var(--state-partly);font-size:.78125rem;font-weight:500;line-height:1.4}.recall-bar{display:flex;gap:3px}.recall-bar span{flex:1;height:4px;border-radius:2px;background:var(--line-strong)}.recall-bar .held{background:var(--brand-500)}.recall-bar .missed{background:var(--state-miss)}.notes-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px}.notes-title{display:grid;gap:6px;min-width:0}.notes-title-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}.notes-layout{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;gap:16px}.notes-side{display:grid;gap:16px}.files-card{gap:0;padding:0;overflow:hidden}.files-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px 10px 20px}.file-row{display:grid;grid-template-columns:38px minmax(0,1fr);gap:8px 14px;padding:14px 16px 14px 20px;border-top:1px solid var(--line-soft)}.file-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:var(--radius-control);background:var(--bg-raised);color:var(--text-secondary)}.file-text{display:grid;gap:3px;min-width:0}.file-name{font-size:.875rem;font-weight:500;overflow-wrap:anywhere}.file-meta,.file-status,.file-issue{font-size:.78125rem;font-weight:500;line-height:1.4}.file-meta{color:var(--text-faint)}.file-status{color:var(--text-secondary)}.file-status:is(.status-ready,.status-partial){color:var(--state-good)}.file-status:is(.status-failed,.status-cancelled){color:var(--state-miss)}.file-issue{color:var(--text-secondary)}.file-actions{display:flex;flex-wrap:wrap;grid-column:2;gap:6px}.file-actions .text-button{padding:0 12px 0 10px;border-radius:8px;background:var(--bg-raised)}@media(pointer:fine){.file-actions .text-button{min-height:32px}}.notes-actions{display:flex;gap:8px}.share-button{position:relative}.share-live{position:absolute;top:9px;right:9px;width:7px;height:7px;border-radius:50%;background:var(--state-good)}.share-link{display:flex;gap:8px}.share-link input{flex:1;min-width:0}.manage-card{gap:4px;padding:12px 8px}.manage-actions{display:grid;gap:4px}.manage-actions>.text-button{justify-content:flex-start;gap:10px;width:100%;color:var(--text-primary)}@media(pointer:fine){.manage-actions>.text-button{min-height:40px}}.manage-actions>.text-button.danger{color:var(--state-danger)}.manage-actions .inline-form{padding:8px 12px}.exam-list{display:grid;gap:2px;padding-bottom:6px;border-bottom:1px solid var(--line-soft);margin-bottom:4px}.exam-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 12px;width:100%;padding:10px 12px;border-radius:var(--radius-control);text-align:left;transition:background-color var(--dur-quick)}.exam-row:hover:not(:disabled){background:var(--bg-raised)}.exam-row .exam-name{font-size:.9375rem;font-weight:500}.exam-countdown{color:var(--state-partly);font-size:.8125rem;font-weight:500}.exam-sets,.exam-recalled{grid-column:1 / -1;color:var(--text-faint);font-size:.8125rem}@media(max-width:599px){.add-link{width:44px;padding:0}.add-link .add-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.notes-actions{width:100%}.practise-notes{flex:1}.share-button{width:48px;padding:0}.share-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}}@media(min-width:900px){.set-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.notes-layout{grid-template-columns:minmax(0,1fr) 360px;gap:24px}.file-row{grid-template-columns:38px minmax(0,1fr) auto}.file-actions{grid-column:3;grid-row:1;flex-direction:column;align-items:flex-end}}.add-page,.preparation-page{max-width:600px}.add-form{display:grid;grid-template-columns:minmax(0,1fr);gap:20px}.kind-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.kind-tile{display:grid;align-content:start;gap:6px;padding:14px;border:1px solid var(--line-soft);border-radius:14px;background:var(--bg-surface);text-align:left;transition:border-color var(--dur-quick),background-color var(--dur-quick)}.kind-tile:hover{border-color:var(--line-strong)}.kind-tile[aria-pressed=true]{border-color:var(--brand-500);background:var(--brand-bg);box-shadow:0 0 0 3px #5b7cff26}.kind-top{display:flex;align-items:center;justify-content:space-between;color:var(--text-secondary)}.kind-tile[aria-pressed=true] .kind-top{color:var(--brand-300)}.kind-label{font-size:.875rem;font-weight:500}.kind-detail{color:var(--text-faint);font-size:.78125rem;font-weight:500;line-height:1.4}.paste-area{min-height:225px;padding:16px;border-radius:14px}.file-zone{position:relative;display:grid;justify-items:center;gap:6px;padding:32px 20px;border:1.5px dashed rgb(143 166 255 / .45);border-radius:var(--radius-card);background:var(--bg-surface);text-align:center;cursor:pointer;transition:border-color var(--dur-quick)}.file-zone:hover,.file-zone:focus-within{border-color:var(--brand-500)}.file-zone:has(input:focus-visible){outline:2px solid var(--focus-ring);outline-offset:2px}.file-zone input{position:absolute;inset:0;opacity:0;cursor:pointer}.file-zone strong{font-weight:600}.file-zone-mark{display:grid;place-items:center;width:44px;height:44px;margin-bottom:4px;border-radius:var(--radius-control-l);background:var(--brand-bg);color:var(--brand-300)}.chosen-files{overflow:hidden;border:1px solid var(--line-soft);border-radius:var(--radius-control-l)}.chosen-files li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:6px 8px 6px 14px}.chosen-files li+li{border-top:1px solid var(--line-soft)}.chosen-files li>.icon{color:var(--text-secondary)}.chosen-text{display:grid;min-width:0}.chosen-name{overflow:hidden;font-size:.875rem;font-weight:500;white-space:nowrap;text-overflow:ellipsis}.chosen-meta{color:var(--text-faint);font-size:.78125rem}.chosen-files li.left-out>.icon:first-child,.chosen-files li.left-out .chosen-meta{color:var(--state-miss)}.chosen-files .icon-button{margin:0}.preparation-page{display:grid;gap:16px}.preparation-status{color:var(--text-secondary)}.ideas-card{display:grid;gap:12px;padding:16px;border:1px solid var(--line-soft);border-radius:var(--radius-card);background:var(--bg-surface)}.ideas-count{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 12px}.ideas-state{color:var(--brand-300);font-size:.8125rem;font-weight:500}.idea-segments{display:flex;gap:3px}.idea-segments span{flex:1 1 0;min-width:0;max-width:34px;height:3px;border-radius:2px;background:var(--line-strong);animation:segment-in var(--dur-grow) var(--ease) both}.idea-segments .new{background:var(--brand-300);box-shadow:0 0 8px #8fa6ffb3}.idea-segments .coming{background:var(--bg-raised);animation:pulse 1.4s ease-in-out infinite}@keyframes segment-in{0%{opacity:0;scale:.4 1}}.stages{overflow:hidden;border:1px solid var(--line-soft);border-radius:var(--radius-card);background:var(--bg-surface)}.stage{display:grid;grid-template-columns:20px minmax(0,1fr);gap:12px;padding:14px 16px}.stage+.stage{border-top:1px solid var(--line-soft)}.stage-mark{display:grid;place-items:center;height:22px}.stage-done .stage-mark{color:var(--state-good)}.stage-problem .stage-mark{color:var(--state-miss)}.spinner{width:16px;height:16px;border:2px solid var(--line-strong);border-top-color:var(--brand-500);border-radius:50%;animation:spin .9s linear infinite}.stage-body{display:grid;justify-items:start;gap:2px;min-width:0}.stage-body strong{font-size:.9375rem;font-weight:500;overflow-wrap:anywhere}.stage-body .muted{font-size:.8125rem}.stage-done .stage-body .muted{color:var(--state-good)}.stage-body .text-button{margin-left:-12px}.source-issue{color:var(--text-secondary);font-size:.8125rem}.source-issue-failed{color:var(--state-miss)}.source-sites summary{list-style:none;cursor:pointer}.source-sites summary::-webkit-details-marker{display:none}.source-sites[open]{flex-basis:100%}.source-sites[open] summary .icon:last-child{rotate:180deg}.source-sites ul{display:grid;gap:6px;padding:4px 0 4px 24px}.source-sites a{color:var(--text-secondary);font-size:.8125rem;text-decoration:none;overflow-wrap:anywhere}.source-sites a:hover{color:var(--text-primary)}.unavailable-card{max-width:600px;margin:0 auto}@media(min-width:900px){.add-page{max-width:760px}.kind-tiles{grid-template-columns:repeat(4,minmax(0,1fr))}}.account-page{max-width:720px;gap:24px}.account-head{display:flex;align-items:center;gap:14px;min-width:0}.account-avatar{width:52px;height:52px;font-size:1.0625rem;font-weight:600}.account-head .page-title{gap:2px;min-width:0}.account-head .muted{font-size:.875rem}.sign-out{order:1;font-weight:500}.account-note{order:2}.settings-group{display:grid;gap:10px}.settings-label{color:var(--text-faint);font-size:.78125rem;font-weight:500;line-height:1.4}.settings-list{overflow:hidden;border:1px solid var(--line-soft);border-radius:var(--radius-card);background:var(--bg-surface)}.settings-list>*+*{border-top:1px solid var(--line-soft)}.settings-list.danger{border-color:#ff6b6b59}.setting{position:relative;display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:12px 14px;min-height:68px;padding:16px 18px}.setting-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:var(--radius-control);background:var(--bg-raised);color:var(--text-secondary)}.danger .setting-icon{background:#ff6b6b1f;color:var(--state-danger)}.setting-text{display:grid;gap:3px;min-width:0}.setting-title{color:var(--text-primary);font-size:.875rem;font-weight:500}.setting-detail{color:var(--text-secondary);font-size:.78125rem;font-weight:500;line-height:1.4}.setting-chevron{color:var(--text-faint);transition:rotate var(--dur-quick) var(--ease)}.setting-actions{grid-column:2 / -1;display:flex;flex-wrap:wrap;gap:8px}.danger .setting-actions{grid-column:auto}.setting-link{text-decoration:none}.setting-link:after{content:"";position:absolute;inset:0}.setting-link:focus-visible{outline:none}.setting:has(.setting-link:hover),.setting-disclosure>summary:hover{background:var(--bg-raised)}.setting:has(.setting-link:focus-visible),.setting-disclosure>summary:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}.setting-disclosure>summary{list-style:none;cursor:pointer}.setting-disclosure>summary::-webkit-details-marker{display:none}.setting-disclosure[open] .setting-chevron{rotate:90deg}.setting-body{gap:12px;padding:4px 18px 18px 68px}@media(max-width:599px){.setting{min-height:56px}.setting-detail{display:none}.setting-disclosure[open] .setting-detail{display:block}.setting-actions,.danger .setting-actions{grid-column:1 / -1;display:grid}.setting-body{padding-left:18px}.sign-out{width:100%}}@media(min-width:600px){.account-page{grid-template-columns:minmax(0,1fr) auto}.account-page>*{grid-column:1 / -1}.account-page>.account-head{grid-column:1}.account-page>.sign-out{order:0;grid-row:1;grid-column:2;align-self:center}}@media(prefers-reduced-motion:reduce){.setting-chevron{transition:none}}.auth-layout{display:grid;grid-template-columns:minmax(0,1fr)}.auth-art{display:none}.auth-pane{display:grid;justify-items:center;align-content:start;padding-top:8px}.auth-card{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;width:100%;max-width:400px}.auth-card strong{color:var(--text-primary);font-weight:500}.auth-form{display:grid;gap:16px}.auth-providers{display:grid;gap:12px}.auth-provider,.auth-submit{width:100%}.brand-logo{flex:none;width:20px;height:20px}.auth-divider{display:flex;align-items:center;gap:12px;color:var(--text-faint);font-size:.8125rem}.auth-divider:before,.auth-divider:after{content:"";flex:1;border-top:1px solid var(--line-soft)}.input-icon{--field-inset: 42px;position:relative}.input-icon>.icon{position:absolute;top:50%;left:14px;translate:0 -50%;color:var(--text-faint);pointer-events:none}.forgot-row{display:flex;justify-content:flex-end;margin:-8px -12px -4px 0}.auth-switch{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;color:var(--text-secondary);font-size:.875rem}.auth-switch .text-button{padding:0 8px;color:var(--text-primary)}.auth-card .text-button{font-weight:600}.auth-legal a{color:var(--text-secondary)}.auth-tile{width:48px;height:48px;border-radius:var(--radius-control-l)}.auth-actions{display:grid;justify-items:center;gap:4px}.auth-back{justify-self:start;margin-left:-12px}@media(min-width:900px){.app:has(.auth-layout) .site-header{position:absolute;inset:0 auto auto 0;width:640px}.app:has(.auth-layout) .header-inner{padding:28px 40px}.app-main:has(.auth-layout){padding:0}.auth-layout{grid-template-columns:640px minmax(0,1fr);min-height:100dvh}.auth-art{display:flex;flex-direction:column;justify-content:flex-end;padding:0 40px 96px;border-right:1px solid var(--line-soft);background:linear-gradient(transparent 55%,var(--bg-room) 82%),url(../../../art/path.webp) center top / 640px auto no-repeat,var(--bg-sunken)}.auth-story{display:grid;gap:12px}.auth-story .display-xl{font-size:2.25rem}.auth-pane{align-content:center;padding:48px 40px}}.landing{display:grid;grid-template-columns:minmax(0,1fr);gap:96px;max-width:1040px;margin:0 auto;padding-bottom:32px}.landing-hero{display:grid;justify-items:center;gap:20px;padding-top:32px;text-align:center}.landing-title{font-size:clamp(2.5rem,7vw,4rem);font-weight:600;line-height:1.05;letter-spacing:-.03em}.landing-lead{max-width:34rem;color:var(--text-secondary);font-size:1.0625rem}.landing-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.landing-sample{display:grid;gap:14px;width:100%;max-width:640px;margin-top:28px;padding:0 20px 20px;border:1px solid var(--line-soft);border-radius:var(--radius-panel);background:var(--bg-surface);box-shadow:var(--shadow-window);text-align:left}.landing-sample .segments{width:auto;max-width:none;margin:0 -20px 6px;padding:0 24px;translate:0 -2px}.landing-sample-question{font-size:1.1875rem;font-weight:500;line-height:1.35}.landing-sample-answer{padding:10px 14px;border:1px solid var(--line-strong);border-radius:var(--radius-control);background:var(--bg-field);font-size:.9375rem}.landing-sample .verdict-banner{margin:0}.landing-formats{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 20px;margin-top:8px;color:var(--text-faint);font-size:.8125rem}.landing-formats li{display:flex;align-items:center;gap:6px}.landing-section{display:grid;gap:12px}.landing-section>h2{margin-bottom:16px}.landing-steps{display:grid;gap:12px}.landing-step{display:grid;gap:6px;padding:20px;border:1px solid var(--line-soft);border-radius:var(--radius-card);background:var(--bg-surface)}.landing-step-top{display:flex;align-items:center;gap:10px;margin-bottom:10px;color:var(--text-faint);font-size:.8125rem}.landing-step-tile{display:grid;place-items:center;width:36px;height:36px;border-radius:var(--radius-control);background:var(--brand-bg);color:var(--brand-300)}.landing-step h3{font-size:1rem;font-weight:600}.landing-split{display:grid;align-items:center;gap:24px}.landing-split-copy{display:grid;gap:12px}.landing-example{display:grid;gap:12px;padding:16px;border:1px solid var(--line-soft);border-radius:var(--radius-panel);background:var(--bg-surface)}.landing-example .evidence{gap:4px}.landing-path{aspect-ratio:640 / 520;border:1px solid var(--line-soft);border-radius:var(--radius-panel);background:url(../../../art/path.webp) center 38% / cover no-repeat var(--bg-sunken)}.landing-evidence{justify-items:center;text-align:center}.landing-evidence .landing-lead{max-width:40rem}.landing-faq{overflow:hidden;border:1px solid var(--line-soft);border-radius:var(--radius-card);background:var(--bg-surface)}.landing-faq details+details{border-top:1px solid var(--line-soft)}.landing-faq summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;padding:12px 18px;font-weight:500;list-style:none;cursor:pointer}.landing-faq summary::-webkit-details-marker{display:none}.landing-faq summary .icon{color:var(--text-faint);transition:rotate var(--dur-quick) var(--ease)}.landing-faq details[open] summary .icon{rotate:180deg}.landing-faq summary:hover{background:var(--bg-raised)}.landing-faq summary:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}.landing-faq p{padding:0 18px 16px;color:var(--text-secondary)}.landing-closing{display:grid;justify-items:center;gap:24px;padding:56px 24px;border:1px solid rgb(91 124 255 / .3);border-radius:var(--radius-panel);background:radial-gradient(ellipse 70% 120% at 50% 0%,rgb(91 124 255 / .22),transparent 70%),var(--bg-surface);text-align:center}.landing-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;padding-top:24px;border-top:1px solid var(--line-soft)}.landing-footer-links{display:flex;flex-wrap:wrap;align-items:center;gap:0 24px}.landing-footer-links .text-button{padding-inline:0;color:var(--text-faint);font-size:.8125rem}.landing-footer-links .text-button:hover{color:var(--text-primary)}.landing-nav{display:none}@media(max-width:599px){.landing{gap:72px}.landing-hero{padding-top:12px}.landing-actions,.landing-actions .primary{width:100%}.landing-sample{margin-top:8px}.landing-closing .primary{width:100%}}@media(min-width:900px){.landing{gap:128px}.landing-hero{padding-top:56px}.landing-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.landing-split{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px}.landing-split.reverse>:first-child{order:1}.landing-nav{display:flex;gap:4px}}@media(min-width:900px)and (max-height:760px){.landing-hero{gap:16px;padding-top:16px}.landing-title{font-size:3.25rem}.landing-sample{margin-top:12px}}@media(prefers-reduced-motion:reduce){.landing-faq summary .icon{transition:none}}.status-page,.notice-page{display:grid;place-items:center;min-height:calc(100dvh - 200px)}@media(min-width:900px){.app.with-sidebar .status-page{min-height:calc(100dvh - 64px)}}.status,.notice{display:grid;justify-items:center;gap:10px;width:100%;max-width:460px;text-align:center}.status{gap:14px}.status .status-tile{width:64px;height:64px;margin-bottom:0}.notice{padding:28px 24px 24px;border:1px solid var(--line-soft);border-radius:var(--radius-panel);background:var(--bg-surface)}.status-tile{display:grid;place-items:center;width:48px;height:48px;margin-bottom:8px;border-radius:var(--radius-control-l)}.status-tile-neutral{background:var(--bg-raised);color:var(--text-secondary)}.status-tile-brand{background:var(--brand-bg);color:var(--brand-300)}.status .muted,.notice .muted{max-width:26rem}.status-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 12px;margin-top:14px}.notice>.primary,.notice>.secondary{width:100%;margin-top:6px}@media(max-width:599px){.status-actions,.status-actions .primary{width:100%}.notice{padding:24px 20px 20px}}.legal{gap:32px;max-width:680px;padding-bottom:32px}.legal-head{display:grid;gap:6px}.legal section{display:grid;gap:12px}.legal h2{font-size:1.1875rem}.legal p,.legal li,.legal dd{color:var(--text-secondary);line-height:1.6}.legal strong,.legal dt{color:var(--text-primary)}.legal ul{display:grid;gap:8px;padding-left:1.25rem;list-style:disc}.legal-list{display:grid;gap:4px}.legal-list dt{margin-top:10px;font-weight:600}.site-header{view-transition-name:site-header}.auth-card,.landing-actions .primary{view-transition-name:auth-card}html:is([data-motion=auth],[data-motion=inbox]) .auth-card>h1{view-transition-name:auth-heading}html:is([data-motion=auth],[data-motion=inbox]) .auth-submit{view-transition-name:auth-primary}.next-stop .start-button,.question-card{view-transition-name:study-surface}.session-bar{view-transition-name:session-bar}html[data-motion=inbox] .auth-tile{view-transition-name:inbox-tile}html[data-motion=mark] .question-title,html[data-motion=mark] .feedback-question{view-transition-name:question}html[data-motion=advance] .next-question,html[data-motion=advance] .question-card{view-transition-name:feed-next}::view-transition-group(*){animation-duration:var(--dur-move);animation-timing-function:var(--ease)}::view-transition-old(*),::view-transition-new(*){mix-blend-mode:normal}::view-transition-old(root){animation:vt-fade-out var(--dur-quick) var(--ease-in) both}::view-transition-new(root){animation:vt-rise-in var(--dur-move) var(--ease) both}html[data-motion=auth]::view-transition-new(root),html[data-motion=inbox]::view-transition-new(root),html[data-motion=mark]::view-transition-new(root){animation:vt-fade-in var(--dur-quick) var(--ease) both}html[data-motion=advance]::view-transition-old(root){animation:vt-lift-out .2s var(--ease-in) both}html[data-motion=advance]::view-transition-new(root){animation:vt-rise-in-far .28s var(--ease) both}html[data-motion=advance]::view-transition-group(feed-next){animation-duration:.28s}::view-transition-image-pair(auth-card),::view-transition-image-pair(study-surface),::view-transition-image-pair(feed-next){overflow:clip}::view-transition-image-pair(auth-card){border-radius:var(--radius-card)}::view-transition-old(auth-card),::view-transition-new(auth-card),::view-transition-old(study-surface),::view-transition-new(study-surface),::view-transition-old(feed-next),::view-transition-new(feed-next){height:100%;object-fit:none;object-position:left top}::view-transition-old(auth-card),::view-transition-old(study-surface),::view-transition-old(feed-next){animation:vt-fade-out .1s var(--ease-in) both}::view-transition-new(auth-card),::view-transition-new(study-surface),::view-transition-new(feed-next){animation:vt-fade-in var(--dur-move) var(--ease) both}::view-transition-old(question),::view-transition-new(question){height:100%;object-fit:contain;object-position:left top}::view-transition-new(inbox-tile){animation:vt-pop-in var(--dur-move) var(--ease) both}@keyframes vt-fade-out{to{opacity:0}}@keyframes vt-fade-in{0%{opacity:0}}@keyframes vt-rise-in{0%{opacity:0;transform:translateY(8px)}}@keyframes vt-rise-in-far{0%{opacity:0;transform:translateY(48px)}}@keyframes vt-lift-out{to{opacity:0;transform:translateY(-32px)}}@keyframes vt-pop-in{0%{opacity:0;transform:scale(.92)}}@media(prefers-reduced-motion:reduce){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
