*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
html,body{position:fixed;inset:0;overflow:hidden;overscroll-behavior:none;background:radial-gradient(ellipse at top,#0e4a5c,#06202b 70%);font-family:"Trebuchet MS","DejaVu Sans",system-ui,sans-serif;color:#e8fbf7;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
canvas{display:block;width:100vw;height:100vh}
#hud{position:fixed;top:0;left:0;right:0;display:flex;justify-content:space-between;padding:10px 64px 0 16px;pointer-events:none;z-index:2}
.stat{display:flex;flex-direction:column;align-items:center;min-width:70px}.stat span{font-size:11px;letter-spacing:2px;opacity:.7}.stat b{font-size:26px}
button{font-family:inherit;color:#e8fbf7;background:#11586b;border:2px solid #7ff0d4;border-radius:14px;cursor:pointer;transition:transform .1s,background .2s}
button:active{transform:scale(.94)}button:hover{background:#176b80}
.icon{position:fixed;top:10px;right:10px;width:44px;height:44px;font-weight:900;font-size:16px;z-index:3}
.big{display:block;width:100%;font-size:22px;font-weight:900;padding:12px 28px;margin:8px 0;background:#ff8f6e;border-color:#ffd0b8;color:#3a1408}
.big:hover{background:#ffa184}.big.alt{background:#5fe0c0;border-color:#c8fff0;color:#06303a}.big small{font-size:12px;font-weight:400}
.small{display:block;width:100%;font-size:16px;padding:8px 18px;margin:6px 0}
.screen{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:10;background:rgba(3,18,24,.72);animation:fade .25s}
.card{background:#0c3c4a;border:3px solid #ffb38a;border-radius:22px;padding:22px 30px;text-align:center;min-width:270px;max-width:92vw;animation:pop .35s cubic-bezier(.3,1.6,.5,1)}
.card h2{color:#ffb38a;margin-bottom:8px;font-size:28px}
.hidden{display:none!important}
@keyframes fade{from{opacity:0}}@keyframes pop{from{transform:scale(.7);opacity:0}}
#titleScreen{background:radial-gradient(ellipse at 50% 30%,rgba(14,74,92,.85),rgba(4,22,30,.95))}
#titleScreen .big{width:220px;animation:pulse 1.6s infinite}
@keyframes pulse{50%{transform:scale(1.06)}}
.logo{display:flex;flex-direction:column;align-items:center;font-size:min(15vw,78px);font-weight:900;line-height:1;letter-spacing:4px;text-shadow:0 6px 0 #06202b,0 0 30px rgba(127,240,212,.35)}
.logo .l1{color:#ffb38a;animation:bob 2.4s ease-in-out infinite}.logo .l2{color:#7ff0d4;animation:bob 2.4s ease-in-out .3s infinite}
@keyframes bob{50%{transform:translateY(-8px) rotate(-1deg)}}
.tag{opacity:.8;letter-spacing:3px;margin:12px 0 22px}.tbest{margin-top:10px;opacity:.85}
.row{display:flex;gap:8px;margin-top:14px}.row .small{width:auto}
.bubbles i{position:absolute;bottom:-40px;width:26px;height:26px;border-radius:7px;opacity:.5;animation:rise 9s linear infinite}
.bubbles i:nth-child(1){left:8%;background:#ff7f6b}.bubbles i:nth-child(2){left:22%;background:#5fe0c0;animation-delay:-2s;animation-duration:11s}
.bubbles i:nth-child(3){left:38%;background:#ffd36e;animation-delay:-5s}.bubbles i:nth-child(4){left:55%;background:#e47fd8;animation-delay:-1s;animation-duration:12s}
.bubbles i:nth-child(5){left:70%;background:#4fb7ff;animation-delay:-7s}.bubbles i:nth-child(6){left:85%;background:#9bd35a;animation-delay:-3s;animation-duration:10s}
.bubbles i:nth-child(7){left:47%;background:#b48cff;animation-delay:-8s}.bubbles i:nth-child(8){left:93%;background:#ff7f6b;animation-delay:-4s;animation-duration:13s}
@keyframes rise{to{transform:translateY(-110vh) rotate(360deg)}}
#hint{position:fixed;left:50%;bottom:6%;transform:translateX(-50%);text-align:center;z-index:4;pointer-events:none;background:rgba(6,32,43,.85);border:2px solid #7ff0d4;border-radius:14px;padding:8px 16px;font-size:15px}
#hint .hand{font-size:30px;animation:drag 1.6s ease-in-out infinite}@keyframes drag{0%{transform:translateY(10px)}60%{transform:translateY(-30px)}100%{transform:translateY(-30px);opacity:0}}
.final{font-size:54px;font-weight:900;color:#ffd36e;text-shadow:0 4px 0 #06202b}
.badge{display:inline-block;background:#ffd36e;color:#3a2a00;font-weight:900;border-radius:20px;padding:4px 14px;animation:pulse 1s infinite}
.stats{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}.stats div{background:#0a3240;border-radius:10px;padding:6px}
.stats span{display:block;font-size:11px;opacity:.7;letter-spacing:1px}.stats b{font-size:20px}
