:root{color:#e8f4ff;background:#071021;font-family:Inter,ui-sans-serif,system-ui,sans-serif}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,input,select{font:inherit}button{color:#e8f4ff;cursor:pointer;background:#11283a;border:1px solid #33536b;border-radius:8px;padding:.55rem .8rem}button:hover{background:#1a3a50}button:disabled{opacity:.45;cursor:not-allowed}.primary{color:#06131c;background:#37aee8;border-color:#6dd5ff;font-weight:800}.menu{background:radial-gradient(circle at 60% 20%,#193953,#071021 60%);place-items:center;min-height:100vh;padding:2rem;display:grid}.menu section{background:#0c1c2a;border:1px solid #244057;border-radius:18px;width:min(1040px,100%);padding:1.5rem;box-shadow:0 30px 90px #0008}.eyebrow{letter-spacing:.16em;color:#72cbed;font-size:.75rem}.lobby-section-head{color:#b9d9ea;justify-content:space-between;align-items:end;margin:1.25rem 0 .55rem;display:flex}.lobby-section-head b{color:#e8f4ff;font-size:1.1rem;display:block}.lobby-section-head small{margin-top:.2rem;display:block}.lobby-section-head span{color:#72cbed;font-size:.8rem}.slots{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:.7rem;margin:0 0 1rem;display:grid}.slot-card{background:linear-gradient(145deg,#132d42,#0c1d2c);border:1px solid #2e5269;border-radius:12px;gap:.55rem;padding:.7rem;display:grid}.slot-card>header{gap:.45rem;display:flex}.slot-card>header input{color:#e8f4ff;background:0 0;border:0;border-bottom:1px solid #45667c;flex:1;min-width:0;padding:.25rem;font-weight:700}.slot-card>header button{padding:.15rem .5rem}.role-switch,.difficulty-switch{gap:.25rem;display:flex}.role-switch button,.difficulty-switch button{background:#091724;border-radius:6px;flex:1;padding:.4rem}.role-switch button.active,.difficulty-switch button.active{color:#fff;background:#1d67c9;border-color:#6ec8ff}.slot-fields{grid-template-columns:1fr 1fr;gap:.45rem;display:grid}.slot-fields label{color:#a8c6d7;gap:.2rem;font-size:.75rem;display:grid}.slot-fields select{color:#e8f4ff;background:#091724;border:1px solid #33536b;border-radius:6px;width:100%;padding:.4rem}.color-dropdown{position:relative}.color-dropdown summary{cursor:pointer;color:#e8f4ff;background:#091724;border:1px solid #33536b;border-radius:6px;align-items:center;gap:.4rem;padding:.4rem;list-style:none;display:flex}.color-dropdown summary::-webkit-details-marker{display:none}.color-dropdown[open]>div{z-index:10;background:#081521;border:1px solid #4c7892;border-radius:7px;min-width:12rem;padding:.25rem;position:absolute;top:calc(100% + .2rem);left:0;box-shadow:0 .8rem 2rem #0009}.color-dropdown button{text-align:left;background:0 0;border:0;border-radius:4px;align-items:center;gap:.5rem;width:100%;padding:.35rem;display:flex}.color-dropdown button:disabled{opacity:.35}.color-swatch{border:1px solid #d8f5ff99;border-radius:2px;width:2.4rem;height:.75rem;display:inline-block}.secondary-settings{color:#b9d9ea;margin-top:1rem}.secondary-settings summary{cursor:pointer;color:#72cbed}.row{align-items:end;gap:.6rem;margin-bottom:1rem;display:flex}.match-role{color:#b9d9ea;align-items:center;gap:.5rem;margin:0 0 1rem;display:inline-flex}.match-role select{color:#e8f4ff;background:#091724;border:1px solid #33536b;border-radius:6px;padding:.4rem}.error{color:#ff8d9e}.toggle{color:#b9d9ea;margin-top:1rem;display:block}.battle{height:100vh;position:relative}.canvas{overscroll-behavior:none;position:absolute;inset:0}.canvas canvas{overscroll-behavior:none;touch-action:none;width:100%;height:100%;display:block}.canvas.attack-mode canvas{cursor:none}.selection-box{pointer-events:none;z-index:2;background:#3dc7ff20;border:2px solid #79eaff;position:absolute;box-shadow:0 0 18px #3dc7ff55}.attack-cursor{pointer-events:none;z-index:3;border:2px solid #ff5366;border-radius:50%;width:26px;height:26px;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 12px #ff5366}.attack-cursor:before,.attack-cursor:after{content:"";background:#ff5366;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.attack-cursor:before{width:2px;height:34px}.attack-cursor:after{width:34px;height:2px}.hud{pointer-events:none;background:linear-gradient(#06121ee8,#0000);justify-content:space-between;gap:.5rem;padding:.7rem 1rem;font-size:.75rem;display:flex;position:absolute;inset:0 0 auto}.caster-panel{z-index:4;background:#071522e8;border:1px solid #365974;border-radius:10px;width:min(390px,100vw - 2rem);font-size:.72rem;position:absolute;top:3.2rem;left:1rem;overflow:hidden;box-shadow:0 14px 40px #0009}.caster-panel header,.caster-tempo,.caster-head,.caster-row{grid-template-columns:1.2fr repeat(3,1fr);align-items:center;gap:.35rem;padding:.42rem .55rem;display:grid}.caster-panel header{letter-spacing:.08em;background:#102b3e;grid-template-columns:1fr auto}.caster-tempo{grid-template-columns:repeat(5,auto);justify-content:start}.caster-tempo button,.caster-panel header button{padding:.25rem .5rem;font-size:.72rem}.caster-head{color:#9fc1d5;text-transform:uppercase;font-size:.64rem}.caster-row{text-align:left;background:#0a1c2a;border:0;border-top:1px solid #1a3549;border-radius:0;width:100%;padding:.5rem .55rem}.caster-row.active,.caster-panel button.active{background:#1d4a66;border-color:#67c5ed}.caster-row b{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:.4rem;min-width:0;display:flex;overflow:hidden}.caster-row i{border-radius:50%;flex:none;width:.6rem;height:.6rem}.minimap{text-align:center;pointer-events:none;background:#071724dd;border:2px solid #6cc9e9;border-radius:8px;width:116px;height:76px;padding:1rem;font-size:.75rem;position:absolute;bottom:1rem;left:50%;transform:translate(-50%)}.modal{z-index:20;background:#020a11b8;place-items:center;display:grid;position:absolute;inset:0}.lab-modal{position:fixed}.modal section{text-align:center;background:#0c1c2a;border:1px solid #42708a;border-radius:14px;gap:.7rem;min-width:270px;padding:1.4rem;display:grid}.modal h2{margin:0 0 .5rem}@media (width<=720px){.slot{grid-template-columns:1fr 1fr}.slot.ai>button:last-child{grid-column:auto}.hud{font-size:.6rem}.menu{padding:.5rem}}.lab{width:100vw;height:100vh;max-height:none;text-align:initial;background:#0c1c2a;border:0;border-radius:0;grid-template-rows:auto auto minmax(0,1fr);gap:.8rem;padding:1.2rem;display:grid;overflow:hidden}.modal .lab{width:100vw;max-width:none;height:100vh}.lab header,.lab-toolbar,.lab-actions{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.lab-header{justify-content:space-between}.lab-actions{flex:1;justify-content:center}.lab header h2{margin:.1rem 0}.lab label{color:#b9d9ea;gap:.25rem;display:grid}.lab input,.lab select{color:#e8f4ff;background:#091724;border:1px solid #33536b;border-radius:6px;padding:.45rem}.profile-revision-selector{flex-wrap:wrap;align-items:end;gap:.6rem;display:flex}.profile-revision-selector label{gap:.25rem;display:grid}.profile-revision-selector small{color:#7fa8bd;max-width:15rem;font-size:.72rem}.profile-revision-selector select{min-width:9rem}.release-revision,.release-revision-selected{color:#ffd35a;font-weight:800}.lab-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;display:grid}.lab fieldset{border:1px solid #33536b;border-radius:8px;gap:.55rem;display:grid}.lab fieldset label{grid-template-columns:1fr minmax(90px,.6fr) auto;align-items:center}.lab fieldset small{color:#72cbed}.lab-workspace{align-content:start;gap:.8rem;min-height:0;padding:.1rem .2rem .8rem 0;display:grid;overflow:auto}.map-controls{flex-wrap:wrap;align-items:end;gap:.65rem;margin:1rem 0;display:flex}.map-controls label{color:#b9d9ea;gap:.25rem;display:grid}.map-controls input,.map-controls select{color:#e8f4ff;background:#091724;border:1px solid #33536b;border-radius:6px;padding:.45rem}.map-preview{filter:blur(.45px);background:linear-gradient(135deg,#263949,#111f2a);border-style:dashed;place-items:center;gap:.2rem;width:180px;height:108px;display:grid}.map-preview.revealed{filter:none;background:#241b20}.map-preview svg{background:#32171a;border-radius:6px;width:100%;height:100%}.health-bars{z-index:2;pointer-events:none;position:absolute;inset:0}.health-bar{background:#27131b;border:2px solid #071021;border-radius:3px;width:52px;position:absolute;overflow:hidden;transform:translate(-50%,-100%);box-shadow:0 1px 4px #000a}.health-bar>div{height:100%;transition:width .12s linear,background .12s linear}.minimap{pointer-events:auto;z-index:4;width:248px;height:auto;min-height:176px;padding:.45rem .55rem}.minimap>b{letter-spacing:.16em;color:#b9ebff;margin-bottom:.25rem;display:block}.minimap-layers{background:#0b1720;border:1px solid #31566c;width:100%;height:130px;position:relative;overflow:hidden}.minimap-layers>svg,.minimap-layers>canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.minimap-terrain,.minimap-fog{pointer-events:none}.minimap-fog{image-rendering:auto}.minimap-overlay{cursor:crosshair}.minimap small{color:#9dc3d6;margin-top:.3rem;display:block}.minimap-viewport{fill:#77ddff20;stroke:#dffaff;stroke-width:.55px;pointer-events:none}.production-panel{z-index:4;background:#071724e8;border:1px solid #4f89a7;border-radius:10px;gap:.45rem;padding:.7rem;font-size:.8rem;display:grid;position:absolute;bottom:1rem;left:1rem}.production-panel b{color:#b9ebff}.production-panel button{text-align:left;min-width:180px}@media (width<=720px){.lab-toolbar,.lab-actions{flex-direction:column;align-items:stretch}.lab-fields{grid-template-columns:1fr}.lab fieldset label{grid-template-columns:1fr 1fr auto}.minimap{width:210px;min-height:152px}.minimap-layers{height:108px}}.inspection-card{z-index:5;background:#071724ed;border:1px solid #4f89a7;border-radius:10px;gap:.45rem;width:230px;padding:.8rem;font-size:.8rem;display:grid;position:absolute;bottom:1rem;left:1rem;box-shadow:0 12px 30px #0008}.inspection-card>b{color:#b9ebff;font-size:1rem}.inspection-card dl{grid-template-columns:repeat(3,1fr);gap:.35rem;margin:0;display:grid}.inspection-card dl div{background:#102638;border-radius:6px;gap:.12rem;padding:.35rem;display:grid}.inspection-card dt{color:#91b8ca;font-size:.68rem}.inspection-card dd{margin:0;font-weight:800}.group-icons{grid-template-rows:repeat(2,30px);grid-auto-columns:30px;grid-auto-flow:column;gap:.25rem;max-width:100%;padding-bottom:.2rem;display:grid;overflow-x:auto}.group-icons button{border-radius:5px;padding:0}.group-icons button.active{background:#27617b;border-color:#8cecff}.hud{align-items:flex-start}.hud span:nth-child(3){color:#9de7ff;white-space:nowrap;font-weight:800}@media (width<=720px){.inspection-card{width:190px;bottom:.5rem;left:.5rem}.inspection-card dl{grid-template-columns:1fr}.hud span:nth-child(2){display:none}}.world-build-actions{z-index:3;pointer-events:none;position:absolute;inset:0}.world-build-action{pointer-events:auto;color:#fff2b4;background:0 0;border:0;width:46px;height:52px;padding:0;font-size:1.15rem;font-weight:800;line-height:1;position:absolute;transform:translate(-50%,-115%)}.world-action-face{clip-path:polygon(25% 4%,75% 4%,100% 50%,75% 96%,25% 96%,0 50%);filter:drop-shadow(0 2px 4px #000c);background:#e8cf7b;place-items:center;display:grid;position:absolute;inset:0}.world-build-action.producing .world-action-face{background:conic-gradient(#66e6f0 var(--progress), #e8cf7b 0)}.world-action-face:before{content:"";clip-path:inherit;background:#172334ed;position:absolute;inset:2px}.world-build-action[aria-disabled=true] .world-action-face{filter:grayscale(.8);opacity:.48}.world-build-action:hover .world-action-face:before{background:#785d1e}.world-build-action:hover{color:#fff8d8}.world-build-action:focus-visible{outline-offset:2px;outline:2px solid #fff}.world-action-icon{z-index:1;place-items:center;width:100%;height:100%;display:grid;position:relative}.unit-icon{fill:currentColor;vertical-align:-.2em;width:1.8em;height:1.2em;overflow:visible}.unit-icon-stroke{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round}.caster-units,.caster-production{align-items:center;gap:.18rem;display:inline-flex}.caster-units .unit-icon{width:1.25em}.production-order .unit-icon,.group-icons .unit-icon{width:1.7em}.repeat-mark{z-index:2;color:#79f6ff;background:#123743;border-radius:50%;width:20px;height:20px;font-size:1rem;line-height:20px;position:absolute;bottom:2px;right:1px;box-shadow:0 0 0 1px #8dfaff}.world-action-tooltip{color:#f5f0dc;white-space:normal;opacity:0;visibility:hidden;pointer-events:none;z-index:3;background:#07111cf2;border:1px solid #a98d46;border-radius:5px;width:max-content;max-width:230px;padding:.38rem .5rem;font-size:.7rem;line-height:1.25;position:absolute;bottom:calc(100% + 7px);left:50%;transform:translate(-50%)}.world-build-action:hover .world-action-tooltip,.world-build-action:focus-visible .world-action-tooltip{opacity:1;visibility:visible}.production-queue{grid-template-columns:repeat(6,30px);gap:.3rem;display:grid}.production-order{color:#d8edfa;background:#10202d;border:1px solid #50738b;border-radius:5px;place-items:center;width:30px;height:30px;padding:0;display:grid}.production-order.active{background:conic-gradient(#66e6f0 var(--progress), #10202d 0);box-shadow:inset 0 0 0 4px #10202d}.production-order.waiting{color:#cfb873}.production-order.empty{opacity:.32}.lab-body{grid-template-columns:minmax(160px,.6fr) minmax(0,2fr);gap:.8rem;display:grid}.lab-nav{background:#091724;border:1px solid #33536b;border-radius:8px;align-content:start;gap:.35rem;padding:.25rem;display:grid}.lab-nav button{text-align:left;color:#b9d9ea;background:0 0;border-color:#0000;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.lab-nav button small{min-width:1.2rem;color:inherit;text-align:right}.lab-nav-group{gap:.25rem;display:grid}.lab-nav-children{gap:.2rem;padding-left:.65rem;display:grid}.lab-nav-children button{padding-block:.35rem}.lab-disclosure{color:#74b9d6;width:1rem;display:inline-block}.lab-nav button.active,.lab-nav button:hover{color:#e8faff;background:#17384b;border-color:#4f89a7}.lab-nav button.changed{color:#ffd777;border-color:#c89b37}.lab-nav-label{align-items:center;gap:.45rem;display:inline-flex}.lab-nav .entity-icon{color:currentColor;flex:0 0 1.35rem;place-items:center;width:1.35rem;height:1rem;font-size:1rem;line-height:1;display:inline-grid}.lab-nav button.active.changed{background:#49391c}.lab-fields{align-content:start}.lab-fields>.balance-field{background:#091724;border:1px solid #33536b;border-radius:8px;grid-template-columns:minmax(0,1fr) minmax(96px,.45fr);align-items:start;padding:.45rem .55rem}.lab-fields>.balance-field.changed{background:#2b2518;border-color:#d2a43e;box-shadow:inset 3px 0 #ffd35a}.balance-field>strong,.balance-field>.field-description,.balance-field>small,.balance-field>.field-change{grid-column:1}.balance-field>input,.balance-field>select{grid-area:1/2/span 3}.field-description{color:#a8c6d7;font-size:.78rem;line-height:1.3}.lab-fields>.balance-field small{color:#72cbed}.field-change{color:#ffd777;font-size:.78rem;font-weight:700}.profile-lifecycle-panel{grid-template-columns:repeat(3,minmax(0,1fr));padding:.8rem}.profile-lifecycle-panel legend,.profile-lifecycle-panel>p,.profile-lifecycle-panel>.row{grid-column:1/-1}.lab .profile-lifecycle-panel label{grid-template-columns:1fr;align-items:stretch}.all-changes{grid-column:1/-1;gap:.55rem;display:grid}.change-summary{background:#2b2518;border:1px solid #d2a43e;border-radius:8px;gap:.2rem;padding:.65rem;display:grid}.change-summary small,.change-summary span{color:#ffd777}.change-summary p,.empty-changes{color:#a8c6d7;margin:0}.empty-changes{border:1px dashed #33536b;border-radius:8px;grid-column:1/-1;padding:1rem}.income-markers{z-index:6;pointer-events:none;position:absolute;inset:0;overflow:hidden}.income-marker{text-shadow:0 2px 3px #000;font-size:.9rem;font-weight:900;animation:1s ease-out forwards income-rise;position:absolute;transform:translate(-50%,-100%)}@keyframes income-rise{0%{opacity:1;transform:translate(-50%,-100%)}to{opacity:0;transform:translate(-50%,-230%)}}.hud .credits{color:#f9e38b;order:-1;font-size:.85rem;font-weight:900}@media (width<=720px){.lab-body{grid-template-columns:1fr}.lab-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.lab-fields>.balance-field{grid-template-columns:1fr minmax(82px,.5fr)}.profile-lifecycle-panel{grid-template-columns:1fr}.income-marker{font-size:.78rem}}.match-loading{--loading-bg:#030812;--loading-panel:#081827;--loading-line:#2d6078;--loading-accent:#70ddff;--loading-warm:#ffc65c;z-index:100;pointer-events:auto;background:linear-gradient(90deg,transparent 49.8%,#70ddff0b 50%,transparent 50.2%),linear-gradient(0deg,transparent 49.8%,#70ddff08 50%,transparent 50.2%),radial-gradient(circle at 50% 42%,#123149 0,var(--loading-bg) 56%);isolation:isolate;place-items:center;padding:1.5rem;display:grid;position:fixed;inset:0;overflow:hidden}.match-loading:before,.match-loading:after{content:"";pointer-events:none;position:absolute}.match-loading:before{clip-path:polygon(0 0,11rem 0,11rem 1px,calc(100% - 11rem) 1px,calc(100% - 11rem) 0,100% 0,100% 100%,calc(100% - 11rem) 100%,calc(100% - 11rem) calc(100% - 1px),11rem calc(100% - 1px),11rem 100%,0 100%);border:1px solid #70ddff20;inset:1rem}.match-loading:after{background:linear-gradient(90deg,#0000,#70ddff25,#0000);height:1px;inset:auto 0 12%}.match-loading-card{z-index:1;border:1px solid var(--loading-line);background:linear-gradient(145deg,#0b2132f2,var(--loading-panel));width:min(34rem,100%);box-shadow:0 2rem 6rem #000a,inset 3px 0 var(--loading-accent);text-align:center;border-radius:2px;padding:2.2rem 2rem 1.8rem;position:relative}.match-loading-emblem{border:1px solid #70ddff55;border-radius:50%;width:5.5rem;height:5.5rem;margin:0 auto 1.5rem;animation:2.8s linear infinite loading-orbit;position:relative;box-shadow:0 0 2.4rem #31cfff1f}.match-loading-emblem:before,.match-loading-emblem:after,.match-loading-emblem i,.match-loading-emblem span{content:"";position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.match-loading-emblem:before{border:1px dashed var(--loading-accent);border-radius:50%;width:3.6rem;height:3.6rem}.match-loading-emblem:after{background:var(--loading-warm);width:.65rem;height:.65rem;box-shadow:0 0 1.2rem var(--loading-warm);border-radius:50%}.match-loading-emblem i{background:linear-gradient(90deg,transparent,var(--loading-accent),transparent);width:100%;height:1px}.match-loading-emblem span{background:linear-gradient(transparent,var(--loading-accent),transparent);width:1px;height:100%}.match-loading-kicker{color:var(--loading-accent);letter-spacing:.17em;margin:0 0 .7rem;font-size:.7rem;font-weight:800}.match-loading h1{color:#f2faff;letter-spacing:-.025em;margin:0;font-size:clamp(1.8rem,5vw,3rem);line-height:1.05}.match-loading-stage{color:#b9d9ea;min-height:1.4em;margin:1rem 0}.match-loading-track{background:#173347;height:3px;margin:1.4rem 0 1rem;position:relative;overflow:hidden}.match-loading-track i{background:linear-gradient(90deg,transparent,var(--loading-accent),var(--loading-warm),transparent);width:38%;animation:1.35s ease-in-out infinite loading-scan;position:absolute;inset:0 auto 0 0}.match-loading small{color:#7695a8;letter-spacing:.08em;text-transform:uppercase;font-size:.68rem}@keyframes loading-orbit{to{transform:rotate(360deg)}}@keyframes loading-scan{0%{transform:translate(-110%)}to{transform:translate(360%)}}@media (width<=520px){.match-loading{padding:1rem}.match-loading-card{padding:1.8rem 1.2rem 1.5rem}.match-loading-emblem{width:4.5rem;height:4.5rem}}@media (prefers-reduced-motion:reduce){.match-loading-emblem,.match-loading-track i{animation:none}.match-loading-track i{left:31%}}.ai-debug-overlay{z-index:30;color:#e7f8ff;background:#070d14f5;border:1px solid #3b7188;border-radius:.65rem;width:min(34rem,100vw - 2rem);max-height:70vh;padding:.75rem;position:fixed;top:1rem;right:1rem;box-shadow:0 1rem 3rem #0008}.ai-debug-overlay>header{justify-content:space-between;align-items:center;display:flex}.ai-debug-overlay .warning{color:#ffc96b;font-size:.8rem}.ai-decision-log{flex-direction:column;gap:.65rem;min-height:0;display:flex}.ai-log-filters{flex-wrap:wrap;align-items:end;gap:.5rem;display:flex}.ai-log-filters label{align-items:center;gap:.25rem;font-size:.75rem;display:flex}.ai-log-events{flex-direction:column;gap:.35rem;max-height:50vh;display:flex;overflow:auto}.ai-event{background:#0c1a24;border:1px solid #294655;border-radius:.35rem;padding:.4rem}.ai-event summary{cursor:pointer;font-size:.82rem}.ai-event time{color:#6fdcff;font-variant-numeric:tabular-nums}.ai-event p,.ai-event ul{margin:.4rem 0;font-size:.76rem}.ai-event code{color:#d6ff87}.ai-decision-log.compact .ai-log-events{max-height:42vh}.result-modal{width:min(56rem,92vw);max-height:88vh;overflow:auto}.result-tabs{gap:.5rem;margin:.75rem 0;display:flex}.result-tabs button.active{color:#65ddff;border-color:#65ddff}.result-summary article{border-top:1px solid #294655;padding:.6rem 0}.result-summary article p{margin:.2rem 0}.result-actions{flex-wrap:wrap;gap:.5rem;margin-top:1rem;display:flex}
