:root{--bg:#fbf6ea;--bg-2:#f1e9d6;--card:#fff;--ink:#17202e;--ink-2:#4e5868;--ink-3:#8c93a0;--line:#e7dec9;--yellow:#ffd23f;--yellow-d:#e0a700;--yellow-soft:#fff1b8;--red:#e5484d;--red-d:#b3262c;--green:#129a61;--green-soft:#ddf5e8;--blue:#2f6feb;--felt:#243556;--felt-d:#141f38;--die:#fffdf7;--die-d:#d6cab1;--font:"IBM Plex Sans KR", system-ui, -apple-system, "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;--display:"Black Han Sans", "IBM Plex Sans KR", system-ui, sans-serif;--num:"Rubik", "IBM Plex Sans KR", system-ui, sans-serif}*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--bg);color:var(--ink);font:400 16px/1.5 var(--font);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;overscroll-behavior:none;word-break:keep-all;overflow-wrap:break-word}button,input{font:inherit;color:inherit}button{touch-action:manipulation;-webkit-user-select:none;user-select:none}h1,h2,p,ul,ol{margin:0;padding:0}ul,ol{list-style:none}b{font-weight:700}:focus-visible{outline:3px solid var(--blue);outline-offset:3px}#app{justify-content:center;min-height:100dvh;display:flex}.screen{width:100%;max-width:480px;min-height:100dvh;padding:max(14px, env(safe-area-inset-top)) 20px max(18px, env(safe-area-inset-bottom));flex-direction:column;gap:16px;animation:.22s ease-out screen-in;display:flex}@keyframes screen-in{0%{opacity:0;transform:translateY(6px)}}.grow{flex:auto}.bottom{flex-direction:column;gap:10px;margin-top:auto;display:flex}.note{text-align:center;color:var(--ink-2);min-height:21px;font-size:14px}.btn{width:100%;min-height:58px;font:700 18px/1.2 var(--font);color:var(--ink);cursor:pointer;border:0;border-radius:18px;justify-content:center;align-items:center;gap:8px;padding:0 18px;text-decoration:none;transition:transform 60ms,box-shadow 60ms;display:flex}.btn.pri{background:var(--yellow);box-shadow:0 5px 0 var(--yellow-d), 0 14px 22px -10px #e0a700b3}.btn.sec{background:var(--card);box-shadow:0 4px 0 var(--line), inset 0 0 0 1.5px var(--line)}.btn.small{border-radius:14px;min-height:48px;padding:0 12px;font-size:15px}.btn:active:not(:disabled){box-shadow:0 1px 0 var(--yellow-d);transform:translateY(4px)}.btn.sec:active:not(:disabled){box-shadow:0 0 0 var(--line), inset 0 0 0 1.5px var(--line)}.btn:disabled{background:var(--bg-2);color:var(--ink-3);box-shadow:none;cursor:default}.btn svg{flex:none}.link{color:var(--ink);text-decoration:underline;-webkit-text-decoration-color:var(--yellow-d);text-decoration-color:var(--yellow-d);text-underline-offset:4px;cursor:pointer;background:0 0;border:0;align-self:center;padding:10px 12px;font-size:15px;font-weight:500;text-decoration-thickness:2px}.backlink{min-height:44px;color:var(--ink-2);cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;margin-left:-8px;padding:0 8px;font-size:15px;font-weight:700;display:inline-flex}.icon-btn{width:44px;height:44px;color:var(--ink-2);cursor:pointer;background:0 0;border:0;border-radius:14px;place-items:center;display:grid}.icon-btn[aria-pressed=false]{color:var(--ink-3)}.topbar{justify-content:space-between;align-items:center;gap:8px;min-height:44px;display:flex}.seg{background:var(--bg-2);border-radius:14px;gap:4px;padding:4px;display:flex}.seg button{min-height:36px;color:var(--ink-2);white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:10px;flex:1;padding:0 14px;font-size:14px;font-weight:700}.seg button[aria-pressed=true]{background:var(--card);color:var(--ink);box-shadow:0 1px 3px #17202e24}.seg.wide button{min-height:50px;font-size:16px}.die{--s:60px;width:var(--s);height:var(--s);border-radius:calc(var(--s) * .24);background:linear-gradient(180deg, #fff 0%, var(--die) 70%);color:var(--ink);font:700 calc(var(--s) * .52) / 1 var(--num);font-variant-numeric:tabular-nums;box-shadow:0 calc(var(--s) * .085) 0 var(--die-d), 0 calc(var(--s) * .2) calc(var(--s) * .24) calc(var(--s) * -.08) #46320a73;border:0;flex:none;place-items:center;padding:0;display:grid}.die.red{background:linear-gradient(180deg, #f06468 0%, var(--red) 70%);color:#fff;box-shadow:0 calc(var(--s) * .085) 0 var(--red-d), 0 calc(var(--s) * .2) calc(var(--s) * .24) calc(var(--s) * -.08) #78141980}.die.sm{--s:40px}.die.xs{--s:30px}.plate{gap:3px;display:inline-flex}.plate .die:first-child{border-radius:calc(var(--s) * .24) calc(var(--s) * .08) calc(var(--s) * .08) calc(var(--s) * .24)}.plate .die:last-child{border-radius:calc(var(--s) * .08) calc(var(--s) * .24) calc(var(--s) * .24) calc(var(--s) * .08)}.arrow{font:700 22px/1 var(--num);color:var(--ink-3);padding:0 2px}.dice-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.expr-line{font:600 21px/1.4 var(--num);font-variant-numeric:tabular-nums;letter-spacing:.01em;word-spacing:.06em}.expr-line b{font-weight:800}.home .hero{flex-direction:column;flex:auto;justify-content:center;gap:20px;padding:8px 0;display:flex}.hero-dice .die,.hero-dice .plate{animation:.5s cubic-bezier(.2,1.3,.4,1) both drop;animation-delay:calc(var(--i) * 70ms + 80ms)}.hero-dice .die{transform:rotate(var(--tilt,0deg))}@keyframes drop{0%{opacity:0;transform:translateY(-26px) rotate(calc(var(--tilt,0deg) * -4))}}.title{font:400 clamp(46px, 14.5vw, 62px) / 1.04 var(--display);letter-spacing:-.01em}.tagline{color:var(--ink-2);font-size:17px;line-height:1.6}.tagline b{color:var(--ink);background:linear-gradient(transparent 58%, var(--yellow) 58%)}.hero-expr{background:var(--card);box-shadow:inset 0 0 0 1.5px var(--line);color:var(--ink-2);border-radius:12px;align-self:flex-start;padding:8px 14px;font-size:17px;animation:.5s ease-out .75s both drop}.hero-expr b{color:var(--red)}.stack{flex-direction:column;gap:12px;display:flex}.foot{text-align:center;color:var(--ink-3);font-size:13px}.h1{font:400 34px/1.15 var(--display)}.h2{color:var(--ink-2);font-size:14px;font-weight:700}.field{border:0;flex-direction:column;gap:8px;min-width:0;margin:0;padding:0;display:flex}.field>span,.field>legend{padding:0;font-size:15px;font-weight:700}.input{background:var(--card);width:100%;min-height:56px;box-shadow:inset 0 0 0 2px var(--line);border:0;border-radius:16px;padding:0 16px;font-size:18px;font-weight:500}.input:focus{box-shadow:inset 0 0 0 2.5px var(--ink);outline:none}.input.code{font:700 28px/1 var(--num);letter-spacing:.3em;text-transform:uppercase;text-align:center;padding-left:.3em}.input.code::placeholder{font:500 17px/1 var(--font);letter-spacing:0}.error{min-height:21px;color:var(--red-d);font-size:14px;font-weight:700}.steps{flex-direction:column;gap:20px;display:flex}.step{grid-template-columns:36px 1fr;align-items:start;gap:4px 12px;display:grid}.step>i{background:var(--ink);color:#fff;width:36px;height:36px;font:700 17px/1 var(--num);border-radius:50%;place-items:center;font-style:normal;display:grid}.step>div{flex-direction:column;gap:10px;padding-top:5px;display:flex}.step p{font-size:16px;line-height:1.55}.step .expr-line{white-space:nowrap;font-size:18px}.step small,.panel small{color:var(--ink-2);font-size:14px}.panel{background:var(--card);box-shadow:inset 0 0 0 1.5px var(--line);border-radius:16px;flex-direction:column;gap:6px;padding:14px 16px;display:flex}.chipline{color:var(--ink-2);background:var(--bg-2);border-radius:999px;padding:6px 12px;font-size:13px;font-weight:700}.codecard{background:var(--yellow);box-shadow:0 6px 0 var(--yellow-d), 0 18px 28px -14px #e0a700bf;border-radius:24px;flex-direction:column;gap:10px;padding:16px 16px 18px;display:flex}.codecard-top{color:#17202eb8;justify-content:space-between;font-size:14px;font-weight:700;display:flex}.code{font:800 clamp(44px, 14vw, 56px) / 1 var(--num);letter-spacing:.14em;-webkit-user-select:all;user-select:all}.codecard-actions{grid-template-columns:1.5fr 1fr;gap:10px;display:grid}.codecard .btn.sec{box-shadow:0 4px 0 var(--yellow-d)}.codecard .btn.sec:active{box-shadow:0 0 0 var(--yellow-d)}.seats{grid-template-columns:1fr 1fr;gap:8px;display:grid}.seat{background:var(--card);min-width:0;min-height:56px;box-shadow:inset 0 0 0 1.5px var(--line);border-radius:16px;align-items:center;gap:10px;padding:8px 10px;display:flex}.seat.me{box-shadow:inset 0 0 0 2.5px var(--ink)}.seat.off{opacity:.5}.seat.empty{box-shadow:none;color:var(--ink-3);background:0 0;border:1.5px dashed #d9cdb2;justify-content:center;font-size:14px}.seat-name{flex-direction:column;min-width:0;line-height:1.25;display:flex}.seat-name b{text-overflow:ellipsis;white-space:nowrap;font-size:16px;overflow:hidden}.seat-name small{color:var(--ink-2);font-size:12px}.avatar{color:#fff;width:36px;height:36px;font:700 16px/1 var(--font);border-radius:50%;flex:none;place-items:center;display:grid}.avatar.lg{width:52px;height:52px;font-size:22px}.avatar.xs{width:24px;height:24px;font-size:12px}.rule-line{color:var(--ink-2);text-align:center;font-size:14px;line-height:1.55}.rule-line button{text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:0;font-weight:700;text-decoration:underline}.toast{left:50%;bottom:calc(110px + env(safe-area-inset-bottom));background:var(--ink);color:#fff;white-space:nowrap;z-index:20;pointer-events:none;border-radius:999px;padding:10px 18px;font-size:15px;font-weight:700;animation:1.8s both toast;position:fixed;transform:translate(-50%)}@keyframes toast{0%{opacity:0;transform:translate(-50%,8px)}12%,80%{opacity:1;transform:translate(-50%)}to{opacity:0}}.banner{top:max(8px, env(safe-area-inset-top));background:var(--ink);color:#fff;z-index:30;border-radius:12px;max-width:calc(100vw - 24px);padding:8px 14px;font-size:14px;font-weight:700;position:fixed;left:50%;transform:translate(-50%)}.play,.solo{gap:10px;height:100dvh;padding-left:16px;padding-right:16px;overflow:hidden}.hud-top{align-items:center;gap:6px;min-height:40px;display:flex}.hud-top .round{font-size:15px;font-weight:700}.hud-top .clock{font:700 24px/1 var(--num);font-variant-numeric:tabular-nums;margin-left:auto}.hud-top .icon-btn{width:40px;height:40px}.timebar{background:var(--bg-2);border-radius:999px;height:8px;overflow:hidden}.timebar i{background:var(--ink);transform-origin:0;border-radius:999px;width:100%;height:100%;display:block}.play[data-hurry] .timebar i{background:var(--red)}.play[data-hurry] .clock{color:var(--red-d)}.chips{flex-wrap:wrap;gap:6px;min-height:34px;display:flex}.chip{background:var(--card);max-width:100%;box-shadow:inset 0 0 0 1.5px var(--line);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:4px 11px 4px 4px;font-size:13px;font-weight:700;display:flex}.chip.me{box-shadow:inset 0 0 0 2px var(--ink)}.chip.off{opacity:.45}.chip .score{font:700 14px/1 var(--num)}.chip[data-typing] .avatar{animation:.9s ease-in-out infinite typing}@keyframes typing{50%{box-shadow:0 0 0 4px var(--yellow)}}.stats{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.stat{background:var(--card);box-shadow:inset 0 0 0 1.5px var(--line);text-align:center;color:var(--ink-2);border-radius:14px;padding:8px 6px;font-size:12px}.stat b{font:700 22px/1.2 var(--num);color:var(--ink);font-variant-numeric:tabular-nums;display:block}.board{flex-direction:column;flex:auto;gap:10px;min-height:0;display:flex;position:relative}.fade{transition:opacity .3s .25s}.board[data-stage=shake] .fade,.board[data-stage=land] .fade{opacity:0;pointer-events:none;transition:none}.target{border-radius:20px;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px 10px 16px;display:flex}.target-text{flex-direction:column;gap:2px;display:flex}.target-text b{font-size:18px}.target-text small{color:var(--ink-2);font-size:13px}.target .plate{gap:4px;padding-bottom:22px}.mover{will-change:transform;transition:transform .5s cubic-bezier(.2,.9,.25,1.08);position:relative}.board[data-stage=shake] .mover,.board[data-stage=land] .mover{transform:translate(var(--dx,0px), var(--dy,0px)) rotate(var(--rot,0deg)) scale(var(--sc,1));z-index:3}.board[data-stage=shake] .mover{transition:none}.board[data-stage=land] .mover{transition:transform .12s ease-out}.tdie{--s:clamp(54px, 15.5vw, 64px)}.tdie .tag{text-align:center;font:700 12px/1 var(--font);color:var(--red-d);position:absolute;top:calc(100% + 9px);left:0;right:0}.face{place-items:center;width:100%;height:100%;display:grid}.board[data-stage=shake] .face{animation:.42s linear infinite tumble;animation-delay:calc(var(--i) * -.07s);filter:blur(.6px)}.board[data-stage=shake][data-beat="2"] .face{animation-duration:.3s}.board[data-stage=shake][data-beat="1"] .face{animation-duration:.2s}@keyframes tumble{0%{transform:translate(0)rotate(0)}25%{transform:translate(9%,-11%)rotate(14deg)}50%{transform:translate(-8%,7%)rotate(-11deg)}75%{transform:translate(6%,10%)rotate(8deg)}to{transform:translate(0)rotate(0)}}.board[data-stage=land] .face{animation:.32s cubic-bezier(.2,1.4,.4,1) thud}@keyframes thud{0%{transform:scale(1.22)}55%{transform:scale(.94)}to{transform:scale(1)}}.shaker{--S:min(300px, 76vw, 40vh);width:var(--S);height:var(--S);margin:calc(var(--S) / -2) 0 0 calc(var(--S) / -2);background:radial-gradient(circle at 50% 34%, #33487190 0%, transparent 60%), radial-gradient(circle at 50% 50%, var(--felt) 0%, var(--felt-d) 100%);box-shadow:inset 0 calc(var(--S) * .03) calc(var(--S) * .07) #0000008c, 0 0 0 calc(var(--S) * .052) var(--die), 0 calc(var(--S) * .022) 0 calc(var(--S) * .052) var(--die-d), 0 calc(var(--S) * .14) calc(var(--S) * .16) calc(var(--S) * -.02) #46320a66;opacity:0;pointer-events:none;z-index:2;border-radius:50%;transition:opacity .3s,transform .35s;position:absolute;top:44%;left:50%;transform:scale(.86)}.board[data-stage=shake] .shaker,.board[data-stage=land] .shaker{opacity:1;transition:none;transform:none}.board[data-stage=shake] .shaker{animation:.5s ease-in-out infinite shake}.board[data-stage=shake][data-beat="2"] .shaker{animation-duration:.36s}.board[data-stage=shake][data-beat="1"] .shaker{animation-duration:.24s}@keyframes shake{0%,to{transform:translate(0)rotate(0)}20%{transform:translate(-3.2%,1.6%)rotate(-5deg)}45%{transform:translate(3.4%,-2%)rotate(5deg)}70%{transform:translate(-2%,-1.4%)rotate(-3deg)}85%{transform:translate(2%,1.8%)rotate(3deg)}}.board[data-stage=land] .shaker{animation:.34s cubic-bezier(.2,1.5,.4,1) slam}@keyframes slam{0%{transform:scale(1.09)translateY(-3%)}50%{transform:scale(.975)translateY(1.2%)}to{transform:none}}.zil{width:calc(var(--S) * .14);height:calc(var(--S) * .036);margin:calc(var(--S) * -.018) 0 0 calc(var(--S) * -.07);background:linear-gradient(180deg, #ffe58a 0 40%, #a87b00 40% 56%, var(--yellow) 56% 100%);box-shadow:0 0 0 calc(var(--S) * .008) #5a461429, 0 1px 1px #78550080;transform:rotate(var(--a)) translateY(calc(var(--S) * -.526)) rotate(0deg);border-radius:999px;position:absolute;top:50%;left:50%}.board[data-stage=shake] .zil{animation:.16s ease-in-out infinite alternate jingle}@keyframes jingle{0%{transform:rotate(var(--a)) translateY(calc(var(--S) * -.526)) rotate(-9deg)}to{transform:rotate(var(--a)) translateY(calc(var(--S) * -.526)) rotate(9deg)}}.shaker:after{content:"";z-index:4;background:radial-gradient(62% 38% at 50% 20%,#fff3,#fff0 70%);border-radius:50%;position:absolute;inset:0}.rollinfo{opacity:0;pointer-events:none;flex-direction:column;align-items:center;gap:12px;font-size:17px;font-weight:700;display:flex;position:absolute;top:calc(44% + min(150px,38vw,20vh) + 34px);left:0;right:0}.board[data-stage=shake] .rollinfo{opacity:1}.pips{gap:10px;display:flex}.pips i{background:var(--bg-2);width:14px;height:14px;box-shadow:inset 0 0 0 2px var(--line);border-radius:50%;transition:all .15s}.board[data-beat="3"] .pips i:nth-child(-n+3),.board[data-beat="2"] .pips i:nth-child(-n+2),.board[data-beat="1"] .pips i:nth-child(-n+1){background:var(--yellow);box-shadow:inset 0 0 0 2px var(--yellow-d);transform:scale(1.15)}.exprcard{background:var(--card);min-height:104px;max-height:190px;box-shadow:inset 0 0 0 2px var(--line), 0 10px 20px -16px #46320a80;border-radius:20px;flex-direction:column;flex:auto;justify-content:space-between;gap:6px;padding:12px 14px 10px;transition:box-shadow .2s;display:flex;position:relative}.board[data-solved] .exprcard{box-shadow:inset 0 0 0 3px var(--green), 0 0 0 6px var(--green-soft)}.toks{min-height:38px;font:600 clamp(20px, 6.2vw, 24px) / 1 var(--num);flex-wrap:wrap;align-items:center;gap:5px 6px;display:flex}.toks .die{--s:clamp(30px, 9.2vw, 36px);box-shadow:0 3px 0 var(--die-d)}.toks .die.new{animation:.14s ease-out pop}.toks .par{color:var(--ink-2);margin:0 -1px;font-size:28px;font-weight:500}.toks .ghost{color:var(--line)}.toks .empty{font:500 15px/1.4 var(--font);color:var(--ink-3)}.toks[data-long]{gap:4px;font-size:20px}.toks[data-long] .die{--s:30px}.toks[data-long] .par{font-size:24px}@keyframes pop{0%{transform:scale(.6)}}.exprfoot{justify-content:space-between;align-items:flex-end;display:flex}.clear{min-width:48px;min-height:40px;color:var(--ink-2);cursor:pointer;background:0 0;border:0;border-radius:12px;margin:0 0 -6px -8px;padding:0 8px;font-size:13px;font-weight:700}.clear:disabled{opacity:0}.value{font:800 34px/1 var(--num);font-variant-numeric:tabular-nums;color:var(--ink);align-items:baseline;gap:8px;margin-left:auto;display:flex}.value[data-state=none]{color:var(--line)}.value[data-state=near]{color:var(--yellow-d)}.value[data-state=hit]{color:var(--green);animation:.4s cubic-bezier(.2,1.6,.4,1) hit}@keyframes hit{0%{transform:scale(1.5)}}.hint{min-height:21px;color:var(--ink-2);text-align:center;font-size:14px;font-weight:700}.board[data-solved] .hint{color:var(--green);font-size:16px}.keys{flex-direction:column;gap:9px;margin-top:auto;padding-bottom:4px;display:flex}.keyrow{gap:8px;display:flex}.keyrow.dice{justify-content:space-between;gap:7px}.key{cursor:pointer;min-width:0;height:54px;font:600 27px/1 var(--num);color:var(--ink);border:0;border-radius:15px;flex:1;place-items:center;transition:transform 50ms,box-shadow 50ms,opacity .15s;display:grid}.key.op{background:var(--yellow);box-shadow:0 4px 0 var(--yellow-d)}.key.aux{background:var(--bg-2);font-weight:500;box-shadow:0 4px #dccfb4}.key:active:not(:disabled),.key[data-down]{transform:translateY(3px);box-shadow:0 1px #0000002e}.key:disabled{opacity:.38;cursor:default}.key.dkey{--s:clamp(52px, 16.6vw, 72px);width:var(--s);height:var(--s);border-radius:calc(var(--s) * .26);font-size:calc(var(--s) * .52);opacity:1;box-shadow:0 5px 0 var(--die-d), 0 12px 14px -8px #46320a73;flex:none}.key.dkey:active:not(:disabled){box-shadow:0 2px 0 var(--die-d)}.key.dkey[data-used]{color:var(--ink-3);box-shadow:inset 0 0 0 2px var(--line);opacity:.55;background:0 0;transform:translateY(4px)}.key.dkey:disabled{opacity:1}.key.dkey[data-used]:disabled{opacity:.55}.keyrow[data-nudge] .key:not([data-used]){animation:.32s nudge}@keyframes nudge{30%{transform:translateY(-5px)}65%{transform:translateY(2px)}}.kb{text-align:center;color:var(--ink-3);font-size:12px;display:none}@media (hover:hover) and (pointer:fine){.kb{display:block}}.skip{cursor:pointer;border:0;min-height:36px}.skip:disabled{opacity:.45}.result{gap:14px}.res-banner{background:var(--card);box-shadow:inset 0 0 0 1.5px var(--line);border-radius:22px;align-items:center;gap:12px;padding:16px;animation:.4s cubic-bezier(.2,1.4,.4,1) banner;display:flex}@keyframes banner{0%{opacity:0;transform:scale(.9)}}.res-banner.win{background:var(--yellow);box-shadow:0 6px 0 var(--yellow-d), 0 18px 28px -14px #e0a700bf}.res-banner.none{background:var(--bg-2);box-shadow:none}.res-banner .who{display:flex}.res-banner .who .avatar+.avatar{margin-left:-14px}.res-banner .txt{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.res-banner .txt b{font:400 24px/1.2 var(--display)}.res-banner .txt small{color:#17202eb8;font-size:14px}.res-banner .plus{font:800 30px/1 var(--num)}.res-box{flex-direction:column;gap:8px;display:flex}.res-expr{background:var(--card);box-shadow:inset 0 0 0 1.5px var(--line);border-radius:16px;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 12px;padding:12px 14px;display:flex}.res-expr.best{background:var(--ink);color:#fff;box-shadow:none}.res-expr small{color:var(--ink-2);font-size:13px}.scores{flex-direction:column;gap:6px;display:flex}.scores li{background:var(--card);min-height:46px;box-shadow:inset 0 0 0 1.5px var(--line);border-radius:14px;align-items:center;gap:10px;padding:5px 14px 5px 12px;font-weight:700;display:flex}.scores li.me{box-shadow:inset 0 0 0 2.5px var(--ink)}.scores li.off{opacity:.5}.scores .rk{width:14px;font:600 14px/1 var(--num);color:var(--ink-2)}.scores .nm{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.scores .nm small{color:var(--ink-2);font-size:12px;font-weight:500}.scores .up{font:700 14px/1 var(--num);color:var(--green);animation:.5s cubic-bezier(.2,1.6,.4,1) .3s both hit}.scores .pt{font:700 20px/1 var(--num);font-variant-numeric:tabular-nums}.count{background:var(--ink);min-width:26px;height:26px;color:var(--yellow);font:700 14px/1 var(--num);border-radius:999px;place-items:center;padding:0 7px;display:inline-grid}.final .sub{color:var(--ink-2);font-size:14px;font-weight:700}.podium{grid-auto-columns:1fr;grid-auto-flow:column;align-items:end;gap:8px;padding-top:6px;display:grid}.podium>div{flex-direction:column;align-items:center;gap:6px;min-width:0;display:flex}.podium .nm{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:15px;font-weight:700;overflow:hidden}.podium .nm small{color:var(--ink-2);font-size:12px;font-weight:500}.podium .bar{width:100%;height:var(--h);background:var(--bg-2);font:700 30px/1 var(--num);transform-origin:bottom;border-radius:16px 16px 0 0;flex-direction:column;align-items:center;gap:2px;padding-top:12px;animation:.6s cubic-bezier(.2,1,.3,1) both rise;display:flex}.podium .bar small{font:700 13px/1 var(--font);color:var(--ink-2)}.podium .first .bar{background:var(--yellow);box-shadow:inset 0 -6px 0 var(--yellow-d)}@keyframes rise{0%{opacity:0;transform:scaleY(.1)}}.facts{flex-direction:column;gap:6px;display:flex}.facts li{background:var(--card);box-shadow:inset 0 0 0 1.5px var(--line);border-radius:14px;justify-content:space-between;gap:12px;padding:12px 14px;font-size:14px;display:flex}.facts b{text-align:right}.center{text-align:center;flex-direction:column;flex:auto;justify-content:center;align-items:center;gap:14px;display:flex}.center p{color:var(--ink-2)}.big{font:800 72px/1 var(--num)}@media (height<=640px){.play,.solo,.board,.keys{gap:7px}.key{height:48px}.key.dkey{--s:clamp(50px, 14.5vw, 56px)}.exprcard{min-height:92px}.target .plate{padding-bottom:18px}.tdie{--s:52px}.target-text small{display:none}}@media (width>=520px){body{background:linear-gradient(180deg, #f6eeda, var(--bg-2))}.screen{background:var(--bg);box-shadow:0 0 0 1.5px var(--line)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
