/* Shared Zaiko identity. Gameplay signals and player-selected colours stay distinct. */
:root{--bg:#081323;--panel:#14283d;--panel2:#203b53;--line:#3c5871;--text:#edf6ff;--muted:#adc5d9;--purple:#83baff;--mint:#8cdbe9;--zaiko-blue:#7bbcff;--zaiko-cyan:#8ce3eb;--zaiko-action:linear-gradient(110deg,#7bbcff,#8ce3eb);--zaiko-surface:linear-gradient(145deg,#193149,#102337);--zaiko-border:#577b995c}
body{background-color:var(--bg);background-image:radial-gradient(ellipse at 5% 0%,#214f742b,transparent 65%);background-size:100% 100%;background-attachment:fixed}
.zaiko-brand-mark{display:inline-flex!important;align-items:center;gap:2px;white-space:nowrap;vertical-align:middle}
.zaiko-brand-mark img{width:48px;height:48px;object-fit:contain;flex-shrink:0;filter:drop-shadow(0 3px 7px #63d9ff28)}
.zaiko-brand-mark .zaiko-wordmark{display:block!important;font:900 35px/1.1 Nunito,system-ui,sans-serif!important;letter-spacing:-.07em!important;width:auto!important;height:auto!important;min-height:0!important;padding:0!important;margin:0!important;border:0!important;border-radius:0!important;transform:none!important;background:linear-gradient(110deg,#5183ed,#75bdf2 59%,#88e7ea)!important;background-clip:text!important;-webkit-background-clip:text!important;-webkit-text-fill-color:transparent;color:#77c7ee!important;filter:drop-shadow(0 1px 0 #28487b)}
.zaiko-brand{text-decoration:none}.sidebar .logo.zaiko-brand{display:block;padding:0}.sidebar .logo.zaiko-brand .zaiko-brand-mark{background:none;width:auto;height:auto;margin:0;transform:none}
.entry-logo .zaiko-planet-o,.zaiko-brand-mark .zaiko-wordmark .zaiko-planet-o{display:inline-block;width:.84em!important;height:.706em!important;max-width:none;vertical-align:-.11em;margin-left:-.015em;margin-right:-.075em;object-fit:contain;filter:none;transform:none}
.sp-brand{display:block}.sp-brand .zaiko-brand-mark{font-size:inherit;letter-spacing:normal}.sp-brand small{font-size:9px;margin:2px 0 0 3px;color:#b7d5ea;letter-spacing:.18em}
.sp-global-navigation{align-items:center}.sp-global-navigation .zaiko-brand{order:-1;background:transparent;border:0;padding:0 12px 0 0;box-shadow:none;min-height:44px}.sp-global-navigation .zaiko-brand .zaiko-wordmark{font-size:30px!important}.sp-global-navigation .zaiko-brand img{width:38px;height:38px}.sp-global-navigation>button:not(.zaiko-brand){background:#1b344c;color:#d1e8f9;border:1px solid #62829b;border-radius:11px}
.app-shell .topbar{border-bottom:1px solid #39536b80;padding-bottom:16px;gap:14px}.top-profile>span{color:#89d9ef}
.starport-navigation .topbar::before{content:none;display:none}
.qe{--qe-mint:#91ddeb}.qe .qe-primary,#arena .ar-primary{background:var(--zaiko-action);border-color:#c1ecfb;color:#0c293e}.qe .qe-primary:hover{background:linear-gradient(110deg,#a9d5ff,#b5eef4)}
.app-shell :is(h1,h2,h3),#spMenu h2,#spCommunity h2{font-family:Nunito,system-ui,sans-serif;font-weight:900;letter-spacing:-.025em}
.app-shell :is(.primary,.game-go),#passportSave,#characterWorkshop .primary,.zs-purchase .primary{background:var(--zaiko-action);color:#0b243a;border:1px solid #c2ecfc;box-shadow:0 4px 16px #6fbff417;border-radius:12px}
.app-shell :is(.primary,.game-go):hover{background:linear-gradient(110deg,#9bceff,#b4f0f5)}
.app-shell :is(.soft-btn,.join){background:#203e55;border-color:#577f99;color:#d4efff;box-shadow:none;border-radius:10px}
.app-shell :is(.link,.back){color:#a8d9ff}.app-shell :is(button,a,input,textarea):focus-visible{outline-color:#8cdbff}
.app-shell :is(.launch-card,.course-lesson,.mode-game-card,.mode-note,.mode-live-note,.activity-card,.zs-gift,.friends,.week,.team,.invite,.idea-box,.creator-grid article){background:var(--zaiko-surface);border-color:var(--zaiko-border);box-shadow:0 12px 32px #020a181c}
.app-shell :is(.cosmic-feature,.creator-hero){background:radial-gradient(ellipse at 0 0,#4a88b832,transparent 65%),var(--zaiko-surface);border-color:#6288a66e}
.app-shell .subject{border-color:#6288a666;background:linear-gradient(135deg,#1b344f,#12263e)}
.app-shell .subject.code{border-top:3px solid #a6baff}.app-shell .subject.math{border-top:3px solid #85ddda}.app-shell .subject.english{border-top:3px solid #dfb5df}.app-shell .subject.science{border-top:3px solid #83caff}
.subject strong{font-family:Nunito,system-ui,sans-serif;font-weight:900}.subject .subject-footer b{color:#a8e5fa}
.app-shell :is(.mode-tags span,.level-chip){background:#213e59;border-color:#54738f;color:#c9e8ff}
.app-shell :is(.reward-stats b,.week p b){color:#a7d9ff}.track i{background:var(--zaiko-action)}
.app-shell .command-bank button{background:#285172;border-color:#729ebd}.app-shell .game-edit button{background:#182f48;border-color:#4d7391}
#spMenu{background:linear-gradient(150deg,#152b40,#091829);border-color:#597c96}#spMenu .sidebar .nav.active,#spMenu .sidebar .nav:hover{background:#284b68;color:#d8f4ff}#spMenu .sidebar .nav.active{box-shadow:inset 3px 0 #8fdaef}#spMenu .sidebar .streak{background:#20384d}
#starport :is(.sp-launch,.sp-interact,.sp-roam-bar>button),#spSettings .sp-settings-done{background:var(--zaiko-action);border-color:#b3e9fc;color:#0c293e}
#starport .sp-you>b{color:#d5f5ff;border-color:#9bdeef}#starport .sp-player-light{background:var(--zaiko-action)}#starport .sp-loader{border-top-color:#90dfff}
#starport .sp-bubble{background:#e9f8ff;color:#183a51}.sp-tools>button[aria-expanded=true]{background:#2b4d68;border-color:#90d3f4}
#spCommunity .daily,#spCommunity .star-standings{background:var(--zaiko-surface);border-color:var(--zaiko-border)}
#creativity{--lab-mint:#8cdbed;--lab-purple:#a6c6ff}#creativity :is(.lab-bench,.lab-panel,.lab-card){background:var(--zaiko-surface);border-color:var(--zaiko-border)}#creativity .lab-primary{background:var(--zaiko-action)!important}
#creativity :is(.lab-tabs,.lab-tools) button[aria-pressed=true],.zs-filters button[aria-pressed=true]{background:#9bdcf2;color:#0b263e;border-color:#c4edff}
.qe-brand-title{display:flex!important;align-items:center;gap:14px!important}.qe-top .zaiko-brand-mark .zaiko-wordmark{font-size:24px!important}.qe-top .zaiko-brand-mark img{width:33px;height:33px}.qe-top .qe-brand-title b{font-size:15px}
#arena .ar-lobby-brand{display:flex;align-items:center;gap:12px}#arena .ar-lobby-brand .zaiko-wordmark{font-size:25px!important}#arena .ar-lobby-brand img{width:34px;height:34px}#arena .ar-lobby-brand small{font-size:12px;color:#badcf0}
/* Hard boundary: no game display rule may reveal a page behind the gateway. */
html body.at-gateway{height:100dvh;overflow:hidden!important;overscroll-behavior:none}
body.at-gateway #entryGate~.app-shell,body>.app-shell[hidden]{display:none!important}
body.at-gateway>.toast{display:none!important}
.entry-gate{position:fixed;inset:0;z-index:1000;height:100dvh;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;justify-content:flex-start;padding:40px max(24px,calc((100vw - 1260px)/2));gap:24px;background:radial-gradient(ellipse at 12% 12%,#225e8259,transparent 52%),radial-gradient(ellipse at 95% 95%,#273f724d,transparent 55%),#081323}
.entry-shell{flex:1 0 auto;min-height:600px;max-width:1180px;grid-template-columns:minmax(0,1.15fr) minmax(340px,1fr);gap:46px;padding:38px;border:1px solid #709cba30;border-radius:32px;background:linear-gradient(130deg,#2546601a,#0b192866);box-shadow:0 25px 100px #010a1933,inset 0 1px 0 #c8efff0a}
.entry-brand{padding:10px 0 20px}.entry-brand-art{height:245px}.entry-logo{font-size:clamp(100px,10vw,138px)}.entry-rocket{right:-8px;top:0;width:48%}.entry-orbit{right:4px;bottom:16px}.entry-tagline{font-size:30px}.entry-description{font-size:16px;color:#acc9dc}.entry-subjects{margin-top:26px}
.entry-panel{border-color:#719bbd50;box-shadow:0 15px 45px #020b202b,inset 0 1px #b7ebff0d;background:linear-gradient(140deg,#1b3349ed,#102437f5);border-radius:24px}.entry-choices{padding:32px}.entry-choices h2{font-size:32px}.entry-actions button{min-height:56px}.entry-panel-copy{margin-bottom:26px}
#entryForms{padding:24px 30px 30px}#entryForms .auth-layout{margin-top:12px}#entryForms .auth-tabs{margin-bottom:24px}#entryForms .auth-test{font-size:16px;margin:0 0 26px;color:#b2cde0}#entryForms .fq-form input{background:#0c2033;border-color:#6887a0;min-height:54px}#entryForms .fq-form input::placeholder{color:#829db1;font-weight:500}#entryForms .primary{min-height:54px}#entryForms #authForgot{display:block;margin:14px auto 0;text-align:center}
.auth-password-field{position:relative;display:flex;align-items:stretch;margin-bottom:8px}.auth-password-field:has(input[hidden]){display:none}#entryForms .auth-password-field input{width:100%;padding-right:72px;margin:0}#entryForms .auth-reveal{position:absolute;right:5px;top:5px;bottom:5px;min-height:44px;margin:0;border:0;border-radius:7px;padding:6px 12px;background:#223f57;color:#d4f1ff;font-size:13px;font-weight:800}
@media(max-width:1000px) and (min-width:761px){.entry-shell{padding:24px;gap:28px;grid-template-columns:minmax(0,1fr) minmax(320px,1fr)}.entry-choices{padding:26px}.entry-brand-art{height:210px}.entry-logo{font-size:100px}.entry-rocket{width:46%;right:-12px;top:-10px}.entry-tagline{font-size:25px}.entry-kicker{font-size:11px;letter-spacing:.1em}}
@media(max-width:760px){.entry-gate{padding:22px 18px 12px;gap:12px}.entry-shell{flex:0 0 auto;min-height:0;max-width:440px;padding:0;border:0;box-shadow:none;background:none;gap:22px}.entry-brand{padding:0}.entry-brand-art{height:145px;width:310px;max-width:100%}.entry-logo{font-size:92px;bottom:12px;left:0}.entry-rocket{width:128px;right:-6px;top:0}.entry-orbit{bottom:0}.entry-tagline{font-size:23px;margin-top:6px}.entry-choices{padding:25px}.entry-choices h2{font-size:28px}.entry-panel-copy{margin-bottom:22px}.entry-footer{max-width:440px;padding:0 4px}.entry-gate:has(#entryForms:not([hidden])) .entry-brand-art{height:94px;width:270px}.entry-gate:has(#entryForms:not([hidden])) .entry-logo{font-size:74px;bottom:0}.entry-gate:has(#entryForms:not([hidden])) .entry-rocket{width:102px;right:0;top:-3px}.entry-gate:has(#entryForms:not([hidden])) .entry-orbit{inset:44px 0 -5px 0}.entry-gate:has(#entryForms:not([hidden])) .entry-kicker{display:none}.entry-gate:has(#entryForms:not([hidden])) .entry-shell{gap:16px}#entryForms{padding:18px 24px 24px}#entryForms .auth-test{font-size:15px;margin-bottom:22px}#entryForms h1{font-size:27px}.sp-brand .zaiko-wordmark{font-size:30px!important}.sp-brand .zaiko-brand-mark img{width:39px;height:39px}.sp-brand small{font-size:8px;letter-spacing:.13em}.sp-global-navigation .zaiko-brand{padding-right:0}.sp-global-navigation .zaiko-brand .zaiko-wordmark{font-size:26px!important}.sp-global-navigation .zaiko-brand img{width:30px;height:30px}.qe-brand-title{gap:7px!important}.qe-top .qe-brand-title b{font-size:13px}.qe-top .zaiko-brand-mark .zaiko-wordmark{font-size:20px!important}.qe-top .zaiko-brand-mark img{width:25px;height:25px}#arena .ar-lobby-brand{gap:0;flex-direction:column;padding:6px 9px}#arena .ar-lobby-brand .zaiko-wordmark{font-size:20px!important}#arena .ar-lobby-brand img{width:27px;height:27px}#arena .ar-lobby-brand small{font-size:10px}}
@media(max-width:360px){.entry-gate{padding-inline:12px}.entry-choices,#entryForms{padding-inline:20px}.sp-brand small{display:none}.sp-brand .zaiko-brand-mark img{width:32px;height:32px}.sp-header{left:12px;right:12px}.sp-header-tools{gap:4px}.qe-brand-title{flex-wrap:wrap;gap:2px!important}}
