@font-face{font-family:"Baloo 2";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/baloo-2-latin-600-normal-tIfxVoAe.woff2)format("woff2"),url(/assets/baloo-2-latin-600-normal-B4tNaogw.woff)format("woff")}@font-face{font-family:"Baloo 2";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/baloo-2-vietnamese-600-normal-C5EqHgu0.woff2)format("woff2"),url(/assets/baloo-2-vietnamese-600-normal-CGkk4Wtx.woff)format("woff")}@font-face{font-family:"Baloo 2";font-style:normal;font-display:swap;font-weight:800;src:url(/assets/baloo-2-latin-800-normal-BbF3Etk1.woff2)format("woff2"),url(/assets/baloo-2-latin-800-normal-B8BXfZF7.woff)format("woff")}@font-face{font-family:"Baloo 2";font-style:normal;font-display:swap;font-weight:800;src:url(/assets/baloo-2-vietnamese-800-normal-ConLnEgt.woff2)format("woff2"),url(/assets/baloo-2-vietnamese-800-normal-GQACmpuv.woff)format("woff")}:root{--paper:#fffaf0;--white:#fff;--cream:#fff3c4;--ink:#35254f;--ink-08:#35254f14;--ink-15:#35254f26;--ink-22:#35254f38;--ink-30:#35254f4d;--ink-45:#35254f73;--ink-80:#35254fd1;--muted:#6b5d80;--muted-light:#8a7d9c;--sun:#ffd84d;--sun-deep:#ffb238;--sun-edge:#b86e12;--flame:#f2552c;--ok-deep:#2e9e5b;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px;--sp-7:48px;--r-xs:6px;--r-sm:10px;--r-md:14px;--r-lg:20px;--r-xl:28px;--r-pill:999px;--bw-hair:1px;--bw-thin:2px;--bw:2.5px;--bw-bold:3px;--sh-press:0 2px 0 var(--ink-22);--sh-1:0 4px 0 var(--ink-22);--sh-2:0 6px 0 var(--ink-30);--sh-sun-sm:0 3px 0 var(--sun-edge);--sh-sun:0 5px 0 var(--sun-edge);--sh-sun-inset:inset 0 -3px 0 var(--sun-edge);--focus:0 0 0 3px var(--flame);--fs-2xs:11px;--fs-xs:12px;--fs-sm:14px;--fs-md:16px;--fs-lg:18px;--fs-xl:20px;--fs-2xl:24px;--fs-3xl:28px;--fs-4xl:34px;--h-sm:36px;--h-md:48px;--h-lg:64px;--display:"Baloo 2", system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans Thai", "Leelawadee UI", "PingFang SC", "Microsoft YaHei", "Noto Sans SC", sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}:root{--board:#1f2a24;--chalk:#f4f1e8;--chalk-dim:#9aa79c;--accent:#ffe066;--hot:#ff6b4a;--ok:#7ddc8a;--card:#2c3b33;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html,body{height:100%;color:var(--chalk);overscroll-behavior:none;touch-action:none;-webkit-user-select:none;user-select:none;background:#111814;margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;overflow:hidden}#app{background:var(--board);max-width:min(100vw,62dvh);height:100dvh;margin:0 auto;position:relative;overflow:hidden}#top{height:10%;padding:env(safe-area-inset-top) 16px 0;z-index:3;justify-content:space-between;align-items:center;display:flex;position:absolute;inset:0 0 auto}.score{font-size:var(--fs-3xl);flex-direction:column;font-weight:800;line-height:1;display:flex}.score small{font-size:var(--fs-sm);color:var(--accent);min-height:1em;margin-top:4px;font-weight:600}#pause-btn{border:var(--bw-thin) solid var(--chalk-dim);width:44px;height:44px;color:var(--chalk);font-size:var(--fs-sm);background:0 0;border-radius:50%}#stage{width:100%;height:60%;display:block;position:absolute;top:0;left:0}#hud{flex-direction:column;justify-content:space-between;height:15%;padding:0 12px;display:flex;position:absolute;top:60%;left:0;right:0}#hud .row{justify-content:space-between;align-items:center;display:flex}#state{font-size:var(--fs-xs);letter-spacing:.08em;color:var(--chalk-dim);font-weight:700}#timing{border-radius:var(--r-sm);background:#0d130f;flex:1;height:22px;margin-left:12px;position:relative;overflow:hidden}#timing .zone{position:absolute;top:0;bottom:0}#timing .tick{background:#3b4a40;width:2px;position:absolute;top:6px;bottom:6px}#cursor{background:var(--chalk);width:4px;box-shadow:0 0 6px var(--chalk);border-radius:2px;margin-left:-2px;position:absolute;top:2px;bottom:2px}#timing.done #cursor{background:var(--chalk-dim);box-shadow:none}#cards{gap:6px;display:flex}.card{background:var(--card);border:var(--bw-thin) solid transparent;border-radius:var(--r-sm);text-align:center;flex:1;padding:4px 6px;transition:opacity 80ms}.card .name{font-size:var(--fs-2xs);white-space:nowrap;text-overflow:ellipsis;font-weight:700;overflow:hidden}.card .seq{font-size:var(--fs-xl);letter-spacing:2px;color:var(--chalk-dim);font-weight:900}.card .seq .typed{color:var(--accent)}.card .why{color:var(--chalk-dim);font-size:9px}.card.off{opacity:.3}.card.chosen{border-color:var(--accent)}.card.ready{background:#4a4420}#spin-gauge{z-index:1;pointer-events:none;width:26px;height:32%;position:absolute;top:16%;left:14px}#spin-gauge .value{text-align:center;width:38px;font-size:var(--fs-lg);text-shadow:0 1px #000;font-weight:900;position:absolute;top:-26px;left:-6px}#spin-gauge .track{border:var(--bw-thin) solid #3b4a40;border-radius:var(--r-md);background:#0d130fd9;position:absolute;inset:0;overflow:hidden}#spin-gauge .fill{background:var(--ok);height:0;transition:height .12s;position:absolute;bottom:0;left:0;right:0}#spin-gauge .fill.low{background:var(--hot);animation:.25s steps(2,end) infinite blink}#spin-gauge .ghost{background:repeating-linear-gradient(-45deg,#ffffff8c 0 4px,#ffffff26 4px 8px);height:0;position:absolute;left:0;right:0}#spin-gauge.danger .ghost{background:repeating-linear-gradient(-45deg,#ff6b4af2 0 4px,#ff6b4a59 4px 8px)}#spin-gauge .cost{font-size:var(--fs-sm);white-space:nowrap;color:var(--chalk);text-shadow:0 1px #000;font-weight:800;position:absolute;left:32px;transform:translateY(50%)}#spin-gauge.danger .cost{color:var(--hot)}#spin-gauge .warn{white-space:nowrap;font-size:var(--fs-md);color:var(--hot);text-shadow:0 1px #000;font-weight:900;animation:.4s steps(2,end) infinite blink;position:absolute;top:calc(100% + 6px);left:-6px}body.layout-landscape #spin-gauge{left:calc(28% + 12px)}@keyframes blink{50%{opacity:.4}}#result{text-align:center;font-size:var(--fs-3xl);opacity:0;pointer-events:none;text-shadow:0 2px #000;font-weight:900;transition:opacity .12s,transform .12s;position:absolute;top:-48px;left:0;right:0;transform:scale(.8)}#result small{font-size:var(--fs-sm);color:var(--chalk);min-height:1em;font-weight:700;display:block}#prompt{text-align:center;font-size:var(--fs-2xl);letter-spacing:.1em;color:var(--accent);opacity:0;pointer-events:none;font-weight:900;position:absolute;top:-92px;left:0;right:0}#prompt.show{opacity:.55}#prompt.rest{color:var(--chalk-dim);font-size:var(--fs-lg)}#rest-hint{font-size:var(--fs-2xs);color:var(--chalk-dim);pointer-events:none;font-weight:700;position:absolute;top:-22px;right:12px}#timing.rest{opacity:.25}#prompt.beat4{opacity:1;text-shadow:0 0 14px var(--accent);transform:scale(1.25)}#result.show{opacity:1;transform:scale(1)}#result.perfect{color:var(--accent)}#result.cash{color:var(--accent)}#thumb{padding-bottom:env(safe-area-inset-bottom);justify-content:center;align-items:center;display:flex;position:absolute;inset:75% 0 0}#thumb-hint{font-size:var(--fs-xs);color:#4d5c52}#pad{left:8px;right:8px;bottom:calc(8px + env(safe-area-inset-bottom));grid-template-rows:1fr 1fr;grid-template-columns:1fr 1.2fr 1fr;gap:8px;height:calc(50% - 16px);display:grid;position:absolute}#pad button{border:var(--bw-thin) solid #3b4a40;border-radius:var(--r-lg);color:var(--chalk);font-size:var(--fs-4xl);touch-action:none;background:#26332b;font-weight:900;transition:background 60ms,opacity 80ms}#pad .pad-left{grid-area:1/1/3}#pad .pad-up{grid-area:1/2}#pad .pad-down{grid-area:2/2}#pad .pad-right{grid-area:1/3/3}#pad button.hit{background:var(--accent);color:#1f2a24}#touch{z-index:2;touch-action:none;position:absolute;inset:50% 0 0}.overlay{z-index:10;text-align:center;background:#111814f0;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:24px;display:flex;position:absolute;inset:0}.overlay.hidden,.hidden{display:none!important}.overlay h1{color:var(--accent);margin:0;font-size:48px;font-weight:900}.overlay h2{margin:0}.sub{color:var(--chalk-dim);margin:0 0 12px}.small{font-size:var(--fs-xs);color:var(--chalk-dim)}.big-hint{font-size:var(--fs-xl)}.buttons{flex-direction:column;gap:10px;display:flex}#calib-pad{aspect-ratio:1;border:3px dashed var(--accent);width:min(70vw,260px);font-size:var(--fs-2xl);touch-action:none;border-radius:50%;justify-content:center;align-items:center;font-weight:800;display:flex}:where(.overlay) button{font:inherit;cursor:pointer}.pill{justify-content:center;align-items:center;gap:var(--sp-2);min-width:0;min-height:52px;padding:0 var(--sp-4);border-radius:var(--r-pill);background:var(--paper);color:var(--ink);font-family:var(--display);font-size:var(--fs-lg);text-align:center;box-shadow:var(--sh-1);cursor:pointer;border:0;margin:0;font-weight:800;line-height:1.1;display:inline-flex}.pill:active{box-shadow:var(--sh-press);transform:translateY(3px)}.pill:disabled{opacity:.6;cursor:default}.pill.primary{background:linear-gradient(180deg, var(--sun), var(--sun-deep));box-shadow:var(--sh-sun)}.pill.primary:active{box-shadow:var(--sh-sun-sm)}.pill.ghost{background:var(--white);border:var(--bw) solid var(--ink)}.pill.small-pill{min-height:var(--h-sm);padding:0 var(--sp-3);font-size:var(--fs-sm)}.pill.big{min-height:var(--h-lg);font-size:var(--fs-2xl)}.pill.danger{color:var(--flame);border-color:var(--flame)}#bung-btn{width:var(--bung);height:var(--bung);border:var(--bw-bold) solid var(--accent);color:var(--accent);font-size:calc(var(--bung) * .19);letter-spacing:.06em;touch-action:none;background:#3a3418;border-radius:50%;font-weight:900;transition:background 60ms,box-shadow 80ms,transform 60ms;position:absolute}#bung-btn.hit{transform:scale(.95)}body.layout-split #pad,body.layout-landscape #pad{width:calc(var(--cell) * 3 + 12px);height:calc(var(--cell) * 3 + 12px);grid-template-columns:repeat(3, var(--cell));grid-template-rows:repeat(3, var(--cell));grid-template-areas:".up.""left.right"".down.";gap:6px;right:auto}body.layout-split #pad button,body.layout-landscape #pad button{border-radius:var(--r-md);font-size:calc(var(--cell) * .45)}body.layout-split #pad .pad-up,body.layout-landscape #pad .pad-up{grid-area:up}body.layout-split #pad .pad-down,body.layout-landscape #pad .pad-down{grid-area:down}body.layout-split #pad .pad-left,body.layout-landscape #pad .pad-left{grid-area:left}body.layout-split #pad .pad-right,body.layout-landscape #pad .pad-right{grid-area:right}body.layout-split{--cell:min(clamp(58px, calc((30dvh - 36px) / 3), 78px), calc((56vw - 12px) / 3));--bung:clamp(104px, 32vw, 150px)}body.layout-split #hud,body.layout-split #touch{top:55%}body.layout-split #pad{left:max(12px, env(safe-area-inset-left));bottom:calc(12px + env(safe-area-inset-bottom))}body.layout-split #bung-btn{right:max(16px, env(safe-area-inset-right));bottom:calc(12px + env(safe-area-inset-bottom) + (var(--cell) * 3 + 12px - var(--bung)) / 2)}body.layout-landscape{--cell:min(84px, calc((78dvh - 12px) / 3), calc((28vw - 36px) / 3));--bung:min(180px, 60dvh, calc(28vw - 40px))}body.layout-landscape #app{width:100vw;max-width:none}body.layout-landscape #top,body.layout-landscape #stage,body.layout-landscape #hud{left:28%;right:28%}body.layout-landscape #stage{width:44%;height:66%}body.layout-landscape #hud{height:32%;top:66%}body.layout-landscape #thumb{display:none}body.layout-landscape #touch{pointer-events:none;top:0}body.layout-landscape #pad,body.layout-landscape #bung-btn{pointer-events:auto}body.layout-landscape #pad{left:max(16px, env(safe-area-inset-left));bottom:20px}body.layout-landscape #bung-btn{right:max(20px, env(safe-area-inset-right));bottom:calc(20px + (var(--cell) * 3 + 12px - var(--bung)) / 2)}@media (orientation:portrait){body.layout-landscape #rotate.overlay{display:flex!important}}#rotate{z-index:20}#start.start-live{font-family:var(--display);background:linear-gradient(#11181447,#11181400 20%),linear-gradient(#11181400 52%,#11181459 100%);justify-content:space-between;gap:0;padding:0}.hero-pick{top:max(12px, env(safe-area-inset-top));left:max(12px, env(safe-area-inset-left));z-index:1;position:absolute}#start .hero-pick button{border:var(--bw) solid var(--ink);border-radius:var(--r-pill);background:linear-gradient(180deg, var(--sun), var(--sun-deep));min-width:0;height:44px;min-height:0;color:var(--ink);font-family:var(--display);font-size:var(--fs-md);box-shadow:var(--sh-1);align-items:center;gap:8px;margin:0;padding:0 16px 0 6px;font-weight:800;line-height:1;display:inline-flex}#start .hero-pick button:active{box-shadow:var(--sh-press);transform:translateY(2px)}.hero-face{object-fit:cover;border:var(--bw-thin) solid var(--ink);background:#fff;border-radius:50%;width:30px;height:30px}.hero-name{padding-top:2px}.start-icons{top:max(12px, env(safe-area-inset-top));right:max(12px, env(safe-area-inset-right));z-index:1;gap:10px;display:flex;position:absolute}#start .icon-btn{background:var(--paper);width:46px;min-width:0;height:46px;min-height:0;color:var(--ink);font-family:var(--display);font-size:var(--fs-2xl);box-shadow:var(--sh-1), 0 6px 14px #00000026;border:0;border-radius:50%;padding:0;font-weight:800;line-height:1}.start-logo{margin-top:max(64px, calc(env(safe-area-inset-top) + 52px));pointer-events:none;flex-direction:column;align-items:center;gap:10px;display:flex;position:relative}#start .start-logo h1{font-family:var(--display);letter-spacing:-1px;-webkit-text-stroke:10px #fff;paint-order:stroke fill;filter:drop-shadow(0 5px 0 var(--ink));font-size:clamp(60px,19vw,92px);font-weight:800;line-height:.9;transform:rotate(-4deg)}.logo-a{color:var(--sun-deep)}.logo-b{color:var(--flame)}.logo-yoyo{vertical-align:baseline;transform-origin:7% 26%;width:.6em;height:.9em;margin-left:-.1em;animation:2.4s ease-in-out infinite logo-swing;display:inline-block;overflow:visible}@media (prefers-reduced-motion:reduce){.logo-yoyo{animation:none}}@keyframes logo-swing{0%,to{transform:rotate(-6deg)}50%{transform:rotate(5deg)}}.tagline{color:var(--ink);font-family:var(--display);font-size:var(--fs-xl);-webkit-text-stroke:6px var(--white);paint-order:stroke fill;filter:drop-shadow(0 3px 0 var(--ink-30));margin:0;font-weight:800;line-height:1.2;transform:rotate(-4deg)}.start-menu{width:100%;max-width:520px;padding:0 16px calc(14px + env(safe-area-inset-bottom));flex-direction:column;gap:12px;display:flex}#start .start-menu .pill{width:100%;box-shadow:var(--sh-1), 0 8px 18px #0000001f;position:relative}#start .start-menu .pill.primary{box-shadow:var(--sh-sun), 0 10px 22px #0000002e}#start .pill.wide{grid-column:1/-1}#start .pill.soon{opacity:.75}#start .badge{border-radius:var(--r-pill);background:var(--flame);color:#fff;font-size:var(--fs-xs);letter-spacing:.5px;text-transform:uppercase;padding:1px 9px;font-weight:800;position:absolute;top:-9px;right:14px}#start .field{border:var(--bw) solid var(--ink);border-radius:var(--r-lg);background:var(--paper);color:var(--ink);text-align:left;box-shadow:var(--sh-1);flex-direction:column;margin-top:8px;padding:14px 44px 8px 18px;display:flex;position:relative}#start .field-label{border-radius:var(--r-pill);background:var(--ink);color:var(--paper);font-size:var(--fs-sm);letter-spacing:.5px;text-transform:uppercase;padding:0 10px;font-weight:800;position:absolute;top:-12px;left:16px}#start .field select{appearance:none;width:100%;color:var(--ink);font-family:var(--display);font-size:var(--fs-xl);background:0 0;border:0;outline:none;font-weight:800}#start .field-line{font-size:var(--fs-sm);color:var(--muted);font-weight:600}#start .chev{font-size:var(--fs-xl);pointer-events:none;position:absolute;top:50%;right:18px;transform:translateY(-50%)}#start #summary{color:var(--paper);text-shadow:0 1px 2px #0009;margin:0}body.screen-start #stage{height:100%!important}body.screen-start #top,body.screen-start #hud,body.screen-start #touch{visibility:hidden}.overlay{overflow-y:auto}@media (height<=480px){.overlay{justify-content:flex-start;gap:8px;padding:12px}.overlay h1{font-size:var(--fs-4xl)}.overlay button{min-height:40px}.overlay button.big{min-height:48px}}#start #summary .copyright{white-space:nowrap}#round-info{font-size:var(--fs-xs);color:var(--chalk-dim);white-space:nowrap;font-weight:800;position:absolute;bottom:-4px;left:50%;transform:translate(-50%)}#bot-box{flex-direction:column;align-items:flex-end;margin-left:auto;margin-right:12px;line-height:1;display:flex}#bot-box small{color:#9fb0c4;font-size:10px;font-weight:700}#bot-box span{font-size:var(--fs-2xl);color:#9fb0c4;font-weight:900}#banner{z-index:2;text-align:center;font-size:var(--fs-3xl);letter-spacing:.06em;opacity:0;pointer-events:none;text-shadow:0 2px #000;font-weight:900;position:absolute;top:12%;left:0;right:0}#banner.show{opacity:1}#banner.info{color:var(--chalk);font-size:var(--fs-xl)}#banner.warn{color:var(--hot);font-size:var(--fs-4xl);animation:.35s steps(2,end) infinite blink}body.layout-landscape #banner{left:28%;right:28%}#end-table{border-collapse:collapse;font-size:var(--fs-md);min-width:240px}#end-table th,#end-table td{text-align:right;padding:4px 10px}#end-table th:first-child,#end-table td:first-child{text-align:left;color:var(--chalk-dim)}#end-table tr.total td{border-top:var(--bw-hair) solid var(--chalk-dim);font-weight:900}#end-title.win{color:var(--accent)}#end-title.lose{color:var(--hot)}#spin-gauge .mark{background:var(--accent);height:2px;box-shadow:0 0 4px var(--accent);position:absolute;left:-3px;right:-3px}#spin-gauge.caution .ghost{background:repeating-linear-gradient(-45deg,#ffe066f2 0 4px,#ffe06659 4px 8px)}#spin-gauge.caution .warn{color:var(--accent);animation:none}#spin-gauge.caution .cost{color:var(--accent)}#lesson{z-index:4;border-radius:var(--r-md);border:var(--bw-thin) solid var(--accent);background:#111814eb;padding:10px 12px;position:absolute;top:11%;left:10px;right:10px}body.layout-landscape #lesson{left:28%;right:28%}#lesson .lesson-head{font-size:var(--fs-2xs);color:var(--chalk-dim);justify-content:space-between;align-items:center;font-weight:800;display:flex}#lesson-skip{color:var(--chalk-dim);font-size:var(--fs-xs);background:0 0;border:none;padding:4px;text-decoration:underline}#lesson h3{font-size:var(--fs-lg);color:var(--accent);margin:2px 0 4px}#lesson p{font-size:var(--fs-sm);margin:0;line-height:1.35}#lesson-actions{gap:8px;margin-top:10px;display:flex}#lesson-actions button{border-radius:var(--r-lg);border:var(--bw-thin) solid var(--chalk-dim);min-height:42px;color:var(--chalk);background:0 0;flex:1;font-weight:800}#lesson-actions button.big{background:var(--accent);border-color:var(--accent);color:#1f2a24}body.in-lesson #spin-gauge{height:16%;top:36%}#help-body{text-align:left;width:min(100%,420px);font-size:var(--fs-sm)}#help-body h4{color:var(--accent);font-size:var(--fs-sm);letter-spacing:.06em;margin:10px 0 4px}#help-body table{border-collapse:collapse;width:100%}#help-body td,#help-body th{border-bottom:var(--bw-hair) solid #2c3b33;padding:3px 4px}#help-body th{font-size:var(--fs-2xs);color:var(--chalk-dim);text-align:left}#help-body td.keys{letter-spacing:1px;white-space:nowrap;font-weight:900}#help-body ul{margin:8px 0 0;padding-left:18px}#help-body li{margin:3px 0}#help.overlay{justify-content:flex-start}#result.hint small{font-size:var(--fs-md);color:var(--chalk-dim)}#end-offset button{min-width:0;min-height:32px;font-size:var(--fs-sm);padding:0 12px}.card .cost{color:var(--chalk-dim);font-weight:700}.card .why{font-size:10px;font-weight:800}.card.risk-last{border-color:var(--accent)}.card.risk-bad{border-color:var(--hot);opacity:.75}.card.suggest{border-color:var(--ok);background:#24412d;box-shadow:0 0 10px #7ddc8a80}.card.suggest .why{color:var(--ok)}#spin-gauge .label{text-align:center;width:46px;color:var(--chalk-dim);font-size:9px;font-weight:700;position:absolute;top:-38px;left:-10px}#share-text{width:min(100%,420px);height:50vh;font-size:var(--fs-2xs);background:var(--card);color:var(--chalk);border:var(--bw-hair) solid var(--chalk-dim);border-radius:var(--r-xs);padding:8px;font-family:ui-monospace,monospace}body:not(.pad-buttons) #pad,body:not(.two-thumb) #bung-btn,body.pad-buttons #thumb{display:none}#root{height:100%}#loading .progress{border-radius:var(--r-xs);background:var(--card);width:min(70%,280px);height:12px;overflow:hidden}#loading .progress div{background:var(--accent);height:100%;transition:width .12s}#app{font-family:var(--display)}#app:before{content:"";z-index:1;background:linear-gradient(90deg, transparent 30px, #f2552c52 30px 32px, transparent 32px), repeating-linear-gradient(transparent 0 27px, var(--ink-08) 27px 28px), var(--paper);box-shadow:0 -5px 0 var(--ink-15);pointer-events:none;border-radius:26px 26px 0 0;position:absolute;inset:calc(60% - 14px) 0 0}body.layout-landscape #app:before,body.screen-start #app:before{display:none}#hud{z-index:2;color:var(--ink);padding:2px 12px 0}#top{padding:max(8px, env(safe-area-inset-top)) 12px 0;gap:8px}.score{border-radius:var(--r-lg);background:var(--paper);color:var(--ink);font-size:var(--fs-2xl);box-shadow:var(--sh-1);min-width:0;max-width:46%;padding:6px 14px 4px}.score small{color:var(--flame);font-size:var(--fs-2xs);white-space:nowrap;text-overflow:ellipsis;margin-top:0;font-weight:800;overflow:hidden}.score small:empty{display:none}#round-info{left:50%;top:calc(max(8px, env(safe-area-inset-top)) + 54px);border-radius:var(--r-pill);background:var(--ink);color:var(--paper);font-size:var(--fs-sm);white-space:nowrap;padding:4px 12px;font-weight:800;position:absolute;transform:translate(-50%)}#bot-box{border-radius:var(--r-lg);box-shadow:var(--sh-1);text-align:right;background:#fffaf0db;min-width:0;max-width:34%;padding:4px 12px}#bot-box small{color:var(--muted);font-size:var(--fs-2xs);white-space:nowrap;text-overflow:ellipsis;font-weight:800;display:block;overflow:hidden}#bot-box span{color:var(--ink);font-size:var(--fs-xl);font-weight:800}#pause-btn{background:var(--paper);color:var(--ink);font-size:var(--fs-sm);box-shadow:var(--sh-1);border:0;flex:none;font-weight:800}#pause-btn:active{box-shadow:var(--sh-press);transform:translateY(3px)}#state{border-radius:var(--r-pill);background:var(--ink);color:var(--paper);font-size:var(--fs-2xs);letter-spacing:.06em;padding:3px 10px;font-weight:800}#timing{border:var(--bw) solid var(--ink);border-radius:var(--r-md);background:#fff;height:24px}#timing .zone.good{background:#ffb23838}#timing .zone.great{background:#ffb23873}#timing .zone.perfect{background:var(--sun)}#timing.armed .zone.perfect{background:var(--flame);box-shadow:0 0 10px #f2552cb3}#timing .tick{background:var(--ink-22)}#cursor{background:var(--ink);box-shadow:none;width:5px}#timing.done #cursor{background:var(--ink-30)}.card{border:var(--bw) solid var(--ink);border-radius:var(--r-md);min-width:0;color:var(--ink);box-shadow:var(--sh-1);background:#fff;padding:5px 4px 4px;position:relative}.card .name{min-height:2.3em;font-size:var(--fs-xs);white-space:normal;text-wrap:balance;justify-content:center;align-items:center;font-weight:800;line-height:1.15;display:flex}.card .cost{color:var(--flame);margin-left:4px}.card .seq{letter-spacing:0;color:var(--ink);justify-content:center;gap:3px;margin-top:3px;display:flex}.card .seq .key{border:var(--bw-thin) solid var(--ink);border-radius:var(--r-xs);background:var(--paper);width:22px;height:22px;font-size:var(--fs-sm);font-weight:800;line-height:18px}.card .seq .key.typed{background:var(--sun);color:var(--ink)}.card .why{color:var(--muted);margin-top:2px;font-size:10px;font-weight:700}.card.dim{opacity:.45}.card.chosen{border-color:var(--ink);background:linear-gradient(180deg, var(--cream), var(--sun))}.card.ready{background:linear-gradient(180deg, var(--sun), var(--sun-deep));box-shadow:0 4px 0 var(--sun-edge), 0 0 0 3px #f2552c73}.card.queued{border-style:dashed}.card.suggest{border-color:var(--ok-deep);box-shadow:0 4px #2e9e5b73}.card.risk-bad .why{color:var(--flame)}.card.risk-last .why{color:var(--sun-edge)}.card.boost{border-color:var(--flame);box-shadow:0 4px #b8401f,0 0 14px #f2552c73}.card .mult{border:var(--bw-thin) solid var(--ink);border-radius:var(--r-pill);background:linear-gradient(180deg, #ff8a4c, var(--flame));color:#fff;font-size:var(--fs-md);padding:0 8px;font-weight:800;line-height:20px;position:absolute;top:-12px;right:-6px;transform:rotate(8deg)}.card.boost.hope .mult{font-size:var(--fs-lg);animation:.6s ease-in-out infinite alternate pulse}@keyframes pulse{to{transform:rotate(8deg)scale(1.15)}}#rest-hint{color:var(--paper);text-shadow:0 1px 2px #00000080}#result,#prompt,#banner{font-family:var(--display)}#result{font-size:var(--fs-4xl);-webkit-text-stroke:5px var(--ink);paint-order:stroke fill;text-shadow:0 3px #00000040;color:#fff;font-weight:800}#result small{-webkit-text-stroke:3px var(--ink);paint-order:stroke fill;color:#fff;font-size:var(--fs-sm)}#result.perfect,#result.cash{color:var(--sun)}#result.great{color:#8ef0a0}#result.miss,#result.death{color:#ff8a6a}#prompt{color:var(--sun);-webkit-text-stroke:4px var(--ink);paint-order:stroke fill;text-shadow:none;font-weight:800}#prompt.beat4{text-shadow:none}#banner{border-radius:var(--r-pill);width:fit-content;max-width:calc(100% - 24px);text-shadow:none;margin:0 auto;padding:6px 18px;font-weight:800}#banner.info{background:var(--ink);color:var(--paper)}#banner.warn{background:var(--flame);color:#fff;border:var(--bw-bold) solid var(--ink)}#banner.mutation{border:var(--bw-bold) solid var(--ink);border-radius:var(--r-lg);background:linear-gradient(180deg, var(--sun), var(--sun-deep));color:var(--ink);box-shadow:var(--sh-2);flex-direction:column;align-items:center;padding:6px 22px 8px;animation:.35s cubic-bezier(.2,1.6,.4,1) pop-in;display:flex}#banner.mutation b{font-size:var(--fs-2xl);letter-spacing:.02em;line-height:1.1}#banner.mutation small{font-size:var(--fs-sm);font-weight:800}#banner.mutation.hope{background:linear-gradient(180deg, #ff9a5c, var(--flame));color:#fff}#banner.mutation.seal{background:linear-gradient(180deg, #8f7bd6, var(--ink));color:var(--paper)}@keyframes pop-in{0%{opacity:0;transform:scale(.6)}}#spin-gauge .track{border:var(--bw) solid var(--ink);background:#fffaf0e6}#spin-gauge .fill{background:var(--ok-deep)}#spin-gauge .fill.low{background:var(--flame)}#spin-gauge .value,#spin-gauge .cost,#spin-gauge .warn{font-family:var(--display);-webkit-text-stroke:3px var(--ink);paint-order:stroke fill;text-shadow:none}#spin-gauge .value{color:#fff}#pad button{border:var(--bw-bold) solid var(--ink);border-radius:var(--r-lg);background:var(--paper);color:var(--ink);font-family:var(--display);box-shadow:var(--sh-2);font-weight:800;transition:transform 50ms,box-shadow 50ms,background 60ms,opacity 80ms}#pad button.hit{background:linear-gradient(180deg, var(--sun), var(--sun-deep));color:var(--ink);box-shadow:var(--sh-press);transform:translateY(4px)}#pad.armed button{opacity:.4}#bung-btn{border:var(--bw-bold) solid var(--ink);background:linear-gradient(180deg, var(--sun), var(--sun-deep));color:var(--ink);font-family:var(--display);box-shadow:var(--sh-sun);font-weight:800}#bung-btn.armed{background:linear-gradient(180deg, #ffe88a, var(--sun));box-shadow:var(--sh-sun), 0 0 0 6px #f2552c59, 0 0 22px #f2552c8c}#bung-btn.beat4{background:linear-gradient(180deg, #ff8a4c, var(--flame));color:#fff}#bung-btn.hit{box-shadow:var(--sh-sun-sm);transform:translateY(5px)}#thumb-hint{color:var(--muted-light);font-weight:700}:root{--timing-h:22px;--card-h:70px;--hud-h:calc(var(--sp-3) + var(--timing-h) + var(--sp-2) + var(--card-h))}.arw{fill:none;stroke:currentColor;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round;pointer-events:none;width:100%;height:100%;display:block}#pad button{justify-content:center;align-items:center;padding:0;display:flex}#pad button .arw{width:46%;height:46%}.card .seq .key{justify-content:center;align-items:center;padding:3px;display:flex}#top{gap:var(--sp-2);padding:max(var(--sp-3), env(safe-area-inset-top)) var(--sp-4) 0;align-items:flex-start;height:auto}.score,#bot-box{padding:var(--sp-1) var(--sp-3)}#round-info{top:calc(max(var(--sp-3), env(safe-area-inset-top)) + 52px)}#state{display:none}#hud{height:var(--hud-h);padding:var(--sp-3) var(--sp-4) 0;justify-content:flex-start;gap:var(--sp-2)}#timing{height:var(--timing-h);margin-left:0}#cards{gap:var(--sp-2);padding-bottom:0}.card{justify-content:center;gap:var(--sp-1);height:var(--card-h);padding:var(--sp-1);flex-direction:column;display:flex}.card .name{min-height:0}.card .seq{margin-top:0}.card .why{display:none}.card.risk-bad:after,.card.risk-last:after{content:"";top:var(--sp-2);left:var(--sp-2);background:var(--flame);border-radius:50%;width:8px;height:8px;position:absolute}.card.risk-last:after{background:var(--sun-deep)}.card.frozen{background:linear-gradient(#dceeffeb,#badcf8eb),#fff;border-color:#6aa6d8;box-shadow:0 4px #4a80b059}.card.frozen .name,.card.frozen .seq{opacity:.35}.card .ice{color:#2f6fa8;font-size:var(--fs-3xl);-webkit-text-stroke:4px #fff;paint-order:stroke fill;letter-spacing:.02em;justify-content:center;align-items:center;font-weight:800;display:flex;position:absolute;inset:0}#spin-gauge .label{display:none}#countdown{z-index:3;align-items:center;gap:var(--sp-1);pointer-events:none;font-family:var(--display);flex-direction:column;display:none;position:absolute;top:18%;left:0;right:0}#countdown.show{display:flex}#countdown small{padding:var(--sp-1) var(--sp-3);border-radius:var(--r-pill);background:var(--ink);color:var(--paper);font-size:var(--fs-md);letter-spacing:.06em;font-weight:800}#countdown b{color:var(--sun);-webkit-text-stroke:8px var(--ink);paint-order:stroke fill;text-shadow:0 6px #00000040;font-size:96px;font-weight:800;line-height:1;animation:.45s cubic-bezier(.2,1.6,.4,1) count-pop}#countdown.go b{color:var(--flame);font-size:64px}@keyframes count-pop{0%{opacity:0;transform:scale(1.8)}}body.layout-split{--stage-h:55dvh;--ctrl-h:calc(100dvh - var(--stage-h) - var(--hud-h) - var(--sp-4) - var(--sp-4) - env(safe-area-inset-bottom));--cell:max(44px, min(76px, calc((var(--ctrl-h) - 2 * var(--sp-2)) / 3), calc((52vw - 2 * var(--sp-2)) / 3)));--pad-h:calc(var(--cell) * 3 + 2 * var(--sp-2));--bung:max(88px, min(150px, 34vw, var(--ctrl-h)))}body.layout-split #stage{height:var(--stage-h)}body.layout-split #hud{top:var(--stage-h)}body.layout-split #app:before{top:calc(var(--stage-h) - 14px)}body.layout-split #touch{top:var(--stage-h)}body.layout-split #pad{left:max(var(--sp-4), env(safe-area-inset-left));bottom:calc(var(--sp-4) + env(safe-area-inset-bottom) + (var(--ctrl-h) - var(--pad-h)) / 2);width:calc(var(--cell) * 3 + 2 * var(--sp-2));height:var(--pad-h);gap:var(--sp-2)}body.layout-split #bung-btn{right:max(var(--sp-4), env(safe-area-inset-right));bottom:calc(var(--sp-4) + env(safe-area-inset-bottom) + (var(--ctrl-h) - var(--bung)) / 2);font-size:calc(var(--bung) * .2)}.overlay.sheet-screen{background:var(--ink-45);font-family:var(--display);padding:var(--sp-4)}.sheet{gap:var(--sp-4);width:min(100%,420px);max-height:100%;padding:var(--sp-5) var(--sp-4) var(--sp-4);border:var(--bw-bold) solid var(--ink);border-radius:var(--r-xl);background:var(--paper);color:var(--ink);text-align:left;box-shadow:var(--sh-2);flex-direction:column;display:flex;overflow-y:auto}.sheet-title{text-align:center;font-size:var(--fs-3xl);margin:0;font-weight:800}.sheet .seg{gap:var(--sp-1);padding:var(--sp-1);border-radius:var(--r-pill);background:var(--ink-08);grid-template-columns:1fr 1fr;display:grid}.sheet .seg.three{grid-template-columns:1fr 1fr 1fr}.sheet .seg button{border-radius:var(--r-pill);min-width:0;min-height:40px;color:var(--ink);font-family:var(--display);font-size:var(--fs-md);background:0 0;border:0;font-weight:800}.sheet .seg button.on{background:linear-gradient(180deg, var(--sun), var(--sun-deep));box-shadow:var(--sh-sun-inset)}.sheet .seg button:disabled{opacity:.4}.sheet .seg.levels{border-radius:var(--r-lg);flex-wrap:wrap;display:flex}.sheet .seg.levels button{min-height:var(--h-sm);padding:0 var(--sp-2);font-size:var(--fs-sm);white-space:nowrap;flex:auto}.sheet .box{gap:var(--sp-3);margin:var(--sp-2) 0 0;padding:var(--sp-5) var(--sp-4) var(--sp-4);border:var(--bw) solid var(--ink);border-radius:var(--r-lg);background:#fff;flex-direction:column;min-width:0;display:flex;position:relative}.sheet .box-label{top:-12px;left:var(--sp-4);padding:0 var(--sp-3);border-radius:var(--r-pill);background:var(--ink);color:var(--paper);font-size:var(--fs-sm);letter-spacing:.5px;text-transform:uppercase;font-weight:800;position:absolute}.sheet .row-label{margin-bottom:calc(-1 * var(--sp-2));font-size:var(--fs-sm);color:var(--muted);font-weight:800}.sheet .slider{align-items:center;gap:var(--sp-3);font-size:var(--fs-md);grid-template-columns:80px 1fr 36px;font-weight:800;display:grid}.sheet .slider b{text-align:right;font-variant-numeric:tabular-nums}.sheet input[type=range]{appearance:none;border:var(--bw) solid var(--ink);border-radius:var(--r-pill);background:var(--paper);width:100%;height:14px;margin:0}.sheet input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;border:var(--bw) solid var(--ink);background:linear-gradient(180deg, var(--sun), var(--sun-deep));width:28px;height:28px;box-shadow:var(--sh-sun-inset);border-radius:50%}.sheet input[type=range]::-moz-range-thumb{border:var(--bw) solid var(--ink);background:var(--sun);border-radius:50%;width:24px;height:24px}.sheet .switch{justify-content:space-between;align-items:center;gap:var(--sp-3);font-size:var(--fs-md);font-weight:800;display:flex}.sheet .switch input{opacity:0;pointer-events:none;position:absolute}.sheet .switch i{border:var(--bw) solid var(--ink);border-radius:var(--r-pill);background:var(--ink-15);flex:none;width:52px;height:30px;transition:background .12s;position:relative}.sheet .switch i:after{content:"";box-sizing:border-box;border:var(--bw-thin) solid var(--ink);background:#fff;border-radius:50%;width:22px;height:22px;transition:transform .12s;position:absolute;top:50%;left:2px;transform:translateY(-50%)}.sheet .switch input:checked+i{background:var(--sun)}.sheet .switch input:checked+i:after{transform:translate(21px,-50%)}.sheet .switch input:focus-visible+i{outline:3px solid var(--flame);outline-offset:2px}.sheet .dev-row{font-size:var(--fs-sm);justify-content:space-between;align-items:center;font-weight:700;display:flex}.sheet .dev-row input{border:var(--bw-thin) solid var(--ink);border-radius:var(--r-sm);width:80px;padding:var(--sp-1) var(--sp-2);font:inherit;color:var(--ink);background:#fff}#lesson{top:max(var(--sp-3), env(safe-area-inset-top));left:var(--sp-4);right:calc(var(--sp-4) + 44px + var(--sp-2));padding:var(--sp-2) var(--sp-3) var(--sp-3);border:var(--bw) solid var(--ink);border-radius:var(--r-lg);background:var(--paper);color:var(--ink);font-family:var(--display);box-shadow:var(--sh-1)}#lesson .lesson-head{gap:var(--sp-2);color:var(--ink);justify-content:flex-start}#lesson-step{padding:0 var(--sp-2);border-radius:var(--r-pill);background:var(--ink);color:var(--paper);font-size:var(--fs-xs);flex:none;font-weight:800}#lesson h3{min-width:0;color:var(--ink);font-size:var(--fs-lg);white-space:nowrap;text-overflow:ellipsis;flex:1;margin:0;font-weight:800;overflow:hidden}#lesson.done h3{color:var(--ok-deep)}#lesson-skip{min-width:0;min-height:0;padding:2px var(--sp-2);border:var(--bw-thin) solid var(--ink);border-radius:var(--r-pill);color:var(--ink);font-family:var(--display);font-size:var(--fs-xs);background:#fff;flex:none;font-weight:800;text-decoration:none}#lesson p{margin:var(--sp-1) 0 0;font-size:var(--fs-sm);font-weight:600;line-height:1.5}#lesson p .key{vertical-align:-5px;border:var(--bw-thin) solid var(--ink);border-radius:var(--r-xs);background:#fff;width:20px;height:20px;margin:0 1px;padding:2px;display:inline-flex}#lesson-actions{gap:var(--sp-2);margin-top:var(--sp-3)}#lesson-actions button{border:var(--bw) solid var(--ink);border-radius:var(--r-pill);min-height:44px;color:var(--ink);font-family:var(--display);font-size:var(--fs-md);box-shadow:var(--sh-1);background:#fff}#lesson-actions button.big{border-color:var(--ink);background:linear-gradient(180deg, var(--sun), var(--sun-deep));color:var(--ink);box-shadow:var(--sh-sun-sm)}#app:has(#lesson) .score{display:none}#app:has(#lesson) #round-info{display:none}#pause-btn{margin-left:auto}.card .seq.long{gap:2px}.card .seq.long .key{border-radius:var(--r-xs);width:17px;height:17px;padding:2px}#quip{z-index:3;max-width:62%;padding:var(--sp-2) var(--sp-3);border:var(--bw) solid var(--ink);border-radius:var(--r-lg);color:var(--ink);font-family:var(--display);font-size:var(--fs-md);box-shadow:var(--sh-1);opacity:0;pointer-events:none;background:#fff;font-weight:800;line-height:1.2;transition:opacity .12s,transform .16s cubic-bezier(.2,1.6,.4,1);position:absolute;top:26%;transform:scale(.7)}#quip.show{opacity:1;transform:scale(1)}#quip.crowd{left:var(--sp-4);border-bottom-left-radius:4px}#quip.bot{right:var(--sp-4);background:var(--ink);color:var(--paper);border-bottom-right-radius:4px}.sheet .seg.two-rows{border-radius:var(--r-lg);grid-template-columns:1fr 1fr}.sheet.narrow{width:min(100%,340px)}.sheet.center{text-align:center;align-items:center}.sheet .sub,.sheet .small{color:var(--muted);margin:0;font-weight:600}.sheet .small{font-size:var(--fs-sm)}.sheet .buttons{gap:var(--sp-2);flex-direction:column;width:100%;display:flex}.sheet .pill{width:100%}.sheet .pill.small-pill{width:auto}#end .sheet h1{text-align:center;font-family:var(--display);color:var(--ink);margin:0;font-size:40px;font-weight:800}#end .sheet h1.win{color:var(--ok-deep)}#end .sheet h1.lose{color:var(--flame)}#end-sub{text-align:center}.sheet table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}.sheet th,.sheet td{padding:var(--sp-1) var(--sp-2);border-bottom:var(--bw-thin) solid var(--ink-15);text-align:left;font-size:var(--fs-sm)}.sheet th{color:var(--muted);font-weight:800}.sheet tr.total td{border-bottom:0;font-weight:800}#end-offset{justify-content:space-between;align-items:center;gap:var(--sp-2);display:flex}#help-body{gap:var(--sp-2);font-size:var(--fs-sm);flex-direction:column;font-weight:600;display:flex}#help-body p,#help-body ul{margin:0}#help-body ul{padding-left:var(--sp-4);color:#4a3d63}#help-body h4{margin:var(--sp-2) 0 0;padding:2px var(--sp-3);border-radius:var(--r-pill);background:var(--ink);width:fit-content;color:var(--paper);font-size:var(--fs-xs);letter-spacing:.04em}#help-body td.keys{white-space:nowrap;font-weight:800}.sheet #calib-pad{border:3px dashed var(--ink);color:var(--ink);font-family:var(--display);background:#fff}.sheet #share-text{width:100%;min-height:160px;padding:var(--sp-2);border:var(--bw) solid var(--ink);border-radius:var(--r-md);color:var(--ink);background:#fff;font:13px/1.4 ui-monospace,monospace}#help-body td.keys .key{border:var(--bw-thin) solid var(--ink);border-radius:var(--r-xs);vertical-align:middle;background:#fff;width:18px;height:18px;margin-right:2px;padding:2px;display:inline-flex}.privacy-text{text-align:left;max-height:46dvh;overflow-y:auto}.privacy-text h3{margin:var(--sp-3) 0 var(--sp-1);font-size:var(--fs-md)}.privacy-text p{font-size:var(--fs-sm);margin:0;line-height:1.45}.privacy-switch{align-items:center;gap:var(--sp-2);margin-top:var(--sp-2);font-weight:700;display:flex}.settings-links{text-align:center;flex-shrink:0;margin:0}.support-qr{border:var(--bw) solid var(--ink);border-radius:var(--r-md);background:var(--white);align-self:center}.support-link{text-align:center;text-decoration:none}.credits-own{text-align:center;margin:0}.sheet .seg.tiers{border-radius:var(--r-lg);grid-template-columns:repeat(4,1fr)}.board-head{align-items:center;gap:var(--sp-2);font-size:var(--fs-md);flex-wrap:wrap;font-weight:800;display:flex}.board-head .chip{padding:1px var(--sp-2);border-radius:var(--r-pill);background:var(--ink-08);font-size:var(--fs-xs)}.board-rows{gap:var(--sp-1);flex-direction:column;max-height:42dvh;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.board-rows li{align-items:center;gap:var(--sp-2);min-height:40px;padding:0 var(--sp-3);border:var(--bw-thin) solid var(--ink-15);border-radius:var(--r-md);font-size:var(--fs-md);background:#fff;grid-template-columns:36px 1fr auto;font-weight:700;display:grid}.board-rows li.me{border-color:var(--ink);background:linear-gradient(180deg, var(--cream), var(--sun))}.board-rows li.muted{padding:var(--sp-3);color:var(--muted);text-align:center;display:block}.board-rows .rank{text-align:center;font-weight:800}.board-rows .name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.board-rows b{font-variant-numeric:tabular-nums}.board-me{justify-content:space-between;align-items:center;gap:var(--sp-2);font-size:var(--fs-md);font-weight:800;display:flex}.sheet .pick{gap:var(--sp-1);flex-wrap:wrap;max-height:120px;display:flex;overflow-y:auto}.sheet .pick button{min-width:0;min-height:32px;padding:0 var(--sp-2);border:var(--bw-thin) solid var(--ink-22);border-radius:var(--r-pill);color:var(--ink);font-family:var(--display);font-size:var(--fs-sm);background:#fff;font-weight:700}.sheet .pick button.on{border-color:var(--ink);background:var(--sun)}.sheet .preview{text-align:center;font-size:var(--fs-xl);font-weight:800}.board-note{padding:var(--sp-2) var(--sp-3);border-radius:var(--r-md);font-size:var(--fs-sm);text-align:center;background:#ffd84d59;margin:0;font-weight:700}#start .hero-pick .caret{flex:none}.chars-count{text-align:center;font-size:var(--fs-sm);color:var(--muted);margin:0;font-weight:700}.chars-grid{gap:var(--sp-2);grid-template-columns:1fr 1fr;grid-auto-rows:max-content;max-height:62dvh;display:grid;overflow-y:auto}.chars-grid .char-card{justify-content:flex-start;align-items:stretch;gap:var(--sp-1);min-height:72px;padding:var(--sp-2);border:var(--bw) solid var(--ink-15);border-radius:var(--r-lg);min-width:0;color:var(--ink);font-family:var(--display);text-align:left;background:#fff;flex-direction:column;display:flex;position:relative}.chars-grid .char-card b{font-size:var(--fs-md);line-height:1.2}.chars-grid .char-card small{font-size:var(--fs-xs);color:var(--muted);font-weight:700}.chars-grid .char-card .char-badge{font-size:var(--fs-sm);font-weight:800}.chars-grid .char-card.on{border-color:var(--ink);background:linear-gradient(180deg, var(--cream), var(--sun))}.chars-grid .char-card.locked{background:var(--ink-08);opacity:.75}.unlock-note{align-items:center;gap:var(--sp-2);padding:var(--sp-3);border:var(--bw) solid var(--ink);border-radius:var(--r-lg);background:linear-gradient(180deg, var(--cream), var(--sun));text-align:center;font-size:var(--fs-md);flex-direction:column;display:flex}.chars-grid .char-card .char-pic{border-radius:var(--r-md);background:radial-gradient(circle at 50% 40%,#fff7d6,#f3e6c4);display:block;overflow:hidden}.chars-grid .char-card .char-face{aspect-ratio:1;width:100%;height:auto;display:block}.chars-grid .char-card.locked .char-face{filter:brightness(0)opacity(.35)}.chars-grid .char-card .char-text{padding:0 var(--sp-1);flex-direction:column;gap:2px;display:flex}.chars-grid .char-card .char-line{font-style:italic}.chars-grid .char-card .char-name{align-items:baseline;gap:6px;min-width:0;display:flex}.chars-grid .char-card .char-name b{min-width:0}.chars-grid .char-card .char-name .char-badge{flex:none}.chars-grid .char-card small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.chars-grid{scrollbar-width:thin;scrollbar-color:var(--ink-30) transparent}.sheet .name-box{gap:var(--sp-2);flex-direction:column;display:flex}.sheet .name-row{gap:var(--sp-2);display:flex}.sheet .name-row input{min-width:0;height:44px;padding:0 var(--sp-3);border:var(--bw) solid var(--ink);border-radius:var(--r-md);color:var(--ink);font-family:var(--display);font-size:var(--fs-lg);background:#fff;flex:1;font-weight:700}.sheet .name-row .dice{width:48px;min-width:0;min-height:44px;font-size:var(--fs-2xl);padding:0}.sheet .name-hint{font-size:var(--fs-xs);color:var(--muted);font-weight:700}.sheet .name-hint.err{color:#c2410c}.board-rows .tag,.board-me .tag{font-size:var(--fs-2xs);color:var(--muted-light);margin-left:4px;font-weight:700}.sheet .board-rows .flag{border-radius:var(--r-pill);color:#a597b8;min-width:0;min-height:28px;font-family:var(--display);font-size:var(--fs-sm);background:0 0;border:0;padding:0 8px;font-weight:800}.sheet .board-rows .flag.armed{color:#fff;font-size:var(--fs-xs);background:#c2410c}.sheet .board-rows .flag:disabled{opacity:.3}.board-notice{text-align:center;font-size:var(--fs-sm);color:var(--muted);margin:0;font-weight:700}.board-rows li{grid-template-columns:36px 1fr auto auto auto}.sheet .board-rows .duel{border:var(--bw-thin) solid var(--ink);border-radius:var(--r-pill);background:var(--sun);min-width:0;min-height:28px;color:var(--ink);font-size:var(--fs-sm);padding:0 8px}.sheet .challenges ul{font-size:var(--fs-sm);flex-direction:column;gap:4px;margin:0;padding:0;font-weight:700;list-style:none;display:flex}.online-match #pause-btn{display:none}.online-status,.online-you,.online-hint{text-align:center;font-size:var(--fs-sm);margin:0;font-weight:700}.online-hint{font-size:var(--fs-xs);color:var(--muted)}.online-you .tag,.online-players .tag{font-size:var(--fs-2xs);color:var(--muted-light);margin-left:4px}.online-players{gap:var(--sp-1);flex-direction:column;max-height:40dvh;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.online-players li{justify-content:space-between;align-items:center;gap:var(--sp-2);min-height:48px;padding:0 var(--sp-3);border:var(--bw-thin) solid var(--ink-15);border-radius:var(--r-md);font-size:var(--fs-md);background:#fff;font-weight:700;display:flex}.online-players li.muted{color:var(--muted);text-align:center;justify-content:center}.online-players .name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.online-busy{color:var(--muted-light);font-weight:700}.online-invite{gap:var(--sp-2);padding:var(--sp-3);border:var(--bw) solid var(--ink);border-radius:var(--r-lg);background:linear-gradient(180deg, var(--cream), var(--sun));text-align:center;flex-direction:column;display:flex}.online-invite-buttons{justify-content:center;gap:var(--sp-2);display:flex}.online-link{justify-items:center;gap:.4rem;margin:.6rem 0 .2rem;display:grid}.online-link-code{margin:0}.online-link-code b{letter-spacing:.15em;font-size:1.15em}.online-link-url{box-sizing:border-box;width:100%;font:inherit;font-size:var(--fs-xs);border-radius:var(--r-sm);color:inherit;text-align:center;background:0 0;border:1px dashed;padding:.35rem .5rem}.online-quick{flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem;margin:.4rem 0;display:flex}.online-quick .online-status{margin:0}.online-find{box-sizing:border-box;width:100%;font:inherit;border-radius:var(--r-pill);border:var(--bw-hair) solid currentColor;color:inherit;background:0 0;margin-top:.4rem;padding:.4rem .7rem}.online-count{font-size:var(--fs-xs);opacity:.75;margin:.3rem 0 0}.online-rating{opacity:.7;white-space:nowrap;font-size:.75em}body.watching #touch,body.watching #thumb,body.watching #cards,body.watching #timing,body.watching #prompt{display:none!important}#player-name{color:var(--chalk-dim);font-size:10px;font-weight:700;line-height:1;display:block}#player-name:empty{display:none}.online-follow{font-size:var(--fs-lg);margin:.2rem auto .6rem;display:block}body.cha-mode #hud,body.cha-mode #spin-gauge,body.cha-mode #round-info,body.cha-mode #bot-box,body.cha-mode .score{display:none!important}#cha-hud{z-index:3;pointer-events:none;position:absolute;inset:0}#cha-hud[hidden]{display:none}.cha-top{top:calc(10px + env(safe-area-inset-top));color:var(--chalk);text-shadow:0 1px 3px #0008;align-items:baseline;gap:10px;display:flex;position:absolute;left:16px;right:70px}.cha-title{font-size:var(--fs-xs);opacity:.85;white-space:nowrap;text-overflow:ellipsis;max-width:45%;font-weight:700;overflow:hidden}.cha-score{font-size:var(--fs-2xl);font-weight:900}.cha-combo{font-size:var(--fs-sm);color:#ffe066;font-weight:800}.cha-panel{flex-direction:column;align-items:stretch;gap:6px;display:flex;position:absolute;top:calc(60% + 6px);left:10px;right:10px}body.layout-split .cha-panel{top:calc(var(--stage-h,55%) + 6px)}body.layout-landscape .cha-panel{top:calc(66% + 4px);left:29%;right:29%}body.layout-landscape .cha-next,body.layout-split .cha-next{display:none}.cha-arrows,.cha-next{border-radius:var(--r-md);background:#0d130fcc;flex-wrap:wrap;justify-content:center;gap:2px 8px;padding:6px 8px;display:flex}.cha-next{opacity:.45;transform-origin:top;background:0 0;padding:0;transform:scale(.8)}.cha-group{flex-direction:column;align-items:center;display:flex}.cha-group small{color:var(--chalk-dim);white-space:nowrap;font-size:9px}.cha-group.dragon small{color:#ffe066;font-weight:800}.cha-cells{gap:2px;display:flex}.cha-arrow{color:#f5efe0;opacity:.9;width:30px;height:30px;transition:transform 80ms,color 80ms;display:inline-flex}.cha-arrows.long .cha-arrow{width:22px;height:22px}.cha-arrow svg{width:100%;height:100%}.cha-arrow.done{color:#ffd23f;opacity:1;transform:scale(.86)}.cha-arrows.complete .cha-arrow{color:#7dff9a}.cha-arrows.wrong{animation:.22s cha-shake}@keyframes cha-shake{25%{transform:translate(-6px)}75%{transform:translate(6px)}}.cha-bar{border-radius:var(--r-xs);background:#0d130fcc;height:18px;position:relative;overflow:hidden}.cha-ticks i{background:#fff3;width:2px;margin-left:-1px;position:absolute;top:3px;bottom:3px}.cha-zones{width:100%;position:absolute;top:0;bottom:0;transform:translate(-50%)}.cha-zones i{position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.cha-zones .good{background:#8fd3ff66}.cha-zones .great{background:#7dff9a99}.cha-zones .perfect{background:#ffd23f}.cha-zones b{color:#1a1a1a;letter-spacing:.02em;font-size:8px;font-weight:900;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.cha-cursor{background:#fff;width:4px;margin-left:-2px;position:absolute;top:0;bottom:0;box-shadow:0 0 6px #fff}.cha-result{text-align:center;font-size:var(--fs-3xl);color:#fff;text-shadow:0 2px 6px #000a;opacity:0;font-weight:900;transition:opacity .12s,transform .12s;position:absolute;top:40%;left:0;right:0;transform:scale(.8)}.cha-result small{font-size:var(--fs-md);display:block}.cha-result.show{opacity:1;transform:scale(1)}.cha-result.perfect{color:#ffe066}.cha-result.great{color:#7dff9a}.cha-result.good{color:#8fd3ff}.cha-result.miss{color:#ff6b5e}.cha-tabs{margin-bottom:var(--sp-2)}.cha-songs .name small{font-size:var(--fs-2xs);display:block}.cha-best{font-size:var(--fs-lg);margin:0 6px}.cha-credit{font-size:var(--fs-2xs);text-align:center;margin:6px 0}.cha-rank{text-align:center;font-size:4.5rem;font-weight:900;line-height:1}.rank-S{color:#e0a800}.rank-A{color:var(--ok-deep)}.rank-B{color:#2f7fd0}.rank-C{color:#8a6d3b}.rank-D{color:#a04040}.cha-end-score{text-align:center;font-size:var(--fs-2xl);margin:.2rem 0}.cha-new{text-align:center;color:#d0662f;font-weight:800}.cha-count{text-align:center;color:#fff;text-shadow:0 3px 10px #000a;opacity:0;font-size:64px;font-weight:900;transition:opacity .12s;position:absolute;top:28%;left:0;right:0}.cha-count.show{opacity:1}.cha-count.rest{font-size:var(--fs-2xl);opacity:.85}.cha-result.hint{color:#fff}.overlay button.link-btn{min-width:0;min-height:0;color:inherit;font:inherit;font-size:inherit;cursor:pointer;background:0 0;border:0;flex-shrink:0;padding:0 .2rem;text-decoration:underline}.credits-group{font-size:var(--fs-md);margin:.8rem 0 .3rem}.credits-list{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.credits-list li{text-align:left;flex-direction:column;gap:.1rem;display:flex}.credits-license{font-size:var(--fs-2xs);border-radius:var(--r-pill);border:var(--bw-hair) solid currentColor;align-self:flex-start;padding:0 .4rem;font-weight:800}.credits-list a{color:inherit;word-break:break-all}.credits-note{opacity:.8;text-align:left;margin:.2rem 0 .4rem}body:not(.hud-on) #spin-gauge,body:not(.hud-on) #top,body:not(.in-play) #hud,body:not(.in-play) #touch,body:not(.in-play) #thumb,body:not(.in-play) #banner,body:not(.in-play) #countdown{visibility:hidden}body:not(.in-play) #stage{height:100%!important}body:not(.in-play) #app:before{display:none}#start .mode-seg{border-radius:var(--r-pill);background:var(--paper);border:var(--bw) solid var(--ink);grid-template-columns:repeat(3,1fr);gap:4px;padding:4px;display:grid}#start .mode-seg button{white-space:nowrap;border-radius:var(--r-pill);min-width:0;min-height:42px;color:var(--ink);font-family:var(--display);background:0 0;border:0;padding:0 4px;font-size:clamp(13px,4vw,16px);font-weight:800}#start .mode-seg button.on{background:linear-gradient(180deg, var(--sun), var(--sun-deep));box-shadow:var(--sh-sun-inset)}#start .mode-info{padding-right:18px}#start .mode-title{font-family:var(--display);font-size:var(--fs-xl);color:var(--ink)}#start .start-quick{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}#start .start-quick .pill{min-width:0;min-height:46px;font-size:var(--fs-md);padding:0 6px}#start .start-skip{color:var(--paper);text-shadow:0 1px 2px #0009;align-self:center;margin-top:-4px;font-weight:700}.train-list{gap:12px;margin:0 0 8px;padding:0;list-style:none;display:grid}.train-list li{flex-direction:column;align-items:stretch;gap:4px;display:flex}.train-list small{text-align:center;opacity:.8}@media (height<=480px){#start .mode-seg button{font-size:var(--fs-sm);min-height:36px}}.overlay.sheet-screen{justify-content:flex-start}.overlay.sheet-screen>.sheet{flex-shrink:0;margin-block:auto}@media (orientation:landscape) and (height<=520px){body:not(.in-play) #app{width:100vw;max-width:none}#start .live-strip{display:none}#start #summary{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}#start .start-menu{justify-content:safe flex-end}#start .field-line{display:none}#start .start-quick .pill{min-height:38px;font-size:var(--fs-sm);white-space:nowrap}body.screen-start #stage{width:100%!important;left:0!important}#start.start-live{display:block}#start .start-logo{width:44%;margin:0;position:absolute;top:50%;left:3%;transform:translateY(-50%)}#start .start-logo h1{font-size:clamp(44px,8vw,72px)}#start .start-menu{right:max(16px, env(safe-area-inset-right));width:min(380px,46%);max-width:none;padding:4px 0 calc(10px + env(safe-area-inset-bottom));justify-content:flex-end;gap:8px;position:absolute;top:60px;bottom:0;overflow-y:auto}#start .start-menu .pill.big{min-height:50px;font-size:var(--fs-2xl)}#start .field{padding-top:10px;padding-bottom:6px}}#start .live-strip{align-items:center;gap:var(--sp-2);border-radius:var(--r-pill);background:var(--paper);min-width:0;max-width:100%;min-height:0;color:var(--ink);font-family:var(--display);font-size:var(--fs-sm);box-shadow:var(--sh-1);border:0;align-self:center;margin:0;padding:5px 14px;font-weight:800;display:flex}.live-strip span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.live-strip i{background:var(--ok-deep);border-radius:50%;flex:none;width:9px;height:9px}.live-strip b{color:var(--muted);flex:none}#keyhints,.cha-detail{display:none}body.wide #app{width:100vw;max-width:none}body.wide #stage{height:100%!important}body.wide #app:before,body.wide #touch,body.wide #thumb{display:none}body.wide #hud{border-radius:var(--r-lg);background:var(--paper);width:min(560px,60vw);height:auto;box-shadow:var(--sh-1);gap:8px;padding:10px 14px;inset:auto auto 18px 50%;transform:translate(-50%)}body.wide .cha-panel{width:min(640px,64vw);inset:auto auto 24px 50%;transform:translate(-50%)}body.wide.hud-on #keyhints{z-index:3;border-radius:var(--r-pill);background:var(--paper);color:var(--ink);font-size:var(--fs-sm);box-shadow:var(--sh-1);padding:6px 14px;font-weight:700;display:block;position:absolute;bottom:18px;left:18px}body.wide #start.start-live{display:block}body.wide #start .start-logo{align-items:flex-start;margin:0;position:absolute;top:40px;left:40px}body.wide #start .start-logo h1{font-size:84px}body.wide #start .start-menu{width:400px;padding:0;position:absolute;bottom:28px;left:40px}body.wide #start .hero-pick{left:auto;right:84px}.top-week ol{gap:4px;margin:6px 0;padding:0;list-style:none;display:grid}.top-week li{font-size:var(--fs-md);justify-content:space-between;gap:8px;display:flex}body.wide #cha.cha-panels{flex-direction:row;justify-content:space-between;align-items:stretch;padding:24px}body.wide #cha .cha-list{width:440px;max-height:calc(100dvh - 48px);margin:0;overflow-y:auto}body.wide #cha .cha-list .pill.small-pill{display:none}body.wide #cha .cha-list li{cursor:pointer}body.wide #cha .cha-list li.picked{border-color:var(--sun-deep);box-shadow:inset 0 0 0 1.5px var(--sun-deep);background:#fff8e6}body.wide #cha .cha-detail{flex-direction:column;gap:6px;width:360px;margin:auto 0 0;display:flex}.cha-detail h3{font-size:var(--fs-3xl);margin:0}.overlay button.cha-pick{all:unset;text-align:left;cursor:pointer;flex:1;min-width:0;display:block}.overlay button.cha-pick:focus-visible{outline:2px solid var(--sun-deep);outline-offset:-2px}body.wide #start .start-menu{width:470px}body.wide #start .hero-pick{display:none}.mode-cards{gap:var(--sp-2);grid-template-columns:repeat(3,1fr);display:grid}#start .mode-card{min-width:0;min-height:92px;padding:var(--sp-3);border:var(--bw) solid var(--ink);border-radius:var(--r-lg);background:var(--paper);color:var(--ink);font-family:var(--display);text-align:left;box-shadow:var(--sh-1);cursor:pointer;flex-direction:column;align-items:flex-start;gap:2px;margin:0;transition:transform .12s ease-out;display:flex}#start .mode-card:hover{transform:translateY(-3px)}#start .mode-card.on{background:linear-gradient(180deg, var(--sun), var(--sun-deep));box-shadow:var(--sh-sun)}.mode-card b{font-size:var(--fs-lg);line-height:1.1}.mode-card small{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:var(--fs-sm);color:var(--muted);font-weight:700;overflow:hidden}.mode-card.on small{color:var(--ink)}.lobby-side,.hero-plate,.online-chip{display:none}body.wide .lobby-side{gap:var(--sp-3);flex-direction:column;width:300px;max-height:calc(100dvh - 108px);display:flex;position:absolute;top:84px;right:24px;overflow-y:auto}.side-card{padding:var(--sp-3) var(--sp-4);border:var(--bw) solid var(--ink);border-radius:var(--r-lg);background:var(--paper);color:var(--ink);font-family:var(--display);box-shadow:var(--sh-1);display:block}.side-card>b{font-size:var(--fs-md)}.side-empty{margin:var(--sp-1) 0;font-size:var(--fs-sm);color:var(--muted);font-weight:700}.side-list,.side-news{margin:var(--sp-1) 0 0;gap:var(--sp-1);padding:0;list-style:none;display:grid}.side-list li{justify-content:space-between;align-items:center;gap:var(--sp-2);font-size:var(--fs-sm);font-weight:700;display:flex}.side-list li span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.side-list small,.side-news small{color:var(--muted)}#start .side-btn{border:var(--bw-thin) solid var(--ink);border-radius:var(--r-pill);background:linear-gradient(180deg, var(--sun), var(--sun-deep));min-width:0;min-height:0;color:var(--ink);font-family:var(--display);font-size:var(--fs-sm);flex:none;margin:0;padding:3px 12px;font-weight:800}.side-news li{font-size:var(--fs-md);text-align:left;font-weight:700;line-height:1.3}.side-news li:before{content:"";width:8px;height:8px;margin-right:var(--sp-2);background:var(--sun-deep);vertical-align:1px;border-radius:50%;display:inline-block}body.wide .online-chip{border-radius:var(--r-pill);background:var(--paper);color:var(--ink);font-family:var(--display);font-size:var(--fs-sm);box-shadow:var(--sh-1);align-items:center;gap:6px;margin:0;padding:4px 12px;font-weight:800;display:flex;position:absolute;top:22px;right:76px}.online-chip i{background:var(--ok-deep);border-radius:50%;width:9px;height:9px}body.wide .hero-plate{justify-content:center;align-items:center;gap:var(--sp-2);display:flex;position:absolute;bottom:28px;left:530px;right:344px}#start .plate-arrow{border:var(--bw) solid var(--ink);background:var(--paper);width:40px;min-width:0;height:40px;min-height:0;color:var(--ink);font-size:var(--fs-sm);box-shadow:var(--sh-1);border-radius:50%;margin:0;padding:0}#start .plate-name{align-items:center;gap:var(--sp-2);border:var(--bw) solid var(--ink);border-radius:var(--r-pill);background:var(--paper);min-width:0;max-width:340px;min-height:0;color:var(--ink);font-family:var(--display);text-align:left;box-shadow:var(--sh-1);margin:0;padding:6px 16px 6px 6px;display:inline-flex}.plate-name span{flex-direction:column;min-width:0;line-height:1.15;display:flex}.plate-name b{font-size:var(--fs-lg)}.plate-name small{text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-xs);color:var(--muted);font-weight:700;overflow:hidden}.plate-name .hero-face{width:34px;height:34px}@media (width<=1199px){body.wide .lobby-side{display:none}body.wide .hero-plate{right:24px}}.online-tabs{margin-bottom:var(--sp-2)}.online-tabs button{white-space:nowrap}.cha-create{gap:8px;margin:6px 0;display:grid}.cha-create label{justify-content:space-between;align-items:center;gap:8px;font-weight:700;display:flex}.cha-create select{font:inherit;border-radius:var(--r-sm);max-width:65%;padding:4px 8px}.cha-room{justify-items:center;gap:6px;display:grid}.cha-room .online-players{width:100%}.cha-room-title{font-family:var(--display);font-size:var(--fs-xl);margin:0}.cha-bot{border-radius:var(--r-pill);font-size:var(--fs-2xs);background:#0002;margin-left:4px;padding:0 6px;font-weight:700}.cha-live{top:calc(46px + env(safe-area-inset-top));z-index:4;border-radius:var(--r-pill);background:var(--paper);border:var(--bw-thin) solid var(--ink);color:var(--ink);pointer-events:none;gap:4px;max-width:calc(100vw - 24px);margin:0;padding:4px;list-style:none;display:flex;position:absolute;left:50%;transform:translate(-50%)}body:not(.hud-on) .cha-live{display:none}.cha-live li{border-radius:var(--r-pill);font-size:var(--fs-sm);white-space:nowrap;align-items:baseline;gap:6px;min-width:0;padding:2px 10px;display:flex}.cha-live .who{text-overflow:ellipsis;max-width:9em;overflow:hidden}.cha-live li.me{background:linear-gradient(180deg, var(--sun), var(--sun-deep))}.cha-live li.left{opacity:.45}.cha-podium{gap:4px;width:100%;margin:4px 0 8px;padding:0;list-style:none;display:grid}.cha-podium li{border-radius:var(--r-md);background:#0000000d;grid-template-columns:2em 36px 1fr auto 3em;align-items:center;gap:8px;padding:6px 10px;display:grid}.cha-podium li.me{box-shadow:inset 0 0 0 3px var(--sun-deep)}.cha-podium li.place-1 .cha-place{color:#d99a00;font-size:var(--fs-2xl)}.cha-place{font-family:var(--display);font-size:var(--fs-lg);text-align:center}.cha-delta{text-align:right;color:#b03a2e;font-weight:800}.cha-delta.up{color:#2e8b57}.cha-ava{object-fit:cover;border:var(--bw-thin) solid var(--ink);background:#fff;border-radius:50%;align-self:center;width:28px;height:28px}.cha-podium .cha-ava{width:36px;height:36px}.cha-live li{align-items:center;position:relative}.cha-say{border-radius:var(--r-md);border:var(--bw-thin) solid var(--ink);font-family:var(--display);font-weight:800;font-size:var(--fs-sm);background:#fff;padding:2px 10px;animation:2.5s ease-out forwards cha-say;position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%)}@keyframes cha-say{0%{opacity:0;transform:translate(-50%,-6px)scale(.6)}10%{opacity:1;transform:translate(-50%)scale(1.08)}80%{opacity:1}to{opacity:0}}.cha-emotes{top:calc(96px + env(safe-area-inset-top));z-index:6;flex-direction:column;align-items:flex-end;gap:6px;display:flex;position:absolute;right:12px}body:not(.hud-on) .cha-emotes{display:none}.cha-emotes .pill{width:auto;min-width:0;margin:0}.cha-emote-list{flex-direction:column;align-items:flex-end;gap:4px;display:flex}.cha-emote-list .pill{border:var(--bw-thin) solid var(--ink);color:var(--ink);font-family:var(--display);background:#fff}.cha-end-board{margin:0;font-weight:700}#cha-emote-btn,.cha-emote-list button{border-radius:var(--r-pill);background:var(--paper);border:var(--bw-thin) solid var(--ink);min-height:34px;color:var(--ink);font-family:var(--display);font-size:var(--fs-sm);box-shadow:var(--sh-1);padding:4px 14px;font-weight:800}:where(button,a,input,select,textarea,[tabindex]):focus-visible{outline:var(--bw-bold) solid var(--flame);outline-offset:2px}:where(.online-players,.chars-grid,.board-rows,.cha-songs) :focus-visible{outline-offset:-3px}
