:root{color:#334155;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f3f7fb;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}html{overflow-y:scroll}body{min-width:320px;margin:0}button,input{font:inherit}img{max-width:100%}#root{min-height:100svh}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:0}.trainer-shell{background:linear-gradient(#f8f4ea 0% 28%,#f3f7fb 28% 100%);min-height:100svh}.topbar-shell,.hero-band,.task-map-band,.statistics-band,.diagnostics-band,.about-band,.training-tools-band,.training-context-band,.question-band{box-sizing:border-box;width:min(100%,1100px);margin:0 auto}.topbar-shell{z-index:60;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#1e293bb8;border-bottom:1px solid #e2e8f024;width:100%;padding:10px 0;transition:transform .18s,background-color .18s,box-shadow .18s;position:sticky;top:0;transform:translateY(0);box-shadow:0 8px 22px #0f172a1a}.topbar-shell.header-hidden{transform:translateY(calc(-100% - 4px))}.topbar-inner{box-sizing:border-box;align-items:center;gap:14px;width:min(100%,1100px);margin:0 auto;padding:0 28px;display:flex}.brand-mark{color:#fff7ed;cursor:pointer;background:linear-gradient(135deg,#f2b84b,#f97363);border:0;border-radius:50%;flex:none;place-items:center;width:42px;height:42px;display:grid;box-shadow:0 6px 18px #f973632e}.brand-mark-ring{letter-spacing:0;border:1px solid #ffffff8a;border-radius:50%;place-items:center;width:31px;height:31px;font-size:11px;font-weight:700;display:grid}.topbar-copy{flex:auto;gap:2px;min-width:0;display:grid}.topbar-title{color:#f8fafc;margin:0;font-size:17px;font-weight:700;line-height:1.15}.topbar-slogan{color:#e2e8f0b3;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:13px;line-height:1.3;overflow:hidden}.topbar-menu-wrap{flex:none;position:relative}.menu-toggle{cursor:pointer;background:#ffffff09;border:1px solid #e2e8f02e;border-radius:12px;place-content:center;width:40px;height:40px;padding:0;display:grid}.menu-toggle-lines{flex-direction:column;justify-content:center;align-items:center;gap:3.5px;width:18px;height:18px;display:flex}.menu-toggle-lines span{background:#f1f5f9d6;border-radius:999px;flex:none;width:15px;height:1.5px;display:block}.menu-toggle.active{background:#ffffff1a;border-color:#e2e8f047}.menu-toggle:hover{background:#ffffff14;border-color:#e2e8f03d}.menu-toggle:focus-visible{outline-offset:2px;outline:3px solid #f59e0b59}.topbar-menu{background:#fffcf6f7;border:1px solid #94a3b838;border-radius:12px;width:min(260px,100vw - 32px);padding:10px;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 16px 34px #0f172a24}.topbar-menu button{color:#334155;text-align:left;width:100%;min-height:44px;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:10px;padding:0 12px}.topbar-menu button:hover,.topbar-menu button:focus-visible{color:#0f172a;background:#f1f5f9d1;outline:none}.hero-band{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:24px;padding:48px 28px 32px;scroll-margin-top:92px;display:grid}.compact-hero{justify-content:flex-end;padding-top:22px;padding-bottom:18px;display:flex}.hero-copy-block{max-width:760px}.eyebrow{text-transform:uppercase;color:#8f5a12;margin:0 0 10px;font-size:14px;font-weight:700;line-height:1.3}.hero-copy{color:#475569;max-width:720px;font-size:18px;line-height:1.55}.mode-switcher{background:#ffffffb3;border:1px solid #94a3b840;border-radius:18px;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;min-width:360px;padding:8px;display:inline-grid}.training-panel{justify-items:end;gap:10px;display:grid}.mode-badge{color:#9a3412;background:#fff7ed;border-radius:999px;align-items:center;min-height:32px;padding:0 12px;font-size:15px;font-weight:700;display:inline-flex}.mode-button{min-height:48px;font:inherit;color:#334155;cursor:pointer;background:0 0;border:0;border-radius:12px;padding:10px 14px}.mode-button.active{color:#0f172a;background:#fff;box-shadow:0 8px 24px #0f172a14}.task-map-band{padding:16px 28px 40px;scroll-margin-top:92px}.statistics-band,.diagnostics-band{padding:0 28px 32px;scroll-margin-top:92px}.training-tools-band{padding:0 28px 40px;scroll-margin-top:92px}.about-band{padding:0 28px 20px;scroll-margin-top:92px}.training-context-band{padding:14px 28px 10px;scroll-margin-top:92px}.training-context-card{color:#64748b;background:#ffffff80;border:1px solid #94a3b824;border-radius:8px;flex-wrap:wrap;align-items:center;gap:4px 10px;min-height:44px;padding:10px 16px;font-size:14px;line-height:1.35;display:flex}.training-context-card span:first-child{color:#334155;font-weight:700}.training-context-card span+span:before{content:"·";color:#94a3b8;margin-right:10px;font-weight:600}.about-card{background:#ffffff94;border:1px solid #94a3b829;border-radius:8px;padding:16px 18px}.about-card p:last-child{color:#475569;max-width:780px;margin:0;line-height:1.55}.task-map-card{background:#ffffff9e;border:1px solid #94a3b829;border-radius:8px;padding:14px 18px 16px}.task-map-layout{grid-template-columns:minmax(0,1fr) minmax(112px,auto);align-items:center;gap:18px;display:grid}.task-map-main{min-width:0}.task-map-summary{color:#64748b;text-align:center;border-left:1px solid #94a3b824;align-content:center;justify-items:center;gap:4px;min-width:112px;padding:6px 4px 6px 16px;font-size:13px;font-weight:600;line-height:1.35;display:grid}.statistics-head{margin-bottom:18px}.statistics-head h2{color:#0f172a;margin:0 0 10px;font-size:30px;line-height:1.2}.statistics-head p:last-child{color:#475569;max-width:760px;margin:0;line-height:1.5}.statistics-empty,.statistics-card{background:#ffffffb3;border:1px solid #94a3b829;border-radius:8px;padding:18px}.statistics-empty h3,.statistics-card h3{color:#0f172a;margin:0 0 10px;font-size:18px;line-height:1.3}.statistics-empty p,.statistics-card p{color:#475569;margin:0;line-height:1.5}.statistics-empty p+p,.statistics-card p+p{margin-top:8px}.statistics-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.statistics-pills{flex-wrap:wrap;gap:8px;display:flex}.statistics-pills span{color:#334155;background:#f8fafcd1;border-radius:999px;align-items:center;min-height:34px;padding:0 12px;font-size:14px;display:inline-flex}.statistics-note{margin-top:12px}.data-source-card{background:#f1f5f98a;border-style:dashed}.data-source-card h3,.data-source-card p{color:#64748b;font-size:13px}.statistics-table-card{background:#ffffff9e;margin-top:16px}.statistics-table-head{flex-wrap:wrap;justify-content:space-between;gap:10px;margin-bottom:12px;display:flex}.statistics-table-head p{font-size:14px}.statistics-table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.statistics-table{border-collapse:collapse;width:100%;min-width:860px}.statistics-table th,.statistics-table td{text-align:left;color:#334155;white-space:nowrap;border-bottom:1px solid #e2e8f0e6;padding:9px 10px;font-size:13px}.statistics-table th{color:#0f172a;font-weight:700}.diagnostics-head{margin-bottom:14px}.diagnostics-head h2{color:#0f172a;margin:0 0 8px;font-size:24px;line-height:1.2}.diagnostics-head p:last-child{color:#64748b;max-width:820px;margin:0;font-size:14px;line-height:1.5}.diagnostics-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.diagnostics-card{background:#f8fafc94;border:1px dashed #64748b3d;border-radius:8px;padding:14px}.diagnostics-card h3{color:#334155;text-transform:uppercase;margin:0 0 10px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;line-height:1.3}.diagnostics-list{gap:7px;margin:0;display:grid}.diagnostics-list div{grid-template-columns:minmax(120px,.85fr) minmax(0,1fr);align-items:start;gap:8px;display:grid}.diagnostics-list dt,.diagnostics-list dd,.diagnostics-muted{margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;line-height:1.35}.diagnostics-list dt{color:#64748b}.diagnostics-list dd{overflow-wrap:anywhere;color:#0f172a;min-width:0}.diagnostics-hint{color:#64748b;border-top:1px dashed #64748b42;margin:12px 0 0;padding-top:10px;font-size:12px;line-height:1.45}.diagnostics-muted{color:#64748b}.diagnostics-table-card{margin-top:14px}.diagnostics-table{min-width:980px}.training-tools-card{background:#ffffffad;border:1px solid #94a3b833;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;gap:16px;padding:14px 18px;display:grid}.training-tools-main{gap:12px;min-width:0;display:grid}.training-tools-copy{gap:4px;display:grid}.training-tools-title{color:#0f172a;margin:0;font-size:13px;font-weight:700}.training-tools-copy p:last-child{color:#475569;margin:0;font-size:13px;line-height:1.4}.training-settings-group{gap:8px;display:grid}.training-settings-label{color:#334155;margin:0;font-size:13px;font-weight:700}.settings-mode-switcher{background:#f8fafcdb;border-radius:14px;width:min(100%,520px);min-width:0;padding:6px}.settings-mode-switcher .mode-button{min-height:42px;padding:8px 10px}.training-tools-actions{align-self:end;justify-items:end;gap:8px;max-width:280px;display:grid}.training-tools-actions p{color:#64748b;text-align:right;margin:0;font-size:12px;line-height:1.4}.task-map-legend{flex-wrap:wrap;justify-content:center;gap:5px;margin-top:12px;display:flex}.task-map-legend-item{border:1px solid #94a3b833;border-radius:999px;align-items:center;gap:5px;min-height:22px;padding:0 5px;font-size:11px;display:inline-flex}.task-map-grid{grid-template-columns:repeat(10,38px);justify-content:center;gap:8px;margin:0 auto;display:grid}.task-map-button{width:38px;height:38px;font:inherit;color:#334155;cursor:pointer;background:#fff;border:2px solid #0000;border-radius:8px;place-items:center;gap:2px;padding:0;font-weight:700;display:grid}.task-map-button.current{border-color:#0f172a;box-shadow:0 0 0 2px #0f172a14}.task-map-symbol,.task-map-button span:last-child{font-size:12px;line-height:1}.status-not_started{color:#94a3b8;background:#fff}.status-solved_independently{color:#166534;background:#ecfdf5}.status-solved_with_hint{color:#1d4ed8;background:#eff6ff}.status-solved_after_mistake{color:#9a3412;background:#fff7ed}.status-solution_viewed{color:#475569;background:#f1f5f9}.status-needs_repeat{color:#b91c1c;background:#fef2f2}.question-band{background:#fff;border:1px solid #94a3b833;border-radius:8px;width:min(100% - 56px,1044px);padding:28px;scroll-margin-top:92px}.empty-state{place-content:center;gap:12px;min-height:320px;display:grid}.session-complete{text-align:center;justify-items:center;gap:18px;display:grid}.session-complete h2{color:#0f172a;margin:0;font-size:32px;line-height:1.2}.session-summary{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.session-summary span{color:#334155;background:#f8fafc;border-radius:999px;align-items:center;min-height:36px;padding:0 12px;display:inline-flex}.question-topline{color:#64748b;margin:0 0 10px;font-size:14px;font-weight:500;line-height:1.4}.question-text{color:#0f172a;max-width:900px;margin:0;font-size:34px;line-height:1.24}.question-text:focus{outline-offset:8px;outline:3px solid #f59e0b59}.asset-strip{margin:28px 0}.question-asset{background:#f8fafc;border:1px solid #94a3b847;border-radius:8px;width:auto;max-width:min(100%,440px);height:auto;max-height:280px;padding:16px;display:block}.choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:28px;display:grid}.choice-button{text-align:left;min-height:74px;font:inherit;color:#0f172a;cursor:pointer;background:#fbfdff;border:2px solid #dbe4ef;border-radius:8px;grid-template-columns:auto 1fr;align-items:start;gap:12px;padding:16px 18px;display:grid}.choice-button.selected{background:#eff6ff;border-color:#1d4ed8}.choice-button:disabled{cursor:default}.choice-button.rejected{color:#94a3b8;background:#f1f5f9;border-color:#e2e8f0}.choice-button.rejected .choice-label{color:#64748b;background:#cbd5e1}.choice-label{background:#e2e8f0;border-radius:999px;place-items:center;width:32px;height:32px;font-weight:700;display:inline-grid}.answer-field{flex-direction:column;gap:10px;max-width:360px;margin-top:28px;display:flex}.field-label{color:#334155;font-size:16px;font-weight:600}.answer-field input{min-height:58px;font:inherit;color:#0f172a;background:#fff;border:2px solid #cbd5e1;border-radius:8px;padding:0 16px}.answer-field input:focus,.mode-button:focus-visible,.choice-button:focus-visible,.task-map-button:focus-visible,.primary-action:focus-visible,.secondary-action:focus-visible{outline-offset:2px;outline:3px solid #f59e0b59}.action-row{flex-wrap:wrap;gap:12px;margin-top:28px;display:flex}.primary-action,.secondary-action{min-height:50px;font:inherit;cursor:pointer;border:0;border-radius:8px;padding:0 18px}.primary-action{color:#fff7ed;background:#ea580c}.primary-action:disabled{cursor:default;opacity:1;color:#64748b;box-shadow:none;background:#d7dee8}.secondary-action:disabled{cursor:default;opacity:1;color:#94a3b8;box-shadow:none;background:#e8edf3}.secondary-action{color:#0f172a;background:#e2e8f0}.attention-action{color:#9a3412;background:#fff7ed;box-shadow:0 0 0 3px #ea580c29}.attention-action:disabled{color:#94a3b8;box-shadow:none;background:#e8edf3}.feedback,.info-block{border-radius:8px;margin-top:20px;padding:18px}.feedback.success{color:#166534;background:#ecfdf5}.feedback.error{color:#9a3412;background:#fff7ed}.feedback.info{color:#1e3a8a;background:#eff6ff}.info-block{color:#334155;background:#f8fafc}.info-block h3{color:#0f172a;margin:0 0 10px;font-size:18px;line-height:1.3}.info-block p{margin:0}.feedback p{margin:8px 0 0}.info-block p+p{margin-top:10px}.link-action{color:#1d4ed8;font:inherit;cursor:pointer;background:0 0;border:0;margin-top:14px;padding:0;font-weight:700}.link-action:hover{text-decoration:underline}@media (width<=900px){.hero-band{grid-template-columns:1fr;align-items:start}.mode-switcher{width:100%;min-width:0}.training-panel{justify-items:stretch}.mode-badge{justify-content:center}.statistics-grid,.diagnostics-grid{grid-template-columns:1fr}.task-map-grid{grid-template-columns:repeat(5,38px)}.choice-grid{grid-template-columns:1fr}.question-text{font-size:28px}}@media (width<=640px){.topbar-shell{padding:10px 0}.topbar-inner{gap:12px;padding:0 16px}.topbar-title{font-size:16px}.topbar-slogan{font-size:12px}.brand-mark,.menu-toggle{width:42px;height:42px}.topbar-menu{width:min(240px,100vw - 24px)}.hero-band,.statistics-band,.diagnostics-band,.about-band,.training-tools-band,.training-context-band,.question-band{padding-left:16px;padding-right:16px}.task-map-card{padding:12px 12px 14px}.task-map-layout{grid-template-columns:1fr;gap:10px}.task-map-summary{border-left:0;grid-template-columns:repeat(3,auto);justify-content:center;justify-items:center;gap:8px;min-width:0;padding:0;font-size:12px}.task-map-summary span:not(:last-child):after{content:"·";color:#94a3b8;margin-left:8px;font-weight:600}.training-tools-band{padding-bottom:32px}.training-context-band{padding-top:12px;padding-bottom:8px}.training-context-card{align-items:flex-start;min-height:0;font-size:13px}.training-tools-card{align-items:stretch}.hero-band{padding-top:18px}.compact-hero{justify-content:stretch}.statistics-head h2{font-size:26px}.statistics-table{min-width:760px}.diagnostics-table{min-width:820px}.diagnostics-list div{grid-template-columns:1fr;gap:2px}.task-map-grid{grid-template-columns:repeat(4,38px)}.mode-switcher,.training-tools-card{grid-template-columns:1fr}.training-tools-actions{justify-items:stretch;max-width:none}.training-tools-actions p{text-align:left}.question-text{font-size:24px}.action-row{flex-direction:column}.question-band{width:calc(100% - 32px)}.primary-action,.secondary-action{width:100%}}@media (prefers-reduced-motion:reduce){.topbar-shell{transition:none}}
