@font-face{font-family:"Baloo 2";font-style:normal;font-weight:600;font-display:swap;src:url(./baloo2-600-vietnamese-DxkP8TlE.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Baloo 2";font-style:normal;font-weight:600;font-display:swap;src:url(./baloo2-600-latin-ext-DUaYuglO.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Baloo 2";font-style:normal;font-weight:600;font-display:swap;src:url(./baloo2-600-latin-8NeBJN4T.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Baloo 2";font-style:normal;font-weight:800;font-display:swap;src:url(./baloo2-600-vietnamese-DxkP8TlE.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Baloo 2";font-style:normal;font-weight:800;font-display:swap;src:url(./baloo2-600-latin-ext-DUaYuglO.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Baloo 2";font-style:normal;font-weight:800;font-display:swap;src:url(./baloo2-600-latin-8NeBJN4T.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:500;font-display:swap;src:url(./bevietnampro-500-vietnamese-D3pY20Dx.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:500;font-display:swap;src:url(./bevietnampro-500-latin-ext-D9Mxtggg.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:500;font-display:swap;src:url(./bevietnampro-500-latin-BcWytNOG.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:700;font-display:swap;src:url(./bevietnampro-700-vietnamese-DptIoWwl.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:700;font-display:swap;src:url(./bevietnampro-700-latin-ext-CI8xL9vt.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:700;font-display:swap;src:url(./bevietnampro-700-latin-CPfR8Jz_.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--paper: #fff6e0;--paper-2: #f6eac8;--paper-3: #fffdf6;--paper-pressed: #f1e2bf;--ink: #3b2a1e;--ink-soft: #7a5c40;--ink-mid: #5e4630;--primary: #e8572a;--primary-pressed: #d04a20;--accent: #2f6fb3;--accent-pressed: #275e99;--gold: #f4c95d;--orange: #f29a3a;--success: #4caf50;--success-ink: #173d1a;--danger: #d9534f;--danger-ink: #8e2a22;--son: #c9452a;--disabled: #e6d8b8;--disabled-ink: #8c7a62;--disabled-line: #b9a685;--display: "Baloo 2", system-ui, sans-serif;--body: "Be Vietnam Pro", system-ui, -apple-system, "Segoe UI", sans-serif;--dots: radial-gradient(rgba(122, 92, 64, .1) 1px, transparent 1.3px)}*{box-sizing:border-box}html,body,#root{margin:0;height:100%}body{background-color:var(--paper-2);background-image:var(--dots);background-size:7px 7px;color:var(--ink);font-family:var(--body);font-weight:500;overflow:hidden;overscroll-behavior:none;-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit}.frame{position:relative;width:min(100vw,56.25dvh);height:100dvh;margin:0 auto;overflow:hidden;background:#7ec6df;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;touch-action:manipulation}@media(min-aspect-ratio:10/16){.frame{border-left:3px solid var(--ink);border-right:3px solid var(--ink);box-shadow:0 0 0 6px var(--paper-2),0 0 0 9px var(--son),0 20px 60px #3b2a1e59}}.d{font-family:var(--display);font-weight:800}.n{font-variant-numeric:tabular-nums}.soft{color:var(--ink-mid)}.small{font-size:13px}.thin{font-weight:500}.spacer{flex:1}.bad-text{color:var(--danger-ink)}.good-text{color:#24602a}.blue{color:var(--accent)}.screen{position:absolute;inset:0;display:flex;flex-direction:column}.paper{background-color:var(--paper-2);background-image:var(--dots);background-size:7px 7px}.center-col{align-items:center;justify-content:center;gap:16px;padding:24px}.btn{display:flex;align-items:center;justify-content:center;gap:8px;min-height:56px;padding:0 16px;border:3px solid var(--ink);border-radius:16px;background:var(--paper);color:var(--ink);font-family:var(--display);font-weight:800;font-size:19px;box-shadow:0 5px 0 var(--ink);cursor:pointer;transition:transform .05s,box-shadow .05s}.btn:active:not(:disabled){transform:translateY(3px);box-shadow:0 2px 0 var(--ink);background:var(--paper-pressed)}.btn:focus-visible{outline:3px dashed var(--accent);outline-offset:5px}.btn:disabled{border-color:var(--disabled-line);background:var(--disabled);color:var(--disabled-ink);box-shadow:none;cursor:default}.btn.primary{background:var(--primary);color:var(--paper);box-shadow:inset 0 3px #ffffff4d,0 5px 0 var(--ink)}.btn.primary:active:not(:disabled){background:var(--primary-pressed)}.btn.accent{background:var(--accent);color:#fff;box-shadow:inset 0 3px #ffffff40,0 5px 0 var(--ink)}.btn.accent:active:not(:disabled){background:var(--accent-pressed)}.btn.accent:focus-visible{outline-color:var(--primary)}.btn.gold{background:var(--gold)}.btn.ghost{min-height:44px;border-color:transparent;background:transparent;box-shadow:none;text-decoration:underline;text-underline-offset:5px;font-size:18px}.btn.ghost:active{background:#3b2a1e14}.btn.big{min-height:64px;border-radius:18px;font-size:26px;box-shadow:inset 0 4px #ffffff4d,0 6px 0 var(--ink)}.btn.big:not(.primary):not(.accent){box-shadow:0 6px 0 var(--ink)}.btn.huge{min-height:72px;border-radius:20px;font-size:30px;box-shadow:inset 0 4px #ffffff4d,0 6px 0 var(--ink)}.btn.small{min-height:44px;border-radius:14px;font-size:18px;box-shadow:inset 0 3px #ffffff40,0 4px 0 var(--ink)}.btn.big:disabled,.btn.huge:disabled{box-shadow:none}.btn.primary:disabled,.btn.accent:disabled,.btn.gold:disabled,.btn.big:disabled,.btn.huge:disabled{border-color:var(--disabled-line);background:var(--disabled);color:var(--disabled-ink);box-shadow:none}.icon-btn{width:48px;height:48px;flex:none;display:flex;align-items:center;justify-content:center;padding:0;border:3px solid var(--ink);border-radius:14px;background:var(--paper);color:var(--ink);box-shadow:0 4px 0 var(--ink);cursor:pointer}.icon-btn:active{transform:translateY(3px);box-shadow:0 1px 0 var(--ink)}.icon-btn.gold{width:52px;height:52px;background:var(--gold)}.icon-btn.close{position:absolute;right:14px;top:14px;width:44px;height:44px;border-radius:12px;box-shadow:none}.actions{display:flex;flex-direction:column;gap:12px;width:100%}.grid1{display:grid}.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.chip,.pill{display:inline-flex;align-items:center;gap:8px;height:42px;padding:0 14px;border:3px solid var(--ink);border-radius:999px;background:var(--paper);font-size:18px;white-space:nowrap}.pill{height:44px;padding:0 14px 0 6px;font-size:19px}.pill.record{padding:0 14px 0 10px;gap:6px}.pill.small-pill{height:40px;padding:0 14px;font-size:14px;font-weight:700}.frame-double{border:4px solid var(--ink);border-radius:28px;background:var(--paper);box-shadow:inset 0 0 0 6px var(--paper),inset 0 0 0 9px var(--son),0 7px 0 var(--ink)}.frame-blue{border:3px solid var(--ink);border-radius:20px;background:var(--paper);box-shadow:inset 0 0 0 4px var(--paper),inset 0 0 0 6px var(--accent),0 5px 0 var(--ink)}.ribbon{position:absolute;top:-24px;left:50%;transform:translate(-50%) rotate(-3deg);padding:3px 18px 1px;border:3px solid var(--ink);border-radius:10px;background:var(--son);color:var(--paper);font-size:22px;white-space:nowrap;box-shadow:0 4px 0 var(--ink)}.ribbon.static{position:static;transform:rotate(-4deg);font-size:24px}.avatar{display:flex;align-items:center;justify-content:center;flex:none;border:3px solid var(--ink);border-radius:50%;font-family:var(--display);font-weight:800;line-height:1}.wordmark{font-family:var(--display);font-weight:800;line-height:.9;color:var(--primary);-webkit-text-stroke:.09em var(--ink);paint-order:stroke fill;text-shadow:0 .09em 0 var(--ink);text-align:center;white-space:nowrap}.tagline{padding:2px 12px 0;border:3px solid var(--ink);border-radius:8px;background:var(--son);color:var(--paper);font-family:var(--display);font-weight:800;letter-spacing:3px}.overlay{position:absolute;inset:0;z-index:20}.overlay.dim{background:#2b1e158c}.overlay.center{display:flex;align-items:center;justify-content:center;padding:18px}.overlay.bottom{display:flex;align-items:flex-end;justify-content:center;padding:18px 18px max(40px,env(safe-area-inset-bottom))}.dialog{position:relative;width:min(100%,360px);max-height:100%;overflow:auto;padding:26px 22px 22px;display:flex;flex-direction:column;gap:14px}.dialog-title{font-size:30px;line-height:1.05;padding-right:50px}.dialog-title.center{padding:0;text-align:center;font-size:28px;line-height:1.15}.toast{position:absolute;left:50%;bottom:max(24px,env(safe-area-inset-bottom));transform:translate(-50%);max-width:calc(100% - 32px);padding:10px 16px;border-radius:14px;border:3px solid var(--ink);background:var(--ink);color:var(--paper);font-weight:700;z-index:40}.loading{align-items:center;padding:max(47px,env(safe-area-inset-top)) 24px max(34px,env(safe-area-inset-bottom))}.frame-border{position:absolute;inset:12px;border:3px solid var(--ink);border-radius:26px;box-shadow:inset 0 0 0 6px var(--paper-2),inset 0 0 0 9px var(--son);pointer-events:none}.loading>svg:first-of-type{margin-top:28px}.loading-center{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px}.loading-bottom{width:100%;display:flex;flex-direction:column;gap:18px;margin-bottom:24px;position:relative}.tip-card{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border:3px solid var(--ink);border-radius:18px;background:var(--paper);font-size:15px;line-height:1.45}.tip-card svg{flex:none}.tip-label{font-size:13px;font-weight:700;color:var(--ink-soft)}.progress-wrap{display:flex;flex-direction:column;gap:8px}.progress{height:24px;border:3px solid var(--ink);border-radius:999px;background:var(--paper-3);overflow:hidden}.progress span{display:block;height:100%;background:repeating-linear-gradient(-45deg,var(--primary) 0 8px,var(--primary-pressed) 8px 16px);border-right:3px solid var(--ink);transition:width .2s}.progress-label{display:flex;justify-content:space-between;font-size:14px;font-weight:700;color:var(--ink-mid)}.loading-error{display:flex;flex-direction:column;gap:12px;text-align:center;font-weight:700}.lobby{background:var(--paper-2)}.lobby-top{position:relative;flex:1;min-height:0;overflow:hidden}.lobby-scene{position:absolute;inset:0;width:100%;height:100%}.lobby-bar{position:absolute;left:16px;right:16px;top:max(16px,calc(env(safe-area-inset-top) + 4px));display:flex;align-items:center;gap:8px}.lobby-logo{position:absolute;left:0;right:0;top:max(84px,calc(env(safe-area-inset-top) + 72px));display:flex;flex-direction:column;align-items:center;gap:10px}@media(max-height:700px){.lobby-logo{top:max(64px,calc(env(safe-area-inset-top) + 56px));gap:6px}.lobby-logo .wordmark{font-size:min(48px,13vw)!important}.lobby-logo .tagline{font-size:13px!important}}.offline-note{position:absolute;left:16px;right:16px;top:220px;padding:6px 10px;border:2px solid var(--ink);border-radius:10px;background:#fff6e0eb;font-size:12px;font-weight:700;text-align:center}.challenge-bubble{position:absolute;right:16px;bottom:22px;width:176px;padding:14px;display:flex;flex-direction:column;gap:8px}.cb-who{display:flex;align-items:center;gap:8px;font-size:14px;line-height:1.2}.cb-who b{font-weight:700}.cb-who span{font-weight:500}.cb-score{font-size:34px;line-height:1}.cb-score small{font-size:18px}.sheet{flex:none;border-top:4px solid var(--ink);padding:16px 16px max(24px,env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:12px;position:relative}.row-btn{justify-content:flex-start;gap:12px;min-height:60px;border-radius:18px;padding:0 14px;text-align:left;font-family:var(--body)}.row-text{flex:1;display:flex;flex-direction:column;gap:1px}.row-text span{font-size:19px;line-height:1.1}.row-text small{font-size:13px;font-weight:500;color:var(--ink-mid)}.game{background:#7ec6df}.game-canvas{position:absolute;inset:0;touch-action:none}.game-canvas canvas{display:block;width:100%;height:100%}.stage{position:absolute;left:50%;bottom:0;width:390px;height:844px;transform:translate(-50%) scale(var(--s, 1));transform-origin:bottom center;pointer-events:none}.stage button,.stage .turn-card{pointer-events:auto}.hud-top{position:absolute;left:50%;top:0;width:390px;transform:translate(-50%) scale(var(--s, 1));transform-origin:top center;padding:calc(env(safe-area-inset-top) / var(--s, 1) + 12px) 12px 0;pointer-events:none}.hud-row{display:grid;grid-template-columns:1fr auto 1fr;align-items:start;gap:8px}.hud-row>.chip{justify-self:start}.total-box{height:48px;padding:0 16px;border:3px solid var(--ink);border-radius:16px;background:var(--gold);box-shadow:0 4px 0 var(--ink);display:flex;align-items:center;gap:8px}.total-box span:first-child{font-size:12px;font-weight:700}.total-box span:last-child{font-size:28px}.hud-center{display:flex;flex-direction:column;align-items:center;gap:6px}.meter-box{height:64px;padding:4px 18px 0;border:3px solid var(--ink);border-radius:18px;background:var(--paper);box-shadow:0 5px 0 var(--ink);display:flex;align-items:baseline;gap:4px}.meter-box .n{font-size:42px;line-height:1.15;min-width:2.6ch;text-align:right}.meter-box .unit{font-size:22px}.mult-chip{padding:0 10px;border:3px solid var(--ink);border-radius:999px;font-size:16px}.wind-wrap{justify-self:end;display:flex;flex-direction:column;align-items:flex-end;gap:4px}.wind-chip{height:42px;padding:0 10px;border:3px solid var(--ink);border-radius:999px;display:flex;align-items:center;gap:4px;font-weight:700;font-size:14px;background:var(--paper)}.wind-chip.head{background:#fbe1dc;color:var(--danger-ink)}.wind-chip.tail{background:#ddf0d9;color:#24602a}.wind-label{font-size:12px;font-weight:700;background:#fff6e0d9;border-radius:6px;padding:1px 6px}.air-mult{margin-top:18px;display:flex;flex-direction:column;align-items:center;gap:8px}.big-mult{font-size:72px;line-height:.9;color:var(--gold);-webkit-text-stroke:6px var(--ink);paint-order:stroke fill;text-shadow:0 5px 0 var(--ink);transform:rotate(-4deg);animation:pop-in .18s ease-out}.juggle-dots{display:flex;gap:6px;align-items:center;background:#fff6e0e6;border:2px solid var(--ink);border-radius:999px;padding:4px 10px;font-size:12px;font-weight:700}.juggle-dots i{width:14px;height:14px;border-radius:50%;border:2px dashed var(--ink)}.juggle-dots i.on{border-style:solid;background:var(--gold)}.power-label{position:absolute;left:322px;top:600px;width:60px;text-align:center;font-size:15px}.hint-wrap[hidden]{display:none}.hint-wrap{position:absolute;left:12px;right:12px;bottom:56px;display:flex;justify-content:center}.hint-pill{border:3px solid var(--ink);border-radius:999px;background:var(--paper);padding:10px 18px;font-size:16px;font-weight:700;display:flex;gap:8px;align-items:center;box-shadow:0 4px 0 var(--ink)}.zone-tag{position:absolute;right:16px;top:470px;font-size:12px;font-weight:700;background:var(--ink);color:#ffe08a;border-radius:6px;padding:1px 6px}.touch-zones{position:absolute;left:12px;right:12px;bottom:40px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.tz{height:104px;border:3px dashed var(--ink);border-radius:22px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.tz span{font-size:28px;line-height:1}.tz small{font-size:12px;font-weight:700}.tz-juggle{background:#fff6e0d1}.tz-juggle small{color:var(--ink-mid)}.tz-strike{background:#e8572ae0;color:var(--paper)}.minimap{position:absolute;left:16px;right:16px;bottom:40px;border:3px solid var(--ink);border-radius:18px;background:var(--paper);padding:12px 20px 10px;box-shadow:0 4px 0 var(--ink)}.mm-track{position:relative;height:40px}.mm-rail,.mm-fill{position:absolute;left:0;top:18px;height:6px;border-radius:3px;border:2px solid var(--ink);box-sizing:content-box}.mm-rail{right:0;background:var(--disabled)}.mm-fill{width:0;background:var(--primary)}.mm-hole{position:absolute;left:-6px;top:12px;width:14px;height:14px;border-radius:50%;background:#5a3b22;border:2px solid var(--ink)}.mm-catcher{position:absolute;top:6px;width:4px;height:30px;background:var(--danger);border:1px solid var(--ink);transform:translate(-2px)}.mm-flag{position:absolute;top:0}.mm-khang{position:absolute;left:0;top:7px;width:26px;height:26px;margin-left:-13px;border-radius:50%;background:#ffe08a;border:3px solid var(--ink);display:flex;align-items:center;justify-content:center}.mm-labels{position:relative;height:16px;font-size:11px;font-weight:700;color:var(--ink-mid)}.mm-labels span{position:absolute;white-space:nowrap}.super-banner{position:absolute;left:0;right:0;top:400px;text-align:center;font-size:58px;line-height:1;color:#ffe08a;-webkit-text-stroke:7px var(--ink);paint-order:stroke fill;text-shadow:0 6px 0 var(--son),0 10px 0 var(--ink);transform:rotate(-7deg);animation:pop-in .25s ease-out}.tutorial{position:absolute;inset:0}.tut-spot{position:absolute;border-radius:22px;border:3px dashed #ffe08a;box-shadow:0 0 0 2000px #2b1e159e}.tutorial.light .tut-spot{box-shadow:0 0 0 2000px #2b1e154d}.tut-skip{position:absolute;right:16px;top:55px;height:44px;padding:0 16px;border:3px solid var(--ink);border-radius:999px;background:var(--paper);font-size:17px;box-shadow:0 3px 0 var(--ink);cursor:pointer}.tut-bubble{position:absolute;width:272px;border-width:3px;border-radius:22px;box-shadow:inset 0 0 0 4px var(--paper),inset 0 0 0 6px var(--son),0 5px 0 var(--ink);padding:18px 18px 16px;display:flex;flex-direction:column;gap:10px}.tut-head{display:flex;align-items:center;justify-content:space-between}.tut-step{background:var(--ink);color:var(--paper);border-radius:999px;padding:1px 12px;font-size:15px}.tut-dots{display:flex;gap:6px}.tut-dots i{width:10px;height:10px;border-radius:50%;border:2px solid var(--ink)}.tut-dots i.on{background:var(--primary)}.tut-title{font-size:26px;line-height:1.1}.tut-body{font-size:15px;line-height:1.5}.tut-pc{font-size:13px;color:var(--ink-mid)}.tut-hand{position:absolute;animation:press 1.2s ease-in-out infinite}.tut-foot{position:absolute;left:0;right:0;bottom:46px;text-align:center;color:var(--paper);font-size:22px;text-shadow:0 2px 0 var(--ink)}.turn-card{position:absolute;left:20px;right:20px;bottom:44px;padding:30px 24px 22px;display:flex;flex-direction:column;align-items:center;gap:14px;animation:slide-up .22s ease-out}.turn-card .btn{width:100%}.where{display:flex;align-items:center;gap:8px;border:2px solid var(--ink);border-radius:999px;padding:3px 12px 3px 8px;background:var(--paper-pressed);font-size:14px;font-weight:700}.where.bad{background:#fbe1dc;color:var(--danger-ink)}.big-meters{display:flex;align-items:baseline;gap:6px}.big-meters span:first-child{font-size:96px;line-height:.95}.big-meters span:last-child{font-size:36px}.formula{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:center;font-size:20px}.formula .mult-chip{font-size:20px}.formula .pts{padding:0 12px;border:3px solid var(--ink);border-radius:12px;background:var(--gold);font-size:28px}.pts-label{font-size:15px;font-weight:700}.tags{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;font-size:13px;font-weight:700}.tags span{border:2px solid var(--ink);border-radius:999px;padding:2px 10px}.tags .gold{background:#ffe08a}.tags .fire{background:var(--primary);color:var(--paper)}.divider{height:2px;width:100%;background:var(--ink);opacity:.12}.sum-row{display:flex;justify-content:space-between;width:100%;font-size:15px}.sum-row .d{font-size:20px}.result{padding:max(24px,calc(env(safe-area-inset-top) + 12px)) 18px max(24px,env(safe-area-inset-bottom));gap:12px;overflow-y:auto}.confetti{position:absolute;left:0;top:0;width:100%;height:360px;pointer-events:none}.result-head{text-align:center;font-size:14px;font-weight:700;letter-spacing:2px;color:var(--ink-soft)}.result-total{display:flex;flex-direction:column;align-items:center;gap:4px;position:relative}.result-total .label{font-size:15px;font-weight:700;margin-top:6px}.huge-num{font-size:120px;line-height:.85;color:var(--gold);-webkit-text-stroke:8px var(--ink);paint-order:stroke fill;text-shadow:0 8px 0 var(--ink);margin-bottom:6px}.chips-row{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.chips-row .pill{height:40px;font-size:18px}.challenge-result{align-self:center;padding:4px 14px;border:3px solid var(--ink);border-radius:12px;background:var(--paper);font-size:18px}.challenge-result.won{background:var(--accent);color:#fff}.rounds{border:3px solid var(--ink);border-radius:20px;background:var(--paper);overflow:hidden;flex:none}.round{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 14px}.round+.round{border-top:2px solid rgba(59,42,30,.15)}.round.bad{background:#fbede9}.round.best{background:#fff1c9}.round-no{width:34px;height:34px;border-radius:50%;border:3px solid var(--ink);display:flex;align-items:center;justify-content:center}.round.best .round-no{background:var(--gold)}.round-main{font-weight:700;font-size:16px;display:flex;align-items:center;gap:6px}.round-sub{font-size:12px;color:var(--ink-mid)}.round-pts{font-size:24px}.result-msg{font-size:22px;text-align:center}.list-screen{padding:max(20px,calc(env(safe-area-inset-top) + 8px)) 16px max(24px,env(safe-area-inset-bottom));gap:14px;overflow-y:auto}.screen-head{display:flex;align-items:center;gap:12px}.screen-head h1{flex:1;margin:0;font-size:32px;line-height:1}.segmented{display:flex;border:3px solid var(--ink);border-radius:14px;overflow:hidden;background:var(--paper);flex:none}.segmented button{flex:1;height:44px;padding:0 12px;border:0;background:transparent;font-weight:700;font-size:14px;cursor:pointer;white-space:nowrap}.segmented button+button{border-left:3px solid var(--ink)}.segmented button.on{background:var(--ink);color:var(--paper)}.empty{padding:32px 16px;text-align:center;color:var(--ink-mid);font-weight:700;display:flex;flex-direction:column;align-items:center;gap:12px}.podium{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;align-items:end;flex:none}.pod{display:flex;flex-direction:column;align-items:center;gap:6px}.pod-name{font-size:13px;font-weight:700;text-align:center;line-height:1.2;max-width:100%;overflow:hidden;text-overflow:ellipsis}.pod-block{width:100%;border:3px solid var(--ink);border-bottom:0;border-radius:14px 14px 0 0;display:flex;flex-direction:column;align-items:center;padding-top:6px}.pod-block div:first-child{font-size:28px;line-height:1}.pod-block div:last-child{font-size:18px}.pod-block.r1{height:110px;background:var(--gold)}.pod-block.r2{height:84px;background:#e6e2d8}.pod-block.r3{height:68px;background:#e2b07a}.lb-list{border:3px solid var(--ink);border-radius:20px;background:var(--paper);overflow:hidden;margin-top:-14px;flex:none}.lb-row,.lb-self{display:grid;grid-template-columns:36px 36px minmax(0,1fr) 40px auto;align-items:center;gap:10px;padding:0 14px;height:56px}.lb-row+.lb-row{border-top:2px solid rgba(59,42,30,.12)}.lb-row.me{background:#fff1c9}.lb-rank{font-size:18px;color:var(--ink-mid);text-align:center}.lb-name{font-size:15px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;flex-direction:column}.lb-name small{font-size:12px;font-weight:500;color:var(--ink-mid)}.lb-score{font-size:20px;text-align:right}.lb-self{grid-template-columns:44px 40px minmax(0,1fr) 40px auto;height:68px;border:3px solid var(--ink);border-radius:20px;background:#fff1c9;box-shadow:inset 0 0 0 3px var(--gold),0 5px 0 var(--ink);flex:none}.lb-self .lb-rank{font-size:20px;color:var(--ink)}.lb-self .lb-score{font-size:22px}.wr-stage{position:relative;height:188px;flex:none;border:3px solid var(--ink);border-radius:22px;background:#9ed6e6;overflow:hidden}.wr-stage-art{position:absolute;inset:0;width:100%;height:100%}.wr-title{position:absolute;left:12px;top:12px;display:flex;flex-direction:column;gap:4px}.wr-title .d{font-size:24px;line-height:1}.wr-title span{align-self:flex-start;font-size:12px;font-weight:700;background:#fff6e0d9;border-radius:6px;padding:1px 6px}.wr-tabs{display:flex;gap:8px;overflow-x:auto;margin:0 -16px;padding:2px 16px 4px;flex:none;touch-action:pan-x}.wr-tabs button{height:44px;padding:0 14px;border:3px solid var(--ink);border-radius:999px;background:var(--paper);font-weight:700;font-size:14px;white-space:nowrap}.wr-tabs button.on{background:var(--ink);color:var(--paper)}.wr-tabs button:disabled{opacity:.55}.wr-tabs small{font-weight:500}.wr-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;flex:none}.wr-item{height:118px;border:3px solid var(--ink);border-radius:16px;padding:8px 6px;display:flex;flex-direction:column;align-items:center;justify-content:space-between;background:var(--paper-3);box-shadow:0 3px 0 var(--ink);cursor:pointer}.wr-item.locked{background:#e9ddbf}.wr-item.using{background:#fff1c9;box-shadow:inset 0 0 0 3px var(--gold),0 3px 0 var(--ink)}.wr-item.sel{box-shadow:inset 0 0 0 3px var(--primary),0 0 0 3px var(--primary)}.wr-name{font-size:12px;font-weight:700;line-height:1.2;text-align:center}.wr-status{display:flex;align-items:center;gap:4px;font-size:12px;font-weight:700}.section-label{font-size:12px;font-weight:700;letter-spacing:1.5px;color:var(--ink-soft);padding:0 0 6px 4px}.card{border:3px solid var(--ink);border-radius:20px;background:var(--paper);overflow:hidden}.pad-card{padding:12px 14px;display:flex;flex-direction:column;gap:12px}.set-row{width:100%;display:flex;align-items:center;gap:12px;padding:10px 14px;min-height:56px;border:0;background:transparent;text-align:left}.set-row+.set-row{border-top:2px solid rgba(59,42,30,.12)}.set-row.link{cursor:pointer}.set-row a{color:var(--accent);font-weight:700;font-size:15px}.set-icon{width:40px;height:40px;border-radius:12px;border:2px solid var(--ink);background:var(--paper-pressed);display:flex;align-items:center;justify-content:center;flex:none}.set-text,.grow{flex:1;display:flex;flex-direction:column;font-size:16px;font-weight:700}.set-text small{font-size:12px;font-weight:500;color:var(--ink-mid);line-height:1.35}.set-line{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:16px;font-weight:700}.set-line .segmented button{flex:none}.toggle{position:relative;width:64px;height:36px;flex:none;border:3px solid var(--ink);border-radius:999px;background:var(--disabled);padding:0;cursor:pointer}.toggle .knob{position:absolute;left:3px;top:3px;width:24px;height:24px;border-radius:50%;background:var(--paper);border:3px solid var(--ink);box-sizing:border-box;transition:left .15s}.toggle .txt{position:absolute;right:6px;top:6px;font-size:11px;font-weight:700;color:var(--ink-mid)}.toggle.on{background:var(--success)}.toggle.on .knob{left:31px}.toggle.on .txt{left:7px;right:auto;color:var(--success-ink)}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:13px;font-weight:700;color:var(--ink-mid)}.field-row{display:flex;gap:8px}.input{flex:1;min-width:0;height:52px;border:3px solid var(--ink);border-radius:14px;background:var(--paper-3);display:flex;align-items:center;padding:0 12px;gap:8px}.input.err{border-color:var(--danger);box-shadow:0 0 0 3px #d9534f33}.input input{flex:1;min-width:0;border:0;background:transparent;font:inherit;font-size:17px;font-weight:700;color:var(--ink);outline:none;user-select:text;-webkit-user-select:text}.counter{font-size:13px;color:var(--ink-soft)}.field-error{display:flex;gap:6px;align-items:flex-start;font-size:13px;font-weight:700;color:#a3302c}.field-error svg{flex:none}.suggest{display:flex;flex-wrap:wrap;gap:8px}.suggest button{height:44px;padding:0 14px;border:3px solid var(--ink);border-radius:999px;background:var(--paper-3);font-size:15px;font-weight:700;cursor:pointer}.challenge-dialog{border-width:4px;border-radius:28px;box-shadow:inset 0 0 0 6px var(--paper),inset 0 0 0 9px var(--accent),0 7px 0 var(--ink);padding:64px 22px 20px;align-items:center;overflow:visible;margin-top:70px}.challenge-dialog .btn{width:100%}.versus{position:absolute;top:-58px;left:50%;transform:translate(-50%);display:flex;align-items:center}.versus .avatar{box-shadow:0 5px 0 var(--ink)}.versus svg{margin:0 -8px;position:relative}.gold-num{font-size:88px;line-height:.9;color:var(--gold);-webkit-text-stroke:6px var(--ink);paint-order:stroke fill;text-shadow:0 6px 0 var(--ink)}.pts-bang{font-size:22px;margin-top:-4px}.same-field{width:100%;border:2px dashed var(--disabled-line);border-radius:14px;padding:10px 12px;display:flex;flex-direction:column;gap:6px;font-size:14px}.sf-title{font-weight:700;color:var(--ink-mid);font-size:12px;letter-spacing:1px}.sf-row{display:flex;justify-content:space-between}@keyframes pop-in{0%{transform:scale(.7) rotate(-4deg);opacity:0}}@keyframes slide-up{0%{transform:translateY(40px);opacity:0}}@keyframes press{50%{transform:translateY(8px)}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
