:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#10151e;--panel:#182433;--panel-2:#223246;--border:#52677a;--ink:#f2ebd9;--muted:#b1c2cc;--accent:#75dfc3;--gold:#f2c575}*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;overflow:hidden}body{background:var(--bg);color:var(--ink);font-family:Courier New,monospace}#app{place-items:center;width:100vw;height:100dvh;display:grid}canvas{image-rendering:pixelated;display:block}#game-ui{pointer-events:none;font-size:14px;position:fixed;inset:0}#game-ui button{font:inherit;cursor:pointer}#game-ui button:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.eyebrow{color:var(--accent);letter-spacing:.11em;font-size:11px;line-height:1.5;display:block}.small-note{color:var(--muted);font-size:12px;line-height:1.6}.screen-center{pointer-events:auto;background:radial-gradient(circle at 50% 35%,#273950 0%,#10151e 72%);place-items:center;padding:16px;display:grid;position:absolute;inset:0;overflow:auto}.game-card{border:3px solid var(--border);background:var(--panel);max-width:min(90vw,690px);padding:clamp(18px,4vw,38px);box-shadow:9px 9px #090d14}.game-card h1{letter-spacing:.03em;margin:12px 0 16px;font-size:clamp(25px,5vw,55px);line-height:1.05}.game-card p{line-height:1.6}.title-card{width:650px}.title-card h1{color:var(--gold);text-shadow:3px 3px #76553b}.pixel-button{background:var(--panel-2);color:var(--ink);text-align:left;border:2px solid #6e8999;border-radius:0;justify-content:space-between;align-items:center;gap:12px;min-height:42px;padding:10px 14px;display:inline-flex;box-shadow:3px 3px #0c111a}.pixel-button:hover{border-color:var(--accent);background:#2b4652}.pixel-button:active{box-shadow:none;transform:translate(2px,2px)}.pixel-button.primary{background:#226557;border-color:#81ebcc}.pixel-button.secondary{border-color:var(--gold);background:#4b3b32}.pixel-button span{color:var(--gold);font-size:11px}.hud{text-shadow:2px 2px #0b1016;flex-direction:column;gap:8px;display:flex;position:absolute;top:18px;left:24px}.hud-brand{color:var(--ink);font-size:15px;font-weight:700}.hud-mode{color:var(--accent);font-size:11px}.hud-zone{color:var(--muted);font-size:12px}.objective{border:2px solid var(--border);background:#172332ed;width:min(360px,39vw);padding:12px 14px;line-height:1.5;position:absolute;top:18px;right:24px}.objective strong{margin-top:4px;font-size:13px;display:block}.controls{border:2px solid var(--border);color:var(--ink);white-space:nowrap;background:#172332df;padding:9px 15px;font-size:12px;position:absolute;bottom:22px;left:50%;transform:translate(-50%)}.dialogue-backdrop{pointer-events:auto;background:#05081050;justify-content:center;align-items:flex-end;padding:0 14px 54px;display:flex;position:absolute;inset:0}.dialogue-panel{border:3px solid var(--gold);background:#142333f7;gap:24px;width:min(780px,94vw);min-height:170px;padding:22px;display:flex;box-shadow:7px 7px #060b11}.portrait{width:95px;min-width:95px;height:110px;image-rendering:pixelated;background:linear-gradient(140deg,#41677b 20%,#294153 20% 65%,#b47d69 65%);border:3px solid #617d93}.dialogue-copy{flex-direction:column;flex:1;align-items:flex-start;display:flex}.dialogue-text{margin:8px 0 16px;font-size:15px;line-height:1.5}.next-line{align-self:flex-end;margin-top:auto}.battle-screen{pointer-events:auto;background:linear-gradient(150deg,#121a29,#1b3038);flex-direction:column;gap:18px;padding:clamp(12px,2vw,28px);display:flex;position:absolute;inset:0;overflow:auto}.battle-header{justify-content:space-between;align-items:flex-start;gap:20px;width:100%;max-width:1200px;margin:0 auto;display:flex}.battle-header h1{margin:4px 0;font-size:clamp(24px,3vw,36px)}.battle-header p{color:var(--muted);margin:5px 0;font-size:13px}.battle-stats{flex-wrap:wrap;justify-content:flex-end;gap:9px;max-width:380px;display:flex}.battle-stats span,.battle-stats strong{border:2px solid var(--border);background:var(--panel);white-space:nowrap;padding:8px 10px;font-size:12px}.battle-grid{flex:1;grid-template-columns:1fr 1fr;gap:20px;width:100%;max-width:1200px;margin:0 auto;display:grid}.battle-side{background:#111b2abf;border:2px solid #405465;padding:14px}.battle-side h2{color:var(--gold);margin:0 0 14px;font-size:17px}.battle-side small{color:var(--muted);margin-top:4px;font-size:11px;font-weight:400;display:block}.module-list{gap:9px;display:grid}.module-card{color:var(--ink);text-align:left;background:#27394b;border:2px solid #48647a;gap:7px;padding:11px;display:grid}.module-card.selected{outline:2px solid var(--gold);border-color:var(--gold)}.module-card.offline{opacity:.5}.module-name{font-size:13px;font-weight:700}.module-hp{color:var(--muted);font-size:11px}.meter{background:#0c1320;border:1px solid #879eac;height:8px;display:block}.meter>span{background:#75dfc3;height:100%;display:block}.battle-actions{grid-template-columns:1.25fr 1fr;gap:18px;width:100%;max-width:1200px;margin:0 auto;display:grid}.action-buttons{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;display:grid}.action-buttons .pixel-button{min-height:55px}.battle-log{border:2px solid var(--border);background:#0d1823;min-height:120px;padding:12px;font-size:12px;line-height:1.4;overflow:auto}.battle-log strong{color:var(--gold);margin-bottom:6px;display:block}.battle-log p{color:var(--muted);margin:4px 0}.result-card{max-width:580px}.report-card{width:690px}.report-line{border-bottom:1px solid #506173;justify-content:space-between;gap:12px;padding:10px 0;display:flex}.report-line strong{color:var(--gold);text-align:right}.report-note{background:#243546;border-left:3px solid #e4c47f;margin:22px 0;padding:12px 15px}@media (width<=760px){.hud{top:12px;left:12px}.hud-brand{font-size:11px}.hud-zone{font-size:10px}.objective{width:calc(100% - 24px);padding:8px;inset:auto 12px 50px}.objective strong{font-size:11px}.controls{white-space:normal;text-align:center;width:calc(100% - 24px);padding:5px;font-size:9px;bottom:4px}.dialogue-backdrop{padding:8px 12px 115px}.dialogue-panel{gap:12px;min-height:140px;padding:12px}.portrait{width:55px;min-width:55px;height:70px}.dialogue-text{font-size:12px}.pixel-button{padding:7px 9px;font-size:12px!important}.battle-header{flex-direction:column}.battle-stats{justify-content:flex-start;max-width:none}.battle-grid,.battle-actions{grid-template-columns:1fr}.battle-side{padding:9px}.module-list{grid-template-columns:repeat(3,minmax(0,1fr))}.module-card{min-width:0;padding:5px}.module-name{overflow-wrap:anywhere;font-size:10px}.action-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}.game-card{max-width:96vw}}.battle-v2{gap:0;padding:14px 24px}.battle-v2-content{flex-direction:column;gap:12px;width:100%;max-width:1440px;min-height:100%;margin:0 auto;display:flex}.combat-top{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.combat-top h1{margin:2px 0 4px;font-size:29px}.combat-top p{color:var(--muted);margin:3px 0;font-size:12px}.combat-resources{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:7px;display:flex}.combat-resources>*{border:1px solid var(--border);background:#263344;padding:8px;font-size:11px}.combat-resources b{color:var(--accent)}.combat-phase-strip{background:#131d2b;border:1px solid #405465;flex-wrap:wrap;align-items:center;gap:6px;padding:6px 8px;display:flex}.combat-phase-strip>span{color:#acbeca;border:1px solid #506173;padding:8px;font-size:12px}.combat-phase-strip>span.current{border-color:var(--accent);color:var(--accent);background:#1a3b3b}.combat-phase-strip>span.complete{color:#70a695}.combat-phase-strip small{color:var(--muted);margin-left:auto;font-size:11px}.combat-main-layout{grid-template-columns:minmax(0,1.8fr) minmax(290px,.95fr);gap:12px;display:grid}.arena-panel,.combat-command,.network-summary,.combat-log{border:1px solid var(--border);background:#141f2d}.arena-panel{padding:12px}.arena-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;font-size:12px;display:flex}.arena-heading span{color:var(--muted);align-items:center;gap:8px;font-size:10px;display:flex}.legend-dot{background:#597599;border-radius:50%;width:9px;height:9px;display:inline-block}.legend-dot.blue{background:#5dc5ec}.legend-dot.red{background:#f38d75}.legend-dot.green{background:#7ee2bf}.arena-grid{aspect-ratio:9/5;background:#192a34;border:2px solid #52677a;grid-template-rows:repeat(5,minmax(0,1fr));grid-template-columns:repeat(9,minmax(0,1fr));display:grid;position:relative;overflow:hidden}.arena-target-line{pointer-events:none;z-index:5;width:100%;height:100%;position:absolute;inset:0}.arena-cell{min-width:0;min-height:0;color:var(--ink);background:#253e43;border:1px solid #3b5661;justify-content:center;align-items:center;padding:2px;display:flex;position:relative}.arena-cell.shade{background:#20363d}.arena-cell.rock{cursor:not-allowed;background:#383b43}.arena-cell.reachable{outline-offset:-3px;background:#225b4f;outline:2px solid #63d3ab}.arena-cell.in-range:not(.active-actor){box-shadow:inset 0 0 0 2px #80a99b}.arena-cell.aimed{box-shadow:inset 0 0 0 3px var(--gold)}.arena-cell.active-actor{outline-offset:-4px;outline:3px solid #f3cf78}.arena-cell:hover:not(:disabled){filter:brightness(1.22)}.arena-cell.disabled-unit{opacity:.6}.arena-rock{color:#697078;font-size:20px}.arena-unit{background:#215c78;border:2px solid #66c9e9;flex-direction:column;justify-content:center;align-items:center;gap:2px;width:min(92%,66px);min-height:62%;padding:4px 1px;display:flex}.arena-cell.hostile .arena-unit{background:#754134;border-color:#f3947d}.arena-unit b{font-size:clamp(10px,1.4vw,20px)}.arena-unit span,.arena-unit small{white-space:nowrap;font-size:clamp(8px,.85vw,11px)}.arena-foot{color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px;margin-top:10px;font-size:11px;display:flex}.arena-foot strong{color:var(--gold)}.combat-command{flex-direction:column;gap:10px;padding:12px;display:flex}.actor-line{border-bottom:1px solid #52677a;justify-content:space-between;align-items:center;gap:12px;padding-bottom:10px;display:flex}.actor-line strong{color:var(--gold);margin:4px 0;font-size:19px;display:block}.actor-line small{color:var(--muted);font-size:11px}.actor-step{text-align:right;color:var(--muted);font-size:10px;line-height:1.6}.command-actions{grid-template-columns:1fr 1fr;gap:7px;display:grid}.command-actions button{min-height:43px;font-size:12px}.command-actions button.selected{border-color:var(--gold);background:#49533f}.command-actions button:disabled{opacity:.45;cursor:not-allowed}.command-preview{background:#203042;border:2px solid #66808c;flex:1;min-height:155px;padding:12px}.command-preview h3{color:var(--gold);margin:8px 0 5px;font-size:15px}.command-preview p{color:var(--muted);margin:7px 0;font-size:12px;line-height:1.45}.command-preview .preview-error{color:#ffb29c}.command-preview .preview-valid{color:var(--accent)}.range-info{color:#f3d093;flex-wrap:wrap;justify-content:space-between;gap:8px;padding:6px 0;font-size:11px;display:flex}.command-preview .confirm-action{width:100%;margin-top:10px}.command-preview button:disabled{opacity:.4;cursor:not-allowed;background:#31404a}.enemy-warning{background:#3c3028;border:1px solid #7c6b4f;gap:5px;padding:10px;display:grid}.enemy-warning.active{border-color:#af8f60}.enemy-warning strong{font-size:11px;line-height:1.45}.enemy-warning small{color:#d1bda8;font-size:10px}.end-phase{border-color:var(--gold);background:#584331;width:100%}.combat-status-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.network-summary{padding:10px}.network-summary h3{color:var(--gold);margin:0 0 9px;font-size:13px}.network-summary h3 small{color:var(--muted);font-size:10px;font-weight:400}.network-pills{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.combat-module{text-align:left;min-width:0;color:var(--ink);background:#273849;border:1px solid #52677a;flex-direction:column;gap:4px;padding:8px;display:flex}.combat-module.selected{outline:2px solid var(--gold);outline-offset:-2px}.combat-module.offline{opacity:.55}.combat-module strong{white-space:normal;font-size:11px}.combat-module small,.module-chip{color:var(--muted);font-size:9px}.compact-meter{background:#0a111a;width:100%;height:5px}.compact-meter span{background:#8be0c7;height:100%;display:block}.combat-log{color:#d2dfdf;flex-wrap:wrap;align-items:baseline;gap:12px;padding:9px 12px;font-size:10px;display:flex}.combat-log span:not(.eyebrow){border-left:1px solid #52677a;padding-left:8px}@media (width<=1050px){.combat-main-layout{grid-template-columns:1fr}.battle-v2{padding:12px}}@media (width<=650px){.combat-top{flex-direction:column}.combat-resources{justify-content:flex-start}.combat-status-row{grid-template-columns:1fr}.combat-phase-strip small{width:100%;margin-left:0}.arena-unit{min-height:50%}.arena-unit span,.arena-unit small{font-size:8px}.network-pills{grid-template-columns:repeat(3,minmax(0,1fr))}}.flow-combat{z-index:5;color:#f8eedc;pointer-events:auto;background:#111b23;position:fixed;inset:0;overflow-y:auto}.flow-game{flex-direction:column;gap:12px;width:min(1200px,100%);margin:auto;padding:16px 20px 24px;display:flex}.flow-header{justify-content:space-between;align-items:center;gap:20px;display:flex}.flow-header>span{color:#a7c7c3;letter-spacing:.09em;font-size:13px;font-weight:700}.flow-head-resources{align-items:center;gap:16px;display:flex}.flow-source{align-items:center;gap:9px;display:flex}.flow-source b{color:#f5d47b;font-size:28px}.flow-source small,.flow-shield small{color:#9db7bc;max-width:130px;font-size:11px;line-height:1.3}.flow-shield{align-items:center;gap:8px;display:flex}.flow-shield b{color:#a6e6d1;font-size:19px}.flow-head-resources>button{color:#b4d7d3;background:#293944;border:1px solid #739495;border-radius:100%;width:31px;height:31px}.flow-board-wrap{background:#172a32;border:2px solid #49636a;padding:12px;box-shadow:0 6px #080d14}.flow-board-head{color:#b8e7d3;grid-template-columns:1fr 1.4fr 1fr;align-items:center;gap:10px;margin-bottom:9px;font-size:13px;font-weight:700;display:grid}.flow-board-head span:last-child{text-align:right;color:#f0b2a2}.flow-board-head small{color:#94a9ad;margin-top:3px;font-size:10px;font-weight:400;display:block}.flow-objective{text-align:center;color:#e9d38f;font-size:12px}.flow-board{aspect-ratio:9/4.6;background:#2a3e40;grid-template-rows:repeat(5,minmax(0,1fr));grid-template-columns:repeat(9,minmax(0,1fr));display:grid;position:relative}.flow-tile{color:#e9e5d6;cursor:pointer;background:#34504b;border:1px solid #45645b;border-radius:0;justify-content:center;align-items:center;min-width:0;min-height:0;padding:2px;display:flex;position:relative}.flow-tile.alt{background:#2e4947}.flow-tile.rock{cursor:not-allowed;background:#464b49}.flow-tile.walk{box-shadow:inset 0 0 0 3px #91eac4}.flow-tile.aimed{outline-offset:-4px;outline:3px solid #ffdc88}.flow-tile:hover:not(:disabled){filter:brightness(1.2)}.flow-rock{color:#737d7b;font-size:25px}.flow-links{z-index:2;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.flow-links .link{stroke-width:4px;stroke-dasharray:8 6;opacity:.55}.flow-links .player-link{stroke:#54d9d1}.flow-links .enemy-link{stroke:#ed947b}.flow-links .action-line{stroke-width:5px;stroke-dasharray:13 9}.flow-links .action-line.valid{stroke:#fee39d}.flow-links .action-line.blocked{stroke:#ff7a71}.flow-links .threat-line{stroke:#ff6363;stroke-width:4px;stroke-dasharray:10 12;opacity:.66}.arena-token{z-index:4;background:#24675f;border:2px solid #8be2d4;flex-direction:column;justify-content:center;align-items:center;gap:2px;width:min(76%,76px);min-width:42px;min-height:67%;padding:4px 2px;display:flex;position:relative;box-shadow:2px 3px #182c2b}.arena-token.foe{background:#7e4337;border-color:#edaf99}.arena-token.core{background:#766128;border-color:#ffdb85;box-shadow:0 0 15px #f2d27990}.arena-token.core.foe{background:#704034;border-color:#ffc594;box-shadow:0 0 15px #e8665f75}.arena-token.active{outline-offset:2px;outline:3px solid #f6d779}.arena-token.broken{opacity:.42;filter:grayscale()}.arena-token b{font-size:clamp(12px,1.65vw,24px)}.arena-name{white-space:nowrap;font-size:clamp(7px,.9vw,12px)}.arena-hp{background:#0c1b1b;width:90%;height:5px;display:block}.arena-hp i{background:#b0f6d6;height:100%;display:block}.arena-charge{color:#ffe6a9;font-size:clamp(8px,.85vw,12px);font-weight:700}.core-lock{z-index:6;color:#f4d088;font-size:17px;position:absolute;top:3px;right:4px}.arena-fx{z-index:9;white-space:nowrap;color:#ffdc8f;text-shadow:0 0 5px #000,0 2px #000;font-size:19px;font-weight:700;animation:1.2s ease-out both float-result;position:absolute;top:-22px;left:40%}.arena-fx.repair,.arena-fx.flux{color:#76f5db}.arena-fx.attack,.arena-fx.warning{color:#ffae9b}@keyframes float-result{0%{opacity:0;transform:translateY(13px)scale(.7)}20%{opacity:1}to{opacity:1;transform:translateY(-19px)}}.flow-threat{background:#3a3030;border-left:4px solid #e39b80;align-items:center;gap:10px;min-height:46px;padding:10px 15px;font-size:12px;display:flex}.flow-threat strong{color:#ffc29c;white-space:nowrap}.flow-threat span{line-height:1.35}.flow-allocation,.flow-actions,.flow-enemy-turn{background:#243440;border:1px solid #637b7f;gap:13px;padding:14px;display:grid}.flow-allocation{grid-template-columns:minmax(180px,1fr) minmax(0,2.15fr) minmax(165px,.86fr);align-items:center}.flow-stage,.flow-actor-title{flex-direction:column;gap:6px;display:flex}.flow-stage>span,.flow-actor-title>span{color:#8cdcc3;letter-spacing:.07em;font-size:10px}.flow-stage strong,.flow-actor-title strong{color:#f6d68d;font-size:17px}.flow-stage small{color:#b8c7ca;font-size:10px;line-height:1.5}.flow-recipient-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.flow-recipient{background:#334850;border:1px solid #597880;justify-content:space-between;align-items:center;gap:6px;min-width:0;padding:8px;display:flex}.flow-recipient span{flex-direction:column;gap:4px;min-width:0;display:flex}.flow-recipient b{font-size:12px}.flow-recipient small{color:#9fdccb;font-size:10px}.flow-recipient button{color:#f9e7be;background:#3e6856;border:1px solid #7cd6ac;min-width:36px;padding:7px;font-size:11px}.flow-recipient button:disabled{opacity:.35;cursor:not-allowed}.flow-main-cta,.flow-end,.flow-enemy-turn button{color:#f8e1ad;cursor:pointer;background:#695133;border:2px solid #e0bf7a;min-height:48px;padding:13px 10px;font-size:12px;font-weight:700}.flow-actions{grid-template-columns:minmax(145px,.85fr) minmax(190px,1.2fr) minmax(240px,2fr) minmax(120px,.7fr);align-items:stretch}.flow-actor-title em{color:#93eed0;font-size:13px;font-style:normal}.flow-actor-title button{color:#a7d5cd;cursor:pointer;text-align:left;background:0 0;border:0;align-self:flex-start;padding:4px 0;font-size:10px;text-decoration:underline}.flow-action-choices{grid-template-columns:repeat(2,minmax(0,1fr));align-content:center;gap:6px;display:grid}.flow-action-choices button{color:#f2ead6;cursor:pointer;background:#3a505a;border:1px solid #627c84;min-height:36px;padding:9px;font-size:11px}.flow-action-choices button.chosen{background:#5e654d;border-color:#f3cc71}.flow-preview{flex-direction:column;justify-content:center;gap:6px;min-width:0;display:flex}.flow-preview-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.flow-preview-top>strong{color:#f3d38b;font-size:12px}.flow-preview p{color:#d8e3dc;margin:0;font-size:11px;line-height:1.5}.flow-preview small{color:#a7d9cb;font-size:10px}.flow-error{color:#ffb4a5;font-size:10px}.flow-power{align-items:center;gap:5px;display:flex}.flow-power span{color:#c0d3d0;font-size:10px}.flow-power strong{color:#f4d38e;text-align:center;min-width:27px;font-size:13px}.flow-power button{color:#fff;background:#445963;border:1px solid #8ca4a2;width:25px;height:25px;font-size:15px}.flow-confirm{color:#f5f8e9;cursor:pointer;background:#2c705a;border:1px solid #83ddbc;align-self:flex-start;padding:7px 12px;font-size:11px}.flow-confirm:disabled{opacity:.35;cursor:not-allowed}.flow-end{align-self:center}.flow-enemy-turn{grid-template-columns:1fr 2fr 1fr;align-items:center}.flow-enemy-turn>span{color:#f5bf9a;font-size:11px}.flow-enemy-turn>strong{font-size:13px}.flow-enemy-events{flex-direction:column;gap:5px;display:flex}.flow-enemy-events p{margin:0;font-size:11px}.flow-events{flex-wrap:wrap;align-items:center;gap:7px;min-height:20px;display:flex}.flow-event{color:#d3eedd;background:#244a42;border-left:3px solid #74d8a9;padding:6px 10px;font-size:11px}.flow-event.attack,.flow-event.warning{background:#543732;border-color:#f09d80}.flow-warning{color:#ffd4b9;background:#63372d;border:1px solid #dc9b83;padding:10px;font-size:12px}.flow-help{z-index:20;background:#243b40;border:2px solid #87dcbe;width:min(440px,100% - 40px);max-height:85vh;padding:20px;position:fixed;top:60px;right:24px;overflow-y:auto;box-shadow:0 0 0 120vmax #0009}.flow-help h2{margin:0;font-size:22px}.flow-help p{font-size:12px;line-height:1.55}.flow-help button{color:#fff;background:#397b66;border:1px solid #b0e0d0;padding:10px}@media (width<=950px){.flow-actions{grid-template-columns:minmax(135px,1fr) minmax(190px,1.5fr) minmax(240px,2.5fr)}.flow-end{grid-column:1/-1;width:100%;min-height:40px}.flow-allocation{grid-template-columns:minmax(180px,1fr) minmax(0,2fr)}.flow-main-cta{grid-column:1/-1}}@media (width<=660px){.flow-game{padding:10px}.flow-header{gap:8px}.flow-head-resources{gap:9px}.flow-source b{font-size:23px}.flow-board-head{font-size:10px}.flow-board-head small{font-size:8px}.arena-token{width:95%;min-width:0;padding:2px 0}.arena-token b{font-size:14px}.arena-name,.arena-charge{font-size:7px}.flow-allocation,.flow-actions,.flow-enemy-turn,.flow-recipient-list{grid-template-columns:1fr}.flow-end,.flow-main-cta{grid-column:1}.flow-threat{flex-direction:column;align-items:flex-start;font-size:10px}.flow-help{top:20px;right:10px}}.flow-actor-switch{flex-wrap:wrap;gap:4px;display:flex}.flow-actor-switch button{color:#d6eee5;background:#30494c;border:1px solid #607e7a;padding:5px 8px;font-size:10px}.flow-actor-switch button.selected{color:#ffe4a0;background:#4c6c55;border-color:#ebc77a}.flow-run-toggle{color:#edfff0;cursor:pointer;background:#23664f;border:2px solid #b0e5c4;padding:9px 13px;font-size:12px;font-weight:700}.flow-run-toggle:hover{background:#38886f}.flow-countdown{text-align:center;color:#dbeecf;min-width:53px;font-size:11px}.flow-live{background:#274640;border-color:#79d5b6}.flow-live>strong{color:#d0f7df}.flow-tile.cover{background:#426255;box-shadow:inset 0 0 0 2px #698b75}.flow-tile.jammer{background:#4b3d65;box-shadow:inset 0 0 0 2px #ae86d0}.flow-terrain{color:#d3cdea;font-size:clamp(14px,2vw,26px);font-weight:700}.flow-tile.cover .flow-terrain{color:#d4ebaf}.arena-hp{border:1px solid #e6dfc9;border-radius:2px;width:95%;height:9px;box-shadow:0 1px 2px #000b}.arena-hp i{background:#75e6a3}.arena-token.foe .arena-hp i{background:#ff927e}.arena-token.core .arena-hp i{background:#ffd476}.rpg-combat{z-index:5;color:#f4edda;pointer-events:auto;background:#101b22;font:13px/1.35 Courier New,monospace;position:fixed;inset:0;overflow:auto}.rpg-shell{flex-direction:column;gap:10px;width:min(1240px,100%);min-height:100%;margin:0 auto;padding:12px 18px;display:flex}.rpg-header{justify-content:space-between;align-items:center;gap:10px;min-height:45px;display:flex}.rpg-header>div:first-child{flex-direction:column;gap:3px;display:flex}.rpg-header strong{letter-spacing:.05em;font-size:15px}.rpg-eyebrow{letter-spacing:.07em;color:#9ac6b9;font-size:10px}.rpg-header-stats{color:#cbdad3;align-items:center;gap:14px;font-size:12px;display:flex}.rpg-flux{color:#f5d77c;white-space:nowrap;font-size:22px;font-weight:700}.rpg-flux small{color:#aecfc3;text-align:center;font-size:10px;display:block}.rpg-main-toggle{color:#f8f9eb;cursor:pointer;background:#27614f;border:2px solid #8fe3be;min-width:113px;padding:8px 11px;font-weight:700}.rpg-main-toggle small{color:#bde2d3;font-size:9px;font-weight:400;display:block}.rpg-main-toggle:hover{background:#3b866c}.rpg-help-trigger{color:#c7e1df;cursor:pointer;background:#253c42;border:1px solid #769499;border-radius:50%;width:30px;height:30px}.rpg-stage{background:#1b2d30;border:2px solid #607a75;padding:9px;box-shadow:0 5px #0b1417}.rpg-stage-label{color:#9cdac8;justify-content:space-between;align-items:center;gap:10px;margin:3px 6px 9px;font-size:11px;display:flex}.rpg-stage-label span:nth-child(2){color:#e9d998;text-align:center}.rpg-stage-label span:last-child{color:#f1aa9f}.rpg-board{aspect-ratio:auto;background:#324f46;grid-template-rows:repeat(7,minmax(0,1fr));grid-template-columns:repeat(13,minmax(0,1fr));height:clamp(330px,53vh,620px);display:grid;position:relative}.rpg-cell{color:#edece0;cursor:pointer;background:#334e47;border:1px solid #4b655b;border-radius:0;justify-content:center;align-items:center;min-width:0;min-height:0;padding:3px;display:flex;position:relative}.rpg-cell.alt{background:#3b554a}.rpg-cell.rock{cursor:not-allowed;background:#444b47}.rpg-cell.cover{background:#526b4e}.rpg-cell.jammer{background:#554169}.rpg-cell.target{box-shadow:inset 0 0 0 3px #f3d17d}.rpg-cell.focus{outline-offset:-3px;outline:2px solid #a9f1d4}.rpg-cell:hover:not(:disabled){filter:brightness(1.15)}.rpg-terrain{color:#d4e3b8;font-size:clamp(12px,2vw,27px)}.rpg-cell.jammer .rpg-terrain{color:#d9b8ff}.rpg-cell.rock .rpg-terrain{color:#798982}.rpg-unit{z-index:4;background:#266e67;border:2px solid #9de1d0;flex-direction:column;justify-content:center;align-items:center;gap:2px;width:min(78%,79px);min-height:77%;padding:3px 2px;display:flex;position:relative;box-shadow:2px 3px #122b28}.rpg-unit.enemy{background:#7c463c;border-color:#f2a69a}.rpg-unit.generator{background:#806633;border-color:#f7d887;box-shadow:0 0 15px #eac5638c}.rpg-unit.enemy.generator{background:#754436;border-color:#ebb589}.rpg-unit.selected{outline-offset:2px;outline:3px solid #f5d98c}.rpg-unit.disabled{opacity:.44;filter:grayscale(.8)}.rpg-unit b{font-size:clamp(16px,1.8vw,25px);line-height:1}.rpg-unit-name{white-space:nowrap;font-size:clamp(8px,.92vw,12px)}.rpg-hp{background:#152827;border:1px solid #d1dac7;border-radius:2px;width:92%;height:10px;display:block;box-shadow:0 1px 2px #0008}.rpg-hp i{background:#8ee4b8;height:100%;transition:width .2s;display:block}.rpg-unit.enemy .rpg-hp i{background:#ff9c88}.rpg-unit.generator .rpg-hp i{background:#ffe082}.rpg-energy{color:#ffe29f;font-size:11px;font-weight:700}.rpg-float{z-index:7;color:#ffe39c;text-shadow:0 2px 3px #000;font-size:20px;font-weight:700;animation:1.6s ease-out both rpg-float;position:absolute;top:-23px;left:30%}.rpg-lock{z-index:6;font-size:13px;position:absolute;top:1px;right:2px}@keyframes rpg-float{0%{opacity:0;transform:translateY(17px)scale(.6)}20%{opacity:1}to{opacity:1;transform:translateY(-18px)}}@keyframes rpg-shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-3px)}40%,80%{transform:translate(3px)}}.rpg-threads{pointer-events:none;z-index:2;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.rpg-link{stroke:#69e4d0;stroke-width:4px;stroke-opacity:.65;stroke-dasharray:10 5}.rpg-link.broken{stroke:#ff9878;stroke-opacity:.95;stroke-width:5px;stroke-dasharray:4 12}.rpg-enemy-link{stroke:#d88e78;stroke-width:3px;stroke-dasharray:10 7;opacity:.48}.rpg-transfer{stroke:#fee887;stroke-width:7px;stroke-dasharray:9 11;stroke-linecap:round;animation:.9s linear infinite rpg-flow}@keyframes rpg-flow{to{stroke-dashoffset:-40px}}.rpg-intent{stroke:#e36e64;stroke-width:3px;stroke-dasharray:6 13;opacity:.6}.rpg-aim{stroke:#ffdf81;stroke-width:4px;stroke-dasharray:11 8;opacity:.8}.rpg-aim.invalid{stroke:#ff766f}.rpg-enemy-effect{stroke:#ff8a78;stroke-width:10px;stroke-dasharray:16 12;opacity:.94;stroke-linecap:round}.rpg-impact{fill:none;stroke:#ffb4a1;stroke-width:5px}.rpg-reaction{background:#49332f;border:2px solid #bd7566;align-items:center;gap:12px;min-height:58px;padding:12px 14px;display:flex;box-shadow:0 3px #1a1d1d}.rpg-reaction>strong{letter-spacing:.06em;color:#ffd0ab;white-space:nowrap;min-width:120px;font-size:11px}.rpg-event-list{flex-wrap:wrap;gap:10px;font-size:11px;line-height:1.4;display:flex}.rpg-event{background:#5e4037;border-left:2px solid #ffae92;padding:5px 9px}.rpg-event.flux,.rpg-event.repair{background:#375750;border-color:#98f1c7}.rpg-toolbar{background:#202f38;border:1px solid #607978;grid-template-columns:minmax(155px,1.05fr) minmax(190px,1.25fr) minmax(310px,2.1fr);gap:12px;min-height:157px;padding:13px;display:grid}.rpg-toolbar.live{background:#255547;justify-content:space-between;align-items:center;min-height:78px;display:flex}.rpg-toolbar.live>span{color:#d6f1e4}.rpg-selection,.rpg-orders,.rpg-preview{flex-direction:column;gap:8px;min-width:0;display:flex}.rpg-hero-switch,.rpg-order-switch{flex-wrap:wrap;gap:5px;display:flex}.rpg-hero-switch button,.rpg-order-switch button{color:#f0ebdb;cursor:pointer;font:inherit;background:#314d52;border:1px solid #627e7e;flex:auto;min-height:36px;padding:8px 9px;font-size:11px}.rpg-hero-switch button.active,.rpg-order-switch button.active{color:#fff1c8;background:#48694e;border-color:#f3d17a}.rpg-hero-switch button small{color:#ffe09d;font-size:10px;display:block}.rpg-order-switch button small{color:#a1e6c7;margin-right:4px}.rpg-preview{border-left:1px solid #506b6d;padding-left:12px}.rpg-preview-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:5px;display:flex}.rpg-preview-top strong{color:#ffe092;font-size:13px}.rpg-preview p{color:#d3e2dd;min-height:31px;margin:0;font-size:11px;line-height:1.5}.rpg-power{color:#ffe7a2;white-space:nowrap;align-items:center;gap:5px;font-weight:700;display:flex}.rpg-power button{color:#fff;background:#3e5961;border:1px solid #99aaa6;padding:3px 7px}.rpg-path{color:#f6e39e;font-size:10px}.rpg-broken{color:#ffae99;font-size:10px}.rpg-primary{color:#fffde8;cursor:pointer;background:#286f54;border:2px solid #8de8be;align-self:flex-start;padding:9px 13px;font-size:11px;font-weight:700}.rpg-primary:disabled{opacity:.38;cursor:not-allowed;background:#374747}.rpg-primary:not(:disabled):hover{background:#3a8b69}.rpg-hint{color:#8faea8;text-align:center;font-size:10px}.rpg-warning{color:#ffb8a7;background:#5c342e;border:1px solid #ed9885;padding:9px;font-size:12px}.rpg-help-backdrop{z-index:20;background:#040a0cba;justify-content:center;align-items:center;padding:14px;display:flex;position:fixed;inset:0}.rpg-help{background:#20343b;border:2px solid #8ddbc3;width:100%;max-width:570px;padding:25px;box-shadow:8px 8px #080c0e}.rpg-help h2{color:#f5d991;margin:0 0 14px;font-size:22px}.rpg-help p{font-size:13px;line-height:1.6}@media (width<=900px){.rpg-toolbar{grid-template-columns:1fr 1fr}.rpg-preview{border-top:1px solid #516f70;border-left:none;grid-column:1/-1;padding:9px 0 0}}@media (width<=650px){.rpg-shell{padding:9px}.rpg-header{flex-wrap:wrap}.rpg-header-stats{gap:8px}.rpg-board{aspect-ratio:auto}.rpg-unit{width:93%;min-height:65%;padding:2px 0}.rpg-unit b{font-size:15px}.rpg-unit-name,.rpg-unit small,.rpg-energy{font-size:8px}.rpg-hp{height:7px}.rpg-toolbar{grid-template-columns:1fr;min-height:0}.rpg-preview{grid-column:1}.rpg-reaction{flex-direction:column;align-items:flex-start;padding:9px}}.rpg-shell{width:min(1550px,100%)}.rpg-board{aspect-ratio:auto}.rpg-stage{padding:8px}.rpg-cell{padding:1px}.rpg-unit{gap:1px;width:min(92%,72px);min-height:81%;padding:2px 1px}.rpg-unit b{font-size:clamp(13px,1.5vw,23px)}.rpg-unit-name{font-size:clamp(8px,.82vw,11px)}.rpg-unit small{font-size:clamp(8px,.77vw,10px)}.rpg-hp{max-width:93%;height:11px}.rpg-shield-label{color:#b9f7ff;background:#175b72ed;border:1px solid #94edfd;border-radius:12px;padding:2px 5px;font-size:10px;font-weight:700;position:absolute;top:-14px;left:-9px;box-shadow:0 0 12px #7cd8ff}.rpg-unit.shielded{box-shadow:0 0 0 3px #4df7ff88,0 0 18px #76d7ffb8}.rpg-shield-field{fill:#7ae9ff0c;stroke:#85e7ff;stroke-width:7px;stroke-dasharray:14 10;opacity:.7;filter:drop-shadow(0 0 10px #7ae9ff);animation:2s ease-in-out infinite rpg-shield-pulse}@keyframes rpg-shield-pulse{0%,to{stroke-opacity:.3}50%{stroke-opacity:1}}.rpg-projectile{fill:#ffb091;stroke:#ff604d;stroke-width:5px;filter:drop-shadow(0 0 12px #ffb091)}.rpg-recovery{color:#ffe4ab;white-space:nowrap;background:#453a34;border:1px solid #d0a072;width:max-content;max-width:100%;margin:auto;padding:2px 5px;font-size:9px;position:absolute;bottom:-10px;left:0;right:0}.rpg-sound-toggle{color:#d5e8da;cursor:pointer;white-space:nowrap;background:#253941;border:1px solid #718d91;padding:7px 9px;font-size:10px}.rpg-sound-toggle:hover{border-color:#adf3cc}.rpg-event.special,.rpg-event.revive{color:#dbf7ff;background:#344d68;border-color:#80d6ff}.rpg-unit.affected{animation:.5s rpg-shake,1.3s rpg-unit-glow}@keyframes rpg-unit-glow{0%{filter:brightness(1.5)}to{filter:brightness()}}.rpg-preview p{min-height:22px}@media (width<=700px){.rpg-board{aspect-ratio:auto}.rpg-unit{width:97%;min-height:69%}.rpg-unit-name,.rpg-unit small,.rpg-energy{font-size:7px}.rpg-hp{height:7px}.rpg-shield-label{font-size:8px;top:-9px;left:-2px}.rpg-header-stats{flex-wrap:wrap;justify-content:flex-end}}.rpg-board{aspect-ratio:auto;grid-template-rows:repeat(7,minmax(0,1fr));grid-template-columns:repeat(13,minmax(0,1fr));height:clamp(330px,53vh,620px)}.rpg-stage-label .rpg-stage-tools{color:#f0b3aa;align-items:center;gap:12px;font-size:10px;display:flex}.rpg-network-toggle{color:#ace6cf;cursor:pointer;background:#233f3f;border:1px solid #6aa49a;padding:5px 9px;font-size:10px}.rpg-network-toggle:hover{background:#34625b}.rpg-energy.linked{color:#adf8cb}.rpg-energy.isolated{color:#ffb5a5}.rpg-hero-switch button small{color:#aef4ce}.rpg-link{stroke-opacity:.55}.rpg-link.broken{stroke-opacity:.75}@media (width<=650px){.rpg-board{height:clamp(325px,49vh,520px)}.rpg-stage-label .rpg-stage-tools{gap:5px}}.rpg-health-payment{color:#ffd9d0;background:#613a39;border-left:3px solid #f09a91;padding:7px 10px;font-size:12px;line-height:1.4;display:block}.rpg-health-confirm{background:#833b39;border-color:#f2a29a}.rpg-health-confirm:not(:disabled):hover{background:#9c4a45}
