*{box-sizing:border-box}html{color-scheme:dark}body{margin:0;background:#0a101a;color:#edf2f7;font-family:system-ui,-apple-system,sans-serif}button,select{font:inherit}button{cursor:pointer;border:1px solid #ffffff24;color:inherit;background:#172333;border-radius:10px;min-height:42px;padding:9px 15px;font-size:13px;font-weight:700}button:hover{background:#25364b}button:disabled{opacity:.55;cursor:wait}button:focus-visible,select:focus-visible,canvas:focus-visible{outline:3px solid #fed27a;outline-offset:3px}[hidden]{display:none!important}.deluxe{max-width:1160px;margin:auto;padding:16px}.masthead{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:12px}.eyebrow{display:block;text-transform:uppercase;letter-spacing:2px;color:#7acfb4;font-size:10px;font-weight:800}.masthead h1{font-size:21px;letter-spacing:-.6px;margin:4px 0 0}.toolbar{display:flex;gap:7px}.toolbar button{min-height:36px;font-size:12px;padding:7px 10px}.statusbar{display:flex;gap:14px;align-items:center;justify-content:space-between;margin-bottom:10px;padding:10px 14px;background:#101b28;border:1px solid #243143;border-radius:12px;font-size:12px}.statusbar strong{color:#ffcf72;font-variant-numeric:tabular-nums}.statusbar span{color:#afc0d3}.screen{position:relative;overflow:hidden;border:1px solid #2b3d50;background:#142331;border-radius:16px;box-shadow:0 22px 60px #0004;isolation:isolate}.screen canvas{width:100%;height:auto;aspect-ratio:16/9;display:block;touch-action:none}.overlay{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:24px;background:linear-gradient(90deg,#081220eb,#081220b8);z-index:4}.overlay .eyebrow{color:#ffd07a;margin-bottom:13px}.overlay h2{font-size:clamp(25px,4.4vw,49px);max-width:650px;letter-spacing:-1.9px;margin:0 0 14px;line-height:1.08}.overlay p{color:#b4c6d9;max-width:500px;line-height:1.7;font-size:14px;margin:0 0 16px}.overlay-actions{display:flex;flex-wrap:wrap;gap:9px;justify-content:center}.primary{background:#ffce76;color:#192029;border:0;min-width:160px;box-shadow:0 6px 20px #ffba5322}.primary:hover{background:#ffdf9c}.secondary{background:#233748}.choice{display:flex;gap:8px;align-items:center;font-size:12px;color:#b2c5d7;margin-bottom:18px}.choice select{background:#172a3c;border:1px solid #3b5369;color:#fff;border-radius:8px;padding:8px 12px;max-width:260px}.load-note{font-size:12px;color:#e5c796;margin-top:12px}.controls{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:12px}.control-group{display:flex;gap:8px}.control{touch-action:none;user-select:none;-webkit-user-select:none;min-width:60px;min-height:48px}.control[aria-pressed=true]{background:#456178;border-color:#ffcd76}.control.action{background:#b6e5d4;color:#16342d}.instructions{margin:14px 0 0;font-size:12px;line-height:1.7;color:#92a8be}.session-tools{display:flex;justify-content:space-between;align-items:center;margin-top:10px}.session-tools small{font-size:11px;color:#657e96}.tactical .eyebrow{color:#e7bb76}.stick{position:relative;border-radius:50%;width:90px;height:90px;background:radial-gradient(circle,#26374955,#172433);border:1px solid #49607455;touch-action:none;flex-shrink:0}.stick i{display:block;position:absolute;width:38px;height:38px;left:calc(50% - 19px);top:calc(50% - 19px);border-radius:50%;border:1px solid #7293b7;background:#55759188;pointer-events:none}.stick span{position:absolute;left:50%;bottom:-20px;transform:translateX(-50%);color:#809bb4;font-size:10px;white-space:nowrap}.touch-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:center}.touch-actions button{min-width:45px;font-size:11px;min-height:42px;padding:8px 10px}.shop{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(580px,94%);border-radius:14px;border:1px solid #47617b;background:#0d1929f5;padding:20px;z-index:3;box-shadow:0 24px 60px #0009}.shop h2{font-size:21px;margin:0 0 6px}.shop p{font-size:12px;line-height:1.5;color:#a4bed5;margin:0 0 12px}.weapons{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.weapons button{padding:12px 5px;display:flex;flex-direction:column;align-items:center;gap:5px;min-height:70px;font-size:11px}.weapons b{color:#ffd28a}.weapons button.owned{border-color:#a8e2d0}.shop .shop-bottom{display:flex;gap:9px;justify-content:space-between;align-items:center;margin-top:12px}.shop .primary{min-width:145px}.shop #shop-note{display:block;margin-top:9px;color:#e5c897;font-size:11px;min-height:15px}.pause-layer{position:absolute;inset:0;background:#081020dd;z-index:5;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px}.pause-layer h2{font-size:24px;margin:0}.fps-help{font-size:10px;color:#a7bdce}.rotate-note{display:none;color:#93aabf;font-size:11px;text-align:center;margin:8px 0}.tactical .controls{margin-bottom:20px}.combat-footer{display:flex;gap:8px;align-items:center}.error{color:#ff9986}body.tactical .screen{border-color:#46515f}body.tactical button.action{background:#efc38b;color:#382819}@media(max-width:650px){.deluxe{padding:9px}.masthead h1{font-size:16px}.eyebrow{font-size:8px;letter-spacing:1.3px}.masthead{gap:6px}.toolbar{gap:5px}.toolbar button{font-size:10px;padding:6px 8px;min-height:33px}.statusbar{font-size:10px;padding:8px 10px;gap:6px}.statusbar span{max-width:43%}.screen{border-radius:10px}.overlay{padding:12px}.overlay h2{font-size:24px;letter-spacing:-1px;margin-bottom:6px}.overlay .eyebrow{margin-bottom:6px}.overlay p{font-size:10px;line-height:1.45;margin-bottom:8px;max-width:330px}.choice{font-size:10px;margin-bottom:7px}.choice select{font-size:11px;padding:5px 8px}.primary,.secondary{min-height:36px;font-size:12px;min-width:120px;padding:7px 13px}.instructions{font-size:10px;margin-top:9px}.control{min-width:45px;min-height:43px;font-size:11px;padding:8px 10px}.control-group{gap:5px}.controls{gap:8px}.stick{width:70px;height:70px}.touch-actions{gap:4px}.touch-actions button{min-width:37px;font-size:9px;min-height:36px;padding:6px}.shop{padding:12px}.shop h2{font-size:17px}.shop p{font-size:10px;margin-bottom:8px}.weapons button{min-height:52px;font-size:9px;padding:7px 3px;gap:3px}.shop .shop-bottom{margin-top:8px}.shop #shop-note{margin-top:6px;min-height:10px;font-size:9px}.shop .primary{min-width:115px}.shop-bottom button{font-size:10px}.rotate-note{display:block}.session-tools button{font-size:10px;min-height:33px}.session-tools small{font-size:9px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}
