.section-title{margin:0 0 var(--space-6);font-size:clamp(2rem,4vw,3rem);letter-spacing:-.03em;line-height:1.05}.home-section.split{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr));gap:var(--space-10) 56px;align-items:start}.home-section.split .lead{margin-bottom:var(--space-6)}.card-head,.fc-title,.plan-head{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:var(--space-2) var(--space-4);margin-bottom:var(--space-4)}.picker-label{display:block;font-size:var(--font-size-sm);color:var(--color-text-muted);margin:var(--space-4) 0 var(--space-2)}.verify{margin:var(--space-4) 0 0}.verify a{color:var(--color-text)}.forecast-card{background:var(--color-surface);border:var(--frame);box-shadow:var(--shadow-offset);padding:clamp(20px,3vw,28px);margin-right:10px;margin-bottom:10px;display:flex;flex-direction:column;gap:var(--space-3)}.forecast-card .fc-title{margin-bottom:var(--space-2)}.fc-row{display:flex;flex-direction:column;gap:8px;color:var(--color-text);text-decoration:none;padding:4px 0}.fc-link:hover .fc-name{text-decoration:underline}.fc-head{display:flex;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;font-size:var(--font-size-sm)}.fc-status{font-size:var(--font-size-xs)}.fc-ok{color:var(--color-ok)}.fc-bad{color:var(--color-bad)}.fc-none{color:var(--color-text-muted)}.fc-threshold{margin:0}.fc-summary{background:var(--color-surface-2);padding:var(--space-3) var(--space-4);font-size:var(--font-size-sm);line-height:1.5}.session-picker .picker-label:first-child{margin-top:0}.session-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,170px),1fr));gap:var(--space-2)}.session-opt{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:12px 14px;border:var(--frame);border-color:var(--color-border);background:var(--color-surface);color:var(--color-text);font:inherit;text-align:left;cursor:pointer}.session-opt:hover{border-color:var(--color-ink)}.session-opt.active{border-color:var(--color-ink);background:var(--color-surface-2);box-shadow:inset 0 0 0 1px var(--color-ink)}.session-opt .small{color:var(--color-text-muted)}.session-opt.no-level:not(.active) b{color:var(--color-text-muted)}.hours-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-2)}.hours-grid .seg-item{min-width:0}.plan-card{background:var(--color-surface);border:var(--frame);padding:clamp(20px,3vw,28px)}.plan-rows,.plan-weeks{list-style:none;margin:0 0 var(--space-4);padding:0}.plan-row,.plan-week{display:grid;grid-template-columns:96px minmax(0,1fr);gap:var(--space-3);padding:14px 0;border-top:1px solid var(--color-border)}.plan-when,.plan-what{display:flex;flex-direction:column;gap:2px;min-width:0}.plan-focus{font-weight:600}.task-list{list-style:none;margin:var(--space-2) 0 0;padding:0;display:flex;flex-direction:column;gap:6px}.plan-task{display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:var(--space-3);align-items:center;font-size:var(--font-size-sm)}.task-check{width:22px;height:22px;border:2px dashed var(--color-border);border-radius:50%;display:inline-flex;align-items:center;justify-content:center}.plan-task.done .task-check{border:none;background:var(--color-ok);color:var(--color-on-ink)}.plan-task.done .task-name{color:var(--color-text-muted);text-decoration:line-through}.task-name{color:var(--color-text);overflow-wrap:anywhere}.demo-opts{display:grid;grid-template-columns:1fr 1fr;gap:10px}.demo-opt{display:flex;justify-content:space-between;gap:var(--space-2);padding:16px;font:inherit;font-size:var(--font-size-lg);text-align:left;background:var(--color-surface);color:var(--color-text);border:var(--frame);border-color:var(--color-border);cursor:pointer}.demo-opt:hover{border-color:var(--color-ink)}.demo-opt.ok{border-color:var(--color-ok);background:var(--color-ok-soft)}.demo-opt.ok .mono{color:var(--color-ok)}.demo-opt.bad{border-color:var(--color-bad);background:var(--color-bad-soft)}.demo-opt.bad .mono{color:var(--color-bad)}.demo-verdict{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-2);font-size:var(--font-size-sm);background:var(--color-surface-2);padding:var(--space-3) var(--space-4)}@media (max-width: 520px){.demo-opts{grid-template-columns:1fr}}.goal-seg .seg-item{font-family:var(--font-sans)}.goal-answer{font-size:var(--font-size-xl);font-weight:600;max-width:60ch;margin:var(--space-2) 0 var(--space-6)}.telc-table th[scope=row]{font-weight:400;color:var(--color-text-muted);white-space:nowrap}.telc-table thead th{white-space:nowrap}.telc-table thead .badge{margin-left:6px}.telc-off .telc-col{color:var(--color-text-muted)}.tariff-section{background:#16161a;color:#f6f4ef;border-top:0}.tariff-section .section-head h2{color:#f6f4ef}.tariff-section .section-head p,.tariff-note{color:#a8a6a0}.tariff-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:var(--space-4)}.tariff{display:flex;flex-direction:column;gap:var(--space-3);padding:22px;border:var(--border-w) solid #3a3936}.tariff.rec{background:#f6f4ef;color:#16161a;border-color:#f6f4ef}.tariff-head{display:flex;justify-content:space-between;align-items:center;gap:var(--space-2);flex-wrap:wrap}.tariff-price{display:flex;align-items:baseline;gap:var(--space-2)}.tariff-price>span:first-child{font-size:2.25rem;font-weight:800;letter-spacing:-.03em}.tariff-inc{font-size:var(--font-size-sm);flex:1}.tariff-cover{font-size:var(--font-size-sm);font-weight:600;min-height:1.4em}.tariff .btn{border-color:currentColor;color:inherit;background:transparent}.tariff-note{margin:var(--space-6) 0 0;font-size:var(--font-size-sm)}.tariff-note .btn{border-color:#f6f4ef;color:#f6f4ef}@media (prefers-color-scheme: dark){.tariff-section{background:#0c0c0f}}.faq{border-top:var(--frame);max-width:880px}.faq details{border-bottom:1px solid var(--color-border)}.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:var(--space-4);padding:20px 0;font-size:var(--font-size-lg);font-weight:600}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";font-family:var(--font-mono);color:var(--color-accent-strong)}.faq details[open] summary:after{content:"−"}.faq details p{margin:0 0 20px;color:var(--color-text-2);max-width:70ch}.cabinet-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:var(--space-8);align-items:start;margin-bottom:var(--space-8)}.cabinet-page .page-header-actions .seg{margin-bottom:0}.week-card{display:flex;flex-direction:column;gap:var(--space-3)}.week-card .card-head{margin-bottom:0}.week-card .btn{align-self:flex-start}.history-list{list-style:none;margin:0;padding:0}.history-list li{display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:var(--space-3);align-items:baseline;padding:10px 0;border-top:1px solid var(--color-border)}.history-list a{color:var(--color-text);overflow-wrap:anywhere}.diag-intro{display:flex;flex-direction:column;gap:var(--space-3);max-width:640px}.diag-intro p{margin:0}.diag-composition{list-style:none;margin:0;padding:0;border-top:var(--frame)}.diag-composition li{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--color-border)}.diag-run{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:var(--space-6);align-items:start}.diag-sheet{display:flex;flex-direction:column;gap:var(--space-4)}.diag-sheet p{margin:0}.diag-text{margin:0;padding:var(--space-4);background:var(--color-surface-2);border-left:3px solid var(--color-ink);line-height:1.6}.diag-text.small{margin-bottom:var(--space-3)}.diag-sheet .items{margin:0}.diag-nav-buttons{justify-content:space-between}.flip-icon .icon{transform:rotate(180deg)}.diag-side{display:flex;flex-direction:column;gap:var(--space-3);position:sticky;top:var(--space-4)}.diag-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.diag-dot{aspect-ratio:1;border:var(--frame);background:var(--color-surface);color:var(--color-text);font-family:var(--font-mono);font-size:var(--font-size-xs);cursor:pointer}.diag-dot.answered{background:var(--color-ink);color:var(--color-on-ink)}.diag-dot.current{outline:2px solid var(--color-accent);outline-offset:1px}.diag-result-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr));gap:var(--space-6);align-items:start;margin-bottom:var(--space-10)}@media (max-width: 860px){.diag-run{grid-template-columns:1fr}.diag-side{position:static}.diag-grid{grid-template-columns:repeat(10,1fr)}}@media (max-width: 420px){.diag-grid{grid-template-columns:repeat(5,1fr)}.plan-row,.plan-week{grid-template-columns:1fr;gap:4px}}.diag-self-list{display:grid;gap:var(--space-5);padding-left:1.2em}.diag-self-list p{margin:0 0 var(--space-2)}.streak-days{font-family:var(--font-display, inherit);font-size:var(--font-size-2xl, 1.75rem);font-weight:700;margin:var(--space-2) 0}.review-cards{display:grid;gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));list-style:none;padding:0;margin:0}.flip-card{display:flex;flex-direction:column;gap:var(--space-2);width:100%;min-height:120px;padding:var(--space-4);text-align:left;font:inherit;color:var(--color-text);background:var(--color-surface);border:var(--frame);cursor:pointer}.flip-card.flipped{background:var(--color-bg)}.flip-card:focus-visible,.flip-card:hover{border-color:var(--color-ink)}.flip-front{font-size:var(--font-size-lg)}.exam-bar{position:sticky;top:calc(var(--header-h) + 8px);z-index:15;max-width:var(--sheet-width);margin:0 auto var(--space-6);display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3) var(--space-5);padding:14px 18px;background:var(--color-surface);border:var(--frame)}.exam-bar-title{font-weight:700;margin-right:auto;display:flex;gap:var(--space-2) var(--space-3);align-items:center;flex-wrap:wrap;min-width:0}.exam-timer{display:flex;align-items:center;gap:8px}.exam-timer .icon{color:var(--color-text-muted)}.exam-timer [role=timer]{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:1.5rem;font-weight:600}.exam-timer-low [role=timer],.exam-timer-low .icon{color:var(--color-bad)}.exam-answered{display:flex;flex-direction:column;gap:6px;min-width:130px;font-family:var(--font-mono);font-size:.75rem}.exam-answered .meter{width:100%;height:4px}.exam-answered-short{display:none}@media (max-width: 600px){.exam-bar{top:calc(var(--header-h) + 4px);flex-wrap:nowrap;gap:var(--space-3);padding:8px 12px}.exam-bar-title{flex:0 0 auto;margin-right:0;font-size:var(--font-size-sm)}.exam-bar-title>:not(.badge){display:none}.exam-bar .btn{flex:none}.exam-answered-full{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.exam-answered-short{display:inline}.exam-timer [role=timer]{font-size:1.2rem}.exam-timer .muted{display:none}.exam-answered{flex:1;min-width:0}}.exam-sheet{background:var(--color-paper)}.exam-sheet .page-header{margin-bottom:var(--space-6)}.paused{text-align:center;padding-top:var(--space-12);padding-bottom:var(--space-12)}.paused .actions{justify-content:center}.task{padding-top:var(--space-8);margin-top:var(--space-8);border-top:var(--frame)}.exam-sheet .page-header+.task,.exam-sheet .facts-big+.task,.exam-sheet .no-voice+.task{border-top:0;margin-top:0}.task-head{display:flex;gap:var(--space-4);align-items:flex-start;justify-content:space-between}.task-title{font-size:var(--font-size-xl);font-weight:700;line-height:1.35;letter-spacing:-.01em;margin-bottom:var(--space-2)}.roman{font-family:var(--font-mono);font-weight:600;font-size:.8em;color:var(--color-accent-strong);margin-right:.3em}.task-points{white-space:nowrap;font-family:var(--font-mono);font-size:var(--font-size-sm);padding:6px 12px;border:var(--frame);background:var(--color-surface)}.task-hint{font-size:.9375rem;margin-bottom:var(--space-4)}@media (max-width: 600px){.task-head{flex-direction:column;gap:var(--space-2)}}.example{position:relative;border:1.5px dashed var(--color-border-strong);padding:var(--space-6) var(--space-4) var(--space-3);margin:var(--space-6) 0}.example p{margin:0 0 .3em}.example-label{position:absolute;top:-10px;left:12px;padding:1px 8px;background:var(--color-ink);color:var(--color-on-ink);font-family:var(--font-mono);font-size:.7rem;letter-spacing:.12em}.reading{padding:var(--space-6);margin-bottom:var(--space-6);font-size:1.0625rem;line-height:1.75;background:var(--color-surface-2)}.reading p{margin-bottom:.8em}.reading p:last-child{margin-bottom:0}.reading-title{font-size:var(--font-size-xl);margin-bottom:var(--space-4)}@media (max-width: 600px){.reading{padding:var(--space-4);font-size:1rem}}.gap-mark{display:inline-block;min-width:3.2em;padding:0 6px;margin:0 2px;border-bottom:2px solid var(--color-ink);font-family:var(--font-mono);font-size:.8em;text-align:center;color:var(--color-accent-strong)}.shared-options{list-style:none;padding:var(--space-4);margin:0 0 var(--space-6);display:grid;gap:8px;border:1px solid var(--color-border)}.shared-options b{display:inline-grid;place-items:center;width:24px;height:24px;margin-right:10px;border:var(--frame);font-family:var(--font-mono);font-weight:400;font-size:.8125rem}.items{list-style:none;padding:0;margin:0}.item{display:grid;grid-template-columns:36px 1fr;gap:var(--space-3);padding:var(--space-5) 0;border-bottom:1px solid var(--color-border)}.item:last-child{border-bottom:0}.item-num{font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--color-text-muted);padding-top:3px}.item-body{min-width:0}.item-prompt{margin-bottom:.7em;font-size:var(--font-size-lg);line-height:1.6}.blank{display:inline-block;width:4em;border-bottom:1.5px solid var(--color-ink);margin:0 3px;vertical-align:baseline}.options{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:8px}.options-letters{display:flex;flex-wrap:wrap;gap:8px}.opt{display:flex;align-items:center;gap:12px;min-height:52px;padding:12px 16px;border:var(--border-w) solid var(--color-border);background:var(--color-surface);cursor:pointer;font-size:var(--font-size-md);transition:border-color .1s,background-color .1s}.opt:hover{border-color:var(--color-ink)}.options-letters .opt{min-width:64px;justify-content:center;font-family:var(--font-mono)}.opt input{-moz-appearance:none;appearance:none;-webkit-appearance:none;flex:none;margin:0;width:20px;height:20px;border:var(--frame);background:var(--color-surface);cursor:inherit}.opt input[type=radio]{border-radius:50%}.opt input:checked{background:var(--color-ink);box-shadow:inset 0 0 0 4px var(--color-surface)}.opt input:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.opt-selected,.opt-selected:hover{border-color:var(--color-ink);background:var(--color-surface-2)}.opt-correct,.opt-correct:hover{border-color:var(--color-ok);background:var(--color-ok-soft)}.opt-correct input:checked{background:var(--color-ok);border-color:var(--color-ok)}.opt-wrong,.opt-wrong:hover{border-color:var(--color-bad);background:var(--color-bad-soft)}.opt-wrong input:checked{background:var(--color-bad);border-color:var(--color-bad)}.opt:has(input:disabled){cursor:default}.gap-input{font:inherit;font-weight:600;min-height:40px;width:11em;max-width:100%;padding:2px 10px;margin:2px 4px;border:0;border-bottom:2px solid var(--color-ink);background:var(--color-surface-2);color:var(--color-text)}.gap-input:focus,.gap-input:focus-visible{outline:none;border-bottom-color:var(--color-accent);background:var(--color-accent-soft)}.gap-hint{color:var(--color-text-muted);font-style:italic}.item-check{margin:var(--space-3) 0 0}.feedback{margin-top:var(--space-3);padding:14px 16px;background:var(--color-surface);border:1px solid var(--color-border)}.feedback-verdict{display:flex;align-items:center;gap:10px;font-weight:700;margin-bottom:.4em}.feedback-verdict>span[aria-hidden]{display:inline-grid;place-items:center;width:26px;height:26px;font-family:var(--font-mono);color:#fff;font-size:.875rem}.feedback-ok .feedback-verdict{color:var(--color-ok)}.feedback-ok .feedback-verdict>span[aria-hidden]{background:var(--color-ok-bar)}.feedback-bad .feedback-verdict{color:var(--color-bad)}.feedback-bad .feedback-verdict>span[aria-hidden]{background:var(--color-bad-bar)}.feedback-near .feedback-verdict{color:var(--color-warn-text)}.feedback-near .feedback-verdict>span[aria-hidden]{background:var(--color-warn-line)}.feedback-answers{margin:0 0 .5em;display:grid;gap:2px;font-size:.9375rem}.feedback-answers div{display:flex;flex-wrap:wrap;gap:0 8px}.feedback-answers dt{color:var(--color-text-muted)}.feedback-answers dt:after{content:":"}.feedback-answers dd{margin:0;font-weight:700}.feedback-bad .feedback-answers div:first-child dd{text-decoration:line-through;text-decoration-color:var(--color-bad);font-weight:500}.feedback-explanation{margin:0;font-size:.9375rem;line-height:1.55}.audio-block{margin:var(--space-3) 0 var(--space-4)}.listen{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-4);padding:var(--space-3);border-radius:var(--radius-md);background:var(--color-listening-soft)}.listen-count{color:var(--color-text-muted);font-size:var(--font-size-sm)}.listen-playing .listen-count{color:var(--color-listening);font-weight:650}.listen-error{width:100%;margin:0;color:var(--color-bad);font-size:var(--font-size-sm)}.transcript{margin-top:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--color-sunken);border-radius:var(--radius-md);font-size:.95rem}.transcript p{margin:0 0 .4em}.transcript p:last-child{margin:0}.transcript-details{margin:0 0 var(--space-3)}.transcript-details summary{cursor:pointer;color:var(--color-link);min-height:32px;font-weight:550}.no-voice{background:var(--color-warn-soft);color:var(--color-warn-text);border:1px solid var(--color-warn-line);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-5);margin:0 0 var(--space-5)}.no-voice p{margin:.3em 0 .7em}.finish-row{margin-top:var(--space-10);padding-top:var(--space-6);border-top:2px solid var(--color-text);justify-content:center}.result-box{display:flex;flex-wrap:wrap;gap:var(--space-4) var(--space-8);align-items:center;padding:clamp(24px,3vw,36px);margin-bottom:var(--space-4);background:var(--color-ink);color:var(--color-on-ink)}.result-pass{background:var(--color-ok-bar);color:#fff}.result-fail{background:var(--color-bad-bar);color:#fff}.result-box .muted{color:inherit;opacity:.88}.result-pct{font-size:clamp(3.5rem,8vw,5rem);font-weight:800;letter-spacing:-.04em;line-height:1}.result-box .score{font-family:var(--font-mono);font-size:var(--font-size-xl);font-weight:400;letter-spacing:0}.result-icon{display:grid;place-items:center;width:56px;height:56px;border:1.5px solid currentColor}.verdict{font-size:var(--font-size-xl);font-weight:800;letter-spacing:.02em}.result-points{margin-left:auto;text-align:right}@media (max-width: 600px){.result-points{margin-left:0;text-align:left}}.result-box .eyebrow{color:inherit;opacity:.85;margin-bottom:var(--space-3)}.paused-icon{margin:0 auto var(--space-4)}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.writing .w-bar{position:sticky;top:calc(var(--header-h) + 8px);z-index:15;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3);margin:0 0 var(--space-6);padding:12px 16px;background:var(--color-surface);border:var(--frame)}.w-timer{display:flex;align-items:baseline;gap:8px}.w-timer strong{font-family:var(--font-mono);font-size:1.5rem;font-weight:600;font-variant-numeric:tabular-nums}.w-bar-actions{display:flex;gap:var(--space-2);flex-wrap:wrap}.w-paused{padding:var(--space-6);text-align:center;background:var(--color-ink);color:var(--color-on-ink)}.w-paused .actions{justify-content:center}.w-part{margin:var(--space-8) 0;padding:var(--space-6) 0 0;border:0;border-top:var(--frame);min-width:0}fieldset.w-part{padding:var(--space-6) 0 0}.w-part legend{font-weight:800;font-size:var(--font-size-2xl);letter-spacing:-.02em;padding:0}.w-instruction,.w-prompt{font-size:var(--font-size-lg);line-height:1.55}.w-topics{display:grid;gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr))}.w-topic{display:flex;flex-direction:column;gap:8px;min-height:44px;padding:18px;text-align:left;font:inherit;line-height:1.5;color:var(--color-text);background:var(--color-surface);border:var(--border-w) solid var(--color-border);cursor:pointer;transition:border-color .1s,transform .1s,box-shadow .1s}.w-topic:hover,.w-topic:focus-visible{border-color:var(--color-ink);transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--color-ink)}.w-topic-n{font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--color-accent-strong);text-transform:uppercase;letter-spacing:.06em}.w-task-head{display:flex;flex-wrap:wrap;gap:var(--space-3) var(--space-4);align-items:flex-start;justify-content:space-between;margin-bottom:var(--space-4)}.w-task-head .w-prompt{flex:1 1 280px;margin:0;padding:var(--space-5);background:var(--color-ink);color:var(--color-on-ink)}.w-label{margin:var(--space-3) 0 var(--space-2);font-weight:700}.w-points{margin-top:0}.w-text{display:block;width:100%;min-height:9em;padding:18px;font:inherit;font-size:var(--font-size-lg);line-height:1.6;color:var(--color-text);background:var(--color-surface);border:var(--frame);resize:vertical}.w-text:focus{outline:none;box-shadow:0 0 0 3px var(--color-accent-line)}.w-count{margin:var(--space-2) 0 0;font-family:var(--font-mono);font-size:var(--font-size-sm);font-variant-numeric:tabular-nums}.w-count-ok{color:var(--color-ok)}.w-count-short,.w-count-long{color:var(--color-bad)}.w-guide,.w-details,.w-form{margin:var(--space-3) 0;padding:var(--space-3) var(--space-4);background:var(--color-surface);border:1px solid var(--color-border)}.w-guide[open],.w-details[open],.w-form[open]{border-color:var(--color-ink)}.w-guide summary,.w-details summary,.w-form summary{cursor:pointer;font-weight:700;min-height:32px;padding:4px 0}.w-guide-body h3{font-size:var(--font-size-md);margin:var(--space-4) 0 var(--space-1)}.w-phrases{margin:0}.w-phrases dt{font-weight:700;margin-top:var(--space-2)}.w-phrases dd{margin:0}.w-phrases ul{margin:2px 0 0;padding-left:1.2em}.w-plain{white-space:pre-wrap;padding:var(--space-4);background:var(--color-surface-2);line-height:1.6}.w-error{border-color:var(--color-bad)}.w-checklist{list-style:none;padding:0;margin:0 0 var(--space-2)}.w-checklist li{margin:6px 0}.w-checklist label{display:inline-flex;gap:10px;align-items:flex-start;min-height:32px;cursor:pointer}.w-checklist input{width:20px;height:20px;margin-top:3px}.w-scale{display:grid;grid-template-columns:minmax(140px,1fr) minmax(120px,2fr) auto;gap:var(--space-2);align-items:center;margin:6px 0}.w-scale input[type=range]{width:100%;min-height:32px}.w-scale output,.w-scale>span:last-child{font-family:var(--font-mono)}@media (max-width: 520px){.w-scale{grid-template-columns:1fr auto}.w-scale input[type=range]{grid-column:1 / -1;grid-row:2}}.w-verdict{margin:var(--space-2) 0 var(--space-4);padding:var(--space-5) var(--space-6);background:var(--color-ink);color:var(--color-on-ink)}.w-pass{background:var(--color-ok-bar);color:#fff}.w-fail{background:var(--color-bad-bar);color:#fff}.w-verdict p{margin:2px 0}.w-verdict-label{font-weight:800;font-size:var(--font-size-xl);letter-spacing:.02em}.w-crit{border-collapse:collapse;min-width:260px}.w-crit th,.w-crit td{padding:8px 12px 8px 0;border-bottom:1px solid var(--color-border);text-align:left;font-weight:400}.w-crit td{font-family:var(--font-mono);font-variant-numeric:tabular-nums;white-space:nowrap}.w-toc ul{columns:2 240px;padding-left:0;list-style:none;border-top:var(--frame)}.w-toc li{break-inside:avoid;padding:8px 0;border-bottom:1px solid var(--color-border)}.w-set-head{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center;justify-content:space-between;margin-bottom:var(--space-4)}.w-set-task{display:flex;flex-direction:column;gap:2px}.speaking .visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.s-bar{position:sticky;top:calc(var(--header-h) + 8px);z-index:15;display:flex;flex-wrap:wrap;align-items:stretch;justify-content:space-between;gap:var(--space-3);margin:0 0 var(--space-6);padding:0;background:var(--color-surface);border:var(--frame)}.s-bar>:last-child{align-self:center;margin:8px 12px}.s-steps{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:var(--border-w);flex:1 1 420px;margin:0;padding:0;list-style:none;background:var(--color-ink);border-right:var(--frame)}.s-step{display:flex;align-items:center;padding:12px 16px;background:var(--color-surface);color:var(--color-text-muted);font-size:var(--font-size-sm);font-weight:600}.s-step-done{color:var(--color-ok)}.s-step-current{background:var(--color-ink);color:var(--color-on-ink)}@media (max-width: 600px){.s-bar{position:static}.s-steps{border-right:0;border-bottom:var(--frame);flex-basis:100%}.s-step{padding:10px;font-size:var(--font-size-xs);line-height:1.3}.s-bar>:last-child{margin:0 12px 12px}}.s-part{margin:var(--space-8) 0;padding:var(--space-6) 0 0;border:0;border-top:var(--frame);min-width:0}.s-part legend{font-weight:800;font-size:var(--font-size-2xl);letter-spacing:-.02em;padding:0}.s-prompt{font-size:1.25rem;font-weight:600;line-height:1.45;padding:var(--space-5);background:var(--color-surface);border:var(--frame)}.s-label{margin:var(--space-4) 0 var(--space-2);font-weight:700}.s-hints{margin-top:0}.s-illustration{display:block;width:100%;max-width:760px;height:auto;margin:var(--space-3) 0 var(--space-5);border:var(--frame);background:var(--color-surface)}.s-situation dt{margin-top:var(--space-2);font-weight:700}.s-situation dd{margin:2px 0 0}.s-prep,.s-review{padding:var(--space-5);background:var(--color-surface);border:var(--frame)}.s-clock{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--font-size-sm);color:var(--color-text-muted)}.s-rec{display:inline-flex;align-items:center;gap:8px;color:var(--color-bad);font-weight:700;margin-right:8px}.s-rec:before{content:"";width:12px;height:12px;border-radius:50%;background:var(--color-accent);animation:s-pulse 1.2s ease-in-out infinite}.s-mode{display:inline-block;margin:var(--space-1) 0 var(--space-2);padding:2px 8px;font-family:var(--font-mono);font-size:.75rem;border:1px solid var(--color-border)}.s-mode-ai{background:var(--color-ink);color:var(--color-on-ink);border-color:var(--color-ink)}.s-error{border-left:3px solid var(--color-bad)}.s-transcript{min-height:4em;padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);background:var(--color-surface)}.s-partial{color:var(--color-text-muted);font-style:italic}.s-text{display:block;width:100%;box-sizing:border-box;padding:14px 16px;font:inherit;font-size:var(--font-size-lg);border:var(--frame);background:var(--color-surface);color:inherit}.s-plain{white-space:pre-wrap;padding:var(--space-4);background:var(--color-surface-2)}.s-chat{display:flex;flex-direction:column;gap:var(--space-3);margin:var(--space-4) 0;padding:0;list-style:none}.s-msg{max-width:85%;padding:14px 18px;border:var(--frame);background:var(--color-surface);overflow-wrap:anywhere;line-height:1.5}.s-msg-examiner{align-self:flex-start;font-size:var(--font-size-lg);font-weight:500}.s-msg-candidate{align-self:flex-end;background:var(--color-surface-2);border-color:var(--color-border)}.s-msg-live{border-style:dashed}.s-who{display:block;font-family:var(--font-mono);font-size:.75rem;font-weight:400;color:var(--color-text-muted);margin-bottom:4px}.s-turn{display:flex;align-items:center;gap:var(--space-2);min-height:1.5em;color:var(--color-text-muted);font-family:var(--font-mono);font-size:var(--font-size-sm)}.s-turn-dot{flex:none;width:10px;height:10px;border-radius:50%;background:var(--color-border-strong)}.s-turn[data-state=thinking] .s-turn-dot{background:var(--color-warn);animation:s-pulse 1s ease-in-out infinite}.s-turn[data-state=examiner] .s-turn-dot{background:var(--color-accent);animation:s-pulse .6s ease-in-out infinite}.s-turn[data-state=examiner],.s-turn[data-state=listening]{color:var(--color-text)}.s-turn[data-state=listening] .s-turn-dot{background:var(--color-ok)}@keyframes s-pulse{50%{opacity:.3}}@media (prefers-reduced-motion: reduce){.s-turn-dot{animation:none!important}}.s-reply{margin:var(--space-3) 0}.s-reply-row{display:flex;gap:var(--space-3);align-items:stretch}.s-reply-row .s-text{flex:1;min-width:0}.s-reply-row .s-text:disabled{background:var(--color-sunken)}.s-mic{flex:none}@media (max-width: 560px){.s-reply-row{flex-direction:column}}.s-audio{display:block;width:100%;max-width:480px}.s-verdict{margin:var(--space-2) 0 var(--space-4);padding:var(--space-5) var(--space-6);background:var(--color-ink);color:var(--color-on-ink)}.s-pass{background:var(--color-ok-bar);color:#fff}.s-fail{background:var(--color-bad-bar);color:#fff}.s-verdict p{margin:2px 0}.s-verdict-label{font-weight:800;font-size:var(--font-size-xl);letter-spacing:.02em}.s-table{border-collapse:collapse;min-width:260px}.s-table th,.s-table td{padding:8px 12px 8px 0;border-bottom:1px solid var(--color-border);text-align:left;font-weight:400}.s-table td,.s-crit thead th{font-family:var(--font-mono);font-variant-numeric:tabular-nums;white-space:nowrap}.s-crit thead th{font-weight:400}.s-total th,.s-total td{font-weight:700}.s-metrics{margin:var(--space-1) 0 var(--space-2);color:var(--color-text-muted);font-family:var(--font-mono);font-size:var(--font-size-sm)}.s-words{display:flex;flex-wrap:wrap;gap:4px 16px;padding-left:1.2em}.s-details{margin:var(--space-3) 0;padding:var(--space-2) var(--space-4);border:1px solid var(--color-border);background:var(--color-surface)}.s-details summary{cursor:pointer;min-height:40px;display:list-item;padding:8px 0;font-weight:700}.s-scale{display:grid;grid-template-columns:minmax(0,1fr) minmax(120px,200px) auto;align-items:center;gap:var(--space-2);margin:var(--space-2) 0}@media (max-width: 480px){.s-scale{grid-template-columns:1fr auto}.s-scale label{grid-column:1 / -1}.s-msg{max-width:100%}}.topic-tree{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,460px),1fr));gap:var(--space-5);margin:0;padding:0;list-style:none;align-items:start}.topic.card{padding:var(--space-6)}.topic h2{margin:0 0 var(--space-3);font-size:var(--font-size-xl);display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px}.topic-hint{font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-subtle);letter-spacing:0}.topic-soon{margin:0}.subtopic+.subtopic{margin-top:var(--space-4)}.subtopic h3{margin:var(--space-5) 0 0;padding-bottom:var(--space-2);border-bottom:var(--frame);font-family:var(--font-mono);font-size:.75rem;text-transform:uppercase;letter-spacing:.07em;color:var(--color-text-muted);font-weight:400}.exercise-list{display:grid;gap:0;margin:0;padding:0;list-style:none}.exercise-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-4);padding:12px 0;border-bottom:1px solid var(--color-border)}.exercise-row .exercise-name{flex:1 1 200px;min-width:0;font-weight:600}a.exercise-name{color:var(--color-text);text-decoration:none;display:inline-flex;align-items:center;gap:4px}a.exercise-name .icon{color:var(--color-text-subtle);transition:transform .15s}a.exercise-name:hover{color:var(--color-accent)}a.exercise-name:hover .icon{transform:translate(2px);color:var(--color-accent)}.exercise-row .exercise-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px}.lock{display:inline-flex;align-items:center;gap:4px}.plain-list{margin:0;padding-left:1.2em}.filters{display:flex;flex-wrap:wrap;gap:var(--space-3) var(--space-4);margin:0 0 var(--space-4)}.filters label{display:flex;align-items:center;gap:var(--space-2);font-weight:600;font-size:var(--font-size-sm);color:var(--color-text-muted)}.attempt-list,.mock-parts{margin:0;padding:0;list-style:none;border-top:var(--frame)}.mock-parts .exercise-row{padding:var(--space-4) 0}.mock-parts .exercise-name{display:flex;align-items:center;gap:var(--space-3)}.plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--space-4);margin:var(--space-5) 0;padding:0;list-style:none}.plan h2{margin-top:0}.plan ul{padding-left:1.2em}.plan-price{font-size:var(--font-size-2xl);font-weight:750;letter-spacing:-.02em}.settings input[type=range]{width:min(100%,320px);min-height:40px}.progress-levels{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:var(--space-4)}.progress-levels .table-wrap{margin:0}.progress-part{display:flex;align-items:center;gap:var(--space-3);min-width:0}.progress-part>span:last-child{display:flex;flex-direction:column;min-width:0;line-height:1.3}.progress-part .muted{font-weight:500}.best-cell{display:flex;flex-direction:column;gap:4px;min-width:70px}.best-cell .meter{height:5px}.settings-block.card{padding:var(--space-6);margin-bottom:var(--space-4)}.settings-block h2{display:flex;align-items:center;gap:var(--space-3);font-size:var(--font-size-lg);margin-bottom:var(--space-4)}.settings-block h2 .icon{color:var(--color-accent)}.settings-block>:last-child{margin-bottom:0}.field{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:var(--font-size-sm)}.field select{font-weight:400;font-size:var(--font-size-md);width:min(100%,420px)}.badge+.muted{margin-left:6px}.access-card{margin:var(--space-5) 0}.sheet .access-card>h2{margin-top:0;font-size:var(--font-size-xl)}.access-code{font-family:var(--font-mono);font-size:var(--font-size-lg);letter-spacing:.04em;-webkit-user-select:all;user-select:all;overflow-wrap:anywhere}.consent{display:flex;gap:var(--space-2);align-items:flex-start;max-width:70ch}.consent input{margin-top:.3em;flex:none}.code-form{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:flex-end}.code-form .field{flex:1 1 260px}.code-form input{width:100%;font-family:var(--font-mono)}.plan h3{margin-top:0}.photos-grid{list-style:none;margin:1rem 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,16rem),1fr));gap:1rem}.photos-card{border:var(--frame);border-radius:var(--radius-md);overflow:hidden;background:var(--color-surface);color:var(--color-text);display:flex;flex-direction:column}.photos-thumb{display:block;width:100%;aspect-ratio:4 / 3;object-fit:cover;background:var(--color-sunken)}.photos-meta{margin:0;padding:.75rem;display:grid;gap:.25rem;font-size:.9rem;overflow-wrap:anywhere;color:var(--color-text)}.photos-meta dt{color:var(--color-text-muted);font-size:.8rem}.photos-meta dd{margin:0}.account-page .account-card{margin:var(--space-5) 0;max-width:560px}.sheet .account-card>h2{margin-top:0;font-size:var(--font-size-xl);overflow-wrap:anywhere}.account-form{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:flex-end}.account-field{display:flex;flex-direction:column;gap:6px;flex:1 1 260px;font-weight:600;font-size:var(--font-size-sm)}.account-field input{width:100%;font-weight:400;font-size:var(--font-size-md)}.account-or{text-align:center;margin:var(--space-3) 0}.account-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center}.account-actions>p{flex-basis:100%;margin:0}.account-bar{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center;justify-content:space-between}.account-bar>p{margin:0}@font-face{font-family:Onest;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/Onest.woff2) format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/fonts/JetBrainsMono.woff2) format("woff2")}:root{--color-bg: #f6f4ef;--color-surface: #ffffff;--color-surface-2: #f6f4ef;--color-sunken: #ece9e2;--color-paper: #ffffff;--color-border: #d8d4ca;--color-border-soft: #ece9e2;--color-ink: #16161a;--color-on-ink: #f6f4ef;--color-border-strong: var(--color-ink);--color-text: #16161a;--color-text-2: #3e3c38;--color-text-muted: #5e5c57;--color-text-subtle: #6f6c66;--color-accent: oklch(.58 .19 25);--color-accent-hover: oklch(.5 .19 25);--color-accent-strong: oklch(.5 .19 25);--color-accent-light: oklch(.8 .12 25);--color-accent-soft: oklch(.95 .04 25);--color-accent-line: oklch(.85 .08 25);--color-accent-text: #ffffff;--color-link: var(--color-text);--color-focus: oklch(.58 .19 25);--color-ok: oklch(.48 .13 150);--color-ok-bar: oklch(.55 .13 150);--color-ok-soft: oklch(.95 .05 150);--color-ok-line: oklch(.82 .08 150);--color-bad: oklch(.5 .19 25);--color-bad-bar: oklch(.58 .19 25);--color-bad-soft: oklch(.95 .04 25);--color-bad-line: oklch(.85 .08 25);--color-warn: oklch(.5 .11 70);--color-warn-soft: oklch(.95 .05 85);--color-warn-line: oklch(.85 .08 80);--color-warn-text: oklch(.38 .08 65);--color-info: var(--color-ink);--color-info-soft: var(--color-sunken);--font-sans: "Onest", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--font-serif: var(--font-sans);--font-size-xs: .8125rem;--font-size-sm: .875rem;--font-size-md: 1rem;--font-size-lg: 1.0625rem;--font-size-xl: 1.25rem;--font-size-2xl: clamp(1.6rem, 2.6vw, 2rem);--font-size-3xl: clamp(1.9rem, 3.6vw, 2.75rem);--font-size-4xl: clamp(2.5rem, 5.4vw, 4.125rem);--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-16: 64px;--gutter: clamp(16px, 4vw, 48px);--radius-sm: 0;--radius-md: 0;--radius-lg: 0;--radius-xl: 0;--radius-full: 999px;--border-w: 1.5px;--frame: var(--border-w) solid var(--color-border-strong);--shadow-sm: none;--shadow-md: none;--shadow-lg: none;--shadow-offset: 10px 10px 0 var(--color-ink);--header-h: 76px;--container: 1336px;--sheet-width: 960px;color-scheme:light dark}@media (prefers-color-scheme: dark){:root{--color-bg: #16161a;--color-surface: #1f1f24;--color-surface-2: #26262c;--color-sunken: #2c2c32;--color-paper: #1f1f24;--color-border: #3a3936;--color-border-soft: #2e2e33;--color-ink: #f2efe8;--color-on-ink: #16161a;--color-text: #f6f4ef;--color-text-2: #d8d4ca;--color-text-muted: #a8a6a0;--color-text-subtle: #a19e97;--color-accent: oklch(.6 .19 25);--color-accent-hover: oklch(.66 .18 25);--color-accent-strong: oklch(.74 .15 25);--color-accent-light: oklch(.8 .12 25);--color-accent-soft: oklch(.3 .07 25);--color-accent-line: oklch(.42 .1 25);--color-accent-text: #ffffff;--color-focus: oklch(.74 .15 25);--color-ok: oklch(.78 .14 150);--color-ok-bar: oklch(.5 .13 150);--color-ok-soft: oklch(.3 .05 150);--color-ok-line: oklch(.42 .08 150);--color-bad: oklch(.74 .15 25);--color-bad-bar: oklch(.55 .19 25);--color-bad-soft: oklch(.3 .07 25);--color-bad-line: oklch(.42 .1 25);--color-warn: oklch(.82 .12 80);--color-warn-soft: oklch(.32 .05 80);--color-warn-line: oklch(.45 .07 80);--color-warn-text: oklch(.88 .08 85);--shadow-offset: 10px 10px 0 var(--color-accent)}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);font-size:var(--font-size-md);line-height:1.55;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-wrap:break-word}::selection{background:var(--color-accent);color:#fff}a{color:var(--color-link);text-decoration-thickness:1px;text-underline-offset:3px}a:hover{color:var(--color-accent-strong)}h1,h2,h3,h4{line-height:1.12;margin:0 0 .55em;font-weight:800;letter-spacing:-.02em;color:var(--color-text);text-wrap:balance}h1{font-size:var(--font-size-3xl);letter-spacing:-.03em}h2{font-size:var(--font-size-2xl)}h3{font-size:var(--font-size-xl);font-weight:700;letter-spacing:-.01em}p{margin:0 0 .9em}b,strong{font-weight:700}img,svg{max-width:100%;height:auto}.icon{flex:none;height:auto;vertical-align:middle}:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}hr{border:0;border-top:var(--frame);margin:var(--space-6) 0}details>summary{cursor:pointer}.muted{color:var(--color-text-muted)}.small{font-size:var(--font-size-sm)}.mono{font-family:var(--font-mono)}.lead{font-size:1.1875rem;line-height:1.5;color:var(--color-text-2);max-width:62ch;text-wrap:pretty}.eyebrow{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;font-size:var(--font-size-xs);font-weight:400;color:var(--color-text-muted);margin:0 0 var(--space-2)}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}:where(select,textarea,input:not([type=radio]):not([type=checkbox]):not([type=range]):not([type=file])){font:inherit;color:var(--color-text);background:var(--color-surface);border:var(--frame);border-radius:0;min-height:44px;padding:0 var(--space-3);max-width:100%}:where(textarea){padding:var(--space-4);line-height:1.6}:where(select){padding-right:var(--space-8);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 17px) 52%,calc(100% - 12px) 52%;background-size:5px 5px,5px 5px;background-repeat:no-repeat;cursor:pointer}:where(select,textarea,input:not([type=radio]):not([type=checkbox]):not([type=range]):not([type=file])):focus-visible{outline:none;box-shadow:0 0 0 3px var(--color-accent-line);border-color:var(--color-accent)}input[type=radio],input[type=checkbox],input[type=range]{accent-color:var(--color-accent)}label{cursor:pointer}.app{min-height:100vh;display:flex;flex-direction:column}.session-bar{background:#16161a;color:#f6f4ef;font-size:var(--font-size-sm);padding:10px var(--space-5);display:flex;justify-content:center;gap:4px 10px;flex-wrap:wrap;text-align:center}.session-bar .mono{color:var(--color-accent-light)}.topbar{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--color-bg) 94%,transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--color-border)}@media (max-width: 600px){.app:has(.exam-bar,.w-bar,.s-bar,.timerbar) .topbar{position:static}.app:has(.exam-bar,.w-bar,.s-bar,.timerbar) :is(.exam-bar,.w-bar,.s-bar,.timerbar){top:0}}.topbar-inner{max-width:var(--container);margin:0 auto;min-height:var(--header-h);padding:var(--space-3) var(--gutter);display:flex;align-items:center;gap:var(--space-2) var(--space-6)}.brand{display:inline-flex;align-items:center;gap:8px;font-weight:800;font-size:1.5rem;letter-spacing:-.03em;line-height:1;color:var(--color-text);text-decoration:none;min-height:44px;white-space:nowrap}.brand:hover{color:var(--color-text)}.brand-mark{width:14px;height:14px;background:var(--color-accent);display:block;flex:none}.nav{display:flex;align-items:center;gap:4px;flex:1;min-width:0}.nav-link{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:8px 12px;color:var(--color-text);text-decoration:none;font-size:.9375rem;font-weight:500;white-space:nowrap}.nav-link .icon{display:none}.nav-link:hover{background:var(--color-sunken);color:var(--color-text)}.nav-link.active{background:var(--color-sunken);font-weight:700}.nav-link-extra{display:none}.topbar-tools{display:flex;align-items:center;gap:var(--space-4);margin-left:auto}.lang-buttons{display:flex;gap:2px}.lang-buttons button{border:0;cursor:pointer;min-height:32px;padding:6px 8px;font-family:var(--font-mono);font-size:.8125rem;background:transparent;color:var(--color-text)}.lang-buttons button:hover{background:var(--color-sunken)}.lang-buttons button[aria-pressed=true]{background:var(--color-ink);color:var(--color-on-ink)}.lang-switch{display:none;min-height:40px;min-width:64px;font-family:var(--font-mono);font-size:var(--font-size-sm)}.cabinet{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:8px 14px;border:var(--frame);color:var(--color-text);text-decoration:none;font-weight:600;font-size:.9375rem;white-space:nowrap}.cabinet:hover,.cabinet.active{background:var(--color-ink);color:var(--color-on-ink)}.cabinet-dot{width:22px;height:22px;border-radius:50%;background:var(--color-accent);color:#fff;display:grid;place-items:center}.btn.menu-toggle{display:none}@media (max-width: 1100px){.btn.menu-toggle{display:inline-flex}.topbar-inner{flex-wrap:wrap}.lang-buttons{display:none}.lang-switch{display:block}.nav{order:5;display:none;flex:1 0 100%;flex-direction:column;align-items:stretch;gap:0;padding:var(--space-2) 0 var(--space-3);border-top:var(--frame)}.nav.open{display:flex}.nav-link{min-height:48px;font-size:var(--font-size-md);border-bottom:1px solid var(--color-border)}.nav-link .icon{display:inline}.nav-link-extra{display:inline-flex}}@media (max-width: 520px){.topbar-inner{gap:var(--space-2)}.topbar-tools{gap:6px}.cabinet-label{display:none}.cabinet{padding:8px 10px}.btn.menu-toggle{padding:0 12px}.brand{font-size:1.3rem}}.banner{padding:var(--space-3) var(--space-4);text-align:center;font-size:var(--font-size-sm)}.banner-warn{background:var(--color-warn-soft);color:var(--color-warn-text);border-bottom:1px solid var(--color-warn-line)}.main{flex:1;width:100%;max-width:var(--container);margin:0 auto;padding:var(--space-10) var(--gutter) 96px}@media (max-width: 600px){.main{padding:var(--space-6) var(--gutter) var(--space-12)}}.footer{border-top:var(--frame);color:var(--color-text-muted);font-size:var(--font-size-sm)}.footer-inner{max-width:var(--container);margin:0 auto;padding:var(--space-12) var(--gutter) var(--space-8);display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,1.4fr);gap:var(--space-10)}.footer .footer-title{font-family:var(--font-mono);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);margin:0 0 var(--space-4)}.footer ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}.footer a{color:var(--color-text);text-decoration:none}.footer a:hover{color:var(--color-accent-strong);text-decoration:underline}.footer p{margin:0 0 .8em;line-height:1.55}.footer .brand{margin-bottom:var(--space-3)}.footer-bottom{max-width:var(--container);margin:0 auto;padding:var(--space-4) var(--gutter) var(--space-8);border-top:1px solid var(--color-border);font-family:var(--font-mono);font-size:.75rem;display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-6)}.footer-bottom a{color:var(--color-text-muted)}.legal ol{padding-left:1.5em}.legal li+li{margin-top:var(--space-2)}.legal ul{margin-top:var(--space-2)}@media (max-width: 860px){.footer-inner{grid-template-columns:1fr;gap:var(--space-8)}}.sheet{background:var(--color-surface);border:var(--frame);padding:clamp(20px,3vw,40px);max-width:var(--sheet-width);margin:0 auto var(--space-8)}.sheet>h2,.sheet section>h2{margin-top:var(--space-10)}.card{display:block;background:var(--color-surface);border:var(--frame);padding:clamp(18px,2.4vw,28px);color:var(--color-text)}.card-sm{padding:var(--space-4)}.card-lg{padding:clamp(20px,3vw,36px)}.card-raise{box-shadow:var(--shadow-offset)}.card-link{text-decoration:none;transition:transform .12s,box-shadow .12s}.card-link:hover{color:var(--color-text);transform:translate(-3px,-3px);box-shadow:6px 6px 0 var(--color-ink)}.card-dark{background:#16161a;color:#f6f4ef;border-color:#16161a}@media (prefers-color-scheme: dark){.card-dark{background:#0c0c0f;border-color:var(--color-border)}}.page-header{margin-bottom:var(--space-8)}.page-header-row{display:flex;align-items:flex-end;gap:var(--space-4);flex-wrap:wrap}.page-header-text{flex:1 1 200px;min-width:0}.page-header h1{margin:0}.page-header .eyebrow{margin-bottom:var(--space-2)}.page-header .lead{margin:var(--space-4) 0 0}.page-header-actions{display:flex;gap:var(--space-2);flex-wrap:wrap}@media (max-width: 520px){.page-header-row>.page-header-icon,.page-header-row>.section-icon-lg{width:44px;height:44px}}.page-header-icon{display:grid;place-items:center;width:52px;height:52px;border:var(--frame);background:var(--color-surface);color:var(--color-text);flex:none}.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:2px 6px;font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--color-text-muted);margin:0 0 var(--space-4)}.crumbs a{color:var(--color-text-muted);text-decoration:none}.crumbs a:hover{color:var(--color-accent-strong);text-decoration:underline}.crumbs-sep{opacity:.6}.section-icon{display:inline-grid;place-items:center;flex:none;color:var(--color-text);background:var(--color-surface);border:var(--frame);width:40px;height:40px}.section-icon-sm{width:30px;height:30px;border-width:1px}.section-icon-lg{width:52px;height:52px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:10px 20px;border:var(--frame);border-radius:0;background:transparent;color:var(--color-text);font:inherit;font-size:.9375rem;font-weight:600;line-height:1.2;text-decoration:none;cursor:pointer;text-align:center;transition:background-color .12s,color .12s,transform .05s}.btn:hover{background:var(--color-ink);color:var(--color-on-ink)}.btn:active{transform:translateY(1px)}.btn:disabled,.btn[aria-disabled=true]{opacity:.45;cursor:not-allowed;transform:none}.btn:disabled:hover{background:transparent;color:var(--color-text)}.btn-primary{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-accent-text);font-weight:700}.btn-primary:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover);color:var(--color-accent-text)}.btn-primary:disabled:hover{background:var(--color-accent);color:var(--color-accent-text)}.btn-ink{background:var(--color-ink);border-color:var(--color-ink);color:var(--color-on-ink);font-weight:700}.btn-ink:hover{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.btn-ghost{border-color:transparent;color:var(--color-text)}.btn-ghost:hover{background:var(--color-sunken);color:var(--color-text)}.btn-danger{color:var(--color-bad);border-color:var(--color-bad)}.btn-danger:hover{background:var(--color-bad);color:#fff}.btn-sm,.btn.btn-small{min-height:36px;padding:6px 12px;font-size:var(--font-size-sm)}.btn-lg{min-height:58px;padding:16px 28px;font-size:1.0625rem}.btn-block{display:flex;width:100%}.btn .icon-end{margin-right:-4px;transition:transform .12s}.btn:hover .icon-end{transform:translate(3px)}.actions{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center}.seg{display:inline-flex;flex-wrap:wrap;gap:2px;margin-bottom:var(--space-4)}.seg-item{min-height:40px;min-width:52px;padding:8px 16px;border:var(--frame);background:transparent;color:var(--color-text);font-family:var(--font-mono);font-size:var(--font-size-sm);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.seg-item:hover{background:var(--color-sunken);color:var(--color-text)}.seg-item.active{background:var(--color-ink);color:var(--color-on-ink)}.tabs{display:flex;border-bottom:var(--frame);overflow-x:auto;margin-bottom:var(--space-6);scrollbar-width:thin}.tabs a{flex:none;padding:12px 16px;font-size:.9375rem;color:var(--color-text);text-decoration:none;border-bottom:3px solid transparent;margin-bottom:-1.5px}.tabs a:hover{border-bottom-color:var(--color-border)}.tabs a.active{font-weight:700;border-bottom-color:var(--color-accent)}.badge{display:inline-flex;align-items:center;gap:5px;width:fit-content;font-family:var(--font-mono);font-size:.75rem;font-weight:400;line-height:1.4;padding:2px 7px;background:transparent;color:var(--color-text-2);border:1px solid var(--color-border);white-space:nowrap;margin:0}.badge a{color:inherit}.badge-accent{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.badge-ok{color:var(--color-ok);border-color:var(--color-ok-line);background:var(--color-ok-soft)}.badge-bad{color:var(--color-bad);border-color:var(--color-bad-line);background:var(--color-bad-soft)}.badge-warn{color:var(--color-warn-text);border-color:var(--color-warn-line);background:var(--color-warn-soft)}.badge-info{background:var(--color-ink);color:var(--color-on-ink);border-color:var(--color-ink)}.note{background:var(--color-surface-2);border-left:3px solid var(--color-ink);padding:var(--space-3) var(--space-4);color:var(--color-text)}.sheet .note,.card .note{background:var(--color-bg)}.note>:last-child{margin-bottom:0}.note.error{background:var(--color-bad-soft);border-left-color:var(--color-bad)}.empty,.empty-state{padding:var(--space-10) var(--space-6);text-align:center;background:var(--color-surface);border:1.5px dashed var(--color-border-strong);color:var(--color-text-muted)}.empty-state{display:flex;flex-direction:column;align-items:center;gap:var(--space-2)}.empty-state-icon{display:grid;place-items:center;width:56px;height:56px;background:var(--color-accent);color:#fff;margin-bottom:var(--space-2)}.empty-state-title{color:var(--color-text);font-size:var(--font-size-xl);font-weight:800;letter-spacing:-.02em}.empty-state-title h1{margin:0}.empty-state-text{max-width:52ch}.empty-state-text p:last-child{margin:0}.empty-state-action{margin-top:var(--space-3)}.resume{display:flex;flex-wrap:wrap;gap:var(--space-4);align-items:center;justify-content:space-between;background:var(--color-surface);border:var(--frame);border-left:6px solid var(--color-accent);padding:var(--space-5) var(--space-6);margin:0 0 var(--space-10)}.resume>div:first-child{flex:1 1 260px;min-width:0}.resume b:first-child{display:block;font-family:var(--font-mono);font-weight:400;font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--color-accent-strong);margin-bottom:4px}.resume b:first-child+div:not(.muted){font-weight:700;font-size:var(--font-size-lg)}.facts{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3) var(--space-4)}.facts dt{font-size:var(--font-size-xs);color:var(--color-text-muted)}.facts dd{margin:0;font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--color-text-2)}.facts-big{grid-template-columns:repeat(auto-fit,minmax(min(100%,140px),1fr));gap:var(--space-3);margin:0 0 var(--space-6)}.facts-big>div{padding:var(--space-4);border:var(--frame);background:var(--color-surface);display:flex;flex-direction:column;gap:2px}.facts-big dd{font-family:var(--font-sans);font-size:clamp(1.25rem,3vw,1.75rem);font-weight:800;letter-spacing:-.02em;color:var(--color-text);font-variant-numeric:tabular-nums}.score{font-size:var(--font-size-2xl);font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.03em}.meter{position:relative;display:block;height:10px;background:var(--color-sunken)}.meter>span{position:absolute;inset:0 auto 0 0;background:var(--meter, var(--color-accent))}.meter-ok{--meter: var(--color-ok-bar)}.meter-bad{--meter: var(--color-bad-bar)}.meter[data-threshold]:after{content:"";position:absolute;left:var(--threshold, 50%);top:-4px;width:2px;height:18px;background:var(--color-ink)}.home-section{padding:88px 0;border-top:var(--frame)}.home-section:first-of-type{border-top:0}.bleed{margin-left:calc(var(--gutter) * -1);margin-right:calc(var(--gutter) * -1);padding-left:var(--gutter);padding-right:var(--gutter)}@media (min-width: 1336px){.bleed{margin-left:calc((100vw - var(--container)) / -2 - var(--gutter));margin-right:calc((100vw - var(--container)) / -2 - var(--gutter));padding-left:calc((100vw - var(--container)) / 2 + var(--gutter));padding-right:calc((100vw - var(--container)) / 2 + var(--gutter))}}.hero{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,460px),1fr));gap:56px;align-items:center;padding:var(--space-4) 0 88px}.hero-copy{display:flex;flex-direction:column;gap:26px}.hero h1{font-size:var(--font-size-4xl);line-height:1.02;letter-spacing:-.035em;margin:0}.hero .lead,.hero .eyebrow{margin:0}.hero-facts{display:flex;gap:10px 24px;flex-wrap:wrap;font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0;padding:0;list-style:none}.hero-facts b{font-family:var(--font-mono);font-weight:400;color:var(--color-text)}.preview-sheet{background:var(--color-surface);border:var(--frame);box-shadow:var(--shadow-offset);padding:clamp(20px,3vw,32px);display:flex;flex-direction:column;gap:18px;margin-right:10px}.preview-bar{display:flex;justify-content:space-between;gap:var(--space-3);font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--color-text-muted)}.preview-progress{height:4px;background:var(--color-sunken)}.preview-progress span{display:block;width:5%;height:4px;background:var(--color-accent)}.preview-task{font-size:clamp(1.375rem,2.4vw,1.75rem);font-weight:600;line-height:1.35;margin:0}.preview-blank{display:inline-block;min-width:150px;border-bottom:2px solid var(--color-ink);text-align:center;color:var(--color-accent)}.preview-opts{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}.preview-opts li{font-size:var(--font-size-lg);padding:16px;border:var(--frame);border-color:var(--color-border);display:flex;justify-content:space-between}.preview-opts li.sel{border-color:var(--color-ok);background:var(--color-ok-soft)}.preview-opts li .mono{color:var(--color-ok)}.preview-foot{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0}@media (max-width: 520px){.preview-opts{grid-template-columns:1fr}}.section-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:var(--space-4) var(--space-10);margin-bottom:var(--space-10)}.section-head h2{margin:0;font-size:clamp(2rem,4vw,3rem);letter-spacing:-.03em}.section-head p{margin:0;max-width:460px;font-size:var(--font-size-lg);line-height:1.45;color:var(--color-text-2)}.start{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:var(--space-10) 56px;align-items:start}.start h2{font-size:clamp(2rem,4vw,3rem);letter-spacing:-.03em}.start .lead{margin-bottom:var(--space-6)}.steps{list-style:none;margin:0;padding:0;border-top:var(--frame);counter-reset:step}.steps li{display:grid;grid-template-columns:60px 1fr;gap:4px 0;padding:22px 0;border-bottom:1px solid var(--color-border);counter-increment:step}.steps li:before{content:counter(step,decimal-leading-zero);grid-row:span 2;font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--color-accent-strong);padding-top:2px}.steps b{font-size:var(--font-size-lg)}.steps span{color:var(--color-text-muted);font-size:.9375rem}.level-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:var(--space-6)}.level-card{display:flex;flex-direction:column}.level-card-head{display:flex;align-items:center;gap:var(--space-4);margin-bottom:var(--space-3)}.level-card-head h3{margin:0;font-size:1.5rem;font-weight:800;letter-spacing:-.02em}.level-card-head h3 a{color:var(--color-text);text-decoration:none}.level-card-head h3 a:hover{color:var(--color-accent-strong)}.level-tile{display:grid;place-items:center;width:52px;height:52px;font-family:var(--font-mono);font-size:1.125rem;font-weight:600;color:var(--color-on-ink);background:var(--color-ink);flex:none}.level-tile-B1{background:var(--color-accent);color:#fff}.level-card>p{color:var(--color-text-muted);font-size:.9375rem;min-height:3em}.section-links{list-style:none;padding:0;margin:0 0 var(--space-6);border-top:var(--frame)}.section-links li{border-bottom:1px solid var(--color-border)}.section-links a{display:flex;align-items:center;gap:var(--space-3);min-height:48px;text-decoration:none;color:var(--color-text);font-weight:500}.section-links a>span:nth-child(2){flex:1}.section-links a:hover{color:var(--color-accent-strong)}.section-links .count{font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--color-text-muted)}.level-card .actions{margin-top:auto}.level-card .actions .btn{flex:1 1 auto}.parts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:0;border:var(--frame);background:var(--color-ink);gap:var(--border-w)}.part-card{display:flex;flex-direction:column;gap:10px;padding:22px;background:var(--color-bg)}.part-num{font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--color-accent-strong)}.part-card h3{margin:4px 0 0;font-size:var(--font-size-xl);font-weight:700;line-height:1.2}.part-hint{font-size:.9375rem;color:var(--color-text-muted)}.part-card p{font-size:.9375rem;color:var(--color-text-2);margin:0;flex:1}.part-levels{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:var(--space-2)}.part-levels a{font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--color-text);text-decoration:none}.part-levels a:hover{color:var(--color-accent-strong);text-decoration:underline}.official-banner{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:var(--space-6) var(--space-10);background:#16161a;color:#f6f4ef;border-top:0}.official-banner h2{color:#f6f4ef;margin:0 0 var(--space-4);font-size:clamp(2rem,4vw,3rem);letter-spacing:-.03em}.official-banner p{margin:0;color:#a8a6a0;max-width:62ch;font-size:var(--font-size-lg)}.official-banner .eyebrow{color:var(--color-accent-light)}.official-banner .btn{border-color:#f6f4ef;color:#f6f4ef}.official-banner .btn:hover{background:#f6f4ef;color:#16161a}@media (prefers-color-scheme: dark){.official-banner{background:#0c0c0f}}@media (max-width: 760px){.official-banner{grid-template-columns:1fr}}.link-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:var(--space-6)}.link-card{display:flex;align-items:flex-start;gap:var(--space-4);text-decoration:none;color:var(--color-text)}.link-card>span:last-child{display:flex;flex-direction:column;gap:4px}.link-card b{font-size:var(--font-size-lg)}.link-card .page-header-icon{width:44px;height:44px}.section-list{list-style:none;padding:0;margin:0 0 var(--space-8);border-top:var(--frame)}.section-list>li{border-bottom:1px solid var(--color-border)}.section-row{display:grid;grid-template-columns:auto 1fr auto auto;gap:var(--space-4) var(--space-5);align-items:center;padding:20px 0;text-decoration:none;color:var(--color-text)}.section-row:hover{color:var(--color-text);background:linear-gradient(90deg,var(--color-sunken),transparent)}.section-row:hover .section-icon{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.section-name{display:flex;flex-direction:column;min-width:0;gap:2px}.section-title{display:flex;align-items:baseline;gap:10px}.section-title b{font-size:var(--font-size-xl);letter-spacing:-.01em}.section-num{font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--color-accent-strong);min-width:1.8em}.section-meta{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.section-row>.icon{color:var(--color-text-muted)}@media (max-width: 640px){.section-row{grid-template-columns:auto 1fr;gap:var(--space-3)}.section-meta{grid-column:1 / -1;justify-content:flex-start}.section-row>.icon{display:none}}.mock-box{display:flex;flex-wrap:wrap;gap:var(--space-4);align-items:center;justify-content:space-between;padding:var(--space-6);background:#16161a;color:#f6f4ef}.mock-box>div{display:flex;gap:var(--space-4);align-items:center;flex:1 1 280px}.mock-box .muted{color:#a8a6a0}.mock-box .page-header-icon{background:transparent;color:#f6f4ef;border-color:#f6f4ef}@media (prefers-color-scheme: dark){.mock-box{background:#0c0c0f;border:1px solid var(--color-border)}}.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:var(--space-4);margin-bottom:var(--space-8)}.stat{background:var(--color-surface);border:var(--frame);padding:18px;display:flex;flex-direction:column;gap:4px}.stat>span{font-size:var(--font-size-xs);color:var(--color-text-muted)}.stat>b{font-size:1.75rem;font-weight:800;letter-spacing:-.02em;line-height:1.15}.stat-ok>b{color:var(--color-ok)}.stat-bad>b{color:var(--color-bad)}.test-grid{list-style:none;padding:0;margin:0;border-top:var(--frame)}.test-card{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr) auto;gap:var(--space-3) var(--space-6);align-items:center;padding:18px 0;border-bottom:1px solid var(--color-border)}.test-card-head{display:flex;flex-direction:column;gap:4px;min-width:0}.test-card-head .badges{display:flex;flex-wrap:wrap;gap:6px}.test-card h2{font-size:var(--font-size-lg);font-weight:700;letter-spacing:0;margin:0}.test-card .facts{grid-template-columns:repeat(4,minmax(0,auto));justify-content:start;gap:4px var(--space-6)}.test-card .btn{justify-self:end}@media (max-width: 860px){.test-card{grid-template-columns:1fr}.test-card .facts{grid-template-columns:repeat(2,minmax(0,1fr))}.test-card .btn{justify-self:stretch}}.prose{line-height:1.65}.prose h2{margin-top:1.8em}.prose ul,.prose ol{padding-left:1.3em}.prose li{margin-bottom:.35em}.about-sections{padding-left:0!important;list-style:none;border-top:var(--frame)}.about-sections>li{margin:0;padding:var(--space-6) 0;border-bottom:1px solid var(--color-border)}.about-sections h3{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px}.about-sections>li>:last-child{margin-bottom:0}.page-header-actions .seg{margin:0}.auto-end{padding:var(--space-3) var(--space-4);background:var(--color-surface-2);border-left:3px solid var(--color-accent)}.table-wrap{overflow-x:auto;margin:0 0 var(--space-6);-webkit-overflow-scrolling:touch}table{border-collapse:collapse;width:100%;font-size:.9375rem;border-top:var(--frame)}caption{text-align:left;padding:0 0 var(--space-3);font-weight:800;font-size:var(--font-size-xl);letter-spacing:-.02em;color:var(--color-text)}th,td{padding:12px var(--space-3) 12px 0;text-align:left;border-bottom:1px solid var(--color-border);vertical-align:middle}thead th{font-family:var(--font-mono);font-size:.75rem;font-weight:400;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.06em}tbody th{font-weight:600}td{font-variant-numeric:tabular-nums}td.num,th.num{text-align:right;font-family:var(--font-mono);white-space:nowrap}@media (max-width: 560px){.table-stack table,.table-stack tbody,.table-stack tr,.table-stack th,.table-stack td,.table-stack caption{display:block}.table-stack thead{display:none}.table-stack tr{border-bottom:1px solid var(--color-border);padding:var(--space-3) 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2) var(--space-3)}.table-stack tr>*{border:0;padding:0;text-align:left}.table-stack tr>th{grid-column:1 / -1}.table-stack td[data-label]:before{content:attr(data-label);display:block;font-family:var(--font-mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted)}.table-stack td.num{text-align:left}}.confirm{background:var(--color-ink);color:var(--color-on-ink);padding:var(--space-5) var(--space-6);margin:var(--space-6) 0 var(--space-4)}.confirm p:last-child{margin-bottom:0}.confirm .btn:not(.btn-primary){border-color:var(--color-on-ink);color:var(--color-on-ink)}.confirm .btn:not(.btn-primary):hover{background:var(--color-on-ink);color:var(--color-ink)}.page{max-width:var(--sheet-width);margin:0 auto}.page-wide{max-width:var(--container);margin:0 auto}.page-section{margin-top:var(--space-12)}.page-section>h2{margin-bottom:var(--space-4)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{transition:none!important;animation:none!important}}.facts dd.ok{color:var(--color-ok)}.facts dd.bad{color:var(--color-bad)}.official-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:var(--space-6);margin:var(--space-6) 0 var(--space-6)}.official-level h3{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4)}.official-level .level-tile{width:40px;height:40px;font-size:var(--font-size-sm)}.official-level ul{list-style:none;margin:0;padding:0;border-top:var(--frame)}.official-test+.official-test{margin-top:var(--space-5)}.official-test h4{font-family:var(--font-mono);font-weight:400;font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);margin:0 0 var(--space-2)}.official-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px var(--space-3);padding:10px 0;border-bottom:1px solid var(--color-border)}.official-row a{display:inline-flex;align-items:center;gap:10px;font-weight:600;text-decoration:none}.official-meta{font-family:var(--font-mono);font-size:.75rem;color:var(--color-text-muted)}.official-copyright{border-left:3px solid var(--color-ink);padding-left:var(--space-3)}.official-links{margin:var(--space-4) 0}.timerbar{position:sticky;top:calc(var(--header-h) + 8px);z-index:15;display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);padding:12px 16px;margin-bottom:var(--space-5);background:var(--color-surface);border:var(--frame)}.timerbar .timer{font-family:var(--font-mono);font-size:1.5rem;font-weight:600}.official-items{list-style:none;margin:0;padding:0;border-top:1px solid var(--color-border)}.official-items>li{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-4);padding:10px 0;border-bottom:1px solid var(--color-border)}.official-label{font-family:var(--font-mono);min-width:2.5em}.official-options{display:inline-flex;flex-wrap:wrap;gap:6px}.official-option{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:48px;min-height:40px;padding:4px 10px;border:var(--border-w) solid var(--color-border);font-family:var(--font-mono);font-size:var(--font-size-sm);position:relative}.official-option:hover{border-color:var(--color-ink)}.official-option:has(input:checked){background:var(--color-ink);color:var(--color-on-ink);border-color:var(--color-ink)}.official-option input{position:absolute;opacity:0;width:1px;height:1px}.official-option:has(input:focus-visible){outline:2px solid var(--color-focus);outline-offset:2px}.official-result .score-line{font-size:var(--font-size-3xl);font-weight:800;letter-spacing:-.03em;margin:0}.verdict.pass{color:var(--color-ok)}.verdict.fail{color:var(--color-bad)}tr.ok td:last-child{color:var(--color-ok)}tr.bad td:last-child{color:var(--color-bad)}.official-invite{margin-top:var(--space-10);padding-top:var(--space-6);border-top:var(--frame)}.exercise .page-header+.muted{margin-top:calc(var(--space-4) * -1)}.official-list>h2{margin-top:var(--space-12)}.official-ws-tabs{display:flex;border-bottom:var(--frame);margin-bottom:var(--space-4)}.official-ws-tab{flex:1;padding:12px 16px;font:inherit;color:var(--color-text);background:none;border:0;border-bottom:3px solid transparent;cursor:pointer}.official-ws-tab.active{font-weight:700;border-bottom-color:var(--color-accent)}.official-frame{display:block;width:100%;height:70vh;min-height:420px;border:var(--frame);background:var(--color-surface)}.official-audio{margin:0 0 var(--space-3)}.official-audio audio{width:100%}.official-ws[data-tab=task] .official-ws-blank,.official-ws[data-tab=blank] .official-ws-task{display:none}@media (min-width: 1024px){.sheet:has(.official-ws){max-width:none;margin-inline:calc(50% - min(880px,50vw - 24px))}.official-ws{display:grid;grid-template-columns:minmax(0,3fr) minmax(340px,2fr);gap:var(--space-6);align-items:start}.official-ws-tabs{display:none}.official-ws .official-ws-pane{display:block!important}.official-ws-task{position:sticky;top:calc(var(--header-h) + 8px)}.official-frame{height:calc(100vh - var(--header-h) - 96px);min-height:560px}}.official-more>summary{cursor:pointer;margin:var(--space-3) 0;font-weight:600}.pl-input{position:relative;display:inline-block}.pl-keys{position:fixed;left:50%;transform:translate(-50%);z-index:60;box-shadow:0 4px 16px #0000002e;display:flex;gap:2px;padding:4px;background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm)}.pl-keys button{min-width:28px;height:28px;padding:0 4px;font:inherit;font-size:15px;line-height:1;color:var(--color-text);background:var(--color-sunken);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer}body.pl-keys-open{padding-bottom:64px}.pl-keys button:hover{background:var(--color-accent-soft);border-color:var(--color-accent-line)}
