:root{--ui-scale:1;--flash-intensity:.7;color:#e7f0ec;font-synthesis:none;text-rendering:optimizelegibility;background:#070a0d;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}html{font-size:calc(100% * var(--ui-scale))}*{box-sizing:border-box}html,body,#root{width:100%;min-width:320px;min-height:100%;margin:0}body{min-height:100vh;overflow-x:hidden}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}.sr-only{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;clip-path:inset(50%)!important;width:1px!important;height:1px!important;position:absolute!important;overflow:hidden!important}.settings-launcher{z-index:20;right:max(1.2rem, env(safe-area-inset-right));bottom:max(1.2rem, env(safe-area-inset-bottom));color:#bfe9dc;letter-spacing:.12em;text-transform:uppercase;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#071012eb;border:1px solid #76d6ba80;min-height:2.65rem;padding:0 1rem;font-size:.64rem;font-weight:800;position:fixed}.battlefield-settings-launcher{z-index:12}.settings-launcher:hover,.settings-launcher:focus-visible,.icon-action:hover,.icon-action:focus-visible,.binding-capture:hover,.binding-capture:focus-visible{outline-offset:2px;border-color:#a7f0da;outline:2px solid #a7f0da38}.settings-scrim{z-index:50;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#020608c7;place-items:center;padding:1.5rem;display:grid;position:fixed;inset:0}.settings-panel{color:#dcf4ed;background:linear-gradient(135deg,#0d1c1dfa,#050b0efc),#071014;border:1px solid #7ed8be7a;width:min(74rem,100%);max-height:min(52rem,100vh - 3rem);padding:1.2rem;overflow:auto;box-shadow:0 2rem 8rem #000000a6}.settings-panel>header,.settings-panel>footer{justify-content:space-between;align-items:center;gap:1rem;display:flex}.danger-action{color:#ffd8d2;letter-spacing:.09em;text-transform:uppercase;background:#581918b8;border:1px solid #b5574d;min-height:3.2rem;padding:0 1.2rem;font-size:.7rem;font-weight:850}.danger-action:hover,.danger-action:focus-visible{outline-offset:2px;border-color:#f09083;outline:2px solid #f0908333}.surrender-confirmation{flex:1;align-items:center;gap:.6rem;margin-right:auto;display:flex}.surrender-confirmation>span{color:#dcb0a9;max-width:22rem;font-size:.7rem;line-height:1.4}.settings-panel>header{border-bottom:1px solid #6eb8a538;padding-bottom:1rem}.settings-panel>header span,.settings-panel legend{color:#78b8a6;letter-spacing:.16em;text-transform:uppercase;font-size:.62rem;font-weight:900}.settings-panel h2{margin:.15rem 0 0;font-size:clamp(1.8rem,4vw,3rem)}.icon-action{color:#d5eee7;background:#0b1719;border:1px solid #33524b;width:2.75rem;height:2.75rem;font-size:1.4rem}.settings-grid{grid-template-columns:repeat(2,minmax(18rem,1fr));gap:.8rem;padding-block:1rem;display:grid}.settings-panel fieldset{background:#040c0e8a;border:1px solid #5c948740;align-content:start;gap:.65rem;min-width:0;margin:0;padding:.85rem;display:grid}.settings-panel fieldset>label:not(.toggle-setting){gap:.35rem;display:grid}.settings-panel select{color:#dff7f0;min-height:2.5rem;font:inherit;background:#091517;border:1px solid #2f4e47;padding:0 .65rem}.toggle-setting{color:#bfd6d0;letter-spacing:.04em;text-transform:none;align-items:center;gap:.65rem;min-height:2.25rem;font-size:.72rem;display:flex}.toggle-setting input{accent-color:#78d6ba;width:1.1rem;min-height:1.1rem}.range-setting{grid-template-columns:minmax(8rem,1fr) auto;align-items:center;gap:.25rem .75rem;display:grid}.range-setting output{color:#b6e7d9;font-variant-numeric:tabular-nums;text-align:right;min-width:7ch;font-family:ui-monospace,monospace;font-size:.68rem}.range-setting input[type=range]{accent-color:#78d6ba;background:0 0;grid-column:1/-1;min-height:1.4rem;padding:0}.control-bindings>p{color:#718d85;margin:0 0 .25rem;font-size:.68rem}.control-bindings>div{color:#b9d2cb;border-top:1px solid #67998c1f;grid-template-columns:1fr 8rem;align-items:center;gap:.6rem;padding-top:.35rem;font-size:.72rem;display:grid}.binding-capture{color:#b9e7d9;background:#0c1a1b;border:1px solid #315149;min-height:2rem;font-family:ui-monospace,monospace;font-size:.68rem}.binding-capture.active{color:#f3dda0;border-color:#e7c66c}.settings-note{color:#d8bb73!important}.settings-panel>footer{border-top:1px solid #6eb8a538;justify-content:flex-end;padding-top:1rem}.network-quality{z-index:11;right:max(1rem, env(safe-area-inset-right));bottom:calc(max(1rem, env(safe-area-inset-bottom)) + 16.8rem);color:#c8e9df;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#050c0ee0;border:1px solid #6dbea64d;align-items:center;gap:.7rem;max-width:25rem;padding:.55rem .7rem;display:flex;position:absolute}.network-quality>div{gap:.12rem;display:grid}.network-quality strong{letter-spacing:.1em;text-transform:uppercase;font-size:.62rem}.network-quality span:last-child{color:#819a93;font-size:.61rem;line-height:1.35}.network-bars{align-items:end;gap:2px;height:1rem;display:flex}.network-bars i{background:#70d1b5;width:3px;display:block}.network-bars i:first-child{height:35%}.network-bars i:nth-child(2){height:68%}.network-bars i:nth-child(3){height:100%}.network-quality.fair .network-bars i:nth-child(3),.network-quality.poor .network-bars i:nth-child(n+2),.network-quality.lost .network-bars i{background:#5d6966}.network-quality.fair{border-color:#deb85e73}.network-quality.poor,.network-quality.lost{border-color:#df685b85}html[data-high-contrast-selection=true] .selection-box{background:#00000042;border-width:3px;border-color:#fff;box-shadow:0 0 0 2px #000,0 0 14px #fff}html[data-reduced-motion=true] *,html[data-reduced-motion=true] :before,html[data-reduced-motion=true] :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.app-shell{background:radial-gradient(circle at 74% 24%,#4cb8971f,#0000 28rem),linear-gradient(145deg,#080c10 0%,#0d1217 58%,#080b0e 100%);grid-template-rows:auto 1fr auto;min-height:100vh;padding:clamp(1.2rem,4vw,3.5rem);display:grid;position:relative;overflow:hidden}.ambient-grid{pointer-events:none;opacity:.24;background-image:linear-gradient(#71b8a314 1px,#0000 1px),linear-gradient(90deg,#71b8a314 1px,#0000 1px);background-size:72px 72px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 88%);mask-image:linear-gradient(#000,#0000 88%)}.brand-lockup{z-index:1;align-items:center;gap:1rem;display:flex;position:relative}.brand-rune{color:#a9f5dd;border:1px solid #7cd8bd;place-items:center;width:3rem;height:3rem;font-family:Georgia,serif;font-size:1.35rem;display:grid;transform:rotate(45deg)}.brand-rune:first-letter{transform:rotate(-45deg)}h1,h2,p{margin-top:0}h1{letter-spacing:.04em;margin-bottom:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.35rem,2vw,2rem);font-weight:500}h2{letter-spacing:-.035em;margin-bottom:.75rem;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.2rem,6vw,5.4rem);font-weight:400;line-height:.95}.eyebrow{color:#73bca9;letter-spacing:.18em;text-transform:uppercase;margin-bottom:.35rem;font-size:.68rem;font-weight:700}.entry-frame,.lobby-frame{z-index:1;align-self:center;width:min(100%,70rem);margin:3rem auto;position:relative}.entry-frame{grid-template-columns:minmax(0,1.15fr) minmax(18rem,.7fr);align-items:end;gap:clamp(3rem,8vw,9rem);display:grid}.entry-copy>p:last-child{color:#91a29e;max-width:34rem;font-size:clamp(1rem,1.4vw,1.25rem);line-height:1.65}.entry-form{border-left:1px solid #7cd8bd59;gap:.75rem;padding:2rem 0 2rem 2rem;display:grid;position:relative}.entry-form:before,.entry-form:after{content:"";background:#8be6cb;width:5px;height:5px;position:absolute;left:-3px;box-shadow:0 0 16px #63c9aa}.entry-form:before{top:0}.entry-form:after{bottom:0}label{color:#93aaa4;letter-spacing:.14em;text-transform:uppercase;font-size:.69rem;font-weight:700}input{color:#effff9;background:#080f11d1;border:1px solid #263c3a;border-radius:2px;outline:none;width:100%;min-height:3.2rem;padding:0 1rem;transition:border-color .15s,box-shadow .15s}input:focus{border-color:#74cdb3;box-shadow:0 0 0 2px #74cdb31f}.primary-action,.secondary-action{letter-spacing:.1em;text-transform:uppercase;border-radius:2px;min-height:3.2rem;padding:0 1.2rem;font-size:.73rem;font-weight:800}.primary-action{color:#07100d;background:#83ddc2;border:1px solid #76d6ba}.secondary-action{color:#bfe9dc;background:#132322d9;border:1px solid #3b5b55}.join-divider{color:#546963;text-transform:uppercase;align-items:center;gap:.75rem;margin:.5rem 0;font-size:.68rem;display:flex}.join-divider:before,.join-divider:after{content:"";background:#23332f;flex:1;height:1px}.join-row{grid-template-columns:minmax(7rem,.75fr) minmax(10rem,1.25fr);gap:.6rem;display:grid}.join-row input{letter-spacing:.18em;text-transform:uppercase;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.lobby-frame{max-width:56rem}.lobby-heading,.lobby-command{justify-content:space-between;align-items:end;gap:2rem;display:flex}.room-code-block{text-align:right;gap:.25rem;display:grid}.room-code-block span,.connection-readout{color:#70857f;letter-spacing:.14em;text-transform:uppercase;font-size:.65rem}.room-code-block strong{color:#a9f5dd;letter-spacing:.18em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1.5rem}.slot-list{gap:.6rem;margin:2rem 0;display:grid}.player-slot{background:linear-gradient(90deg,#1c302cb8,#0b1214d9);border:1px solid #2b4942;grid-template-columns:3rem 1fr auto;align-items:center;gap:1rem;min-height:5.8rem;padding:1rem 1.25rem;display:grid}.player-slot.vacant{opacity:.55;border-style:dashed}.slot-index{color:#52736a;font-family:ui-monospace,monospace}.player-slot>div{gap:.3rem;display:grid}.player-slot>div span{color:#71857f;font-size:.74rem}.ready-sigil{color:#76827f;letter-spacing:.1em;text-transform:uppercase;border:1px solid #3d4b48;padding:.45rem .7rem;font-size:.65rem;font-weight:700}.ready-sigil.active{color:#aff0dd;border-color:#69bfa6;box-shadow:inset 3px 0 #75d5b9}.lobby-command .primary-action{min-width:14rem}.countdown{color:#88bbae;text-transform:uppercase;align-items:baseline;gap:1.2rem;display:flex}.countdown strong{color:#c9fff0;font-family:Georgia,serif;font-size:3rem}.build-mark{z-index:1;color:#394b47;letter-spacing:.18em;font-family:ui-monospace,monospace;font-size:.62rem;position:relative}.battlefield-shell{background:#070c10;width:100vw;height:100vh;position:relative;overflow:hidden}.battlefield-canvas{touch-action:none;cursor:default;outline:none;width:100%;height:100%;display:block}.battlefield-canvas:focus-visible{box-shadow:inset 0 0 0 2px #7cd8bd8c}.selection-box{z-index:2;pointer-events:none;background:#53cca821;border:1px solid #abffe5eb;position:absolute;box-shadow:0 0 12px #53cca838}.economy-ribbon{z-index:3;top:max(1rem, env(safe-area-inset-top));left:max(1rem, env(safe-area-inset-left));color:#d8f7ed;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:linear-gradient(105deg,#050d0ff0,#0d1f1dd4);border:1px solid #6fd6b857;align-items:stretch;min-height:4.2rem;display:flex;position:absolute;box-shadow:0 1rem 3rem #0000003d}.resource-readout,.capacity-readout,.production-readout{border-right:1px solid #6bb19e2e;align-content:center;gap:.18rem;min-width:7.4rem;padding:.65rem .9rem;display:grid}.resource-readout>span,.capacity-readout>span:first-child,.production-readout>span:first-child{color:#708c84;letter-spacing:.14em;text-transform:uppercase;font-size:.58rem;font-weight:800}.resource-readout strong,.capacity-readout strong,.production-readout strong{font-variant-numeric:tabular-nums;letter-spacing:.04em;min-width:5ch;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1.05rem}.capacity-readout strong i{color:#527068;font-size:.72em;font-style:normal}.capacity-track{background:#203732;width:100%;height:2px;overflow:hidden}.capacity-track>span{background:#7edbbf;height:100%;transition:width .18s;display:block;box-shadow:0 0 8px #71d3b6}.production-readout{border-right:0;grid-template-columns:1fr auto;min-width:9.2rem}.production-readout>span:first-child{grid-column:1/-1}.production-toggle{color:#a9d9cb;letter-spacing:.08em;text-transform:uppercase;background:#122925d1;border:1px solid #365a51;min-width:3.7rem;padding:.2rem .45rem;font-size:.55rem;font-weight:800}.production-toggle[aria-pressed=true]{color:#f2ca91;background:#412712d9;border-color:#b98852}.build-command-deck{z-index:3;bottom:max(1rem, env(safe-area-inset-bottom));color:#cce9e0;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#050c0ee8;border:1px solid #6dc7ad57;width:min(43rem,100vw - 2rem);padding:.75rem;position:absolute;left:50%;transform:translate(-50%);box-shadow:0 1rem 4rem #0000006b}.build-command-deck header{color:#7ca99d;letter-spacing:.15em;text-transform:uppercase;justify-content:space-between;align-items:baseline;margin-bottom:.55rem;font-size:.6rem;font-weight:800;display:flex}.build-command-deck header small{color:#536c65;font-size:.53rem}.build-command-list{grid-template-columns:repeat(4,minmax(0,1fr));gap:.4rem;display:grid}.build-command{color:#a5c7bd;text-align:left;background:linear-gradient(150deg,#18302adb,#0a1817e0);border:1px solid #29483f;align-items:center;gap:.55rem;min-height:2.9rem;padding:.45rem .55rem;font-size:.64rem;font-weight:700;display:flex}.build-command:disabled{filter:saturate(.35)}.build-command-copy{gap:.12rem;min-width:0;display:grid}.build-command-copy strong{color:inherit;font-size:.64rem}.build-command-copy small{color:#76948b;text-overflow:ellipsis;white-space:nowrap;font-size:.5rem;line-height:1.2;overflow:hidden}.build-command-copy i{color:#d2b673;font-family:ui-monospace,monospace;font-size:.5rem;font-style:normal}.build-command:hover,.build-command:focus-visible,.build-command[aria-pressed=true]{color:#e4fff7;background:linear-gradient(150deg,#295b4deb,#0d2421eb);border-color:#77cfb5;outline:none}.build-command-key{color:#88cbb8;border:1px solid #467467;flex:none;place-items:center;width:1.5rem;height:1.5rem;font-family:ui-monospace,monospace;font-size:.58rem;display:grid}.placement-help,.worker-help{color:#718e86;letter-spacing:.035em;min-height:1.3rem;margin:.5rem 0 0;font-size:.58rem}.placement-help{justify-content:space-between;align-items:center;gap:1rem;display:flex}.placement-help button{color:#d19a86;text-transform:uppercase;background:0 0;border:0;padding:.25rem;font-size:.58rem;font-weight:800}.command-projection{z-index:4;top:5.9rem;left:max(1rem, env(safe-area-inset-left));color:#a8c3bb;pointer-events:none;background:#050c0ec7;border-left:3px solid #4b7167;gap:.15rem;width:min(24rem,100vw - 2rem);padding:.55rem .75rem;transition:border-color .14s,background .14s;display:grid;position:absolute}.command-projection strong{color:#d2e9e2;letter-spacing:.08em;text-transform:uppercase;font-size:.65rem}.command-projection span{color:#779087;font-size:.62rem}.command-projection.pending{border-color:#e0b562}.command-projection.accepted{border-color:#73dbba}.command-projection.rejected{background:#230d0de0;border-color:#dd6659}.training-deck{z-index:4;bottom:max(1rem, env(safe-area-inset-bottom));left:max(1rem, env(safe-area-inset-left));color:#cce5dd;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#050c0eed;border:1px solid #75b7a457;width:min(22rem,100vw - 2rem);max-height:min(38rem,100vh - 9rem);padding:.7rem;position:absolute;overflow:auto;box-shadow:0 1rem 4rem #0006}.training-deck>header,.training-inspector>header{color:#80aa9e;letter-spacing:.13em;text-transform:uppercase;justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.55rem;font-size:.6rem;font-weight:800;display:flex}.training-deck header small,.training-inspector header span{color:#5c746d;letter-spacing:.04em;text-overflow:ellipsis;white-space:nowrap;font-size:.54rem;font-weight:600;overflow:hidden}.academy-list{gap:.4rem;display:grid}.academy-lane{background:linear-gradient(105deg,#162a26b8,#081313db);border:1px solid #59897d45;grid-template-columns:minmax(7.8rem,1.3fr) minmax(5.8rem,1fr) auto;align-items:center;gap:.45rem;padding:.45rem;display:grid}.academy-lane.unsupported{background:linear-gradient(105deg,#301614bd,#120b0de0);border-color:#c35c4c80}.academy-title{align-items:center;gap:.45rem;min-width:0;display:flex}.academy-title>div{gap:.1rem;min-width:0;display:grid}.academy-title strong{letter-spacing:.035em;text-overflow:ellipsis;white-space:nowrap;font-size:.64rem;overflow:hidden}.academy-title small{color:#657d76;font-size:.52rem}.discipline-pip{color:#688079;border:1px solid;border-radius:50%;flex:none;place-items:center;width:1.45rem;height:1.45rem;font-family:ui-monospace,monospace;font-size:.57rem;font-style:normal;font-weight:800;display:grid}.discipline-pip.assault[data-complete=true],.academy-title .discipline-pip.assault{color:#e18572}.discipline-pip.ballistics[data-complete=true],.academy-title .discipline-pip.ballistics{color:#e3bf69}.discipline-pip.mobility[data-complete=true],.academy-title .discipline-pip.mobility{color:#79c3e8}.discipline-pip.systems[data-complete=true],.academy-title .discipline-pip.systems{color:#ba91eb}.training-bay{gap:.2rem;min-width:0;display:grid}.training-bay>div{color:#789087;justify-content:space-between;gap:.4rem;font-size:.5rem;display:flex}.training-bay>div strong{color:#b9d6cd;font-variant-numeric:tabular-nums;font-family:ui-monospace,monospace}.training-progress{background:#253a35;height:2px;overflow:hidden}.training-progress>span{background:#83d8bf;height:100%;display:block;box-shadow:0 0 8px #72cbb2}.training-bay button{color:#d29483;text-transform:uppercase;background:0 0;border:0;justify-self:end;padding:0;font-size:.48rem;font-weight:800}.queue-slots{gap:.14rem;display:flex}.queue-slot{color:#465c55;border:1px dashed #30463f;place-items:center;width:1.45rem;height:1.45rem;font-family:ui-monospace,monospace;font-size:.48rem;display:grid}.queue-slot.occupied{color:#a7c8be;background:#172c28;border-style:solid;border-color:#668f83}.academy-train{color:#a9d9ca;letter-spacing:.08em;text-transform:uppercase;background:#112925;border:1px solid #365a50;grid-column:1/-1;min-height:1.85rem;font-size:.55rem;font-weight:800}.academy-train span,.academy-train small{display:block}.academy-train small{color:#d2b673;letter-spacing:.02em;text-transform:none;margin-top:.16rem;font-size:.48rem}.gameplay-hint{z-index:9;top:max(1rem, env(safe-area-inset-top));right:max(1rem, env(safe-area-inset-right));color:#dceee9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#070f11e6;border:1px solid #deb85e8a;border-left-width:3px;gap:.28rem;width:min(19rem,100vw - 2rem);padding:.7rem .8rem;display:grid;position:absolute;box-shadow:0 .8rem 2.8rem #0000004d}.gameplay-hint>span{color:#c9aa64;letter-spacing:.13em;text-transform:uppercase;font-size:.5rem;font-weight:900}.gameplay-hint strong{letter-spacing:.04em;font-size:.72rem}.gameplay-hint p{color:#8eaaa2;margin:0;font-size:.61rem;line-height:1.45}.gameplay-hint button{color:#718d85;text-transform:uppercase;background:0 0;border:0;justify-self:start;padding:.2rem 0;font-size:.5rem;font-weight:800}.unit-identity-strip{border-top:1px solid #689f9038;grid-template-columns:auto 1fr;align-items:center;gap:.65rem;margin-top:.55rem;padding-top:.55rem;display:grid}.unit-pips,.ability-slots{gap:.3rem;display:flex}.unit-pips .discipline-pip{width:1.35rem;height:1.35rem}.ability-slots{justify-content:flex-end;min-width:0}.ability-slot{color:#9dbcb3;text-overflow:ellipsis;white-space:nowrap;border:1px solid #314b44;align-items:center;gap:.35rem;min-width:0;max-width:8.5rem;padding:.32rem .42rem;font-size:.52rem;display:flex;overflow:hidden}.ability-slot i{color:#789b91;border:1px solid #55766d;flex:none;place-items:center;width:1rem;height:1rem;font-family:ui-monospace,monospace;font-size:.45rem;font-style:normal;display:grid}.combat-command-deck{z-index:6;bottom:max(1rem, env(safe-area-inset-bottom));color:#c7e8de;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#060e10e6;border:1px solid #71a6976b;width:min(31rem,100vw - 2rem);padding:.65rem;position:absolute;left:50%;transform:translate(-50%)}:is(.battlefield-shell:has(.combat-command-deck) .build-command-deck,.battlefield-shell:has(.combat-command-deck) .training-deck){visibility:hidden;pointer-events:none}.combat-command-deck>header,.unit-vitals>header{justify-content:space-between;align-items:center;gap:.8rem;margin-bottom:.5rem;display:flex}.combat-command-deck>header>span{color:#79b7a5;letter-spacing:.14em;text-transform:uppercase;font-size:.56rem;font-weight:900}.combat-command-deck>header>small{color:#8aa79f;text-overflow:ellipsis;white-space:nowrap;font-size:.55rem;overflow:hidden}.combat-orders{grid-template-columns:repeat(5,minmax(0,1fr));gap:.28rem;display:grid}.combat-orders button,.combat-ability button{color:#a8d4c8;letter-spacing:.04em;text-transform:uppercase;background:#10231f;border:1px solid #35574e;min-height:2rem;padding:.35rem .42rem;font-size:.52rem;font-weight:800}.combat-orders button[aria-pressed=true],.combat-ability button[aria-pressed=true]{color:#ffe6a7;background:#3a311c;border-color:#e4bc6c;box-shadow:inset 0 0 0 1px #ffda8a38}.combat-orders button:disabled,.combat-ability button:disabled{color:#51645f;background:#0c1715;border-color:#263a35}.combat-abilities{grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem;margin-top:.42rem;display:grid}.combat-ability{grid-template-columns:1fr auto;gap:.2rem;display:grid}.combat-ability>button:first-child{text-align:left;grid-template-columns:1.15rem 1fr auto;align-items:center;gap:.35rem;min-width:0;display:grid}.combat-ability i{border:1px solid;place-items:center;width:1.05rem;height:1.05rem;font-family:ui-monospace,monospace;font-size:.48rem;font-style:normal;display:grid}.combat-ability span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.combat-ability small{color:#65827a;font-size:.45rem}.combat-ability[data-ready=true] small{color:#78d5b8}.combat-ability .autocast-toggle{color:#718d85;width:2.5rem;min-height:2rem;padding-inline:.2rem;font-size:.43rem}.combat-ability .autocast-toggle[aria-pressed=true]{color:#b7f7e4;background:#17392f;border-color:#69c3a8}.unit-vitals{z-index:5;top:5.35rem;left:max(1rem, env(safe-area-inset-left));color:#c7dfd8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#050c0edb;border-left:3px solid #579881;width:min(17rem,100vw - 2rem);padding:.7rem;position:absolute}.unit-vitals[data-state=downed]{border-left-color:#e59a59}.unit-vitals[data-state=dead]{filter:saturate(.45);border-left-color:#ac5e56}.unit-vitals>header div{gap:.12rem;display:grid}.unit-vitals>header strong{font-size:.72rem}.unit-vitals>header span,.unit-vitals>header b,.unit-vitals-empty{color:#738f87;letter-spacing:.08em;text-transform:uppercase;font-size:.5rem;font-weight:700}.vital-meter{gap:.18rem;margin-top:.35rem;display:grid}.vital-meter>div{color:#819d95;justify-content:space-between;font-size:.5rem;display:flex}.vital-meter>div strong{color:#afc9c1;font-variant-numeric:tabular-nums;text-align:right;min-width:5.5rem;font-family:ui-monospace,monospace}.vital-meter>span{background:#172522;height:.27rem;display:block;overflow:hidden}.vital-meter>span>span{background:#70ca91;height:100%;transition:width .12s ease-out;display:block}.vital-meter.shield>span>span{background:#67b8dd}.combat-statuses{flex-wrap:wrap;gap:.25rem;margin-top:.52rem;display:flex}.combat-statuses span{color:#8da9a1;letter-spacing:.06em;text-transform:uppercase;border:1px solid #526b64;padding:.2rem .34rem;font-size:.46rem;font-weight:800}.combat-alert{z-index:7;color:#d5ebe4;pointer-events:none;text-align:center;background:#081113eb;border:1px solid #6f8b82;min-width:15rem;padding:.55rem .8rem;display:grid;position:absolute;top:8.5rem;left:50%;transform:translate(-50%)}.combat-alert strong{letter-spacing:.11em;text-transform:uppercase;font-size:.62rem}.combat-alert span{color:#849f97;margin-top:.12rem;font-size:.52rem}.combat-alert.warning{border-color:#d29a5d}.combat-alert.critical{border-color:#db685c;box-shadow:0 0 1rem #db685c2e}.training-inspector{z-index:8;top:max(1rem, env(safe-area-inset-top));right:max(1rem, env(safe-area-inset-right));color:#cce4dc;background:#050b0df7;border:1px solid #6f8e85;width:min(29rem,100vw - 2rem);max-height:calc(100vh - 2rem);padding:.8rem;position:absolute;overflow:auto}.training-inspector>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:.28rem;display:grid}.training-inspector article{border:1px solid #243a34;grid-template-columns:2rem 1fr;gap:.12rem .4rem;padding:.4rem;display:grid}.training-inspector article>span{color:#68877e;grid-row:1/3;font-family:ui-monospace,monospace;font-size:.54rem}.training-inspector article strong{text-overflow:ellipsis;white-space:nowrap;font-size:.58rem;overflow:hidden}.training-inspector article small{color:#6b817b;font-size:.48rem}.battlefield-loading{color:#7db6a6;letter-spacing:.16em;text-transform:uppercase;place-items:center;width:100%;height:100%;font-size:.72rem;font-weight:700;display:grid}.diagnostics{top:max(1rem, env(safe-area-inset-top));right:max(1rem, env(safe-area-inset-right));color:#c3e9dd;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#050b0dd1;border:1px solid #68bea44d;width:min(14rem,100vw - 2rem);max-height:calc(100vh - 2rem);padding:.75rem;position:absolute;overflow:auto}.minimap-frame{z-index:8;right:max(1rem, env(safe-area-inset-right));bottom:max(1rem, env(safe-area-inset-bottom));color:#b9ddd3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#040a0ceb;border:1px solid #74cfb585;width:13.75rem;padding:.38rem;position:absolute;box-shadow:0 1rem 3rem #0000006b}.minimap-heading{letter-spacing:.12em;text-transform:uppercase;justify-content:space-between;padding:.1rem .15rem .35rem;font-size:.52rem;font-weight:900;display:flex}.minimap-frame canvas{cursor:crosshair;image-rendering:auto;border:1px solid #a6ddcd47;width:100%;height:auto;display:block}.minimap-frame canvas:focus-visible{outline-offset:2px;outline:2px solid #d9fff3}.formation-control{z-index:8;right:max(1rem, env(safe-area-inset-right));bottom:calc(max(1rem, env(safe-area-inset-bottom)) + 15.8rem);color:#aacdc3;background:#040a0ce6;border:1px solid #74cfb557;grid-template-columns:repeat(4,1fr);gap:.25rem;width:13.75rem;padding:.38rem;display:grid;position:absolute}.formation-control legend{color:#769c91;letter-spacing:.12em;text-transform:uppercase;padding:0 .25rem;font-size:.48rem;font-weight:900}.formation-control button{color:#86aaa0;text-transform:uppercase;background:#0d1c1c;border:1px solid #355a51;min-height:2rem;padding:.25rem .1rem;font-size:.48rem;font-weight:800}.formation-control button.active,.formation-control button:hover,.formation-control button:focus-visible{color:#d7fff3;background:#183a32;border-color:#7ed7bd}.diagnostics-heading{color:#84b8aa;letter-spacing:.13em;text-transform:uppercase;align-items:center;gap:.5rem;margin-bottom:.55rem;font-size:.64rem;font-weight:800;display:flex}.status-pulse{background:#76dabd;border-radius:50%;width:.45rem;height:.45rem;box-shadow:0 0 10px #76dabd}.diagnostics dl{gap:.25rem;margin:0;display:grid}.diagnostics dl div{border-top:1px solid #6c968b1f;justify-content:space-between;gap:1rem;padding-top:.25rem;display:flex}.diagnostics dt,.diagnostics dd{margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.68rem}.diagnostics dt{color:#617a73}.dominion-hud{z-index:6;top:max(5.4rem, env(safe-area-inset-top));color:#d7eee7;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:linear-gradient(100deg,#050c0ff0,#0f1c1de0);border:1px solid #7caea15c;width:min(36rem,100vw - 34rem);min-width:28rem;padding:.55rem .65rem;position:absolute;left:50%;transform:translate(-50%);box-shadow:0 .8rem 2.6rem #00000040}.dominion-hud>header{color:#78978f;letter-spacing:.14em;text-transform:uppercase;justify-content:space-between;align-items:center;margin-bottom:.4rem;font-size:.55rem;font-weight:900;display:flex}.dominion-hud time{color:#a8c8bf;font-variant-numeric:tabular-nums;text-align:right;min-width:9.5ch;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.dominion-relays{grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem;display:grid}.relay-sigil{background:#0d1919c7;border:1px solid #344641;grid-template-columns:1.65rem minmax(0,1fr);align-items:center;gap:.4rem;min-width:0;padding:.35rem;display:grid;position:relative;overflow:hidden}.relay-sigil.house-0{border-color:#69d5b6a8}.relay-sigil.house-1{border-color:#dd8f5dad}.relay-sigil.contested{background:repeating-linear-gradient(135deg,#3a2a14e6 0 5px,#181815e6 5px 10px);border-color:#e7b75ce0}.relay-glyph{clip-path:polygon(50% 0,100% 28%,82% 100%,18% 100%,0 28%);color:#899c97;border:1px solid;place-items:center;width:1.65rem;height:1.65rem;font-family:ui-monospace,monospace;font-size:.6rem;font-weight:900;display:grid}.house-0 .relay-glyph{color:#7ce0c2}.house-1 .relay-glyph{color:#e39a6c}.contested .relay-glyph{color:#efc26d}.relay-sigil>div{gap:.08rem;min-width:0;display:grid}.relay-sigil strong,.relay-sigil small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.relay-sigil strong{letter-spacing:.04em;text-transform:uppercase;font-size:.57rem}.relay-sigil small{color:#728a84;font-size:.47rem}.relay-progress{background:#1d2c29;height:2px;position:absolute;bottom:0;left:0;right:0}.relay-progress>span{background:#a7beb8;height:100%;transition:width .16s linear;display:block;box-shadow:0 0 8px}.house-0 .relay-progress>span{background:#71d8ba}.house-1 .relay-progress>span{background:#dc8e60}.contested .relay-progress>span{background:#e4b659}.pressure-clash{grid-template-columns:1fr auto 1fr;align-items:end;gap:.5rem;margin-top:.45rem;display:grid}.pressure-meter>div{color:#718781;letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;gap:.5rem;font-size:.46rem;font-weight:800;display:flex}.pressure-meter strong{color:#b5cdc6;font-variant-numeric:tabular-nums;text-align:right;min-width:5ch;font-family:ui-monospace,monospace}.pressure-track{background:#1b2c28;height:3px;margin-top:.18rem;display:block;overflow:hidden}.pressure-track>span{background:#68cdae;height:100%;transition:width .18s linear;display:block}.pressure-meter.rival .pressure-track>span{background:#d98759;margin-left:auto}.pressure-divider{color:#50635e;font-family:ui-monospace,monospace;font-size:.52rem}.siege-banner{z-index:7;color:#f7d99c;pointer-events:none;background:#311f0deb;border:1px solid #dfaa5c;justify-content:space-between;align-items:baseline;gap:1.5rem;min-width:19rem;padding:.48rem .7rem;display:flex;position:absolute;top:10.2rem;left:50%;transform:translate(-50%);box-shadow:0 0 1.5rem #e09d4333}.siege-banner.defending{color:#ffc4b8;background:#341310f0;border-color:#dc6859}.siege-banner span{letter-spacing:.11em;text-transform:uppercase;font-size:.56rem;font-weight:900}.siege-banner strong{font-variant-numeric:tabular-nums;min-width:5ch;font-family:ui-monospace,monospace;font-size:.8rem}.battlefield-shell:has(.dominion-hud) .combat-alert{top:10.3rem}.battlefield-shell:has(.siege-banner) .combat-alert{top:13.4rem}.match-result{z-index:20;color:#dcefe9;text-align:center;background:linear-gradient(#081113f5,#050b0dfa),repeating-linear-gradient(135deg,#0000 0 16px,#73d0b514 16px 17px);border:1px solid #7dafa0;justify-items:center;width:min(35rem,100vw - 2rem);padding:clamp(1.5rem,4vw,3rem);display:grid;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 100vmax #020507d1,0 2rem 7rem #000000a8}.match-result-rune{color:#aef0dd;border:1px solid #8fd9c3;place-items:center;width:3rem;height:3rem;margin-bottom:.8rem;font-family:Georgia,serif;display:grid;transform:rotate(45deg)}.match-result>p:first-of-type{color:#76aa9b;letter-spacing:.15em;text-transform:uppercase;margin-bottom:.35rem;font-size:.58rem;font-weight:900}.match-result h2{margin-bottom:.75rem;font-size:clamp(2.8rem,8vw,5.2rem)}.match-result>strong{color:#bcd8cf;letter-spacing:.08em;text-transform:uppercase;font-size:.72rem}.match-result>span{color:#78938b;margin-top:.3rem;font-size:.78rem}.match-result dl{gap:2rem;margin:1.4rem 0 0;display:flex}.match-result dl div{gap:.15rem;display:grid}.match-result dt{color:#667f78;letter-spacing:.12em;text-transform:uppercase;font-size:.5rem;font-weight:800}.match-result dd{color:#9fbeb5;margin:0;font-family:ui-monospace,monospace;font-size:.62rem}.match-result-summary{color:#829b94;max-width:28rem;margin:1.2rem 0 0;font-size:.68rem;line-height:1.5}.error-notice{z-index:10;right:max(1rem, env(safe-area-inset-right));bottom:max(1rem, env(safe-area-inset-bottom));color:#f5dfd9;background:#200f0ef5;border:1px solid #a85a4c;border-left-width:4px;justify-content:space-between;gap:1rem;width:min(27rem,100vw - 2rem);padding:1rem;display:flex;position:fixed}.error-notice div{gap:.25rem;display:grid}.error-notice span{color:#d48778;letter-spacing:.14em;text-transform:uppercase;font-size:.62rem;font-weight:800}.error-notice p{color:#bb9e98;margin:0;font-size:.82rem}.error-notice button{color:#d6aaa1;background:0 0;border:0;align-self:start;font-size:1.4rem}@media (max-width:760px){.app-shell{padding:1.25rem}.entry-frame{grid-template-columns:1fr;align-items:start;gap:2rem;margin-block:2rem}.entry-form{padding:1.25rem 0 1.25rem 1.25rem}.join-row{grid-template-columns:1fr}.lobby-heading,.lobby-command{flex-direction:column;align-items:flex-start}.room-code-block{text-align:left}.player-slot{grid-template-columns:2rem 1fr}.ready-sigil{grid-column:2;justify-self:start}.diagnostics{width:12rem}.economy-ribbon{right:max(.6rem, env(safe-area-inset-right));left:max(.6rem, env(safe-area-inset-left));grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.resource-readout,.capacity-readout,.production-readout{min-width:0;padding:.5rem}.production-readout{grid-template-columns:1fr}.production-toggle{min-width:0}.command-projection{top:5.5rem;right:max(.6rem, env(safe-area-inset-right));left:max(.6rem, env(safe-area-inset-left));width:auto}.build-command-deck{bottom:max(.6rem, env(safe-area-inset-bottom));width:calc(100vw - 1.2rem)}.build-command-list{grid-template-columns:repeat(2,minmax(0,1fr))}.diagnostics{max-height:10rem;top:16.2rem}.training-deck{right:max(.6rem, env(safe-area-inset-right));bottom:max(.6rem, env(safe-area-inset-bottom));left:max(.6rem, env(safe-area-inset-left));width:auto;max-height:min(25rem,100vh - 14rem)}.academy-lane{grid-template-columns:minmax(6.5rem,1fr) minmax(5.5rem,.9fr) auto}.unit-identity-strip{grid-template-columns:1fr}.ability-slots{justify-content:flex-start}.training-inspector{right:max(.6rem, env(safe-area-inset-right));left:max(.6rem, env(safe-area-inset-left));width:auto}.training-inspector>div{grid-template-columns:1fr}.combat-command-deck{right:max(.6rem, env(safe-area-inset-right));bottom:max(.6rem, env(safe-area-inset-bottom));left:max(.6rem, env(safe-area-inset-left));width:auto;transform:none}.combat-orders{grid-template-columns:repeat(3,minmax(0,1fr))}.unit-vitals{top:16.2rem;left:max(.6rem, env(safe-area-inset-left));width:min(14rem,100vw - 1.2rem)}.combat-alert{max-width:calc(100vw - 1.2rem);top:13.6rem}.battlefield-shell:has(.dominion-hud) .combat-alert{top:13.6rem}.dominion-hud{width:calc(100vw - 1.2rem);min-width:0;top:8.7rem}.relay-sigil{grid-template-columns:1.4rem minmax(0,1fr);padding-inline:.25rem}.relay-glyph{width:1.35rem;height:1.35rem}.relay-sigil strong{font-size:.48rem}.relay-sigil small{font-size:.42rem}.siege-banner{width:calc(100vw - 1.2rem);min-width:0;top:13.8rem}.battlefield-shell:has(.siege-banner) .combat-alert{top:17rem}.match-result{padding:1.4rem 1rem}.match-result dl{gap:1rem}}@media (max-width:720px){.network-quality,.minimap-frame,.formation-control{display:none}.gameplay-hint{top:8.7rem;right:max(.6rem, env(safe-area-inset-right));left:max(.6rem, env(safe-area-inset-left));width:auto}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}.tutorial-layer{z-index:24;pointer-events:none;position:fixed;inset:0}.tutorial-mask{pointer-events:auto;-webkit-backdrop-filter:saturate(.7)blur(1px);backdrop-filter:saturate(.7)blur(1px);background:#020507b8;display:block;position:fixed}.tutorial-mask.full{inset:0}.tutorial-mask.passthrough{pointer-events:none}.tutorial-spotlight-outline{pointer-events:none;border:2px solid #f6c85f;border-radius:.55rem;animation:1.8s ease-in-out infinite tutorial-pulse;position:fixed;box-shadow:0 0 0 5px #f6c85f29,0 0 2.4rem #f6c85f8c}@keyframes tutorial-pulse{50%{box-shadow:0 0 0 9px #f6c85f14,0 0 3rem #f6c85fb8}}.tutorial-popover{z-index:2;pointer-events:auto;color:#f1f5ed;background:linear-gradient(145deg,#181b19fa,#070d0ffc);border:1px solid #f6c85fb3;border-radius:.25rem;width:min(22.5rem,100vw - 2rem);padding:1.15rem;position:fixed;box-shadow:0 1.5rem 5rem #000000b8}.tutorial-popover>header,.tutorial-popover>footer,.tutorial-exit-confirmation{align-items:center;gap:.65rem;display:flex}.tutorial-popover>header{color:#e5ba57;letter-spacing:.12em;text-transform:uppercase;justify-content:space-between;font-size:.6rem;font-weight:850}.tutorial-popover h2{margin:.55rem 0;font-family:Georgia,serif;font-size:1.45rem;font-weight:500}.tutorial-popover p,.tutorial-popover>strong{margin:.55rem 0;font-size:.78rem;line-height:1.55;display:block}.tutorial-popover>strong{color:#f6d88d}.tutorial-popover>footer{flex-wrap:wrap;margin-top:1rem}.tutorial-text-action,.tutorial-primary-action,.dominion-help{color:#cde8df;letter-spacing:.07em;text-transform:uppercase;background:#0b1919e0;border:1px solid #b1d1c559;min-height:2.35rem;padding:0 .75rem;font-size:.62rem;font-weight:800}.tutorial-primary-action{color:#15130d;background:#e5ba57;border-color:#e5ba57;margin-left:auto}.tutorial-text-action:focus-visible,.tutorial-primary-action:focus-visible,.dominion-help:focus-visible,.guide-layout nav button:focus-visible{outline-offset:2px;outline:2px solid #f6d88d}.tutorial-reminder{color:#ffcf82;margin-top:.65rem;font-size:.7rem;display:block}.tutorial-exit-confirmation{z-index:3;background:#101718;border-top:1px solid #e5ba5773;flex-wrap:wrap;padding:.9rem;position:absolute;inset:auto 0 0}.tutorial-exit-confirmation p{flex:1 0 100%;margin:0}.battlefield-shell:has(.tutorial-layer) .battlefield-settings-launcher{z-index:29}.guide-scrim,.tutorial-prompt-scrim{z-index:60;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#020608d6;place-items:center;padding:1.5rem;display:grid;position:fixed;inset:0}.how-to-play,.tutorial-prompt{color:#def3ec;background:linear-gradient(145deg,#0f1f1ffc,#060c0ffc);border:1px solid #7ed8be80;width:min(68rem,100%);max-height:calc(100vh - 3rem);padding:1.25rem;overflow:auto;box-shadow:0 2rem 8rem #000000b3}.how-to-play>header{justify-content:space-between;align-items:start;gap:1rem;display:flex}.how-to-play header span,.tutorial-prompt>span{color:#76d6ba;letter-spacing:.14em;text-transform:uppercase;font-size:.6rem;font-weight:850}.how-to-play h2,.tutorial-prompt h2{margin:.25rem 0 .7rem;font-family:Georgia,serif;font-weight:500}.guide-search{color:#9ec5b9;gap:.35rem;margin:1rem 0;font-size:.68rem;display:grid}.guide-search input,.tutorial-prompt input{color:#effbf7;background:#040b0dd9;border:1px solid #7ed8be59;min-height:2.8rem;padding:0 .8rem}.guide-layout{grid-template-columns:13rem minmax(0,1fr);gap:1.2rem;display:grid}.guide-layout nav{align-content:start;gap:.35rem;display:grid}.guide-layout nav button{color:#a9c9c0;text-align:left;background:0 0;border:1px solid #7ed8be33;min-height:2.7rem;padding:0 .75rem}.guide-layout nav button[aria-current=page]{color:#e8fff8;background:#2e705f47;border-color:#76d6ba}.guide-chapter{min-width:0;line-height:1.55}.guide-chapter h3{margin-top:0;font-family:Georgia,serif;font-size:1.35rem;font-weight:500}.guide-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;display:grid}.guide-card-grid section{background:#051011b8;border:1px solid #7ed8be33;padding:.8rem}.guide-card-grid strong,.guide-card-grid span{display:block}.guide-card-grid span{color:#e5ba57;margin-top:.25rem;font-size:.66rem}.guide-card-grid p{margin-bottom:0;font-size:.75rem}.guide-definitions{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;display:grid}.guide-definitions>div{border-bottom:1px solid #7ed8be29;padding:.5rem}.guide-definitions dt{color:#76d6ba;font-weight:800}.guide-definitions dd{color:#b9cec8;margin:.15rem 0 0;font-size:.75rem}.tutorial-prompt{width:min(30rem,100%);padding:1.5rem}.tutorial-prompt p{color:#bad0c9;line-height:1.55}.tutorial-prompt label{color:#9ec5b9;gap:.4rem;font-size:.68rem;display:grid}.tutorial-prompt>div{justify-content:flex-end;gap:.7rem;margin-top:1.2rem;display:flex}.dominion-hud>header>div{min-width:0}.dominion-hud>header small{color:#9eb7af;letter-spacing:.02em;text-transform:none;margin-top:.1rem;font-size:.52rem;font-weight:550;display:block}.dominion-help{min-height:1.8rem;padding-inline:.45rem;font-size:.48rem}@media (max-width:720px){.battlefield-shell:has(.tutorial-layer) .battlefield-settings-launcher{top:5.6rem;bottom:auto}.tutorial-popover{right:.6rem;bottom:max(.6rem, env(safe-area-inset-bottom));width:auto;max-height:46vh;overflow:auto;top:auto!important;left:.6rem!important}.guide-scrim,.tutorial-prompt-scrim{padding:.6rem}.how-to-play{max-height:calc(100vh - 1.2rem);padding:.85rem}.guide-layout{grid-template-columns:1fr}.guide-layout nav{display:flex;overflow-x:auto}.guide-layout nav button{flex:none}.guide-card-grid,.guide-definitions{grid-template-columns:1fr}.dominion-hud>header small{display:none}}@media (prefers-reduced-motion:reduce){.tutorial-spotlight-outline{animation:none}}
