:root{color:#172033;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--text:#172033;--muted:#667085;--surface:#fff;--surface-strong:#eef4ff;--border:#d9e1ec;--primary:#0f766e;--primary-dark:#115e59;--accent:#2563eb;--danger:#b42318;--success:#067647;--shadow:0 18px 42px #141f3714;background:#f6f7fb;font-family:Inter,Segoe UI,Roboto,Arial,sans-serif}*{box-sizing:border-box}body{min-height:100vh;color:var(--text);background:#f6f7fb;margin:0;overflow-x:hidden}a{color:inherit;text-decoration:none}button,input{font:inherit}button{border:0}h1,h2,h3,p{margin:0}h1{letter-spacing:0;font-size:clamp(2.2rem,5vw,4.25rem);line-height:1}h2{letter-spacing:0;font-size:1.2rem;line-height:1.25}h3{letter-spacing:0;font-size:1.05rem;line-height:1.25}#root{min-height:100vh}.app-shell{width:min(1180px,100% - 32px);margin:0 auto;padding:18px 0 44px}.topbar{justify-content:space-between;align-items:center;gap:16px;padding:10px 0 28px;display:flex;position:relative}.brand{font-size:1.2rem;font-weight:850}.brand span{color:var(--primary)}.nav-links,.topbar-actions,.button-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.nav-link{min-height:40px;color:var(--muted);border:1px solid #0000;border-radius:8px;padding:9px 12px}.nav-link:hover,.nav-link.active{color:var(--text);border-color:var(--border);background:#fff}.mobile-menu-button,.mobile-menu-overlay{display:none}.mobile-menu-button{border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:8px;justify-content:center;align-items:center;gap:4px;width:44px;height:44px}.mobile-menu-button span{background:var(--text);border-radius:999px;width:18px;height:2px;display:block}.mobile-menu-overlay{z-index:30;background:#1720335c;padding:72px 12px 12px;position:fixed;inset:0}.mobile-menu-panel{border:1px solid var(--border);width:min(100%,360px);box-shadow:var(--shadow);background:#fff;border-radius:10px;gap:10px;margin-left:auto;padding:14px;display:grid}.mobile-menu-heading{color:var(--muted);justify-content:space-between;align-items:center;gap:12px;padding:4px 2px 8px;display:flex}.mobile-menu-heading strong{color:var(--text)}.mobile-nav-link{min-height:48px;color:var(--text);border:1px solid var(--border);cursor:pointer;background:#f7f9fc;border-radius:8px;justify-content:space-between;align-items:center;padding:12px;font-weight:800;display:flex}.mobile-nav-link.active{color:var(--primary-dark);background:#e8f7f3;border-color:#b9e4db}.mobile-nav-link.danger{color:var(--danger);text-align:left}.welcome-chip{text-overflow:ellipsis;white-space:nowrap;max-width:220px;color:var(--primary-dark);background:#e8f7f3;border:1px solid #b9e4db;border-radius:8px;padding:9px 12px;font-weight:700;overflow:hidden}.main-content,.page{flex-direction:column;gap:20px;display:flex}.narrow-page{width:100%;max-width:500px;margin:0 auto}.card,.hero-panel,.dashboard-hero,.focus-band{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:8px}.card{padding:22px}.hero-panel{grid-template-columns:minmax(0,1.45fr) minmax(280px,.75fr);gap:24px;padding:clamp(28px,6vw,56px);display:grid;overflow:hidden}.hero-copy{flex-direction:column;justify-content:center;align-items:flex-start;gap:16px;display:flex}.eyebrow{min-height:28px;color:var(--primary-dark);text-transform:uppercase;background:#e8f7f3;border-radius:8px;align-items:center;padding:5px 9px;font-size:.78rem;font-weight:800;display:inline-flex}.lead{color:var(--muted);max-width:62ch;font-size:1.05rem}.small-lead{max-width:48ch}.primary-button,.secondary-button,.ghost-button{cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:10px 15px;font-weight:800;transition:transform .15s,background .2s,border-color .2s;display:inline-flex}.primary-button{background:var(--primary);color:#fff}.primary-button:hover{background:var(--primary-dark)}.secondary-button{color:var(--text);border:1px solid var(--border);background:#fff}.ghost-button{color:var(--muted);border:1px solid var(--border);background:0 0}.primary-button:hover,.secondary-button:hover,.ghost-button:hover{transform:translateY(-1px)}.primary-button:disabled,.secondary-button:disabled,.ghost-button:disabled,.segment:disabled{opacity:.55;cursor:not-allowed;transform:none}.full-width{width:100%}.hero-stats{gap:12px;display:grid}.metric-card{background:var(--surface-strong);border:1px solid #d5e4ff;border-radius:8px;flex-direction:column;justify-content:center;gap:6px;min-height:116px;padding:18px;display:flex}.metric-card strong,.stat-card strong,.score-block strong{font-size:2rem;line-height:1}.metric-card span,.stat-card span,.card p,.card li,.card span,.muted{color:var(--muted)}.grid{gap:18px;display:grid}.three-columns{grid-template-columns:repeat(3,minmax(0,1fr))}.two-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.feature-card{gap:8px;display:grid}.focus-band{justify-content:space-between;align-items:center;gap:18px;padding:24px;display:flex}.focus-band h2{margin-top:8px;font-size:clamp(1.35rem,2.5vw,2rem)}.home-page{gap:28px}.home-hero{grid-template-columns:minmax(0,1fr) minmax(360px,.78fr);align-items:center;gap:clamp(22px,5vw,56px);min-height:560px;padding:clamp(12px,3vw,28px) 0 14px;display:grid}.home-hero-copy{align-content:center;gap:18px;display:grid}.home-hero-copy h1{max-width:15.5ch;font-size:clamp(2.8rem,5.2vw,4.1rem)}.arena-preview{border:1px solid var(--border);background:linear-gradient(135deg,#0f766e1f,#2563eb14),#fff;border-radius:8px;gap:14px;min-height:430px;padding:18px;display:grid;position:relative;box-shadow:0 24px 64px #141f3724}.arena-preview:before{content:"";pointer-events:none;background-image:linear-gradient(#1720330f 1px,#0000 1px),linear-gradient(90deg,#1720330f 1px,#0000 1px);background-size:34px 34px;border-radius:8px;position:absolute;inset:18px;-webkit-mask-image:linear-gradient(#00000059,#0000 78%);mask-image:linear-gradient(#00000059,#0000 78%)}.arena-topline,.arena-lanes,.arena-feedback,.arena-question{z-index:1;position:relative}.arena-topline,.arena-feedback{background:#ffffffc7;border:1px solid #d9e1ece6;border-radius:8px;justify-content:space-between;align-items:center;gap:14px;min-height:56px;padding:12px 14px;display:flex}.arena-topline span,.arena-feedback span,.arena-lanes span{color:var(--muted);font-weight:750}.arena-topline strong{color:var(--primary-dark);font-size:1.3rem}.arena-question{color:#fff;background:#172033;border-radius:8px;grid-template-columns:1fr auto;align-items:center;gap:14px;min-height:180px;padding:clamp(18px,4vw,30px);display:grid;overflow:hidden}.arena-question span{color:#fff;font-size:clamp(2.7rem,7vw,5.6rem);font-weight:950;line-height:1}.arena-question strong{color:#172033;background:#f8d66d;border-radius:8px;place-items:center;min-width:96px;min-height:96px;font-size:3rem;display:grid}.arena-lanes{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.arena-lanes>div{border:1px solid var(--border);background:#fff;border-radius:8px;align-content:center;gap:6px;min-height:92px;padding:14px;display:grid}.arena-lanes strong{color:var(--text);font-size:1.65rem;line-height:1}.arena-feedback{background:#ecfdf3;border-color:#a9e6c1;margin-top:auto}.arena-feedback strong{color:var(--success)}.home-section{gap:16px;display:grid}.section-kicker{justify-items:start;gap:10px;display:grid}.section-kicker h2{max-width:760px;font-size:clamp(1.45rem,3vw,2.35rem)}.home-path-grid{align-items:stretch}.path-card{align-content:space-between;gap:12px;min-height:190px;transition:transform .16s,border-color .2s,box-shadow .2s;display:grid}.path-card:hover{border-color:#8bcfc2;transform:translateY(-2px);box-shadow:0 20px 48px #0f766e1f}.path-card>span{color:var(--primary-dark);text-transform:uppercase;font-size:.8rem;font-weight:850}.path-card h3{font-size:1.35rem}.path-card p,.loop-step p{color:var(--muted)}.home-loop-section{color:#fff;box-shadow:var(--shadow);background:#172033;border-radius:8px;padding:24px}.home-loop-section .eyebrow{color:#d7fff6;background:#ffffff1f}.loop-track{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.loop-step{background:#ffffff14;border:1px solid #ffffff24;border-radius:8px;align-content:start;gap:12px;min-height:190px;padding:18px;display:grid}.loop-step>span{color:#172033;background:#f8d66d;border-radius:8px;place-items:center;width:42px;height:42px;font-weight:950;display:grid}.loop-step p{color:#c5d2e5}.form-card{flex-direction:column;gap:16px;display:flex}.auth-page{width:100%}.auth-single-column{width:min(100%,560px);margin:0 auto}.stacked-form,.form-grid{gap:12px;display:grid}.two-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.password-checklist{flex-wrap:wrap;gap:8px;display:flex}.password-checklist span{min-height:32px;color:var(--muted);border:1px solid var(--border);background:#f7f9fc;border-radius:8px;align-items:center;padding:6px 9px;font-size:.88rem;font-weight:800;display:inline-flex}.password-checklist span.valid{color:var(--success);background:#ecfdf3;border-color:#a9e6c1}.inline-link{color:var(--primary-dark);font-weight:850}.auth-card{align-items:stretch}.form-card h1{font-size:2rem}.form-card label{color:var(--text);flex-direction:column;gap:8px;font-weight:700;display:flex}.form-card input,.quiz-form input{border:1px solid var(--border);width:100%;min-height:48px;color:var(--text);background:#fff;border-radius:8px;outline:none;padding:12px 14px;font-size:16px}.form-card input:focus,.quiz-form input:focus{border-color:var(--primary);box-shadow:0 0 0 4px #0f766e1f}.form-card input[aria-invalid=true]{border-color:var(--danger);box-shadow:0 0 0 4px #b423181a}.centered-text{text-align:center}.form-error{color:var(--danger);background:#fff3f0;border:1px solid #f3b4ad;border-radius:8px;padding:12px 14px}.loading-card{text-align:center;color:var(--muted)}.dashboard-hero,.section-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.dashboard-hero{padding:24px}.dashboard-page{gap:22px}.dashboard-hero-v2{align-items:stretch}.dashboard-refresh-error{padding:14px 16px}.skeleton-card{overflow:hidden}.skeleton-line{background:linear-gradient(90deg,#eef3f8,#dce5ef,#eef3f8) 0 0/220% 100%;border-radius:8px;width:62%;height:14px;animation:1.4s ease-in-out infinite skeleton-pulse;display:block}.skeleton-line.wide{width:88%}.skeleton-line.short{width:44%}.skeleton-number{width:72px;height:34px}@keyframes skeleton-pulse{0%{background-position:100%}to{background-position:0}}@media (prefers-reduced-motion:reduce){.skeleton-line{animation:none}}.dashboard-hero h1,.section-header h1{font-size:clamp(2rem,4vw,3rem);line-height:1.05}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.stat-card{gap:8px;display:grid}.dashboard-section{gap:16px;display:grid}.mission-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;display:grid}.mission-card{align-content:start;gap:14px;display:grid}.mission-card p{min-height:54px}.mission-topline,.level-card-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.mission-topline span,.level-card-header span{color:var(--muted);font-weight:800}.mission-topline strong{color:var(--primary-dark);font-size:1.8rem;line-height:1}.level-ladder{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.level-card{align-content:start;gap:14px;display:grid}.level-card.played{border-color:#b9e4db}.level-card-header strong{color:var(--muted);background:#f7f9fc;border-radius:8px;padding:6px 8px;font-size:.82rem}.level-card.played .level-card-header strong{color:var(--primary-dark);background:#e8f7f3}.level-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.level-metrics>div{border:1px solid var(--border);background:#f7f9fc;border-radius:8px;align-content:center;gap:5px;min-height:70px;padding:10px;display:grid}.level-metrics span{color:var(--muted);font-size:.82rem;font-weight:750}.level-metrics strong{font-size:1.25rem;line-height:1}.mode-chip-list,.session-tags{flex-wrap:wrap;gap:8px;display:flex}.mode-chip,.session-tags span{border:1px solid var(--border);background:#f7f9fc;border-radius:8px;align-items:center;gap:6px;min-height:32px;padding:6px 8px;display:inline-flex}.mode-chip{justify-content:space-between}.mode-chip strong{color:var(--text)}.mode-chip em{color:var(--muted);font-size:.85rem;font-style:normal;font-weight:800}.compact-header{align-items:center}.compact-header h2{font-size:1.2rem}.enriched-session-row{align-items:center}.enriched-session-row>div:first-child{gap:8px;display:grid}.session-list,.skill-list,.badge-list{gap:12px;margin-top:12px;display:grid}.session-row,.skill-row{border-bottom:1px solid var(--border);justify-content:space-between;gap:12px;padding:14px 0;display:flex}.session-row:last-child,.skill-row:last-child{border-bottom:0}.session-row strong,.skill-row strong{margin-bottom:4px;display:block}.diagnostic-card{gap:14px;display:grid}.skill-row>span{color:var(--primary-dark);font-weight:850}.goal-bar{background:#edf2f7;border-radius:999px;height:10px;overflow:hidden}.goal-bar span{border-radius:inherit;background:var(--primary);height:100%;display:block}.badge-chip{border:1px solid var(--border);background:#f7f9fc;border-radius:8px;gap:4px;padding:12px;display:grid}.progress-meta{color:var(--muted);justify-items:end;gap:4px;font-size:.95rem;display:grid}.right-align{text-align:right}.game-shell{grid-template-columns:minmax(360px,.95fr) minmax(0,1.35fr);align-items:start;gap:18px;display:grid}.session-banner{box-shadow:var(--shadow);background:#172033;border-radius:8px;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:10px;display:grid}.session-banner>div{background:#ffffff14;border:1px solid #ffffff1f;border-radius:8px;align-content:center;gap:5px;min-height:72px;padding:12px;display:grid}.session-banner span{color:#c5d2e5;font-weight:750}.session-banner strong{color:#fff;font-size:1.65rem;line-height:1}.control-panel,.sprint-card{gap:18px;display:grid}.settings-panel summary{display:none}.panel-label{color:var(--text);margin-bottom:8px;font-weight:800;display:block}.segmented-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.segment{min-height:42px;color:var(--text);border:1px solid var(--border);cursor:pointer;text-align:center;background:#f7f9fc;border-radius:8px;padding:9px 10px;font-weight:750}.segment.active{color:var(--primary-dark);background:#e8f7f3;border-color:#8bcfc2}.focus-note{background:#eef4ff;border:1px solid #d5e4ff;border-radius:8px;gap:10px;padding:14px;display:grid}.focus-note strong{color:var(--accent)}.start-session-button{margin-top:2px}.result-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.result-grid>div{border:1px solid var(--border);background:#f7f9fc;border-radius:8px;align-content:center;gap:5px;min-height:82px;padding:12px;display:grid}.result-grid span{line-height:1.2}.result-grid strong{color:var(--text);font-size:1.4rem}.sprint-topline{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.sprint-topline h2{margin-top:8px}.score-block{justify-items:end;gap:5px;min-width:112px;display:grid}.question-line{color:#fff;background:#172033;border-radius:8px;place-items:center;min-height:clamp(110px,22vw,220px);font-size:clamp(3rem,9vw,7rem);font-weight:900;display:grid}.skill-hint{color:var(--muted);margin-top:-8px;font-weight:800}.quiz-form{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;display:grid}.quiz-form input{font-size:1.25rem;font-weight:800}.result-panel{gap:18px;display:grid}.diagnostic-box,.error-review{border:1px solid var(--border);background:#f7f9fc;border-radius:8px;gap:10px;padding:14px;display:grid}.diagnostic-box h3,.error-review h3{margin:0;font-size:1rem}.pill-list{flex-wrap:wrap;gap:8px;display:flex}.skill-pill{color:var(--primary-dark);background:#e8f7f3;border:1px solid #b9e4db;border-radius:999px;padding:7px 9px;font-weight:800}.error-row{border-top:1px solid var(--border);justify-content:space-between;gap:12px;padding-top:8px;display:flex}.error-row strong{color:var(--danger)}.answer-feedback{border:1px solid var(--border);background:#f7f9fc;border-radius:8px;gap:12px;padding:14px;display:grid}.answer-feedback>div:first-child{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.answer-feedback strong{color:var(--text)}.answer-feedback>div:first-child>span{color:var(--muted);font-weight:800}.answer-feedback.success{background:#ecfdf3;border-color:#a9e6c1}.answer-feedback.success>div:first-child>strong,.answer-feedback.success .answer-values strong{color:var(--success)}.answer-feedback.error{background:#fff3f0;border-color:#f3b4ad}.answer-feedback.error>div:first-child>strong,.answer-feedback.error .answer-values strong{color:var(--danger)}.answer-feedback.neutral{background:#eef4ff;border-color:#d5e4ff}.answer-values{flex-wrap:wrap;gap:8px;display:flex}.answer-values span{min-height:34px;color:var(--muted);background:#ffffffb8;border:1px solid #d9e1eccc;border-radius:8px;align-items:center;gap:6px;padding:7px 9px;font-weight:800;display:inline-flex}@media (width<=960px){.topbar{flex-direction:column;align-items:flex-start}.home-hero,.hero-panel,.mission-grid,.level-ladder,.two-columns,.three-columns,.stats-grid,.game-shell{grid-template-columns:1fr}.nav-links,.topbar-actions{width:100%}}@media (width<=720px){.app-shell{width:min(100% - 20px,1180px);padding:10px 0 28px}.topbar{z-index:20;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#f6f7fbf5;flex-direction:row;align-items:center;padding:8px 0 14px;position:sticky;top:0}.brand{font-size:1.05rem}.nav-links,.topbar-actions{display:none}.mobile-menu-button{flex-direction:column;display:inline-flex}.mobile-menu-overlay{display:block}.main-content,.page{gap:14px}h1{font-size:clamp(2rem,12vw,3rem)}.hero-panel{gap:18px;padding:20px}.home-hero{gap:18px;min-height:auto;padding-top:10px}.home-hero-copy h1{max-width:16ch}.arena-preview{min-height:360px}.arena-question{min-height:150px}.loop-track{grid-template-columns:1fr}.hero-copy{gap:12px}.hero-copy .lead{font-size:1rem}.hero-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.metric-card{min-height:78px;padding:12px}.metric-card strong{font-size:1.45rem}.metric-card span{font-size:.85rem;line-height:1.2}.dashboard-hero{order:1;gap:14px}.dashboard-hero h1,.section-header h1{font-size:clamp(1.8rem,9vw,2.4rem)}.dashboard-priority-grid{order:2}.dashboard-stats-grid{order:3}.dashboard-detail-grid{order:4}.dashboard-history{order:5}.mission-card p{min-height:auto}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-card{min-height:96px}.game-shell{flex-direction:column;display:flex}.sprint-card{order:1}.settings-panel{order:2}.settings-panel summary{min-height:48px;color:var(--text);cursor:pointer;justify-content:space-between;align-items:center;margin:-4px 0 2px;font-weight:900;display:flex}.settings-panel summary:after{content:"+";color:var(--primary-dark);font-size:1.3rem}.settings-panel[open] summary:after{content:"−"}.segmented-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.segment{min-height:46px}.session-banner{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:6px}.session-banner>div{min-height:68px;padding:8px}.session-banner span{font-size:.78rem}.session-banner strong{font-size:1.05rem}.sprint-topline{grid-template-columns:minmax(0,1fr) auto;align-items:start;display:grid}.question-line{min-height:150px;font-size:clamp(3.2rem,18vw,5.5rem)}.skill-hint{margin-top:-10px}.form-card{padding:18px}}@media (width<=640px){.app-shell{width:min(100% - 24px,1180px);padding:12px 0 32px}.card,.dashboard-hero,.focus-band,.home-loop-section{padding:18px}.hero-panel{padding:24px}.nav-link,.primary-button,.secondary-button,.ghost-button{width:100%}.mobile-menu-button{width:44px}.mobile-nav-link{width:100%}.focus-band,.session-row,.skill-row,.error-row,.sprint-topline,.quiz-form{flex-direction:column;grid-template-columns:1fr;align-items:stretch}.two-fields,.arena-lanes{grid-template-columns:1fr}.arena-lanes>div{min-height:76px}.result-grid,.session-banner{grid-template-columns:repeat(2,minmax(0,1fr))}.score-block,.progress-meta{text-align:left;justify-items:start}.level-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=420px){.app-shell{width:min(100% - 16px,1180px)}.card,.dashboard-hero,.focus-band,.home-loop-section,.hero-panel{padding:14px}.home-hero-copy h1{max-width:100%;font-size:clamp(2.35rem,10vw,3.2rem)}.arena-preview{min-height:auto;padding:12px}.arena-preview:before{inset:12px}.arena-question{grid-template-columns:1fr}.arena-question strong{min-width:74px;min-height:74px;font-size:2.25rem}.hero-stats{grid-template-columns:1fr}.metric-card{min-height:64px}.session-banner>div{min-height:72px}.result-grid,.stats-grid{grid-template-columns:1fr}.question-line{min-height:132px}}
