:root{--ink:#1c2340;--ink-2:#4a5272;--ink-3:#6b7290;--ink-4:#9aa0b8;--surface:#fff;--surface-subtle:#fafbfe;--surface-2:#f4f6fb;--surface-3:#e9ecf5;--border:#e6e9f2;--border-strong:#cdd3e4;--sky:#e3edff;--cream:#fff7ea;--mint:#e2f5ec;--lemon:#fff3c9;--lilac:#eee8ff;--night:#1d2552;--highlight:#ffe07a;--brand:#2456d6;--brand-ink:#1a41a8;--brand-deep:#16337c;--brand-soft:#e8eefc;--ky-thi-tint:var(--sky);--ky-thi-line:#c9d9fb;--ky-thi-ink:var(--brand-ink);--good:#0e8a5f;--good-soft:#dff3ea;--warn:#b4550a;--warn-soft:#fdefe0;--font-sans:"Nunito", system-ui, -apple-system, "Segoe UI", sans-serif;--font-system:system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.375rem;--text-2xl:1.75rem;--text-3xl:2.25rem;--sp-1:.25rem;--sp-2:.5rem;--sp-3:.75rem;--sp-4:1rem;--sp-5:1.5rem;--sp-6:2rem;--sp-7:3rem;--sp-8:4rem;--radius-sm:8px;--radius-md:14px;--radius-lg:22px;--radius-xl:28px;--radius-full:999px;--shadow-sm:0 2px 0 #1c23400f;--shadow-md:0 2px 0 #1c23400f, 0 10px 30px #1c234014;--shadow-pop:0 4px 0 #1c23401a, 0 18px 40px #1c23401f;--ledge-brand:0 4px 0 var(--brand-deep);--ledge-soft:0 3px 0 #2456d62e;--mascot-outline:drop-shadow(0 0 .75px #1c234073);--ease-out:ease;--ease-pop:cubic-bezier(.34, 1.56, .64, 1);--dur-fast:.15s;--dur-pop:.3s;--dur-enter:.6s;--lift:translateY(-2px);--press:translateY(2px);--nudge:translateX(4px);--container:72rem}@media (prefers-reduced-motion:reduce){:root{--lift:none;--press:none;--nudge:none}}@keyframes mascot-pop{0%{opacity:0;transform:translateY(12px)scale(.6)}to{opacity:1;transform:none}}@keyframes letter-pop{50%{transform:scale(1.18)}}@keyframes mascot-hop{0%{opacity:.4;transform:translateY(14px)scale(.85)}to{opacity:1;transform:none}}*{box-sizing:border-box}html{background-color:var(--overscroll-background,var(--surface-2));background-image:linear-gradient(#0000,#0000);background-repeat:repeat}body{min-height:100vh;font-family:var(--font-sans);font-size:var(--text-base);color:var(--ink);background:var(--surface-2);margin:0;line-height:1.6}html.nav-open,body.nav-open{overscroll-behavior:none;overflow:hidden}h1,h2,h3,h4{letter-spacing:-.01em;margin:0;font-weight:800;line-height:1.25}p{margin:0}a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}.container{max-width:var(--container);padding:0 var(--sp-4);margin:0 auto}.btn{justify-content:center;align-items:center;gap:var(--sp-2);border-radius:var(--radius-full);font:inherit;font-size:var(--text-sm);cursor:pointer;white-space:nowrap;transition:transform var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);border:2px solid #0000;padding:.5625rem 1.125rem;font-weight:800;line-height:1.25;display:inline-flex}.btn:not(:disabled):hover{transform:var(--lift);text-decoration:none}.btn:not(:disabled):active{transform:var(--press)}.btn:focus-visible,.logo:focus-visible{outline:3px solid var(--brand);outline-offset:3px}.btn:disabled,.btn-google:disabled{cursor:not-allowed;opacity:.55}.btn-primary{background:var(--brand);color:#fff;box-shadow:0 3px 0 var(--brand-deep)}.btn-primary:not(:disabled):hover{background:var(--brand-ink);box-shadow:0 5px 0 var(--brand-deep)}.btn-primary:not(:disabled):active{box-shadow:0 1px 0 var(--brand-deep)}.btn-ghost{background:var(--surface);color:var(--brand-ink);border-color:#2456d62e}.btn-ghost:not(:disabled):hover{border-color:#2456d666}.btn-icon{width:30px;height:30px;padding:0;position:relative}.btn-icon:before{content:"";inset:calc(-1 * (var(--sp-1) + 2px));border-radius:var(--radius-full);position:absolute}.btn-icon svg{width:1rem;height:1rem}.btn-icon:not(:disabled):hover,.btn-icon:not(:disabled):active{transform:none}.badge{border-radius:var(--radius-full);font-size:var(--text-xs);background:var(--surface-3);color:var(--ink-2);align-items:center;padding:.125rem .625rem;font-weight:800;display:inline-flex}.badge-brand{background:var(--brand-soft);color:var(--brand-ink)}.badge-grade{background:var(--g-tint);color:var(--g-ink)}.badge-live{background:var(--brand-soft);color:var(--brand-ink);border:1px solid var(--brand);padding:.0625rem .5625rem}.badge-good{background:var(--good-soft);color:var(--good)}.badge-warn{background:var(--warn-soft);color:var(--warn)}.badge-part{background:linear-gradient(135deg, var(--good-soft) 50%, var(--surface-3) 50%);color:var(--good)}.navigation-progress{z-index:40;background:var(--brand-soft);visibility:hidden;width:100%;height:3px;animation:0s .12s forwards navigation-progress-show;position:fixed;top:0;left:0;overflow:hidden}.navigation-progress:after{background:var(--brand);content:"";width:40%;animation:1s ease-in-out infinite navigation-progress-move;position:absolute;inset:0 auto 0 -40%}@keyframes navigation-progress-show{to{visibility:visible}}@keyframes navigation-progress-move{to{transform:translate(350%)}}@media (prefers-reduced-motion:reduce){.navigation-progress:after{width:100%;animation:none;left:0}}.skip-link{top:-3rem;left:var(--sp-4);z-index:30;border-radius:var(--radius-md);background:var(--brand);color:#fff;font-size:var(--text-sm);padding:.5rem 1rem;font-weight:600;transition:top .15s;position:absolute}.skip-link:focus{top:var(--sp-4);text-decoration:none}.site-header{background:var(--sky);z-index:20;position:sticky;top:0}.header-main{align-items:center;gap:var(--sp-5);height:4rem;display:flex}.logo{border-radius:var(--radius-sm);letter-spacing:-.02em;color:var(--ink);flex:none;font-size:1.5rem;font-weight:900;line-height:1.2}.logo:hover{text-decoration:none}.logo em{background:var(--surface);color:var(--brand);box-shadow:var(--ledge-soft);transition:transform var(--dur-pop) var(--ease-pop);border-radius:11px;margin-left:3px;padding:0 8px 2px;font-style:normal;display:inline-block}.logo:hover em{transform:rotate(-3deg)}@media (prefers-reduced-motion:reduce){.logo:hover em{transform:none}}@media (max-width:45rem){.logo{font-size:1.3125rem}.header-main{gap:var(--sp-3)}.site-header .header-actions{gap:var(--sp-2)}.header-actions>.btn{padding-inline:.875rem}}.site-nav{align-items:stretch;gap:var(--sp-1);align-self:stretch;display:flex}.nav-item{display:flex;position:relative}.nav-item>button.nav-link{border:0;padding:.5rem .875rem;font-family:inherit}.nav-link{border-radius:var(--radius-full);color:var(--ink-2);cursor:pointer;transition:background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);background:0 0;align-self:center;align-items:center;padding:.5rem .875rem;font-size:.9375rem;font-weight:700;display:flex}.nav-link:hover,.nav-item.is-open>.nav-link{color:var(--ink);background:#ffffffbf;text-decoration:none}.nav-link.is-active{background:var(--surface);color:var(--brand-ink);font-weight:800}.nav-link:focus-visible{outline:3px solid var(--brand);outline-offset:2px}.nav-link.has-menu:after{content:"";border:4px solid #0000;border-top-color:currentColor;margin-left:.375rem;transform:translateY(2px)}.nav-menu{z-index:25;min-width:9rem;padding:var(--sp-2);background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-pop);display:none;position:absolute;top:100%;left:50%;transform:translate(-50%)}.nav-item.is-open .nav-menu{display:block}.nav-menu a{border-radius:var(--radius-md);color:var(--ink-2);font-size:var(--text-sm);white-space:nowrap;padding:.5rem .875rem;font-weight:700;display:block}.nav-menu a:hover{background:var(--brand-soft);color:var(--brand-ink);text-decoration:none}.nav-menu a.nav-mobile-only{display:none}.header-actions{align-items:center;gap:var(--sp-3);min-width:0;margin-left:auto;display:flex}.ai-chat-global-entry{justify-content:center;align-items:center;gap:var(--sp-2);border-radius:var(--radius-full);background:var(--surface);min-height:2.5rem;color:var(--brand);font:inherit;font-size:var(--text-sm);white-space:nowrap;cursor:pointer;box-shadow:var(--ledge-soft);transition:transform var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);border:0;padding:.5rem .875rem;font-weight:800;display:inline-flex;position:relative}.ai-chat-global-activity{border:1px solid var(--surface);background:var(--brand);border-radius:50%;width:.4rem;height:.4rem;position:absolute;top:.25rem;right:.25rem}.ai-chat-global-entry:hover{transform:var(--lift);box-shadow:0 5px #2456d638}.ai-chat-global-entry:active{transform:var(--press);box-shadow:0 1px #2456d638}.ai-chat-global-entry svg{flex:none;width:1.125rem;height:1.125rem}.account-menu{min-width:0;display:flex;position:relative}.account-menu-trigger{align-items:center;gap:var(--sp-2);border-radius:var(--radius-full);max-width:12rem;min-height:2.5rem;color:var(--ink-2);font:inherit;font-size:var(--text-sm);cursor:pointer;transition:background var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);background:#ffffffbf;border:2px solid #0000;padding:.25rem .75rem .25rem .25rem;font-weight:700;display:inline-flex}.account-menu-trigger:hover,.account-menu.is-open .account-menu-trigger{background:var(--surface);color:var(--brand-ink);border-color:#2456d640}.account-menu-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.account-menu-caret{border:4px solid #0000;border-top-color:currentColor;flex:none;transform:translateY(2px)}.account-menu .nav-menu{min-width:11rem;left:auto;right:0;transform:none}.account-menu.is-open .nav-menu{display:block}.account-menu .nav-menu a,.account-menu .nav-menu button{align-items:center;gap:var(--sp-2);display:flex}.account-menu .nav-menu svg{flex:none;width:1.125rem;height:1.125rem}.account-menu .nav-menu button{border-radius:var(--radius-md);width:100%;color:var(--ink-2);font:inherit;font-size:var(--text-sm);white-space:nowrap;cursor:pointer;background:0 0;border:0;padding:.5rem .875rem;font-weight:700}.account-menu .nav-menu button:hover:not(:disabled){background:var(--brand-soft);color:var(--brand-ink)}.account-menu .nav-menu button:disabled{cursor:not-allowed;opacity:.55}.avatar{border-radius:var(--radius-full);background:var(--brand-soft);width:2rem;height:2rem;color:var(--brand);font-size:var(--text-xs);flex:none;justify-content:center;align-items:center;font-weight:900;display:inline-flex}.nav-toggle{border-radius:var(--radius-full);background:var(--surface);width:2.75rem;height:2.75rem;box-shadow:var(--ledge-soft);cursor:pointer;border:0;flex:none;justify-content:center;align-items:center;padding:0;display:none}.nav-toggle .bars{background:var(--ink-2);border-radius:1px;width:1rem;height:2px;display:block;position:relative}.nav-toggle .bars:before,.nav-toggle .bars:after{content:"";background:var(--ink-2);border-radius:1px;width:1rem;height:2px;position:absolute;left:0}.nav-toggle .bars:before{top:-5px}.nav-toggle .bars:after{top:5px}.nav-open .nav-toggle .bars{background:0 0}.nav-open .nav-toggle .bars:before{top:0;transform:rotate(45deg)}.nav-open .nav-toggle .bars:after{top:0;transform:rotate(-45deg)}.section{padding-top:var(--sp-6)}.section-head{justify-content:space-between;align-items:baseline;gap:var(--sp-4);margin-bottom:var(--sp-4);display:flex}.section-head h2{font-size:var(--text-2xl);font-weight:900}.section-head p{color:var(--ink-3);font-size:var(--text-sm)}.sky-band,.home-fold,.auth-main{background:radial-gradient(60rem 30rem at 85% 10%, #f3e9ff 0%, #f3e9ff00 60%), radial-gradient(40rem 26rem at 0% 100%, #ffeef2 0%, #ffeef200 65%), var(--sky)}.home-fold{padding:var(--sp-7) 0 var(--sp-8)}.fold-grid{gap:var(--sp-7);grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:center;display:grid;position:relative}.fold-hero h1{letter-spacing:-.025em;text-wrap:balance;font-size:clamp(2.25rem,4vw,3.25rem);font-weight:900;line-height:1.12}.hero-hl{color:var(--brand);background:linear-gradient(transparent 68%, var(--highlight) 68%, var(--highlight) 92%, transparent 92%);-webkit-box-decoration-break:clone;box-decoration-break:clone;margin:0 -4px;padding:0 4px}.fold-hero p{margin-top:var(--sp-4);max-width:34rem;font-size:var(--text-lg);color:var(--ink-2);line-height:1.6}.hero-actions{margin-top:var(--sp-6);gap:var(--sp-3);flex-wrap:wrap;display:flex}.hero-points{margin-top:var(--sp-5);gap:var(--sp-2) var(--sp-5);color:var(--ink-2);flex-wrap:wrap;font-size:.9375rem;font-weight:600;display:flex}.hero-points span{align-items:center;gap:var(--sp-2);display:inline-flex}.hero-points span:before{content:"";background:var(--good) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5.5 10.5 8.5 13.5 14.5 7' fill='none' stroke='white' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 14px no-repeat;border-radius:50%;flex:none;width:18px;height:18px}.fold-dir{background:var(--surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-pop);padding:var(--sp-5) var(--sp-5) var(--sp-5)}.fold-dir-head{justify-content:space-between;align-items:baseline;gap:var(--sp-3);padding:0 var(--sp-1) var(--sp-3);display:flex}.fold-dir h2{font-size:var(--text-xl);font-weight:900}.fold-total{border-radius:var(--radius-full);background:var(--sky);color:var(--brand-ink);font-size:var(--text-xs);padding:.125rem .625rem;font-weight:800}.fold-cols{gap:var(--sp-4);margin-top:var(--sp-2);display:grid}.fold-group{margin:0 var(--sp-1) var(--sp-2);font-size:var(--text-xs);color:var(--ink-3);text-transform:uppercase;letter-spacing:.06em;font-weight:800}.fold-tiles{gap:var(--sp-2);grid-template-columns:1fr 1fr;display:grid}.fold-tile{align-items:center;gap:var(--sp-2);min-height:4rem;padding:var(--sp-2) var(--sp-3);border-radius:var(--radius-md);background:var(--g-tint);transition:transform var(--dur-fast) var(--ease-pop), box-shadow var(--dur-fast) var(--ease-out);display:flex}.fold-tile-mascot,.fold-exam-emblem{--hover-rotation:2deg;flex:none;transition:transform .16s}.fold-tile-mascot{width:2.75rem;height:2.75rem;animation:mascot-pop var(--dur-enter) var(--ease-pop) backwards;filter:var(--mascot-outline)}.fold-cols>section:first-child .fold-tile:nth-child(2) .fold-tile-mascot{animation-delay:80ms}.fold-cols>section:first-child .fold-tile:nth-child(3) .fold-tile-mascot{animation-delay:.16s}.fold-cols>section:first-child .fold-tile:nth-child(4) .fold-tile-mascot{animation-delay:.24s}.fold-cols>section:nth-child(2) .fold-tile:first-child .fold-tile-mascot{animation-delay:.32s}.fold-cols>section:nth-child(2) .fold-tile:nth-child(2) .fold-tile-mascot{animation-delay:.4s}.fold-cols>section:nth-child(2) .fold-tile:nth-child(3) .fold-tile-mascot{animation-delay:.48s}.fold-tile-mascot[data-hover-tilt=left],.fold-exam-emblem[data-hover-tilt=left]{--hover-rotation:-2deg}.fold-tile-copy{justify-content:space-between;align-items:baseline;gap:var(--sp-2);flex:1;min-width:0;display:flex}.fold-tile .name{color:var(--ink);font-size:.9375rem;font-weight:800}.fold-tile .count{color:var(--g-ink);font-size:var(--text-xs);white-space:nowrap;flex:none;font-weight:700}.fold-tile:hover{transform:var(--lift);box-shadow:0 5px 0 var(--g-deep);text-decoration:none}.fold-tile:active{transform:var(--press);box-shadow:0 1px 0 var(--g-deep)}.fold-tile:hover .fold-tile-mascot{transform:translateY(-2px) rotate(var(--hover-rotation)) scale(1.05)}.fold-exams{margin-top:var(--sp-4);gap:var(--sp-2);display:grid}.fold-exams a{align-items:center;gap:var(--sp-3);border-radius:var(--radius-md);background:var(--ky-thi-tint);box-shadow:0 3px 0 var(--ky-thi-line);color:var(--ink);transition:transform var(--dur-fast) var(--ease-out);padding:.625rem .875rem;font-size:.9375rem;font-weight:800;display:flex}.fold-exam-emblem{width:2.75rem;height:2.75rem}.fold-exams .name{flex:1}.fold-exams .count{color:var(--ky-thi-ink);font-size:var(--text-xs);font-weight:700}.fold-exams a:after{content:"›";color:var(--ky-thi-ink);font-weight:900}.fold-exams a:hover{transform:var(--nudge);text-decoration:none}.fold-exams a:hover .name{color:var(--ky-thi-ink)}.fold-exams a:hover .fold-exam-emblem{transform:translateY(-2px) rotate(var(--hover-rotation)) scale(1.05)}@media (prefers-reduced-motion:reduce){.fold-tile-mascot,.fold-exam-emblem{transition:none;animation:none}.fold-tile:hover .fold-tile-mascot,.fold-exams a:hover .fold-exam-emblem{transform:none}}@media (max-width:60rem){.home-fold{padding:var(--sp-6) 0 var(--sp-7)}.fold-grid{gap:var(--sp-6);grid-template-columns:1fr}.fold-hero p{font-size:var(--text-base)}.hero-actions{margin-bottom:var(--sp-2);flex-direction:column;align-items:stretch}}@media (max-width:40rem){.ai-chat-global-entry{width:2.5rem;padding:.5rem}.ai-chat-global-label,.account-menu-name{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}}@media (max-width:42rem){.fold-tile-copy{flex-direction:column;justify-content:center;align-items:flex-start;gap:.125rem}}.grade-grid{gap:var(--sp-4);grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));display:grid}.grade-card{background:var(--surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);padding:var(--sp-2) var(--sp-2) var(--sp-3)}.grade-card-head{justify-content:space-between;align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-4) var(--sp-2) var(--sp-3);border-radius:var(--radius-lg);background:var(--g-tint);display:flex}.grade-card-title{align-items:center;gap:var(--sp-3);min-width:0;display:flex}.grade-card-mascot{--hover-rotation:2deg;flex:none;width:3.5rem;height:3.5rem;transition:transform .16s}.grade-card-mascot[data-hover-tilt=left]{--hover-rotation:-2deg}.grade-card-head:hover .grade-card-mascot{transform:translateY(-2px) rotate(var(--hover-rotation)) scale(1.05)}.grade-card-head h3{font-size:var(--text-xl);font-weight:900}.grade-card-head h3 a{color:var(--ink)}.grade-card-head h3 a:hover{color:var(--g-ink);text-decoration:none}.grade-card-head .total{color:var(--g-ink);font-size:var(--text-xs);font-weight:800}.cat-list{margin:var(--sp-2) 0 0;padding:0 var(--sp-1);list-style:none}.cat-list a{justify-content:space-between;align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-3);border-radius:var(--radius-md);color:var(--ink);transition:background var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);font-size:.9375rem;font-weight:600;display:flex}.cat-list a:hover{background:var(--g-tint);transform:var(--nudge);text-decoration:none}.cat-list .count{border-radius:var(--radius-full);background:var(--g-tint);color:var(--g-ink);font-size:var(--text-xs);padding:.0625rem .5rem;font-weight:700}.cat-list a:hover .count{background:var(--surface)}@media (prefers-reduced-motion:reduce){.grade-card-mascot{transition:none}.grade-card-head:hover .grade-card-mascot{transform:none}}.recent-panel{background:var(--surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);padding:var(--sp-2) var(--sp-5)}.recent-list{margin:0;padding:0;list-style:none}.recent-list li{border-top:1px solid var(--border)}.recent-list li:first-child{border-top:0}.recent-list a{align-items:baseline;gap:var(--sp-3);padding:var(--sp-3);margin:0 calc(-1 * var(--sp-3));border-radius:var(--radius-md);color:var(--ink);font-weight:600;font-size:var(--text-sm);transition:background var(--dur-fast) var(--ease-out);display:flex}.recent-list a:hover{background:var(--surface-2);text-decoration:none}.recent-list a:hover .title{color:var(--brand)}.recent-list .badge{flex:none;justify-content:center;min-width:3.75rem;transform:translateY(-1px)}.recent-list .meta{color:var(--ink-3);font-size:var(--text-xs);white-space:nowrap;flex:none;margin-left:auto}@media (max-width:60rem){.recent-list a{flex-wrap:wrap}.recent-list .meta{flex-basis:100%;margin-left:0;padding-left:0}}.auth-main{max-width:none;min-height:calc(100dvh - 4rem);padding:calc(var(--sp-8) + 2rem) var(--sp-4) var(--sp-8);flex-direction:column;align-items:center;display:flex}.auth-card{width:100%;max-width:25rem;padding:var(--sp-7) var(--sp-6) var(--sp-6);background:var(--surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-pop);position:relative}.auth-guides{align-items:flex-end;gap:var(--sp-1);pointer-events:none;display:flex;position:absolute;top:0;left:50%;transform:translate(-50%,-62%)}.auth-guide{width:3.75rem;height:3.75rem;animation:mascot-pop var(--dur-enter) var(--ease-pop) backwards}.auth-guide:nth-child(2){width:4.5rem;height:4.5rem;animation-delay:.1s}.auth-guide:nth-child(3){animation-delay:.2s}@media (prefers-reduced-motion:reduce){.auth-guide{animation:none}}.auth-card h1{font-size:var(--text-2xl);text-align:center;font-weight:900}.auth-card h1 .badge{margin-left:var(--sp-2);vertical-align:middle}.auth-sub{margin-top:var(--sp-2);text-align:center;color:var(--ink-2);font-size:var(--text-sm)}.btn-google{margin-top:var(--sp-5);justify-content:center;align-items:center;gap:var(--sp-3);border:2px solid var(--border-strong);border-radius:var(--radius-full);background:var(--surface);width:100%;font:inherit;font-size:var(--text-sm);color:var(--ink);cursor:pointer;transition:transform var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);padding:.6875rem 1rem;font-weight:800;display:flex}.btn-google:not(:disabled):hover{transform:var(--lift);border-color:#2456d666;text-decoration:none}.btn-google svg{flex:none}.auth-divider{margin:var(--sp-5) 0;align-items:center;gap:var(--sp-3);color:var(--ink-3);font-size:var(--text-xs);display:flex}.auth-divider:before,.auth-divider:after{content:"";border-top:1px solid var(--border);flex:1}.auth-field{margin-top:var(--sp-4)}.auth-field label{margin-bottom:var(--sp-1);font-size:var(--text-sm);color:var(--ink-2);font-weight:700;display:block}.auth-field input{font:inherit;border:2px solid var(--border-strong);border-radius:var(--radius-md);width:100%;padding:.625rem .875rem}.auth-field input:focus{border-color:var(--brand);outline:3px solid #2456d633}.auth-field input[aria-invalid=true]{border-color:var(--bad)}.auth-audience{margin:var(--sp-5) 0 0;gap:var(--sp-2);border:0;grid-template-columns:repeat(3,minmax(0,1fr));min-width:0;padding:0;display:grid}.auth-audience legend{margin-bottom:var(--sp-2);font-size:var(--text-sm);color:var(--ink-2);padding:0;font-weight:700}.auth-audience>div{display:flex;position:relative}.auth-audience input{opacity:0;pointer-events:none;position:absolute}.auth-audience label{justify-content:center;align-items:center;gap:var(--sp-2);width:100%;min-height:5.5rem;padding:var(--sp-3) var(--sp-2);border-radius:var(--radius-md);background:var(--surface-2);color:var(--ink-2);font-size:var(--text-sm);text-align:center;cursor:pointer;transition:border-color var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out);-webkit-tap-highlight-color:transparent;border:2px solid #0000;flex-direction:column;font-weight:700;line-height:1.25;display:flex}.auth-audience label:before{content:"";border-radius:var(--radius-full);background:var(--surface);border:2px solid;flex:none;width:1.125rem;height:1.125rem}.auth-audience input:not(:checked)+label:hover{border-color:#2456d659}.auth-audience input:checked+label,.auth-audience input:not(:checked)+label:active{border-color:var(--brand);background:var(--sky);color:var(--brand-ink)}.auth-audience input:checked+label:before{border-color:var(--brand);background:var(--brand);box-shadow:inset 0 0 0 3px var(--surface)}.auth-audience input:focus-visible+label{outline:3px solid var(--brand);outline-offset:2px}.auth-error{margin-top:var(--sp-2);color:var(--bad);font-size:var(--text-xs)}.auth-error-page{padding:var(--sp-3);border-radius:var(--radius-md);background:var(--bad-soft);text-align:center}.auth-success{margin-top:var(--sp-3);padding:var(--sp-3);border-radius:var(--radius-md);background:var(--good-soft);color:var(--good);font-size:var(--text-sm);text-align:center}.auth-submit{margin-top:var(--sp-5);width:100%}.auth-alt{margin-top:var(--sp-5);text-align:center;font-size:var(--text-sm);color:var(--ink-2)}.auth-legal{margin-top:var(--sp-5);text-align:center;max-width:24rem;font-size:var(--text-xs);color:var(--ink-2)}.otp-boxes{margin-top:var(--sp-5);position:relative}.otp-input{font:inherit;font-size:var(--text-lg);text-align:center;border:2px solid var(--border-strong);border-radius:var(--radius-md);width:100%;height:3rem;padding:0;font-weight:600}.otp-input:focus{border-color:var(--brand);outline:3px solid #2456d633}.otp-input[aria-invalid=true]{border-color:var(--bad)}.otp-boxes.is-enhanced .otp-input{z-index:1;color:#0000;caret-color:#0000;-webkit-text-fill-color:transparent;background:0 0;border:0;font-size:1rem;position:absolute;inset:0}.otp-boxes.is-enhanced .otp-input:focus{outline:none}.otp-visual{display:none}.otp-boxes.is-enhanced .otp-visual{gap:var(--sp-2);grid-template-columns:repeat(6,1fr);display:grid}.otp-cell{font-size:var(--text-xl);border:2px solid var(--border-strong);border-radius:var(--radius-md);place-items:center;height:3.25rem;font-weight:900;display:grid}.otp-boxes:focus-within .otp-cell.is-active{border-color:var(--brand);outline:3px solid #2456d633}.otp-boxes.is-enhanced .otp-input[aria-invalid=true]+.otp-visual .otp-cell{border-color:var(--bad)}.otp-meta{margin-top:var(--sp-4);font-size:var(--text-sm);color:var(--ink-3);justify-content:space-between;align-items:center;display:flex}.link-button{color:var(--brand);font:inherit;cursor:pointer;background:0 0;border:0;padding:0}.link-button:hover{text-decoration:underline}.link-button:disabled{cursor:not-allowed;opacity:.55}.dash-main{padding-top:var(--sp-6);padding-bottom:var(--sp-8)}.dash-account-head{justify-content:space-between;align-items:start;gap:var(--sp-3) var(--sp-4);flex-wrap:wrap;display:flex}.dash-account-head .btn{white-space:nowrap}.dash-error{margin-top:var(--sp-4)}.stat-cards{margin:0;margin-top:var(--sp-5);gap:var(--sp-4);grid-template-columns:repeat(3,minmax(0,1fr));padding:0;list-style:none;display:grid}.stat-card{padding:var(--sp-4) var(--sp-5);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg)}.stat-value{font-size:var(--text-2xl);font-weight:700}.stat-label{margin-top:var(--sp-1);color:var(--ink-3);font-size:var(--text-sm)}.resume-card{margin-top:var(--sp-4);justify-content:space-between;align-items:center;gap:var(--sp-4);padding:var(--sp-4) var(--sp-5);background:var(--sky);border-radius:var(--radius-xl);display:flex}.resume-card .title{color:var(--brand-ink);font-weight:800}.resume-card .meta{margin-top:var(--sp-1);color:var(--ink-2);font-size:var(--text-xs)}.resume-card .btn{flex:none}.dash-grid{margin-top:var(--sp-6)}.dash-h2{font-size:var(--text-xl);margin-bottom:var(--sp-3);font-weight:900}.account-tabs{gap:var(--sp-2);margin-top:var(--sp-5);flex-wrap:wrap;display:flex}.account-tab,.account-tab-select select{border:2px solid var(--border);border-radius:var(--radius-full);background:var(--surface);max-width:16rem;color:var(--ink-2);font:inherit;font-size:var(--text-sm);padding:.5rem 1rem;font-weight:800}.account-tab{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.account-tab-own{justify-content:center;align-items:center;padding:.5rem;display:inline-flex}.account-tab-own svg{stroke-width:2.25px;width:1.4rem;height:1.4rem}.account-tab:hover{color:var(--brand-ink);border-color:#2456d666;text-decoration:none}.account-tab[aria-current=page]{border-color:var(--brand);background:var(--brand);color:#fff}.account-tab-select{gap:var(--sp-2);display:flex}.account-tab-select select{cursor:pointer}.account-tab-select.is-current select{border-color:var(--brand);background:var(--brand-soft);color:var(--brand-ink)}.sharer-card{justify-content:space-between;align-items:center;gap:var(--sp-4) var(--sp-6);padding:var(--sp-5);flex-wrap:wrap;display:flex}.sharer-controls{justify-content:space-between;align-items:center;gap:var(--sp-3);flex-wrap:wrap;flex:1;display:flex}.sharer-email-switch{flex:1}.sharer-email-switch .account-email-head{flex-wrap:nowrap}.sharer-error{color:var(--bad);font-size:var(--text-sm);flex-basis:100%;margin:0}@media (max-width:36rem){.sharer-controls{width:100%}}.share-intro{margin:0 0 var(--sp-3);color:var(--ink-2);font-size:var(--text-sm)}.share-slots{margin:0;list-style:none}.share-slot{padding:var(--sp-4) 0}.share-slot+.share-slot{border-top:1px solid var(--border)}.share-slot-form,.share-slot-row{align-items:center;gap:var(--sp-3);display:flex}.share-slot-form input{min-width:0;min-height:calc(2 * .5625rem + 1.25 * var(--text-sm) + 4px);padding:0 var(--sp-3);border:1px solid var(--border);border-radius:var(--radius-md);font:inherit;background:var(--surface);color:var(--ink);flex:1}.share-slot-form input[aria-invalid=true]{border-color:var(--bad)}.share-slot-main{flex:1;min-width:0}.share-slot-head{align-items:center;gap:var(--sp-2);flex-wrap:wrap;display:flex}.share-email{overflow-wrap:anywhere}.share-slot-note{margin:var(--sp-1) 0 0;color:var(--ink-3);font-size:var(--text-sm)}.share-slot-actions{gap:var(--sp-2);flex:none;display:flex}.share-slot-error,.share-slot-notice{margin:var(--sp-2) 0 0;font-size:var(--text-sm)}.share-slot-error{color:var(--bad)}.share-slot-notice{color:var(--good)}@media (max-width:36rem){.share-slot-form,.share-slot-row{flex-direction:column;align-items:stretch}.share-slot-actions .btn:not(.btn-icon){flex:1}.share-slot-row:has(.btn-icon){flex-direction:row;align-items:center}}.dash-empty{padding:var(--sp-6);text-align:center;color:var(--ink-2)}.dash-empty-title{color:var(--ink);font-weight:800}.dash-empty .btn{margin-top:var(--sp-4)}.attempt-list{margin:0;padding:0;list-style:none}.attempt-list li{border-top:1px solid var(--border)}.attempt-list li:first-child{border-top:0}.attempt-list a{align-items:baseline;gap:var(--sp-3);padding:var(--sp-3);margin:0 calc(-1 * var(--sp-3));border-radius:var(--radius-md);color:var(--ink);font-weight:600;font-size:var(--text-sm);display:flex}.attempt-list a:hover{background:var(--surface-2);text-decoration:none}.attempt-list a:hover .title{color:var(--brand)}.attempt-list .date{width:3rem;color:var(--ink-3);font-size:var(--text-xs);flex:none}.attempt-list .score{text-align:right;font-variant-numeric:tabular-nums;flex:none;width:2.25rem;margin-left:auto;font-weight:900}.attempt-list .score.is-status{width:auto;color:var(--ink-3);font-size:var(--text-xs);font-weight:500}.attempt-list .meta{text-align:right;width:4.5rem;color:var(--ink-3);font-size:var(--text-xs);white-space:nowrap;font-variant-numeric:tabular-nums;flex:none}@media (max-width:60rem){.dash-account-head{align-items:flex-start}.stat-card{padding:var(--sp-3) var(--sp-4)}.resume-card{display:block}.resume-card .btn{margin-top:var(--sp-3)}.attempt-list a{flex-wrap:wrap}.attempt-list .title{flex:calc(100% - 3.75rem)}.attempt-list .score{margin-left:3.75rem}}@media (max-width:36rem){.stat-cards{grid-template-columns:1fr}}.prose{max-width:46rem;padding:var(--sp-7) 0 var(--sp-8);margin:0 auto}.prose h1{letter-spacing:-.02em;font-size:clamp(2rem,4vw,2.5rem);font-weight:900}.prose-updated{margin-top:var(--sp-2);color:var(--ink-3);font-size:var(--text-xs)}.prose h2{margin-top:var(--sp-6);font-size:var(--text-xl);font-weight:900}.prose h3{margin-top:var(--sp-5);font-size:var(--text-lg);font-weight:800}.prose p{margin-top:var(--sp-3);color:var(--ink-2)}.prose ul{margin-top:var(--sp-3);color:var(--ink-2);padding-left:1.25rem}.prose li{margin-top:var(--sp-1)}.error-main{padding:var(--sp-8) var(--sp-4);text-align:center}.error-mascot{width:7rem;height:7rem;margin:0 auto var(--sp-3);animation:mascot-hop var(--dur-enter) var(--ease-pop) backwards;display:block}@media (prefers-reduced-motion:reduce){.error-mascot{animation:none}}.error-code{color:var(--brand);letter-spacing:-.03em;font-size:4.5rem;font-weight:900;line-height:1}.error-main h1{margin-top:var(--sp-3);font-size:var(--text-2xl);font-weight:900}.error-main p{margin-top:var(--sp-2);color:var(--ink-2);font-size:var(--text-sm)}.error-main .btn{margin-top:var(--sp-5)}.site-footer{margin-top:var(--sp-8);background:var(--night);padding:var(--sp-7) 0 var(--sp-6);color:#aab4dc;font-size:var(--text-sm)}.footer-cols{gap:var(--sp-6);grid-template-columns:2fr 1fr 1fr 1.2fr 1.2fr;display:grid}.footer-brand{max-width:22rem}.footer-brand p{margin-top:0}.site-footer h4{font-size:var(--text-sm);margin-bottom:var(--sp-3);color:#fff}.site-footer ul{gap:var(--sp-2);margin:0;padding:0;list-style:none;display:grid}.site-footer a{color:#d5dcf5}.site-footer a:hover{color:#fff}.site-footer .logo{color:#fff;margin-bottom:var(--sp-3);font-size:1.375rem;line-height:1.25;display:inline-block}.site-footer .logo em{background:var(--brand);color:#fff;box-shadow:none}.footer-legal{margin-top:var(--sp-6);padding-top:var(--sp-5);justify-content:space-between;align-items:flex-end;gap:var(--sp-5);font-size:var(--text-xs);color:#8f9bc8;border-top:1px solid #ffffff1f;display:flex}.footer-biz{gap:var(--sp-1);display:grid}.site-footer .footer-legal a{color:#aab4dc;-webkit-text-decoration:underline #ffffff4d;text-decoration:underline #ffffff4d}.footer-copy{white-space:nowrap}@media (max-width:60rem){.site-header{position:sticky}body.exam-focus .site-header{position:relative}body.nav-open .site-header{z-index:30;position:fixed;top:0;left:0;right:0}body.account-open .site-header{z-index:30}.site-nav{align-items:stretch;gap:var(--sp-5);overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:calc(4rem + var(--sp-5)) max(var(--sp-5), env(safe-area-inset-right)) max(var(--sp-5), env(safe-area-inset-bottom)) max(var(--sp-5), env(safe-area-inset-left));background:var(--sky);flex-direction:column;display:none;position:fixed;inset:0;overflow-y:auto}body.nav-open .logo,body.nav-open .header-actions{z-index:1;position:relative}.nav-open .site-nav{display:flex}.nav-item{display:block;position:static}.nav-item+.nav-item{padding-top:var(--sp-5);border-top:2px solid #fffc}.nav-group-thcs{order:1}.nav-group-entrance{order:2}.nav-group-thpt{order:3}.nav-item>button.nav-link.has-menu{background:0 0;padding:0}.nav-link.has-menu{pointer-events:none;padding:0 0 var(--sp-3);font-size:var(--text-xs);color:var(--ink-3);text-transform:uppercase;letter-spacing:.03em;font-weight:600}.nav-link.has-menu:after{display:none}.site-nav .nav-item .nav-menu{gap:var(--sp-2);min-width:0;box-shadow:none;background:0 0;border:0;border-radius:0;grid-template-columns:repeat(2,minmax(0,1fr));padding:0;display:grid;position:static;transform:none}.nav-menu a{min-height:2.75rem;padding:.625rem var(--sp-3);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-sm);white-space:normal;align-items:center;display:flex}.site-nav .nav-menu a.nav-mobile-only{display:flex}.site-nav>.nav-link{min-height:3rem;padding:var(--sp-3);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-sm);align-self:stretch;margin:0;display:flex}.site-nav>.nav-desktop-only{display:none}.site-nav>.nav-link:hover{background:var(--brand-soft);color:var(--brand-ink)}.nav-toggle{display:flex}.footer-cols{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.footer-legal{display:block}.footer-copy{margin-top:var(--sp-3)}}.layout{gap:var(--sp-6);padding-top:var(--sp-6);grid-template-columns:18rem minmax(0,1fr);align-items:start;display:grid}.sidebar{position:sticky;top:5rem}.side-panel{background:var(--surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);padding:var(--sp-5) var(--sp-4) var(--sp-5) var(--sp-5)}.side-title{font-size:var(--text-lg);font-weight:900}.side-group{margin-top:var(--sp-4)}.side-group h3{font-size:var(--text-xs);color:var(--ink-3);text-transform:uppercase;letter-spacing:.06em;margin-bottom:var(--sp-1);font-weight:800}.side-grade summary{justify-content:space-between;align-items:center;gap:var(--sp-3);color:var(--ink);cursor:pointer;padding:.35rem 0;font-size:.9375rem;font-weight:800;list-style:none;display:flex}.side-grade summary::-webkit-details-marker{display:none}.side-grade summary:after{content:"";border:4px solid #0000;border-top-color:var(--ink-3);align-self:center;transform:translateY(2px)}.side-grade[open] summary:after{transform:rotate(180deg)translateY(2px)}.side-grade summary:hover{color:var(--brand)}.side-grade summary a{color:inherit}.side-grade summary .side-grade-heading{justify-content:flex-start;align-items:center;gap:.375rem;display:inline-flex}.side-grade-mascot{--hover-rotation:2deg;flex:none;width:2rem;height:2rem;transition:transform .16s}.side-grade-mascot[data-hover-tilt=left]{--hover-rotation:-2deg}.side-grade-heading:hover .side-grade-mascot,.side-grade-link:hover .side-grade-mascot{transform:translateY(-2px) rotate(var(--hover-rotation)) scale(1.05)}@media (prefers-reduced-motion:reduce){.side-grade-mascot{transition:none}.side-grade-heading:hover .side-grade-mascot,.side-grade-link:hover .side-grade-mascot{transform:none}}.side-grade summary a:hover{color:var(--brand);text-decoration:none}.side-grade summary .total{color:var(--ink-3);font-size:var(--text-xs);margin-left:auto;font-weight:400}.side-grade-link{padding:.35rem 0;padding-right:calc(var(--sp-3) + 8px);color:var(--ink);justify-content:space-between;align-items:center;gap:.375rem;font-size:.9375rem;font-weight:800;display:flex}.side-grade-link:hover{color:var(--brand);text-decoration:none}.side-grade-link .total{color:var(--ink-3);font-size:var(--text-xs);margin-left:auto;font-weight:400}.side-grade-link.is-active{background:var(--brand-soft);color:var(--brand-ink);border-radius:var(--radius-full);margin-left:-.5rem;margin-right:calc(var(--sp-3) - .5rem + 8px);padding:.3rem .5rem;font-weight:800}.side-grade ul{margin:0 0 var(--sp-2) .875rem;padding:0 0 0 var(--sp-3);border-left:2px solid var(--surface-3);list-style:none}.side-grade a,.side-links a{justify-content:space-between;align-items:baseline;gap:var(--sp-3);color:var(--ink-2);font-size:var(--text-sm);padding:.3rem 0;display:flex}.side-grade a:hover,.side-links a:hover{color:var(--brand);text-decoration:none}.side-grade .count,.side-links .count{color:var(--ink-3);font-size:var(--text-xs)}.side-grade ul a,.side-links a{padding-right:calc(var(--sp-3) + 8px)}.side-grade a.is-active{background:var(--brand-soft);color:var(--brand-ink);border-radius:var(--radius-full);margin-left:-.5rem;margin-right:calc(var(--sp-3) - .5rem + 8px);padding:.3rem .5rem;font-weight:800}.side-links{margin:0;padding:0;list-style:none}.side-links a{font-weight:500}.breadcrumb{font-size:var(--text-sm);color:var(--ink-3)}.breadcrumb a{color:var(--ink-2)}.breadcrumb a:hover{color:var(--brand)}.breadcrumb-grade,.breadcrumb-category{align-items:center;gap:.25rem;display:inline-flex}.page-head{margin-top:var(--sp-3);margin-bottom:var(--sp-5)}.page-head h1{font-size:var(--text-2xl);font-weight:900}.page-head p{margin-top:var(--sp-1);color:var(--ink-3);font-size:var(--text-sm)}.listing-head{padding:var(--sp-5) var(--sp-6);border-radius:var(--radius-xl);background:var(--surface);box-shadow:var(--shadow-md)}.listing-head h1{letter-spacing:-.02em;font-size:clamp(1.625rem,3vw,2.25rem);font-weight:900;line-height:1.15}.listing-head p{margin-top:var(--sp-2);color:var(--ink-2);font-size:.9375rem}@media (max-width:42rem){.listing-head{padding:var(--sp-4)}}.exam-grid{gap:var(--sp-4);grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));display:grid}.exam-card{background:var(--surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);transition:transform var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);flex-direction:column;display:flex;overflow:hidden}.exam-card:hover{transform:var(--lift);box-shadow:var(--shadow-pop)}.exam-thumb-img{aspect-ratio:16/9;background:var(--surface);justify-content:center;align-items:flex-end;display:flex;overflow:hidden}.exam-thumb-img:hover{text-decoration:none}.exam-thumb-img img{width:auto;height:75%;margin-bottom:var(--sp-3);mix-blend-mode:multiply}.exam-card-body{padding:var(--sp-3) var(--sp-4) var(--sp-4);gap:var(--sp-2);flex-direction:column;flex:1;align-items:flex-start;display:flex}.exam-card-body h2,.exam-card-body h3{font-size:var(--text-base);font-weight:700;line-height:1.6}.exam-card-body h2 a,.exam-card-body h3 a{color:var(--ink)}.exam-card-body h2 a:hover,.exam-card-body h3 a:hover{color:var(--brand);text-decoration:none}.exam-card-body .meta{color:var(--ink-3);font-size:var(--text-xs)}.exam-card-status{font-variant-numeric:tabular-nums;margin-top:auto}.pagination{margin-top:var(--sp-6);font-size:var(--text-sm)}.pagination ul{justify-content:center;align-items:center;gap:var(--sp-2);margin:0;padding:0;list-style:none;display:flex}.pagination .page{border-radius:var(--radius-full);background:var(--surface);min-width:2.5rem;color:var(--ink-2);text-align:center;box-shadow:var(--ledge-soft);transition:transform var(--dur-fast) var(--ease-out);padding:.4375rem .75rem;font-weight:800;display:inline-block}.pagination a.page:hover{color:var(--brand-ink);transform:var(--lift);text-decoration:none}.pagination .page.is-current{background:var(--brand);color:#fff;box-shadow:0 3px 0 var(--brand-deep)}.pagination .page.is-disabled{color:var(--ink-3);box-shadow:none;opacity:.5}.pagination .ellipsis{min-width:2.5rem;color:var(--ink-3);text-align:center;display:inline-block}.pagination .pagination-narrow{display:none}@media (max-width:42rem){.pagination-label{display:none}.pagination ul{gap:.375rem}.pagination .page{padding-inline:.5rem}.pagination .pagination-wide{display:none}.pagination .pagination-narrow{display:flex}}@media (max-width:60rem){.layout{padding-top:var(--sp-4);grid-template-columns:1fr}.sidebar{order:2;position:static}.main-col{order:1}}.section-head h2 a{color:var(--ink)}.section-head h2 a:hover{color:var(--brand);text-decoration:none}.section-more{white-space:nowrap}.side-links a.is-active{background:var(--brand-soft);color:var(--brand-ink);border-radius:var(--radius-full);margin-left:-.5rem;margin-right:calc(var(--sp-3) - .5rem + 8px);padding:.3rem .5rem;font-weight:800}.katex-display{padding:var(--sp-1) 0;overflow:auto hidden}.btn-lg{font-size:var(--text-base);padding:.75rem 1.5rem}.btn-block{width:100%}.exam-main .breadcrumb{padding:var(--sp-4) 0}.exam-focus .site-header{position:static}.exam-context-bar{z-index:20;background:var(--sky);position:sticky;top:0}.exam-context-bar .breadcrumb{padding-top:var(--sp-2);padding-bottom:var(--sp-2);white-space:nowrap;align-items:center;gap:.375rem;display:flex}.crumb-here,.crumb-back{color:var(--ink-2);text-overflow:ellipsis;font-weight:500;overflow:hidden}.exam-main{--paper-inset:var(--sp-6)}@media (max-width:60rem){.exam-main{--paper-inset:var(--sp-4)}}.exam-focus .exam-main{padding-top:var(--sp-4)}.exam-focus .sidebar{top:3.5rem}.layout-main{gap:var(--sp-5);grid-template-columns:minmax(0,1fr) 19rem;align-items:start;display:grid}.layout-main .sidebar{gap:var(--sp-4);display:grid}.exam-answer-fieldset{border:0;min-width:0;margin:0;padding:0}.panel{background:var(--surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);padding:var(--sp-5)}.panel-title{font-size:var(--text-lg);margin-bottom:var(--sp-3);font-weight:900}.exam-header{margin-bottom:var(--sp-5);padding-inline:var(--paper-inset)}.exam-header h1{letter-spacing:-.015em;margin:0 0 var(--sp-2);font-size:clamp(1.375rem,2.4vw,1.75rem);font-weight:900;line-height:1.3}.exam-meta-grid{margin-top:var(--sp-4);gap:var(--sp-3) var(--sp-4);font-size:var(--text-sm);grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));display:grid}.exam-meta-grid dt{color:var(--ink-2);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;font-weight:800}.exam-meta-grid dd{margin:0;font-weight:700}.parts-summary{margin-top:var(--sp-4);padding-top:var(--sp-4);border-top:2px dashed var(--border);gap:var(--sp-2);font-size:var(--text-sm);color:var(--ink-2);display:grid}.parts-summary strong{color:var(--ink);font-weight:800}.parts-summary a{color:inherit;text-decoration:none}.parts-summary a:hover{text-decoration:underline}.part-title{align-items:baseline;gap:var(--sp-3);margin:var(--sp-6) 0 var(--sp-4) var(--paper-inset);font-size:var(--text-xl);font-weight:900;line-height:1.35;display:flex}.part-title .badge{white-space:nowrap;flex:none;transform:translateY(-2px)}.exam-part{scroll-margin-top:3.25rem}.question{background:var(--surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);padding:var(--sp-5) var(--paper-inset);margin-bottom:var(--sp-4);scroll-margin-top:3.25rem}.exam-end{align-items:center;gap:var(--sp-3);margin:var(--sp-6) 0 var(--sp-2);color:var(--ink-3);font-size:var(--text-sm);letter-spacing:.08em;font-weight:800;display:flex}.exam-end:before,.exam-end:after{content:"";border-top:2px dashed var(--border-strong);flex:1}.question-head{align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-3);display:flex}.question-no{color:var(--brand-ink);margin:0;font-size:1.0625rem;font-weight:800}.question-no.is-good{color:var(--good)}.question-no.is-bad{color:var(--bad)}.question-ask-button{color:var(--brand-ink);background:var(--sky);font-size:var(--text-xs);border-color:#0000;margin-left:auto;padding:.375rem .625rem}.question-ask-button:not(:disabled):hover{color:var(--brand-ink);background:var(--sky);border-color:#2456d640}.question-ask-button svg{flex:none;width:1.125rem;height:1.125rem}.ask-question-eye{transform-box:fill-box;transform-origin:50%;transition:transform .16s}button:hover .ask-question-icon .ask-question-eye{transform:scale(1.2)}@media (prefers-reduced-motion:reduce){button:hover .ask-question-icon .ask-question-eye{animation:none}}.question-stem{gap:var(--sp-2);display:grid}.question-stem>*{min-width:0}.rendered-content{gap:var(--sp-2);min-width:0;display:grid}.figure{margin:var(--sp-2) 0;text-align:center}.figure img{mix-blend-mode:multiply;max-width:100%;height:auto}.figure-caption{margin-top:var(--sp-1);text-align:center}.tkz-table{max-width:100%;height:auto;display:inline-block}.options{margin:var(--sp-3) 0 0;gap:var(--sp-2);padding:0;list-style:none;display:grid}.options.options-2col{grid-template-columns:repeat(2,minmax(0,1fr))}.option{align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-3);border-radius:var(--radius-md);border:2px solid #0000;display:flex}.option-letter{border-radius:var(--radius-full);background:var(--surface-3);width:1.75rem;height:1.75rem;color:var(--ink-2);font-size:var(--text-sm);flex:none;justify-content:center;align-items:center;font-weight:800;display:inline-flex}.option-text{flex:1}label.option{border-color:var(--border);cursor:pointer;transition:border-color var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out);-webkit-tap-highlight-color:transparent}label.option:where(:has(input:enabled)):hover{background:var(--surface-subtle);border-color:#2456d659}label.option:where(:has(input:enabled)):active{border-color:var(--brand);background:var(--sky)}label.option input{opacity:0;pointer-events:none;position:absolute}label.option.is-selected{border-color:var(--brand);background:var(--sky)}label.option.is-selected .option-letter{background:var(--brand);color:#fff}label.option.is-selected:has(input:focus) .option-letter{animation:letter-pop var(--dur-pop) var(--ease-pop)}label.option:has(input:focus-visible){border-color:var(--brand);outline:3px solid var(--brand);outline-offset:2px}.statements{margin-top:var(--sp-3);gap:var(--sp-2);padding-left:0;list-style:none;display:grid}.statement{align-items:baseline;gap:var(--sp-4);padding:var(--sp-2) var(--sp-3);border-radius:var(--radius-md);display:flex}.statement-label{color:var(--ink-2);flex:none;font-weight:900}.statement-text{flex:1}.tf-toggle{gap:var(--sp-1);flex:none;align-self:center;display:inline-flex}.tf-toggle label{cursor:pointer;border:2px solid var(--border-strong);border-radius:var(--radius-full);font-size:var(--text-xs);color:var(--ink-2);background:var(--surface);-webkit-tap-highlight-color:transparent;transition:border-color var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out);padding:.25rem .875rem;font-weight:800}.tf-toggle input{opacity:0;pointer-events:none;position:absolute}.tf-toggle label:where(:has(input:enabled)):hover{background:var(--surface-subtle);border-color:#2456d659}.tf-toggle label.is-selected{background:var(--brand);border-color:var(--brand);color:#fff}.tf-toggle label.is-selected:has(input:focus){animation:letter-pop var(--dur-pop) var(--ease-pop)}.tf-toggle label:has(input:focus-visible){border-color:var(--brand);outline:3px solid var(--brand);outline-offset:2px}@media (prefers-reduced-motion:reduce){label.option.is-selected:has(input:focus) .option-letter,.tf-toggle label.is-selected:has(input:focus){animation:none}}.answer-row{margin-top:var(--sp-3);align-items:baseline;gap:var(--sp-3);font-size:var(--text-sm);color:var(--ink-2);display:flex}.answer-field{font:inherit;border:2px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface);width:12rem;padding:.5rem .875rem}.answer-field:focus{border-color:var(--brand);outline:3px solid #2456d633}.answer-area{margin-top:var(--sp-3);font:inherit;width:100%;min-height:8rem;padding:var(--sp-3);border:2px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface);resize:vertical}.answer-area:focus{border-color:var(--brand);outline:3px solid #2456d633}label.option:has(input:disabled),.tf-toggle label:has(input:disabled),.answer-field:disabled,.answer-area:disabled{cursor:not-allowed}label.option:has(input:disabled):not(.is-selected),.tf-toggle label:has(input:disabled):not(.is-selected),.answer-field:disabled,.answer-area:disabled{background:var(--surface-2)}@media (max-width:60rem){.answer-field,.answer-area{font-size:1rem}}.answer-blank{border-bottom:1.5px dashed var(--border-strong);min-width:10rem;display:inline-block}.sub-items{margin:var(--sp-3) 0 0;gap:var(--sp-2);padding-left:0;list-style:none;display:grid}.sub-items>li{gap:var(--sp-3);align-items:baseline;display:flex}.sub-items .statement-label{color:var(--ink-2)}.cta-panel h2{font-size:var(--text-lg);margin-bottom:var(--sp-3);font-weight:900}.cta-panel ul{margin:0 0 var(--sp-4);gap:var(--sp-2);font-size:var(--text-sm);color:var(--ink-2);padding:0;list-style:none;display:grid}.cta-panel li{align-items:center;gap:var(--sp-2);font-weight:600;display:flex}.cta-panel li:before{content:"";background:var(--good) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5.5 10.5 8.5 13.5 14.5 7' fill='none' stroke='white' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 14px no-repeat;border-radius:50%;flex:none;width:18px;height:18px}.cta-panel .hint{margin-top:var(--sp-2);font-size:var(--text-xs);color:var(--ink-3);text-align:center}.related-list{gap:var(--sp-3);font-size:var(--text-sm);margin:0;padding:0;list-style:none;display:grid}.related-list a{color:var(--ink);font-weight:600}.related-list a:hover{color:var(--brand)}.related-list .meta{color:var(--ink-3);font-size:var(--text-xs)}.timer-panel{text-align:center}.timer-panel .label{font-size:var(--text-xs);color:var(--ink-3);text-transform:uppercase;letter-spacing:.05em;cursor:pointer;list-style:none}.timer-panel .label::-webkit-details-marker{display:none}.timer-panel .label:after{content:"";margin-left:var(--sp-2);border:4px solid #0000;border-top-color:var(--ink-3);display:inline-block;transform:translateY(2px)}.timer-panel[open] .label:after{transform:rotate(180deg)translateY(2px)}.timer-panel .time{font-size:var(--text-3xl);font-variant-numeric:tabular-nums;color:var(--brand);font-weight:900}.timer-panel.out-of-time .time{color:var(--ink-3)}.timer-panel.out-of-time .progress>span{background:var(--ink-3)}.exam-save-status,.exam-start-notice{font-size:var(--text-xs);text-align:center}.exam-save-status,.sidebar>.exam-start-notice{margin:calc(-1 * var(--sp-2)) 0;color:var(--ink-3)}.progress{margin-top:var(--sp-3);border-radius:var(--radius-full);background:var(--sky);height:.5rem;overflow:hidden}.progress>span{background:var(--brand);border-radius:var(--radius-full);height:100%;display:block}.palette h3{font-size:var(--text-xs);color:var(--ink-3);text-transform:uppercase;letter-spacing:.06em;margin:var(--sp-3) 0 var(--sp-2);font-weight:800}.palette h3:first-child{margin-top:0}.palette-grid{gap:var(--sp-2);flex-wrap:wrap;display:flex}.palette-btn{border:2px solid var(--border-strong);background:var(--surface);width:2.375rem;height:2.375rem;color:var(--ink-2);font-size:var(--text-sm);transition:transform var(--dur-fast) var(--ease-out);border-radius:12px;justify-content:center;align-items:center;font-weight:800;display:inline-flex}.palette-btn:hover{background:var(--surface-subtle);transform:var(--lift);text-decoration:none}.palette-btn.is-answered{background:var(--sky);border-color:var(--brand);color:var(--brand-ink)}.palette-btn.is-partly-answered{background:linear-gradient(135deg, var(--sky) calc(30% - .5px), var(--brand) calc(30% - .5px), var(--brand) calc(30% + .5px), var(--surface) calc(30% + .5px));border-color:var(--brand);color:var(--brand-ink)}.palette-btn.is-answered:hover,.palette-btn.is-partly-answered:hover{filter:brightness(.94)}.palette-legend{margin-top:var(--sp-3);gap:var(--sp-1);font-size:var(--text-xs);color:var(--ink-3);display:grid}.palette-legend .dot{width:.75rem;height:.75rem;margin-right:var(--sp-2);border:1px solid var(--border-strong);background:var(--surface);border-radius:4px;display:inline-block}.palette-legend .dot.is-answered{background:var(--sky);border-color:var(--brand)}.palette-legend .dot.is-partly-answered{background:linear-gradient(135deg, var(--sky) calc(30% - .5px), var(--brand) calc(30% - .5px), var(--brand) calc(30% + .5px), var(--surface) calc(30% + .5px));border-color:var(--brand)}.exam-bar-row{justify-content:space-between;align-items:center;gap:var(--sp-3);display:flex}.exam-bar-row .breadcrumb{min-width:0}.exam-drawer-toggle{font:inherit;font-size:var(--text-xs);font-variant-numeric:tabular-nums;color:var(--brand-ink);background:var(--surface);border-radius:var(--radius-full);box-shadow:var(--ledge-soft);cursor:pointer;border:0;flex:none;align-items:center;gap:.375rem;padding:.5rem .875rem;font-weight:600;display:none}.drawer-backdrop{display:none}.mobile-bar{left:var(--sp-4);right:var(--sp-4);bottom:max(.875rem, env(safe-area-inset-bottom));z-index:30;gap:var(--sp-2);pointer-events:none;animation:float-in var(--dur-pop) var(--ease-pop) backwards;display:none;position:fixed}.mobile-bar>*{pointer-events:auto}.mobile-bar>.btn-primary{box-shadow:0 4px 0 var(--brand-deep), 0 12px 30px #16337c4d;font-size:1rem;font-weight:900}.mobile-bar>.btn-primary:not(:disabled):hover{box-shadow:0 6px 0 var(--brand-deep), 0 14px 32px #16337c52}.mobile-bar>.btn-primary:not(:disabled):active{box-shadow:0 1px 0 var(--brand-deep), 0 8px 24px #16337c47}.mobile-bar:has(>.exam-start-notice,>.exam-start-error){padding:var(--sp-3);border-radius:var(--radius-xl);background:var(--surface);box-shadow:var(--shadow-pop)}.mobile-bar>.exam-start-notice{color:var(--ink-2);font-size:var(--text-sm);margin:0;font-weight:700}.mobile-bar>.exam-start-error{margin:0}@keyframes float-in{0%{opacity:0;transform:translateY(20px)scale(.9)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.mobile-bar{animation:none}}.exam-start-error{align-items:flex-start;gap:var(--sp-2);margin:var(--sp-2) 0 0;padding:var(--sp-3);border:1px solid color-mix(in srgb, var(--bad) 20%, var(--bad-soft));border-radius:var(--radius-md);background:var(--bad-soft);color:var(--bad);font-size:var(--text-sm);text-align:left;display:flex}.exam-start-error>svg{flex:none;margin-top:.15em}.sidebar>.exam-start-error{margin-top:calc(-1 * var(--sp-2))}.exam-submit-dialog,.exam-leave-dialog,.confirm-dialog{width:min(32rem,100% - 2rem);max-height:calc(100vh - 2rem);color:var(--ink);background:var(--surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-pop);border:0;padding:0}.exam-submit-dialog::backdrop,.exam-leave-dialog::backdrop,.confirm-dialog::backdrop{background:#1d25528c}.exam-submit-dialog-content,.exam-leave-dialog-content,.confirm-dialog-content{gap:var(--sp-4);padding:var(--sp-6);display:grid}.exam-submit-dialog-content h2,.exam-leave-dialog-content h2,.confirm-dialog-content h2{font-size:var(--text-xl);font-weight:900}.exam-submit-dialog-description,.exam-leave-dialog-description,.confirm-dialog-description{gap:var(--sp-3);color:var(--ink-2);display:grid}.exam-submit-warning{padding:var(--sp-3);color:var(--warn);background:var(--warn-soft);border-radius:var(--radius-md)}.exam-submit-dialog-actions,.exam-leave-dialog-actions,.confirm-dialog-actions{justify-content:flex-end;gap:var(--sp-3);display:flex}body.exam-submit-dialog-open,body.exam-leave-dialog-open{overflow:hidden}@media (max-width:32rem){.exam-submit-dialog-actions,.exam-leave-dialog-actions,.confirm-dialog-actions{flex-direction:column-reverse}.exam-submit-dialog-actions .btn,.exam-leave-dialog-actions .btn,.confirm-dialog-actions .btn{width:100%}}.ai-chat-dialog{width:min(848px,100% - 32px);max-width:none;height:calc(100vh - 32px);height:calc(var(--ai-viewport-height,100dvh) - 32px);border-radius:var(--radius-xl);background:var(--surface);max-height:none;color:var(--ink);box-shadow:var(--shadow-pop);border:0;margin:0 auto;padding:0;position:fixed;inset:16px 0 auto;overflow:hidden}.ai-chat-dialog[open]{flex-direction:column;display:flex}.ai-chat-dialog::backdrop{background:#1d255273}.ai-chat-header{flex:none;justify-content:space-between;align-items:center;min-height:64px;padding:8px 16px 8px 24px;display:flex}.ai-chat-header h2{letter-spacing:-.02em;color:var(--ink);margin:0;font-size:1.25rem;font-weight:900}.ai-chat-header h2 em{background:var(--sky);color:var(--brand);box-shadow:var(--ledge-soft);border-radius:10px;margin:0 2px 0 3px;padding:0 7px 2px;font-style:normal;display:inline-block}.ai-chat-header-actions{align-items:center;display:flex}.ai-chat-header-actions>[data-ai-chat-header-actions]{display:contents}.ai-chat-close,.ai-chat-new-conversation,.ai-chat-history-trigger{width:44px;height:44px;color:var(--ink-2);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;padding:12px;display:grid}.ai-chat-close:hover,.ai-chat-new-conversation:hover:not(:disabled),.ai-chat-history-trigger:hover,.ai-chat-history-trigger[aria-expanded=true]{background:var(--sky)}.ai-chat-new-conversation:disabled{opacity:.4;cursor:not-allowed}.ai-chat-close svg,.ai-chat-new-conversation svg,.ai-chat-history-trigger svg{width:20px;height:20px}.ai-chat-loading{color:var(--ink-3);flex:1;align-content:center;justify-items:center;gap:16px;padding:24px;font-size:14px;display:grid}@media (max-width:48rem){.ai-chat-dialog{top:var(--ai-viewport-top,0px);width:100%;height:100vh;height:var(--ai-viewport-height,100dvh);border:0;border-radius:0}.ai-chat-header{min-height:60px;padding:max(8px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) 8px max(20px, env(safe-area-inset-left))}}@media (max-width:60rem){.layout-main{grid-template-columns:minmax(0,1fr)}.layout-main .sidebar{position:static}.question{padding:var(--sp-4)}.options.options-2col{grid-template-columns:1fr}.statement{flex-wrap:wrap}.statement-text{flex-basis:80%}.tf-toggle,.tf-review-statement{margin-left:2.1rem}.mobile-bar{display:grid}body.nav-open .mobile-bar{display:none}.has-mobile-bar{padding-bottom:8rem}.cta-panel .btn,.ready-sidebar>.btn,.ready-sidebar>.exam-start-notice,.ready-sidebar>.exam-start-error{display:none}.exam-drawer-summary{cursor:default}.exam-drawer-toggle{display:inline-flex}.drawer-open .drawer-backdrop{z-index:35;background:#1d255273;display:block;position:fixed;inset:0}.drawer-open .layout-main .sidebar{z-index:40;background:var(--surface-2);border-radius:var(--radius-xl) var(--radius-xl) 0 0;max-height:80vh;padding:var(--sp-5) var(--sp-4) max(var(--sp-5), env(safe-area-inset-bottom));position:fixed;inset:auto 0 0;overflow-y:auto;box-shadow:0 -8px 30px #1c234024}body.drawer-open{overflow:hidden}}.sub-items .sub-items{margin-top:var(--sp-2)}.part-note{margin:calc(-1 * var(--sp-3)) 0 var(--sp-4) var(--paper-inset);font-size:var(--text-sm);color:var(--ink-3)}.essay-items{gap:var(--sp-4)}.essay-items>li{display:block}.sub-item-text{gap:var(--sp-3);align-items:baseline;display:flex}.sub-item-content{flex:1}.sub-answer{margin:var(--sp-2) 0 var(--sp-4) var(--sp-5);gap:var(--sp-2);justify-items:start;display:grid}.essay-items>li:last-child .sub-answer{margin-bottom:var(--sp-1)}.sub-answer .answer-area{justify-self:stretch;min-height:6.3rem;margin-top:0}.sub-answer-bar{align-items:center;gap:var(--sp-3);flex-wrap:wrap;display:flex}.upload-btn{font:inherit;font-size:var(--text-xs);color:var(--brand-ink);background:var(--surface-subtle);border-radius:var(--radius-md);cursor:pointer;transition:border-color var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out);border:2px dashed #2456d64d;flex:1;padding:.625rem .875rem;font-weight:800}.upload-btn:not(:disabled):hover{color:var(--brand-ink);border-color:var(--brand);background:var(--sky)}.essay-image-strip{gap:var(--sp-3);flex-wrap:wrap;display:flex}.essay-image-item{position:relative}.essay-image-status{max-width:12rem;margin-top:var(--sp-1);font-size:var(--text-xs);color:var(--ink-2);display:block}.essay-image-preview{border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface-2);cursor:zoom-in;padding:0;overflow:hidden}.essay-image-preview img,.essay-upload-pending img{object-fit:cover;width:6rem;height:6rem;display:block}.essay-image-remove{border-radius:var(--radius-md);background:var(--surface);color:var(--ink);cursor:pointer;border:0;padding:.25rem .5rem;position:absolute;top:0;right:0}.essay-upload{align-items:stretch}.essay-upload .essay-image-strip{flex-basis:100%}.essay-upload-access-note{font-size:var(--text-xs);color:var(--ink-2);margin:0}.essay-image-strip:empty{display:none}.essay-upload-pending{align-items:center;gap:var(--sp-2);font-size:var(--text-xs);display:flex}.essay-image-viewer{border-radius:var(--radius-md);max-width:min(95vw,70rem);max-height:95dvh;padding:var(--sp-3);background:var(--surface);border:0}.essay-image-viewer::backdrop{background:#000000a6}.essay-image-viewer img{object-fit:contain;max-width:100%;max-height:80dvh;display:block}.upload-btn:disabled{cursor:not-allowed;opacity:.55}.attachments{gap:var(--sp-2);flex-wrap:wrap;display:flex}.attachment{align-items:center;gap:var(--sp-2);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-2);font-size:var(--text-xs);color:var(--ink-2);padding:.25rem .5rem .25rem .25rem;font-weight:500;display:inline-flex}.attachment-thumb{background:linear-gradient(135deg, var(--brand-soft), var(--border-strong));border-radius:4px;width:2rem;height:1.5rem}.attachment-remove{font:inherit;font-size:var(--text-sm);color:var(--ink-3);cursor:pointer;background:0 0;border:0;padding:0 .25rem;line-height:1}.attachment-remove:hover{color:var(--warn)}.essay-items .essay-items{gap:var(--sp-3);margin:var(--sp-3) 0 0 var(--sp-5)}.exam-header h1 .badge{vertical-align:middle;margin-left:var(--sp-1);transform:translateY(-2px)}.badge-learner{text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom;max-width:12rem;margin-left:.3em;display:inline-block;overflow:hidden}:root{--bad:#c2333f;--bad-soft:#fbe9ec}.badge-bad{background:var(--bad-soft);color:var(--bad)}.result-panel{text-align:center;background:var(--sky);box-shadow:none}.result-panel .label{font-size:var(--text-xs);color:var(--ink-2);text-transform:uppercase;letter-spacing:.05em;font-weight:800}.result-panel .score{color:var(--brand-ink);font-variant-numeric:tabular-nums;font-size:2.5rem;font-weight:900;line-height:1.2}.result-panel .score span{font-size:var(--text-lg);color:var(--ink-2);font-weight:600}.result-panel .result-meta{margin-top:var(--sp-1);font-size:var(--text-xs);color:var(--ink-2)}.exam-assessment-entry.is-panel{margin-top:var(--sp-4)}.exam-assessment-entry.is-header{margin-top:var(--sp-3);display:none}.exam-assessment-entry.is-panel .exam-assessment-open{width:100%}.exam-assessment-note{justify-content:center;align-items:center;gap:var(--sp-2);font-size:var(--text-xs);color:var(--ink-2);display:flex}.exam-assessment-entry.is-header .exam-assessment-note{font-size:var(--text-sm);justify-content:flex-start}.exam-assessment-pulse{border-radius:var(--radius-full);background:var(--brand);width:.5rem;height:.5rem;animation:exam-assessment-pulse 1.2s var(--ease-out) infinite alternate;flex:none}@keyframes exam-assessment-pulse{0%{opacity:.3}to{opacity:1}}@media (prefers-reduced-motion:reduce){.exam-assessment-pulse{animation:none}}@media (max-width:60rem){.exam-assessment-entry.is-header{display:block}}.exam-assessment-dialog{width:min(848px,100% - 32px);max-width:none;height:calc(100dvh - 32px);max-height:none;color:var(--ink);background:var(--surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-pop);border:0;margin:0 auto;padding:0;position:fixed;inset:16px 0 auto;overflow:hidden}.exam-assessment-dialog[open]{flex-direction:column;display:flex}.exam-assessment-dialog::backdrop{background:#1d255273}.exam-assessment-head{justify-content:space-between;align-items:center;gap:var(--sp-3);padding:var(--sp-5) var(--sp-6) var(--sp-4);display:flex}.exam-assessment-head h2{font-size:var(--text-xl);font-weight:900}.exam-assessment-head h2:focus{outline:none}.exam-assessment-close{width:2.25rem;height:2.25rem;font:inherit;color:var(--ink-2);background:var(--surface-2);border-radius:var(--radius-full);cursor:pointer;border:0;flex:none;place-items:center;font-size:1.5rem;line-height:1;display:inline-grid}.exam-assessment-close:hover{color:var(--ink);background:var(--surface-3)}.exam-assessment-close:focus-visible{outline:3px solid var(--brand);outline-offset:2px}.exam-assessment-body{gap:var(--sp-5);min-height:0;padding:0 var(--sp-6) var(--sp-5);overscroll-behavior:contain;display:grid;overflow-y:auto}.exam-assessment-summary{padding:0 var(--sp-4);line-height:1.6}.exam-assessment-section.is-good{--assessment-ink:var(--good);--assessment-soft:var(--good-soft)}.exam-assessment-section.is-warn{--assessment-ink:var(--warn);--assessment-soft:var(--warn-soft)}.exam-assessment-section.is-brand{--assessment-ink:var(--brand-ink);--assessment-soft:var(--brand-soft)}.exam-assessment-section h3{margin-bottom:var(--sp-3);padding:var(--sp-3);font-size:var(--text-xs);letter-spacing:.05em;text-transform:uppercase;color:var(--assessment-ink);background:var(--assessment-soft);border-radius:var(--radius-full);align-items:center;font-weight:900;display:block}.exam-assessment-items{gap:var(--sp-3);counter-reset:assessment-step;margin:0;padding:0;list-style:none;display:grid}.exam-assessment-item{padding:var(--sp-3) var(--sp-4);background:0 0;border:0}ol>.exam-assessment-item{counter-increment:assessment-step}ol>.exam-assessment-item h4:before{content:counter(assessment-step) ". ";color:var(--ink)}.exam-assessment-item h4{font-size:var(--text-base);font-weight:800;line-height:1.4}.exam-assessment-item p{margin-top:var(--sp-1);color:var(--ink-2);line-height:1.6}.exam-assessment-item .exam-assessment-refs{gap:var(--sp-2);margin-top:var(--sp-2);flex-wrap:wrap;display:flex}.exam-assessment-ref{width:2rem;height:2rem;font-size:var(--text-xs);font-variant-numeric:tabular-nums;color:var(--ink-2);background:var(--surface-3);border-radius:var(--radius-full);flex:none;justify-content:center;align-items:center;padding:0;font-weight:800;line-height:1;text-decoration:none;display:inline-flex}.exam-assessment-ref:hover{text-decoration:underline}.exam-assessment-ref:focus-visible{outline:3px solid var(--brand);outline-offset:2px}.exam-assessment-disclaimer{padding-top:var(--sp-5);font-size:var(--text-xs);color:var(--ink-3);border-top:1px solid var(--surface-3);text-align:center}body.exam-assessment-dialog-open{overflow:hidden}@media (max-width:48rem){.exam-assessment-dialog{border-radius:0;width:100%;height:100dvh;top:0}.exam-assessment-head{padding:max(var(--sp-4), env(safe-area-inset-top)) var(--sp-4) var(--sp-3)}.exam-assessment-body{padding:0 var(--sp-4) var(--sp-4)}}.option.is-correct{color:var(--good)}.option.is-correct .option-letter{background:var(--good);color:#fff}.option.is-wrong{color:var(--bad)}.option.is-wrong .option-letter{background:var(--bad);color:#fff}.tf-review{gap:var(--sp-2);flex:none;align-self:center;display:inline-flex}.tf-chip{border-radius:var(--radius-full);font-size:var(--text-xs);white-space:nowrap;border:1px solid #0000;padding:.25rem .75rem;font-weight:800}.tf-chip.is-right{background:var(--good-soft);color:var(--good)}.tf-chip.is-wrong{background:var(--bad-soft);color:var(--bad)}.answer-given{border-radius:var(--radius-md);padding:.25rem .75rem;font-weight:600}.answer-given.is-right{background:var(--good-soft);color:var(--good)}.answer-given.is-partial{background:linear-gradient(135deg, var(--good-soft) 50%, var(--surface-3) 50%);color:var(--good)}.answer-given.is-wrong{background:var(--bad-soft);color:var(--bad)}.answer-key{border:1px solid var(--good);border-radius:var(--radius-md);color:var(--good);font-size:var(--text-xs);padding:.25rem .75rem;font-weight:600}.essay-item-body{flex:1;min-width:0}.essay-item-heading{gap:var(--sp-3);align-items:baseline;display:flex}.essay-item-heading .sub-item-content{flex:1}.sub-score{white-space:nowrap;flex:none;margin-left:auto}.sub-review{margin:var(--sp-2) 0 var(--sp-4);gap:var(--sp-2);justify-items:start;display:grid}.submitted{padding:var(--sp-2) var(--sp-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-2);font-size:var(--text-sm);color:var(--ink-2)}.unanswered{font-size:var(--text-sm);color:var(--ink-3);font-style:italic}.grading-feedback{max-width:100%;margin-top:var(--sp-2);font-size:var(--text-sm)}.grading-feedback-text{margin-top:var(--sp-2);padding:var(--sp-2) var(--sp-3);border-left:2px solid var(--border-strong);white-space:pre-wrap;overflow-wrap:anywhere}.statement:has(.grading-feedback){flex-wrap:wrap}.statement .grading-feedback{flex-basis:100%}.solution{margin-top:var(--sp-4);padding-top:var(--sp-3);border-top:2px dashed var(--border)}.solution summary{cursor:pointer;font-size:var(--text-sm);color:var(--brand-ink);font-weight:800;list-style:none}.solution summary::-webkit-details-marker{display:none}.solution summary:after{content:"";border:4px solid #0000;border-top-color:currentColor;margin-left:.375rem;display:inline-block;transform:translateY(2px)}.solution[open] summary:after{transform:rotate(180deg)translateY(2px)}.solution .solution-body{margin-top:var(--sp-2);gap:var(--sp-2);font-size:var(--text-sm);color:var(--ink-2);display:grid}.palette-btn.is-right,.palette-legend .dot.is-right{background:var(--good-soft);border-color:var(--good);color:var(--good)}.palette-btn.is-partial,.palette-legend .dot.is-partial{background:linear-gradient(135deg, var(--good-soft) calc(30% - .5px), var(--good) calc(30% - .5px), var(--good) calc(30% + .5px), var(--surface) calc(30% + .5px));border-color:var(--good);color:var(--good)}.palette-btn.is-wrong,.palette-legend .dot.is-wrong{background:var(--bad-soft);border-color:var(--bad);color:var(--bad)}.palette-btn.is-right:hover,.palette-btn.is-partial:hover,.palette-btn.is-wrong:hover{filter:brightness(.94)}
