.mobile-entry{box-sizing:border-box;min-height:100dvh;max-width:100%;padding:max(28px,env(safe-area-inset-top)) 22px max(28px,env(safe-area-inset-bottom));display:flex;flex-direction:column;justify-content:center;gap:24px;background:#f3f0e8;color:#20251f}.mobile-entry-brand{font:700 18px/1.2 Space Mono,monospace;letter-spacing:.18em}.mobile-entry h1{font-size:28px;line-height:1.15;margin:0;overflow-wrap:anywhere}.mobile-entry p{font-size:14px;line-height:1.6;margin:0}.mobile-entry button{min-height:56px;white-space:normal;max-width:100%;font-size:15px}.mobile-entry .mobile-entry-start{min-height:68px;font-size:20px}.mobile-scenarios{display:grid;gap:12px}.mobile-scenarios button{display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;padding:16px}.mobile-scenarios b{min-width:0;overflow-wrap:anywhere}.mobile-scenarios span{font-size:12px;flex-shrink:0}main.mobile-quick-play{margin:0;padding:0;max-width:none}main.mobile-quick-play.mobile-waiting{display:none}.mobile-quick-play>.game{display:block;margin:0;border:0}.mobile-quick-play .stage.fullscreen{position:fixed;inset:0;width:100%;height:100dvh;min-height:0;max-height:none;--toolbar-height:64px}.mobile-quick-play .stage.fullscreen .stage-toolbar{padding:8px max(6px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(6px,env(safe-area-inset-left));min-width:0}.mobile-quick-play .stage.fullscreen .fullscreen-options{min-width:0;width:100%}.mobile-quick-play .stage.fullscreen .fullscreen-control-row{width:100%;min-width:0;gap:6px}.mobile-quick-play .fullscreen-context-row,.mobile-quick-play .fullscreen-dock-swap{display:none!important}.mobile-quick-play .stage.fullscreen .fullscreen-unit-strip-anchor{min-width:0;flex:1 1 auto}.mobile-quick-play .stage.fullscreen .fullscreen-units{max-width:100%;overflow-x:auto}.mobile-quick-play .stage.fullscreen .stage-toolbar button:not(.power-card){min-height:44px;height:44px;max-height:44px}.mobile-game-exit{position:absolute;top:max(12px,env(safe-area-inset-top));left:max(12px,env(safe-area-inset-left));z-index:20;min-height:44px;background:#f3f0e8;color:#20251f;padding:8px 14px;font-size:13px}.mobile-game-result{position:absolute;inset:0;z-index:40;display:grid;place-items:center;padding:24px;background:#17231c99}.mobile-game-result>div{background:#f3f0e8;color:#20251f;padding:28px;display:grid;gap:16px;width:min(100%,340px);box-sizing:border-box}.mobile-game-result h2{margin:0;font-size:23px}.mobile-game-result button{min-height:48px}@font-face{font-family:Space Mono;src:url(/tools/tactics/fonts/SpaceMono-Regular.ttf);font-weight:400;font-display:swap}@font-face{font-family:Space Mono;src:url(/tools/tactics/fonts/SpaceMono-Bold.ttf);font-weight:700;font-display:swap}:root{font-family:Space Mono,monospace;color:#050505;background:#f7f7f4;font-synthesis:none;--paper:#f7f7f4;--ink:#050505;--green:#66ff5d;--line:#0b0b0b;--soft:#d5d5ce;--muted:#68685f}*{box-sizing:border-box}body{margin:0;font-size:12px;line-height:1.6}button,input,select,textarea{font:inherit;color:inherit}button,select{border:1px solid var(--line);border-radius:0;background:transparent;padding:9px 12px;cursor:pointer;min-height:38px}button:hover:not(:disabled),a:hover{background:var(--green)}button:disabled{opacity:.3;cursor:default}button:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:3px solid var(--green);outline-offset:3px}.active{background:var(--ink);color:var(--paper)}.active:hover{color:var(--ink)}.primary{background:var(--green)}h1,h2,h3,p{margin:0}h1{font-size:17px;letter-spacing:.14em}h2{font-size:23px;font-weight:400;letter-spacing:-.05em}h3{font-size:13px}header{height:65px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:26px;padding:0 28px}header a{font-size:10px;color:inherit;text-decoration:none}header>span{color:var(--muted);font-size:11px}header button{margin-left:auto;padding:5px 10px;font-size:11px;min-height:32px}main{max-width:1460px;margin:auto;padding:24px 32px}.game-top{display:flex;align-items:center;justify-content:space-between;padding-bottom:18px;border-bottom:1px solid var(--soft)}.eyebrow{display:block;font-size:10px;letter-spacing:.14em;color:var(--muted);margin-bottom:5px}.counter{text-align:right}.counter b{font-size:24px;font-weight:400}.counter small{display:block;font-size:9px;letter-spacing:.12em;text-transform:uppercase}.game{display:grid;grid-template-columns:minmax(0,1fr) 325px;gap:24px;padding:16px 0 26px}.stage{position:relative;min-width:0}#board{width:100%;height:clamp(360px,62vh,720px);min-width:0}.camera{display:flex;align-items:center;flex-wrap:wrap;gap:7px;padding:8px 0;border-bottom:1px solid var(--soft)}.camera span{font-size:10px;color:var(--muted);margin-right:auto}.camera .model-toggle{white-space:nowrap}.camera button{font-size:10px;padding:5px 8px;min-height:30px}.help-line{padding-top:12px;min-height:65px;max-width:75ch;color:var(--muted);font-size:11px}aside{border-left:1px solid var(--soft);padding-left:24px;min-width:0}.controllers{display:flex;gap:8px;margin-bottom:26px}.controllers button{padding:8px 5px;font-size:10px;flex:1}.setup-preferences{margin:0 0 14px;border-block:1px solid var(--soft)}.setup-preferences>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;min-height:42px;font-size:10px;letter-spacing:.06em;text-transform:uppercase;cursor:pointer}.setup-preferences>summary::-webkit-details-marker{display:none}.setup-preferences>summary:after{content:"+";font-size:16px;font-weight:400}.setup-preferences[open]>summary:after{content:"−"}.setup-preferences-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0 0 12px}.setup-preferences-grid label{display:grid;gap:4px;align-content:end;font-size:9px;text-transform:uppercase;letter-spacing:.08em}.setup-preferences-grid input{width:100%;min-width:0;height:38px;border:1px solid var(--line);background:var(--paper);padding:8px}.setup-preferences-grid button{grid-column:1/-1}.section-head{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:9px}.section-head small{color:var(--muted);font-size:10px}.reserve{display:grid;gap:8px;margin:16px 0 22px}.reserve-column{display:flex;flex-direction:column;align-items:stretch;gap:12px;text-align:center;min-width:0}.reserve-column>b{font-size:9px;font-weight:400;white-space:nowrap}.reserve-column>small{font-size:10px;color:var(--muted)}.reserve-unit{height:68px;padding:7px 0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;touch-action:none}.reserve-unit small{font-size:9px}.reserve-unit.selected{outline:3px solid var(--green);outline-offset:1px}.reserve-unit.deployed{border-style:dashed;color:var(--muted)}.special-guide{border:1px solid var(--line);padding:12px;margin:0 0 16px}.special-guide>.eyebrow{margin-bottom:9px}.special-guide>div{display:flex;align-items:center;gap:10px;padding:7px 0;border-top:1px solid var(--soft)}.special-guide p{display:flex;flex-direction:column;font-size:11px;line-height:1.35}.special-guide small{color:var(--muted);font-size:9px;margin-top:3px}.special-guide svg{flex:0 0 auto}.stack{display:flex;flex-direction:column;gap:9px}.stack button{text-align:center}.restart{display:flex;gap:8px;border-top:1px solid var(--soft);padding-top:16px;margin-top:22px}.restart button{flex:1;font-size:10px;padding:7px 4px}.small{font-size:10px;margin-top:14px}.muted{color:var(--muted)}.unit-panel{min-height:130px;padding:5px 0 15px}.unit-panel h3{font-size:18px;font-weight:400}.unit-panel p{margin-top:7px;font-size:11px}.actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:20px}.directions{display:grid;grid-template-columns:repeat(3,1fr);max-width:180px;margin:0 auto 20px;gap:4px}.directions button{font-size:22px;padding:2px}.aim{margin:0 0 16px;display:flex;flex-wrap:wrap;gap:6px}.aim label{width:100%;display:flex;align-items:center;justify-content:space-between}.aim select{width:60%}.aim button{font-size:10px;padding:6px;flex:1}.details-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:32px}details{border-top:1px solid var(--line);padding:13px 0;margin-bottom:12px;min-width:0}summary{cursor:pointer;letter-spacing:.12em;font-size:10px;text-transform:uppercase}details>p,details>div:not(.accessible-grid){margin-top:15px}details p{margin-bottom:12px;font-size:11px}table{width:100%;border-collapse:collapse;min-width:580px;font-size:10px}th{font-weight:400;color:var(--muted);text-align:left;font-size:9px;text-transform:uppercase}td,th{border-bottom:1px solid var(--soft);padding:9px 8px 9px 0;vertical-align:top}td:first-child{white-space:nowrap}td svg{vertical-align:middle;margin-right:7px;width:17px}td:last-child{min-width:150px;max-width:240px;color:var(--muted)}.tablewrap{overflow-x:auto}.terrain-key{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;color:var(--muted)}.terrain-key b{display:block;color:var(--ink);margin-bottom:5px}.terrain-key p{font-size:10px}.log{max-height:230px;overflow:auto}.log p{margin:0;padding:4px 0;border-bottom:1px solid var(--soft);font-size:10px}textarea{width:100%;min-height:290px;resize:vertical;background:var(--paper);border:1px solid var(--line);padding:12px;font-size:11px}.row{display:flex;flex-wrap:wrap;gap:7px}.row button{font-size:10px}.error{font-weight:700;min-height:20px}.accessible-grid{display:grid;margin-top:16px;gap:3px}.accessible-grid button{padding:5px;font-size:10px;min-width:0;min-height:54px}.accessible-grid small{display:block;font-size:8px}.handoff{position:absolute;inset:0;z-index:20;background:var(--paper);display:grid;place-items:center;border:1px solid var(--line);text-align:center}.handoff h2{margin:10px 0}.handoff p{margin:16px 0}.handoff button{background:var(--green)}footer{border-top:1px solid var(--soft);margin-top:24px;padding-top:18px;font-size:9px;letter-spacing:.1em;color:var(--muted)}#drag-ghost{position:fixed;pointer-events:none;background:var(--green);border:1px solid black;width:42px;height:42px;transform:translate(-50%,-50%);z-index:99;line-height:40px;text-align:center;font-size:24px}#drag-ghost[hidden]{display:none}.stage-toolbar{display:contents}.fullscreen-options{display:none}body.game-fullscreen{overflow:hidden}.stage.fullscreen{position:fixed;inset:0;z-index:100;--toolbar-height:56px;width:100vw;height:100dvh;margin:0;padding:12px;background:var(--paper);display:grid;grid-template-rows:minmax(0,1fr) var(--toolbar-height) 28px;overflow:hidden}.stage.fullscreen #board{width:100%;height:100%;min-height:0;max-height:none}.stage.fullscreen .stage-toolbar{display:flex;flex-wrap:nowrap;gap:8px;padding:8px;border:1px solid var(--line);background:var(--paper);width:100%;min-width:0;align-self:stretch;align-items:center;overflow-x:auto;scrollbar-width:none}.stage.fullscreen .camera{display:contents}.stage.fullscreen .camera>span{display:none}.stage.fullscreen .camera>button,.stage.fullscreen .camera>select{flex:0 0 auto;order:20}.stage.fullscreen .stage-toolbar .fullscreen-options{display:contents;position:static;transform:none;width:auto;max-width:none;min-width:0;height:auto;margin:0;padding:0;border:0;background:transparent;backdrop-filter:none}.stage.fullscreen .fullscreen-options .fullscreen-units{display:flex;flex:0 0 auto;gap:4px;align-items:center;order:1;margin:0;padding:0}.stage.fullscreen .fullscreen-units button{display:flex;align-items:center;justify-content:center;width:40px;min-width:40px;padding:0;border-color:var(--soft)}.stage.fullscreen .fullscreen-units button.selected{background:var(--green);border-color:var(--line)}.stage.fullscreen .fullscreen-turn{order:0;flex:0 0 auto;padding:0 8px;font-weight:700;white-space:nowrap}.stage.fullscreen .fullscreen-units button.turn-cue{animation:turn-picto-bounce .34s ease-in-out 4}.stage.fullscreen .fullscreen-units button.unavailable,.stage.fullscreen .fullscreen-units button.selected.unavailable{background:var(--soft);border-color:var(--soft);color:var(--muted);filter:grayscale(1);opacity:.48}@keyframes turn-picto-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@media(prefers-reduced-motion:reduce){.stage.fullscreen .fullscreen-units button.turn-cue{animation:none}}.stage.fullscreen .fullscreen-options .actions{display:contents}.stage.fullscreen .fullscreen-options .actions button{order:2;flex:0 0 auto;min-width:92px}.stage.fullscreen .stage-toolbar button:not(.power-card),.stage.fullscreen .stage-toolbar select,.stage.fullscreen .stage-toolbar .fullscreen-options>span{font-family:Space Mono,monospace;font-size:11px;font-weight:400;line-height:16px;letter-spacing:0;text-transform:none;height:40px;min-height:40px;max-height:40px;margin:0;padding:0 10px;white-space:nowrap;box-sizing:border-box}.stage.fullscreen .stage-toolbar select{appearance:none;line-height:16px;padding-right:26px;background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 14px) 50%,calc(100% - 10px) 50%;background-size:4px 4px;background-repeat:no-repeat}.stage.fullscreen .stage-toolbar .fullscreen-options>span{display:flex;align-items:center;justify-content:flex-start;order:2;flex:0 0 auto}.stage.fullscreen .fullscreen-end-turn{order:3;min-width:112px}.stage.fullscreen .fullscreen-restart{order:4;min-width:84px}.stage.fullscreen .fullscreen-dock-swap{order:5;min-height:40px;padding:0 8px;gap:6px}.stage.fullscreen .fullscreen-dock-swap>span{font-size:15px;line-height:1}.stage.fullscreen .fullscreen-setup .fullscreen-units{order:1}.stage.fullscreen .fullscreen-setup>span{order:2}.stage.fullscreen .fullscreen-setup>button{order:3}.stage.fullscreen .help-line{height:28px;min-height:28px;max-height:28px;padding:5px 8px 0;background:var(--paper);font-size:11px;font-weight:400;line-height:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stage.fullscreen .help-line.game-over{visibility:hidden}.stage.fullscreen .handoff{z-index:30}@media(max-width:1000px){main{padding:20px}.game{grid-template-columns:minmax(0,1fr) 285px;gap:16px}aside{padding-left:16px}.details-grid{grid-template-columns:1fr}.camera span{max-width:190px}#board{height:52vh;min-height:340px}}@media(max-width:700px){header{padding:0 14px;gap:18px;height:55px}header>span{display:none}main{padding:18px 14px}h2{font-size:20px}.game{display:flex;flex-direction:column;gap:12px;padding-top:6px}#board{height:390px;min-height:300px;max-height:57vh}.game-top{padding-bottom:10px}.camera span{max-width:180px;font-size:9px}.camera .model-toggle{order:5;flex:1 1 100%}.help-line{min-height:50px}aside{border-left:0;border-top:1px solid var(--soft);padding:16px 0 0}.controllers{margin-bottom:18px}.controllers button{font-size:11px}.reserve{gap:12px}.reserve-column>b{font-size:11px}.reserve-unit{height:60px}.stack{display:grid;grid-template-columns:1fr 1fr}.stack .primary,.stack .click-preference{grid-column:1/-1}.terrain-key{grid-template-columns:1fr;gap:4px}.terrain-key b{display:inline}.unit-panel{min-height:90px}.actions{margin-bottom:12px}.restart{margin-top:16px}.accessible-grid small{font-size:7px}.handoff{min-height:350px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}.header-actions{display:flex;align-items:center;gap:8px;margin-left:auto}.header-actions button{margin-left:0}.mode-switch{border-color:var(--soft)}.admin-access{display:flex;align-items:center;gap:6px}.admin-access>span{font-size:9px;text-transform:uppercase;letter-spacing:.08em}.login-button{min-width:68px}.login-overlay{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:20px;background:#0000006b}.login-dialog{width:min(420px,100%);border:1px solid var(--line);background:var(--paper);padding:22px;box-shadow:10px 10px #0000002e}.login-dialog h2{margin:2px 0 18px}.login-dialog form,.login-dialog label{display:grid;gap:7px}.login-dialog form{gap:14px}.login-dialog input{width:100%;min-height:42px;border:1px solid var(--line);background:var(--paper);padding:8px 10px}.login-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}.login-actions button{min-width:110px}.login-dialog .error{margin:0;color:#9b1515;font-size:10px}.player-mode .game{grid-template-columns:minmax(0,1fr) 300px}.player-mode .camera>span{display:none}.player-mode aside{padding-left:16px}.player-panel{display:grid;gap:14px}.player-panel-heading{display:flex;align-items:baseline;justify-content:space-between;border-bottom:1px solid var(--ink);padding-bottom:10px}.player-panel-heading h2{font-size:20px}.player-instruction{font-size:11px;line-height:1.55}.player-reserve{display:grid;gap:6px;border-block:1px solid var(--soft);padding:10px 0}.player-reserve .reserve-column{min-width:0}.player-reserve .reserve-unit{width:100%}.player-play{width:100%;min-height:48px;font-weight:700}.player-leave{width:100%;margin-top:4px}.player-panel>.fullscreen-units{display:flex;gap:5px;flex-wrap:wrap;border-bottom:1px solid var(--soft);padding-bottom:10px}.player-panel>.fullscreen-units button{display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0}.player-panel .unit-panel{border-top:0}.player-panel .actions{display:grid;grid-template-columns:1fr 1fr;gap:6px}.player-panel .actions button{min-height:40px}@media(max-width:700px){.header-actions{gap:4px}.header-actions button{font-size:9px;padding:7px 8px}.player-mode .game{display:flex}.player-mode aside{padding-top:10px}.player-panel{gap:10px}.player-panel-heading{padding-bottom:7px}.player-instruction{font-size:10px}.player-reserve{gap:8px}.player-panel .player-leave{margin-top:0}}.click-preference{display:flex;flex-direction:row;align-items:center;justify-content:space-between;text-transform:none;letter-spacing:0}.setup-preferences .click-preference{grid-column:1/-1}.click-swap{position:relative;display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);min-height:38px;padding:0 10px;cursor:pointer;white-space:nowrap}.click-swap>span{font-size:11px;line-height:16px}.click-swap input{position:absolute;width:1px!important;height:1px!important;opacity:0;pointer-events:none}.click-swap i{position:relative;width:30px;height:16px;border:1px solid var(--line);background:var(--soft);display:inline-block}.click-swap i:after{content:"";position:absolute;top:2px;left:2px;width:10px;height:10px;background:var(--ink);transition:transform .12s ease}.click-swap input:checked+i{background:var(--green)}.click-swap input:checked+i:after{transform:translate(14px)}.click-swap:focus-within{outline:2px solid var(--green);outline-offset:2px}@media(max-width:700px){header .click-swap{order:4;flex:0 0 auto;padding:0 6px;gap:5px}header .click-swap>span{font-size:9px}.click-swap i{width:26px}.click-swap input:checked+i:after{transform:translate(10px)}}.fullscreen-menu{display:none}.stage.fullscreen .fullscreen-menu{display:block;position:absolute;right:12px;bottom:96px;z-index:25}.stage.fullscreen .fullscreen-menu-toggle{list-style:none;display:flex;align-items:center;justify-content:center;width:96px;height:40px;border:1px solid var(--line);background:var(--paper);cursor:pointer;font-size:11px;user-select:none}.stage.fullscreen .fullscreen-menu-toggle::-webkit-details-marker{display:none}.stage.fullscreen .fullscreen-menu.open>.fullscreen-menu-toggle{background:var(--green)}.stage.fullscreen .fullscreen-menu-panel{position:absolute;right:0;bottom:calc(100% + 8px);width:min(390px,calc(100vw - 24px));max-height:calc(100dvh - 150px);overflow:auto;overscroll-behavior:contain;display:grid;gap:10px;padding:12px;border:1px solid var(--line);background:var(--paper);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(18px);transition:transform .22s ease,opacity .18s ease,visibility 0s linear .22s}.stage.fullscreen .fullscreen-menu-toggle{gap:8px}.stage.fullscreen .fullscreen-menu-toggle>span:first-child{transition:transform .22s ease}.stage.fullscreen .fullscreen-menu.open .fullscreen-menu-toggle>span:first-child{transform:rotate(180deg)}.stage.fullscreen .fullscreen-menu-panel button,.stage.fullscreen .fullscreen-menu-panel select,.stage.fullscreen .fullscreen-menu-panel input{min-height:36px}.stage.fullscreen .fullscreen-menu-panel>.click-swap{width:100%;justify-content:space-between}.stage.fullscreen .fullscreen-field,.stage.fullscreen .fullscreen-preferences label{display:grid;gap:4px;align-content:end}.stage.fullscreen .fullscreen-field select{width:100%}.stage.fullscreen .fullscreen-menu-panel .controllers{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0}.stage.fullscreen .fullscreen-preferences{display:grid;grid-template-columns:1fr 1fr;gap:8px}.stage.fullscreen .fullscreen-preferences>button{grid-column:1/-1}.stage.fullscreen .fullscreen-menu-actions,.stage.fullscreen .fullscreen-json .row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.stage.fullscreen .fullscreen-menu-panel details{border-top:1px solid var(--soft);padding-top:8px}.stage.fullscreen .fullscreen-menu-panel details>summary{cursor:pointer;font-weight:700}.stage.fullscreen .fullscreen-json textarea{width:100%;min-height:160px;margin-top:8px;font-size:9px}.stage.fullscreen .fullscreen-menu-panel input[type=range]{width:100%}@media(max-width:700px){.stage.fullscreen .fullscreen-menu{right:12px;bottom:96px}.stage.fullscreen .fullscreen-menu-panel{width:calc(100vw - 24px);max-height:calc(100vh - 142px)}.stage.fullscreen .fullscreen-preferences{grid-template-columns:1fr}}.view-options{display:flex;align-items:center;gap:4px}.view-option-toggle{white-space:nowrap;border-color:var(--soft);font-size:10px;padding-inline:9px}.view-option-toggle[aria-pressed=true]{background:var(--green);border-color:var(--line)}.interface-unit-strip{margin:0 0 12px;padding:0 0 10px;border-bottom:1px solid var(--soft);overflow-x:auto;scrollbar-width:none}.interface-unit-strip .fullscreen-units{display:flex;gap:5px;align-items:center;min-width:max-content}.interface-unit-strip .fullscreen-units button{display:flex;align-items:center;justify-content:center;width:42px;min-width:42px;height:42px;padding:0;border-color:var(--soft)}.interface-unit-strip .fullscreen-units button.selected{background:var(--green);border-color:var(--line)}.interface-unit-strip .fullscreen-units button.unavailable{opacity:.45;filter:grayscale(1)}.stage.fullscreen{--toolbar-height:52px;grid-template-rows:minmax(0,1fr) var(--toolbar-height)}.stage.fullscreen .help-line{display:none}.stage.fullscreen .stage-toolbar{position:relative;z-index:20;display:flex;flex-wrap:nowrap;overflow:visible;gap:4px;padding:4px}.stage.fullscreen .stage-toolbar>.camera{display:none}.stage.fullscreen .scene-fps{order:29;flex:0 0 61px;display:flex;flex-direction:column;justify-content:center;align-items:center;height:40px;font:10px/1.3 var(--mono);font-variant-numeric:tabular-nums;white-space:nowrap}.stage.fullscreen .scene-fps b{font-weight:400}.stage.fullscreen .scene-fps small{font-size:8px;color:var(--muted)}@media(max-width:700px){.stage.fullscreen .scene-fps{flex-basis:48px;font-size:9px}.stage.fullscreen .fullscreen-start{font-size:0!important}.stage.fullscreen .fullscreen-start:after{content:"Commencer";font-size:10px}.stage.fullscreen .fullscreen-start[data-action=quick]:after{content:"Rapide"}}.stage.fullscreen .stage-toolbar .fullscreen-options{display:flex;position:static;align-items:center;gap:4px;flex:1 1 auto;width:auto;min-width:0;z-index:24}.stage.fullscreen .fullscreen-control-row{padding:0;border:0;background:transparent}.stage.fullscreen .fullscreen-context-row,.stage.fullscreen .fullscreen-control-row{display:flex;align-items:center;gap:6px;min-width:0}.stage.fullscreen .fullscreen-context-row{position:relative;overflow:hidden;flex:0 1 112px}.stage.fullscreen .fullscreen-options:not(.fullscreen-setup)>.fullscreen-context-row{position:relative;right:auto;bottom:auto;z-index:31;padding:0 4px;border:0;background:transparent}.stage.fullscreen .fullscreen-options:not(.fullscreen-setup)>.fullscreen-context-row .fullscreen-character{max-width:120px;overflow:hidden;text-overflow:ellipsis}.stage.fullscreen .fullscreen-control-row{flex:1 1 auto;overflow:visible}.stage.fullscreen .fullscreen-context-turn{font-weight:700;white-space:nowrap}.stage.fullscreen .fullscreen-character{position:relative;display:flex;align-items:center;gap:6px;min-width:0;white-space:nowrap;overflow:visible}.stage.fullscreen .fullscreen-character>svg{flex:0 0 auto}.stage.fullscreen .fullscreen-character>span{display:flex;flex-direction:column;line-height:1.15;min-width:0}.stage.fullscreen .fullscreen-character>span b{overflow:hidden;text-overflow:ellipsis}.stage.fullscreen .fullscreen-character small{font-size:9px;line-height:1.2;white-space:nowrap}.stage.fullscreen .fullscreen-context-actions{display:flex;gap:4px;margin-left:auto}.stage.fullscreen .fullscreen-context-actions button{min-width:44px;height:44px;padding:0 8px;font-size:10px}.stage.fullscreen .fullscreen-unit-strip-anchor{position:relative;display:flex;align-items:center;flex:0 1 auto;min-width:0;overflow:visible}.deck-feedback{position:fixed;inset:12px;z-index:90;pointer-events:none;border:3px solid #387954;border-radius:14px;padding:14px;text-align:center;color:#fff;font:700 14px/1.4 Space Mono,monospace;text-shadow:0 1px 3px #000;animation:deck-confirm .9s ease both}.deck-feedback-invalid{border-color:#b94a38;color:#b94a38;animation:none}@keyframes deck-confirm{0%{opacity:0}20%,65%{opacity:1}to{opacity:0}}@media(prefers-reduced-motion:reduce){.deck-feedback{animation:none;border-width:2px}}.stage.fullscreen .fullscreen-instruction{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stage.fullscreen .fullscreen-menu{display:block;position:relative;right:auto;bottom:auto;z-index:25;order:30;flex:0 0 42px;width:42px;height:42px;margin-left:auto}.stage.fullscreen .fullscreen-menu-toggle{flex:0 0 42px;width:42px;min-width:42px;height:42px;min-height:42px;padding:0;gap:0}.stage.fullscreen .fullscreen-menu-toggle>span:last-child{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.stage.fullscreen .fullscreen-menu-panel{position:absolute;right:0;bottom:calc(100% + 14px);width:min(390px,calc(100vw - 24px));max-height:min(40dvh,420px)}.stage.fullscreen .fullscreen-menu.open .fullscreen-menu-panel{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0);transition-delay:0s}.stage.fullscreen .fullscreen-camera-controls{display:grid;grid-template-columns:44px 44px 1fr 1.6fr;gap:8px}.stage.fullscreen .fullscreen-menu-view-options .view-options{display:grid;grid-template-columns:1fr 1fr;gap:6px}.stage.fullscreen .fullscreen-menu-view-options .view-option-toggle{min-width:0;min-height:38px}.stage.fullscreen .fullscreen-quick-view{display:flex;align-items:center;gap:4px;flex:0 1 500px;min-width:0}.stage.fullscreen .fullscreen-quick-view select{min-width:0;max-width:170px;flex:1 1 140px}.stage.fullscreen .fullscreen-quick-view .view-options{display:flex;gap:4px;min-width:0}.stage.fullscreen .fullscreen-quick-view .view-option-toggle{flex:0 1 auto;min-width:104px;padding-inline:7px;font-size:9px}.stage.fullscreen .fullscreen-quick-recenter{flex:0 0 auto;padding-inline:10px}.stage.fullscreen .stage-toolbar button:not(.power-card),.stage.fullscreen .stage-toolbar select{height:42px;min-height:42px;max-height:42px}.stage.fullscreen .fullscreen-restart{display:flex;align-items:center;justify-content:center;flex:0 0 42px;width:42px;min-width:42px;padding:0;font-size:16px}.stage.fullscreen .fullscreen-outcome .fullscreen-restart{width:auto;min-width:92px;padding:0 10px;font-size:11px}@media(max-width:1000px){.stage.fullscreen .fullscreen-quick-view{display:none}}@media(max-width:700px){.stage.fullscreen{padding:env(safe-area-inset-top,6px) max(6px,env(safe-area-inset-right)) max(6px,env(safe-area-inset-bottom)) max(6px,env(safe-area-inset-left));--toolbar-height:46px;min-height:100svh;height:100dvh}.stage.fullscreen .stage-toolbar{display:flex;gap:3px;padding:2px}.stage.fullscreen .stage-toolbar .fullscreen-options{display:flex;position:static;flex:1 1 auto;min-width:0}.stage.fullscreen .fullscreen-context-row{display:none}.stage.fullscreen .fullscreen-options:not(.fullscreen-setup)>.fullscreen-context-row{display:none}.stage.fullscreen .fullscreen-control-row{display:flex;width:100%;gap:3px;overflow:visible;padding:0;border:0;background:transparent}.stage.fullscreen .fullscreen-menu{align-self:center;margin:0}.stage.fullscreen .fullscreen-quick-view,.stage.fullscreen .fullscreen-turn{display:none}.stage.fullscreen .fullscreen-context-turn{flex:0 0 auto;max-width:68px;overflow:hidden;text-overflow:ellipsis;font-size:9px}.stage.fullscreen .fullscreen-character{flex:1 1 auto;max-width:190px}.stage.fullscreen .fullscreen-character>small{display:none}.stage.fullscreen .fullscreen-context-actions{flex:0 0 auto}.stage.fullscreen .fullscreen-context-actions button{width:44px;min-width:44px;padding:0;font-size:0}.stage.fullscreen .fullscreen-context-actions button:before{font-size:15px;line-height:1}.stage.fullscreen .fullscreen-context-actions button[data-action=attack]:before{content:"◎"}.stage.fullscreen .fullscreen-context-actions button[data-action=grenade]:before{content:"●"}.stage.fullscreen .fullscreen-context-actions button[data-action=heal]:before{content:"+"}.stage.fullscreen .fullscreen-context-actions button[data-action=order]:before{content:"»"}.stage.fullscreen .fullscreen-context-actions button[data-action=watch]:before{content:"◇"}.stage.fullscreen .fullscreen-units{display:flex!important;gap:3px;flex:1 1 auto;min-width:0;overflow:hidden}.stage.fullscreen .fullscreen-units button{width:38px;min-width:38px;height:40px;padding:0}.stage.fullscreen .fullscreen-end-turn{flex:0 0 48px;min-width:48px;width:48px;padding:0;font-size:0!important;overflow:hidden}.stage.fullscreen .fullscreen-end-turn:before{content:"FIN";font-size:10px}.stage.fullscreen .fullscreen-restart{order:10}.stage.fullscreen .fullscreen-setup .fullscreen-context-turn{display:none}.stage.fullscreen .fullscreen-setup .fullscreen-context-row>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stage.fullscreen .fullscreen-setup .fullscreen-units{display:none!important}.stage.fullscreen .fullscreen-start{flex:1 1 auto;min-width:0}.stage.fullscreen .fullscreen-outcome .fullscreen-units{display:none!important}.stage.fullscreen .fullscreen-outcome .fullscreen-restart{flex:1 1 auto;width:auto;font-size:11px}.stage.fullscreen .fullscreen-menu-panel{left:auto;right:0;bottom:calc(100% + 8px);width:calc(100vw - 24px);max-height:48dvh}.stage.fullscreen .fullscreen-camera-controls{grid-template-columns:44px 44px 1fr}.stage.fullscreen .fullscreen-camera-controls button:last-child{grid-column:1/-1}}@media(max-width:370px){.stage.fullscreen .fullscreen-context-turn{display:none}.stage.fullscreen .fullscreen-units button:nth-child(n+4){display:none}}@media(prefers-reduced-motion:reduce){.stage.fullscreen .fullscreen-menu-panel,.stage.fullscreen .fullscreen-menu-toggle>span:first-child{transition:none!important}}.photo-lighting-controls{display:flex;align-items:center;gap:10px;border:1px solid var(--soft);padding:4px 8px;min-height:38px;background:var(--paper);color:var(--ink)}.photo-lighting-controls label{display:flex;align-items:center;gap:6px;white-space:nowrap;font-size:10px}.photo-lighting-controls label>span{display:flex;align-items:center;gap:3px}.stage:not(.fullscreen) .camera .photo-lighting-controls label>span{display:flex}.photo-lighting-controls output{min-width:32px;color:var(--muted);text-align:right}.photo-lighting-controls input[type=range]{width:76px;height:20px;min-height:20px;padding:0;accent-color:var(--green);cursor:pointer}.stage.fullscreen .photo-lighting-controls{height:40px;min-height:40px;flex:0 0 auto;order:20}@media(max-width:700px){.photo-lighting-controls{width:100%;justify-content:space-between;gap:6px}.photo-lighting-controls label{flex:1 1 0;justify-content:space-between}.photo-lighting-controls input[type=range]{width:min(22vw,76px)}}.photo-studio{position:relative;flex:0 0 auto;color:var(--ink)}.photo-studio>summary{display:flex;align-items:center;height:38px;padding:0 10px;border:1px solid var(--soft);background:var(--paper);font-size:10px;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;list-style:none;white-space:nowrap}.photo-studio>summary::-webkit-details-marker{display:none}.photo-studio[open]>summary{border-color:var(--ink)}.photo-studio-panel{position:absolute;right:0;bottom:calc(100% + 8px);z-index:120;width:min(590px,calc(100vw - 32px));max-height:min(72vh,720px);overflow:auto;box-sizing:border-box;padding:14px;border:1px solid var(--ink);background:var(--paper);box-shadow:0 10px 30px #0000002e;font-size:11px}.stage:not(.fullscreen) .camera .photo-studio-panel span,.stage:not(.fullscreen) .camera .photo-studio-panel small{display:flex}.photo-studio-heading,.photo-studio-lights-head,.photo-studio-switches{display:flex;align-items:center;justify-content:space-between;gap:12px}.photo-studio-heading{padding-bottom:10px;border-bottom:1px solid var(--soft);flex-wrap:wrap}.photo-studio-heading strong{font-size:12px;text-transform:uppercase;letter-spacing:.06em}.photo-studio-heading-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap;margin-left:auto}.photo-studio-heading button,.photo-studio-lights-head button,.photo-light-remove{min-height:30px;padding:5px 8px;font-size:10px}.photo-studio-close{border-color:var(--ink)}.photo-studio-switches{justify-content:flex-start;margin:10px 0;padding:9px 0;border-block:1px solid var(--soft)}.photo-studio-switches label,.photo-color{display:flex;align-items:center;gap:7px}.photo-studio-switches input{accent-color:var(--green)}.photo-studio-range{display:grid;gap:5px;min-width:0;padding:7px 0}.photo-studio-range>span{align-items:center;justify-content:space-between;gap:8px}.photo-studio-range output{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}.photo-studio-range input[type=range]{width:100%;height:18px;min-height:18px;padding:0;accent-color:var(--green)}.photo-studio-range-inputs{display:grid!important;grid-template-columns:minmax(0,1fr) 68px;align-items:center;gap:7px}.photo-studio-range-inputs input[type=number]{width:68px;min-width:0;height:28px;padding:3px 5px;font-size:10px;font-variant-numeric:tabular-nums}.photo-studio-dof{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.photo-studio-lights-head{margin:10px 0}.photo-studio-lights-head>span{align-items:center;gap:6px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.photo-studio-lights{display:grid;gap:9px}.photo-studio-lights>p{margin:0;padding:10px;border:1px dashed var(--soft);color:var(--muted)}.photo-light{margin:0;border:1px solid var(--soft)}.photo-light>summary{display:flex;align-items:center;justify-content:space-between;min-height:36px;padding:0 9px;cursor:pointer;font-weight:700;text-transform:uppercase;list-style:none}.photo-light>summary::-webkit-details-marker{display:none}.photo-light>summary small{color:var(--muted);font-weight:400}.photo-light-body{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px 12px;padding:9px;border-top:1px solid var(--soft)}.photo-light-enabled,.photo-light-type{display:flex;align-items:center;justify-content:space-between;gap:7px;padding:7px 0}.photo-light-type select{min-width:104px;height:30px}.photo-color{justify-content:space-between;padding:7px 0}.photo-color input{width:42px;height:26px;padding:1px;border:1px solid var(--soft);background:transparent}.photo-light-remove{align-self:end;justify-self:end}.stage.fullscreen .photo-studio{order:21}@media(max-width:700px){.photo-studio{margin-left:auto}.photo-studio-panel{position:fixed;left:12px;right:12px;bottom:12px;width:auto;max-height:calc(100svh - 24px)}.photo-studio-dof,.photo-light-body{grid-template-columns:1fr}.photo-studio-range-inputs{grid-template-columns:minmax(0,1fr) 64px}.photo-light-remove{justify-self:stretch}.stage.fullscreen .camera>.photo-lighting-controls{display:none}}html,body,#root{height:100%;overflow:hidden}#root{height:100vh;height:100dvh;display:flex;flex-direction:column}#root>header{flex:0 0 65px;padding:0 18px}#root>main{width:100%;max-width:none;flex:1;min-height:0;margin:0 auto;padding:16px 18px;display:flex;flex-direction:column;overflow:hidden}.game-top{flex:0 0 auto;padding-bottom:10px}#root>header .counter{margin-left:auto;margin-right:14px;text-align:right;line-height:1.1}#root>header .counter b{font-size:16px;font-weight:400}#root>header .counter small{display:block;font-size:8px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}#root>header .counter+button{margin-left:0}.game{position:relative;flex:1;min-height:0;padding:12px 0 0;overflow:hidden;grid-template-columns:minmax(0,1fr) 350px}.stage:not(.fullscreen){height:100%;min-height:0;display:grid;grid-template-rows:minmax(0,1fr) auto auto;overflow:hidden}.stage:not(.fullscreen) #board{height:100%;min-height:0;max-height:none;overflow:hidden}.stage:not(.fullscreen) .camera{flex-wrap:wrap}.stage:not(.fullscreen) .camera span{flex:1 1 100%;max-width:none}.stage:not(.fullscreen) .camera .weather-select{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;font-size:10px}.stage:not(.fullscreen) .camera .weather-select select{min-height:38px;padding:6px 8px}.stage:not(.fullscreen) .help-line{height:4.8em;min-height:4.8em;max-height:4.8em;overflow:auto}.game>aside{height:100%;min-height:0;min-width:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-gutter:stable;padding-right:8px;padding-bottom:20px}aside .details-grid{display:block;margin-top:18px}aside .terrain-key{grid-template-columns:1fr}aside .tablewrap{max-width:100%;overflow:auto}aside details{min-width:0}aside .special-guide{display:block}aside .special-guide:not([open])>div{display:none}aside .special-guide>summary{font-size:10px;letter-spacing:.08em;cursor:pointer;min-height:44px;align-content:center}aside .special-guide[open]>div{margin-top:12px}aside .accessible-grid{min-width:0}aside .accessible-grid button{min-width:0;padding:2px;font-size:8px;overflow-wrap:anywhere}aside footer{overflow-wrap:anywhere}@media(max-width:1000px){#root>main{padding:12px 16px}.game{grid-template-columns:minmax(0,1fr) 300px;gap:12px}.stage:not(.fullscreen) .camera span{display:none}}@media(max-width:700px){#root>header{flex-basis:55px}#root>main{padding:8px 12px}.game-top{padding-bottom:4px}.game{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1.15fr) minmax(0,1fr);gap:8px;padding-top:6px}.game>aside{padding:10px 6px 16px 0}.stage:not(.fullscreen) .camera{padding:4px 0;gap:4px}.stage:not(.fullscreen) .camera .model-toggle{order:0;flex:1;min-width:0;width:100px;font-size:9px;padding:4px}.stage:not(.fullscreen) .camera button{padding:4px 6px;font-size:9px;min-height:36px}.stage:not(.fullscreen) .help-line{font-size:9px;height:3.2em;min-height:3.2em;max-height:3.2em;padding-top:3px}}@media(max-height:500px)and (min-width:701px){#root>header{flex-basis:42px;height:42px}#root>main{padding:6px 12px}.game-top h2{font-size:18px}.game-top .eyebrow{display:none}.stage:not(.fullscreen) .camera span{display:none}.stage:not(.fullscreen) .help-line{height:3.2em;min-height:3.2em;max-height:3.2em}}.scenario-objective-markers{position:absolute;left:2px;top:2px;display:flex;gap:2px;pointer-events:none;z-index:2}.scenario-objective-marker{display:inline-flex;align-items:center;gap:1px;padding:1px 2px;border:1px solid currentColor;border-radius:3px;background:#f7f7f4d1;line-height:0;pointer-events:none}.scenario-objective-marker[data-team=A]{color:#bf492e}.scenario-objective-marker[data-team=B]{color:#265cb3}.scenario-objective-marker svg{display:block;flex:none}.scenario-objective-camp{font:700 8px/1 system-ui;letter-spacing:0}.scenario-objective-overlay,.game-objective-overlay{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:3}.scenario-objective-overlay .scenario-objective-marker,.game-objective-overlay .scenario-objective-marker{position:absolute;transform:translate(-50%,-50%)}.game>aside>.workspace-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin-bottom:14px;border:1px solid var(--line);padding:3px;isolation:isolate}.game>aside>.workspace-tabs button{min-height:38px;padding:7px 6px;font-size:11px;letter-spacing:0;white-space:normal;line-height:1.3;border:0;text-align:left}.game>aside>.workspace-tabs button[aria-selected=true]{background:var(--green)}.game>aside>.workspace-tabs button:focus-visible,.game>aside summary:focus-visible{outline:2px solid var(--ink);outline-offset:-2px}.game>aside .sidebar-reference-heading{margin-top:18px;padding-block:9px 4px;border-top:1px solid var(--line);font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.game>aside .editor-elements-toggle{margin-bottom:10px}.game>aside .sidebar-reference-heading+.details-grid{margin-top:0}.game>aside .sidebar-disclosure{display:block;margin:0 0 12px;padding:0;border:0;border-block:1px solid var(--soft);background:transparent}.game>aside .sidebar-disclosure>summary{display:flex;align-items:center;gap:8px;min-height:44px;padding:9px 0;cursor:pointer;font-size:11px;line-height:1.4;letter-spacing:0;text-transform:none;list-style:none}.game>aside .sidebar-disclosure>summary::-webkit-details-marker{display:none}.game>aside .sidebar-disclosure>summary:before{content:"+";flex:none;width:12px;color:var(--ink)}.game>aside .sidebar-disclosure[open]>summary:before{content:"−"}.game>aside .sidebar-disclosure>summary small{margin-left:auto;color:var(--muted);font-size:9px;white-space:nowrap}.game>aside .sidebar-disclosure-body{display:grid;gap:10px;padding:4px 0 12px;min-width:0}.game>aside .sidebar-disclosure-body>p{margin:0}.game>aside .sidebar-disclosure-body>button{width:100%}.game>aside .scenario-side{border:0;padding:0;gap:12px}.game>aside .sidebar-scenario-document{display:grid;gap:8px;padding-bottom:12px;border-bottom:1px solid var(--line)}.game>aside .sidebar-scenario-document .scenario-save .row{display:grid;grid-template-columns:1fr;gap:6px}.game>aside .sidebar-scenario-document .scenario-save .row button{width:100%}.game>aside .scenario-side .scenario-tools{display:flex;gap:6px}.game>aside .scenario-side .scenario-tools button{flex:1;min-width:0}.game>aside .scenario-ground-palette{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.game>aside .scenario-ground-palette button{font-size:10px;min-width:0;padding:7px}.game>aside .scenario-side button[aria-pressed=true]{background:var(--green)}.game>aside .scenario-library-group{margin-top:4px}.game>aside .scenario-library li{grid-template-columns:minmax(0,1fr) auto}.game>aside .scenario-library li>.scenario-open{grid-column:1/-1}.game>aside .texture-library{padding:10px;margin-bottom:12px}.game>aside .texture-intro{margin:8px 0 12px}.game>aside .texture-panel>.workshop-error,.game>aside .texture-panel>.workshop-message{padding:8px;border:1px solid currentColor;overflow-wrap:anywhere}.game>aside>.sidebar-account{display:none}@media(max-width:700px){.game>aside>.sidebar-account{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 12px;padding-bottom:10px;border-bottom:1px solid var(--soft);font-size:10px;color:var(--muted)}.game>aside>.sidebar-account button{min-height:42px;color:var(--ink)}.game>aside>.workspace-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.game>aside>.workspace-tabs button{min-height:42px}}.stage.fullscreen{--toolbar-height:54px;--dock-control:40px;--dock-gap:6px}.stage.fullscreen .stage-toolbar{gap:var(--dock-gap);padding:6px;align-items:center;font:400 11px/16px Space Mono,monospace}.stage.fullscreen .stage-toolbar .fullscreen-options,.stage.fullscreen .fullscreen-control-row,.stage.fullscreen .fullscreen-context-row,.stage.fullscreen .fullscreen-quick-view,.stage.fullscreen .fullscreen-quick-view .view-options,.stage.fullscreen .fullscreen-options .fullscreen-units{gap:var(--dock-gap);align-items:center;flex-wrap:nowrap}.stage.fullscreen .stage-toolbar .fullscreen-options{flex:1 1 auto}.stage.fullscreen .fullscreen-context-row{flex:0 1 150px;height:var(--dock-control);white-space:nowrap}.stage.fullscreen .fullscreen-context-row span,.stage.fullscreen .fullscreen-context-row strong,.stage.fullscreen .fullscreen-character b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:inherit}.stage.fullscreen .fullscreen-options:not(.fullscreen-setup)>.fullscreen-context-row{padding:0}.stage.fullscreen .fullscreen-control-row{flex:0 0 auto}.stage.fullscreen .stage-toolbar button:not(.power-card),.stage.fullscreen .stage-toolbar select{height:var(--dock-control);min-height:var(--dock-control);max-height:var(--dock-control);font:400 11px/16px Space Mono,monospace;letter-spacing:0;text-transform:none}.stage.fullscreen .fullscreen-dock-swap{height:var(--dock-control);min-height:var(--dock-control);margin:0;padding:0 8px;box-sizing:border-box}.stage.fullscreen .scene-fps{flex:0 0 76px;flex-direction:row;height:var(--dock-control);font:inherit;font-variant-numeric:tabular-nums}.stage.fullscreen .fullscreen-dock-swap>span{font:inherit}.stage.fullscreen .scene-fps b{font:inherit}.stage.fullscreen .fullscreen-quick-view{flex:0 0 auto}.stage.fullscreen .fullscreen-quick-view select{flex:0 0 168px;width:168px;max-width:168px}.stage.fullscreen .fullscreen-quick-view .view-option-toggle{min-width:0;padding-inline:10px}.stage.fullscreen .fullscreen-menu{height:var(--dock-control);width:72px;flex:0 0 72px;margin-left:0}.stage.fullscreen .fullscreen-menu-toggle{width:72px;min-width:72px;gap:6px;padding:0 10px}.stage.fullscreen .fullscreen-menu-toggle>span:last-child{position:static;width:auto;height:auto;clip-path:none;overflow:visible}.stage.fullscreen .fullscreen-restart{width:40px;min-width:40px;flex-basis:40px}@media(min-width:701px)and (max-width:1439px){.stage.fullscreen .fullscreen-quick-view .view-options,.stage.fullscreen .fullscreen-quick-recenter{display:none}}@media(min-width:1001px){.stage.fullscreen .fullscreen-quick-view{display:flex}}@media(max-width:700px){.stage.fullscreen{--toolbar-height:46px;--dock-gap:3px}.stage.fullscreen .stage-toolbar{padding:2px}.stage.fullscreen .fullscreen-control-row{flex:1 1 auto}.stage.fullscreen .scene-fps{flex-basis:60px}.stage.fullscreen .fullscreen-menu{width:40px;flex-basis:40px}.stage.fullscreen .fullscreen-menu-toggle{width:40px;min-width:40px;padding:0}.stage.fullscreen .fullscreen-menu-toggle>span:first-child{display:none}.stage.fullscreen .fullscreen-menu-toggle>span:last-child{font-size:10px}.stage.fullscreen .fullscreen-dock-swap{display:none}.stage.fullscreen .fullscreen-unit-strip-anchor{flex:1 1 auto}.stage.fullscreen .fullscreen-options .fullscreen-units{flex:1 1 auto;min-width:0;max-width:100%;overflow-x:auto;scrollbar-width:none}.stage.fullscreen .fullscreen-units button{flex:0 0 38px}.stage.fullscreen .fullscreen-units button:nth-child(n+4){display:flex}}.scenario-ambience{display:grid;gap:10px}.scenario-background{display:flex;align-items:center;gap:8px}.scenario-background input[type=color]{width:44px;min-width:44px;height:32px;padding:2px;cursor:pointer}.scenario-background button{margin-left:auto}.stage.fullscreen .fullscreen-quick-view .weather-select{display:inline-flex;align-items:center;gap:5px;flex:0 0 auto;font:inherit;white-space:nowrap}.stage.fullscreen .fullscreen-quick-view .weather-select select{font:inherit;flex:0 0 84px;width:84px;min-width:84px;max-width:84px}.power-deck-overlay{position:absolute;inset:0;pointer-events:none;z-index:18}.stage .sorcerers-hand{position:absolute;left:var(--hand-center,50%);bottom:var(--hand-bottom,24px);width:0;height:0;z-index:8;pointer-events:none;--card-width:132px;--card-accent:#66ff5d}.stage .sorcerers-hand .power-card{position:absolute;left:0;bottom:0;width:var(--card-width);min-width:0;height:auto;min-height:0;max-height:none;margin:0 0 0 calc(var(--card-width) / -2);padding:0;border:0;border-radius:0;background:transparent;color:#111110;white-space:normal;text-align:center;overflow:visible;cursor:pointer;pointer-events:auto;transform:translate(var(--x),260px);opacity:0;transition:transform .45s cubic-bezier(.2,.9,.25,1.15),opacity .3s;transition-delay:var(--delay);user-select:none;-webkit-touch-callout:none;touch-action:manipulation;box-shadow:none}.stage .sorcerers-hand .power-card-content{position:relative;display:flex;flex-direction:column;width:100%;height:auto;aspect-ratio:5 / 7;min-height:0;box-sizing:border-box;padding:0 0 10px;border:1.5px solid #111110;border-radius:10px;background:#fbfaf5;overflow:clip;overscroll-behavior:contain;color:#111110;box-shadow:0 14px 30px #0007,0 0 0 1px #ffffff40 inset;transform:rotate(var(--r));transform-origin:50% 100%;transition:transform .45s cubic-bezier(.2,.9,.25,1.15),box-shadow .2s;pointer-events:auto;scrollbar-width:thin}.stage .sorcerers-hand .hand-fan{position:absolute;left:calc(var(--fan-half,0px) * -1);bottom:-6px;width:calc(var(--fan-half,0px) * 2);height:var(--fan-height,0px);pointer-events:none;z-index:-1}.stage .sorcerers-hand[data-power-cards=open][data-targeting=false] .hand-fan{pointer-events:auto}.stage .sorcerers-hand .power-card.in{transform:translate(var(--x),calc(-14px + var(--y)));opacity:1}.stage .sorcerers-hand .power-card-band{display:block;flex:none;height:8px;background:var(--card-accent)}.stage .sorcerers-hand .power-card-picto{display:block;width:20px;height:20px;flex:none;margin:6px auto 3px;color:#111110}.stage .sorcerers-hand .power-card-picto svg{width:100%;height:100%;stroke-width:1.6}.stage .sorcerers-hand .power-card-pips{position:absolute;top:15px;left:8px;display:flex;gap:3px}.stage .sorcerers-hand .power-card-pips i{display:block;width:10px;height:10px;border-radius:50%;background:#ffd23a;border:1.5px solid #111110}.stage .sorcerers-hand .power-card b{display:block;flex:none;font:700 11px/1.1 Space Mono,monospace;padding:0 8px;text-wrap:balance;overflow-wrap:anywhere;color:#111110}.stage .sorcerers-hand .power-card-cost{display:block;flex:none;font:400 8px/1.3 Space Mono,monospace;margin:4px 8px 0;padding:3px 0;border-top:1px solid #1111101f;color:#444}.stage .sorcerers-hand .power-card-description{display:block;touch-action:none;flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;font:400 8px/1.4 Space Mono,monospace;color:#333;padding:4px 9px 0;text-align:left;white-space:normal;overflow-wrap:anywhere}.stage .sorcerers-hand .power-card.unavailable .power-card-content{background:#e3e2dd;filter:grayscale(1);border-style:dashed}.stage .sorcerers-hand .power-card.unavailable{cursor:not-allowed}@media(hover:hover){.stage .sorcerers-hand[data-power-cards=open] .power-card.in:not(.chosen):not(.gone):hover{z-index:5}.stage .sorcerers-hand[data-power-cards=open] .power-card.in:not(.chosen):not(.gone):hover .power-card-content{transform:translate(var(--hover-x,0px),var(--hover-y,-82px)) rotate(0) scale(var(--hover-scale,1.62));box-shadow:0 24px 50px #0009,0 0 0 2px var(--card-accent)}}.stage .sorcerers-hand .power-card:focus-visible{outline:0;z-index:5}.stage .sorcerers-hand .power-card.in:not(.chosen):not(.gone):focus-visible .power-card-content{transform:translate(var(--hover-x,0px),var(--hover-y,-82px)) rotate(0) scale(var(--hover-scale,1.62));box-shadow:0 24px 50px #0009,0 0 0 3px var(--card-accent)}.stage .sorcerers-hand .power-card.chosen{transform:translateY(var(--chosen-y,-200px));opacity:1;z-index:6;transition-delay:0s}.stage .sorcerers-hand .power-card.chosen .power-card-content{transform:scale(var(--chosen-scale,1.25));box-shadow:0 0 0 3px var(--card-accent),0 24px 60px #0009;pointer-events:auto}.stage .sorcerers-hand .power-card.gone,.stage .sorcerers-hand[data-power-cards=stacked] .power-card{transform:translate(var(--x),300px);opacity:0;pointer-events:none;transition-delay:0s}.stage .sorcerers-hand[data-power-cards=stacked]{visibility:hidden}.stage .sorcerers-hand[data-power-cards=leaving] .power-card{pointer-events:none;animation:sorcerers-card-out .45s ease-in both}.stage .sorcerers-hand[data-power-cards=leaving] .power-card.cast{animation:sorcerers-card-cast .45s ease-in both}.stage .sorcerers-hand[data-power-cards=leaving] .power-card-content{pointer-events:none}@keyframes sorcerers-card-out{0%{transform:translate(var(--x),calc(-14px + var(--y)));opacity:1}to{transform:translate(var(--x),300px);opacity:0}}@keyframes sorcerers-card-cast{0%{transform:translateY(var(--chosen-y,-200px)) scale(1);opacity:1}to{transform:translateY(calc(var(--chosen-y,-200px) - 60px)) scale(.48);opacity:0}}.stage .power-deck-counts{position:absolute;bottom:-14px;left:50%;transform:translate(-50%);width:max-content;max-width:calc(100vw - 32px);font:400 9px/1.4 Space Mono,monospace;padding:4px 6px;color:#111110;background:#fbfaf5;border:1px solid #111110;pointer-events:none;text-align:center}.stage .power-target-prompt{position:absolute;left:50%;bottom:12px;transform:translate(-50%);display:grid;gap:8px;justify-items:center;width:max-content;max-width:calc(100vw - 32px);font:400 11px/1.4 Space Mono,monospace;color:#fbfaf5;background:#111110;padding:8px;pointer-events:auto;text-align:center}.stage .power-target-prompt button,.stage .power-card-pages button{font:400 11px/1.4 Space Mono,monospace;min-height:44px;border:1px solid #111110;border-radius:0;color:#111110;background:#fbfaf5;padding:8px 12px}.stage .power-card-pages{position:absolute;left:50%;bottom:-60px;transform:translate(-50%);display:flex;align-items:center;gap:10px;pointer-events:auto;background:#fbfaf5;color:#111110;font:400 11px/1.4 Space Mono,monospace;border:1px solid #111110}.stage .power-card-pages button{width:44px}.stage .sorcerers-hand[data-hand-layout=pages]{--card-width:156px}.stage .sorcerers-hand[data-hand-layout=pages] .power-card-description{font-size:11px}.stage .sorcerers-hand[data-hand-layout=pages] .power-card-picto{width:38px;height:38px;margin:8px auto 4px}.stage .sorcerers-hand[data-hand-layout=pages] .power-card-cost{font-size:10px}@media(hover:none){.stage .sorcerers-hand .power-card-content{pointer-events:auto;touch-action:pan-y}.stage .sorcerers-hand .power-card.gone .power-card-content,.stage .sorcerers-hand[data-power-cards=stacked] .power-card-content{pointer-events:none}}.stage .deck-resolution-status{position:absolute;left:var(--hand-center,50%);bottom:var(--hand-bottom,24px);transform:translate(-50%,32px);max-width:min(620px,calc(100vw - 32px));width:max-content;padding:7px 10px;border:1px solid #111110;background:#fbfaf5;color:#111110;font:400 11px/1.5 Space Mono,monospace;text-align:center;pointer-events:none;z-index:10}.stage .power-card-new{position:absolute;top:0;left:0;right:0;font:700 7px/9px Space Mono,monospace;color:#111110;white-space:nowrap}.stage .sorcerers-hand[data-power-cards=resolving]{animation:deck-receipt-fade 1.65s ease both}.stage .sorcerers-hand[data-power-cards=resolving] .power-card{pointer-events:none;transform:translate(var(--x),calc(-14px + var(--y)));opacity:1;transition:none}.stage .sorcerers-hand[data-power-cards=resolving] .power-card-content{pointer-events:none;filter:none;background:#fbfaf5;border-style:solid}.stage .sorcerers-hand[data-power-cards=resolving] .power-card[data-card-new],.stage .sorcerers-hand[data-power-cards=open] .power-card[data-card-new]{animation:deck-draw-right .55s cubic-bezier(.2,.9,.25,1.15) both;animation-delay:calc(.15s + var(--delay))}.stage .sorcerers-hand[data-power-cards=leaving] .power-card[data-card-destination=discard]{animation-name:deck-discard-left}.stage .sorcerers-hand[data-power-cards=leaving] .power-card[data-card-destination=exile]{animation-name:deck-exile-up}.stage .sorcerers-hand[data-power-cards=resolving][data-hand-layout=pages]{--card-width:90px}.stage .sorcerers-hand[data-power-cards=resolving][data-hand-layout=pages] .power-card-picto{width:24px;height:24px;margin:5px auto 3px}.stage .sorcerers-hand[data-power-cards=resolving][data-hand-layout=pages] .power-card b{font-size:10px}.stage .sorcerers-hand[data-power-cards=resolving] .power-card-cost{visibility:hidden;height:0;margin:0;padding:0}@keyframes deck-draw-right{0%{transform:translate(calc(var(--x) + 160px),30px);opacity:0}to{transform:translate(var(--x),calc(-14px + var(--y)));opacity:1}}@keyframes deck-receipt-fade{0%{opacity:0}20%,75%{opacity:1}to{opacity:0}}@keyframes deck-discard-left{0%{transform:translate(var(--x),-14px);opacity:1}to{transform:translate(calc(var(--x) - 180px),160px) rotate(-24deg) scale(.55);opacity:0}}@keyframes deck-exile-up{0%{transform:translateY(var(--chosen-y,-200px));opacity:1}to{transform:translateY(calc(var(--chosen-y,-200px) - 140px)) scale(.15);opacity:0}}@media(prefers-reduced-motion:reduce){.stage .sorcerers-hand[data-power-cards=resolving]{animation:none}}@media(prefers-reduced-motion:reduce){.stage .sorcerers-hand .power-card,.stage .sorcerers-hand .power-card-content{animation:none!important;transition:none!important}.stage .sorcerers-hand[data-power-cards=leaving]{visibility:hidden}}.character-card-overlay{position:absolute;inset:0;pointer-events:none;z-index:8;display:flex;align-items:flex-end;padding:0 0 40px 12px}.character-card{display:flex;flex-direction:column;width:99px;aspect-ratio:5/7;box-sizing:border-box;padding:0 0 10px;background:#fbfaf5;border:1.5px solid #111110;border-radius:10px;box-shadow:0 14px 30px #0007,0 0 0 1px #ffffff40 inset;color:#111110;overflow:clip;pointer-events:auto;transition:transform .2s ease;transform-origin:left bottom;--card-accent:#66ff5d}.character-card-band{display:block;flex:none;height:6px;background:var(--card-accent)}.character-card-art{display:flex;justify-content:center;align-items:center;flex:none;margin:8px auto 3px;color:#111110}.character-card-img{display:block;width:40px;height:40px;object-fit:contain}.character-card-name{margin:0;flex:none;font:700 11px/1.1 Space Mono,monospace;padding:0 6px;text-align:center;text-transform:uppercase;letter-spacing:.05em;color:#111110;overflow-wrap:anywhere;text-wrap:balance}.character-card-stats{margin:0;flex:none;display:flex;flex-direction:column;gap:1px;padding:5px 8px 0;border-top:1px solid #1111101f}.character-card-row{display:flex;justify-content:space-between;align-items:baseline;gap:6px;font:400 9px/1.4 Space Mono,monospace}.character-card-row dt{margin:0;color:#666;text-transform:uppercase;letter-spacing:.05em;font-size:7px}.character-card-row dd{margin:0;font-weight:700}@media(hover:hover){.character-card:hover{transform:scale(1.3)}}@media(max-width:700px){.character-card-overlay{padding-left:8px}.character-card{width:88px}}.app-tabs{display:flex;gap:18px;flex:0 0 auto;padding:0;margin:0 0 12px;border-bottom:1px solid var(--soft);background:transparent}.app-tabs button{flex:0 0 auto;min-height:0;border:0;border-radius:0;background:transparent;color:var(--muted);font:inherit;font-size:11px;letter-spacing:.05em;text-transform:uppercase;padding:2px 0 7px;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}.app-tabs button:hover:not(:disabled){color:var(--ink)}.app-tabs button[aria-selected=true]{color:var(--ink);border-bottom-color:var(--green);font-weight:700}.app-tabs button:disabled{opacity:.35;cursor:not-allowed}.app-tabs button:focus-visible{outline:2px solid var(--ink);outline-offset:2px}@media(max-width:700px){.app-tabs{gap:12px}.app-tabs button{font-size:10px}}.interlude-player{position:fixed;inset:0;z-index:65;display:flex;flex-direction:column;background:var(--paper);color:var(--ink);padding:20px}.interlude-body{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;overflow:auto}.interlude-body video,.interlude-body img{max-width:100%;max-height:70vh;border:1.5px solid var(--ink);background:#fff}.interlude-body figure{margin:0;max-width:min(720px,100%);display:flex;flex-direction:column;gap:12px;text-align:center}.interlude-body figcaption{font:400 13px/1.6 Space Mono,monospace;white-space:pre-wrap}.interlude-text{max-width:min(640px,100%);font:400 13px/1.7 Space Mono,monospace;white-space:pre-wrap;text-align:center}.interlude-actions{flex:0 0 auto;display:flex;justify-content:center;padding-top:12px}.interlude-actions button{min-width:160px;font-weight:700}.campaign-complete{position:fixed;inset:0;z-index:65;display:grid;place-items:center;background:var(--paper);padding:20px}.campaign-complete>div{text-align:center;border:1.5px solid var(--ink);padding:28px;background:#fff;box-shadow:8px 8px #00000026}.campaign-complete h2{margin:0 0 8px;font-size:20px;text-transform:uppercase;letter-spacing:.04em}.campaign-complete p{margin:0 0 16px;color:var(--muted)}.campaign-complete button{font-weight:700}
