:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--background:#f1eee5;--surface:#f8f5ec;--surface-strong:#fffdf7;--surface-muted:#e6e0d4;--foreground:#1b1916;--muted:#6f685f;--line:#c7beb0;--line-strong:#71695f;--accent:#9f3e32;--accent-strong:#7f2f27;--accent-soft:#ead4cf;--danger:#982f2b;--danger-soft:#ead3ce;--success:#315e4d;--success-soft:#d8e2da;--grid-line:#2b27220b;--plate:#1b1916;--plate-foreground:#f5f0e5;--paper-shadow:10px 10px 0 #493f331f}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--background:#151411;--surface:#1b1916;--surface-strong:#211f1b;--surface-muted:#2d2a25;--foreground:#eee8dc;--muted:#aaa297;--line:#403b34;--line-strong:#82796e;--accent:#d46a5d;--accent-strong:#b95146;--accent-soft:#462925;--danger:#ef8b80;--danger-soft:#422522;--success:#83af95;--success-soft:#25382e;--grid-line:#eee8dc09;--plate:#eee8dc;--plate-foreground:#171512;--paper-shadow:10px 10px 0 #00000038}}*{box-sizing:border-box}html{background:var(--background);scroll-behavior:smooth;min-width:320px}body{background-color:var(--background);background-image:linear-gradient(var(--grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);min-height:100dvh;color:var(--foreground);font-family:var(--font-noto-sans-kr), "Noto Sans KR", ui-sans-serif, system-ui, sans-serif;overflow-wrap:normal;text-rendering:optimizelegibility;word-break:keep-all;background-size:32px 32px;margin:0;overflow-x:clip}button,textarea,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,textarea:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:4px}::selection{background:var(--accent);color:#fff8ee}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:30;border:1px solid var(--foreground);background:var(--surface-strong);padding:10px 14px;font-size:13px;font-weight:700;transition:transform .16s;position:fixed;top:12px;left:12px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.app-frame{flex-direction:column;min-height:100dvh;display:flex;position:relative}.app-frame:before{background:var(--line);content:"";pointer-events:none;width:1px;position:fixed;top:0;bottom:0;left:max(20px,50vw - 668px)}.site-header{z-index:20;border-bottom:1px solid var(--line-strong);background:color-mix(in srgb, var(--background) 96%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:sticky;top:0}.site-header__inner{justify-content:space-between;align-items:center;gap:32px;width:min(100% - 48px,1280px);min-height:76px;margin:0 auto;display:flex}.brand{align-items:center;gap:13px;display:inline-flex}.brand__mark{border:1px solid var(--foreground);width:38px;height:38px;color:var(--foreground);font-family:var(--font-noto-serif-kr), serif;place-items:center;font-size:18px;font-weight:700;line-height:1;transition:background-color .18s,color .18s;display:grid}.brand:hover .brand__mark{background:var(--foreground);color:var(--background)}.brand strong,.brand small{display:block}.brand strong{letter-spacing:-.035em;font-size:15px;font-weight:700}.brand small{color:var(--muted);font-family:var(--font-geist-mono), ui-monospace, monospace;letter-spacing:.12em;margin-top:4px;font-size:8px}.site-nav{border-left:1px solid var(--line);align-self:stretch;font-size:12px;font-weight:650;display:flex}.site-nav a{border-right:1px solid var(--line);min-width:92px;color:var(--muted);justify-content:center;align-items:center;gap:8px;transition:background-color .16s,color .16s;display:flex;position:relative}.site-nav a span{font-family:var(--font-geist-mono), ui-monospace, monospace;letter-spacing:.08em;font-size:8px}.site-nav a:hover{background:var(--surface-muted);color:var(--foreground)}.site-nav a[aria-current=page]{color:var(--foreground)}.site-nav a[aria-current=page]:after{background:var(--accent);content:"";height:3px;position:absolute;bottom:-1px;left:10px;right:10px}.page-shell{width:min(100% - 48px,1280px);margin:0 auto;padding:64px 0 104px}.site-footer{border-top:1px solid var(--line-strong);width:min(100% - 48px,1280px);color:var(--muted);font-family:var(--font-geist-mono), ui-monospace, monospace;letter-spacing:.08em;justify-content:space-between;align-items:center;gap:24px;margin:auto auto 0;padding:18px 0 30px;font-size:9px;display:flex}.site-footer p{margin:0}.account-strip{align-items:center;gap:16px;min-width:0;display:flex}.account-strip p{gap:4px;min-width:0;display:grid}.account-strip strong{color:var(--foreground);text-overflow:ellipsis;font-weight:650;overflow:hidden}.account-strip button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-bottom:1px solid;padding:2px 0;font-size:9px}.overline{color:var(--accent);font-family:var(--font-geist-mono), ui-monospace, monospace;letter-spacing:.16em;text-transform:uppercase;margin:0 0 12px;font-size:9px;font-weight:650;line-height:1.4}.button{border:1px solid var(--foreground);cursor:pointer;white-space:nowrap;border-radius:0;justify-content:center;align-items:center;gap:16px;min-height:48px;padding:0 18px;font-size:13px;font-weight:750;line-height:1;transition:transform .15s,box-shadow .15s,background-color .15s,border-color .15s,color .15s;display:inline-flex}.button:hover{box-shadow:4px 4px 0 color-mix(in srgb, var(--foreground) 28%, transparent);transform:translate(-2px,-2px)}.button:active{box-shadow:none;transform:translate(0)}.button:disabled{cursor:wait;opacity:.62;box-shadow:none;transform:none}.button--primary{border-color:var(--accent-strong);background:var(--accent-strong);color:#fff8ee}.button--primary:hover{border-color:var(--accent);background:var(--accent)}.button--secondary{color:var(--foreground);background:0 0}.button--secondary:hover{background:var(--foreground);color:var(--background)}.button--large{min-height:58px;padding-inline:22px}.action-row{flex-wrap:wrap;gap:10px;display:flex}.dashboard{gap:48px;display:grid}.dashboard-intro{border-top:4px solid var(--foreground);border-bottom:1px solid var(--line-strong);grid-template-columns:minmax(0,1.7fr) minmax(280px,.6fr);align-items:stretch;gap:clamp(32px,6vw,86px);min-height:430px;padding:clamp(42px,7vw,86px) 0 clamp(38px,6vw,72px);display:grid}.dashboard-intro__copy{align-self:center}.dashboard-intro h1{max-width:790px;font-family:var(--font-noto-serif-kr), serif;letter-spacing:-.075em;text-wrap:balance;word-break:keep-all;margin:0;font-size:clamp(52px,7.5vw,104px);font-weight:600;line-height:.98}.dashboard-intro__copy>p:not(.overline){max-width:50ch;color:var(--muted);text-wrap:pretty;margin:30px 0 0;font-size:15px;line-height:1.85}.dashboard-intro__plate{border-top:10px solid var(--accent);background:var(--plate);color:var(--plate-foreground);box-shadow:var(--paper-shadow);align-content:space-between;padding:28px;display:grid}.dashboard-intro__plate>div{gap:12px;display:grid}.dashboard-intro__plate span,.dashboard-intro__plate small{font-family:var(--font-geist-mono), ui-monospace, monospace}.dashboard-intro__plate>div>span{color:color-mix(in srgb, var(--plate-foreground) 62%, transparent);letter-spacing:.14em;font-size:8px}.dashboard-intro__plate strong{font-family:var(--font-noto-serif-kr), serif;letter-spacing:-.06em;font-size:clamp(38px,5vw,66px);font-weight:600}.dashboard-intro__plate small{color:color-mix(in srgb, var(--plate-foreground) 66%, transparent);letter-spacing:.08em;font-size:9px;line-height:1.6}.dashboard-intro__plate .button{border-color:var(--plate-foreground);width:100%;color:var(--plate-foreground);background:0 0}.dashboard-intro__plate .button:hover{background:var(--accent);color:#fff8ee}.dashboard-intro__actions{gap:10px;display:grid}.metrics{border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);grid-template-columns:1.2fr 1fr 1fr;display:grid}.metrics article{align-content:center;gap:9px;min-height:164px;padding:34px 30px 28px 50px;display:grid;position:relative}.metrics article:before{color:var(--accent);content:attr(data-index);font-family:var(--font-geist-mono), ui-monospace, monospace;letter-spacing:.1em;font-size:8px;position:absolute;top:20px;left:18px}.metrics article+article{border-left:1px solid var(--line)}.metrics span,.metrics small{color:var(--muted);font-size:11px}.metrics strong{font-family:var(--font-geist-mono), ui-monospace, monospace;font-variant-numeric:tabular-nums;letter-spacing:-.06em;font-size:clamp(30px,3vw,44px);font-weight:520}.metrics a{border-bottom:1px solid var(--accent);width:fit-content;color:var(--accent);font-size:11px;font-weight:700}.coverage-note{border-top:4px solid var(--foreground);border-bottom:1px solid var(--line-strong);padding-top:30px}.coverage-note__heading{justify-content:space-between;align-items:end;gap:32px;margin-bottom:24px;display:flex}.coverage-note__heading h2{font-family:var(--font-noto-serif-kr), serif;letter-spacing:-.055em;margin:0;font-size:clamp(30px,4vw,48px);font-weight:600;line-height:1.1}.coverage-note__heading>p{max-width:48ch;color:var(--muted);text-wrap:pretty;margin:0;font-size:12px;line-height:1.65}.coverage-ledger{border-top:1px solid var(--line-strong);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.coverage-ledger article{align-content:start;gap:10px;min-width:0;min-height:150px;padding:24px;display:grid}.coverage-ledger article+article{border-left:1px solid var(--line)}.coverage-ledger span{width:fit-content;color:var(--success);font-family:var(--font-geist-mono), ui-monospace, monospace;letter-spacing:.12em;border-bottom:1px solid;font-size:8px;font-weight:700}.coverage-ledger article[data-status=pending] span{color:var(--danger)}.coverage-ledger strong{font-family:var(--font-noto-serif-kr), serif;letter-spacing:-.04em;word-break:keep-all;font-size:22px;font-weight:600;line-height:1.3}.coverage-ledger small{color:var(--muted);word-break:keep-all;font-size:10px;line-height:1.65}.course-plan{border-top:1px solid var(--line-strong);grid-template-columns:repeat(5,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.course-plan li{align-content:start;gap:8px;min-width:0;min-height:112px;padding:20px 18px;display:grid}.course-plan li+li{border-left:1px solid var(--line)}.course-plan span{color:var(--danger);font-family:var(--font-geist-mono), ui-monospace, monospace;letter-spacing:.12em;font-size:9px}.course-plan li[data-status=ready] span{color:var(--success)}.course-plan li[data-status=partial] span{color:var(--accent)}.course-plan strong{font-family:var(--font-noto-serif-kr), serif;letter-spacing:-.035em;word-break:keep-all;font-size:15px;font-weight:600;line-height:1.35}.course-plan small{color:var(--muted);font-family:var(--font-geist-mono), ui-monospace, monospace;word-break:keep-all;font-size:8px;line-height:1.5}.region-section{border-top:4px solid var(--foreground);padding-top:30px}.section-heading{justify-content:space-between;align-items:end;gap:32px;margin-bottom:24px;display:flex}.section-heading h2,.data-panel h2{font-family:var(--font-noto-serif-kr), serif;letter-spacing:-.055em;margin:0;font-size:clamp(30px,4vw,48px);font-weight:600;line-height:1.1}.section-heading>p,.data-panel>div>p:not(.overline){max-width:42ch;color:var(--muted);text-wrap:pretty;margin:0;font-size:12px;line-height:1.65}.region-grid{border-top:1px solid var(--line-strong);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.region-option{border:0;border-bottom:1px solid var(--line);min-height:142px;color:var(--foreground);text-align:left;cursor:pointer;background:0 0;grid-template-rows:auto 1fr;grid-template-columns:42px minmax(0,1fr) auto;align-items:start;gap:12px 18px;padding:24px 26px 24px 18px;transition:background-color .17s,color .17s,padding-left .17s;display:grid;position:relative}.region-option:nth-child(odd){border-right:1px solid var(--line)}.region-option:hover{background:var(--surface-muted);padding-left:24px}.region-option--active{background:var(--foreground);color:var(--background)}.region-option--active:hover{background:var(--foreground)}.region-option__index{color:var(--accent);font-family:var(--font-geist-mono), ui-monospace, monospace;letter-spacing:.12em;grid-row:1/-1;font-size:9px}.region-option__label{font-family:var(--font-noto-serif-kr), serif;letter-spacing:-.04em;font-size:22px;font-weight:600}.region-option strong{font-family:var(--font-geist-mono), ui-monospace, monospace;font-variant-numeric:tabular-nums;letter-spacing:-.06em;font-size:28px;font-weight:500}.region-option small{color:var(--muted);grid-column:2/-1;font-size:10px;line-height:1.5}.region-option--active small{color:color-mix(in srgb, var(--background) 68%, transparent)}.data-panel{border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:32px;padding:34px 0;display:grid}.data-panel h2{margin-bottom:12px;font-size:32px}.import-message{grid-column:1/-1;font-weight:700;color:var(--accent)!important}.exam-setup,.exam-summary{border:1px solid var(--line-strong);border-top:8px solid var(--foreground);background:var(--surface);width:min(100%,1080px);box-shadow:var(--paper-shadow);margin:0 auto}.exam-setup{grid-template-columns:minmax(280px,.8fr) minmax(420px,1.2fr);display:grid}.exam-setup__intro{border-right:1px solid var(--line-strong);padding:clamp(36px,5vw,64px)}.exam-setup__intro h1,.exam-summary__heading h1{font-family:var(--font-noto-serif-kr), serif;letter-spacing:-.07em;margin:0;font-size:clamp(48px,6vw,76px);font-weight:600;line-height:1.04}.exam-setup__intro>p:last-child{max-width:34ch;color:var(--muted);margin:28px 0 0;font-size:14px;line-height:1.85}.exam-config{align-content:start;gap:28px;padding:clamp(36px,5vw,64px);display:grid}.exam-mode-options{border:0;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:0;display:grid}.exam-mode-options legend{color:var(--foreground);font-family:var(--font-geist-mono), ui-monospace, monospace;letter-spacing:.1em;margin-bottom:10px;font-size:9px;font-weight:700}.exam-mode-options label{border:1px solid var(--line-strong);background:var(--surface-strong);cursor:pointer;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:12px;min-width:0;padding:18px;display:grid}.exam-mode-options label+label{border-left:0}.exam-mode-options label:has(input:checked){background:var(--foreground);color:var(--background)}.exam-mode-options input{width:16px;height:16px;accent-color:var(--accent);margin:3px 0 0}.exam-mode-options span{gap:7px;min-width:0;display:grid}.exam-mode-options strong{font-family:var(--font-noto-serif-kr), serif;letter-spacing:-.04em;font-size:22px;font-weight:600}.exam-mode-options small{color:var(--muted);font-size:10px;line-height:1.6}.exam-mode-options label:has(input:checked) small{color:color-mix(in srgb, var(--background) 70%, transparent)}.exam-config__grid{grid-template-columns:1.25fr repeat(2,minmax(100px,.75fr));gap:12px;display:grid}.exam-config__grid label{color:var(--foreground);font-family:var(--font-geist-mono), ui-monospace, monospace;letter-spacing:.08em;gap:8px;font-size:9px;font-weight:700;display:grid}.exam-config__grid select{border:1px solid var(--line-strong);background:var(--surface-strong);width:100%;min-height:48px;color:var(--foreground);font-family:var(--font-noto-sans-kr), sans-serif;border-radius:0;padding:0 36px 0 12px;font-size:13px;font-weight:650}.exam-config__notice{border-left:3px solid var(--accent);background:var(--accent-soft);color:var(--foreground);margin:0;padding:14px 16px;font-size:11px;line-height:1.7}.exam-config>.button{justify-self:start;min-width:180px}.practical-session{width:min(100%,900px)}.practical-clock{border-bottom:1px solid var(--line-strong);grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:20px 32px;padding-bottom:24px;display:grid}.practical-clock>div:last-of-type{align-items:baseline;gap:12px;display:flex}.practical-clock>div:last-of-type span{color:var(--muted);font-size:10px}.practical-clock>div:last-of-type strong{color:var(--foreground);font-family:var(--font-geist-mono), ui-monospace, monospace;font-variant-numeric:tabular-nums;letter-spacing:-.06em;font-size:28px;font-weight:520}.practical-clock[data-urgent=true]>div:last-of-type strong{color:var(--danger)}.practical-clock progress{grid-column:1/-1}.practical-plate .label-plate__image{cursor:default}.practical-loading{color:var(--muted);margin:-14px 0 26px;font-size:10px;line-height:1.6}.practical-error{border-left:3px solid var(--danger);background:var(--danger-soft);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;margin:-14px 0 26px;padding:14px 16px;display:grid}.practical-error p{color:var(--foreground);margin:0;font-size:11px;line-height:1.65}.speech-controls{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:14px;margin-bottom:4px;display:grid}.speech-controls .button{justify-self:start;min-width:120px}.speech-controls p{color:var(--muted);margin:0;font-size:10px;line-height:1.6}.exam-summary{padding:clamp(34px,6vw,68px)}.exam-summary__heading{border-bottom:1px solid var(--line-strong);justify-content:space-between;align-items:end;gap:32px;padding-bottom:28px;display:flex}.exam-summary__heading>strong{color:var(--accent);font-family:var(--font-geist-mono), ui-monospace, monospace;font-variant-numeric:tabular-nums;letter-spacing:-.08em;font-size:clamp(52px,8vw,92px);font-weight:500;line-height:.9}.exam-summary__metrics{border-bottom:1px solid var(--line-strong);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.exam-summary__metrics p{gap:8px;margin:0;padding:24px 0;display:grid}.exam-summary__metrics p+p{border-left:1px solid var(--line);padding-left:28px}.exam-summary__metrics strong{font-family:var(--font-geist-mono), ui-monospace, monospace;font-size:20px;font-weight:600}.exam-summary__metrics span{color:var(--muted);font-size:10px}.exam-summary__notice{max-width:70ch;color:var(--muted);margin:24px 0 36px;font-size:11px;line-height:1.75}.exam-review-list{border-top:1px solid var(--line-strong);margin:0;padding:0;list-style:none;display:grid}.exam-review-list li{gap:18px;padding:22px 0;display:grid}.exam-review-list li+li{border-top:1px solid var(--line)}.exam-review-list li>div{grid-template-columns:34px minmax(0,1fr) auto;align-items:baseline;gap:14px;display:grid}.exam-review-list li>div>span,.exam-review-list li small,.exam-review-list dt{font-family:var(--font-geist-mono), ui-monospace, monospace;letter-spacing:.08em;font-size:9px}.exam-review-list li>div>span{color:var(--accent)}.exam-review-list li>div>strong{font-family:var(--font-noto-serif-kr), serif;letter-spacing:-.035em;font-size:19px;font-weight:600;line-height:1.4}.exam-review-list li small{color:var(--success);white-space:nowrap;font-weight:700}.exam-review-list li[data-correct=false] small{color:var(--danger)}.exam-review-list dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:0 0 0 48px;display:grid}.exam-review-list dl>div{gap:7px;min-width:0;display:grid}.exam-review-list dt{color:var(--muted)}.exam-review-list dd{overflow-wrap:anywhere;margin:0;font-size:12px;line-height:1.65}.exam-summary>.action-row{margin-top:34px}.session-panel,.completion-panel,.empty-panel,.gate-panel,.login-panel{border:1px solid var(--line-strong);border-top:8px solid var(--foreground);background:var(--surface);width:min(100%,850px);box-shadow:var(--paper-shadow);margin:0 auto;padding:clamp(30px,6vw,68px);position:relative}.session-panel:before,.completion-panel:before,.empty-panel:before,.gate-panel:before,.login-panel:before{background:color-mix(in srgb, var(--accent) 50%, transparent);content:"";pointer-events:none;width:1px;position:absolute;top:0;bottom:0;left:22px}.session-meta{border-bottom:1px solid var(--line-strong);grid-template-columns:auto minmax(170px,280px);justify-content:space-between;align-items:end;gap:32px;padding-bottom:24px;display:grid}.session-count{color:var(--muted);font-family:var(--font-geist-mono), ui-monospace, monospace;font-variant-numeric:tabular-nums;letter-spacing:.08em;margin:0;font-size:12px}progress{background:var(--surface-muted);width:100%;height:5px;color:var(--accent);border:0;border-radius:0;overflow:hidden}progress::-webkit-progress-bar{background:var(--surface-muted)}progress::-webkit-progress-value{background:var(--accent)}progress::-moz-progress-bar{background:var(--accent)}.question-block{padding:52px 0 36px}.question-context{color:var(--accent);font-family:var(--font-geist-mono), ui-monospace, monospace;letter-spacing:.1em;margin:0 0 16px;font-size:9px;font-weight:650}.question-block h1{--title-token-length:8;max-width:14ch;font-family:var(--font-noto-serif-kr), serif;font-size:clamp(28px, min(7vw, calc((100vw - 200px) / var(--title-token-length))), 72px);letter-spacing:-.07em;overflow-wrap:normal;text-wrap:balance;word-break:keep-all;margin:0;font-weight:600;line-height:1.12}.question-block>p:last-child{max-width:52ch;color:var(--muted);margin:24px 0 0;font-size:14px;line-height:1.75}.label-plate{border:1px solid var(--line-strong);background:#fff;margin:0 0 34px;display:grid;position:relative}.label-plate__image{width:100%;color:var(--foreground);cursor:zoom-in;background:#fff;border:0;border-radius:0;padding:0;display:block;position:relative}.label-plate img{object-fit:contain;width:100%;height:auto;max-height:620px;display:block}.label-plate__image>span{border:1px solid color-mix(in srgb, var(--foreground) 42%, transparent);background:color-mix(in srgb, var(--surface-strong) 92%, transparent);font-family:var(--font-geist-mono), ui-monospace, monospace;letter-spacing:.08em;white-space:nowrap;padding:6px 8px;font-size:9px;font-weight:700;line-height:1;position:absolute;bottom:10px;right:10px}.label-plate figcaption{border-top:1px solid var(--line-strong);background:var(--surface-strong);min-height:58px;color:var(--foreground);justify-content:space-between;align-items:center;padding:10px 16px;display:flex}.label-plate figcaption span{font-family:var(--font-geist-mono), ui-monospace, monospace;letter-spacing:.12em;font-size:9px;font-weight:650}.label-plate figcaption strong{color:var(--accent);font-family:var(--font-geist-mono), ui-monospace, monospace;font-size:28px;font-weight:500}.label-lightbox{z-index:100;color:#eee8dc;padding:max(16px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));background:#090908f0;grid-template-rows:auto minmax(0,1fr);display:grid;position:fixed;inset:0}.label-lightbox__bar{border-bottom:1px solid #eee8dc47;justify-content:space-between;align-items:center;gap:16px;padding-bottom:12px;display:flex}.label-lightbox__bar>span{font-size:11px;line-height:1.5}.label-lightbox__bar .button{flex:none;min-height:42px}.label-lightbox__canvas{overscroll-behavior:contain;touch-action:pan-x pan-y pinch-zoom;padding-top:16px;overflow:auto}.label-lightbox__canvas img{background:#fff;width:auto;min-width:min(900px,100%);max-width:none;height:auto;display:block}.answer-form{gap:11px;display:grid}.answer-form label,.gate-form label{font-family:var(--font-geist-mono), ui-monospace, monospace;letter-spacing:.1em;font-size:9px;font-weight:650}.answer-form textarea{resize:vertical;border:1px solid var(--line-strong);background:linear-gradient(var(--grid-line) 1px, transparent 1px), var(--surface-strong);width:100%;min-height:154px;color:var(--foreground);background-size:100% 32px;border-radius:0;padding:18px 20px;font-size:16px;line-height:2}.answer-form textarea::placeholder{color:color-mix(in srgb, var(--muted) 76%, transparent)}.answer-form textarea:disabled{opacity:.72}.answer-form--label textarea{min-height:96px}.answer-form--dual textarea{min-height:82px}.field-help{color:var(--muted);margin:0 0 10px;font-size:10px;line-height:1.6}.answer-form .button{justify-self:end;min-width:132px}.feedback{border:0;border-top:1px solid var(--danger);border-bottom:1px solid var(--danger);border-left:5px solid var(--danger);background:var(--danger-soft);margin-top:34px;padding:28px}.feedback--correct{border-color:var(--success);background:var(--success-soft)}.feedback__heading{justify-content:space-between;align-items:end;gap:20px;display:flex}.feedback__heading h2{font-family:var(--font-noto-serif-kr), serif;letter-spacing:-.055em;margin:0;font-size:34px;font-weight:600}.feedback__heading>strong{font-family:var(--font-geist-mono), ui-monospace, monospace;font-size:30px;font-weight:500}.feedback__messages{color:var(--danger);margin:22px 0 0;padding-left:20px;font-size:12px;font-weight:650;line-height:1.7}.feedback__guard{color:var(--muted);margin:20px 0 0;font-size:10px;line-height:1.6}.socratic-panel{border-top:1px solid color-mix(in srgb, var(--foreground) 24%, transparent);gap:20px;margin:26px 0 0;padding-top:24px;display:grid}.socratic-panel__heading{justify-content:space-between;align-items:end;gap:18px;display:flex}.socratic-panel__heading h3{font-family:var(--font-noto-serif-kr), serif;letter-spacing:-.045em;margin:3px 0 0;font-size:22px;font-weight:600}.socratic-panel__heading>span,.socratic-turns li>span{color:var(--accent);font-family:var(--font-geist-mono), ui-monospace, monospace;letter-spacing:.08em;white-space:nowrap;font-size:9px;font-weight:700}.socratic-turns{gap:10px;margin:0;padding:0;list-style:none;display:grid}.socratic-turns li{border-left:2px solid var(--accent);background:color-mix(in srgb, var(--surface-strong) 64%, transparent);padding:14px 16px}.socratic-turns p,.socratic-loading,.tutor-explanation>p:last-child{word-break:keep-all;margin:6px 0 0;font-size:13px;line-height:1.75}.socratic-loading{color:var(--muted)}.socratic-response{gap:8px;display:grid}.socratic-response label{font-family:var(--font-geist-mono), ui-monospace, monospace;letter-spacing:.08em;font-size:9px;font-weight:700}.socratic-response label span{color:var(--muted);font-weight:500}.socratic-response textarea{resize:vertical;border:1px solid color-mix(in srgb, var(--foreground) 32%, transparent);background:var(--surface-strong);width:100%;min-height:76px;color:var(--foreground);font:inherit;border-radius:0;padding:12px 14px;font-size:13px;line-height:1.6}.socratic-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.tutor-explanation{border-left:2px solid var(--accent);background:color-mix(in srgb, var(--surface-strong) 58%, transparent);margin:0 0 24px;padding:14px 16px}.tutor-explanation .overline{color:var(--accent)}.answer-review{border-top:1px solid color-mix(in srgb, var(--foreground) 20%, transparent);margin:26px 0;padding-top:22px}.answer-review h3{font-family:var(--font-geist-mono), ui-monospace, monospace;letter-spacing:.12em;margin:0 0 14px;font-size:9px}.answer-review ul{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.answer-review li{border:1px solid color-mix(in srgb, var(--foreground) 28%, transparent);background:color-mix(in srgb, var(--surface-strong) 72%, transparent);gap:3px;padding:8px 12px;display:grid}.answer-review li span{font-size:12px;font-weight:750}.answer-review li small{color:var(--muted);font-size:9px}.study-note{color:var(--muted);gap:6px;margin:0 0 24px;font-size:11px;line-height:1.7;display:grid}.study-note strong{color:var(--foreground);font-family:var(--font-geist-mono), ui-monospace, monospace;letter-spacing:.1em;font-size:9px}.completion-panel,.empty-panel{align-content:center;min-height:430px;display:grid}.gate-panel{width:min(100%,620px);margin-top:2vh}.login-panel{align-content:center;width:min(100%,680px);min-height:500px;margin-top:2vh;display:grid}.gate-panel h1,.login-panel h1,.completion-panel h1,.empty-panel h1{max-width:680px;font-family:var(--font-noto-serif-kr), serif;letter-spacing:-.07em;text-wrap:balance;margin:0;font-size:clamp(42px,7vw,70px);font-weight:600;line-height:1.08}.gate-panel>p:not(.overline),.login-panel>p:not(.overline,.login-error),.completion-panel>p:not(.overline),.empty-panel>p:not(.overline){max-width:58ch;color:var(--muted);text-wrap:pretty;margin:25px 0 32px;font-size:14px;line-height:1.8}.login-panel form{margin-bottom:18px}.login-panel form .button{width:100%}.login-panel>small{color:var(--muted);font-size:10px;line-height:1.7}.login-error{border-left:3px solid var(--danger);background:var(--danger-soft);color:var(--danger);margin:-10px 0 22px;padding:12px 14px;font-size:11px;font-weight:700;line-height:1.6}.gate-form{gap:11px;display:grid}.gate-form input{border:1px solid var(--line-strong);background:var(--surface-strong);min-height:54px;color:var(--foreground);border-radius:0;padding:0 16px}.gate-form .button{margin-top:9px}.form-error{color:var(--danger);margin:0;font-size:11px;font-weight:700}.skeleton{background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--foreground) 8%, transparent), transparent), var(--surface-muted);background-size:200% 100%}.skeleton--line{width:34%;height:10px}.skeleton--question{width:78%;height:72px;margin-top:68px}.skeleton--input{height:154px;margin-top:48px}@media (prefers-reduced-motion:no-preference){.skeleton{animation:1.6s linear infinite skeleton-scan}@keyframes skeleton-scan{0%{background-position:200% 0}to{background-position:-200% 0}}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (max-width:900px){.dashboard-intro{grid-template-columns:minmax(0,1fr) minmax(250px,.55fr);gap:32px;min-height:0}.dashboard-intro h1{font-size:clamp(50px,8.7vw,76px)}.site-nav a{min-width:78px}}@media (max-width:767px){.app-frame:before{left:12px}.site-header__inner,.page-shell,.site-footer{width:min(100% - 24px,1280px)}.site-header__inner{gap:10px;min-height:66px}.brand{gap:9px}.brand__mark{width:34px;height:34px;font-size:16px}.brand strong{font-size:13px}.brand small{display:none}.site-nav{border-left:0}.site-nav a{border-left:1px solid var(--line);border-right:0;min-width:58px;font-size:11px}.site-nav a span{display:none}.page-shell{padding:32px 0 68px}.dashboard{gap:34px}.dashboard-intro{grid-template-columns:1fr;gap:34px;padding:38px 0 0}.dashboard-intro h1{max-width:8ch;font-size:clamp(46px,14vw,66px);line-height:1.02}.dashboard-intro__copy>p:not(.overline){margin-top:24px;font-size:14px}.dashboard-intro__plate{min-height:245px;box-shadow:none;padding:24px}.dashboard-intro__plate strong{font-size:42px}.metrics{grid-template-columns:1fr}.metrics article{min-height:104px;padding:23px 22px 20px 48px}.metrics article+article{border-top:1px solid var(--line);border-left:0}.coverage-note__heading{align-items:start;gap:12px;display:grid}.coverage-ledger{grid-template-columns:1fr}.coverage-ledger article{min-height:0;padding:22px 18px}.coverage-ledger article+article{border-top:1px solid var(--line);border-left:0}.course-plan{grid-template-columns:1fr}.course-plan li{grid-template-columns:32px minmax(0,1fr);gap:4px 12px;min-height:0;padding:18px}.course-plan li+li{border-top:1px solid var(--line);border-left:0}.course-plan span{grid-row:1/-1}.course-plan strong,.course-plan small{grid-column:2}.metrics article:before{top:18px;left:16px}.metrics strong{font-size:30px}.section-heading{align-items:start;gap:12px;display:grid}.section-heading h2{font-size:38px}.region-grid{grid-template-columns:1fr}.region-option{grid-template-columns:34px minmax(0,1fr) auto;gap:8px 14px;min-height:116px;padding:20px 16px 20px 12px}.region-option:nth-child(odd){border-right:0}.region-option:hover{padding-left:18px}.region-option__label{font-size:20px}.region-option strong{font-size:25px}.data-panel{grid-template-columns:1fr;align-items:start;gap:24px}.data-panel .action-row{grid-template-columns:1fr 1fr;display:grid}.exam-setup,.exam-summary{width:100%;box-shadow:none;border-left:0;border-right:0}.exam-setup{grid-template-columns:1fr}.exam-setup__intro{border-right:0;border-bottom:1px solid var(--line-strong);padding:30px}.exam-setup__intro h1,.exam-summary__heading h1{font-size:clamp(42px,13vw,58px)}.exam-setup__intro>p:last-child{max-width:40ch;margin-top:20px}.exam-config{gap:24px;padding:28px 20px 32px 30px}.exam-mode-options{grid-template-columns:1fr}.exam-mode-options label+label{border-top:0;border-left:1px solid var(--line-strong)}.exam-config__grid{grid-template-columns:1fr}.exam-config>.button{width:100%}.practical-clock{gap:16px 20px}.practical-clock>div:last-of-type{justify-items:end;gap:4px;display:grid}.practical-clock>div:last-of-type strong{font-size:24px}.speech-controls,.practical-error{grid-template-columns:1fr}.practical-error .button,.speech-controls .button{width:100%}.exam-summary{padding:30px 20px 36px 30px}.exam-summary__heading{align-items:start;gap:20px;padding-bottom:24px}.exam-summary__heading>strong{font-size:clamp(48px,16vw,68px)}.exam-summary__metrics{grid-template-columns:1fr}.exam-summary__metrics p{padding:20px 0}.exam-summary__metrics p+p{border-top:1px solid var(--line);border-left:0;padding-left:0}.exam-review-list li>div{grid-template-columns:28px minmax(0,1fr);gap:10px}.exam-review-list li small{grid-column:2}.exam-review-list dl{grid-template-columns:1fr;margin-left:38px}.exam-summary>.action-row{grid-template-columns:1fr;display:grid}.session-panel,.completion-panel,.empty-panel,.gate-panel,.login-panel{width:100%;box-shadow:none;border-left:0;border-right:0;padding:28px 20px 34px 30px}.session-panel:before,.completion-panel:before,.empty-panel:before,.gate-panel:before,.login-panel:before{left:18px}.session-meta{grid-template-columns:auto minmax(105px,42%);gap:18px}.question-block{padding:40px 0 30px}.question-block h1{max-width:none;font-size:clamp(14px, min(11vw, calc((100vw - 96px) / var(--title-token-length))), 50px);line-height:1.15}.label-plate{margin-bottom:28px;margin-right:-4px}.label-plate img{max-height:560px}.answer-form textarea{min-height:144px;padding:16px;font-size:16px}.answer-form--label textarea{min-height:96px}.answer-form--dual textarea{min-height:82px}.answer-form .button,.feedback>.button{width:100%}.socratic-actions{grid-template-columns:1fr;display:grid}.socratic-actions .button{width:100%}.feedback{margin-right:-4px;padding:22px 18px}.feedback__heading h2{font-size:30px}.completion-panel,.empty-panel{min-height:400px}.gate-panel h1,.login-panel h1,.completion-panel h1,.empty-panel h1{font-size:clamp(40px,12vw,54px)}.site-footer{align-items:start;font-size:8px}.account-strip{gap:8px;display:grid}}@media (max-width:420px){.site-nav a{min-width:48px;padding-inline:5px}.dashboard-intro__plate .button{min-height:54px}.data-panel .action-row{grid-template-columns:1fr}.feedback__heading{align-items:start}.socratic-panel__heading{align-items:start;display:grid}.site-footer p:last-child{display:none}}
