:root{--bg:#07111f;--panel:#0d1a2b;--panel-2:#111f32;--panel-3:#16263d;--text:#f4f7fb;--muted:#8e9db2;--blue:#4d91d8;--blue-soft:rgba(77,145,216,.12);--green:#45b987;--green-soft:rgba(69,185,135,.12);--gold:#c9a34d;--gold-soft:rgba(201,163,77,.12);--red:#c96b76;--red-soft:rgba(201,107,118,.12);--purple:#8d78c7;--purple-soft:rgba(141,120,199,.12);--border:rgba(255,255,255,.075);--shadow:0 18px 45px rgba(0,0,0,.22);--radius:18px}*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;min-height:100vh;background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}[hidden]{display:none!important}#app{min-height:100vh}.shell{width:min(1050px,calc(100% - 32px));margin:0 auto;padding:20px 0 60px}.topbar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;margin-bottom:24px;min-height:54px}.brand{display:flex;align-items:center;gap:10px;min-width:0}.mark{width:38px;height:38px;display:grid;place-items:center;flex:0 0 38px;border:1px solid rgba(77,145,216,.25);border-radius:10px;background:#10243d;color:#8db7df;font-size:16px;font-weight:950}.brand strong,.brand span{display:block}.brand strong{font-size:13px;letter-spacing:1px}.brand span{margin-top:2px;color:var(--muted);font-size:8px;letter-spacing:.5px}.main-nav{display:flex;align-items:center;justify-content:center;gap:3px;padding:4px;border:1px solid var(--border);border-radius:10px;background:#0b1727}.nav-button{min-width:74px;padding:9px 14px;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--muted);font-size:10px;font-weight:800;transition:background .15s ease,color .15s ease,border-color .15s ease}.nav-button:hover{background:#111f32;color:var(--text)}.nav-button.active{border-color:#4d91d82e;background:#16263d;color:#f4f7fb}.quiet,.back-button{padding:9px 13px;border:1px solid var(--border);border-radius:9px;background:var(--panel);color:var(--muted);font-size:11px;font-weight:800}.quiet:hover,.back-button:hover{background:var(--panel-2);color:var(--text)}.topbar>.quiet{justify-self:end}@media(max-width:760px){.topbar{grid-template-columns:1fr auto;gap:12px;min-height:auto}.brand span{display:none}.main-nav{grid-column:1 / -1;grid-row:2;width:100%}.nav-button{flex:1;min-width:0;padding:10px 8px}}@media(max-width:460px){.topbar{gap:8px}.brand strong{font-size:12px}.mark{width:34px;height:34px;flex-basis:34px}.main-nav{padding:3px}.nav-button{font-size:9px;padding:9px 5px}.topbar>.quiet{padding:8px 9px;font-size:9px}}.app-screen{animation:screenIn .18s ease-out}@keyframes screenIn{0%{opacity:.7;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.eyebrow{margin:0 0 7px;color:var(--blue);font-size:9px;font-weight:900;letter-spacing:1.4px;text-transform:uppercase}.identity-gate{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:grid;place-items:center;padding:20px;background:#07111ff7}.identity-card{width:min(470px,100%);padding:32px;border:1px solid var(--border);border-radius:20px;background:var(--panel);box-shadow:var(--shadow)}.identity-card h1{margin:0;font-size:34px;line-height:1.05;letter-spacing:-1.5px}.identity-card>p:not(.eyebrow){margin:12px 0 24px;color:var(--muted);font-size:12px;line-height:1.6}.identity-card form{display:grid;gap:8px}.identity-card label,.profile-edit-card label{color:var(--muted);font-size:9px;font-weight:800}.identity-card input,.profile-edit-card input{width:100%;height:50px;padding:0 14px;border:1px solid #344b66;border-radius:10px;outline:none;background:#0a1728;color:var(--text);font-size:14px;font-weight:700}.identity-card input:focus,.profile-edit-card input:focus{border-color:#5b8fc4;background:#0c1b2e}.primary-button{padding:11px 16px;border:1px solid #4d91d8;border-radius:9px;background:#4d91d8;color:#fff;font-size:10px;font-weight:900}.primary-button:hover{background:#578fc9;border-color:#578fc9}.secondary-button{padding:9px 13px;border:1px solid var(--border);border-radius:9px;background:var(--panel-2);color:var(--text);font-size:10px;font-weight:900}.secondary-button:hover{background:var(--panel-3)}.home-hero{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:34px;margin-bottom:13px;border:1px solid var(--border);border-radius:20px;background:var(--panel);box-shadow:var(--shadow)}.home-hero h1{margin:0;font-size:clamp(34px,6vw,56px);line-height:.98;letter-spacing:-2.5px}.home-description{max-width:560px;margin:14px 0 0;color:var(--muted);font-size:13px;line-height:1.6}.home-hero-mark{width:120px;height:120px;flex:0 0 120px;display:grid;place-items:center;border:1px solid rgba(77,145,216,.2);border-radius:28px;background:#10243d;color:#7faee0;font-size:58px;font-weight:950}.home-current,.feature-card,.home-course,.profile-card,.map-card{border:1px solid var(--border);border-radius:17px;background:var(--panel)}.home-current{padding:20px;margin-bottom:13px}.home-current-top{display:flex;align-items:center;justify-content:space-between;gap:20px}.home-current h2{margin:0;font-size:22px;letter-spacing:-.7px}.home-current p:not(.eyebrow){margin:5px 0 0;color:var(--muted);font-size:11px}.home-level-number{min-width:70px;text-align:center}.home-level-number span{display:block;color:var(--muted);font-size:8px;font-weight:900;letter-spacing:1px}.home-level-number strong{display:block;margin-top:2px;color:var(--blue);font-size:32px;line-height:1}.home-progress-track{height:6px;margin-top:18px;overflow:hidden;border-radius:99px;background:var(--panel-3)}.home-progress-track span{display:block;width:0;height:100%;border-radius:inherit;background:var(--blue);transition:width .25s ease}.home-progress-bottom{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:11px;color:var(--muted);font-size:10px;font-weight:800}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:13px}.stat-card{padding:15px;border:1px solid var(--border);border-radius:14px;background:var(--panel)}.stat-card small{display:block;color:var(--muted);font-size:8px;font-weight:900;letter-spacing:1px}.stat-card strong{display:block;margin-top:5px;font-size:21px}.stat-card span{display:block;margin-top:3px;color:var(--muted);font-size:9px}.home-columns{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-bottom:13px}.feature-card{display:flex;gap:15px;padding:20px}.feature-icon{width:42px;height:42px;flex:0 0 42px;display:grid;place-items:center;border-radius:11px;background:var(--blue-soft);color:var(--blue);font-size:18px}.feature-card h3{margin:3px 0 0;font-size:17px}.feature-card p:not(.eyebrow){margin:7px 0 14px;color:var(--muted);font-size:11px;line-height:1.5}.reward-card .feature-icon{background:var(--gold-soft);color:var(--gold)}.home-course{padding:20px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:20px}.section-head h2{margin:0;font-size:20px}.section-head>span{color:var(--muted);font-size:10px;font-weight:800}.course-summary{display:flex;align-items:center;gap:14px;margin-top:15px;padding:15px;border-radius:13px;background:var(--panel-2)}.course-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:11px;background:var(--blue-soft);color:var(--blue);font-size:19px}.course-summary-text{flex:1;min-width:0}.course-summary-text strong,.course-summary-text span{display:block}.course-summary-text strong{font-size:12px}.course-summary-text span{margin-top:3px;color:var(--muted);font-size:10px;line-height:1.4}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:25px;margin-bottom:18px}.page-heading h1{margin:0;font-size:clamp(30px,5vw,43px);letter-spacing:-1.6px}.page-heading p:not(.eyebrow){margin:8px 0 0;color:var(--muted);font-size:12px}.page-heading-progress,.profile-accuracy{min-width:105px;padding:12px 15px;border:1px solid var(--border);border-radius:12px;background:var(--panel);text-align:center}.page-heading-progress strong,.profile-accuracy strong{display:block;font-size:22px}.page-heading-progress span,.profile-accuracy span{display:block;margin-top:3px;color:var(--muted);font-size:8px;font-weight:800;text-transform:uppercase}.map-card{padding:20px}.journey-chapter+.journey-chapter{margin-top:25px;padding-top:25px;border-top:1px solid var(--border)}.journey-chapter-head{display:flex;justify-content:space-between;gap:15px;margin-bottom:13px;color:var(--muted);font-size:10px;font-weight:900}.journey-levels{display:grid;grid-template-columns:repeat(5,1fr);gap:9px}.journey-level{min-height:115px;padding:12px;border:1px solid var(--border);border-radius:13px;background:var(--panel-2)}.journey-level.current{border-color:#4d91d873;background:#12253c;cursor:pointer}.journey-level.cleared{border-color:#45b9872e}.journey-level.locked{opacity:.45}.journey-level.boss{border-color:#8d78c740}.journey-level-number{width:31px;height:31px;display:grid;place-items:center;margin-bottom:18px;border-radius:9px;background:var(--panel-3);color:var(--muted);font-size:10px;font-weight:950}.journey-level.current .journey-level-number{background:var(--blue-soft);color:var(--blue)}.journey-level.boss .journey-level-number{background:var(--purple-soft);color:var(--purple)}.journey-level-name{display:block;font-size:11px;font-weight:800;line-height:1.35}.journey-status{display:block;margin-top:7px;color:var(--muted);font-size:7px;font-weight:900;letter-spacing:.7px}.game-topbar{display:flex;align-items:center;gap:14px;margin-bottom:13px}.game-level-info{flex:1;min-width:0}.game-level-info span,.game-level-info strong{display:block}.game-level-info span{color:var(--muted);font-size:8px;font-weight:900;letter-spacing:.9px;text-transform:uppercase}.game-level-info strong{margin-top:3px;font-size:16px}.game-mode{padding:6px 9px;border-radius:7px;background:var(--blue-soft);color:var(--blue);font-size:8px;font-weight:900;letter-spacing:.7px}.hud{display:grid;grid-template-columns:repeat(4,1fr) auto;gap:9px;margin-bottom:13px}.hud>div,.revive-button{min-width:0;padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:var(--panel)}.hud small{display:block;color:var(--muted);font-size:8px;font-weight:900;letter-spacing:.9px}.hud b{display:block;margin-top:5px;font-size:16px}.revive-button{color:var(--muted);font-size:9px;font-weight:850;white-space:nowrap}.revive-button:not(:disabled):hover{background:var(--panel-2);color:var(--text)}.challenge{padding:25px;border:1px solid var(--border);border-radius:19px;background:var(--panel);box-shadow:var(--shadow)}.challenge-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:21px}.challenge-head>div:first-child{display:flex;flex-wrap:wrap;gap:6px}.challenge-head>div:first-child span{padding:6px 9px;border-radius:7px;background:var(--panel-2);color:var(--muted);font-size:9px;font-weight:800}.question{padding:17px 0 25px;text-align:center}.question p{margin:0 0 8px;color:var(--muted);font-size:9px;font-weight:900;letter-spacing:1px;text-transform:uppercase}.question h2{margin:0;font-size:clamp(35px,7vw,58px);line-height:1;letter-spacing:-2px}.answer-row{display:flex;max-width:560px;margin:0 auto;gap:10px}.answer-row input{flex:1;min-width:0;height:54px;padding:0 18px;border:1px solid #344b66;border-radius:11px;outline:none;background:#0a1728;color:var(--text);font-size:17px;font-weight:700;text-align:center}.answer-row input:focus{border-color:#5b8fc4;background:#0c1b2e;box-shadow:none}.answer-row input::placeholder{color:#718198;font-size:13px;font-weight:600}.answer-row button{height:54px;min-width:130px;padding:0 22px;border:1px solid #4d91d8;border-radius:11px;background:#4d91d8;color:#fff;font-size:14px;font-weight:900}.answer-row button:hover{background:#578fc9;border-color:#578fc9}#gameForm label,#dailyForm label,#form label{display:block;max-width:560px;margin:0 auto 7px;color:var(--muted);font-size:9px;font-weight:800}.feedback{max-width:560px;min-height:18px;margin:13px auto 0;padding:9px 12px;border-radius:9px;font-size:11px;font-weight:800;text-align:center}.feedback.success{background:var(--green-soft);color:var(--green)}.feedback.error{background:var(--red-soft);color:var(--red)}.explanation{max-width:560px;margin:9px auto 0;padding:12px 14px;border:1px solid var(--border);border-radius:10px;background:var(--panel-2)}.explanation-title{margin-bottom:5px;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.8px}.explanation p{margin:0;color:var(--muted);font-size:11px;line-height:1.5}.boss-banner{display:flex;align-items:center;gap:13px;margin-bottom:14px;padding:14px;border:1px solid rgba(141,120,199,.22);border-radius:12px;background:var(--purple-soft)}.boss-banner[hidden],.boss-meter[hidden]{display:none!important}.boss-mark{width:40px;height:40px;flex:0 0 40px;display:grid;place-items:center;border-radius:10px;background:#8d78c726;color:var(--purple);font-weight:950}.boss-kicker{display:block;margin-bottom:3px;color:var(--purple);font-size:8px;font-weight:900;letter-spacing:1px}.boss-banner strong{display:block;font-size:14px}.boss-banner p{margin:4px 0 0;color:var(--muted);font-size:10px}.boss-meter{margin-bottom:14px;padding:11px 13px;border:1px solid var(--border);border-radius:10px;background:var(--panel-2)}.boss-meter-top{display:flex;justify-content:space-between;margin-bottom:7px;color:var(--muted);font-size:9px;font-weight:800}.boss-meter-top strong{color:var(--text)}.meter-track{height:5px;overflow:hidden;border-radius:99px;background:var(--panel-3)}.meter-track span{display:block;width:0;height:100%;border-radius:inherit;background:var(--purple);transition:width .25s ease}.complete{margin-top:13px;padding:29px 20px;border:1px solid rgba(69,185,135,.18);border-radius:19px;background:var(--panel);text-align:center}.complete .eyebrow{color:var(--green)}.complete h2{margin:0;font-size:27px;letter-spacing:-.8px}.complete>p:not(.eyebrow){max-width:550px;margin:9px auto 0;color:var(--muted);font-size:12px;line-height:1.55}.level-up{display:inline-flex;flex-direction:column;gap:3px;margin-top:18px;padding:10px 18px;border:1px solid rgba(77,145,216,.18);border-radius:10px;background:var(--blue-soft)}.level-up span{color:var(--blue);font-size:8px;font-weight:900;letter-spacing:1px}.level-up strong{font-size:14px}.daily-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:16px}.daily-heading h1{margin:0;font-size:clamp(30px,5vw,42px);letter-spacing:-1.5px}.daily-heading p:not(.eyebrow){margin:7px 0 0;color:var(--muted);font-size:12px}.daily-streak-box{min-width:105px;padding:13px 16px;border:1px solid rgba(201,163,77,.2);border-radius:12px;background:var(--gold-soft);text-align:center}.daily-streak-box strong{display:block;color:var(--gold);font-size:22px}.daily-streak-box span{display:block;margin-top:3px;color:var(--muted);font-size:8px;font-weight:800;text-transform:uppercase}.daily-card{padding:24px;border:1px solid rgba(201,163,77,.16);border-radius:18px;background:var(--panel)}.daily-progress-head{display:flex;justify-content:space-between;margin-bottom:8px;color:var(--muted);font-size:9px;font-weight:900}.daily-progress-track{height:6px;overflow:hidden;border-radius:99px;background:var(--panel-3)}.daily-progress-track span{display:block;width:0;height:100%;border-radius:inherit;background:var(--gold)}.daily-question-meta{display:flex;justify-content:center;flex-wrap:wrap;gap:7px;margin-top:20px}.daily-question-meta span{padding:6px 9px;border-radius:7px;background:var(--panel-2);color:var(--muted);font-size:9px;font-weight:800}.daily-complete{margin-top:13px;padding:30px 20px;border:1px solid rgba(69,185,135,.18);border-radius:19px;background:var(--panel);text-align:center}.daily-complete-icon{width:48px;height:48px;display:grid;place-items:center;margin:0 auto 13px;border-radius:13px;background:var(--gold-soft);color:var(--gold);font-size:20px}.daily-complete h2{margin:0;font-size:27px}.daily-reward-row{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin:18px 0}.daily-reward-row span{padding:9px 12px;border:1px solid var(--border);border-radius:9px;background:var(--panel-2);color:var(--green);font-size:10px;font-weight:900}.identity-profile-card{display:flex;align-items:center;gap:16px;margin-bottom:20px;padding:20px;border:1px solid var(--border);border-radius:17px;background:var(--panel)}.identity-avatar{width:64px;height:64px;flex:0 0 64px;display:grid;place-items:center;border:1px solid rgba(77,145,216,.25);border-radius:16px;background:#10243d;color:#8db7df;font-size:27px;font-weight:950}.identity-profile-copy{flex:1;min-width:0}.identity-profile-copy h2{margin:0;font-size:24px}.identity-profile-copy strong{display:block;margin-top:4px;color:var(--blue);font-size:11px}.identity-profile-copy span{display:block;margin-top:4px;color:var(--muted);font-size:9px}.profile-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:13px}.profile-summary article{padding:16px;border:1px solid var(--border);border-radius:13px;background:var(--panel)}.profile-summary small{display:block;color:var(--muted);font-size:8px;font-weight:900;letter-spacing:1px}.profile-summary strong{display:block;margin-top:5px;font-size:21px}.profile-summary span{display:block;margin-top:3px;color:var(--muted);font-size:9px}.profile-card{padding:20px;margin-bottom:13px}.profile-intro{margin:9px 0 15px;color:var(--muted);font-size:11px;line-height:1.5}.skill-group{margin-top:13px}.skill-group-head{display:flex;justify-content:space-between;margin-bottom:6px;font-size:10px}.skill-group-head span{color:var(--muted)}.subskill{display:grid;grid-template-columns:120px 1fr 35px;align-items:center;gap:8px;padding:7px 0;font-size:9px}.subskill>span{color:var(--muted)}.subskill i{height:5px;overflow:hidden;border-radius:99px;background:var(--panel-3)}.subskill em{display:block;width:0;height:100%;border-radius:inherit;background:var(--blue)}.subskill b{color:var(--muted);font-size:9px;text-align:right}.reward-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:11px;background:var(--gold-soft);color:var(--gold);font-size:18px}.profile-edit-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:900;display:grid;place-items:center;padding:20px;background:#07111fc7}.profile-edit-card{width:min(440px,100%);padding:24px;border:1px solid var(--border);border-radius:18px;background:var(--panel);box-shadow:var(--shadow)}.profile-edit-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:20px}.profile-edit-head h2{margin:0;font-size:23px;letter-spacing:-.7px}.profile-edit-card form{display:grid;gap:8px}.profile-edit-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:10px}.identity-error{margin:4px 0 0;color:var(--red);font-size:10px;font-weight:700}@media(max-width:800px){.hud{grid-template-columns:repeat(2,1fr)}.revive-button{grid-column:1 / -1}.stat-grid,.profile-summary{grid-template-columns:repeat(2,1fr)}.journey-levels{grid-template-columns:repeat(3,1fr)}}@media(max-width:650px){.shell{width:min(calc(100% - 20px),1050px);padding-top:16px}.topbar{flex-wrap:wrap}.main-nav{width:100%;justify-content:center}.quiet{margin-left:auto}.home-hero{padding:25px 20px}.home-hero-mark{width:82px;height:82px;flex-basis:82px;border-radius:20px;font-size:40px}.home-columns{grid-template-columns:1fr}.page-heading{align-items:flex-start;flex-direction:column}.page-heading-progress,.profile-accuracy{align-self:stretch}.journey-levels{grid-template-columns:repeat(2,1fr)}.challenge{padding:19px 15px}.challenge-head{align-items:flex-start;flex-direction:column}.answer-row{flex-direction:column}.answer-row button{width:100%}.course-summary{align-items:flex-start;flex-wrap:wrap}.course-summary .secondary-button{width:100%}.identity-profile-card{align-items:flex-start;flex-wrap:wrap}.identity-profile-card .quiet{width:100%;margin-left:0}.daily-heading{align-items:flex-start;flex-direction:column}.daily-streak-box{width:100%}}@media(max-width:480px){.brand span{display:none}.stat-grid,.profile-summary{grid-template-columns:1fr 1fr}.home-current-top{align-items:flex-start}.home-progress-bottom{align-items:flex-start;flex-direction:column}.home-progress-bottom button{width:100%}.journey-level{min-height:105px}.journey-level-number{margin-bottom:12px}.subskill{grid-template-columns:90px 1fr 32px}.game-topbar{align-items:flex-start}.game-mode{margin-left:auto}.identity-card{padding:24px}.identity-card h1{font-size:29px}.profile-edit-actions{flex-direction:column-reverse}.profile-edit-actions button{width:100%}}
