:root{color-scheme:light;--background: #f9f9f7;--foreground: #1a1a18;--card: #ffffff;--secondary: #f2f2ef;--muted: #eeeee9;--muted-foreground: #8a8a82;--border: rgba(0, 0, 0, .08);--border-strong: rgba(26, 26, 24, .22);--success: #347552;--success-bg: rgba(52, 117, 82, .08);--success-border: rgba(52, 117, 82, .24);--danger: #9a4038;--danger-bg: rgba(154, 64, 56, .08);--danger-border: rgba(154, 64, 56, .24);--warning: #846a18;--warning-bg: rgba(132, 106, 24, .09);--warning-border: rgba(132, 106, 24, .24);--difficulty-easy-bg: rgba(52, 117, 82, .13);--difficulty-medium-bg: rgba(132, 106, 24, .14);--difficulty-hard-bg: rgba(154, 64, 56, .13);--header-background: rgba(249, 249, 247, .92);--image-surface: #ffffff;--selection-bg: rgba(26, 26, 24, .035);--reset-fill: rgba(26, 26, 24, .08);--result-detail-bg: rgba(255, 255, 255, .58);--review-cue-middle: color-mix(in srgb, var(--success) 9%, var(--card));--review-cue-end: color-mix(in srgb, var(--success) 17%, var(--card));--tutorial-spotlight-border: #8874e6;--magic-primary: #8065ff;--magic-secondary: #b6a4ff;--magic-accent: #70d9d1;--highlight: #ffe36e;--highlight-hover: #e7c943;--highlight-control: #ffd84f;--highlight-control-hover: #f4c92e;--radius-card: 18px;--radius-control: 12px;--font-serif: "Lora", Georgia, serif;--font-sans: "Outfit", "Avenir Next", "Segoe UI", sans-serif;--font-mono: "DM Mono", "SFMono-Regular", Consolas, monospace}:root[data-theme=dark]{color-scheme:dark;--background: #111110;--foreground: #f2f1ec;--card: #191918;--secondary: #222220;--muted: #292927;--muted-foreground: #aaa9a1;--border: rgba(255, 255, 255, .09);--border-strong: rgba(242, 241, 236, .25);--success: #79b894;--success-bg: rgba(80, 159, 114, .11);--success-border: rgba(112, 185, 143, .3);--danger: #d6867d;--danger-bg: rgba(194, 91, 81, .11);--danger-border: rgba(214, 134, 125, .3);--warning: #f0cf6a;--warning-bg: rgba(224, 181, 49, .14);--warning-border: rgba(240, 207, 106, .36);--difficulty-easy-bg: var(--success-bg);--difficulty-medium-bg: var(--warning-bg);--difficulty-hard-bg: var(--danger-bg);--header-background: rgba(17, 17, 16, .9);--image-surface: #191918;--selection-bg: rgba(255, 255, 255, .045);--reset-fill: rgba(255, 255, 255, .09);--result-detail-bg: rgba(255, 255, 255, .035);--review-cue-middle: color-mix(in srgb, var(--success) 5%, var(--card));--review-cue-end: color-mix(in srgb, var(--success) 10%, var(--card));--tutorial-spotlight-border: rgb(255 255 255 / .88);--highlight: #8f7620;--highlight-hover: #6f5a15;--highlight-control: #e6bc32;--highlight-control-hover: #f1cc4d}*{box-sizing:border-box}[hidden]{display:none!important}html{min-height:100%;font-size:1rem;background:var(--background)}@media(min-width:100rem)and (min-height:50rem)and (max-resolution:1.1dppx){html{font-size:1.1rem}}body{min-height:100vh;margin:0;background:var(--background);color:var(--foreground);font-family:var(--font-sans);line-height:1.45;text-rendering:geometricPrecision;-webkit-font-smoothing:antialiased}body,.section-card,.practice-header,.question-card,.result-card,.answer-card,.choice-button,.cross-off-button,.practice-timer-expanded,.practice-timer-show-button,.secondary-action,.inline-nav a,.reset-menu-form button,.question-image,.answer-page-image{transition:color .18s ease,background-color .18s ease,border-color .18s ease}body,button,input{font:400 1rem/1.45 var(--font-sans)}button,a{color:inherit}img{max-width:100%}.site-controls{display:flex;flex:0 0 auto;align-items:center;justify-content:flex-end;gap:.65rem}body>.site-controls,#root>.site-controls{position:absolute;top:clamp(.75rem,2vw,1rem);right:clamp(.75rem,2vw,1rem);z-index:20}.theme-toggle,.settings-toggle{position:relative;display:grid;flex:0 0 2rem;width:2rem;aspect-ratio:1;padding:0;place-items:center;color:var(--foreground);background:color-mix(in srgb,var(--card) 88%,transparent);border:1px solid var(--border);border-radius:999px;cursor:pointer;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transition:color .18s ease,background-color .18s ease,border-color .18s ease,transform .18s ease}.theme-toggle:hover,.settings-toggle:hover{background:var(--secondary);border-color:var(--border-strong)}.theme-toggle:hover{transform:rotate(6deg)}.settings-toggle:hover{transform:rotate(18deg)}.theme-toggle:active,.settings-toggle:active{transform:translateY(0) scale(.95)}.theme-icon{position:absolute;width:1.2rem;height:1.2rem;transition:opacity .18s ease,transform .24s ease}.theme-icon-moon{opacity:0;transform:rotate(-35deg) scale(.65)}:root[data-theme=dark] .theme-icon-sun{opacity:0;transform:rotate(35deg) scale(.65)}:root[data-theme=dark] .theme-icon-moon{opacity:1;transform:rotate(0) scale(1)}body.settings-open,body.reference-open,body.tutorial-welcome-open,body.auth-modal-open,body.attempt-log-open{overflow:hidden}#root{min-height:100vh}.modal-dialog:focus{outline:none}.settings-overlay{position:fixed;inset:0;z-index:100;display:grid;padding:1rem;place-items:center;background:#08080885;opacity:0;pointer-events:none;visibility:hidden;-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0);transition:opacity .22s ease,backdrop-filter .26s ease,visibility 0s .3s}.settings-overlay.is-open{opacity:1;pointer-events:auto;visibility:visible;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);transition-delay:0s}.settings-dialog{width:min(72vw,64rem);height:min(72vh,48rem);min-width:min(42rem,calc(100vw - 2rem));min-height:min(30rem,calc(100dvh - 2rem));display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;color:var(--foreground);background:color-mix(in srgb,var(--card) 97%,var(--background));border:1px solid var(--border-strong);border-radius:clamp(1.1rem,2vw,1.5rem);box-shadow:0 2.25rem 6rem #0000004d,0 .35rem 1.25rem #00000021;opacity:0;transform:translateY(1rem) scale(.975);transition:opacity .18s ease,transform .28s cubic-bezier(.16,1,.3,1),background-color .18s ease,border-color .18s ease}.settings-overlay.is-open .settings-dialog{opacity:1;transform:translateY(0) scale(1)}.settings-header{min-height:5.7rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.25rem 1.4rem 1.1rem 1.65rem;border-bottom:1px solid var(--border)}.settings-header h2{margin:.2rem 0 0;font-family:var(--font-serif);font-size:1.8rem;line-height:1.05}.settings-close{position:relative;width:2.2rem;height:2.2rem;display:grid;flex:0 0 auto;padding:0;place-items:center;color:var(--muted-foreground);background:transparent;border:1px solid transparent;border-radius:999px;cursor:pointer;transition:color .16s ease,background-color .16s ease,border-color .16s ease,transform .16s ease}.settings-close:hover{color:var(--foreground);background:var(--secondary);border-color:var(--border);transform:rotate(4deg)}.settings-close .theme-icon{width:1.15rem;height:1.15rem}.reference-overlay{position:fixed;inset:0;z-index:100;display:flex;justify-content:flex-end;padding:.75rem;background:#08080861;opacity:0;pointer-events:none;visibility:hidden;-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0);transition:opacity .22s ease,backdrop-filter .26s ease,visibility 0s .3s}.reference-overlay.is-open{opacity:1;pointer-events:auto;visibility:visible;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);transition-delay:0s}.reference-dialog{width:min(42rem,calc(100vw - 1.5rem));height:calc(100dvh - 1.5rem);min-width:0;display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;color:var(--foreground);background:color-mix(in srgb,var(--card) 97%,var(--background));border:1px solid var(--border-strong);border-radius:1.3rem;box-shadow:-1.5rem 0 5rem #0000003d,0 .3rem 1.25rem #00000024;opacity:0;transform:translate(calc(100% + 1rem));transition:opacity .18s ease,transform .3s cubic-bezier(.16,1,.3,1),background-color .18s ease,border-color .18s ease}.reference-overlay.is-open .reference-dialog{opacity:1;transform:translate(0)}.reference-header{min-height:6.65rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.25rem 1.35rem 1.15rem 1.65rem;border-bottom:1px solid var(--border)}.reference-header h2{margin:.2rem 0 0;font-family:var(--font-serif);font-size:1.85rem;line-height:1.05}.reference-header div>p:last-child{margin:.5rem 0 0;color:var(--muted-foreground);font-size:.82rem}.reference-close{position:relative;width:2.2rem;height:2.2rem;display:grid;flex:0 0 auto;padding:0;place-items:center;color:var(--muted-foreground);background:transparent;border:1px solid transparent;border-radius:999px;cursor:pointer;transition:color .16s ease,background-color .16s ease,border-color .16s ease,transform .16s ease}.reference-close:hover{color:var(--foreground);background:var(--secondary);border-color:var(--border);transform:rotate(4deg)}.reference-close .theme-icon{width:1.15rem;height:1.15rem}.reference-content{min-height:0;padding:1.75rem 1.65rem 3rem;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.reference-section+.reference-section{margin-top:2.25rem;padding-top:2.1rem;border-top:1px solid var(--border)}.reference-section-heading{margin-bottom:1rem}.reference-section-heading h3{margin:.25rem 0 0;font-family:var(--font-serif);font-size:1.25rem}.reference-formula-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.reference-formula-card{min-width:0;display:grid;grid-template-rows:7.25rem auto;overflow:hidden;background:color-mix(in srgb,var(--secondary) 72%,var(--card));border:1px solid var(--border);border-radius:.85rem}.reference-diagram-wrap{display:grid;padding:.65rem .75rem 0;place-items:center;color:color-mix(in srgb,var(--foreground) 82%,var(--muted-foreground))}.reference-diagram{width:min(100%,10rem);height:100%}.reference-diagram text{fill:currentColor;stroke:none;font-family:var(--font-serif);font-size:9px;font-style:italic}.reference-diagram .reference-dash{stroke-dasharray:3 3;opacity:.62}.reference-diagram .reference-angle-arc{stroke-width:1.2;opacity:.82}.reference-diagram .reference-angle-label{font-size:7.5px}.reference-formula-card>div:last-child{padding:.7rem .9rem .85rem;background:color-mix(in srgb,var(--card) 78%,transparent);border-top:1px solid var(--border)}.reference-formula-card h4{margin:0;color:var(--muted-foreground);font-family:var(--font-mono);font-size:.62rem;font-weight:500;letter-spacing:.05em;text-transform:uppercase}.reference-formula{display:grid;margin:.32rem 0 0;font-family:var(--font-serif);font-size:1.08rem;font-weight:600;letter-spacing:.015em}.reference-formula-inline{display:flex;flex-wrap:wrap;gap:.35rem 1.75rem}.reference-facts{display:grid;gap:.65rem;margin:0;padding:0;list-style:none}.reference-facts li{display:grid;grid-template-columns:4.5rem minmax(0,1fr);align-items:center;gap:.85rem;padding:.85rem 1rem;background:color-mix(in srgb,var(--secondary) 72%,var(--card));border:1px solid var(--border);border-radius:.75rem}.reference-facts strong{font-family:var(--font-serif);font-size:1.25rem;text-align:center}.reference-facts span{color:var(--muted-foreground);font-size:.84rem}.settings-layout{min-height:0;display:grid;grid-template-columns:minmax(9.5rem,12.5rem) minmax(0,1fr)}.settings-sidebar{position:relative;display:flex;flex-direction:column;gap:.28rem;padding:1.65rem 1.25rem 1.65rem 1.35rem}.settings-sidebar:after{content:"";position:absolute;top:1.35rem;right:0;bottom:1.35rem;width:1px;background:var(--border-strong);opacity:.65}.settings-sidebar button{width:100%;padding:.62rem .75rem;color:var(--muted-foreground);background:transparent;border:0;border-radius:.62rem;cursor:pointer;font-size:.85rem;text-align:left;transition:color .15s ease,background-color .15s ease,transform .15s ease}.settings-sidebar button:hover{color:var(--foreground);background:var(--secondary)}.settings-sidebar button.is-active{color:var(--foreground);background:var(--secondary);font-weight:500}.settings-content{min-height:0;padding:0 clamp(1.35rem,3vw,2.4rem) 3rem;overflow-y:auto;overscroll-behavior:contain;scroll-behavior:smooth;scrollbar-gutter:stable}.settings-content:focus-visible{outline-offset:-4px}.settings-section{padding-top:clamp(2rem,4vh,2.8rem);scroll-margin-top:1rem}.settings-section+.settings-section{margin-top:clamp(1.8rem,4vh,2.7rem);padding-top:clamp(2.2rem,4vh,3rem);border-top:1px solid var(--border)}.settings-section:last-child{min-height:100%}.settings-section-heading{margin-bottom:1.15rem}.settings-section-heading h3{margin:.38rem 0 0;font-family:var(--font-serif);font-size:clamp(1.35rem,2vw,1.65rem);font-weight:600;line-height:1.2}.setting-row{min-height:5rem;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1rem 0;cursor:pointer}.setting-row+.setting-row{border-top:1px solid var(--border)}.setting-copy{min-width:0;display:grid;gap:.28rem}.setting-copy strong{font-size:.95rem;font-weight:500}.setting-control{display:flex;align-items:center;gap:.75rem;flex:0 0 auto}.setting-modified-mark{width:3.9rem;min-height:1.4rem;display:inline-flex;align-items:center;justify-content:center;flex:0 0 3.9rem;padding:.2rem .36rem;color:var(--muted-foreground);background:var(--secondary);border:1px solid var(--border);border-radius:999px;font-family:var(--font-mono);font-size:.54rem;font-weight:500;letter-spacing:.035em;line-height:1;text-transform:uppercase;white-space:nowrap;visibility:hidden;opacity:0;transform:scale(.92);transition:visibility 0s linear .14s,opacity .14s ease,transform .16s cubic-bezier(.16,1,.3,1)}.setting-modified-mark.is-visible{visibility:visible;opacity:.72;transform:scale(1);transition-delay:0s}.setting-description{max-width:34rem;color:var(--muted-foreground);font-size:.82rem;line-height:1.45}.settings-switch{position:relative;width:2.8rem;height:1.55rem;display:inline-block;flex:0 0 auto}.settings-switch input{position:absolute;width:1px;height:1px;margin:-1px;opacity:0}.settings-switch>span{position:absolute;inset:0;background:var(--muted);border:1px solid var(--border-strong);border-radius:999px;transition:background-color .18s ease,border-color .18s ease}.settings-switch>span:after{content:"";position:absolute;top:.17rem;left:.18rem;width:1.05rem;height:1.05rem;background:var(--muted-foreground);border-radius:50%;box-shadow:0 1px 3px #00000040;transition:background-color .18s ease,transform .22s cubic-bezier(.2,.8,.2,1)}.settings-switch input:checked+span{background:var(--foreground);border-color:var(--foreground)}.settings-switch input:checked+span:after{background:var(--background);transform:translate(1.25rem)}.settings-switch input:focus-visible+span{outline:2px solid var(--foreground);outline-offset:3px}.theme-switch{min-width:7.35rem;display:inline-flex;align-items:center;justify-content:flex-end;gap:.65rem;padding:0;background:transparent;border:0;cursor:pointer}.theme-switch-track{position:relative;width:3.9rem;height:2rem;display:block;flex:0 0 auto;color:#755d10;background:#eee5c8;border:1px solid rgb(117 93 16 / .22);border-radius:999px;overflow:hidden;transition:color .18s ease,background-color .18s ease,border-color .18s ease}.theme-switch .theme-icon{position:absolute;top:.44rem;z-index:2;width:1rem;height:1rem;opacity:1;transform:none}.theme-switch-sun{left:.44rem}.theme-switch-moon{right:.44rem}.theme-switch-thumb{position:absolute;top:.2rem;left:.2rem;z-index:1;width:1.5rem;height:1.5rem;background:var(--card);border-radius:50%;box-shadow:0 .12rem .35rem #00000038;transition:transform .24s cubic-bezier(.2,.8,.2,1),background-color .18s ease}:root[data-theme=dark] .theme-switch-track{color:#d9d9e8;background:#333346;border-color:#d9d9e838}:root[data-theme=dark] .theme-switch-thumb{transform:translate(1.88rem)}.theme-switch-value{min-width:2.25rem;color:var(--muted-foreground);font-family:var(--font-mono);font-size:.68rem}.setting-row-danger,.setting-row-action{cursor:default}.settings-defaults-button{min-width:8.8rem;min-height:2.45rem;flex:0 0 auto;padding:.55rem .75rem;color:var(--foreground);background:var(--secondary);border:1px solid var(--border-strong);border-radius:var(--radius-control);cursor:pointer;font-family:var(--font-mono);font-size:.65rem;transition:opacity .14s ease,background-color .14s ease,border-color .14s ease}.settings-defaults-button:hover:not(:disabled){background:var(--muted);border-color:var(--foreground)}.settings-defaults-button:disabled{cursor:default;opacity:.38}.settings-reset-form{flex:0 0 auto;margin:0}.settings-reset-form button{position:relative;min-width:8.8rem;min-height:2.45rem;padding:.55rem .75rem;overflow:hidden;color:var(--danger);background:var(--danger-bg);border:1px solid var(--danger-border);border-radius:var(--radius-control);cursor:pointer;font-family:var(--font-mono);font-size:.65rem}.settings-reset-form button:before{content:"";position:absolute;inset:0;width:0;background:color-mix(in srgb,var(--danger) 14%,transparent);pointer-events:none}.settings-reset-form button.is-holding:before{width:100%;transition:width 3s linear}.settings-reset-form button.is-armed{color:var(--background);background:var(--danger);border-color:var(--danger)}.settings-reset-form button.is-armed:before{display:none}.settings-storage-note{margin:1rem 0 0;color:var(--muted-foreground);font-family:var(--font-mono);font-size:.62rem;letter-spacing:.035em}@property --magic-angle{syntax: "<angle>"; inherits: false; initial-value: 0deg;}@property --tutorial-angle{syntax: "<angle>"; inherits: false; initial-value: 0deg;}.magic-overlay{--magic-angle: 0deg;--magic-aura-opacity: .16;--magic-aura-low-opacity: .11;--magic-rim-opacity: .58;--magic-rim-width: 2px;--magic-surface-opacity: .1;position:absolute;z-index:40;display:block;opacity:1;pointer-events:none;transform:translateZ(0);transition:opacity .8s ease-in-out;will-change:top,left,width,height}.magic-overlay[data-mode=off]{opacity:0}.magic-overlay>span{position:absolute;display:block;border-radius:inherit;pointer-events:none}.magic-overlay__aura{inset:-.45rem;z-index:-1;background:conic-gradient(from 30deg,transparent,rgb(128 101 255 / .54),transparent 36%,rgb(112 217 209 / .34),transparent 70%,rgb(182 164 255 / .46),transparent);filter:blur(.85rem);opacity:var(--magic-aura-opacity);animation:magic-aura-breathe 10s ease-in-out infinite}.magic-overlay__surface{inset:0;z-index:0;overflow:hidden;background:radial-gradient(circle,rgb(128 101 255 / .66) 0%,rgb(128 101 255 / .38) 29%,rgb(128 101 255 / .15) 54%,rgb(128 101 255 / .04) 72%,transparent 88%),radial-gradient(circle,rgb(112 217 209 / .5) 0%,rgb(112 217 209 / .27) 27%,rgb(112 217 209 / .1) 52%,rgb(112 217 209 / .025) 72%,transparent 88%),radial-gradient(circle,rgb(182 164 255 / .52) 0%,rgb(182 164 255 / .29) 31%,rgb(182 164 255 / .11) 56%,rgb(182 164 255 / .03) 74%,transparent 90%);background-position:-50% -40%,150% -30%,58% 145%;background-size:170% 190%,160% 180%,180% 200%;background-repeat:no-repeat;opacity:var(--magic-surface-opacity);animation:magic-surface-circulate 14s ease-in-out infinite alternate}.magic-overlay__rim,.magic-overlay__sweep{inset:-1px;z-index:1;padding:var(--magic-rim-width);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}.magic-overlay__rim{background:conic-gradient(from var(--magic-angle),transparent 0deg,var(--magic-primary) 42deg,transparent 92deg,transparent 148deg,var(--magic-accent) 190deg,transparent 238deg,transparent 292deg,var(--magic-secondary) 326deg,transparent 360deg);filter:saturate(.92) drop-shadow(0 0 .24rem rgb(128 101 255 / .3));opacity:var(--magic-rim-opacity);animation:magic-color-orbit 15s linear infinite}.magic-overlay__sweep{background:linear-gradient(112deg,transparent 23%,rgb(255 255 255 / .08) 38%,rgb(255 255 255 / .98) 49%,rgb(182 164 255 / .86) 54%,transparent 72%);background-position:130% 0;background-size:260% 100%;background-repeat:no-repeat;filter:drop-shadow(0 0 .4rem rgb(182 164 255 / .84));opacity:0}.magic-overlay[data-mode=shine]{animation:magic-shine-glow 1.8s ease-in-out 1 both}.magic-overlay[data-mode=shine] .magic-overlay__sweep{animation:magic-shine-sweep 1.8s cubic-bezier(.45,0,.55,1) 1 both}.magic-overlay--panel{--magic-aura-opacity: .1;--magic-aura-low-opacity: .07;--magic-rim-opacity: .44;--magic-surface-opacity: .055;--magic-rim-width: 1.5px}.magic-overlay--control{--magic-aura-opacity: .2;--magic-aura-low-opacity: .14;--magic-rim-opacity: .7;--magic-surface-opacity: .045;--magic-rim-width: 1.5px}.magic-overlay--text{--magic-aura-opacity: .13;--magic-aura-low-opacity: .09;--magic-rim-opacity: .48;--magic-surface-opacity: 0;--magic-rim-width: 1px}.magic-overlay--progress{--magic-aura-opacity: .16;--magic-aura-low-opacity: .11;--magic-rim-opacity: .66;--magic-surface-opacity: .04;--magic-rim-width: 1px}.magic-progress{--magic-progress-gradient: linear-gradient( 90deg, #7564d6 0%, #8b70ff 14%, var(--magic-secondary) 27%, var(--magic-primary) 39%, var(--magic-accent) 52%, var(--magic-primary) 66%, var(--magic-secondary) 81%, #7564d6 100% )}.magic-progress-track{container-type:inline-size}.magic-progress--determinate{position:relative;overflow:hidden;background:transparent;box-shadow:0 0 .35rem #70d9d157,0 0 .74rem #8065ff2b;animation:magic-progress-breathe 18s ease-in-out infinite}.magic-progress--determinate:before{content:"";position:absolute;inset:0 auto 0 0;width:100cqi;background:var(--magic-progress-gradient);background-size:18rem 100%;background-repeat:repeat-x;animation:magic-progress-wave 9s linear infinite}@keyframes magic-surface-circulate{0%{background-position:-50% -40%,150% -30%,58% 145%}to{background-position:-34% -20%,132% -12%,72% 126%}}@keyframes magic-aura-breathe{0%,to{opacity:var(--magic-aura-low-opacity);transform:scale(.99)}50%{opacity:var(--magic-aura-opacity);transform:scale(1.015)}}@keyframes magic-shine-sweep{0%{opacity:.26;background-position:100% 0}8%{opacity:.62}20%{opacity:1}48%{opacity:.72}to{opacity:0;background-position:-30% 0}}@keyframes magic-shine-glow{0%{box-shadow:0 0 #8065ff00,0 0 #70d9d100}24%{box-shadow:0 0 .85rem #8065ff38,0 0 1.65rem #70d9d11a}48%{box-shadow:0 0 .7rem #8065ff29,0 0 1.35rem #70d9d112}to{box-shadow:0 0 #8065ff00,0 0 #70d9d100}}.tutorial-welcome-layer{position:fixed;inset:0;z-index:1000;display:grid;padding:1rem;place-items:center;background:color-mix(in srgb,var(--background) 22%,transparent);opacity:0;visibility:hidden;pointer-events:none;-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0);isolation:isolate;transition:opacity .32s ease-in-out,backdrop-filter .36s ease-in-out,visibility 0s .38s}.tutorial-welcome-layer.is-visible{opacity:1;visibility:visible;pointer-events:auto;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);transition:opacity .78s ease-out,backdrop-filter .9s ease-out,visibility 0s}.tutorial-welcome-dialog{position:relative;width:min(31rem,100%);overflow:hidden;padding:clamp(1.4rem,4vw,2rem);color:var(--foreground);background:color-mix(in srgb,var(--card) 97%,transparent);border:1px solid color-mix(in srgb,var(--foreground) 23%,transparent);border-radius:1.3rem;box-shadow:0 2rem 5rem #0000004d,0 0 0 1px #ffffff09,0 0 2.5rem #7c5cff1f;filter:blur(.45rem);opacity:0;transform:translateY(.8rem);transition:opacity .3s ease-in-out,transform .38s cubic-bezier(.22,1,.36,1),filter .32s ease-in-out,background-color .18s ease,border-color .18s ease}.tutorial-welcome-layer.is-visible .tutorial-welcome-dialog{filter:blur(0);opacity:1;transform:translateY(0);transition:opacity .95s cubic-bezier(.16,1,.3,1),transform 1s cubic-bezier(.16,1,.3,1),filter .9s cubic-bezier(.16,1,.3,1),background-color .18s ease,border-color .18s ease}.tutorial-welcome-dialog:focus,.tutorial-tooltip:focus{outline:none}.tutorial-welcome-dialog:before{content:"";position:absolute;top:0;right:1.2rem;left:1.2rem;height:2px;background:linear-gradient(90deg,transparent,#7c5cff,#25d8ff,#ff6fb7,transparent);border-radius:999px}.tutorial-welcome-topline{display:flex;align-items:center;justify-content:space-between;gap:1rem;color:var(--muted-foreground);font-family:var(--font-mono);font-size:.6rem;letter-spacing:.1em;text-transform:uppercase}.tutorial-welcome-topline>span:last-child{padding:.3rem .48rem;background:var(--secondary);border:1px solid var(--border);border-radius:999px;letter-spacing:.035em}.tutorial-welcome-dialog h2{margin:1.6rem 0 0;font-family:var(--font-serif);font-size:clamp(2rem,6vw,2.65rem);font-weight:600;line-height:1.05}.tutorial-welcome-dialog>p{margin:1rem 0 0;color:var(--muted-foreground);font-size:.9rem;line-height:1.65}.tutorial-welcome-actions{display:flex;justify-content:flex-end;gap:.7rem;margin-top:1.4rem;padding-top:1rem;border-top:1px solid var(--border)}.tutorial-welcome-actions button{min-height:2.65rem;padding:.58rem .95rem;border-radius:999px;cursor:pointer;font-size:.8rem;font-weight:500;transition:color .16s ease,background-color .16s ease,border-color .16s ease,opacity .16s ease,transform .16s ease}.tutorial-welcome-later{color:var(--foreground);background:transparent;border:1px solid var(--border-strong)}.tutorial-welcome-later:hover{background:var(--secondary)}.tutorial-welcome-start{display:inline-flex;align-items:center;gap:.55rem;color:var(--background);background:var(--foreground);border:1px solid var(--foreground)}.tutorial-welcome-start:hover{opacity:.84;transform:translateY(-1px)}.tutorial-welcome-start>span{transition:transform .16s ease}.tutorial-welcome-start:hover>span{transform:translate(.16rem)}.tutorial-layer{position:fixed;inset:0;z-index:500;pointer-events:none}.tutorial-shield{position:fixed;inset:0;z-index:0;pointer-events:auto;touch-action:none}.tutorial-shield.allows-scroll{touch-action:pan-y}.tutorial-spotlight{--tutorial-angle: 0deg;position:fixed;z-index:2;box-sizing:border-box;background:transparent;border:2px solid var(--tutorial-spotlight-border);border-radius:1.15rem;box-shadow:0 0 1.2rem #25d8ff9e,0 0 2.6rem #7c5cff6b,inset 0 0 1.1rem #ff6fb733;pointer-events:none;isolation:isolate;transition:top .38s cubic-bezier(.16,1,.3,1),left .38s cubic-bezier(.16,1,.3,1),width .38s cubic-bezier(.16,1,.3,1),height .38s cubic-bezier(.16,1,.3,1),border-radius .38s cubic-bezier(.16,1,.3,1),box-shadow .38s cubic-bezier(.16,1,.3,1);will-change:top,left,width,height;animation:tutorial-spotlight-in .34s ease-in-out both,tutorial-color-orbit 3.2s linear infinite}.tutorial-spotlight:before{content:"";position:absolute;inset:-.7rem;z-index:-1;padding:.28rem;background:conic-gradient(from calc(var(--tutorial-angle) * -1),transparent 0deg,transparent 30deg,#23d9ff 62deg,transparent 104deg,transparent 156deg,#ff67b5 192deg,transparent 236deg,transparent 290deg,#ffe16a 326deg,transparent 360deg);border-radius:1.55rem;filter:blur(.24rem);opacity:.88;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;transition:inset .38s cubic-bezier(.16,1,.3,1),border-radius .38s cubic-bezier(.16,1,.3,1),filter .38s ease,opacity .38s ease;animation:tutorial-color-orbit 4.6s linear infinite reverse}.tutorial-spotlight.is-inside{border-radius:0;box-shadow:inset 0 0 1.25rem #25d8ffad,inset 0 0 2.8rem #7c5cff73,inset 0 0 4.8rem #ff6fb733}.tutorial-spotlight.is-inside:before{inset:.55rem;z-index:0;padding:.24rem;border-radius:0;filter:blur(.18rem);opacity:.94}.tutorial-tooltip{position:fixed;z-index:4;width:min(23rem,calc(100vw - 1.5rem));max-height:calc(100dvh - 1.5rem);padding:1.2rem;overflow-y:auto;color:var(--foreground);background:color-mix(in srgb,var(--card) 96%,transparent);border:1px solid color-mix(in srgb,var(--foreground) 23%,transparent);border-radius:1.15rem;box-shadow:0 1.5rem 4rem #00000052,0 0 0 1px #ffffff08,0 0 2rem #7c5cff1f;pointer-events:auto;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);animation:tutorial-tooltip-in .36s cubic-bezier(.16,1,.3,1) both;animation-delay:90ms}.tutorial-spotlight.is-exiting{animation:tutorial-spotlight-out .18s ease-in-out both}.tutorial-tooltip.is-exiting{animation:tutorial-tooltip-out .15s ease-in both;animation-delay:0ms}.tutorial-tooltip:before{content:"";position:absolute;top:0;right:1rem;left:1rem;height:2px;background:linear-gradient(90deg,transparent,#7c5cff,#25d8ff,#ff6fb7,transparent);border-radius:999px;opacity:.9}.tutorial-tooltip-topline{display:flex;align-items:center;justify-content:space-between;gap:1rem}.tutorial-tooltip-topline>span{color:var(--muted-foreground);font-family:var(--font-mono);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase}.tutorial-tooltip-topline button{padding:0;color:var(--muted-foreground);background:transparent;border:0;font-family:var(--font-mono);font-size:.62rem;letter-spacing:.035em;cursor:pointer;transition:color .16s ease}.tutorial-tooltip-topline button:hover{color:var(--foreground)}.tutorial-step-progress{height:.22rem;margin:.85rem 0 1.2rem;overflow:hidden;background:var(--muted);border-radius:999px}.tutorial-step-progress>span{height:100%;display:block;background:linear-gradient(90deg,#7c5cff,#25d8ff,#5ef2b0);border-radius:inherit;box-shadow:0 0 .75rem #25d8ff99;transition:width .32s cubic-bezier(.2,.8,.2,1)}.tutorial-tooltip>.eyebrow{margin-bottom:.42rem;font-size:.58rem;letter-spacing:.22em}.tutorial-tooltip h2{margin:0;font-family:var(--font-serif);font-size:clamp(1.45rem,3vw,1.8rem);font-weight:600;line-height:1.15}.tutorial-tooltip>p:not(.eyebrow){margin:.9rem 0 0;color:var(--muted-foreground);font-size:.86rem;line-height:1.6}.tutorial-tooltip-actions{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-top:1.35rem;padding-top:1rem;border-top:1px solid var(--border)}.tutorial-tooltip-actions button{min-height:2.45rem;display:inline-flex;align-items:center;justify-content:center;gap:.55rem;padding:.52rem .86rem;border-radius:999px;font-size:.78rem;font-weight:500;cursor:pointer;transition:opacity .16s ease,background-color .16s ease,border-color .16s ease,transform .16s ease}.tutorial-tooltip-actions button:disabled{cursor:not-allowed;opacity:.35}.tutorial-back-action{color:var(--foreground);background:transparent;border:1px solid var(--border-strong)}.tutorial-back-action:hover:not(:disabled){background:var(--secondary)}.tutorial-next-action{min-width:5.4rem;color:var(--background);background:var(--foreground);border:1px solid var(--foreground)}.tutorial-next-action:hover:not(:disabled){opacity:.84;transform:translateY(-1px)}.tutorial-next-action>span{transition:transform .16s ease}.tutorial-next-action:hover:not(:disabled)>span{transform:translate(.18rem)}@keyframes tutorial-spotlight-in{0%{opacity:0}to{opacity:1}}@keyframes tutorial-spotlight-out{0%{opacity:1}to{opacity:0}}@keyframes tutorial-tooltip-in{0%{opacity:0;transform:translateY(.6rem) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes tutorial-tooltip-out{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-.25rem) scale(.985)}}@keyframes magic-color-orbit{to{--magic-angle: 360deg}}@keyframes tutorial-color-orbit{to{--tutorial-angle: 360deg}}@media(max-width:560px){.tutorial-tooltip{width:calc(100vw - 1rem);max-height:min(72dvh,32rem);padding:1rem;border-radius:1rem}.tutorial-tooltip h2{font-size:1.42rem}.tutorial-tooltip>p:not(.eyebrow){font-size:.82rem}.tutorial-tooltip-actions button{min-width:5.25rem}}:focus-visible{outline:2px solid var(--foreground);outline-offset:3px}.sr-only{position:absolute;inset:0 auto auto 0;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.eyebrow{margin:0;color:var(--muted-foreground);font-family:var(--font-mono);font-size:.68rem;font-weight:400;letter-spacing:.32em;line-height:1.6;text-transform:uppercase}.home-page{min-height:calc(100vh - 4.1rem);display:flex;align-items:center;justify-content:center;padding:clamp(4.5rem,13vh,9.5rem) 1.5rem 4.75rem}.home-inner{width:min(32rem,100%);margin:0 auto}.home-hero{margin-bottom:4.7rem;text-align:center}.home-hero .eyebrow{margin-bottom:1.55rem}.home-hero h1{margin:0;color:var(--foreground);font-family:var(--font-serif);font-size:clamp(3.35rem,6.2vw,4.65rem);font-weight:700;letter-spacing:0;line-height:1.15}.home-subtitle{max-width:42rem;margin:2.05rem auto 0;color:var(--muted-foreground);font-size:clamp(1rem,1.5vw,1.22rem);font-weight:500;line-height:1.6}.home-dashboard-placeholder .home-hero{margin-bottom:2.2rem}.home-primary-action{display:flex;width:fit-content;min-height:3rem;align-items:center;gap:1rem;margin:0 auto;padding:.72rem 1.05rem .72rem 1.2rem;color:var(--background);background:var(--foreground);border:1px solid var(--foreground);border-radius:999px;font-weight:500;text-decoration:none;transition:opacity .16s ease,transform .16s ease}.home-primary-action:hover{opacity:.82;transform:translateY(-1px)}.home-primary-action span{font-size:1.12rem;line-height:1;transition:transform .16s ease}.home-primary-action:hover span{transform:translate(.18rem)}.home-page.home-hub-page{min-height:calc(100vh - 4.1rem);display:block;padding:clamp(1rem,2.5vw,1.75rem) clamp(1.25rem,4vw,3rem) 5rem}.home-hub-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:clamp(2rem,6vw,6rem);align-items:end;margin-bottom:clamp(2.5rem,5vw,4.25rem);padding-bottom:clamp(2.25rem,4vw,3.5rem);border-bottom:1px solid var(--border)}.home-hub-hero .eyebrow{margin-bottom:1.1rem}.home-hub-hero h1{max-width:49rem;margin:0;font-family:var(--font-serif);font-size:clamp(3.2rem,6.5vw,5.4rem);font-weight:700;letter-spacing:-.035em;line-height:.98}.home-hub-hero .home-subtitle{max-width:42rem;margin:1.5rem 0 0;font-size:clamp(1rem,1.5vw,1.15rem);font-weight:400}.home-hub-overview{min-width:12rem;display:grid;gap:.22rem;padding:.2rem 0 .2rem 1.4rem;border-left:1px solid var(--border-strong)}.home-hub-overview strong{font-family:var(--font-serif);font-size:clamp(2.4rem,4vw,3.25rem);font-weight:600;line-height:1}.home-hub-overview span{color:var(--muted-foreground);font-family:var(--font-mono);font-size:.66rem;letter-spacing:.055em}.home-hub-overview span:last-child{margin-top:.52rem}.hub-section-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.hub-section-card{min-height:24rem;display:flex;flex-direction:column;padding:clamp(1.45rem,3vw,2rem);background:var(--card);border:1px solid var(--border);border-radius:var(--radius-card);transition:background-color .18s ease,border-color .18s ease}.hub-section-card-header{display:flex;align-items:center;gap:1rem}.hub-section-mark{width:3.4rem;height:3.4rem;display:grid;flex:0 0 auto;place-items:center;background:var(--secondary);border:1px solid var(--border);border-radius:1rem;font-family:var(--font-serif);font-size:1.35rem;font-weight:600}.hub-section-card-header .eyebrow{margin-bottom:.28rem;font-size:.6rem}.hub-section-card h2,.hub-progress-card h2,.hub-review-card h2{margin:0;font-family:var(--font-serif);font-size:clamp(1.55rem,2.6vw,2rem);font-weight:600;line-height:1.18}.hub-section-description{max-width:31rem;margin:2rem 0 0;color:var(--muted-foreground);font-size:.98rem;line-height:1.65}.hub-section-stats{display:flex;flex-wrap:wrap;gap:1.5rem;margin-top:2rem;padding-top:1.35rem;border-top:1px solid var(--border)}.hub-section-stats>span{display:grid;gap:.12rem;color:var(--muted-foreground);font-family:var(--font-mono);font-size:.62rem;letter-spacing:.045em;text-transform:uppercase}.hub-section-stats strong{color:var(--foreground);font-family:var(--font-sans);font-size:1.05rem;font-weight:500;letter-spacing:0}.hub-section-actions{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;margin-top:auto;padding-top:2.25rem}.hub-random-action,.hub-bank-action{min-height:2.85rem;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.65rem .9rem;border-radius:999px;font-size:.84rem;font-weight:500;text-decoration:none;cursor:pointer;transition:opacity .16s ease,background-color .16s ease,border-color .16s ease,transform .16s ease}.hub-random-action{color:var(--foreground);background:transparent;border:1px solid var(--border-strong)}.hub-random-action .random-shuffle-icon{width:.92rem;height:.92rem;margin:0}.hub-random-action:hover:not(:disabled){background:var(--secondary);transform:translateY(-1px)}.hub-random-action:disabled{cursor:wait;opacity:.42}.hub-bank-action{color:var(--background);background:var(--foreground);border:1px solid var(--foreground)}.hub-bank-action:hover{opacity:.82;transform:translateY(-1px)}.hub-bank-action>span{transition:transform .16s ease}.hub-bank-action:hover>span{transform:translate(.18rem)}.hub-lower-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(18rem,.75fr);gap:1rem;margin-top:1rem}.hub-progress-card,.hub-return-card{padding:clamp(1.4rem,3vw,1.85rem);background:var(--card);border:1px solid var(--border);border-radius:var(--radius-card)}.hub-card-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem}.hub-card-title-row .eyebrow,.hub-return-card .eyebrow{margin-bottom:.42rem;font-size:.58rem}.hub-card-title-row>span{flex:0 0 auto;padding:.35rem .65rem;color:var(--muted-foreground);background:var(--card);border:1px solid var(--border);border-radius:999px;font-family:var(--font-mono);font-size:.6rem;letter-spacing:.04em;text-transform:uppercase}.hub-progress-list{display:grid;gap:1.3rem;margin-top:1.65rem}.hub-progress-row{display:grid;gap:.55rem}.hub-progress-copy{display:flex;justify-content:space-between;gap:1rem;color:var(--muted-foreground);font-size:.76rem}.hub-progress-copy span:first-child{color:var(--foreground);font-weight:500}.hub-progress-copy span:last-child{font-family:var(--font-mono);font-size:.64rem}.hub-progress-track{height:.35rem;overflow:hidden;background:var(--muted);border-radius:999px}.hub-progress-track>span{height:100%;display:block;background:var(--foreground);border-radius:inherit;transition:width .3s ease}.hub-return-card{display:flex;flex-direction:column}.hub-return-card h2{font-size:clamp(1.35rem,2.2vw,1.7rem)}.hub-return-card>p:not(.eyebrow){margin:1rem 0 1.5rem;color:var(--muted-foreground);font-size:.78rem;line-height:1.55}.hub-return-card>a{display:inline-flex;align-items:center;gap:.75rem;width:fit-content;margin-top:auto;font-size:.82rem;font-weight:500;text-decoration:none}.hub-return-card>a>span{transition:transform .16s ease}.hub-return-card>a:hover>span{transform:translate(.2rem)}@media(max-width:820px){.hub-section-grid,.hub-lower-grid{grid-template-columns:minmax(0,1fr)}.hub-section-card{min-height:22rem}}@media(max-width:560px){.home-page.home-hub-page{padding:1rem .85rem 3.5rem}.hub-section-actions{align-items:stretch;flex-direction:column}.hub-random-action,.hub-bank-action{width:100%}.hub-card-title-row{flex-direction:column;gap:.9rem}}.home-page.home-hub-page{padding:clamp(1rem,2.4vw,1.6rem) clamp(1rem,3vw,2rem) 4rem}.home-hub-inner{width:min(74rem,100%)}.hub-metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin-bottom:.85rem}.hub-metric-card{--metric-accent: var(--muted-foreground);--metric-surface: var(--secondary);min-height:5.7rem;display:flex;align-items:center;gap:.9rem;padding:1rem 1.1rem;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-card)}.hub-metric-mark{width:2.5rem;height:2.5rem;display:grid;flex:0 0 auto;place-items:center;color:var(--metric-accent);background:var(--metric-surface);border:1px solid color-mix(in srgb,var(--metric-accent) 28%,var(--border));border-radius:.78rem;font-family:var(--font-mono);font-size:.72rem;font-weight:500}.hub-metric-icon{width:1.28rem;height:1.28rem}.hub-metric-card.is-answered{--metric-accent: #2789d8;--metric-surface: color-mix(in srgb, #2789d8 12%, var(--card))}.hub-metric-card.is-accuracy{--metric-accent: #7557d5;--metric-surface: color-mix(in srgb, #7557d5 12%, var(--card))}.hub-metric-card.is-week{--metric-accent: #118c70;--metric-surface: color-mix(in srgb, #118c70 12%, var(--card))}.hub-metric-card.is-streak{--metric-accent: #d56b18;--metric-surface: color-mix(in srgb, #d56b18 13%, var(--card))}.hub-metric-card.is-streak.is-inactive{--metric-accent: var(--muted-foreground);--metric-surface: var(--secondary)}:root[data-theme=dark] .hub-metric-card.is-answered{--metric-accent: #5daeff}:root[data-theme=dark] .hub-metric-card.is-accuracy{--metric-accent: #a98bff}:root[data-theme=dark] .hub-metric-card.is-week{--metric-accent: #46d5aa}:root[data-theme=dark] .hub-metric-card.is-streak:not(.is-inactive){--metric-accent: #ff9a3d}.hub-metric-card>div{min-width:0;display:grid;gap:.15rem}.hub-metric-value{display:grid;align-items:center;color:var(--metric-accent)}.hub-metric-value>*{grid-area:1 / 1}.hub-metric-card strong{overflow:hidden;color:var(--metric-accent);font-family:var(--font-mono);font-size:clamp(1.3rem,2.3vw,1.65rem);font-weight:500;font-variant-numeric:tabular-nums;line-height:1.1;text-overflow:ellipsis;transition:opacity .36s ease 80ms,transform .42s cubic-bezier(.16,1,.3,1)}.hub-metric-value-skeleton{width:1.6rem;height:.24rem;display:block;background:currentColor;border-radius:999px;opacity:0;transform-origin:left center;transition:opacity .32s ease,transform .42s cubic-bezier(.16,1,.3,1)}.hub-metric-card.is-loading .hub-metric-value strong{opacity:0;transform:translateY(.18rem)}.hub-metric-card.is-loading .hub-metric-value-skeleton{opacity:.82;transform:scaleX(1);animation:hub-metric-skeleton-breathe 1.5s ease-in-out infinite alternate}.hub-metric-card>div>span{color:var(--muted-foreground);font-size:.72rem;white-space:nowrap}.hub-section-card{min-height:clamp(21rem,32vw,24rem);padding:clamp(1.15rem,2.4vw,1.55rem)}.hub-section-card-header{gap:.8rem}.hub-section-mark{width:2.75rem;height:2.75rem;border-radius:.82rem;font-size:1.05rem}.hub-section-card-header .eyebrow{margin-bottom:.16rem;font-size:.54rem}.hub-section-card h2,.hub-activity-card h2,.hub-review-card h2{font-size:clamp(1.3rem,2.3vw,1.65rem)}.hub-section-total{min-width:7rem;display:flex;align-items:baseline;justify-content:flex-end;gap:.38rem;margin-left:auto;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.hub-section-total strong{font-size:clamp(1.35rem,2.5vw,1.8rem);font-weight:500;line-height:1}.hub-section-total span{color:var(--muted-foreground);font-size:.68rem}.hub-section-overall{display:grid;gap:.5rem;margin-top:1.15rem;padding-top:1rem;border-top:1px solid var(--border)}.hub-section-overall .hub-progress-track{overflow:visible}.hub-section-overall .hub-progress-track>span{background:transparent}.hub-section-overall .hub-progress-track.is-empty>span{visibility:hidden;animation:none}.hub-progress-copy{font-size:.72rem}.hub-progress-track{height:.3rem}.hub-domain-list{display:grid;gap:.72rem;margin-top:1.1rem}.hub-domain-row{min-width:0;display:grid;gap:.32rem}.hub-domain-copy{min-width:0;display:flex;justify-content:space-between;gap:1rem;color:var(--muted-foreground);font-size:.7rem}.hub-domain-copy>span:first-child{overflow:hidden;color:var(--foreground);font-weight:500;text-overflow:ellipsis;white-space:nowrap}.hub-domain-copy>span:last-child{flex:0 0 auto;font-family:var(--font-mono);font-size:.6rem;font-variant-numeric:tabular-nums}.hub-domain-track{height:.2rem;overflow:hidden;background:var(--muted);border-radius:999px}.hub-domain-track>span{height:100%;display:block;background:color-mix(in srgb,var(--foreground) 72%,var(--muted-foreground));border-radius:inherit;transition:width .42s cubic-bezier(.22,1,.36,1)}.hub-domain-loading{display:grid;gap:.72rem}.hub-domain-loading>span{height:1.16rem;background:linear-gradient(90deg,var(--secondary),color-mix(in srgb,var(--muted) 74%,var(--card)),var(--secondary));border-radius:.35rem;background-size:220% 100%;animation:hub-loading-sheen 1.4s ease-in-out infinite}.hub-section-actions{margin-top:0;padding-top:1.25rem}.hub-random-action,.hub-bank-action{min-height:2.55rem;padding:.52rem .78rem;font-size:.76rem}.dashboard-tile-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:.85rem}.dashboard-tile{min-width:0}.dashboard-tile--small{grid-column:span 4}.dashboard-tile--medium{grid-column:span 6}.dashboard-tile--large{grid-column:span 8}.dashboard-tile--height-short{min-height:12rem}.dashboard-tile--height-medium{min-height:20rem}.dashboard-tile--height-tall{min-height:25rem}.hub-lower-grid{margin-top:.85rem}.hub-activity-card{grid-column:span 2}.hub-activity-card,.hub-review-card{min-width:0;padding:clamp(1.15rem,2.4vw,1.55rem);background:var(--card);border:1px solid var(--border);border-radius:var(--radius-card)}.hub-review-slot{position:relative;min-width:0}.hub-review-slot>.hub-review-card,.hub-review-slot-content,.hub-review-slot-content>.hub-review-card{width:100%;height:100%}.hub-review-slot-content{position:absolute;inset:0;opacity:0;pointer-events:none;transition:opacity .46s ease}.hub-review-slot.is-revealed .hub-review-slot-content{opacity:1;pointer-events:auto}.hub-review-slot.is-revealed>.hub-review-card--loading{opacity:0;visibility:hidden;transition:opacity .42s ease 70ms,visibility 0s .5s}.hub-review-slot:nth-child(2) .hub-review-slot-content{transition-delay:55ms}.hub-review-slot:nth-child(3) .hub-review-slot-content{transition-delay:.11s}.hub-review-card--loading{position:absolute;inset:0;display:flex;flex-direction:column;gap:.75rem;overflow:hidden;background:var(--card);opacity:1;visibility:visible;pointer-events:none;transition:opacity .42s ease 70ms,visibility 0s}.hub-review-card--loading:before{position:absolute;inset:0;content:"";background:linear-gradient(105deg,transparent 22%,color-mix(in srgb,var(--secondary) 68%,transparent) 44%,transparent 66%);background-size:220% 100%;animation:hub-loading-sheen 1.5s ease-in-out infinite}.hub-review-card--loading>span{position:relative;display:block;height:.7rem;background:var(--secondary);border-radius:999px}.hub-review-card--loading>span:nth-child(1){width:24%}.hub-review-card--loading>span:nth-child(2){width:68%;height:1.75rem}.hub-review-card--loading>span:nth-child(3){width:100%;height:2.55rem;margin-top:auto}.hub-card-title-row .eyebrow,.hub-review-card .eyebrow{margin-bottom:.22rem;font-size:.54rem}.hub-card-title-row>span{background:var(--secondary)}.hub-activity-grid{position:relative;isolation:isolate;display:grid;grid-template-columns:repeat(20,minmax(0,1fr));grid-template-rows:repeat(7,minmax(0,1fr));grid-auto-flow:column;gap:clamp(.14rem,.45vw,.3rem);margin-top:1.35rem}.hub-activity-grid>span,.hub-activity-legend>i{aspect-ratio:1;display:block;background:var(--secondary);border:1px solid color-mix(in srgb,var(--border) 62%,transparent);border-radius:clamp(.16rem,.35vw,.3rem)}.hub-activity-grid>span[data-level="1"],.hub-activity-legend>i[data-level="1"]{background:color-mix(in srgb,var(--success) 24%,var(--secondary))}.hub-activity-grid>span[data-level="2"],.hub-activity-legend>i[data-level="2"]{background:color-mix(in srgb,var(--success) 45%,var(--secondary))}.hub-activity-grid>span[data-level="3"],.hub-activity-legend>i[data-level="3"]{background:color-mix(in srgb,var(--success) 68%,var(--secondary))}.hub-activity-grid>span[data-level="4"],.hub-activity-legend>i[data-level="4"]{background:color-mix(in srgb,var(--success) 90%,var(--secondary))}.hub-activity-grid>span{position:relative;animation:hub-activity-cell-in .26s ease backwards;animation-delay:calc(.38s + var(--activity-index) * 2ms)}.hub-activity-grid>span[data-tooltip]{cursor:help}.hub-activity-grid>span[data-future=true]{filter:opacity(.38)}.hub-activity-grid>span[data-future=true]:after{display:none}.hub-activity-grid>span:after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + .5rem);left:50%;z-index:3;width:max-content;max-width:min(15rem,calc(100vw - 2rem));padding:.42rem .58rem;color:var(--background);background:var(--foreground);border:1px solid color-mix(in srgb,var(--background) 16%,transparent);border-radius:.42rem;box-shadow:0 .45rem 1.2rem #0000002e;font-family:var(--font-sans);font-size:.65rem;font-style:normal;font-weight:500;line-height:1.25;text-align:center;white-space:nowrap;pointer-events:none;opacity:0;visibility:hidden;transform:translate(-50%,.25rem);transition:opacity .14s ease,transform .14s ease,visibility .14s ease}.hub-activity-grid>span[data-tooltip]:hover:after{opacity:1;visibility:visible;transform:translate(-50%)}.hub-activity-grid>span:nth-child(-n+7):after{left:0;transform:translateY(.25rem)}.hub-activity-grid>span:nth-child(-n+7):hover:after{transform:translate(0)}.hub-activity-grid>span:nth-child(n+134):after{right:0;left:auto;transform:translateY(.25rem)}.hub-activity-grid>span:nth-child(n+134):hover:after{transform:translate(0)}.hub-activity-legend{display:flex;align-items:center;justify-content:flex-end;gap:.3rem;margin-top:.85rem;color:var(--muted-foreground);font-family:var(--font-mono);font-size:.56rem}.hub-activity-legend>i{width:.58rem}.hub-review-card{display:flex;flex-direction:column}.hub-mistakes-card>p:not(.eyebrow),.hub-marked-card>p:not(.eyebrow){margin:.7rem 0 1rem;color:var(--muted-foreground);font-size:.76rem;line-height:1.55}.hub-mistakes-count{display:flex;align-items:center;gap:.72rem;padding:.75rem 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.hub-mistakes-count>.mistake-icon{width:1.6rem;height:1.6rem;flex:0 0 auto;color:var(--foreground)}.hub-mistakes-count>div{display:grid;gap:.14rem}.hub-mistakes-count strong{font-family:var(--font-mono);font-size:clamp(1.45rem,2.6vw,1.85rem);font-weight:500;line-height:1}.hub-mistakes-count span{color:var(--muted-foreground);font-size:.66rem}.hub-marked-count{display:flex;align-items:center;gap:.72rem;padding:.75rem 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.hub-marked-count>.bookmark-icon{width:1.6rem;height:1.6rem;flex:0 0 auto;color:var(--foreground)}.hub-marked-count>div{display:grid;gap:.14rem}.hub-marked-count strong{font-family:var(--font-mono);font-size:clamp(1.45rem,2.6vw,1.85rem);font-weight:500;line-height:1}.hub-marked-count span{color:var(--muted-foreground);font-size:.66rem}.hub-mistakes-breakdown{display:flex;gap:.45rem;margin:.75rem 0 1rem}.hub-mistakes-breakdown>span{flex:1 1 0;display:flex;align-items:center;justify-content:space-between;gap:.4rem;padding:.42rem .5rem;color:var(--muted-foreground);background:var(--secondary);border:1px solid var(--border);border-radius:.55rem;font-size:.62rem}.hub-mistakes-breakdown strong{color:var(--foreground);font-family:var(--font-mono);font-size:.62rem;font-weight:500}.hub-mistakes-breakdown>.is-disabled{color:color-mix(in srgb,var(--muted-foreground) 65%,transparent);background:color-mix(in srgb,var(--secondary) 65%,transparent);border-color:color-mix(in srgb,var(--border) 65%,transparent)}.hub-mistakes-breakdown>.is-disabled strong{color:inherit}.hub-review-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;margin-top:auto}.hub-review-actions>:is(a,button){min-height:2.55rem;display:inline-flex;align-items:center;justify-content:center;gap:.42rem;padding:.52rem .78rem;color:var(--foreground);background:transparent;border:1px solid var(--border-strong);border-radius:999px;font-family:inherit;font-size:.76rem;font-weight:500;text-decoration:none;cursor:pointer;transition:background-color .16s ease,border-color .16s ease}.hub-review-actions>:is(a,button):not(:disabled):hover{background:var(--secondary)}.hub-review-actions>:is(a,button)>span{transition:transform .16s ease}.hub-review-actions>:is(a,button):not(:disabled):hover>span{transform:translate(.18rem)}.hub-review-actions>button:disabled{color:var(--muted-foreground);border-color:var(--border);cursor:not-allowed;opacity:.55}.hub-continue-card{--continue-accent: #6054b8;--continue-shadow: 0 .8rem 2.2rem rgb(92 78 177 / .12);--continue-surface: color-mix(in srgb, #7567d4 10%, var(--card));position:relative;overflow:hidden}.hub-continue-card.is-ready{background:linear-gradient(135deg,var(--continue-surface),var(--card) 62%);border-color:color-mix(in srgb,var(--continue-accent) 40%,var(--border));box-shadow:var(--continue-shadow)}.hub-continue-card>p:not(.eyebrow){margin:.7rem 0 1rem;color:var(--muted-foreground);font-size:.76rem;line-height:1.55}.hub-continue-summary{display:flex;flex-wrap:wrap;gap:.4rem;margin:1rem 0}.hub-continue-summary>:where(span){max-width:100%;padding:.32rem .5rem;color:var(--foreground);background:color-mix(in srgb,var(--secondary) 72%,transparent);border:1px solid color-mix(in srgb,var(--continue-accent) 18%,var(--border));border-radius:999px;font-size:.62rem;line-height:1.2}.hub-continue-detail{display:flex;align-items:center;justify-content:space-between;gap:.8rem;margin-bottom:1rem;padding:.8rem;background:color-mix(in srgb,var(--secondary) 74%,transparent);border:1px solid color-mix(in srgb,var(--continue-accent) 20%,var(--border));border-radius:.75rem}.hub-continue-detail>div{min-width:0;display:grid;gap:.12rem}.hub-continue-detail strong{color:var(--continue-accent);font-family:var(--font-mono);font-size:.92rem;font-weight:500}.hub-continue-detail>div>span{color:var(--muted-foreground);font-family:var(--font-mono);font-size:.56rem}.hub-continue-detail>span{flex:0 0 auto;padding:.25rem .48rem;color:var(--success);background:var(--success-bg);border-radius:999px;font-family:var(--font-mono);font-size:.54rem;text-transform:uppercase}.hub-continue-card>button{width:100%;min-height:2.55rem;display:inline-flex;align-items:center;justify-content:center;gap:.42rem;margin-top:auto;padding:.52rem .78rem;color:var(--foreground);background:transparent;border:1px solid var(--border-strong);border-radius:999px;cursor:pointer;font-size:.76rem;font-weight:500;transition:background-color .18s ease,border-color .18s ease}.hub-continue-card.is-ready>button{color:var(--foreground);background:linear-gradient(135deg,color-mix(in srgb,var(--continue-accent) 18%,var(--secondary)),color-mix(in srgb,var(--continue-accent) 10%,var(--card)));border-color:color-mix(in srgb,var(--continue-accent) 44%,var(--border));box-shadow:none}.hub-continue-card.is-ready>button:hover{background:linear-gradient(135deg,color-mix(in srgb,var(--continue-accent) 26%,var(--secondary)),color-mix(in srgb,var(--continue-accent) 16%,var(--card)));border-color:color-mix(in srgb,var(--continue-accent) 62%,var(--border));box-shadow:none}.hub-continue-card>button:disabled{color:var(--muted-foreground);background:var(--secondary);border-color:var(--border);cursor:not-allowed;opacity:.62}.hub-continue-card>button>span{transition:transform .16s ease}.hub-continue-card.is-ready>button>span{color:var(--continue-accent)}.hub-continue-card>button:hover:not(:disabled)>span{transform:translate(.18rem)}:root[data-theme=dark] .hub-continue-card{--continue-accent: #a596ff;--continue-shadow: 0 .9rem 2.5rem rgb(0 0 0 / .25);--continue-surface: color-mix(in srgb, #a596ff 13%, var(--card))}:root[data-theme=dark] .hub-continue-card.is-ready{box-shadow:var(--continue-shadow)}.hub-continue-card:not(.is-ready)>button:hover:not(:disabled){background:var(--secondary)}.hub-metric-card,.hub-section-card,.hub-activity-card,.hub-review-slot{opacity:0;animation:hub-dashboard-enter .5s cubic-bezier(.16,1,.3,1) both}.hub-metric-card:nth-child(1){animation-delay:30ms}.hub-metric-card:nth-child(2){animation-delay:75ms}.hub-metric-card:nth-child(3){animation-delay:.12s}.hub-metric-card:nth-child(4){animation-delay:165ms}.hub-section-card:nth-of-type(1){animation-delay:.21s}.hub-section-card:nth-of-type(2){animation-delay:.27s}.hub-lower-grid>:nth-child(1){animation-delay:.33s}.hub-lower-grid>:nth-child(2){animation-delay:.39s}.hub-lower-grid>:nth-child(3){animation-delay:.45s}.hub-lower-grid>:nth-child(4){animation-delay:.51s}@keyframes hub-dashboard-enter{0%{opacity:0;transform:translateY(.7rem) scale(.992)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes hub-metric-skeleton-breathe{0%{opacity:.58;transform:scaleX(.82)}to{opacity:.9;transform:scaleX(1)}}@keyframes hub-activity-cell-in{0%{opacity:0;transform:scale(.65)}to{opacity:1;transform:scale(1)}}@keyframes hub-loading-sheen{0%{background-position:100% 0}to{background-position:-100% 0}}@keyframes magic-progress-wave{0%{background-position:-18rem 0}to{background-position:0 0}}@keyframes magic-progress-breathe{0%,to{box-shadow:0 0 .31rem #55a9bd5c,0 0 .66rem #8176c526}50%{box-shadow:0 0 .39rem #55a9bd70,0 0 .82rem #8176c533}}@media(max-width:950px){.hub-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:1050px){.dashboard-tile--small,.dashboard-tile--medium{grid-column:span 6}.dashboard-tile--large{grid-column:span 12}}@media(max-width:820px){.dashboard-tile--small,.dashboard-tile--medium,.dashboard-tile--large{grid-column:span 12}.dashboard-tile--height-short{min-height:10rem}.dashboard-tile--height-medium{min-height:17rem}.dashboard-tile--height-tall{min-height:22rem}}@media(max-width:560px){.home-page.home-hub-page{padding:.75rem .75rem 3rem}.hub-metric-grid,.hub-section-grid,.hub-lower-grid{gap:.65rem}.hub-metric-grid{margin-bottom:.65rem}.hub-metric-card{min-height:5.1rem;gap:.65rem;padding:.78rem}.hub-metric-mark{width:2.1rem;height:2.1rem}.hub-metric-card>div>span{font-size:.64rem;white-space:normal}.hub-section-total{min-width:0}.hub-section-total span{display:none}.hub-activity-grid{gap:.14rem}}.section-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-bottom:3.3rem}.question-bank-selection-inner{width:min(70rem,100%)}.question-bank-selection-title{margin:0 0 2rem;font-family:var(--font-serif);font-size:clamp(2.3rem,5vw,3.5rem);line-height:1.05}.section-card{display:block;min-height:9.25rem;padding:1.7rem 1.55rem 1.55rem;color:var(--foreground);background:var(--card);border:1px solid var(--border);border-radius:var(--radius-card);text-align:left;text-decoration:none;transition:background-color .18s ease,border-color .18s ease,box-shadow .2s ease,transform .2s ease}.section-card-disabled{cursor:not-allowed;opacity:.38}.section-card-active:hover{background:var(--card);border-color:var(--border-strong);box-shadow:0 .75rem 1.75rem #00000014;transform:translateY(-4px)}:root[data-theme=dark] .section-card-active:hover{box-shadow:0 .85rem 2rem #0000003d}.section-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1.25rem}.section-title-row{display:flex;align-items:center;gap:.82rem;min-width:0}.section-card h2{margin:0;color:var(--foreground);font-family:var(--font-serif);font-size:clamp(1.45rem,2.8vw,1.82rem);font-weight:600;line-height:1.2}.coming-soon{display:inline-flex;align-items:center;min-height:1.38rem;padding:.16rem .52rem;color:var(--muted-foreground);background:var(--muted);border-radius:.38rem;font-family:var(--font-mono);font-size:.58rem;letter-spacing:.13em;line-height:1;text-transform:uppercase;white-space:nowrap}.section-arrow{flex:0 0 auto;margin-top:.05rem;font-size:1.35rem;line-height:1;transition:transform .16s ease}.section-card-active:hover .section-arrow{transform:translate(.24rem)}.section-topics{margin:1.62rem 0 0;color:var(--muted-foreground);font-family:var(--font-mono);font-size:.72rem;font-weight:500;letter-spacing:.12em;line-height:1.8;text-transform:uppercase}.section-pills{display:flex;flex-wrap:wrap;gap:.78rem;margin-top:1.65rem}.section-pills>span{display:inline-flex;align-items:center;gap:.28rem;min-height:2rem;padding:.38rem .82rem;color:var(--muted-foreground);background:var(--secondary);border-radius:999px;font-family:var(--font-mono);font-size:.72rem;font-weight:500;line-height:1}.about-page{min-height:calc(100vh - 4.1rem);display:grid;padding:clamp(4.5rem,11vh,8rem) 1.5rem;place-items:center}.about-inner{width:min(43rem,100%)}.about-inner>h1{margin:0;font-family:var(--font-serif);font-size:clamp(3rem,7vw,5.25rem);font-weight:700;letter-spacing:-.025em;line-height:1.02}.about-lede{margin:1.65rem 0 0;color:var(--muted-foreground);font-size:clamp(1.05rem,2vw,1.22rem);line-height:1.7}.about-card{margin-top:3rem;padding:clamp(1.35rem,3vw,2rem);background:var(--card);border:1px solid var(--border);border-radius:var(--radius-card)}.about-card h2{margin:0;font-family:var(--font-serif);font-size:1.55rem}.about-card p{margin:.8rem 0 0;color:var(--muted-foreground);line-height:1.7}.practice-shell{min-height:100vh;display:flex;flex-direction:column}.site-footer{flex:0 0 auto;background:color-mix(in srgb,var(--secondary) 48%,var(--background));border-top:1px solid var(--border);box-shadow:0 100vmax 0 100vmax color-mix(in srgb,var(--secondary) 48%,var(--background))}.site-footer-inner{width:min(74rem,100%);margin:0 auto;padding:clamp(2.4rem,5vw,3.75rem) clamp(1.25rem,4vw,3rem) 1.25rem}.site-footer-main{display:grid;grid-template-columns:minmax(16rem,1.7fr) minmax(18rem,1fr);gap:clamp(2rem,7vw,6rem);align-items:start}.site-footer-brand{display:inline-block;color:var(--foreground);font-family:var(--font-serif);font-size:clamp(1.45rem,2.5vw,1.8rem);font-weight:600;line-height:1.1;text-decoration:none;transition:opacity .16s ease}.site-footer-brand:hover{opacity:.7}.site-footer-intro>p{max-width:36rem;margin:.8rem 0 0;color:var(--muted-foreground);font-size:.86rem;line-height:1.65}.site-footer-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem}.site-footer-group{display:grid;align-content:start;justify-items:start;gap:.58rem}.site-footer-group>p{margin:0 0 .18rem;color:var(--muted-foreground);font-family:var(--font-mono);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase}.site-footer-group>a{color:var(--muted-foreground);font-size:.84rem;text-decoration:none;transition:color .16s ease,transform .16s ease}.site-footer-group>a:hover{color:var(--foreground);transform:translate(.12rem)}.site-footer-meta{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem;margin-top:clamp(2rem,5vw,3.5rem);padding-top:1rem;color:var(--muted-foreground);border-top:1px solid var(--border);font-family:var(--font-mono);font-size:.6rem;line-height:1.6;letter-spacing:.025em}.site-footer-meta>span:last-child{max-width:none;text-align:left}@media(max-width:720px){.site-footer-main{grid-template-columns:minmax(0,1fr);gap:2rem}.site-footer-links{width:min(24rem,100%)}.site-footer-meta{flex-direction:column;gap:.6rem}.site-footer-meta>span:last-child{text-align:left}}.practice-header{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:clamp(.75rem,2vw,1.25rem);padding:1rem clamp(1rem,2.5vw,1.5rem);background:var(--header-background);border-bottom:1px solid var(--border);box-shadow:0 2px 8px #0000000b;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.practice-header.site-header{display:grid;min-height:4.1rem;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:1rem;padding:0 clamp(1rem,2.5vw,1.5rem);view-transition-name:site-header}.practice-header.site-header:has(.site-header-center){grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}.practice-header.site-header:has(.site-header-center) .site-nav{grid-column:1}.practice-header.site-header:has(.site-header-center) .site-header-end{grid-column:3}::view-transition-group(root){animation-duration:.28s;animation-timing-function:cubic-bezier(.22,1,.36,1)}::view-transition-image-pair(root),::view-transition-image-pair(site-header),::view-transition-image-pair(site-nav-indicator){isolation:isolate}::view-transition-old(root){animation:route-fade-out .28s cubic-bezier(.22,1,.36,1) both;mix-blend-mode:plus-lighter}::view-transition-new(root){animation:route-fade-in .28s cubic-bezier(.22,1,.36,1) both;mix-blend-mode:plus-lighter}::view-transition-group(site-header){z-index:10;animation-duration:.28s;animation-timing-function:cubic-bezier(.22,1,.36,1)}::view-transition-old(site-header){animation:route-fade-out .28s cubic-bezier(.22,1,.36,1) both;mix-blend-mode:plus-lighter}::view-transition-new(site-header){animation:route-fade-in .28s cubic-bezier(.22,1,.36,1) both;mix-blend-mode:plus-lighter}::view-transition-group(site-nav-indicator){z-index:20;animation-duration:.36s;animation-timing-function:cubic-bezier(.22,1,.36,1)}::view-transition-old(site-nav-indicator){animation:route-fade-out .36s cubic-bezier(.22,1,.36,1) both;mix-blend-mode:plus-lighter}::view-transition-new(site-nav-indicator){animation:route-fade-in .36s cubic-bezier(.22,1,.36,1) both;mix-blend-mode:plus-lighter}@keyframes route-fade-out{to{opacity:0}}@keyframes route-fade-in{0%{opacity:0}}.site-nav{display:flex;min-width:0;align-items:stretch;gap:clamp(1rem,2.4vw,1.65rem)}.site-nav-link{position:relative;display:inline-flex;align-items:center;color:var(--muted-foreground);font-size:.9rem;font-weight:400;line-height:1;text-decoration:none;white-space:nowrap;transition:color .24s cubic-bezier(.22,1,.36,1)}.site-nav-label{transform:translateY(0) scale(1);transition:transform .24s cubic-bezier(.22,1,.36,1)}.site-nav-indicator{position:absolute;right:0;bottom:0;left:0;height:2px;background:var(--foreground);border-radius:2px 2px 0 0;opacity:0;transform:scaleX(0);transform-origin:center;transition:opacity .22s ease,transform .34s cubic-bezier(.22,1,.36,1)}.site-nav-link:hover,.site-nav-link.is-active{color:var(--foreground)}.site-nav-link:not(.is-active):hover .site-nav-indicator,.site-nav-link:focus-visible .site-nav-indicator{opacity:.42;transform:scaleX(.62)}.site-nav-link.is-active .site-nav-indicator{opacity:1;transform:scaleX(1)}@media(hover:hover){.site-nav-link:hover .site-nav-label{transform:translateY(-1px) scale(1.015)}}.site-nav-link:active .site-nav-label{transform:translateY(1px) scale(.985)}.tour-invite-control{--tutorial-angle: 0deg;position:relative;min-height:2.2rem;display:inline-flex;align-self:center;align-items:center;margin-left:clamp(.5rem,1.4vw,.9rem);color:var(--foreground);background:color-mix(in srgb,var(--card) 88%,transparent);border:1px solid var(--border);border-radius:999px;box-shadow:none;isolation:isolate;opacity:1;visibility:visible;animation:tour-invite-enter .42s cubic-bezier(.16,1,.3,1);transition:color .18s ease,background-color .18s ease,border-color .18s ease,box-shadow .22s ease,opacity .26s ease-in-out,transform .28s cubic-bezier(.22,1,.36,1),visibility 0s}.tour-invite-control:before{content:"";position:absolute;inset:-.18rem;z-index:-1;padding:.16rem;background:conic-gradient(from var(--tutorial-angle),transparent 0deg,#25d8ff 46deg,transparent 92deg,transparent 142deg,#ff6fb7 188deg,transparent 235deg,#ffe16a 292deg,transparent 340deg);border-radius:inherit;filter:blur(.08rem);opacity:0;pointer-events:none;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}.tour-invite-control:after{content:"";position:absolute;inset:-.3rem;z-index:-2;background:linear-gradient(90deg,#25d8ff,#7c5cff,#ff6fb7,#ffe16a);border-radius:inherit;filter:blur(.65rem);opacity:0;pointer-events:none}.tour-invite-control.is-attracting{box-shadow:0 0 .8rem #25d8ff1f,0 0 1.25rem #7c5cff1a;animation:tour-invite-enter .42s cubic-bezier(.16,1,.3,1),tour-invite-control-settle .7s ease .8s forwards}.tour-invite-control.is-attracting:before{opacity:.82;animation:tutorial-color-orbit 4.2s linear 1,tour-invite-accent-settle .7s ease .8s forwards}.tour-invite-control.is-attracting:after{opacity:.13;animation:tour-invite-glow-settle .7s ease .8s forwards}@keyframes tour-invite-control-settle{to{box-shadow:none}}@keyframes tour-invite-accent-settle{to{opacity:0}}@keyframes tour-invite-glow-settle{to{opacity:0}}.tour-invite-button,.tour-invite-dismiss{position:relative;z-index:1;min-height:2.1rem;display:inline-flex;align-items:center;justify-content:center;padding:0;color:inherit;background:transparent;border:0;cursor:pointer;line-height:1}.tour-invite-button{gap:.42rem;padding:.42rem .58rem .42rem .72rem;font-size:.72rem;font-weight:500;white-space:nowrap}.tour-invite-dismiss{width:2.05rem;min-width:2.05rem;align-self:stretch;flex:0 0 2.05rem;color:var(--muted-foreground);border-left:1px solid color-mix(in srgb,var(--foreground) 14%,transparent);border-radius:0 999px 999px 0;transition:color .16s ease,background-color .16s ease}.tour-invite-dismiss .theme-icon{width:.72rem;height:.72rem}.tour-invite-dismiss:hover{color:var(--foreground);background:color-mix(in srgb,var(--foreground) 7%,transparent)}.tour-invite-button:disabled,.tour-invite-dismiss:disabled{cursor:default}.tour-invite-button .sparkles-icon{width:.88rem;height:.88rem;flex:0 0 auto;color:color-mix(in srgb,#7c5cff 60%,var(--foreground))}.tour-invite-control:hover{background:color-mix(in srgb,var(--secondary) 62%,var(--card));border-color:var(--border-strong);box-shadow:none}.tour-invite-control.is-leaving,body.tutorial-open .tour-invite-control{animation:none;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-.18rem) scale(.94);transition:opacity .26s ease-in-out,transform .28s cubic-bezier(.22,1,.36,1),visibility 0s .28s}@keyframes tour-invite-enter{0%{opacity:0;transform:translate(-.3rem) scale(.94)}to{opacity:1;transform:translate(0) scale(1)}}.site-header-center{z-index:1;display:grid;width:min(38rem,42vw);max-width:min(38rem,42vw);grid-column:2;justify-self:center;place-items:center}.site-header-end{min-height:4.1rem;justify-self:end}.practice-header-left,.practice-header-right{display:flex;min-width:0;align-items:center;flex-wrap:wrap;gap:1.25rem}.practice-header-left{flex:1 1 16rem;min-height:2rem}.practice-header:has(.practice-header-end) .practice-header-left,.practice-header-end{flex:1 1 0}.practice-header-end{display:flex;min-width:0;align-items:center;justify-content:flex-end;gap:clamp(.75rem,2vw,1.25rem)}.practice-header-right{flex:0 1 auto;justify-content:flex-end}.practice-timer{position:relative;z-index:2;display:grid;flex:0 0 auto;height:2rem;place-items:center}.practice-timer-expanded,.practice-timer-show-button{grid-area:1 / 1;color:var(--foreground);background:color-mix(in srgb,var(--card) 88%,transparent);border:1px solid var(--border);border-radius:999px;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.practice-timer-expanded{display:flex;align-items:center;width:10.75rem;height:2rem;padding:0 .16rem 0 .2rem;overflow:hidden;opacity:1;transform:scale(1);visibility:visible;transition:width .3s cubic-bezier(.4,0,.2,1),padding .3s cubic-bezier(.4,0,.2,1),opacity .26s ease,transform .3s cubic-bezier(.4,0,.2,1),visibility 0s}.practice-timer-readout-button,.practice-timer-icon-button,.practice-timer-show-button{display:inline-grid;flex:0 0 auto;padding:0;place-items:center;color:inherit;background:transparent;border:0;cursor:pointer}.practice-timer-readout-button{position:relative;width:6.35rem;height:1.8rem;overflow:hidden;font-family:var(--font-mono);font-size:.7rem;font-variant-numeric:tabular-nums;letter-spacing:.06em}.practice-timer-readout,.practice-timer-hover-label{position:absolute;inset:0;display:grid;place-items:center;white-space:nowrap;transition:opacity .18s ease,transform .22s cubic-bezier(.2,.75,.25,1)}.practice-timer-hover-label{color:var(--muted-foreground);font-size:.61rem;letter-spacing:.035em;opacity:0;transform:translateY(85%)}.practice-timer-readout-button:hover .practice-timer-readout,.practice-timer-readout-button:focus-visible .practice-timer-readout{opacity:0;transform:translateY(-85%)}.practice-timer-readout-button:hover .practice-timer-hover-label,.practice-timer-readout-button:focus-visible .practice-timer-hover-label{opacity:1;transform:translateY(0)}.practice-timer-divider{width:1px;height:1rem;margin-right:.12rem;background:var(--border)}.practice-timer-icon-button,.practice-timer-show-button{position:relative;width:1.8rem;height:1.8rem;border-radius:999px;transition:color .16s ease,background-color .16s ease,border-color .16s ease,opacity .18s ease,transform .22s ease,width .22s ease}.practice-timer-icon-button:hover,.practice-timer-show-button:hover{background:var(--secondary)}.practice-timer-icon-button:active,.practice-timer-show-button:active{transform:scale(.9)}.practice-timer-icon{position:absolute;width:1.05rem;height:1.05rem;transition:opacity .18s ease,transform .22s ease}.timer-icon-play,.practice-timer.is-paused .timer-icon-pause{opacity:0;transform:scale(.6)}.practice-timer.is-paused .timer-icon-play{color:var(--foreground);opacity:1;transform:scale(1)}.practice-timer.is-paused .practice-timer-expanded{color:var(--muted-foreground);background:color-mix(in srgb,var(--secondary) 72%,transparent);border-color:color-mix(in srgb,var(--border) 72%,transparent)}.practice-timer.is-paused .practice-timer-divider{opacity:.62}.practice-timer-show-button{width:0;border-color:transparent;opacity:0;pointer-events:none;transform:rotate(-30deg) scale(.7)}.practice-timer.is-collapsed .practice-timer-expanded{width:0;padding:0;border-color:transparent;opacity:0;pointer-events:none;transform:scale(.88);visibility:hidden;transition:width .3s cubic-bezier(.4,0,.2,1),padding .3s cubic-bezier(.4,0,.2,1),opacity .26s ease,transform .3s cubic-bezier(.4,0,.2,1),visibility 0s .3s}.practice-timer.is-collapsed .practice-timer-show-button{width:2rem;color:var(--border);border-color:var(--border);opacity:1;pointer-events:auto;transform:rotate(0) scale(1)}.practice-header-right,.section-label{color:var(--muted-foreground);font-family:var(--font-mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase}.practice-header-right{gap:1.05rem;letter-spacing:.04em;text-transform:none}.site-header-details:has(.calculator-toggle){flex-wrap:nowrap;gap:.65rem}.calculator-toggle,.reference-toggle{display:inline-flex;min-height:2rem;align-items:center;gap:.42rem;padding:.32rem .7rem;color:var(--muted-foreground);background:color-mix(in srgb,var(--card) 88%,transparent);border:1px solid var(--border);border-radius:999px;cursor:pointer;font-family:var(--font-mono);font-size:.65rem;letter-spacing:.02em;transition:color .16s ease,background-color .16s ease,border-color .16s ease,transform .16s ease}.reference-toggle{gap:.28rem}.calculator-toggle:hover,.reference-toggle:hover{color:var(--foreground);background:var(--secondary);border-color:var(--border-strong)}.calculator-toggle:active,.reference-toggle:active{transform:scale(.96)}.calculator-icon{width:1rem;height:1rem}.reference-icon{display:block;width:1.15rem;height:1rem;transform:translate(.12rem,-.1rem)}.math-calculator-pane{flex:0 0 0%;min-width:0;min-height:0;overflow:hidden;background:var(--card);opacity:0;pointer-events:none;transform:translate(-1.25rem);visibility:hidden;transition:flex-basis .52s cubic-bezier(.22,1,.36,1),opacity .3s ease,transform .46s cubic-bezier(.22,1,.36,1),visibility 0s .46s}.math-question-workspace.is-calculator-open .math-calculator-pane{flex-basis:clamp(20rem,var(--math-calculator-split),calc(100% - 20rem));opacity:1;pointer-events:auto;transform:translate(0);visibility:visible;transition:flex-basis .52s cubic-bezier(.22,1,.36,1),opacity .36s ease 80ms,transform .52s cubic-bezier(.22,1,.36,1),visibility 0s}.math-calculator-panel{display:flex;width:100%;height:100%;min-width:20rem;min-height:0;overflow:hidden;background:var(--card);flex-direction:column}.math-calculator-header{display:flex;flex:0 0 auto;min-height:4.6rem;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1rem .9rem 1.25rem;border-bottom:1px solid var(--border)}.math-calculator-header h2{margin:.18rem 0 0;font-family:var(--font-serif);font-size:1.3rem}.math-calculator-header button{display:inline-grid;width:2.35rem;height:2.35rem;padding:0;place-items:center;color:var(--muted-foreground);background:transparent;border:1px solid transparent;border-radius:999px;cursor:pointer;transition:color .16s ease,background-color .16s ease,border-color .16s ease,transform .2s cubic-bezier(.22,1,.36,1)}.math-calculator-header button:hover{color:var(--foreground);background:var(--secondary);border-color:var(--border);transform:rotate(4deg) scale(1.04)}.math-calculator-header svg{width:1.15rem;height:1.15rem}.math-calculator-body{position:relative;flex:1;min-height:0}.desmos-calculator{width:100%;height:100%;background:var(--image-surface)}.calculator-load-state{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:.65rem;padding:2rem;color:var(--muted-foreground);background:var(--card);text-align:center}.calculator-load-state strong{color:var(--foreground);font-family:var(--font-serif);font-size:1.15rem}.exit-link,.inline-nav a,.reset-menu-form button{color:var(--muted-foreground);text-decoration:none;transition:color .14s ease,background-color .14s ease,border-color .14s ease}.exit-link{display:inline-flex;align-items:center;min-height:2rem;font-size:.9rem;line-height:1;transform:translateY(-1px)}.section-label{line-height:1}.exit-link:hover,.inline-nav a:hover,.reset-menu-form button:hover{color:var(--foreground)}.reset-menu-form{margin:0}.reset-menu-form button{min-height:2rem;min-width:8.8rem;padding:.34rem .68rem;overflow:hidden;position:relative;background:var(--card);border:1px solid var(--border);border-radius:999px;cursor:pointer;font-family:var(--font-mono);font-size:.68rem;letter-spacing:.04em;text-transform:none}.reset-menu-form button:before{content:"";position:absolute;inset:0;width:0;background:var(--reset-fill);pointer-events:none}.reset-menu-form button.is-holding:before{width:100%;transition:width 3s linear}.reset-menu-form button.is-armed{color:var(--background);background:var(--foreground);border-color:var(--foreground)}.reset-menu-form button.is-armed:before{display:none}progress.progress-track{appearance:none;display:block;width:100%;height:2px;padding:0;overflow:hidden;background:var(--border);border:0;border-radius:0}progress.progress-track::-webkit-progress-bar{background:var(--border)}progress.progress-track::-webkit-progress-value{background:var(--foreground);transition:width .3s ease}progress.progress-track::-moz-progress-bar{background:var(--foreground)}.review-page{width:min(61.25rem,calc(100% - 2rem));margin:0 auto;padding:clamp(2.35rem,5vw,3.8rem) 0 4.5rem}body.question-screen{overflow:hidden}body.question-screen .practice-shell{height:100dvh;min-height:0}body.question-screen [data-question-root],.question-page{display:flex;flex:1;min-height:0}.question-workspace{--question-split: 50%;display:grid;grid-template-columns:minmax(20rem,var(--question-split)) 1px minmax(20rem,1fr);flex:1;min-width:0;min-height:0}.math-question-workspace{--math-calculator-split: 50%;display:flex}.math-question-workspace .question-answer-pane{flex:1 1 0}.math-calculator-divider{flex:0 0 0}.math-calculator-mobile-divider{display:none}.question-context-pane,.question-answer-pane{min-width:0;min-height:0;background:var(--card);overscroll-behavior:contain}.question-context-pane{overflow-y:auto;padding:clamp(1.5rem,4vw,3.25rem)}.question-answer-pane{position:relative;overflow:hidden}.question-answer-scroller{width:100%;height:100%;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.question-context-pane>.qbank-content{max-width:50rem}.question-answer-content{--answer-pane-padding: clamp(1.5rem, 4vw, 3.25rem);display:flex;flex-direction:column;width:100%;min-height:100%;padding:var(--answer-pane-padding) 0 0}.math-question-workspace .question-answer-content{width:min(54rem,100%);margin-inline:auto;transition:width .52s cubic-bezier(.22,1,.36,1)}.math-question-workspace.is-calculator-static,.math-question-workspace.is-calculator-static .math-calculator-pane,.math-question-workspace.is-calculator-static .math-calculator-divider,.math-question-workspace.is-calculator-static .math-calculator-mobile-divider,.math-question-workspace.is-calculator-static .question-answer-content{transition:none}.review-scroll-cue{position:absolute;right:0;bottom:100%;left:0;z-index:2;height:clamp(4.75rem,11vh,7rem);padding:0;color:inherit;background:linear-gradient(to bottom,transparent 0%,var(--review-cue-middle) 58%,var(--review-cue-end) 100%);border:0;font:inherit;opacity:0;pointer-events:none;cursor:pointer;transition:opacity .44s ease}.review-scroll-cue.is-visible{opacity:.96;pointer-events:auto}.review-scroll-cue:focus-visible{outline:2px solid var(--success);outline-offset:-4px}.review-scroll-cue-arrow{position:absolute;bottom:.9rem;left:50%;width:.68rem;height:.68rem;border-right:1px solid color-mix(in srgb,var(--success) 62%,var(--muted-foreground));border-bottom:1px solid color-mix(in srgb,var(--success) 62%,var(--muted-foreground));opacity:.86;transform:translate(-50%) rotate(45deg)}.math-question-workspace .question-answer-pane>.review-scroll-cue{right:0;bottom:0;left:0}.question-answer-inner,.answer-form-inner,.question-answer-content>.question-meta-row,.question-answer-content>.notice,.question-answer-content>.notice-collapse,.question-answer-content>.question-card,.answer-form>.choice-fieldset{width:auto;margin-right:var(--answer-pane-padding);margin-left:var(--answer-pane-padding)}.pane-heading{margin:0 0 1.5rem;color:var(--muted-foreground);font-family:var(--font-mono);font-size:.68rem;font-weight:400;letter-spacing:.16em;text-transform:uppercase}.question-context-empty{max-width:28rem;margin:3rem auto;color:var(--muted-foreground);font-family:var(--font-serif);font-size:1.05rem;line-height:1.65;text-align:center}.question-pane-divider{position:relative;z-index:2;background:var(--border);cursor:col-resize;touch-action:none;transition:background-color .14s ease,transform .14s ease}.question-pane-divider:hover,.question-pane-divider:focus-visible{background:var(--border-strong);transform:scaleX(2)}.question-pane-divider:before{content:"";position:absolute;inset:0 -.65rem}.question-pane-divider:focus-visible{outline:2px solid var(--foreground);outline-offset:3px}.question-pane-divider.math-calculator-divider{width:0;min-width:0;min-height:0;background:var(--border-strong);opacity:0;pointer-events:none;visibility:hidden;transition:flex-basis .52s cubic-bezier(.22,1,.36,1),width .52s cubic-bezier(.22,1,.36,1),opacity .26s ease,background-color .14s ease,transform .14s ease,visibility 0s .52s}.math-question-workspace.is-calculator-open .question-pane-divider.math-calculator-divider{width:1px;flex-basis:1px;opacity:1;pointer-events:auto;visibility:visible;transition-delay:0s,0s,.15s,0s,0s,0s}.math-question-workspace.is-resizing .math-calculator-pane,.math-question-workspace.is-resizing .question-pane-divider.math-calculator-divider{transition:none}.question-workspace.is-resizing,.question-workspace.is-resizing *{cursor:col-resize!important;-webkit-user-select:none;user-select:none}.question-meta-row{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.4rem}.question-meta-row>div:first-child{min-width:0}.table-badge{display:inline-flex;align-items:center;min-height:1.7rem;padding:.25rem .58rem;color:var(--muted-foreground);background:var(--secondary);border:1px solid var(--border);border-radius:999px;font-family:var(--font-mono);font-size:.64rem;letter-spacing:.02em;line-height:1.1}.question-position-row{position:relative;z-index:4;display:flex;align-items:center;gap:.2rem}.question-position-row>.eyebrow{letter-spacing:.24em}.question-info-popover,.question-queue-popover{position:relative;display:inline-flex}.question-info-trigger,.question-queue-trigger,.question-review-toggle{display:inline-grid;width:1.8rem;height:1.8rem;padding:0;place-items:center;color:var(--muted-foreground);background:transparent;border:1px solid transparent;border-radius:50%;cursor:pointer;transition:color .16s ease,background-color .16s ease,border-color .16s ease,transform .18s cubic-bezier(.22,1,.36,1)}.question-review-toggle[aria-pressed=true]{color:var(--foreground);background:transparent;border-color:transparent;transform:none}.question-review-toggle:hover,.question-review-toggle:focus-visible{color:var(--foreground);background:var(--secondary);border-color:var(--border);transform:translateY(-1px)}.question-review-toggle:focus-visible{outline:2px solid var(--foreground);outline-offset:2px}.question-review-toggle .bookmark-icon{width:1rem;height:1rem;transition:transform .16s ease}.question-review-toggle:focus-visible .bookmark-icon{transform:scale(1.08)}.question-info-trigger:hover,.question-info-trigger:focus-visible,.question-queue-trigger:hover,.question-queue-trigger:focus-visible,.question-queue-trigger[aria-expanded=true]{color:var(--foreground);background:var(--secondary);border-color:var(--border);transform:translateY(-1px)}.question-info-trigger:focus-visible,.question-queue-trigger:focus-visible{outline:2px solid var(--foreground);outline-offset:2px}.question-info-icon{width:1rem;height:1rem}.question-queue-icon{display:block;width:1.05rem;height:1.05rem}.practice-queue-panel{position:absolute;top:calc(100% + .55rem);left:0;z-index:15;width:min(27rem,calc(100vw - 3rem));max-height:min(34rem,calc(100dvh - 9rem));display:grid;grid-template-rows:auto auto minmax(8rem,1fr) auto;overflow:hidden;color:var(--foreground);background:color-mix(in srgb,var(--card) 97%,transparent);border:1px solid var(--border-strong);border-radius:.9rem;box-shadow:0 1rem 2.5rem #0003;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);animation:practice-queue-enter .22s cubic-bezier(.22,1,.36,1)}@keyframes practice-queue-enter{0%{opacity:0;transform:translateY(-.35rem) scale(.985)}}.practice-queue-panel.is-closing{pointer-events:none;animation:practice-queue-exit .18s ease-in both}@keyframes practice-queue-exit{to{opacity:0;transform:translateY(-.28rem) scale(.985)}}.practice-queue-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1rem 1rem .85rem}.practice-queue-header .eyebrow{margin:0 0 .28rem}.practice-queue-header h2{margin:0;font-family:var(--font-serif);font-size:1.25rem;line-height:1.15}.practice-queue-close{width:2rem;height:2rem;display:inline-grid;flex:0 0 auto;padding:0;place-items:center;color:var(--muted-foreground);background:transparent;border:1px solid transparent;border-radius:50%;cursor:pointer}.practice-queue-close:hover,.practice-queue-close:focus-visible{color:var(--foreground);background:var(--secondary);border-color:var(--border)}.practice-queue-close:focus-visible{outline:2px solid var(--foreground);outline-offset:2px}.practice-queue-close-icon{width:.9rem;height:.9rem}.practice-queue-toolbar{min-height:3rem;display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.55rem 1rem;color:var(--muted-foreground);background:var(--secondary);border-top:1px solid var(--border);border-bottom:1px solid var(--border);font-family:var(--font-mono);font-size:.64rem}.practice-queue-actions{display:flex;align-items:center;gap:.4rem}.practice-queue-toolbar :is(button,a){min-height:2rem;display:inline-flex;align-items:center;justify-content:center;padding:.32rem .62rem;color:var(--foreground);background:var(--card);border:1px solid var(--border);border-radius:999px;font-family:var(--font-sans);font-size:.72rem;text-decoration:none;cursor:pointer;transition:color .15s ease,background-color .15s ease,border-color .15s ease,opacity .15s ease,transform .15s ease}.practice-queue-toolbar :is(button,a):hover:not(:disabled){border-color:var(--border-strong)}.practice-queue-toolbar button:disabled{cursor:default;opacity:.4}.practice-queue-toolbar button.is-shuffling:disabled{cursor:wait;opacity:1;border-color:var(--border-strong)}.practice-queue-toolbar .random-shuffle-icon{width:.82rem;height:.82rem;margin-right:.35rem}.practice-queue-toolbar .queue-filter-icon{width:.8rem;height:.8rem;margin-right:.35rem}.practice-queue-toolbar button.is-shuffling .random-shuffle-icon{animation:practice-queue-shuffle-icon .42s ease-in-out infinite}@keyframes practice-queue-shuffle-icon{50%{opacity:.48;transform:translate(.12rem);stroke-dashoffset:8}}.practice-queue-list{min-height:0;display:flex;flex-direction:column;gap:.25rem;margin:0;padding:.5rem;overflow-y:auto;overscroll-behavior:contain;list-style:none;scrollbar-gutter:stable}.practice-queue-list.is-shuffling{pointer-events:none}.practice-queue-item.is-shuffle-revealing{animation:practice-queue-item-reveal .26s cubic-bezier(.22,1,.36,1) both}@keyframes practice-queue-item-reveal{0%{opacity:0;transform:translateY(-.5rem)}}.practice-queue-item{min-width:0;min-height:4.65rem;display:grid;flex:0 0 auto;grid-template-columns:2rem minmax(0,1fr);align-items:stretch;overflow:hidden;background:transparent;border:1px solid transparent;border-left-width:3px;border-radius:.62rem;transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease,transform .18s cubic-bezier(.22,1,.36,1);content-visibility:auto;contain-intrinsic-block-size:4.65rem}.practice-queue-item:hover,.practice-queue-item:focus-within{background:color-mix(in srgb,var(--secondary) 82%,var(--card));border-color:var(--border);box-shadow:0 .3rem .85rem #00000012;transform:translate(.12rem)}.practice-queue-item.is-solved:hover,.practice-queue-item.is-solved:focus-within{background:color-mix(in srgb,var(--success-bg) 72%,var(--secondary))}.practice-queue-item.is-attempted:hover,.practice-queue-item.is-attempted:focus-within{background:color-mix(in srgb,var(--warning-bg) 72%,var(--secondary))}.practice-queue-item.is-solved{background:var(--success-bg);border-left-color:var(--success-border)}.practice-queue-item.is-attempted{background:var(--warning-bg);border-left-color:var(--warning-border)}.practice-queue-item.is-current{border-color:var(--border-strong);border-left-color:var(--foreground);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--foreground) 4%,transparent)}.practice-queue-list.is-reordering{cursor:grabbing;-webkit-user-select:none;user-select:none}.practice-queue-list.is-reordering .practice-queue-item{pointer-events:none}.practice-queue-drop-slot{min-width:0;display:grid;flex:0 0 auto;place-items:center;color:var(--muted-foreground);background:color-mix(in srgb,var(--foreground) 4%,transparent);border:1px dashed var(--border-strong);border-radius:.62rem;font-family:var(--font-mono);font-size:.56rem;letter-spacing:.05em;text-transform:uppercase;animation:practice-queue-slot-enter .16s cubic-bezier(.22,1,.36,1)}@keyframes practice-queue-slot-enter{0%{opacity:0;transform:scaleY(.72)}}.practice-queue-drag-preview{position:fixed;z-index:1200;min-width:0;display:grid;grid-template-columns:2rem minmax(0,1fr);align-items:stretch;overflow:hidden;color:var(--foreground);background:var(--card);border:1px solid var(--foreground);border-left-width:3px;border-radius:.62rem;box-shadow:0 1.1rem 2.5rem #00000052,0 0 0 3px color-mix(in srgb,var(--foreground) 7%,transparent);pointer-events:none;opacity:.97;transform:rotate(1.1deg) scale(1.018);transform-origin:2rem 50%;animation:practice-queue-lift .17s cubic-bezier(.22,1,.36,1);will-change:top,left}.practice-queue-drag-preview.is-solved{background:color-mix(in srgb,var(--success-bg) 94%,var(--card));border-left-color:var(--success-border)}.practice-queue-drag-preview.is-attempted{background:color-mix(in srgb,var(--warning-bg) 94%,var(--card));border-left-color:var(--warning-border)}@keyframes practice-queue-lift{0%{opacity:.7;transform:rotate(0) scale(.985)}}body.is-reordering-practice-queue,body.is-reordering-practice-queue *{cursor:grabbing!important;-webkit-user-select:none!important;user-select:none!important}.practice-queue-drag-handle{display:inline-grid;width:2rem;min-height:4.65rem;padding:0;place-items:center;color:var(--muted-foreground);background:transparent;border:0;cursor:grab;touch-action:none}.practice-queue-drag-handle:active{cursor:grabbing}.practice-queue-drag-handle:focus-visible{outline:2px solid var(--foreground);outline-offset:-3px}.queue-drag-icon{width:.72rem;height:1.08rem;fill:currentColor}.practice-queue-question{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.58rem .62rem .58rem .25rem;color:var(--foreground);background:transparent;border:0;text-align:left;cursor:pointer}.practice-queue-question:hover{background:transparent}.practice-queue-question:focus-visible{outline:2px solid var(--foreground);outline-offset:-3px}.practice-queue-question-copy{min-width:0;display:grid;gap:.32rem}.practice-queue-question-copy strong{font-family:var(--font-mono);font-size:.73rem;font-weight:600;letter-spacing:.055em}.practice-queue-question-tags{min-width:0;display:flex;flex-wrap:wrap;gap:.22rem}.practice-queue-question-tag{max-width:100%;min-height:1.15rem;display:inline-flex;align-items:center;overflow:hidden;padding:.14rem .34rem;color:var(--muted-foreground);background:color-mix(in srgb,var(--card) 72%,transparent);border:1px solid var(--border);border-radius:999px;font-family:var(--font-mono);font-size:.52rem;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.practice-queue-marks{display:flex;flex:0 0 auto;align-items:center;gap:.32rem}.practice-queue-current{color:var(--muted-foreground);font-family:var(--font-mono);font-size:.58rem;letter-spacing:.04em;text-transform:uppercase}.practice-queue-marks .table-badge{min-height:1.45rem;padding:.2rem .42rem;font-size:.56rem}.practice-queue-footer{min-height:3.1rem;display:flex;align-items:center;justify-content:flex-start;gap:.75rem;padding:.55rem .7rem .55rem 1rem;border-top:1px solid var(--border)}.practice-queue-help{width:100%;margin:0;color:var(--muted-foreground);font-family:var(--font-mono);font-size:.66rem;text-align:center;white-space:normal}.question-info-panel{position:absolute;top:calc(100% + .55rem);left:0;z-index:12;width:min(21rem,calc(100vw - 3rem));padding:1rem 1.05rem;color:var(--foreground);background:color-mix(in srgb,var(--card) 96%,transparent);border:1px solid var(--border-strong);border-radius:var(--radius-control);box-shadow:0 .8rem 2rem #00000029;opacity:0;pointer-events:none;transform:translateY(-.35rem) scale(.985);transform-origin:top left;visibility:hidden;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);transition:opacity .17s ease,transform .24s cubic-bezier(.22,1,.36,1),visibility 0s .24s;-webkit-user-select:text;user-select:text}.question-info-popover.is-popover-open .question-info-panel{opacity:1;pointer-events:auto;transform:translateY(0) scale(1);visibility:visible;transition-delay:0s}.question-info-panel>p{margin:0 0 .8rem;font-family:var(--font-serif);font-size:1.05rem;font-weight:700}.question-info-panel dl{display:grid;gap:.55rem;margin:0}.question-info-panel dl>div{display:grid;grid-template-columns:5.8rem minmax(0,1fr);align-items:center;gap:.75rem}.question-info-panel dt{color:var(--muted-foreground);font-family:var(--font-mono);font-size:.62rem;letter-spacing:.06em;text-transform:uppercase}.question-info-panel dd{margin:0;font-size:.82rem;line-height:1.35}@media(max-width:560px){.question-info-panel,.practice-queue-panel{position:fixed;top:7.5rem;right:.75rem;left:.75rem;width:auto;max-height:calc(100dvh - 8.5rem);transform-origin:top center}.question-info-panel{overflow-y:auto}.question-info-panel dl>div{grid-template-columns:5.2rem minmax(0,1fr)}}.question-info-id{display:flex;align-items:center;justify-content:space-between;gap:.75rem;font-family:var(--font-mono);font-size:.76rem!important;font-weight:600;letter-spacing:.05em}.question-info-copy{padding:.18rem .45rem;color:var(--muted-foreground);background:var(--secondary);border:1px solid var(--border);border-radius:.35rem;font-family:var(--font-mono);font-size:.58rem;letter-spacing:.02em;cursor:pointer}.question-info-copy:hover,.question-info-copy:focus-visible{color:var(--foreground);border-color:var(--border-strong)}.question-info-copy:focus-visible{outline:2px solid var(--foreground);outline-offset:2px}.question-info-answer-type{white-space:normal}.inline-nav{display:flex;flex:0 0 auto;flex-wrap:nowrap;gap:.5rem;justify-content:flex-end;white-space:nowrap}.inline-nav a{display:inline-flex;align-items:center;min-height:2rem;padding:.32rem .68rem;background:var(--card);border:1px solid var(--border);border-radius:999px;font-family:var(--font-mono);font-size:.68rem}.random-shuffle-icon{display:block;flex:0 0 auto;width:.95rem;height:.95rem;margin-right:.34rem;transition:transform .18s ease}.inline-nav a:hover .random-shuffle-icon{transform:rotate(-5deg) scale(1.08)}.inline-nav-disabled{display:inline-flex;align-items:center;min-height:2rem;padding:.32rem .68rem;color:var(--muted-foreground);border:1px solid transparent;font-family:var(--font-mono);font-size:.68rem;opacity:.48}.inline-nav a:hover{background:var(--secondary);border-color:var(--border-strong)}.notice{margin-bottom:1rem;padding:.9rem 1rem;color:var(--foreground);background:var(--secondary);border:1px solid var(--border);border-radius:var(--radius-control);font-size:.94rem}.notice-dismissible{display:flex;align-items:center;gap:.8rem}.notice-dismissible>span{flex:1}.notice-dismiss{position:relative;width:1.8rem;height:1.8rem;display:grid;flex:0 0 auto;place-items:center;padding:0;color:var(--muted-foreground);background:transparent;border:1px solid transparent;border-radius:.48rem;cursor:pointer;transition:color .14s ease,background-color .14s ease,border-color .14s ease}.notice-dismiss-icon{width:.9rem;height:.9rem;display:block;position:static;pointer-events:none}.notice-dismiss:hover{color:var(--foreground);background:var(--card);border-color:var(--border)}.notice-dismiss:focus-visible{outline:2px solid var(--foreground);outline-offset:2px}.notice-collapse{display:grid;grid-template-rows:1fr;margin-bottom:1rem;opacity:1;transition:grid-template-rows .2s cubic-bezier(.4,0,.2,1),margin-bottom .2s cubic-bezier(.4,0,.2,1),opacity .15s ease}.notice-collapse-inner{min-height:0;overflow:hidden}.notice-collapse .notice{margin-bottom:0}.notice-collapse.is-dismissing{grid-template-rows:0fr;margin-bottom:0;opacity:0;pointer-events:none}.question-card,.result-card,.answer-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-card)}.question-card{margin:0 0 1.35rem;padding:clamp(1.2rem,3.2vw,2.2rem)}.question-workspace .question-card{padding:0;background:transparent;border:0;border-radius:0}.question-workspace .qbank-stem{margin-top:0;padding-top:0;border-top:0}.qbank-content{color:var(--foreground);overflow-wrap:anywhere}.qbank-content.is-highlightable{cursor:text}.text-highlight{--text-highlight-fill: var(--highlight);margin:0;padding:0;color:inherit;background:var(--text-highlight-fill);box-shadow:0 0 0 .065em var(--text-highlight-fill);box-decoration-break:clone;cursor:pointer;animation:text-highlight-in 80ms ease-out;transition:background-color 80ms ease,box-shadow 80ms ease;-webkit-box-decoration-break:clone}.text-highlight:hover,.text-highlight.is-hovered,.text-highlight:focus-visible{--text-highlight-fill: var(--highlight-hover)}.text-highlight:focus-visible{outline:2px solid var(--foreground);outline-offset:2px}@keyframes text-highlight-in{0%{background:transparent;box-shadow:0 0 0 .065em transparent}}.highlight-selection-button{position:fixed;z-index:40;display:inline-flex;width:6.75rem;height:2.625rem;align-items:center;justify-content:center;gap:.48rem;padding:.55rem .78rem;color:var(--foreground);background:var(--card);border:1px solid var(--border);border-radius:var(--radius-control);box-shadow:0 .4rem 1rem #00000024;cursor:pointer;animation:highlight-control-in .22s cubic-bezier(.16,1,.3,1);transform-origin:center bottom;transition:background-color .36s cubic-bezier(.2,.75,.25,1),border-color .32s ease,color .32s ease,box-shadow .36s ease;will-change:opacity}.highlight-selection-button:hover{background:var(--secondary);border-color:var(--border-strong)}.highlight-selection-button:active{background:var(--selection-bg);border-color:var(--foreground);box-shadow:0 .4rem 1rem #00000024,inset 0 0 0 1px var(--foreground)}.highlight-selection-button:focus-visible{outline:2px solid var(--foreground);outline-offset:3px}.highlight-selection-button svg{width:1.08rem;height:1.08rem;flex:0 0 auto;color:var(--highlight-control-hover);fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.highlight-selection-button span{font-size:.82rem;font-weight:500;line-height:1}@keyframes highlight-control-in{0%{opacity:0;transform:translateY(.4rem) scale(.82)}}.qbank-content>:first-child{margin-top:0}.qbank-content>:last-child{margin-bottom:0}.qbank-content p,.qbank-content li{line-height:1.72}.qbank-content math{font-size:1.06em}.qbank-content mjx-container{max-width:100%;overflow-x:auto;overflow-y:hidden}.qbank-stimulus{font-family:var(--font-serif);font-size:clamp(1rem,1.5vw,1.08rem)}.qbank-stem{margin-top:1.6rem;padding-top:1.35rem;border-top:1px solid var(--border);font-size:1.04rem;font-weight:500}.question-workspace .qbank-stem,.question-workspace .choice-label{font-family:var(--font-serif);font-weight:400}.qbank-stimulus:empty+.qbank-stem,.question-card>.qbank-stem:first-of-type{margin-top:0;padding-top:0;border-top:0}.qbank-content figure.image{width:fit-content;max-width:100%;margin:0 auto 1.6rem;padding:0;overflow:auto;color:var(--foreground)}.qbank-content svg{display:block;max-width:100%;height:auto;margin:0 auto;font-family:Crimson Text,Times New Roman,serif}:root[data-theme=dark] .math-question-workspace .qbank-content figure.image svg{filter:invert(1) hue-rotate(180deg) contrast(1.08) brightness(1.12)}:root[data-theme=dark] .question-workspace:not(.math-question-workspace) .qbank-content svg :is(text,tspan){color:var(--foreground)!important;fill:var(--foreground)!important}.qbank-content table{display:block;max-width:100%;margin:1rem 0;overflow-x:auto;border-collapse:collapse}.qbank-content th,.qbank-content td{padding:.5rem .7rem;border:1px solid var(--border-strong)}.question-image{display:block;width:100%;height:auto;background:var(--image-surface)}.themed-image-frame{overflow:hidden;background:var(--image-surface);border:1px solid var(--border);isolation:isolate;transition:background-color .18s ease,border-color .18s ease}.question-image-frame{border-radius:.75rem}:root[data-theme=dark] .question-image,:root[data-theme=dark] .answer-page-image{filter:invert(1) contrast(.92);mix-blend-mode:screen}.answer-form{display:flex;flex:1;flex-direction:column;gap:1.35rem}.choice-fieldset{min-width:0;padding:0;margin:0;border:0}.student-response{display:grid;gap:.62rem;max-width:28rem}.student-response label{display:grid;gap:.5rem;color:var(--foreground);font-family:var(--font-mono);font-size:.7rem;letter-spacing:.06em;text-transform:uppercase}.student-response input{width:100%;min-height:3.75rem;padding:.8rem 1rem;color:var(--foreground);background:var(--card);border:1px solid var(--border-strong);border-radius:var(--radius-control);font-family:var(--font-mono);font-size:1.22rem;letter-spacing:.04em;text-transform:none;transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease}.student-response input:focus-visible{border-color:var(--foreground);box-shadow:inset 0 0 0 1px var(--foreground);outline:0}.student-response.is-incorrect input{background:var(--danger-bg);border-color:var(--danger-border);box-shadow:inset 0 0 0 1px var(--danger-border)}.student-response.is-correct input{background:var(--success-bg);border-color:var(--success-border);box-shadow:inset 0 0 0 1px var(--success-border)}.student-response>div{min-height:1.4rem;color:var(--muted-foreground);font-size:.86rem}.student-response-result.is-incorrect{color:var(--danger)}.student-response-result.is-correct{color:var(--success)}.choice-list{display:grid;gap:.7rem}.choice-row{--cross-control-width: 2.75rem;--cross-control-gap: .62rem;--feedback-lane-width: 5.4rem;display:grid;grid-template-columns:minmax(0,1fr) var(--cross-control-width);gap:var(--cross-control-gap);align-items:stretch;transition:grid-template-columns .52s cubic-bezier(.22,1,.36,1),gap .52s cubic-bezier(.22,1,.36,1)}.choice-button,.cross-off-button{min-height:3.75rem;border:1px solid var(--border);border-radius:var(--radius-control);background:var(--card);cursor:pointer;transition:background-color .36s cubic-bezier(.2,.75,.25,1),border-color .32s ease,color .32s ease,box-shadow .36s ease,opacity .36s ease,transform .52s cubic-bezier(.22,1,.36,1),width .52s cubic-bezier(.22,1,.36,1)}.choice-button{width:100%;display:grid;grid-template-columns:1.75rem minmax(0,1fr) var(--feedback-lane-width);align-items:flex-start;gap:.9rem;padding:.95rem 1rem;text-align:left;position:relative;transition:background-color .36s cubic-bezier(.2,.75,.25,1),border-color .32s ease,color .32s ease,box-shadow .36s ease,grid-template-columns .52s cubic-bezier(.22,1,.36,1)}.choice-radio{position:absolute;width:1px;height:1px;margin:0;opacity:0;pointer-events:none}.choice-button:has(.choice-radio:focus-visible){outline:2px solid var(--foreground);outline-offset:3px}.choice-button:hover,.cross-off-button:hover{background:var(--secondary);border-color:var(--border-strong)}.choice-marker{flex:0 0 auto;width:1.75rem;height:1.75rem;display:inline-grid;place-items:center;color:var(--muted-foreground);border:1px solid var(--border);border-radius:999px;font-family:var(--font-mono);font-size:.78rem;line-height:1;transition:color .3s ease,background-color .36s cubic-bezier(.2,.75,.25,1),border-color .32s ease,transform .36s cubic-bezier(.2,.75,.25,1)}.choice-label{flex:1 1 auto;min-width:0;padding-top:.05rem;color:var(--foreground);font-size:.98rem;line-height:1.55;text-decoration-color:transparent;transition:color .42s ease,text-decoration-color .48s ease}.qbank-option>:first-child{margin-top:0}.qbank-option>:last-child{margin-bottom:0}.choice-row.is-selected .choice-button{background:var(--selection-bg);border-color:var(--foreground);box-shadow:inset 0 0 0 1px var(--foreground)}.choice-row.is-selected .choice-marker{color:var(--background);background:var(--foreground);border-color:var(--foreground)}.cross-off-button{display:inline-grid;justify-self:end;place-items:center;width:var(--cross-control-width);padding:0;color:var(--muted-foreground);font-weight:600;overflow:hidden;transform-origin:right center}.cross-off-symbol{display:inline-block;font-family:var(--font-mono);font-size:.9rem;text-decoration:line-through;text-decoration-thickness:2px}.choice-row.is-crossed-off .choice-button{color:var(--muted-foreground);background:var(--secondary);border-color:var(--border);cursor:not-allowed;box-shadow:none}.choice-row.is-crossed-off .choice-label{color:var(--muted-foreground);text-decoration:line-through;text-decoration-color:currentColor;text-decoration-thickness:2px}.choice-row.is-crossed-off .choice-marker{background:transparent;color:var(--muted-foreground);border-color:var(--border-strong)}.choice-row.is-crossed-off .cross-off-button{color:var(--background);background:var(--foreground);border-color:var(--foreground)}.choice-row.is-clearing-cross-off .choice-label{color:var(--foreground);text-decoration-color:transparent}.choice-row.is-removing-cross-off{grid-template-columns:minmax(0,1fr) 0;gap:0}.choice-row.is-removing-cross-off .choice-button,.choice-row:has(.cross-off-button[hidden]) .choice-button{grid-template-columns:1.75rem minmax(0,1fr) calc(var(--feedback-lane-width) + var(--cross-control-width) + var(--cross-control-gap))}.choice-row.is-removing-cross-off .cross-off-button{width:0;border-color:transparent;color:transparent;opacity:0;transform:scaleX(.06)}.choice-feedback{display:flex;flex:0 0 auto;flex-wrap:wrap;justify-content:flex-end;gap:.35rem;padding-top:.08rem}.choice-feedback:not([hidden]) .answer-state-badge{animation:choice-feedback-in .36s cubic-bezier(.22,1,.36,1) 90ms both}.choice-row:has(.cross-off-button[hidden]){grid-template-columns:minmax(0,1fr)}.choice-row.is-incorrect .choice-button{background-color:color-mix(in srgb,var(--danger) 9%,var(--card));border-color:var(--danger-border);box-shadow:inset 0 0 0 1px var(--danger-border);cursor:default}.choice-row.is-incorrect .choice-marker{color:var(--danger);background:var(--danger-bg);border-color:var(--danger-border);transform:scale(1.04)}.choice-row.is-correct .choice-button{background-color:color-mix(in srgb,var(--success) 9%,var(--card));border-color:var(--success-border);box-shadow:inset 0 0 0 1px var(--success-border);cursor:default}.choice-row.is-correct .choice-marker{color:var(--background);background:var(--success);border-color:var(--success);transform:scale(1.04)}.choice-row.is-correct .choice-button:hover{border-color:var(--success-border)}.choice-row.is-incorrect .choice-button:hover{border-color:var(--danger-border)}.answer-form.is-review-mode .choice-row:not(.is-correct):not(.is-incorrect) .choice-button:hover{background:var(--card);border-color:var(--border)}.inline-explanation{margin-top:clamp(1.9rem,5vw,3.35rem);padding-bottom:clamp(1.5rem,4vw,2.6rem);transform-origin:top center}.explanation-separator{display:grid;grid-template-columns:minmax(1rem,1fr) auto minmax(1rem,1fr);align-items:center;gap:.8rem;margin-bottom:clamp(1.65rem,4vw,2.5rem);color:var(--muted-foreground);font-family:var(--font-mono);font-size:.59rem;letter-spacing:.16em;text-transform:uppercase}.explanation-separator>span:first-child,.explanation-separator>span:last-child{height:1px;background:linear-gradient(90deg,transparent,var(--border-strong))}.explanation-separator>span:last-child{background:linear-gradient(90deg,var(--border-strong),transparent)}.inline-explanation .answer-card-heading{margin-bottom:0}.inline-explanation h2{margin:.42rem 0 0;font-family:var(--font-serif);font-size:clamp(1.55rem,3vw,2.15rem);line-height:1.2}.inline-explanation .rationale{margin-top:1.35rem;padding-left:clamp(1rem,3vw,1.35rem);border-left:2px solid var(--success-border);font-family:var(--font-serif);font-weight:400}.inline-explanation.is-revealing{animation:explanation-unfold .72s cubic-bezier(.16,1,.3,1) both}.inline-explanation.is-revealing .rationale{animation:explanation-block-in .52s cubic-bezier(.2,.75,.25,1) .18s both}.practice-answer-actions,.completed-answer-actions{display:flex;align-items:center;justify-content:flex-end;gap:.75rem}.answer-form.is-submitting .choice-button{cursor:wait}@keyframes explanation-unfold{0%{opacity:0;clip-path:inset(0 0 100% 0);transform:translateY(-.65rem)}to{opacity:1;clip-path:inset(0 0 0 0);transform:translateY(0)}}@keyframes explanation-block-in{0%{opacity:0;transform:translateY(.65rem)}to{opacity:1;transform:translateY(0)}}@keyframes choice-feedback-in{0%{opacity:0;transform:translate(.38rem) scale(.96)}to{opacity:1;transform:translate(0) scale(1)}}.form-actions{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:.75rem}.form-actions .primary-action{justify-self:center}.form-actions .secondary-action:first-child{justify-self:start}.form-actions .secondary-action:last-child{justify-self:end}.question-workspace .form-actions{position:sticky;bottom:0;z-index:3;display:flex;justify-content:flex-end;width:100%;margin:auto 0 0;padding:1rem var(--answer-pane-padding) calc(1rem + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--card) 92%,transparent);border-top:1px solid var(--border);box-shadow:0 -.45rem 1.15rem color-mix(in srgb,var(--card) 82%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.math-question-workspace .form-actions{position:relative;bottom:auto;width:auto;margin:0 var(--answer-pane-padding);padding:1.1rem 0 calc(1rem + env(safe-area-inset-bottom));background:transparent;border-top-color:var(--border);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.math-question-workspace .answer-form>.inline-explanation{margin-right:var(--answer-pane-padding);margin-left:var(--answer-pane-padding);padding-bottom:clamp(14rem,45vh,30rem)}.primary-action,.secondary-action{min-height:2.85rem;display:inline-flex;align-items:center;justify-content:center;padding:.72rem 1.08rem;border-radius:var(--radius-control);font-size:.9rem;font-weight:500;line-height:1;text-decoration:none;transition:opacity .14s ease,background-color .14s ease,border-color .14s ease}.primary-action{color:var(--background);background:var(--foreground);border:1px solid var(--foreground);cursor:pointer}.primary-action:hover{opacity:.86}.primary-action:disabled,.secondary-action:disabled{cursor:not-allowed;opacity:.34}.secondary-action:disabled:hover{background:var(--card);border-color:var(--border)}.secondary-action{color:var(--foreground);background:var(--card);border:1px solid var(--border);cursor:pointer}.secondary-action:hover{background:var(--secondary);border-color:var(--border-strong)}.review-page{display:grid;gap:1.1rem}.review-question-card,.rationale-card{padding:clamp(1.15rem,2.8vw,1.7rem);background:var(--card);border:1px solid var(--border);border-radius:var(--radius-card)}.review-question-content{margin:0}.review-question-card h2,.rationale-card h2{margin:.42rem 0 0;font-family:var(--font-serif);font-size:clamp(1.45rem,3vw,2rem);line-height:1.2}.review-choice-list{display:grid;gap:.7rem}.review-choice{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:.9rem;padding:.95rem 1rem;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-control)}.review-choice.is-selected{border-color:var(--border-strong)}.review-choice.is-correct{background:linear-gradient(0deg,var(--success-bg),var(--success-bg)),var(--card);border-color:var(--success-border)}.review-choice-badges{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.35rem}.answer-state-badge{display:inline-flex;padding:.28rem .52rem;color:var(--muted-foreground);background:var(--secondary);border-radius:999px;font-family:var(--font-mono);font-size:.6rem;white-space:nowrap}.answer-state-badge.is-correct{color:var(--success);background:var(--success-bg)}.answer-state-badge.is-incorrect{color:var(--danger);background:var(--danger-bg)}.result-card,.answer-card{padding:clamp(1.15rem,2.8vw,1.7rem)}.result-card h1,.answer-card h2{margin:.42rem 0 0;color:var(--foreground);font-family:var(--font-serif);font-size:clamp(2.1rem,5vw,3.55rem);font-weight:700;line-height:1.12}.answer-card h2{font-size:clamp(1.65rem,3vw,2.15rem)}.result-card.is-correct{border-color:var(--success-border);background:linear-gradient(0deg,var(--success-bg),var(--success-bg)),var(--card)}.result-card.is-incorrect{border-color:var(--danger-border);background:linear-gradient(0deg,var(--danger-bg),var(--danger-bg)),var(--card)}.result-card.is-revealed{border-color:var(--warning-border);background:linear-gradient(0deg,var(--warning-bg),var(--warning-bg)),var(--card)}.result-card.is-revealed .result-grid{grid-template-columns:minmax(0,1fr)}.result-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:1.5rem 0 0}.result-grid div{padding:.9rem;background:var(--result-detail-bg);border:1px solid var(--border);border-radius:var(--radius-control)}.result-grid dt{margin:0 0 .28rem;color:var(--muted-foreground);font-family:var(--font-mono);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase}.result-grid dd{margin:0;color:var(--foreground);font-family:var(--font-serif);font-size:1.35rem;font-weight:700}.rationale{margin:1.45rem 0 0;color:var(--foreground);font-size:1rem;line-height:1.75}.rationale p{margin:0 0 1rem}.rationale p:last-child{margin-bottom:0}.answer-card-heading{margin-bottom:1rem}.answer-image-stack{display:grid;gap:1rem}.answer-page-image{display:block;width:100%;height:auto;background:var(--image-surface)}.answer-image-frame{border-radius:.8rem}.review-actions{display:flex;justify-content:flex-end;margin-top:.35rem}.question-bank-page{width:min(87rem,calc(100% - 2rem));margin:0 auto;padding:clamp(2.5rem,5vw,4.6rem) 0 5rem}.bank-back-link{display:inline-flex;min-height:2.25rem;align-items:center;gap:.55rem;margin-bottom:1.4rem;padding:.32rem .65rem .32rem .48rem;color:var(--muted-foreground);border:1px solid transparent;border-radius:999px;font-size:.82rem;text-decoration:none;transition:color .15s ease,background-color .15s ease,border-color .15s ease,transform .15s ease}.bank-back-link>span:first-child{font-size:1.05rem;line-height:1}.bank-back-link:hover{color:var(--foreground);background:var(--secondary);border-color:var(--border);transform:translate(-.12rem)}.bank-hero{max-width:49rem;margin-bottom:clamp(2.2rem,5vw,3.8rem)}.bank-hero h1{margin:.55rem 0 0;font-family:var(--font-serif);font-size:clamp(2.75rem,6vw,5rem);font-weight:700;letter-spacing:-.025em;line-height:1.05}.bank-hero>p:last-child{max-width:43rem;margin:1.15rem 0 0;color:var(--muted-foreground);font-size:1.08rem;line-height:1.65}.bank-table-card{scroll-margin-top:5.5rem;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-card)}.bank-table-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:1.25rem}.bank-table-toolbar h2{margin:.35rem 0 0;font-family:var(--font-serif);font-size:clamp(1.35rem,2.5vw,1.8rem);line-height:1.15}.rows-per-page{display:grid;gap:.38rem;color:var(--muted-foreground);font-family:var(--font-mono);font-size:.64rem;letter-spacing:.06em;text-transform:uppercase}.bank-table-controls{display:flex;align-items:flex-end;gap:1rem}.practice-selected-action,.clear-selected-action{min-height:2.7rem;padding:.58rem .78rem;border:1px solid var(--foreground);border-radius:.58rem;font-family:var(--font-sans);font-size:.84rem;font-weight:500;cursor:pointer;transition:color .18s ease,background-color .18s ease,border-color .18s ease,opacity .18s ease}.practice-selected-action{display:inline-flex;align-items:center;justify-content:center;gap:.58rem;color:var(--background);background:var(--foreground)}.practice-selected-action:disabled{color:var(--muted-foreground);background:var(--muted);border-color:var(--border);cursor:default;opacity:.72}.selected-count{min-width:1.35rem;min-height:1.35rem;display:inline-grid;padding:.16rem .34rem;place-items:center;color:var(--foreground);background:var(--background);border-radius:999px;font-family:var(--font-mono);font-size:.62rem;line-height:1}.practice-selected-action:disabled .selected-count{color:var(--muted-foreground);background:var(--card)}.clear-selected-action{color:var(--muted-foreground);background:transparent;border-color:transparent}.clear-selected-action:hover:not(:disabled),.clear-selected-action:focus-visible{color:var(--foreground);background:var(--secondary);border-color:var(--border)}.clear-selected-action:focus-visible{outline:2px solid var(--foreground);outline-offset:2px}.clear-selected-action:disabled{cursor:default;opacity:.42}.bank-utility-toggle{display:inline-flex;align-items:center;gap:.65rem;color:var(--muted-foreground);font-size:.8rem;white-space:nowrap;cursor:pointer;transition:color .18s ease}.bank-utility-option{position:relative;display:inline-flex;align-items:center;gap:.3rem}.bank-utility-info{position:relative;z-index:1;width:1.45rem;height:1.45rem;display:inline-grid;flex:0 0 auto;place-items:center;color:var(--muted-foreground);border-radius:50%;cursor:help;transition:color .15s ease,background-color .15s ease}.bank-utility-info .question-info-icon{width:.9rem;height:.9rem}.bank-utility-info:after{content:attr(data-tooltip);position:absolute;top:calc(100% + .48rem);left:50%;z-index:40;width:max-content;max-width:min(13rem,calc(100vw - 3rem));padding:.44rem .58rem;color:var(--background);background:var(--foreground);border-radius:.42rem;box-shadow:0 .5rem 1.25rem #0003;font-size:.66rem;font-weight:500;line-height:1.3;text-align:center;white-space:normal;pointer-events:none;opacity:0;visibility:hidden;transform:translate(-50%,-.2rem);transition:opacity .13s ease,transform .13s ease,visibility .13s ease}.bank-utility-info:hover,.bank-utility-info:focus-visible{color:var(--foreground);background:color-mix(in srgb,var(--foreground) 7%,transparent);outline:none}.bank-utility-info:hover:after,.bank-utility-info:focus-visible:after{opacity:1;visibility:visible;transform:translate(-50%)}.bank-utility-toggle:hover{color:var(--foreground)}.rows-per-page select,.column-filter-row>th>label>input,.multi-select-trigger{width:100%;min-height:2.7rem;padding:.58rem .7rem;color:var(--foreground);background:var(--background);border:1px solid var(--border);border-radius:.58rem;font-family:var(--font-sans);font-size:.86rem;letter-spacing:0;text-transform:none;cursor:pointer}.column-filter-row>th>label>input::placeholder{color:var(--muted-foreground)}.bank-table-card{overflow:hidden}.bank-table-toolbar{padding:clamp(1.15rem,2.5vw,1.65rem);border-bottom:1px solid var(--border)}.bank-filter-utility-bar{position:relative;z-index:3;min-height:4rem;display:flex;align-items:center;justify-content:flex-start;gap:1rem;padding:.72rem clamp(.78rem,2.5vw,1.55rem);background:var(--secondary);border-bottom:1px solid var(--border)}.bank-filter-utility-toggles,.bank-filter-utility-actions{display:flex;align-items:center;gap:clamp(.85rem,2vw,1.4rem)}.bank-filter-utility-actions:after{content:"";width:1px;height:1.5rem;flex:0 0 1px;background:var(--border-strong)}.bank-filter-utility-bar .clear-selected-action{min-height:2.25rem;padding:.4rem .68rem;font-size:.78rem}@media(max-width:720px){.bank-filter-utility-bar{align-items:flex-start;flex-direction:column}.bank-filter-utility-toggles,.bank-filter-utility-actions{width:100%;flex-wrap:wrap}.bank-filter-utility-actions:after{display:none}}.bank-results-summary{margin:.48rem 0 0;color:var(--muted-foreground);font-family:var(--font-mono);font-size:.68rem}.rows-per-page{min-width:8rem}.bank-load-state{display:flex;align-items:center;justify-content:center;gap:.72rem;min-height:15rem;padding:2rem;color:var(--muted-foreground);text-align:center}.loading-indicator{width:1.1rem;height:1.1rem;border:2px solid var(--border-strong);border-right-color:var(--foreground);border-radius:50%;animation:bank-loading-spin .7s linear infinite}@keyframes bank-loading-spin{to{transform:rotate(1turn)}}.bank-error-state{flex-direction:column}.bank-error-state strong{color:var(--foreground);font-family:var(--font-serif);font-size:1.3rem}.bank-error-state button{margin-top:.4rem;padding:.65rem .9rem;color:var(--background);background:var(--foreground);border:1px solid var(--foreground);border-radius:var(--radius-control);cursor:pointer}.question-table-wrap{max-width:100%;overflow:auto;overscroll-behavior-inline:contain}.question-table{--question-table-row-height: 4rem;width:100%;min-width:80rem;border-collapse:collapse;table-layout:fixed;font-size:.88rem}.table-col-select,.table-col-number{width:3.25rem}.table-col-id{width:8rem}.table-col-domain{width:12.5rem}.table-col-skill{width:15rem}.table-col-difficulty{width:7.5rem}.table-col-score{width:6.75rem}.table-col-status{width:7.5rem}.table-col-marked{width:3.5rem}.table-col-action{width:10rem}.question-table th,.question-table td{padding:.85rem .78rem;border-bottom:1px solid var(--border);text-align:left;vertical-align:middle}.question-table th{color:var(--muted-foreground);background:var(--secondary);font-family:var(--font-mono);font-size:.64rem;font-weight:500;letter-spacing:.045em;text-transform:uppercase;white-space:nowrap}.table-heading-row th{border-bottom:0}.table-heading-row button{display:inline-flex;align-items:center;gap:.3rem;padding:0;color:inherit;background:transparent;border:0;cursor:pointer;font:inherit;letter-spacing:inherit;text-transform:inherit}.table-heading-row th[aria-sort]:not([aria-sort=none]) button{color:var(--foreground)}.column-filter-row th{padding-top:0}.column-filter-row>th>label>input,.multi-select-trigger{min-height:2.1rem;padding:.38rem .5rem;background:var(--card);font-size:.74rem}.column-filter-row .practice-selected-action{width:100%;min-height:2.1rem;gap:.35rem;padding:.38rem .45rem;font-size:.72rem}.column-filter-row .selected-count{min-width:1.2rem;min-height:1.2rem;padding:.12rem .25rem;font-size:.56rem}.marked-filter-checkbox{min-height:2.1rem;display:grid;place-items:center}.table-marked-heading,.table-marked-filter-cell,.table-marked-cell{text-align:center!important}.table-marked-heading .bookmark-icon{width:.9rem;height:.9rem}.table-marked-heading button{position:relative;width:100%;justify-content:center}.table-marked-heading button>span{position:absolute;right:0}.table-clear-filters-action{width:100%;min-height:2.1rem;padding:.38rem .42rem;color:var(--muted-foreground);background:var(--card);border:1px solid var(--border);border-radius:.52rem;font-family:var(--font-sans);font-size:.69rem;font-weight:500;letter-spacing:0;text-transform:none;white-space:nowrap;cursor:pointer;transition:color .15s ease,background-color .15s ease,border-color .15s ease}.table-clear-filters-action:hover:not(:disabled),.table-clear-filters-action:focus-visible{color:var(--foreground);background:var(--secondary);border-color:var(--border-strong)}.table-clear-filters-action:focus-visible{outline:2px solid var(--foreground);outline-offset:2px}.table-clear-filters-action:disabled{cursor:default;opacity:.42}.multi-select-filter{position:relative;width:100%;font-family:var(--font-sans);letter-spacing:0;text-transform:none}.multi-select-trigger{display:flex;align-items:center;justify-content:space-between;gap:.5rem;overflow:hidden;text-align:left}.multi-select-trigger>span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.multi-select-trigger[aria-expanded=true]{border-color:var(--border-strong);box-shadow:0 0 0 1px var(--border-strong)}.multi-select-trigger:disabled{color:var(--muted-foreground);background:var(--secondary);cursor:not-allowed;opacity:.7}.multi-select-chevron{width:.45rem;height:.45rem;flex:0 0 auto;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:translateY(-.12rem) rotate(45deg);transition:transform .18s ease}.multi-select-trigger[aria-expanded=true] .multi-select-chevron{transform:translateY(.12rem) rotate(225deg)}.multi-select-menu{position:absolute;top:calc(100% + .4rem);left:0;z-index:30;width:max(100%,14rem);max-height:18rem;padding:.38rem;overflow-y:auto;color:var(--foreground);background:var(--card);border:1px solid var(--border-strong);border-radius:.7rem;box-shadow:0 .8rem 2rem #0000002e;opacity:0;pointer-events:none;transform:translateY(-.3rem) scale(.985);transform-origin:top left;visibility:hidden;white-space:normal;transition:opacity .16s ease,transform .22s cubic-bezier(.22,1,.36,1),visibility 0s .22s}.multi-select-filter.is-popover-open .multi-select-menu{opacity:1;pointer-events:auto;transform:translateY(0) scale(1);visibility:visible;transition-delay:0s}.multi-select-menu-heading{min-height:2rem;display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.35rem .45rem .45rem;color:var(--muted-foreground);border-bottom:1px solid var(--border);font-family:var(--font-mono);font-size:.62rem}.multi-select-menu-heading button{padding:0;color:var(--foreground);background:transparent;border:0;font:inherit;cursor:pointer}.multi-select-options{display:grid;gap:.12rem;padding-top:.28rem}.multi-select-option{position:relative;display:grid;grid-template-columns:1.3rem minmax(0,1fr);align-items:center;gap:.55rem;min-height:2.25rem;padding:.42rem .48rem;border-radius:.45rem;font-size:.78rem;font-weight:400;line-height:1.3;cursor:pointer}.multi-select-option:hover{background:var(--secondary)}.table-selection-checkbox{position:relative;width:1.4rem;height:1.4rem;display:inline-grid;place-items:center;cursor:pointer}.table-selection-checkbox input,.multi-select-option input{position:absolute;width:1px;height:1px;margin:-1px;opacity:0}.table-checkbox-mark{position:relative;width:1.28rem;height:1.28rem;display:inline-block;background:var(--card);border:1px solid var(--border-strong);border-radius:.3rem;transition:background-color .16s ease,border-color .16s ease,transform .16s ease}.table-selection-checkbox:hover .table-checkbox-mark,.multi-select-option:hover .table-checkbox-mark{border-color:var(--foreground)}.table-selection-checkbox input:checked+.table-checkbox-mark,.multi-select-option input:checked+.table-checkbox-mark,.table-selection-checkbox input:indeterminate+.table-checkbox-mark{background:var(--foreground);border-color:var(--foreground)}.table-selection-checkbox input:checked+.table-checkbox-mark:after,.multi-select-option input:checked+.table-checkbox-mark:after{content:"";position:absolute;top:.18rem;left:.43rem;width:.3rem;height:.58rem;border-right:2px solid var(--background);border-bottom:2px solid var(--background);transform:rotate(45deg)}.table-selection-checkbox input:indeterminate+.table-checkbox-mark:after{content:"";position:absolute;top:50%;left:50%;width:.65rem;height:2px;background:var(--background);border-radius:999px;transform:translate(-50%,-50%)}.table-selection-checkbox input:focus-visible+.table-checkbox-mark,.multi-select-option input:focus-visible+.table-checkbox-mark{outline:2px solid var(--foreground);outline-offset:3px}.table-selection-checkbox:has(input:disabled){cursor:default;opacity:.35}.table-selection-cell{width:3.25rem;padding-right:.45rem!important;padding-left:.75rem!important;text-align:center!important}.table-marked-toggle{width:2rem;height:2rem;display:inline-grid;padding:0;color:var(--muted-foreground);background:transparent;border:0;border-radius:50%;cursor:pointer;place-items:center;transition:color .15s ease,background-color .15s ease,border-color .15s ease,transform .15s ease}.table-marked-toggle:hover,.table-marked-toggle:focus-visible,.table-marked-toggle[aria-pressed=true]{color:var(--foreground);background:transparent;border-color:transparent}.table-marked-toggle:hover{transform:translateY(-1px)}.table-marked-toggle:focus-visible{outline:none}.table-marked-toggle .bookmark-icon{width:1rem;height:1rem;transition:transform .15s ease}.table-marked-toggle:focus-visible .bookmark-icon{transform:scale(1.08)}.question-table tbody tr{height:var(--question-table-row-height);transition:background-color .14s ease}.question-table tbody tr:hover{background:var(--selection-bg)}.question-table tbody tr.is-selected{background:color-mix(in srgb,var(--foreground) 5%,var(--card));box-shadow:inset 3px 0 var(--foreground)}.question-number-cell,.score-band-cell{color:var(--muted-foreground);font-family:var(--font-mono);font-size:.72rem}.question-id-cell{font-family:var(--font-mono);font-size:.76rem;font-weight:500;letter-spacing:.04em}.difficulty-e{color:var(--success);background:var(--difficulty-easy-bg);border-color:var(--success-border)}.status-solved{color:var(--success);background:var(--success-bg);border-color:var(--success-border)}.status-attempted{color:var(--warning);background:var(--warning-bg);border-color:var(--warning-border)}.difficulty-h{color:var(--danger);background:var(--difficulty-hard-bg);border-color:var(--danger-border)}.difficulty-m{color:var(--warning);background:var(--difficulty-medium-bg);border-color:var(--warning-border)}.status-unsolved{color:var(--muted-foreground)}.table-action-cell{text-align:right!important}.table-practice-link{display:inline-flex;align-items:center;justify-content:center;min-height:2.25rem;padding:.48rem .7rem;color:var(--foreground);background:var(--card);border:1px solid var(--border-strong);border-radius:.58rem;font-size:.78rem;font-weight:500;text-decoration:none;white-space:nowrap;cursor:pointer}.table-practice-link:hover{color:var(--background);background:var(--foreground);border-color:var(--foreground)}.question-table tbody .table-empty-space{height:calc(var(--question-table-row-height) * var(--empty-row-count));background:color-mix(in srgb,var(--secondary) 52%,var(--card))}.question-table tbody .table-empty-space:hover{background:color-mix(in srgb,var(--secondary) 52%,var(--card))}.table-empty-space td{height:inherit;padding:0 1rem;color:var(--muted-foreground);border-bottom:0;text-align:center!important}.table-empty-space span{display:inline-block;max-width:28rem;line-height:1.6}.bank-pagination{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem;border-top:1px solid var(--border)}.bank-pagination button,.page-ellipsis{display:inline-grid;min-width:2.3rem;min-height:2.3rem;padding:.4rem .62rem;place-items:center;color:var(--muted-foreground);background:var(--card);border:1px solid var(--border);border-radius:.55rem;font-family:var(--font-mono);font-size:.68rem}.bank-pagination button{cursor:pointer}.bank-pagination button:hover:not(:disabled),.bank-pagination button[aria-current=page]{color:var(--background);background:var(--foreground);border-color:var(--foreground)}.bank-pagination button:disabled{cursor:default;opacity:.38}.page-numbers{display:flex;gap:.35rem}.page-ellipsis{border-color:transparent}.attempt-log-overlay{position:fixed;inset:0;z-index:110;display:grid;padding:1rem;place-items:center;background:#08080885;opacity:0;pointer-events:none;visibility:hidden;-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0);transition:opacity .22s ease,backdrop-filter .26s ease,visibility 0s .3s}.attempt-log-overlay.is-open{opacity:1;pointer-events:auto;visibility:visible;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);transition-delay:0s}.attempt-log-dialog{width:min(94vw,92rem);height:min(90dvh,58rem);position:relative;overflow:hidden;color:var(--foreground);background:color-mix(in srgb,var(--card) 97%,var(--background));border:1px solid var(--border-strong);border-radius:clamp(1.1rem,2vw,1.5rem);box-shadow:0 2.25rem 6rem #0000004d,0 .35rem 1.25rem #00000021;opacity:0;transform:translateY(1rem) scale(.975);transition:opacity .18s ease,transform .28s cubic-bezier(.16,1,.3,1),background-color .18s ease,border-color .18s ease}.attempt-log-overlay.is-open .attempt-log-dialog{opacity:1;transform:translateY(0) scale(1)}.attempt-log-content{min-height:0;display:grid;padding-top:1.25rem;overflow:hidden}@media(max-width:720px){.attempt-log-overlay{padding:.4rem}.attempt-log-dialog{width:calc(100vw - .8rem);height:calc(100dvh - .8rem);border-radius:1rem}.attempt-log-content{padding-top:1rem}}.attempt-table-card{min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;background:transparent;border:0;border-radius:0}.attempt-table-card .question-table-wrap{min-height:0;border-radius:0}.attempt-table-controls{margin-left:auto;flex-wrap:wrap}.attempt-clear-filter-control{display:flex;align-items:center;gap:1rem}.attempt-clear-filter-control:after{content:"";width:1px;height:1.5rem;flex:0 0 1px;background:var(--border-strong)}.attempt-date-filters{display:flex;align-items:flex-end;gap:.55rem}.attempt-log-close{position:absolute;top:1.25rem;right:1.25rem;z-index:2}.attempt-date-picker{position:relative;display:grid;gap:.38rem}.attempt-date-label{color:var(--muted-foreground);font-family:var(--font-mono);font-size:.64rem;letter-spacing:.06em;text-transform:uppercase}.attempt-date-input-shell{position:relative;width:100%;min-width:9.2rem;min-height:2.7rem;display:flex;align-items:center;justify-content:flex-start;padding:.55rem 2.35rem .55rem .7rem;color:var(--foreground);background:var(--background);border:1px solid var(--border);border-radius:.58rem;cursor:pointer;font-family:var(--font-sans);font-size:.82rem;text-align:left;transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease}.attempt-date-input-shell:hover{border-color:var(--border-strong)}.attempt-date-input-shell:focus-visible,.attempt-date-picker.is-popover-open .attempt-date-input-shell{background:var(--card);border-color:var(--border-strong);box-shadow:0 0 0 1px var(--border-strong);outline:none}.attempt-date-input-shell .is-placeholder{color:var(--muted-foreground)}.attempt-date-icon{position:absolute;right:.7rem;width:1rem;height:1rem;color:var(--muted-foreground);pointer-events:none}.attempt-calendar-popover{position:absolute;top:calc(100% + .5rem);left:0;z-index:60;width:18.5rem;padding:.8rem;color:var(--foreground);background:var(--card);border:1px solid var(--border-strong);border-radius:.8rem;box-shadow:0 1rem 2.5rem #0000002e;font-family:var(--font-sans);letter-spacing:0;opacity:0;pointer-events:none;transform:translateY(-.3rem) scale(.985);transform-origin:top left;text-transform:none;visibility:hidden;transition:opacity .16s ease,transform .22s cubic-bezier(.22,1,.36,1),visibility 0s .22s}.attempt-date-picker.is-popover-open .attempt-calendar-popover{opacity:1;pointer-events:auto;transform:translateY(0) scale(1);visibility:visible;transition-delay:0s}.attempt-date-picker:last-child .attempt-calendar-popover{right:0;left:auto}.attempt-calendar-popover.is-above{top:auto;bottom:calc(100% + .5rem);transform:translateY(.3rem) scale(.985);transform-origin:bottom left}.attempt-calendar-popover.is-dialog{position:fixed;top:50%;right:auto!important;left:50%!important;transform:translate(-50%,-50%) scale(.985);transform-origin:center}.attempt-date-picker.is-popover-open .attempt-calendar-popover.is-dialog{transform:translate(-50%,-50%) scale(1)}.attempt-calendar-header{display:grid;grid-template-columns:2rem 1fr 2rem;align-items:center;gap:.4rem;margin-bottom:.65rem}.attempt-calendar-header strong{font-family:var(--font-serif);font-size:1rem;text-align:center}.attempt-calendar-header button,.attempt-calendar-grid button{border:0;cursor:pointer}.attempt-calendar-header button{width:2rem;height:2rem;display:grid;padding:0;color:var(--foreground);background:transparent;border-radius:.45rem;place-items:center}.attempt-calendar-header button:hover:not(:disabled),.attempt-calendar-grid button:hover:not(:disabled){background:var(--secondary)}.attempt-calendar-header button:focus-visible,.attempt-calendar-grid button:focus-visible,.attempt-calendar-actions button:focus-visible{outline:2px solid var(--foreground);outline-offset:1px}.attempt-calendar-header button:disabled,.attempt-calendar-grid button:disabled,.attempt-calendar-actions button:disabled{cursor:default;opacity:.28}.attempt-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.18rem}.attempt-calendar-grid>span{min-height:2rem;display:grid;color:var(--muted-foreground);font-family:var(--font-mono);font-size:.58rem;place-items:center}.attempt-calendar-grid button{aspect-ratio:1;padding:0;color:var(--foreground);background:transparent;border-radius:.45rem;font-size:.74rem;font-variant-numeric:tabular-nums}.attempt-calendar-grid button[data-today=true]{box-shadow:inset 0 0 0 1px var(--border-strong)}.attempt-calendar-grid button[aria-pressed=true]{color:var(--background);background:var(--foreground);box-shadow:none}.attempt-calendar-actions{display:flex;justify-content:space-between;gap:.5rem;margin-top:.65rem;padding-top:.65rem;border-top:1px solid var(--border)}.attempt-calendar-actions button{padding:.32rem .45rem;color:var(--muted-foreground);background:transparent;border:0;border-radius:.35rem;cursor:pointer;font-size:.68rem}.attempt-calendar-actions button:hover:not(:disabled){color:var(--foreground);background:var(--secondary)}.attempt-log-table{min-width:73rem}.attempt-col-date{width:9rem}.attempt-col-question{width:7rem}.attempt-col-section{width:8.25rem}.attempt-col-domain{width:10rem}.attempt-col-skill{width:13rem}.attempt-col-difficulty{width:6.75rem}.attempt-col-result{width:7.25rem}.attempt-col-duration{width:5.25rem}.attempt-col-action{width:6.5rem}.attempt-log-table tbody tr{height:4rem}.attempt-log-table tbody tr.is-solved{box-shadow:inset 3px 0 var(--success-border)}.attempt-log-table tbody tr.is-not-solved{box-shadow:inset 3px 0 var(--danger-border)}.attempt-date-cell time{display:grid;gap:.22rem}.attempt-date-cell time>span:first-child{color:var(--foreground);font-size:.8rem;white-space:nowrap}.attempt-date-cell time>span:last-child{color:var(--muted-foreground);font-size:.7rem}.attempt-result-cell .table-badge{justify-self:start}.attempt-result-solved{color:var(--success);background:var(--success-bg);border-color:var(--success-border)}.attempt-result-not-solved{color:var(--danger);background:var(--danger-bg);border-color:var(--danger-border)}.attempt-log-table .table-practice-link{padding-right:.52rem;padding-left:.52rem;font-size:.74rem}.attempt-duration-cell{font-family:var(--font-mono);font-size:.74rem;white-space:nowrap}.attempt-empty-row{height:24rem!important}.attempt-empty-row:hover{background:transparent!important}.attempt-empty-row td{text-align:center}.attempt-empty-row td>div{display:grid;justify-items:center;gap:.55rem}.attempt-empty-row strong{font-family:var(--font-serif);font-size:1.35rem}.attempt-empty-row span{max-width:31rem;color:var(--muted-foreground)}.attempt-empty-row a{margin-top:.5rem;padding:.65rem .88rem;color:var(--background);background:var(--foreground);border-radius:.6rem;font-size:.82rem;font-weight:500;text-decoration:none}@media(max-width:720px){.attempt-table-controls,.attempt-date-filters{width:100%}.attempt-table-controls{margin-left:0}.attempt-clear-filter-control{width:100%}.attempt-clear-filter-control:after{display:none}.attempt-date-picker{min-width:0;flex:1 1 0}.attempt-date-input-shell{width:100%;min-width:0}.attempt-calendar-popover{position:fixed;top:50%;right:auto!important;left:50%!important;width:min(18.5rem,calc(100vw - 1.5rem));transform:translate(-50%,-50%)}}.error-page{min-height:100vh;display:grid;padding:1rem;place-items:center}.error-card{width:min(38rem,100%);padding:clamp(1.5rem,5vw,3rem);background:var(--card);border:1px solid var(--border);border-radius:var(--radius-card);text-align:center}.error-card h1{margin:.6rem 0 0;font-family:var(--font-serif);font-size:clamp(2rem,6vw,3.4rem);line-height:1.1}.error-card>p:not(.eyebrow){margin:1.1rem auto 0;color:var(--muted-foreground);line-height:1.65}.error-actions{display:flex;justify-content:center;gap:.7rem;margin-top:1.7rem}@media(max-width:1100px){.practice-header.site-header:has(.site-header-center){grid-template-columns:minmax(0,1fr) auto;column-gap:1rem;row-gap:0}.practice-header.site-header:has(.site-header-center) .site-nav{grid-row:1;grid-column:1}.practice-header.site-header:has(.site-header-center) .site-header-end{grid-row:1;grid-column:2}.practice-header.site-header:has(.site-header-center) .site-nav-indicator{bottom:-3.15rem}.site-header-center{position:static;width:calc(100% + clamp(2rem,5vw,3rem));max-width:none;min-height:3.15rem;grid-row:2;grid-column:1 / -1;justify-self:center;border-top:1px solid var(--border);transform:none}}@media(max-width:900px){body.question-screen{overflow:visible}body.question-screen .practice-shell{height:auto;min-height:100vh}.question-page,.question-workspace{display:block}.question-context-pane,.question-answer-pane{min-height:0;overflow:visible}.question-context-pane{padding:clamp(1.5rem,5vw,2.5rem)}.question-answer-pane{border-top:1px solid var(--border-strong)}.question-answer-scroller{height:auto;overflow:visible;scrollbar-gutter:auto}.question-pane-divider{display:none}.question-answer-content{--answer-pane-padding: clamp(1.5rem, 5vw, 2.5rem)}.math-question-workspace{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:0 0 auto;transition:grid-template-rows .52s cubic-bezier(.22,1,.36,1)}.math-question-workspace.is-calculator-open{grid-template-columns:minmax(0,1fr);grid-template-rows:min(36rem,65dvh) 1px auto}.math-calculator-pane{grid-row:1;transform:translateY(-1rem)}.math-question-workspace.is-calculator-open .math-calculator-pane{transform:translateY(0)}.math-calculator-divider{grid-row:2}.math-calculator-mobile-divider{display:block;grid-row:2;width:auto;height:0;background:var(--border-strong);opacity:0;pointer-events:none;transition:height .52s cubic-bezier(.22,1,.36,1),opacity .26s ease}.math-question-workspace.is-calculator-open .math-calculator-mobile-divider{height:1px;opacity:1}.math-question-workspace .question-answer-pane{grid-row:3;border-top:0}}@media(max-width:720px){.settings-dialog{width:calc(100vw - 1.25rem);height:min(90dvh,48rem);min-width:0}.settings-layout{grid-template-columns:9.5rem minmax(0,1fr)}.settings-sidebar{padding-right:.85rem;padding-left:.85rem}.settings-content{padding-right:1.1rem;padding-left:1.1rem}.setting-row{gap:.8rem}.home-page{align-items:flex-start;padding:4.2rem 1rem 3.25rem}.home-hero{margin-bottom:3.1rem}.home-hero h1{font-size:clamp(3rem,14vw,4.05rem)}.section-card{min-height:0;padding:1.32rem 1.1rem}.section-cards{grid-template-columns:minmax(0,1fr)}.section-title-row{align-items:flex-start;flex-direction:column;gap:.55rem}.section-topics{margin-top:1.2rem}.practice-header{align-items:flex-start;flex-wrap:wrap;padding:.9rem 1rem}.practice-header-left,.practice-header-right{flex:1 1 100%;justify-content:flex-start;gap:.75rem}.practice-header:has(.practice-header-end) .practice-header-left,.practice-header-end{flex:1 1 100%}.practice-header-end{order:2;flex-wrap:wrap;justify-content:flex-start}.practice-header-end .practice-header-right{flex:1 1 auto;width:auto}.practice-header .practice-timer{order:3;margin-inline:auto}.practice-header>.site-controls,.practice-header-end .site-controls{order:4}.practice-header-right{order:2}.bank-header .practice-header-right{flex:1 1 auto}.bank-header .site-controls{margin-left:auto}.practice-header-right .reset-menu-form,.practice-header-right .reset-menu-form button{width:100%}.review-page{width:min(100% - 1rem,61.25rem);padding-top:1.4rem}.question-meta-row{align-items:flex-start;flex-direction:column}.inline-nav{width:100%;justify-content:flex-start}.question-card{padding:1rem}.question-image,.answer-page-image{border-radius:.62rem}.choice-row{--cross-control-width: 2.55rem;--cross-control-gap: .5rem;--feedback-lane-width: 5.15rem;grid-template-columns:minmax(0,1fr) var(--cross-control-width);gap:var(--cross-control-gap)}.choice-button{gap:.72rem;padding:.85rem}.choice-label{font-size:.94rem}.cross-off-button{width:var(--cross-control-width)}.form-actions{display:grid;grid-template-columns:1fr}.form-actions .primary-action,.form-actions .secondary-action:first-child,.form-actions .secondary-action:last-child{width:100%;justify-self:stretch}.question-workspace .form-actions .primary-action,.question-workspace .form-actions .secondary-action{flex:1 1 0;width:auto}.practice-answer-actions,.completed-answer-actions{width:100%}.result-grid{grid-template-columns:1fr}.review-actions{display:grid;justify-content:stretch}.question-bank-page{width:min(100% - 1rem,87rem);padding-top:2rem}.bank-header .practice-header-right{display:flex;align-items:center;flex-wrap:wrap}.bank-header .practice-header-right .reset-menu-form{flex:1 1 10rem;width:auto}.bank-hero h1{font-size:clamp(2.65rem,13vw,4rem)}.bank-table-toolbar{align-items:flex-start}.bank-table-toolbar{flex-direction:column}.bank-table-controls{width:100%;flex-direction:column;align-items:stretch}.rows-per-page{width:100%}.review-choice{grid-template-columns:auto minmax(0,1fr)}.review-choice-badges{grid-column:2;justify-content:flex-start}.bank-pagination{justify-content:space-between}.page-numbers{display:flex}.page-numbers>:not([aria-current=page]){display:none}.page-numbers button[aria-current=page]:before{content:"Page "}.practice-header.site-header{grid-template-columns:minmax(0,1fr) auto;align-items:stretch;padding:0 1rem}.site-header .practice-header-end{min-height:4.1rem;grid-row:1;grid-column:2;flex:0 0 auto;flex-wrap:nowrap;justify-content:flex-end}.site-header-details:not(:has(.calculator-toggle)){display:none!important}.site-header-details .question-answered-status{display:none}.site-header .site-header-details:has(.calculator-toggle){order:initial}.site-header .site-controls{order:initial;margin-left:0}.site-header .practice-timer{order:initial}.error-actions{display:grid}}@media(max-width:560px){.calculator-toggle span,.reference-toggle span{display:none}.calculator-toggle,.reference-toggle{width:2rem;padding:0;justify-content:center}.reference-overlay{padding:.4rem}.reference-dialog{width:calc(100vw - .8rem);height:calc(100dvh - .8rem);border-radius:1rem}.reference-header{min-height:5.8rem;padding:1rem 1.05rem}.reference-header h2{font-size:1.55rem}.reference-header div>p:last-child{display:none}.reference-content{padding:1.35rem 1rem 2.5rem;scrollbar-gutter:auto}.reference-formula-grid{grid-template-columns:minmax(0,1fr)}.math-calculator-header{min-height:4.2rem;padding-left:1rem}.math-calculator-header h2{font-size:1.1rem}.practice-header.site-header{padding:0 .75rem}.site-nav{gap:.62rem}.site-nav-link{font-size:.72rem}.tour-invite-control{margin-left:.25rem}.tour-invite-button{width:2rem;min-height:2.05rem;padding:0}.tour-invite-dismiss{width:1.9rem;min-width:1.9rem;min-height:2.05rem;flex-basis:1.9rem}.tour-invite-label{display:none}.site-header .site-controls{gap:.42rem}.site-header-center{width:calc(100% + 1.5rem)}.settings-overlay{padding:.4rem}.settings-dialog{width:calc(100vw - .8rem);height:calc(100dvh - .8rem);min-height:0;border-radius:1rem}.settings-header{min-height:4.9rem;padding:1rem 1.05rem}.settings-header h2{font-size:1.55rem}.settings-layout{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr)}.settings-sidebar{display:flex;flex-direction:row;gap:.25rem;padding:.75rem .85rem;overflow-x:auto}.settings-sidebar:after{top:auto;right:.85rem;bottom:0;left:.85rem;width:auto;height:1px}.settings-sidebar button{width:auto;flex:0 0 auto;padding:.5rem .65rem;white-space:nowrap}.settings-content{padding:0 1rem 2.5rem;scrollbar-gutter:auto}.settings-section{padding-top:1.6rem}.setting-row{align-items:flex-start;flex-wrap:wrap;padding:.9rem 0}.setting-copy{flex:1 1 13rem}.setting-row-danger .settings-reset-form,.setting-row-action .settings-defaults-button,.setting-row-danger .settings-reset-form button{width:100%}}.auth-modal-overlay{position:fixed;inset:0;z-index:120;display:grid;padding:1rem;place-items:center;background:#08080885;opacity:0;pointer-events:none;visibility:hidden;-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0);transition:opacity .22s ease,backdrop-filter .26s ease,visibility 0s .3s}.auth-modal-overlay.is-open{opacity:1;pointer-events:auto;visibility:visible;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);transition-delay:0s}.auth-modal-dialog{position:relative;width:min(32rem,calc(100vw - 2rem));max-height:calc(100dvh - 2rem);overflow-x:hidden;overflow-y:auto;color:var(--foreground);border-color:var(--border-strong);box-shadow:0 2.25rem 6rem #0000004d,0 .35rem 1.25rem #00000021;opacity:0;transform:translateY(1rem) scale(.975);transition:opacity .18s ease,transform .28s cubic-bezier(.16,1,.3,1),background-color .18s ease,border-color .18s ease}.auth-modal-overlay.is-open .auth-modal-dialog{opacity:1;transform:translateY(0) scale(1)}.auth-modal-close{position:absolute;top:1rem;right:1rem;z-index:1;width:2.2rem;height:2.2rem;display:grid;padding:0;place-items:center;color:var(--muted-foreground);background:color-mix(in srgb,var(--card) 90%,transparent);border:1px solid transparent;border-radius:999px;cursor:pointer;transition:color .16s ease,background-color .16s ease,border-color .16s ease,transform .16s ease}.auth-modal-close:hover{color:var(--foreground);background:var(--secondary);border-color:var(--border);transform:rotate(4deg)}.auth-modal-close .theme-icon{width:1.15rem;height:1.15rem}.auth-modal-dialog .auth-form-heading,.auth-modal-dialog .auth-confirmation{padding-right:2.4rem}.account-control,.signup-control{min-height:2rem;display:inline-flex;min-width:2rem;align-items:center;justify-content:center;gap:.42rem;padding:.36rem .72rem .36rem .55rem;color:var(--foreground);background:color-mix(in srgb,var(--card) 88%,transparent);border:1px solid var(--border);border-radius:999px;font-size:.76rem;line-height:1;text-decoration:none;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transition:color .18s ease,background-color .18s ease,border-color .18s ease,transform .18s ease}.account-control:hover,.signup-control:hover{background:var(--secondary);border-color:var(--border-strong);transform:translateY(-1px)}.account-control:active,.signup-control:active{transform:scale(.97)}.signup-control{padding-right:.78rem;padding-left:.78rem;color:var(--background);background:var(--foreground);border-color:var(--foreground)}.signup-control:hover{color:var(--background);background:color-mix(in srgb,var(--foreground) 84%,transparent);border-color:var(--foreground)}.account-control.is-authenticated{border-color:var(--success-border)}.account-control.is-authenticated:after{width:.38rem;height:.38rem;flex:0 0 auto;background:var(--success);border-radius:999px;content:""}.account-control>span{max-width:8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-icon{width:1.05rem;height:1.05rem;flex:0 0 auto}.auth-page{position:relative;flex:1 0 auto;min-height:calc(100vh - 4.1rem);display:grid;padding:clamp(2.2rem,7vw,6rem) 1.5rem;overflow:hidden;place-items:center}.auth-page:before,.auth-page:after{position:absolute;z-index:-1;width:clamp(16rem,31vw,28rem);aspect-ratio:1;border:1px solid var(--border);border-radius:50%;content:"";opacity:.55}.auth-page:before{top:-11rem;right:-6rem;box-shadow:0 0 0 2.5rem color-mix(in srgb,var(--secondary) 50%,transparent),0 0 0 5rem color-mix(in srgb,var(--secondary) 24%,transparent)}.auth-page:after{bottom:-15rem;left:-9rem;box-shadow:0 0 0 3.5rem color-mix(in srgb,var(--secondary) 34%,transparent)}.auth-layout{width:min(32rem,100%)}.auth-card{min-width:0;overflow:hidden;background:var(--card);border:1px solid var(--border);border-radius:clamp(1.15rem,2vw,1.65rem);box-shadow:0 1.7rem 4.5rem #00000012}:root[data-theme=dark] .auth-card{box-shadow:0 1.7rem 4.5rem #00000040}.auth-form,.auth-confirmation{padding:clamp(1.5rem,4vw,2.65rem)}.auth-form{display:grid;gap:1.15rem}.auth-form-heading{margin-bottom:.35rem}.auth-form-heading>h2,.auth-confirmation>h2{margin:0;font-family:var(--font-serif);font-size:clamp(1.75rem,3vw,2.2rem);font-weight:600;letter-spacing:-.02em;line-height:1.1}.auth-form-heading>p,.auth-confirmation>p:not(.eyebrow){margin:.62rem 0 0;color:var(--muted-foreground);font-size:.84rem;line-height:1.55}.auth-field{display:grid;gap:.48rem}.auth-field>span,.account-details dt{color:var(--muted-foreground);font-size:.69rem;font-weight:500;letter-spacing:.04em}.auth-field input{width:100%;min-height:3rem;padding:.7rem .88rem;color:var(--foreground);background:var(--background);border:1px solid var(--border);border-radius:.75rem;outline:0;transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease}.auth-field input::placeholder{color:color-mix(in srgb,var(--muted-foreground) 70%,transparent)}.auth-field input:hover{border-color:var(--border-strong)}.auth-field input:focus{background:var(--card);border-color:var(--foreground);box-shadow:0 0 0 3px color-mix(in srgb,var(--foreground) 9%,transparent)}.auth-password-row{position:relative}.auth-password-row>a{position:absolute;top:0;right:0;color:var(--muted-foreground);font-size:.69rem;text-underline-offset:.2rem;transition:color .16s ease}.auth-password-row>a:hover,.auth-card-footer a:hover{color:var(--foreground)}.auth-submit,.auth-secondary-action,.auth-sign-out{min-height:3rem;display:inline-flex;align-items:center;justify-content:center;gap:.65rem;padding:.7rem 1rem;border-radius:.75rem;font-size:.84rem;font-weight:500;cursor:pointer;text-decoration:none;transition:opacity .16s ease,background-color .16s ease,border-color .16s ease,transform .16s ease}.auth-submit{width:100%;margin-top:.2rem;color:var(--background);background:var(--foreground);border:1px solid var(--foreground)}.auth-submit>span{transition:transform .16s ease}.auth-submit:hover:not(:disabled){opacity:.84;transform:translateY(-1px)}.auth-submit:hover:not(:disabled)>span{transform:translate(.18rem)}.auth-submit:disabled,.auth-sign-out:disabled{cursor:wait;opacity:.48}.auth-terms{margin:-.15rem 0 0;color:var(--muted-foreground);font-size:.67rem;line-height:1.5;text-align:center}.auth-message{padding:.78rem .85rem;border:1px solid var(--border);border-radius:.7rem;font-size:.76rem;line-height:1.5}.auth-message.is-error{color:var(--danger);background:var(--danger-bg);border-color:var(--danger-border)}.auth-message.is-success{color:var(--success);background:var(--success-bg);border-color:var(--success-border)}.auth-message.is-neutral{color:var(--muted-foreground);background:var(--secondary)}.auth-card-footer{padding:1rem 1.5rem;background:color-mix(in srgb,var(--secondary) 48%,var(--card));border-top:1px solid var(--border);text-align:center}.auth-card-footer>p{margin:0;color:var(--muted-foreground);font-size:.76rem}.auth-card-footer a{color:var(--foreground);font-weight:500;text-underline-offset:.2rem}.auth-confirmation{min-height:24rem;display:flex;align-items:center;flex-direction:column;justify-content:center;text-align:center}.auth-confirmation-mark{width:3rem;height:3rem;display:grid;margin-bottom:1.4rem;place-items:center;color:var(--success);background:var(--success-bg);border:1px solid var(--success-border);border-radius:999px;font-family:var(--font-mono);font-size:1rem}.auth-confirmation>.eyebrow{margin-bottom:.5rem;letter-spacing:.2em}.auth-confirmation>p:not(.eyebrow){max-width:25rem}.local-progress-transfer-overlay{z-index:140}.local-progress-transfer-dialog{width:min(35rem,calc(100vw - 2rem))}.local-progress-transfer-content{display:grid;gap:1.05rem;padding:clamp(1.5rem,4vw,2.65rem)}.local-progress-transfer-content>.eyebrow{margin:0}.local-progress-transfer-content>h2{margin:-.35rem 0 0;font-family:var(--font-serif);font-size:clamp(1.75rem,3vw,2.2rem);font-weight:600;letter-spacing:-.02em;line-height:1.1}.local-progress-transfer-content>p:not(.eyebrow){margin:0;color:var(--muted-foreground);font-size:.8rem;line-height:1.55}.local-progress-transfer-content>p strong{color:var(--foreground);font-weight:500}.local-progress-transfer-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:.25rem 0 0;overflow:hidden;border:1px solid var(--border);border-radius:.8rem}.local-progress-transfer-summary>div{min-width:0;display:grid;gap:.28rem;padding:.85rem}.local-progress-transfer-summary>div+div{border-left:1px solid var(--border)}.local-progress-transfer-summary dt{color:var(--muted-foreground);font-size:.65rem;letter-spacing:.05em;text-transform:uppercase}.local-progress-transfer-summary dd{margin:0;overflow-wrap:anywhere;font-size:.78rem;line-height:1.35}.local-progress-transfer-actions{display:grid;gap:.7rem;margin-top:.25rem}.local-progress-transfer-actions .auth-submit,.local-progress-transfer-actions .auth-secondary-action{width:100%;margin:0}.local-progress-transfer-actions .auth-secondary-action:disabled{cursor:wait;opacity:.48}.local-progress-transfer-content>.local-progress-transfer-note{font-size:.67rem;text-align:center}.auth-secondary-action{margin-top:1.5rem;color:var(--foreground);background:transparent;border:1px solid var(--border-strong)}.auth-secondary-action:hover,.auth-sign-out:hover:not(:disabled){background:var(--secondary);border-color:var(--foreground)}.account-card-content{gap:1.35rem}.account-details{display:grid;margin:0;border:1px solid var(--border);border-radius:.75rem}.account-details>div{display:grid;grid-template-columns:6rem minmax(0,1fr);gap:1rem;align-items:center;padding:.85rem}.account-details>div+div{border-top:1px solid var(--border)}.account-details dd{min-width:0;margin:0;overflow-wrap:anywhere;font-size:.82rem}.account-actions{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;justify-content:flex-end}.account-actions .auth-secondary-action{margin-top:0}.auth-sign-out{justify-self:start;color:var(--danger);background:transparent;border:1px solid var(--danger-border)}@media(max-width:720px){.account-control{width:2rem;flex-basis:2rem;padding:0}.account-control>span,.account-control.is-authenticated:after{display:none}}@media(max-width:560px){.auth-modal-overlay{padding:.4rem}.auth-modal-dialog{width:calc(100vw - .8rem);max-height:calc(100dvh - .8rem);border-radius:1rem}.auth-modal-close{top:.75rem;right:.75rem}.auth-page{padding:2.2rem .75rem 3rem}.auth-form,.auth-confirmation{padding:1.35rem 1.1rem}.auth-card-footer{padding-right:1rem;padding-left:1rem}.local-progress-transfer-summary{grid-template-columns:minmax(0,1fr)}.local-progress-transfer-summary>div+div{border-top:1px solid var(--border);border-left:0}.account-details>div{grid-template-columns:minmax(0,1fr);gap:.25rem}.account-actions{align-items:stretch;flex-direction:column}.account-actions .auth-secondary-action,.account-actions .auth-sign-out{width:100%}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}::view-transition-group(root),::view-transition-old(root),::view-transition-new(root),::view-transition-group(site-header),::view-transition-old(site-header),::view-transition-new(site-header),::view-transition-group(site-nav-indicator),::view-transition-old(site-nav-indicator),::view-transition-new(site-nav-indicator){animation-duration:.01ms!important}}.data-loading-bar{position:fixed;inset:0 0 auto;z-index:1000;height:.22rem;overflow:hidden;background:var(--muted)}.data-loading-bar>span:last-child{width:34%;height:100%;display:block;background:var(--magic-progress-gradient);border-radius:999px;box-shadow:0 0 .65rem #8065ff3d;animation:magic-progress-indeterminate 1.05s ease-in-out infinite}@keyframes magic-progress-indeterminate{0%{transform:translate(-110%)}to{transform:translate(305%)}}.data-error-state{min-height:calc(100vh - 4.1rem);flex:1 0 auto;display:flex;align-items:center;justify-content:center;padding:clamp(4.5rem,13vh,9.5rem) 1.5rem}.data-error-card{width:min(34rem,100%);text-align:center}.data-error-state h1{margin:1.25rem 0 0;font-family:var(--font-serif);font-size:clamp(2.5rem,5vw,3.7rem);font-weight:700;line-height:1.15}.data-error-state p:last-of-type{max-width:27rem;margin:1.25rem auto 0;line-height:1.6;color:var(--muted-foreground)}.data-error-state button{margin-top:2rem}.account-menu{position:relative;z-index:2}.account-menu-trigger{min-height:2.35rem;display:inline-flex;align-items:center;gap:.5rem;padding:.28rem .52rem .28rem .34rem;color:var(--foreground);background:color-mix(in srgb,var(--card) 90%,transparent);border:1px solid var(--border);border-radius:999px;cursor:pointer;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transition:color .18s ease,background-color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease}.account-menu-trigger:hover,.account-menu.is-popover-open .account-menu-trigger{background:var(--secondary);border-color:var(--border-strong)}.account-menu.is-popover-open .account-menu-trigger{box-shadow:0 0 0 3px color-mix(in srgb,var(--foreground) 6%,transparent)}.account-menu-trigger:active{transform:scale(.97)}.account-menu-avatar,.account-menu-profile-avatar{position:relative;display:grid;flex:0 0 auto;place-items:center;color:var(--foreground);background:var(--secondary);border:1px solid var(--border);border-radius:999px}.account-menu-avatar{width:1.65rem;height:1.65rem}.account-menu-avatar .account-icon{width:1rem;height:1rem}.account-menu-avatar>i{position:absolute;right:-.05rem;bottom:-.02rem;width:.42rem;height:.42rem;background:var(--success);border:2px solid var(--card);border-radius:999px}.account-menu-trigger-label{max-width:7.5rem;overflow:hidden;font-size:.78rem;font-weight:550;line-height:1;text-overflow:ellipsis;white-space:nowrap}.account-menu-chevron{width:.92rem;height:.92rem;color:var(--muted-foreground);transition:transform .22s cubic-bezier(.22,1,.36,1)}.account-menu.is-popover-open .account-menu-chevron{transform:rotate(180deg)}.account-menu-panel{position:absolute;top:calc(100% + .62rem);right:0;width:min(22rem,calc(100vw - 1.5rem));padding:.55rem;color:var(--foreground);background:var(--card);border:1px solid var(--border-strong);border-radius:1.15rem;box-shadow:0 1.35rem 3.6rem #0000002e,0 .25rem .8rem #00000014;opacity:0;pointer-events:none;-webkit-backdrop-filter:none;backdrop-filter:none;transform:translateY(-.35rem) scale(.97);transform-origin:top right;visibility:hidden;transition:opacity .17s ease,transform .22s cubic-bezier(.16,1,.3,1),visibility 0s .22s}.account-menu.is-popover-open .account-menu-panel{opacity:1;pointer-events:auto;transform:translateY(0) scale(1);visibility:visible;transition-delay:0s}.account-menu-profile{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.7rem;align-items:center;min-height:4.3rem;padding:.65rem .7rem .75rem}.account-menu-profile-avatar{width:2.45rem;height:2.45rem}.account-menu-profile-avatar .account-icon{width:1.35rem;height:1.35rem}.account-menu-profile-copy,.account-menu-guest-copy{min-width:0;display:grid;gap:.12rem}.account-menu-profile-copy strong,.account-menu-guest-copy strong{overflow:hidden;font-size:.84rem;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.account-menu-profile-copy span,.account-menu-guest-copy span,.account-menu-loading{overflow:hidden;color:var(--muted-foreground);font-size:.68rem;line-height:1.35;text-overflow:ellipsis}.account-menu-profile-copy span{white-space:nowrap}.account-menu-account-link{padding:.42rem .58rem;color:var(--muted-foreground);border:1px solid var(--border);border-radius:999px;font-size:.65rem;text-decoration:none;transition:color .16s ease,background-color .16s ease,border-color .16s ease}.account-menu-account-link:hover{color:var(--foreground);background:var(--secondary);border-color:var(--border-strong)}.account-menu-loading{grid-column:1 / -1;margin:0}.account-menu-profile:has(.account-menu-guest-copy){grid-template-columns:minmax(0,1fr) auto}.account-menu-auth-actions{display:inline-flex;gap:.35rem}.account-menu-auth-actions a{padding:.46rem .62rem;color:var(--foreground);border:1px solid var(--border-strong);border-radius:999px;font-size:.66rem;line-height:1;text-decoration:none;white-space:nowrap;transition:color .16s ease,background-color .16s ease,transform .16s ease}.account-menu-auth-actions a:hover{background:var(--secondary);transform:translateY(-1px)}.account-menu-auth-actions a.is-primary{color:var(--background);background:var(--foreground);border-color:var(--foreground)}.account-menu-nav{display:grid;gap:.18rem;padding:.42rem 0;border-top:1px solid var(--border)}.account-menu-item{width:100%;min-height:3.4rem;display:grid;grid-template-columns:1.8rem minmax(0,1fr) auto;gap:.72rem;align-items:center;padding:.5rem .68rem;color:var(--foreground);background:transparent;border:0;border-radius:.78rem;cursor:pointer;font:inherit;text-align:left;text-decoration:none;transition:background-color .15s ease,transform .15s ease}.account-menu-item:hover,.account-menu-item.is-active{background:var(--secondary)}.account-menu-item:active{transform:scale(.99)}.account-menu-item-icon{width:1.18rem;height:1.18rem;justify-self:center;color:var(--muted-foreground)}.account-menu-item>span{min-width:0;display:grid;gap:.08rem}.account-menu-item strong{font-size:.8rem;font-weight:550}.account-menu-item small{color:var(--muted-foreground);font-size:.66rem}.account-menu-item>i{color:var(--muted-foreground);font-size:.8rem;font-style:normal;opacity:0;transform:translate(-.25rem);transition:opacity .15s ease,transform .15s ease}.account-menu-item:hover>i,.account-menu-item.is-active>i{opacity:1;transform:translate(0)}.account-menu-theme-row{min-height:3.75rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.65rem .7rem;border-top:1px solid var(--border)}.account-menu-theme-row>div{display:grid;gap:.08rem}.account-menu-theme-row strong{font-size:.8rem;font-weight:550}.account-menu-theme-row span:not(.theme-switch-track):not(.theme-switch-thumb){color:var(--muted-foreground);font-size:.66rem}.account-menu-theme-row .theme-switch{min-width:auto}.account-menu-theme-row .theme-switch-value{display:none}.progress-page{width:min(74rem,100%);flex:1 0 auto;margin:0 auto;padding:clamp(2.2rem,5vw,4.4rem) clamp(1.25rem,4vw,3rem) clamp(4rem,8vw,6.5rem)}.progress-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem}.progress-hero h1{margin:.35rem 0 0;font-family:var(--font-serif);font-size:clamp(2.5rem,6vw,4.75rem);font-weight:500;letter-spacing:-.035em;line-height:.98}.progress-hero p:last-child{max-width:39rem;margin:1.1rem 0 0;color:var(--muted-foreground);font-size:.94rem;line-height:1.65}.progress-hero>a,.progress-empty-state a{display:inline-flex;align-items:center;gap:.55rem;padding:.7rem .9rem;color:var(--foreground);background:var(--card);border:1px solid var(--border-strong);border-radius:999px;font-size:.74rem;text-decoration:none;white-space:nowrap;transition:background-color .16s ease,transform .16s ease}.progress-hero>a:hover,.progress-empty-state a:hover{background:var(--secondary);transform:translateY(-1px)}.progress-metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem;margin-top:clamp(2.1rem,4vw,3.25rem)}.progress-metric-card,.progress-panel{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-card)}.progress-metric-card{min-height:9.4rem;display:flex;flex-direction:column;padding:1.15rem 1.2rem}.progress-metric-card>span,.progress-metric-card>small,.progress-panel-heading>span{color:var(--muted-foreground);font-size:.7rem}.progress-metric-card>strong{margin-top:auto;font-family:var(--font-serif);font-size:clamp(2rem,4vw,2.75rem);font-weight:500;letter-spacing:-.035em;line-height:1}.progress-metric-card>small{margin-top:.45rem}.progress-dashboard-grid{margin-top:.85rem}.progress-panel{min-width:0;padding:clamp(1.15rem,2.5vw,1.55rem)}.progress-panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1.25rem}.progress-panel-heading h2{margin:.25rem 0 0;font-family:var(--font-serif);font-size:1.45rem;font-weight:500;line-height:1.1}.progress-panel-heading>strong{font-family:var(--font-mono);font-size:.68rem;font-weight:500}.progress-section-list{display:grid;gap:1.3rem;margin-top:1.75rem}.progress-section-copy{display:flex;align-items:flex-end;justify-content:space-between;gap:1.25rem}.progress-section-copy>div{display:grid;gap:.18rem}.progress-section-copy>div:last-child{text-align:right}.progress-section-copy strong{font-size:.84rem}.progress-section-copy span{color:var(--muted-foreground);font-size:.66rem}.progress-section-track,.progress-difficulty-track{overflow:hidden;background:var(--muted);border-radius:999px}.progress-section-track{height:.55rem;margin-top:.7rem}.progress-section-track>span,.progress-difficulty-track>span{height:100%;display:block;background:var(--foreground);border-radius:inherit;transition:width .42s cubic-bezier(.22,1,.36,1)}.progress-section-track>.magic-progress--determinate{background:transparent}.progress-activity-chart{height:11.5rem;display:grid;grid-template-columns:repeat(14,minmax(0,1fr));gap:.3rem;align-items:end;margin-top:1.4rem}.progress-activity-chart>div{height:100%;display:grid;grid-template-rows:1rem minmax(0,1fr) auto;gap:.35rem;align-items:end;justify-items:center}.progress-activity-value{color:var(--muted-foreground);font-family:var(--font-mono);font-size:.52rem}.progress-activity-chart i{width:100%;min-height:.35rem;height:calc(.35rem + var(--progress-level) * 7.7rem);display:block;background:color-mix(in srgb,#7557d5 70%,var(--foreground));border-radius:.32rem .32rem .16rem .16rem;opacity:calc(.24 + var(--progress-level) * .76)}.progress-activity-chart small{color:var(--muted-foreground);font-size:.5rem}.progress-skill-list,.progress-difficulty-list{display:grid;gap:.25rem;margin-top:1.25rem}.progress-skill-list>div{min-height:3.4rem;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.7rem;align-items:center;padding:.55rem .65rem;border-radius:.8rem}.progress-skill-list>div:nth-child(odd){background:color-mix(in srgb,var(--secondary) 64%,transparent)}.progress-skill-section{min-width:2.25rem;padding:.28rem .35rem;color:var(--muted-foreground);background:var(--card);border:1px solid var(--border);border-radius:999px;font-family:var(--font-mono);font-size:.54rem;text-align:center}.progress-skill-list>div>div{min-width:0;display:grid;gap:.1rem}.progress-skill-list strong{overflow:hidden;font-size:.75rem;text-overflow:ellipsis;white-space:nowrap}.progress-skill-list>div>strong{font-family:var(--font-mono);font-size:.68rem;font-weight:500}.progress-skill-list div span:not(.progress-skill-section){color:var(--muted-foreground);font-size:.62rem}.progress-empty-state{min-height:13rem;display:grid;align-content:center;justify-items:start;margin-top:1rem;padding:1rem;background:color-mix(in srgb,var(--secondary) 58%,transparent);border-radius:.9rem}.progress-empty-state strong{font-family:var(--font-serif);font-size:1.05rem}.progress-empty-state>span{margin-top:.35rem;color:var(--muted-foreground);font-size:.72rem}.progress-empty-state a{margin-top:1rem;padding:.55rem .7rem;font-size:.68rem}.progress-difficulty-list>div{display:grid;grid-template-columns:4.5rem minmax(4rem,1fr) 2.4rem 4.2rem;gap:.65rem;align-items:center;min-height:3.55rem}.difficulty-badge{justify-self:start;padding:.3rem .46rem;border:1px solid;border-radius:999px;font-size:.62rem;line-height:1}.progress-difficulty-track{height:.42rem}.progress-difficulty-list strong{font-family:var(--font-mono);font-size:.66rem;font-weight:500;text-align:right}.progress-difficulty-list small{color:var(--muted-foreground);font-size:.59rem;text-align:right}@media(max-width:850px){.progress-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.progress-dashboard-grid .dashboard-tile--small,.progress-dashboard-grid .dashboard-tile--medium,.progress-dashboard-grid .dashboard-tile--large{grid-column:span 12}}@media(max-width:720px){.account-menu-trigger{width:2.35rem;padding:.28rem;justify-content:center}.account-menu-trigger-label,.account-menu-chevron{display:none}}@media(max-width:560px){.account-menu-panel{right:-.1rem}.account-menu-profile:has(.account-menu-guest-copy){grid-template-columns:minmax(0,1fr)}.account-menu-auth-actions{justify-self:start}.progress-hero{align-items:flex-start;flex-direction:column;gap:1.25rem}.progress-metric-grid{gap:.65rem}.progress-metric-card{min-height:8.2rem;padding:.95rem}.progress-metric-card>strong{font-size:1.85rem}.progress-panel-heading>span{display:none}.progress-difficulty-list>div{grid-template-columns:4rem minmax(3rem,1fr) 2.35rem}.progress-difficulty-list small{display:none}}@media(prefers-reduced-motion:reduce){.account-menu-panel,.multi-select-menu{transition-duration:.01ms}}
