*{box-sizing:border-box}:root{color-scheme:light;--bg: #f5f7fb;--surface: #ffffff;--text: #1c2333;--muted: #4b5565;--border: #bdc7d7;--control-border: #7e8ca2;--accent: #2f5bea;--youtube: #d92424;--youtube-text: #b81c1c;--accent-fill: #2f5bea;--accent-fill-hover: #2448c4;--action-fill: #30312d;--action-hover: #454640;--action-text: #ffffff;--accent-soft: #e8eefc;--ring: #e3eaff;--focus: #2452d1;--switch-bg: #e3e9f6;--hover: #f3f6fc;--input-bg: #ffffff;--console-bg: #fbfcfe;--info-bg: #eef2fb;--error: #c81e1e;--error-bg: #fdecec;--warning: #9a5b00;--warning-bg: #fff6e0;--flag: #7c3aed;--flag-bg: #f1ebff;--ok: #1a7f4b;--ok-bg: #e7f6ee;--mono: ui-monospace, "Cascadia Mono", Consolas, "Courier New", monospace;--cm-bg: #ffffff;--cm-gutter-bg: #f8fafc;--cm-gutter-text: #94a3b8;--cm-gutter-border: #e2e8f0;--cm-active-line: rgba(37, 99, 235, .06);--cm-active-gutter: #e8eefc;--cm-active-gutter-text: #334155;--cm-error-line: #fde8e8;--cm-tab-arrow: #cbd5e1;--cm-selection: #cfe0ff;--syn-keyword: #1d4ed8;--syn-type: #0f766e;--syn-bool: #b45309;--syn-builtin: #7c3aed;--syn-string: #b91c1c;--syn-number: #b45309;--syn-comment: #6b7280;--syn-operator: #334155}:root[data-theme=dark]{color-scheme:dark;--bg: #0a0a0a;--surface: #121212;--text: #e8e8e8;--muted: #9a9a9a;--border: #2a2a2a;--control-border: #2a2a2a;--accent: #8fa8ff;--youtube: #e5484d;--youtube-text: #ff8b8f;--accent-fill: #3b63e6;--accent-fill-hover: #5075f0;--action-fill: #e9dfcc;--action-hover: #f5eddf;--action-text: #24211c;--accent-soft: #1f2433;--ring: #232a40;--focus: #6c8cff;--switch-bg: #1e1e1e;--hover: #1a1a1a;--input-bg: #0a0a0a;--console-bg: #0d0d0d;--info-bg: #181818;--error: #ff8a8a;--error-bg: #2e1517;--warning: #f0b45a;--warning-bg: #2b2210;--flag: #b79cff;--flag-bg: #241b38;--ok: #5fd193;--ok-bg: #10261a;--cm-bg: #0d0d0d;--cm-gutter-bg: #121212;--cm-gutter-text: #6a6a6a;--cm-gutter-border: #2a2a2a;--cm-active-line: rgba(255, 255, 255, .045);--cm-active-gutter: #1f1f1f;--cm-active-gutter-text: #c8c8c8;--cm-error-line: #2e1517;--cm-tab-arrow: #404040;--cm-selection: #2a3a66;--syn-keyword: #82a4ff;--syn-type: #4fd1c0;--syn-bool: #f0b45a;--syn-builtin: #c4a2ff;--syn-string: #ff9a9a;--syn-number: #f0b45a;--syn-comment: #8591ab;--syn-operator: #b9c3da}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,sans-serif;background:var(--bg);color:var(--text)}.page{width:100%;min-width:0;padding:clamp(16px,2vw,32px) clamp(16px,2vw,40px)}.header{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.brand{display:flex;flex-direction:column;line-height:1.1;color:var(--text);text-decoration:none;border-radius:6px;min-width:0}.brand:focus-visible{outline:3px solid var(--focus);outline-offset:4px}.brand-name{font-size:.8rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}.brand-logo{display:block;height:clamp(40px,4vw,56px);width:auto}.brand-logo-dark{display:none}:root[data-theme=dark] .brand-logo-light{display:none}:root[data-theme=dark] .brand-logo-dark{display:block}.header-actions{margin-left:auto;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.header-context{flex-basis:100%;display:flex;justify-content:flex-start}.social-link{display:inline-flex;align-items:center;gap:6px;font-size:.95rem;padding:8px 14px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--text);text-decoration:none}.social-link:hover{border-color:var(--accent);color:var(--accent)}.social-link:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.social-link-youtube{border-color:#e22b2b;background:#e22b2b;box-shadow:0 2px 8px color-mix(in srgb,#e22b2b 32%,transparent);color:#fff;font-weight:700}.social-link-youtube:hover{border-color:#b91c1c;background:#b91c1c;color:#fff}@media (max-width: 640px){.header-actions{margin-left:0}.social-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}}.landing{min-height:calc(100vh - 260px);display:flex;flex-direction:column;justify-content:center;padding:clamp(24px,6vh,72px) 0}.landing-intro{margin:0 0 clamp(24px,4vh,44px)}.landing-intro h1{margin:0;font-size:clamp(2.1rem,4.6vw,3.6rem);line-height:1.1;letter-spacing:-.02em}.landing-intro p{margin:0;color:var(--muted);font-size:1.05rem}.landing-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:clamp(14px,1.6vw,24px)}.landing-card{display:flex;flex-direction:column;gap:12px;min-height:clamp(170px,22vh,240px);padding:clamp(20px,2.4vw,32px);border-radius:16px;border:1px solid var(--border);background:var(--surface);color:var(--text);text-decoration:none;transition:border-color .15s,transform .15s}.landing-card:hover{border-color:var(--accent);transform:translateY(-2px)}.landing-card:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.landing-card-code{align-self:flex-start;font-size:.85rem;font-weight:600;padding:3px 10px;border-radius:999px;background:var(--accent-soft);color:var(--accent);white-space:nowrap}.landing-card-title{font-size:clamp(1.3rem,1.9vw,1.6rem);font-weight:700;line-height:1.25}.landing-card-text{color:var(--muted);font-size:clamp(1rem,1.2vw,1.1rem);line-height:1.5;flex:1}.landing-card-go{color:var(--accent);font-weight:600;font-size:1rem}@media (prefers-reduced-motion: reduce){.landing-card{transition:none}.landing-card:hover{transform:none}}.practice{width:100%;min-width:0;margin-top:36px}.compiler-page{margin-top:36px;min-width:0}.breadcrumbs ol{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0;padding:0;list-style:none;font-size:.9rem;color:var(--muted)}.breadcrumbs li+li:before{content:"/";margin-right:6px;opacity:.6}.breadcrumbs a{color:var(--muted);text-decoration:none;border-radius:4px}.breadcrumbs a:hover{color:var(--accent);text-decoration:underline;text-underline-offset:3px}.breadcrumbs a:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.breadcrumbs [aria-current=page]{color:var(--text);font-weight:600}.practice-intro{margin:20px 0 32px}.practice-intro h1{margin:10px 0 8px;font-size:2.25rem;line-height:1.15}.lead{margin:0;max-width:60ch;color:var(--muted);font-size:1.05rem;line-height:1.5}.chip{display:inline-block;font-size:.75rem;font-weight:600;padding:2px 10px;border-radius:999px;background:var(--accent-soft);color:var(--accent)}.eyebrow{font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.inline-code{font-family:var(--mono);font-size:.88em;padding:1px 5px;border-radius:5px;background:var(--accent-soft);color:var(--text);white-space:pre}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:12px}.section-head h2{margin:0;font-size:1.1rem}.section-count{color:var(--muted);font-size:.9rem}.topic-list{display:grid;gap:10px;margin:0;padding:0;list-style:none}.topic-row{display:flex;align-items:center;gap:16px;padding:16px 18px;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--text);text-decoration:none;transition:border-color .15s,background .15s}.topic-row:hover{border-color:var(--accent)}.topic-row:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.topic-number{flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:10px;background:var(--accent-soft);color:var(--accent);font-family:var(--mono);font-weight:600}.topic-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.topic-title{font-size:1.1rem;font-weight:650}.topic-summary{color:var(--muted);font-size:.95rem;line-height:1.45}.topic-chevron{flex:none;color:var(--muted);transition:transform .15s,color .15s}.topic-row:hover .topic-chevron{color:var(--accent);transform:translate(3px)}.empty-state{display:flex;flex-direction:column;align-items:center;gap:10px;padding:40px 24px;border:1px dashed var(--border);border-radius:14px;background:var(--surface);text-align:center}.empty-state h1,.empty-state h2{margin:4px 0 0;font-size:1.2rem}.empty-state p{margin:0 0 6px;max-width:46ch;color:var(--muted);line-height:1.5}.empty-icon{color:var(--accent);opacity:.85}.not-found h1{font-size:1.5rem}.button-secondary{display:inline-block;font:inherit;font-size:.95rem;font-weight:600;padding:8px 18px;border:1px solid var(--accent);border-radius:8px;background:var(--surface);color:var(--accent);text-decoration:none;cursor:pointer}.button-secondary:hover{background:var(--accent-soft)}.button-secondary:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.topic-pager{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:24px}.pager-link{display:flex;flex-direction:column;gap:2px;padding:14px 16px;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--text);text-decoration:none;min-width:0;overflow-wrap:anywhere}.pager-link:hover{border-color:var(--accent)}.pager-link:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.pager-next{grid-column:2;text-align:right}.pager-label{color:var(--muted);font-size:.85rem}.pager-title{font-weight:600}@media (max-width: 640px){.practice,.compiler-page{margin-top:24px}.practice-intro h1{font-size:1.85rem}.topic-row{gap:12px;padding:14px}.topic-number{width:38px;height:38px;font-size:.9rem}}@media (prefers-reduced-motion: reduce){.topic-row,.topic-chevron{transition:none}.topic-row:hover .topic-chevron{transform:none}}.level-switch{display:inline-flex;padding:3px;border-radius:999px;background:var(--switch-bg)}.theme-toggle{font:inherit;font-size:.95rem;padding:8px 16px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--text);cursor:pointer}.theme-toggle:hover{border-color:var(--accent)}.theme-toggle:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.level-switch button{font:inherit;font-size:.9rem;font-weight:600;padding:5px 16px;border:none;border-radius:999px;background:none;color:var(--muted);cursor:pointer}.level-switch button:hover{color:var(--text)}.level-switch button.active{background:var(--action-fill);color:var(--action-text);box-shadow:0 1px 3px #1c233333}.level-switch button:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.level-code{font-weight:400;opacity:.75}.level-switch button{white-space:nowrap}@media (max-width: 640px){.level-code{display:none}}.notice{margin-top:24px;padding:16px;border-radius:10px;background:var(--surface);border:1px solid var(--border)}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.workspace{margin-top:24px;display:grid;grid-template-columns:minmax(0,1fr);gap:16px}.column{display:flex;flex-direction:column;gap:16px;min-width:0}@media (min-width: 1024px){.workspace{grid-template-columns:minmax(0,3fr) minmax(340px,2fr)}.toolbar{grid-column:1 / -1}}.toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.shortcuts{margin:0;flex:1;color:var(--muted);font-size:.85rem}.auto-indent-toggle{padding:3px 10px;border:1px solid var(--border);border-radius:999px;background:transparent;color:var(--muted);font:inherit;font-family:system-ui,-apple-system,Segoe UI,sans-serif;font-size:.8rem;white-space:nowrap;cursor:pointer}.auto-indent-toggle:hover{color:var(--text)}.auto-indent-toggle.is-on{border-color:var(--warning);background:var(--warning-bg);color:var(--warning)}.auto-indent-toggle:focus-visible{outline:3px solid var(--focus);outline-offset:2px}kbd,.shortcuts code{font-family:var(--mono);font-size:.8rem;padding:1px 6px;border-radius:4px;border:1px solid var(--border);background:var(--surface)}.run-button{font:inherit;font-weight:600;padding:9px 22px;border:none;border-radius:8px;background:var(--action-fill);color:var(--action-text);cursor:pointer;display:inline-flex;align-items:center;gap:8px}.run-button:hover{background:var(--action-hover)}.run-button.stop,.run-button.stop:hover{background:#c81e1e;color:#fff}.run-button:focus-visible,.link-button:focus-visible,.problem:focus-visible,.disclosure:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.editor-tools{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 12px;padding:8px 10px;border-bottom:1px solid var(--border)}.editor-indent-actions{display:none;gap:4px}.editor-indent-actions button{min-height:44px;padding:6px 10px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text);font:inherit;font-size:.8rem;white-space:nowrap;cursor:pointer}.editor-indent-actions button:hover{background:var(--accent-soft)}.editor-indent-actions button:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.editor-tools .auto-indent-toggle{margin-left:auto}@media (max-width: 1023px),(any-pointer: coarse){.code-editor .cm-editor{font-size:16px}.editor-indent-actions{display:flex}.editor-tools .auto-indent-toggle{min-height:44px}}@media (max-width: 480px){.editor-tools .auto-indent-toggle{margin-left:0}}.editor-card{border:1px solid var(--border);border-radius:10px;overflow:hidden;background:var(--surface)}.code-editor{height:480px;height:clamp(320px,calc(100dvh - 260px),900px)}.code-editor .cm-editor{height:100%}@media (max-width: 640px){.workspace .shortcut-keyboard{display:none}.workspace .toolbar{justify-content:space-between}.code-editor{height:clamp(280px,55dvh,420px)}}.panel{background:var(--surface);border:1px solid var(--border);border-radius:10px;overflow:hidden}.panel-header{display:flex;align-items:center;gap:12px;padding:10px 14px;border-bottom:1px solid var(--border)}.panel-header h2{margin:0;font-size:1rem}.link-button{margin-left:auto;font:inherit;font-size:.85rem;background:none;border:none;color:var(--accent);cursor:pointer;padding:2px 4px}.link-button:disabled{color:var(--muted);cursor:default;opacity:.6}.hint{margin:0 0 12px;color:var(--muted);font-size:.85rem}.problem-counts{display:flex;gap:8px;font-size:.85rem}.problem-counts .ok{color:var(--ok)}.count.error{color:var(--error);font-weight:600}.count.warning{color:var(--warning);font-weight:600}.problem-list{list-style:none;margin:0;padding:4px 0;max-height:240px;overflow-y:auto}.problem{width:100%;display:grid;grid-template-columns:20px 64px 1fr;gap:8px;align-items:baseline;padding:7px 14px;border:none;background:none;font:inherit;font-size:.9rem;text-align:left;color:var(--text);cursor:pointer}.problem:hover{background:var(--hover)}.problem-icon{font-weight:700;text-align:center}.problem.error .problem-icon{color:var(--error)}.problem.warning .problem-icon{color:var(--warning)}.problem-line{color:var(--muted);font-variant-numeric:tabular-nums}.console{display:flex;flex-direction:column}.run-status{font-size:.85rem;color:var(--muted)}.run-status.running,.run-status.input{color:var(--accent);font-weight:600}.run-status.done{color:var(--ok)}.run-status.error{color:var(--error)}.console-body{height:420px;height:clamp(260px,calc(100dvh - 320px),840px);overflow-y:auto;padding:10px 14px;font-family:var(--mono);font-size:14px;line-height:1.55;background:var(--console-bg)}@media (max-width: 640px){.console-body{height:clamp(220px,40dvh,320px)}}.console-empty{margin:0;color:var(--muted);font-family:system-ui,-apple-system,Segoe UI,sans-serif;font-size:.9rem}.console-line{white-space:pre-wrap;word-break:break-word}.console-line.in{color:var(--accent)}.console-line.error,.console-line.warn,.console-line.info{margin:6px 0;padding:6px 10px;border-radius:6px;font-family:system-ui,-apple-system,Segoe UI,sans-serif;font-size:.88rem}.console-line.error{background:var(--error-bg);color:var(--error)}.console-line.warn{background:var(--warning-bg);color:var(--warning)}.console-line.info{background:var(--info-bg);color:var(--muted)}.console-prompt{color:var(--accent);font-weight:700}.line-link{font:inherit;font-weight:700;color:inherit;background:none;border:none;padding:0;text-decoration:underline;cursor:pointer}.console-input{display:flex;align-items:center;gap:6px}.console-input input{flex:1;min-width:0;font:inherit;padding:4px 8px;border:1px solid var(--accent);border-radius:6px;outline:none;background:var(--input-bg);color:var(--text);box-shadow:0 0 0 3px var(--ring)}.disclosure{font:inherit;font-weight:700;font-size:1rem;background:none;border:none;padding:0;color:var(--text);cursor:pointer;display:inline-flex;align-items:center;gap:6px}.file-count{font-size:.75rem;font-weight:600;padding:1px 8px;border-radius:999px;background:var(--accent-soft);color:var(--accent)}.files-body{padding:12px 14px 14px}.file{margin-bottom:12px}.file-head{display:flex;align-items:center;margin-bottom:4px}.file-head code{font-family:var(--mono);font-size:.9rem}.file textarea{width:100%;font-family:var(--mono);font-size:.9rem;padding:6px 8px;border:1px solid var(--border);border-radius:6px;background:var(--input-bg);color:var(--text);resize:vertical}.file-add{display:flex;gap:8px}.file-add input{flex:1;min-width:0;font:inherit;font-size:.9rem;padding:6px 10px;border:1px solid var(--border);border-radius:6px;background:var(--input-bg);color:var(--text)}.file-actions{margin-left:auto;display:flex;gap:4px}.file-actions .link-button{margin-left:0}.hint.note{padding:8px 10px;border-radius:6px;background:var(--accent-soft);color:var(--text)}.hint.note code{font-family:var(--mono)}.file-import{margin-top:8px}.file-error{margin:8px 0 0;font-size:.85rem;color:var(--error)}.file-add button,.file-import button{font:inherit;font-size:.9rem;padding:6px 14px;border-radius:6px;border:1px solid var(--accent);background:var(--surface);color:var(--accent);cursor:pointer}.file-import button{width:100%}.file-import button:disabled,.file-add button:disabled{border-color:var(--border);color:var(--muted);cursor:default}.footnote{margin:24px 0 0;text-align:center;color:var(--muted);font-size:.85rem}.feedback{margin-top:40px;padding:32px 16px;border-top:1px solid var(--border);display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center}.feedback-text{margin:0;color:var(--muted);font-size:1.05rem}.feedback-button{display:inline-block;padding:10px 20px;border:1px solid var(--control-border);border-radius:8px;background:transparent;color:var(--muted);font-size:.95rem;font-weight:600;text-decoration:none;transition:background .15s,color .15s}.feedback-button:hover{background:var(--hover);color:var(--text)}.feedback-button:focus-visible{outline:3px solid var(--focus);outline-offset:3px}@media (prefers-reduced-motion: reduce){.feedback-button{transition:none}.feedback-button:hover{transform:none}}.load-state{display:flex;align-items:center;gap:10px;margin:32px 0;color:var(--muted)}.load-state.is-error{flex-direction:column;align-items:flex-start;padding:16px;border:1px solid var(--error);border-radius:10px;background:var(--error-bg);color:inherit}.load-state.is-error p{margin:0}.load-spinner{width:14px;height:14px;flex:none;border:2px solid var(--border);border-top-color:var(--muted);border-radius:50%;animation:load-spin .8s linear infinite}@keyframes load-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.load-spinner{animation-duration:2.4s}}.meta-loading{display:inline-block;width:7em;height:1em;border-radius:4px;background:var(--border);opacity:.4}.mcq-checking{display:flex;align-items:center;gap:8px;margin:14px 0 0;color:var(--muted);font-size:.92rem}.mcq-check-error,.paper-answer-state.is-error{margin:14px 0 0;color:var(--error);font-size:.92rem}.paper-answer-state.is-error{margin:0}.feedback-privacy{margin:12px 0 0;font-size:.85rem}.feedback-privacy a{color:var(--muted)}.privacy section{max-width:70ch}.privacy h2{margin:28px 0 8px;font-size:1.1rem}.account-name{max-width:16ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:.85rem}.auth-error{margin:12px 0 0;padding:10px 14px;border-radius:8px;background:var(--error-bg);color:var(--error)}@media (max-width: 600px){.account-name{display:none}}.auth-dialog{width:min(400px,calc(100vw - 24px));padding:0;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:0 20px 60px #00000059}.auth-dialog::backdrop{background:#0000008c}.auth-form{display:flex;flex-direction:column;gap:14px;padding:22px}.auth-head{display:flex;align-items:center;justify-content:space-between}.auth-head h2{margin:0;font-size:1.25rem}.auth-close{border:0;background:none;color:var(--muted);font-size:1.6rem;line-height:1;cursor:pointer;border-radius:6px}.auth-lead,.auth-notice,.auth-fine{margin:0;color:var(--muted);font-size:.9rem}.auth-notice{padding:8px 12px;border-radius:8px;background:var(--info-bg);color:var(--text)}.auth-google{display:flex;align-items:center;justify-content:center;gap:10px;padding:11px 14px;font:inherit;font-weight:600;color:var(--text);background:var(--input-bg);border:1px solid var(--control-border);border-radius:10px;cursor:pointer}.auth-google:hover{background:var(--hover)}.auth-or{display:flex;align-items:center;gap:12px;margin:0;color:var(--muted);font-size:.85rem}.auth-or:before,.auth-or:after{content:"";flex:1;border-top:1px solid var(--border)}.auth-field{display:flex;flex-direction:column;gap:5px;font-size:.9rem;font-weight:600}.auth-field input{padding:10px 12px;font:inherit;font-weight:400;color:var(--text);background:var(--input-bg);border:1px solid var(--control-border);border-radius:8px}.auth-field input:focus-visible,.auth-google:focus-visible,.auth-submit:focus-visible,.auth-links button:focus-visible,.auth-close:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.auth-field small{color:var(--muted);font-weight:400}.auth-error-text{margin:0;padding:8px 12px;border-radius:8px;background:var(--error-bg);color:var(--error);font-size:.9rem}.auth-submit{padding:11px 14px;font:inherit;font-weight:700;color:var(--action-text);background:var(--action-fill);border:0;border-radius:10px;cursor:pointer}.auth-submit:hover:not(:disabled){background:var(--action-hover)}.auth-submit:disabled{opacity:.6;cursor:progress}.auth-links{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 16px;margin:0}.auth-links button{padding:0;font:inherit;font-size:.9rem;color:var(--accent);background:none;border:0;cursor:pointer}.auth-fine a{color:var(--muted)}.segmented{display:inline-flex;padding:3px;border-radius:999px;background:var(--switch-bg)}.segmented button{font:inherit;font-size:.88rem;font-weight:600;padding:6px 14px;border:none;border-radius:999px;background:none;color:var(--muted);cursor:pointer;white-space:nowrap}.segmented button:hover{color:var(--text)}.segmented button.active{background:var(--surface);color:var(--text);box-shadow:0 1px 3px #1c23332e}.segmented button:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.section-head{flex-wrap:wrap;align-items:center}.topic-meta{flex:none;display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:.85rem}.meta-quiet{color:var(--muted);white-space:nowrap}.meta-pill{padding:2px 10px;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-weight:600;white-space:nowrap}.meta-pill.is-done{background:var(--ok-bg);color:var(--ok)}.topic-row.is-disabled{cursor:default;opacity:.6}.topic-row.is-disabled:hover{border-color:var(--border)}@media (max-width: 640px){.topic-row{flex-wrap:wrap}.topic-meta{order:3;width:100%;padding-left:50px}}.mode-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:14px}.topic-page .practice-intro{margin-bottom:22px}.mode-card{display:flex;flex-direction:column;gap:8px;padding:20px;border:1px solid var(--border);border-radius:14px;background:var(--surface);color:var(--text);text-decoration:none;transition:border-color .15s,transform .15s}a.mode-card:hover{border-color:var(--accent);transform:translateY(-2px)}.mode-card:focus-visible,.lesson-card-links a:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.mode-card.is-disabled{opacity:.6;border-style:dashed}.mode-icon{color:var(--accent)}.mode-card-title{font-size:1.25rem;font-weight:700}.mode-card-text{flex:1;color:var(--muted);font-size:1rem;line-height:1.5}.mode-card-foot{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:6px;font-size:.88rem}.mode-card-go{margin-left:auto;color:var(--accent);font-weight:600}.lesson-strip{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px 16px;margin-bottom:14px;padding:14px 18px;border:1px solid var(--border);border-left:4px solid var(--youtube);border-radius:14px;background:var(--surface)}.lesson-strip-icon{color:var(--youtube)}.lesson-strip-title{margin:0;font-size:1.05rem;font-weight:700}.lesson-strip-text{margin:2px 0 0;color:var(--muted);font-size:.9rem;line-height:1.45}.lesson-strip-links{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;margin:0;padding:0;list-style:none}.lesson-link{display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:7px 14px;border:1px solid var(--youtube);border-radius:999px;color:var(--youtube-text);font-size:.9rem;font-weight:600;text-decoration:none;white-space:nowrap;transition:background .15s,color .15s}.lesson-link:hover{background:var(--youtube);color:#fff}.lesson-link:focus-visible{outline:3px solid var(--focus);outline-offset:2px}@media (max-width: 720px){.lesson-strip{grid-template-columns:auto minmax(0,1fr)}.lesson-strip-links{grid-column:1 / -1;justify-content:stretch}.lesson-strip-links li{flex:1 1 100%}.lesson-link{width:100%;justify-content:center;white-space:normal}}.practice-intro.compact{margin:16px 0 14px}.question-mode{display:block;margin-top:6px;color:var(--muted);font-size:1rem;font-weight:500;letter-spacing:normal}.mode-tabs{display:flex;gap:4px;margin-bottom:20px;border-bottom:1px solid var(--border)}.mode-tab{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;margin-bottom:-1px;border-bottom:2px solid transparent;color:var(--muted);font-weight:600;text-decoration:none}.mode-tab:hover{color:var(--text)}.mode-tab[aria-current=page]{color:var(--text);border-bottom-color:var(--accent)}.mode-tab:focus-visible{outline:3px solid var(--focus);outline-offset:-3px;border-radius:6px}.mode-tab.is-disabled{cursor:default;opacity:.55}.mode-count{padding:0 7px;border-radius:999px;background:var(--switch-bg);font-size:.75rem;font-weight:600}.practice.mcq-page{max-width:none;width:100%}.mcq-page>.page-head{margin-bottom:16px}.practice-controls{min-width:0}.mcq-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.toolbar-button{display:inline-flex;align-items:center;gap:6px;font:inherit;font-size:.9rem;font-weight:600;padding:7px 14px;border:1px solid var(--control-border);border-radius:999px;background:var(--surface);color:var(--text);cursor:pointer}.toolbar-button:hover,.toolbar-button[aria-expanded=true]{border-color:var(--accent);color:var(--accent)}.toolbar-button:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.mcq-toolbar-actions{display:flex;flex-wrap:wrap;gap:8px;justify-self:end}.mcq-toolbar>.segmented{justify-self:start}@media (max-width: 640px){.mcq-toolbar{grid-template-columns:minmax(0,1fr)}.mcq-toolbar>.segmented{justify-self:start}}.toolbar-button:disabled{cursor:default;opacity:.45}.toolbar-button:disabled:hover{border-color:var(--border);color:var(--text)}.toolbar-button.is-reset:hover:not(:disabled){border-color:var(--error);color:var(--error)}.mcq-settings{display:grid;gap:14px;margin-bottom:14px;padding:16px 18px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}.setting-group{display:grid;gap:10px}.setting-sub{display:grid;gap:10px;padding-left:52px}.setting-sub.is-off{opacity:.55}.setting-inline{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:.92rem}.setting-inline select{font:inherit;font-size:.9rem;padding:5px 8px;border:1px solid var(--border);border-radius:6px;background:var(--input-bg);color:var(--text)}.setting-check{display:flex;align-items:center;gap:8px;font-size:.92rem}.setting-check input{width:16px;height:16px;accent-color:var(--accent-fill)}.setting-foot{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;padding-top:12px;border-top:1px solid var(--border)}.setting-foot p{margin:0;color:var(--muted);font-size:.85rem}.link-button.danger{color:var(--error)}.toggle{display:flex;align-items:center;gap:12px;font-size:.95rem;cursor:pointer}.toggle input{position:absolute;opacity:0;width:1px;height:1px}.toggle-track{flex:none;position:relative;width:40px;height:22px;border-radius:999px;background:var(--switch-bg);border:1px solid var(--border);transition:background .15s}.toggle-thumb{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:var(--surface);box-shadow:0 1px 2px #0000004d;transition:transform .15s}.toggle input:checked+.toggle-track{background:var(--accent-fill);border-color:var(--accent-fill)}.toggle input:checked+.toggle-track .toggle-thumb{transform:translate(18px);background:#fff}.toggle input:focus-visible+.toggle-track{outline:3px solid var(--focus);outline-offset:2px}.mcq-overview{display:grid;gap:12px;margin-bottom:16px;padding:14px 16px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}.mcq-split{display:grid;gap:16px}.mcq-split-main{min-width:0}.mcq-panel{position:sticky;top:8px;z-index:20;overflow:hidden;border:1px solid var(--border);border-radius:12px;background:var(--surface);box-shadow:0 6px 20px #00000024}.mcq-panel-bar{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;grid-template-areas:"short nav check toggle";align-items:center;gap:10px;padding:6px 10px 9px 14px}.mcq-panel-short{grid-area:short;margin:0;color:var(--muted);font-size:.9rem;white-space:nowrap}.mcq-panel-short strong{color:var(--text)}.mcq-panel .mcq-progress{position:absolute;left:0;right:0;bottom:0}.mcq-panel .mcq-progress-bar{height:3px;border-radius:0}.mcq-panel .mcq-progress-text{display:none}.mcq-panel .mcq-nav{grid-area:nav;min-width:0}.mcq-panel .mcq-nav-list{flex-wrap:nowrap;overflow-x:auto;padding:6px 4px;scrollbar-width:thin}.mcq-panel .mcq-nav-list li{flex:none}.mcq-panel .mcq-nav-item{width:40px;height:40px}.mcq-panel-check{grid-area:check;justify-content:center;padding:7px 12px;white-space:nowrap}.mcq-panel-toggle{grid-area:toggle;display:inline-flex;align-items:center;justify-content:center;gap:4px;min-width:36px;height:36px;padding:0 8px;font:inherit;font-size:.85rem;font-weight:600;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);cursor:pointer}.mcq-panel-toggle:hover{border-color:var(--accent);color:var(--accent)}.mcq-panel-toggle:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.mcq-panel-toggle svg{transition:transform .15s}.mcq-panel.is-expanded .mcq-panel-toggle svg{transform:rotate(180deg)}.mcq-panel.is-finished:not(.is-expanded) .mcq-panel-toggle{border-color:var(--action-fill);background:var(--action-fill);color:var(--action-text)}.mcq-panel-body{display:none;gap:12px;max-height:min(60vh,520px);overflow-y:auto;padding:12px 14px 14px}.mcq-panel.is-expanded .mcq-panel-body{display:grid}.mcq-panel .mcq-legend{margin:0}.mcq-panel .review-chips{padding-top:0;border-top:none}.mcq-panel-results{padding-bottom:12px;border-bottom:1px solid var(--border)}.mcq-panel-results h2{margin:0;color:var(--muted);font-size:.8rem;letter-spacing:.06em;text-transform:uppercase}.mcq-panel-results h2:focus{outline:none}.mcq-panel-results .summary-score{margin:6px 0 2px}.mcq-panel-results .summary-big{font-size:2.2rem}.mcq-panel-results .summary-verdict{margin:0 0 12px;font-size:.9rem}.mcq-panel-results-actions{display:flex;flex-wrap:wrap;gap:8px}.mcq-panel-results-next{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px;margin-top:12px}.mcq-page.is-list .mcq{scroll-margin-top:96px}@media (max-width: 640px){.mcq-panel-bar{grid-template-columns:minmax(0,1fr) auto auto;grid-template-areas:"short check toggle" "nav nav nav";row-gap:2px;padding-left:12px}.mcq-page.is-list .mcq{scroll-margin-top:136px}}.practice.is-list{max-width:none}.mcq-split{grid-template-columns:minmax(0,1fr);align-items:start}.mcq-split-main{grid-column:1;grid-row:1}.mcq-panel{grid-column:2;grid-row:1;top:24px;display:flex;flex-direction:column;gap:12px;max-height:calc(100vh - 32px);overflow-y:auto;padding:14px 16px;box-shadow:none}.mcq-panel .mcq-panel-bar,.mcq-panel .mcq-panel-body,.mcq-panel.is-expanded .mcq-panel-body{display:contents}.mcq-panel-short,.mcq-panel-toggle{display:none}.mcq-panel-results{order:6}.mcq-panel .mcq-progress{position:static;order:2}.mcq-panel .mcq-progress-bar{height:8px;border-radius:999px}.mcq-panel .mcq-progress-text{display:block}.mcq-panel-check{order:3;width:100%}.mcq-panel .mcq-nav{order:4}.mcq-panel .mcq-nav-list{flex-wrap:wrap;overflow:visible;padding:0}.mcq-panel .mcq-nav-item{width:44px;height:44px}.mcq-panel .mcq-legend{order:5;margin-top:-4px}.mcq-panel .review-chips{order:6;padding-top:10px;border-top:1px solid var(--border)}.mcq-page.is-list .mcq{scroll-margin-top:16px}@media (prefers-reduced-motion: reduce){.mcq-panel-toggle svg{transition:none}}.mcq-progress-bar{display:flex;height:8px;overflow:hidden;border-radius:999px;background:var(--switch-bg)}.mcq-progress-bar .seg{transition:width .25s}.seg.is-correct{background:var(--ok)}.seg.is-wrong{background:var(--error)}.seg.is-partial{background:var(--warning)}.seg.is-skipped{background:var(--muted);opacity:.5}.mcq-progress-text{margin:8px 0 0;color:var(--muted);font-size:.88rem}.mcq-progress-text strong{color:var(--text)}.mcq-nav-list{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}.mcq-nav-item{position:relative;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;width:44px;height:44px;padding:0;font:inherit;font-size:.85rem;font-weight:600;line-height:1.1;border:1px solid var(--control-border);border-radius:8px;background:var(--surface);color:var(--muted);cursor:pointer}.mcq-nav-item:hover{border-color:var(--accent);color:var(--text)}.mcq-nav-item.is-answered{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.mcq-nav-item.is-correct{border-color:var(--ok);background:var(--ok-bg);color:var(--ok)}.mcq-nav-item.is-wrong{border-color:var(--error);background:var(--error-bg);color:var(--error)}.mcq-nav-item.is-partial{border-color:var(--warning);background:var(--warning-bg);color:var(--warning)}.mcq-nav-detail{font-size:.68rem;font-weight:600;white-space:nowrap}.mcq-nav-item.is-flagged:after,.swatch.is-flagged:after{content:"";position:absolute;top:-4px;right:-4px;width:10px;height:10px;border-radius:50%;background:var(--flag);border:2px solid var(--surface)}.mcq-nav-item[aria-current=step]{outline:2px solid var(--accent);outline-offset:2px}.mcq-nav-item:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.mcq-legend{display:flex;flex-wrap:wrap;gap:4px 14px;margin:8px 0 0;padding:0;list-style:none;color:var(--muted);font-size:.8rem}.mcq-legend li{display:inline-flex;align-items:center;gap:6px}.swatch{position:relative;display:inline-block;width:12px;height:12px;border-radius:3px;border:1px solid var(--border)}.swatch.is-correct{background:var(--ok-bg);border-color:var(--ok)}.swatch.is-wrong{background:var(--error-bg);border-color:var(--error)}.swatch.is-partial{background:var(--warning-bg);border-color:var(--warning)}.swatch.is-flagged:after{top:1px;right:1px;width:6px;height:6px;border-width:1px}.review-chips{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding-top:10px;border-top:1px solid var(--border)}.question-filters{margin-bottom:18px}.filter-dropdown{position:relative;width:fit-content;max-width:100%}.filter-dropdown>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:40px;padding:8px 14px;border:1px solid var(--control-border);border-radius:8px;background:var(--surface);color:var(--text);font-size:.9rem;cursor:pointer;list-style:none}.filter-dropdown>summary::-webkit-details-marker{display:none}.filter-prefix{color:var(--muted)}.filter-chevron{flex:none}.filter-dropdown[open]>summary{border-color:var(--accent)}.filter-dropdown[open] .filter-chevron{transform:rotate(180deg)}.filter-dropdown>summary:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.filter-menu{position:absolute;top:calc(100% + 6px);left:0;z-index:30;width:min(320px,calc(100vw - 48px));padding:8px;border:1px solid var(--border);border-radius:10px;background:var(--surface);box-shadow:0 8px 24px #0000002e}.filter-option{display:flex;align-items:center;gap:10px;min-height:42px;padding:8px;border-radius:6px;font-size:.9rem;cursor:pointer}.filter-option:hover{background:var(--hover)}.filter-option input{accent-color:var(--accent-fill);width:16px;height:16px;margin:0}.filter-option:has(input:focus-visible){outline:2px solid var(--focus);outline-offset:-2px}.filter-option .review-chip-count{margin-left:auto}.filter-menu .filter-help{margin:6px 8px 4px}.question-filters .review-chips{padding-top:0;border-top:none}.filter-help{margin:6px 0 0;color:var(--muted);font-size:.82rem}.question-filters .review-chip.is-active{background:var(--accent-soft)}.review-chips-label{margin-right:2px;color:var(--muted);font-size:.85rem}.review-chip{display:inline-flex;align-items:center;gap:6px;font:inherit;font-size:.85rem;padding:4px 10px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--text);cursor:pointer}.review-chip:hover,.review-chip.is-active{border-color:var(--accent);color:var(--accent)}.review-chip:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.review-chip-count{min-width:20px;padding:0 6px;border-radius:999px;background:var(--switch-bg);font-size:.75rem;font-weight:700;text-align:center}.review-banner{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;padding:10px 14px;border-radius:10px;background:var(--info-bg);font-size:.92rem}.mcq{scroll-margin-top:16px;padding:20px 22px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}.mcq-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;min-height:24px}.mcq-number{color:var(--muted);font-size:.82rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.mcq-badges{display:flex;gap:6px}.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 9px;border-radius:999px;font-size:.78rem;font-weight:600}.badge-skipped{border:1px dashed var(--muted);color:var(--muted)}.badge-flagged{background:var(--flag-bg);color:var(--flag)}.badge-partial{background:var(--warning-bg);color:var(--warning)}.badge-low{background:var(--error-bg);color:var(--error)}.mcq-prompt{margin:8px 0 12px;font-size:1.12rem;font-weight:600;line-height:1.45}.mcq-prompt:focus,.mcq-summary h2:focus{outline:none}.mcq-code{margin:0 0 14px;padding:12px 14px;overflow-x:auto;border:1px solid var(--border);border-radius:10px;background:var(--console-bg);font-family:var(--mono);font-size:.92rem;line-height:1.55;-moz-tab-size:4;tab-size:4}.mcq-options{display:grid;gap:8px;min-width:0;margin:0;padding:0;border:none}.mcq-option{position:relative;display:flex;align-items:center;gap:12px;padding:11px 14px;border:1px solid var(--control-border);border-radius:10px;background:var(--surface);cursor:pointer;min-width:0;overflow-wrap:anywhere;transition:border-color .12s,background .12s}.mcq-option input{position:absolute;opacity:0;width:1px;height:1px}.mcq-option:hover{border-color:var(--accent);background:var(--hover)}.mcq-option:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:2px}.mcq-option.is-selected{border-color:var(--accent);background:var(--accent-soft)}.mcq-options:disabled .mcq-option{cursor:default}.mcq-options:disabled .mcq-option:not(.is-answer):not(.is-wrong){opacity:.6}.mcq-options:disabled .mcq-option:hover{border-color:var(--control-border);background:var(--surface)}.mcq-option.is-answer,.mcq-options:disabled .mcq-option.is-answer:hover{border-color:var(--ok);background:var(--ok-bg)}.mcq-option.is-wrong,.mcq-options:disabled .mcq-option.is-wrong:hover{border-color:var(--error);background:var(--error-bg)}.mcq-letter{flex:none;display:grid;place-items:center;width:28px;height:28px;border:1px solid var(--border);border-radius:50%;font-size:.85rem;font-weight:700;color:var(--muted)}.mcq-option.is-selected .mcq-letter{border-color:var(--accent-fill);background:var(--accent-fill);color:#fff}.mcq-option.is-answer .mcq-letter{border-color:var(--ok);background:var(--ok);color:var(--surface)}.mcq-option.is-wrong .mcq-letter{border-color:var(--error);background:var(--error);color:var(--surface)}.mcq-option-text{flex:1;min-width:0;line-height:1.45}.mcq-tag{flex:none;font-size:.78rem;font-weight:700}.mcq-tag.is-ok{color:var(--ok)}.mcq-tag.is-bad{color:var(--error)}.mcq-feedback-slot:empty{display:none}.mcq-feedback{margin-top:14px;padding:12px 14px;border-left:4px solid;border-radius:8px}.mcq-feedback.is-ok{border-color:var(--ok);background:var(--ok-bg)}.mcq-feedback.is-bad{border-color:var(--error);background:var(--error-bg)}.mcq-feedback-title{margin:0 0 4px;font-weight:700}.mcq-feedback.is-ok .mcq-feedback-title{color:var(--ok)}.mcq-feedback.is-bad .mcq-feedback-title{color:var(--error)}.mcq-feedback-text{margin:0;line-height:1.5}.mcq-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:16px}.mcq-actions-spacer{flex:1}.mcq-page .mcq-actions>.button-primary{margin-left:auto;min-width:144px;min-height:44px;justify-content:center}@media (max-width: 640px){.mcq-page .mcq-actions>.button-primary{width:100%}}.button-primary,.button-quiet{display:inline-flex;align-items:center;gap:6px;font:inherit;font-size:.93rem;font-weight:600;padding:8px 16px;border-radius:8px;cursor:pointer;text-decoration:none}.button-primary{border:1px solid var(--action-fill);background:var(--action-fill);color:var(--action-text)}.button-primary:hover:not(:disabled){background:var(--action-hover)}.button-quiet{border:1px solid transparent;background:none;color:var(--muted)}.button-quiet:hover:not(:disabled){background:var(--hover);color:var(--text)}.button-primary:disabled,.button-quiet:disabled,.button-secondary:disabled{cursor:default;opacity:.45}.button-primary:focus-visible,.button-quiet:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.flag-button.is-on{background:var(--flag-bg);color:var(--flag)}.flag-icon{flex:none}.autoadvance{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px;color:var(--muted);font-size:.88rem}.autoadvance .link-button{margin-left:0}.autoadvance-bar{flex:1;min-width:80px;height:4px;overflow:hidden;border-radius:999px;background:var(--switch-bg)}.autoadvance-bar span{display:block;height:100%;background:var(--accent-fill);transform-origin:left;animation:autoadvance-shrink linear forwards}@keyframes autoadvance-shrink{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.mcq-keys{margin:14px 0 0;color:var(--muted);font-size:.8rem}.mcq-keys kbd{font-size:.72rem}@media (hover: none){.mcq-keys{display:none}}.mcq-list{display:grid;gap:14px}.mcq-list-head,.mcq-list-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}.mcq-list-head{margin-bottom:10px}.mcq-list-head p{margin:0;color:var(--muted);font-size:.9rem}.mcq-list-foot{margin-top:16px}.mcq-list-foot-actions{display:flex;flex-wrap:wrap;gap:8px;margin-left:auto}.pagination{display:flex;flex-wrap:wrap;align-items:center;gap:4px}.page-number{min-width:36px;height:36px;font:inherit;font-size:.9rem;font-weight:600;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);cursor:pointer}.page-number.is-current{border-color:var(--action-fill);background:var(--action-fill);color:var(--action-text)}.page-number:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.mcq-summary{scroll-margin-top:16px;margin-bottom:16px;padding:24px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}.mcq-summary h2{margin:0;color:var(--muted);font-size:.85rem;letter-spacing:.06em;text-transform:uppercase}.summary-score{display:flex;align-items:baseline;gap:8px;margin:8px 0 4px;font-size:1.15rem}.summary-big{font-size:2.6rem;font-weight:800;line-height:1}.summary-verdict{margin:0 0 16px;color:var(--muted)}.summary-stats{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px;padding:0;list-style:none}.summary-stats li{padding:4px 12px;border-radius:999px;background:var(--switch-bg);font-size:.88rem}.summary-stats li.is-correct{background:var(--ok-bg);color:var(--ok)}.summary-stats li.is-wrong{background:var(--error-bg);color:var(--error)}.summary-stats li.is-partial{background:var(--warning-bg);color:var(--warning)}.summary-stats li.is-flagged{background:var(--flag-bg);color:var(--flag)}.summary-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.summary-actions .link-button{margin-left:4px}.summary-next{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin-top:20px;padding-top:18px;border-top:1px solid var(--border)}.review-banner .link-button,.setting-foot .link-button{margin-left:0}@media (max-width: 640px){.mcq,.mcq-summary{padding:16px}.mcq-actions .button-primary{flex:1 1 100%;justify-content:center;order:-1}.mcq-actions-spacer{display:none}.setting-sub{padding-left:0}}@media (prefers-reduced-motion: reduce){.mode-card,.mcq-option,.mcq-progress-bar .seg,.toggle-track,.toggle-thumb{transition:none}a.mode-card:hover{transform:none}.autoadvance-bar span{animation:none}}.mcq-nav-item.is-bare .mcq-nav-number{font-size:1.1rem}.written-title{margin-bottom:6px}.written-prompt{margin-bottom:14px;line-height:1.55}.written-prompt p{margin:0 0 8px}.written-prompt p:last-child{margin-bottom:0}.written-editor{overflow:hidden;border:1px solid var(--border);border-radius:10px;background:var(--surface)}.written-editor:focus-within{outline:2px solid var(--focus);outline-offset:2px}.written-editor .code-editor{height:220px;min-height:140px;resize:vertical;overflow:hidden}.badge-solved{background:var(--ok-bg);color:var(--ok)}.badge-attempts{border:1px solid var(--border);color:var(--muted)}.written-checking{margin:14px 0 0;color:var(--muted);font-size:.92rem}.written-reveal-remaining{margin:8px 0 0;color:var(--muted);font-size:.85rem}.written-secondary-actions{display:flex;flex-wrap:wrap;gap:4px}.written-answer-actions>.button-primary{margin-left:auto;min-width:144px;justify-content:center;min-height:44px}.question-navigation{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin-top:18px;padding-top:14px;border-top:1px solid var(--border)}.question-navigation>:last-child{margin-left:auto}.written-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin-top:12px}.written-foot .mcq-keys{margin:0}.written-foot .link-button{margin-left:auto;color:var(--muted)}.written-foot .link-button:hover{color:var(--accent)}.written-reveal{margin-top:14px;padding:12px 14px;border:1px dashed var(--border);border-radius:10px;background:var(--console-bg)}.written-reveal h3{margin:0 0 8px;color:var(--muted);font-size:.8rem;letter-spacing:.06em;text-transform:uppercase}.written-reveal-note{margin:0 0 8px;font-size:.92rem}.written-reveal-errors{margin:0;padding-left:18px;font-size:.9rem;line-height:1.5}.written-reveal-line{font-weight:700;color:var(--error)}.written-run+.written-run{margin-top:10px}.written-run-label{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 4px;color:var(--muted);font-size:.85rem}.written-run-output{margin:0;padding:8px 10px;overflow-x:auto;border:1px solid var(--border);border-radius:8px;background:var(--surface);font-family:var(--mono);font-size:.9rem;white-space:pre}.written-run-error{margin:4px 0 0;color:var(--error);font-size:.88rem}.reveal-dialog{max-width:min(460px,calc(100vw - 32px));padding:22px 24px;border:1px solid var(--border);border-radius:14px;background:var(--surface);color:var(--text);box-shadow:0 20px 50px #0000004d}.reveal-dialog::backdrop{background:#0a0e188c}.reveal-dialog h2{margin:0 0 10px;font-size:1.2rem}.reveal-dialog p{margin:0 0 10px;line-height:1.55}.reveal-small{color:var(--muted);font-size:.9rem}.reveal-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:16px}@media (max-width: 640px){.written-answer-actions>.button-primary{width:100%}.written-editor .code-editor{height:180px}.reveal-actions .button-primary,.reveal-actions .button-secondary{flex:1 1 100%;justify-content:center;text-align:center}}.exam-dialog{position:fixed;top:0;right:0;bottom:0;left:0;margin:auto;width:min(440px,calc(100vw - 32px));max-width:none;height:fit-content;padding:28px 28px 22px;border-radius:18px;text-align:center}.exam-dialog[open]{animation:exam-dialog-in .18s ease-out}.exam-dialog::backdrop{background:#0a0e1899;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}@keyframes exam-dialog-in{0%{opacity:0;transform:translateY(8px) scale(.97)}}@media (prefers-reduced-motion: reduce){.exam-dialog[open]{animation:none}}.exam-dialog-icon{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;margin-bottom:12px;border-radius:50%;background:var(--accent-soft);color:var(--accent)}.exam-dialog h2{margin:0 0 8px;font-size:1.25rem}.exam-dialog p{margin:0 0 12px;color:var(--muted)}.exam-dialog .exam-dialog-warning{color:var(--warning);font-weight:600}.exam-dialog-tip{margin:4px 0 0;padding:10px 14px;border:1px solid var(--warning);border-radius:10px;background:var(--warning-bg);color:var(--warning);font-size:.92rem;line-height:1.5}.exam-dialog .reveal-actions{justify-content:center;margin-top:20px}.exam-dialog .reveal-actions button{min-width:140px;justify-content:center}.written-run-area{display:grid;gap:10px;margin-top:14px}.practice.is-single{max-width:none;margin-left:0;margin-right:0}.is-single .mcq-toolbar{margin-bottom:12px}.stepper{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;margin:0 0 18px}.stepper-top{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px 12px}.stepper-done{margin:0;color:var(--muted);font-size:.92rem}.stepper-done strong{color:var(--text);font-size:1.05rem}.stepper-stats{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}.stepper-stats li{padding:1px 9px;border-radius:999px;background:var(--switch-bg);color:var(--muted);font-size:.78rem;font-weight:600}.stepper-stats .is-correct{background:var(--ok-bg);color:var(--ok)}.stepper-stats .is-wrong{background:var(--error-bg);color:var(--error)}.stepper-stats .is-partial{background:var(--warning-bg);color:var(--warning)}.stepper-stats .is-flagged{background:var(--flag-bg);color:var(--flag)}.stepper .mcq-progress-text{display:none}.stepper .mcq-progress-bar{height:8px}.stepper .mcq-nav-list{flex-wrap:nowrap;overflow-x:auto;padding:6px 4px 8px;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.stepper .mcq-nav-list li{flex:none}.stepper .mcq-nav-item{width:44px;height:44px}.stepper-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px}.stepper-foot .review-chips{padding-top:0;border-top:none}.stepper-foot .mcq-legend{margin:0 0 0 auto}.mcq-page .mcq{padding:28px 32px 22px;border-radius:16px;box-shadow:0 1px 2px #0000000a,0 10px 28px #00000012}.mcq-page .mcq-prompt{margin:10px 0 16px;font-size:1.25rem}.mcq-page .mcq-options{gap:10px}.mcq-page .mcq-option{padding:13px 16px}.mcq-page .mcq-actions{margin-top:22px;padding-top:16px;border-top:1px solid var(--border)}.is-single .mcq>.mcq-keys{margin-top:14px;text-align:center}.is-single .mcq-summary{padding:32px;border-radius:16px;text-align:center}.is-single .summary-score,.is-single .summary-stats,.is-single .summary-actions{justify-content:center}.is-single .summary-verdict{max-width:46ch;margin-left:0;margin-right:0}.is-single .summary-next{text-align:left}@media (max-width: 640px){.mcq-page .mcq{padding:18px 16px 16px}.mcq-page .mcq-prompt{font-size:1.1rem}.is-single .mcq-summary{padding:22px 16px}.stepper-foot .mcq-legend{margin-left:0}}.mcq-page>.page-main{min-width:0}.is-single>.page-side{min-width:0;width:100%;max-width:360px;margin:0 0 18px auto;padding:14px 16px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}.is-single .page-side .stepper{margin-bottom:0}.mcq-page>.mcq-panel{width:100%;max-width:360px;margin:0 0 18px auto;position:static}@media (min-width: 1024px){.practice.mcq-page{display:grid;grid-template-columns:minmax(0,1fr) clamp(280px,22vw,320px);grid-template-areas:"head side" "controls side" "main side";column-gap:16px;align-items:start}.mcq-page>.page-head{grid-area:head}.mcq-page>.practice-controls{grid-area:controls}.mcq-page>.page-main{grid-area:main}.is-single>.page-side{grid-area:side;position:sticky;top:24px;max-height:calc(100vh - 32px);overflow-y:auto;padding:14px 16px;border:1px solid var(--border);border-radius:12px;background:var(--surface);margin:0}.mcq-page>.mcq-panel{grid-area:side;position:sticky;margin:0}.mcq-page .mcq-split{grid-template-columns:minmax(0,1fr)}.is-single .page-side .stepper{margin-bottom:0}.is-single .page-side .stepper .mcq-nav-list{flex-wrap:wrap;overflow:visible;padding:4px 2px}.is-single .page-side .stepper-foot{flex-direction:column;align-items:flex-start}.is-single .page-side .stepper-foot .mcq-legend{margin-left:0}}.practice.paper-page{max-width:1240px}.paper-intro{margin:4px 0 20px}.paper-intro h1{margin:4px 0 8px}.paper-intro .lead{max-width:70ch;margin:0}.paper-bar{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 16px;margin-bottom:12px}.paper-bar h2{margin:0;font-size:1.3rem}.paper-bar h2{scroll-margin-top:16px}.paper-bar h2:focus{outline:none}.paper-facts{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}.paper-facts li{padding:2px 10px;border-radius:999px;background:var(--switch-bg);color:var(--muted);font-size:.82rem;font-weight:600}.paper-sheet{--sheet-bg: #ffffff;--sheet-edge: rgba(0, 0, 0, .08);--sheet-shadow: 0 1px 2px rgba(0, 0, 0, .06), 0 12px 32px rgba(0, 0, 0, .1);--sheet-ink: #111111;--sheet-muted: #5b6472;--sheet-rule: #c3c8d2;--sheet-box-border: #b8bfcc;--sheet-button-bg: #ffffff;--sheet-button-hover: #f3f4f6;--sheet-button-text: #374151;--sheet-fail-bg: #fdf6f6;--sheet-fail-border: #d4a3a3;--sheet-fail-text: #7f1d1d;--sheet-table-border: #1f1f1f;--surface: #ffffff;--text: #111111;--muted: #4b5565;--border: #c9ced8;--control-border: #7e8ca2;--hover: #f3f6fc;--focus: #2452d1;--cm-bg: #ffffff;--cm-gutter-bg: #fafafa;--cm-gutter-text: #9aa3b2;--cm-gutter-border: #e5e7eb;--cm-active-line: rgba(37, 99, 235, .045);--cm-active-gutter: #e8eefc;--cm-active-gutter-text: #334155;--cm-error-line: #fde8e8;--cm-tab-arrow: #cbd5e1;--cm-selection: #cfe0ff;--syn-keyword: #1d4ed8;--syn-type: #0f766e;--syn-bool: #b45309;--syn-builtin: #7c3aed;--syn-string: #b91c1c;--syn-number: #b45309;--syn-comment: #6b7280;--syn-operator: #334155;display:grid;grid-template-columns:minmax(0,1fr);padding:40px 52px;font-family:var(--pq-font);font-size:16px;line-height:1.38;border:1px solid var(--sheet-edge);border-radius:4px;background:var(--sheet-bg);color:var(--text);box-shadow:var(--sheet-shadow)}:root[data-theme=dark] .paper-sheet{--sheet-bg: #1c1c1c;--sheet-edge: #2a2a2a;--sheet-shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 12px 32px rgba(0, 0, 0, .45);--sheet-ink: #dcdcdc;--sheet-muted: #9a9a9a;--sheet-rule: #3a3a3a;--sheet-box-border: #3a3a3a;--sheet-button-bg: #232323;--sheet-button-hover: #2c2c2c;--sheet-button-text: #d0d0d0;--sheet-fail-bg: #2e1517;--sheet-fail-border: #6b2a2a;--sheet-fail-text: #ff9a9a;--sheet-table-border: #5c5c5c;--surface: #1c1c1c;--text: #e2e2e2;--muted: #9a9a9a;--border: #333333;--control-border: #4a4a4a;--hover: #262626;--focus: #6c8cff;--cm-bg: #161616;--cm-gutter-bg: #1a1a1a;--cm-gutter-text: #6a6a6a;--cm-gutter-border: #2a2a2a;--cm-active-line: rgba(255, 255, 255, .035);--cm-active-gutter: #242424;--cm-active-gutter-text: #c8c8c8;--cm-error-line: #2e1517;--cm-tab-arrow: #404040;--cm-selection: #2a3a66;--syn-keyword: #82a4ff;--syn-type: #4fd1c0;--syn-bool: #f0b45a;--syn-builtin: #c4a2ff;--syn-string: #ff9a9a;--syn-number: #f0b45a;--syn-comment: #8591ab;--syn-operator: #b9c3da;color-scheme:dark}.paper-sheet{--pq-font: Arial, "Helvetica Neue", Helvetica, "Liberation Sans", sans-serif;--pq-mono: "Courier New", Courier, "Liberation Mono", monospace;--pq-gutter: 2.9em;--pq-inset: 1.25em}.pq-block{position:relative;margin:.95em 0 0;padding-left:calc((var(--level) + 1) * var(--pq-gutter) + var(--inset) * var(--pq-inset))}.paper-sheet>.pq-block:first-child{margin-top:0}.pq-block.is-tight{margin-top:.3em}.pq-text{white-space:pre-wrap}.pq-label{position:absolute;left:calc(var(--level) * var(--pq-gutter));font-weight:700}.pq-code,.pq-lines.is-mono,.pq-cell.is-mono{font-family:var(--pq-mono);font-size:1.02em;letter-spacing:.01em}.pq-arrow{font-size:1.2em;line-height:1}.pq-code{padding:0;background:none;color:inherit}.pq-line{display:flex;min-height:1.38em}.pq-lines.is-mono .pq-line-text{white-space:pre}.pq-line-number{flex:none;width:2.6ch;margin-right:1ch;font-family:var(--pq-mono)}.pq-lines.is-mono{overflow-x:auto}.pq-list{margin:0;padding:0;list-style:none}.pq-list>li{position:relative;padding-left:2.6em}.pq-list.is-spaced>li+li{margin-top:.75em}.pq-list.is-spaced>li>.pq-list{margin-top:.75em}.pq-list.is-bullet>li:before,.pq-list.is-circle>li:before{position:absolute;left:.15em}.pq-list.is-bullet>li:before{content:"•"}.pq-list.is-circle>li:before{content:"o";font-size:.9em}.pq-list.is-number{counter-reset:pq-item}.pq-list.is-number>li{counter-increment:pq-item}.pq-list.is-number>li:before{content:counter(pq-item) ".";position:absolute;left:0}.pq-list .pq-list{margin-top:.15em}.pq-list.is-in-cell>li{padding-left:1.9em}.pq-table-scroll{overflow-x:auto;scrollbar-width:thin}.pq-table{border-collapse:collapse;font-size:.97em}.pq-cell{padding:.45em .6em;border:1px solid var(--sheet-table-border);text-align:left;vertical-align:middle;font-weight:400}.pq-cell.is-head{font-weight:700;text-align:center;white-space:pre-line}.pq-cell.is-mono{white-space:pre;line-height:1.15;vertical-align:top}.pq-cell.is-head.is-mono{vertical-align:middle}.pq-cell.is-left{text-align:left}.pq-cell.is-center{text-align:center}.pq-cell.is-right{text-align:right}.pq-cell.is-bare{border:none}.pq-cell.is-gap{width:1.4em;min-width:1.4em;padding:0;border:none}.pq-table.is-plain .pq-cell{padding:0 1.2em .1em 0;border:none;vertical-align:top}.paper-omitted{margin:18px 0 4px;font-family:system-ui,-apple-system,Segoe UI,sans-serif;padding:8px 12px;border:1px dashed var(--sheet-rule);border-radius:6px;color:var(--sheet-muted);font-size:.88rem;font-style:italic;text-align:center}.paper-answer{margin:14px 0 6px;padding-left:calc((var(--level, 0) + 1) * var(--pq-gutter))}.paper-answer-box{overflow:hidden;border:1px solid var(--sheet-box-border);border-radius:6px;background:var(--cm-bg)}.paper-answer-box:focus-within{border-color:var(--focus);box-shadow:0 0 0 3px #2452d12e}.paper-answer .code-editor,.paper-answer .code-editor .cm-editor{height:auto}.paper-answer .code-editor .cm-scroller{min-height:calc(var(--rows) * 1.45em + 8px)}.paper-answer.is-line .code-editor .cm-gutters{display:none}.paper-answer-foot{display:flex;align-items:center;gap:12px;margin-top:6px;min-height:28px}.paper-answer-clear{padding:3px 10px;border:1px solid var(--border);border-radius:6px;background:var(--sheet-button-bg);color:var(--sheet-button-text);font:inherit;font-size:.82rem;cursor:pointer}.paper-answer-clear:hover:not(:disabled){background:var(--sheet-button-hover)}.paper-answer-clear:disabled{opacity:.45;cursor:default}.paper-answer-clear:focus-visible{outline:3px solid var(--focus);outline-offset:1px}.paper-answer-state{color:var(--sheet-muted);font-size:.8rem}.paper-answer-state.is-failed{color:var(--sheet-fail-text)}.paper-marks-before{margin:8px 0 0;padding-left:calc((var(--level, 0) + 1) * var(--pq-gutter));text-align:right;color:var(--sheet-ink);font-family:Arial,Helvetica Neue,Helvetica,sans-serif;font-size:1.02rem;font-weight:600}.pq-text.has-marks{display:flex;align-items:flex-end;gap:12px}.pq-text-content{min-width:0}.paper-prompt-marks{flex:none;margin-left:auto;color:var(--sheet-ink);font-family:Arial,Helvetica Neue,Helvetica,sans-serif;font-size:1.02rem;font-weight:600}.pq-block.has-marks:not(.pq-text){padding-right:3.5em}.pq-block.has-marks:not(.pq-text)>.paper-prompt-marks{position:absolute;right:0;bottom:0}.paper-answer-group>.paper-answer{margin-top:4px}.paper-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:18px 0 8px}.paper-nav-count{color:var(--muted);font-size:.88rem}.paper-page .topic-pager{margin-top:24px}@media (max-width: 720px){.paper-sheet{--pq-gutter: 2.1em;font-size:15px;padding:20px 14px 18px;border-radius:2px}.paper-nav .button-quiet,.paper-nav .button-primary{padding:8px 12px}}@media (min-width: 1024px){.practice.paper-page{display:grid;grid-template-columns:minmax(0,1fr) clamp(280px,22vw,320px);grid-template-areas:"head side" "controls side" "main side" "pager side";column-gap:16px;align-items:start}.paper-page>.page-head{grid-area:head}.paper-page>.practice-controls{grid-area:controls}.paper-page>.page-main{grid-area:main;min-width:0}.paper-page>.topic-pager{grid-area:pager}}.paper-question-actions{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 0}.paper-summary .summary-sub{margin:-6px 0 10px;color:var(--muted);font-size:.9rem}.paper-sheet{--fig-ink: var(--sheet-ink);--fig-paper: var(--sheet-bg);--fig-grey: color-mix(in srgb, var(--sheet-ink) 22%, var(--sheet-bg))}.pq-figure{display:block;width:calc(var(--w) / 11 * 1em);max-width:100%;height:auto;overflow:visible}.pq-figure-text{font-family:var(--pq-font);fill:var(--fig-ink);white-space:pre}.pq-figure-text.is-mono{font-family:var(--pq-mono)}.pq-figure-text.is-bold{font-weight:700}.paper-text-input,.paper-field-input{display:block;width:100%;box-sizing:border-box;border:1px solid var(--sheet-box-border);border-radius:6px;padding:8px 10px;background:var(--cm-bg);color:var(--sheet-ink);font:inherit;font-family:var(--pq-font);line-height:1.45;resize:vertical}.paper-field-input.is-code{font-family:var(--pq-mono)}.paper-text-input:focus,.paper-field-input:focus{outline:none;border-color:var(--focus);box-shadow:0 0 0 3px #2452d12e}.paper-fields{display:grid;gap:8px}.paper-field{display:grid;grid-template-columns:minmax(8em,max-content) minmax(0,1fr);align-items:center;gap:4px 12px}.paper-field.is-many{align-items:start}.paper-field.is-many .paper-field-label{padding-top:8px}.paper-field-label{font-family:var(--pq-font)}@media (max-width: 720px){.paper-field{grid-template-columns:minmax(0,1fr)}}.paper-run-bar{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin-top:8px}.paper-run-button{display:inline-flex;align-items:center;gap:6px;padding:5px 14px;border:1px solid var(--focus);border-radius:6px;background:var(--focus);color:#fff;font:inherit;font-family:system-ui,-apple-system,Segoe UI,sans-serif;font-size:.9em;font-weight:600;cursor:pointer}.paper-run-button:hover{filter:brightness(1.08)}.paper-run-button:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.paper-run-button.is-stop{border-color:var(--sheet-fail-border);background:var(--sheet-fail-bg);color:var(--sheet-fail-text)}.paper-run-hint{color:var(--sheet-muted);font-family:system-ui,-apple-system,Segoe UI,sans-serif;font-size:.8em}.paper-run-hint kbd,.paper-run-hint code{font-family:var(--pq-mono)}.paper-runnable .problems,.paper-console{margin-top:8px}.paper-console .console-body{max-height:260px;min-height:72px}.paper-field.is-code{grid-template-columns:minmax(0,1fr)}.pq-cell.is-input{padding:0;min-width:3.5em}.pq-cell-input{display:block;width:100%;min-width:3em;height:100%;min-height:1.9em;box-sizing:border-box;border:0;padding:4px 6px;background:color-mix(in srgb,var(--focus) 5%,transparent);color:var(--sheet-ink);font:inherit;font-family:var(--pq-font);text-align:center}.pq-cell-input:focus{outline:2px solid var(--focus);outline-offset:-2px;background:transparent}.paper-answer.is-table{margin-top:4px}.paper-choices{display:grid;gap:6px;margin:0;padding:0;border:0}.paper-answer.is-multiple .paper-choices{grid-template-columns:repeat(auto-fill,minmax(8em,1fr))}.paper-choice{display:flex;align-items:center;gap:10px;padding:7px 10px;border:1px solid var(--sheet-box-border);border-radius:6px;cursor:pointer;font-family:var(--pq-font)}.paper-choice:has(input:checked){border-color:var(--focus);background:color-mix(in srgb,var(--focus) 8%,transparent)}.paper-choice input{width:18px;height:18px;margin:0;accent-color:var(--focus)}.paper-choice-key{font-weight:700;min-width:1em}.paper-match{display:grid;gap:8px}.paper-match-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:6px 12px;align-items:center}.paper-match-item{padding:7px 10px;border:1px solid var(--sheet-table-border);font-family:var(--pq-font)}.paper-match-select{width:100%;padding:7px 8px;border:1px solid var(--sheet-box-border);border-radius:6px;background:var(--cm-bg);color:var(--sheet-ink);font:inherit;font-family:var(--pq-font)}.paper-drawing-note{margin:0 0 6px;color:var(--sheet-muted);font-family:system-ui,-apple-system,Segoe UI,sans-serif;font-size:.85em}@media (max-width: 720px){.paper-match-row{grid-template-columns:minmax(0,1fr)}}.paper-answer.is-symbols .paper-match{max-width:34rem}.paper-answer.is-symbols .paper-match-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.paper-answer.is-symbols .paper-match-item{display:flex;justify-content:center;align-items:center;padding:0;border:0}.paper-answer.is-symbols .paper-match-item .pq-block{margin:0;padding:0}.paper-answer.is-drawing .paper-drawing-note{margin-bottom:8px}.pq-figure-caption{margin:2px 0 0;color:var(--sheet-muted);font-family:var(--pq-font);font-size:.85em;font-weight:700}.paper-report{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin:10px 0 0;font-family:system-ui,-apple-system,Segoe UI,sans-serif;font-size:.9rem}:root{--report-accent: #c2414b;--report-accent-hover: #9f2a33}:root[data-theme=dark]{--report-accent: #f08a8f;--report-accent-hover: #f7b2b5}.paper-report-toggle{display:inline-flex;align-items:center;gap:6px;padding:4px 0;border:0;background:none;color:var(--report-accent);font:inherit;font-weight:600;text-decoration:none;text-underline-offset:3px;cursor:pointer}.paper-report-toggle:hover{color:var(--report-accent-hover);text-decoration:underline}.paper-report-toggle:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.paper-report-state{color:var(--muted, #5b6472)}.paper-report.is-open{display:block;padding:14px 16px;border:1px solid var(--sheet-box-border, var(--border));border-radius:10px;background:var(--sheet-bg, var(--surface));color:var(--sheet-ink, var(--text))}.paper-report-title{margin:0 0 8px;font-size:1rem}.paper-report-reasons{display:grid;gap:6px;margin:0 0 10px;padding:0;border:0}.paper-report-reason{display:flex;align-items:flex-start;gap:8px;cursor:pointer}.paper-report-reason input{width:17px;height:17px;margin:2px 0 0;accent-color:var(--focus)}.paper-report-comment-label{display:block;margin-bottom:4px;font-weight:600}.paper-report-comment{display:block;width:100%;box-sizing:border-box;padding:8px 10px;border:1px solid var(--sheet-box-border, var(--border));border-radius:6px;background:var(--cm-bg);color:var(--sheet-ink, var(--text));font:inherit;resize:vertical}.paper-report-note{margin:4px 0 10px;color:var(--sheet-muted, var(--muted));font-size:.85em}.paper-report-actions{display:flex;gap:10px}.paper-report-send,.paper-report-cancel{padding:6px 14px;border-radius:6px;font:inherit;cursor:pointer}.paper-report-send{border:1px solid var(--focus);background:var(--focus);color:#fff;font-weight:600}.paper-report-send:disabled{opacity:.5;cursor:not-allowed}.paper-report-cancel{border:1px solid var(--sheet-box-border, var(--border));background:var(--sheet-button-bg, var(--surface));color:var(--sheet-button-text, var(--text))}:root{--scheme-accent: #1f7a4d;--scheme-bg: #f1f8f4;--scheme-wrong: #b3261e}:root[data-theme=dark]{--scheme-accent: #5fcf96;--scheme-bg: #16231c;--scheme-wrong: #f08a8f}.paper-check-toggle{margin-left:auto;padding:5px 14px;border:1px solid var(--scheme-accent);border-radius:6px;background:transparent;color:var(--scheme-accent);font:inherit;font-family:system-ui,-apple-system,Segoe UI,sans-serif;font-size:.88em;font-weight:600;cursor:pointer}.paper-check-toggle:hover{background:color-mix(in srgb,var(--scheme-accent) 10%,transparent)}.paper-check-toggle:disabled{opacity:.5;cursor:default;background:transparent}.paper-check-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:6px 10px;margin-left:auto}.paper-check-edited{color:var(--muted);font-size:.85em}.paper-check-toggle:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.paper-scheme{margin:8px 0 12px calc((var(--level, 0) + 1) * var(--pq-gutter));padding:12px 14px;border-left:4px solid var(--scheme-accent);border-radius:0 8px 8px 0;background:var(--scheme-bg)}.paper-scheme-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 12px;margin-bottom:8px;font-family:system-ui,-apple-system,Segoe UI,sans-serif}.paper-scheme-title{color:var(--scheme-accent);font-weight:700;letter-spacing:.02em;text-transform:uppercase;font-size:.8em}.paper-scheme-score{font-weight:700;font-size:.9em}.paper-scheme-score.is-full{color:var(--scheme-accent)}.paper-scheme-lines{display:grid;gap:6px;margin:0 0 8px;padding:0;list-style:none}.paper-scheme-lines li{display:grid;grid-template-columns:1.4em minmax(0,1fr) minmax(0,.8fr);gap:8px;align-items:baseline;font-family:var(--pq-font)}.paper-scheme-mark{font-weight:700}.paper-scheme-lines .is-right .paper-scheme-mark{color:var(--scheme-accent)}.paper-scheme-lines .is-wrong .paper-scheme-mark,.paper-scheme-lines .is-wrong .paper-scheme-answer{color:var(--scheme-wrong)}.paper-scheme-lines.paper-check-lines li{grid-template-columns:minmax(0,1fr) auto}.paper-check-lines .is-unanswered .paper-scheme-mark{color:var(--muted)}.paper-revealed-scheme{margin-top:12px;border-top:1px solid var(--border)}.paper-mark-scheme{overflow-x:auto;background:var(--sheet-bg, var(--surface));color:var(--sheet-ink, var(--text));font-family:var(--pq-font);font-size:.92rem}.paper-mark-scheme table{width:100%;border-collapse:collapse}.paper-mark-scheme th,.paper-mark-scheme td{padding:8px 10px;border:1px solid var(--sheet-box-border, var(--border));text-align:left;vertical-align:top}.paper-mark-scheme>table>tbody>tr>th,.paper-mark-scheme>table>tbody>tr>td:last-child{width:1%;white-space:nowrap}.paper-mark-scheme .pq-block{margin:0 0 10px;padding-left:0}.paper-mark-scheme .paper-mark-links th,.paper-mark-scheme .paper-mark-links td{padding:6px 8px}.paper-scheme-answer{font-weight:700}.paper-scheme-guidance .pq-block{margin-top:.4em;padding-left:0}@media (max-width: 720px){.paper-scheme-lines li{grid-template-columns:1.4em minmax(0,1fr)}.paper-scheme-answer{grid-column:2}.paper-scheme-lines.paper-check-lines li{grid-template-columns:minmax(0,1fr);gap:2px}.paper-check-lines .paper-scheme-answer{grid-column:1}}.paper-self-note{margin:0 0 10px;color:var(--sheet-muted, var(--muted));font-family:system-ui,-apple-system,Segoe UI,sans-serif;font-size:.88em}.paper-self-score{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin-top:12px;font-family:system-ui,-apple-system,Segoe UI,sans-serif;font-size:.9em}.paper-self-score label{font-weight:700}.paper-self-score select{padding:4px 8px;border:1px solid var(--sheet-box-border, var(--border));border-radius:6px;background:var(--cm-bg);color:var(--sheet-ink, var(--text));font:inherit}.paper-code-tests{margin-bottom:12px}.paper-code-tests.is-error ul{margin:4px 0 8px;padding-left:1.2em;color:var(--scheme-wrong)}.paper-code-output{display:block;margin-top:2px;color:var(--sheet-muted, var(--muted));font-family:var(--pq-mono);font-size:.85em;white-space:pre-wrap;word-break:break-word}.paper-code-full-output{margin-top:4px;color:var(--sheet-muted, var(--muted));font-size:.82em}.paper-code-full-output pre{max-height:18rem;overflow:auto;margin:6px 0 0;padding:8px;border:1px solid var(--sheet-rule);border-radius:6px;font-family:var(--pq-mono);white-space:pre-wrap}.paper-code-rules{margin:4px 0 8px;padding-left:1.2em;color:var(--scheme-wrong);font-family:system-ui,-apple-system,Segoe UI,sans-serif;font-size:.9em}.paper-match-symbol{display:inline-block;vertical-align:middle}.paper-match-symbol .pq-block{margin:0;padding:0}.pq-image{display:block;width:calc(var(--w) / 11 * 1em);max-width:100%;height:auto;background:#fff;border-radius:4px;padding:4px;box-sizing:border-box}.paper-gate-actions{display:flex;flex-wrap:wrap;gap:8px}.paper-scheme .paper-gate-actions{margin-top:8px}.paper-scheme-head .paper-gate-actions{margin-top:0}.paper-code-pass{color:var(--sheet-pass-text, var(--ok))}.paper-code-fail{color:var(--sheet-fail-text, var(--error))}.paper-unlock-run{margin-left:calc(var(--level, 0) * var(--pq-gutter, 2.9em))}.paper-run-button.is-locked{border-color:var(--control-border);background:transparent;color:var(--muted);filter:none}.paper-score-input{width:4.5em;padding:4px 8px;border:1px solid var(--control-border);border-radius:6px;background:var(--surface);color:var(--text);font:inherit;text-align:center}.paper-score-input:focus-visible{outline:3px solid var(--focus);outline-offset:1px}.profile h2{margin:32px 0 12px;font-size:1.2rem}.profile-empty{margin:16px 0;color:var(--muted)}.profile-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin:20px 0 0}.profile-card{margin:0;padding:14px 16px;background:var(--surface);border:1px solid var(--border);border-radius:10px}.profile-card dt{color:var(--muted);font-size:.82rem}.profile-card dd{margin:4px 0 0;display:flex;flex-direction:column;gap:2px}.profile-card-value{font-size:1.5rem;font-weight:700;line-height:1.2}.profile-card-note{color:var(--muted);font-size:.8rem}.profile-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:10px;background:var(--surface)}.profile-table{width:100%;border-collapse:collapse;font-size:.92rem}.profile-table th,.profile-table td{padding:10px 14px;text-align:left;border-bottom:1px solid var(--border);white-space:nowrap}.profile-table thead th{color:var(--muted);font-size:.8rem;font-weight:600}.profile-table tbody tr:last-child th,.profile-table tbody tr:last-child td{border-bottom:0}.profile-table tbody th{font-weight:600}.profile-table .num{text-align:right;font-variant-numeric:tabular-nums}.profile-table a{color:var(--accent)}.profile-table .is-untried th a{color:var(--muted);font-weight:500}.profile-bar{display:inline-block;vertical-align:middle;width:90px;height:8px;border-radius:4px;background:var(--switch-bg);overflow:hidden}.profile-bar>span{display:block;height:100%;background:var(--accent-fill)}.profile-percent{margin-left:6px;font-variant-numeric:tabular-nums}.profile-result{font-weight:600}.profile-result.is-correct{color:var(--ok)}.profile-result.is-wrong{color:var(--error)}.profile-result.is-partial{color:var(--warning)}.profile-result.is-skipped{color:var(--muted);font-weight:500}.profile-footnote{margin-top:32px}.profile-chart{margin:0;padding:12px 12px 8px;background:var(--surface);border:1px solid var(--border);border-radius:10px}.profile-chart svg{display:block;width:100%;height:auto}.chart-grid{stroke:var(--border);stroke-width:1}.chart-axis{fill:var(--muted);font-size:10px}.chart-bar{fill:var(--accent-fill);opacity:.85}.chart-line{stroke:var(--ok);stroke-width:2;stroke-linejoin:round}.chart-legend{display:flex;flex-wrap:wrap;gap:4px 18px;margin-top:6px;color:var(--muted);font-size:.8rem}.chart-key{display:inline-block;vertical-align:middle;margin-right:4px}.chart-key-bar{width:10px;height:10px;border-radius:2px;background:var(--accent-fill)}.chart-key-line{width:14px;height:0;border-top:2px solid var(--ok)}@media (max-width: 600px){.profile-table th,.profile-table td{padding:9px 10px}}
