@font-face{font-family:Starfall Mono;src:url(/assets/NotoSansMonoCJKtc-Regular-CFG5G3V0.otf)format("opentype");font-weight:400;font-display:swap}@font-face{font-family:Starfall Mono;src:url(/assets/NotoSansMonoCJKtc-Bold-BDL9T1Cr.otf)format("opentype");font-weight:700;font-display:swap}:root{color:#f3fbff;font-synthesis:none;font-variant-numeric:tabular-nums;background:#020617;font-family:Starfall Mono,ui-monospace,monospace}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0;overflow:hidden}body{background:#020617;min-width:0;min-height:0}button{font:inherit}#game-root{isolation:isolate;background:#020617;position:fixed;inset:0;overflow:hidden}#world-extension{z-index:-2;filter:saturate(.72)brightness(.62);background:radial-gradient(circle at 50% 45%,#0000 35%,#0206179e 100%),url(/assets/deep-indigo-airspace-BzLIjjXr.png) 50% 48%/cover no-repeat;position:absolute;inset:-4%;transform:scale(1.04)}#world-extension:after{content:"";background:repeating-linear-gradient(102deg,#0000 0 72px,#55e7ff06 73px 74px);position:absolute;inset:0}#play-root{transform-origin:0 0;background:#03091c;width:960px;height:540px;position:absolute;overflow:hidden;box-shadow:0 0 34px #1150aa1f}.game-host,.game-host canvas{width:960px;height:540px;display:block}.game-host canvas{position:absolute;inset:0}#hud-layer,#transition-layer,#modal-layer,.boot-layer{pointer-events:none;position:absolute;inset:0}.hud-panel{filter:drop-shadow(0 0 10px #1f82c52e);background:#04142fb8 url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20320%2096'%20role='img'%20aria-labelledby='title'%20preserveAspectRatio='none'%3e%3ctitle%3eStarfall%20Formation%20HUD%20panel%20frame%3c/title%3e%3cpath%20d='M14%203h280l23%2023v56l-11%2011H14L3%2082V14Z'%20fill='%2304142f'%20fill-opacity='.9'%20stroke='%2355e7ff'%20stroke-width='2'/%3e%3cpath%20d='M14%2010h268M11%2021v48M309%2031v42'%20fill='none'%20stroke='%231f82c5'%20stroke-width='3'%20opacity='.75'/%3e%3cpath%20d='m286%2010%2023%2023M11%2080l9%209'%20fill='none'%20stroke='%23ffbd3e'%20stroke-width='3'/%3e%3c/svg%3e") 50%/100% 100% no-repeat;position:absolute}.hud-left{width:280px;height:84px;padding:8px 12px;top:16px;left:20px}.hud-right{width:240px;height:76px;padding:7px 12px;top:16px;right:20px}.hud-label{color:#8fc9de;letter-spacing:.08em;font-size:11px;font-weight:700;line-height:1.1}.score-block{flex-direction:column;width:100%;display:flex}.score-value{color:#f3fbff;text-shadow:0 0 10px #55e7ff6b;margin-top:1px;font-size:24px;line-height:1}.chain-block{opacity:.5;margin-top:5px}.chain-block.active{opacity:1}.chain-line{color:#f3fbff;align-items:baseline;gap:9px;height:18px;font-size:12px;display:flex}.chain-line strong{color:#55e7ff;font-size:14px}.chain-line em{color:#ffbd3e;margin-left:auto;font-size:10px;font-style:normal}.chain-block.broken{animation:.22s ease-out chain-break}.chain-meter{clip-path:polygon(4px 0,100% 0,calc(100% - 4px) 100%,0 100%);background:#020617cc;border:1px solid #1f82c5;width:196px;height:7px;position:relative;overflow:hidden}.chain-meter i{background:linear-gradient(90deg,#1f82c5,#55e7ff);height:100%;transition:width 60ms linear;display:block;box-shadow:0 0 8px #55e7ff}.chain-meter i[style*="width: 1"]{background:#ffbd3e}.resource-row{justify-content:flex-end;align-items:center;gap:10px;min-height:28px;display:flex}.resource-row+.resource-row{margin-top:2px}.icon-slots{justify-content:flex-end;gap:5px;min-width:104px;display:flex}.icon-slots img{object-fit:contain;filter:drop-shadow(0 0 5px #55e7ff8c);width:26px;height:26px;transition:opacity .12s,filter .12s}.icon-slots img.empty{opacity:.2;filter:grayscale()}.lock-reason{color:#ffbd3e;text-shadow:0 1px 3px #020617;font-size:10px;line-height:14px;position:absolute;bottom:-15px;right:12px}.tutorial-hint{color:#dff8ff;white-space:nowrap;text-shadow:0 1px 3px #020617;background:linear-gradient(90deg,#020a1cc2,#020a1c33,#0000);min-width:360px;max-width:620px;height:24px;padding:2px 12px;font-size:14px;line-height:20px;animation:.2s ease-out hint-in;position:absolute;bottom:4px;left:20px}.boot-layer{text-align:center;background:#02061747;place-content:center;justify-items:center;display:grid}.boot-layer h1{color:#f3fbff;letter-spacing:.08em;text-shadow:0 0 18px #1f82c5;margin:0;font-size:30px;line-height:1}.boot-layer p{color:#8fc9de;margin:13px 0 0;font-size:12px}.boot-layer small{color:#c8edf7;font-size:12px;position:absolute;bottom:18px;left:20px;right:20px}.loading-meter{background:#1f82c547;width:168px;height:4px;margin-top:18px;overflow:hidden}.loading-meter i{background:#55e7ff;height:100%;transition:width .16s;display:block;box-shadow:0 0 9px #55e7ff}#transition-layer{z-index:4;color:#55e7ff;letter-spacing:.08em;text-shadow:0 0 16px;place-items:center;font-size:30px;font-weight:700;animation:.9s ease-in-out transition-title;display:grid}#transition-layer.defeat{color:#ff4f9a}.viewport-dim{z-index:5;pointer-events:none;background:#0206179e;position:fixed;inset:0}#modal-layer{z-index:7;place-items:center;display:grid}.modal{clip-path:polygon(12px 0,calc(100% - 12px) 0,100% 12px,100% calc(100% - 12px),calc(100% - 12px) 100%,12px 100%,0 calc(100% - 12px),0 12px);pointer-events:none;background:#020a1cf0;border:2px solid #55e7ff;flex-direction:column;align-items:center;padding:24px;display:flex;position:relative;box-shadow:inset 0 0 30px #1f82c529,0 0 28px #020617cc}.pause-modal{width:420px;height:316px}.result-modal{width:560px;min-height:348px}.result-modal.defeat{border-color:#ff4f9a;min-height:372px}.modal-icon{object-fit:contain;filter:drop-shadow(0 0 8px #1f82c5);width:52px;height:52px}.defeat .modal-icon{filter:drop-shadow(0 0 8px #ff4f9a)}.modal h2{color:#55e7ff;letter-spacing:.08em;margin:3px 0 14px;font-size:30px;line-height:1}.modal.defeat h2{color:#ff4f9a}.control-grid{grid-template-columns:1fr 1fr;gap:10px 16px;width:100%;margin-top:8px;display:grid}.control-grid span{color:#bde7f3;align-items:center;gap:9px;font-size:12px;display:flex}.control-grid b{font-weight:400}kbd{color:#f3fbff;clip-path:polygon(4px 0,100% 0,100% calc(100% - 4px),calc(100% - 4px) 100%,0 100%,0 4px);background:#071b3b;border:1px solid #55e7ff;place-items:center;min-width:30px;height:24px;padding:0 6px;font:700 11px/1 Starfall Mono;display:inline-grid}.modal-actions{color:#8fc9de;border-top:1px solid #55e7ff40;justify-content:center;gap:28px;width:100%;margin-top:auto;padding-top:12px;font-size:12px;display:flex}.modal-actions span{align-items:center;gap:8px;display:flex}.last-hit{color:#f3fbff;background:#ff4f9a12;border-left:2px solid #ff4f9a;align-self:stretch;margin:-2px 0 12px;padding:8px 11px;font-size:14px}.last-hit span{color:#ff4f9a;margin-right:14px;font-size:11px;font-weight:700}.result-grid{border-top:1px solid #55e7ff38;border-bottom:1px solid #55e7ff38;grid-template-columns:1fr 1fr;width:100%;display:grid}.result-grid>span{justify-content:space-between;align-items:center;min-height:42px;padding:0 10px;display:flex}.result-grid>span:nth-child(odd){border-right:1px solid #55e7ff29}.result-grid small,.node-order small{color:#55e7ff;font-size:11px;font-weight:700}.result-grid strong{color:#f3fbff;font-size:18px}.node-order{width:100%;padding:10px}.node-order>div{flex-wrap:wrap;gap:6px;margin-top:7px;display:flex}.node-order span{clip-path:polygon(4px 0,100% 0,calc(100% - 4px) 100%,0 100%);border:1px solid;padding:3px 7px;font-size:11px}.node-shield{color:#55e7ff}.node-power{color:#ffbd3e}.node-core{color:#ff718f}.node-order em{color:#66889b;font-style:normal}.same-seed{color:#66889b;margin:0;font-size:10px}.result-action{margin-top:10px}.language-control{right:max(10px, env(safe-area-inset-right));bottom:max(8px, env(safe-area-inset-bottom));z-index:10;color:#8fc9de;cursor:pointer;opacity:.78;background:#020a1cad;border:0;padding:4px 7px;font-size:10px;position:fixed}.language-control kbd{min-width:21px;height:18px;padding:0 4px;font-size:9px}.language-control:hover{color:#f3fbff;opacity:1;background:#071b3be6}.language-control:active{color:#55e7ff;transform:translateY(1px)}.language-control:focus-visible{outline-offset:2px;outline:1px solid #55e7ff}.layout-compact .modal{padding:18px}.layout-compact .hud-label,.layout-compact .control-grid span,.layout-compact .modal-actions,.layout-compact .result-grid small,.layout-compact .node-order small,.layout-compact .tutorial-hint,.layout-compact .chain-line{font-size:15px}.layout-compact .chain-line strong{font-size:17px}.layout-compact .lock-reason{font-size:14px}.layout-tiny .score-label,.layout-tiny .hud-label{font-size:20px}.layout-tiny .score-label{display:none}.layout-tiny .control-grid span,.layout-tiny .modal-actions,.layout-tiny .result-grid small,.layout-tiny .node-order small,.layout-tiny .tutorial-hint{font-size:20px}.layout-tiny .tutorial-hint{min-width:0;max-width:460px}.layout-tiny .result-modal{max-height:500px;overflow-y:auto}.layout-tiny .result-grid{grid-template-columns:1fr}.layout-tiny .result-grid>span:nth-child(odd){border-right:0}@keyframes hint-in{0%{opacity:0;transform:translateY(5px)}}@keyframes chain-break{50%{filter:drop-shadow(0 0 7px #ff4f9a)}}@keyframes transition-title{0%,to{opacity:0;transform:scale(.92)}25%,72%{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important}}
