.trainer{background:var(--bg);grid-template-columns:228px minmax(0,1fr);min-height:100dvh;transition:grid-template-columns .16s;display:grid}.trainer.rail-collapsed{grid-template-columns:72px minmax(0,1fr)}.trainer-rail{z-index:40;color:#fff;background:#002e5c;border-right:0;flex-direction:column;height:100dvh;padding:22px 16px 20px;display:flex;position:sticky;top:0;overflow:hidden}:root[data-theme=dark] .trainer-rail{background:#0e2438}.trainer-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.trainer-brand{min-width:0;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0;display:block}.trainer-brand .brand-lockup{flex-wrap:nowrap;align-items:center;gap:10px}.trainer-brand .brand-icon{border-radius:0;flex:none;width:40px;height:40px}.trainer-toggle{color:#ffffffb8;cursor:pointer;background:0 0;border:1px solid #ffffff47;border-radius:0;flex:none;place-items:center;width:32px;height:32px;padding:0;display:inline-grid}.trainer-toggle:hover{color:#fff}.trainer-toggle:focus-visible{outline-offset:3px;outline:2px solid #fff}.trainer-brand .brand-mark{color:#fff}.trainer-brand .brand-tag{color:#ffffffb8}.trainer-nav{align-content:start;gap:2px;margin:28px 0 auto;display:grid}.trainer-link{color:#ffffffb8;width:100%;font:500 .95rem var(--font-body);text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px;display:grid}.trainer-link:hover{color:#fff}.trainer-link:focus-visible,.trainer-brand:focus-visible,.trainer-back:focus-visible{outline-offset:3px;outline:2px solid #fff}.trainer-link[aria-current=page]{color:#fff;background:#ffffff1a;font-weight:700}.trainer-icon{color:#ffffff8c;flex:none;align-self:center}.trainer-link:hover .trainer-icon{color:#fff}.trainer-link[aria-current=page] .trainer-icon{color:var(--mark-orange)}.trainer-link .nav-badge{background:var(--mark-orange);color:#fff;border-radius:0;margin-left:0}.trainer-back{color:#ffffffb8;font-size:.85rem;text-decoration:none}.trainer-back:hover{color:#fff}.trainer-stage{min-width:0}.trainer-top{border-bottom:1px solid var(--line);background:var(--topbar);align-items:center;gap:8px;display:flex}.trainer .topbar.app{background:0 0;border-bottom:0;flex:1}.trainer .topbar.app .topbar-inner{justify-content:flex-end;max-width:none;height:58px;padding:0 20px}.trainer .topbar.app .brand{display:none}.trainer.rail-collapsed .trainer-rail{padding:16px 10px 18px}.trainer.rail-collapsed .trainer-head{justify-content:center}.trainer-brand-expand{place-items:center;width:32px;height:32px;display:grid}.trainer-brand-expand .trainer-brand-logo,.trainer-brand-expand .trainer-brand-open{grid-area:1/1;place-items:center;display:grid}.trainer-brand-expand .trainer-brand-open{color:#fff;opacity:0}.trainer-brand-expand:hover .trainer-brand-logo,.trainer-brand-expand:focus-visible .trainer-brand-logo{opacity:0}.trainer-brand-expand:hover .trainer-brand-open,.trainer-brand-expand:focus-visible .trainer-brand-open{opacity:1}.trainer.rail-collapsed .trainer-brand .brand-icon{width:32px;height:32px}.trainer.rail-collapsed .trainer-nav{margin-top:18px}.trainer.rail-collapsed .trainer-link{grid-template-columns:1fr;justify-items:center;padding:10px 0}.trainer .wrap.training-page{padding-top:28px;padding-bottom:72px}.home-desk{margin-top:8px}.activity{border-top:1px solid var(--line);margin-top:34px;padding-top:22px}.activity-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 24px;margin-bottom:14px;display:flex}.activity-head h2{font:600 1.15rem / 1.2 var(--font-display);margin:0}.activity-head p{color:var(--muted);font:600 .78rem / 1.4 var(--font-mono);font-variant-numeric:tabular-nums;margin:0}.activity-graph{gap:8px;max-width:100%;padding-bottom:4px;display:flex;overflow-x:auto}.activity-weekdays,.activity-week{grid-template-rows:repeat(7,12px);gap:3px;display:grid}.activity-weekdays{color:var(--muted);font:500 .62rem / 12px var(--font-mono)}.activity-weeks{gap:3px;display:flex}.activity-day{border:1px solid var(--line);background:var(--surface-2);width:12px;height:12px;display:block}.activity-day.l1{background:color-mix(in srgb, var(--accent) 30%, var(--surface));border-color:#0000}.activity-day.l2{background:color-mix(in srgb, var(--accent) 62%, var(--surface));border-color:#0000}.activity-day.l3{background:var(--accent);border-color:#0000}.activity-day.today{outline:2px solid var(--mark-orange);outline-offset:1px}.activity-day.future{visibility:hidden}.activity-legend{color:var(--muted);align-items:center;gap:3px;margin-top:10px;font-size:.75rem;display:flex}.activity-legend span:first-child{margin-right:4px}.activity-legend span:last-child{margin-left:4px}.training-page{padding-top:28px;padding-bottom:72px}.progress-data-controls{border-top:1px solid var(--line);color:var(--muted);margin-top:48px;padding-top:20px}.progress-data-controls summary{cursor:pointer;color:var(--ink);font-weight:700}.progress-import{border:1px solid var(--line);background:var(--paper);margin-bottom:20px;padding:16px}.progress-import p,.progress-data-controls details>p{margin:8px 0 14px}.progress-data-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.progress-delete-confirm{max-width:520px;margin-top:16px}.progress-delete-confirm label{gap:8px;display:grid}.progress-delete-confirm input{border:1px solid var(--line);background:var(--paper);width:100%;color:var(--ink);padding:10px 12px}.progress-delete-confirm .progress-data-actions{margin-top:12px}@media (max-width:860px){.trainer.rail-collapsed{grid-template-columns:64px minmax(0,1fr)}}.training-page>header.desk-head,.training-page .desk-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:end;gap:28px;margin:0 0 28px;padding-bottom:18px;display:flex}.desk-head h1{font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-size:clamp(1.7rem,3vw,2.15rem);line-height:1.15}.desk-head .sub{margin-top:8px}.desk-mark-progress{flex:none;justify-items:end;gap:8px;display:grid}.desk-mark-progress strong,.desk-count{color:var(--ink);font:700 1.05rem / 1 var(--font-mono);font-variant-numeric:tabular-nums}.desk-tiles{gap:3px;display:flex}.desk-tile{background:var(--surface-2);min-width:1.9rem;height:1.55rem;color:var(--muted);font:700 .72rem / 1 var(--font-display);border-radius:0;place-items:center;padding:0 .28rem;display:inline-grid}.desk-tile.on.red{background:var(--mark-red);color:#fff}.desk-tile.on.orange{background:var(--mark-orange);color:#fff}.desk-tile.on.navy{background:var(--mark-navy);color:#fff}.desk-list{margin:0;padding:0;list-style:none}.desk-list>li+li{border-top:1px solid var(--line)}.drill-level h2{font:700 .8rem / 1.2 var(--font-mono);color:var(--muted);margin:0 0 6px}.drill-level ul{margin:0;padding:0;list-style:none}.drill-level li+li{border-top:1px solid var(--line)}.desk-list>.drill-level{padding:16px 0 8px}.desk-list>.drill-level:first-child{padding-top:0}.desk-row{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px 16px;padding:13px 0;display:grid}button.desk-row:hover .desk-row-copy strong,button.desk-row:focus-visible .desk-row-copy strong{text-decoration:underline;-webkit-text-decoration-color:var(--mark-orange);text-decoration-color:var(--mark-orange);text-underline-offset:.28em;text-decoration-thickness:1px}.gramunit .desk-row{cursor:default}.gramunit .desk-row-open{min-width:0;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;grid-column:2/-1;padding:0}.gramunit .desk-row-open:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.gramunit button.desk-tile{cursor:pointer;border:0}.gramunit .desk-row-open:hover .desk-row-copy strong,.gramunit .desk-row.done .desk-row-copy strong{text-decoration:none}button.desk-row:focus-visible,.desk-download:focus-visible,.desk-empty a:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.desk-row.done .desk-row-copy strong{text-decoration:underline;-webkit-text-decoration-color:var(--mark-orange);text-decoration-color:var(--mark-orange);text-underline-offset:.28em;text-decoration-thickness:1px}.desk-row-copy{gap:2px;min-width:0;display:grid}.desk-row-copy strong{font-family:var(--font-display);font-size:1.05rem;font-weight:600}.desk-row-copy span{color:var(--muted);font-size:.86rem}.desk-row-status{color:var(--ink);font:600 .82rem / 1 var(--font-mono);font-variant-numeric:tabular-nums;white-space:nowrap}.desk-download{border:1px solid var(--mark-navy);background:var(--mark-navy);color:#fff;font:600 .88rem var(--font-body);flex:none;padding:8px 12px;text-decoration:none}.desk-download:hover{filter:brightness(1.08)}.desk-complete{border-bottom:1px solid var(--line);margin:4px 0 8px;padding-bottom:8px}.desk-areas-lead{margin:16px 0 4px}.desk-empty{max-width:56ch;color:var(--ink);margin:8px 0 0}.desk-empty a{color:var(--ink);text-decoration:underline;-webkit-text-decoration-color:var(--mark-orange);text-decoration-color:var(--mark-orange);text-underline-offset:.28em;font-weight:700}.desk-paper{margin-top:8px}.desk-paper-band{background:var(--mark-navy);color:#fff;justify-content:space-between;align-items:center;gap:16px;padding:10px 16px;display:flex}.desk-paper-band .score-live,.desk-paper-band .progress,.desk-paper-band .timer{color:#fff;font:700 .95rem / 1 var(--font-mono);font-variant-numeric:tabular-nums;margin:0}.desk-paper-band .timer.danger{color:#fff;box-shadow:inset 0 -2px 0 var(--mark-red)}.desk-paper .exam{border-top:0;margin-top:0}.training-page .charbar{color:#63707f;flex-wrap:wrap;align-items:center;gap:8px;margin-top:18px;font-size:.86rem;display:flex}.training-page .charbar button{cursor:pointer;border:0;width:2rem;height:2rem;padding:0}.training-page .result{border-top:1px solid var(--line);flex-wrap:wrap;align-items:baseline;gap:12px 18px;margin-top:22px;padding-top:18px;display:flex}.training-page .result strong{font:700 2rem / 1 var(--font-display);color:var(--ink)}.training-page .review h2{margin-top:28px}.training-page .review .wrongword{color:var(--bad)}.training-page .review .corr,.training-page .review .why{color:var(--ok)}.training-page .simchoice{border-top:1px solid var(--line);gap:0;margin-top:8px;display:grid}.training-page .simchoice .desk-row{cursor:pointer}.training-page .weak{gap:0;display:grid}.training-page .weakcard{border:0;border-top:1px solid var(--line);background:0 0;border-radius:0;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px 16px;padding:14px 0;display:grid}.training-page .weakcard:first-child{border-top:0}.training-page .weaklabel{grid-area:1/2}.training-page .weakacc{color:var(--ink);grid-area:1/3;font-size:1.35rem}.training-page .weakmeta{grid-area:2/2}.training-page .weakactions{grid-area:3/2/auto/-1}.training-page .daycount{border:0;border-bottom:1px solid var(--line);background:0 0;border-radius:0;flex-wrap:wrap;align-items:baseline;gap:14px 22px;margin:0 0 28px;padding:0 0 16px;display:flex}.training-page .daycount strong{color:var(--mark-navy)}.training-page .tagbar .fill{background:var(--mark-navy)}.training-page .tagbar .fill.low{background:var(--mark-red)}.training-page .tagbar .fill.mid{background:var(--mark-orange)}.training-page .pacing{gap:8px;display:grid}.training-page .pacing strong{font-family:var(--font-mono)}.syllabus{margin-top:4px}.syllabus-unit{padding:30px 0 8px}.syllabus-unit-head{border-bottom:1px solid var(--ink);grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:14px;padding-bottom:12px;display:grid}.syllabus-unit-num{background:var(--mark-navy);color:#fff;width:2.3rem;height:2.3rem;font:700 1.05rem / 1 var(--font-display);place-items:center;display:inline-grid}.syllabus-unit-num.complete{background:var(--mark-orange)}.syllabus-unit-head h2{font:600 1.3rem / 1.2 var(--font-display);margin:0;padding-top:5px}.syllabus-unit-head p{color:var(--muted);margin:6px 0 0;font-size:.9rem;line-height:1.5}.syllabus-unit-count{color:var(--muted);font:600 .78rem / 1 var(--font-mono);font-variant-numeric:tabular-nums;white-space:nowrap;padding-top:9px}.syllabus-lessons{margin:0;padding:0 0 0 calc(2.3rem + 14px);list-style:none}.syllabus-lessons li{border-bottom:1px dotted var(--line-strong,var(--line));grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;display:grid}.syllabus-lessons li:last-child{border-bottom:0}.syllabus-box{cursor:pointer;background:0 0;border:0;place-items:center;width:28px;height:28px;margin-left:-9px;padding:0;display:inline-grid}.syllabus-box span{background:var(--line);width:10px;height:10px;transition:background .15s}.syllabus-box:hover span{background:var(--muted)}.syllabus-lessons li.done .syllabus-box span{background:var(--mark-orange)}.syllabus-open{min-width:0;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:baseline;gap:16px;padding:11px 0;display:flex}.syllabus-title{font:600 1.02rem / 1.35 var(--font-display)}.syllabus-open:hover .syllabus-title,.syllabus-open:focus-visible .syllabus-title,.syllabus-lessons li.done .syllabus-title{text-decoration:underline;-webkit-text-decoration-color:var(--mark-orange);text-decoration-color:var(--mark-orange);text-underline-offset:.28em;text-decoration-thickness:1px}.syllabus-meta{color:var(--muted);white-space:nowrap;flex:none;align-items:baseline;gap:10px;font-size:.8rem;display:flex}.syllabus-free{border:1px solid var(--ok);color:var(--ok);font:700 .64rem / 1.2 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;padding:2px 6px}.syllabus-open:focus-visible,.syllabus-box:focus-visible{outline:2px solid var(--ink);outline-offset:2px}@media (max-width:760px){.syllabus-unit-head{grid-template-columns:auto minmax(0,1fr)}.syllabus-unit-count{grid-column:2;padding-top:0}.syllabus-lessons{padding-left:0}.syllabus-box{margin-left:-9px}.syllabus-open{flex-direction:column;gap:4px}}.training-page .gramunit h2{align-items:center}.training-page .gramnum{background:var(--mark-navy);color:#fff;width:1.55rem;height:1.55rem;font:700 .78rem / 1 var(--font-display);border-radius:0;place-items:center;margin-right:6px;display:inline-grid}.training-page .examhead{background:var(--mark-navy);color:#fff;border:0;justify-content:space-between;align-items:center;gap:16px;margin:0;padding:10px 16px;display:flex}.training-page .examhead+.exam{margin-top:0}.training-page .scorecard{text-align:left;border:0;border-bottom:1px solid var(--line);background:0 0;border-radius:0;padding:8px 0 22px}.training-page .scorecard .big{font-family:var(--font-display)}.training-page .scorecard.strong .cefr{color:var(--ok)}.training-page .scorecard.target .cefr{color:var(--mark-navy)}.training-page .scorecard.below .cefr{color:var(--bad)}.training-page .empty{max-width:58ch;color:var(--ink);background:0 0;border:0;padding:0}@media (max-width:700px){.training-page>header.desk-head,.training-page .desk-head{flex-direction:column;align-items:start;gap:16px}.desk-mark-progress{justify-items:start}.desk-row{grid-template-columns:auto minmax(0,1fr)}.desk-row-status,.desk-download{grid-column:2;justify-self:start}.training-page .weakacc{grid-area:2/2;justify-self:start}.training-page .weakmeta{grid-row:3}.training-page .weakactions{grid-row:4}}
