:root{color-scheme:dark;--cyan:#67eafa;--gold:#ffd782}*{box-sizing:border-box}body{margin:0;background:#050a15;color:#e6eef9;font-family:system-ui,-apple-system,sans-serif;-webkit-user-select:none;user-select:none}button,a,input{touch-action:manipulation}button{cursor:pointer;background:#142639;border:1px solid #325571;color:#e5f6ff;border-radius:10px;padding:10px 12px;font:600 13px system-ui}button:hover,button.active{border-color:var(--cyan);background:#173b4d}button:disabled{opacity:.45;cursor:default}a{color:var(--cyan);text-decoration:none}input{background:#09182a;color:white;border:1px solid #3b607d;border-radius:10px;padding:12px;font-size:16px;width:100%;text-transform:uppercase;letter-spacing:3px}h1,h2,p{margin:0}.cc-shell{max-width:1100px;margin:auto;height:100dvh;min-height:580px;display:flex;flex-direction:column;padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom)}.cc-top{height:46px;flex:none;display:flex;align-items:center;justify-content:space-between;padding:6px 12px;border-bottom:1px solid #1b3149}.cc-top h1{font-size:16px;letter-spacing:-.4px}.cc-top small{font-size:9px;padding:3px 5px;background:#203246;color:var(--gold);border-radius:4px;margin-left:4px}.cc-top button{padding:6px 9px;font-size:11px}.cc-hud{display:flex;justify-content:space-around;gap:6px;flex:none;padding:8px 6px;background:linear-gradient(90deg,#101c2e,#10283b)}.cc-hud span{font-size:10px;color:#9cafc3}.cc-hud b{display:block;font-size:16px;color:#e8f8ff;font-variant-numeric:tabular-nums}.cc-hud #crystals{color:var(--cyan)}.cc-field{position:relative;flex:1;min-height:280px;overflow:hidden;border-bottom:1px solid #345671}canvas#battle{display:block;width:100%;height:100%;touch-action:none}.cc-hint{position:absolute;left:9px;top:8px;max-width:calc(100% - 18px);padding:5px 9px;border:1px solid #395471;border-radius:7px;background:#050d1ddb;color:#c1d4e7;font-size:11px;pointer-events:none}.cc-message{position:absolute;left:9px;top:41px;padding:5px 9px;font-size:12px;background:#17152de0;color:var(--gold);border-radius:6px;pointer-events:none}.cc-dock{flex:none;padding:8px;background:#091422;box-shadow:0 -8px 30px #02061288}.cc-tools{display:flex;gap:5px;justify-content:space-between}.cc-tools button{padding:8px 7px;flex:1;font-size:11px}.cc-palette{display:flex;overflow:auto;gap:6px;padding-top:7px;min-height:59px;scrollbar-width:none}.cc-palette button{flex:none;min-width:76px;padding:7px;font-size:11px}.cc-palette small{display:block;color:var(--gold);font-size:10px;font-weight:500;margin-top:2px}.cc-context{font-size:10px;color:#8fa7be;line-height:16px;margin:2px 1px 0}.cc-session{display:flex;gap:6px;padding:0 8px 7px;flex:none;background:#091422}.cc-session button:first-child{flex:1}.cc-session button{padding:7px;font-size:11px}.cc-session #quit{color:#ffb4a0;width:66px}.cc-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#040a1688;backdrop-filter:blur(4px);padding:16px}.cc-overlay[hidden]{display:none}.cc-card{width:100%;max-width:370px;border:1px solid #43748d;border-radius:20px;padding:23px;background:linear-gradient(155deg,#173047f5,#070e21f5);box-shadow:0 20px 70px #000a,0 0 35px #4ce6ff16;text-align:center}.cc-card .eyebrow{color:var(--gold);letter-spacing:3px;font-size:9px}.cc-card h2{font-size:32px;line-height:1.04;margin:12px 0;color:#e6fbff;text-shadow:0 0 22px #60dfff66}.cc-card p{font-size:12px;line-height:1.6;color:#b6cadd;margin-bottom:15px}.cc-card button{width:100%;margin:4px 0;padding:12px}.cc-card .primary{background:linear-gradient(110deg,#266479,#247f92);border-color:#76ecff}.cc-card .room-actions{display:flex;gap:6px}.cc-card .room-actions button{flex:1;font-size:11px;padding:10px 5px}.cc-room-code{font-size:27px;color:var(--gold);letter-spacing:5px;padding:10px 0}.cc-error{color:#ffbda8;font-size:12px;line-height:1.5;margin-top:8px}.cc-footer-link{display:block;margin-top:12px;font-size:11px}.cc-card details{text-align:left;font-size:11px;color:#9cb5cb;margin-top:12px}.cc-card details p{font-size:11px;margin:8px 0}.cc-confirm{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:#01040ac9;z-index:100;padding:20px}.cc-confirm[hidden]{display:none}.cc-confirm .cc-card h2{font-size:24px}.cc-card #authLink{display:block;margin-top:10px;font-size:12px}@media(min-width:700px){.cc-top{height:56px}.cc-top h1{font-size:21px}.cc-hud b{display:inline;font-size:19px;margin-left:10px}.cc-hud span{font-size:12px}.cc-dock{padding:10px 18px}.cc-tools button{font-size:13px}.cc-palette{justify-content:center}.cc-field{min-height:350px}.cc-context{text-align:center}}
:root .cc-shell{min-height:500px}:root .cc-field{min-height:220px}.cc-overlay{overflow:auto}.cc-card{max-height:100%;overflow:auto}

/* Command deck and sector art. */
[hidden]{display:none!important}
body{background:#040914}
.cc-top{background:linear-gradient(110deg,#0b1423,#0d2331);border-bottom-color:#3f82935c}
.cc-top h1{font-size:15px;text-shadow:0 0 18px #64eaff30}
.cc-top small{border:1px solid #e7c16b35;background:#2c2830;color:#ffe29b;font-size:8px}
.cc-top #back{font-size:13px;min-height:36px;display:flex;align-items:center}
.cc-hud{padding:7px 8px;background:linear-gradient(110deg,#0e1e30,#112c3b);box-shadow:0 5px 22px #02071366;z-index:1}
.cc-hud span{flex:1;padding-left:9px;border-left:1px solid #7abfdb22;font-size:9px;letter-spacing:.8px}
.cc-hud span:first-child{border:0}
.cc-hud b{font-size:17px;letter-spacing:.3px}
.cc-hint{max-width:calc(100% - 18px);border-color:#64eaff2e;background:#071522bb;backdrop-filter:blur(8px);font-size:10px;padding:6px 9px}
.cc-message{max-width:calc(100% - 18px);border:1px solid #eac46b44;background:#182339de;box-shadow:0 3px 15px #0005}
.cc-dock{padding:8px 8px 3px;background:linear-gradient(#122235,#091322);border-top:1px solid #6bdffb33;box-shadow:0 -8px 28px #02071288}
.cc-tools{gap:5px}
.cc-tools button{min-height:38px;padding:7px 4px;border-color:#4f779744;background:linear-gradient(#1c3449,#102338);border-radius:9px;font-size:11px}
.cc-tools button.active{background:linear-gradient(#215569,#173c4f);border-color:#6ae6f0;box-shadow:inset 0 1px 0 #baf9ff30,0 0 12px #5ceaff14}
.cc-palette{gap:6px;min-height:64px;padding:7px 0 3px}
.cc-palette button{position:relative;min-width:96px;min-height:56px;text-align:left;padding:8px 9px 7px 31px;border-color:#588faa55;background:linear-gradient(145deg,#203c51,#102438);border-radius:10px;font-size:11px;box-shadow:inset 0 1px 0 #b7dfff12}
.cc-palette .cc-unit-symbol{position:absolute;left:8px;top:12px;color:#80edff;font-size:18px;text-shadow:0 0 9px #4ee8ff66}
.cc-palette small{font-size:9px;margin-top:4px;color:#ffe2a1;white-space:nowrap}
.cc-palette button:disabled{opacity:.42;filter:saturate(.55)}
.cc-palette[data-mode=build]{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));overflow:visible}
.cc-palette[data-mode=build] button{min-width:0;padding:24px 4px 6px;text-align:center;font-size:10px}
.cc-palette[data-mode=build] .cc-unit-symbol{top:4px;left:0;width:100%;font-size:17px}
.cc-context{font-size:10px;min-height:17px;color:#b0c9dc}
.cc-session{padding:5px 8px 8px;background:#091322;gap:7px}
.cc-session button{min-height:40px;background:linear-gradient(#1a3448,#102337);border-color:#527d9655;font-size:11px}
.cc-session #pause{min-width:77px;border-color:#80d8e077}
.cc-session #quit{width:59px;min-width:59px;border-color:#dc98764d;color:#ffc3a6;background:linear-gradient(#292632,#171e2c)}
.cc-menu .cc-hud,.cc-menu .cc-dock,.cc-menu .cc-session,.cc-menu .cc-hint{display:none}
.cc-menu .cc-field{border:0}
.cc-overlay{background:radial-gradient(ellipse at 50% 40%,#122e4355,#030a16c9);backdrop-filter:blur(1px);padding:20px}
.cc-card{position:relative;max-width:370px;padding:25px 22px 20px;border:1px solid #5ab8d770;border-radius:23px;background:radial-gradient(ellipse at 50% 0%,#234459,#0f1e32 55%,#080f20);box-shadow:0 30px 70px #0009,inset 0 1px 0 #a1eaff40,0 0 35px #4ce6ff17}
#lobby .cc-card:before{content:'';position:absolute;top:0;left:25%;right:25%;height:2px;background:#80ecff;box-shadow:0 0 16px #59e9ff;border-radius:100%}
.cc-card .eyebrow{font-size:8px;letter-spacing:2.5px;color:#b2d2e5}
.cc-card h2{font-size:35px;letter-spacing:1px;line-height:1.03;margin:12px 0 14px;color:#f0fbff;text-shadow:0 0 25px #60dfff40}
.cc-card h2 span{color:#8deeff}
.cc-card p{font-size:13px;color:#d7e7f1;margin-bottom:15px}
.cc-subtitle{color:#8daac0;font-size:11px}
.cc-emblem{position:relative;width:70px;height:63px;margin:17px auto 2px}
.cc-emblem span{position:absolute;left:23px;top:3px;width:28px;height:48px;transform:skewY(-8deg);clip-path:polygon(50% 0,100% 38%,78% 100%,19% 100%,0 40%);background:linear-gradient(90deg,#1c899f,#b7fcff 48%,#41cfe7 52%,#156681);filter:drop-shadow(0 0 12px #55eaff)}
.cc-emblem i{position:absolute;left:7px;right:2px;bottom:1px;height:15px;border:1px solid #67eafa88;border-radius:50%;box-shadow:0 0 14px #42dded33,inset 0 0 10px #4af1ff22}
.cc-mode-note{display:flex;justify-content:space-between;font-size:8px;letter-spacing:1px;color:#84bfd0;padding:7px 2px 10px}
.cc-card .primary{min-height:46px;background:linear-gradient(115deg,#247187,#1e9bad);border-color:#80efff;box-shadow:inset 0 1px 0 #c0fbff55,0 4px 18px #2bc7e92c;font-size:14px;letter-spacing:.3px}
.cc-card .room-actions{gap:7px;margin-top:5px}
.cc-card .room-actions button{min-height:44px;background:linear-gradient(#1b354a,#132539);border-color:#6395b255;border-radius:11px;font-size:10px}
.cc-card details{border-top:1px solid #73bdd72b;padding-top:10px;font-size:11px;margin-top:12px}
.cc-card summary{cursor:pointer;min-height:25px;color:#a0becf}
.cc-card .cc-footer-link{font-size:10px;color:#8eafbf;margin-top:8px}
.cc-card #authLink{color:#80e9ff;font-size:11px}
.cc-confirm .cc-card h2{letter-spacing:0}
@media(max-width:360px){.cc-top h1{font-size:12px}.cc-top small{font-size:7px}.cc-top #back{font-size:12px}.cc-card{padding:21px 17px 16px}.cc-card h2{font-size:29px}.cc-palette[data-mode=build] button{font-size:9px}.cc-palette small{font-size:8px}.cc-tools button{font-size:10px}.cc-context{font-size:9px}}
@media(min-width:700px){.cc-top h1{font-size:21px}.cc-hud span{font-size:11px;padding-left:20px}.cc-hud b{font-size:20px}.cc-palette[data-mode=build]{display:flex;justify-content:center}.cc-palette[data-mode=build] button{min-width:100px}.cc-card{max-width:400px;padding:30px}.cc-card h2{font-size:42px}.cc-emblem{margin-top:20px}}
.cc-menu #lobby:before{content:'';position:absolute;inset:0;pointer-events:none;opacity:.45;background:radial-gradient(ellipse at 50% 35%,#36cbfa26,transparent 55%),repeating-linear-gradient(30deg,transparent 0 65px,#5096bc13 66px,transparent 67px 130px),repeating-linear-gradient(150deg,transparent 0 65px,#5096bc13 66px,transparent 67px 130px)}
.cc-emblem{animation:crystal-hover 4s ease-in-out infinite}
@keyframes crystal-hover{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
@media(prefers-reduced-motion:reduce){.cc-emblem{animation:none}}

/* Close inspection and selection telemetry. */
.cc-unit-symbol svg{width:24px;height:24px;display:block;filter:drop-shadow(0 0 4px #50e8ff55)}
.cc-palette .cc-unit-symbol{top:12px;left:6px}
.cc-palette[data-mode=build] .cc-unit-symbol{top:2px;display:flex;justify-content:center}
.cc-palette[data-mode=build] .cc-unit-symbol svg{width:21px;height:21px}
.cc-palette button.active{border-color:#8affed;background:linear-gradient(145deg,#245c6a,#123844);box-shadow:0 0 12px #62ffd933}
.cc-selection{display:grid;grid-template-columns:1fr auto;align-items:center;gap:2px 8px;font-size:10px;color:#dcf6ff;padding:6px 2px 2px}
#selectionName{font-weight:700;color:#a6f4ff}#selectionDetail{font-size:9px;color:#a7bfce}
.cc-selection i{grid-column:1/-1;height:2px;background:#243b4b;overflow:hidden;border-radius:2px}
.cc-selection i b{display:block;height:100%;background:#67eafa;transition:width .2s}.cc-selection i b.damaged{background:#ffad81}
.cc-zoom{position:absolute;right:9px;top:8px;display:flex;gap:4px;z-index:2}
.cc-zoom button{width:36px;height:36px;padding:0;font-size:20px;color:#bcf9ff;background:#0b2334d9;border:1px solid #63c6df55;box-shadow:0 3px 10px #0005}
.cc-hint{max-width:calc(100% - 105px)}.cc-menu .cc-zoom{display:none}
.cc-report-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin:18px 0;border-top:1px solid #6abec944;border-bottom:1px solid #6abec944;padding:14px 0}
.cc-report-stats b{display:block;font-size:22px;color:#a8f6ff;font-variant-numeric:tabular-nums}.cc-report-stats span{display:block;font-size:7px;color:#9cbaca;letter-spacing:.6px;margin-top:5px}
#results[data-outcome=victory] h2{color:#a9fff0;text-shadow:0 0 28px #46efad88}#results[data-outcome=defeat] h2{color:#ffd3b4;text-shadow:0 0 28px #ff764955}
@media(max-height:620px){.cc-selection{padding-top:3px}.cc-tools button{min-height:33px}.cc-palette button{min-height:50px}.cc-palette{min-height:56px}.cc-session button{min-height:36px}}
@media(prefers-reduced-motion:reduce){.cc-selection i b{transition:none}}

.cc-tools #setRally{color:#e1b7ff}.cc-tools #setRally.active{border-color:#d7a4ff;background:#3a2851}.cc-palette[data-mode=train] button[data-research]{min-width:135px}.cc-selection #selectionDetail{max-width:230px;text-align:right}
@media(max-width:360px){.cc-tools{gap:3px}.cc-tools button{padding:7px 2px;font-size:9px}.cc-selection #selectionDetail{font-size:8px;max-width:185px}}

/* Practice choice, compact warnings and squads. */
.cc-card .cc-difficulty{display:flex;gap:5px;margin:3px 0 8px}.cc-card .cc-difficulty button{flex:1;padding:8px 3px;margin:0;font-size:11px;min-height:43px;background:#102437;border-color:#456980}.cc-difficulty small{display:block;font-size:8px;font-weight:400;color:#a1bccb;margin-top:3px}.cc-difficulty [aria-checked=true]{border-color:#76ecff!important;background:#1b485a!important;box-shadow:0 0 12px #54e9ff22}
.cc-alert{position:absolute;left:9px;top:78px;max-width:calc(100% - 18px);padding:7px 10px;min-height:34px;font-size:11px;background:#33232bea;border-color:#ffb28b;color:#ffe2c8;text-align:left;box-shadow:0 4px 15px #0006}.cc-alert[data-priority="3"],.cc-alert[data-priority="4"]{background:#132d3ceb;border-color:#74dcea;color:#bdf6ff}.cc-menu .cc-alert{display:none}
.cc-palette[data-mode=army]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;overflow:visible}.cc-palette[data-mode=army] button{min-width:0;min-height:34px;text-align:center;padding:7px 3px;font-size:10px}.cc-palette[data-mode=army] button[aria-pressed=true]{border-color:#79ffdb;background:#16443d}
.cc-tools #selectArmy.active{border-color:#77edff;background:#1b495c}
@media(max-height:620px){.cc-card .cc-difficulty button{min-height:38px;padding:6px 2px}.cc-palette[data-mode=army] button{min-height:30px;padding:5px 2px}.cc-alert{top:71px;font-size:10px;padding:6px 8px}}

.cc-zoom{flex-wrap:wrap;width:76px}.cc-zoom #boxSelect{width:76px;height:30px;font-size:11px;color:#ffe176;border-color:#d2ae5355}.cc-zoom #boxSelect.active{border-color:#ffe176;background:#4b3a19;box-shadow:0 0 12px #ffdc6622}

.cc-alert,.cc-message{max-width:calc(100% - 105px)}

.cc-palette[data-mode=build] button{touch-action:none;-webkit-user-drag:none}.cc-zoom #cancelBuild{width:76px;height:30px;font-size:10px;color:#ffd0d5;border-color:#ee879266;background:#3c2637ef}

/* Expanded tech deck keeps all build cards reachable on phones. */
.cc-build-groups{display:flex;gap:6px;padding-top:6px}.cc-build-groups button{flex:1;min-height:29px;padding:5px;font-size:10px;border-color:#5b859755;background:#102637}.cc-build-groups [aria-pressed=true]{color:#bafaff;border-color:#6edbe1;background:#1b4455}
.cc-palette[data-mode=train]{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);overflow:visible;justify-content:stretch}.cc-palette[data-mode=train] button{min-width:0;padding:7px 5px 7px 28px;font-size:10px}.cc-palette[data-mode=train] small{white-space:normal}.cc-role{display:block;font-size:8px;line-height:1.3;font-style:normal;color:#9dc6d5;margin-top:3px}.cc-palette[data-mode=train] .cc-unit-symbol{left:3px}.cc-palette[data-mode=train] .cc-unit-symbol svg{width:22px;height:22px}
.cc-palette[data-mode=train] button[data-research]{min-width:0}.cc-palette[data-mode=build] button small{white-space:normal}.cc-palette[data-mode=build] button.active{border-color:#82ffbf}
@media(max-height:620px){:root .cc-field{min-height:160px}.cc-palette[data-mode=train] button{min-height:55px}.cc-build-groups{padding-top:4px}.cc-build-groups button{min-height:25px;padding:3px}}

.cc-palette[data-mode=build] .cc-role{font-size:7px;line-height:1.25}.cc-palette[data-mode=build]:has([data-kind=starport]){grid-template-columns:repeat(4,minmax(0,1fr))}@media(min-width:700px){.cc-palette[data-mode=build]:has([data-kind=starport]){display:flex}}

.cc-context{height:32px;min-height:32px;overflow:hidden;line-height:16px}

/* A short, safe first battle teaches one action at a time. */
.cc-card .cc-learn-note{font-size:10px;color:#b1e4d8;margin:3px 0 12px}.cc-lesson{flex:none;display:flex;align-items:center;gap:9px;padding:8px 10px;background:linear-gradient(110deg,#123640,#122538);border-bottom:1px solid #78e8cf66;min-height:82px}.cc-lesson>div{flex:1;min-width:0}.cc-lesson span{display:block;font-size:8px;letter-spacing:1px;color:#8debd4}.cc-lesson b{display:block;font-size:12px;margin:2px 0}.cc-lesson p{font-size:10px;line-height:1.4;color:#d0e4ed}.cc-lesson button{flex:none;max-width:95px;min-height:40px;font-size:10px;padding:8px;border-color:#83ead4;color:#d8fff3;background:#17463f}.cc-lesson-target{outline:2px solid #ffd782!important;outline-offset:2px;box-shadow:0 0 14px #ffd78255!important}.cc-lesson-marker{position:absolute;z-index:3;pointer-events:none;color:#ffdc77;font-size:22px;line-height:22px;text-shadow:0 0 6px #000,0 0 12px #ffcf4b;transform:translate(-50%,-75%)}.cc-learning .cc-hint,.cc-learning .cc-alert,.cc-learning #zoomIn,.cc-learning #zoomOut,.cc-learning #buildGroups,.cc-learning #setRally,.cc-learning #selectMiners,.cc-learning #trainTab,.cc-learning #orderMode,.cc-learning #selectionStatus,.cc-learning #context{display:none!important}.cc-learning .cc-palette[data-mode=build]{grid-template-columns:repeat(2,minmax(0,1fr))}.cc-learning .cc-palette[data-mode=army]{display:flex}.cc-learning .cc-palette[data-mode=army] button{flex:1}.cc-learning .cc-palette{min-height:58px}.cc-learning #palette button{font-size:12px}.cc-learning .cc-session #pause{flex:1}.cc-learning .cc-tools button{font-size:12px}.cc-learning #cancelBuild{display:block}.cc-learning .cc-message{top:8px;max-width:calc(100% - 18px)}
@media(min-width:700px){.cc-lesson{padding:10px 18px;min-height:76px}.cc-lesson b{font-size:14px}.cc-lesson p{font-size:12px}.cc-lesson button{max-width:120px;font-size:12px}}
.cc-learning #boxSelect{display:none!important}.cc-learning #palette:empty{display:none}
@media(max-height:650px){#lobby .cc-emblem,#lobby .cc-mode-note{display:none}#lobby .cc-card{padding:17px}#lobby .cc-card h2{font-size:27px;margin:8px 0}#lobby .cc-card p{margin-bottom:8px}#lobby .cc-card .cc-learn-note{margin-bottom:8px}#lobby .cc-card details{margin-top:7px;padding-top:6px}}

/* Brighter command surfaces keep small phone controls legible. */
.cc-palette button:not(:disabled){border-top-color:#91c6d37a;box-shadow:inset 0 1px 0 #c4f5ff1c,0 3px 8px #0003}
.cc-palette button:disabled .cc-role{color:#c1d5dd}
.cc-palette button:active:not(:disabled),.cc-tools button:active,.cc-session button:active{background:#245363;border-color:#a3f5ff}
.cc-hud b{text-shadow:0 0 12px #71e7ff22}.cc-hud #crystals{text-shadow:0 0 12px #71e7ff44}
.cc-selection{border-top:1px solid #8bd5e21c;margin-top:3px;padding-top:7px}
.cc-selection i{height:3px;box-shadow:0 1px 0 #c3efff0c}.cc-selection i b{box-shadow:0 0 7px #67eafa55}
button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid #ffe29b;outline-offset:2px}
@media(max-height:620px){.cc-selection{padding-top:3px;margin-top:2px}}

.cc-capacity{display:block;padding:0;border:0;border-radius:4px;background:transparent!important;color:#9cafc3;font-size:inherit;font-weight:400;text-align:left}.cc-capacity:hover{color:var(--cyan)}.cc-capacity:focus-visible{outline:2px solid var(--gold);outline-offset:4px}.cc-palette [data-kind=relay] .cc-role{font-size:9px;color:#a2efce;font-weight:700}
@media(max-width:699px){.cc-capacity{white-space:nowrap;font-size:9px}.cc-palette[data-mode=build] [data-kind=relay] .cc-unit-symbol{display:none}.cc-palette[data-mode=build] [data-kind=relay] .cc-role{position:absolute;top:3px;left:0;width:100%;margin:0;font-size:8px;line-height:1.15}}


/* Command telemetry and a brushed alloy control deck. */
.cc-top{box-shadow:inset 0 1px 0 #c2f3ff16}.cc-dock{background:radial-gradient(ellipse at 0 0,#27465655,transparent 65%),linear-gradient(#122538,#081523)}
.cc-tools button,.cc-palette button,.cc-session button{transition:border-color .15s,background .15s;box-shadow:inset 0 1px 0 #e2f8ff18,0 2px 6px #0003}
.cc-hud span[data-warning=true] b{color:#ffb995!important}.cc-hud span[data-warning=true]{background:#fb754410;border-radius:5px}
.cc-queue{margin-top:6px;border:1px solid #779aac35;border-radius:9px;padding:7px 9px;background:#071724;color:#bdd7e5;font-size:10px}.cc-queue-head{display:flex;justify-content:space-between;gap:5px;margin-bottom:6px}.cc-queue-head b{color:#ffe2a2;font-size:10px}.cc-queue-track{height:3px;background:#274051;border-radius:3px;overflow:hidden}.cc-queue-track span{display:block;height:100%;background:linear-gradient(90deg,#33adc1,#acfaff)}.cc-queue-list{display:flex;gap:4px;margin-top:6px;flex-wrap:wrap}.cc-queue-list span{padding:3px 5px;border:1px solid #6c9db13d;border-radius:4px;font-size:9px;color:#acc7d7}.cc-queue-list span:first-child{border-color:#77e5ef88;color:#d6fcff;background:#194354}
.cc-learning .cc-queue-list{display:none}
@media(max-height:650px) and (max-width:799px){.cc-queue{padding:5px 7px}.cc-queue-list{display:none}.cc-queue-head{margin-bottom:4px}}
@media(prefers-reduced-motion:reduce){.cc-tools button,.cc-palette button,.cc-session button{transition:none}}

@media(min-width:800px){
.cc-shell{max-width:none;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 330px;grid-template-rows:56px auto minmax(0,1fr) auto;gap:0}
.cc-top{grid-column:1/3;grid-row:1}.cc-hud{grid-column:2;grid-row:2;display:grid;grid-template-columns:1fr 1fr;padding:20px;gap:18px;border-left:1px solid #31536a}.cc-hud b{display:block;margin:4px 0;font-size:24px}.cc-hud span{font-size:10px}
.cc-field{grid-column:1;grid-row:2/5;min-height:0}.cc-dock{grid-column:2;grid-row:3;padding:18px;overflow:auto;min-height:0;border-left:1px solid #31536a;box-shadow:none}.cc-session{grid-column:2;grid-row:4;padding:12px 18px;border-left:1px solid #31536a}
.cc-tools{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.cc-tools button{font-size:11px}.cc-palette,.cc-palette[data-mode=train],.cc-palette[data-mode=build],.cc-palette[data-mode=build]:has([data-kind=starport]){display:grid;grid-template-columns:1fr 1fr;grid-auto-flow:row;overflow:visible;justify-content:stretch}.cc-palette button,.cc-palette[data-mode=train] button{min-height:88px;padding:10px;font-size:12px}.cc-palette .cc-unit-symbol,.cc-palette[data-mode=train] .cc-unit-symbol{position:static;display:block}.cc-palette .cc-unit-symbol svg{width:25px;height:25px}.cc-role,.cc-palette[data-mode=build] .cc-role{font-size:10px}.cc-palette small{font-size:11px}.cc-context{text-align:left;font-size:11px}.cc-selection{margin-top:18px;gap:9px;flex-wrap:wrap}.cc-lesson{grid-column:1;grid-row:2}.cc-learning .cc-field{grid-row:3/5}.cc-menu .cc-field{grid-column:1/3;grid-row:2/5}.cc-menu .cc-hud,.cc-menu .cc-dock,.cc-menu .cc-session{display:none}.cc-card{max-width:410px}.cc-top h1{font-size:20px}
}

.cc-map-note{color:#a9d2df;font-size:11px;line-height:1.35;margin:6px 0 10px!important;text-align:center;letter-spacing:.35px}

/* Battle selection stays compact and uses an open section. */
.cc-map-choice{text-align:left;margin:10px 0;border-top:1px solid #81cada28;padding-top:9px}
.cc-map-choice label{display:block;color:#9fdce5;font-size:9px;letter-spacing:1.3px;margin-bottom:5px}
.cc-map-choice select{width:100%;min-height:42px;border:1px solid #75baca48;border-radius:10px;background:#0b2030;color:#e6f6fa;font:600 14px system-ui;padding:8px 10px}
.cc-map-choice select:focus-visible{outline:2px solid #67eafa;outline-offset:2px}
.cc-map-choice #mapDescription{font-size:10px;line-height:1.4;margin:6px 0 0;color:#adbfcb}

/* Long brood rosters keep readable cards and scroll within the dock. */
.cc-faction-choice p{font-size:11px;line-height:1.45;margin:7px 0 10px;color:#b8ccd9}
.cc-faction-choice #factionTradeoff{color:#c9e4d4;font-size:10px}
@media(max-width:799px){.cc-palette[data-mode=train][data-many=true]{display:flex;overflow-x:auto;justify-content:flex-start;gap:6px}.cc-palette[data-mode=train][data-many=true] button{flex:0 0 142px;min-width:142px;max-width:142px;min-height:66px;padding:7px 8px 7px 34px}.cc-palette[data-many=true] .cc-role{white-space:normal;line-height:1.15;font-size:9px}.cc-tools #selectMiners{overflow:hidden;font-size:9px}.cc-context{overflow-wrap:anywhere}}

/* Compact battle setup: primary actions fit on a phone without the tall splash. */
#lobby .cc-card{padding:16px 18px;max-width:440px;width:calc(100% - 24px)}
#lobby .cc-lobby-heading{display:flex;align-items:center;gap:12px;text-align:left;margin:0 0 12px}
#lobby .cc-lobby-heading>span{font-size:38px;color:#7ceeff;text-shadow:0 0 20px #55ddff88}
#lobby .cc-lobby-heading h2{font-size:23px;letter-spacing:-.6px;margin:0}
#lobby .cc-lobby-heading p{font-size:12px;margin:3px 0 0;color:#a9c9d9}
#lobby #learn{min-height:40px;margin:0;font-size:13px;padding:8px}
#lobby #learnNote{font-size:10px;margin:5px 0 10px}
#lobby .cc-difficulty{margin:6px 0;gap:6px}
#lobby .cc-difficulty button{min-height:42px;padding:6px;font-size:12px}
#lobby .cc-difficulty small{display:none}
#lobby .cc-map-choice{margin:8px 0;padding-top:8px}
#lobby .cc-map-choice select{min-height:42px;font-size:13px;padding:7px 9px}
#lobby .cc-map-choice label{margin:0 0 4px;font-size:9px}
#lobby #mapDescription{font-size:10px;margin:4px 0 0}
#lobby .cc-faction-choice{display:grid;grid-template-columns:1fr 1fr;gap:4px 8px}
#lobby .cc-faction-choice label[for=faction]{grid-column:1;grid-row:1}
#lobby #faction{grid-column:1;grid-row:2}
#lobby .cc-faction-choice label[for=opponentFaction]{grid-column:2;grid-row:1}
#lobby #opponentFaction{grid-column:2;grid-row:2}
#lobby #practice{margin:10px 0 8px;min-height:46px;font-size:15px}
#lobby .room-actions{margin:0;gap:7px}
#lobby .room-actions button{min-height:44px;padding:7px;font-size:11px}
#lobby details{margin-top:10px;padding-top:10px;font-size:11px}
#lobby .cc-footer-link{margin-top:10px;font-size:10px}
#lobby #factionDescription,#lobby #factionTradeoff{text-align:left;font-size:12px;line-height:1.45}

#lobby #practice{background:linear-gradient(110deg,#22778d,#179fae);border-color:#8cefff;box-shadow:0 5px 20px #30cddd24}#lobby #learn{background:#172d40;border-color:#577a92;box-shadow:none}

/* Polished command console, scoped to the start menu. */
#lobby .cc-card{border-color:#6fdbea66;background:radial-gradient(ellipse at 100% 0,#25607866,transparent 46%),linear-gradient(145deg,#142d43f7,#091527fc 75%);box-shadow:0 24px 70px #0009,0 0 40px #3edbe919,inset 0 1px 0 #b5faff33;border-radius:24px}
#lobby .cc-lobby-heading{gap:15px;margin-bottom:15px}
#lobby .cc-menu-kicker{display:block;font-size:8px;letter-spacing:1.8px;font-weight:800;color:#b6dbeb;margin-bottom:5px}
#lobby .cc-lobby-heading h2{font-size:25px;font-weight:850;line-height:1.02;letter-spacing:-.8px;text-shadow:none}
#lobby .cc-lobby-heading h2 em{display:block;color:#8fefff;font-style:normal}
#lobby .cc-lobby-heading p{margin:5px 0 0;font-size:11px;color:#a8c8d9}
#lobby .cc-lobby-heading>.cc-menu-crystal{display:block;flex:0 0 38px;height:58px;background:linear-gradient(105deg,#287d9c 0 28%,#99fbff 29% 48%,#43d6e8 49% 66%,#15728c 67%);clip-path:polygon(50% 0,100% 34%,74% 90%,50% 100%,23% 88%,0 33%);filter:drop-shadow(0 0 12px #51dcff88)}
#lobby .cc-difficulty{padding:4px;border-radius:13px;background:#050e1d77;border:1px solid #6797b32b}
#lobby .cc-difficulty button{margin:0;border-color:transparent;background:transparent;color:#a9c3d6;border-radius:9px}
#lobby .cc-difficulty button[aria-checked=true]{color:#eaffff;border-color:#7deafa;background:linear-gradient(135deg,#267085,#174152);box-shadow:0 2px 12px #25cce82b,inset 0 1px 0 #b7ffff33}
#lobby .cc-map-choice{border-top-color:#84c4e01c}
#lobby .cc-map-choice label{color:#92d3e2;font-weight:700;letter-spacing:1.2px}
#lobby .cc-map-choice select{border-color:#699eaf55;background:linear-gradient(130deg,#183449,#102638);box-shadow:inset 0 1px 0 #c5faff09;border-radius:11px}
#lobby #practice{position:relative;background:linear-gradient(110deg,#93f5e6,#65dcf1);color:#082b3a;border:1px solid #c6fff6;box-shadow:0 6px 22px #55e8db26,inset 0 1px 0 #fff8;font-weight:850;letter-spacing:.2px;border-radius:13px}
#lobby #practice:hover{background:linear-gradient(110deg,#b4fff1,#86edff)}
#lobby #learn{border-style:dashed;border-color:#6cabc066;color:#bde9f5;background:#15304655;border-radius:11px}
#lobby .room-actions button{border-color:#638bad66;background:linear-gradient(135deg,#213c56,#17263d);color:#dfedff;border-radius:12px;box-shadow:inset 0 1px 0 #a8d6ff12}
#lobby button:focus-visible,#lobby summary:focus-visible{outline:2px solid #ffe09d;outline-offset:3px}
#lobby details{border-top-color:#79aed126;color:#a9c9dd}
@media(max-width:360px){#lobby .cc-card{padding:14px}#lobby .cc-lobby-heading h2{font-size:22px}#lobby .cc-lobby-heading{gap:11px}}

/* Faction-aware lighting and tactile controls. */
#lobby{--faction-light:#8fefff;--faction-glow:#43dafa;--faction-wash:#25607866}
#lobby[data-faction=verdant]{--faction-light:#b9ffa1;--faction-glow:#7de97a;--faction-wash:#36673c77}
#lobby[data-faction=prism]{--faction-light:#e0bdff;--faction-glow:#b68aff;--faction-wash:#65458c66}
#lobby .cc-card{background:radial-gradient(ellipse at 95% 0,var(--faction-wash),transparent 52%),linear-gradient(145deg,#142d43f7,#091527fc 75%);border-color:color-mix(in srgb,var(--faction-light) 42%,transparent)}
#lobby .cc-lobby-heading h2 em{color:var(--faction-light)}
#lobby .cc-lobby-heading>.cc-menu-crystal{background:linear-gradient(105deg,color-mix(in srgb,var(--faction-glow) 45%,#15354b) 0 28%,#eaffff 29% 48%,var(--faction-light) 49% 66%,var(--faction-glow) 67%)}
#lobby .cc-free-tag{display:inline-block;margin-left:5px;padding:2px 5px;border-radius:5px;color:#fbe4a5;background:#e7bd4920;font-size:7px;letter-spacing:.5px;font-weight:800;vertical-align:middle}
#lobby .cc-faction-choice{border:0;padding:0;margin:12px 0}
#lobby .cc-map-choice label{font-size:8px;letter-spacing:1.3px}
#lobby #faction{border-color:color-mix(in srgb,var(--faction-light) 55%,transparent);color:var(--faction-light);background:linear-gradient(125deg,var(--faction-wash),#102638)}
#lobby #opponentFaction{border-color:#db9ab144;color:#f0dbe5}
#lobby #practice{background:linear-gradient(110deg,var(--faction-light),var(--faction-glow));border-color:var(--faction-light);box-shadow:0 5px 20px color-mix(in srgb,var(--faction-glow) 18%,transparent);min-height:48px}
#lobby button{transition:transform .14s ease,background .18s ease,box-shadow .18s ease}
#lobby button:not(:disabled):active{transform:scale(.98)}
#lobby details>summary{min-height:30px;display:list-item;cursor:pointer;padding:6px 0;color:#bad0df}
#lobby details[open]>summary{color:var(--faction-light)}
#lobby .cc-lobby-heading{position:relative;padding-bottom:12px;margin-bottom:10px;border-bottom:1px solid #b6eaff19}
@media(max-width:699px){#lobby{padding:10px}#lobby .cc-card{width:100%;max-width:400px;padding:16px}}
@media(prefers-reduced-motion:reduce){#lobby button{transition:none}#lobby button:not(:disabled):active{transform:none}}
/* Let the complete battle report remain readable on compact phones. */
#results .cc-card{height:auto;max-height:100%;overflow-y:auto}
#results .cc-context{display:block;max-height:none;height:auto;overflow:visible;white-space:normal;margin:10px 0;line-height:1.5;min-height:0}
#results .cc-card>*{flex-shrink:0}

/* 1.3 mobile command controls: legible, thumb-friendly, and non-obstructive. */
@media(max-width:799px){
  .cc-tools{gap:7px}
  .cc-tools button{min-height:44px;padding:9px 6px;font-size:11px;line-height:1.2}
  .cc-palette{gap:8px;scroll-snap-type:x proximity;overscroll-behavior-x:contain}
  .cc-palette button{min-height:56px;scroll-snap-align:start;border-radius:12px}
  .cc-session button{min-height:44px}
  .cc-session #quit{width:74px}
  .cc-context{font-size:11px;line-height:1.4}
  .cc-hint{max-width:min(74%,280px);line-height:1.35}
  .cc-field{overscroll-behavior:contain}
  #battle{touch-action:none}
}
@media(max-width:380px){
  .cc-tools button{font-size:10px;padding-inline:4px}
  .cc-palette button{min-width:82px}
}
@media(prefers-reduced-motion:reduce){
  .cc-palette{scroll-behavior:auto}
}

.cc-voice-caption{position:absolute;bottom:10px;left:10px;max-width:calc(100% - 110px);padding:7px 10px;border:1px solid #78e8cf55;border-radius:8px;background:#071522ed;color:#d8fff3;font-size:11px;line-height:1.4;pointer-events:none;z-index:3}.cc-voice-caption[hidden],.cc-menu .cc-voice-caption{display:none}
