:root{color-scheme:dark;--bg:#071f23;--card:#092c2d;--teal:#39d0af;--yellow:#ffd775;--white:#effff9;--sub:#acd2c9}
*{box-sizing:border-box}html{overscroll-behavior:none}body{margin:0;background:radial-gradient(ellipse at 50% 5%,#1e6454,#071f23 62%);color:var(--white);font-family:Inter,system-ui,-apple-system,'Segoe UI',sans-serif;overflow-x:hidden}.app{display:flex;flex-direction:column;align-items:center;gap:10px;padding:8px 12px 16px;min-height:100dvh}.header{width:min(100%,740px);display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:54px}.brand{display:flex;gap:8px;align-items:center}.logo{font-size:29px;filter:drop-shadow(0 3px 8px #0005)}.brand strong{font-size:clamp(14px,3vw,22px);letter-spacing:.7px;white-space:nowrap}.brand em{font-style:normal;color:var(--yellow)}.brand small{display:block;color:var(--sub);font-size:10px;letter-spacing:1px}.top-actions{display:flex;gap:6px;align-items:center}button{cursor:pointer;font:inherit;touch-action:manipulation}.icon-button,.shop-btn{border:1px solid #427e73;background:#154b47;color:white;border-radius:11px;padding:9px;font-size:15px}.shop-btn{font-size:12px;font-weight:900;background:linear-gradient(110deg,#2b6859,#126b58);white-space:nowrap}.game-area{width:min(100%,480px,calc((100dvh - 147px)*.6));aspect-ratio:480/800;max-height:calc(100dvh - 147px);position:relative;border-radius:19px;overflow:hidden;border:3px solid #63bda27a;box-shadow:0 20px 60px #0007,0 0 0 5px #0002;background:#b9f2e1}canvas{display:block;width:100%;height:100%;touch-action:none;cursor:crosshair}.scoreboard{position:absolute;z-index:2;left:8px;top:8px;right:8px;display:flex;gap:6px;pointer-events:none}.scorebox{flex:1;min-width:0;text-align:center;background:#062d3eac;box-shadow:inset 0 1px #ffffff25;border:1px solid #ffffff44;border-radius:10px;padding:6px 3px;backdrop-filter:blur(5px)}.scorebox small{font-size:9px;font-weight:800;letter-spacing:1px;color:#d4fff2;display:block}.scorebox strong{display:block;font-size:19px;letter-spacing:1px;color:#fff;text-shadow:0 1px 4px #0006}#lives{font-size:12px;letter-spacing:-3px;white-space:nowrap}.effect-chips{position:absolute;z-index:2;top:64px;left:10px;display:flex;gap:7px;pointer-events:none}.chip{background:#ffaf24db;border:1px solid #fff9;font-weight:900;color:#401a00;border-radius:10px;padding:5px 10px;font-size:13px}.frost{background:#acefffda;color:#064c7d}.hidden{display:none!important}.pause-floating{position:absolute;z-index:3;right:10px;top:66px;border-radius:11px;background:#0b415cc7;border:1px solid #ffffff77;color:white;font-size:22px;width:41px;height:40px}.overlay{position:absolute;inset:0;display:grid;place-items:center;background:linear-gradient(180deg,#062a34a8,#062d36c8);z-index:5;padding:12px}.overlay.hidden{display:none}.dialog{width:min(100%,390px);max-height:94%;overflow-y:auto;text-align:center;padding:23px 18px;border:1px solid #c0fff46b;border-radius:22px;background:linear-gradient(135deg,#0c4040f5,#112b40f8);box-shadow:0 20px 70px #0009}.dialog-flower{font-size:39px;margin-bottom:8px}.dialog h1{margin:0;font-size:31px;line-height:1.1;font-weight:1000;letter-spacing:1.2px;color:#fff}.subtitle{color:#bfe3db;font-size:13px;line-height:1.6;margin:10px 0 20px}.primary,.outline{width:100%;border-radius:12px;padding:13px;margin-bottom:9px;font-weight:900;letter-spacing:.6px}.primary{border:0;color:#102c28;background:linear-gradient(120deg,#ffde78,#ffac6e);box-shadow:0 6px 20px #fbc45d40}.outline{background:#1b5653;border:1px solid #96f1cc70;color:#fff}.instructions{font-size:11px;color:#b3d9cc;line-height:1.75;margin-bottom:0}.result-line{border-radius:12px;background:#183e46;padding:12px;color:#ffe6a1;font-weight:800;margin:10px 0}.shop-panel{text-align:left;padding:17px}.shop-heading{display:flex;justify-content:space-between;align-items:start;gap:10px}.shop-heading h2{margin:3px 0;font-size:23px}.eyebrow{font-size:9px;letter-spacing:2px;color:#b5ded2}.close{background:#245d5c;border:1px solid #80bbac65;color:white;padding:8px 12px;border-radius:9px}.shop-balance{background:#296b60;padding:10px;border-radius:10px;font-size:14px}.shop-section-title{font-size:11px;letter-spacing:1.3px;text-transform:uppercase;color:#aff5d8;margin:17px 0 9px}.shop-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.shop-item{border:1px solid #ffffff40;background:#ffffff12;border-radius:12px;padding:10px;display:flex;flex-direction:column;align-items:start;gap:5px}.shop-item.current{border-color:#ffd76d;background:#ffd76d12}.shop-icon{font-size:29px}.shop-name{font-size:12px;font-weight:800}.shop-cost{font-size:10px;color:#c1ebe3}.shop-item button{width:100%;margin-top:3px;background:#62ccad;border:0;border-radius:8px;font-size:11px;color:#05392d;padding:8px;font-weight:900}.shop-item button:disabled{opacity:.55;cursor:default}.shop-note{font-size:10px;line-height:1.6;color:#b6d6cf}.footer{display:flex;gap:12px;justify-content:space-between;width:min(100%,740px);font-size:11px;color:#addbd1;flex-wrap:wrap}@media(max-width:540px){.brand strong{font-size:14px}.brand small{font-size:9px}.logo{font-size:23px}.icon-button{padding:7px}.shop-btn{padding:8px;font-size:11px}.footer{justify-content:center;text-align:center;font-size:10px}.header{min-height:45px}.game-area{width:min(100%,480px,calc((100dvh - 134px)*.6));max-height:calc(100dvh - 134px)}}@media(max-height:660px){.app{gap:5px}.header{min-height:40px}.game-area{width:min(100%,480px,calc((100dvh - 116px)*.6));max-height:calc(100dvh - 116px)}.footer{font-size:10px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* v1.4 hero selection and throwing feedback */
.character-select { margin:0 0 12px; padding:8px 10px 12px; border:1px solid #a3d6c87a; border-radius:14px; }
.character-select legend { font-size:10px; font-weight:800; letter-spacing:1.5px; padding:0 8px; color:#d6fff1; }
.gender-choices { display:flex; gap:10px; }
.gender-btn { flex:1; display:flex; align-items:center; justify-content:center; gap:8px; border:2px solid #d9fff345; border-radius:11px; color:#e9fff5; background:#14514b; font-weight:800; font-size:14px; padding:8px 4px; }
.gender-btn span { font-size:22px; }
.gender-btn.selected { color:#082b25; background:#ffe39d; border-color:#fff8c9; box-shadow:0 0 0 2px #ffd05e33; }
.gender-btn:focus-visible,.primary:focus-visible,.outline:focus-visible { outline:3px solid #fff; outline-offset:2px; }
