html,body{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background:#0b1622;height:100%;margin:0;overflow:hidden}#game{inset:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);position:fixed}.action-panel{color:#cfe8ff;background:#0b1622eb;border:1px solid #3a5470;border-radius:10px;flex-direction:column;gap:8px;min-width:8.5rem;padding:10px;font:15px/1.3 system-ui,sans-serif;display:flex;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.action-panel[hidden]{display:none}.action-panel[data-side=left]{left:8px;right:auto}.action-panel button{min-height:44px;color:inherit;font:inherit;cursor:pointer;background:#1c3550;border:1px solid #4a90e2;border-radius:8px;padding:0 16px;font-weight:600}.action-panel button:active{background:#2a4d73}.forecast{text-align:center;grid-template-columns:1fr auto 1fr;gap:4px 10px;display:grid}.forecast .name{font-weight:600}.forecast .label{color:#7f9bb5;font-size:13px}.forecast .value{font-variant-numeric:tabular-nums}.forecast .weapon{color:#a9c4dd;font-size:13px}.action-panel .title{text-align:center;font-weight:600}.action-panel .confirm-lines{font-variant-numeric:tabular-nums;flex-direction:column;gap:2px;font-size:13px;display:flex}.action-panel .notice{color:#ffd166;text-align:center;font-size:13px;font-weight:600}.unit-summary{color:#cfe8ff;pointer-events:none;background:#0b1622eb;border:1px solid #3a5470;border-left-width:4px;border-radius:10px;min-width:9rem;max-width:13rem;padding:8px 10px;font:13px/1.35 system-ui,sans-serif;position:absolute;top:48px;left:8px}.unit-summary[hidden]{display:none}.unit-summary[data-side=right]{left:auto;right:8px}.unit-summary[data-faction=player]{border-left-color:#3b6fd8}.unit-summary[data-faction=enemy]{border-left-color:#c0392b}.unit-summary .title{font-size:15px;font-weight:600}.unit-summary .gear{color:#a9c4dd}.unit-summary .stats{font-variant-numeric:tabular-nums;grid-template-columns:repeat(4,auto 1fr);gap:1px 6px;margin-top:4px;display:grid}.unit-summary .stats .label{color:#7f9bb5}.end-turn-button{color:#cfe8ff;cursor:pointer;background:#1c3550;border:1px solid #4a90e2;border-radius:8px;min-height:36px;padding:0 14px;font:600 14px/1 system-ui,sans-serif;position:absolute;top:6px;right:8px}.end-turn-button[hidden]{display:none}.result-screen{color:#cfe8ff;text-align:center;background:#0b1622d9;flex-direction:column;justify-content:center;align-items:center;gap:12px;font:16px/1.4 system-ui,sans-serif;display:flex;position:absolute;inset:0}.result-screen h1{letter-spacing:.04em;margin:0;font-size:clamp(36px,9vw,64px)}.result-screen[data-outcome=victory] h1{color:#8fd0ff}.result-screen[data-outcome=defeat] h1{color:#ff8a80}.result-screen p{margin:0}.result-screen button{min-height:44px;color:inherit;cursor:pointer;background:#1c3550;border:1px solid #4a90e2;border-radius:8px;margin-top:8px;padding:0 28px;font:600 16px/1 system-ui,sans-serif}
