:root,[data-theme=light]{--bg-page:#f6f4ef;--bg-surface:#fff;--bg-sunken:#ece8df;--bg-scrim:#17211f8c;--text-primary:#17211f;--text-secondary:#46524f;--text-muted:#5a6562;--text-on-primary:#fff;--text-on-danger:#fff;--border-subtle:#d9d3c7;--border-strong:#7d8783;--primary:#0e5f58;--primary-hover:#0a4c46;--primary-pressed:#073b36;--primary-subtle:#e1eeea;--primary-text:#0b5650;--success:#1c6b3c;--success-subtle:#e3f1e7;--warning:#8a4b00;--warning-subtle:#fcefd9;--danger:#b3261e;--danger-hover:#921e17;--danger-pressed:#74170f;--danger-subtle:#fbe6e3;--flag:#b45f06;--focus-ring:#1f5fd1;--disabled-bg:#ece8df;--disabled-text:#7a8380;--disabled-border:#d9d3c7;--shadow-1:0 1px 2px #17211f14;--shadow-2:0 4px 12px #17211f1a;--shadow-3:0 12px 32px #17211f2e}[data-theme=dark]{--bg-page:#101614;--bg-surface:#18201e;--bg-sunken:#0b100f;--bg-scrim:#000000a6;--text-primary:#e9eeec;--text-secondary:#bac6c2;--text-muted:#9aa7a3;--text-on-primary:#04211d;--text-on-danger:#3a0b08;--border-subtle:#2e3a37;--border-strong:#6f7c78;--primary:#4fc1b2;--primary-hover:#6fd0c3;--primary-pressed:#8edcd1;--primary-subtle:#13302c;--primary-text:#6fd0c3;--success:#5cc98a;--success-subtle:#12301f;--warning:#f2b45a;--warning-subtle:#33240d;--danger:#ff8a80;--danger-hover:#ffa79f;--danger-pressed:#ffc2bc;--danger-subtle:#3a1513;--flag:#f2a65a;--focus-ring:#8ab4ff;--disabled-bg:#222b29;--disabled-text:#6c7774;--disabled-border:#2e3a37;--shadow-1:0 1px 2px #00000080;--shadow-2:0 4px 12px #0000008c;--shadow-3:0 12px 32px #0009}:root{--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-14:56px;--space-16:64px;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-full:999px;--control-sm:36px;--control-md:44px;--control-lg:48px;--option-min:56px;--measure:760px;--rail:328px;--duration-fast:.12s;--duration-base:.2s;--duration-slow:.32s;--duration-spin:.9s;--ease-standard:cubic-bezier(.2, 0, 0, 1);--ease-exit:cubic-bezier(.3, 0, 1, 1);--z-sticky:10;--z-banner:20;--z-dialog:30;--font-sans:"IBM Plex Sans", "Segoe UI", system-ui, sans-serif;--font-serif:"Source Serif 4", Georgia, "Times New Roman", serif;--font-mono:"IBM Plex Mono", Consolas, "Courier New", monospace}.display{font-family:var(--font-sans);letter-spacing:-.01em;font-size:32px;font-weight:600;line-height:40px}.heading-1{font-family:var(--font-sans);font-size:24px;font-weight:600;line-height:32px}.heading-2{font-family:var(--font-sans);font-size:20px;font-weight:600;line-height:28px}.heading-3{font-family:var(--font-sans);font-size:17px;font-weight:600;line-height:24px}.question{font-family:var(--font-serif);font-size:20px;font-weight:400;line-height:32px}.body-lg{font-family:var(--font-sans);font-size:17px;font-weight:400;line-height:26px}.body{font-family:var(--font-sans);font-size:15px;font-weight:400;line-height:24px}.label{font-family:var(--font-sans);font-size:15px;font-weight:500;line-height:20px}.caption{font-family:var(--font-sans);font-size:13px;font-weight:400;line-height:18px}.timer{font-family:var(--font-mono);font-size:24px;font-weight:600;line-height:28px}.key{font-family:var(--font-mono);font-size:14px;font-weight:600;line-height:20px}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/IBMPlexSans-Regular.0c_u524x_edqt.woff2)format("woff2")}@font-face{font-family:IBM Plex Sans;font-style:italic;font-weight:400;font-display:swap;src:url(../media/IBMPlexSans-Italic.238v2p9uuv13c.woff2)format("woff2")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/IBMPlexSans-Medium.09hoxsii3f0h-.woff2)format("woff2")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/IBMPlexSans-SemiBold.2ow68i6tlq0ib.woff2)format("woff2")}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:400;font-display:swap;src:url(../media/SourceSerif4-Regular.1haakc279vvue.woff2)format("woff2")}@font-face{font-family:"Source Serif 4";font-style:italic;font-weight:400;font-display:swap;src:url(../media/SourceSerif4-Italic.3wbizf66dlc47.woff2)format("woff2")}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:600;font-display:swap;src:url(../media/SourceSerif4-SemiBold.29k91063p5d7u.woff2)format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/IBMPlexMono-Medium.2aowb655hzo9u.woff2)format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/IBMPlexMono-SemiBold.0-k81p_n2_mkc.woff2)format("woff2")}
.ek-root{font-family:var(--font-sans);color:var(--text-primary);background:var(--bg-page);-webkit-font-smoothing:antialiased}.ek-root *,.ek-root :before,.ek-root :after{box-sizing:border-box}.ek-sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.ek-icon{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;width:18px;height:18px}.ek-focusable:focus-visible,.ek-btn:focus-visible,.ek-btn.is-focus,.ek-input:focus-visible,.ek-input.is-focus,.ek-navcell:focus-visible,.ek-navcell.is-focus,.ek-examcard:focus-visible,.ek-examcard.is-focus,.ek-link:focus-visible,.ek-link.is-focus,.ek-essay__input:focus-visible,.ek-essay__input.is-focus{outline:2px solid var(--focus-ring);outline-offset:2px}.ek-spinner{border-radius:var(--radius-full);width:18px;height:18px;animation:ek-spin var(--duration-spin) linear infinite;border:2px solid;border-right-color:#0000;flex-shrink:0}.ek-spinner--lg{border-width:3px;width:32px;height:32px}@keyframes ek-spin{to{transform:rotate(360deg)}}.ek-skeleton{background:var(--bg-sunken);border-radius:var(--radius-sm)}@media (prefers-reduced-motion:reduce){.ek-spinner{animation-duration:1.6s}}.ek-btn{justify-content:center;align-items:center;gap:var(--space-2);height:var(--control-md);border-radius:var(--radius-md);font:500 15px/20px var(--font-sans);cursor:pointer;white-space:nowrap;transition:background-color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard);border:1px solid #0000;padding:0 18px;text-decoration:none;display:inline-flex}.ek-btn--lg{height:var(--control-lg);padding:0 24px;font-weight:600}.ek-btn--block{width:100%;display:flex}.ek-btn--primary{background:var(--primary);color:var(--text-on-primary);font-weight:600}.ek-btn--primary:hover,.ek-btn--primary.is-hover{background:var(--primary-hover)}.ek-btn--primary:active,.ek-btn--primary.is-pressed{background:var(--primary-pressed)}.ek-btn--secondary{background:var(--bg-surface);color:var(--text-primary);border-color:var(--border-strong)}.ek-btn--secondary:hover,.ek-btn--secondary.is-hover{background:var(--bg-sunken)}.ek-btn--secondary:active,.ek-btn--secondary.is-pressed{background:var(--border-subtle)}.ek-btn--soft{background:var(--primary-subtle);color:var(--primary-text);border-color:var(--primary);font-weight:600}.ek-btn--soft:hover,.ek-btn--soft.is-hover{background:var(--bg-surface)}.ek-btn--soft:active,.ek-btn--soft.is-pressed{background:var(--border-subtle)}.ek-btn--ghost{color:var(--primary-text);background:0 0}.ek-btn--ghost:hover,.ek-btn--ghost.is-hover{background:var(--primary-subtle)}.ek-btn--ghost:active,.ek-btn--ghost.is-pressed{background:var(--border-subtle)}.ek-btn--flag{background:var(--bg-surface);color:var(--warning);border-color:var(--border-strong)}.ek-btn--flag:hover,.ek-btn--flag.is-hover{background:var(--warning-subtle)}.ek-btn--flag:active,.ek-btn--flag.is-pressed{background:var(--border-subtle)}.ek-btn--flag[aria-pressed=true],.ek-btn--flag.is-on{background:var(--warning-subtle);border-color:var(--warning);font-weight:600}.ek-btn--danger{background:var(--danger);color:var(--text-on-danger);font-weight:600}.ek-btn--danger:hover,.ek-btn--danger.is-hover{background:var(--danger-hover)}.ek-btn--danger:active,.ek-btn--danger.is-pressed{background:var(--danger-pressed)}.ek-btn:disabled,.ek-btn.is-disabled,.ek-btn[aria-disabled=true]{background:var(--disabled-bg);color:var(--disabled-text);border-color:var(--disabled-border);cursor:not-allowed}.ek-btn.is-loading{cursor:progress}.ek-btn.is-loading .ek-btn__icon{display:none}.ek-btn-error{align-items:flex-start;gap:var(--space-2);margin-top:var(--space-2);color:var(--danger);font:400 13px/18px var(--font-sans);display:flex}.ek-field{flex-direction:column;gap:6px;display:flex}.ek-field__label{font:500 15px/20px var(--font-sans);color:var(--text-primary)}.ek-field__hint{font:400 13px/18px var(--font-sans);color:var(--text-secondary)}.ek-field__error{font:500 13px/18px var(--font-sans);color:var(--danger);align-items:flex-start;gap:6px;display:flex}.ek-field__control{align-items:center;display:flex;position:relative}.ek-input{width:100%;height:var(--control-md);border-radius:var(--radius-md);border:1px solid var(--border-strong);background:var(--bg-surface);color:var(--text-primary);font:400 17px/24px var(--font-sans);transition:border-color var(--duration-fast) var(--ease-standard);padding:0 14px}.ek-input::placeholder{color:var(--text-muted)}.ek-input:hover,.ek-input.is-hover{border-color:var(--text-secondary)}.ek-input:focus-visible,.ek-input.is-focus{border-color:var(--primary)}.ek-input:disabled,.ek-input.is-disabled{background:var(--disabled-bg);border-color:var(--disabled-border);color:var(--disabled-text);cursor:not-allowed}.ek-input[aria-invalid=true],.ek-input.is-error{border:2px solid var(--danger);background:var(--danger-subtle);padding:0 13px}.ek-field__control .ek-input--with-suffix{padding-right:52px}.ek-field__suffix{min-width:44px;height:36px;color:var(--text-secondary);border-radius:var(--radius-sm);font:500 13px var(--font-sans);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;display:flex;position:absolute;right:4px}.ek-field__suffix:hover{color:var(--text-primary);background:var(--bg-sunken)}.ek-field__suffix:focus-visible{outline:2px solid var(--focus-ring);outline-offset:0}.ek-check{cursor:pointer;font:400 15px/24px var(--font-sans);color:var(--text-primary);align-items:flex-start;gap:12px;min-height:44px;padding:10px 0;display:flex}.ek-check__box{border-radius:var(--radius-sm);border:2px solid var(--border-strong);background:var(--bg-surface);color:#0000;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;margin-top:1px;display:flex}.ek-check:hover .ek-check__box,.ek-check.is-hover .ek-check__box{border-color:var(--text-secondary)}.ek-check input:focus-visible+.ek-check__box,.ek-check.is-focus .ek-check__box{outline:2px solid var(--focus-ring);outline-offset:2px}.ek-check input:checked+.ek-check__box,.ek-check.is-checked .ek-check__box{background:var(--primary);border-color:var(--primary);color:var(--text-on-primary)}.ek-check.is-pressed .ek-check__box{background:var(--primary-subtle);border-color:var(--primary)}.ek-check.is-disabled{color:var(--disabled-text);cursor:not-allowed}.ek-check.is-disabled .ek-check__box{background:var(--disabled-bg);border-color:var(--disabled-border)}.ek-check.is-error .ek-check__box{border-color:var(--danger);background:var(--danger-subtle)}.ek-check input{opacity:0;width:1px;height:1px;position:absolute}.ek-option{align-items:center;gap:var(--space-4);min-height:var(--option-min);padding:10px var(--space-4);border-radius:var(--radius-md);background:var(--bg-surface);border:1px solid var(--border-subtle);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard);display:flex;position:relative}.ek-option input{opacity:0;width:1px;height:1px;position:absolute}.ek-option__radio{border-radius:var(--radius-full);border:2px solid var(--border-strong);background:var(--bg-surface);flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;display:flex}.ek-option__key{border-radius:var(--radius-sm);background:var(--bg-sunken);width:28px;height:28px;color:var(--text-primary);font:600 14px/20px var(--font-mono);flex-shrink:0;justify-content:center;align-items:center;display:flex}.ek-option__text{font:400 17px/26px var(--font-sans);color:var(--text-primary);flex:1}.ek-option__status{font:400 13px/18px var(--font-sans);color:var(--text-secondary);align-items:center;gap:6px;display:flex}.ek-option:hover,.ek-option.is-hover{border-color:var(--border-strong);background:var(--bg-page)}.ek-option.is-focus{outline:2px solid var(--focus-ring);outline-offset:2px}.ek-option:has(input:focus-visible){outline:2px solid var(--focus-ring);outline-offset:2px}.ek-option:active,.ek-option.is-pressed{background:var(--primary-subtle);border-color:var(--border-strong)}.ek-option.is-selected{background:var(--primary-subtle);border:2px solid var(--primary);padding:9px 15px}.ek-option:has(input:checked){background:var(--primary-subtle);border:2px solid var(--primary);padding:9px 15px}.ek-option.is-selected .ek-option__radio{border-color:var(--primary)}.ek-option:has(input:checked) .ek-option__radio{border-color:var(--primary)}.ek-option.is-selected .ek-option__radio:after{content:"";border-radius:var(--radius-full);background:var(--primary);width:10px;height:10px}.ek-option:has(input:checked) .ek-option__radio:after{content:"";border-radius:var(--radius-full);background:var(--primary);width:10px;height:10px}.ek-option.is-selected .ek-option__key{background:var(--primary);color:var(--text-on-primary)}.ek-option:has(input:checked) .ek-option__key{background:var(--primary);color:var(--text-on-primary)}.ek-option.is-disabled{cursor:not-allowed;background:var(--disabled-bg);border-color:var(--disabled-border)}.ek-option:has(input:disabled){cursor:not-allowed;background:var(--disabled-bg);border-color:var(--disabled-border)}.ek-option.is-disabled .ek-option__text{color:var(--disabled-text)}.ek-option:has(input:disabled) .ek-option__text{color:var(--disabled-text)}.ek-option.is-error{border:2px solid var(--danger);background:var(--danger-subtle);padding:9px 15px}.ek-option.is-error .ek-option__status{color:var(--danger);font-weight:500}.ek-navgrid{grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;display:grid}.ek-navcell{height:var(--control-sm);border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--bg-surface);min-width:36px;color:var(--text-primary);font:600 14px/20px var(--font-sans);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-standard);padding:0;position:relative}.ek-navcell:hover,.ek-navcell.is-hover{background:var(--bg-sunken)}.ek-navcell:active,.ek-navcell.is-pressed{background:var(--border-subtle)}.ek-navcell.is-answered{background:var(--primary);border-color:var(--primary);color:var(--text-on-primary)}.ek-navcell.is-answered:hover,.ek-navcell.is-answered.is-hover{background:var(--primary-hover)}.ek-navcell.is-answered:active,.ek-navcell.is-answered.is-pressed{background:var(--primary-pressed)}.ek-navcell[aria-current=true],.ek-navcell.is-current{border:2px solid var(--text-primary);box-shadow:inset 0 -5px 0 var(--text-primary)}.ek-navcell.is-answered[aria-current=true],.ek-navcell.is-answered.is-current{border-color:var(--text-primary);box-shadow:inset 0 -5px 0 var(--text-on-primary)}.ek-navcell__flag{width:12px;height:12px;position:absolute;top:2px;right:2px}.ek-navcell__flag circle{fill:var(--bg-surface)}.ek-navcell__flag path{fill:var(--flag)}.ek-navcell__unsaved{border-radius:var(--radius-full);background:var(--danger);width:8px;height:8px;box-shadow:0 0 0 2px var(--bg-surface);position:absolute;bottom:3px;left:3px}.ek-navcell:disabled,.ek-navcell.is-disabled{background:var(--disabled-bg);border-color:var(--disabled-border);color:var(--disabled-text);cursor:not-allowed}.ek-navcell.is-loading{color:#0000}.ek-navcell.is-loading:before{content:"";border-radius:var(--radius-full);border:2px solid var(--text-on-primary);width:14px;height:14px;animation:ek-spin var(--duration-spin) linear infinite;border-right-color:#0000;margin:auto;position:absolute;inset:0}.ek-navlegend{font:400 13px/18px var(--font-sans);color:var(--text-secondary);grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.ek-navlegend li{align-items:center;gap:8px;display:flex}.ek-timer{height:var(--control-md);border-radius:var(--radius-md);border:1px solid var(--border-subtle);background:var(--bg-page);color:var(--text-primary);align-items:center;gap:10px;padding:0 14px;display:inline-flex}.ek-timer__label{font:400 13px/18px var(--font-sans);color:var(--text-secondary)}.ek-timer__value{font:600 24px/28px var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:.01em}.ek-timer.is-warning{background:var(--warning-subtle);border-color:var(--warning);color:var(--warning)}.ek-timer.is-warning .ek-timer__label{color:var(--warning)}.ek-timer.is-critical{background:var(--danger-subtle);border:2px solid var(--danger);color:var(--danger);padding:0 13px}.ek-timer.is-critical .ek-timer__label{color:var(--danger);font-weight:500}.ek-timer.is-paused,.ek-timer.is-syncing{background:var(--bg-sunken);color:var(--text-secondary)}.ek-timer.is-offline{background:var(--bg-surface);border:1px dashed var(--border-strong);color:var(--text-primary)}.ek-timer.is-offline .ek-timer__label{color:var(--text-secondary)}.ek-save{font:400 14px/20px var(--font-sans);color:var(--success);align-items:center;gap:8px;display:inline-flex}.ek-save.is-saving{color:var(--text-secondary)}.ek-save.is-offline{color:var(--warning)}.ek-save.is-error{color:var(--danger);font-weight:500}.ek-alert{padding:14px var(--space-4);border-radius:var(--radius-md);font:400 15px/24px var(--font-sans);color:var(--text-primary);border:1px solid;align-items:flex-start;gap:12px;display:flex}.ek-alert__title{font-weight:600;display:block}.ek-alert__actions{align-self:center;gap:8px;margin-left:auto;display:flex}.ek-alert--info{background:var(--primary-subtle);border-color:var(--primary)}.ek-alert--info>.ek-icon{color:var(--primary-text)}.ek-alert--success{background:var(--success-subtle);border-color:var(--success)}.ek-alert--success>.ek-icon{color:var(--success)}.ek-alert--warning{background:var(--warning-subtle);border-color:var(--warning)}.ek-alert--warning>.ek-icon{color:var(--warning)}.ek-alert--danger{background:var(--danger-subtle);border-color:var(--danger)}.ek-alert--danger>.ek-icon{color:var(--danger)}.ek-alert--floating{box-shadow:var(--shadow-2)}.ek-alert__close{width:36px;height:36px;color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;display:flex}.ek-alert__close:hover{background:var(--bg-surface);color:var(--text-primary)}.ek-alert__close:focus-visible{outline:2px solid var(--focus-ring);outline-offset:0}.ek-badge{border-radius:var(--radius-sm);height:26px;font:500 13px/18px var(--font-sans);background:var(--bg-sunken);color:var(--text-primary);white-space:nowrap;align-items:center;gap:6px;padding:0 10px;display:inline-flex}.ek-badge--info{background:var(--primary-subtle);color:var(--primary-text)}.ek-badge--success{background:var(--success-subtle);color:var(--success)}.ek-badge--warning{background:var(--warning-subtle);color:var(--warning)}.ek-badge--danger{background:var(--danger-subtle);color:var(--danger)}.ek-badge .ek-icon{width:14px;height:14px}.ek-progress{background:var(--bg-sunken);border-radius:3px;height:6px;overflow:hidden}.ek-progress__bar{background:var(--primary);height:100%;transition:width var(--duration-base) var(--ease-standard);border-radius:3px}.ek-examcard{gap:var(--space-4) var(--space-6);padding:var(--space-6);border-radius:var(--radius-lg);border:1px solid var(--border-subtle);background:var(--bg-surface);box-shadow:var(--shadow-1);color:var(--text-primary);grid-template-columns:minmax(0,1fr) auto;align-items:center;text-decoration:none;display:grid}.ek-examcard__title{font:600 17px/24px var(--font-sans);margin:0}.ek-examcard__code{font:500 13px/18px var(--font-sans);color:var(--primary-text);letter-spacing:.04em}.ek-examcard__meta{font:400 14px/20px var(--font-sans);color:var(--text-secondary);flex-wrap:wrap;gap:4px 16px;margin:0;padding:0;list-style:none;display:flex}.ek-examcard.is-open{border:2px solid var(--primary);padding:23px}.ek-examcard.is-hover,.ek-examcard:hover{border-color:var(--border-strong)}.ek-examcard.is-open.is-hover,.ek-examcard.is-open:hover{border-color:var(--primary-hover)}.ek-examcard.is-pressed{background:var(--primary-subtle)}.ek-examcard.is-disabled{background:var(--bg-page);box-shadow:none}.ek-examcard.is-disabled .ek-examcard__title{color:var(--text-secondary)}.ek-examcard.is-error{border:2px solid var(--danger);padding:23px}.ek-essay{flex-direction:column;gap:8px;display:flex}.ek-essay__input{width:100%;min-height:280px;padding:var(--space-4);border-radius:var(--radius-md);border:1px solid var(--border-strong);background:var(--bg-surface);color:var(--text-primary);font:400 17px/28px var(--font-sans);resize:vertical}.ek-essay__input:hover,.ek-essay__input.is-hover{border-color:var(--text-secondary)}.ek-essay__input:focus-visible,.ek-essay__input.is-focus{border-color:var(--primary)}.ek-essay__input:disabled,.ek-essay__input.is-disabled{background:var(--disabled-bg);color:var(--disabled-text);border-color:var(--disabled-border)}.ek-essay__input.is-error{border:2px solid var(--danger)}.ek-essay__foot{font:400 13px/18px var(--font-sans);color:var(--text-secondary);justify-content:space-between;align-items:center;display:flex}.ek-essay__count.is-warning{color:var(--warning);font-weight:500}.ek-essay__count.is-error{color:var(--danger);font-weight:600}.ek-scrim{background:var(--bg-scrim);padding:var(--space-6);z-index:var(--z-dialog);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.ek-scrim--inline{min-height:100%;position:relative;inset:auto}.ek-dialog{background:var(--bg-surface);border-radius:var(--radius-lg);width:100%;max-width:520px;box-shadow:var(--shadow-3);padding:var(--space-8);gap:var(--space-5);color:var(--text-primary);flex-direction:column;display:flex}.ek-dialog__title{font:600 20px/28px var(--font-sans);margin:0}.ek-dialog__body{font:400 15px/24px var(--font-sans);color:var(--text-secondary);margin:0}.ek-dialog__actions{justify-content:flex-end;gap:var(--space-3);flex-wrap:wrap;display:flex}.ek-kbd{border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--bg-surface);min-width:22px;height:22px;font:600 13px/1 var(--font-mono);color:var(--text-secondary);justify-content:center;align-items:center;padding:0 5px;display:inline-flex}.ek-segment{border:1px solid var(--border-strong);border-radius:var(--radius-md);margin:0;padding:0;display:inline-flex;overflow:hidden}.ek-segment label{min-height:var(--control-md);font:500 15px/20px var(--font-sans);background:var(--bg-surface);color:var(--text-primary);cursor:pointer;align-items:center;padding:0 16px;display:flex;position:relative}.ek-segment label+label{border-left:1px solid var(--border-strong)}.ek-segment input{opacity:0;width:1px;height:1px;position:absolute}.ek-segment label:hover,.ek-segment label.is-hover{background:var(--bg-sunken)}.ek-segment label.is-checked{background:var(--primary);color:var(--text-on-primary)}.ek-segment label:has(input:checked){background:var(--primary);color:var(--text-on-primary)}.ek-segment label.is-focus{outline:2px solid var(--focus-ring);outline-offset:-4px}.ek-segment label:has(input:focus-visible){outline:2px solid var(--focus-ring);outline-offset:-4px}.ek-segment label.is-disabled{background:var(--disabled-bg);color:var(--disabled-text);cursor:not-allowed}.ek-segment label:has(input:disabled){background:var(--disabled-bg);color:var(--disabled-text);cursor:not-allowed}.ek-filter{height:var(--control-md);border-radius:var(--radius-md);border:1px solid var(--border-strong);background:var(--bg-surface);color:var(--text-primary);font:500 15px/20px var(--font-sans);cursor:pointer;align-items:center;gap:8px;padding:0 16px;display:inline-flex}.ek-filter:hover,.ek-filter.is-hover{background:var(--bg-sunken)}.ek-filter:focus-visible,.ek-filter.is-focus{outline:2px solid var(--focus-ring);outline-offset:2px}.ek-filter[aria-pressed=true],.ek-filter.is-on{background:var(--text-primary);border-color:var(--text-primary);color:var(--bg-surface)}.ek-filter__count{font-variant-numeric:tabular-nums;color:inherit;opacity:1}.ek-tab{height:100%;font:500 15px/20px var(--font-sans);color:var(--text-secondary);align-items:center;padding:0 14px;text-decoration:none;display:flex}.ek-tab:hover,.ek-tab.is-hover{color:var(--text-primary);background:var(--bg-sunken)}.ek-tab:focus-visible,.ek-tab.is-focus{outline:2px solid var(--focus-ring);outline-offset:-4px}.ek-tab[aria-current=page]{color:var(--text-primary);box-shadow:inset 0 -3px 0 var(--primary);font-weight:600}.ek-banner-slot{flex-direction:column;gap:8px;padding:12px 56px 0;display:flex}:root[data-text-size=large] body{zoom:1.2}.ek-link{color:var(--primary-text);text-underline-offset:3px;border-radius:2px;font-weight:500;text-decoration:underline}.ek-link:hover,.ek-link.is-hover{text-decoration-thickness:2px}
:root{--zoom:1}:root[data-text-size=large]{--zoom:1.2}:root[data-text-size=largest]{--zoom:1.4}:root[data-text-size=largest] body{zoom:1.4}html,body{margin:0;padding:0}body{background:var(--bg-page);color:var(--text-primary);font-family:var(--font-sans);-webkit-font-smoothing:antialiased}*,:before,:after{box-sizing:border-box}h1,h2,h3,p,dl,dd,ul,ol,figure{margin:0}button{font:inherit}.page{min-height:calc(100dvh / var(--zoom));background:var(--bg-page);flex-direction:column;display:flex}.page--fixed{height:calc(100dvh / var(--zoom));overflow:hidden}.skip{z-index:100;background:var(--bg-surface);border:2px solid var(--focus-ring);border-radius:var(--radius-md);color:var(--text-primary);padding:10px 14px;font-weight:600;position:absolute;top:-48px;left:12px}.skip:focus{top:12px}.brand{letter-spacing:.08em;color:var(--primary-text);white-space:nowrap;font-size:13px;font-weight:600}.muted{color:var(--text-secondary)}.who{font-size:14px}.who b{font-weight:600}.pheader{background:var(--bg-surface);border-bottom:1px solid var(--border-subtle);flex-shrink:0;align-items:stretch;gap:32px;height:64px;padding:0 40px;display:flex}.pheader>.brand,.pheader>.who{align-self:center}.pheader nav{gap:4px;display:flex}.pheader .push{margin-left:auto}.pheader .btn-center{align-self:center}.sheader{background:var(--bg-surface);border-bottom:1px solid var(--border-subtle);flex-shrink:0;align-items:center;gap:16px;height:64px;padding:0 40px;display:flex}.sheader .who{margin-left:auto}.ek-btn{text-decoration:none}.signin-top{align-items:center;gap:12px;height:64px;padding:0 40px;display:flex}.signin-main{flex:1;justify-content:center;align-items:center;padding:16px 16px 40px;display:flex}.card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);width:100%;box-shadow:var(--shadow-1)}.card--form{flex-direction:column;gap:20px;max-width:440px;padding:40px;display:flex}.card--receipt{flex-direction:column;gap:22px;max-width:560px;padding:40px;display:flex}.stack{flex-direction:column;gap:6px;display:flex}.h-title{font-size:24px;font-weight:600;line-height:32px}.h-display{letter-spacing:-.01em;font-size:32px;font-weight:600;line-height:40px}.lede{color:var(--text-secondary);font-size:15px;line-height:24px}.footer-bar{height:56px;color:var(--text-secondary);border-top:1px solid var(--border-subtle);flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;padding:0 40px;font-size:13px;display:flex}.details{font-size:14px;line-height:21px}.details summary{cursor:pointer;width:max-content}.details p{color:var(--text-secondary);margin-top:8px}.btn-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.ek-alert>div{min-width:0}.ek-alert .ek-icon{margin-top:3px}.eyebrow{background:var(--bg-sunken);font:600 13px var(--font-mono);border-radius:4px;align-self:flex-start;padding:4px 8px}.content{flex:1;padding:40px 24px}.content--880{flex-direction:column;gap:28px;width:min(880px,100%);margin:0 auto;display:flex}.content--960{flex-direction:column;gap:20px;width:min(960px,100%);margin:0 auto;display:flex}.content--760{flex-direction:column;gap:24px;width:min(760px,100%);margin:0 auto;display:flex}.section{flex-direction:column;gap:12px;display:flex}.section>h2{color:var(--text-secondary);font-size:15px;font-weight:600}.examcard-text{flex-direction:column;gap:6px;min-width:0;display:flex}.table-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);overflow:hidden}.table-card>h2{background:var(--bg-sunken);padding:14px 24px;font-size:15px;font-weight:600}.rt{border-collapse:collapse;width:100%;font-size:15px}.rt th,.rt td{text-align:left;vertical-align:middle;padding:14px 8px}.rt thead th{color:var(--text-secondary);padding-top:12px;padding-bottom:12px;font-size:13px;font-weight:500}.rt th:first-child,.rt td:first-child{padding-left:24px}.rt th:last-child,.rt td:last-child{padding-right:24px}.rt tbody tr{border-top:1px solid var(--border-subtle)}.rt .num{text-align:right}.rt .strong{font-weight:600}.skeleton-list{flex-direction:column;gap:12px;display:flex}.empty{background:var(--bg-surface);border:1px dashed var(--border-strong);border-radius:var(--radius-lg);flex-direction:column;align-items:flex-start;gap:12px;padding:32px;display:flex}.empty h2{color:var(--text-primary);font-size:20px;font-weight:600;line-height:28px}.summary-grid{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-1);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.summary-grid>div{flex-direction:column;gap:4px;padding:24px;display:flex}.summary-grid>div+div{border-left:1px solid var(--border-subtle)}.summary-grid .big{font-size:32px;font-weight:600;line-height:40px}.summary-grid .big small{color:var(--text-secondary);font-size:20px;font-weight:400}.summary-grid .label{color:var(--text-secondary);font-size:13px}.instr{flex:1;grid-template-columns:minmax(0,1fr) 400px;gap:40px;min-height:0;padding:28px 56px 0;display:grid}.instr__left{flex-direction:column;gap:20px;min-height:0;padding:0 8px 28px 0;display:flex;overflow:auto}.instr__left h2{font-size:17px;font-weight:600;line-height:24px}.instr__left ul,.instr__left ol{flex-direction:column;gap:6px;padding-left:22px;font-size:17px;line-height:26px;display:flex}.instr__right{min-height:0;padding-bottom:28px;overflow:auto}.panel{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-1);flex-direction:column;gap:18px;padding:24px;display:flex}.facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px;display:grid}.facts dt{color:var(--text-secondary);font-size:13px}.facts dd{font-size:20px;font-weight:600;line-height:28px}.practice{background:var(--bg-surface);border:1px dashed var(--border-strong);border-radius:var(--radius-lg);flex-direction:column;gap:12px;padding:20px;display:flex}.practice p.stem{font-family:var(--font-serif);font-size:18px;line-height:28px}.setting{justify-content:space-between;align-items:center;gap:12px;display:flex}.setting>span{color:var(--text-secondary);font-size:14px}.settings{border:0;border-top:1px solid var(--border-subtle);flex-direction:column;gap:10px;margin:0;padding:16px 0 0;display:flex}.settings legend{float:left;margin-bottom:4px;padding:0;font-size:15px;font-weight:500}.settings .setting:first-of-type{clear:both}.ok-line{color:var(--success);align-items:center;gap:8px;font-size:14px;display:flex}.ok-line .ek-icon{width:16px;height:16px}.fineprint{color:var(--text-secondary);text-align:center;font-size:13px;line-height:18px}.exam{height:calc(100dvh / var(--zoom));background:var(--bg-page);flex-direction:column;display:flex;position:relative;overflow:hidden}.eheader{background:var(--bg-surface);border-bottom:1px solid var(--border-subtle);flex-shrink:0;align-items:center;gap:20px;height:64px;padding:0 24px;display:flex}.eheader__title{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.eheader__title span:last-child{white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:600;overflow:hidden}.eheader__who{border-left:1px solid var(--border-subtle);flex-direction:column;align-items:flex-end;gap:2px;padding-left:20px;display:flex}.eheader__who b{white-space:nowrap;font-size:14px;font-weight:600}.eheader__who span{color:var(--text-secondary);white-space:nowrap;font-size:13px}.ebody{flex:1;min-height:0;display:flex;position:relative}.emain{flex-direction:column;flex:1;min-width:0;display:flex}.escroll{flex:1;min-height:0;padding:32px 56px 20px;overflow:auto}.measure{max-width:var(--measure);flex-direction:column;gap:20px;display:flex}.qhead{flex-wrap:wrap;align-items:center;gap:6px 10px;display:flex}.qhead h1{font-size:17px;font-weight:600;line-height:24px}.qhead h1:focus{outline:none}.qhead .meta{color:var(--text-secondary);font-size:14px}.stem{font-family:var(--font-serif);font-size:20px;line-height:32px}.options{border:0;flex-direction:column;gap:10px;margin:0;padding:0;display:flex}.clear-row{align-items:center;gap:12px;min-height:44px;display:flex}.clear-row .note{color:var(--text-secondary);align-items:center;gap:8px;font-size:14px;display:flex}.eactions{border-top:1px solid var(--border-subtle);background:var(--bg-surface);flex-shrink:0;align-items:center;gap:12px;height:76px;padding:0 56px;display:flex}.eactions .spacer{color:var(--text-secondary);margin-left:auto;font-size:13px}.eactions .only-narrow{display:none}.erail{width:var(--rail);background:var(--bg-surface);border-left:1px solid var(--border-subtle);flex-direction:column;flex-shrink:0;min-height:0;display:flex}.erail__top{flex-direction:column;flex-shrink:0;gap:14px;padding:24px 24px 16px;display:flex}.erail__top .row{justify-content:space-between;align-items:baseline;display:flex}.erail__top h2{font-size:17px;font-weight:600;line-height:24px}.erail__top .count{color:var(--text-secondary);font-size:13px}.erail__grid{flex-direction:column;flex:1;gap:16px;min-height:0;padding:4px 24px 24px;display:flex;overflow:auto}.legend-swatch{border-radius:3px;width:16px;height:16px}.ebody[data-narrow=true] .erail{z-index:var(--z-banner);box-shadow:var(--shadow-3);visibility:hidden;transition:transform var(--duration-slow) var(--ease-standard), visibility 0s linear var(--duration-slow);position:absolute;top:0;bottom:0;right:0;transform:translate(100%)}.ebody[data-narrow=true] .erail[data-open=true]{visibility:visible;transition-delay:0s;transform:none}.ebody[data-narrow=true] .eactions .only-narrow{display:inline-flex}.erail-scrim{background:var(--bg-scrim);z-index:calc(var(--z-banner) - 1);position:absolute;inset:0}.erail .close-narrow{display:none}.ebody[data-narrow=true] .erail .close-narrow{display:inline-flex}@media (prefers-reduced-motion:reduce){.ebody[data-narrow=true] .erail{transition:none}}.banner-slot{flex-direction:column;gap:8px;padding:12px 56px 0;display:flex}.banner-slot .ek-alert{max-width:var(--measure)}.overlay{background:var(--bg-scrim);z-index:var(--z-dialog);justify-content:center;align-items:center;padding:24px;display:flex;position:absolute;inset:64px 0 0}.overlay-icon{background:var(--bg-sunken);border-radius:999px;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.overlay-icon .ek-icon{width:24px;height:24px}.tip{background:var(--primary-subtle);border-bottom:1px solid var(--border-subtle);align-items:center;gap:12px;padding:8px 56px;font-size:14px;line-height:20px;display:flex}.tip .ek-icon{color:var(--primary-text)}.tip .ek-btn{margin-left:auto}.drawer{background:var(--bg-surface);border-left:1px solid var(--border-strong);width:min(400px,100%);box-shadow:var(--shadow-3);z-index:var(--z-dialog);padding:24px;position:absolute;top:64px;bottom:0;right:0;overflow:auto}.drawer__head{justify-content:space-between;align-items:center;gap:12px;display:flex}.drawer__head h2{font:600 20px/28px var(--font-sans)}.drow{border-bottom:1px solid var(--border-subtle);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;padding:14px 0;display:flex}.drow>div:first-child{flex:150px;min-width:0}.drow b{font:600 15px/22px var(--font-sans);display:block}.drow small{font:400 14px/20px var(--font-sans);color:var(--text-secondary);display:block}.drawer h3{font:600 15px/22px var(--font-sans);margin:20px 0 8px}.msgs{font:400 14px/20px var(--font-sans);margin:0;padding:0;list-style:none}.msgs li{border-bottom:1px solid var(--border-subtle);padding:10px 0}.review{flex:1;grid-template-columns:minmax(0,1fr) 360px;gap:32px;min-height:0;padding:28px 56px 0;display:grid}.review main{flex-direction:column;gap:16px;min-height:0;padding-bottom:28px;display:flex}.review__head{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.review__head h1{font-size:24px;font-weight:600;line-height:32px}.review__head h1:focus{outline:none}.review__head span{color:var(--text-secondary);font-size:14px}.filters{flex-wrap:wrap;gap:8px;display:flex}.qlist{border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--bg-surface);flex:1;min-height:0;overflow:auto}.qlist table{border-collapse:collapse;width:100%;font-size:15px}.qlist th,.qlist td{text-align:left;padding:10px 8px}.qlist thead th{background:var(--bg-surface);color:var(--text-secondary);border-bottom:1px solid var(--border-subtle);padding-top:12px;padding-bottom:12px;font-size:13px;font-weight:500;position:sticky;top:0}.qlist tbody tr{border-bottom:1px solid var(--border-subtle)}.qlist th:first-child,.qlist td:first-child{width:60px;padding-left:20px}.qlist th:last-child,.qlist td:last-child{text-align:right;padding-right:20px}.qlist tbody th{font-weight:600}.qlist .cell-status{flex-wrap:wrap;align-items:center;gap:8px;display:inline-flex}.review aside{align-self:start}.review aside dl{flex-direction:column;gap:10px;font-size:15px;display:flex}.review aside dl div{justify-content:space-between;gap:12px;display:flex}.review aside dl dt{align-items:center;gap:6px;display:flex}.review aside dl dd{font-weight:600}.review aside dl .is-danger{color:var(--danger)}.review aside dl .is-warn{color:var(--warning)}.review aside dl .ek-icon{width:16px;height:16px}.badge-round{background:var(--success-subtle);width:48px;height:48px;color:var(--success);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.badge-round .ek-icon{stroke-width:2.4px;width:26px;height:26px}.receipt-dl{border-top:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);grid-template-columns:160px minmax(0,1fr);gap:10px 16px;padding:18px 0;font-size:15px;display:grid}.receipt-dl dt{color:var(--text-secondary)}.receipt-dl .ref{font-family:var(--font-mono);letter-spacing:.04em;font-weight:600}.privacy{color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;display:flex}.demo{z-index:60;font:400 13px/18px var(--font-sans);position:fixed;bottom:22px;left:372px}.demo__toggle{border-radius:var(--radius-md);border:1px dashed var(--border-strong);background:var(--bg-surface);height:32px;color:var(--text-secondary);cursor:pointer;padding:0 12px}.demo__panel{background:var(--bg-surface);border:1px solid var(--border-strong);border-radius:var(--radius-lg);width:300px;max-height:70dvh;box-shadow:var(--shadow-3);color:var(--text-primary);flex-direction:column;gap:10px;margin-bottom:8px;padding:14px;display:flex;overflow:auto}.demo__panel h2{font:600 14px/20px var(--font-sans)}.demo__panel p{color:var(--text-secondary)}.demo__grid{flex-wrap:wrap;gap:6px;display:flex}.demo__grid button{border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--bg-page);height:30px;color:var(--text-primary);cursor:pointer;font:500 13px var(--font-sans);padding:0 10px}.demo__grid button:hover{background:var(--bg-sunken)}.demo__grid button:focus-visible,.demo__toggle:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}@media (max-width:1100px){.instr{grid-template-columns:minmax(0,1fr);padding:24px;overflow:auto}.instr__left,.instr__right{overflow:visible}.review{grid-template-columns:minmax(0,1fr);padding:24px;overflow:auto}.pheader,.sheader,.signin-top,.footer-bar{padding-left:24px;padding-right:24px}.escroll,.eactions,.banner-slot{padding-left:32px;padding-right:32px}}
