@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fixed{position:fixed}.flex{display:flex}.hidden{display:none}.table{display:table}.border-collapse{border-collapse:collapse}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.flex-wrap{flex-wrap:wrap}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}}@font-face{font-family:Jua;src:url(/fonts/jua.woff2)format("woff2");font-display:swap}@font-face{font-family:Gaegu;src:url(/fonts/gaegu-bold.woff2)format("woff2");font-weight:700;font-display:swap}:root{color:#393b34;font-synthesis:none;-webkit-font-smoothing:antialiased;--ink:#393b34;--muted:#8a8a7d;--line:#ddd8ca;--paper:#fffdf6;--cream:#f6f2e9;--coral:#e77458;--coral-deep:#b65c45;--blue:#759eae;--blue-deep:#557d8c;--leaf:#727c5e;--display:"Jua", "Apple SD Gothic Neo", sans-serif;--hand:"Gaegu", "Apple SD Gothic Neo", sans-serif;--sketch:18px 22px 16px 24px / 22px 16px 24px 18px;--outline:3px 3px 0 var(--ink), -2px -2px 0 var(--ink), 2px -2px 0 var(--ink), -2px 2px 0 var(--ink), 0 3px 0 var(--ink), 0 -2px 0 var(--ink), 3px 0 0 var(--ink), -2px 0 0 var(--ink);--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--edge:24px;background:#cfe6b4;font-family:Apple SD Gothic Neo,Noto Sans KR,Malgun Gothic,sans-serif}*{box-sizing:border-box}html,body,#root{overscroll-behavior:none;background:#cfe6b4;height:100%;min-height:100%;margin:0;overflow:hidden}body{background:#cfe6b4;font-size:14px}button,input,select{font:inherit}button{color:inherit;cursor:pointer;background:0 0;border:0;transition:background .15s,transform .12s,box-shadow .12s,opacity .15s}button:disabled{cursor:default;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--ink);outline-offset:3px}button,a,input{-webkit-tap-highlight-color:transparent}a{color:inherit}svg{flex-shrink:0}kbd{white-space:nowrap;border:1.5px solid;border-bottom-width:3px;border-radius:6px;align-items:center;height:24px;padding:0 7px;font:700 12px/1 Apple SD Gothic Neo,sans-serif;display:inline-flex}.portrait{object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;pointer-events:none}.app-shell{-webkit-user-select:none;user-select:none;background:#cfe6b4;position:fixed;inset:0;overflow:hidden}.arena{position:absolute;inset:0}.arena canvas{touch-action:none;width:100%;height:100%;display:block}.scene{position:absolute;inset:0}.paper{background:var(--paper);border:2.5px solid var(--ink);border-radius:var(--sketch);box-shadow:0 4px #393b3433}.game-button{border:2.5px solid var(--ink);border-radius:var(--sketch);background:var(--paper);height:58px;box-shadow:0 5px 0 var(--ink);font-family:var(--display);color:var(--ink);white-space:nowrap;justify-content:center;align-items:center;gap:10px;padding:0 26px;font-size:24px;line-height:1;display:inline-flex}.game-button:not(:disabled):active{box-shadow:0 2px 0 var(--ink);transform:translateY(3px)}.game-button svg{stroke-width:2.6px;width:22px;height:22px}.game-button small{opacity:.7;font:700 13px/1 Apple SD Gothic Neo,sans-serif}.game-button.primary{background:var(--coral);color:var(--paper)}.game-button.large{height:70px;font-size:30px}.game-button.small{height:44px;box-shadow:0 4px 0 var(--ink);padding:0 18px;font-size:18px}.game-button.chip{height:44px;box-shadow:0 4px 0 var(--ink);padding:0 16px;font-size:17px}.game-button.wide{width:100%}.game-button kbd{color:var(--paper)}.round-button{border:2.5px solid var(--ink);width:48px;height:48px;color:var(--ink);background:#fffdf6e6;border-radius:50%;place-items:center;display:grid;box-shadow:0 3px #393b3466}.round-button:active{transform:translateY(2px);box-shadow:0 1px #393b3466}.round-button svg{stroke-width:2.4px;width:22px;height:22px}.text-button{color:var(--muted);align-items:center;gap:6px;padding:8px 6px;font:700 14px/1 Apple SD Gothic Neo,sans-serif;display:inline-flex}.logo{font-family:var(--display);color:var(--paper);text-shadow:var(--outline),5px 8px 0 #393b3433;letter-spacing:-.01em;margin:0;font-weight:400;line-height:1}.logo b{color:var(--coral);font-weight:400}.bubble{background:var(--paper);border:2.5px solid var(--ink);font-family:var(--hand);white-space:nowrap;color:var(--ink);border-radius:24px 26px 22px 28px;padding:8px 16px;font-size:22px;font-weight:700;line-height:1.1;position:absolute}.bubble:after{content:"";background:var(--paper);border-right:2.5px solid var(--ink);border-bottom:2.5px solid var(--ink);width:14px;height:14px;position:absolute;bottom:-9px;left:26px;transform:rotate(45deg)}.corner{top:calc(var(--edge) + var(--safe-top));z-index:5;gap:12px;display:flex;position:absolute}.corner-left{left:calc(var(--edge) + var(--safe-left))}.corner-right{right:calc(var(--edge) + var(--safe-right))}.title-copy{left:calc(7.5vw + var(--safe-left));z-index:2;flex-direction:column;align-items:flex-start;display:flex;position:absolute;top:15dvh}.title-sub{font-family:var(--hand);margin:0 0 10px 6px;font-size:clamp(16px,1.9vw,24px);font-weight:700}.title-copy .logo{font-size:clamp(56px,8.8vw,112px)}.title-menu{flex-direction:column;align-items:stretch;gap:16px;width:clamp(260px,26vw,340px);margin-top:clamp(28px,5dvh,56px);display:flex}.title-menu .small{align-self:flex-start}.enter-hint{color:var(--paper);background:#393b34b3;border-radius:20px;align-items:center;gap:8px;margin:24px 0 0;padding:8px 14px;font:700 14px/1 Apple SD Gothic Neo,sans-serif;display:flex}.title-friends{right:calc(3vw + var(--safe-right));align-items:flex-end;display:flex;position:absolute;bottom:7dvh}.title-friends .portrait{width:clamp(120px,18vw,250px);height:auto;margin-left:-1.5vw;animation:2.6s ease-in-out infinite bob}.title-friends .portrait:nth-of-type(2){margin-bottom:-2vw;animation-delay:-.8s}.title-friends .portrait:nth-of-type(3){animation-delay:-1.6s}.title-friends .bubble{top:-56px;right:6vw}.title-foot{left:0;right:0;bottom:calc(14px + var(--safe-bottom));text-align:center;color:var(--paper);text-shadow:0 1px 3px #000a;padding:0 16px;font:600 12px/1.4 Apple SD Gothic Neo,sans-serif;position:absolute}.toast{left:50%;top:calc(var(--edge) + var(--safe-top) + 4px);color:var(--paper);white-space:nowrap;z-index:6;background:#393b34e6;border-radius:22px;align-items:center;gap:8px;padding:10px 16px;font:700 13px/1 Apple SD Gothic Neo,sans-serif;display:flex;position:absolute;transform:translate(-50%)}.toast button{color:#ffd9c9;align-items:center;gap:4px;margin-left:4px;font-weight:800;display:inline-flex}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.side{top:calc(28px + var(--safe-top));z-index:2;flex-direction:column;gap:10px;display:flex;position:absolute}.side-left{left:calc(6vw + var(--safe-left));align-items:flex-start}.side-right{right:calc(6vw + var(--safe-right));align-items:flex-end}.slot{color:var(--paper);background:var(--coral);letter-spacing:.03em;border-radius:8px;padding:7px 10px;font:800 14px/1 Apple SD Gothic Neo,sans-serif}.slot.p2{background:var(--blue-deep)}.side-name{font-family:var(--display);color:var(--paper);text-shadow:var(--outline);margin:0;font-size:clamp(32px,3.6vw,46px);font-weight:400;line-height:1}.picks{gap:10px;margin-top:4px;display:flex}.pick{background:var(--paper);border:2.5px solid #393b3455;border-radius:50%;place-items:center;width:76px;height:76px;display:grid;position:relative}.pick .portrait{width:80%;height:80%}.pick.on{border:3px solid var(--ink);box-shadow:0 4px 0 var(--ink)}.pick i{background:var(--coral);color:#fff;border:2px solid var(--ink);border-radius:10px;padding:5px 7px;font:800 12px/1 Apple SD Gothic Neo,sans-serif;position:absolute;top:-12px;right:-8px}.side-right .pick i{background:var(--blue-deep)}.pick-keys{color:var(--ink);background:#fffdf6cc;border-radius:10px;align-items:center;gap:4px;padding:4px 8px;font:700 12px/1 Apple SD Gothic Neo,sans-serif;display:flex}.versus{font-family:var(--display);color:var(--paper);text-shadow:var(--outline);pointer-events:none;font-size:clamp(44px,5vw,68px);position:absolute;top:22dvh;left:50%;transform:translate(-50%)rotate(-6deg)}.swap{position:absolute;top:calc(22dvh + clamp(64px,8vw,96px));left:50%;transform:translate(-50%)}.swap:not(:disabled):active{transform:translate(-50%,3px)}.match-tray{left:calc(24px + var(--safe-left));right:calc(24px + var(--safe-right));bottom:calc(20px + var(--safe-bottom));flex-wrap:wrap;align-items:center;gap:14px 28px;padding:16px 24px;display:flex;position:absolute}.tray-group{flex-direction:column;gap:8px;display:flex}.tray-label{color:var(--muted);font:700 13px/1 Apple SD Gothic Neo,sans-serif}.tray-note{font:700 15px/1 Apple SD Gothic Neo,sans-serif}.chips{gap:8px;display:flex}.chip-button{white-space:nowrap;background:var(--paper);min-width:60px;height:40px;color:var(--muted);border:2px solid #393b3440;border-radius:20px;padding:0 14px;font:700 15px/1 Apple SD Gothic Neo,sans-serif}.chip-button.on{border-color:var(--ink);background:var(--ink);color:var(--paper)}.stage-thumb{background:url(/assets/meadow.webp) 50%/cover;border:2px solid #393b3440;border-radius:10px;width:84px;height:40px;position:relative}.stage-thumb.sunset:after{content:"";background:#f7a07366;border-radius:8px;position:absolute;inset:0}.stage-thumb.on{border:3px solid var(--ink)}.match-tray .start{height:64px;margin-left:auto;font-size:28px}.score-tag{top:calc(14px + var(--safe-top));z-index:3;pointer-events:none;align-items:center;gap:14px;padding:6px 18px 8px;transition:opacity .12s;display:flex;position:absolute;left:50%;transform:translate(-50%)}.score-tag[data-under=true]{opacity:.3}.score-tag.is-hidden{visibility:hidden}.score-tag:before,.score-tag:after{content:"";top:calc(-16px - var(--safe-top));height:calc(16px + var(--safe-top));background:#393b3499;width:2px;position:absolute}.score-tag:before{left:30px}.score-tag:after{right:30px}.score-tag .face{width:44px;height:44px}.score{font-family:var(--display);text-align:center;font-variant-numeric:tabular-nums;min-width:30px;font-size:44px;font-weight:400;line-height:1}.score.p1,.result-score .p1{color:var(--coral)}.score.p2{color:var(--blue-deep)}.score-mid{font-family:var(--display);color:var(--muted);flex-direction:column;align-items:center;gap:2px;font-size:22px;display:flex}.score-mid small{white-space:nowrap;font:700 12px/1 Apple SD Gothic Neo,sans-serif}.hud-pause{top:calc(18px + var(--safe-top));right:calc(var(--edge) + var(--safe-right));z-index:4;position:absolute}[data-touch=true] .hud-pause{right:auto;left:calc(16px + var(--safe-left));top:calc(12px + var(--safe-top));width:42px;height:42px}.rally-bubble{left:calc(50% + 120px);top:calc(86px + var(--safe-top));z-index:3;pointer-events:none;font-size:20px;animation:2s forwards rally}@keyframes rally{0%{opacity:0;transform:scale(.6)}12%{opacity:1;transform:scale(1.08)}20%,80%{opacity:1;transform:scale(1)}to{opacity:0;transform:translateY(-8px)}}.callout{pointer-events:none;z-index:3;flex-direction:column;align-items:center;gap:4px;display:flex;position:absolute;top:38%;left:50%;transform:translate(-50%,-50%)}.callout span{font-family:var(--hand);color:var(--paper);text-shadow:var(--outline);font-size:clamp(22px,3vw,32px);font-weight:700}.callout strong{font-family:var(--display);color:var(--paper);text-shadow:var(--outline),5px 8px 0 #393b3433;font-size:clamp(56px,8vw,96px);font-weight:400;line-height:1}.point-callout strong{color:var(--coral);animation:.4s cubic-bezier(.3,1.6,.5,1) pop}.point-callout .pop{width:clamp(72px,9vw,110px);height:auto;animation:.4s cubic-bezier(.3,1.6,.5,1) pop}@keyframes pop{0%{opacity:0;transform:scale(.3)}to{opacity:1;transform:scale(1)}}.key-hint{left:50%;bottom:calc(16px + var(--safe-bottom));color:var(--paper);white-space:nowrap;z-index:3;background:#393b34b3;border-radius:20px;align-items:center;gap:8px;margin:0;padding:8px 14px;font:700 13px/1 Apple SD Gothic Neo,sans-serif;animation:.3s pop;display:flex;position:absolute;transform:translate(-50%)}.touch-layer{pointer-events:none;z-index:4;--key:clamp(56px, 16.5dvh, 74px);--gap:10px;position:absolute;inset:0}.touch-layer[inert]{opacity:.3}.touch-pad{pointer-events:none}.touch-zone{pointer-events:auto;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;position:absolute}.touch-key{color:#393b34;touch-action:none;background:#fffdf652;border:2.5px solid #393b3480;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:1px;transition:background 80ms,transform 80ms;display:flex;position:absolute;box-shadow:0 0 0 2px #fffdf673,0 3px #393b342e}.touch-key svg{stroke-width:2.8px;filter:drop-shadow(0 0 2px #fffdf6);width:26px;height:26px}.touch-key span{font-family:var(--display);text-shadow:0 0 3px #fffdf6,0 0 1px #fffdf6;font-size:13px;line-height:1}.touch-key.is-held{background:#fffdf6a6;border-color:#393b34cc;transform:translateY(2px)scale(.97);box-shadow:0 0 0 2px #fffdf673,0 1px #393b342e}.jump-key{color:#3f6574;background:#e2eaf066;border-color:#557d8ca6}.jump-key.is-held{background:#e2eaf0b3}.hit-key{color:#9a4935;background:#f6c3b073;border-color:#b65c45a6}.hit-key.is-held{background:#f6c3b0bf}.hit-key svg{width:30px;height:30px}.move-zone{left:calc(14px + var(--safe-left));bottom:calc(12px + var(--safe-bottom));width:calc(var(--key) * 2 + var(--gap));height:calc(var(--key) * 1.62 + var(--gap))}.left-key,.right-key{width:var(--key);height:var(--key);bottom:0}.left-key{left:0}.right-key{right:0}.aim-key{width:calc(var(--key) * .62);height:calc(var(--key) * .62);top:0;left:50%;transform:translate(-50%)}.aim-key.is-held{transform:translate(-50%)translateY(2px)scale(.97)}.aim-key svg{width:20px;height:20px}.action-zone{right:calc(14px + var(--safe-right));bottom:calc(12px + var(--safe-bottom));width:calc(var(--key) * 2.12 + var(--gap));height:calc(var(--key) * 1.9)}.hit-key{width:calc(var(--key) * 1.14);height:calc(var(--key) * 1.14);bottom:0;right:0}.jump-key{width:var(--key);height:var(--key);top:0;left:0}.pause-layer{z-index:7;padding:calc(12px + var(--safe-top)) calc(12px + var(--safe-right)) calc(12px + var(--safe-bottom)) calc(12px + var(--safe-left));background:#2c2a2266;place-items:center;display:grid;position:absolute;inset:0}.pause-note{flex-direction:column;width:min(440px,100%);max-height:100%;padding:26px 30px;display:flex;overflow:auto;transform:rotate(-1deg)}.pause-note h2{font-family:var(--display);text-align:center;margin:0;font-size:40px;font-weight:400;line-height:1.1}.pause-meta{text-align:center;color:var(--muted);margin:6px 0 18px;font:600 14px/1.5 Apple SD Gothic Neo,sans-serif}.pause-row{gap:10px;margin:14px 0 16px;display:flex}.pause-row .game-button{flex:1;padding:0 10px}.toggle-row{text-align:left;cursor:pointer;border-top:1.5px dashed #393b3440;justify-content:space-between;align-items:center;min-height:44px;font:700 15px/1 Apple SD Gothic Neo,sans-serif;display:flex}.toggle-row span{color:var(--muted);font-weight:600}.toggle-row.as-button{width:100%}.toggle-row input,.setting-row input[type=checkbox]{appearance:none;border:2px solid var(--ink);cursor:pointer;background:#cfccbe;border-radius:14px;flex:none;width:46px;height:28px;margin:0;position:relative}.toggle-row input:after,.setting-row input[type=checkbox]:after{content:"";background:var(--paper);border:1.5px solid var(--ink);border-radius:50%;width:20px;height:20px;transition:left .15s;position:absolute;top:2px;left:2px}.toggle-row input:checked,.setting-row input[type=checkbox]:checked{background:var(--leaf)}.toggle-row input:checked:after,.setting-row input[type=checkbox]:checked:after{left:20px}.home-link{align-self:center;margin-top:8px}.result-layer{padding:calc(16px + var(--safe-top)) calc(24px + var(--safe-right)) calc(16px + var(--safe-bottom)) calc(24px + var(--safe-left));-webkit-backdrop-filter:blur(1.5px);backdrop-filter:blur(1.5px);z-index:6;background:radial-gradient(circle at 36% 58%,#fff8d699,#0000 48%),#2c2a2240;justify-content:center;align-items:center;gap:clamp(16px,4vw,56px);display:flex;position:absolute;inset:0}.result-hero{position:relative}.result-hero .portrait{width:clamp(180px,26vw,320px);height:auto;animation:.5s cubic-bezier(.3,1.6,.5,1) pop}.result-hero .bubble{z-index:1;top:-30px;right:-28px}.result-copy{flex-direction:column;align-items:flex-start;display:flex}.result-title{font-size:clamp(40px,5vw,64px)}.result-score{font-family:var(--display);color:var(--paper);text-shadow:var(--outline);margin:12px 0 0;font-size:clamp(44px,5.4vw,72px);line-height:1}.result-score .p1{text-shadow:var(--outline)}.result-stats{border-width:2px;gap:16px;margin:14px 0 0;padding:8px 14px;font:700 14px/1.4 Apple SD Gothic Neo,sans-serif;display:flex}.result-actions{gap:10px;margin-top:20px;display:flex}.result-copy .home-link{color:var(--paper);text-shadow:0 1px 3px #000a;align-self:flex-start}[data-rotate=true] .scene{visibility:hidden}.rotate-screen{z-index:9;padding:calc(60px + var(--safe-top)) 24px calc(24px + var(--safe-bottom));text-align:center;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#2c2a2280;flex-direction:column;align-items:center;display:flex;position:absolute;inset:0}.rotate-art{width:300px;height:150px;position:relative}.phone-outline{border:4px solid var(--paper);border-radius:16px;width:66px;height:120px;animation:2.4s ease-in-out infinite turn;position:absolute;top:0;left:90px}.rotate-arrow{width:52px;height:52px;color:var(--paper);stroke-width:2.4px;position:absolute;top:30px;left:0}.rotate-art .portrait{width:90px;height:auto;position:absolute;bottom:0;right:0}@keyframes turn{0%,30%{transform:rotate(0)}60%,to{transform:rotate(-90deg)}}.rotate-screen h2{margin-top:18px;font-size:36px}.rotate-screen p{color:var(--paper);text-shadow:0 1px 2px #0007;margin:12px 0 4px;font:600 15px/1.5 Apple SD Gothic Neo,sans-serif}.rotate-screen .home-link{color:var(--paper)}.install-sheet{padding:20px 22px calc(20px + var(--safe-bottom));text-align:left;box-shadow:none;border-bottom:0;border-left:0;border-right:0;border-radius:28px 28px 0 0;position:absolute;bottom:0;left:0;right:0}.modal-backdrop{z-index:10;padding:calc(12px + var(--safe-top)) 12px calc(12px + var(--safe-bottom));background:#2c2a2273;place-items:center;display:grid;position:absolute;inset:0}.modal-card{-webkit-user-select:text;user-select:text;width:min(480px,100%);max-height:100%;padding:26px 28px 24px;font:500 14px/1.6 Apple SD Gothic Neo,sans-serif;position:relative;overflow:auto}.modal-card:focus{outline:none}.modal-card h2{font-family:var(--display);margin:0 0 10px;font-size:30px;font-weight:400;line-height:1.2}.modal-card p{color:#5b5d55;margin:0 0 14px}.modal-close{width:40px;height:40px;color:var(--muted);border-radius:50%;place-items:center;display:grid;position:absolute;top:12px;right:12px}.modal-done{width:100%;margin-top:18px}.modal-card>.modal-done{box-shadow:0 5px 0 var(--ink),0 0 0 18px var(--paper);position:sticky;bottom:0}.modal-card>.modal-done:not(:disabled):active{box-shadow:0 2px 0 var(--ink),0 0 0 18px var(--paper)}.help-player{border-top:1.5px dashed #393b3440;flex-direction:column;gap:8px;padding:12px 0;display:flex}.help-player div{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.help-player small{color:var(--muted)}.tips-list{border-top:1.5px dashed #393b3440;margin:0;padding:0;list-style:none}.tips-list li{grid-template-columns:76px 1fr;gap:8px;padding:8px 0;display:grid}.credit-note{font-size:12px;color:var(--muted)!important;margin-top:10px!important}.credit-note a{font-weight:700}.setting-row{cursor:pointer;border-top:1.5px dashed #393b3440;justify-content:space-between;align-items:center;gap:16px;padding:12px 0;display:flex}.setting-row span{flex-direction:column;display:flex}.setting-row small{color:var(--muted);font-size:12px}.setting-row select{border:2px solid var(--ink);background:var(--paper);border-radius:10px;height:38px;padding:0 8px;font-weight:700}.reset-settings{margin-top:6px}.install-preview{align-items:center;gap:12px;padding-right:40px;display:flex}.install-preview img{border:1px solid var(--line);border-radius:12px;width:52px;height:52px}.install-preview h2,.install-preview b{font-family:var(--display);margin:0;font-size:21px;font-weight:400;line-height:1.2;display:block}.install-preview small{color:var(--muted);font:600 13px/1.4 Apple SD Gothic Neo,sans-serif;display:block}.install-steps{margin:10px 0 4px;padding:0;list-style:none}.install-steps li{align-items:flex-start;gap:12px;padding:8px 0;font:600 15px/1.45 Apple SD Gothic Neo,sans-serif;display:flex}.install-steps li>span{background:var(--ink);width:28px;height:28px;color:var(--paper);border-radius:50%;flex:none;place-items:center;font-size:14px;display:grid}.install-steps svg{vertical-align:-3px;display:inline}.install-steps small{color:var(--muted);font-size:12px;font-weight:500;display:block}.installed-note{align-items:center;gap:6px;font-weight:700;display:flex;margin-top:12px!important}.sheet-actions{justify-content:space-between;align-items:center;margin-top:10px;display:flex}.modal-backdrop.is-sheet{place-items:end center}[data-touch=true] .modal-backdrop.is-sheet{padding:0}[data-touch=true] .install-modal{width:100%;max-width:560px;padding-bottom:calc(20px + var(--safe-bottom));box-shadow:none;border-bottom:0;border-radius:28px 28px 0 0}.name-tag{text-align:left;color:var(--ink);align-items:center;gap:10px;margin-top:clamp(16px,3dvh,28px);padding:6px 14px 6px 8px;display:flex}.name-tag .face{width:40px;height:40px}.name-tag span{flex-direction:column;gap:3px;display:flex}.name-tag small{color:var(--muted);font:700 12px/1 Apple SD Gothic Neo,sans-serif}.name-tag b{font-family:var(--display);font-size:22px;font-weight:400;line-height:1}.name-tag svg{color:var(--muted)}.name-tag.nudge{animation:2.4s ease-in-out infinite nudge}.name-tag.nudge small{color:var(--coral-deep)}@keyframes nudge{0%,70%,to{transform:rotate(0)}76%{transform:rotate(-3deg)}82%{transform:rotate(3deg)}88%{transform:rotate(-1.5deg)}}.title-copy .name-tag+.title-menu{margin-top:18px}.side-name.as-button{align-items:center;gap:8px;padding:0;display:inline-flex}.side-name.as-button svg{width:22px;height:22px;color:var(--paper);filter:drop-shadow(1.5px 1.5px 0 var(--ink)) drop-shadow(-1px -1px 0 var(--ink))}.score-who{flex-direction:column;align-items:center;gap:2px;display:flex}.score-name{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:88px;font:700 12px/1 Apple SD Gothic Neo,sans-serif;display:block;overflow:hidden}.best-note{background:var(--coral);color:var(--paper);font-family:var(--display);border:2px solid var(--ink);border-radius:16px;margin:10px 0 0;padding:6px 12px;font-size:18px;animation:.4s cubic-bezier(.3,1.6,.5,1) pop}.result-links{gap:14px;margin-top:6px;display:flex}.records-modal{width:min(560px,100%)}.records-tabs{margin-bottom:14px}.records-profile{border-radius:var(--sketch);text-align:left;border:2px solid #393b3440;align-items:center;gap:12px;width:100%;padding:10px 12px;display:flex}.records-profile .portrait{width:44px;height:44px}.records-profile span{flex-direction:column;flex:1;gap:4px;display:flex}.records-profile small{color:var(--muted);font-size:12px}.records-profile b{font-family:var(--display);font-size:22px;font-weight:400;line-height:1}.records-profile svg{color:var(--muted)}.stat-tiles{grid-template-columns:repeat(5,1fr);gap:8px;margin-top:12px;display:grid}.stat-tile{text-align:center;background:#f6f2e9;border-radius:12px;flex-direction:column;gap:6px;padding:10px 8px;display:flex}.stat-tile small{color:var(--muted);font-size:12px;font-weight:700}.stat-tile b{font-family:var(--display);font-variant-numeric:tabular-nums;font-size:22px;font-weight:400;line-height:1}.streak-note{font-weight:700;color:var(--coral-deep)!important;margin:10px 0 0!important}.records-heading{color:var(--muted);margin:18px 0 6px;font:800 13px/1 Apple SD Gothic Neo,sans-serif}.match-list,.ranking-list{margin:0;padding:0;list-style:none}.match-list li{border-top:1.5px dashed #393b3433;align-items:center;gap:12px;padding:9px 0;display:flex}.result-chip{border:2px solid var(--ink);border-radius:13px;flex:none;place-items:center;width:34px;height:26px;font:800 12px/1 Apple SD Gothic Neo,sans-serif;display:grid}.result-chip.win{background:var(--coral);color:var(--paper)}.result-chip.loss{background:var(--paper);color:var(--ink)}.result-chip.duo{color:var(--blue-deep);border-color:var(--blue-deep);background:#e2eaf0}.match-line{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.match-line b{font-family:var(--display);font-variant-numeric:tabular-nums;font-size:18px;font-weight:400;line-height:1}.match-line small{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.match-list time{color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:12px}.records-empty{color:var(--muted)!important;margin:12px 0 0!important}.sample-note{background:#f6f2e9;border-radius:10px;padding:8px 12px;font-size:12px;font-weight:700;color:var(--muted)!important;margin:0 0 12px!important}.ranking-filters{flex-wrap:wrap;justify-content:space-between;gap:8px;margin-bottom:8px;display:flex}.ranking-filters .chip-button{min-width:0;height:34px;padding:0 12px;font-size:13px}.ranking-list li{border-top:1.5px dashed #393b3433;align-items:center;gap:12px;padding:8px 6px;display:flex}.ranking-list li.me{background:#fff3c4;border-top-color:#0000;border-radius:10px}.ranking-list li.gap{margin-top:10px}.rank{width:30px;height:30px;font-family:var(--display);background:#f6f2e9;border-radius:50%;flex:none;place-items:center;font-size:16px;display:grid}.rank.r1{border:2px solid var(--ink);background:#ffe58a}.rank.r2{border:2px solid var(--ink);background:#e6e3da}.rank.r3{border:2px solid var(--ink);background:#f1c9a7}.ranking-list .who{text-overflow:ellipsis;white-space:nowrap;flex:1;align-items:center;gap:6px;min-width:0;font-weight:700;display:flex;overflow:hidden}.ranking-list .who small{background:var(--coral);color:var(--paper);border-radius:8px;padding:3px 6px;font:800 11px/1 Apple SD Gothic Neo,sans-serif}.ranking-list b{font-family:var(--display);font-variant-numeric:tabular-nums;font-size:18px;font-weight:400}.name-form{flex-direction:column;display:flex}.name-field{border:2.5px solid var(--ink);border-radius:var(--sketch);background:var(--paper);align-items:center;gap:8px;height:52px;padding:0 14px;display:flex}.name-field input{min-width:0;font-family:var(--display);color:var(--ink);-webkit-user-select:text;user-select:text;background:0 0;border:0;outline:none;flex:1;font-size:22px}.name-field:focus-within{box-shadow:0 0 0 3px #e7745855}.name-field small{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.name-help{font-size:12px;color:var(--muted)!important;margin:8px 0 0!important}@media(max-height:520px){:root{--edge:16px}.name-tag{margin-top:10px;padding:4px 10px 4px 6px}.name-tag .face{width:30px;height:30px}.name-tag b{font-size:17px}.title-copy .name-tag+.title-menu{margin-top:10px}.score-name{display:none}.stat-tiles{grid-template-columns:repeat(5,1fr);gap:6px}.stat-tile{padding:8px 4px}.side-name.as-button svg{width:18px;height:18px}.round-button{width:42px;height:42px}.round-button svg{width:19px;height:19px}.game-button{height:48px;padding:0 20px;font-size:20px}.game-button.large{height:54px;font-size:24px}.game-button.small,.game-button.chip{height:38px;padding:0 14px;font-size:16px}.title-copy{top:calc(72px + var(--safe-top));left:calc(5vw + var(--safe-left))}.title-copy .logo{font-size:clamp(44px,12dvh,64px)}.title-sub{margin-bottom:6px;font-size:15px}.title-menu{gap:10px;width:250px;margin-top:16px}.title-friends{bottom:calc(26px + var(--safe-bottom))}.title-friends .portrait{width:clamp(96px,30dvh,150px)}.title-friends .bubble{font-size:18px;top:-44px}.side{top:calc(12px + var(--safe-top));gap:6px}.side-left{left:calc(16px + var(--safe-left))}.side-right{right:calc(16px + var(--safe-right))}.slot{padding:5px 8px;font-size:12px}.side-name{font-size:28px}.pick{width:52px;height:52px}.pick i{padding:3px 5px;font-size:11px;top:-10px;right:-10px}.versus{font-size:40px;top:16px}.swap{top:76px}.match-tray{left:calc(10px + var(--safe-left));right:calc(10px + var(--safe-right));bottom:calc(8px + var(--safe-bottom));flex-wrap:nowrap;gap:8px 16px;padding:10px 14px}.tray-group{gap:5px}.tray-label{font-size:12px}.chip-button{min-width:0;height:34px;padding:0 10px;font-size:13px}.stage-thumb{width:56px;height:34px}.match-tray .start{height:50px;font-size:22px}.match-tray .back{padding:0 10px}.score-tag{top:calc(8px + var(--safe-top));border-width:2px;gap:8px;padding:3px 12px 4px}.score-tag .face{width:28px;height:28px}.score{min-width:20px;font-size:28px}.score-mid{font-size:16px}.score-mid small{display:none}.rally-bubble{top:calc(52px + var(--safe-top));font-size:17px;left:calc(50% + 70px)}.pause-note{grid-template-columns:1fr 1fr;grid-auto-flow:dense;column-gap:24px;width:min(660px,100%);padding:18px 22px;display:grid}.pause-note h2{grid-column:1;font-size:30px}.pause-note>:is(h2,.pause-meta,.game-button,.pause-row){grid-column:1}.pause-note>:is(.toggle-row,.home-link){grid-column:2}.pause-meta{margin-bottom:12px}.pause-row{margin:10px 0 0}.toggle-row{min-height:40px}.result-hero .portrait{width:clamp(150px,52dvh,240px)}.result-actions .game-button{height:46px}.modal-card{padding:18px 22px}.rotate-screen{padding-top:24px}}@media(orientation:portrait)and (max-width:640px){.name-tag{margin-left:auto;margin-right:auto}.stat-tiles{grid-template-columns:repeat(3,1fr)}.title-copy{left:0;right:0;top:calc(76px + var(--safe-top));text-align:center;align-items:center}.title-sub{margin-left:0}.title-copy .logo{font-size:clamp(52px,17vw,72px)}.title-copy .logo b{display:block}.title-menu{left:32px;right:32px;bottom:calc(56px + var(--safe-bottom));width:auto;position:fixed}.title-menu .small{align-self:center}.title-friends{justify-content:center;inset:44dvh 0 auto}.title-friends .portrait{width:32vw;margin-left:-4vw}.title-friends .bubble{font-size:18px;top:-40px;left:50%;right:auto;transform:translate(-10%)}.corner-left .chip{padding:0 12px;font-size:15px}.toast{white-space:normal;width:max-content;max-width:calc(100% - 32px);top:calc(80px + var(--safe-top))}}.match-tray{container-type:inline-size}@container (max-width:900px){.match-tray .tray-group{gap:6px}.match-tray .chips{gap:5px}.match-tray .chip-button{min-width:0;height:36px;padding:0 9px;font-size:13px}.match-tray .stage-thumb{width:48px;height:36px}.match-tray .back{width:40px;height:40px;padding:0}.match-tray .back-label{display:none}.match-tray .start{height:48px;margin-left:auto;padding:0 16px;font-size:20px}}@media(orientation:portrait)and (max-width:640px){.install-chip{width:44px;padding:0}.install-chip .chip-label{display:none}.title-friends{top:auto;bottom:calc(196px + var(--safe-bottom))}.title-friends .portrait{width:min(30vw,15dvh)}}@media(orientation:portrait)and (max-width:640px)and (max-height:720px){.title-copy{top:calc(84px + var(--safe-top))}.title-copy .logo{font-size:clamp(44px,14vw,58px)}.title-friends .bubble{display:none}}@media(prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.sr-only{clip:rect(0,0,0,0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}
