:root{color:#061b2f;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--text:#061b2f;--muted:#5d6f7f;--surface:#fff;--surface-strong:#eef7f7;--border:#d9e7ec;--primary:#0a9f8f;--primary-dark:#003048;--accent:#18a890;--danger:#b42318;--success:#37a954;--shadow:0 18px 42px #141f3714;background:#f5f9fb;font-family:Inter,Segoe UI,Roboto,Arial,sans-serif}*{box-sizing:border-box}body{min-height:100vh;color:var(--text);background:#f5f9fb;margin:0;overflow-x:hidden}.page-loading{min-height:220px;color:var(--muted);place-items:center;font-weight:850;display:grid}a{color:inherit;text-decoration:none}button,input,select{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-subnav{gap:6px;padding:0 0 4px 14px;display:grid}.mobile-subnav a{min-height:36px;color:var(--muted);border-radius:8px;align-items:center;padding:8px 10px;font-weight:800;display:flex}.mobile-subnav a:hover{color:var(--text);background:#f7f9fc}.mobile-subnav a.active{color:var(--primary-dark);background:#e8f7f3}.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}.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:0}.home-hero{grid-template-columns:minmax(0,1fr) minmax(360px,.72fr);align-items:center;gap:clamp(32px,7vw,88px);min-height:min(680px,100vh - 118px);padding:clamp(38px,7vw,82px) 0 clamp(24px,5vw,58px);display:grid}.home-hero-copy{align-content:center;gap:20px;display:grid}.home-hero-copy h1{max-width:15.5ch;font-size:clamp(3rem,5.7vw,5rem);line-height:.98}.home-hero-copy h1 span{color:var(--primary)}.home-hero-copy .lead{color:#3f5064;max-width:620px;font-size:clamp(1rem,1.4vw,1.18rem);line-height:1.65}.home-eyebrow{width:fit-content;color:var(--primary-dark);background:linear-gradient(90deg,#18a89024,#48c06024)}.arena-preview{border:1px solid var(--border);background:#fff;border-radius:8px;gap:14px;min-height:430px;padding:26px;display:grid;position:relative;box-shadow:0 24px 64px #00304824}.arena-preview:before{content:none}.home-sprint-preview{place-self:center;width:min(100%,420px)}.quick-test-badge{color:#4d4b14;text-transform:uppercase;background:linear-gradient(135deg,#f3e95a,#e0dc36);border-radius:999px;align-items:center;min-height:34px;padding:7px 16px;font-size:.76rem;font-weight:950;display:inline-flex;position:absolute;top:-18px;right:22px;box-shadow:0 12px 24px #c9a4142e}.arena-topline,.arena-lanes,.arena-feedback,.arena-question{z-index:1;position:relative}.arena-topline,.arena-feedback{background:#f9fbfd;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:.96rem}.arena-question{min-height:112px;color:var(--text);background:#f8fafc;border:1px solid #e6edf4;border-radius:8px;place-items:center;padding:clamp(18px,4vw,28px);display:grid}.arena-question span{color:var(--text);font-size:clamp(2.2rem,5vw,3.8rem);font-weight:950;line-height:1}.arena-answer-preview{color:#96a2b0;border:1px solid var(--border);background:#fff;border-radius:8px;justify-content:center;align-items:center;min-height:54px;padding:12px 18px;font-size:1.05rem;font-weight:750;display:flex;box-shadow:inset 0 1px 2px #0030480a}.arena-submit-preview{border-radius:8px;min-height:54px;box-shadow:inset 0 -4px #0030482e,0 14px 26px #0a9f8f2e}.arena-lanes{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.arena-lanes>div{border:1px solid var(--border);background:#f8fafc;border-radius:8px;align-content:center;justify-items:center;gap:6px;min-height:90px;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)}.form-card{flex-direction:column;gap:16px;display:flex}.auth-page{width:100%}.app-bootstrap-error{place-items:center;min-height:100vh;padding:24px;display:grid}.app-bootstrap-error .auth-card{text-align:center}.app-bootstrap-error .ghost-button{align-self:center}.auth-single-column{width:min(100%,560px);margin:0 auto}.app-shell:not(.authenticated-shell) .narrow-page,.app-shell:not(.authenticated-shell) .auth-page{margin-top:clamp(34px,5vw,62px)}.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-form-link-row{justify-content:flex-end;margin-top:-4px;display:flex}.auth-link-button{cursor:pointer;width:fit-content;min-height:32px;font-family:inherit;font-size:inherit;background:0 0;border:0;padding:0}.auth-card{align-items:stretch}.auth-card>.eyebrow{text-align:center;justify-content:center;align-self:center}.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,.form-card select,.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,.form-card select: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}.profile-settings-page{width:min(100%,1120px);margin:0 auto}.profile-settings-card{grid-template-columns:220px minmax(0,1fr);align-items:start;gap:clamp(28px,5vw,58px);padding:clamp(24px,4vw,42px);display:grid}.profile-settings-nav{gap:8px;padding-top:6px;display:grid}.profile-settings-nav h2{color:var(--text);margin-bottom:12px;font-size:1.25rem}.profile-settings-nav button{min-height:34px;color:var(--muted);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;padding:8px 10px;font-weight:800;display:flex}.profile-settings-nav button.active{color:var(--text);background:#f4f7fb}.profile-settings-main{gap:16px;max-width:660px;display:grid}.profile-settings-main h1{max-width:620px;font-size:clamp(2rem,4vw,3rem);line-height:1.02}.profile-public-preview{grid-template-columns:76px minmax(0,1fr);align-items:center;gap:16px;margin:10px 0 6px;display:grid}.profile-public-preview img,.profile-public-avatar-initials{border:4px solid #fff;border-radius:999px;width:76px;height:76px;box-shadow:0 12px 28px #10182824}.profile-public-preview img{object-fit:cover;background:#f4f7fb}.profile-public-avatar-initials{color:var(--primary-dark);background:#e8f7f3;place-items:center;font-size:1.18rem;font-weight:950;display:grid}.profile-public-preview strong{color:var(--text);font-size:1.1rem;display:block}.profile-public-preview>div span{color:var(--muted);margin-top:4px;font-weight:750;display:block}.profile-settings-form{margin-top:6px}.profile-photo-field{gap:8px;display:grid}.profile-photo-field>span{color:var(--text);font-weight:800}.profile-photo-actions{flex-wrap:wrap;gap:10px;display:flex}.profile-photo-actions label{cursor:pointer;justify-content:center;align-items:center;width:fit-content;min-height:42px;padding:0 16px;display:inline-flex}.profile-settings-form .profile-photo-actions input{opacity:0;pointer-events:none;border:0;width:1px;height:1px;min-height:0;padding:0;position:absolute}.profile-photo-actions .ghost-button{min-height:42px}.profile-settings-form label{color:var(--text);flex-direction:column;gap:8px;font-weight:800;display:flex}.profile-settings-form input,.profile-settings-form select{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}.profile-settings-form input:focus,.profile-settings-form select:focus{border-color:var(--primary);box-shadow:0 0 0 4px #0f766e1f}.profile-settings-form input:disabled,.profile-settings-form select:disabled{color:#697386;cursor:not-allowed;background:#f4f7fb}.centered-text{text-align:center}.form-error{color:var(--danger);background:#fff3f0;border:1px solid #f3b4ad;border-radius:8px;padding:12px 14px}.form-success{color:var(--success);background:#ecfdf3;border:1px solid #a9e6c1;border-radius:8px;padding:12px 14px}.sidebar-profile:hover{border-color:#cbd5e1}.loading-card{text-align:center;color:var(--muted)}@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:6px 0 24px}.topbar{z-index:20;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#f6f7fbf5;flex-direction:row;align-items:center;padding:6px 0 10px;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:10px;padding:12px}.dashboard-page .dashboard-hero{box-shadow:none;background:0 0;border:0;padding:0}.dashboard-hero h1,.section-header h1{font-size:clamp(1.8rem,9vw,2.4rem)}.dashboard-page{gap:10px}.dashboard-page .dashboard-hero h1{margin-top:4px;font-size:1.15rem;line-height:1.1}.dashboard-page .lead{display:none}.dashboard-mobile-tabs{z-index:12;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#f6f7fbf5;order:4;gap:6px;padding:4px 0 6px;display:flex;position:sticky;top:64px;overflow-x:auto}.dashboard-mobile-tabs button{border:1px solid var(--border);min-width:max-content;min-height:32px;color:var(--muted);cursor:pointer;background:#fff;border-radius:8px;padding:6px 9px;font-size:.85rem;font-weight:850}.dashboard-mobile-tabs button.active{color:var(--primary-dark);background:#e8f7f3;border-color:#8bcfc2}.dashboard-mobile-panel{order:5;display:none}.dashboard-mobile-panel.active,.dashboard-focus-grid.dashboard-mobile-panel.active{display:grid}.game-page{gap:8px;min-width:0}.game-page .section-header{display:none}.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}.dashboard-page .mission-grid,.dashboard-page .level-ladder{grid-template-columns:1fr;gap:10px}.dashboard-page .mission-card,.dashboard-page .level-card,.dashboard-page .diagnostic-card,.dashboard-page .dashboard-history{gap:8px;padding:12px}.dashboard-page .mission-card{min-height:auto}.dashboard-page .mission-card p,.dashboard-page .diagnostic-card p{min-height:auto;font-size:.88rem}.dashboard-page .mission-topline strong{font-size:1.15rem}.dashboard-page .mission-card h3,.dashboard-page .level-card h3,.dashboard-page .diagnostic-card h2{font-size:1rem}.dashboard-page .mission-card .secondary-button,.dashboard-page .level-card .secondary-button,.dashboard-page .diagnostic-card .primary-button{min-height:38px;padding-block:7px;font-size:.9rem}.dashboard-page .level-metrics>div{min-height:58px;padding:8px}.dashboard-page .level-metrics strong{font-size:1.08rem}.dashboard-page .mode-chip-list,.dashboard-page .session-tags{gap:6px}.dashboard-page .mode-chip,.dashboard-page .session-tags span{min-height:30px;padding:5px 7px;font-size:.84rem}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.stat-card{gap:4px;min-height:56px;padding:8px}.stat-card span{font-size:.72rem;line-height:1.05}.stat-card strong{font-size:1.2rem}.dashboard-stats-grid .stat-card:nth-child(3) span,.dashboard-stats-grid .stat-card:nth-child(4) span{font-size:0}.dashboard-stats-grid .stat-card:nth-child(3) span:after{content:"Precis.";font-size:.72rem}.dashboard-stats-grid .stat-card:nth-child(4) span:after{content:"Serie";font-size:.72rem}.dashboard-page .section-kicker{gap:6px}.dashboard-page .section-kicker h2{font-size:1.05rem}.game-shell{flex-direction:column;align-items:stretch;gap:12px;min-width:0;display:flex}.sprint-card{order:2;width:100%;min-width:0}.settings-panel{background:#fff;border-color:#c9d9eb;order:1;gap:8px;width:100%;min-width:0;display:grid;overflow:hidden;box-shadow:0 12px 28px #141f3712}.game-page .settings-panel>div:not(.focus-note){grid-template-columns:48px minmax(0,1fr);align-items:center;gap:8px;min-width:0;display:grid}.settings-panel summary{display:none}.settings-panel summary:after{content:"+";color:var(--primary-dark);font-size:1.3rem}.settings-panel[open] summary:after{content:"-"}.segmented-grid{scroll-snap-type:x proximity;gap:7px;min-width:0;max-width:100%;padding-bottom:2px;display:flex;overflow-x:auto}.segment{white-space:nowrap;scroll-snap-align:start;min-width:max-content;min-height:32px;padding:6px 9px;font-size:.84rem}.panel-label{letter-spacing:0;text-transform:uppercase;margin-bottom:0;font-size:.62rem}.start-session-button{min-height:40px}.session-banner{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;width:100%;min-width:0;padding:5px;display:grid}.session-banner>div{min-width:0;min-height:40px;padding:5px}.session-banner span{font-size:.62rem;line-height:1.05}.game-page .session-banner>div:nth-child(2) span,.game-page .session-banner>div:nth-child(4) span{font-size:0}.game-page .session-banner>div:nth-child(2) span:after{content:"Justes";font-size:.62rem}.game-page .session-banner>div:nth-child(4) span:after{content:"Prec.";font-size:.62rem}.session-banner strong{font-size:.9rem}.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:8px 0 28px}.card,.dashboard-hero,.focus-band,.home-loop-section{padding:18px}.game-page .settings-panel{padding:8px}.game-page.session-active .settings-panel{display:none}.game-page .sprint-card{padding:14px}.game-page .session-banner>div{min-width:0}.game-page .session-banner span{overflow-wrap:anywhere}.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{grid-template-columns:1fr}.profile-settings-card{grid-template-columns:1fr;padding:20px}.profile-settings-nav{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:8px;padding-top:0;padding-bottom:12px;display:flex}.profile-settings-nav h2{width:100%}.profile-settings-nav button{flex:1;justify-content:center}.profile-public-preview{grid-template-columns:60px minmax(0,1fr)}.profile-public-preview img,.profile-public-avatar-initials{width:60px;height:60px}.arena-lanes{grid-template-columns:1fr}.arena-lanes>div{min-height:76px}.result-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.session-banner{grid-template-columns:repeat(4,minmax(0,1fr));width:calc(100vw - 24px);max-width:100%}.score-block,.progress-meta{text-align:left;justify-items:start}.game-page .score-block{text-align:right;justify-items:end}.game-page .sprint-topline{grid-template-columns:minmax(0,1fr) auto;align-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}.game-page .settings-panel{padding:9px}.game-page .sprint-card{padding:12px}.game-page .segment{min-height:30px;padding:5px 8px;font-size:.8rem}.game-page .start-session-button{min-height:38px}.game-page .session-banner{width:calc(100vw - 16px)}.game-page .session-banner>div{min-height:38px;padding:5px}.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}.dashboard-page .dashboard-stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.dashboard-page .stat-card{min-height:50px;padding:7px 5px}.dashboard-page .stat-card span{font-size:.62rem}.dashboard-page .stat-card strong{font-size:.98rem}.dashboard-page .dashboard-mobile-tabs button{min-height:30px;padding:5px 8px;font-size:.78rem}.question-line{min-height:132px}}:root{--text:#061b2f;--muted:#5d6f7f;--surface:#fff;--surface-strong:#f2f8f8;--border:#d9e7ec;--primary:#0a9f8f;--primary-dark:#003048;--accent:#18a890;--danger:#b42318;--success:#37a954;--coral:#0a9f8f;--coral-soft:#e5f7f3;--blue:#003048;--blue-soft:#e7f0f5;--mint:#48c060;--mint-soft:#ecf8e9;--rose-soft:#f4faf7;--yellow:#e0dc36;--yellow-soft:#fbfadf;--ink:#061b2f;--shadow:0 18px 42px #0030481a}body{background:radial-gradient(circle at 78% 16%,#18a8901f,#0000 26%),radial-gradient(circle at 56% 42%,#e0dc361f,#0000 28%),#f5f9fb}.brand{align-items:center;gap:12px;display:inline-flex}.brand-mark{background:#fff;border:1px solid #0030481a;border-radius:14px;flex:none;place-items:center;width:52px;height:52px;display:grid;overflow:hidden;box-shadow:0 10px 24px #0030481a}.brand-mark img{object-fit:contain;width:44px;height:44px}.brand-copy{display:grid}.brand-copy strong{color:var(--text);font-size:1.24rem;line-height:1}.brand-copy small{color:var(--primary);font-size:.86rem;font-weight:750}.app-shell:not(.authenticated-shell) .topbar{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffd1;border:1px solid #d9e7ecdb;border-radius:999px;justify-content:center;width:fit-content;min-width:min(100%,320px);margin:8px auto 0;padding:12px 22px;box-shadow:0 16px 42px #00304814}.app-shell:not(.authenticated-shell) .topbar .brand-mark{border-radius:16px;width:58px;height:58px}.app-shell:not(.authenticated-shell) .topbar .brand-mark img{width:50px;height:50px}.app-shell:not(.authenticated-shell) .topbar .brand-copy strong{font-size:1.58rem}.nav-link{color:#263248;border-radius:8px;align-items:center;gap:10px;min-height:54px;padding:12px 18px;font-weight:750;display:inline-flex}.nav-link.active{color:#fff;background:linear-gradient(135deg, var(--primary), #48c060);border-color:#0000}.primary-button,.secondary-button,.ghost-button{border-radius:999px;min-height:46px;box-shadow:0 10px 24px #1018280d}.primary-button{background:linear-gradient(135deg, var(--primary), var(--mint))}.primary-button:hover{background:linear-gradient(135deg, var(--primary-dark), var(--primary))}.blue-button{background:var(--blue)}.blue-button:hover{background:#001848}.secondary-button{border-color:var(--border)}.status-chip{color:var(--muted);align-items:center;gap:8px;font-weight:650;display:inline-flex}.status-chip span{background:#24c47a;border-radius:999px;width:10px;height:10px}.presence-control{border:1px solid var(--border);min-height:40px;color:var(--muted);background:#fff;border-radius:999px;align-items:center;gap:8px;padding:8px 10px;font-weight:800;display:inline-flex}.presence-control-button{font:inherit;cursor:pointer;text-align:left}.presence-control-button:hover:not(:disabled){border-color:color-mix(in srgb, var(--primary) 45%, var(--border))}.presence-control-button:focus-visible{outline:3px solid color-mix(in srgb, var(--primary) 35%, transparent);outline-offset:2px}.presence-control-button:disabled{cursor:wait;opacity:.65}.presence-label{font-weight:850}.presence-dot{background:#24c47a;border-radius:999px;width:10px;height:10px}.presence-online .presence-dot{background:#24c47a}.presence-away .presence-dot{background:#f59e0b}.presence-offline .presence-dot{background:#94a3b8}.mobile-presence-control,.sidebar-presence-control{border-radius:8px;justify-content:flex-start;width:100%}.timezone-prompt{width:min(1180px,100% - 32px);box-shadow:var(--shadow-soft);background:#eff6ff;border:1px solid #2563eb2e;border-radius:12px;justify-content:space-between;align-items:center;gap:16px;margin:0 auto 18px;padding:14px 16px;display:flex}.timezone-prompt>div:first-child{gap:4px;display:grid}.timezone-prompt strong{color:#1d4ed8}.timezone-prompt span{color:var(--muted)}.timezone-prompt-error{color:#b91c1c!important}.timezone-prompt-actions{flex-shrink:0;gap:10px;display:flex}.authenticated-shell{grid-template-columns:314px minmax(0,1fr);width:100%;min-height:100vh;margin:0;padding:0;transition:grid-template-columns .18s;display:grid}.authenticated-shell.sidebar-collapsed{grid-template-columns:84px minmax(0,1fr)}.authenticated-shell .topbar{z-index:22;border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffdb;min-height:68px;padding:0 22px;transition:left .18s;position:fixed;top:0;left:314px;right:0}.authenticated-shell.sidebar-collapsed .topbar{left:84px}.authenticated-shell .topbar .brand,.authenticated-shell .topbar .nav-links,.authenticated-shell .topbar .ghost-button{display:none}.authenticated-shell .topbar-actions{margin-left:auto}.authenticated-shell .main-content{grid-column:2;width:100%;min-width:0;padding:86px clamp(22px,3vw,42px) 44px}.desktop-sidebar{z-index:24;border-right:1px solid var(--border);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffffff0;flex-direction:column;gap:28px;width:314px;padding:18px 14px 22px;transition:width .18s,padding .18s;display:flex;position:fixed;inset:0 auto 0 0}.sidebar-topline{justify-content:flex-start;align-items:center;gap:10px;display:flex}.sidebar-brand{min-width:0;padding:0 2px 14px}.sidebar-logo-toggle{text-align:left;cursor:pointer;background:0 0}.sidebar-logo-toggle:hover .brand-mark,.sidebar-logo-toggle:focus-visible .brand-mark{border-color:#0a9f8f57;box-shadow:0 12px 28px #0a9f8f29}.sidebar-nav{gap:6px;display:grid}.sidebar-nav .nav-link,.sidebar-logout{align-items:center;gap:10px;display:flex}.sidebar-nav-symbol{color:currentColor;letter-spacing:0;background:#ffffff3d;border-radius:8px;flex:0 0 30px;place-items:center;width:30px;height:30px;font-size:.72rem;font-weight:950;display:none}.sidebar-nav-symbol svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:19px;height:19px;display:block}.sidebar-logout-icon{display:none}.sidebar-logout-icon svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:19px;height:19px;display:block}.sidebar-nav-group{border-radius:8px;grid-template-columns:minmax(0,1fr) 42px;align-items:center;gap:6px;display:grid}.sidebar-nav-group:has(.nav-link.active){background:linear-gradient(135deg, var(--primary), #48c060)}.sidebar-nav-group .nav-link{width:100%}.sidebar-nav-group:has(.nav-link.active) .nav-link.active{color:#fff;background:0 0}.sidebar-subnav-toggle,.mobile-subnav-toggle{min-height:42px;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px}.sidebar-subnav-toggle{justify-content:center;align-items:center;display:inline-flex}.mobile-subnav-toggle{text-align:left;justify-content:space-between;align-items:center;gap:10px;width:100%;padding:8px 10px 8px 22px;font-size:.86rem;font-weight:850;display:flex}.sidebar-nav-group:has(.nav-link.active) .sidebar-subnav-toggle{color:#fff}.sidebar-subnav-toggle:hover,.mobile-subnav-toggle:hover{background:#1018280f}.sidebar-nav-group:has(.nav-link.active) .sidebar-subnav-toggle:hover{background:#ffffff24}.nav-toggle-chevron{border-bottom:2px solid;border-right:2px solid;width:9px;height:9px;transition:transform .16s;transform:rotate(45deg)}button[aria-expanded=false] .nav-toggle-chevron{transform:rotate(-45deg)}.sidebar-subnav{border-left:1px solid var(--border);gap:4px;margin:-2px 0 8px 18px;padding-left:14px;display:grid}.sidebar-subnav.collapsed,.mobile-subnav.collapsed{display:none}.sidebar-subnav a{min-height:30px;color:var(--muted);align-items:center;font-size:.9rem;font-weight:750;display:inline-flex}.sidebar-subnav a:hover{color:var(--text)}.sidebar-subnav a.active{color:var(--primary-dark);font-weight:900}.sidebar-label{color:#697386;letter-spacing:.08em;text-transform:uppercase;padding:0 10px 8px;font-size:.75rem;font-weight:850}.sidebar-account{gap:8px;margin-top:auto;display:grid}.sidebar-profile{border:1px solid var(--border);background:linear-gradient(135deg,#fff6f7,#eef6ff);border-radius:8px;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:2px 10px;padding:18px 14px;display:grid}.sidebar-profile-avatar{object-fit:cover;background:#e8f7f3;border:2px solid #fff;border-radius:999px;grid-row:1/span 2;width:42px;height:42px;box-shadow:0 8px 18px #1018281a}.sidebar-profile-avatar.initials{color:var(--primary-dark);place-items:center;font-size:.82rem;font-weight:950;display:grid}.sidebar-profile span,.sidebar-logout{color:var(--muted)}.sidebar-profile strong,.sidebar-profile>span:not(.sidebar-profile-avatar){text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.sidebar-logout{text-align:left;cursor:pointer;background:0 0;min-height:42px;padding:0 10px;font-weight:750}.authenticated-shell.sidebar-collapsed .desktop-sidebar{align-items:center;gap:22px;width:84px;padding:18px 10px 22px}.authenticated-shell.sidebar-collapsed .sidebar-topline{justify-items:center;gap:12px;width:100%;display:grid}.authenticated-shell.sidebar-collapsed .sidebar-brand{padding:0}.authenticated-shell.sidebar-collapsed .sidebar-brand .brand-copy,.authenticated-shell.sidebar-collapsed .sidebar-label,.authenticated-shell.sidebar-collapsed .sidebar-nav-text,.authenticated-shell.sidebar-collapsed .sidebar-profile strong,.authenticated-shell.sidebar-collapsed .sidebar-profile>span:not(.sidebar-profile-avatar),.authenticated-shell.sidebar-collapsed .sidebar-presence-control .presence-label{display:none}.authenticated-shell.sidebar-collapsed .sidebar-nav{justify-items:center;gap:10px;width:100%}.authenticated-shell.sidebar-collapsed .sidebar-nav-group{grid-template-columns:1fr;justify-items:center;width:100%}.authenticated-shell.sidebar-collapsed .sidebar-subnav-toggle,.authenticated-shell.sidebar-collapsed .sidebar-subnav{display:none}.authenticated-shell.sidebar-collapsed .sidebar-nav .nav-link,.authenticated-shell.sidebar-collapsed .sidebar-profile,.authenticated-shell.sidebar-collapsed .sidebar-presence-control,.authenticated-shell.sidebar-collapsed .sidebar-logout{justify-content:center;align-items:center;width:52px;min-height:52px;padding:0;display:flex}.authenticated-shell.sidebar-collapsed .sidebar-profile-avatar{width:36px;height:36px}.authenticated-shell.sidebar-collapsed .sidebar-nav-symbol{display:inline-grid}.authenticated-shell.sidebar-collapsed .sidebar-logout{font-size:0}.authenticated-shell.sidebar-collapsed .sidebar-logout-icon{width:30px;height:30px;color:var(--muted);border-radius:8px;place-items:center;display:inline-grid}.dashboard-page,.game-page{gap:28px;width:min(100%,1480px);margin:0 auto}.card,.dashboard-hero,.focus-band,.hero-panel{border-color:var(--border);border-radius:8px;box-shadow:0 16px 36px #10182814}.dashboard-hero-v2{background:linear-gradient(116deg,#18a8901f,#ffffffc7 52%,#0030481a),#fff;align-items:center;min-height:320px;padding:clamp(34px,5vw,52px)}.dashboard-hero-v2 h1{overflow-wrap:anywhere;max-width:min(900px,100%);margin-top:14px;font-size:clamp(2.6rem,5.2vw,4.4rem)}.dashboard-greeting{gap:4px;display:grid}.dashboard-greeting>span{color:var(--text)}.dashboard-greeting>strong{max-width:100%;color:var(--coral);overflow-wrap:anywhere;font-size:clamp(2.25rem,4.6vw,3.65rem);line-height:1.02;display:block}.dashboard-hero-v2 h1 span,.game-hero h1 span{color:var(--coral)}.dashboard-hero-v2 h1.dashboard-greeting span{color:var(--text)}.hero-actions{gap:18px;min-width:min(290px,100%);display:grid}.dashboard-stats-grid{gap:20px}.stat-card{justify-content:space-between;align-items:flex-start;min-height:156px;padding:26px;display:flex}.stat-card strong{color:var(--text);letter-spacing:0;margin-top:26px;font-size:clamp(2.1rem,3vw,3rem);display:block}.stat-mark,.mission-mark{border-radius:999px;flex:none;place-items:center;width:40px;height:40px;font-size:.86rem;font-weight:900;display:grid}.tone-coral .stat-mark,.tone-coral .mission-mark{color:var(--coral);background:var(--coral-soft)}.tone-blue .stat-mark,.tone-blue .mission-mark{color:var(--blue);background:var(--blue-soft)}.tone-mint .stat-mark,.tone-mint .mission-mark{color:var(--mint);background:var(--mint-soft)}.tone-rose .stat-mark,.tone-rose .mission-mark{color:var(--coral);background:var(--rose-soft)}.section-kicker h2{color:var(--text);font-size:clamp(2.1rem,4vw,3.1rem);line-height:1.04}.horizontal-kicker{justify-content:space-between;align-items:end;gap:16px;display:flex}.mission-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.mission-card{min-height:296px;padding:26px}.mission-topline{align-items:center}.mission-topline strong{color:var(--text);margin-left:auto;font-size:2rem}.mission-card h3{font-size:1.28rem}.goal-bar{background:#dcebee;height:8px}.goal-bar span{background:linear-gradient(90deg, var(--primary), var(--mint))}.level-ladder{gap:20px}.level-card{background:linear-gradient(#e8f4ffcc,#fff 52%);min-height:338px;padding:26px}.level-card.played{background:linear-gradient(#e5f7f3f2,#fff 54%);border-color:#a7ded6}.level-card-header h3{margin-top:4px;font-size:1.55rem}.level-card-header strong{border-radius:999px}.level-metrics>div{background:#eff3f8d9;border-radius:8px}.mode-chip,.session-tags span{border-radius:999px}.badge-count{background:var(--surface);border:1px solid var(--border);border-radius:999px;place-items:center;min-width:76px;min-height:40px;display:inline-grid}.badge-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;display:grid}.badge-card{text-align:center;align-content:start;justify-items:center;gap:12px;min-height:210px;display:grid}.badge-card.locked{opacity:.72}.dashboard-focus-grid{grid-template-columns:minmax(0,1fr)}.game-hero{align-items:start}.game-hero h1{max-width:760px;margin-top:12px;font-size:clamp(3rem,5.5vw,4.2rem)}.game-page .section-header .secondary-button{width:auto}.session-banner{box-shadow:none;background:0 0;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;padding:0}.session-banner>div{border:1px solid var(--border);background:#fff;border-radius:8px;min-height:132px;padding:26px;box-shadow:0 16px 36px #10182814}.session-banner span{color:var(--muted)}.session-banner strong{color:var(--text);font-size:2.35rem}.settings-panel{grid-template-columns:minmax(360px,1.25fr) minmax(300px,1fr) auto;align-items:end;gap:26px;padding:26px;display:grid}.settings-panel .focus-note{grid-column:1/-1}.control-group{min-width:0}.panel-label{color:var(--muted);font-weight:750}.segmented-grid{flex-wrap:wrap;overflow:visible}.segment{background:#fff;border-radius:999px;align-items:center;gap:8px;min-height:46px;padding:10px 16px;font-size:1rem;font-weight:750;display:inline-flex}.segment span{color:inherit;font-weight:900}.segment.active{color:#fff;background:linear-gradient(135deg, var(--primary), var(--mint));border-color:#0000}.segment.active.blue-segment{background:linear-gradient(135deg, var(--blue), var(--primary))}.start-session-button{width:198px;min-height:60px}.sprint-card{gap:22px;padding:26px}.sprint-topline{align-items:start}.score-block span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.82rem;font-weight:850}.question-line{background:radial-gradient(circle at 82% 22%,#18a89033,#0000 30%),linear-gradient(135deg,#001848,#003048);min-height:clamp(300px,31vw,350px);font-size:clamp(3.8rem,8vw,6.4rem)}.idle-question{color:#ffffffeb;font-size:clamp(2.2rem,4vw,3.1rem)}.quiz-form{grid-template-columns:minmax(0,1fr) 144px}.quiz-form label{color:var(--muted);gap:8px;font-weight:750;display:grid}.quiz-form input{border-radius:999px;min-height:60px;padding-inline:18px;box-shadow:inset 0 1px 2px #1018280a}.quiz-form .primary-button{min-height:60px}@media (width<=1180px){.mission-grid,.level-ladder{grid-template-columns:repeat(2,minmax(0,1fr))}.badge-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.settings-panel{grid-template-columns:1fr;align-items:stretch}.start-session-button{width:100%}}@media (width<=960px){.authenticated-shell{display:block}.desktop-sidebar{display:none}.authenticated-shell .topbar{left:0}.authenticated-shell .topbar .brand{display:inline-flex}.authenticated-shell .topbar-actions,.authenticated-shell .topbar .nav-links{display:none}.authenticated-shell .mobile-menu-button{flex-direction:column;margin-left:auto;display:inline-flex}.authenticated-shell .main-content{padding:88px 16px 34px}.dashboard-hero-v2{min-height:auto}.dashboard-hero-v2 h1,.game-hero h1{font-size:clamp(2.5rem,9vw,3.6rem)}.stats-grid,.session-banner{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=720px){.topbar{min-height:66px}.mobile-menu-overlay{background:#071226b8;padding:0}.mobile-menu-panel{border-radius:0;width:min(78vw,304px);min-height:100vh;margin:0;padding:16px 12px;box-shadow:18px 0 48px #07122633}.mobile-menu-heading{padding-bottom:6px}.mobile-nav-link{min-height:44px;padding:10px;font-size:.94rem}.mobile-subnav-toggle{min-height:36px;color:var(--muted);justify-content:space-between;align-items:center;gap:10px;padding:7px 10px 7px 20px;font-size:.85rem;font-weight:850;display:flex}.mobile-subnav{gap:4px;padding-left:10px}.mobile-subnav a{min-height:34px;padding:7px 9px;font-size:.9rem}.dashboard-page,.game-page{gap:18px}.dashboard-mobile-tabs{top:66px}.timezone-prompt{flex-direction:column;align-items:stretch}.timezone-prompt-actions{width:100%}.timezone-prompt-actions .primary-button,.timezone-prompt-actions .secondary-button{flex:1}.dashboard-page .dashboard-hero{border:1px solid var(--border);box-shadow:var(--shadow);background:linear-gradient(135deg,#18a8901f,#00304814),#fff;padding:20px}.dashboard-page .dashboard-hero h1{font-size:clamp(2.4rem,13vw,3.6rem)}.dashboard-greeting>strong{font-size:clamp(2.1rem,11vw,3rem)}.dashboard-page .lead{display:block}.hero-actions{width:100%}.dashboard-page .mission-grid,.dashboard-page .level-ladder,.badge-grid,.stats-grid,.session-banner{grid-template-columns:1fr}.dashboard-page .mission-card,.dashboard-page .level-card,.badge-card,.stat-card,.session-banner>div{min-height:auto;padding:18px}.stat-card strong{margin-top:14px}.horizontal-kicker{flex-direction:column;align-items:start}.game-page .section-header{display:flex}.game-page .section-header .secondary-button{width:auto}.settings-panel{padding:16px}.segmented-grid{flex-wrap:nowrap;overflow-x:auto}.question-line{min-height:260px}}@media (width<=480px){.authenticated-shell .main-content{padding-inline:10px}.brand-mark{width:38px;height:38px}.brand-mark img{width:32px;height:32px}.dashboard-hero-v2 h1,.game-hero h1{font-size:clamp(2.35rem,14vw,3.1rem)}.section-kicker h2{font-size:clamp(1.8rem,11vw,2.45rem)}.quiz-form{grid-template-columns:1fr}.question-line{min-height:210px}}:root{--app-topbar-height:70px;--mobile-bottom-nav-height:76px}.app-topbar,.topbar-brand{min-width:0}.app-topbar-actions{margin-left:auto}.mobile-bottom-nav{display:none}.mobile-nav-symbol,.mobile-bottom-icon{color:currentColor;place-items:center;display:inline-grid}.mobile-nav-symbol svg,.mobile-bottom-icon svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:19px;height:19px;display:block}.mobile-drawer-section{gap:6px;display:grid}.sidebar-nav-section{gap:4px;display:grid}@media (width>=1024px){.authenticated-shell .app-drawer-button,.authenticated-shell .mobile-bottom-nav,.authenticated-shell .app-drawer-overlay{display:none}}@media (width<=1023px){.authenticated-shell{width:100%;min-height:100vh;margin:0;padding:0;display:block}.authenticated-shell.sidebar-collapsed{display:block}.desktop-sidebar{display:none}.authenticated-shell .topbar.app-topbar{z-index:26;min-height:var(--app-topbar-height);padding:max(8px, env(safe-area-inset-top)) 14px 8px;border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffeb;flex-direction:row;align-items:center;gap:10px;display:flex;position:fixed;inset:0 0 auto}.authenticated-shell .topbar .brand.topbar-brand{flex:auto;display:inline-flex;overflow:hidden}.authenticated-shell .topbar .brand-copy{min-width:0}.authenticated-shell .topbar .brand-copy strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.authenticated-shell .topbar .nav-links{display:none}.authenticated-shell .topbar-actions.app-topbar-actions{flex-wrap:nowrap;flex:none;width:auto;margin-left:auto;display:inline-flex}.authenticated-shell .app-drawer-button{flex-direction:column;flex:0 0 44px;width:44px;height:44px;margin-left:0;display:inline-flex}.authenticated-shell .main-content{width:100%;min-width:0;padding:calc(var(--app-topbar-height) + 18px) 16px calc(var(--mobile-bottom-nav-height) + env(safe-area-inset-bottom) + 26px)}.mobile-bottom-nav{z-index:25;right:max(12px, env(safe-area-inset-right));bottom:max(10px, env(safe-area-inset-bottom));left:max(12px, env(safe-area-inset-left));min-height:var(--mobile-bottom-nav-height);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffffff0;border:1px solid #d9e7eceb;border-radius:22px;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:8px;display:grid;position:fixed;box-shadow:0 18px 42px #00304824}.mobile-bottom-link{min-width:0;min-height:58px;color:var(--muted);border-radius:16px;align-content:center;place-items:center;gap:4px;font-size:.72rem;font-weight:900;line-height:1;display:grid}.mobile-bottom-icon{background:#0a9f8f17;border-radius:10px;width:28px;height:28px}.mobile-bottom-link.active{color:#fff;background:linear-gradient(135deg, var(--primary), var(--mint))}.mobile-bottom-link.active .mobile-bottom-icon{background:#ffffff2e}.app-drawer-overlay.mobile-menu-overlay{background:#0712269e;padding:0;display:block}.app-drawer-panel.mobile-menu-panel{width:min(88vw,360px);min-height:100dvh;padding:calc(18px + env(safe-area-inset-top)) 14px calc(22px + env(safe-area-inset-bottom));border:0;border-left:1px solid var(--border);border-radius:0;align-content:start;gap:12px;margin:0 0 0 auto;overflow-y:auto;box-shadow:-18px 0 48px #07122633}.app-drawer-panel .mobile-menu-heading{padding:4px 2px 10px}.app-drawer-panel .mobile-nav-link{gap:12px;width:100%;min-height:48px}.app-drawer-panel .mobile-subnav-toggle{min-height:38px}.app-drawer-panel .mobile-subnav{padding-left:10px}}@media (width<=767px){:root{--mobile-bottom-nav-height:62px}.authenticated-shell .main-content{padding-right:12px;padding-bottom:calc(var(--mobile-bottom-nav-height) + env(safe-area-inset-bottom) + 28px);padding-left:12px}.authenticated-shell .topbar.app-topbar{padding-inline:12px}.topbar-brand .brand-mark{border-radius:12px;width:42px;height:42px}.topbar-brand .brand-mark img{width:36px;height:36px}.topbar-brand .brand-copy strong{font-size:1.08rem}.mobile-bottom-nav{right:max(8px, env(safe-area-inset-right));bottom:max(7px, env(safe-area-inset-bottom));left:max(8px, env(safe-area-inset-left));border-radius:18px;gap:4px;padding:5px}.mobile-bottom-link{border-radius:13px;gap:2px;min-height:50px;font-size:.68rem}.mobile-bottom-icon{border-radius:8px;width:24px;height:24px}}@media (width<=420px){.authenticated-shell .main-content{padding-inline:10px}.mobile-bottom-nav{border-radius:16px;left:6px;right:6px}.mobile-bottom-link{font-size:.68rem}}.page-frame{width:min(100%,1480px);min-width:0;margin:0 auto}.page-frame-narrow{width:min(100%,760px)}.page-frame-wide{width:min(100%,1680px)}.responsive-tabs{align-items:center;gap:10px;min-width:0;display:flex}.responsive-tabs button{border:1px solid var(--border);min-width:0;min-height:46px;color:var(--muted);cursor:pointer;background:#ffffffc7;border-radius:999px;font-weight:900}.responsive-tabs button.active{background:linear-gradient(135deg, var(--primary), var(--mint));color:#fff;border-color:#0000}.action-bar{align-items:center;gap:12px;min-width:0;display:flex}.action-bar>*{min-width:0}@media (width<=1023px){.page-frame{width:100%}.responsive-tabs{scroll-snap-type:x proximity;width:100%;padding-bottom:4px;overflow-x:auto}.responsive-tabs button{flex:1 0 max-content;scroll-snap-align:start;min-height:48px;padding:10px 14px}}@media (width<=767px){.responsive-tabs{gap:8px}.responsive-tabs button{min-height:44px;padding-inline:12px;font-size:.9rem}.action-bar{flex-direction:column;align-items:stretch}.action-bar-sticky{bottom:calc(var(--mobile-bottom-nav-height) + env(safe-area-inset-bottom) + 12px);z-index:10;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff0;border:1px solid #d9e7ecdb;border-radius:16px;padding:10px;position:sticky;box-shadow:0 14px 32px #0030481a}}.notification-center{align-items:center;display:inline-flex;position:relative}.notification-bell-button{border:1px solid var(--border);width:42px;height:42px;color:var(--text);cursor:pointer;background:#ffffffbd;border-radius:999px;place-items:center;display:inline-grid;position:relative;box-shadow:0 8px 18px #10182814}.notification-bell-button svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.notification-badge{color:#fff;background:#dc2626;border:2px solid #fff;border-radius:999px;place-items:center;min-width:20px;height:20px;padding:0 5px;font-size:.72rem;font-weight:950;display:inline-grid;position:absolute;top:-4px;right:-4px}.notification-panel{z-index:80;border:1px solid var(--border);background:#fffffffa;border-radius:20px;gap:14px;width:min(430px,100vw - 32px);padding:16px;display:grid;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 20px 44px #1018282e}.notification-panel-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.notification-panel-heading>div{gap:2px;display:grid}.notification-panel-heading strong{color:var(--text);font-size:1.15rem}.notification-panel-heading button{min-height:32px;color:var(--primary-dark);cursor:pointer;background:#eef7f7;border-radius:999px;padding:5px 10px;font-weight:900}.notification-panel-heading button:disabled{cursor:default;opacity:.5}.notification-list{scrollbar-width:thin;gap:16px;max-height:min(520px,100vh - 130px);display:grid;overflow-y:auto}.notification-group{gap:8px;display:grid}.notification-group>h3{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.7rem;font-weight:900}.notification-group-items{gap:7px;display:grid}.notification-item{width:100%;color:inherit;text-align:left;background:#f5f8f9;border:1px solid #0000;border-radius:14px;grid-template-columns:minmax(0,1fr) 30px;align-items:start;gap:8px;padding:9px;text-decoration:none;display:grid;position:relative}.notification-item.unread{background:#eef9f5;border-color:#a7ded6}.notification-item.unread:before{content:"";background:var(--primary);border-radius:50%;width:7px;height:7px;margin:5px 0 0 -13px;position:absolute}.notification-item-content{min-width:0;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:38px minmax(0,1fr);align-items:start;gap:10px;padding:0;text-decoration:none;display:grid}.notification-kind{width:38px;height:38px;color:var(--primary-dark);box-shadow:inset 0 0 0 1px var(--border);background:#fff;border-radius:12px;place-items:center;font-size:.72rem;font-weight:950;display:grid}.notification-item-copy{gap:3px;min-width:0;display:grid}.notification-delete-button{width:30px;height:30px;color:var(--muted);cursor:pointer;background:#0f172a0f;border-radius:999px;place-items:center;font-size:1rem;font-weight:950;line-height:1;display:grid}.notification-delete-button:hover{color:#b91c1c;background:#dc26261a}.notification-item-title{color:var(--text);font-weight:900}.notification-item-body,.notification-item-time,.notification-item-meta,.notification-empty{color:var(--muted);font-size:.9rem;font-weight:700}.notification-item-time{font-size:.78rem}.notification-item-meta{color:var(--muted);font-size:.72rem;font-weight:800}.notification-empty{text-align:center;gap:5px;padding:34px 18px;display:grid}.notification-empty strong{color:var(--text);font-size:1.05rem}.floating-toast-stack{z-index:120;gap:10px;width:min(360px,100vw - 44px);display:grid;position:fixed;bottom:22px;left:22px}.floating-toast{background:#fffffffa;border:1px solid #b9e4db;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px;padding:13px 14px;display:grid;box-shadow:0 18px 40px #10182829}.floating-toast.toast-success{background:#effbf4;border-color:#9be2b9}.floating-toast.toast-info{background:#f1f7ff;border-color:#b9d5f8}.floating-toast.toast-error{background:#fff4f3;border-color:#f2b8b5}.floating-toast a,.floating-toast>div{min-width:0;color:inherit;gap:3px;text-decoration:none;display:grid}.floating-toast strong{color:var(--text);font-size:.95rem;line-height:1.25}.floating-toast span{color:var(--muted);font-size:.86rem;font-weight:700;line-height:1.35}.floating-toast button{width:26px;height:26px;color:var(--muted);cursor:pointer;background:#0f172a14;border-radius:999px;place-items:center;font-weight:900;display:grid}@media (width<=720px){.notification-panel{right:-54px}.floating-toast-stack{width:min(340px,100vw - 28px);bottom:14px;left:14px}}html,body,#root{max-width:100%;overflow-x:hidden}.page,.card,.dashboard-hero,.profile-card,.multiplayer-lobby-grid,.multiplayer-room-grid,.challenge-setup,.challenge-arena{min-width:0}@media (width<=1023px){.authenticated-shell{width:100%;padding:0;display:block}.authenticated-shell .desktop-sidebar{display:none}.authenticated-shell .main-content{width:100%;padding:calc(var(--app-topbar-height) + 18px) 16px calc(var(--mobile-bottom-nav-height) + env(safe-area-inset-bottom) + 28px)}.dashboard-page,.game-page,.friends-page,.friend-profile-page,.profile-settings-page{width:100%}.friend-profile-page{gap:16px}.friend-profile-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.friend-stat-grid,.friend-level-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-card-scroller,.search-card-scroller,.dashboard-section-nav,.play-mode-tabs,.friends-filter-bar{max-width:100%;overflow-x:auto}.multiplayer-lobby-grid,.multiplayer-room-grid{width:100%}.multiplayer-room-grid{grid-template-columns:1fr;grid-template-areas:"player""opponent""control"}.multiplayer-control-card,.multiplayer-player-card{min-width:0}}@media (width<=767px){.authenticated-shell .main-content{padding-inline:12px}.dashboard-page{gap:14px}.dashboard-hero-v2{min-height:auto;padding:18px}.dashboard-page .dashboard-stats-grid,.stats-grid.dashboard-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-page .stat-card{min-height:116px;padding:16px}.dashboard-page .stat-card strong{font-size:1.7rem}.challenge-setup{gap:26px;width:100%}.challenge-hero{padding-top:8px}.challenge-hero h1{font-size:clamp(3rem,18vw,4.2rem)}.challenge-loadout{gap:22px}.challenge-config-board{gap:10px;padding:12px}.challenge-config-board .challenge-config-row{grid-template-columns:76px minmax(0,1fr);gap:8px}.challenge-config-board .challenge-choice-section>strong{letter-spacing:.1em;font-size:.66rem;line-height:1.15}.challenge-operation-grid,.challenge-level-grid,.challenge-mode-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.challenge-operation-grid .challenge-choice-tile{min-height:78px}.challenge-config-board .challenge-operation-grid,.challenge-config-board .challenge-level-grid{scrollbar-width:none;grid-template-columns:none;gap:8px;padding:1px 2px 5px;display:flex;overflow-x:auto}.challenge-config-board .challenge-operation-grid::-webkit-scrollbar{display:none}.challenge-config-board .challenge-level-grid::-webkit-scrollbar{display:none}.challenge-config-board .challenge-choice-tile{border-radius:999px;gap:7px;min-width:92px;min-height:42px;padding:8px 10px;display:inline-flex}.challenge-config-board .challenge-operation-grid .challenge-choice-tile{width:44px;min-width:44px;min-height:40px;padding:0}.challenge-config-board .challenge-operation-grid .challenge-choice-symbol+span{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.challenge-config-board .challenge-level-tile{min-width:118px}.challenge-level-tile,.challenge-mode-grid .segment{min-height:50px}.challenge-config-board .challenge-level-tile,.challenge-config-board .challenge-mode-grid .segment{min-height:42px}.challenge-choice-tile{border-radius:18px}.challenge-start-button{border-radius:18px;min-height:62px}.challenge-config-board>.challenge-start-button{border-radius:16px;min-height:52px}.challenge-arena{grid-template-columns:1fr auto;gap:10px 12px;width:100%}.challenge-run-meta{letter-spacing:.12em;grid-column:1/-1;grid-template-columns:1fr auto;gap:8px}.challenge-run-context{text-align:left;justify-self:start}.challenge-run-mode{justify-self:end}.challenge-clock{grid-column:1/-1;justify-self:center}.challenge-metrics{margin-top:8px}.challenge-question-zone{gap:16px;margin-top:14px}.challenge-question-zone .question-line{min-height:72px;font-size:clamp(3rem,17vw,4.6rem)}.challenge-answer-form{width:100%}.challenge-answer-form input{min-height:58px;font-size:clamp(2rem,12vw,3rem)}.challenge-answer-form button{min-height:54px}.game-page.sprint-finished .result-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.game-page.sprint-finished .sprint-result-actions{grid-template-columns:1fr}.friends-panel-heading{flex-direction:column;align-items:stretch}.profile-card{width:min(100%,340px)}.profile-card-actions{grid-template-columns:1fr}.profile-settings-card{grid-template-columns:1fr;padding:18px}.profile-settings-tabs{width:100%}.profile-settings-tabs button{flex:1 1 0}.profile-settings-form .two-fields,.profile-settings-form .form-grid{grid-template-columns:1fr}.profile-settings-form .primary-button,.profile-settings-form .secondary-button,.profile-settings-form .ghost-button{width:100%}.multiplayer-room-actions,.multiplayer-result-actions,.multiplayer-invitation-actions{flex-direction:column;align-items:stretch}.multiplayer-room-actions button,.multiplayer-result-actions button,.multiplayer-invitation-actions button{width:100%}}@media (width<=420px){.authenticated-shell .main-content{padding-inline:10px}.dashboard-page .dashboard-stats-grid,.stats-grid.dashboard-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-page .stat-card{min-height:104px;padding:12px}.challenge-operation-grid,.challenge-level-grid,.challenge-mode-grid{gap:8px}.challenge-choice-tile{font-size:.88rem}.challenge-answer-form label:after{font-size:.66rem}}.dashboard-badge-mobile-summary{display:none}.badge-objective-action{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;gap:10px;padding:0;display:grid}.badge-objective-action:focus-visible{outline-offset:4px;border-radius:8px;outline:3px solid #1187ee57}.dashboard-badge-sheet-backdrop{z-index:80;background:#07122657;align-items:end;padding:18px;display:grid;position:fixed;inset:0}.dashboard-badge-sheet{background:#fff;border:1px solid #d9e7ece6;border-radius:18px 18px 10px 10px;gap:14px;width:min(100%,560px);max-height:min(760px,100dvh - 36px);margin:0 auto;padding:14px;display:grid;overflow-y:auto;box-shadow:0 24px 60px #07122638}.dashboard-badge-sheet-grip{background:#d7e5ea;border-radius:999px;justify-self:center;width:46px;height:5px}.dashboard-badge-sheet-header{grid-template-columns:74px minmax(0,1fr) 38px;align-items:start;gap:12px;display:grid}.dashboard-badge-sheet-header .badge-art{width:70px;height:84px}.dashboard-badge-sheet-header h2{color:var(--text);margin:5px 0 0;font-size:clamp(1.35rem,7vw,1.8rem);line-height:1.05}.dashboard-badge-sheet-header p{color:var(--muted);margin:8px 0 0;font-size:.92rem;line-height:1.35}.dashboard-badge-sheet-close{border:1px solid var(--border);width:38px;height:38px;color:var(--text);cursor:pointer;background:#f7f9fc;border-radius:999px;place-items:center;font-size:1rem;font-weight:950;display:grid}.dashboard-badge-sheet-progress{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.dashboard-badge-sheet-progress>div{border:1px solid var(--border);background:#f7f9fc;border-radius:8px;align-content:center;gap:4px;min-height:68px;padding:10px;display:grid}.dashboard-badge-sheet-progress strong{color:var(--text);font-size:1.28rem;line-height:1}.dashboard-badge-sheet-progress span{color:var(--muted);font-size:.78rem;font-weight:850}.dashboard-badge-sheet-objectives{gap:8px;display:grid}.dashboard-badge-sheet-objective{border:1px solid var(--border);background:#f8fafc;border-radius:8px;grid-template-columns:34px minmax(0,1fr);align-items:start;gap:9px;padding:10px;display:grid}.dashboard-badge-sheet-objective>span{width:28px;height:28px;color:var(--muted);background:#e8edf5;border-radius:999px;place-items:center;font-size:.67rem;font-weight:950;display:grid}.dashboard-badge-sheet-objective.done>span{background:var(--mint-soft);color:var(--success)}.dashboard-badge-sheet-objective strong{color:var(--text);font-size:.9rem;line-height:1.18;display:block}.dashboard-badge-sheet-objective em{color:var(--muted);margin-top:3px;font-size:.78rem;font-style:normal;font-weight:800;line-height:1.28;display:block}@media (width<=767px){.dashboard-page{--dashboard-mobile-rail:min(278px, 82vw);align-content:start;gap:12px;display:grid}.dashboard-page:not(.dashboard-active-overview){min-height:0;height:auto!important;overflow:visible!important}.dashboard-page:not(.dashboard-active-overview) .dashboard-hero,.dashboard-page:not(.dashboard-active-overview) .dashboard-profile-badges-section{display:none}.dashboard-page:not(.dashboard-active-overview) .dashboard-view-panel.active,.dashboard-page .dashboard-view-panel.active{min-height:0;padding:0;overflow:visible!important}.dashboard-page .dashboard-hero-v2{order:2;grid-template-columns:58px minmax(0,1fr);align-items:center;gap:12px;padding:8px 2px 2px;display:grid}.dashboard-page .dashboard-profile-avatar{width:58px;height:58px}.dashboard-page .dashboard-profile-title{overflow-wrap:anywhere;margin:3px 0 0;font-size:clamp(2rem,11vw,2.8rem);line-height:.98}.dashboard-page .dashboard-profile-meta,.dashboard-page .dashboard-hero-v2 .small-lead{margin-top:8px;padding:6px 10px;font-size:.86rem;line-height:1.15}.dashboard-profile-badges-section{order:3;overflow:hidden}.dashboard-profile-badge-window{scrollbar-width:none;gap:8px;padding:2px 1px 6px}.dashboard-profile-badge-window::-webkit-scrollbar{display:none}.dashboard-profile-badge-card.friend-badge-card{gap:5px;width:76px;min-width:76px;min-height:84px;padding:8px 6px}.dashboard-profile-badge-card.friend-badge-card .badge-art{width:36px;height:40px}.dashboard-profile-badge-card.friend-badge-card .badge-core{border-width:2px;width:26px;height:26px}.dashboard-profile-badge-card.friend-badge-card .badge-family-icon{width:19px;height:19px}.dashboard-profile-badge-card.friend-badge-card strong{font-size:.66rem}.dashboard-page .dashboard-section-nav{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;scroll-snap-type:x proximity;scrollbar-width:none;background:0 0;border:0;border-radius:0;order:1;gap:8px;padding:0 1px 6px;scroll-padding-inline:1px;display:flex;overflow:auto hidden;position:static!important;top:auto!important}.dashboard-page .dashboard-section-nav::-webkit-scrollbar{display:none}.dashboard-page .dashboard-section-nav button{border:1px solid var(--border);min-width:min(140px,42vw);min-height:42px;color:var(--muted);white-space:normal;scroll-snap-align:start;background:#ffffffbd;border-radius:14px;flex:none;padding:8px 10px;font-size:.84rem;line-height:1.05;box-shadow:0 10px 20px #1018280a}.dashboard-page .dashboard-section-nav button:first-child{min-width:min(164px,48vw)}.dashboard-page .dashboard-section-nav button.active{background:var(--primary);color:#fff;border-color:#0000}.dashboard-page .dashboard-mobile-panel,.dashboard-page .dashboard-view-panel.active{order:4;gap:12px}.dashboard-page .dashboard-view-panel .section-kicker{gap:4px;padding-inline:0}.dashboard-page .dashboard-view-panel .section-kicker h2,.dashboard-page .dashboard-view-panel .section-kicker h3{font-size:clamp(1.25rem,6.8vw,1.65rem);line-height:1.08}.dashboard-page.dashboard-active-overview .dashboard-overview-section .section-kicker{display:none}.dashboard-page .dashboard-stats-grid,.dashboard-page .stats-grid.dashboard-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.dashboard-page .stat-card{min-height:96px;padding:12px}.dashboard-page .stat-card span:first-child{font-size:.78rem;line-height:1.1}.dashboard-page .dashboard-stats-grid .stat-card:nth-child(3)>div>span,.dashboard-page .dashboard-stats-grid .stat-card:nth-child(4)>div>span{font-size:0}.dashboard-page .dashboard-stats-grid .stat-card:nth-child(3)>div>span:after{content:"Record";font-size:.78rem}.dashboard-page .dashboard-stats-grid .stat-card:nth-child(4)>div>span:after{content:"Serie";font-size:.78rem}.dashboard-page .dashboard-stats-grid .stat-card .stat-mark:after{content:none}.dashboard-page .stat-card strong{margin-top:8px;font-size:1.35rem}.dashboard-page .stat-mark,.dashboard-page .mission-mark{width:32px;height:32px;font-size:.68rem}.dashboard-page .player-level-card{order:0;gap:10px;padding:14px}.dashboard-page .player-level-card h3{margin-top:4px;font-size:1.5rem}.dashboard-page .player-level-card p{font-size:.88rem;line-height:1.28}.dashboard-page .stats-insight-grid,.dashboard-page .operation-stats-grid,.dashboard-page .level-ladder,.dashboard-page .mission-board-grid,.dashboard-badge-mobile-summary{overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;gap:10px;padding:1px 1px 8px;scroll-padding-inline:1px;display:flex;overflow:auto hidden}.dashboard-page .stats-insight-grid::-webkit-scrollbar{display:none}.dashboard-page .operation-stats-grid::-webkit-scrollbar{display:none}.dashboard-page .level-ladder::-webkit-scrollbar{display:none}.dashboard-page .mission-board-grid::-webkit-scrollbar{display:none}.dashboard-badge-mobile-summary::-webkit-scrollbar{display:none}.dashboard-page .stats-insight-card,.dashboard-page .operation-stat-card,.dashboard-page .level-card,.dashboard-page .mission-xp-card,.dashboard-badge-summary-card{flex:0 0 var(--dashboard-mobile-rail);scroll-snap-align:start;min-width:0;min-height:0}.dashboard-page .stats-insight-card,.dashboard-page .operation-stat-card,.dashboard-page .level-card,.dashboard-page .mission-xp-card,.dashboard-page .stats-focus-panel{padding:14px}.dashboard-page .stats-focus-list,.dashboard-page .record-grid,.dashboard-page .level-metrics,.dashboard-page .stat-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.dashboard-page .insight-main,.dashboard-page .operation-stat-topline strong{font-size:1.45rem;line-height:1.05}.dashboard-page .mode-chip-list,.dashboard-page .session-tags{scrollbar-width:none;flex-wrap:nowrap;overflow-x:auto}.dashboard-page .mode-chip-list::-webkit-scrollbar{display:none}.dashboard-page .session-tags::-webkit-scrollbar{display:none}.dashboard-page .mode-chip,.dashboard-page .session-tags span{flex:none;min-height:30px;padding:6px 8px;font-size:.78rem}.dashboard-page .mission-xp-card{gap:10px}.dashboard-page .mission-xp-card h3{font-size:1rem;line-height:1.14}.dashboard-page .mission-xp-card p{min-height:0;font-size:.88rem;line-height:1.28}.dashboard-badge-mobile-summary{margin-top:-2px}.dashboard-badge-summary-card{border:1px solid var(--border);background:#ffffffc7;border-radius:8px;align-content:start;gap:10px;padding:14px;display:grid;box-shadow:0 12px 26px #1018280e}.dashboard-badge-summary-main{grid-template-columns:42px minmax(0,1fr);align-items:center;gap:10px;display:grid}.dashboard-badge-summary-main strong{color:var(--text);font-size:1rem;line-height:1.1;display:block}.dashboard-badge-summary-main span:not(.dashboard-badge-family-mark):not(.badge-family-icon){color:var(--muted);margin-top:3px;font-size:.8rem;font-weight:850;display:block}.dashboard-badge-family-mark{background:var(--mint-soft);width:42px;height:42px;color:var(--primary-dark);border-radius:12px;place-items:center;display:grid}.dashboard-badge-family-mark .badge-family-icon{filter:none;width:26px;height:26px}.dashboard-badge-summary-chips{scrollbar-width:none;gap:6px;display:flex;overflow-x:auto}.dashboard-badge-summary-chips::-webkit-scrollbar{display:none}.dashboard-badge-summary-chips span{border:1px solid var(--border);max-width:180px;min-height:28px;color:var(--muted);white-space:nowrap;background:#f7f9fc;border-radius:999px;flex:none;align-items:center;padding:5px 8px;font-size:.74rem;font-weight:850;display:inline-flex}.dashboard-badge-detail-stack{gap:10px}.dashboard-page .badge-family-panel{border-radius:8px;padding:12px;box-shadow:0 10px 22px #1018280b}.dashboard-page .badge-family-panel[open]{background:#ffffffe6;max-height:none;overflow:visible}.dashboard-page .badge-family-panel summary{grid-template-columns:minmax(0,1fr) auto 28px;gap:8px}.dashboard-page .badge-family-panel summary span{display:none}.dashboard-page .badge-family-panel summary em{grid-column:2;font-size:.82rem}.dashboard-page .badge-family-panel summary:before{grid-column:3}.dashboard-page .badge-level-stack,.dashboard-page .badge-level-group{gap:10px}.dashboard-page .badge-level-stack{margin-top:10px}.dashboard-page .badge-level-group{background:#f8fafc;border-radius:8px;padding:10px}.dashboard-page .badge-level-heading{border-bottom:1px solid #d9e7ece6;gap:3px;padding-bottom:8px;display:grid}.dashboard-page .badge-level-heading strong{font-size:.95rem}.dashboard-page .badge-level-heading span{max-width:100%;font-size:.74rem;line-height:1.2}.dashboard-page .badge-level-grid{scroll-snap-type:none;grid-template-columns:1fr;grid-auto-columns:auto;grid-auto-flow:row;gap:8px;padding:0;display:grid;overflow:visible}.dashboard-page .badge-objective-card{scroll-snap-align:none;background:#fff;border-radius:8px;gap:8px;min-height:0;padding:10px}.dashboard-page .badge-objective-header{grid-template-columns:44px minmax(0,1fr);gap:9px}.dashboard-page .badge-objective-card .badge-art{width:42px;height:48px}.dashboard-page .badge-objective-card .badge-core{border-width:2px;width:26px;height:26px}.dashboard-page .badge-objective-card .badge-family-icon{width:18px;height:18px}.dashboard-page .badge-objective-card .badge-art:before{border-radius:10px;inset:4px 6px 12px}.dashboard-page .badge-objective-card .badge-art:after,.dashboard-page .badge-objective-card .badge-tier-flourish,.dashboard-page .badge-objective-card .badge-art.rank-three .badge-core:before,.dashboard-page .badge-objective-card .badge-art.rank-three .badge-core:after{display:none}.dashboard-page .badge-objective-header strong{font-size:.92rem}.dashboard-page .badge-objective-header p,.dashboard-page .badge-progress-copy,.dashboard-page .objective-check-row em{font-size:.78rem;line-height:1.25}.dashboard-page .badge-objective-header p{display:none}.dashboard-page .badge-progress-copy{margin-top:3px}.dashboard-page .badge-status-chip,.dashboard-page .objective-check-list{display:none}.dashboard-page .dashboard-history-section{padding:0}.dashboard-page .dashboard-history-section .section-header{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;display:grid}.dashboard-page .dashboard-history-section .secondary-button{white-space:nowrap;min-height:38px;padding:8px 10px}.dashboard-page .detailed-session-list{gap:10px;margin-top:0}.dashboard-page .detailed-session-row{border:1px solid var(--border);background:#ffffffc7;border-radius:8px;grid-template-columns:1fr;gap:12px;padding:12px;display:grid}.dashboard-page .history-score-grid{color:var(--muted);text-align:left;grid-template-columns:repeat(3,minmax(0,1fr));justify-items:stretch;gap:7px}.dashboard-page .history-score-grid>span{border:1px solid var(--border);background:#f7f9fc;border-radius:8px;align-content:center;min-height:42px;padding:7px 8px;font-size:.76rem;line-height:1.12;display:grid}.dashboard-page .history-answers-button{grid-column:1/-1;width:100%}.dashboard-page .answer-history-panel{grid-column:1/-1;width:100%;padding:8px}.dashboard-page .answer-history-list{max-height:300px}.dashboard-page .answer-history-row{grid-template-columns:28px minmax(0,1fr);padding:8px}.dashboard-page .answer-history-row strong,.dashboard-page .answer-history-row>span:not(.answer-index){grid-column:2}.friends-page,.friend-profile-page{gap:12px}.friend-profile-topbar{grid-template-columns:1fr;display:grid}.friend-profile-back{border-radius:999px;width:100%;min-height:42px}.friend-profile-hero{background:#ffffffb8;border:1px solid #d9e7ece0;border-radius:8px;grid-template-columns:58px minmax(0,1fr);gap:10px 12px;padding:13px;box-shadow:0 16px 32px #1018280e}.friend-profile-avatar{border-width:2px;width:58px;height:58px;box-shadow:0 10px 20px #1018281f}.friend-profile-avatar.initials{font-size:1rem}.friend-profile-hero h1{margin-top:4px;font-size:clamp(1.9rem,12vw,2.6rem);line-height:.98}.friend-profile-hero p{margin-top:8px;padding:6px 9px;font-size:.82rem;line-height:1.1}.friend-profile-summary{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.friend-profile-summary div{gap:3px;min-height:52px;padding:8px 7px}.friend-profile-summary span{letter-spacing:.05em;font-size:.62rem}.friend-profile-summary strong{font-size:1.08rem}.friend-profile-section{gap:9px}.friend-profile-section-header{align-items:end;gap:10px}.friend-profile-section-header .section-kicker{gap:3px}.friend-profile-section-header .section-kicker h2{font-size:clamp(1.35rem,7vw,1.85rem);line-height:1}.friend-profile-section-meta{max-width:40%;padding:6px 8px;font-size:.68rem}.friend-badge-grid{overscroll-behavior-inline:contain;scroll-snap-type:x proximity;scrollbar-width:none;gap:9px;padding:1px 1px 5px;scroll-padding-inline:1px;display:flex;overflow-x:auto}.friend-badge-grid::-webkit-scrollbar{display:none}.friend-badge-card{scroll-snap-align:start;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:9px;width:184px;min-width:184px;min-height:88px;padding:10px}.friend-badge-card .badge-art{width:44px;height:44px}.friend-badge-card .badge-core{width:31px;height:31px}.friend-badge-card .badge-family-icon{width:23px;height:23px;font-size:.44rem}.friend-badge-card strong{font-size:.82rem;line-height:1.08}.friend-badge-card em,.friend-stat-topline em{padding:5px 7px;font-size:.68rem}.friend-badge-placeholder{width:100%;min-width:0;max-width:none}.friend-stat-grid,.friend-level-grid{overscroll-behavior-inline:contain;scroll-snap-type:x proximity;scrollbar-width:none;gap:9px;padding:1px 1px 6px;scroll-padding-inline:1px;display:flex;overflow-x:auto}.friend-stat-grid::-webkit-scrollbar{display:none}.friend-level-grid::-webkit-scrollbar{display:none}.friend-stat-card,.friend-level-card{scroll-snap-align:start;border-radius:8px;flex:0 0 min(82vw,286px);gap:9px;min-width:0;padding:12px}.friend-stat-topline{align-items:center;gap:8px}.friend-stat-topline>strong,.friend-stat-topline>span{font-size:1.06rem}.friend-level-card .friend-stat-topline>div strong{font-size:1.08rem}.friend-stat-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.friend-stat-metrics div{gap:2px;min-height:50px;padding:8px}.friend-stat-metrics span{font-size:.66rem;line-height:1.05}.friend-stat-metrics strong{font-size:1rem;line-height:1}.friends-panel.profile-carousel-panel{gap:12px;display:grid}.friends-panel-heading{gap:10px;padding:0;display:grid}.friends-panel-heading .section-kicker{gap:3px}.friends-panel-heading .section-kicker h2{font-size:clamp(1.7rem,9vw,2.2rem);line-height:1}.friends-page .relations-tab-bar{order:-1;gap:8px;width:100%;padding:0;display:flex;overflow:visible}.friends-page .relations-tab-bar button{border:1px solid var(--border);min-width:0;min-height:42px;color:var(--muted);background:#ffffffbd;border-radius:14px;flex:1 1 0;padding:8px 10px;font-size:.86rem;line-height:1.05;box-shadow:0 10px 20px #1018280a}.friends-page .relations-tab-bar button.active{background:var(--primary);color:#fff;border-color:#0000}.friends-filter-bar{scroll-snap-type:x proximity;scrollbar-width:none;gap:7px;width:100%;padding:0 1px 5px;scroll-padding-inline:1px;display:flex;overflow-x:auto}.friends-filter-bar::-webkit-scrollbar{display:none}.friends-filter-bar button{scroll-snap-align:start;border-radius:999px;flex:none;gap:6px;min-height:38px;padding:6px 9px;font-size:.78rem}.friends-filter-bar strong{min-width:23px;min-height:23px;font-size:.76rem}.friends-page .profile-card-scroller,.friends-page .search-card-scroller{scroll-snap-type:none;grid-template-columns:1fr;gap:10px;padding:0;display:grid;overflow:visible}.friends-page .profile-card{scroll-snap-align:none;border-radius:8px;grid-template-columns:54px minmax(0,1fr) auto;grid-template-areas:"avatar copy presence""avatar copy status""stats stats stats""actions actions actions";place-items:center stretch;gap:9px 10px;width:100%;min-width:0;min-height:0;padding:12px;position:relative}.friends-page .profile-card-avatar{border-width:2px;grid-area:avatar;align-self:start;width:54px;height:54px}.friends-page .profile-card-copy{text-align:left;grid-area:copy;justify-items:start;gap:3px;padding-right:0}.friends-page .profile-card-copy strong{font-size:.98rem;line-height:1.1}.friends-page .profile-card-copy span{font-size:.82rem;line-height:1.1}.friends-page .profile-presence{white-space:nowrap;grid-area:presence;justify-self:end;gap:5px;min-height:24px;padding:4px 7px;font-size:.68rem;line-height:1}.friends-page .profile-presence span{width:7px;height:7px}.friends-page .profile-status-pill{white-space:nowrap;grid-area:status;justify-self:end;min-height:24px;padding:4px 8px;font-size:.72rem;line-height:1}.friends-page .profile-card-stats{grid-area:stats;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.friends-page .profile-card-stats div{align-content:center;gap:2px;min-height:48px;padding:7px 8px}.friends-page .profile-card-stats span{font-size:.66rem}.friends-page .profile-card-stats strong{font-size:1rem;line-height:1}.friends-page .profile-card-actions{grid-area:actions;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.friends-page .profile-card-actions .primary-button,.friends-page .profile-card-actions .secondary-button,.friends-page .profile-card-actions .ghost-button{border-radius:999px;min-height:38px;padding-inline:9px;font-size:.82rem;line-height:1}.friends-page .profile-card-actions .danger-button,.friends-page .profile-card-actions>button:only-child{grid-column:1/-1}.friends-page .search-prompt-card{grid-template-columns:46px minmax(0,1fr);grid-template-areas:"icon copy""form form";align-items:center}.friends-page .search-prompt-card .search-prompt-icon{grid-area:icon}.friends-page .search-prompt-card .profile-card-copy{grid-area:copy}.friends-page .search-prompt-icon{width:46px;height:46px;font-size:1.5rem}.friends-page .card-search-form{grid-area:form;grid-template-columns:1fr;gap:8px}.friends-page .card-search-form input,.friends-page .card-search-form .primary-button{min-height:44px}.friends-page .search-empty-card{align-content:center;min-height:104px}.friends-empty-panel{min-height:104px;padding:14px}}
