:root {
  --navy:#080d14; --ink:#f3f6f4; --muted:#8e9caa; --panel:#101a24;
  --line:#24323c; --cyan:#a6f0d1; --lime:#a6f0d1; --danger:#fb858a;
  --display:'Space Grotesk',sans-serif; --body:'DM Sans',sans-serif;
  --mono:'JetBrains Mono',monospace; --shadow:0 28px 80px #0008;
}
html {font-family:var(--body);scroll-behavior:smooth}
body {background:var(--navy);color:var(--ink)}
body.modal-open {overflow:hidden}
body::before {content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;background:radial-gradient(ellipse 60% 36% at 87% 8%,#0c5a4c30,transparent),radial-gradient(ellipse 40% 45% at 34% 80%,#1243411a,transparent)}
::selection {background:#a6f0d1;color:#081611}
button,a { -webkit-tap-highlight-color:transparent }
:focus-visible {outline:2px solid var(--cyan)!important;outline-offset:4px}
.app-shell {min-height:100vh}
.sidebar {z-index:5;width:268px;padding:32px 22px 22px;border-right:1px solid #23313b;background:#0b1219f5;backdrop-filter:blur(18px)}
.brand {gap:12px;padding:0;font:700 25px/.9 var(--display);letter-spacing:-1.9px}
.brand>span:last-child {display:block}
.brand small {display:block;margin:8px 0 0 2px;font:500 8px/1 var(--mono);letter-spacing:1.7px;color:#6c7f88}
.brand-accent {color:var(--cyan)}
.brand-symbol {width:35px;height:35px;flex:0 0 35px;position:relative;display:block;border:1px solid #84dabc;border-radius:11px;background:#183a32;overflow:hidden;box-shadow:0 0 25px #6de0b024}
.brand-symbol span {position:absolute;width:5px;height:20px;background:var(--cyan);border-radius:9px;transform:rotate(36deg);top:7px}
.brand-symbol span:nth-child(1) {left:10px}.brand-symbol span:nth-child(2) {left:17px;top:11px;height:16px}.brand-symbol span:nth-child(3) {left:24px;top:7px;height:10px}
.side-label {display:flex;justify-content:space-between;gap:5px;margin:75px 5px 18px;color:#667b84;font:500 9px var(--mono);letter-spacing:1px}
.side-label span {color:#476057}
.sidebar nav {margin:0;gap:5px}
.sidebar nav a {display:flex;align-items:center;gap:12px;padding:15px 12px;border:1px solid transparent;border-radius:10px;color:#8b9ba6;font:600 13px var(--body);transition:background .2s,border-color .2s,color .2s}
.sidebar nav a:hover,.sidebar nav a.active {background:#152922;border-color:#2a5545;color:#eafff2}
.sidebar nav a i {width:24px;color:#608276;font:500 10px var(--mono)}
.sidebar nav a.active i {color:var(--cyan)}
.sidebar nav a b {margin-left:auto;color:var(--cyan);font:400 16px var(--display);opacity:0;transform:translate(-3px,3px);transition:all .2s}
.sidebar nav a:hover b,.sidebar nav a.active b {opacity:1;transform:translate(0,0)}
.side-spacer {flex:1;min-height:80px}
.side-progress {margin:0 0 15px;padding:19px 4px;border-top:1px solid #27343c;border-bottom:1px solid #27343c}
.side-progress-top {display:flex;justify-content:space-between;align-items:center;font:500 9px var(--mono);letter-spacing:.6px}
.side-progress-top b {float:none;color:var(--cyan);font:600 19px var(--display);letter-spacing:-1px}
.side-progress .progress {margin:13px 0 10px}
.side-progress small {font:500 10px var(--body);color:#83949e}
.progress {height:4px;background:#293940;border-radius:20px;overflow:hidden}
.progress i {background:linear-gradient(90deg,#58c7b3,#c4ffd2)}
.account-chip {display:flex;align-items:center;width:100%;gap:11px;margin:0 0 19px;padding:12px;border-radius:12px;border:1px solid #305144;background:#14251f;color:var(--ink);text-align:left;transition:all .2s}
.account-chip:hover {border-color:var(--cyan);background:#1a3028;transform:translateY(-2px)}
.account-chip>span:nth-child(2) {flex:1;min-width:0;display:grid;gap:4px}
.account-chip b {font:700 11px var(--body);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.account-chip small {font:500 10px var(--body);color:#9dbbac;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.account-chip i {font:400 18px var(--display);font-style:normal;color:var(--cyan)}
.account-avatar {width:32px;height:32px;flex:0 0 32px;display:grid;place-items:center;border-radius:9px;background:#a6f0d1;color:#0a2518;font:700 17px var(--display)}
.sidebar-footer {display:flex;justify-content:space-between;align-items:center;padding:0 3px;color:#667a84;font:500 9px var(--mono);letter-spacing:.6px}
.locale {margin:0;border:1px solid #345046;border-radius:6px;background:transparent;color:#b1d8c1;padding:6px 8px;font:600 10px var(--mono)}
.main {margin-left:268px;max-width:none;min-height:100vh;padding:0 clamp(30px,4.5vw,84px) 32px;overflow:hidden}
.topline {height:73px;display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid #25333d;color:#708590;font:500 9px var(--mono);letter-spacing:1.1px}
.topline-right {display:flex;align-items:center;gap:8px;color:#94b9a8}
.topline-account {max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-left:20px;padding:8px 12px;border:1px solid #537d66;border-radius:6px;background:#1b3528;color:#c8f6d8;font:600 9px var(--mono);letter-spacing:.7px;transition:background .2s,border-color .2s}.topline-account:hover {border-color:var(--cyan);background:#24553b}
.topline-right i,.live-dot {display:inline-block;width:6px;height:6px;border-radius:50%;background:#a6f0d1;box-shadow:0 0 12px #a6f0d1a0}
.main-footer {display:flex;justify-content:space-between;margin-top:90px;padding-top:22px;border-top:1px solid #24343a;color:#60737c;font:500 9px var(--mono);letter-spacing:.8px}
.mobile-head,.mobile-nav {display:none}
.eyebrow {color:var(--cyan);font:600 10px var(--mono);letter-spacing:1.4px}
.hero {position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,.92fr);align-items:center;gap:15px;margin:32px 0 20px;padding:clamp(35px,4.5vw,70px);min-height:560px;border:1px solid #34504b;border-radius:22px;background:radial-gradient(circle at 75% 45%,#1d5e4c5b 0%,transparent 43%),linear-gradient(120deg,#122822,#0b161a 57%,#102823);overflow:hidden}
.hero::before {content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#a6f0d108 1px,transparent 1px),linear-gradient(#a6f0d108 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(90deg,transparent 15%,black 100%)}
.hero::after {content:"01 / BUILD YOUR EDGE";position:absolute;right:25px;bottom:19px;color:#65897b;font:500 9px var(--mono);letter-spacing:1px}
.hero-copy {position:relative;z-index:2;max-width:640px}
.hero .eyebrow {display:inline-flex;align-items:center;gap:10px;margin:0 0 27px}
.hero h1 {max-width:none;margin:0 0 24px;font:700 clamp(49px,5.1vw,86px)/.99 var(--display);letter-spacing:-.068em}
.hero h1 em,.page-heading h1 em {font-style:normal;color:var(--cyan)}
.hero .lead {max-width:530px;margin:0;color:#b5c7bd;font:400 14px/1.8 var(--body)}
.hero-actions {display:flex;align-items:center;gap:26px;flex-wrap:wrap;margin-top:30px}
.button {margin:0;border-radius:9px;transition:transform .2s,box-shadow .2s,background .2s}
.button.primary {justify-content:space-between;gap:30px;padding:15px 17px 15px 22px;background:#a6f0d1;color:#09271b;box-shadow:0 12px 36px #7be4bb24;font:700 13px var(--body)}
.button.primary:hover {background:#cbffe3;box-shadow:0 18px 45px #7be4bb33;transform:translateY(-3px)}
.button.primary b {font:600 20px var(--display)}
.button.ghost {border:1px solid #3b5c53;background:#172921;color:#c2e0d0}
.hero-link {display:inline-flex;align-items:center;gap:13px;font:700 12px var(--body);color:#d2e9d9}
.hero-link span {font-size:18px;transition:transform .2s}.hero-link:hover span {transform:translateX(4px)}
.hero-proof {display:flex;align-items:center;gap:12px;margin-top:57px;color:#79998a;font:500 10px var(--mono)}
.hero-proof i {font-style:normal;color:#40705e}.proof-line {width:24px;height:1px;background:#64ac8b}
.hero-visual {position:relative;min-height:465px;align-self:stretch;display:grid;place-items:center;isolation:isolate}
.visual-grid {position:absolute;inset:0;background:radial-gradient(circle at 50% 47%,#3af1b527 0%,transparent 40%)}
.visual-orbit {position:absolute;border:1px solid #9debc329;border-radius:50%;transform:rotate(-20deg)}
.orbit-one {width:min(31vw,400px);height:min(31vw,400px)}.orbit-two {width:min(38vw,510px);height:min(38vw,510px);border-style:dashed;border-color:#9debc31a}
.visual-orbit::before {content:"";position:absolute;top:4%;left:27%;width:6px;height:6px;border-radius:50%;background:var(--cyan);box-shadow:0 0 18px var(--cyan)}
.visual-core {width:230px;height:230px;display:flex;align-items:center;justify-content:center;gap:11px;border-radius:50%;border:1px solid #9debc34d;background:radial-gradient(circle at 35% 25%,#3d8d6f,#1a4539 50%,#0d2521 72%);box-shadow:inset -12px -15px 36px #0008,inset 8px 8px 35px #adffcb3b,0 0 95px #66dfaa3a,0 28px 100px #0008;transform:rotate(-13deg)}
.core-g {font:700 135px/.9 var(--display);letter-spacing:-.12em;color:#d1ffe3;text-shadow:0 0 40px #bcffd1a0;transform:translateX(-6px)}
.core-bracket {font:400 59px var(--mono);color:#8ee4bc73}
.visual-badge,.visual-coordinate {position:absolute;z-index:1;color:#9fccb6;font:500 9px var(--mono);letter-spacing:1px}
.badge-top {top:27px;right:0;display:flex;align-items:center;gap:9px;padding:10px 13px;border:1px solid #58806c6e;border-radius:5px;background:#0d221bc9;backdrop-filter:blur(8px)}
.badge-dot {width:5px;height:5px;background:#9effc8;border-radius:50%}.visual-coordinate {left:10px;bottom:24px;color:#648d79}
.visual-terminal {position:absolute;right:-4%;bottom:0;width:295px;border:1px solid #557569;border-radius:10px;background:#0a1718e9;box-shadow:0 25px 65px #0008;backdrop-filter:blur(16px);transform:rotate(3deg);overflow:hidden}
.terminal-head {height:32px;display:flex;align-items:center;justify-content:space-between;padding:0 11px;border-bottom:1px solid #345046;color:#abcabb;font:500 9px var(--mono)}
.terminal-head>span {display:flex;gap:4px}.terminal-head i {width:5px;height:5px;border-radius:50%;background:#507769}.terminal-head i:first-child {background:#dd876d}.terminal-head b {font:500 9px var(--mono)}.terminal-head small {font-size:8px;color:#6e9680}
.terminal-lines {display:grid;gap:8px;padding:20px 16px;color:#7c9c90;font:500 11px var(--mono)}.terminal-lines i {font-style:normal;color:#c9a9f5}.terminal-lines em {font-style:normal;color:#a9eaca}
.terminal-pass {padding:12px 14px;border-top:1px solid #345046;color:#a4e9be;font:600 9px var(--mono);letter-spacing:.7px}
.dashboard-grid {display:grid;grid-template-columns:minmax(0,1.55fr) repeat(2,minmax(0,.8fr));gap:14px;margin:0}
.next-card,.metric-card {min-height:195px;border:1px solid #2b4141;border-radius:16px;background:#101e21;overflow:hidden}
.next-card {display:flex;flex-direction:column;transition:border .2s,transform .2s;background:linear-gradient(120deg,#16362f,#101e22)}
.next-card:hover {transform:translateY(-3px);border-color:#89d5b4}
.next-card-head {display:flex;justify-content:space-between;padding:18px 20px;border-bottom:1px solid #3561536c;color:#8bc7a9;font:600 9px var(--mono);letter-spacing:.8px}.next-card-head b {font-weight:500;color:#699982}
.next-card-body {display:flex;align-items:center;justify-content:space-between;gap:15px;flex:1;padding:17px 20px}.next-card-body small {color:#8aaa99;font:600 9px var(--mono);letter-spacing:.5px}.next-card-body h2 {margin:7px 0 11px;font:700 21px/1.12 var(--display);letter-spacing:-.7px}.next-card-body span {color:var(--cyan);font:600 11px var(--body)}.next-card-body span b {padding-left:5px}
.next-arrow {width:42px;height:42px;display:grid;place-items:center;flex:0 0 42px;border-radius:50%;background:#a6f0d1;color:#09271b;font:24px var(--display)}
.next-card-foot {display:flex;align-items:center;gap:15px;padding:12px 20px 17px;color:#9cbeac;font:500 9px var(--mono)}.next-card-foot .progress {flex:1;margin:0}.next-card-foot strong {font:600 11px var(--mono);color:#b9f4d3}
.metric-card {position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;padding:20px;background:#111b22}
.metric-card .metric-label {color:#78948f;font:600 9px var(--mono);letter-spacing:.9px}.metric-card div {display:flex;align-items:baseline;gap:8px;z-index:1}.metric-card b {font:700 49px/.9 var(--display);letter-spacing:-3px}.metric-card small {color:var(--cyan);font:600 12px var(--mono)}
.metric-card p {z-index:1;margin:0;color:#8a9c9e;font:500 11px/1.4 var(--body);border:0;padding:0}.metric-ghost {position:absolute;right:7px;bottom:-26px;color:#1b3936;font:700 100px var(--display);letter-spacing:-10px}
.section-head {display:flex;align-items:end;justify-content:space-between;gap:20px;margin:72px 0 24px}.section-head .eyebrow {margin:0 0 12px}.section-head h2 {margin:0;font:700 clamp(28px,3vw,42px)/1.08 var(--display);letter-spacing:-1.7px}.section-head p:not(.eyebrow) {margin:9px 0 0;color:#82939b;font:400 12px var(--body)}.section-head>a {white-space:nowrap;color:var(--cyan);font:600 12px var(--body)}.section-head>a span {padding-left:8px;font-size:18px}
.world-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.world-card {display:flex;flex-direction:column;min-height:300px;padding:0;border:1px solid #2d4045;border-radius:14px;background:#111b22;transition:transform .23s,border-color .23s,box-shadow .23s}
.world-card::before {width:250px;height:250px;right:-95px;top:-145px;opacity:.14;filter:blur(18px)}
.world-card:hover {transform:translateY(-5px);border-color:var(--world);box-shadow:0 25px 45px #0005}
.world-card-top {display:flex;justify-content:space-between;padding:17px 18px 0;color:#9aaeb0;font:600 9px var(--mono);letter-spacing:.8px}.world-card-top span:last-child {font-size:17px;line-height:.6;color:#698d83;transition:transform .2s}.world-card:hover .world-card-top span:last-child {color:var(--world);transform:translate(3px,-3px)}
.world-art {height:100px;position:relative;display:grid;place-items:center;overflow:hidden}
.world-art::before {content:"";width:92px;height:92px;position:absolute;border-radius:50%;background:color-mix(in srgb,var(--world),#101c22 70%);filter:blur(17px);opacity:.6}
.world-art-orbit {position:absolute;width:140px;height:73px;border:1px solid color-mix(in srgb,var(--world),transparent 55%);border-radius:50%;transform:rotate(-26deg)}
.world-art-orbit::after {content:"";position:absolute;left:12%;top:17%;width:5px;height:5px;border-radius:50%;background:var(--world);box-shadow:0 0 12px var(--world)}
.world-art strong {z-index:1;color:color-mix(in srgb,var(--world),white 35%);font:700 43px var(--display);letter-spacing:-3px;text-shadow:0 0 24px color-mix(in srgb,var(--world),transparent 45%)}
.world-art-dot {position:absolute;width:4px;height:4px;right:19%;top:23%;border-radius:50%;background:var(--world)}
.world-card-copy {padding:3px 18px 0;flex:1}.world-card h3 {margin:0 0 7px;font:700 18px/1.15 var(--display);letter-spacing:-.55px}.world-card p {margin:0;color:#869ba3;font:400 11px/1.55 var(--body);-webkit-line-clamp:2}
.world-card footer {position:static;display:flex;align-items:center;gap:12px;margin:17px 18px 18px;padding-top:14px;border-top:1px solid #2b4146;color:#8aa8a5;font:500 9px var(--mono);letter-spacing:.3px}.world-card footer .progress {flex:1;margin:0}
.page-heading {position:relative;margin:0 0 31px;padding:64px 0 28px;border-color:#2d3d43}.page-heading h1 {margin:0 0 18px;max-width:none;font:700 clamp(49px,5vw,77px)/1.01 var(--display);letter-spacing:-.065em}.page-heading>p:not(.eyebrow) {max-width:650px;color:#a9b9b8;font:400 15px/1.7 var(--body)}
.heading-stats {display:flex;gap:34px;margin-top:44px;color:#9bbcac;font:600 10px var(--mono);letter-spacing:.7px}.heading-stats span:not(:first-child) {padding-left:34px;border-left:1px solid #3d534e}
.all-worlds {grid-template-columns:repeat(3,minmax(0,1fr))}
.back {display:inline-flex;align-items:center;margin:31px 0 20px;color:#a9ddc3;font:600 12px var(--body)}.back:hover {color:#e8fff2}
.world-hero {position:relative;display:grid;grid-template-columns:minmax(0,1fr) 290px;align-items:center;gap:20px;min-height:340px;padding:40px 44px;border:1px solid #36564a;border-radius:20px;background:radial-gradient(circle at 86% 50%,color-mix(in srgb,var(--world),transparent 72%),transparent 35%),linear-gradient(105deg,#152a2c,#101c22);overflow:hidden}
.world-hero::before {content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#a6f0d108 1px,transparent 1px),linear-gradient(#a6f0d108 1px,transparent 1px);background-size:43px 43px;mask-image:linear-gradient(90deg,transparent,black)}
.world-hero-copy {position:relative;z-index:1}.world-hero .eyebrow {color:var(--world)}.world-hero .eyebrow span {color:#849fa1}.world-hero h1 {margin:0 0 15px;font:700 clamp(39px,4vw,62px)/1 var(--display);letter-spacing:-.06em}.world-hero p:not(.eyebrow) {max-width:700px;margin:0;color:#afc0bd;font:400 13px/1.7 var(--body)}
.world-hero-art {height:240px;position:relative;display:grid;place-items:center}.world-hero-art::before {content:"";position:absolute;width:170px;height:170px;border-radius:50%;background:color-mix(in srgb,var(--world),#102127 65%);box-shadow:inset -15px -20px 35px #0008,0 0 60px color-mix(in srgb,var(--world),transparent 70%)}.world-hero-art .world-art-orbit {width:260px;height:120px}.world-hero-art strong {z-index:1;color:#effff5;font:700 74px var(--display);letter-spacing:-5px}.world-hero-art .world-art-dot {position:absolute;right:8%;top:15%;width:5px;height:5px;background:var(--world);border-radius:50%}
.world-hero-progress {max-width:410px;margin-top:30px}.world-hero-progress>div:first-child {display:flex;justify-content:space-between;color:#91afa7;font:600 9px var(--mono);letter-spacing:.7px}.world-hero-progress strong {font:700 17px var(--display);color:#dcf7df}.world-hero-progress .wide {width:100%;margin:10px 0 6px}.world-hero-progress small {color:#829b94;font:500 10px var(--body)}
.lesson-section-head {display:flex;justify-content:space-between;margin:47px 0 17px;padding-bottom:13px;border-bottom:1px solid #334541;color:#a4d9bb;font:600 10px var(--mono);letter-spacing:1px}.lesson-section-head b {color:#77968b;font-weight:500}
.lesson-list {max-width:none;margin:0;display:grid;gap:8px}.lesson-row {grid-template-columns:52px minmax(0,1fr) auto 28px;gap:19px;min-height:93px;padding:14px 20px;border:1px solid #283c41;border-radius:10px;background:#101a20;transition:transform .2s,border-color .2s,background .2s}.lesson-row:hover {transform:translateX(4px);background:#152722;border-color:#669d7e}.lesson-row>span {width:38px;height:38px;border-radius:8px;background:#1e3430;color:#a3c8b1;font:600 12px var(--mono)}.lesson-row.done>span {background:#244834;color:#c7ffcc}.lesson-row small {color:#729587;font:600 9px var(--mono);letter-spacing:.7px}.lesson-row h3 {margin:4px 0;font:700 16px var(--display);letter-spacing:-.3px}.lesson-row p {font:400 11px/1.5 var(--body)}.lesson-row>b {color:#a1d6b7;font:600 10px var(--mono)}.lesson-row>i {color:#9dddb7;font:22px var(--display)}.lesson-row.boss {margin:0;border-color:#686046;background:linear-gradient(90deg,#2b2924,#171f22)}.lesson-row.boss>span {color:#ffe1a5;background:#5a4929}.lesson-row.boss small,.lesson-row.boss>b {color:#e0bc79}
.lesson-top {margin:30px auto 0;max-width:1050px;padding:13px 16px;border:1px solid #30454a;border-radius:9px;background:#111e22}.lesson-top .back {margin:0}.lesson-top>span {color:#b5d8c4}.exit {color:#b2c6c3}.lesson {max-width:850px;margin:65px auto 110px}.lesson-label {font:600 10px var(--mono);letter-spacing:1.2px;color:#a6f0d1}.lesson h1 {font:700 clamp(29px,3.4vw,44px)/1.14 var(--display);letter-spacing:-1.7px}.prose {font:400 15px/1.8 var(--body);color:#c4d3d0}.prose pre,.code-block,.fill-code,.editor-wrap {background:#0b1519;border-color:#31494b;border-radius:10px}.options button,.pairs button,.order-lines button {background:#14252a;border-color:#334b4a;border-radius:9px;color:#dcebe7}.options button:hover,.options button.selected,.pairs button.selected {background:#1d3b35;border-color:#9cdebb}.options button.selected span {background:#a6f0d1;color:#10291d}.explanation {background:#17332d;border-color:#a6f0d1}.explanation.failure {background:#382b2b;border-color:#fb858a}.answer-input,.auth-dialog input {background:#101c22;border-color:#38544e;color:#f2fff7}.answer-input:focus,.auth-dialog input:focus {outline:2px solid #a6f0d1;outline-offset:1px}.editor-head {background:#17292b;border-color:#31494b}.editor {background:#0b1519}.tabs button.active {background:#1c4337;border-color:#a6f0d1;color:#deffea}
.task-prompt {margin:-9px 0 28px;padding:17px 20px;border-left:2px solid #6ebf96;background:#14251f;border-radius:0 8px 8px 0;font-size:13px}.task-prompt p {margin:0}
.auth-backdrop {position:fixed;z-index:20;inset:0;display:grid;place-items:center;padding:20px;background:#050b0bd9;backdrop-filter:blur(10px)}
.auth-dialog {position:relative;width:min(440px,100%);max-height:calc(100dvh - 40px);overflow:auto;border:1px solid #5a8670;border-radius:17px;padding:37px;background:radial-gradient(circle at 90% 0%,#2858486e,transparent 45%),#111f20;box-shadow:0 35px 120px #000b}
.auth-mark {margin-bottom:31px}.auth-dialog .eyebrow {margin-bottom:15px}.auth-dialog h2 {margin:0 0 13px;font:700 34px/1.04 var(--display);letter-spacing:-1.8px}.auth-dialog>p:not(.eyebrow) {color:#adc3b8;font:400 13px/1.6 var(--body)}
.auth-dialog form {display:grid;gap:16px}.auth-dialog label {display:grid;gap:4px;color:#a7c9b6;font:600 10px var(--mono);letter-spacing:.6px}.auth-dialog input {width:100%;margin-top:5px;border:1px solid #38544e;border-radius:8px;padding:13px 14px;font:400 14px var(--body)}.auth-dialog .button {width:100%;margin-top:5px}
.auth-error {margin:0;padding:10px 12px;border-left:3px solid var(--danger);border-radius:4px;background:#3e292b;color:#ffd2d3;font:500 12px var(--body)}
.auth-switch {margin-top:24px;font:500 12px var(--body);color:#93afa5}.auth-switch button {padding:0 0 0 4px;border:0;background:transparent;color:var(--cyan);font-weight:700}.auth-bottom {margin-top:30px;padding-top:15px;border-top:1px solid #315147;color:#6b8e7c;font:500 9px var(--mono);letter-spacing:1px}
.modal-close {position:absolute;right:18px;top:14px;border:0;background:transparent;color:#a8c5b5;font-size:26px}.account-summary {text-align:center}.account-summary .account-avatar.large {width:64px;height:64px;margin:4px auto 25px;border-radius:16px;font:700 27px var(--display)}.account-summary h2 {font-size:24px;overflow-wrap:anywhere}.sync-status {display:inline-flex;align-items:center;gap:5px;padding:8px 11px;border:1px solid #3f7554;border-radius:99px;background:#1a4335;color:#bdf6ca;font:600 9px var(--mono);letter-spacing:.6px}.sync-status .live-dot {margin-right:5px}.signout {display:block;margin:24px auto 0;padding:8px;border:0;background:transparent;color:#c3e3d0;font:600 12px var(--body)}.signout:hover {color:#fff}
.toast {border-color:#448367;background:#153e2f;color:#e4ffeb}
@media (max-width:1320px) {
  .main {padding-inline:35px}.hero {padding:46px 40px;grid-template-columns:minmax(0,1fr) 360px}.hero h1 {font-size:58px}.visual-terminal {right:-15px}.orbit-one {width:310px;height:310px}.orbit-two {width:380px;height:380px}.dashboard-grid {grid-template-columns:minmax(0,1.5fr) repeat(2,minmax(0,.8fr))}.metric-card b {font-size:41px}
}
@media (max-width:1080px) {
  .sidebar {width:220px;padding-inline:16px}.main {margin-left:220px;padding-inline:26px}.hero {grid-template-columns:1fr 270px;min-height:510px;padding:40px 35px}.hero h1 {font-size:52px}.hero-visual {min-height:390px}.visual-core {width:160px;height:160px}.core-g {font-size:97px}.core-bracket {font-size:40px}.orbit-one {width:245px;height:245px}.orbit-two {width:300px;height:300px}.visual-terminal {width:240px;right:-20px}.terminal-lines {font-size:9px}.dashboard-grid {grid-template-columns:1fr 1fr}.next-card {grid-column:1/-1}.world-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:850px) {
  .sidebar {display:none}.main {margin:0;padding:0 23px 100px}.mobile-head {display:flex;align-items:center;justify-content:space-between;height:67px;margin:0;border-bottom:1px solid #293d3d}.mobile-head .brand {font-size:22px}.mobile-head .brand-symbol {width:30px;height:30px;flex-basis:30px}.mobile-head>div {display:flex;gap:8px}.mobile-head button {margin:0;border:1px solid #375449;border-radius:7px;background:#132820;color:#c5e8d0;padding:7px 11px;font:600 11px var(--body)}.mobile-head .mobile-account {background:#a6f0d1;color:#143526;border-color:#a6f0d1}.topline {height:42px;font-size:8px}.mobile-nav {display:grid;grid-template-columns:repeat(3,1fr);position:fixed;z-index:9;bottom:0;left:0;right:0;padding:8px 12px max(8px,env(safe-area-inset-bottom));border-top:1px solid #315148;background:#0c1716f5;backdrop-filter:blur(16px)}.mobile-nav a {display:grid;gap:2px;justify-items:center;color:#789a89;font:600 9px var(--body)}.mobile-nav a i {font:400 20px var(--display);font-style:normal}.mobile-nav a.active {color:#bff8d0}.hero {grid-template-columns:1fr 300px;min-height:460px}.hero h1 {font-size:46px}.hero-proof {margin-top:34px}.main-footer {margin-top:65px}
}
@media (max-width:700px) {
  .hero {display:block;padding:30px 26px 0;min-height:0}.hero h1 {font-size:clamp(46px,9vw,65px)}.hero .lead {font-size:13px}.hero-visual {height:315px;min-height:0;max-width:390px;margin:0 auto}.visual-core {width:155px;height:155px}.orbit-one {width:225px;height:225px}.orbit-two {width:290px;height:290px}.visual-terminal {width:205px;right:0;bottom:6px}.terminal-lines {padding:10px;font-size:8px}.terminal-head {height:25px}.terminal-pass {padding:8px;font-size:7px}.badge-top {top:15px;right:6px}.visual-coordinate {display:none}.hero::after {display:none}.dashboard-grid {grid-template-columns:1fr 1fr}.next-card {grid-column:1/-1}.metric-card {min-height:155px}.world-grid,.all-worlds {grid-template-columns:repeat(2,minmax(0,1fr))}.world-hero {grid-template-columns:1fr;padding:30px}.world-hero-art {position:absolute;right:-45px;top:-40px;opacity:.24;pointer-events:none}.world-hero-copy {max-width:100%}.world-hero h1 {max-width:65%}.world-hero p:not(.eyebrow) {max-width:80%}
}
@media (max-width:520px) {
  .main {padding-inline:15px}.topline-right {display:none}.hero {margin-top:17px;padding:26px 22px 0}.hero h1 {font-size:clamp(42px,12vw,60px)}.hero .eyebrow {font-size:8px;letter-spacing:.8px;margin-bottom:20px}.hero-actions {gap:18px}.hero-proof {font-size:8px}.hero-visual {height:280px}.visual-core {width:145px;height:145px}.core-g {font-size:86px}.visual-terminal {right:-7px}.badge-top {right:-6px;font-size:7px}.dashboard-grid {gap:10px}.next-card,.metric-card {min-height:166px}.next-card-body h2 {font-size:19px}.metric-card {padding:14px;min-height:130px}.metric-card b {font-size:36px}.metric-card p {font-size:9px}.metric-card .metric-label {font-size:8px}.section-head {align-items:flex-start;margin-top:55px}.section-head h2 {font-size:31px}.section-head p:not(.eyebrow) {max-width:250px}.section-head>a {font-size:0}.section-head>a span {font-size:24px}.world-grid,.all-worlds {grid-template-columns:1fr}.world-card {min-height:260px}.world-art {height:80px}.world-card p {-webkit-line-clamp:2}.page-heading {padding-top:40px}.page-heading h1 {font-size:49px}.page-heading>p:not(.eyebrow) {font-size:13px}.heading-stats {gap:10px;margin-top:30px;font-size:8px}.heading-stats span:not(:first-child) {padding-left:10px}.world-hero {min-height:310px;padding:27px 23px}.world-hero h1 {font-size:43px}.world-hero p:not(.eyebrow) {max-width:100%;font-size:12px}.world-hero-art {right:-125px}.lesson-row {grid-template-columns:35px minmax(0,1fr) auto;gap:10px;padding:12px}.lesson-row>span {width:31px;height:31px;font-size:10px}.lesson-row h3 {font-size:14px}.lesson-row p,.lesson-row>i {display:none}.lesson-row>b {font-size:9px}.lesson {margin:44px auto 90px}.lesson-top {gap:8px;padding:9px}.lesson-top .back {max-width:90px;font-size:10px}.lesson h1 {font-size:31px}.auth-dialog {padding:30px 23px}.auth-dialog h2 {font-size:31px}.main-footer {font-size:8px}
}
@media (prefers-reduced-motion:reduce) {html {scroll-behavior:auto}*,*::before,*::after {animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* Phone ergonomics: safe areas, comfortable tap targets and no iOS input zoom. */
@media (max-width:850px) {
  .main {padding-bottom:calc(100px + env(safe-area-inset-bottom));padding-left:max(15px,env(safe-area-inset-left));padding-right:max(15px,env(safe-area-inset-right))}
  .mobile-head {gap:10px;padding-top:env(safe-area-inset-top);height:auto;min-height:72px}
  .mobile-head .brand,.mobile-head button,.mobile-nav a,.text-button,.section-head>a {min-height:44px}
  .mobile-head .brand {display:flex;align-items:center}
  .mobile-head button {min-width:44px}
  .auth-dialog .modal-close {width:44px;height:44px}
  .auth-switch button {min-height:44px}
  .mobile-nav a {align-content:center;font-size:10px}
  .mobile-nav {padding-left:max(10px,env(safe-area-inset-left));padding-right:max(10px,env(safe-area-inset-right))}
  .auth-dialog input,.answer-input,.reading-search,select {font-size:16px}
  .lesson-top .back,.lesson-top .exit {min-height:44px;display:inline-flex;align-items:center;justify-content:center}
  .lesson-top .exit {min-width:44px}
  .reading-chapters summary>div {min-width:0;overflow-wrap:anywhere}
  .toast {bottom:calc(85px + env(safe-area-inset-bottom));left:15px;right:15px}
}
@media (max-width:360px) {
  .resume-card,.daily-card {padding:20px}
  .mobile-head>div {gap:5px}
  .mobile-head button {padding-inline:9px}
}

/* Learning workspace: quiet hierarchy, readable theory and truthful state. */
.activity-section {margin:35px 0;padding:26px;border:1px solid #355444;border-radius:14px;background:#101e1b}.activity-section h2 {margin:0;font:600 22px var(--display)}.activity-section p {font-size:13px}.activity-grid {display:grid;grid-template-columns:repeat(30,minmax(0,1fr));gap:5px;margin-top:20px}.activity-day {display:grid;place-items:center;aspect-ratio:1;background:#1e3428;border:1px solid #3d5b45;border-radius:4px;color:#95b39e}.activity-day small {font:10px var(--mono)}.activity-day.level-1 {background:#3f7452;color:#e7f9e9}.activity-day.level-2 {background:#70b68a;color:#10251b}.activity-day.level-3 {background:#b0edc2;color:#10251b}.activity-legend {display:flex;justify-content:space-between;margin-top:12px;color:#92b39d;font:11px var(--mono)}@media(max-width:850px){.activity-grid{grid-template-columns:repeat(15,minmax(0,1fr))}}@media(max-width:520px){.activity-section{padding:18px}.activity-grid{grid-template-columns:repeat(10,minmax(0,1fr))}}
.learner-heading,.compact-heading {padding:44px 0 28px}.learner-heading h1,.compact-heading h1 {margin:0 0 16px;font:700 clamp(36px,4vw,54px)/1.08 var(--display);letter-spacing:-2px}.learner-heading>p:last-child,.compact-heading>p:last-child {color:#afc7bc;max-width:760px;font-size:15px;line-height:1.7}
.learner-top {display:grid;grid-template-columns:minmax(0,2fr) minmax(230px,1fr);gap:20px}.resume-card,.daily-card {padding:30px;border:1px solid #416b58;border-radius:18px;background:radial-gradient(at 100% 0,#28544366,transparent 70%),#122320}.resume-card h2 {font:700 32px/1.15 var(--display);letter-spacing:-1px;margin:12px 0}.resume-card>p:not(.eyebrow){color:#b4c8be;line-height:1.7}.resume-card .button {margin:15px 0 25px}.resume-card>.progress {width:100%;margin-bottom:12px}.resume-card>small,.daily-card>small {display:block;color:#98b7a8;font-size:12px}.daily-card {background:#111e21;border-color:#2c4641}.daily-card>strong {display:block;font:700 60px var(--display);color:#c4f5d5}.daily-card strong small {font-size:30px;color:#7d9d8f}.daily-card label {display:flex;align-items:center;gap:12px;margin:25px 0 16px;color:#b7cfbf}.daily-card select,.sim-settings select,.sim-settings input,.reading-search {border:1px solid #476d5c;border-radius:8px;padding:11px;background:#0f201b;color:#e4f7ed;font:inherit}
.study-links {display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:20px 0}.study-links>a {display:flex;align-items:center;gap:18px;border:1px solid #2f4841;border-radius:14px;padding:22px;background:#111e21}.study-links>a>span {color:#a6f0d1;font-size:28px}.study-links h3 {margin:0 0 7px;font-size:17px}.study-links p {margin:0;color:#9fbcad;font-size:13px;line-height:1.6}.study-links a:hover,.reading-grid>a:hover {border-color:#96d8b6}
.reading-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.reading-grid>a {display:flex;align-items:center;gap:20px;padding:25px;border:1px solid #2f4c44;border-radius:14px;background:#111f21}.reading-grid>a>span {width:55px;color:var(--world);font:700 28px var(--mono)}.reading-grid>a>div {flex:1;min-width:0}.reading-grid h2 {margin:0 0 8px;font-size:20px}.reading-grid p {margin:0;color:#9bb5a8;font-size:13px}.reading-search {width:min(100%,600px);margin-top:15px}.reading-chapters {max-width:920px}.reading-chapters details {margin-bottom:12px;border:1px solid #355447;border-radius:14px;overflow:hidden;background:#101f21}.reading-chapters summary {display:flex;align-items:center;gap:18px;padding:24px;cursor:pointer;list-style:none}.reading-chapters summary::-webkit-details-marker{display:none}.reading-chapters summary>span {color:#8ab39c;font:500 13px var(--mono)}.reading-chapters summary>div {flex:1}.reading-chapters summary b {font:600 20px var(--display)}.reading-chapters summary small {display:block;color:#93ad9f;font-size:12px;margin-top:7px}.reading-chapters summary>i {font:24px var(--display);color:#a6f0d1}.reading-chapters details[open] summary {border-bottom:1px solid #30473f}.reading-chapters details[open] summary>i {transform:rotate(45deg)}.reading-body {padding:10px 38px 36px;max-width:850px;margin:auto}.reading-body section {padding:24px 0;border-bottom:1px solid #2c423b;margin-bottom:24px}.reading-body h2 {font:600 26px/1.2 var(--display);letter-spacing:-.7px}.prose {font-size:17px;line-height:1.85;overflow-wrap:anywhere}.prose p {margin:0 0 1.2em}.prose li {margin:.65em 0}.prose ul,.prose ol {padding-left:24px;margin:1.2em 0}.prose pre {overflow:auto;white-space:pre;padding:20px;font-size:13px;line-height:1.7}.prose pre code {padding:0;background:none;color:inherit;white-space:pre}.prose strong {color:#e6f5ee}.prose :not(pre)>code {background:#22433566;color:#c8f7da;padding:2px 5px;border-radius:4px;font-size:.87em}.lesson h1 code {font-size:.8em;letter-spacing:-.5px}
.lesson-tools {display:flex;align-items:center;flex-wrap:wrap;justify-content:space-between;gap:12px;margin:16px 0 32px;font-size:12px;color:#8dab9c}.lesson-tools a {color:#b4eccb}.text-button {border:0;background:transparent;padding:8px 0;color:#b4eccb;font:inherit;cursor:pointer}.text-button:disabled {opacity:.35;cursor:default}.answer-status {display:block;margin-bottom:12px}.explanation {font-size:15px;line-height:1.75}.options button {font-size:16px;line-height:1.6;min-height:60px;text-align:left}.order-lines button {display:flex;align-items:center;gap:15px;text-align:left}.order-lines code {white-space:pre-wrap;overflow-wrap:anywhere;flex:1}.order-answer {min-height:80px;border:1px dashed #668b73;border-radius:10px;padding:12px;margin-bottom:24px}.order-bank {margin-bottom:24px}.pairs button {font-size:14px;line-height:1.6;text-align:left;min-height:65px}.pairs button.connected {border-color:#82cba0;background:#214132}.pairs button b {color:#b1efc7}.flashcard {height:auto;min-height:0;display:grid}.card-face {position:static;grid-area:1/1;min-height:300px;height:auto;padding:32px;transform:none!important;transition:none;background:#142c27;border-color:#416c57}.card-face.front {visibility:visible}.card-face.back {visibility:hidden;background:#142c27}.flashcard.flipped .front {visibility:hidden}.flashcard.flipped .back {visibility:visible}.flashcard-answer {text-align:left;width:100%}.card-actions {margin-top:20px}
.learning-sim {text-align:left;padding:24px;margin:25px 0;background:#0f201e;border:1px solid #3b6952;border-radius:14px}.sim-top {color:#baf0ca;font:600 14px var(--mono);margin-bottom:22px}.sim-settings {display:flex;align-items:center;flex-wrap:wrap;gap:20px;font-size:13px;margin-bottom:24px}.sim-settings label {display:flex;align-items:center;gap:10px}.sim-settings input {max-width:180px}.channel-model {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.channel-model article {padding:20px 10px;background:#1a3429;border:1px solid #41644a;border-radius:10px;text-align:center}.channel-model b {display:block;color:#d0f6d9;font:600 28px var(--mono)}.channel-model span {display:block;margin-top:10px;font-size:12px;color:#acc8b5}.sim-controls {display:flex;flex-wrap:wrap;gap:10px;margin:22px 0}.sim-controls button {border:1px solid #57856a;background:#264b35;color:#e4f9eb;border-radius:7px;padding:12px;font:500 13px var(--mono)}.sim-controls button:hover {background:#356345}.sim-log {padding:12px 18px;border-radius:8px;background:#091510;font-size:13px;line-height:1.65;color:#a5c5b3;max-height:250px;overflow:auto}.sim-log p:first-child {color:#e1f9e9}.sim-partitions {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.sim-partitions article {min-width:0;padding:15px;border:1px solid #375943;border-radius:8px}.sim-partitions article>div {display:flex;flex-wrap:wrap;gap:5px;max-height:100px;overflow:auto;margin:15px 0}.sim-partitions i {font:12px var(--mono);padding:6px;background:#233029;border:1px solid #557760;border-radius:4px}.sim-partitions i.processed {background:#bcd5c4;color:#10261a}.sim-partitions i.committed {background:#82d5a0;color:#10261a}.sim-partitions small {color:#a1c3ac;line-height:1.8}.muted {color:#9cb7aa;line-height:1.7}
.insight-metrics {display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.insight-metrics article {padding:25px;border:1px solid #355444;border-radius:14px;background:#11211e}.insight-metrics strong {display:block;font:600 43px var(--display);color:#c2f2d1}.insight-metrics small {font-size:20px;color:#9dbda9}.insight-metrics span {display:block;color:#a7c0b0;font-size:13px;margin-top:9px}.topic-stats {border:1px solid #355444;border-radius:14px;overflow:hidden}.topic-stats>a {display:grid;grid-template-columns:minmax(180px,1fr) minmax(100px,1fr) 55px;align-items:center;gap:25px;padding:20px 24px;background:#101f1d;border-bottom:1px solid #2c4638}.topic-stats>a:last-child {border:0}.topic-stats small {display:block;color:#95b39f;margin-top:8px;font-size:12px}.topic-stats .progress {width:100%}.topic-stats strong {text-align:right;color:#c5f0d0}.review-list article {display:flex;align-items:center;flex-wrap:wrap;gap:20px;padding:24px;background:#14251f;border:1px solid #375d46;border-radius:12px;margin-bottom:12px}.review-list article>div {flex:1 1 300px}.review-list h3 {line-height:1.5;font-size:17px}.review-list small,.review-list p {color:#9dbaa7}.empty-state {padding:35px;border:1px dashed #43674d;border-radius:14px;color:#a8c3b1;line-height:1.75}.empty-state h3 {color:#e0f1e4}.completion {max-width:720px;text-align:center;margin:80px auto}.completion-check {display:grid;place-items:center;margin:0 auto 30px;width:90px;height:90px;border-radius:50%;background:#264f35;color:#c5f3cf;font-size:42px}.completion h1 {font:700 40px/1.15 var(--display);letter-spacing:-1px}.completion-stars {color:#e0c58b;font-size:40px;letter-spacing:8px}.completion p:not(.eyebrow) {color:#b2cdbb}.completion-actions {display:grid;gap:15px;margin:35px auto;max-width:350px}
[hidden] {display:none!important}:focus-visible {outline:2px solid #b5f2ca;outline-offset:4px}
@media(max-width:850px){.mobile-nav {grid-template-columns:repeat(5,1fr)}.learner-top{grid-template-columns:1fr}.daily-card{display:flex;align-items:center;flex-wrap:wrap;gap:12px 24px}.daily-card .eyebrow{width:100%;margin:0}.daily-card>strong{font-size:40px}.daily-card>p{margin:0}.daily-card label{margin:0}.daily-card>small{width:100%}.reading-grid,.study-links{grid-template-columns:1fr}.insight-metrics{gap:9px}.insight-metrics article{padding:17px}.insight-metrics strong{font-size:31px}}
@media(max-width:520px){.learner-heading,.compact-heading{padding:30px 0 22px}.learner-heading h1,.compact-heading h1{font-size:36px}.resume-card,.daily-card{padding:24px}.resume-card h2{font-size:28px}.reading-body{padding:5px 20px 24px}.reading-chapters summary{padding:20px 16px;gap:12px}.reading-chapters summary b{font-size:18px}.prose{font-size:16px;line-height:1.85}.prose pre{padding:14px;font-size:12px}.insight-metrics{grid-template-columns:1fr}.insight-metrics article{display:flex;align-items:center;gap:20px}.insight-metrics span{margin:0}.topic-stats>a{grid-template-columns:1fr 44px;padding:18px;gap:15px}.topic-stats .progress{grid-row:2;grid-column:1/-1}.topic-stats strong{grid-column:2;grid-row:1}.learning-sim{padding:16px}.channel-model{gap:5px}.channel-model b{font-size:21px}.channel-model span{font-size:10px}.sim-partitions{grid-template-columns:1fr}.lesson-tools{font-size:11px;gap:8px}.lesson-tools>span{width:100%;order:3}.card-face{padding:24px}.completion{margin:45px auto}.completion h1{font-size:32px}.reading-grid>a{padding:20px;gap:14px}}
