:root{--hud-bg:#060e20b8;--hud-border:#35c8ff59;--hud-accent:#35c8ff;--hud-text:#dbe9ff;--hud-dim:#8aa6cc}*{box-sizing:border-box}html,body{height:100%;color:var(--hud-text);overscroll-behavior:none;-webkit-user-select:none;user-select:none;background:#03060f;margin:0;padding:0;font-family:Helvetica Neue,PingFang HK,Noto Sans TC,system-ui,sans-serif;overflow:hidden}#app{width:100%;height:100dvh;position:relative}#game-canvas{touch-action:none;width:100%;height:100%;display:block}.hud{pointer-events:none;position:absolute;inset:0}.hud-panel{backdrop-filter:blur(6px);opacity:.72;background:#060e208c;border:1px solid #35c8ff2e;border-radius:10px;min-width:196px;padding:10px 12px 8px;position:absolute;bottom:12px;left:12px}.hud-panel:hover{opacity:1}.hud-title{letter-spacing:.18em;color:var(--hud-dim);font-size:10.5px;font-weight:700}.hud-row{justify-content:space-between;align-items:baseline;gap:14px;margin-top:5px;font-size:11.5px;display:flex}.hud-label{color:var(--hud-dim)}.hud-value{font-variant-numeric:tabular-nums;color:#fff;font-weight:600}.hud-hints{color:var(--hud-dim);border-top:1px solid #35c8ff24;margin:9px 0 0;padding:8px 0 0;font-size:10.5px;line-height:1.65;list-style:none}.display{pointer-events:none;position:absolute;inset:0}.marquee{font-variant-numeric:tabular-nums;text-align:center;white-space:nowrap;background:linear-gradient(#040a18f0,#020610f7);border-radius:.35em;justify-content:space-evenly;align-items:center;gap:.4em;padding:.28em .5em;font-family:SF Mono,Menlo,Consolas,monospace;line-height:1;display:flex;position:absolute;overflow:hidden;transform:translate(-50%,-50%);box-shadow:0 0 .5em #35c8ff59,inset 0 0 1.4em #35c8ff24}.marquee-field{flex:1 1 0;min-width:0}.marquee-label{letter-spacing:.16em;color:var(--hud-dim);font-size:.44em}.marquee-value{color:#eaf6ff;text-shadow:0 0 .35em #35c8ffd9;margin-top:.18em;font-size:1.05em;font-weight:700}.marquee-field:first-child .marquee-value{color:#ffd21e;text-shadow:0 0 .4em #ffd21ee6}.debug-view{pointer-events:none;background:#040812eb;border:1px solid #35c8ff47;border-radius:8px;padding:6px 6px 4px;position:absolute;top:12px;right:12px}.debug-view-caption{letter-spacing:.08em;color:var(--hud-dim);text-align:center;margin-bottom:4px;font-size:10px}.debug-view canvas{border-radius:4px;display:block}#boot-error{color:#ffd9d9;white-space:pre-wrap;background:#3c080cd9;border:1px solid #ff505080;border-radius:10px;padding:12px 14px;font-size:13px;display:none;position:absolute;inset:auto 16px 16px}.hud-asset-error{color:#ffe3b0;pointer-events:none;background:#341e04e6;border:1px solid #ffaa3c99;border-radius:10px;max-width:380px;padding:12px 14px;font-size:12px;line-height:1.55;position:absolute;top:16px;right:16px}.hud-asset-error-title{letter-spacing:.1em;color:#ffc247;margin-bottom:6px;font-weight:700}.hud-asset-error-line{word-break:break-all}.control-bar{padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px));pointer-events:none;justify-content:center;align-items:center;gap:12px;display:flex;position:absolute;inset:auto 0 0}.control-button{pointer-events:auto;color:#eaf6ff;touch-action:none;-webkit-tap-highlight-color:transparent;user-select:none;cursor:pointer;background:#0a142ad1;border:1px solid #35c8ff59;border-radius:12px;min-width:44px;min-height:44px;padding:0 14px;font-size:15px;font-weight:700;line-height:1}.control-button:disabled{opacity:.45;cursor:default}.control-button[data-action=gyro]{font-size:13px}.control-note{color:var(--hud-dim);margin:0;font-size:12px;display:none}@media (orientation:landscape) and (height<=500px){.control-note{display:block}}@media (pointer:coarse){.control-button{min-width:52px;min-height:52px;font-size:18px}.control-button[data-action=gyro]{font-size:15px}}.flow-overlay{text-align:center;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:16px;display:flex;position:absolute;inset:0}.flow-overlay[hidden]{display:none}.flow-overlay .control-button{pointer-events:auto;margin-top:8px;padding:10px 22px;font-size:18px}.flow-title{letter-spacing:.12em;color:#eaf6ff;text-shadow:0 0 .5em #35c8ffcc,0 0 1.2em #ff2fb080;font-size:28px;font-weight:800}.flow-subtitle{letter-spacing:.4em;color:var(--hud-dim);font-size:14px}.flow-line{font-variant-numeric:tabular-nums;color:var(--hud-text);margin:0;font-size:15px}@media (orientation:landscape) and (height<=500px){.flow-title{font-size:22px}}
