
    :host{display:block;width:100%;height:100%;color-scheme:light dark;--ink:#f2f7ff;--muted:#b9c8e8;--panel:rgba(9,18,58,.94);--panel-edge:rgba(140,180,255,.38);--button:#e0231c;--button-ink:#fff;--button-soft:rgba(16,30,80,.85);--shadow:rgba(0,0,12,.55);--focus:#ffd94d;background:#070d2e;color:var(--ink);font-family:"Avenir Next",Avenir,"Trebuchet MS",sans-serif;overflow:hidden;overscroll-behavior:none;touch-action:none;-webkit-tap-highlight-color:transparent}
    *{box-sizing:border-box}button{font:inherit}
    .game-shell{position:relative;width:100vw;height:100vh;height:100svh;overflow:hidden;background:#070d2e;isolation:isolate;touch-action:none}button{touch-action:none}
    canvas{display:block;width:100%;height:100%;touch-action:none}
    .hud{position:absolute;z-index:3;top:max(12px,env(safe-area-inset-top));left:12px;right:12px;display:flex;align-items:flex-start;justify-content:space-between;gap:8px;pointer-events:none}
    .hud-box{min-width:106px;padding:7px 12px 8px;border:2px solid rgba(120,180,255,.55);border-radius:12px;background:rgba(6,14,48,.8);box-shadow:0 0 14px rgba(40,110,255,.35),inset 0 0 12px rgba(40,110,255,.18);text-align:center}
    .hud-box span{display:block;font-size:10px;font-weight:850;letter-spacing:.12em;text-transform:uppercase;color:#9fd0ff}
    .hud-box strong{display:block;font-size:30px;line-height:1.05;font-weight:900;font-variant-numeric:tabular-nums;color:#fff;text-shadow:0 0 10px rgba(120,200,255,.85)}
    .hud-box.balls{border-color:rgba(255,110,120,.55);box-shadow:0 0 14px rgba(255,50,60,.3),inset 0 0 12px rgba(255,50,60,.15)}
    .hud-box.balls span{color:#ffb3ab}
    .hud-box.balls strong{text-shadow:0 0 10px rgba(255,120,120,.85)}
    .hud-box.low strong{color:#ff5d4d}
    .hud-center{display:flex;gap:7px;pointer-events:auto;padding-top:5px}
    .icon-button{width:40px;height:40px;display:grid;place-items:center;padding:0;border:1px solid rgba(160,200,255,.6);border-radius:50%;color:#eaf3ff;background:rgba(6,14,48,.8);cursor:pointer}
    .icon-button svg{width:19px;height:19px;fill:currentColor}
    .icon-button:active{transform:translateY(1px)}
    .icon-button:focus-visible,.primary:focus-visible,.secondary:focus-visible,.drop-btn:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
    .banner{position:absolute;z-index:3;top:calc(max(12px,env(safe-area-inset-top)) + 78px);left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100vw - 20px);padding:6px 14px;border-radius:999px;border:1px solid rgba(255,217,77,.65);background:rgba(30,20,0,.55);color:#ffd94d;font-size:clamp(11px,2.6vw,14px);font-weight:850;letter-spacing:.09em;text-transform:uppercase;text-align:center;text-shadow:0 0 8px rgba(255,190,0,.6);pointer-events:none}
    .caught-chip{position:absolute;z-index:3;top:calc(max(12px,env(safe-area-inset-top)) + 118px);left:50%;transform:translateX(-50%);padding:4px 12px;border-radius:999px;background:rgba(6,14,48,.74);border:1px solid rgba(140,180,255,.4);color:#cfe4ff;font-size:12px;font-weight:800;letter-spacing:.06em;pointer-events:none}
    .controls{position:absolute;z-index:3;left:0;right:0;bottom:max(14px,env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:center;padding:0 14px}
    .drop-btn{flex:0 1 240px;min-height:64px;border:3px solid #ff8a7a;border-radius:16px;background:linear-gradient(#f0442f,#c2170d);color:#fff;font-size:21px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;box-shadow:0 6px 0 #6d0a04,0 0 22px rgba(255,60,40,.45)}
    .drop-btn:active{transform:translateY(3px);box-shadow:0 3px 0 #6d0a04,0 0 22px rgba(255,60,40,.45)}
    .drop-btn:disabled{opacity:.45;cursor:default}
    .overlay{position:absolute;z-index:4;inset:0;display:grid;place-items:center;padding:max(76px,calc(env(safe-area-inset-top) + 64px)) 20px max(110px,env(safe-area-inset-bottom));pointer-events:none}
    .card{width:min(420px,100%);max-height:calc(100svh - 210px);overflow-y:auto;padding:24px 22px 20px;color:var(--ink);background:var(--panel);border:1px solid var(--panel-edge);border-radius:22px;box-shadow:0 18px 50px var(--shadow),0 0 24px rgba(40,110,255,.25);text-align:center;pointer-events:auto;scrollbar-width:thin}
    .card[hidden]{display:none}
    .eyebrow{margin:0 0 8px;color:#ffd94d;font-size:12px;font-weight:850;letter-spacing:.1em;text-transform:uppercase}
    h1{margin:0;font-family:"Bungee",Georgia,serif;font-size:clamp(32px,8.5vw,44px);line-height:1;letter-spacing:.01em}
    .intro{margin:12px auto 14px;max-width:36ch;color:var(--muted);font-size:14px;line-height:1.45}
    .controls-note{display:flex;justify-content:center;flex-wrap:wrap;gap:7px;margin-bottom:16px;color:var(--muted);font-size:11px;font-weight:700}
    .key{padding:4px 8px;border:1px solid var(--panel-edge);border-radius:7px;background:var(--button-soft)}
    .actions{display:grid;gap:9px}
    .primary,.secondary{min-height:49px;border-radius:14px;cursor:pointer;font-weight:850;letter-spacing:.02em}
    .primary{border:0;color:var(--button-ink);background:var(--button);box-shadow:0 6px 0 rgba(0,0,0,.3)}
    .primary:active{transform:translateY(2px);box-shadow:0 4px 0 rgba(0,0,0,.3)}
    .secondary{border:1px solid var(--panel-edge);color:var(--ink);background:transparent}
    .result-score{margin:17px 0 6px;display:grid;grid-template-columns:1fr 1fr}
    .result-score>div{padding:8px}
    .result-score>div+div{border-left:1px solid var(--panel-edge)}
    .result-score strong{display:block;font-size:34px;line-height:1;font-variant-numeric:tabular-nums}
    .result-score span{display:block;margin-top:5px;color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
    .toast{position:absolute;z-index:5;left:50%;bottom:calc(max(14px,env(safe-area-inset-bottom)) + 82px);transform:translateX(-50%);width:max-content;max-width:calc(100vw - 32px);padding:9px 14px;border-radius:999px;color:#fff;background:rgba(10,20,64,.94);border:1px solid rgba(140,180,255,.45);font-size:13px;font-weight:750;text-align:center;pointer-events:none;opacity:0;transition:opacity .18s ease}
    .toast.show{opacity:1}
    @media(min-width:431px){.hud{padding-right:158px}}
    @media(max-width:620px){.controls{bottom:calc(max(14px,env(safe-area-inset-bottom)) + 58px)}.toast{bottom:calc(max(14px,env(safe-area-inset-bottom)) + 142px)}.overlay{padding-bottom:196px}}
    @media(max-width:430px){#qdMenuBtn{display:none}}
    @media(max-width:430px){.hud-box{width:88px;min-width:0;padding:6px 8px}.hud-box strong{font-size:24px}.icon-button{width:34px;height:34px}.banner{top:calc(max(12px,env(safe-area-inset-top)) + 66px)}.caught-chip{top:calc(max(12px,env(safe-area-inset-top)) + 104px)}}
    @media(prefers-reduced-motion:reduce){.toast{transition:none}}
    