*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body :where(#app) :is(h1,h2,h3,h4,p,ul,ol,li,dl,figure,blockquote){margin:0}:root{--ink: #f4f7fb;--muted: rgba(220, 230, 245, .72);--faint: rgba(200, 215, 235, .5);--accent: #ff6b2c;--accent-soft: rgba(255, 107, 44, .18);--gold: #ffb347;--bg: #02060f;--panel: rgba(4, 10, 24, .35);--glass: rgba(6, 13, 28, .58);--line: rgba(255, 255, 255, .12)}html,body,#app{width:100%;height:100%;overflow:hidden;background:var(--bg);font-family:Oswald,sans-serif;color:var(--ink);touch-action:none;overscroll-behavior:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}#app{--u: min(calc(100dvh / 1080), calc(100vw / 1440));height:100dvh}#game{display:block;width:100%;height:100%;cursor:crosshair;touch-action:none}.hidden{display:none!important}.splash{position:absolute;top:0;right:0;bottom:0;left:0;z-index:10;display:grid;grid-template-columns:minmax(0,1fr);place-items:center;overflow:hidden;padding:calc(1.2rem + env(safe-area-inset-top)) calc(1rem + env(safe-area-inset-right)) calc(1.2rem + env(safe-area-inset-bottom)) calc(1rem + env(safe-area-inset-left));background:#02060f;transition:opacity .55s ease}.splash:before,.splash:after{content:"";position:absolute;pointer-events:none}.splash:before{top:-4%;right:-4%;bottom:-4%;left:-4%;background:linear-gradient(180deg,#02060f3d,#02060fc7),url(../ui/menu-bg.webp) center / cover no-repeat;filter:blur(7px) saturate(.95) brightness(.72);transform:scale(1.04)}.splash:after{top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 50% 45%,rgba(26,155,255,.22),transparent 55%),linear-gradient(90deg,rgba(0,0,0,.45),transparent 30%,transparent 70%,rgba(0,0,0,.45))}.splash.is-out{opacity:0;pointer-events:none}.splash.is-ready{cursor:pointer}.splash-stage{position:relative;z-index:1;width:min(34rem,100%);text-align:center}.splash-word{display:block;margin:0}.splash-word img{display:block;width:min(100%,22rem);height:auto;margin:0 auto;filter:drop-shadow(0 calc(6 * var(--u)) calc(18 * var(--u)) rgba(0,0,0,.55)) drop-shadow(0 0 calc(40 * var(--u)) rgba(86,208,255,.32))}.rally{--rally: .8s;--bat-w: clamp(2.1rem, 7vw, 3.3rem);--bat-box: calc(var(--bat-w) / .733);--bat-gap: calc(var(--bat-w) * .05);--ball: clamp(.8rem, 2.2vw, 1.05rem);--bar-h: clamp(.6rem, 1.5vw, .78rem);--blade-y: calc(var(--bat-box) * .5884);--hit-y: calc((var(--blade-y) - var(--bar-h) - var(--ball) * .5) * -1);--apex-y: calc(var(--hit-y) - var(--bat-w) * .75);display:grid;grid-template-columns:var(--bat-box) 1fr var(--bat-box);align-items:end;gap:var(--bat-gap);width:100%;margin:clamp(1.8rem,5vw,2.8rem) auto 0}.rally-bat{display:block;width:var(--bat-box)}.rally-bat img{display:block;width:100%;height:auto;transform-origin:16.3% 88.6%;filter:drop-shadow(0 0 calc(5 * var(--u)) rgba(170,225,255,.4)) drop-shadow(0 calc(10 * var(--u)) calc(12 * var(--u)) rgba(0,0,0,.55));--swing: 1;animation:rally-swing calc(var(--rally) * 2) linear infinite}.rally-bat-right img{transform-origin:83.7% 88.6%;--swing: -1;animation-delay:calc(var(--rally) * -1)}.rally-court{position:relative;z-index:1;padding-top:calc(var(--apex-y) * -1 + var(--ball))}.rally-flight{position:absolute;left:calc((var(--bat-box) * (1 - 100.5 / 172) + var(--bat-gap)) * -1);right:calc((var(--bat-box) * (63.5 / 172) + var(--bat-gap)) * -1);bottom:var(--bar-h);height:0;animation:rally-x calc(var(--rally) * 2) linear infinite}.rally-ball{position:absolute;left:0;bottom:0;width:var(--ball);height:var(--ball);margin-left:calc(var(--ball) * -.5);border-radius:50%;background:radial-gradient(circle at 34% 30%,#fff3d6 0%,var(--gold) 62%,#d98420 100%);box-shadow:0 0 calc(14 * var(--u)) #ffdc5ab3;animation:rally-y var(--rally) linear infinite}.loadbar{position:relative;width:100%;height:var(--bar-h);border:1px solid rgba(140,220,255,.4);border-radius:999px;background:#000e2bcc;overflow:hidden;box-shadow:inset 0 calc(2 * var(--u)) calc(6 * var(--u)) #0000007a}.loadbar-fill{display:block;width:0%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#ff6a22,#ffd735 54%,#fff084);box-shadow:0 0 calc(18 * var(--u)) #ffc535bf;transition:width .35s ease}.loadstat,.splash-go{min-height:2.5rem;width:100%;margin:clamp(.8rem,2.2vw,1.1rem) auto 0}.loadstat{display:flex;flex-direction:column;align-items:center;gap:.3rem;font-size:.66rem;font-weight:300;letter-spacing:.18em;text-indent:.18em;color:#dff0ffad;font-variant-numeric:tabular-nums}.loadstat #load-pct{order:-1;font-size:1rem;font-weight:400;line-height:1.1;letter-spacing:.08em;text-indent:.08em;color:#fff3c4}.splash-go{display:grid;place-content:center;text-align:center;font-size:clamp(.72rem,1.9vw,.9rem);font-weight:400;letter-spacing:.22em;text-indent:.24em;color:#ffe47a;text-shadow:0 0 calc(18 * var(--u)) rgba(255,212,80,.52);animation:prompt-blink 1.4s ease-in-out infinite}.overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;grid-template-rows:1fr auto;place-items:center;z-index:2;padding:1.5rem 1.2rem calc(1.2rem + env(safe-area-inset-bottom));pointer-events:none;background:linear-gradient(180deg,#02060f8c,#02060f47 40%,#02060fb8);animation:fade-in .35s ease both}.panel{pointer-events:auto;position:relative;align-self:center;width:min(24rem,100%);padding:2.1rem 1.9rem 1.9rem;text-align:center;background:var(--glass);border:1px solid var(--line);box-shadow:0 30px 80px #0000008c,inset 0 1px #ffffff0f;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);animation:rise-in .5s cubic-bezier(.2,.8,.3,1) both}.panel-wide{width:min(30rem,100%);text-align:left}.panel-rule{position:absolute;top:-1px;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--accent) 28%,var(--gold) 72%,transparent)}.panel-title{font-family:Bebas Neue,sans-serif;font-size:1.9rem;letter-spacing:.14em}.record{margin-top:1.4rem;padding:.5rem 0;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08);font-size:.66rem;font-weight:300;letter-spacing:.2em;color:var(--faint)}.record b{font-weight:400;color:var(--gold)}.field{margin-top:1.5rem}.field-label{display:block;margin-bottom:.55rem;font-size:.58rem;font-weight:300;letter-spacing:.32em;text-indent:.32em;color:#c8d7eb6b}.segment{position:relative;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:2px;padding:3px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1)}.segment-thumb{position:absolute;top:3px;bottom:3px;left:3px;width:0;background:var(--accent-soft);border:1px solid rgba(255,107,44,.85);box-shadow:0 0 18px #ff6b2c47;transition:transform .28s cubic-bezier(.3,.9,.3,1),width .28s cubic-bezier(.3,.9,.3,1);pointer-events:none}.seg-btn{position:relative;z-index:1;border:0;background:transparent;color:var(--muted);font-family:Oswald,sans-serif;font-size:.68rem;font-weight:300;letter-spacing:.2em;text-indent:.2em;padding:.62rem .4rem;cursor:pointer;transition:color .2s ease}.seg-btn:hover{color:var(--ink)}.seg-btn.is-on{color:var(--ink);font-weight:400}.field-note{min-height:2.1rem;margin-top:.6rem;font-size:.68rem;font-weight:300;line-height:1.5;letter-spacing:.06em;color:var(--faint)}.btn{display:block;width:100%;border:1px solid rgba(255,255,255,.45);background:linear-gradient(180deg,#ffffff1f,#ffffff08);color:var(--ink);font-family:Oswald,sans-serif;font-size:.9rem;font-weight:400;letter-spacing:.3em;text-indent:.3em;padding:.85rem 1.2rem;cursor:pointer;transition:transform .18s ease,background .2s ease,border-color .2s ease,box-shadow .2s ease}.btn:hover{transform:translateY(-1px);border-color:#ffffffb3;background:#ffffff1a}.btn:active{transform:translateY(0)}.btn:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.btn-primary{position:relative;overflow:hidden;margin-top:1.6rem;border-color:#ff6b2cbf;background:linear-gradient(180deg,#ff6b2c52,#ff6b2c14);font-size:1rem;box-shadow:0 10px 34px #ff6b2c2e}.btn-primary span{position:relative;z-index:1}.btn-primary:after{content:"";position:absolute;inset:0 auto 0 -60%;width:45%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.22),transparent);transform:skew(-18deg);transition:left .5s ease}.btn-primary:hover{border-color:var(--accent);background:linear-gradient(180deg,#ff6b2c80,#ff6b2c29);box-shadow:0 14px 40px #ff6b2c4d}.btn-primary:hover:after{left:115%}.btn-ghost{border-color:#fff3;background:transparent;color:var(--muted);font-size:.72rem;letter-spacing:.26em;text-indent:.26em;padding:.7rem 1rem}.btn-row{display:flex;gap:.6rem;margin-top:.6rem}.foot-hint{pointer-events:none;font-size:.62rem;font-weight:200;letter-spacing:.16em;color:#c8d7eb4d;text-align:center}kbd{display:inline-block;margin:0 .1rem;padding:.05rem .35rem;font-family:inherit;font-size:.62rem;border:1px solid rgba(255,255,255,.18);color:#dce8f899}.howto-screen{display:grid;grid-template-rows:1fr;padding:calc(env(safe-area-inset-top) + 1rem) 1rem calc(env(safe-area-inset-bottom) + 1rem)}.howto-frame{pointer-events:auto;display:flex;flex-direction:column;align-items:center;gap:calc(32 * var(--u));max-width:100%;animation:rise-in .5s cubic-bezier(.2,.8,.3,1) both}.howto-art{display:block;width:auto;max-width:min(100%,calc(706 * var(--u)));max-height:calc(100dvh - 172 * var(--u) - 2rem);height:auto;filter:drop-shadow(0 calc(22 * var(--u)) calc(34 * var(--u)) rgba(0,0,0,.5))}.howto-back{width:calc(506 * var(--u));max-width:72vw;aspect-ratio:506 / 116;padding:0;border:0;background:url(../ui/btn-back.png) center / 100% 100% no-repeat;box-shadow:none}.howto-back:hover{border-color:transparent;background:url(../ui/btn-back.png) center / 100% 100% no-repeat;transform:translateY(calc(-2 * var(--u)))}.howto-back:active{transform:translateY(0) scale(.99)}#hud{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:2}.scoreboard{position:absolute;top:calc(50 * var(--u));left:50%;transform:translate(-50%);display:flex;gap:calc(112 * var(--u))}.score-card{position:relative;width:calc(250 * var(--u));height:calc(130 * var(--u));background:center / 100% 100% no-repeat;display:flex;align-items:center}.score-card-you{background-image:url(../ui/score-player.png)}.score-card-cpu{background-image:url(../ui/score-opponent.png)}.score-avatar{flex:none;width:calc(96 * var(--u));height:calc(96 * var(--u));border-radius:calc(16 * var(--u));object-fit:cover;background:#c9d2e4 url(../ui/avatar-default.png) center / cover no-repeat}.score-card-you .score-avatar{margin-left:calc(11 * var(--u))}.score-card-cpu .score-avatar{margin-right:calc(11 * var(--u))}.score-text{flex:1;min-width:0;align-self:stretch;display:flex;flex-direction:column;align-items:center;padding-top:calc(24 * var(--u))}.score-card-cpu .score-text{padding-top:calc(29 * var(--u))}.score-label{max-width:100%;font-family:Fira Sans Condensed,sans-serif;font-weight:400;font-size:calc(29 * var(--u));line-height:1;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.score-card-cpu .score-label{font-size:calc(23 * var(--u))}.score-value{display:inline-block;font-family:Fira Sans Condensed,sans-serif;font-weight:700;font-size:calc(60 * var(--u));line-height:1;margin-top:calc(-2 * var(--u));color:#fff;--pop: #7ef29a}.score-value.cpu{--pop: #8fd0f5}.score-value.is-scored{animation:score-pop .62s cubic-bezier(.2,1.5,.35,1)}.pause-btn{position:absolute;top:calc(50 * var(--u));right:calc(50 * var(--u));pointer-events:auto;width:calc(80 * var(--u));height:calc(80 * var(--u));padding:0;border:0;background:url(../ui/btn-pause.png) center / 100% 100% no-repeat;cursor:pointer;transition:transform .15s ease,filter .15s ease}.pause-btn:hover{filter:brightness(1.08)}.pause-btn:active{transform:scale(.94)}.pause-btn:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.status{display:none;position:absolute;top:calc(206 * var(--u));left:50%;transform:translate(-50%);font-size:.95rem;letter-spacing:.28em;color:#ffffffd9;text-shadow:0 2px 16px rgba(0,0,0,.6);min-height:1.2rem;transition:opacity .25s ease;white-space:nowrap}.serve-prompt{position:absolute;top:50%;left:50%;width:min(calc(920 * var(--u)),78vw);aspect-ratio:1200 / 150;opacity:0;transform:translate(-50%,-50%) scale(.98);pointer-events:none;background:url(../ui/you-serve.png) center / contain no-repeat;filter:drop-shadow(0 calc(8 * var(--u)) calc(18 * var(--u)) rgba(0,0,0,.42));transition:opacity .18s ease,transform .18s ease}.serve-prompt.cpu{background-image:url(../ui/opponent-serve.png)}.serve-prompt.is-live{opacity:1;transform:translate(-50%,-50%) scale(1)}.point-flash{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;pointer-events:none;--wash-core: rgba(62, 201, 92, .5);--wash-edge: rgba(62, 201, 92, .13);background:radial-gradient(124% 92% at 50% 50%,transparent 40%,var(--wash-edge) 76%,var(--wash-core) 100%)}.point-flash.cpu{--wash-core: rgba(74, 168, 216, .46);--wash-edge: rgba(74, 168, 216, .11)}.point-flash.is-live{animation:point-wash .66s ease-out}.point-banner{position:absolute;top:44%;left:50%;width:min(calc(920 * var(--u)),78vw);aspect-ratio:1200 / 150;opacity:0;transform:translate(-50%,-50%);pointer-events:none;background:url(../ui/you-scored.png) center / contain no-repeat;filter:drop-shadow(0 calc(8 * var(--u)) calc(18 * var(--u)) rgba(0,0,0,.42))}.point-banner.cpu{background-image:url(../ui/opponent-scored.png)}.point-banner.is-live{animation:point-banner .95s cubic-bezier(.16,.84,.3,1) both}.point-banner-text,.point-banner-sub{display:none}.controls-tip{position:absolute;bottom:calc(1.2rem + env(safe-area-inset-bottom));left:50%;transform:translate(-50%);max-width:min(24rem,calc(100% - 11rem));text-align:center;font-size:.72rem;font-weight:300;letter-spacing:.16em;line-height:1.5;color:var(--faint)}.drag-tip{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;pointer-events:auto;cursor:pointer;background:linear-gradient(to bottom,#02060fe6 0,#02060f9e,#02060f00 44%);animation:fade-in .3s ease both}.drag-tip-finger{position:absolute;left:0;top:0;width:0;height:0;pointer-events:none;will-change:transform}.drag-tip-hand{--hand-h: clamp(4.75rem, 15vmin, 6.5rem);--hand-w: calc(var(--hand-h) * 112 / 184);position:absolute;left:calc(var(--hand-w) * -.39);top:calc(var(--hand-h) * -.03);width:var(--hand-w);height:var(--hand-h);background:url(../ui/drag-finger.png) center / contain no-repeat;transform-origin:39% 3%;scale:1.1;rotate:-6deg;translate:0 -.35rem;opacity:.85;filter:drop-shadow(.4rem .9rem .6rem rgba(0,0,0,.45));transition:scale .18s ease,rotate .18s ease,translate .18s ease,opacity .18s ease,filter .18s ease}.drag-tip-finger.is-down .drag-tip-hand{scale:1;rotate:0deg;translate:0 0;opacity:1;filter:drop-shadow(.15rem .35rem .3rem rgba(0,0,0,.55))}.drag-tip-finger:before{content:"";position:absolute;left:-.55rem;top:-.55rem;width:1.1rem;height:1.1rem;border-radius:50%;background:radial-gradient(circle,#ffeca0f2 0,#ffd4508c 45%,#ffd45000 72%);opacity:0;scale:.4;transition:opacity .16s ease,scale .16s ease}.drag-tip-finger.is-down:before{opacity:1;scale:1}.drag-tip-finger:after{content:"";position:absolute;left:-1.1rem;top:-1.1rem;width:2.2rem;height:2.2rem;border:2px solid rgba(255,224,130,.75);border-radius:50%;opacity:0}.drag-tip-finger.is-down:after{animation:drag-tip-ripple .65s ease-out}@keyframes drag-tip-ripple{0%{opacity:.9;transform:scale(.7)}to{opacity:0;transform:scale(2.1)}}.drag-tip-copy{position:absolute;top:calc(180 * var(--u) + 1rem + env(safe-area-inset-top));left:50%;transform:translate(-50%);width:min(26rem,calc(100% - 2rem));text-align:center;pointer-events:none}#hud.is-tutoring .serve-prompt,#hud.is-tutoring .status{opacity:0}.drag-tip-caption{font-family:Fira Sans Condensed,sans-serif;font-size:clamp(.95rem,3.7vw,1.3rem);font-weight:400;letter-spacing:.15em;line-height:1.3;text-indent:.15em;color:#fff;text-shadow:0 2px 16px rgba(0,0,0,.9),0 0 26px rgba(255,180,71,.3)}.drag-tip-caption.is-new{animation:fade-in .28s ease both}.drag-tip-go{margin-top:.55rem;font-size:.66rem;font-weight:400;letter-spacing:.26em;text-indent:.26em;color:var(--gold);text-shadow:0 0 18px rgba(255,212,80,.52);animation:prompt-blink 1.4s ease-in-out infinite}.pause-tip-btn{margin-top:calc(16 * var(--u));padding:.4rem .8rem;border:0;background:none;font-family:inherit;font-size:calc(26 * var(--u));font-weight:300;letter-spacing:.14em;text-indent:.14em;color:#dce6f58c;cursor:pointer;transition:color .15s ease}.pause-tip-btn:hover,.pause-tip-btn:focus-visible{color:var(--gold)}.fps{position:absolute;bottom:calc(.9rem + env(safe-area-inset-bottom));right:.9rem;z-index:4;padding:.28rem .6rem;font-size:.72rem;font-weight:300;letter-spacing:.14em;font-variant-numeric:tabular-nums;color:#bef0c8e6;background:var(--panel);border:1px solid rgba(255,255,255,.1);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);pointer-events:none;transition:color .2s ease}.fps.warn{color:#ffc24a}.fps.bad{color:#ff7a6b}.fps .scale{opacity:.6;font-size:.66rem;letter-spacing:.08em}.diag{position:absolute;bottom:calc(3.1rem + env(safe-area-inset-bottom));right:.9rem;z-index:4;max-width:24rem;padding:.55rem .7rem;font-family:ui-monospace,Consolas,monospace;font-size:.68rem;line-height:1.65;letter-spacing:.02em;color:#d2e1f5e6;background:#040a18b8;border:1px solid rgba(255,255,255,.12);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);pointer-events:none;white-space:pre}.diag b{color:#ffc24a;font-weight:400}.diag .verdict{color:#7ee0a0}.diag .verdict.gpu{color:#ff7a6b}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes rise-in{0%{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:none}}@keyframes rally-x{0%,to{transform:translate(0)}50%{transform:translate(100%)}}@keyframes rally-y{0%,to{transform:translateY(var(--hit-y));animation-timing-function:cubic-bezier(.3,.6,.6,1)}35%{transform:translateY(var(--apex-y));animation-timing-function:cubic-bezier(.5,0,.8,.5)}70%{transform:translateY(0);animation-timing-function:cubic-bezier(.25,.6,.6,1)}}@keyframes rally-swing{0%,to{transform:rotate(0);animation-timing-function:ease-out}14%{transform:rotate(calc(14deg * var(--swing)));animation-timing-function:ease-in-out}45%{transform:rotate(calc(-3deg * var(--swing)));animation-timing-function:ease-in-out}84%{transform:rotate(calc(-18deg * var(--swing)));animation-timing-function:cubic-bezier(.5,0,.9,.6)}}@keyframes prompt-blink{0%,to{opacity:1}50%{opacity:.28}}@keyframes point-wash{0%{opacity:0}14%{opacity:1}to{opacity:0}}@keyframes point-banner{0%{opacity:0;transform:translate(-50%,-50%) scale(1.32);filter:blur(7px)}16%{opacity:1;transform:translate(-50%,-50%) scale(1);filter:blur(0)}72%{opacity:1;transform:translate(-50%,-50%) scale(1.02);filter:blur(0)}to{opacity:0;transform:translate(-50%,-50%) scale(1.07);filter:blur(4px)}}@keyframes score-pop{0%{transform:scale(1)}22%{transform:scale(1.48);color:var(--pop);text-shadow:0 0 26px var(--pop)}58%{transform:scale(.95)}to{transform:scale(1)}}@keyframes point-hold{0%{opacity:0;transform:translate(-50%,-50%)}16%,72%{opacity:1;transform:translate(-50%,-50%)}to{opacity:0;transform:translate(-50%,-50%)}}@keyframes phone-rotate{0%,to{transform:rotate(0)}55%{transform:rotate(90deg)}}.btn-note{margin-top:.5rem;font-size:.58rem;font-weight:300;letter-spacing:.24em;text-indent:.24em;color:#c8d7eb6b}.btn-note b{font-weight:400;color:var(--gold)}.overlay.menu-screen{display:block;padding:0;overflow:hidden;background:url(../ui/menu-bg.webp) center / cover no-repeat,var(--bg)}.menu-screen.is-dimmed .menu-stage{opacity:.16;filter:saturate(.5) blur(1.5px);pointer-events:none}.menu-screen.is-dimmed,.menu-stage{transition:opacity .3s ease,filter .3s ease}.menu-hud{pointer-events:none;position:absolute;top:0;right:0;bottom:0;left:0;z-index:1}.id-chip{position:absolute;top:calc(env(safe-area-inset-top) + 27 * var(--u));left:calc(env(safe-area-inset-left) + 50 * var(--u));width:calc(320 * var(--u));height:calc(130 * var(--u));background:url(../ui/username-bg.webp) center / 100% 100% no-repeat}.id-avatar{position:absolute;left:calc(15 * var(--u));top:calc(15 * var(--u));width:calc(100 * var(--u));height:calc(100 * var(--u));border-radius:18%;background:url(../ui/avatar-default.png) center / cover no-repeat}.id-avatar img{width:100%;height:100%;display:block;border-radius:inherit;object-fit:cover}.id-text{position:absolute;left:calc(136 * var(--u));top:calc(20 * var(--u));width:calc(170 * var(--u));display:flex;flex-direction:column;gap:calc(10 * var(--u));min-width:0}.id-name{font-family:Oswald,sans-serif;font-size:calc(44 * var(--u));line-height:1.1;font-weight:600;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.id-trophies{display:flex;align-items:center;gap:calc(10 * var(--u));font-family:Oswald,sans-serif;font-size:calc(38 * var(--u));font-weight:500;line-height:1;color:var(--ink)}.id-trophy{flex:0 0 auto;width:calc(36 * var(--u));height:calc(36 * var(--u));fill:#ffc21a;filter:drop-shadow(0 calc(2 * var(--u)) 0 #b7710b)}.menu-tools{pointer-events:none;position:absolute;top:0;right:0;bottom:0;left:0}.wallet{display:flex;flex-direction:column;align-items:end;gap:.3rem}.wallet-row{position:absolute;top:calc(env(safe-area-inset-top) + 62 * var(--u));right:calc(env(safe-area-inset-right) + 170 * var(--u));width:calc(230 * var(--u));height:calc(60 * var(--u))}.chip{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:end;width:100%;height:100%;padding-right:calc(24 * var(--u));background-position:center;background-size:100% 100%;background-repeat:no-repeat}.chip b{font-family:Bebas Neue,sans-serif;font-size:calc(36 * var(--u));line-height:1;letter-spacing:.02em;color:var(--ink);text-shadow:0 1px 3px rgba(0,0,0,.55)}.chip-coin{background-image:url(../ui/coin-hud.webp)}.chip-add{display:none;position:absolute;top:0;right:0;z-index:1;width:calc(60 * var(--u));height:calc(60 * var(--u));padding:0;border:0;border-radius:calc(12 * var(--u));background:linear-gradient(#ffe066,#ffb800);box-shadow:inset 0 calc(-3 * var(--u)) 0 #aa64008c,0 calc(2 * var(--u)) calc(6 * var(--u)) #00000059;color:#fff;font-family:Oswald,sans-serif;font-size:calc(44 * var(--u));font-weight:600;line-height:1;text-shadow:0 calc(2 * var(--u)) 0 rgba(170,100,0,.8);cursor:pointer;pointer-events:auto;transition:transform .15s ease}.chip-add:hover{transform:scale(1.12)}.chip-add:active,.settings-chip:active,.plate:active{transform:scale(.96)}.chip-add:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.settings-chip{position:absolute;top:calc(env(safe-area-inset-top) + 42 * var(--u));right:calc(env(safe-area-inset-right) + 30 * var(--u));width:calc(100 * var(--u));height:calc(100 * var(--u));padding:0;border:0;background:url(../ui/settings.png) center / contain no-repeat;cursor:pointer;pointer-events:auto;filter:drop-shadow(0 5px 12px rgba(0,0,0,.45));transition:transform .15s ease,filter .15s ease}.settings-chip:hover{transform:translateY(-1px) scale(1.04);filter:drop-shadow(0 8px 18px rgba(0,0,0,.55)) brightness(1.08)}.settings-chip:active{transform:scale(.96)}.settings-chip:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.menu-stage{pointer-events:auto;position:absolute;top:0;right:0;bottom:0;left:0}.menu-actions{position:absolute;left:50%;bottom:calc(102 * var(--u));transform:translate(-50%);display:grid;grid-template-columns:repeat(3,calc(230 * var(--u)));grid-template-rows:calc(136 * var(--u)) calc(170 * var(--u));column-gap:calc(13 * var(--u));row-gap:calc(26 * var(--u));width:calc(716 * var(--u))}.plate{width:100%;height:100%;padding:0;border:0;background:center / 100% 100% no-repeat;cursor:pointer;filter:drop-shadow(0 6px 16px rgba(0,0,0,.45));transition:transform .15s ease,filter .15s ease}.menu-screen.is-entering .plate{animation:menu-plate-in .54s cubic-bezier(.18,.88,.28,1.2) backwards}.menu-screen.is-entering .plate-tour{animation-delay:.04s}.menu-screen.is-entering .plate-quick{animation-delay:.12s}.menu-screen.is-entering .plate-howto{animation-delay:.18s}.menu-screen.is-entering .plate-shop{animation-delay:.24s}.menu-screen.is-entering .settings-chip{animation:menu-tool-in .42s cubic-bezier(.2,1.2,.35,1) .28s backwards}.plate:hover{transform:translateY(-2px);filter:drop-shadow(0 10px 22px rgba(0,0,0,.55)) brightness(1.06)}.plate:active{transform:scale(.96)}.plate:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.plate-tour{grid-column:1 / -1;background-image:url(../ui/btn-world-tour-selected.png);position:relative}.plate-tour:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(115deg,transparent 45%,rgba(255,255,255,.34) 50%,transparent 55%) no-repeat;background-size:300% 100%;mask:url(../ui/btn-world-tour-selected.png) center / 100% 100% no-repeat;-webkit-mask:url(../ui/btn-world-tour-selected.png) center / 100% 100% no-repeat;mix-blend-mode:screen;pointer-events:none;animation:plate-glare 4.6s ease-in-out infinite}@keyframes plate-glare{0%{background-position:100% 0}20%,to{background-position:0% 0}}@keyframes menu-plate-in{0%{opacity:0;transform:translateY(calc(38 * var(--u))) scale(.9);filter:blur(5px) drop-shadow(0 3px 9px rgba(0,0,0,.3))}72%{opacity:1;transform:translateY(calc(-5 * var(--u))) scale(1.025);filter:blur(0) drop-shadow(0 10px 22px rgba(0,0,0,.5))}to{opacity:1;transform:none;filter:drop-shadow(0 6px 16px rgba(0,0,0,.45))}}@keyframes menu-tool-in{0%{opacity:0;transform:translateY(calc(-18 * var(--u))) scale(.84) rotate(-10deg)}to{opacity:1;transform:none}}.overlay.pause-screen{display:block;padding:0;background:#02060f66}.pause-panel{pointer-events:auto;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:calc(750 * var(--u));height:calc(650 * var(--u));background:url(../ui/pause-panel.png) center / 100% 100% no-repeat;display:flex;flex-direction:column;align-items:center;padding-top:calc(44 * var(--u));animation:pause-rise-in .5s cubic-bezier(.2,.8,.3,1) both}@keyframes pause-rise-in{0%{opacity:0;transform:translate(-50%,calc(-50% + 14px)) scale(.985)}to{opacity:1;transform:translate(-50%,-50%)}}.pause-title{font-family:Fira Sans Condensed,sans-serif;font-weight:300;font-size:calc(77 * var(--u));line-height:1;color:#fff}.pause-score{margin-top:calc(25 * var(--u));font-family:Fira Sans Condensed,sans-serif;font-weight:700;font-size:calc(103 * var(--u));line-height:1;color:#fff}.pause-plate{width:calc(540 * var(--u));height:calc(130 * var(--u));padding:0;border:0;background:center / 100% 100% no-repeat;cursor:pointer;filter:drop-shadow(0 6px 16px rgba(0,0,0,.45));transition:transform .15s ease,filter .15s ease}.pause-plate:hover{transform:translateY(-2px);filter:drop-shadow(0 10px 22px rgba(0,0,0,.55)) brightness(1.06)}.pause-plate:active{transform:scale(.96)}.pause-plate:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.pause-resume{margin-top:calc(58 * var(--u));background-image:url(../ui/btn-resume.png)}.pause-quit{margin-top:calc(19 * var(--u));background-image:url(../ui/btn-quit-match.png)}.overlay.result-screen{display:block;padding:0}.result-panel{pointer-events:auto;position:absolute;left:50%;bottom:calc(90 * var(--u));transform:translate(-50%);width:calc(742 * var(--u));height:calc(552 * var(--u));display:flex;flex-direction:column;align-items:center;padding-bottom:calc(37 * var(--u));animation:result-rise-in .5s cubic-bezier(.2,.8,.3,1) both}.result-panel:before{content:"";position:absolute;z-index:-1;left:50%;transform:translate(-50%);bottom:calc(-2 * var(--u));width:calc(928 * var(--u));height:calc(914 * var(--u));background:url(../ui/result-panel-victory.png) center / 100% 100% no-repeat}.result-panel[data-outcome=lose]:before{bottom:calc(-1 * var(--u));width:calc(911 * var(--u));height:calc(951 * var(--u));background-image:url(../ui/result-panel-defeated.png)}@keyframes result-rise-in{0%{opacity:0;transform:translate(-50%,14px) scale(.985)}to{opacity:1;transform:translate(-50%)}}.result-lines{position:relative;flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.result-venue,.result-status,.result-score{font-family:Fira Sans Condensed,sans-serif;line-height:1}.result-venue{margin-bottom:calc(18 * var(--u));font-weight:400;font-size:calc(52 * var(--u));color:#9ec9f0}.result-status{display:flex;align-items:center;gap:calc(10 * var(--u));margin-bottom:calc(22 * var(--u));font-weight:700;font-size:calc(52 * var(--u));color:#fff}.result-status.is-payout{display:none}.result-payout{display:flex;align-items:center;justify-content:center;gap:calc(16 * var(--u));margin-top:calc(18 * var(--u));font-weight:400}.result-payout-label{font-size:calc(30 * var(--u));font-weight:300;letter-spacing:.16em;text-indent:.16em;color:#fff}.result-payout-coins,.result-payout-trophies{display:flex;align-items:baseline;gap:calc(6 * var(--u));font-size:calc(44 * var(--u));font-weight:700;line-height:1}.result-payout-coins{color:#ffd75e}.result-payout-trophies{color:#3ddc6a}.result-payout-trophy{flex:0 0 auto;width:calc(30 * var(--u));height:calc(30 * var(--u));fill:#ffc21a;filter:drop-shadow(0 calc(2 * var(--u)) 0 rgba(0,0,0,.4))}.result-payout-coin{flex:0 0 auto;width:auto;height:calc(34 * var(--u));object-fit:contain;filter:drop-shadow(0 calc(2 * var(--u)) 0 rgba(0,0,0,.4))}.result-score{display:flex;align-items:baseline;font-weight:700;font-size:calc(103 * var(--u))}.result-score b{background-image:linear-gradient(180deg,var(--num-top) 0%,var(--num-base) 44%,var(--num-deep) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 calc(3 * var(--u)) 0 rgba(3,14,32,.7))}.result-score b.is-up{--num-top: #daf0ff;--num-base: #4b9be6;--num-deep: #2273c6}.result-score b.is-down{--num-top: #ffab9c;--num-base: #e33b2f;--num-deep: #c01f16}.result-score i{margin:0 calc(16 * var(--u));font-size:.62em;font-style:normal;color:#d3e2f2}.result-plate{position:relative;padding:0;border:0;background:center / 100% 100% no-repeat;cursor:pointer;filter:drop-shadow(0 6px 16px rgba(0,0,0,.45));transition:transform .15s ease,filter .15s ease}.result-plate:hover{transform:translateY(-2px);filter:drop-shadow(0 10px 22px rgba(0,0,0,.55)) brightness(1.06)}.result-plate:active{transform:scale(.96)}.result-plate:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.result-primary{width:calc(606 * var(--u));height:calc(116 * var(--u));margin-bottom:calc(35 * var(--u));background-image:url(../ui/btn-play-again.png)}.result-primary.is-tour{background-image:url(../ui/btn-world-tour.png)}.result-menu{width:calc(600 * var(--u));height:calc(110 * var(--u));background-image:url(../ui/btn-main-menu.png)}.plate-quick{background-image:url(../ui/tile-quick-play.png)}.plate-howto{background-image:url(../ui/tile-how-to-play.png)}.plate-shop{background-image:url(../ui/tile-shop.png)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.menu-stage .btn-note{position:absolute;left:50%;bottom:calc(448 * var(--u));transform:translate(-50%);margin:0;width:calc(716 * var(--u));color:#ebf3ffd9;text-shadow:0 2px 8px rgba(0,0,0,.85)}.settings-keys{margin:.6rem 0 1rem}.settings-panel{pointer-events:auto;position:relative;width:min(calc(883 * var(--u)),calc(100vw - 2rem));aspect-ratio:883 / 657;background:url(../ui/settings-panel.png) center / 100% 100% no-repeat;filter:drop-shadow(0 calc(22 * var(--u)) calc(34 * var(--u)) rgba(0,0,0,.5));animation:rise-in .5s cubic-bezier(.2,.8,.3,1) both}.settings-back{position:absolute;top:calc(100% + 24 * var(--u));left:50%;width:min(calc(506 * var(--u)),72vw);aspect-ratio:506 / 116;padding:0;border:0;background:url(../ui/btn-back.png) center / 100% 100% no-repeat;cursor:pointer;filter:drop-shadow(0 calc(8 * var(--u)) calc(14 * var(--u)) rgba(0,0,0,.35));transform:translate(-50%);transition:transform .15s ease,filter .15s ease}.settings-back:hover{filter:drop-shadow(0 calc(11 * var(--u)) calc(18 * var(--u)) rgba(0,0,0,.42)) brightness(1.06);transform:translate(-50%) translateY(calc(-2 * var(--u)))}.settings-back:active{transform:translate(-50%) scale(.98)}.settings-back:focus-visible{outline:calc(3 * var(--u)) solid #ffe43a;outline-offset:calc(4 * var(--u))}.audio-settings,.audio-row,.audio-row-head,.audio-control{position:absolute}.audio-settings{top:0;right:0;bottom:0;left:0}.audio-row{top:0;right:0;bottom:0;left:0;pointer-events:none}.audio-row-head{left:71.6%;width:14.7%;height:9.2%}.audio-row:nth-child(1) .audio-row-head{top:40.3%}.audio-row:nth-child(2) .audio-row-head{top:66.1%}.audio-toggle{pointer-events:auto;width:100%;height:100%;padding:0;border:0;background:url(../ui/toggle-on.png) center / 100% 100% no-repeat;cursor:pointer;transition:transform .15s ease,filter .15s ease}.audio-toggle:not(.is-on){background-image:url(../ui/toggle-off.png)}.audio-toggle:hover{filter:brightness(1.08)}.audio-toggle:active{transform:scale(.96)}.audio-toggle:focus-visible,.audio-range:focus-visible{outline:calc(3 * var(--u)) solid #ffe43a;outline-offset:calc(4 * var(--u))}.audio-toggle-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.audio-control{--value: 100%;left:26.4%;width:59.8%;height:4.6%;border-radius:999px}.audio-row:nth-child(1) .audio-control{top:55.3%}.audio-row:nth-child(2) .audio-control{top:82.7%}.audio-control:before,.audio-control:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background-position:left center;background-size:100% 100%;background-repeat:no-repeat}.audio-control:before{border:calc(2 * var(--u)) solid #8bd7ff;border-radius:inherit;background:linear-gradient(180deg,rgba(255,255,255,.14),transparent 28%,rgba(0,0,0,.2) 100%),linear-gradient(180deg,#234a82,#102e5e 64%,#0a234d);box-shadow:inset 0 calc(2 * var(--u)) calc(3 * var(--u)) #ffffff38,inset 0 calc(-3 * var(--u)) calc(5 * var(--u)) #0000006b,0 calc(2 * var(--u)) calc(7 * var(--u)) #00000059}.audio-control:after{width:var(--value);border:calc(2 * var(--u)) solid #8bd7ff;border-radius:inherit;background:radial-gradient(ellipse at 50% 6%,rgba(255,255,255,.8),transparent 20%),linear-gradient(180deg,#fff36a,#ffd235 28%,#ffb20c 72%,#f19600);box-shadow:inset 0 calc(2 * var(--u)) calc(3 * var(--u)) #ffffffb3,inset 0 calc(-3 * var(--u)) calc(5 * var(--u)) #ac5b0057,0 calc(2 * var(--u)) calc(7 * var(--u)) #0000003d}.audio-control.is-muted:after{opacity:.38}.audio-control.is-empty:after{display:none}.audio-range{pointer-events:auto;position:absolute;top:-45%;right:0;bottom:-45%;left:0;z-index:1;width:100%;height:190%;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;cursor:pointer}.audio-range:disabled{cursor:not-allowed}.audio-range::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:calc(34 * var(--u));height:calc(56 * var(--u));border:0;background:transparent}.audio-range::-moz-range-thumb{width:calc(34 * var(--u));height:calc(56 * var(--u));border:0;background:transparent}.settings-panel .sr-only{position:absolute}.shop-panel{pointer-events:auto;position:relative;width:min(calc(1779 * var(--u)),calc(100vw - 1rem));aspect-ratio:1779 / 908;background:url(../ui/shop/panel.png) center / 100% 100% no-repeat;filter:drop-shadow(0 calc(20 * var(--u)) calc(34 * var(--u)) rgba(0,0,0,.48));animation:rise-in .5s cubic-bezier(.2,.8,.3,1) both}.shop-status{position:absolute;left:37%;top:21%;width:26%;min-height:1.2em;text-align:center;font-size:calc(22 * var(--u));font-weight:300;letter-spacing:.08em;color:#ffd95b;text-shadow:0 calc(2 * var(--u)) calc(6 * var(--u)) rgba(0,0,0,.7)}.shop-tabs{position:absolute;left:4.6%;top:29.7%;width:12.2%;display:grid;gap:calc(18 * var(--u))}.shop-tab{width:100%;aspect-ratio:255 / 120;padding:0;border:0;background:url(../ui/shop/bats-deselect.png) center / 100% 100% no-repeat;cursor:pointer;transition:transform .14s ease,filter .14s ease}.shop-tab.is-on{background-image:url(../ui/shop/bats-select.png)}.shop-tab-ball{background-image:url(../ui/shop/balls-deselect.png)}.shop-tab-ball.is-on{background-image:url(../ui/shop/balls-select.png)}.shop-tab:hover,.shop-option:hover,.shop-action:hover,.shop-close:hover{filter:brightness(1.06)}.shop-tab:active,.shop-option:active,.shop-action:active,.shop-close:active{transform:scale(.97)}.shop-tab:focus-visible,.shop-option:focus-visible,.shop-action:focus-visible,.shop-close:focus-visible{outline:calc(3 * var(--u)) solid #ffe43a;outline-offset:calc(4 * var(--u))}.shop-grid{position:absolute;left:18.4%;top:28.1%;width:45.2%;height:60.3%;display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(2,1fr);gap:calc(18 * var(--u))}.shop-option{position:relative;padding:0;border:0;background:transparent;cursor:pointer;overflow:visible;transition:transform .16s ease,filter .16s ease}.shop-card-art{display:block;width:100%;height:100%;object-fit:fill;-webkit-user-select:none;user-select:none}.shop-option.is-selected:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:url(../ui/shop/selection.png) center / 100% 100% no-repeat;pointer-events:none}.shop-card-lock{position:absolute;right:9%;bottom:30%;width:13%;aspect-ratio:31 / 36;background:url(../ui/shop/locked.png) center / contain no-repeat;opacity:0}.shop-option.is-locked .shop-card-lock{opacity:1}.shop-card-price{position:absolute;left:7.2%;right:7.2%;bottom:3.9%;height:16.4%;display:flex;align-items:center;justify-content:center;padding-left:21%;background:url(../ui/shop/purchase-button.png) center / 100% 100% no-repeat;color:#dbe9ff;font-family:Fira Sans Condensed,sans-serif;font-size:calc(28 * var(--u));font-weight:700;line-height:1;text-shadow:0 calc(2 * var(--u)) calc(4 * var(--u)) rgba(0,0,0,.6)}.shop-option.is-owned .shop-card-price{padding-left:0;color:#eaffee;font-size:calc(21 * var(--u));text-transform:uppercase}.shop-option.is-equipped .shop-card-price{padding-left:0;background-image:url(../ui/shop/equipped-button.png)}.shop-option.is-equipped .shop-price-value{display:none}.shop-preview{position:absolute;right:4.2%;top:26.4%;width:23.6%;height:64.3%;display:grid;place-items:center;padding:0}.shop-preview-art{position:relative;width:95.5%}.shop-preview-art img{display:block;width:100%;height:auto;filter:drop-shadow(0 calc(12 * var(--u)) calc(14 * var(--u)) rgba(0,0,0,.45))}.shop-action{position:absolute;left:9%;right:9%;bottom:3.3%;width:auto;aspect-ratio:190 / 60;padding:0 0 0 18%;border:0;background:url(../ui/shop/purchase-button.png) center / 100% 100% no-repeat;color:#dbe9ff;font-family:Oswald,sans-serif;font-size:calc(32 * var(--u));font-weight:700;line-height:1;cursor:pointer;text-shadow:0 calc(2 * var(--u)) calc(4 * var(--u)) rgba(0,0,0,.58)}.shop-action.is-owned{padding-left:0;border:calc(2 * var(--u)) solid #41e77b;border-radius:calc(10 * var(--u));background:linear-gradient(180deg,rgba(255,255,255,.16),transparent 28%),linear-gradient(180deg,#12d94f,#08a83e 72%,#078836);box-shadow:inset 0 calc(-3 * var(--u)) 0 #005f205c,0 calc(4 * var(--u)) calc(8 * var(--u)) #00000047;color:#fff;text-transform:uppercase}.shop-action.is-equipped{padding-left:0;aspect-ratio:400 / 80;background-image:url(../ui/shop/equipped-button-long.png);color:#eaffee;text-transform:uppercase}.shop-action.is-equipped #shop-action-label{display:none}.shop-close{position:absolute;top:15.6%;right:1.1%;width:5.2%;aspect-ratio:1;padding:0;border:calc(4 * var(--u)) solid #ff4a36;border-radius:50%;background:radial-gradient(circle at 34% 28%,#ff8172,#f02822 66%,#b80d14);box-shadow:inset 0 calc(4 * var(--u)) 0 #ffffff52,0 calc(5 * var(--u)) calc(10 * var(--u)) #0000005c;cursor:pointer}.shop-close:before,.shop-close:after{content:"";position:absolute;left:50%;top:50%;width:58%;height:10%;border-radius:999px;background:#fff;transform:translate(-50%,-50%) rotate(45deg)}.shop-close:after{transform:translate(-50%,-50%) rotate(-45deg)}.tour-screen{--card-w: min(26rem, 88vw);--back-size: min(3.4rem, 12vh);grid-template-rows:repeat(2,auto);grid-template-columns:minmax(0,1fr);align-content:center;gap:.5rem;padding-left:0;padding-right:0;padding-top:calc(1.2rem + env(safe-area-inset-top));padding-bottom:calc(1.2rem + env(safe-area-inset-bottom))}.sheet{background:#02060f9e}.tour-screen.sheet{background:#02060fb8}.tour-back{position:absolute;top:calc(1.2rem + env(safe-area-inset-top));left:calc(.7rem + env(safe-area-inset-left));z-index:1;width:var(--back-size);aspect-ratio:1;padding:0;border:0;pointer-events:auto;background:url(../ui/btn-back-small.png) center / 100% 100% no-repeat;filter:drop-shadow(0 calc(6 * var(--u)) calc(12 * var(--u)) rgba(0,0,0,.4))}.tour-back:hover{border:0;background:url(../ui/btn-back-small.png) center / 100% 100% no-repeat;filter:drop-shadow(0 calc(9 * var(--u)) calc(16 * var(--u)) rgba(0,0,0,.46)) brightness(1.06)}.tour-title{margin:0;line-height:0}.tour-title img{display:block;margin-inline:auto;height:min(8rem,21vh);max-width:calc(100vw - 2 * (var(--back-size) + 1rem));width:auto;object-fit:contain}.tour-deck{position:relative;width:100%;min-width:0}.arena-arrow{position:absolute;top:50%;z-index:2;width:1.75rem;height:2.9rem;padding:0;border:0;background:url(../ui/arrow-right.png) center / contain no-repeat;cursor:pointer;pointer-events:auto;filter:drop-shadow(0 3px 10px rgba(0,0,0,.65));transition:transform .18s ease,opacity .18s ease}.arena-arrow:hover{opacity:.85}.arena-arrow:focus-visible{outline:2px solid var(--gold);outline-offset:4px}.arena-arrow{--arrow-inset: max( .5rem, calc((50% - var(--card-w) * .57) / 2 - .875rem) )}.arena-arrow-prev{left:var(--arrow-inset);transform:translateY(-50%) scaleX(-1)}.arena-arrow-next{right:var(--arrow-inset);transform:translateY(-50%)}.arena-arrow-prev:hover{transform:translateY(-50%) scaleX(-1) scale(1.08)}.arena-arrow-next:hover{transform:translateY(-50%) scale(1.08)}.carousel{position:relative;pointer-events:auto;align-self:center;display:flex;gap:.9rem;width:100%;min-width:0;padding-inline:calc(50% - var(--card-w) / 2);padding-block:calc(var(--card-w) * .08 + .4rem);overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;outline:none;cursor:grab;touch-action:pan-x}.carousel.is-dragging{cursor:grabbing;scroll-snap-type:none}.carousel::-webkit-scrollbar{display:none}.arena-card{flex:0 0 var(--card-w);scroll-snap-align:center;position:relative;aspect-ratio:750 / 600;padding:0;border:0;border-radius:.75rem;overflow:hidden;container-type:inline-size;background:var(--glass);box-shadow:0 24px 60px #0000008c;cursor:pointer;transition:transform .3s ease,filter .3s ease,box-shadow .3s ease}.arena-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--art) center / 100% 100% no-repeat;transition:filter .3s ease}.arena-card:hover:not(:disabled){transform:translateY(-4px);box-shadow:0 30px 70px #0000009e}.arena-card.is-centred{z-index:2;transform:scale(1.14);box-shadow:0 34px 86px #000000b8}.arena-card.is-centred:hover:not(:disabled){transform:translateY(-4px) scale(1.14)}.arena-card:focus-visible{outline:2px solid var(--gold);outline-offset:4px}.arena-card.is-locked{cursor:default}.arena-card.is-locked:before{filter:grayscale(.72) brightness(.58)}.arena-card.is-locked:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#02060f3d}.arena-card.is-locked .arena-progress{opacity:.68;filter:saturate(.7)}.arena-padlock{position:absolute;z-index:2;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:10cqw;height:10cqw;border-radius:22%;background:linear-gradient(180deg,#ffd75e,#ffc02e 55%,#f0a012);box-shadow:0 0 0 2px #040c208c,0 3px 10px #00000080;color:#0a1428}.arena-padlock svg{display:block;width:64%;height:64%}.arena-progress{position:absolute;left:24%;width:52%;top:47.5%;z-index:1;display:flex;flex-direction:column;align-items:center;gap:.12em;font-size:3cqw}.arena-progress-label{font-family:Bebas Neue,sans-serif;font-size:1em;line-height:1.15;letter-spacing:.04em;color:#fff;white-space:nowrap;text-shadow:0 0 4px rgba(4,12,32,.9),0 2px 5px rgba(4,12,32,.8)}.arena-progress-track{width:100%;height:5.4cqw;padding:.7cqw;border-radius:999px;background:#061028e0;box-shadow:inset 0 1px 3px #0009,0 1px #ffffff2e}.arena-progress-fill{display:block;height:100%;min-width:0;border-radius:999px;background:linear-gradient(180deg,#ffd75e,#ffc02e 55%,#f0a012);box-shadow:0 0 6px #ffbe288c;transition:width .6s cubic-bezier(.2,.8,.3,1)}.btn-ghost.is-armed{border-color:#ff6b2cbf;color:var(--accent)}.venue-chip{position:absolute;bottom:calc(3.3rem + env(safe-area-inset-bottom));left:50%;transform:translate(-50%);display:flex;gap:.5rem;padding:.28rem .8rem;background:var(--panel);border:1px solid var(--line);font-size:.56rem;font-weight:300;letter-spacing:.2em;white-space:nowrap;color:var(--faint);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.venue-chip span:first-child{color:var(--gold)}.venue-sep{opacity:.5}.rotate-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:30;display:grid;place-items:center;align-content:center;gap:.8rem;padding:calc(1.5rem + env(safe-area-inset-top)) calc(1.5rem + env(safe-area-inset-right)) calc(1.5rem + env(safe-area-inset-bottom)) calc(1.5rem + env(safe-area-inset-left));text-align:center;background:radial-gradient(circle at 50% 35%,rgba(40,92,170,.28),transparent 46%),#02060f;pointer-events:auto}.rotate-phone{width:min(7rem,28vw);color:var(--gold);filter:drop-shadow(0 0 24px rgba(255,179,71,.24));animation:phone-rotate 1.7s ease-in-out infinite}.rotate-phone svg{display:block;width:100%;height:auto}.rotate-overlay h2{font-family:Bebas Neue,sans-serif;font-size:clamp(2.3rem,12vw,4.5rem);line-height:.95;letter-spacing:.07em;text-indent:.07em}.rotate-overlay p{font-size:clamp(.78rem,3.4vw,1rem);font-weight:300;letter-spacing:.12em;color:var(--muted)}@media(prefers-reduced-motion:reduce){.rally-bat img,.rally-flight,.rally-ball,.rotate-phone,.panel,.overlay,.result-panel,.howto-art,.howto-back,.plate,.settings-chip{animation:none!important}.howto-art,.howto-back,.plate,.settings-chip{opacity:1;transform:none}.plate-tour:after{display:none}.rally-ball{display:none}.splash-go{animation-duration:2.6s}.point-banner.is-live{animation-name:point-hold}.score-value.is-scored{animation:none}.segment-thumb,.btn{transition:none}.drag-tip,.drag-tip-go{animation:none!important}.drag-tip-hand,.drag-tip-finger:before{transition:none}.drag-tip-finger:after{display:none}}@media(max-width:640px){.panel{padding:1.8rem 1.4rem 1.6rem}.scoreboard{top:calc(.8rem + env(safe-area-inset-top));gap:.7rem;padding:.55rem 1rem}.pause-btn{top:calc(.8rem + env(safe-area-inset-top));right:.8rem}.status{top:calc(5rem + env(safe-area-inset-top));font-size:.82rem;letter-spacing:.2em}.seg-btn{padding:.8rem .3rem;letter-spacing:.12em;text-indent:.12em}.controls-tip{padding:0 .8rem;letter-spacing:.05em;font-size:.62rem}.foot-hint{display:none}}@media(max-height:480px){.overlay{padding-top:.6rem;padding-bottom:.6rem}.panel{padding:1.2rem 1.4rem;max-height:calc(100dvh - 1.2rem);overflow-y:auto}.field,.record{margin-top:.8rem}.field-note{min-height:0}.btn-primary{margin-top:.9rem}.splash-word img{width:min(100%,34vh,12rem)}.rally{--bat-w: 1.7rem;margin-top:1.1rem}.loadstat,.splash-go{margin-top:.7rem}.controls-tip,.foot-hint,.venue-chip{display:none}.btn-note{margin-top:.35rem}.tour-screen{--card-w: min(26rem, 60vh);gap:.4rem}.tour-title img{height:min(7rem,26vh)}.drag-tip{background:linear-gradient(to bottom,#02060fe0 0,#02060f80 30%,#02060f00 58%)}.drag-tip-copy{width:min(30rem,calc(100% - 2rem))}.drag-tip-caption{font-size:clamp(.85rem,3.2vh,1.05rem)}.drag-tip-go{margin-top:.3rem;font-size:.6rem}}
