:root{--navy:#1d3356;--navy-deep:#142640;--blue:#254d84;--gold:#f4d985;--gold-deep:#b48131;--gold-text:#7f5512;--paper:#fffefa;--ink:#283a57;--muted:#5f6b80;--mint:#dfe9f7;--line:#d6deeb;--bg:#f1f4fa;--brick:#c0563b;--brick-text:#a3402a;--slate:#6f7a8e;--live:#e2574c;--focus:#d6803d;--display:"Jua", "Noto Sans KR", sans-serif;--body:"Noto Sans KR", system-ui, -apple-system, sans-serif;--r-s:8px;--r-m:12px;--r-l:18px;--shadow-lift:0 14px 28px -18px #1426408c;--ease-out:cubic-bezier(.2, .8, .2, 1);--ease-pop:cubic-bezier(.34, 1.56, .64, 1);--ease-roll:cubic-bezier(.15, .75, .25, 1)}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{min-height:100dvh;color:var(--ink);font:400 14px/1.5 var(--body);background:radial-gradient(1100px 420px at 50% -180px, #d7e3f5 0%, transparent 70%), var(--bg);word-break:keep-all;overflow-wrap:break-word;-webkit-font-smoothing:antialiased;margin:0}h1,h2,p{margin:0}ol{margin:0;padding:0;list-style:none}button{font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}button:disabled{cursor:default}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.app{gap:14px;width:100%;max-width:900px;margin:0 auto;padding:16px 16px 32px;display:grid}.race{gap:12px;min-width:0;display:grid}.race canvas{outline-offset:-3px;outline:3px solid #304d79}.race-notice{text-align:center;color:var(--muted);background:var(--paper);border:1px dashed var(--line);border-radius:var(--r-l);justify-items:center;gap:12px;padding:56px 16px;display:grid}.btn-go{background:var(--gold);min-width:148px;min-height:56px;color:var(--navy);font:400 24px/1 var(--display);letter-spacing:1px;box-shadow:0 5px 0 var(--gold-deep), 0 16px 26px -14px #0009;transition:transform .12s var(--ease-out), background-color .15s;border:0;border-radius:14px;flex:none;padding:0 28px;position:relative}.btn-go:hover{background:#f8e4a4}.btn-go:active{box-shadow:0 1px 0 var(--gold-deep), 0 8px 16px -12px #0009;transform:translateY(4px)}.btn-go:focus-visible{outline-offset:4px;outline-color:#fff}.btn-quiet{border:1px solid var(--blue);min-height:40px;color:var(--blue);background:0 0;border-radius:999px;padding:0 18px;font-weight:700;transition:background-color .15s,color .15s}.btn-quiet:hover{background:var(--blue);color:#fff}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:1ms!important;transition-delay:0s!important;animation-duration:1ms!important;animation-iteration-count:1!important;animation-delay:0s!important}}@media (width<=479px){.app{gap:8px;padding:10px 10px 24px}.race{gap:8px}}.scoreboard{border-radius:var(--r-m);color:#fff;background:linear-gradient(180deg, #24426e 0%, var(--navy) 100%);box-shadow:0 5px 0 var(--navy-deep), var(--shadow-lift);grid-template-columns:auto auto auto minmax(0,1fr) auto;grid-template-areas:"brand status round meta controls";align-items:center;column-gap:16px;padding:10px 12px 10px 16px;display:grid}.sb-brand{font:400 19px/1 var(--display);color:#fff;letter-spacing:.5px;white-space:nowrap;border-right:1px solid #ffffff2e;grid-area:brand;padding-right:16px}.sb-status{color:#ffffffd9;white-space:nowrap;grid-area:status;align-items:center;gap:7px;font-size:12px;display:flex}.sb-dot{background:#fff6;border-radius:50%;width:8px;height:8px;position:relative}.sb-dot.is-live{background:var(--gold)}.sb-dot.is-live:after{content:"";background:var(--gold);border-radius:50%;animation:1.6s ease-out infinite sb-pulse;position:absolute;inset:0}@keyframes sb-pulse{0%{opacity:.7;transform:scale(1)}to{opacity:0;transform:scale(2.8)}}.sb-round{font:400 23px/1 var(--display);color:var(--gold);letter-spacing:1.5px;font-variant-numeric:tabular-nums;white-space:nowrap;grid-area:round}.sb-meta{color:#ffffffd9;font-variant-numeric:tabular-nums;white-space:nowrap;text-overflow:ellipsis;grid-area:meta;min-width:0;font-size:12px;overflow:hidden}.sb-controls{grid-area:controls;justify-self:end;gap:6px;display:flex}.sb-btn{color:#fff;white-space:nowrap;min-height:34px;transition:background-color .15s, border-color .15s, color .15s, transform .12s var(--ease-out);background:0 0;border:1px solid #ffffff4d;border-radius:999px;align-items:center;gap:5px;padding:0 13px;font-size:12px;font-weight:700;display:inline-flex}.sb-btn:hover:not(:disabled){background:#ffffff1f;border-color:#fff9}.sb-btn:active:not(:disabled){transform:translateY(1px)scale(.97)}.sb-btn[aria-pressed=true]{background:var(--gold);border-color:var(--gold);color:var(--navy)}.sb-btn[aria-pressed=true]:hover:not(:disabled){background:#f8e4a4;border-color:#f8e4a4}.sb-btn:disabled{opacity:.4}.sb-btn:focus-visible{outline-color:var(--gold)}.sprite{--h:calc(var(--w) * 208 / 192);width:var(--w);height:var(--h);flex:none;display:block;position:relative;overflow:hidden}.sprite-sheet{width:calc(var(--w) * 8);height:calc(var(--h) * 7);image-rendering:pixelated;transform:translate(0, calc(var(--h) * var(--row) * -1));background-repeat:no-repeat;background-size:100% 100%;position:absolute;top:0;left:0}.sprite.is-live .sprite-sheet{animation:sprite-frames var(--ms) steps(var(--frames)) infinite}@keyframes sprite-frames{to{transform:translate(calc(var(--w) * var(--frames) * -1), calc(var(--h) * var(--row) * -1))}}.stage{isolation:isolate;border-radius:var(--r-l);color:#fff;background:linear-gradient(100deg, var(--navy) 0%, var(--blue) 64%, #2e5e9a 100%);min-height:136px;box-shadow:inset 0 1px 0 #ffffff24, 0 6px 0 var(--navy-deep), var(--shadow-lift);align-items:center;padding:14px 22px;display:grid;position:relative;overflow:hidden}.stage:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(300px 170px at 10% -10%,#f4d9853d,#0000 70%),repeating-linear-gradient(90deg,#ffffff09 0 2px,#0000 2px 16px);position:absolute;inset:0}.stage-live{grid-template-columns:minmax(0,1fr) auto auto minmax(0,1fr);grid-template-areas:"actor cards dice outcome";align-items:center;gap:22px;display:grid}.stage-live.no-dice{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);grid-template-areas:"actor cards outcome"}.stage-live.is-paused,.stage-live.is-paused *,.stage-live.is-paused :before,.stage-live.is-paused :after{animation-play-state:paused!important}.stage-actor{grid-area:actor;align-items:center;gap:14px;min-width:0;display:flex}.stage-spot{isolation:isolate;flex:none;place-items:end center;width:96px;height:100px;display:grid;position:relative}.stage-spot:after{content:"";z-index:-1;background:radial-gradient(closest-side,#08122299,#0000);border-radius:50%;height:14px;position:absolute;bottom:0;left:12px;right:12px}.stage-spot .sprite{--w:84px}.sprite-fallback{color:#fff;width:62px;height:62px;font:400 28px/1 var(--display);background:#7d93b5;border-radius:50%;place-items:center;margin-bottom:10px;display:grid}.stage-who{gap:2px;min-width:0;display:grid}.stage-no{letter-spacing:2px;color:var(--gold);font-size:11px;font-weight:700}.stage-name,.stage-skill{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.stage-name{font:400 27px/1.1 var(--display)}.stage-skill{color:#ffffffbf;font-size:12px}.stage-cards{grid-area:cards;display:flex}.card{--top:#fff7d6;--bottom:var(--gold);--edge:var(--gold-deep);--card-ink:#5c4214;--shade:#b481318c;text-align:center;background:linear-gradient(160deg, var(--top), var(--bottom));border:2px solid var(--edge);width:80px;height:108px;color:var(--card-ink);box-shadow:0 4px 0 var(--shade), 0 14px 22px -12px #0009;transform-origin:50% 60%;animation:card-flip var(--flip,.35s) var(--ease-out) calc(var(--flip,.35s) * var(--i,0)) both;border-radius:11px;grid-template-rows:1fr auto auto;place-items:center;padding:8px 6px;display:grid;position:relative;overflow:hidden}.card+.card{margin-left:-34px}.card.tone-bad{--top:#fff1ec;--bottom:#f1b29f;--edge:#b5573c;--card-ink:#6b2414;--shade:#b5573c80}.card.tone-special{--top:#3466a6;--bottom:var(--navy);--edge:var(--gold);--card-ink:var(--gold);--shade:#142640cc}.card.tone-rest{--top:#eef2f8;--bottom:#c6d2e3;--edge:#8796ad;--card-ink:#34445e;--shade:#3c4d6873}.card.tone-special:after{content:"";pointer-events:none;animation:card-sheen 1.2s var(--ease-out) .35s both;background:linear-gradient(110deg,#0000 35%,#fff6 50%,#0000 65%);position:absolute;inset:0;transform:translate(-130%)}.card-pip{opacity:.8;font-size:10px;line-height:1;position:absolute;top:4px;left:6px}.card-icon{font-size:30px;line-height:1}.card-name{font:400 16px/1.15 var(--display)}.card-desc{opacity:.9;font-size:10px;font-weight:500;line-height:1.25}@keyframes card-flip{0%{opacity:0;transform:perspective(520px)rotateY(-100deg)scale(.9)}55%{opacity:1}to{opacity:1;transform:perspective(520px)rotateY(0)scale(1)}}@keyframes card-sheen{to{transform:translate(130%)}}.stage-play{display:contents}.stage-dice{grid-area:dice;align-items:center;gap:16px;display:flex}.stage-outcome{grid-area:outcome;justify-items:start;gap:4px;min-width:0;display:grid}.stage-call{font:400 27px/1.15 var(--display);color:var(--gold);text-shadow:0 3px #08122280;animation:call-pop .46s var(--ease-pop) both}.stage-result{font:400 25px/1.2 var(--display);color:#fff;overflow-wrap:anywhere;animation:rise-in .28s var(--ease-out) both}.stage-result span{color:var(--gold)}.stage-effect{color:#fffc;overflow-wrap:anywhere;font-size:12px;line-height:1.35}.stage-call~.stage-result{color:#ffffffeb;font-size:18px}@keyframes call-pop{0%{opacity:0;transform:scale(.55)}}@keyframes rise-in{0%{opacity:0;transform:translateY(8px)}}.stage-finish{font:400 25px/1.2 var(--display);color:var(--gold);text-align:center}.stage-ready{justify-content:space-between;align-items:center;gap:24px;display:flex}.stage-kicker{letter-spacing:2px;color:var(--gold);font-size:11px;font-weight:700}.stage-headline{font:400 29px/1.2 var(--display);margin-top:2px}.stage-note{color:#ffffffc7;margin-top:4px;font-size:13px}.stage-ready .btn-go:after{content:"";border:2px solid var(--gold);pointer-events:none;border-radius:16px;animation:1.8s ease-out infinite go-ring;position:absolute;inset:-2px}@keyframes go-ring{0%{opacity:.8;transform:scale(1)}to{opacity:0;transform:scale(1.18,1.35)}}.stage-countdown{justify-content:center;align-items:center;gap:20px;min-height:104px;display:flex}.countdown-label{font:400 21px/1 var(--display);color:#ffffffd1}.countdown-num{text-align:center;min-width:1ch;font:400 78px/1 var(--display);color:var(--gold);text-shadow:0 6px 0 var(--navy-deep);animation:count-pop .42s var(--ease-out) both}@keyframes count-pop{0%{opacity:0;transform:scale(1.8)}}.chips{grid-template-columns:repeat(8,minmax(0,1fr));gap:6px;display:grid}.chip{border:1px solid var(--line);background:var(--paper);text-align:center;min-width:0;transition:transform .15s var(--ease-out), border-color .12s, background-color .12s, box-shadow .12s;border-radius:10px;justify-items:center;gap:1px;padding:7px 4px 8px;display:grid;box-shadow:0 2px #e1e8f2}.chip[aria-current=true]{border-color:var(--gold-deep);box-shadow:inset 0 0 0 1px var(--gold-deep), 0 5px 0 #ead59f, 0 12px 20px -12px #b48131b3;background:#fff7e0;transform:translateY(-3px)}.chip[data-state=out]{opacity:.6}.chip[data-state=out] .sprite{filter:grayscale()}.chip-sprite{--w:26px;margin-bottom:2px}.chip .sprite-fallback{width:26px;height:26px;margin-bottom:2px;font-size:13px}.chip-who,.chip-skill,.chip-where{white-space:nowrap;text-overflow:ellipsis;max-width:100%;display:block;overflow:hidden}.chip-who{font-size:11px;font-weight:700}.chip-no{font:400 12px/1 var(--display);color:var(--blue)}.chip-skill{color:var(--muted);font-size:10px}.chip-where{font:400 13px/1.25 var(--display);font-variant-numeric:tabular-nums;margin-top:1px}.chip-where [role=img]{margin-left:2px;font-size:11px}.chip[data-state=done] .chip-where{color:var(--gold-text)}.chip[data-state=out] .chip-where{color:var(--brick-text)}.ticker{border:1px solid var(--line);border-radius:var(--r-m);background:var(--paper);grid-template-columns:auto minmax(0,1fr);align-items:start;gap:14px;padding:10px 16px;display:grid}.ticker-title{font:400 14px/1.7 var(--display);color:var(--blue);white-space:nowrap;align-items:center;gap:7px;display:flex}.live-dot{background:var(--live);border-radius:50%;width:7px;height:7px}.ticker-lines{gap:2px;min-width:0;display:grid}.ticker-line,.ticker-empty{color:var(--muted);overflow-wrap:anywhere;font-size:12px;line-height:1.7}.ticker-line+.ticker-line{border-top:1px dashed var(--line);padding-top:2px}.ticker-line:last-child{color:var(--ink);animation:rise-in .26s var(--ease-out) both;font-weight:700}.sheet{background:var(--paper);width:min(420px,100% - 32px);max-height:calc(100dvh - 32px);color:var(--ink);animation:sheet-in .34s var(--ease-pop) both;border:0;border-radius:20px;padding:24px 22px 22px;overflow:auto;box-shadow:0 28px 80px -24px #101e34b3}.sheet::backdrop{background:#101e348c}.sheet[open].result-sheet{text-align:center;justify-items:center;gap:12px;display:grid}.sheet[open].credits-sheet{gap:12px;display:grid}.sheet-title,.result-title{font:400 28px/1.1 var(--display);color:var(--navy)}.result-title small{color:var(--muted);font-size:13px}.podium{justify-content:center;gap:28px;display:flex}.podium-spot{color:var(--blue);justify-items:center;gap:2px;font-size:13px;display:grid}.podium-spot strong{font:400 18px/1.2 var(--display);color:var(--navy)}.podium-sprite{--w:84px}.rank-list,.credits-list{text-align:left;gap:2px;width:100%;margin:0;padding:0;font-size:14px;list-style:none;display:grid}.rank-list li{border-radius:var(--r-s);justify-content:space-between;gap:10px;padding:4px 8px;display:flex}.rank-list li:nth-child(-n+2){background:var(--mint);font-weight:700}.rank-status{color:var(--muted)}.result-record{color:var(--muted);font-size:13px}.credits-notice{color:var(--muted);font-size:13px;line-height:1.6}.credits-list{max-height:46dvh;font-size:13px;line-height:1.7;overflow:auto}.credits-list a{color:var(--blue)}.app-footer{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px 14px;font-size:12px;display:flex}@keyframes fade-in{0%{opacity:0}}@keyframes sheet-in{0%{opacity:0;transform:translateY(18px)scale(.96)}}@media (width<=719px){.scoreboard{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"round controls""status meta";gap:6px 12px;padding:9px 10px 9px 14px}.sb-brand{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.stage-live,.stage-live.no-dice{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"actor cards""play play";gap:10px 16px}.stage-play{flex-wrap:wrap;grid-area:play;align-items:center;gap:8px 14px;min-width:0;display:flex}.stage-play .stage-dice{flex:none}.stage-play .stage-outcome{flex:150px;min-width:0}.stage-cards{justify-self:end}}@media (width<=599px){.chips{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width<=479px){.sb-round{font-size:18px}.sb-btn{min-height:32px;padding:0 10px;font-size:11px}.stage{border-radius:var(--r-m);min-height:0;padding:10px 12px}.stage-live,.stage-live.no-dice{gap:8px 12px}.stage-actor{gap:8px}.stage-spot{width:60px;height:64px}.stage-spot .sprite{--w:56px}.sprite-fallback{width:44px;height:44px;margin-bottom:6px;font-size:20px}.stage-name{font-size:19px}.stage-skill{font-size:11px}.card{border-radius:9px;width:56px;height:76px;padding:5px 4px}.card+.card{margin-left:-26px}.card-icon{font-size:21px}.card-name{font-size:13px}.card-desc{font-size:9px}.stage-dice{gap:8px}.stage-dice .dice{--die:34px;gap:6px}.stage-call{font-size:19px}.stage-result,.stage-finish{font-size:18px}.stage-call~.stage-result{font-size:15px}.stage-effect{font-size:11px}.stage-ready{text-align:center;flex-direction:column;align-items:stretch;gap:12px}.stage-headline{font-size:22px}.stage-note{font-size:12px}.btn-go{min-height:50px;font-size:21px}.stage-countdown{gap:14px;min-height:84px}.countdown-label{font-size:17px}.countdown-num{font-size:60px}.chip{padding:6px 3px 7px}.ticker{grid-template-columns:minmax(0,1fr);gap:2px;padding:8px 12px}.ticker-line,.ticker-empty{font-size:11px}}.dice{--die:52px;align-items:center;gap:12px;display:flex}.die-scene{width:var(--die);height:var(--die);flex:none}.die-hop{perspective:340px;width:100%;height:100%}.die{width:100%;height:100%;transform-style:preserve-3d;position:relative}.die-face{border:3px solid var(--ink);border-radius:calc(var(--die) * .21);font:400 calc(var(--die) * .4)/1 var(--display);color:var(--blue);backface-visibility:hidden;background:#fffdf5;place-items:center;display:grid;position:absolute;inset:0;box-shadow:inset -4px -5px #e2e8f2}.die-face.neg{color:var(--brick)}.die-face.zero{color:var(--slate)}.dice-sum{font:400 19px/1 var(--display);color:var(--gold);white-space:nowrap}.dice:not(.is-rolled) .dice-sum{opacity:0}.dice.is-rolled .dice-sum{animation:rise-in .22s var(--ease-out) var(--land) both}.dice.is-rolled.is-still .dice-sum{animation:none}@keyframes die-roll-a{0%{transform:var(--roll-from)}}@keyframes die-roll-b{0%{transform:var(--roll-from)}}@keyframes die-hop-a{0%,60%,to{transform:translateY(0)}30%{transform:translateY(calc(var(--die) * -.62))}78%{transform:translateY(calc(var(--die) * -.16))}}@keyframes die-hop-b{0%,60%,to{transform:translateY(0)}30%{transform:translateY(calc(var(--die) * -.62))}78%{transform:translateY(calc(var(--die) * -.16))}}.app-main{flex-direction:column;min-height:100dvh;display:flex}.notice-card{text-align:center;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-l);justify-items:center;gap:14px;margin:auto;padding:24px;display:grid}.conn-band{text-align:center;color:#fff;background:var(--brick-text);padding:8px 16px;font-weight:700}.error-toast{z-index:10;border-radius:var(--r-m);color:#fff;background:var(--brick-text);width:max-content;max-width:calc(100% - 32px);box-shadow:var(--shadow-lift);padding:10px 16px;font-weight:700;position:fixed;top:12px;left:50%;transform:translate(-50%)}.field{gap:6px;display:grid}.setup-label{color:var(--muted);font-size:13px;font-weight:700}.field-error{color:var(--brick-text);font-size:13px;font-weight:700}.lobby{gap:14px;width:100%;max-width:430px;margin:0 auto;padding:24px 18px;display:grid}.lobby-title{font:400 32px/1.1 var(--display);color:var(--navy)}.lobby-code{color:var(--muted);overflow-wrap:anywhere}.invite{gap:8px;min-width:0;display:grid}.invite-input{width:100%;min-width:0;min-height:44px;font:inherit;color:var(--ink);border:1px solid var(--line);border-radius:var(--r-s);padding:0 12px}.invite-actions{flex-wrap:wrap;gap:8px;display:flex}.invite-note,.wait-hint{color:var(--muted);font-size:13px}.btn{min-height:44px;font:inherit;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:var(--r-s);cursor:pointer;padding:0 16px;font-weight:700}.btn.mint{background:var(--mint)}.lobby-people{gap:6px;padding:0;list-style:none;display:grid}.lobby-people li{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-s);flex-wrap:wrap;align-items:center;gap:6px;padding:10px 12px;display:flex}.lobby-name{overflow-wrap:anywhere;font-weight:700}.tag{background:var(--mint);border-radius:var(--r-s);padding:2px 8px;font-size:12px;font-weight:700}.tag.off{color:#fff;background:var(--brick-text)}.lobby-settings{gap:10px;display:grid}.seg{flex-wrap:wrap;gap:6px;display:flex}.seg button{min-height:44px;font:inherit;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:var(--r-s);cursor:pointer;flex:auto;padding:0 12px;font-weight:700}.seg button.on{color:#fff;background:var(--navy);border-color:var(--navy)}.seg button:disabled{opacity:.5;cursor:default}.lobby-settings-text{font-weight:700}.lobby-actions{gap:10px;display:grid}.btn-go:disabled{opacity:.5;cursor:default}.btn-go:disabled:hover{background:var(--gold)}.app-main .btn-go:focus-visible{outline-color:var(--focus)}.final-dialog,.leave-dialog{width:min(92vw,380px);color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:var(--r-l);gap:12px;padding:20px;display:grid}.final-dialog[open],.leave-dialog[open]{display:grid}.leave-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.final-winner{overflow-wrap:anywhere;font-size:20px;font-weight:700}.final-note,.round-note{color:var(--muted);font-size:14px}.final-rows,.round-ranks{gap:6px;padding-left:0;list-style:none;display:grid}.final-rows li,.round-ranks li{overflow-wrap:anywhere;border-radius:var(--r-s);padding:8px 10px}.final-rows li[aria-current=true],.round-ranks li[aria-current=true]{background:var(--mint);font-weight:700}.game{grid-template-columns:minmax(0,1fr);gap:12px;width:100%;max-width:430px;margin:0 auto;padding:14px 12px 32px;display:grid}.game-head{align-items:center;gap:12px;min-height:44px;display:flex}.game.is-racing{max-width:900px}.game-round{font:400 26px/1 var(--display);color:var(--navy);letter-spacing:1px;font-variant-numeric:tabular-nums}.game-head .btn-quiet{margin-left:auto}.picking{grid-template-columns:minmax(0,1fr);gap:12px;display:grid}.section-title{font:400 20px/1.2 var(--display);color:var(--navy);text-wrap:balance}.bet-note,.pick-hint{color:var(--muted);text-wrap:pretty;font-size:13px}.blind-note{border-radius:var(--r-s);background:var(--mint);color:var(--navy);text-wrap:pretty;padding:10px 12px;font-size:14px;font-weight:700}.pick-status{border-radius:var(--r-m);color:#fff;background:linear-gradient(180deg, #24426e 0%, var(--navy) 100%);box-shadow:0 5px 0 var(--navy-deep), var(--shadow-lift);gap:10px;padding:12px 14px;display:grid}.pick-timer{font:400 24px/1 var(--display);color:var(--gold);letter-spacing:.5px;font-variant-numeric:tabular-nums}.pick-people{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.pick-people li{overflow-wrap:anywhere;background:#ffffff1f;border-radius:999px;align-items:center;gap:6px;max-width:100%;min-height:28px;padding:3px 10px;font-size:13px;font-weight:700;display:inline-flex}.pick-people li:before{content:"";background:#ffffff73;border-radius:50%;flex:none;width:8px;height:8px}.pick-people li[data-state=picked]:before{background:var(--gold)}.pick-people li[data-state=confirmed]{color:var(--navy);background:var(--gold)}.pick-people li[data-state=confirmed]:before{background:var(--navy)}.pick-people li[aria-current=true]{box-shadow:inset 0 0 0 2px #ffffffd9}.runner-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.runner-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-m);grid-template-columns:60px minmax(0,1fr);grid-template-areas:"spot body""foot foot";gap:8px 12px;min-width:0;max-width:100%;padding:12px;transition-property:border-color,background-color,box-shadow;transition-duration:.15s;display:grid;box-shadow:0 2px #e1e8f2}.runner-card:has([aria-pressed=true]){border-color:var(--gold-deep);box-shadow:inset 0 0 0 1px var(--gold-deep), 0 3px 0 #ead59f;background:#fff7e0}.runner-spot{border-radius:var(--r-s);background:var(--mint);grid-area:spot;place-items:end center;height:64px;display:grid;overflow:hidden}.runner-sprite{--w:52px}.runner-unknown{font:400 36px/1 var(--display);color:var(--blue);align-self:center}.runner-body{grid-area:body;align-content:center;gap:3px;min-width:0;display:grid}.runner-name{font:400 18px/1.2 var(--display);color:var(--navy);overflow-wrap:anywhere}.runner-no{color:var(--blue);font-variant-numeric:tabular-nums}.runner-tag{vertical-align:middle;font-family:var(--body);color:var(--navy);background:var(--gold);line-height:1.4;display:inline-block}.runner-skill{color:var(--muted);text-wrap:pretty;overflow-wrap:anywhere;font-size:13px;line-height:1.45}.runner-skill strong{color:var(--ink)}.runner-foot,.top2-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.runner-foot{border-top:1px dashed var(--line);grid-area:foot;padding-top:8px}.runner-info{min-width:0;font:400 17px/1.2 var(--display);color:var(--gold-text);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.btn-card{border:1px solid var(--blue);background:var(--paper);min-width:96px;max-width:100%;min-height:44px;color:var(--blue);transition-property:background-color,border-color,color,transform;transition-duration:.15s;transition-timing-function:var(--ease-out);border-radius:999px;flex:none;margin-left:auto;padding:0 16px;font-weight:700}@media (hover:hover){.btn-card:hover{background:var(--mint)}}.btn-card:active{transform:scale(.96)}.btn-card[aria-pressed=true]{border-color:var(--navy);background:var(--navy);color:#fff}.btn-card[aria-pressed=true]:before{content:"✓ " / ""}.pick-confirm{text-align:center;gap:10px;display:grid}.pick-confirm .btn-go,.bet-panel .btn-go{width:100%}.btn-go.is-done:disabled{opacity:1;color:var(--navy);background:var(--mint);box-shadow:0 5px 0 var(--line)}.bet-amount{z-index:2;background:var(--bg);gap:6px;padding:10px 0 12px;display:grid;position:sticky;top:0;box-shadow:0 12px 12px -14px #14264080}.bet-amount~* :is(button,select){scroll-margin-top:150px}@media (height<=480px){.bet-amount{box-shadow:none;position:static}.bet-amount~* :is(button,select){scroll-margin-top:0}}.bet-amount-head{color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:4px 12px;font-size:13px;font-weight:700;display:flex}.bet-amount-head span:last-child{color:var(--ink);font-variant-numeric:tabular-nums}.bet-amount .seg button{font-variant-numeric:tabular-nums}.bet-error{border-radius:var(--r-s);color:#fff;background:var(--brick-text);padding:8px 12px;font-size:13px;font-weight:700}.bet-panel,.my-result{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-l);gap:10px;min-width:0;padding:14px;display:grid}.top2-selects{grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));gap:8px;display:grid}.top2-selects .field{min-width:0}.runner-select{width:100%;min-width:0;max-width:100%;min-height:44px;font:inherit;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:var(--r-s);padding:0 10px;font-size:16px}.slip-rows{gap:6px;margin:0;padding:0;list-style:none;display:grid}.slip-row{border-radius:var(--r-s);background:var(--bg);grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"label remove""meta remove";align-items:center;gap:2px 10px;padding:8px 8px 8px 12px;display:grid}.slip-label{overflow-wrap:anywhere;grid-area:label;font-weight:700}.slip-meta{color:var(--gold-text);font-variant-numeric:tabular-nums;grid-area:meta;font-size:13px}.btn-remove{border:1px solid var(--brick-text);min-width:56px;min-height:40px;color:var(--brick-text);transition-property:background-color,color,transform;transition-duration:.15s;transition-timing-function:var(--ease-out);background:0 0;border-radius:999px;grid-area:remove;padding:0 12px;font-weight:700}@media (hover:hover){.btn-remove:hover{background:var(--brick-text);color:#fff}}.btn-remove:active{transform:scale(.96)}.slip-total,.my-total,.my-verdict{color:var(--navy);font-variant-numeric:tabular-nums;font-size:16px;font-weight:700}.chip-tags{max-width:100%;color:var(--navy);background:var(--mint);white-space:nowrap;text-overflow:ellipsis;border-radius:999px;margin-top:3px;padding:1px 6px;font-size:10px;font-weight:700;display:block;overflow:hidden}.race-mine{border-radius:var(--r-m);color:var(--navy);background:var(--mint);overflow-wrap:anywhere;padding:10px 14px;font-weight:700}.round-result{grid-template-columns:minmax(0,1fr);gap:12px;display:grid}.round-title{font:400 22px/1.25 var(--display);color:var(--navy);text-wrap:balance;overflow-wrap:anywhere}.my-bets{gap:6px;margin:0;padding:0;list-style:none;display:grid}.my-bets li{border-radius:var(--r-s);background:var(--bg);overflow-wrap:anywhere;flex-wrap:wrap;align-items:baseline;gap:2px 8px;padding:8px 12px;display:flex}.my-bets li[data-hit=true]{background:#fff7e0}.my-mark{color:var(--brick-text);font-weight:700}.my-bets li[data-hit=true] .my-mark{color:var(--gold-text)}.my-bet-label{font-weight:700}.my-bet-odds{color:var(--gold-text);font-variant-numeric:tabular-nums}.my-bet-coins{color:var(--gold-text);font-variant-numeric:tabular-nums;margin-left:auto}.round-next{font:400 20px/1.2 var(--display);color:var(--navy);text-align:center;font-variant-numeric:tabular-nums}.landing{--l-text:#c9d6ea;--l-dim:#b4c6e0;--l-line:#dfe9f72e;--l-well:#08112099;--l-error:#ffb4a3;isolation:isolate;color:var(--mint);background:var(--navy-deep);flex-direction:column;flex:1;display:flex;position:relative}body:has(.landing){background:var(--navy-deep)}.landing :focus-visible,.landing .btn-go:focus-visible{outline-color:#fff}.landing-bg{z-index:-1;pointer-events:none;background:radial-gradient(52% 34% at 50% 20%, #f4d98524, transparent 72%), radial-gradient(78% 56% at 50% 28%, #254d84d9, transparent 74%), radial-gradient(70% 36% at 50% 100%, #dfe9f712, transparent 70%), linear-gradient(180deg, #10203a 0%, var(--navy-deep) 55%, #0d1a2e 100%);position:absolute;inset:0;overflow:hidden}.landing-grid{background-image:linear-gradient(#dfe9f712 1px,#0000 1px),linear-gradient(90deg,#dfe9f70f 1px,#0000 1px);background-position:50% 0;background-size:44px 44px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(64% 58% at 50% 44%,#000 22%,#0000 74%);mask-image:radial-gradient(64% 58% at 50% 44%,#000 22%,#0000 74%)}.landing-inner{text-align:center;flex-direction:column;align-items:center;width:100%;max-width:760px;margin:auto;padding:clamp(28px,6vh,64px) 16px clamp(18px,3vh,28px);display:flex;position:relative}.logo{justify-items:center;display:grid}.logo-kicker{font:700 12px/1.4 var(--body);letter-spacing:.42em;color:var(--l-dim);margin-right:-.42em}.logo-mark{--logo-size:clamp(60px, min(19vw, 15vh), 132px);font:400 var(--logo-size)/.9 var(--display);letter-spacing:-.01em;color:var(--paper);text-shadow:.035em .035em 0 #0a1628, .075em .075em 0 var(--gold-deep), 0 0 .5em #f4d98533;justify-items:start;margin-top:clamp(8px,1.6vh,14px);display:grid}.logo-line{align-items:center;gap:.2em;display:flex}.logo-die{text-shadow:none;letter-spacing:normal;filter:drop-shadow(0 .08em .1em #040a148c);flex:none}.logo-die .dice{--die:calc(var(--logo-size) * .66)}.logo-die .die-hop{--die:calc(var(--logo-size) * .24)}.logo-die .die{--die:calc(var(--logo-size) * .66);rotate:-.62 .78 0 30deg}.logo-sub{font:700 clamp(14px, 3.8vw, 18px)/1.5 var(--body);letter-spacing:clamp(.04em,.8vw,.22em);color:var(--l-text);text-wrap:balance;margin-top:clamp(12px,2.2vh,20px)}.logo-sub b{color:var(--gold)}.title-roster{--w:clamp(56px, min(8.4vw, 11.5vh), 80px);grid-template-columns:repeat(8,auto);justify-content:center;row-gap:12px;margin:clamp(18px,4vh,34px) 0 clamp(16px,3.2vh,26px);padding:0;list-style:none;display:grid}.title-roster li{padding:0 4px 5px;position:relative}.title-roster li:before{content:"";z-index:-1;background:linear-gradient(#dfe9f71a,#dfe9f708);border-top:1px dashed #dfe9f733;height:13px;position:absolute;bottom:0;left:0;right:0}.title-roster li:after{opacity:.6;background:repeating-conic-gradient(var(--paper) 0 25%, #20375c 0 50%) 0 0 / 12px 12px;border-radius:2px;width:12px;position:absolute;top:22%;bottom:0;right:5px}.title-roster li:last-child{padding-right:24px}.title-roster li:last-child:after{content:""}.roster-sprite{filter:drop-shadow(0 5px 6px #040a148c)}.title-roster .sprite-sheet{height:var(--h)}.title-roster .sprite.is-live .sprite-sheet{animation-delay:calc(var(--i) * -97ms)}.entry{grid-template-columns:minmax(0,1fr);gap:10px;width:min(100%,520px);display:grid}.entry-row{align-items:flex-start;gap:10px;width:min(100%,520px);display:flex}.entry-row .field{text-align:left;flex:1;min-width:0}.entry-box{cursor:text;background:var(--l-well);border:2px solid var(--l-line);border-radius:12px;align-items:center;gap:12px;min-height:56px;padding:0 16px;transition:border-color .15s,box-shadow .15s;display:flex;box-shadow:inset 0 3px #00000038}.entry-box:hover{border-color:#dfe9f757}.entry-box:focus-within{border-color:var(--gold);outline-offset:2px;outline:2px solid #0000;box-shadow:inset 0 3px #00000038,0 0 0 3px #f4d98547}.entry-box:has([aria-invalid=true]){border-color:var(--l-error)}.entry-label{font:700 11px/1 var(--body);letter-spacing:.14em;color:var(--l-dim);white-space:nowrap;flex:none}.entry-input{width:100%;min-width:0;height:52px;color:var(--paper);font:700 18px/1 var(--body);letter-spacing:.02em;background:0 0;border:0;flex:1;padding:0}.entry-input:focus-visible{outline:none}.entry-input::placeholder{color:#7088ad;opacity:1;font-weight:500}.entry-input.is-code{letter-spacing:.12em;text-transform:uppercase}.entry-input.is-code::placeholder{letter-spacing:.02em}.landing .field-error{color:var(--l-error)}.btn-ghost{min-width:148px;min-height:56px;color:var(--paper);font:400 22px/1 var(--display);letter-spacing:1px;transition:border-color .15s, color .15s, transform .12s var(--ease-out);background:0 0;border:2px solid #dfe9f766;border-radius:14px;flex:none;padding:0 22px}.btn-ghost:hover{border-color:var(--gold);color:var(--gold)}.btn-ghost:active{transform:translateY(2px)}.conn-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px 14px;margin-top:16px;display:flex}.status-chip{text-align:left;border:1px solid var(--l-line);background:var(--l-well);min-height:32px;font:700 12px/1.35 var(--body);color:var(--l-text);border-radius:999px;align-items:center;gap:8px;padding:6px 13px;display:inline-flex}.status-dot{background:var(--l-dim);border-radius:50%;flex:none;width:8px;height:8px}.status-chip[data-state=connecting] .status-dot{animation:1.2s ease-in-out infinite status-wait}.status-chip[data-state=online]{color:var(--gold);border-color:#f4d98566}.status-chip[data-state=online] .status-dot{background:var(--gold);box-shadow:0 0 0 3px #f4d98538}.status-chip[data-state=stuck]{color:var(--l-error);border-color:#ffb4a373}.status-chip[data-state=stuck] .status-dot{background:var(--l-error)}@keyframes status-wait{50%{opacity:.25}}.btn-solo{min-height:40px;color:var(--mint);background:0 0;border:1px solid #dfe9f761;border-radius:999px;padding:0 18px;font-weight:700;transition:background-color .15s,border-color .15s}.btn-solo:hover{border-color:var(--mint);background:#dfe9f71a}.notice-band{text-align:left;width:min(100%,520px);color:var(--paper);background:#f4d9851a;border:1px solid #f4d98573;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;padding:8px 8px 8px 16px;font-weight:700;display:flex}.howto{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:clamp(18px,3.4vh,28px);display:flex}.howto li{text-align:left;font:500 13px/1.35 var(--body);color:var(--l-text);background:#0811206b;border:1px solid #dfe9f71f;border-radius:10px;align-items:center;gap:8px;padding:8px 12px;display:inline-flex}.howto b{font:400 15px/1 var(--display);color:var(--gold);letter-spacing:.04em}.title-foot{padding:8px 16px max(16px, env(safe-area-inset-bottom));font:500 12px/1.4 var(--body);letter-spacing:.04em;color:var(--l-dim);flex-wrap:wrap;justify-content:center;align-items:center;gap:2px 24px;display:flex}.foot-link{min-height:36px;color:var(--l-text);text-underline-offset:3px;background:0 0;border:0;padding:0 4px;font-weight:700;-webkit-text-decoration:underline #dfe9f766;text-decoration:underline #dfe9f766}.foot-link:hover{color:var(--paper);text-decoration-color:currentColor}.foot-insert{letter-spacing:.24em;color:var(--gold);font-weight:700}.blink{animation:1.3s steps(2,start) infinite blink}@keyframes blink{50%{opacity:.15}}@media (prefers-reduced-motion:reduce){.blink,.status-chip .status-dot{animation:none}}.landing.is-compact .logo-mark{--logo-size:clamp(52px, 15vw, 88px)}.join-lead{font:400 clamp(20px, 5.2vw, 26px)/1.3 var(--display);color:var(--paper);margin:clamp(18px,3vh,26px) 0 16px}.landing.is-compact .foot-link{margin-top:10px}@media (width<=639px){.title-roster{--w:clamp(52px, 16.5vw, 72px);grid-template-columns:repeat(4,auto)}.title-roster li:nth-child(4){padding-right:24px}.title-roster li:nth-child(4):after{content:""}}@media (width<=519px){.entry-row{flex-direction:column;align-items:stretch}.entry-row .field{flex:none}.entry-box{flex-direction:column;align-items:stretch;gap:0;min-height:64px;padding:9px 14px 0}.entry-input{height:38px}.entry-row .btn-go,.entry-row .btn-ghost{width:100%}.howto{flex-direction:column;align-items:stretch}.title-foot{gap:0 16px}}@media (width<=479px){.btn-ghost{min-height:50px;font-size:21px}}@media (width>=640px) and (height<=820px){.landing-inner{padding-top:3.5vh}.logo-mark{--logo-size:clamp(60px, min(19vw, 12.5vh), 132px)}.title-roster{--w:clamp(56px, min(8.4vw, 10.5vh), 80px);margin:2.6vh 0 2.4vh}.entry{gap:8px}.entry-box{min-height:52px}.entry-input{height:48px}.landing .btn-go,.btn-ghost{min-height:52px}.conn-row{margin-top:12px}.howto{margin-top:2.6vh}.title-foot{padding-top:4px;padding-bottom:12px}.foot-link{min-height:28px}}
