/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.fixed{position:fixed}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.contents{display:contents}.grid{display:grid}.table{display:table}.grow{flex-grow:1}.uppercase{text-transform:uppercase}}:root{--ink:#eaf8ff;--muted:#7f9aa9;--cyan:#68e7f4;--red:#ff765c;--panel:#0b1721;--line:#263b48;--gold:#f4d47b}*{box-sizing:border-box}html,body{min-height:100%;color:var(--ink);background:#050b11;margin:0;font-family:Inter,ui-sans-serif,system-ui,sans-serif}button,input,select{font:inherit}button{color:inherit;border:1px solid var(--line);cursor:pointer;letter-spacing:.05em;background:#0c1923;padding:.7rem 1rem}button:hover{background:#112531;border-color:#638697}button:disabled{opacity:.42;cursor:not-allowed}.home{background:radial-gradient(circle at 50% 42%,#142938 0,#071018 48%,#03070b 100%);place-items:center;min-height:100vh;display:grid;position:relative;overflow:hidden}.home:before{content:"";background-image:linear-gradient(#5bbdd20f 1px,#0000 1px),linear-gradient(90deg,#5bbdd20f 1px,#0000 1px);background-size:34px 34px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000,#000 35%,#0000 95%);mask-image:linear-gradient(#0000,#000 35%,#0000 95%)}.hero{z-index:2;text-align:center;width:min(760px,90vw)}.eyebrow{color:var(--cyan);letter-spacing:.2em;font:700 .72rem ui-monospace,monospace}.hero h1{letter-spacing:-.09em;text-shadow:0 0 45px #5ee4f129;margin:1.2rem 0;font:900 clamp(4.5rem,12vw,9rem)/.8 ui-monospace,monospace}.hero h1 span,.brand span{color:var(--red)}.tagline{color:#bed0d9;letter-spacing:.12em}.formula-mark{color:var(--gold);border-block:1px solid #2b3e45;width:max-content;margin:2.2rem auto;padding:.75rem 2rem;font:500 1rem ui-monospace,monospace}.home-actions{flex-wrap:wrap;justify-content:center;gap:.75rem;display:flex}.primary{background:var(--cyan);color:#031116;border-color:var(--cyan);font-weight:900}.primary:hover{color:#031116;background:#b5f8ff}.large{padding:1rem 2rem}.seed-entry{color:var(--muted);letter-spacing:.15em;flex-wrap:wrap;justify-content:center;align-items:center;gap:1rem;margin:2rem auto;font:.7rem ui-monospace,monospace;display:flex}.seed-entry input,.seed-entry select{width:150px;color:var(--cyan);border:1px solid var(--line);text-align:center;background:#07131c;padding:.55rem}.home-footer{color:#506a78;letter-spacing:.2em;gap:3rem;font:.62rem ui-monospace,monospace;display:flex;position:absolute;bottom:24px}.radar{aspect-ratio:1;border:1px solid #51b0c414;border-radius:50%;width:420px;position:absolute}.radar:before,.radar:after{content:"";border:inherit;border-radius:inherit;position:absolute;inset:15%}.radar:after{inset:35%}.radar-a{top:8%;left:-190px}.radar-b{bottom:3%;right:-210px}.game-shell{background:#060d13;grid-template-rows:58px minmax(390px,1fr) auto;min-height:100vh;display:grid}header{border-bottom:1px solid var(--line);background:#081119;justify-content:space-between;align-items:center;padding:0 18px;display:flex}.brand{letter-spacing:-.04em;background:0 0;border:0;padding:0;font:900 1.2rem ui-monospace,monospace}.turn-chip{letter-spacing:.13em;color:#b7cbd5;border:1px solid var(--line);padding:.55rem 1rem;font:700 .7rem ui-monospace,monospace}.turn-chip i{border-radius:50%;width:7px;height:7px;margin-right:7px;display:inline-block;box-shadow:0 0 9px}.turn-chip i.blue{background:var(--cyan)}.turn-chip i.red{background:var(--red)}.header-actions{align-items:center;gap:1rem;display:flex}.seed{color:#5f7b89;font:.65rem ui-monospace,monospace}.battle-layout{grid-template-columns:205px minmax(400px,1fr) 230px;min-height:0;display:grid}.roster,.intel{background:#08131b;padding:15px;overflow:auto}.roster{border-right:1px solid var(--line)}.intel{border-left:1px solid var(--line)}.roster h2,.panel-title{letter-spacing:.14em;color:var(--cyan);margin:4px 0 12px;font:800 .66rem ui-monospace,monospace}.roster .red-title{color:var(--red);margin-top:20px}.unit-card{opacity:.75;border:1px solid #0000;align-items:center;gap:10px;margin:5px 0;padding:8px;display:flex}.unit-card.active{opacity:1;background:#10212c;border-color:#4b7486}.unit-card.dead{filter:grayscale();opacity:.38}.unit-icon{border-radius:50%;place-items:center;width:34px;height:34px;font:800 .8rem ui-monospace,monospace;display:grid}.unit-icon.blue{border:1px solid var(--cyan);background:#146a83}.unit-icon.red{border:1px solid var(--red);background:#8a392d}.unit-card>div:last-child{flex:1}.unit-card b{font:.73rem ui-monospace,monospace}.unit-card small{color:#708a98;font:.55rem ui-monospace}.hp-track{background:#1b2d37;height:3px;margin:5px 0 2px}.hp-track i{background:var(--cyan);height:100%;display:block}.unit-card:has(.red) .hp-track i{background:var(--red)}.scoreline{color:#66808e;justify-content:space-between;margin-top:15px;font:.55rem ui-monospace;display:flex}.field{background:#071019;min-width:0;min-height:0;position:relative}.battle-canvas{width:100%;height:100%;min-height:390px;display:block}.coordinate-readout,.field-legend{z-index:2;color:#7893a0;background:#050d12cc;padding:.45rem .6rem;font:.58rem ui-monospace,monospace;position:absolute}.coordinate-readout{top:10px;left:10px}.field-legend{gap:1rem;display:flex;bottom:10px;right:10px}.panel-title{color:#9ab0bb;border-bottom:1px solid var(--line);justify-content:space-between;padding-bottom:9px;display:flex}.panel-title span{color:#e6c66d}.log p{color:#8199a6;border-bottom:1px solid #354c5759;margin:0;padding:6px 0;font:.62rem/1.5 ui-monospace,monospace}.log p:first-child{color:#dcebf0}.history{gap:5px;margin-bottom:18px;display:grid}.history button{text-align:left;color:#9edce5;padding:7px;font:.62rem ui-monospace,monospace}.history small{color:#59717e}.telemetry{grid-template-columns:1fr 1fr;gap:7px;display:grid}.telemetry span{border:1px solid var(--line);color:#667f8d;padding:8px;font:.52rem ui-monospace}.telemetry b{color:var(--ink);margin-top:4px;font-size:.9rem;display:block}.command-deck{border-top:1px solid var(--line);background:#09141d;grid-template-columns:minmax(320px,1fr) auto;gap:8px 20px;padding:13px clamp(16px,4vw,64px);display:grid}.command-heading{color:var(--cyan);letter-spacing:.12em;justify-content:space-between;font:800 .65rem ui-monospace,monospace;display:flex}.command-heading small{color:#617b89;letter-spacing:0;font-weight:400}.formula-input{background:#050d13;border:1px solid #33515f;grid-column:1;display:flex}.formula-input>span{color:var(--gold);padding:11px;font:1rem ui-monospace,monospace}.formula-input input{color:#fff;background:0 0;border:0;outline:0;flex:1;min-width:80px;font:1rem ui-monospace,monospace}.formula-input.valid{border-color:#3c6b71}.formula-input.invalid{border-color:#883b36}.fire{background:var(--red);border:0;border-left:1px solid #33515f;padding-inline:1.6rem;font-weight:900}.fire:hover{background:#ff947c}.formula-meta{color:#708995;grid-column:1;gap:1.2rem;font:.58rem ui-monospace;display:flex}.formula-meta .ok{color:#69c9b4}.formula-meta .error{color:var(--red)}.formula-meta label{margin-left:auto}.presets{grid-column:1;gap:5px;display:flex;overflow:auto}.presets button{white-space:nowrap;color:#83aab7;padding:5px 9px;font:.58rem ui-monospace}.deck-actions{grid-area:1/2/5;grid-template-columns:1fr 1fr;align-content:center;gap:5px;display:grid}.deck-actions button{padding:8px;font:.58rem ui-monospace}.modal-backdrop{z-index:20;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#010508d6;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:#0a1720;border:1px solid #426071;width:min(680px,95vw);max-height:90vh;padding:32px;position:relative;overflow:auto;box-shadow:0 0 70px #000}.modal h2{letter-spacing:-.05em;font:900 2rem ui-monospace,monospace}.modal .close{background:0 0;border:0;font-size:1.5rem;position:absolute;top:12px;right:12px}.modal>button:not(.close){margin-right:8px}.tutorial-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.tutorial-grid article{border:1px solid var(--line);padding:13px}.tutorial-grid b{color:var(--cyan);font:.7rem ui-monospace}.tutorial-grid p,.modal p{color:#91a8b3;font-size:.82rem;line-height:1.6}code{color:var(--gold);font-family:ui-monospace,monospace}.example-cloud{flex-wrap:wrap;gap:6px;display:flex}.example-cloud code{border:1px solid var(--line);padding:5px 8px;font-size:.7rem}.setting{border-bottom:1px solid var(--line);color:#aac0ca;justify-content:space-between;align-items:center;padding:14px 0;display:flex}.setting select{color:#fff;border:1px solid var(--line);background:#071019;padding:7px}.results{grid-template-columns:repeat(3,auto);gap:5px 20px;margin:20px 0;display:grid}.results b{color:var(--cyan);font:900 2rem ui-monospace}.results span{color:#718b98;font:.6rem ui-monospace}.online-button{color:#ffb49f;border-color:#b35d49}.online-entry{background:radial-gradient(circle at 50% 20%,#16303e,#061019 60%);place-items:center;min-height:100vh;padding:40px 20px;display:grid}.back-link{background:0 0;border:0;position:fixed;top:20px;left:20px}.online-card{background:#07121bf5;border:1px solid #3b5968;width:min(820px,96vw);padding:clamp(22px,5vw,50px);box-shadow:0 25px 100px #000}.online-card h1{letter-spacing:-.07em;font:900 clamp(2.5rem,6vw,5rem)/.9 ui-monospace,monospace}.online-card h1 span{color:var(--red)}.online-card>p:not(.eyebrow){color:#8fa8b4}.online-card label{color:#8aa2ae;letter-spacing:.1em;gap:6px;margin:12px 0;font:.65rem ui-monospace;display:grid}.online-card input,.online-card select,.online-chat input{border:1px solid var(--line);color:#fff;background:#050d13;outline:none;padding:11px}.online-card input:focus,.online-card select:focus,.online-chat input:focus{border-color:var(--cyan)}.module-picker{border:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:6px;padding:8px;display:grid}.module-picker legend{color:var(--gold);padding:0 5px;font:.62rem ui-monospace}.module-picker label{margin:0}.public-room-browser{border-top:1px solid var(--line);margin-top:16px;padding-top:16px}.public-room-browser>div{align-items:center;gap:12px;display:flex}.public-room-browser>div h2{margin-right:auto}.public-room-browser>div input{width:min(330px,60%)}.public-room-browser>button{text-align:left;background:#0b1a24;grid-template-columns:minmax(0,1fr) auto;gap:3px 12px;width:100%;margin-top:7px;padding:10px;display:grid}.public-room-browser>button strong{text-overflow:ellipsis;overflow:hidden}.public-room-browser>button span{color:#7893a0;grid-row:2;font-size:.62rem}.public-room-browser>button small{color:var(--gold);grid-area:1/2/3;align-self:center}.map-obstacle>span{color:#fff;text-shadow:0 1px 4px #000;place-items:center;width:100%;height:100%;font:900 clamp(.55rem,1.5vw,1rem) ui-monospace;display:grid}.formula-autocomplete{flex:1;min-width:0;display:block;position:relative}.formula-autocomplete>input{width:100%!important}.autocomplete-list{z-index:40;background:#07131d;border:1px solid #3b5968;max-height:240px;display:none;position:absolute;bottom:calc(100% + 5px);left:0;right:0;overflow:auto;box-shadow:0 16px 40px #000b}.autocomplete-list.open{display:grid}.autocomplete-list>button{text-align:left;grid-template-columns:minmax(90px,.35fr) 1fr;gap:10px;width:100%;background:0 0!important;border:0!important;border-bottom:1px solid #1d3340!important;padding:9px 11px!important;display:grid!important}.autocomplete-list>button.active{background:#173342!important}.autocomplete-list strong{color:var(--gold);font:.7rem ui-monospace}.autocomplete-list small{color:#91a8b3;font:.6rem/1.4 ui-monospace}.online-columns{grid-template-columns:1fr 1fr;gap:16px;margin-top:22px;display:grid}.online-columns>div{border:1px solid var(--line);padding:18px}.online-columns h2,.lobby h2,.online-roster h2,.online-chat h2{letter-spacing:.16em;color:var(--cyan);font:800 .7rem ui-monospace}.online-columns button{width:100%}.code-input{letter-spacing:.25em;text-align:center;font:900 1.25rem ui-monospace}.check{align-items:center;grid-template-columns:auto 1fr!important;display:flex!important}.online-error{font:700 .7rem ui-monospace;color:#ff8e76!important}.lobby{background:#060e15;min-height:100vh}.lobby-main{width:min(1180px,94vw);margin:auto;padding:35px 0}.lobby-title{border-bottom:1px solid var(--line);justify-content:space-between;align-items:end;padding-bottom:18px;display:flex}.lobby-title h1{letter-spacing:-.06em;margin:5px 0;font:900 2.4rem ui-monospace}.teams{grid-template-columns:1fr 1fr 250px;gap:14px;margin-top:18px;display:grid}.team-panel,.spectators{border:1px solid var(--line);background:#091720;min-height:220px;padding:16px}.team-panel.red h2{color:var(--red)}.team-panel p,.spectators p{color:#587381;font-size:.75rem}.player-row{border-bottom:1px solid #3c586573;grid-template-columns:10px 1fr auto;align-items:center;gap:9px;padding:10px 4px;display:grid}.player-row>i{border-radius:50%;width:8px;height:8px;box-shadow:0 0 8px}.player-row span{font:700 .72rem ui-monospace}.player-row small{color:#60808d;margin-top:3px;font-size:.5rem;display:block}.player-row-actions{align-items:center;gap:9px;display:flex}.player-row-actions label{color:#7f9aa6;align-items:center;gap:5px;display:flex}.player-row-actions label>span{font-size:.52rem}.player-row-actions select{width:48px;color:var(--ink);border:1px solid var(--line);background:#050d13;padding:4px}.player-row-actions select:disabled{opacity:.62}.player-row-actions b{color:#75c9b8;font:.55rem ui-monospace}.lobby-actions{align-items:center;gap:8px;margin:18px 0;display:flex}.lobby-actions>span{color:#75909c;margin-right:auto;font:.7rem ui-monospace}.lobby-settings{border:1px solid var(--line);background:#08141d;grid-template-columns:1fr;gap:12px;margin:18px 0 0;padding:14px 16px;display:grid}.lobby-settings legend{color:var(--gold);letter-spacing:.12em;padding:0 8px;font:800 .65rem ui-monospace}.lobby-settings label{color:#d5e4e9;background:#0b1a24;justify-content:space-between;align-items:center;gap:16px;padding:10px 12px;font:700 .68rem ui-monospace;display:flex}.lobby-settings label span{min-width:0}.lobby-settings small{color:#6f8a97;margin-top:4px;font-size:.54rem;font-weight:400;line-height:1.45;display:block}.lobby-settings select{min-width:74px;color:var(--ink);border:1px solid var(--line);background:#050d13;padding:8px}.lobby-settings input[type=checkbox]{width:18px;height:18px;accent-color:var(--cyan)}.lobby-settings :disabled{cursor:not-allowed;opacity:.62}.lobby-settings>p{color:#7894a0;grid-column:1/-1;margin:0;font:.58rem ui-monospace}.online-chat{border:1px solid var(--line);background:#08141d;min-width:0;padding:13px}.online-chat>div{height:190px;overflow:auto}.online-chat p{color:#8da4ae;overflow-wrap:anywhere;margin:5px 0;font:.64rem/1.5 ui-monospace}.online-chat p b{color:#d7e6ec}.online-chat p.system{color:#d1b766}.online-chat form{display:flex}.online-chat form input{flex:1;min-width:0}.online-chat form button{padding:8px}.launch-countdown{z-index:30;color:var(--cyan);text-shadow:0 0 45px;background:#03080ce6;place-items:center;font:900 clamp(5rem,15vw,12rem) ui-monospace;display:grid;position:fixed;inset:0}.network{color:#72c9b6;font:700 .6rem ui-monospace}.network i{background:currentColor;border-radius:50%;width:7px;height:7px;display:inline-block;box-shadow:0 0 8px}.network.reconnecting,.network.synchronizing{color:#e4c66d}.network.disconnected{color:var(--red)}.online-game{background:#060e15;grid-template-rows:58px minmax(450px,1fr) auto;min-height:100vh;display:grid}.online-battle{grid-template-columns:220px 1fr 260px;min-height:0;display:grid}.online-roster{border-right:1px solid var(--line);background:#08141d;padding:14px}.online-unit{border:1px solid #0000;grid-template-columns:8px 1fr auto;align-items:center;gap:8px;padding:10px 6px;display:grid}.online-unit.active{background:#102430;border-color:#3e6575}.online-unit>i{border-radius:50%;width:7px;height:7px}.online-unit>i.blue{background:var(--cyan)}.online-unit>i.red{background:var(--red)}.online-unit span{font:700 .68rem ui-monospace}.online-unit small{color:#587785;font-size:.48rem;display:block}.online-unit b{font:.58rem ui-monospace}.online-battle>.online-chat{border-width:0 0 0 1px}.online-battle>.online-chat>div{height:calc(100% - 70px)}.online-command{border-top:1px solid var(--line);background:#09151e;grid-template-columns:minmax(190px,240px) minmax(0,1fr);align-items:center;gap:10px 20px;padding:15px 30px;display:grid}.online-command>div:first-child{grid-row:1/3}.online-command p{color:#6e8995;margin:5px 0;font:.65rem ui-monospace}.online-command .mode-controls,.online-command .formula-input{grid-column:2}.online-command .formula-input{width:100%;min-width:0}.online-command .formula-input input{min-width:220px}.online-game-actions{grid-column:2;gap:6px;display:flex}.online-game-actions button{padding:6px 10px;font:.58rem ui-monospace}.mode-controls{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.command-deck>.mode-controls{grid-column:1}.mode-controls select,.mode-controls input{color:var(--ink);border:1px solid var(--line);background:#050d13;padding:7px}.mode-controls label{color:#86a0ac;font:.62rem ui-monospace}.slope-input{width:92px}.learning-page{background:#060e15;min-height:100vh}.learning-page header{height:58px}.learning-layout{grid-template-columns:260px 1fr;min-height:calc(100vh - 58px);display:grid}.lesson-list{border-right:1px solid var(--line);background:#07131c;padding:12px;overflow:auto}.lesson-list button{text-align:left;grid-template-columns:30px 1fr auto;align-items:center;gap:8px;width:100%;margin-bottom:5px;padding:10px;display:grid}.lesson-list button.active{border-color:var(--cyan);background:#112631}.lesson-list b{color:var(--cyan);font:.65rem ui-monospace}.lesson-list span{font:.7rem ui-monospace}.lesson-list small{color:#66818e;margin-top:3px;font-size:.5rem;display:block}.lesson-list i{color:var(--gold);font-style:normal}.lesson-stage{width:min(1050px,94%);margin:0 auto;padding:28px}.lesson-stage h1{margin:.25rem 0;font:900 clamp(2rem,4vw,4rem) ui-monospace}.lesson-stage h2{color:#a5c0cc;font-size:1rem}.lesson-stage>p{color:#829ca8}.learning-canvas{border:1px solid var(--line);height:min(48vh,470px);margin:18px 0}.learning-canvas .battle-canvas{height:100%;min-height:100%}.lesson-stage>.mode-controls{border:1px solid var(--line);background:#091720;padding:12px}.lesson-stage>.mode-controls>input{flex:1;min-width:180px}.learning-message{border-left:3px solid var(--gold);background:#101d24;padding:10px 14px}.lesson-stage details{color:#9bb1bb;margin:12px 0}.lesson-actions{gap:7px;display:flex}.lesson-stage pre{color:var(--gold);border:1px solid var(--line);background:#050c11;padding:14px;overflow:auto}@media (width<=950px){.battle-layout{grid-template-columns:150px 1fr}.intel{display:none}.command-deck{grid-template-columns:1fr}.deck-actions{grid-area:auto/1;display:flex}.battle-canvas{min-height:48vh}.teams{grid-template-columns:1fr 1fr}.spectators{grid-column:1/3}.online-battle{grid-template-columns:150px 1fr}.online-battle>.online-chat{display:none}.online-command{grid-template-columns:1fr}.online-command>div:first-child{grid-row:auto}.online-command .mode-controls,.online-command .formula-input,.online-game-actions,.online-command>.online-error{grid-column:1}}@media (width<=650px){.battle-layout{grid-template-columns:1fr}.roster,.seed{display:none}.turn-chip{font-size:.55rem}.command-heading small{display:none}.formula-input,.formula-meta,.presets{grid-column:1}.tutorial-grid{grid-template-columns:1fr}.home-footer{gap:1rem}.formula-mark{font-size:.78rem}.command-deck{padding:10px}.field-legend{display:none}.online-columns,.teams,.lobby-settings{grid-template-columns:1fr}.spectators{grid-column:auto}.lobby-title{flex-direction:column;align-items:start;gap:10px}.online-battle{grid-template-columns:1fr}.online-roster{display:none}.online-command{padding:10px}.online-command .formula-input input{min-width:80px}.online-card{margin-top:40px}}@media (width<=750px){.learning-layout{grid-template-columns:1fr}.lesson-list{border-right:0;border-bottom:1px solid var(--line);display:flex;overflow:auto}.lesson-list button{min-width:190px}.lesson-stage{padding:18px 0}.learning-canvas{height:45vh}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.tool-page{color:#eef4ff;background:radial-gradient(circle at 80% 0,#173451 0,#08111d 42%,#05090f 100%);min-height:100vh;padding:clamp(18px,4vw,52px)}.tool-header{justify-content:space-between;align-items:end;gap:20px;max-width:1180px;margin:0 auto 24px;display:flex}.tool-header h1{letter-spacing:-.04em;margin:0;font-size:clamp(2rem,5vw,4.4rem)}.tool-header a,.tool-page a{color:#7ee7d7}.eyebrow{color:#efc765;letter-spacing:.18em;margin:0 0 6px;font:700 .72rem/1.2 monospace}.tool-grid{grid-template-columns:minmax(240px,.7fr) minmax(0,1.5fr);gap:18px;max-width:1180px;margin:auto;display:grid}.tool-panel{background:#0a1624eb;border:1px solid #29425b;border-radius:16px;padding:clamp(16px,3vw,28px);box-shadow:0 24px 70px #0007}.tool-panel h2{margin-top:0}.tool-panel label{color:#adbed1;gap:7px;margin:12px 0;display:grid}.tool-panel input:not([type=checkbox]):not([type=range]),.tool-panel textarea,.tool-panel select{color:#f3f7fb;background:#07111c;border:1px solid #38506a;border-radius:8px;width:100%;padding:10px}.tool-panel textarea{resize:vertical;min-height:88px}.tool-panel button,.file-button{color:#f2f6fa;cursor:pointer;background:#17344a;border:1px solid #4e718d;border-radius:8px;padding:9px 13px}.tool-panel button:disabled{opacity:.4;cursor:not-allowed}.file-button{width:fit-content;color:#f2f6fa!important;display:inline-flex!important}.file-button input{display:none}.tool-actions{flex-wrap:wrap;gap:8px;margin:16px 0;display:flex}.tool-list{gap:8px;margin-top:18px;display:grid}.tool-list button{text-align:left;gap:3px;display:grid}.tool-list button span{color:#93a6b9;font-size:.78rem}.tool-list button.selected{background:#273b42;border-color:#efc765}.replay-stage input[type=range]{accent-color:#7ee7d7;width:100%}.replay-score{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;display:grid}.replay-score article{background:#0d1b29;border-left:3px solid #7ee7d7;gap:4px;padding:10px;display:grid}.replay-score article:nth-child(2n){border-color:#ef7485}.unit-dead{opacity:.45;filter:grayscale()}.danger{color:#ff9ba6!important;border-color:#833b48!important}.object-row{background:#0a1724;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;width:100%;margin:7px 0;padding:8px;display:flex}.object-row.selected{background:#273b42;border-color:#efc765}.object-editor{border:1px solid #29425b;border-radius:10px;margin-top:14px}.object-editor legend{color:#efc765;padding:0 8px}.editor-help{color:#9eb1c3}.map-preview{background-color:#07111c;background-image:linear-gradient(#183047 1px,#0000 1px),linear-gradient(90deg,#183047 1px,#0000 1px);background-size:24px 24px;border:1px solid #31516a;border-radius:12px;min-height:420px;position:relative;overflow:hidden}.map-preview.interactive{touch-action:none;-webkit-user-select:none;user-select:none}.spawn-region{pointer-events:none;place-items:start center;width:50%;display:grid;position:absolute;inset-block:0}.spawn-region.blue{background:linear-gradient(90deg,#48c6e814,#0000);left:0}.spawn-region.red{background:linear-gradient(270deg,#ec667614,#0000);right:0}.spawn-region span{color:#9eb1c3;background:#07111cb8;border-radius:999px;margin-top:12px;padding:4px 8px;font:700 .7rem/1.2 monospace}.map-obstacle{translate:-50% -50%;box-shadow:inset -4px -4px #283b4b;cursor:grab!important;background:#687889!important;border-radius:50%!important;min-width:14px!important;min-height:14px!important;padding:0!important;position:absolute!important}.map-obstacle.selected{outline:3px solid #efc765}.map-obstacle:active{cursor:grabbing!important}.validation{border-radius:8px;margin:14px 0;padding:10px}.validation.ok{color:#91efc1;background:#12342c}.validation.bad{color:#ffabb5;background:#3b1b25}.challenge-form{max-width:760px;margin:auto}.stats-grid{grid-template-columns:repeat(4,1fr);gap:12px;max-width:1180px;margin:0 auto 18px;display:grid}.stats-grid article{background:#0a1624;border:1px solid #29425b;border-radius:12px;gap:10px;padding:20px;display:grid}.stats-grid strong{color:#efc765;font-size:2rem}.active-map-note{color:#a9bdca}.active-map-note button{color:#efc765;cursor:pointer;background:0 0;border:0;margin-left:8px;text-decoration:underline}@media (width<=760px){.tool-page{padding:16px}.tool-header{align-items:start}.tool-grid{grid-template-columns:1fr}.map-preview{min-height:300px}.stats-grid{grid-template-columns:repeat(2,1fr)}}.game-shell,.online-game{grid-template-rows:clamp(48px,7dvh,58px) minmax(0,1fr) auto;width:100%;height:100dvh;min-height:0;overflow:hidden}.sandbox-page{background:#060e15;grid-template-rows:58px minmax(0,1fr) auto;height:100dvh;display:grid;overflow:hidden}.sandbox-page header a{color:var(--cyan);text-decoration:none}.sandbox-page header span{color:var(--gold);font:.65rem ui-monospace}.sandbox-layout{grid-template-columns:minmax(0,1fr) 260px;min-height:0;display:grid}.sandbox-history{border-left:1px solid var(--line);background:#08141d;min-height:0;padding:14px;overflow:auto}.sandbox-history>button{width:100%}.sandbox-command{border-top:1px solid var(--line);background:#09151e;gap:8px;padding:12px clamp(14px,4vw,54px);display:grid}.sandbox-command .formula-input,.sandbox-command .formula-meta,.sandbox-command .presets{grid-column:auto}@media (width<=720px){.sandbox-layout{grid-template-columns:1fr}.sandbox-history{display:none}.sandbox-command{padding:9px}.sandbox-page header span{display:none}}.skill-buttons{flex-wrap:wrap;gap:5px;display:flex}.skill-buttons button{padding:6px 9px;font:.58rem ui-monospace}.skill-buttons button.selected{border-color:var(--cyan);color:#baf8ff;background:#173541}.online-side{border-left:1px solid var(--line);background:#08141d;grid-template-rows:minmax(90px,.7fr) minmax(140px,1.3fr);min-height:0;display:grid;overflow:hidden}.online-history{border-bottom:1px solid var(--line);min-height:0;padding:12px;overflow:auto}.online-history>select{width:100%;margin:8px 0}.online-side>.online-chat{border:0;grid-template-rows:auto minmax(0,1fr) auto;min-height:0;display:grid;overflow:hidden}.online-side>.online-chat>div{height:auto;overflow:auto}.field.split-armed{cursor:crosshair}.field.split-armed:after{content:"CLICK TO SPLIT";z-index:3;pointer-events:none;color:#fff3a3;letter-spacing:.18em;text-shadow:0 2px 8px #000;background:radial-gradient(circle,#0000 50%,#f4d47b12);border:2px solid #f4d47b99;place-items:center;font:900 clamp(.75rem,1.4vw,1rem) ui-monospace;display:grid;position:absolute;inset:0}@media (width<=950px){.online-side{display:none}}@media (width<=650px){.online-side{grid-area:chat;grid-template-rows:1fr;display:grid}.online-side>.online-chat{display:none}.online-history{border-top:1px solid var(--line)}}.replay-canvas{border:1px solid #31516a;height:min(48vh,440px);min-height:280px;margin-bottom:14px}.replay-canvas .battle-canvas{width:100%;height:100%}.game-shell>header,.online-game>header{min-width:0;overflow:hidden}.game-shell .turn-chip,.online-game .turn-chip{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.battle-layout,.online-battle{height:100%;min-height:0;overflow:hidden}.field{isolation:isolate;min-height:0;overflow:hidden}.field .battle-canvas{width:100%;height:100%;min-height:0;max-height:100%;overflow:hidden}.roster,.intel,.online-roster,.online-battle>.online-chat,.online-battle>.online-chat>div,.command-deck,.online-command{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#355365 #08131b;min-height:0}.roster,.intel,.online-roster{overflow:auto}.online-battle>.online-chat{grid-template-rows:auto minmax(0,1fr) auto;display:grid;overflow:hidden}.online-battle>.online-chat>div{height:auto;overflow:auto}.command-deck,.online-command{max-height:min(38dvh,270px);overflow:auto}@media (width<=950px){.battle-canvas{min-height:0}}@media (width<=650px){.game-shell,.online-game{grid-template-rows:48px minmax(0,1fr) clamp(140px,34dvh,250px)}.game-shell>header,.online-game>header{grid-template-columns:auto minmax(0,1fr) auto;gap:6px;padding-inline:8px;display:grid}.game-shell>header .brand,.online-game>header .brand{white-space:nowrap;max-width:112px;font-size:.82rem;overflow:hidden}.game-shell .turn-chip,.online-game .turn-chip{text-align:center;padding:.45rem .5rem}.network{text-overflow:ellipsis;white-space:nowrap;max-width:72px;overflow:hidden}.battle-layout,.online-battle{grid-template-rows:minmax(120px,62%) minmax(0,38%);grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.battle-layout{grid-template-areas:"field field""roster intel"}.online-battle{grid-template-areas:"field field""roster chat"}.battle-layout>.field,.online-battle>.field{grid-area:field}.battle-layout>.roster{border-top:1px solid var(--line);grid-area:roster;padding:8px;display:block}.battle-layout>.intel{border-top:1px solid var(--line);grid-area:intel;padding:8px;display:block}.online-battle>.online-roster{border-top:1px solid var(--line);grid-area:roster;padding:8px;display:block}.online-battle>.online-chat{border-top:1px solid var(--line);grid-area:chat;padding:8px;display:grid}.unit-card,.online-unit{margin:2px 0;padding:5px}.unit-icon{width:28px;height:28px}.roster h2,.online-roster h2,.online-chat h2,.panel-title{margin-block:2px 7px;font-size:.56rem}.intel .telemetry,.intel .history{margin-bottom:8px}.command-deck,.online-command{align-content:start;width:100%;height:100%;max-height:none;overflow:auto}.online-command{grid-template-columns:1fr;gap:8px;display:grid}.online-command .formula-input,.online-game-actions{grid-column:1}}@media (width<=420px){.game-shell>header .brand,.online-game>header .brand{max-width:72px}.field .coordinate-readout{text-overflow:ellipsis;white-space:nowrap;max-width:calc(100% - 20px);overflow:hidden}.battle-layout,.online-battle{grid-template-rows:minmax(110px,64%) minmax(0,36%)}}@media (height<=520px) and (width>=651px){.game-shell,.online-game{grid-template-rows:44px minmax(0,1fr) minmax(112px,36dvh)}.command-deck,.online-command{height:100%;max-height:none}}.language-control{color:var(--muted);font:700 .65rem/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:8px;display:inline-flex}.language-control select{border:1px solid var(--line);width:auto;min-width:112px;min-height:34px;color:var(--text);font:700 .7rem/1 var(--mono);letter-spacing:.02em;cursor:pointer;background:#07111deb;border-radius:2px;padding:6px 28px 6px 10px}.language-control select:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}.tool-header-actions{justify-content:flex-end;align-items:center;gap:16px;display:flex}.learning-page>header .language-control{margin-left:auto;margin-right:14px}.tool-language{position:absolute;top:18px;right:22px}.home-language,.online-language{z-index:5;position:absolute;top:18px;right:22px}.online-entry{position:relative}.game-shell .header-actions .language-control>span,.online-game .header-actions .language-control>span,.lobby .header-actions .language-control>span{display:none}@media (width<=650px){.home-language,.online-language{top:10px;right:10px}.home-language>span,.online-language>span{display:none}.language-control select{min-width:88px;min-height:30px;padding:4px 22px 4px 7px;font-size:.6rem}.game-shell .header-actions,.online-game .header-actions,.lobby .header-actions{gap:4px}.tool-header{flex-wrap:wrap}.tool-header-actions{justify-content:space-between;width:100%}.learning-page>header .language-control{margin-right:8px}.game-shell .header-actions .language-control select,.online-game .header-actions .language-control select,.lobby .header-actions .language-control select{min-width:72px;max-width:78px}}
