: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,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}#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)}.form-card{flex-direction:column;gap:16px;display:flex}.auth-card{align-items:stretch}.auth-card .cl-rootBox{width:100%}.auth-card .cl-cardBox{width:100%;box-shadow:none}.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}.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-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}.progress-list,.session-list,.insight-list,.skill-list,.badge-list{gap:12px;margin-top:12px;display:grid}.progress-row,.session-row,.insight-list>div,.skill-row{border-bottom:1px solid var(--border);justify-content:space-between;gap:12px;padding:14px 0;display:flex}.progress-row:last-child,.session-row:last-child,.insight-list>div:last-child,.skill-row:last-child{border-bottom:0}.progress-row strong,.session-row strong,.insight-list 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-meter{gap:12px;display:grid}.goal-meter strong{color:var(--text);font-size:2rem;display:block}.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}.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)}.mini-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.result-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.mini-stats>div,.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}.mini-stats span,.result-grid span{line-height:1.2}.mini-stats strong,.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)}.feedback-banner{border:1px solid var(--border);background:#f7f9fc;border-radius:8px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;min-height:54px;padding:12px 14px;display:grid}.feedback-banner strong{color:var(--text)}.feedback-banner span{color:var(--muted)}.feedback-banner.success{background:#ecfdf3;border-color:#a9e6c1}.feedback-banner.success strong,.feedback-banner.success span{color:var(--success)}.feedback-banner.error{background:#fff3f0;border-color:#f3b4ad}.feedback-banner.error strong,.feedback-banner.error span{color:var(--danger)}@media (width<=960px){.topbar{flex-direction:column;align-items:flex-start}.hero-panel,.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}.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}.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}.mini-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.mini-stats>div{min-height:68px;padding:8px}.mini-stats span{font-size:.78rem}.mini-stats 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}.feedback-banner{gap:6px;min-height:50px}.form-card{padding:18px}}@media (width<=640px){.app-shell{width:min(100% - 24px,1180px);padding:12px 0 32px}.card,.dashboard-hero,.focus-band{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,.progress-row,.session-row,.skill-row,.error-row,.sprint-topline,.quiz-form{flex-direction:column;grid-template-columns:1fr;align-items:stretch}.mini-stats,.result-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mini-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.feedback-banner{grid-template-columns:1fr}.score-block,.progress-meta{text-align:left;justify-items:start}}@media (width<=420px){.app-shell{width:min(100% - 16px,1180px)}.card,.dashboard-hero,.focus-band,.hero-panel{padding:14px}.hero-stats{grid-template-columns:1fr}.metric-card{min-height:64px}.mini-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.mini-stats>div{min-height:72px}.result-grid,.stats-grid{grid-template-columns:1fr}.question-line{min-height:132px}}
