:root{--red:#e5364b;--ink:#0a0a0a;--paper:#fff;--display:"Pretendard Variable", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;--body:"Pretendard Variable", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;--safe-t:env(safe-area-inset-top,0px);--safe-b:env(safe-area-inset-bottom,0px);--safe-l:env(safe-area-inset-left,0px);--safe-r:env(safe-area-inset-right,0px)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{background:var(--ink);height:100%;color:var(--paper);font-family:var(--body);letter-spacing:-.01em;overscroll-behavior:none;touch-action:none;-webkit-user-select:none;user-select:none;margin:0;overflow:hidden}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}#game{touch-action:none;width:100%;height:100%;display:block;position:fixed;inset:0}.hidden{display:none!important}#join{width:min(500px,100%);padding:calc(20px + var(--safe-t)) calc(24px + var(--safe-r)) calc(20px + var(--safe-b)) calc(24px + var(--safe-l));touch-action:pan-y;background:linear-gradient(90deg,#0a0a0aeb 0%,#0a0a0adb 84%,#0a0a0a00 100%);flex-direction:column;justify-content:flex-start;gap:12px;transition:opacity .5s;display:flex;position:fixed;inset:0;overflow-y:auto}#join.leaving{opacity:0;pointer-events:none}#join.leaving h1{opacity:0;transform:translateY(-40px)scale(1.08)}#join.leaving .entry{opacity:0;transform:translateY(40px)}h1{font-family:var(--display);letter-spacing:-.03em;color:var(--paper);transform-origin:0 100%;margin:2px 0 0;font-size:clamp(52px,8vw,84px);font-weight:800;line-height:1.05;transition:all .45s;animation:.8s cubic-bezier(.2,1.4,.3,1) both slam}h1 img{filter:drop-shadow(0 2px 10px #0a0a0abf);width:auto;height:.8em;display:block}.entry{width:100%;transition:all .45s;animation:.7s cubic-bezier(.2,.9,.2,1) .3s both rise;position:relative}.field-label{margin-bottom:6px;font-size:13px;font-weight:700;display:block}#teams{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px;display:grid}.team-card{border:2px solid var(--team);background:#ffffff14;border-radius:14px;justify-content:space-between;align-items:center;gap:8px;min-height:64px;padding:0 14px;transition:transform .15s cubic-bezier(.2,1.6,.4,1),background .15s;display:flex}.team-card strong{font-family:var(--display);font-size:22px;font-weight:700;line-height:1.2}.team-card small{white-space:nowrap;font-size:14px;font-weight:700}.team-card:not(:disabled):hover{transform:translateY(-2px)}.team-card[aria-pressed=true]{background:var(--team);color:#fff;box-shadow:0 0 0 2px var(--paper)}.team-card:disabled{opacity:.45;cursor:not-allowed}.team-card:focus-visible,.character-nav button:focus-visible,#enter:focus-visible{outline:3px solid var(--paper);outline-offset:2px}#nick{width:100%;height:50px;font:700 18px var(--body);color:var(--ink);background:var(--paper);-webkit-user-select:text;user-select:text;border:0;border-radius:12px;outline:none;padding:0 16px}#nick:focus-visible{box-shadow:0 0 0 3px var(--paper)}#name-note{color:#bff0c0;min-height:20px;margin:4px 0 8px;font-size:12px;font-weight:500}#name-note.bad{color:#ffb4b4;font-weight:700}.character{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.character .field-label{margin:0}.character-nav{align-items:center;gap:4px;display:flex}.character-nav button{background:#ffffff24;border-radius:12px;width:48px;height:44px;font-size:28px;line-height:1;transition:transform .15s cubic-bezier(.2,1.6,.4,1)}.character-nav button:active{transform:scale(.92)}.char-name{flex-direction:column;align-items:center;width:112px;line-height:1.25;display:flex}.char-name b{font-size:15px}.char-name small{color:#ffffffb8;white-space:nowrap;font-size:11px}#enter{width:100%;height:56px;font-family:var(--display);color:var(--ink);background:var(--paper);border-radius:14px;font-size:24px;font-weight:700;transition:transform .15s cubic-bezier(.2,1.6,.4,1);display:block}.entry-links{color:#ffffff8c;gap:12px;font-size:11px;display:flex;position:absolute;top:0;right:0}.entry-links a,#lang-switch{font:inherit;color:inherit;text-decoration:underline}#enter:disabled{opacity:.45;cursor:not-allowed}#enter:not(:disabled):hover{transform:translateY(-2px)rotate(-1deg)}#enter:not(:disabled):active{transform:scale(.96)}@media (orientation:portrait){#join{background:#0a0a0af0;border-radius:20px 20px 0 0;width:100%;max-height:100%;padding-top:16px;top:auto}#join .title{top:calc(14px + var(--safe-t));pointer-events:none;position:fixed;left:20px}h1{font-size:44px}#join.leaving .title{opacity:0}}@media (orientation:landscape) and (height<=520px){#join{width:min(56vw,440px);padding-top:calc(8px + var(--safe-t));padding-bottom:calc(8px + var(--safe-b));gap:4px}h1{text-shadow:none;font-size:28px}.field-label{margin-bottom:3px;font-size:12px}#teams{margin-bottom:8px}.team-card{min-height:46px}.team-card strong{font-size:18px}#nick{height:38px;font-size:16px}#name-note{min-height:16px;margin:2px 0 4px;font-size:11px}.character{margin-bottom:8px}.character-nav button{height:38px}#enter{height:44px;font-size:20px}}#hud{pointer-events:none;position:fixed;inset:0}#board{top:calc(12px + var(--safe-t));filter:drop-shadow(0 6px #0a0a0a47);align-items:stretch;height:46px;animation:.6s cubic-bezier(.2,1.4,.3,1) both drop;display:flex;position:absolute;left:50%;transform:translate(-50%)}.tile{background:var(--ink);white-space:nowrap;align-items:center;gap:10px;padding:0 14px;display:flex}.tile.left{border-radius:10px 0 0 10px}.tile.right{border-radius:0 10px 10px 0}.tile i{background:currentColor;border-radius:3px;width:10px;height:24px}.tile span{color:var(--paper);font-size:13px;font-weight:700}.tile b{font-family:var(--display);text-align:center;min-width:22px;color:var(--paper);font-size:30px;font-weight:700}.tile b.punch{animation:.6s cubic-bezier(.2,1.6,.4,1) punch}#clock{min-width:82px;font-family:var(--display);font-variant-numeric:tabular-nums;background:var(--paper);color:var(--ink);justify-content:center;align-items:center;padding:0 12px;font-size:22px;font-weight:700;display:flex}#clock.urgent{background:var(--red);color:var(--paper);animation:.8s infinite pulse}#status{top:calc(68px + var(--safe-t));white-space:nowrap;text-overflow:ellipsis;background:#0a0a0ab8;border-radius:999px;max-width:calc(100vw - 24px);padding:6px 14px;font-size:13px;font-weight:700;transition:opacity .25s;position:absolute;left:50%;overflow:hidden;transform:translate(-50%)}#status:empty{opacity:0}#tools{top:calc(12px + var(--safe-t));right:calc(12px + var(--safe-r));gap:6px;display:flex;position:absolute}#tool-items{gap:6px;display:flex}#tool-menu{display:none}#tools button,#emotes button{pointer-events:auto;background:#0a0a0ab8;border-radius:10px;transition:transform .15s cubic-bezier(.2,1.6,.4,1),background .15s}#tools button{white-space:nowrap;min-width:40px;min-height:40px;padding:0 12px;font-size:13px;font-weight:700}#tools button:hover,#emotes button:hover{background:var(--ink);transform:translateY(-2px)}#tools button:active,#emotes button:active{transform:scale(.88)}#tools button:focus-visible,#emotes button:focus-visible{outline:2px solid var(--paper)}#emotes{bottom:calc(16px + var(--safe-b));right:calc(16px + var(--safe-r));gap:6px;display:flex;position:absolute}#emotes button{width:44px;height:44px;font-size:22px}#keys{bottom:calc(16px + var(--safe-b));left:calc(16px + var(--safe-l));background:#0a0a0ab8;border-radius:10px;flex-wrap:wrap;gap:12px;padding:8px 12px;font-size:12px;font-weight:500;transition:opacity .8s;display:flex;position:absolute}#keys.fade{opacity:0}kbd{font:700 11px var(--body);background:var(--paper);color:var(--ink);border-radius:4px;margin-right:2px;padding:2px 6px}#stamina{bottom:calc(64px + var(--safe-b));background:#0a0a0ab3;border-radius:4px;width:180px;height:8px;margin-left:-90px;transition:opacity .3s;position:absolute;left:50%;overflow:hidden}#stamina i{background:var(--paper);transform-origin:0;width:100%;height:100%;display:block}#stamina.full{opacity:0}body.winded #stamina i{background:#ff5a5a}#ball-arrow{opacity:0;width:0;height:0;transition:opacity .15s;position:absolute;top:0;left:0}#ball-arrow.on{opacity:1}.ba-chip{background:var(--paper);width:54px;height:54px;color:var(--ink);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;top:-27px;left:-27px;box-shadow:0 4px #0a0a0a59}#ball-arrow.on .ba-chip{animation:.3s cubic-bezier(.2,1.6,.4,1) chip-pop}.ba-chip b{font-size:19px;font-weight:400;line-height:1}.ba-chip span{font-variant-numeric:tabular-nums;margin-top:2px;font-size:12px;font-weight:700;line-height:1}.ba-dir{width:0;height:0;position:absolute;top:0;left:0}.ba-dir i{border-top:10px solid #0000;border-bottom:10px solid #0000;border-left:15px solid var(--paper);width:0;height:0;animation:.7s ease-in-out infinite alternate tip-nudge;position:absolute;top:-10px;left:29px}#count{font-family:var(--display);letter-spacing:-.03em;color:var(--paper);text-shadow:0 8px #0a0a0a66;justify-content:center;align-items:center;font-size:clamp(120px,26vmin,260px);font-weight:800;display:flex;position:absolute;inset:0}#count span{animation:.9s cubic-bezier(.2,1.5,.3,1) both count}#goal{--goal-y:22%;visibility:hidden;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0;overflow:hidden}#goal:after{content:"";flex:0 0 calc(100% - 2 * var(--goal-y))}#goal.on{visibility:visible}#goal .band{left:-20%;right:-20%;top:var(--goal-y);background:var(--team,var(--red));transform-origin:50%;height:clamp(120px,26vmin,240px);margin-top:calc(clamp(120px,26vmin,240px)/-2);position:absolute;transform:rotate(-4deg)}#goal.on .band{animation:2.6s cubic-bezier(.7,0,.2,1) both band}#goal .word{font-family:var(--display);letter-spacing:-.03em;color:var(--ink);font-size:clamp(76px,20vmin,200px);font-weight:800;line-height:1;position:relative;transform:rotate(-4deg)}#goal.on .word{animation:2.6s cubic-bezier(.2,1.4,.3,1) both goalword}#goal .who{color:var(--ink);margin-top:4px;font-size:clamp(16px,3.4vmin,26px);font-weight:700;position:relative;transform:rotate(-4deg)}#goal.on .who{animation:2.6s both goalwho}#result{background:#0a0a0a73;justify-content:center;align-items:center;padding:24px;display:none;position:absolute;inset:0}#result.on{animation:.4s both fade;display:flex}.result-card{text-align:center;animation:.7s cubic-bezier(.2,1.4,.3,1) both slam}.result-title{font-family:var(--display);letter-spacing:-.03em;font-size:clamp(56px,13vmin,120px);font-weight:800;line-height:1.05}.result-score{font-family:var(--display);letter-spacing:-.03em;color:var(--paper);font-size:clamp(72px,18vmin,160px);font-weight:800;line-height:1.05}.result-mvp{min-height:26px;font-size:18px;font-weight:700}.result-next{margin-top:12px;font-size:14px;font-weight:500}#toast{top:calc(104px + var(--safe-t));background:var(--paper);max-width:calc(100vw - 32px);color:var(--ink);text-align:center;word-break:break-all;opacity:0;-webkit-user-select:text;user-select:text;border-radius:10px;padding:10px 16px;font-size:14px;font-weight:700;transition:all .25s cubic-bezier(.2,1.4,.3,1);position:absolute;left:50%;transform:translate(-50%,-10px)}#toast.on{opacity:1;pointer-events:auto;transform:translate(-50%)}#help{padding:calc(16px + var(--safe-t)) calc(16px + var(--safe-r)) calc(16px + var(--safe-b)) calc(16px + var(--safe-l));background:#0a0a0a99;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.help-card{touch-action:pan-y;background:var(--ink);border-radius:18px;width:min(420px,100%);max-height:100%;padding:20px;overflow-y:auto}.help-card h2{font-family:var(--display);margin:0 0 12px;font-size:24px;font-weight:700}.help-keys{margin:0 0 12px}.help-keys div{border-bottom:1px solid #ffffff1f;justify-content:space-between;align-items:center;gap:12px;padding:7px 0;font-size:14px;display:flex}.help-keys dt{font-weight:700}.help-keys dd{text-align:right;margin:0}.help-touch,body.is-touch .help-pc{display:none}body.is-touch .help-touch{display:block}.help-rules{margin:0 0 14px;padding-left:18px;font-size:13px;line-height:1.6}#help-close{width:100%;height:46px;font-family:var(--display);color:var(--ink);background:var(--paper);border-radius:12px;font-size:18px;font-weight:700}#touch{--kick-bottom:calc(36px + var(--safe-b));pointer-events:none;position:fixed;inset:0}#stick-zone{left:0;right:45%;top:calc(70px + var(--safe-t));pointer-events:auto;touch-action:none;position:absolute;bottom:0}#stick{opacity:0;width:0;height:0;transition:opacity .12s;position:absolute;top:0;left:0}#stick.on{opacity:1}#stick:before{content:"";background:#0a0a0a40;border:3px solid #ffffffbf;border-radius:50%;width:112px;height:112px;position:absolute;top:-56px;left:-56px}#stick:after{content:"";border:2px dashed #fff6;border-radius:50%;width:96px;height:96px;position:absolute;top:-48px;left:-48px}#stick.sprint:before{border-color:var(--paper);box-shadow:0 0 0 5px #ffffff59}#stick.sprint #stick-thumb{background:var(--paper)}body.winded #stick:before{box-shadow:none;border-color:#ff5a5a}body.winded #stick #stick-thumb{background:#ffb4b4}#stick-thumb{background:var(--paper);border-radius:50%;width:52px;height:52px;margin:0;position:absolute;top:-26px;left:-26px}#touch-hint{left:calc(16px + var(--safe-l));bottom:calc(16px + var(--safe-b));white-space:pre-line;background:#0a0a0ab8;border-radius:10px;padding:8px 12px;font-size:12px;font-weight:500;line-height:1.5;transition:opacity .8s;position:absolute}#touch-hint.fade{opacity:0}#btn-kick,#btn-tackle{pointer-events:auto;touch-action:none;font-family:var(--display);color:var(--ink);border-radius:50%;font-weight:700;transition:transform .12s cubic-bezier(.2,1.6,.4,1);position:absolute;box-shadow:0 6px #0a0a0a59}#btn-kick{right:calc(20px + var(--safe-r));bottom:var(--kick-bottom);background:var(--paper);width:104px;height:104px;font-size:36px}#btn-tackle{right:calc(20px + var(--safe-r));bottom:calc(var(--kick-bottom) + 108px);width:66px;height:66px;color:var(--paper);background:var(--ink);font-size:19px}html[lang=en] #btn-tackle{font-size:15px}html[lang=en] #goal .word{font-size:clamp(56px,15vmin,160px)}#btn-tackle.waiting{opacity:.45}#btn-kick.held,#btn-tackle:active{transform:translateY(4px)scale(.94);box-shadow:0 1px #0a0a0a59}body.is-touch #keys{display:none}body.is-touch #tools button{padding:0 10px;font-size:12px}body.is-touch #tools{left:auto;right:calc(12px + var(--safe-r))}body.is-touch #tool-menu{display:block}body.is-touch #tool-items{flex-direction:column;min-width:88px;margin-top:6px;display:none;position:absolute;top:100%;right:0}body.is-touch #tool-items button{background:var(--ink)}body.is-touch #tools.open #tool-items{display:flex}body.is-touch #emotes{top:calc(12px + var(--safe-t));left:calc(12px + var(--safe-l));flex-direction:column;gap:4px;bottom:auto;right:auto}body.is-touch #emotes button{width:40px;height:40px;font-size:20px}@media (orientation:portrait) and (width<=640px){#board{top:calc(58px + var(--safe-t));height:42px}#status{top:calc(108px + var(--safe-t))}#toast{top:calc(144px + var(--safe-t))}body.is-touch #board{top:calc(12px + var(--safe-t))}body.is-touch .tile{gap:6px;padding:0 10px}body.is-touch .tile b{font-size:24px}body.is-touch #clock{min-width:70px;font-size:18px}body.is-touch #emotes{top:calc(66px + var(--safe-t))}body.is-touch #stamina{top:calc(62px + var(--safe-t));bottom:auto}body.is-touch #status{top:calc(76px + var(--safe-t))}body.is-touch #toast{top:calc(104px + var(--safe-t))}}@media (width<=900px) and (orientation:landscape){#board{left:calc(16px + var(--safe-l));top:calc(10px + var(--safe-t));height:38px;animation:none;transform:none}.tile{gap:6px;padding:0 10px}.tile b{font-size:24px}#clock{min-width:70px;font-size:18px}#status{top:calc(54px + var(--safe-t));left:calc(16px + var(--safe-l));transform:none}body.is-touch #board{left:50%;transform:translate(-50%)}body.is-touch #stamina{top:calc(54px + var(--safe-t));bottom:auto}body.is-touch #status{top:calc(68px + var(--safe-t));left:50%;transform:translate(-50%)}#emotes button{width:38px;height:38px;font-size:18px}#emotes{bottom:auto;top:calc(58px + var(--safe-t));right:calc(12px + var(--safe-r))}#touch{--kick-bottom:calc(14px + var(--safe-b))}}@media (orientation:portrait) and (width<=640px){#tools{left:calc(8px + var(--safe-l));right:calc(8px + var(--safe-r));justify-content:flex-end;gap:4px}#tools button{padding:0 8px;font-size:12px}}@media (orientation:landscape) and (height<=520px){#tools button{min-height:34px;padding:0 8px;font-size:11px}body.is-touch #tool-items{flex-flow:wrap;width:180px}body.is-touch #tool-items button{flex:calc(50% - 3px)}.help-card{grid-template-rows:auto auto 1fr;grid-template-columns:1.2fr 1fr;column-gap:20px;width:min(620px,100%);padding:12px 16px;display:grid}.help-card h2{grid-column:1/-1;margin-bottom:4px;font-size:18px}.help-keys{grid-row:2/span 2;margin:0}.help-keys div{padding:4px 0;font-size:13px}.help-rules{margin:4px 0 8px;font-size:12px;line-height:1.45}#help-close{align-self:end;height:38px;margin:0}#toast{top:calc(52px + var(--safe-t))}.result-title{font-size:40px}.result-score{font-size:48px}.result-mvp{font-size:14px}#goal .word{font-size:72px}}@keyframes pulse-dot{50%{opacity:.25}}@keyframes chip-pop{0%{transform:scale(.4)}}@keyframes tip-nudge{to{transform:translate(6px)}}@keyframes slam{0%{opacity:0;transform:scale(1.5)}to{opacity:1;transform:scale(1)}}@keyframes rise{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes drop{0%{opacity:0;transform:translate(-50%,-40px)}to{opacity:1;transform:translate(-50%)}}@keyframes punch{0%{transform:scale(1)}35%{color:var(--paper);transform:scale(1.9)}to{transform:scale(1)}}@keyframes pulse{50%{transform:scale(1.08)}}@keyframes count{0%{opacity:0;transform:scale(2.4)rotate(-6deg)}35%{opacity:1;transform:scale(1)rotate(-3deg)}80%{opacity:1;transform:scale(.96)rotate(-3deg)}to{opacity:0;transform:scale(.8)rotate(-3deg)}}@keyframes band{0%{transform:rotate(-4deg)scaleY(0)}14%,82%{transform:rotate(-4deg)scaleY(1)}to{transform:rotate(-4deg)scaleY(0)}}@keyframes goalword{0%{opacity:0;transform:rotate(-4deg)translate(-60vw)skew(-20deg)}16%,80%{opacity:1;transform:rotate(-4deg)translate(0)}to{opacity:0;transform:rotate(-4deg)translate(60vw)skew(-20deg)}}@keyframes goalwho{0%,16%{opacity:0}24%,80%{opacity:1}90%,to{opacity:0}}@keyframes fade{0%{opacity:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.tap-haptic{-webkit-tap-highlight-color:transparent;border-radius:50%;position:absolute;inset:0}.tap-haptic input{visibility:hidden;width:1px;height:1px;margin:0;position:absolute}#stick-zone .drag-haptic{opacity:0;width:100%;height:100%;margin:0;position:absolute;inset:0}#frame-stats{z-index:100;color:#fff;pointer-events:none;background:#000000b3;border-radius:6px;margin:0;padding:6px 8px;font:12px/1.4 ui-monospace,Menlo,monospace;position:fixed;top:40%;left:8px}
