:root{color-scheme:dark;--base:#080808;--panel:#252525;--line:#414141;--text:#ffffff;--muted:#b8b8b8;--teal:#75df90;--amber:#ffab62;--violet:#63ddd7}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--base);color:var(--text);font:16px/1.65 'DM Sans',system-ui,sans-serif}a{color:inherit;text-decoration:none}a:focus-visible,summary:focus-visible{outline:2px solid var(--teal);outline-offset:6px}.wrap{max-width:1256px;margin:auto;padding-left:40px;padding-right:40px}.skip{position:absolute;top:-70px;left:20px;background:var(--teal);color:var(--base);padding:10px;z-index:10}.skip:focus{top:8px}.nav{height:112px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;gap:12px;align-items:center;font-size:11px;line-height:1.5;letter-spacing:2px}.brand b{font-size:15px;letter-spacing:4px}.brand-symbol{width:42px;height:42px;border:1px solid var(--teal);border-radius:50%;display:grid;place-items:center;font-size:24px;color:var(--teal)}nav{display:flex;gap:30px;font-size:14px;color:var(--muted)}nav a:hover,.text-link:hover{color:var(--teal)}.button{display:inline-flex;align-items:center;justify-content:center;gap:28px;background:var(--teal);color:#09150d;border-radius:6px;padding:16px 24px;font-size:14px;font-weight:700;line-height:1.5;transition:background .15s,transform .15s}.button:hover{background:#9aefb0;transform:translateY(-2px)}.button.small{padding:11px 18px}.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:64px;align-items:center;padding-top:70px;padding-bottom:84px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:2.6px;color:var(--teal);margin:0 0 22px}.status-dot{display:inline-block;width:6px;height:6px;background:var(--teal);border-radius:50%;vertical-align:middle;margin-right:8px}h1,h2,h3{font-family:Manrope,system-ui,sans-serif;line-height:1.12;letter-spacing:-1.8px;margin:0}h1{font-size:clamp(40px,4.7vw,67px);font-weight:800}h1 span{color:var(--teal)}h2{font-size:clamp(31px,3.3vw,46px);font-weight:700}h3{font-size:23px;letter-spacing:-.6px}.lede{color:var(--muted);font-size:17px;max-width:480px;line-height:1.8;margin:24px 0}.actions{display:flex;align-items:center;gap:26px;margin-top:32px}.text-link{font-size:13px}.quiet{font-size:12px;color:var(--muted);margin:16px 0 0}.radar-panel{border:1px solid #474747;border-radius:12px;overflow:hidden;box-shadow:0 25px 90px #0004;transform:rotate(-2deg)}.panel-top,.panel-bottom{display:flex;justify-content:space-between;align-items:center;gap:10px;background:#252525;padding:15px;font:9px/1.5 monospace;letter-spacing:1px}.panel-bottom{font-size:9px}.panel-bottom a{color:var(--teal);letter-spacing:0}.teal{color:var(--teal)}.violet{color:var(--violet)}.amber{color:var(--amber)}.hero-radar{display:block;width:100%;height:auto}.capabilities{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.capabilities .wrap{display:flex;justify-content:space-between;gap:20px;padding-top:22px;padding-bottom:22px;color:#aaaaaa;font:10px/1.5 monospace;letter-spacing:1.5px}.section{padding-top:100px;padding-bottom:100px}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:42px}.section-head>p{color:var(--muted);font-size:14px;margin-bottom:5px}.game-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.game-card{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#222222;transition:transform .2s,border-color .2s}.game-card:hover{transform:translateY(-4px);border-color:#858585}.game-art{height:202px;position:relative;overflow:hidden;background:#181818}.radar-art{background:radial-gradient(circle at 50% 50%,transparent 36px,#343434 37px,transparent 38px,transparent 73px,#343434 74px,transparent 75px),repeating-linear-gradient(0deg,transparent 0 39px,#303030 40px),repeating-linear-gradient(90deg,transparent 0 39px,#303030 40px),#161616}.art-gate{position:absolute;top:68px;left:58%;width:50px;height:4px;background:var(--teal);transform:rotate(25deg)}.art-plane{position:absolute;top:102px;left:35%;color:var(--teal);transform:rotate(-35deg);font-size:29px}.art-tag{position:absolute;top:145px;left:42%;color:var(--teal);font:10px monospace}.game-info{padding:26px}.index{font:10px monospace;letter-spacing:2px}.game-info h3{margin-top:16px}.game-info p{font-size:14px;line-height:1.8;color:var(--muted);min-height:103px}.game-meta{display:flex;gap:8px;flex-wrap:wrap;font-size:10px;color:#cccccc}.game-meta span{padding:4px 8px;border:1px solid var(--line);border-radius:4px}.game-link{display:flex;justify-content:space-between;margin-top:26px;padding-top:16px;border-top:1px solid var(--line);font-size:13px;font-weight:600}.game-link:hover{color:var(--teal)}.signal-art{padding:26px}.signal-art>div{position:relative;height:31px;margin:3px 0;border-bottom:1px solid #566075;color:#ffab62}.signal-art>div:nth-child(2){color:var(--amber)}.signal-art>div:nth-child(3){color:var(--teal)}.signal-art span{position:absolute;left:20%;top:3px;border-radius:50%;background:currentColor;width:18px;height:18px;font-size:0}.signal-art>div:nth-child(2) span{left:55%}.signal-art>div:nth-child(3) span{left:38%}.signal-art i{position:absolute;right:13%;top:0;height:27px;width:24px;background:#ffffff12;border-left:2px solid currentColor}.signal-art em{position:absolute;right:0;top:0;font:12px monospace}.signal-art b{display:block;margin-top:15px;font:16px monospace;letter-spacing:5px;color:var(--violet)}.signal-art small{font-size:12px;letter-spacing:0;color:var(--amber)}.maths-art{padding:34px;color:var(--amber)}.maths-art>span{font:9px monospace;letter-spacing:1.5px;color:#63ddd7}.maths-art strong{display:block;font:700 48px Manrope;margin-top:12px}.maths-art small{font-size:16px}.maths-art div{font:14px monospace;color:var(--muted);margin-top:10px}.maths-art b{color:var(--amber);margin:0 10px}.practice-section{background:#1b1b1b;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.practice-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;padding-top:76px;padding-bottom:76px}.steps{list-style:none;padding:0;margin:0}.steps li{display:flex;gap:24px;padding:22px 0;border-bottom:1px solid var(--line)}.steps li:first-child{padding-top:0}.steps li>span{font:12px monospace;color:var(--amber);padding-top:5px}.steps h3{font-size:18px}.steps p{color:var(--muted);font-size:14px;line-height:1.8;margin:9px 0 0}.membership-grid{display:grid;grid-template-columns:1fr 1fr;gap:130px;align-items:center}.plan{border:1px solid #484848;background:linear-gradient(145deg,#292929,#1c1c1c);padding:38px;border-radius:12px}.plan-badge{display:inline-block;font:10px monospace;letter-spacing:1.5px;color:var(--teal);margin-bottom:16px}.plan h3{font-size:26px}.price{font:700 68px Manrope;letter-spacing:-3px;margin:20px 0}.price span{font:13px 'DM Sans',sans-serif;letter-spacing:0;color:var(--muted);margin-left:5px}.plan ul{list-style:none;padding:0;margin:0 0 28px}.plan li{padding:10px 0;border-bottom:1px solid #ffffff12;font-size:14px}.plan li:before{content:'✓';color:var(--teal);padding-right:12px}.plan .button{width:100%}.faq{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1.2fr;gap:80px}.faq details{border-bottom:1px solid var(--line);padding:22px 0}.faq details:first-child{padding-top:0}summary{cursor:pointer;font-size:16px;font-weight:500}.faq p{color:var(--muted);font-size:14px;line-height:1.8}.closing{text-align:center;padding-top:10px;padding-bottom:90px}.closing h2{font-size:52px;margin-bottom:30px}footer{display:flex;justify-content:space-between;gap:25px;align-items:center;border-top:1px solid var(--line);min-height:100px;font-size:11px;color:var(--muted)}footer p{font-size:12px}footer>div{display:flex;gap:24px}.legal{max-width:820px;padding-top:70px;padding-bottom:100px}.legal h1{font-size:44px}.legal h2{font-size:23px;margin-top:36px;letter-spacing:-.5px}.legal p{color:var(--muted)}.legal a{color:var(--teal)}
@media(max-width:1000px){.hero{gap:32px}.actions{gap:16px}.membership-grid{gap:60px}.game-grid{gap:14px}.game-info{padding:20px}.practice-grid{gap:50px}nav{gap:18px}.wrap{padding-left:26px;padding-right:26px}.game-info p{min-height:130px}}
@media(max-width:720px){.wrap{padding-left:22px;padding-right:22px}.nav{height:88px;gap:14px}.nav nav{display:none}.nav .small{padding:10px 12px;font-size:12px}.brand{font-size:9px;gap:8px}.brand b{font-size:12px;letter-spacing:3px}.brand-symbol{width:32px;height:32px;font-size:20px}.hero{grid-template-columns:1fr;padding-top:48px;padding-bottom:48px;gap:48px}h1{font-size:48px}.lede{font-size:16px}.hero .radar-panel{max-width:500px;width:100%;margin:auto}.capabilities .wrap{display:grid;grid-template-columns:1fr 1fr;gap:16px;font-size:9px}.section{padding-top:64px;padding-bottom:64px}.section-head{display:block}.section-head>p{margin-top:22px}.game-grid{grid-template-columns:1fr;gap:24px}.game-art{height:190px}.game-info{padding:26px}.game-info p{min-height:0}.practice-grid,.membership-grid,.faq{grid-template-columns:1fr;gap:36px}.practice-grid{padding-top:56px;padding-bottom:56px}.plan{padding:28px}.faq{gap:32px}.closing{padding-top:20px;padding-bottom:60px}.closing h2{font-size:40px}footer{padding-top:28px;padding-bottom:28px;flex-direction:column;gap:16px;align-items:flex-start}footer p{margin:0}.actions{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;transform:none!important}}

.account-page{max-width:760px;padding-top:56px;padding-bottom:80px}.account-page h1{font-size:38px}.account-page .plan{padding:40px}.preview-note{border:1px solid #ffab6244;color:#ffab62;padding:12px;border-radius:6px;font-size:13px}.account-page a.text-link,.account-page .quiet a{color:var(--teal)}@media(max-width:720px){.account-page .plan{padding:24px}.account-page h1{font-size:30px}}

.library{padding-top:40px;padding-bottom:80px}.library h1{font-size:clamp(34px,4vw,52px);letter-spacing:-1.6px}.library .eyebrow{margin-bottom:12px}.library-intro{color:var(--muted);margin:16px 0 0}.library .section-head{margin-bottom:32px}.nav .brand b{white-space:nowrap;font-size:17px;letter-spacing:2px}@media(max-width:720px){.library{padding-top:28px;padding-bottom:56px}.library .section-head>p{margin-top:16px}.nav .brand b{font-size:14px}.nav .small{gap:12px}}

/* Neutral surfaces with green, aqua and orange activity accents. */
:root{--green:#75df90;--aqua:#63ddd7;--orange:#ffab62;--teal:var(--green);--amber:var(--orange);--violet:var(--aqua)}
.game-card{--activity:var(--aqua);border-top:3px solid var(--activity);background:#222}
.game-card:nth-child(2){--activity:var(--green)}
.game-card:nth-child(3){--activity:var(--orange)}
.game-card .index,.game-card .game-link span{color:var(--activity)}
.game-card:hover{border-color:var(--activity)}
.game-link:hover{color:var(--activity)}
.game-meta span{background:#ffffff04}
.art-gate{background:var(--aqua)}
.art-plane,.art-tag{color:var(--aqua)}
.signal-art,.maths-art{background:#191919}
.signal-art>div:first-child{color:var(--orange)}
.signal-art>div:nth-child(2){color:var(--aqua)}
.signal-art>div:nth-child(3){color:var(--green)}
.game-card .game-link{border-top-color:#ffffff1c}
.plan{border-color:#484848}
.nav .brand-symbol{background:#75df9009}
@media(prefers-reduced-motion:no-preference){.game-card:hover{box-shadow:0 12px 32px #0005}}

.account-page input{display:block;width:100%;padding:14px;margin-top:6px;color:#fff;background:#151515;border:1px solid #626262;border-radius:8px;box-sizing:border-box;font:inherit}

/* PilotForge reference: black, chrome silver and electric blue. */
:root{--base:#000;--panel:#122332;--line:#304554;--text:#edf4f8;--muted:#afbec9;--green:#62d796;--aqua:#1bb9ed;--orange:#ffad58;--red:#ff6469;--teal:var(--aqua);--amber:var(--orange);--violet:#83d7ff}
body{background:#000;color:var(--text)}
.nav,.game-card,.plan{border-color:#344958}
.game-card{background:linear-gradient(145deg,#142635,#0c1721);border-top-color:var(--activity)}
.game-card:nth-child(2){--activity:var(--green)}
.game-card:nth-child(3){--activity:var(--orange)}
.game-art,.signal-art,.maths-art{background-color:#07121b}
.radar-art{background:radial-gradient(circle at 50% 50%,transparent 36px,#263f50 37px,transparent 38px,transparent 73px,#263f50 74px,transparent 75px),repeating-linear-gradient(0deg,transparent 0 39px,#1b2d3a 40px),repeating-linear-gradient(90deg,transparent 0 39px,#1b2d3a 40px),#07121b}
.signal-art>div:first-child{color:var(--red)}
.button{background:linear-gradient(135deg,#55d3ff,#13abe2);color:#00131f;border:1px solid #6bd9ff55}
.button:hover{background:linear-gradient(135deg,#8ae3ff,#38c6f1)}
.plan{background:linear-gradient(145deg,#162b3a,#0c1721)}
.plan li:before{color:var(--green)}
.brand-logo{display:block;width:54px;height:38px;object-fit:contain;flex-shrink:0}
.nav .brand b{color:#e5edf2}
.account-page input{background:#07121b;border-color:#43586a;color:#edf4f8}
.preview-note{color:var(--orange);border-color:#ffad5844}
@media(max-width:720px){.brand-logo{width:42px;height:31px}}

/* Refined library: clear hierarchy, quiet surfaces, purposeful accents. */
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}
:root{--panel:#171d23;--line:#30383f;--muted:#a5afb9}
.nav{min-height:82px;border-bottom:1px solid #ffffff12}
.nav nav a{color:#b8c1ca;font-size:13px}.nav nav a:hover{color:#fff}
h1,h2,h3{letter-spacing:-.035em}h1{font-size:clamp(38px,5vw,64px);line-height:1.06;font-weight:650}
.library{padding-top:64px;padding-bottom:88px}.library-intro{color:var(--muted);font-size:18px;line-height:1.6}
.eyebrow{letter-spacing:.14em;font-size:11px}.section-head{margin-bottom:34px}
.game-grid{gap:24px}.game-card{background:#10151a;border:1px solid #ffffff18;border-top:1px solid #ffffff18;border-radius:22px;overflow:hidden;transition:transform .2s,border-color .2s,box-shadow .2s}
.game-card:hover{transform:translateY(-4px);border-color:#ffffff40;box-shadow:0 20px 48px #0008}
.game-info{padding:28px}.game-info h3{font-size:25px;line-height:1.18;font-weight:650}.game-info p{color:#adb6bf;line-height:1.75}
.game-art{border-bottom:1px solid #ffffff12}.game-meta{color:#a5afb9;font-size:12px;gap:10px}.game-meta span{background:#ffffff06;border:1px solid #ffffff10;border-radius:100px;padding:5px 10px}
.game-link{font-weight:600}.button{border-radius:12px;background:#1bb9ed;border-color:transparent;box-shadow:none;font-weight:600}.button:hover{background:#5fd2f6}
.plan{background:#14191f;border:1px solid #ffffff1c;border-radius:24px;box-shadow:none}.plan-badge{border-radius:100px}.account-page input{background:#0d1116;border-color:#414b55;border-radius:10px;min-height:48px}
.account-page input:focus-visible,a:focus-visible,button:focus-visible{outline:2px solid #83d7ff;outline-offset:4px}
footer{border-top:1px solid #ffffff12;color:#a5afb9}
@media(max-width:720px){.library{padding-top:36px;padding-bottom:56px}.game-info{padding:24px}.game-grid{gap:20px}}
@media(prefers-reduced-motion:reduce){.game-card{transition:none}.game-card:hover{transform:none}}

/* Supplied PilotForge vector wordmark. */
.brand-logo{width:230px;height:42px;object-fit:contain;object-position:left center}
@media(max-width:720px){.brand-logo{width:180px;height:34px}}

.account-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.account-actions .login-button{background:transparent;color:var(--text);border:1px solid #ffffff35}.account-actions .login-button:hover{background:#ffffff10;border-color:#ffffff65}
@media(max-width:720px){.nav .brand-logo{width:150px}.account-actions{gap:8px}.account-actions .small{padding:10px 12px;font-size:12px}}
@media(max-width:380px){.nav .brand-logo{width:120px}.account-actions .small{padding:9px 10px}}

.game-art-link{display:block;color:inherit;text-decoration:none;cursor:pointer}.game-art-link:focus-visible{outline:2px solid var(--aqua);outline-offset:-4px}.game-art-link:hover .game-art{filter:brightness(1.12)}

.overall-points{color:var(--green);font-weight:650;font-variant-numeric:tabular-nums;white-space:nowrap}.overall-leaderboard{padding-top:0}.leaderboard-panel{padding:28px;background:#10151a;border:1px solid #ffffff18;border-radius:22px}.overall-table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}.overall-table th,.overall-table td{text-align:left;padding:16px 12px;border-bottom:1px solid #ffffff12}.overall-table th{color:var(--muted);font-size:12px;font-weight:500}.overall-table th:last-child,.overall-table td:last-child{text-align:right}.overall-table td:last-child{color:var(--green);font-weight:600}.leaderboard-panel .quiet{color:var(--muted);font-size:12px;margin:20px 12px 0}

.overall-table td[colspan]{text-align:center;color:var(--muted);font-weight:400;padding:28px 12px}

.overall-points{font-size:20px;font-weight:700}.account-profile-link{display:flex;flex-direction:column;align-items:flex-start;gap:3px}.account-username{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;color:var(--text)}.account-profile-link>span:last-child{font-size:12px;color:var(--aqua)}
@media(max-width:720px){.account-actions .overall-points{font-size:18px}.account-profile-link .account-username{max-width:90px}.nav:has(.account-profile-link) .brand-logo{width:120px}}

/* Shared PilotForge design tokens: matched to the training app palette. */
:root{--base:#000000;--panel:#171d23;--sidebar:#101419;--line:#48545f;--text:#edf4f8;--muted:#bbc8d2;--aqua:#1bb9ed;--green:#62d796;--orange:#ffad58;--red:#ff6469;--radius-card:18px;--radius-button:12px}
.nav.wrap{max-width:none;width:100%;box-sizing:border-box;height:72px;min-height:72px;padding:0 24px;margin:0;background:var(--panel);border-bottom:1px solid var(--line);gap:24px}
.nav .brand-logo{width:230px;height:42px}.nav .account-actions{margin-left:auto;gap:12px}.nav nav{margin-left:auto}
.game-card,.leaderboard-panel,.plan{background:var(--panel);border-color:var(--line);border-radius:var(--radius-card)}
.nav,.game-art,.game-link,.game-meta span,.plan li,.faq,.faq details,.steps li,.practice-section,footer,.overall-table th,.overall-table td,.account-page input,.account-actions .login-button{border-color:var(--line)}
.button,.account-actions .login-button{border-radius:var(--radius-button);min-height:44px;box-sizing:border-box;font-size:13px}
.game-card:hover{border-color:var(--line)}.account-actions .login-button:hover{border-color:var(--line)}
.game-info h3{font-size:24px;font-weight:600}.game-info p{font-size:14px;line-height:1.65}.game-meta span{border-radius:10px}
.overall-table th,.overall-table td{border-bottom:1px solid var(--line)}.game-art{border-bottom:1px solid var(--line)}
.account-page input{background:#0d1116}.account-username{font-size:14px;font-weight:600}.overall-points{font-size:20px;font-weight:700}
@media(max-width:720px){.nav.wrap{padding:0 16px;gap:12px}.nav .brand-logo{width:150px;height:36px}.nav:has(.account-profile-link) .brand-logo{width:120px}.nav .account-actions{gap:8px}.account-actions .small{padding:8px 10px}.account-actions .overall-points{font-size:18px}}
@media(max-width:380px){.nav .brand-logo{width:120px}.nav:has(.account-profile-link) .brand-logo{width:95px}.account-profile-link .account-username{max-width:75px}}

.signal-art>div{border-bottom-color:var(--line)}

@font-face{font-family:Manrope;src:url('/brand/fonts/Manrope.ttf') format('truetype');font-weight:200 800;font-style:normal;font-display:swap}body,button,input,select,textarea,h1,h2,h3,.button,.price{font-family:Manrope,sans-serif}

/* Desktop app layout: persistent navigation and a calm working canvas. */
:root{--panel:#1b1e22;--sidebar:#121518}
.desktop-shell .nav{position:sticky;top:0;z-index:20;height:64px;min-height:64px;background:var(--panel)}
.desktop-shell .nav>nav{display:none}.desktop-shell .nav .brand-logo{width:220px;height:38px}
.home-sidebar{position:fixed;left:0;top:64px;bottom:0;width:240px;padding:24px 12px;box-sizing:border-box;background:var(--sidebar);display:flex;flex-direction:column;z-index:15}
.sidebar-label{font-size:11px;color:var(--muted);margin:0 12px 18px;letter-spacing:.05em}
.home-sidebar nav{display:flex;flex-direction:column;gap:6px}.sidebar-item{display:flex;align-items:center;gap:14px;padding:14px 12px;border-radius:10px;line-height:1.45;font-size:13px;color:var(--muted);text-decoration:none;min-height:52px;box-sizing:border-box}
.sidebar-item svg{width:28px;height:28px;flex-shrink:0;color:var(--aqua)}.sidebar-item.active{background:#ffffff0d;color:#fff;font-weight:600}.sidebar-item:hover{background:#ffffff0a;color:#fff}
.sidebar-bottom{margin-top:auto;padding:24px 12px 0;display:flex;flex-direction:column;gap:14px;border-top:1px solid var(--line)}.sidebar-bottom a{font-size:12px;color:var(--muted)}.sidebar-bottom p{font-size:11px;color:#89939d;line-height:1.8;margin:10px 0 0}
.desktop-shell main,.desktop-shell>footer{margin-left:240px}.desktop-shell main>.wrap,.desktop-shell>footer{max-width:1200px;padding-left:40px;padding-right:40px;box-sizing:border-box}
.desktop-shell .library{padding-top:48px;padding-bottom:64px}.desktop-shell .library h1{font-size:clamp(30px,3.5vw,44px);font-weight:600;letter-spacing:-.035em}.desktop-shell .library-intro{font-size:15px}.desktop-shell .section-head>p{font-size:12px}
.game-card,.leaderboard-panel,.plan{background:var(--panel);box-shadow:none}.game-card:hover{transform:none;background:#202429;box-shadow:none}.game-art{height:170px}.game-info{padding:24px}.game-info h3{font-size:22px}.game-info p{color:var(--muted)}
.desktop-shell .overall-leaderboard h2{font-size:30px;font-weight:600}.desktop-shell .section-head{gap:24px}.sidebar-toggle{display:none;border:0;background:transparent;color:var(--text);font:20px Manrope;cursor:pointer;padding:8px;border-radius:8px}.sidebar-toggle:hover{background:#ffffff10}
@media(max-width:1150px) and (min-width:1000px){.desktop-shell main>.wrap{padding-left:28px;padding-right:28px}.game-grid{gap:16px}.game-info{padding:20px}.game-info h3{font-size:19px}.game-info p{min-height:150px}}
@media(max-width:999px){.home-sidebar{display:none}.home-sidebar.is-open{display:flex;width:260px;box-shadow:20px 0 80px #000c}.sidebar-toggle{display:block}.desktop-shell main,.desktop-shell>footer{margin-left:0}.desktop-shell main>.wrap,.desktop-shell>footer{padding-left:24px;padding-right:24px}.desktop-shell .nav .brand-logo{width:180px}.desktop-shell .nav{gap:10px;padding-left:12px;padding-right:16px}.desktop-shell .nav:has(.account-profile-link) .brand-logo{width:130px}}
@media(max-width:540px){.desktop-shell .nav .brand-logo{width:120px}.desktop-shell .nav:has(.account-profile-link) .brand-logo{width:95px}.desktop-shell .nav .account-username{max-width:70px}.desktop-shell .nav .overall-points{font-size:16px}.desktop-shell .nav .account-profile-link{padding:6px 8px}.desktop-shell .library{padding-top:32px}.desktop-shell .library h1{font-size:32px}.game-info p{min-height:0}}

.desktop-shell .account-profile-link{height:52px;min-height:52px;padding:8px 16px;justify-content:center;line-height:1.35}

/* Home: activity library with live rankings on the right. */
.desktop-shell .nav{border-bottom:0}
.desktop-shell main,.desktop-shell>footer{margin-left:0;margin-right:320px}
.leaderboard-sidebar{position:fixed;right:0;top:64px;bottom:0;width:320px;box-sizing:border-box;padding:28px 20px;background:var(--sidebar);overflow-y:auto}
.leaderboard-heading .eyebrow{font-size:10px;margin-bottom:12px}.leaderboard-heading h2{font-size:22px;line-height:1.25;letter-spacing:-.03em;margin:0}.leaderboard-heading>p:last-child{font-size:12px;color:var(--muted);margin:12px 0 24px}
.leaderboard-sidebar .overall-table th,.leaderboard-sidebar .overall-table td{padding:14px 6px;font-size:12px}.leaderboard-sidebar .overall-table th:first-child,.leaderboard-sidebar .overall-table td:first-child{width:34px;color:var(--muted)}.leaderboard-sidebar .overall-table td:last-child{white-space:nowrap}.leaderboard-sidebar .overall-table td[colspan]{white-space:normal;text-align:left;line-height:1.6}
.leaderboard-note{font-size:12px;color:var(--muted);line-height:1.7;margin-top:24px}
.desktop-shell .nav>nav{display:flex}
@media(max-width:1150px) and (min-width:1000px){.leaderboard-sidebar{width:280px;padding:24px 16px}.desktop-shell main,.desktop-shell>footer{margin-right:280px}}
@media(max-width:999px){.leaderboard-sidebar{position:static;width:auto;padding:28px 24px;margin:0 24px 40px;border-radius:18px}.desktop-shell main,.desktop-shell>footer{margin-right:0}.desktop-shell{display:flex;flex-direction:column}.desktop-shell>.nav{order:0}.desktop-shell>main{order:1}.desktop-shell>.leaderboard-sidebar{order:2}.desktop-shell>footer{order:3}.desktop-shell .nav>nav{display:none}}

/* Shared primary headings and a footer centred in the content column. */
.desktop-shell main .main-heading{font-family:Manrope,sans-serif;font-size:clamp(30px,3.5vw,44px);font-weight:700;line-height:1.15;letter-spacing:-.035em;margin:0;color:var(--text)}
.desktop-shell main>footer.wrap{width:100%;max-width:1200px;margin:0 auto;padding:28px 40px;box-sizing:border-box;display:flex;flex-direction:row;justify-content:center;align-items:center;flex-wrap:wrap;gap:24px 40px;text-align:center}
.desktop-shell main>footer.wrap p{margin:0}.desktop-shell main>footer.wrap>div{justify-content:center}
@media(max-width:1150px) and (min-width:1000px){.desktop-shell main>footer.wrap{padding-left:28px;padding-right:28px}}
@media(max-width:999px){.desktop-shell main>footer.wrap{padding-left:24px;padding-right:24px}}
@media(max-width:720px){.desktop-shell main>footer.wrap{flex-direction:column;gap:16px}}

/* Homepage panels reveal their outline on hover or keyboard focus. */
.desktop-shell .game-card,.desktop-shell .plan,.desktop-shell .leaderboard-panel{border-color:transparent;transition:border-color .18s ease,background-color .18s ease}
.desktop-shell .game-card:hover,.desktop-shell .game-card:focus-within,.desktop-shell .plan:hover,.desktop-shell .plan:focus-within,.desktop-shell .leaderboard-panel:hover,.desktop-shell .leaderboard-panel:focus-within{border-color:var(--line)}
@media(prefers-reduced-motion:reduce){.desktop-shell .game-card,.desktop-shell .plan,.desktop-shell .leaderboard-panel{transition:none}}

/* Situation Room keeps the original three cards together, with a featured fourth activity. */
.situation-card .situation-art{display:block;width:100%;height:100%;object-fit:cover;background:#09151d}.situation-card .game-info p{min-height:0}.situation-card .game-meta{flex-wrap:wrap}@media(min-width:721px){.game-card.situation-card{grid-column:1/-1;display:grid;grid-template-columns:1.1fr 1fr}.situation-card .game-art-link{display:block;min-height:330px}.situation-card .game-info{display:flex;flex-direction:column;justify-content:center}}

/* Consistent site-wide primary navigation. */
.global-header.nav,.desktop-shell .global-header.nav{position:sticky;top:0;z-index:30;width:100%;max-width:none;height:64px;min-height:64px;padding:0 24px;background:#1b1e22;border:0;display:grid;grid-template-columns:1fr auto 1fr;gap:24px;align-items:center}
.global-header .brand-logo,.desktop-shell .global-header .brand-logo{width:230px;height:42px;object-fit:contain}
.global-header.nav>nav,.desktop-shell .global-header.nav>nav{display:flex;gap:30px;font-size:14px;white-space:nowrap}
.global-header .account-actions{justify-self:end;display:flex;align-items:center;gap:12px}.global-header .account-profile-link{min-height:50px;height:50px}.global-header .overall-points{color:#62d796;font-weight:700;font-size:20px}
.knowledge-page{max-width:1240px;padding-top:56px;padding-bottom:64px}.knowledge-intro{max-width:750px;margin-bottom:32px}.knowledge-intro h1{font-size:44px}.knowledge-intro>p:last-child{color:var(--muted)}.topic-nav{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:32px}.topic-nav a{background:#1b1e22;padding:10px 14px;border-radius:8px;color:#83d7ff;font-size:13px}.lesson-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}.lesson{background:#1b1e22;border-radius:18px;padding:28px;scroll-margin-top:92px}.lesson h2{font-size:26px;line-height:1.2}.lesson h3{font-size:16px;letter-spacing:0;margin-top:24px}.lesson p{color:var(--muted);font-size:15px}.lesson .eyebrow{color:#83d7ff;font-size:10px;margin-bottom:12px}.formula{background:#07121b;color:#83d7ff;border-radius:10px;padding:16px;line-height:1.8;font-size:15px}.lesson-tip{border-left:3px solid #ffad58;padding-left:16px;margin:24px 0}.lesson-tip strong{color:#ffad58;font-size:13px}.lesson-tip p{margin:8px 0}.knowledge-check{border-top:1px solid #ffffff18;padding-top:20px;margin:24px 0}.knowledge-check label{display:block;font-size:14px;font-weight:600;margin-bottom:12px}.check-controls{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.check-controls input{width:100px;min-height:44px;border-radius:8px;border:1px solid #48545f;background:#07121b;color:#fff;padding:10px;font:inherit}.check-controls span{font-size:12px;color:var(--muted)}.check-controls .button{padding:12px 16px;cursor:pointer}.lesson .is-correct{color:#62d796}.lesson .is-incorrect{color:#ffad58}.knowledge-note{font-size:12px;color:var(--muted);margin-top:32px}.knowledge-note a,.lesson>.text-link{color:#83d7ff}.lesson>.text-link{font-size:13px}
@media(max-width:799px){.global-header.nav,.desktop-shell .global-header.nav{height:auto;min-height:104px;grid-template-columns:1fr 1fr;padding:10px 16px;gap:8px 12px}.global-header.nav>nav,.desktop-shell .global-header.nav>nav{grid-row:2;grid-column:1/-1;justify-content:center;gap:32px}.global-header .brand-logo,.desktop-shell .global-header .brand-logo{width:160px;height:36px}.global-header .overall-points{font-size:14px}.global-header .account-actions{gap:8px}.global-header .account-actions .button{font-size:11px;padding:8px}.lesson-grid{grid-template-columns:1fr}.knowledge-page{padding-top:32px}.lesson{padding:22px}.knowledge-intro h1{font-size:36px}}

.global-header .account-profile-link{gap:2px;line-height:1.3;align-items:flex-start;padding:6px 14px;justify-content:center}.global-header .account-username{display:block}.global-header nav{margin-left:0}

@media(max-width:450px){.global-header .brand-logo,.desktop-shell .global-header .brand-logo{width:110px}.global-header .account-actions .overall-points{font-size:13px}.global-header .account-profile-link .account-username{max-width:70px}.global-header .account-actions .button{font-size:10px;padding:6px 8px}}

/* A single, evenly sized card style for every activity. */
.library .game-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:1fr;align-items:stretch}
.library .game-card,.library .game-card.situation-card{grid-column:auto;display:flex;flex-direction:column;min-width:0}
.library .game-card .game-art-link,.library .situation-card .game-art-link{display:block;height:170px;min-height:0;flex:0 0 170px}
.library .game-art{height:170px}.library .situation-art{object-fit:contain}
.library .game-card .game-info{display:flex;flex-direction:column;justify-content:flex-start;flex:1}
.library .game-info h3{min-height:2.4em;line-height:1.2}
.library .game-card .game-info p{min-height:0;flex:1}
.library .game-meta{margin-top:12px}.library .game-link{margin-top:24px}
@media(max-width:1199px){.library .game-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.library .game-grid{grid-template-columns:minmax(0,1fr)}}

.leaderboard-sidebar{top:var(--site-header-height,64px)}
@media(max-width:999px){.leaderboard-sidebar{top:auto}}

/* Shared reading style for explanatory copy. */
:root{--copy-size:14px;--copy-leading:1.8;--copy-color:#bbc8d2}
body :is(.ao-description,.ao-steps p,.ao-help-grid p,.ao-help-grid li,.ao-technique p,.kc-section p,.kc-section li,.kc-lead,.kc-index-card p,.kc-training p,.game-info p,.library-intro p,.lede,.steps p,.faq p){font-size:var(--copy-size);line-height:var(--copy-leading);font-weight:400;color:var(--copy-color)}
body :is(.ao-breadcrumb,.kc-breadcrumb){color:#8f9da8}
body :is(.ao-breadcrumb,.kc-breadcrumb) a{color:#8f9da8}
body :is(.ao-breadcrumb,.kc-breadcrumb)>span:last-child{color:#83d7ff}
body :is(.ao-breadcrumb,.kc-breadcrumb) a:hover{color:#83d7ff}

.account-page select{display:block;width:100%;padding:14px;margin-top:6px;background:#121518;color:#edf4f8;border:1px solid #48545f;border-radius:8px;font:inherit}.player-flag{display:inline-block;width:20px;height:15px;object-fit:cover;vertical-align:middle;margin-right:8px;border-radius:2px}

/* Shared action-button typography; number pads use their activity-specific size. */
:root{--button-text-size:16px}
button,.button,[role="button"]{font-size:var(--button-text-size);font-weight:600}
.ao-play-breadcrumb button{font-size:inherit!important}


.overall-table tr.is-current-player td,.ao-leaderboard tr.ao-is-me td{background:#62d79614;color:#62d796;font-weight:600}
.overall-table tr.is-current-player td:first-child,.ao-leaderboard tr.ao-is-me td:first-child{box-shadow:inset 3px 0 #62d796}
.leaderboard-you{display:inline-block;margin-left:7px;padding:1px 5px;border-radius:4px;background:#62d79622;color:#62d796;font-size:11px;font-weight:700;vertical-align:middle}

.library .game-info h3{min-height:0;margin:0 0 12px}
.library .game-card .game-info p{margin:0}

.library .game-benefits{list-style:none;margin:20px 0 0;padding:0;font-size:14px;line-height:1.6;color:var(--muted)}
.library .game-benefits li{display:flex;align-items:baseline;gap:10px;margin:7px 0}
.library .game-benefits li>span{color:var(--activity,var(--aqua));font-weight:700;flex-shrink:0}

.library .game-grid{grid-auto-rows:auto}
.library .game-card .game-info p{flex:0 0 auto}
.library .game-benefits{margin-top:12px}


/* One palette for global and activity rankings. */
.overall-table tbody td:first-child,.ao-leaderboard tbody td:first-child{color:#899aa8;font-weight:500}
.overall-table tbody td:last-child,.ao-leaderboard tbody td:last-child{color:#62d796;font-weight:600}
.overall-table tbody tr.is-current-player td,.ao-leaderboard tbody tr.ao-is-me td{background:#62d79614;color:#62d796;font-weight:600}
.leaderboard-periods{display:flex;gap:22px;border-bottom:2px solid #34414b;margin:18px 0 12px}
.leaderboard-periods button{border:0;border-bottom:2px solid transparent;margin-bottom:-2px;padding:10px 0;background:none;color:#899aa8;font-family:inherit;white-space:nowrap;cursor:pointer}
.leaderboard-periods button[aria-selected="true"]{color:#1bb9ed;border-bottom-color:#1bb9ed}
.leaderboard-periods button:focus-visible{outline:2px solid #83d7ff;outline-offset:4px}

/* Shared action height; content determines width. */
.button,.account-actions .login-button,.ao-start-button,.kc-check button{min-height:48px;box-sizing:border-box}

/* Action-button scale: S / M / L. Width follows content. */
:root{--button-s-text:14px;--button-s-py:8px;--button-s-px:12px;--button-s-height:36px;--button-m-text:16px;--button-m-py:12px;--button-m-px:20px;--button-m-height:48px;--button-l-text:18px;--button-l-py:16px;--button-l-px:48px;--button-l-height:60px}
.button,.account-actions .login-button,.kc-check button,.ao-instructions-close,.ao-start-button,.button--s,.button--m,.button--l,[data-button-size="s"],[data-button-size="m"],[data-button-size="l"]{--action-text:var(--button-m-text);--action-py:var(--button-m-py);--action-px:var(--button-m-px);--action-height:var(--button-m-height);display:inline-flex;align-items:center;justify-content:center;font-size:var(--action-text);font-weight:600;line-height:1;padding:var(--action-py) var(--action-px);min-height:var(--action-height);min-width:0;box-sizing:border-box}
.button--s,[data-button-size="s"]{--action-text:var(--button-s-text);--action-py:var(--button-s-py);--action-px:var(--button-s-px);--action-height:var(--button-s-height)}
.button--l,[data-button-size="l"]{--action-text:var(--button-l-text);--action-py:var(--button-l-py);--action-px:var(--button-l-px);--action-height:var(--button-l-height)}

.button,.plan .button,.account-page .button,.ao-start-button,.ao-instructions-close{width:fit-content;max-width:100%;justify-self:start;align-self:flex-start}

/* Account workspace: the same dark sidebar and quiet panels as the games. */
.account-layout{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:calc(100dvh - var(--site-header-height,64px));align-items:start}
.account-sidebar{position:sticky;top:var(--site-header-height,64px);height:calc(100dvh - var(--site-header-height,64px));padding:28px 12px 18px;background:#121518;display:flex;flex-direction:column;overflow:auto}
.account-sidebar-title{padding:0 14px;margin-bottom:12px;color:#899aa8;font-size:11px;letter-spacing:.8px;font-weight:500}
.account-sidebar nav{display:grid;gap:5px;font-size:14px;color:#bbc8d2}
.account-sidebar nav a,.account-signout{display:flex;align-items:center;gap:12px;min-height:46px;border:0;border-radius:8px;padding:10px 14px;font:inherit;text-align:left;text-decoration:none;background:transparent;color:#bbc8d2;cursor:pointer}
.account-sidebar svg{width:19px;height:19px;flex-shrink:0;color:#83d7ff}
.account-sidebar nav a:hover,.account-sidebar nav a[aria-current=page]{background:#ffffff08;color:#fff}
.account-sidebar nav a[aria-current=page]{box-shadow:inset 3px 0 #62d796;font-weight:600}
.account-sidebar nav a[aria-current=page] svg{color:#62d796}
.account-training-title{margin-top:30px;padding-top:24px;border-top:1px solid #34414b}
.account-sidebar-bottom{margin-top:auto;padding-top:30px}
.account-signout{font-size:14px;width:100%;color:#bbc8d2}.account-signout:hover{background:#ff64690b;color:#ff8588}.account-signout svg{color:inherit}
.account-legal{display:flex;gap:18px;padding:16px 14px 0;color:#899aa8;font-size:12px}
.account-nav-loading{padding:10px 14px;font-size:13px;color:#899aa8}
.account-workspace{width:100%;max-width:1120px;margin:0 auto;padding:44px 48px 72px;min-width:0}
.account-page-heading{margin-bottom:28px}.account-eyebrow{margin:0 0 10px;color:#899aa8;font-size:11px;letter-spacing:1px}
.account-page-heading h1{font-size:32px;letter-spacing:-.6px;line-height:1.25;font-weight:700}.account-page-heading h1:focus{outline:none}
.account-page-heading>p:last-child:not(.account-eyebrow){margin:10px 0 0;color:#bbc8d2;font-size:14px;line-height:1.7}
.account-content-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(220px,1fr);gap:22px;align-items:start}
.account-card{min-width:0;padding:28px;background:#121518;border-radius:14px}
.account-card h2{font-size:18px;letter-spacing:-.25px;line-height:1.4;font-weight:600}
.account-card-heading{margin-bottom:24px}.account-card-heading p{font-size:13px;color:#899aa8;margin:7px 0 0}
.account-workspace form,.account-workspace fieldset{min-width:0}.account-workspace fieldset{display:grid;gap:20px;border:0;padding:0;margin:0}
.account-workspace label{display:block;min-width:0;font-size:14px;font-weight:500;line-height:1.5;color:#edf4f8}
.account-field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;min-width:0}
.account-workspace input:not([type=hidden]),.account-workspace select{display:block;width:100%;min-width:0;min-height:48px;padding:11px 13px;margin-top:8px;background:#0b1015;color:#edf4f8;border:1px solid #34414b;border-radius:8px;font:inherit;font-size:15px;box-sizing:border-box}
.account-workspace input:focus-visible,.account-workspace select:focus-visible{outline:2px solid #83d7ff;outline-offset:2px;border-color:#83d7ff}
.account-workspace .account-field-hint{display:block;color:#899aa8;font-size:12px;line-height:1.7;font-weight:400;margin:0}
.account-workspace #country-hint{margin-top:-12px}
.account-optional{font-size:12px;font-weight:400;color:#899aa8;margin-left:5px}
.account-form-actions{margin-top:4px}.account-workspace .button{background:#62d796;color:#07150c;border:0;border-radius:8px;gap:8px;cursor:pointer;min-height:46px;font-family:inherit;font-size:14px;transform:none;transition:background .15s}
.account-workspace .button:hover{background:#7fe2ab}.account-workspace .button:disabled{opacity:.45;cursor:default;transform:none}.account-sidebar button:disabled{opacity:.45;cursor:default}
.account-name-preview{display:flex;align-items:center;gap:10px;margin:24px 0 20px;min-width:0}.account-name-preview strong{font-size:18px;overflow-wrap:anywhere;line-height:1.5}.account-name-preview img{width:24px;height:18px;object-fit:cover;border-radius:2px}.account-name-preview>span{font-size:10px;color:#62d796;background:#62d79618;padding:2px 6px;border-radius:4px}
.account-profile-preview{min-width:0}.account-profile-preview h2{font-size:15px;letter-spacing:0}
.account-training-link{display:flex;justify-content:space-between;gap:12px;padding:20px 4px;color:#83d7ff;font-size:14px}
.account-notice{font-size:14px;line-height:1.6;padding:14px 18px;border-radius:8px;margin-bottom:22px;overflow-wrap:anywhere}.account-notice.is-error{color:#ff9296;background:#ff646912}.account-notice.is-success{color:#82dfac;background:#62d79612}
.account-auth-card,.account-security-card{max-width:600px}.account-auth-card>.account-auth-footer{border-top:1px solid #34414b;margin-top:26px;padding-top:22px;font-size:13px;color:#899aa8}.account-auth-footer a,.account-password-label a{color:#83d7ff}
.account-password-label{display:flex;justify-content:space-between;align-items:center;gap:12px}.account-password-label a{font-size:12px;font-weight:400}
.account-password-input{display:block;position:relative}.account-workspace .account-password-input input{padding-right:68px}
.account-show-password{position:absolute;right:5px;top:4px;min-height:40px;padding:0 12px;border:0;border-radius:5px;background:transparent;color:#899aa8;font:inherit;font-size:12px;cursor:pointer}.account-show-password:hover{color:#fff}.account-password-input+.account-field-hint{margin-top:8px}
.account-signed-in{display:grid;gap:5px;margin:0 0 26px;padding-bottom:24px;border-bottom:1px solid #34414b}.account-signed-in span{font-size:12px;color:#899aa8}.account-signed-in strong{font-size:15px;font-weight:500;overflow-wrap:anywhere}
.account-loading{font-size:14px;color:#899aa8;padding:30px 0}
@media(max-width:1100px){.account-workspace{padding:36px 28px}.account-content-grid{grid-template-columns:1fr}.account-profile-preview{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:start}.account-training-link{white-space:nowrap}}
@media(max-width:799px){.account-layout{display:block}.account-sidebar{position:static;height:auto;display:flex;flex-direction:row;align-items:center;gap:8px;padding:12px 16px;border-bottom:1px solid #28343e;overflow:visible}.account-sidebar-title,.account-sidebar nav[aria-label="Training links"],.account-legal{display:none}.account-sidebar nav[aria-label="Account sections"]{display:flex;flex-wrap:wrap;gap:4px;flex:1}.account-sidebar nav a{font-size:12px;padding:8px 10px;gap:7px;min-height:40px}.account-sidebar svg{width:16px;height:16px}.account-sidebar-bottom{padding:0;margin:0}.account-signout{width:auto;min-height:40px;font-size:12px;padding:8px}.account-workspace{padding:28px 20px 48px}.account-page-heading{margin-bottom:22px}.account-page-heading h1{font-size:28px}.account-card{padding:22px}.account-profile-preview{display:block}.account-training-link{padding:18px 2px}.account-name-preview{margin:18px 0 14px}}
@media(max-width:450px){.account-field-row{grid-template-columns:1fr;gap:20px}.account-sidebar nav a{padding:8px;font-size:11px}.account-sidebar nav a svg{width:14px;height:14px}.account-sidebar{padding:10px 12px}.account-sidebar nav a[aria-current=page]{box-shadow:inset 0 -2px #62d796}.account-workspace{padding:24px 16px 40px}.account-card{padding:20px}.account-password-label{gap:8px}}
.skip[href="#account-content"]{z-index:200}.account-auth-footer a{margin-left:4px}
.account-mobile-legal{display:none}@media(max-width:799px){.account-mobile-legal{display:flex;gap:20px;margin-top:28px;font-size:12px;color:#899aa8}}
.account-card-heading.account-profile-heading{margin-bottom:16px}
