:root{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;line-height:1.4;font-weight:500;color:#ffffffe6;background:#0b1020;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html,body{margin:0;padding:0;width:100%;height:100%;overflow:hidden;touch-action:manipulation}#app{position:relative;width:100%;height:100%}.game-canvas{position:absolute;inset:0;width:100%;height:100%;display:block}.talk-layer{position:absolute;inset:0;z-index:9;pointer-events:none}.talk-bubble{position:absolute;max-width:160px;padding:4px 8px;border-radius:8px;background:#f8fcfff5;color:#0b1020;font-size:9px;line-height:1.2;text-align:center;text-transform:none;border:2px solid var(--talk-color, rgba(64, 120, 180, .9));box-shadow:0 2px 6px #030a144d;transform:translate(-50%,-110%);opacity:1;transition:opacity .2s linear}.config-overlay{position:absolute;inset:0;z-index:12;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 20% 20%,#14233cd1,#050810eb);opacity:0;pointer-events:none;transition:opacity .2s ease}.config-overlay.show{opacity:1;pointer-events:auto}.config-panel{width:min(420px,90vw);padding:20px;border-radius:12px;border:1px solid rgba(154,214,255,.4);background:linear-gradient(140deg,#080e1af5,#060a16eb),repeating-linear-gradient(0deg,#ffffff08 0 2px,#ffffff03 2px 4px);box-shadow:0 16px 40px #00000073;font-family:"Press Start 2P",ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;color:#e6f4ff;text-transform:uppercase}.config-title{font-size:12px;margin-bottom:18px;letter-spacing:1px}.config-field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.config-field label{font-size:8px;color:#e6f4ffb3}.config-field select,.config-field input{font-family:inherit;font-size:9px;padding:8px 10px;border-radius:6px;border:1px solid rgba(154,214,255,.5);background:#060c18e6;color:#f5f7ff}.config-field input::placeholder{color:#e6f4ff66}.config-hint{font-size:7px;color:#e6f4ff8c;text-transform:none}.config-actions{display:flex;justify-content:flex-end}.config-button{border:1px solid rgba(154,214,255,.6);background:#070f1ed9;color:#9ad6ff;font-family:inherit;font-size:9px;padding:8px 14px;cursor:pointer;text-transform:uppercase}.config-button:hover{background:#0f1c32e6}.hud{position:absolute;bottom:0;left:0;right:0;z-index:10;pointer-events:none;font-family:"Press Start 2P",ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:9px;line-height:1.4;color:#e6f4ff;text-transform:uppercase}.hud-frame{pointer-events:auto;width:100%;border-top:2px solid #9ad6ff;background:linear-gradient(135deg,#0a1428eb,#060a16e6),repeating-linear-gradient(180deg,#ffffff0a 0 2px,#ffffff05 2px 4px);box-shadow:0 -4px 16px #00000059;display:flex;flex-direction:column}.hud-active--inactive{opacity:.6}.hud-bar-row{display:flex;align-items:center;gap:12px;padding:6px 12px}.hud--collapsed .hud-bar-primary{padding-bottom:calc(6px + env(safe-area-inset-bottom))}.hud:not(.hud--collapsed) .hud-bar-primary{padding-bottom:4px}.hud-bar-secondary{border-top:1px solid rgba(154,214,255,.3);padding-bottom:calc(6px + env(safe-area-inset-bottom))}.hud-body{display:flex;flex-direction:column}.hud--collapsed .hud-body{display:none}.hud-player{display:inline-flex;align-items:center;gap:5px;font-size:9px;white-space:nowrap;min-width:0;max-width:110px}.hud-player-name{overflow:hidden;text-overflow:ellipsis}.hud-player-color{width:10px;height:10px;border-radius:2px;border:1px solid rgba(255,255,255,.6);box-shadow:0 0 4px #ffffff40;flex-shrink:0}.hud-stat{display:inline-flex;align-items:center;gap:4px;white-space:nowrap;font-size:9px}.hud-round span:last-child{color:#9ef0aa}.hud-match{max-width:220px}.hud-match span:last-child{color:#e6f4ffe6}.hud-stat-label{font-size:7px;color:#e6f4ff99}.hud-stat span:last-child:not(.hud-stat-label):not(.wind-arrow){color:#fff}.hud-stat-bar{display:inline-flex;align-items:center;gap:4px}.hud-bar{position:relative;width:48px;height:6px;border:1px solid rgba(154,214,255,.45);background:#070c18cc;overflow:hidden;flex-shrink:0}.hud-bar-fill{position:absolute;inset:0;transform-origin:left;transform:scaleX(0)}.hud-bar-energy{background:linear-gradient(90deg,#3bc774,#9ef0aa)}.hud-bar-fuel{background:linear-gradient(90deg,#ffd166,#ff9d4d)}.hud-collapse-toggle{margin-left:auto;border:1px solid rgba(154,214,255,.6);background:#050a14a6;color:#9ad6ff;font-family:inherit;font-size:9px;padding:2px 7px;cursor:pointer;white-space:nowrap;line-height:1.2;flex-shrink:0}.hud-collapse-toggle:hover{background:#0a1428d1}.wind-arrow{position:relative;display:inline-block;width:18px;height:0;border-top:2px solid #e6f4ff}.wind-arrow:after{content:"";position:absolute;right:-2px;top:-4px;border:4px solid transparent;border-left-color:#e6f4ff}.wind-left{transform:scaleX(-1)}.wind-right{transform:none}.wind-calm{border-top-style:dotted}.wind-calm:after{border-left-color:transparent}.hud-inventory-inline{display:flex;align-items:center;gap:6px}.hud-item-inline{display:inline-flex;align-items:center;gap:3px;font-size:7px;color:#e6f4ffa6;border:1px solid rgba(154,214,255,.3);background:#050a1499;padding:2px 5px}.hud-item-inline span{color:#fff;font-size:8px}.hud-audio,.hud-talk{display:flex;align-items:center;gap:6px;font-size:7px;color:#e6f4ffb3}.hud-audio-toggle{border:1px solid rgba(154,214,255,.6);background:#050a14a6;color:#9ad6ff;font-family:inherit;font-size:7px;padding:2px 6px;cursor:pointer;line-height:1.2}.hud-audio-toggle:hover{background:#0a1428d1}.hud-talk-toggle{border:1px solid rgba(154,214,255,.6);background:#050a14a6;color:#9ad6ff;font-family:inherit;font-size:7px;padding:2px 6px;cursor:pointer;line-height:1.2}.hud-talk-toggle:hover{background:#0a1428d1}.hud-audio input[type=range]{max-width:70px}.hud-debug-inline{display:flex;align-items:center;gap:6px;margin-left:auto;font-size:7px;color:#e6f4ff99}.hud-debug-inline input[type=range]{max-width:80px}.hud-toggle{display:inline-flex;align-items:center;gap:4px}input[type=range]{accent-color:#9ad6ff}@media(max-width:820px){.hud{font-size:8px}.hud-bar-row{gap:8px;padding:5px 8px}.hud-stat{font-size:8px}.hud-stat-label{font-size:6px}.hud-bar{width:36px;height:5px}.hud-player{font-size:8px}.hud-debug-inline{display:none}.hud-audio input[type=range]{max-width:54px}.wind-arrow{width:14px}}@media(max-width:520px){.hud-bar-primary{flex-wrap:wrap;row-gap:4px}.hud-bar{width:30px}.hud-inventory-inline{display:none}.hud-player{max-width:80px}.hud-collapse-toggle{min-width:32px;min-height:32px;display:inline-flex;align-items:center;justify-content:center}}.death-banner{position:absolute;left:50%;top:40%;transform:translate(-50%,-50%) scale(.95);text-align:center;letter-spacing:.08em;text-transform:uppercase;opacity:0;transition:opacity .2s ease,transform .2s ease;pointer-events:none;z-index:12}.death-banner.show{opacity:1;transform:translate(-50%,-50%) scale(1)}.death-title{font-size:24px;font-weight:700;text-shadow:0 0 12px rgba(255,120,80,.6)}.death-subtitle{margin-top:4px;font-size:12px;color:#fffc}.turn-banner{position:absolute;left:50%;top:32%;transform:translate(-50%,-50%) scale(.95);text-align:center;letter-spacing:.12em;text-transform:uppercase;opacity:0;transition:opacity .2s ease,transform .2s ease;pointer-events:none;z-index:12;padding:10px 18px;border:1px solid rgba(170,210,255,.35);background:#060c1aad;box-shadow:0 10px 18px #0006}.turn-banner.show{opacity:1;transform:translate(-50%,-50%) scale(1)}.turn-title{font-size:20px;font-weight:700;text-shadow:0 0 12px rgba(120,200,255,.6)}.turn-subtitle{margin-top:4px;font-size:10px;color:#e6f4ffb3;letter-spacing:.2em}.victory-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#040a16c7;opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:13}.victory-overlay.show{opacity:1;pointer-events:auto}.victory-panel{display:flex;flex-direction:column;gap:10px;padding:18px 20px;border:2px solid rgba(154,214,255,.7);background:linear-gradient(160deg,#0c162cf2,#060c1af5),repeating-linear-gradient(0deg,#ffffff0a 0 2px,#ffffff05 2px 4px);box-shadow:0 12px 28px #0000008c;text-align:center;min-width:240px}.victory-title{font-size:14px;letter-spacing:.12em;text-transform:uppercase;color:#e6f4ffbf}.victory-subtitle{font-size:20px;text-transform:uppercase;text-shadow:0 0 10px rgba(255,180,120,.4)}.victory-stats{display:flex;flex-direction:column;gap:6px;font-size:9px;letter-spacing:.05em;text-transform:uppercase}.victory-row{display:flex;justify-content:space-between;gap:10px;align-items:center}.victory-name{flex:1;text-align:left}.victory-stat{min-width:60px;text-align:right;color:#e6f4ffbf}.victory-restart{align-self:center;border:1px solid rgba(154,214,255,.8);background:#0a1224d9;color:#9ad6ff;font-family:inherit;font-size:9px;padding:6px 12px;cursor:pointer;text-transform:uppercase;letter-spacing:.08em}.victory-restart:hover{background:#121c34e6}.victory-hint{font-size:8px;color:#e6f4ff99;text-transform:uppercase;letter-spacing:.08em}.shop-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#030812db;opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:14}.shop-overlay.show{opacity:1;pointer-events:auto}.shop-panel{width:min(900px,92vw);max-height:82vh;display:flex;flex-direction:column;gap:12px;padding:18px 20px;border:2px solid rgba(154,214,255,.8);background:linear-gradient(160deg,#0c182ef5,#060c18f5),repeating-linear-gradient(180deg,#ffffff0a 0 2px,#ffffff05 2px 4px);box-shadow:0 14px 32px #0000008c;font-family:"Press Start 2P",ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:9px;text-transform:uppercase;color:#e6f4ff}.shop-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.shop-score{display:flex;flex-wrap:wrap;gap:10px;border:1px solid rgba(154,214,255,.35);padding:6px 10px;background:#050c1a99;font-size:8px;letter-spacing:.08em}.match-score-row{display:flex;justify-content:space-between;gap:8px;min-width:140px}.match-score-name{flex:1;text-align:left}.match-score-value{color:#9ef0aa}.shop-title{font-size:12px;letter-spacing:.12em;color:#e6f4ffd9}.shop-cash{font-size:10px;color:#9ef0aa;border:1px solid rgba(154,214,255,.4);padding:4px 8px;background:#050c1abf}.shop-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.shop-tabs{display:inline-flex;gap:6px}.shop-tab{border:1px solid rgba(154,214,255,.6);background:#050a1499;color:#e6f4ffcc;font-family:inherit;font-size:8px;padding:4px 8px;cursor:pointer;text-transform:uppercase;letter-spacing:.08em}.shop-tab.is-active{background:#12203ce6;color:#fff;box-shadow:0 0 8px #9ad6ff4d}.shop-players{display:inline-flex;gap:6px;flex-wrap:wrap}.shop-player{border:1px solid rgba(154,214,255,.5);background:#060c18b3;color:#e6f4ffbf;font-family:inherit;font-size:8px;padding:4px 8px;cursor:pointer;text-transform:uppercase;letter-spacing:.05em;box-shadow:inset 0 0 0 1px #0003}.shop-player:before{content:"";display:inline-block;width:8px;height:8px;margin-right:6px;border-radius:2px;background:var(--player-color, #9ad6ff);box-shadow:0 0 6px #ffffff4d;vertical-align:middle}.shop-player.is-active{border-color:#9ad6ffd9;color:#fff;background:#12203ceb}.shop-toggle{display:inline-flex;align-items:center;gap:6px;font-size:8px;color:#e6f4ffb3;margin-left:auto}.shop-list{display:flex;flex-direction:column;gap:8px;overflow:auto;padding-right:4px}.shop-row{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:10px;padding:8px 10px;border:1px solid rgba(154,214,255,.3);background:#050a148c}.shop-item-name{font-size:9px;color:#fff}.shop-item-desc{font-size:7px;color:#e6f4ff73;font-style:italic}.shop-item-meta{font-size:7px;color:#e6f4ff99}.shop-item-bundle{color:#ffd166;font-weight:700;letter-spacing:.02em}.shop-count{font-size:8px;color:#ffd166;min-width:52px;text-align:right}.shop-actions{display:inline-flex;gap:6px}.shop-action{border:1px solid rgba(154,214,255,.6);background:#0a1224d9;color:#9ad6ff;font-family:inherit;font-size:7px;padding:4px 8px;cursor:pointer;text-transform:uppercase;letter-spacing:.06em}.shop-action:disabled{opacity:.4;cursor:not-allowed}.shop-footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.shop-hint{font-size:7px;color:#e6f4ff8c}.shop-continue{border:1px solid rgba(154,214,255,.8);background:#0a1224d9;color:#9ad6ff;font-family:inherit;font-size:9px;padding:6px 12px;cursor:pointer;text-transform:uppercase;letter-spacing:.08em}.shop-continue:hover{background:#121c34e6}.shop-empty{text-align:center;padding:20px;color:#e6f4ff99}@media(max-width:720px){.shop-row{grid-template-columns:1fr;align-items:flex-start}.shop-actions{justify-content:flex-start}.shop-count{text-align:left}.shop-footer{flex-direction:column;align-items:stretch}.shop-continue{padding:10px 14px;font-size:10px;text-align:center}.shop-toggle{margin-left:0}.shop-action{padding:6px 10px;font-size:8px}.shop-tab,.shop-player{padding:6px 10px}.shop-panel{max-height:90vh}}@media(max-width:420px){.shop-header,.shop-controls{flex-direction:column;align-items:flex-start}}.touch-controls{position:absolute;left:0;right:0;bottom:44px;display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:12px;padding:12px;padding-left:calc(12px + env(safe-area-inset-left));padding-right:calc(12px + env(safe-area-inset-right));pointer-events:none;z-index:11}.touch-controls-hidden{display:none}.touch-cluster{pointer-events:auto;display:flex;flex-direction:column;gap:8px}.touch-cluster-left{align-items:flex-start}.touch-cluster-right{align-items:flex-end}.touch-row{display:flex;gap:8px}.touch-label{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#fff9}.touch-button{min-width:48px;min-height:48px;padding:10px 14px;border-radius:12px;border:1px solid rgba(255,255,255,.3);background:#0c1224cc;color:#ffffffe6;font-size:16px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;touch-action:none;-webkit-user-select:none;user-select:none}.touch-button:active{transform:translateY(1px);background:#161e3ae6}.touch-fire{min-width:86px;min-height:54px;font-size:15px;letter-spacing:.08em;flex:1}.touch-weapon{min-width:54px;min-height:54px;font-size:10px;letter-spacing:.06em}@media(orientation:portrait){.touch-controls{padding:16px;padding-left:calc(16px + env(safe-area-inset-left));padding-right:calc(16px + env(safe-area-inset-right))}.touch-button{min-width:56px;min-height:56px}.touch-fire{min-width:100px}.victory-restart,.config-button{padding:10px 16px;font-size:10px}.config-field select,.config-field input{padding:10px 12px;font-size:10px}}
