@font-face{font-family:Archivo Variable;font-weight:100 900;font-stretch:62% 125%;font-display:swap;src:url(/tabletennis/fonts/archivo-latin-wdth-normal.woff2) format("woff2-variations")}@font-face{font-family:Manrope Variable;font-weight:200 800;font-display:swap;src:url(/tabletennis/fonts/manrope-latin-wght-normal.woff2) format("woff2-variations")}:root{--ink: #070a12;--panel: #0e1424;--panel-2: #141d33;--line: rgba(255, 255, 255, .08);--line-2: rgba(255, 255, 255, .14);--text: #eef2fb;--muted: #9aa7c0;--accent: #4d9aff;--accent-hi: #8fc0ff;--mint: #4fe3ae;--gold: #f5c25b;--rose: #ff7a9a;--violet: #a98bff;--display: "Archivo Variable", "Archivo", ui-sans-serif, system-ui, sans-serif;--body: "Manrope Variable", "Manrope", ui-sans-serif, system-ui, -apple-system, sans-serif;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--safe-right: env(safe-area-inset-right, 0px)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;height:100%;overflow:hidden;overscroll-behavior:none}body{background:var(--ink);color:var(--text);font-family:var(--body);-webkit-font-smoothing:antialiased;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;touch-action:none}#app{position:fixed;inset:0;overflow:hidden;background:radial-gradient(120% 70% at 50% -10%,rgba(47,107,255,.28),transparent 60%),radial-gradient(90% 60% at 100% 110%,rgba(169,139,255,.14),transparent 60%),var(--ink)}button{font:inherit;color:inherit;cursor:pointer;border:none;background:none;padding:0}button:disabled{cursor:default}svg{display:block}.hidden{display:none!important}.screen{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;padding:calc(14px + var(--safe-top)) calc(16px + var(--safe-right)) calc(14px + var(--safe-bottom)) calc(16px + var(--safe-left))}.menu{display:flex;flex-direction:column;gap:12px;width:min(340px,100%)}.btn{display:flex;align-items:center;justify-content:center;gap:10px;height:58px;border-radius:18px;padding:0 16px;font-family:var(--display);font-weight:760;font-stretch:106%;font-size:19px;letter-spacing:.2px;white-space:nowrap;transition:transform .15s ease,filter .15s ease}.btn:active{transform:scale(.97)}.btn-primary{color:#06132e;background:linear-gradient(180deg,#a7cdff,var(--accent) 55%,#2f6bff);box-shadow:0 12px 30px #2f6bff66,inset 0 1px #ffffff80}.btn-ghost{background:var(--panel-2);border:1px solid var(--line-2)}.btn-gold{color:#2a1a02;background:linear-gradient(180deg,#ffe7ad,var(--gold) 55%,#dc9725);box-shadow:0 12px 30px #f5c25b4d,inset 0 1px #ffffff8c}.btn small{font-family:var(--body);font-weight:600;font-size:13px;color:var(--muted)}.btn-primary small{color:#12306a}.btn-gold small{color:#6a4508}.btn .ico{width:20px;height:20px;flex:none}.round{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:var(--panel-2);border:1px solid var(--line-2);flex:none;transition:transform .15s ease}.round:active{transform:scale(.93)}.round svg{width:20px;height:20px}.by{font-size:12px;color:var(--muted)}.by a{color:var(--accent-hi);text-decoration:none}.home{justify-content:center;gap:20px;text-align:center}.home-logo{position:relative;width:240px;height:118px;margin:0 auto;flex:none}.home-logo:before{content:"";position:absolute;inset:-16px -20px -8px;border-radius:40px;background:radial-gradient(closest-side,rgba(77,154,255,.22),transparent)}.lt-table{position:absolute;left:34px;right:34px;bottom:24px;height:9px;border-radius:3px;background:linear-gradient(180deg,#4a82ff,#2458d8 45%,#163a9a);border-top:2px solid #f4f7ff;box-shadow:0 14px 18px #00000073}.lt-table:before,.lt-table:after{content:"";position:absolute;top:9px;width:5px;height:22px;background:#10183a;border-radius:0 0 2px 2px}.lt-table:before{left:14px}.lt-table:after{right:14px}.lt-table i{position:absolute;left:50%;bottom:100%;width:3px;height:15px;margin-left:-1.5px;background:repeating-linear-gradient(180deg,#dce8ffe6 0 2px,#dce8ff59 2px 4px);border-top:2px solid #fff}.lp{position:absolute;bottom:26px;width:34px;height:49px;transform-origin:50% 85%;filter:drop-shadow(0 6px 8px rgba(0,0,0,.45))}.lp svg{width:100%;height:100%}.lp-a{left:2px;transform:rotate(-24deg);animation:lp-a 2.4s ease-in-out infinite}.lp-b{right:2px;transform:rotate(24deg);animation:lp-b 2.4s ease-in-out infinite}@keyframes lp-a{0%,to{transform:rotate(-30deg) translate(4px)}6%{transform:rotate(-12deg)}40%,90%{transform:rotate(-24deg)}}@keyframes lp-b{0%,40%{transform:rotate(24deg)}50%{transform:rotate(30deg) translate(-4px)}56%{transform:rotate(12deg)}90%{transform:rotate(24deg)}}.lball{position:absolute;left:36px;bottom:34px;width:12px;height:12px;animation:lball-x 2.4s linear infinite}.lball i{display:block;width:12px;height:12px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff,#e6ecf8 60%,#a9b6d2);box-shadow:0 0 12px #aacdffcc;animation:lball-y 2.4s infinite}@keyframes lball-x{0%{transform:translate(0)}50%{transform:translate(156px)}to{transform:translate(0)}}@keyframes lball-y{0%{transform:translateY(-30px);animation-timing-function:ease-out}16%{transform:translateY(-62px);animation-timing-function:ease-in}33%{transform:translateY(0);animation-timing-function:ease-out}50%{transform:translateY(-30px);animation-timing-function:ease-out}66%{transform:translateY(-62px);animation-timing-function:ease-in}83%{transform:translateY(0);animation-timing-function:ease-out}to{transform:translateY(-30px)}}.home h1{font-family:var(--display);font-weight:820;font-stretch:112%;font-size:clamp(38px,10.5vw,60px);line-height:.95;letter-spacing:-1.5px;margin:0}.home h1 span{display:block;font-size:.44em;letter-spacing:6px;font-weight:700;color:var(--accent-hi);margin-bottom:8px}.best-line{font-size:14px;color:var(--muted);letter-spacing:.3px;display:flex;gap:18px;align-items:center;justify-content:center}.best-line b{font-family:var(--display);color:var(--gold);font-size:18px;margin-left:6px}.setup{width:min(340px,100%);display:flex;flex-direction:column;gap:8px;padding:12px;border-radius:22px;background:linear-gradient(180deg,#151f37,#0f172a);border:1px solid var(--line-2);box-shadow:0 20px 40px #00000059,inset 0 1px #ffffff0d}.opt{display:flex;align-items:center;gap:10px}.opt>span{flex:0 0 56px;text-align:left;font-size:11px;font-weight:800;letter-spacing:1.4px;text-transform:uppercase;color:var(--muted)}.seg{flex:1;display:flex;gap:3px;padding:3px;border-radius:13px;background:#0000004d;border:1px solid var(--line)}.seg button{flex:1;height:34px;border-radius:10px;font-family:var(--display);font-weight:720;font-size:14px;color:var(--muted);transition:background .2s ease,color .2s ease;white-space:nowrap;padding:0 4px}.seg button.on{color:#06132e;background:linear-gradient(180deg,#a7cdff,var(--accent));box-shadow:0 4px 12px #2f6bff59,inset 0 1px #ffffff80}.home-foot{display:flex;gap:10px;align-items:center;justify-content:center}.help-pill{display:inline-flex;align-items:center;gap:8px;height:46px;padding:0 18px 0 8px;border-radius:999px;flex:none;background:var(--panel-2);border:1px solid var(--line-2);font-family:var(--display);font-weight:740;font-stretch:104%;font-size:15px;letter-spacing:.2px;color:var(--text);white-space:nowrap;transition:transform .15s ease}.help-pill:active{transform:scale(.96)}.help-pill .q,.round.help .q{display:grid;place-items:center;border-radius:50%;font-family:var(--display);font-weight:860;line-height:1;color:#06132e;background:linear-gradient(180deg,#a7cdff,var(--accent));box-shadow:0 0 12px #4d9aff73}.help-pill .q{width:30px;height:30px;font-size:17px}.round.help .q{width:24px;height:24px;font-size:14.5px}.site-back{position:absolute;z-index:5;top:calc(12px + var(--safe-top));left:calc(14px + env(safe-area-inset-left,0px));display:flex;align-items:center;gap:4px;height:40px;padding:0 14px 0 9px;border-radius:999px;background:var(--panel-2);border:1px solid var(--line-2);color:var(--text);text-decoration:none;font-family:var(--body);font-weight:700;font-size:14px;letter-spacing:.1px;transition:transform .15s ease}.site-back svg{width:18px;height:18px}.site-back:active{transform:scale(.96)}.overlay{position:absolute;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:calc(14px + var(--safe-top)) calc(16px + var(--safe-right)) calc(14px + var(--safe-bottom)) calc(16px + var(--safe-left));background:#04060ca8;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:fade .25s ease both}@keyframes fade{0%{opacity:0}}.card{position:relative;width:min(380px,100%);max-height:100%;padding:24px 22px 20px;border-radius:26px;text-align:center;background:linear-gradient(180deg,#17213a,#0d1424);border:1px solid rgba(143,192,255,.3);box-shadow:0 40px 80px #0009;animation:card .4s cubic-bezier(.2,1.3,.4,1) both;display:flex;flex-direction:column}@keyframes card{0%{transform:translateY(24px) scale(.94);opacity:0}}.card h2{font-family:var(--display);font-weight:820;font-stretch:110%;font-size:30px;margin:0 0 4px;letter-spacing:-.5px;line-height:1.08}.card p{margin:0 0 4px;color:var(--muted)}.card .menu{margin:16px auto 0}.card .x{position:absolute;top:12px;right:12px;width:38px;height:38px}.ribbon{align-self:center;display:inline-block;padding:4px 12px;border-radius:999px;font-size:12px;font-weight:800;letter-spacing:1.5px;color:#2a1a02;background:linear-gradient(180deg,#ffe7ad,var(--gold));margin-bottom:10px}.ribbon.blue{color:#06132e;background:linear-gradient(180deg,#cfe2ff,var(--accent-hi))}.sheet{text-align:left;width:min(440px,100%)}.sheet h2{text-align:center;margin-bottom:8px}.setting{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}.setting:last-of-type{border-bottom:none}.setting>div:first-child b{display:block;font-size:15px}.setting>div:first-child small{display:block;margin-top:2px;line-height:1.3;color:var(--muted);font-size:12.5px}.setting .seg{flex:0 0 auto;min-width:130px}.stats-card{width:min(460px,100%)}.stats{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums;table-layout:fixed;margin-top:6px}.stats th{padding:0 2px 8px;font-size:11px;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:var(--muted)}.stats th:first-child{width:34%}.stats th .av-wrap{width:32px;height:32px;margin:0 auto 4px}.stats td{padding:8px 2px;text-align:center;font-family:var(--display);font-weight:760;font-size:15px;border-top:1px solid var(--line)}.stats td:first-child{text-align:left;font-family:var(--body);font-size:13px;font-weight:700;color:var(--muted)}.av-wrap{position:relative;width:44px;height:44px;flex:none}.av{position:absolute;inset:2px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 34% 28%,var(--a),var(--b) 78%);box-shadow:inset 0 2px #ffffff59,inset 0 -3px #0003,0 3px 8px #0006}.av>svg{width:50%;height:50%;filter:drop-shadow(0 1px 1px rgba(0,0,0,.3))}.cpu-chip{position:absolute;right:-4px;bottom:-3px;width:16px;height:16px;border-radius:5px;display:grid;place-items:center;color:#06132e;background:linear-gradient(180deg,#e3eeff,#9cc0ff);box-shadow:0 2px 5px #00000073}.cpu-chip svg{width:11px;height:11px}.game{padding:0}.arena-canvas{position:absolute;inset:0;display:block;touch-action:none;cursor:none}.game .bar{position:absolute;z-index:6;top:calc(10px + var(--safe-top));left:calc(12px + var(--safe-left));right:calc(12px + var(--safe-right));display:flex;align-items:center;gap:8px;pointer-events:none}.game .bar>*{pointer-events:auto}.bar-tools{display:flex;gap:8px;flex:none}.board{flex:1;min-width:0;max-width:560px;margin:0 auto;height:54px;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:4px;padding:0 10px;border-radius:19px;background:linear-gradient(180deg,#19243fe6,#0d1425e6);border:1px solid rgba(143,192,255,.24);box-shadow:0 12px 28px #0006,inset 0 1px #ffffff12;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.pl{position:relative;display:flex;align-items:center;gap:7px;min-width:0}.pl.cpu{flex-direction:row-reverse}.pl .who{display:flex;flex-direction:column;align-items:center;gap:3px;flex:none}.pl .av-wrap{width:30px;height:30px}.pl .cpu-chip{width:13px;height:13px;border-radius:4px;right:-3px;bottom:-2px}.pl .cpu-chip svg{width:9px;height:9px}.pl .nm{min-width:0;font-family:var(--display);font-weight:780;font-size:14px;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pl.me .nm{color:#ffe7ad}.pl.cpu .nm{color:#cfe2ff}.gdots{display:flex;gap:3px}.gdots i{width:6px;height:6px;border-radius:50%;background:#ffffff2e}.gdots i.on{background:var(--gold);box-shadow:0 0 6px #f5c25bb3}.pl .pts{margin-left:auto;min-width:1.25ch;text-align:center;font-family:var(--display);font-weight:860;font-stretch:108%;font-size:30px;line-height:1;font-variant-numeric:tabular-nums}.pl.cpu .pts{margin-left:0;margin-right:auto}.serve-dot{position:absolute;z-index:2;top:-3px;right:-4px;width:10px;height:10px;border-radius:50%;opacity:0;transition:opacity .25s ease;background:radial-gradient(circle at 35% 30%,#fff,#dfe6f2);box-shadow:0 0 8px #aacdffe6,0 1px 3px #00000080}.pl.cpu .serve-dot{right:auto;left:-4px}.pl.srv .serve-dot{opacity:1;animation:srv 1.2s ease-in-out infinite alternate}@keyframes srv{to{box-shadow:0 0 14px #aacdff,0 1px 3px #00000080}}.board .mid{display:flex;flex-direction:column;align-items:center;gap:3px;padding:0 6px;border-left:1px solid var(--line);border-right:1px solid var(--line)}.board .mid small{font-size:10px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;color:var(--accent-hi);white-space:nowrap}.board .mid span{font-size:10.5px;font-weight:700;color:var(--muted);white-space:nowrap}.game.portrait .board .pl .nm{display:none}.game.portrait.roomy .board .pl .nm{display:block}.game.portrait .board{height:52px;padding:0 7px;gap:3px}.game.portrait .bar .round{width:42px;height:42px}.game.portrait .bar,.game.portrait .bar-tools{gap:6px}.game.narrow .bar .round.help{display:none}.game.narrow .board{padding:0 8px}.game.narrow .board .mid{padding:0 4px}.chip{position:absolute;z-index:5;left:50%;top:calc(74px + var(--safe-top));transform:translate(-50%);padding:5px 13px;border-radius:999px;font-size:11.5px;font-weight:800;letter-spacing:1.4px;text-transform:uppercase;white-space:nowrap;pointer-events:none;animation:chip-in .35s cubic-bezier(.2,1.4,.4,1) both}.chip.gold{color:#2a1a02;background:linear-gradient(180deg,#ffe7ad,var(--gold));box-shadow:0 0 18px #f5c25b80}.chip.cool{color:#06132e;background:linear-gradient(180deg,#e3eeff,var(--accent-hi));box-shadow:0 0 18px #8fc0ff73}@keyframes chip-in{0%{opacity:0;transform:translate(-50%,-6px) scale(.8)}}.rally-chip{position:absolute;z-index:5;left:50%;bottom:calc(18px + var(--safe-bottom));transform:translate(-50%);padding:6px 14px;border-radius:999px;font-size:12px;font-weight:800;letter-spacing:1.4px;text-transform:uppercase;color:var(--muted);white-space:nowrap;pointer-events:none;background:#0a1020b3;border:1px solid var(--line-2);opacity:0;transition:opacity .3s ease}.rally-chip b{font-family:var(--display);font-size:16px;color:var(--text);letter-spacing:0;margin-left:4px}.rally-chip.on{opacity:1}.rally-chip.hot{color:#2a1a02;background:linear-gradient(180deg,#ffe7ad,var(--gold));border-color:transparent;box-shadow:0 0 18px #f5c25b73}.rally-chip.hot b{color:#2a1a02}.serve-hint{position:absolute;z-index:5;left:50%;bottom:calc(18px + var(--safe-bottom));transform:translate(-50%);display:flex;align-items:center;gap:9px;height:44px;padding:0 18px 0 8px;border-radius:999px;white-space:nowrap;pointer-events:none;font-size:14.5px;font-weight:650;color:#d9e6ff;background:#0c1224d1;border:1px solid var(--line-2);box-shadow:0 10px 24px #00000059;animation:hint-in .35s ease both}.serve-hint b{font-family:var(--display);font-weight:800;color:#fff}.serve-hint .av-wrap{width:30px;height:30px}.serve-hint .cpu-chip{display:none}.serve-hint .arrow{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;color:#06132e;background:linear-gradient(180deg,#a7cdff,var(--accent));box-shadow:0 0 12px #4d9aff8c}.serve-hint .arrow svg{width:18px;height:18px;animation:arrow-up 1s ease-in-out infinite}.serve-hint.mine{border-color:#8fc0ff73}@keyframes arrow-up{0%,to{transform:translateY(2px)}50%{transform:translateY(-3px)}}@keyframes hint-in{0%{opacity:0;transform:translate(-50%,8px)}}.slow-bars{position:absolute;inset:0;z-index:4;pointer-events:none}.slow-bars i{position:absolute;left:0;right:0;height:9vh;background:#000;transition:transform .45s cubic-bezier(.2,.8,.3,1)}.slow-bars i:first-child{top:0;transform:translateY(-100%)}.slow-bars i:nth-child(2){bottom:0;transform:translateY(100%)}.slow-bars b{position:absolute;left:50%;bottom:calc(3vh + var(--safe-bottom));transform:translate(-50%);font-family:var(--display);font-weight:820;font-size:13px;letter-spacing:4px;text-transform:uppercase;color:var(--gold);opacity:0;transition:opacity .3s ease .2s;white-space:nowrap}.game.slowmo .slow-bars i{transform:none}.game.slowmo .slow-bars b{opacity:1}.game.slowmo .rally-chip,.game.slowmo .serve-hint{opacity:0}.float{position:fixed;z-index:42;pointer-events:none;font-family:var(--display);font-weight:860;font-stretch:112%;color:#fff;white-space:nowrap;transform:translate(-50%,-50%)}.float.word{font-size:clamp(34px,min(11vw,12vh),78px);letter-spacing:-1px;animation:word 1.6s cubic-bezier(.2,1.2,.4,1) forwards;background:linear-gradient(180deg,#fff,#ffe39a 60%,#f5a623);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 4px 12px rgba(0,0,0,.6))}.float.word.cool{background:linear-gradient(180deg,#fff,#cfe2ff 55%,#6fa8ff);-webkit-background-clip:text;background-clip:text}.float.word.hot{background:linear-gradient(180deg,#fff,#ffd0a0 50%,#ff6a8a);-webkit-background-clip:text;background-clip:text}.float.word.small-word{font-size:clamp(24px,min(7vw,8vh),46px)}.float.small{font-size:20px;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.7);animation:rise 1.3s ease-out forwards}.float.small.gold{color:#ffe39a}@keyframes rise{0%{transform:translate(-50%,-50%) scale(.6);opacity:0}14%{transform:translate(-50%,-70%) scale(1.15);opacity:1}70%{opacity:1}to{transform:translate(-50%,-190%) scale(1);opacity:0}}@keyframes word{0%{transform:translate(-50%,-50%) scale(.4);opacity:0}16%{transform:translate(-50%,-50%) scale(1.12);opacity:1}72%{transform:translate(-50%,-62%) scale(1);opacity:1}to{transform:translate(-50%,-80%) scale(.98);opacity:0}}.confetti{position:fixed;inset:0;width:100%;height:100%;z-index:60;pointer-events:none}.result h2{font-size:30px}.versus{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;margin-top:16px;padding:12px 10px;border-radius:18px;background:#ffffff0a;border:1px solid var(--line)}.vs-side{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:0}.vs-side .av-wrap{width:46px;height:46px}.vs-side b{font-family:var(--display);font-size:16px;line-height:1.1}.vs-side small{font-size:11px;color:var(--muted);font-weight:700;white-space:nowrap}.vs-side.win .av{box-shadow:0 0 0 3px var(--gold),0 0 18px #f5c25b99}.vs-score{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap;justify-content:center;width:96px}.vs-score b{font-family:var(--display);font-weight:860;font-size:38px;line-height:1;font-variant-numeric:tabular-nums}.vs-score i{font-style:normal;font-size:26px;color:var(--muted)}.vs-score small{flex-basis:100%;text-align:center;font-size:10px;font-weight:800;letter-spacing:1.4px;text-transform:uppercase;color:var(--muted)}.games-row{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin-top:10px}.gchip{display:flex;align-items:baseline;gap:6px;padding:4px 10px;border-radius:999px;background:#ffffff0f;border:1px solid var(--line-2)}.gchip small{font-size:10px;font-weight:800;letter-spacing:1px;color:var(--muted)}.gchip b{font-family:var(--display);font-size:14px;font-variant-numeric:tabular-nums}.gchip.won{border-color:#f5c25b8c;background:#f5c25b1a}.gchip.won b{color:#ffe39a}.trophy{width:74px;height:74px;margin:0 auto 8px;border-radius:24px;display:grid;place-items:center;color:#2a1a02;flex:none;background:linear-gradient(180deg,#ffe7ad,var(--gold) 55%,#dc9725);box-shadow:0 14px 34px #f5c25b66,inset 0 2px #fff9;animation:pop-in .6s cubic-bezier(.2,1.6,.4,1) .15s both}.trophy svg{width:44px;height:44px}.trophy.sad{color:#cfd8ea;background:linear-gradient(180deg,#2a3756,#1a2440);box-shadow:0 14px 30px #0006,inset 0 1px #ffffff1f}@keyframes pop-in{0%{transform:scale(0) rotate(-20deg)}}.statline{margin-top:12px;font-size:13px;color:var(--muted)}.statline b{color:var(--text);font-family:var(--display)}.card-foot{display:flex;flex-direction:column;align-items:center}.exit-btn{align-self:center;flex:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;height:42px;margin-top:14px;padding:0 18px 0 14px;border-radius:999px;color:#dbe3f3;vertical-align:top;background:linear-gradient(180deg,#ffffff17,#ffffff08);border:1px solid var(--line-2);box-shadow:inset 0 1px #ffffff14,0 6px 16px #00000040;font-family:var(--display);font-weight:740;font-stretch:104%;font-size:15px;letter-spacing:.2px;white-space:nowrap;transition:transform .15s ease,background .15s ease}.exit-btn svg{display:block;width:18px;height:18px;flex:none;color:var(--accent-hi)}.exit-btn:active{transform:scale(.96);background:#ffffff1f}.game.side .bar{top:calc(8px + var(--safe-top))}.game.side .board{max-width:470px}.game.side .chip{top:calc(70px + var(--safe-top))}.game.side.short .board{height:48px;max-width:420px}.game.side.short .round{width:42px;height:42px}.game.side.short .pl .pts{font-size:26px}.game.side.short .pl .av-wrap{width:28px;height:28px}.game.side.short .chip{top:calc(62px + var(--safe-top))}.game.side .serve-hint{left:calc(16px + var(--safe-left));transform:none;animation-name:hint-in-side}.game.side .rally-chip{left:auto;right:calc(16px + var(--safe-right));transform:none}@keyframes hint-in-side{0%{opacity:0;transform:translateY(8px)}}.game.side.short .serve-hint,.game.side.short .rally-chip{bottom:calc(10px + var(--safe-bottom))}.game.side.short .serve-hint{height:38px;font-size:13.5px}.game.roomy .bar{top:calc(16px + var(--safe-top));left:calc(20px + var(--safe-left));right:calc(20px + var(--safe-right))}.game.roomy .round{width:52px;height:52px}.game.roomy .board{height:64px;max-width:600px;padding:0 14px}.game.roomy .pl .av-wrap{width:40px;height:40px}.game.roomy .pl .nm b{font-size:16px}.game.roomy .pl .pts{font-size:36px}.game.roomy .board .mid small{font-size:11px}.game.roomy .board .mid span{font-size:12px}.game.roomy .chip{top:calc(92px + var(--safe-top));font-size:13px}.game.roomy .serve-hint{height:50px;font-size:16px;bottom:calc(28px + var(--safe-bottom))}.game.roomy .rally-chip{bottom:calc(28px + var(--safe-bottom));font-size:13px}@media(max-height:520px){.card{width:min(600px,100%);padding:14px 18px 12px}.card h2,.result h2{font-size:24px}.ribbon{margin-bottom:4px;padding:3px 10px;font-size:11px}.card .menu{flex-direction:row;width:100%;margin-top:10px}.card .menu .btn{flex:1;height:46px;font-size:16px}.card .menu .btn small{display:none}.trophy{width:46px;height:46px;border-radius:15px;margin-bottom:4px}.trophy svg{width:28px;height:28px}.versus{margin-top:8px;padding:6px 10px}.vs-side .av-wrap{width:34px;height:34px}.vs-score b{font-size:30px}.statline{margin-top:6px}.card-foot{flex-direction:row;gap:10px;align-items:center;margin-top:10px}.card-foot .menu{flex:1;margin:0}.card-foot .exit-btn{margin-top:0;height:46px}.stats td{padding:4px 2px}.stats th .av-wrap{width:26px;height:26px}.sheet h2{font-size:22px;margin-bottom:2px}.setting{padding:6px 0}.home{display:grid;grid-template-columns:minmax(0,300px) minmax(0,360px);grid-template-rows:1fr auto auto auto auto 1fr;column-gap:40px;row-gap:10px;align-items:center;justify-content:center;align-content:center}.home-logo{grid-column:1;grid-row:2;transform:scale(.85);margin:-8px auto -10px}.home h1{grid-column:1;grid-row:3;font-size:42px}.home .best-line{grid-column:1;grid-row:4}.home .by{grid-column:1;grid-row:5}.home .setup{grid-column:2;grid-row:2 / 4;width:100%;padding:9px;gap:5px}.home .seg button{height:30px}.home .menu{grid-column:2;grid-row:4;width:100%;flex-direction:row;gap:9px}.home .menu .btn{flex:1;height:50px;font-size:17px;padding:0 10px}.home .menu .btn small{display:none}.home .home-foot{grid-column:2;grid-row:5}}@media(max-height:340px){.home .home-foot .round{width:40px;height:40px}.home .help-pill{height:40px}}@media(max-height:700px)and (min-height:521px){.home{gap:13px}.home-logo{transform:scale(.86);margin:-6px auto -8px}.home h1{font-size:42px}.home .menu{gap:9px}.home .menu .btn{height:52px}.setup{padding:9px;gap:5px}.seg button{height:32px}}@media(min-width:700px)and (min-height:860px){.home{gap:26px}.home-logo{transform:scale(1.3);margin:18px auto 14px}.home h1{font-size:76px}.best-line{font-size:17px}.best-line b{font-size:22px}.menu,.setup{width:420px}.seg button{height:40px;font-size:16px}.opt>span{flex-basis:70px;font-size:12px}.btn{height:64px;font-size:22px;border-radius:20px}.btn small{font-size:15px}.by{font-size:14px}}@media(prefers-reduced-motion:reduce){.lp-a,.lp-b,.lball,.lball i,.pl.srv .serve-dot,.serve-hint .arrow svg{animation:none}}.howto{position:fixed;inset:0;z-index:90;display:flex;align-items:center;justify-content:center;padding:calc(20px + var(--safe-top)) calc(20px + var(--safe-right)) calc(20px + var(--safe-bottom)) calc(20px + var(--safe-left));background:#04060cbd;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);animation:fade .25s ease both;touch-action:none;user-select:none;-webkit-user-select:none}.howto.out{animation:fade-out .2s ease forwards}@keyframes fade-out{to{opacity:0}}.ht-card{position:relative;display:flex;flex-direction:column;width:min(460px,100%);height:min(780px,100%);overflow:hidden;border-radius:28px;background:radial-gradient(120% 60% at 50% -5%,rgba(47,107,255,.22),transparent 60%),linear-gradient(180deg,#17213a,#0d1424);border:1px solid rgba(143,192,255,.3);box-shadow:0 40px 80px #0009,inset 0 1px #ffffff0f;animation:card .45s cubic-bezier(.2,1.2,.4,1) both}.ht-head{flex:none;display:flex;align-items:center;gap:10px;padding:14px 14px 6px 22px}.ht-kicker{margin:0;font-family:var(--body);font-size:12px;font-weight:800;letter-spacing:2.4px;text-transform:uppercase;color:var(--accent-hi)}.ht-count{flex:1;font-family:var(--display);font-weight:700;font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums}.ht-skip{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;flex:none;color:var(--text);background:#ffffff0f;border:1px solid var(--line-2);transition:transform .15s ease,background .15s ease}.ht-skip:active{transform:scale(.92);background:#ffffff1f}.ht-skip svg{width:18px;height:18px}.ht-view{position:relative;flex:1;min-height:0;overflow:hidden;touch-action:none}.ht-track{display:flex;height:100%;transition:transform .38s cubic-bezier(.25,.9,.3,1);will-change:transform}.ht-slide{flex:0 0 100%;min-width:0;height:100%;display:flex;flex-direction:column;gap:14px;padding:4px 22px 0}.ht-stage{position:relative;flex:1 1 auto;min-height:0;border-radius:22px;overflow:hidden;background:radial-gradient(70% 65% at 50% 45%,rgba(77,154,255,.14),transparent 72%),#ffffff06;border:1px solid rgba(255,255,255,.06)}.ht-text{flex:none;text-align:center;min-height:104px}.ht-text h3{margin:0 0 6px;font-family:var(--display);font-weight:820;font-stretch:110%;font-size:26px;line-height:1.1;letter-spacing:-.4px}.ht-text p{margin:0 auto;max-width:350px;font-size:15.5px;line-height:1.45;font-weight:550;color:#b9c4da}.ht-foot{flex:none;display:flex;flex-direction:column;align-items:center;gap:14px;padding:14px 22px 20px}.ht-dots{display:flex;gap:4px}.ht-dot{width:22px;height:22px;display:grid;place-items:center;padding:0}.ht-dot:before{content:"";width:8px;height:8px;border-radius:4px;background:#ffffff38;transition:width .25s ease,background .25s ease}.ht-dot.on:before{width:22px;background:var(--accent-hi);box-shadow:0 0 10px #8fc0ff99}.ht-dot.on{width:34px}.ht-nav{width:100%;display:grid;grid-template-columns:1fr 1.6fr;gap:10px}.ht-nav .btn{height:54px;font-size:18px;gap:6px}.ht-nav .btn svg{width:18px;height:18px;flex:none}.ht-back.hide{display:none}.ht-next.done,.ht-back.hide+.ht-next{grid-column:1 / -1}.ht-card:focus{outline:none}.ht-sr{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.howto .btn:focus-visible,.ht-skip:focus-visible,.ht-dot:focus-visible{outline:3px solid rgba(143,192,255,.8);outline-offset:2px}.ht-nav:has(.ht-next.done) .ht-back{display:none}@media(max-width:560px)and (orientation:portrait){.howto{padding:calc(10px + var(--safe-top)) 0 0;align-items:stretch}.ht-card{width:100%;height:auto;border-radius:28px 28px 0 0;border-bottom:none;animation:sheet-up .45s cubic-bezier(.2,1,.3,1) both}.ht-foot{padding-bottom:calc(18px + var(--safe-bottom))}}@keyframes sheet-up{0%{transform:translateY(40px);opacity:0}}@media(max-width:380px)and (orientation:portrait),(max-height:680px)and (orientation:portrait){.ht-slide{gap:10px;padding:2px 16px 0}.ht-text{min-height:96px}.ht-text h3{font-size:23px}.ht-text p{font-size:14.5px;line-height:1.4}.ht-foot{gap:10px;padding:10px 16px calc(14px + var(--safe-bottom))}.ht-nav .btn{height:50px;font-size:17px}.ht-head{padding:10px 12px 4px 18px}}@media(orientation:landscape)and (max-height:560px){.howto{padding:calc(8px + var(--safe-top)) calc(8px + var(--safe-right)) calc(8px + var(--safe-bottom)) calc(8px + var(--safe-left))}.ht-card{width:min(860px,100%);height:100%}.ht-head{position:absolute;left:50%;right:0;top:0;z-index:2;padding:12px 12px 0 18px}.ht-slide{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr;gap:0;padding:0}.ht-stage{margin:12px 0 12px 12px;border-radius:20px}.ht-text{align-self:start;text-align:left;min-height:0;padding:64px 22px 0}.ht-text h3{font-size:24px}.ht-text p{margin:0;font-size:15px}.ht-foot{position:absolute;left:50%;right:0;bottom:0;align-items:flex-start;gap:10px;padding:0 18px 16px 22px}.ht-nav .btn{height:48px;font-size:16.5px}}.ht-field{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);overflow:hidden;border-radius:16px;border:1px solid rgba(143,192,255,.26);box-shadow:0 22px 40px #00000073}.ht-field canvas{display:block;width:100%;height:100%}@media(prefers-reduced-motion:reduce){.howto,.ht-card,.howto.out{animation:none}.ht-track{transition:none}}
