:root{--bg: #070d1a;--panel: rgba(8, 15, 32, .88);--border: rgba(255,255,255,.12);--cyan: #38bdf8;--blue: #2563eb;--green: #10b981;--red: #ef4444;--gold: #f59e0b;--font: "Outfit", -apple-system, sans-serif;--font-title: "Bebas Neue", "Outfit", sans-serif}*{box-sizing:border-box;margin:0;padding:0;user-select:none;-webkit-user-select:none;touch-action:none}html,body{width:100%;height:100%;overflow:hidden;background:var(--bg);font-family:var(--font);color:#fff}#canvas-container{position:absolute;inset:0;z-index:1}#gesture-layer{position:absolute;inset:0;z-index:5;cursor:crosshair;touch-action:none}#trail-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}#power-bar-wrap{position:absolute;bottom:140px;left:50%;transform:translate(-50%);width:180px;background:#000000bf;border:1.5px solid rgba(255,255,255,.2);border-radius:99px;height:28px;display:flex;align-items:center;padding:4px;gap:8px;pointer-events:none;backdrop-filter:blur(8px);overflow:hidden}#power-bar-fill{height:100%;width:0%;border-radius:99px;background:linear-gradient(90deg,#10b981,#f59e0b 55%,#ef4444);transition:width .04s linear;flex-shrink:0}#power-label{font-size:.58rem;font-weight:900;letter-spacing:1px;color:#ffffff8c;padding-right:8px;white-space:nowrap;flex-shrink:0}#title-screen{position:absolute;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 50% 0%,rgba(37,99,235,.38) 0%,transparent 60%),radial-gradient(ellipse at 20% 100%,rgba(16,185,129,.18) 0%,transparent 50%),linear-gradient(180deg,#050a14,#0a1428,#060c1a);overflow:hidden}#title-screen:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0px,transparent 58px,rgba(255,255,255,.022) 58px,rgba(255,255,255,.022) 60px);pointer-events:none}.title-content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:18px;padding:40px 20px;text-align:center}.title-badge{font-size:.68rem;font-weight:800;letter-spacing:3px;text-transform:uppercase;color:var(--gold);background:#f59e0b1a;border:1px solid rgba(245,158,11,.3);padding:5px 16px;border-radius:99px;animation:fadeSlideDown .6s ease both}.title-ball{animation:ballBounce 1.4s cubic-bezier(.28,.84,.42,1) infinite,fadeSlideDown .7s .1s ease both}.ball-emoji{font-size:5rem;display:block;filter:drop-shadow(0 0 28px rgba(56,189,248,.55)) drop-shadow(0 6px 18px rgba(0,0,0,.8))}@keyframes ballBounce{0%,to{transform:translateY(0) scale(1)}40%{transform:translateY(-20px) scale(1.06)}80%{transform:translateY(0) scale(.96)}}.title-logo{font-family:var(--font-title);font-size:clamp(3.2rem,13vw,6rem);line-height:.88;letter-spacing:4px;background:linear-gradient(180deg,#fff,#93c5fd 55%,#2563eb);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 4px 28px rgba(37,99,235,.5));animation:fadeSlideUp .7s .2s ease both}.title-logo-sub{font-family:var(--font-title);background:linear-gradient(180deg,#fbbf24,#d97706);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:8px;display:block;margin-top:-2px}.title-tagline{font-size:.95rem;font-weight:600;color:#ffffff80;letter-spacing:1px;animation:fadeSlideUp .7s .35s ease both}.title-cta{display:flex;align-items:center;gap:12px;background:linear-gradient(135deg,#2563eb,#1d4ed8);border:2px solid rgba(96,165,250,.5);color:#fff;padding:18px 44px;border-radius:99px;font-family:var(--font);font-size:1.1rem;font-weight:900;letter-spacing:2px;cursor:pointer;box-shadow:0 0 40px #2563eb8c,0 8px 28px #00000080;animation:fadeSlideUp .7s .5s ease both,ctaPulse 2.8s 1.2s ease-in-out infinite;transition:transform .15s ease;touch-action:auto}.title-cta:active{transform:scale(.96)}.cta-icon{font-size:1rem;animation:iconPulse 1.4s ease-in-out infinite}.cta-text{font-family:var(--font-title);font-size:1.25rem;letter-spacing:3px}@keyframes ctaPulse{0%,to{box-shadow:0 0 40px #2563eb8c,0 8px 28px #00000080}50%{box-shadow:0 0 65px #2563ebd9,0 10px 38px #0009}}@keyframes iconPulse{0%,to{transform:translate(0)}50%{transform:translate(5px)}}.title-footer{font-size:.65rem;font-weight:600;letter-spacing:2px;color:#ffffff38;text-transform:uppercase;animation:fadeSlideUp .7s .65s ease both}@keyframes fadeSlideDown{0%{opacity:0;transform:translateY(-18px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}#title-screen.hiding{animation:titleFadeOut .5s ease forwards;pointer-events:none}@keyframes titleFadeOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.05)}}#game-ui{position:absolute;inset:0;z-index:10;pointer-events:none;display:flex;flex-direction:column;justify-content:space-between}.hud-header{pointer-events:auto;display:flex;flex-direction:column;align-items:center;padding:12px 16px 0;gap:6px;position:relative}.hud-tournament{display:flex;align-items:center;gap:6px;background:#000000a6;border:1px solid rgba(245,158,11,.3);padding:4px 14px;border-radius:99px;font-size:.72rem;font-weight:800;letter-spacing:1.5px;color:var(--gold);backdrop-filter:blur(12px)}.hud-trophy{font-size:.85rem}.hud-sep{opacity:.4}.scoreboard{display:flex;align-items:center;gap:18px;background:#060c1ce6;border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:8px 24px;backdrop-filter:blur(18px);box-shadow:0 8px 32px #0009}.team-block{display:flex;flex-direction:column;align-items:center;gap:3px;min-width:72px}.team-name-sm{font-size:.65rem;font-weight:800;letter-spacing:1.2px;opacity:.55;text-transform:uppercase}.team-score{font-family:var(--font-title);font-size:3.6rem;line-height:1;color:#fff;text-shadow:0 0 20px rgba(255,255,255,.25);transition:transform .2s cubic-bezier(.34,1.56,.64,1)}.team-score.bump{transform:scale(1.45);color:var(--green)}.ai-side .team-score.bump{color:var(--red)}.score-vs{font-family:var(--font-title);font-size:1rem;letter-spacing:2px;opacity:.28}.team-dots{display:flex;gap:4px}.team-dots .dot{width:9px;height:9px;border-radius:50%;background:#ffffff1a;border:1.5px solid rgba(255,255,255,.22);transition:all .3s cubic-bezier(.34,1.56,.64,1)}.team-dots .dot.goal{background:var(--green);border-color:#34d399;box-shadow:0 0 8px #10b981e6}.team-dots .dot.miss{background:var(--red);border-color:#f87171;box-shadow:0 0 8px #ef4444e6}.audio-btn{position:absolute;top:14px;right:16px;background:#060c1cd9;border:1px solid var(--border);color:#fff;width:38px;height:38px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(10px);transition:all .2s ease;pointer-events:auto}.audio-btn:active{transform:scale(.9)}.hint-bar{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none;text-align:center;animation:hintFloat 2.8s ease-in-out infinite;transition:opacity .5s ease;z-index:12}#hint-text{display:inline-block;background:#000000b3;border:1.5px solid rgba(56,189,248,.4);border-radius:99px;padding:10px 22px;font-size:.95rem;font-weight:800;letter-spacing:1.5px;color:var(--cyan);backdrop-filter:blur(10px);box-shadow:0 0 18px #38bdf82e}.hint-bar.gk-mode #hint-text{border-color:#10b98166;color:var(--green)}@keyframes hintFloat{0%,to{transform:translate(-50%,-50%) translateY(0)}50%{transform:translate(-50%,-50%) translateY(-9px)}}.hint-bar.fade-out{opacity:0;pointer-events:none}.gk-dive-bar{position:absolute;bottom:104px;left:50%;transform:translate(-50%);display:flex;gap:6px;pointer-events:auto;background:#060c1ce6;border:1px solid var(--border);padding:6px;border-radius:99px;backdrop-filter:blur(16px);box-shadow:0 10px 30px #00000080}.dive-btn{border:1px solid rgba(255,255,255,.15);background:#ffffff0f;color:#fff;padding:9px 13px;border-radius:99px;font-family:var(--font);font-size:.74rem;font-weight:800;letter-spacing:.3px;cursor:pointer;transition:all .16s cubic-bezier(.34,1.56,.64,1);white-space:nowrap}.dive-btn:active{background:var(--green);border-color:#34d399;transform:scale(1.12)}.dive-btn.center-dive{background:#10b98126;border-color:#10b98159}.bottom-bar{pointer-events:auto;display:flex;justify-content:center;padding-bottom:14px}.shot-pills{display:flex;gap:6px;background:#060c1ceb;border:1px solid var(--border);padding:6px;border-radius:99px;backdrop-filter:blur(18px);box-shadow:0 8px 32px #0009}.shot-pill{display:flex;align-items:center;gap:5px;border:1.5px solid rgba(255,255,255,.08);background:#ffffff0a;color:#fff9;padding:10px 20px;border-radius:99px;font-family:var(--font);font-size:.8rem;font-weight:800;letter-spacing:.5px;cursor:pointer;transition:all .16s cubic-bezier(.34,1.56,.64,1)}.shot-pill:active{transform:scale(.93)}.shot-pill.active{background:var(--blue);border-color:#60a5fa;color:#fff;box-shadow:0 0 20px #2563ebb3;transform:scale(1.05)}.shot-pill[data-type=finesse].active{background:linear-gradient(135deg,#0ea5e9,#2563eb);border-color:#38bdf8;box-shadow:0 0 20px #0ea5e9b3}.shot-pill[data-type=panenka].active{background:linear-gradient(135deg,#f59e0b,#d97706);border-color:#fbbf24;box-shadow:0 0 20px #f59e0bcc}.pill-icon{font-size:.95rem}.outcome-banner{position:absolute;top:36%;left:50%;transform:translate(-50%,-50%);pointer-events:none;z-index:50;text-align:center}.outcome-banner:not(.hidden){animation:bannerPop .35s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes bannerPop{0%{transform:translate(-50%,-50%) scale(.25) rotate(-4deg);opacity:0}65%{transform:translate(-50%,-50%) scale(1.08) rotate(.5deg);opacity:1}to{transform:translate(-50%,-50%) scale(1) rotate(0);opacity:1}}.banner-inner{background:#040814f5;border:3px solid var(--gold);padding:20px 52px;border-radius:22px;backdrop-filter:blur(20px);box-shadow:0 0 60px #f59e0b80}.outcome-banner.goal .banner-inner{border-color:var(--green);box-shadow:0 0 70px #10b981a6}.outcome-banner.save .banner-inner{border-color:var(--cyan);box-shadow:0 0 70px #38bdf8a6}.outcome-banner.miss .banner-inner{border-color:var(--red);box-shadow:0 0 70px #ef4444a6}.banner-title{font-family:var(--font-title);font-size:clamp(3.2rem,11vw,5.2rem);letter-spacing:3px;line-height:.95}.banner-subtitle{font-size:.88rem;font-weight:700;margin-top:6px;opacity:.78}.modal-backdrop{position:absolute;inset:0;background:#040814eb;backdrop-filter:blur(20px);display:flex;align-items:center;justify-content:center;z-index:100;pointer-events:auto;animation:fadeIn .28s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-card{background:linear-gradient(160deg,#0c142dfc,#060c1cfc);border:2px solid rgba(245,158,11,.4);border-radius:28px;padding:36px 40px;text-align:center;max-width:420px;width:92vw;box-shadow:0 30px 80px #000000d9,0 0 50px #f59e0b1f;animation:modalSlideUp .38s cubic-bezier(.34,1.56,.64,1)}@keyframes modalSlideUp{0%{transform:translateY(40px) scale(.9);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.modal-trophy{font-size:4.5rem;display:block;margin-bottom:8px;animation:trophyFloat 2s ease-in-out infinite;filter:drop-shadow(0 0 18px rgba(245,158,11,.55))}@keyframes trophyFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.modal-headline{font-family:var(--font-title);font-size:2.8rem;letter-spacing:3px}.modal-desc{font-size:.9rem;opacity:.65;margin-top:6px;line-height:1.4}.modal-score-row{display:flex;align-items:center;justify-content:center;gap:18px;margin:22px 0;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:14px}.ms-team{display:flex;flex-direction:column;align-items:center;gap:2px}.ms-label{font-size:.65rem;font-weight:800;letter-spacing:1px;opacity:.5}.ms-score{font-family:var(--font-title);font-size:2.8rem;line-height:1}.ms-dash{font-family:var(--font-title);font-size:2rem;opacity:.28}.btn-primary{border:none;background:linear-gradient(135deg,#10b981,#059669);color:#fff;padding:16px 40px;border-radius:14px;font-family:var(--font);font-size:1rem;font-weight:900;letter-spacing:1.5px;cursor:pointer;box-shadow:0 6px 24px #10b98180;transition:all .18s cubic-bezier(.34,1.56,.64,1);width:100%;margin-top:4px}.btn-primary:active{transform:scale(.96)}.hidden{display:none!important}@media (max-width: 400px){.team-score{font-size:2.8rem}.shot-pill{padding:9px 14px;font-size:.74rem}.title-logo{font-size:3rem}.title-cta{padding:14px 30px}.gk-dive-bar{bottom:92px}.dive-btn{padding:7px 10px;font-size:.67rem}}
