.demo-ending-overlay{background:#0005;align-items:center}.dialogue-inner.demo-ending{color:#eee;max-width:600px;image-rendering:pixelated;background:#000062;border:9px solid #0000;border-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAARAAAABQCAYAAADRJSrNAAACKUlEQVR4nO3ZzY3aUBSG4QOiArqYLTUMjaQHRA0WPaQRpga26cItEF3bgBXNaJIvUhw0z7Pyj4zu6tW5l1VVXWvSd1W1r9rubk8ARv2lqs5V2+P0oKo29xc1hqOf3QPcTfGY92IIyHhzquqmuhwP4zTSPnh7fA98Lf3rtCsZpo6pEW3QuByG96u+q+vwsjtVHX8svV7gf9e93IeMTatL27bM9zUAHzo+zktX7RC17WnGg9NvH38EMPhet2asxwdTUQA+MW/FPSDtwBTgU+d3AuLfFuB3zFvxmEAA/pCAADEBAWICAsQEBIgJCBATECAmIEBMQICYgAAxAQFiAgLEBASICQgQExAgJiBATECAmIAAMQEBYgICxAQEiAkIEBMQICYgQExAgJiAADEBAWICAsQEBIgJCBATECAmIEBMQICYgAAxAQFiAgLEBASICQgQExAgJiBATECAmIAAMQEBYgICxAQEiAkIEBMQICYgQExAgJiAADEBAQQE+PdMIEBMQICYgAAxAQFiAgLEBASICQgQExAgJiBATECAmIAAfx+Q/jX/EeDrmLfiMYHsl1kM8GT27wRke1xoMcBTmbdi3V+q6twuTwsuCXgep6EZrR3rdjEUpVt6UcBT6KZmnKs27aKVZLtrL16qhvHkUH0LSovL29KrBRY9MN3fti2ncdCYNWNVVddhG9P2Nrsaw+FAFfjVtFuZ92Jzu2hu8bjdA9SkhaOf9aI9+wnf7lnPrax3jwAAAABJRU5ErkJggg==) 4 fill/9px;gap:14px;padding:24px 28px;line-height:1.7;display:grid;box-shadow:0 12px 48px #0008}.demo-ending h1{color:#eece00;font-size:28px;line-height:1.2}.demo-ending small{color:#bfc4ee}.demo-ending-actions{flex-wrap:wrap;justify-content:flex-end;gap:12px;display:flex}.demo-ending-actions :is(button,a){color:#eee;background:#000038;border:1px solid #eece00;border-radius:0;min-height:42px;margin:0}.demo-ending-actions button.primary{color:#eece00;background:#26266e}.demo-ending-actions :is(button,a):hover{background:#343478}@media (height<=500px){.dialogue-inner.demo-ending{gap:6px;max-width:560px;padding:12px 18px;font-size:12px}.demo-ending h1{font-size:22px}.demo-ending-actions :is(button,a){min-height:36px;padding:6px 12px}}.demo-ending-actions a{box-sizing:border-box;justify-content:center;align-items:center;padding:6px 12px;text-decoration:none;display:inline-flex}.game-settings{width:min(650px,calc(100vw - 24px - env(safe-area-inset-left) - env(safe-area-inset-right)));max-height:calc(100dvh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom));box-sizing:border-box;color:#fff;border:12px solid #0000;border-image:var(--settings-frame) 8 fill stretch;overscroll-behavior:contain;background:#000062;padding:24px 30px;font-family:system-ui,sans-serif;overflow:auto;box-shadow:0 16px 70px #000a}.game-settings::backdrop{background:#020611aa}.game-settings h2{color:#ffdc72;letter-spacing:5px;margin:0 0 25px;font-size:26px;font-weight:500}.game-settings fieldset{border:0;min-width:0;margin:20px 0 0;padding:0 0 0 134px;position:relative}.game-settings legend{padding:0;font-size:21px;position:absolute;top:10px;left:0}.game-settings .settings-options{gap:5px;display:flex}.game-settings .settings-options label{cursor:pointer;flex:1;min-width:0;position:relative}.game-settings input{opacity:0;width:1px;height:1px;position:absolute}.game-settings .settings-options span{box-sizing:border-box;color:#e0def4;white-space:nowrap;background:#10105b;border:1px solid #7775b8;justify-content:center;align-items:center;min-height:44px;padding:7px 8px;font-size:18px;display:flex}.game-settings input:checked+span{color:#ffe36c;background:#252376;border-color:#f8d877;box-shadow:inset 0 -3px #dfb957}.game-settings input:focus-visible+span,.game-settings button:focus-visible{outline-offset:2px;outline:2px solid #ffe36c}.game-settings p{color:#b8bbdd;margin:7px 0 0;font-size:13px}.game-settings footer{border-top:1px solid #746b9c;justify-content:space-between;align-items:center;margin-top:28px;padding-top:16px;display:flex}.game-settings footer span{color:#b8bbdd;font-size:14px}.game-settings button{color:#e0def4;touch-action:manipulation;background:#10105b;border:1px solid #7775b8;border-radius:0;min-width:100px;min-height:44px;padding:7px 14px;font-size:18px}@media (height<=460px){.game-settings{padding:14px 20px}.game-settings h2{margin-bottom:12px;font-size:22px}.game-settings fieldset{margin-top:12px}.game-settings footer{margin-top:16px;padding-top:12px}}@media (width<=520px){.game-settings{padding:16px}.game-settings fieldset{padding-left:0}.game-settings legend{margin-bottom:8px;position:static}.game-settings h2{font-size:22px}}.player-settings-button{top:max(6px,env(safe-area-inset-top));right:max(8px,env(safe-area-inset-right));z-index:12;color:#eee;background:#101b2eed;border:1px solid #cbb880;min-width:50px;min-height:44px;padding:4px 10px;font-size:14px;position:absolute}:is(.title-mounted .player-settings-button,.orientation-blocked .player-settings-button,.display-root:has(#battle-container,.promotion-screen,.native-screen,.route-screen) .player-settings-button),.player-keys{display:none}.show-player-keys .player-keys{background:#101b2eee;flex:none;justify-content:center;display:flex}.player-keys .display-directions{display:flex}.player-keys .display-help{display:none}.player-keys .display-touch button{min-width:44px;min-height:44px}:is(.orientation-blocked .player-keys,.title-mounted .player-keys,.display-root:has(#battle-container,.promotion-screen,.native-screen,.route-screen) .player-keys){display:none}.player-shell .orientation-prompt{z-index:70;inset:0}.player-settings details{border-top:1px solid #746b9c;margin-top:16px}.player-settings summary{cursor:pointer;color:#ffdc72;align-content:center;min-height:44px;padding:8px 2px;font-weight:600;display:list-item}.player-settings .player-options{gap:8px;padding:4px 6px 16px;display:grid}.player-settings .player-options label{align-items:center;gap:10px;min-height:36px;display:flex}.player-settings .player-options input[type=checkbox]{opacity:1;accent-color:#d6b976;width:18px;height:18px;position:static}.player-settings .player-options select{font:inherit;max-width:100%;padding:4px}.player-settings .player-options p{color:#eee;margin:0}.player-buttons,.player-settings .zoom-buttons{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.player-settings .zoom-buttons button{min-width:48px}.player-settings .zoom-buttons .active{border-color:#ffdc72}.player-settings .map-status{color:#b8bbdd;font-size:13px}.player-settings [data-menu-notice]:empty{display:none}.player-settings [data-menu-notice]{color:#ffdc72;margin:8px 0}.player-settings footer{gap:8px;margin-top:20px;padding-block:12px 0}.player-settings footer>span{margin-right:auto}.player-settings .settings-options input{z-index:1;cursor:pointer;width:100%;height:100%;margin:0;inset:0}.player-settings .scene-clarity{gap:6px;margin-bottom:10px;display:grid}.player-settings .settings-toggles span:before{content:"";box-sizing:border-box;border:1px solid;width:.65em;height:.65em;margin-right:.55em}.player-settings .settings-toggles input:checked+span:before{background:#ffe36c;box-shadow:inset 0 0 0 2px #252376}.player-feedback,.record-file-actions button,.map-load-error button,.scenario-cancel{box-sizing:border-box;color:#e0def4;min-height:44px;font:inherit;cursor:pointer;background:#10105b;border:1px solid #7775b8;justify-content:center;align-items:center;gap:.7em;padding:7px 14px;text-decoration:none;display:inline-flex}.player-feedback{width:100%;font-size:18px}.player-feedback:hover,.record-file-actions button:hover,.map-load-error button:hover{color:#ffe36c;border-color:#dfb957}.player-feedback:focus-visible,.record-file-actions button:focus-visible,.map-load-error button:focus-visible{outline-offset:2px;outline:2px solid #ffe36c}.record-file-actions{right:max(8px,env(safe-area-inset-right));bottom:max(8px,env(safe-area-inset-bottom));gap:6px;display:flex;position:absolute}.map-load-error{z-index:45;pointer-events:auto;background:#080b16d9;place-items:center;display:grid;position:absolute;inset:0}.map-load-error>div{color:#fff;text-align:center;background:#080856;border:1px solid #dfb957;padding:18px 24px}.map-load-error p{margin:0 0 12px}@media (width<=520px){.player-settings footer{flex-wrap:wrap}.player-settings footer>span{flex:1 0 100%}}.scenario-download{color:#fff;background:0 0;border:0;min-width:min(90vw,360px);padding:0}.scenario-download::backdrop{background:#080b16ca}.scenario-download .map-load-error{background:0 0;position:static}.scenario-download[open]{background:#080856;flex-direction:column;display:flex}.scenario-download .scenario-cancel{order:1;align-self:center;min-width:90px;margin:0 0 12px}.scenario-download .map-load-error>div{box-sizing:border-box;border:0;width:100%}.scenario-download[open]{border:1px solid #dfb957}.preparation-mounted{background:#202020;flex-direction:column;height:100dvh;display:flex;overflow:hidden}.preparation-mounted .topbar{flex-wrap:wrap;flex:none;gap:12px;height:auto;min-height:42px;padding:5px 12px}.preparation-mounted .brand{flex-direction:row;align-items:center;gap:10px}.preparation-mounted .brand strong{letter-spacing:1px;font-size:14px}.preparation-mounted .roman{letter-spacing:1px;font-size:8px}.preparation-mounted .chapter{display:none}.preparation-mounted .topbar nav{flex-wrap:wrap;gap:5px;margin-left:auto}.preparation-mounted .topbar button,.preparation-mounted .file-button,.preparation-mounted .lab-link,.preparation-mounted .visual-settings summary{padding:4px 8px;font-size:11px}.preparation-mounted .visual-settings-panel{top:calc(100% + 6px)}.preparation-mounted #screen{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.preparation-surface{touch-action:none;outline:none;flex:1;place-items:center;min-height:0;display:grid;position:relative;overflow:hidden}.preparation-frame{image-rendering:pixelated;flex:none;line-height:0;position:relative}.preparation-frame canvas{image-rendering:pixelated;display:block;position:static}.preparation-hit-layer{pointer-events:none;position:absolute;inset:0}.preparation-hit-layer button{pointer-events:auto;box-shadow:none;touch-action:none;opacity:1;border:0;border-radius:0;margin:0;padding:0;transition:none;position:absolute;background:0 0!important}.preparation-hit-layer button:hover{background:0 0;transform:none}.preparation-hit-layer button:focus-visible{outline-offset:0;outline:1px solid #eee}.preparation-status{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.preparation-map{pointer-events:none;visibility:hidden;position:absolute;inset:0}.preparation-map canvas{display:block;position:absolute;inset:0}.preparation-on-map .preparation-map{visibility:visible;pointer-events:auto}.preparation-on-map .preparation-map canvas{touch-action:none;cursor:grab}.preparation-on-map .preparation-map canvas:active{cursor:grabbing}.preparation-on-map .preparation-frame{z-index:1;pointer-events:none}.preparation-on-map .preparation-frame canvas{pointer-events:none}.preparation-window-hit{pointer-events:auto;touch-action:none;position:absolute}.display-root.preparation-mounted .preparation-on-map{background:0 0}.preparation-touch-controls{background:#172125;flex:none;justify-content:center;align-items:center;gap:6px;padding:6px;display:flex}.preparation-touch-controls button{min-width:36px;padding:5px 12px;font-size:12px}.preparation-touch-controls span{color:#b7bcb9;margin-right:8px;font-size:11px}.preparation-touch-directions{gap:4px;display:none}@media (pointer:coarse){.preparation-touch-directions{display:flex}.preparation-touch-controls span{display:none}.preparation-touch-controls{gap:4px;padding:5px 4px}.preparation-touch-controls button{padding:6px 9px}}@media (width<=520px){.preparation-mounted .roman,.preparation-mounted .lab-link{display:none}.preparation-mounted .topbar{gap:5px;padding:4px 6px}.preparation-mounted .brand strong{font-size:12px}.preparation-touch-controls span{display:none}.preparation-mounted .visual-settings-panel{position:fixed;top:70px;right:8px}}.preparation-hd-face{object-fit:cover;pointer-events:none;image-rendering:auto;display:block;position:absolute}.preparation-hd-face[hidden]{display:none}.preparation-hd-face.dim{filter:brightness(.5)}.preparation-map-loading .preparation-frame{visibility:hidden;pointer-events:none}.preparation-map-loading .preparation-status{clip-path:none;color:#eee;width:auto;height:auto;padding:12px}.launch-notice{z-index:1150;padding:max(20px, env(safe-area-inset-top)) max(28px, env(safe-area-inset-right)) max(20px, env(safe-area-inset-bottom)) max(28px, env(safe-area-inset-left));color:#e6e2d9;-webkit-user-select:none;user-select:none;background:#000;place-items:center;font:400 clamp(16px,1.6vw,22px)/1.85 system-ui,Microsoft YaHei,sans-serif;display:grid;position:fixed;inset:0}.launch-notice p{text-wrap:pretty;width:min(100%,32em);margin:0}.launch-notice strong{color:#e5c783;margin-bottom:.6em;font-weight:600;display:block}.title-intro{z-index:1000;opacity:1;touch-action:none;-webkit-user-select:none;user-select:none;background:#000;justify-content:center;align-items:center;transition:opacity .9s ease-in;display:flex;position:fixed;inset:0;overflow:hidden}.title-intro.fast{transition-duration:.35s}.title-intro.leaving{opacity:0}.title-intro video{aspect-ratio:7/4;object-fit:contain;pointer-events:none;background:#000;max-width:100%;height:100%;display:block}@media (aspect-ratio>=16/9){.title-intro video{-webkit-mask-image:linear-gradient(90deg,#0000,#000 5% 95%,#0000);mask-image:linear-gradient(90deg,#0000,#000 5% 95%,#0000)}}.title-intro-status,.title-intro-start{left:50%;bottom:max(18%,env(safe-area-inset-bottom));text-align:center;color:#e6ecf4;letter-spacing:.15em;text-shadow:0 2px 4px #000;width:max-content;max-width:90%;margin:0;font-size:15px;position:absolute;transform:translate(-50%)}.title-intro-start{touch-action:manipulation;background:#071422bd;border:1px solid #b8c9db55;border-radius:4px;padding:12px 20px;animation:1.6s ease-in-out infinite alternate title-intro-pulse}.title-intro-skip{right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));color:#e6ecf4;letter-spacing:.2em;touch-action:manipulation;background:#071422bd;border:1px solid #b8c9db55;border-radius:4px;min-width:64px;min-height:44px;padding:6px 14px;font-size:13px;position:absolute}.title-intro-rotate{text-align:center;color:#e6ecf4;text-shadow:0 2px 4px #000;margin:0;padding:20px;font-size:20px;line-height:2;position:absolute}.title-intro-rotate small{font-size:14px}.title-intro.portrait video{opacity:.3}.title-intro.portrait .title-intro-skip,.title-intro [hidden]{display:none}@keyframes title-intro-pulse{0%{opacity:.45}to{opacity:1}}.display-root .title-menu,.display-root .title-signature,.display-root .quick-actions,.display-root .topbar,.display-root #screen-controls{transition:opacity 1s ease-out}#app.title-menu-held .title-menu,#app.title-menu-held .title-signature,#app.title-menu-held .quick-actions,#app.title-menu-held .topbar,#app.title-menu-held #screen-controls{opacity:0;pointer-events:none}.game-title.title-picture-held .title-static{opacity:0}.game-title .title-static{transition:opacity 1.3s ease-out}#app.title-mounted{background:#020719;height:100dvh;overflow:hidden}.game-title{isolation:isolate;color:#e6ecf4;background:#020719;width:100%;height:100dvh;min-height:280px;position:relative;overflow:hidden}.game-title .title-static,.game-title .title-art-live{pointer-events:none;position:absolute;inset:0}.game-title .title-art-live canvas{image-rendering:auto;width:100%;height:100%;display:block}.game-title .title-static{overflow:hidden}.game-title.title-live .title-static{visibility:hidden}.game-title img{image-rendering:auto}.game-title .title-sky{object-fit:cover;filter:brightness(.75);width:100%;height:100%;position:absolute}.game-title .title-guardian{pointer-events:none;width:min(60vh,55vw);height:86%;position:absolute;bottom:4%}.game-title .title-guardian-left{left:-8vw}.game-title .title-guardian-right{right:-8vw;transform:scaleX(-1)}.game-title .title-body{object-fit:contain;width:100%;height:100%;position:absolute;inset:0}.game-title .title-feathers{object-fit:contain;opacity:.8;width:155%;height:65%;position:absolute;top:7%;left:10%}.game-title .title-logo{object-fit:contain;width:min(60vw,950px);height:42%;position:absolute;top:22%;left:50%;transform:translate(-50%)}.game-title .title-tools{z-index:2;gap:8px;display:flex;position:absolute;top:18px;right:20px}.game-title .title-tools button,.game-title .file-button{color:#e6ecf4;background:#071422bd;border-color:#b8c9db55;font-size:13px}.game-title .title-menu{text-align:center;z-index:2;gap:12px;width:min(340px,80vw);display:grid;position:absolute;bottom:max(10%,48px);left:50%;transform:translate(-50%)}.game-title .title-menu button{letter-spacing:.14em;color:#eaf1fc;text-shadow:0 2px 3px #000;background:linear-gradient(#132c46dd,#071627ed);border:1px solid #afc8e779;padding:12px 24px;font-size:clamp(16px,2vw,22px);box-shadow:0 3px 18px #0009}.game-title .title-menu button:hover:not(:disabled),.game-title button:focus-visible{outline-offset:3px;border-color:#dfc28c;outline:2px solid #dfc28c;box-shadow:0 0 18px #c5a9774d}.game-title .title-menu button:disabled{opacity:.4;cursor:not-allowed}.game-title .title-menu small{color:#c0cbdc;text-shadow:0 1px 4px #000;font-size:11px}.game-title .title-signature{text-align:center;color:#b5c1d6;letter-spacing:.12em;text-shadow:0 2px 3px #000;width:100%;font-size:12px;position:absolute;bottom:18px;left:0}.game-title .title-fallback-note{text-align:center;color:#c4d0e4;width:100%;font-size:12px;position:absolute;top:65px;left:0}.game-title .title-accessible{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}@media (width<=600px){.game-title .title-tools{gap:5px;top:10px;right:10px}.game-title .title-tools button,.game-title .file-button{padding:8px;font-size:12px}.game-title .title-logo{width:92vw}.game-title .title-menu{bottom:12%}}@media (height<=480px){.game-title .title-menu{gap:6px;width:min(300px,70vw);bottom:36px}.game-title .title-menu button{padding:6px 18px;font-size:16px}.game-title .title-menu small{display:none}.game-title .title-signature{bottom:9px}.game-title .title-logo{height:46%;top:8%}}.studio-splash{z-index:1150;padding:max(12px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));-webkit-user-select:none;user-select:none;background:#000;place-items:center;display:grid;position:fixed;inset:0}.studio-art{aspect-ratio:3/2;pointer-events:none;width:min(520px,84vw,86dvh,100%);position:relative}.studio-art img{object-fit:contain;opacity:0;width:100%;height:100%;position:absolute;inset:0}.studio-tablet{clip-path:polygon(19% 6%,72% 6%,72% 18.5%,79% 18.5%,79% 55%,65% 55%,65% 56.2%,19% 56.2%);transform-origin:48% 34%}.studio-crumb{clip-path:inset(6% 20.5% 81.5% 72%);transform-origin:75.3% 12.9%}.studio-name{clip-path:polygon(0 56.2%,65% 56.2%,65% 55%,100% 55%,100% 86%,0 86%)}.studio-caption{clip-path:inset(86% 0 0)}.studio-name-ink{clip-path:polygon(0 56.2%,36.4% 56.2%,36.4% 67.2%,35.75% 70.8%,35.5% 75%,37% 77.4%,37% 86%,0 86%)}.studio-name-ink,.studio-caption{filter:brightness(0)invert(.87)sepia(.12)}.playing .studio-art{animation:2.7s linear both studio-out}.playing .studio-tablet{animation:.82s 80ms both studio-bite}.playing .studio-crumb{animation:.54s .445s both studio-crumb}.playing .studio-name,.playing .studio-name-ink{animation:.47s ease-out .51s both studio-sign}.playing .studio-caption{animation:.38s ease-out .73s both studio-sign}@keyframes studio-bite{0%{opacity:0;animation-timing-function:ease-out;transform:translateY(3%)scale(.94)}42%{opacity:1;animation-timing-function:ease-out;transform:none}53%{opacity:1;animation-timing-function:ease-in-out;transform:translate(-.85%,.4%)rotate(-2deg)}to{opacity:1;transform:none}}@keyframes studio-crumb{0%{opacity:0;animation-timing-function:ease-out;transform:translate(-4.3%,8.6%)rotate(-28deg)scale(.28)}24%{opacity:1;animation-timing-function:ease-out;transform:translate(-2.8%,4.2%)rotate(-18deg)scale(.72)}68%{opacity:1;animation-timing-function:ease-in-out;transform:translate(.2%,-.9%)rotate(5deg)}to{opacity:1;transform:none}}@keyframes studio-sign{0%{opacity:0;transform:translateY(3%)}to{opacity:1;transform:none}}@keyframes studio-out{0%,86%{opacity:1}to{opacity:0}}@media (prefers-reduced-motion:reduce){.studio-splash.playing .studio-art img{opacity:1;animation:none}.studio-splash.playing .studio-art{animation:2.7s both studio-still}}@keyframes studio-still{0%{opacity:1}to{opacity:1}}#map-hud{z-index:8;pointer-events:auto;line-height:0;position:absolute;bottom:0;left:50%;transform:translate(-50%)}#map-hud canvas{image-rendering:pixelated;max-width:none;display:block;position:static!important}#map-hud .map-equipment{pointer-events:none;position:absolute;inset:0}#map-hud .map-equipment span{image-rendering:auto;background-repeat:no-repeat;width:5%;height:40%;position:absolute;top:40%}#direct-actions{z-index:9;pointer-events:auto;gap:8px;display:flex;position:absolute;bottom:14px;right:12px}.command-stack,.preparation-corner-actions{right:max(8px,env(safe-area-inset-right));align-items:flex-end;gap:calc(4px*var(--panel-scale,1));pointer-events:none;z-index:9;flex-direction:column;display:flex;position:absolute;bottom:8px}.command-stack{bottom:calc(8px + var(--command-inset,0px));max-height:calc(100% - 16px - var(--command-inset,0px));scrollbar-width:thin;overflow-y:auto}.command-stack button,.preparation-corner-actions button{pointer-events:auto;touch-action:manipulation}.command-stack #direct-actions{align-items:flex-end;gap:inherit;pointer-events:none;flex-direction:column;position:static}.command-stack #direct-actions:empty{display:none}#app button.glyph-face{min-width:0;min-height:0;box-shadow:none;filter:drop-shadow(0 2px 5px #000a);background:0 0;border:0;border-radius:0;margin:0;padding:0;font-size:0;line-height:0;transition:none}#app button.glyph-face canvas{width:calc(var(--glyph-width)*var(--panel-scale,1)*1px);height:calc(var(--glyph-height)*var(--panel-scale,1)*1px);image-rendering:pixelated;touch-action:manipulation;display:block;position:static;inset:auto}#app button.glyph-face:active:not(:disabled){filter:drop-shadow(0 2px 5px #000a)brightness(1.45)}#app button.glyph-face:disabled{opacity:.45}#unit-menu{--muted:#8f9e9f;--gold:#d6b976;color:#e9ebe5;font-family:Inter,PingFang SC,Microsoft YaHei,sans-serif;line-height:1.5}#unit-menu h2,#unit-menu p{margin:0}#unit-menu small{color:var(--muted);font-size:12px}#unit-menu img{image-rendering:pixelated}#unit-menu .eyebrow{color:var(--gold)}#unit-menu button{font:inherit;cursor:pointer;color:#ecede8;background:#253237;border:1px solid #485559;border-radius:5px;transition:background .12s}#unit-menu button:hover{background:#35474b}#unit-menu button:disabled{opacity:.35;cursor:default}#unit-menu button:focus-visible{outline-offset:3px;outline:2px solid #f1d79e}#unit-menu button.primary{color:#192123;background:#d6b976;border-color:#d6b976;font-weight:600}#unit-menu button.primary:hover{background:#ecd49f}#unit-menu .unit-class{align-items:center;gap:8px;display:flex}#unit-menu .unit-class>img{object-fit:contain;width:auto}#unit-menu .coordinates{color:var(--muted)}#unit-menu .unit-actions{flex-direction:column;display:flex}#unit-menu .spell-list{grid-template-columns:1fr;display:grid}#unit-menu .spell-list button{justify-content:space-between;align-items:center;gap:12px;display:flex}#unit-menu .spell-list img{width:auto}#unit-menu .menu-help{color:var(--muted);font-size:10px}#unit-menu-layer{pointer-events:none;z-index:3;position:absolute;inset:0}#unit-menu-layer:has(.native-spell-menu){z-index:10}#unit-menu{pointer-events:auto;background:#172329f5;border:1px solid #d6b976;border-radius:4px;width:248px;max-width:calc(100% - 16px);max-height:calc(100% - 16px);padding:14px;position:absolute;overflow:auto;box-shadow:0 6px 24px #0007}.unit-menu-heading{align-items:center;gap:12px;display:flex}.unit-menu-heading>div{min-width:0}.unit-menu-heading h2{margin:4px 0;font-size:18px;font-weight:500;line-height:1.3}.unit-menu-heading .eyebrow{letter-spacing:1px;font-size:10px}.unit-menu-sprite{flex:none;width:40px;height:40px}.unit-menu-heading .unit-class{color:var(--muted);font-size:12px}.unit-menu-heading .unit-class>img{max-width:100px;height:18px}.menu-stats{grid-template-columns:repeat(4,1fr);gap:10px;margin:12px 0 8px;display:grid}.menu-stats small{font-size:10px;display:block}.menu-stats b{font-variant-numeric:tabular-nums;font-size:18px;font-weight:500}#unit-menu .coordinates{font-size:11px}#unit-menu .unit-actions{gap:5px;margin-top:12px}#unit-menu [role=menuitem]{text-align:left;border-color:#3d5155;width:100%;min-height:32px;padding:6px 12px;font-size:13px}#unit-menu [role=menuitem].menu-current{border-color:#f1d79e;box-shadow:inset 3px 0 #f1d79e}#unit-menu [role=menuitem].menu-current:not(.primary){background:#35444a}.menu-help{margin-top:10px;font-size:10px;display:block}#unit-menu .spell-list{gap:5px;margin:0}#unit-menu .spell-list img{object-fit:contain;max-width:148px;height:20px}.unit-experience{color:var(--muted);margin:8px 0;font-size:12px;display:block}.unit-experience progress{accent-color:#52ccbb;width:100%;height:8px;margin-top:5px;display:block}#unit-menu.native-spell-menu{--s:var(--panel-scale,2);width:calc(120px*var(--s));height:calc(152px*var(--s));max-height:none;box-shadow:none;filter:drop-shadow(0 2px 3px #0007);background:0 0;border:0;border-radius:0;padding:0;line-height:0;overflow:visible}.native-spell-panel{width:100%;height:calc(120px*var(--s));background:var(--spell-frame) 0 0/100% 100%;image-rendering:pixelated;padding:calc(8px*var(--s)) calc(8px*var(--s)) 0}.native-spell-viewport{height:calc(96px*var(--s));overscroll-behavior:contain;scrollbar-width:none;scroll-behavior:auto;overflow-y:auto}.native-spell-viewport::-webkit-scrollbar{display:none}.native-spell-rows{min-height:calc(var(--row-count)*16px*var(--s))}#unit-menu.native-spell-menu [role=menuitem]{box-sizing:border-box;width:100%;height:calc(16px*var(--s));min-height:0;padding:0 0 0 calc(8px*var(--s));box-shadow:none;background:0 0;border:0;border-radius:0;margin:0;line-height:0;transition:none;display:block;position:relative}#unit-menu.native-spell-menu [role=menuitem]:hover,#unit-menu.native-spell-menu [role=menuitem].menu-current{box-shadow:none;background:0 0}#unit-menu.native-spell-menu [role=menuitem]:focus-visible{outline:0}#unit-menu.native-spell-menu [role=menuitem].menu-current:before{content:"";width:calc(8px*var(--s));height:calc(16px*var(--s));background:var(--spell-pointer) 0 0/100% 100%;image-rendering:pixelated;position:absolute;top:0;left:0}#unit-menu.native-spell-menu [role=menuitem] img{height:calc(16px*var(--s));width:auto;max-width:none;image-rendering:pixelated;display:block}.native-spell-mp{margin-left:calc(24px*var(--s));width:calc(96px*var(--s));height:calc(32px*var(--s));padding:calc(8px*var(--s));background:var(--mp-frame) 0 0/100% 100%;image-rendering:pixelated;display:flex}.native-mp-digit,.native-mp-slash{flex:0 0 calc(16px*var(--s));height:calc(16px*var(--s));image-rendering:pixelated;display:block}.native-mp-digit[style]{background-image:var(--spell-digits);background-size:calc(160px*var(--s)) calc(16px*var(--s));background-position:calc(-16px*var(--s)*var(--digit)) 0}.native-mp-slash{background:var(--spell-slash) 0 0/100% 100%}.native-spell-paging{height:calc(16px*var(--s));justify-content:flex-end;gap:calc(8px*var(--s));align-items:center;display:flex}.native-spell-paging[hidden]{display:none}#unit-menu .native-spell-paging button{padding:0 calc(2px*var(--s));color:#eee;font-size:calc(7px*var(--s));height:calc(12px*var(--s));background:0 0;border:0;border-radius:0;line-height:1}:root{color:#e9ebe5;font-synthesis:none;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--muted:#8f9e9f;--line:#334044;--gold:#d6b976;background:#131a1d;font-family:Inter,PingFang SC,Microsoft YaHei,sans-serif;line-height:1.5}*{box-sizing:border-box}body{margin:0}button,.file-button{font:inherit;cursor:pointer;color:#ecede8;background:#253237;border:1px solid #485559;border-radius:5px;padding:9px 15px;font-size:14px;transition:background .12s}button:hover,.file-button:hover{background:#35474b}button:disabled{opacity:.35;cursor:default}button:focus-visible,.file-button:focus-within{outline-offset:3px;outline:2px solid #f1d79e}button.primary{color:#192123;background:#d6b976;border-color:#d6b976;font-weight:600}button.primary:hover{background:#ecd49f}button.primary:disabled{background:#d6b976}img{image-rendering:pixelated;image-rendering:crisp-edges}h1,h2,p{margin:0}small{color:var(--muted);font-size:12px}.topbar{border-bottom:1px solid var(--line);background:#172125;align-items:center;gap:30px;height:78px;padding:0 28px;display:flex}.brand{flex-direction:column;display:flex}.roman{letter-spacing:3px;color:var(--gold);font:9px Georgia,serif}.brand strong{letter-spacing:3px;font-family:Songti SC,serif;font-size:22px}.chapter{letter-spacing:2px;color:var(--muted);align-items:center;gap:10px;font-size:10px;display:flex}.chapter b{color:var(--gold);font-size:23px;font-weight:400}.build-tag{letter-spacing:0;border-left:1px solid var(--line);margin-left:8px;padding-left:16px;font-size:11px}.topbar nav{gap:8px;margin-left:auto;display:flex}input[type=file]{opacity:0;width:1px;height:1px;position:absolute}.file-button{display:inline-block}#app:fullscreen{background:#131a1d}#screen{min-height:calc(100vh - 78px)}.eyebrow{letter-spacing:2px;color:var(--gold);font-size:11px}.title-screen{place-items:center;min-height:calc(100vh - 78px);display:grid;position:relative;overflow:hidden}.title-art{opacity:.32;position:absolute;inset:0}.title-art img{object-fit:cover;filter:brightness(.55);width:100%;height:100%}.title-card{text-align:center;background:#172125ee;border:1px solid #66715e;width:min(560px,90vw);padding:48px;position:relative;box-shadow:0 20px 90px #0008}.title-card h1{letter-spacing:4px;margin:14px 0 20px;font-family:Songti SC,serif;font-size:38px;font-weight:500}.title-card h1 em{color:var(--gold);font-family:Georgia,serif;font-style:normal}.title-card p{color:#bec8c6;font-size:14px}.title-card button{width:100%;margin:16px 0 0;display:block}.title-card small{margin-top:20px;display:block}.title-card .progress-note{color:#95a6a6;margin-top:24px;font-size:12px;line-height:1.8}.page-heading{justify-content:space-between;align-items:center;padding:28px 0 24px;display:flex}.page-heading h1{margin-top:6px;font-family:Songti SC,serif;font-size:32px;font-weight:500}.funds{text-align:right}.funds span{color:var(--muted);font-size:12px;display:block}.funds strong{color:var(--gold);font:32px Georgia,serif}.funds small{color:var(--gold);margin-left:8px;font-size:15px}#prep{max-width:1450px;margin:auto;padding:0 30px 20px}.prep-layout{grid-template-columns:210px minmax(350px,1fr) minmax(310px,.9fr);align-items:start;gap:20px;display:grid}.roster{flex-direction:column;gap:12px;display:flex}.commander-card{text-align:left;border-color:var(--line);background:#1b282c;align-items:center;gap:12px;width:100%;padding:14px;display:flex}.commander-card.selected{border-color:var(--gold);box-shadow:inset 3px 0 var(--gold)}.commander-card img{object-fit:contain;width:64px;height:64px}.commander-card strong{font-size:18px;display:block}.commander-card small{margin-top:3px;display:block}.panel{border:1px solid var(--line);background:#1b272b;border-radius:7px;padding:22px}.section-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.section-heading h2{font-size:18px;font-weight:500}.section-heading>span{color:var(--muted);font-size:12px}.stats{grid-template-columns:repeat(3,1fr);gap:18px;margin:20px 0;display:grid}.stats small{margin-bottom:3px;display:block}.stats b{font-variant-numeric:tabular-nums;font-size:23px;font-weight:500}.correction{color:var(--muted);gap:18px;font-size:12px;display:flex}.correction b{color:#c8d3c9;font-weight:400}.divider{background:var(--line);height:1px;margin:23px 0}.troop-type{align-items:center;gap:12px;margin:20px 0;display:flex}.troop-type img,.equipment-row img,.shop-item img{object-fit:contain;width:48px;height:48px}.troop-type div strong,.troop-type small,.equipment-row div strong,.equipment-row small,.shop-item strong,.shop-item small{display:block}.troop-type>b{color:var(--gold);margin-left:auto;font-size:13px;font-weight:400}.troop-slots{grid-template-columns:repeat(6,1fr);gap:7px;display:grid}.troop-slot{background:#131c20;border:1px dashed #3a4a4f;flex-direction:column;justify-content:center;align-items:center;min-height:72px;display:flex}.troop-slot.filled{border-style:solid}.troop-slot img{width:32px;height:32px;margin:4px 0}.troop-slot span{color:#465759;height:40px;font-size:23px}.troop-slot small{font-size:10px}.button-row{gap:10px;margin-top:20px;display:flex}.equipment-row{align-items:center;gap:12px;margin-top:15px;display:flex}.equipment-row button{margin-left:auto}.equipment-row strong,.shop-item strong{font-size:14px}.prep-right{flex-direction:column;gap:18px;display:flex}.shop-item{align-items:center;gap:10px;margin-top:18px;display:flex}.shop-item button{margin-left:auto;padding:9px;font-size:12px}.deployment-preview{margin:16px 0 10px;line-height:0;position:relative}.deployment-preview>img{object-fit:fill;width:100%;max-height:220px}.deployment-marker{background:#2b648c;border-color:#a6c7dd;border-radius:50%;width:23px;height:23px;padding:0;font-size:12px;position:absolute;transform:translate(-20%,-20%)}.deployment-marker.selected{background:var(--gold);color:#131c20;border-color:#f4d69a}.deployment p{color:#a3b2b2;margin:14px 0;font-size:12px}.deployment>button{width:100%;font-size:12px}.sortie{justify-content:space-between;width:100%;display:flex;padding:16px!important}.help{color:var(--muted);padding-top:20px;font-size:12px}.notice{color:#202b2c;opacity:0;pointer-events:none;z-index:20;background:#e5ddc7;border-radius:5px;max-width:90vw;padding:13px 22px;transition:all .15s;position:fixed;bottom:30px;left:50%;transform:translate(-50%)translateY(20px);box-shadow:0 4px 20px #0006}.notice.show{opacity:1;transform:translate(-50%)translateY(0)}.game-layout{grid-template-columns:minmax(0,1fr);height:calc(100vh - 78px);min-height:400px;display:grid;position:relative}.map-column{flex-direction:column;min-width:0;min-height:0;display:flex}.map-toolbar{border-bottom:1px solid var(--line);background:#1b272b;align-items:center;gap:22px;height:58px;padding:12px 20px;display:flex}.map-toolbar strong{font-size:14px;font-weight:500}.map-toolbar>span{color:var(--muted);font-size:12px}.map-toolbar button{padding:6px 12px;font-size:12px}.zoom-buttons{gap:5px;margin-left:auto;display:flex}.zoom-buttons .active{border-color:var(--gold);color:var(--gold)}#map-container{flex:1;min-height:0;position:relative;overflow:hidden}#map-container canvas{touch-action:none;display:block;position:absolute;inset:0}canvas:focus{outline:none}.map-status{color:var(--muted);border-top:1px solid var(--line);height:43px;padding:12px 16px;font-size:11px}.coordinates{color:var(--muted);font-size:12px}.unit-actions{flex-direction:column;gap:10px;margin-top:22px;display:flex}.dialogue-overlay{background:#0002;justify-content:center;align-items:end;padding:25px;display:flex;position:absolute;inset:0}.dialogue-inner{border:1px solid var(--gold);background:#141c23;flex-wrap:wrap;align-items:end;gap:16px;width:100%;max-width:720px;padding:20px;display:flex}.dialogue-portrait{width:128px;height:128px}.dialogue-text{object-fit:contain;object-position:left;width:544px;max-width:100%;height:160px}.dialogue-inner button{margin-left:auto}.dialogue-inner button small{color:#45514a;margin-left:12px}@media (width<=1100px){.topbar{gap:16px;padding:0 18px}.build-tag{display:none}.prep-layout{grid-template-columns:180px minmax(330px,1fr) 300px;gap:14px}#prep{padding:0 18px 18px}.panel{padding:18px}.commander-card{gap:7px;padding:10px}.commander-card img{width:48px;height:48px}.game-layout{grid-template-columns:minmax(0,1fr)}.dialogue-overlay{right:0}}@media (width<=900px){.topbar{flex-wrap:wrap;gap:12px;height:auto;min-height:78px;padding:12px 16px}.topbar nav{gap:5px}.topbar nav button,.file-button{padding:7px;font-size:12px}.chapter{display:none}.prep-layout{grid-template-columns:1fr 1fr}.roster{flex-direction:row;grid-column:1/-1}.commander-card{width:50%}.page-heading{padding-top:20px}.game-layout{grid-template-columns:minmax(0,1fr)}.dialogue-overlay{padding:15px;right:0}.dialogue-portrait{width:64px;height:64px}.map-toolbar{gap:9px;padding:10px}.map-toolbar strong{display:none}.map-status{white-space:nowrap;overflow:hidden}}#battle-container{z-index:10;background:#080e11;position:absolute;inset:0;overflow:hidden}#battle-container canvas{image-rendering:pixelated;display:block;position:absolute;inset:0}.spell-list{gap:8px;margin:16px 0;display:grid}.spell-list button{justify-content:space-between;align-items:center;gap:12px;display:flex}.spell-list img{width:auto;height:24px;image-rendering:pixelated}.end-turn{width:100%;margin-top:16px}.file-button{position:relative;overflow:hidden}.file-button input[type=file]{cursor:pointer;width:100%;height:100%;margin:0;inset:0}.rom-name{vertical-align:middle;height:32px;display:inline-flex}.rom-name>span{width:32px;height:32px;image-rendering:pixelated;background-size:1024px;flex:none;display:block}.unit-class{align-items:center;gap:8px;display:flex}.unit-class>img{object-fit:contain;width:auto;max-width:144px;height:24px}.promotion-dialogue{align-items:center;gap:1.2rem}.promotion-dialogue h1{font-size:1.45rem}.promotion-dialogue p{color:var(--muted)}.promotion-choices{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}.promotion-choices button{flex-direction:column;align-items:center;gap:1rem;min-width:90px;padding:1rem;display:flex}.promotion-choices button.active{background:#3c3a27;border-color:#d8bd77}.promotion-choices img:first-child{width:48px;height:48px}.promotion-choices img:last-child{width:auto;max-width:128px;height:24px}#map-prompt{z-index:2;max-width:calc(100% - 24px);position:absolute;bottom:12px;left:50%;transform:translate(-50%)}.map-prompt-inner{white-space:nowrap;background:#172329ed;border:1px solid #536464;border-radius:4px;align-items:center;gap:18px;padding:9px 12px;font-size:12px;display:flex}.map-prompt-inner button{padding:4px 10px;font-size:11px}.dialogue-overlay{z-index:5}.topbar{z-index:20;position:relative}.visual-settings{font-size:14px;position:relative}.visual-settings summary{cursor:pointer;white-space:nowrap;background:#253237;border:1px solid #485559;border-radius:5px;padding:9px 15px;list-style:none}.visual-settings summary::-webkit-details-marker{display:none}.visual-settings summary:hover{background:#35474b}.visual-settings summary:focus-visible{outline-offset:3px;outline:2px solid #f1d79e}.visual-settings-panel{z-index:30;background:#172329fa;border:1px solid #d6b976;border-radius:5px;gap:14px;width:280px;max-width:calc(100vw - 32px);padding:18px;display:grid;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 8px 30px #0008}.visual-settings-panel label{align-items:center;gap:10px;display:flex}.visual-settings-panel select{font:inherit;color:inherit;background:#253237;border:1px solid #485559;border-radius:3px;margin-left:auto;padding:5px}.visual-settings-panel input{accent-color:#d6b976;width:16px;height:16px;margin:0}.visual-settings-panel small{font-size:11px;line-height:1.65}#battle-container .hd2d-stage{position:absolute;top:0;left:0;right:0;overflow:hidden}#battle-container .hd2d-stage canvas{image-rendering:auto;width:100%;height:100%}#battle-container .hd2d-hud{image-rendering:pixelated;pointer-events:none;inset:auto auto 0 0}.battle-render-status{z-index:2;color:#e9ebe5b8;pointer-events:none;background:#080e115c;border:1px solid #c8d3c922;border-radius:3px;padding:4px 9px;font-size:10px;position:absolute;top:12px;left:14px}@media (width<=900px){.visual-settings summary{padding:7px;font-size:12px}.visual-settings-panel{position:fixed;top:78px;right:16px}}.game-layout{grid-template-rows:minmax(0,1fr)}#dialogue-container{z-index:5;pointer-events:none;position:absolute;inset:0}#dialogue-container:empty{display:none}.dialogue-overlay{pointer-events:auto;padding:16px}.dialogue-speech{grid-template-columns:64px minmax(0,544px);justify-content:center;align-items:start;gap:10px 16px;max-width:672px;padding:16px;display:grid;box-shadow:0 8px 24px #0007}.dialogue-speech .dialogue-portrait{grid-row:1/3;width:64px;height:64px}.dialogue-speech .dialogue-text{object-fit:contain;object-position:left top;width:100%;height:auto;max-height:160px}.dialogue-speech button{grid-column:2;justify-self:end;padding:6px 12px}.dialogue-speech.without-portrait{grid-template-columns:minmax(0,544px)}.dialogue-speech.without-portrait button{grid-column:1}@media (width<=600px){.dialogue-overlay{padding:10px}.dialogue-speech{grid-template-columns:48px minmax(0,1fr);gap:8px 12px;padding:12px}.dialogue-speech .dialogue-portrait{width:48px;height:48px}.dialogue-speech button small{display:none}}#battle-container .hd2d-stage{inset:0}#battle-container .hd2d-hud{filter:drop-shadow(0 4px 10px #0009);top:auto;bottom:0;right:auto}.lab-link{font:inherit;color:#d6b976;white-space:nowrap;border:1px solid #485559;border-radius:5px;align-items:center;padding:9px 12px;font-size:12px;text-decoration:none;display:flex}.lab-link:hover{background:#35474b}#unit-status-layer{pointer-events:none;z-index:3;position:absolute;inset:0}#unit-status{width:calc(160px * var(--details-scale,1));pointer-events:none;line-height:0;position:absolute}#unit-status .unit-details-canvas{width:calc(160px * var(--details-scale,1));height:calc(120px * var(--details-scale,1));image-rendering:pixelated;pointer-events:none;position:static;inset:auto}#map-container.map-vs:before,#map-container.map-dialogue-active:before{content:"";z-index:3;pointer-events:none;background:#0000002b;position:absolute;inset:0}#map-container.map-dialogue-active>canvas:not([tabindex]){filter:blur(1.2px)}#dialogue-container:has(.native-dialogue){pointer-events:none;z-index:12;display:block;position:absolute;inset:0}.native-dialogue{width:calc(320px * var(--dialogue-scale,1));pointer-events:none;position:absolute;bottom:8px;left:50%;transform:translate(-50%)}.native-dialogue-page{height:calc(144px * var(--dialogue-scale,1));pointer-events:auto;cursor:pointer;position:relative}.native-dialogue img{image-rendering:pixelated;max-width:none;display:block}.native-portrait{left:calc(24px * var(--dialogue-scale,1));width:calc(64px * var(--dialogue-scale,1));height:calc(64px * var(--dialogue-scale,1));position:absolute;top:0}.native-portrait>img{width:100%;height:100%}.native-portrait>img.native-face{width:75%;height:75%;position:absolute;top:12.5%;left:12.5%}.native-text-frame{width:85%;height:calc(80px * var(--dialogue-scale,1));position:absolute;bottom:0;left:7.5%}.native-text-frame>img{width:100%;height:100%;position:absolute;inset:0}.native-choice{width:17.647%;height:60%;position:absolute;top:40%;left:82.353%}.native-choice>img{width:100%;height:100%;position:absolute;inset:0}.native-choice>button{cursor:pointer;background:0 0;border:0;border-radius:0;width:100%;height:33.333%;padding:0;position:absolute;left:0}.native-choice>button[data-choice="0"]{top:16.667%}.native-choice>button[data-choice="1"]{top:50%}.dialogue-text-box{width:544px;max-width:100%;height:160px;position:relative}.dialogue-text-box>.dialogue-text{width:100%;height:100%}.native-dialogue-controls{pointer-events:auto;justify-content:flex-end;gap:6px;margin-top:4px;display:flex}.native-dialogue-controls button{padding:6px 10px;font-size:13px}.native-history{pointer-events:auto;background:#111a22;max-height:60vh;padding:8px;overflow:auto}.native-history>button{z-index:2;position:sticky;top:0}.history-entry{margin-bottom:20px}.history-entry .native-dialogue-page{cursor:default}@media (width<=900px){#direct-actions{bottom:calc(var(--map-hud-height,0px) + 10px)}.map-toolbar{gap:8px;padding-inline:8px}.map-toolbar button{padding-inline:7px}}#phase-card-layer{z-index:60;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}#phase-card-layer[hidden]{display:none}#phase-card-layer button{box-shadow:none;cursor:pointer;background:0 0;border:0;border-radius:0;margin:0;padding:0;line-height:0}#phase-card-layer button:hover{background:0 0;transform:none}#phase-card-layer canvas{image-rendering:pixelated;display:block;position:static;inset:auto}#confirm-layer,.preparation-confirm{z-index:61;touch-action:none;background:#0000002b;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}#confirm-layer[hidden],.preparation-confirm[hidden]{display:none}.native-confirm{filter:drop-shadow(0 4px 10px #0009);flex:none;line-height:0;position:relative}.native-confirm canvas{width:100%;height:100%;image-rendering:pixelated;display:block;position:static;inset:auto}.native-confirm button{box-shadow:none;color:#0000;cursor:pointer;touch-action:manipulation;background:0 0;border:0;border-radius:0;margin:0;padding:0;font-size:0;position:absolute}.native-confirm button:hover{background:0 0}img.hd-face{image-rendering:auto}#battle-container .hd2d-live-portraits{pointer-events:none;position:absolute;bottom:0}#battle-container .hd2d-live-portraits :is(video,img){object-fit:cover;opacity:0;display:block;position:absolute}#battle-container .hd2d-live-portraits :is(video,img)[data-ready]{opacity:1}.display-root{-webkit-user-select:none;user-select:none}.display-root img{-webkit-user-drag:none;-webkit-touch-callout:none}.display-root input,.display-root textarea,.display-root [contenteditable=true]{-webkit-user-select:text;user-select:text}#app.display-root{height:var(--display-height,100dvh);padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);background:#080e11;flex-direction:column;display:flex;position:relative;overflow:hidden}.display-root .topbar{z-index:40;flex-wrap:nowrap;flex:none;gap:12px;height:44px;min-height:44px;padding:4px 12px}.display-root .brand{white-space:nowrap;flex-direction:row;align-items:center;gap:8px}.display-root .brand strong{letter-spacing:1px;font-size:14px}.display-root .roman{letter-spacing:1px;font-size:8px}.display-root .chapter{display:none}.display-root .topbar button,.display-root .file-button,.display-root .visual-settings summary,.display-root .lab-link{padding:5px 8px;font-size:12px}.game-tools{margin-left:auto;position:relative}.game-tools>summary{cursor:pointer;border:1px solid #485559;border-radius:4px;min-height:36px;padding:6px 10px;font-size:12px}.display-root .topbar nav{flex-wrap:wrap;align-items:center;gap:6px}.test-scenarios{white-space:nowrap;align-items:center;gap:6px;font-size:12px;display:inline-flex}.test-scenarios select{font:inherit;color:inherit;background:#253237;border:1px solid #485559;border-radius:3px;padding:4px 6px}.touch-screen .test-scenarios select{min-height:44px}.test-boost{white-space:nowrap;cursor:pointer;align-items:center;gap:4px;font-size:12px;display:inline-flex}.test-boost input{accent-color:#d6b976}.test-boost:has(input:checked){color:#e1c68b}.touch-screen .test-boost{min-height:44px}.game-tools[open]>nav{background:#172329fa;border:1px solid #d6b976;border-radius:5px;width:290px;max-width:calc(100vw - 24px);padding:10px;position:absolute;top:calc(100% + 5px);right:0;box-shadow:0 8px 24px #0009}.display-root .visual-settings-panel{top:max(48px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));max-height:calc(var(--display-height,100dvh) - 64px);z-index:45;position:fixed;overflow:auto}.display-root #screen{flex:1;place-items:center;min-width:0;min-height:0;display:grid;position:relative;overflow:hidden}.display-frame{background:#111616;flex:none;position:relative;overflow:hidden}.display-root .game-layout{width:100%;height:100%;min-height:0;display:block}.display-root .map-column{height:100%}.display-root #map-container{flex:1;width:100%;height:100%;min-height:0}.display-root .map-toolbar{border:0;flex:1;gap:8px;min-width:0;height:44px;padding:4px 10px}.display-root .map-toolbar strong{display:none}.display-root .map-toolbar>span{white-space:nowrap}.display-root .map-toolbar .zoom-buttons{margin-left:0}.map-tools{margin-left:auto;position:relative}.map-tools>summary{cursor:pointer;padding:6px 8px;font-size:12px}.map-tools[open]>div{width:220px;max-width:calc(100vw - 24px);max-height:max(44px,calc(var(--display-height,100dvh) - 110px - env(safe-area-inset-top) - env(safe-area-inset-bottom)));overscroll-behavior:contain;z-index:35;background:#172329fa;border:1px solid #d6b976;flex-wrap:wrap;gap:8px;padding:10px;display:flex;position:absolute;bottom:calc(100% + 8px);right:0;overflow-y:auto}.weather-settings{border:0;border-top:1px solid #485559;flex:0 0 100%;gap:6px;min-width:0;margin:0;padding:8px 0 0;font-size:12px;display:grid}.weather-settings legend{color:#e1c68b;padding:0 6px 0 0}.weather-settings label{align-items:center;gap:8px;display:flex}.weather-settings input{accent-color:#d6b976;width:16px;height:16px;margin:0}.weather-settings select{min-width:0;font:inherit;color:inherit;background:#253237;border:1px solid #485559;border-radius:3px;margin-left:auto;padding:5px}.weather-settings small{color:#b7bcb9;font-size:11px;line-height:1.6}.touch-screen .weather-settings label,.touch-screen .weather-settings select{min-height:44px}.display-controls{z-index:20;background:#172125;border-top:1px solid #334044;flex:none;justify-content:center;align-items:center;gap:8px;min-height:36px;display:flex;position:relative}.display-touch{flex:none;align-items:center;gap:4px;padding:2px 4px;display:flex}.display-touch button{touch-action:manipulation;min-width:40px;min-height:32px;padding:4px 9px;font-size:12px}.display-directions{gap:4px;display:none}.display-help{color:#b7bcb9;padding:4px;font-size:11px}.touch-screen .display-directions{display:flex}.touch-screen .display-help{display:none}.touch-screen .display-touch button{min-width:44px;min-height:44px;padding:5px 8px}.display-root.title-mounted #title-host,.display-root.title-mounted .game-title{width:100%;height:100%;min-height:0}.display-root.title-mounted .title-tools{display:none}.display-root.title-mounted .title-menu{gap:6px;width:min(300px,70%);bottom:12%}.display-root.title-mounted .title-menu button{padding:7px 16px;font-size:clamp(14px,2vw,20px)}.display-root.title-mounted .title-signature{font-size:10px;bottom:6px}.display-root.title-mounted .title-logo{width:60%;height:43%;top:10%}.display-root.title-mounted .title-guardian{width:55%;height:86%}.display-root.title-mounted .title-guardian-left{left:-8%}.display-root.title-mounted .title-guardian-right{right:-8%}.display-root.preparation-mounted .preparation-surface{background:#202020;width:100%;height:100%}.display-root.preparation-mounted .topbar{flex-wrap:nowrap;height:44px;min-height:44px}.display-root.preparation-mounted #screen{flex-direction:initial;display:grid}.orientation-prompt{z-index:30;text-align:center;background:#080e11f5;justify-content:center;align-items:center;padding:24px;display:flex;position:absolute;inset:44px 0 0}.orientation-prompt[hidden]{display:none}.orientation-prompt strong{color:#e1c68b;margin-bottom:12px;font-size:24px;display:block}.orientation-prompt p{color:#bcc8ca;font-size:14px}.orientation-blocked .display-frame{pointer-events:none}.orientation-blocked .display-controls{visibility:hidden}.display-root .notice{z-index:60}@media (pointer:fine) and (width>=1000px){.game-tools>summary{display:none}.game-tools>nav,.game-tools[open]>nav{width:auto;max-width:none;box-shadow:none;background:0 0;border:0;padding:0;position:static;display:flex!important}}@media (height<=440px){.display-root .roman,.display-root .build-tag,.display-root .title-menu small{display:none}.display-root .game-title .title-menu{bottom:25px}.display-root .map-toolbar>span:not(:first-of-type){display:none}}@media (width<=640px){.display-root .brand strong{font-size:12px}.display-root .roman{display:none}.display-root .topbar{padding-inline:6px}.display-root .map-toolbar{gap:3px;padding-inline:3px}.display-root .toolbar-turn{padding-inline:6px;font-size:11px}.display-controls{gap:0}.display-root .map-toolbar>span{display:none}}.route-screen{background:#05080f;outline:none;position:absolute;inset:0;overflow:hidden}.route-stage{position:absolute;inset:0}.route-flat{image-rendering:pixelated;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.opening-route[open]{box-sizing:border-box;color:#fff;background:#05080f;border:0;width:100%;max-width:none;height:100%;max-height:none;margin:0;padding:0;position:fixed;inset:0}.route-loading{z-index:3;color:#e7ddb8;place-items:center;display:grid;position:absolute;inset:0}.route-stage:after{content:"";pointer-events:none;background:radial-gradient(at 50% 55%,#0000 55%,#0a06028c 100%);position:absolute;inset:0}.route-plate{z-index:2;image-rendering:pixelated;pointer-events:none;position:absolute;left:50%;transform:translate(-50%)}.route-title{top:2vh}.route-roster{transition:transform .45s ease-in,opacity .45s ease-in;bottom:2vh}.route-screen.briefing .route-roster{opacity:0;transform:translate(-50%,140%)}.route-briefing{z-index:2;--s:2px;width:calc(368 * var(--s));height:calc(136 * var(--s));opacity:0;pointer-events:none;filter:drop-shadow(0 calc(var(--s) * 3) calc(var(--s) * 6) #000c);transition:transform .55s cubic-bezier(.2,.8,.2,1) .25s,opacity .3s .25s;position:absolute;bottom:2vh;left:50%;transform:translate(-50%,130%)}.route-screen.briefing .route-briefing{opacity:1;transform:translate(-50%)}.route-briefing canvas{image-rendering:pixelated;position:absolute}.route-briefing canvas:first-child{width:100%;height:100%;top:0;left:0}.route-briefing-text{left:calc(var(--text-x) * var(--s));top:calc(var(--text-y) * var(--s));width:calc(288 * var(--s));height:calc(96 * var(--s));-webkit-mask:linear-gradient(#0000,#000 10% 90%,#0000);mask:linear-gradient(#0000,#000 10% 90%,#0000)}.route-screen:after{content:"";pointer-events:none;opacity:0;background:linear-gradient(#0000,#0009);height:45%;transition:opacity .6s;position:absolute;bottom:0;left:0;right:0}.route-screen.briefing:after{opacity:1}@property --spot-x{syntax:"<length>";inherits:false;initial-value:0}@property --spot-y{syntax:"<length>";inherits:false;initial-value:0}.promotion-screen{touch-action:none;-webkit-user-select:none;user-select:none;cursor:default;background:#080e11;outline:none;position:absolute;inset:0;overflow:hidden}.promotion-screen[hidden]{display:none}.promotion-stage{position:absolute;inset:0}.promotion-stage canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.promotion-shade{pointer-events:none;background:radial-gradient(ellipse var(--spot-size,300px) calc(var(--spot-size,300px)*.8) at var(--spot-x) var(--spot-y),#04081400 0,#04081400 34%,#04081499 100%);transition:--spot-x .22s ease-out,--spot-y .22s ease-out,opacity .25s;position:absolute;inset:0}.promotion-panel{image-rendering:pixelated;pointer-events:none;position:absolute}.promotion-screen.celebrating .promotion-shade{opacity:0}.promotion-button{z-index:12;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:0;margin:0;padding:0;line-height:0;position:absolute}.promotion-button canvas{image-rendering:pixelated;display:block}.promotion-button:active canvas{filter:brightness(1.35)}.promotion-button:focus-visible{outline-offset:2px;outline:2px solid #eece00}.campaign-promotion{z-index:25;position:absolute;inset:0;overflow:hidden}.campaign-promotion>.promotion-dialogue{min-width:260px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}
