:root{--bg:#14161c;--bg-2:#1c1f28;--bg-3:#242833;--ink:#eef0f4;--ink-dim:#8b93a3;--wood:#d7ac78;--wood-line:#34220e8c;--black-stone:#14161b;--white-stone:#f7f4ed;--ghost-edge:#14161b;--hot:#ff7a2f;--line:#ffffff1a;--harm:#ff6b6b;--boon:#6bc3ff;--ok:#5fd39a;--warn:#e0a33a}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;overscroll-behavior:none;touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;font:15px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans KR,sans-serif}.app{height:100dvh;height:100svh;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);flex-direction:column;width:100%;max-width:480px;margin:0 auto;display:flex}body{background:#0e1014}.app-start{text-align:center;justify-content:safe center;align-items:center;gap:20px;padding:32px;overflow-y:auto}.app-start h1{letter-spacing:-.02em;font-size:30px}.lede{color:var(--ink-dim);line-height:1.7}.lede-count{color:var(--ink);font-variant-numeric:tabular-nums;font-size:30px;font-weight:700}.lede b{color:var(--ink)}.howto{color:var(--ink-dim);font-size:13px;line-height:1.8}kbd{border:1px solid var(--line);background:var(--bg-2);min-width:20px;font:inherit;color:var(--ink);border-radius:5px;padding:1px 6px;font-size:12px;display:inline-block}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}.primary{background:var(--hot);color:#180d04;letter-spacing:.02em;border-radius:999px;padding:13px 34px;font-weight:700}.primary:disabled{background:var(--bg-2);color:var(--ink-dim);cursor:default}.ghost-btn{border:1px solid var(--line);color:var(--ink-dim);border-radius:999px;padding:5px 11px;font-size:12px}.menu{gap:10px;width:min(300px,100%);margin-top:6px;display:grid}.menu .primary,.menu-btn{border-radius:14px;width:100%;padding:15px 20px;font-size:15px;font-weight:600}.menu-btn{border:1px solid var(--line);background:var(--bg-2);color:var(--ink)}.menu .primary{border-radius:14px}.menu button:disabled{opacity:.5}.howto code{color:var(--ink);word-break:break-all;font-size:12px}.howto.err{color:#ff8f6b}.tag-bot,.tag-off{border-radius:999px;padding:4px 9px;font-size:11px;font-weight:600}.tag-bot{color:var(--hot);background:#ff7a2f29}.tag-off{color:#ff8f6b;background:#ff8f6b29}.hud{align-items:center;gap:10px;padding:10px 14px;display:flex}.ply{color:var(--ink-dim);font-variant-numeric:tabular-nums;margin-left:auto;font-size:13px}.turn-chip{background:var(--bg-2);border-radius:999px;align-items:center;gap:7px;padding:5px 13px 5px 7px;font-size:13px;font-weight:600;display:inline-flex}.turn-chip:before{content:"";border-radius:50%;width:16px;height:16px}.chip-black:before{background:var(--black-stone);box-shadow:inset 0 0 0 1px #ffffff47}.chip-white:before{background:var(--white-stone)}.dot.chip-black{background:var(--black-stone);box-shadow:inset 0 0 0 1px #ffffff47}.dot.chip-white{background:var(--white-stone)}.board-wrap{flex:1;place-items:center;min-height:0;padding:0 8px;display:grid}.board{aspect-ratio:1;width:100%;max-width:min(100%,100svh - 250px);display:block}.board-face{fill:var(--wood)}.board-grid line{stroke:var(--wood-line);stroke-width:.035px}.board-star circle{fill:var(--wood-line)}.stone circle:first-child{filter:drop-shadow(0 .045px .06px #00000073)}.stone-black circle:first-child{fill:var(--black-stone)}.stone-white circle:first-child{fill:var(--white-stone);stroke:#281c0e59;stroke-width:.025px}.stone-black .stone-last{fill:var(--wood)}.stone-white .stone-last{fill:var(--black-stone)}.ghost{stroke:var(--ghost-edge);stroke-width:.085px;stroke-opacity:.8}.ghosts-black .ghost{fill:var(--black-stone)}.ghosts-white .ghost{fill:var(--white-stone)}.ghost-active{stroke-opacity:1;fill-opacity:.6!important}.active-ring{fill:none;stroke:var(--hot);stroke-width:.1px}.active-ring.tone-harm{stroke:var(--harm)}.active-ring.tone-boon{stroke:var(--boon)}.mark-ring{fill:none;stroke:var(--warn);stroke-width:.07px;stroke-dasharray:.18 .14;stroke-linecap:round}@media (prefers-reduced-motion:no-preference){.mark-ring{transform-origin:50%;transform-box:fill-box;animation:6s linear infinite mark-spin}}@keyframes mark-spin{to{transform:rotate(360deg)}}.stops{padding:12px 22px calc(44px + env(safe-area-inset-bottom));justify-content:space-between;align-items:flex-end;display:flex}.stop-idle{transform-origin:0 100%;cursor:default;transform:scale(.72)}.stop-idle .stop-label{letter-spacing:0;opacity:.7;font-size:12px}.stop{place-items:center;width:104px;height:104px;transition:opacity .14s,transform .14s;display:grid;position:relative}.stop-off{opacity:.24;transform:scale(.82)}.stop-on:active{transform:scale(.94)}.stop-ring{position:absolute;inset:0;transform:rotate(-90deg)}.stop-ring-track{fill:none;stroke:#ffffff17;stroke-width:6px}.stop-ring-fill{fill:none;stroke:var(--hot);stroke-width:6px;stroke-linecap:round}.stop-face{border-radius:50%;align-content:center;place-items:center;gap:0;width:78px;height:78px;display:grid}.stop-face.chip-black{color:var(--ink);background:#22252e;box-shadow:inset 0 0 0 1.5px #ffffff24}.stop-face.chip-white{background:var(--white-stone);color:#191b20}.stop-face:before{content:none}.stop-label{letter-spacing:.06em;font-size:15px;font-weight:800}.stop-digit{font-variant-numeric:tabular-nums;min-height:13px;color:var(--hot);font-size:13px;font-weight:700;line-height:1}.stop-face.chip-white .stop-digit{color:#c1440e}.result-title{letter-spacing:-.02em;font-size:24px;font-weight:800}.result-sub{color:var(--ink-dim);font-size:13px}.result-actions{gap:10px;margin-top:8px;display:flex}.result-actions button:not(.primary){border:1px solid var(--line);color:var(--ink-dim);border-radius:999px;padding:13px 20px;font-size:13px}.dev{padding:16px 18px calc(20px + env(safe-area-inset-bottom));background:var(--bg-2);border-top:1px solid var(--line);gap:12px;font-size:13px;display:grid;position:fixed;bottom:0;left:0;right:0}.dev-head{justify-content:space-between;align-items:center;display:flex}.dev-head button{color:var(--ink-dim);font-size:12px}.dev-row{gap:4px;display:grid}.dev-name{color:var(--ink-dim);justify-content:space-between;display:flex}.dev-name b{color:var(--ink);font-variant-numeric:tabular-nums}.dev-row input[type=range]{width:100%;accent-color:var(--hot)}.dev-hint{color:var(--ink-dim);font-size:11px}.dev-hint.warn{color:#ffc48a}.dev-laps{color:var(--ink-dim);background:#ffffff0a;border-radius:9px;padding:9px 12px}.dev-laps b{color:var(--ink)}.dev-laps.warn{color:#ffc48a}.dev-actions{gap:8px;display:flex}.dev-actions button{border:1px solid var(--line);border-radius:10px;flex:1;padding:11px;font-size:13px}.dev-actions button:disabled{opacity:.4}.dev-actions .dev-danger{color:#ff8f6b;flex:none;padding-inline:14px}.mute-btn{cursor:pointer;opacity:.75;background:0 0;border:0;margin-left:auto;padding:4px 6px;font-size:18px;line-height:1}.mute-btn:hover{opacity:1}.tally{color:var(--ink);margin:4px 0 18px;font-size:20px}.tally b{font-variant-numeric:tabular-nums}.games{gap:6px;width:min(100%,320px);margin:0 0 18px;padding:0;list-style:none;display:grid}.game{background:var(--bg-2);border-radius:10px;align-items:center;gap:10px;padding:9px 12px;font-size:14px;display:flex}.game .dot{border-radius:50%;flex:none;width:14px;height:14px}.game-result{font-weight:600}.game-win .game-result{color:var(--hot)}.game-lose .game-result{opacity:.6}.game-why{color:var(--ink-dim);font-size:13px}.game-when{color:var(--ink-dim);margin-left:auto;font-size:13px}.menu-sub{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:4px;display:flex}.sheet-back{z-index:50;background:#0009;place-items:end center;padding:16px;display:grid;position:fixed;inset:0}.sheet{background:var(--bg-2);width:min(100%,420px);max-height:86svh;padding:18px 20px calc(20px + env(safe-area-inset-bottom));text-align:left;border-radius:18px;gap:16px;display:grid;overflow-y:auto}.sheet-head{justify-content:space-between;align-items:center;display:flex}.sheet-head h2{letter-spacing:2px;color:var(--hot);margin:0;font-size:26px}.sheet-x{color:var(--ink-dim);cursor:pointer;background:0 0;border:0;padding:6px 8px;font-size:18px}.sheet-body{gap:16px;display:grid}.rule555{gap:14px;margin:0;padding:0;list-style:none;display:grid}.rule555 li{align-items:flex-start;gap:14px;display:flex}.rule-n{width:34px;color:var(--hot);text-align:center;flex:none;font-size:28px;font-weight:700;line-height:1.1}.rule-t{color:var(--ink);font-size:15px;line-height:1.6}.sheet-warn{color:var(--ink-dim);background:#ff7a2f1a;border-radius:10px;margin:0;padding:12px 14px;font-size:14px;line-height:1.6}.sheet-warn b{color:var(--ink)}.sheet-done{width:100%}.rank{justify-items:center;gap:2px;margin:-8px 0 18px;display:grid}.rank-n{color:var(--hot);font-variant-numeric:tabular-nums;font-size:34px;font-weight:700;line-height:1.1}.rank-sub{color:var(--ink-dim);font-size:13px}.sheet-foot{color:var(--ink-dim);margin:0;font-size:14px;line-height:1.6}.sheet-foot b{color:var(--ink)}.result-note{color:var(--ink-dim);margin:6px 0 0;font-size:12px}.stops-done{padding:10px 22px calc(24px + env(safe-area-inset-bottom));flex-direction:column;align-items:center;gap:6px;display:flex}.stops-done .result-actions,.stops-done>.primary{margin-top:6px}.stops-done .primary{width:min(100%,320px)}.stops-done .result-actions{gap:8px;width:min(100%,320px);display:flex}.stops-done .result-actions .primary{flex:1;width:auto}.win-line{stroke:var(--hot);stroke-width:1.3px;stroke-linecap:round;opacity:.55;pointer-events:none}.peek-btn{border:1px solid var(--line);color:var(--ink-dim);cursor:pointer;background:0 0;border-radius:999px;padding:7px 16px;font-size:13px}.peek-btn:hover{color:var(--ink)}.game{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;border:0;transition:background .12s}.game:hover,.game:focus-visible{background:var(--bg-3)}.replay{z-index:40;padding:20px max(16px, env(safe-area-inset-left)) max(20px, env(safe-area-inset-bottom));background:var(--bg);flex-direction:column;justify-content:safe center;align-items:center;gap:12px;display:flex;position:fixed;inset:0;overflow-y:auto}.replay .lede{text-align:center;max-width:22em}.replay .board{width:min(100%,420px);height:auto}.replay-head{align-items:center;gap:8px;margin:0;display:flex}.replay-head .dot{border-radius:50%;flex:none;width:14px;height:14px}.replay-sub{color:var(--ink-dim);font-size:13px}.replay-bar{align-items:center;gap:8px;width:min(100%,420px);display:flex}.replay-bar input[type=range]{min-width:0;accent-color:var(--hot);flex:1}.replay-bar .ghost-btn{padding:6px 12px}.replay-n{font-variant-numeric:tabular-nums;color:var(--ink-dim);text-align:right;min-width:4.5em;font-size:13px}@media (prefers-reduced-motion:reduce){.game{transition:none}}.grid-games{grid-template-columns:repeat(auto-fill,minmax(30px,1fr));gap:6px;width:min(100%,320px);margin:0;padding:0;list-style:none;display:grid}.cell{aspect-ratio:1;border:1px solid var(--line);background:var(--bg-2);cursor:pointer;border-radius:7px;width:100%;padding:0;transition:transform .12s;display:block;position:relative}.cell:hover,.cell:focus-visible{transform:scale(1.12)}.cell-win{background:var(--hot);border-color:#0000}.cell-win:after{content:"";background:#00000073;border-radius:50%;width:5px;height:5px;margin:auto;position:absolute;inset:0}.cell-draw{background:var(--ink-dim);border-color:#0000}.grid-legend{color:var(--ink-dim);align-items:center;gap:6px;font-size:12px;display:flex}.grid-legend .cell{cursor:default;flex:none;width:14px;height:14px;margin-left:6px}.grid-legend .cell:first-child{margin-left:0}.grid-legend .cell:after{display:none}@media (prefers-reduced-motion:reduce){.cell{transition:none}}.stop-who{color:var(--ink-dim);letter-spacing:-.01em;pointer-events:none;font-size:12px;position:absolute;bottom:-20px;left:50%;transform:translate(-50%)}.stop-on .stop-who{color:var(--ink)}.away{z-index:30;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);pointer-events:none;background:#0c0e13b8;place-items:center;display:grid;position:fixed;inset:0}.away-box{border:1px solid var(--line);background:var(--bg-2);text-align:center;border-radius:18px;justify-items:center;gap:4px;padding:22px 30px;display:grid}.away-title{margin:0;font-size:16px;font-weight:700}.away-count{color:var(--hot);font-variant-numeric:tabular-nums;margin:0;font-size:44px;font-weight:800;line-height:1.1}.away-sub{color:var(--ink-dim);margin:0;font-size:13px}.result-h2h{color:var(--ink);margin:0;font-size:13px}.result-h2h b{color:var(--hot);font-variant-numeric:tabular-nums}.slots{grid-template-columns:1fr 1fr;gap:10px;width:min(100%,320px);display:grid}.slot{border:1px dashed var(--line);background:var(--bg-2);opacity:.55;border-radius:14px;justify-items:center;gap:6px;padding:18px 10px;display:grid}.slot-in{opacity:1;border-style:solid}.slot-me{border-color:var(--hot)}.slot .dot{background:var(--bg);border-radius:50%;width:20px;height:20px}.slot b{font-size:14px}.slot-state{color:var(--ink-dim);font-size:12px}.away-box .result-actions{pointer-events:auto}.away:has(.result-actions){pointer-events:auto}.slots-row{justify-content:center;gap:8px;padding:8px 12px 0;display:flex}.slot-item{border:1px solid var(--line);background:var(--bg-2);width:62px;color:var(--ink);cursor:pointer;border-radius:12px;justify-items:center;gap:2px;padding:7px 4px 5px;transition:transform .12s,border-color .12s;display:grid}.slot-item:hover:not(.slot-empty),.slot-item:focus-visible{transform:translateY(-2px)}.slot-empty{opacity:.35;cursor:default;background:0 0;border-style:dashed;height:58px}.slot-on{border-color:var(--hot);background:color-mix(in srgb, var(--hot) 18%, var(--bg-2))}.slot-on .item-icon{fill:var(--hot);stroke:var(--hot)}.slot-name{letter-spacing:-.02em;color:var(--ink-dim);font-size:10px;font-weight:700}.slot-on .slot-name{color:var(--hot)}.item-icon{width:22px;height:22px;fill:var(--ink);stroke:none}.item-icon .stroke{fill:none;stroke:var(--ink);stroke-width:1.9px;stroke-linecap:round;stroke-linejoin:round}.hud2{grid-template-columns:1fr auto 1fr;align-items:start;gap:8px;padding:8px 10px 0;display:grid}.hud-mid{justify-items:center;gap:2px;min-width:36px;padding-top:9px;display:grid}.hud-mid .ply{margin:0}.hud-mid .mute-btn{padding:0}.hud-tags{flex-wrap:wrap;justify-content:center;gap:6px;padding:6px 12px 0;display:flex}.pc{border:1.5px solid var(--line);background:var(--bg-2);border-radius:14px;gap:6px;min-height:60px;padding:8px 10px 9px;transition:border-color .14s,opacity .14s,box-shadow .14s;display:grid;position:relative}.pc-on{border-color:var(--hot);box-shadow:0 0 0 1px #ff7a2f38}.pc-dim{opacity:.62}.pc-who{align-items:center;gap:7px;min-height:20px;font-size:13px;display:flex}.pc-who b{font-weight:700}.pc-who .dot{border-radius:50%;flex:none;width:14px;height:14px}.pc-note{color:var(--ink-dim);font-variant-numeric:tabular-nums;white-space:nowrap;text-overflow:ellipsis;flex:0 auto;min-width:0;font-size:11px;overflow:hidden}.pc-ring{flex:none;width:20px;height:20px;margin-left:auto;transform:rotate(-90deg)}.pc-ring-track{fill:none;stroke:#ffffff1a;stroke-width:11px}.pc-ring-fill{fill:none;stroke:var(--hot);stroke-width:11px;stroke-linecap:round}.pc-digit{text-align:right;min-width:1.7em;color:var(--hot);font-variant-numeric:tabular-nums;font-size:11px;font-weight:700}.pc-chips{flex-wrap:wrap;gap:4px;min-height:19px;display:flex}.pc-mates{align-items:center;gap:3px;display:inline-flex}.pc-mates i{background:var(--ink-dim);opacity:.45;border-radius:50%;width:7px;height:7px}.pc-mates i.on{background:var(--hot);opacity:1}.pc-mates i.gone{box-shadow:inset 0 0 0 1px var(--ink-dim);background:0 0}.pc-captain{color:var(--hot);margin-left:2px;font-size:10px}.stops.dock{align-items:flex-end;gap:10px}.dock .slots-row{justify-content:flex-start;gap:6px;padding:0 0 6px}.dock .slot-item{width:56px}.dock .stop{margin-left:auto}.dock-watch{color:var(--ink-dim);align-self:center;margin:0 auto;font-size:12px}.fx-row{align-items:center;gap:6px;min-width:0;display:inline-flex;overflow:hidden}.fx-seat{gap:4px;display:inline-flex}.fx-seat:empty{display:none}.fx{white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:3px 8px 3px 7px;font-size:11px;font-weight:800;line-height:1;display:inline-flex}.fx-who{opacity:.8;font-weight:700}.fx-harm{color:var(--harm);background:#ff6b6b26}.fx-boon{color:var(--boon);background:#6bc3ff26}.fx-secret{outline-offset:1px;outline:1px dashed #6bc3ff8c}.fx .item-icon{fill:currentColor;width:12px;height:12px}.fx .item-icon .stroke{stroke:currentColor}.fx-pips{gap:2px;margin-left:1px;display:inline-flex}.fx-pips i{background:currentColor;border-radius:50%;width:5px;height:5px;display:block}.fx-pips i.o{opacity:.28}@media (prefers-reduced-motion:reduce){.slot-item{transition:none}}.item-news{left:50%;top:calc(88px + env(safe-area-inset-top));z-index:35;background:var(--bg-2);border:1px solid var(--line);white-space:nowrap;pointer-events:none;border-radius:16px;justify-items:center;gap:2px;padding:12px 26px;animation:.22s ease-out both news-in;display:grid;position:fixed;transform:translate(-50%);box-shadow:0 10px 30px #00000073}.news-name{letter-spacing:-.01em;font-size:19px;font-weight:800}.news-what{color:var(--ink-dim);font-size:12px}.news-good{border-color:var(--hot)}.news-good .news-name{color:var(--hot)}.news-bad{border-color:#ff6b6b}.news-bad .news-name{color:#ff6b6b}.news-block{border-color:#6bc3ff}.news-block .news-name{color:#6bc3ff}.news-boon{border-color:var(--boon)}.news-boon .news-name{color:var(--boon)}.item-news.news-foe,.item-news.news-me{animation-name:news-in-side;transform:none}.item-news.news-foe{left:12px}.item-news.news-me{left:auto;right:12px}@keyframes news-in-side{0%{opacity:0;transform:translateY(-8px)scale(.94)}to{opacity:1;transform:none}}@keyframes news-in{0%{opacity:0;transform:translate(-50%)translateY(10px)scale(.94)}to{opacity:1;transform:translate(-50%)translateY(0)scale(1)}}@media (prefers-reduced-motion:reduce){.item-news{animation:none}}.opt{color:var(--ink-dim);cursor:pointer;justify-content:center;align-items:center;gap:7px;font-size:13px;display:flex}.opt input{width:16px;height:16px;accent-color:var(--hot)}.ghost-no{fill:var(--ghost-edge);text-anchor:middle;dominant-baseline:central;pointer-events:none;font-size:.42px;font-weight:800}.ghosts-white .ghost-no{fill:#3a2a12}.app-home{max-width:480px}@media (min-width:900px){.app-home{max-width:980px}}.home-grid{grid-template-columns:minmax(0,1fr);justify-items:center;gap:20px;width:100%;display:grid}@media (min-width:900px){.home-grid{grid-template-columns:360px 360px;justify-content:center;align-items:center;gap:72px}}.home-col{justify-items:center;gap:14px;width:min(320px,100%);display:grid}.home-col h1,.home-col .lede{margin:0}.home-col .menu{width:100%}.home-col .menu-sub{margin-top:2px}.home-preview{display:none}@media (min-width:900px){.home-preview{width:360px;display:block}.home-preview .board{pointer-events:none;width:360px;max-width:360px}.home-preview-cap{color:var(--ink-dim);text-align:center;margin:10px 0 0;font-size:12px}}.sheet-pick .sheet-body{gap:10px;display:grid}.pick{border:1px solid var(--line);background:var(--bg);width:100%;color:var(--ink);text-align:left;cursor:pointer;border-radius:14px;gap:3px;padding:16px 18px;transition:border-color .12s,transform .12s;display:grid;position:relative}.pick:hover,.pick:focus-visible{border-color:var(--ink-dim)}.pick:active{transform:scale(.99)}.pick b{letter-spacing:-.01em;font-size:17px;font-weight:800}.pick span{color:var(--ink-dim);font-variant-numeric:tabular-nums;font-size:12.5px}.pick-last{border-color:var(--hot)}.pick em{letter-spacing:.08em;color:var(--hot);font-size:10px;font-style:normal;font-weight:800;position:absolute;top:15px;right:16px}.pick-note{text-align:center;margin:2px 0 0}@media (prefers-reduced-motion:reduce){.pick{transition:none}}.menu .row2{grid-template-columns:1fr 1fr;gap:8px;display:grid}.menu .row2 .menu-btn{padding:12px 6px;font-size:13px}.menu-btn.menu-on{border-color:var(--hot);color:var(--hot)}.code-row{grid-template-columns:1fr auto;gap:8px;display:grid}.code-input{border:1px solid var(--line);background:var(--bg-2);width:100%;min-width:0;color:var(--ink);letter-spacing:.16em;text-transform:uppercase;text-align:center;border-radius:14px;padding:11px 12px;font:800 19px/1.2 ui-monospace,SF Mono,Menlo,monospace}.code-input::placeholder{letter-spacing:0;color:var(--ink-dim);font:500 13px/1.2 -apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans KR,sans-serif}.code-input:focus{outline:2px solid var(--hot);outline-offset:1px}.menu .code-go{padding:11px 16px;font-size:13px}.lobby{gap:14px;padding-top:16px}.lobby-top{justify-content:space-between;align-items:center;width:100%;display:flex}.lobby-top b{font-size:15px}.lobby-top-spacer{visibility:hidden;font-size:13px}.lobby-exit{padding:6px 10px}.room-code{color:var(--ink);cursor:pointer;background:0 0;border:0;justify-items:center;gap:6px;padding:6px 12px;display:grid}.room-code span{letter-spacing:.12em;font:900 40px/1 ui-monospace,SF Mono,Menlo,monospace}.room-code span i{width:8px;display:inline-block}.room-code small{color:var(--ink-dim);font-size:12px}.primary.primary-quiet{background:var(--bg-2);color:var(--ink);border:1px solid var(--line)}.seats4{grid-template-columns:1fr 1fr;gap:8px;width:min(100%,340px);display:grid}.seat4{border:1px dashed var(--line);background:var(--bg-2);opacity:.55;border-radius:14px;justify-items:center;gap:4px;min-height:98px;padding:12px 8px 10px;display:grid;position:relative}.seat4-in{opacity:1;border-style:solid}.seat4-me{border-color:var(--hot)}.seat4-lab{letter-spacing:.12em;color:var(--ink-dim);font-size:10px;font-weight:800}.seat4 .dot{border-radius:50%;width:18px;height:18px}.dot-watch{background:var(--bg-3)}.seat4 b{min-height:18px;font-size:13px}.seat4-crown{margin-left:4px;font-size:12px}.seat4-state{color:var(--ink-dim);font-size:11px}.seat4-ready{color:#5fd39a}.seats4-team .team-a{box-shadow:inset 0 -3px #ff7a2f99}.seats4-team .team-b{box-shadow:inset 0 -3px #6bc3ff99}.sw-list{width:min(100%,340px);display:grid}.sw-row{border-top:1px solid var(--line);text-align:left;justify-content:space-between;align-items:center;gap:12px;padding:10px 2px;display:flex}.sw-text{gap:2px;font-size:13px;display:grid}.sw-text b{font-weight:700}.sw-text span{color:var(--ink-dim);font-size:11.5px}.sw-more{color:var(--boon);cursor:pointer;background:0 0;border:0;justify-self:start;padding:0;font-size:12px;font-weight:700}.sw{background:var(--bg-3);cursor:pointer;border:0;border-radius:999px;flex:none;width:40px;height:24px;position:relative}.sw:after{content:"";background:#8b93a3;border-radius:50%;width:18px;height:18px;transition:left .14s,background .14s;position:absolute;top:3px;left:3px}.sw-on{background:var(--hot)}.sw-on:after{background:#1a0d05;left:19px}.sw:disabled{cursor:default;opacity:.7}.item-list{gap:8px;margin:0 0 12px;padding:0;list-style:none;display:grid}.item-row{border:1px solid var(--line);background:var(--bg);text-align:left;border-radius:12px;align-items:center;gap:12px;padding:10px 12px;display:flex}.item-row-icon{background:var(--bg-2);border-radius:10px;flex:none;place-items:center;width:36px;height:36px;display:grid}.item-harm .item-row-icon{color:var(--harm)}.item-self .item-row-icon{color:var(--boon)}.item-row-icon .item-icon{fill:currentColor;width:20px;height:20px}.item-row-icon .item-icon .stroke{stroke:currentColor}.item-row-text{gap:1px;font-size:13px;display:grid}.item-row-text b{font-weight:800}.item-row-text span{font-size:12.5px}.item-row-text small{color:var(--ink-dim);font-size:11px}@media (prefers-reduced-motion:reduce){.sw:after{transition:none}}.tutorial .board{max-width:min(100%,100svh - 330px)}.tut-bar{grid-template-columns:40px 1fr auto;align-items:center;gap:10px;padding:8px 14px 0;display:grid}.tut-x{background:var(--bg-2);width:32px;height:32px;color:var(--ink-dim);cursor:pointer;border:0;border-radius:50%;justify-self:start;font-size:14px}.tut-dots{justify-content:center;gap:6px;display:flex}.tut-dots i{background:var(--bg-3);border-radius:50%;width:8px;height:8px}.tut-dots i.on{background:var(--ok)}.tut-dots i.now{background:var(--hot);box-shadow:0 0 0 3px #ff7a2f33}.tut-course{color:var(--ink-dim);font-size:12px;font-weight:700}.tut-goal{text-align:center;gap:2px;margin:0;padding:10px 18px 2px;display:grid}.tut-goal b{letter-spacing:-.01em;text-wrap:balance;font-size:17px;font-weight:800}.tut-goal span{color:var(--ink-dim);text-wrap:balance;font-size:12.5px}.tut-hud{padding-top:6px}.tut-lost .win-line{stroke:var(--harm)}.tutorial .item-news{top:calc(182px + env(safe-area-inset-top))}.tut-dock{min-height:118px}.tut-band{border:1px solid var(--line);background:var(--bg-2);text-align:center;border-radius:14px;flex:1;justify-items:center;gap:10px;padding:14px 16px;display:grid}.tut-band b{text-wrap:balance;font-size:14px;font-weight:700}.tut-band .primary{padding:11px 30px}.tut-band-row{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.tut-band-row button:not(.primary){border:1px solid var(--line);color:var(--ink-dim);cursor:pointer;background:0 0;border-radius:999px;padding:11px 16px;font-size:13px}.tut-ok{border-color:var(--ok)}.tut-ok b{color:var(--ok)}.tut-again{border-color:var(--warn)}.tut-again b{color:var(--warn)}.tut-demo{color:var(--warn);align-self:center;margin-right:auto;font-size:12px;font-weight:700}.tut-list{gap:14px;padding-top:18px}.tut-top{justify-content:space-between;align-items:center;width:100%;display:flex}.tut-top b{font-size:15px}.tut-top-pad{visibility:hidden;font-size:12px}.tut-cards{gap:8px;width:min(100%,360px);display:grid}.tut-card{border:1px solid var(--line);background:var(--bg-2);color:var(--ink);text-align:left;cursor:pointer;border-radius:14px;align-items:center;gap:12px;padding:14px 16px;transition:border-color .12s;display:flex}.tut-card:hover:not(:disabled),.tut-card:focus-visible{border-color:var(--ink-dim)}.tut-card-icon{background:var(--bg-3);width:38px;height:38px;color:var(--ink);border-radius:11px;flex:none;place-items:center;display:grid}.tut-card-icon .item-icon{fill:currentColor;width:20px;height:20px}.tut-card-icon .item-icon .stroke{stroke:currentColor}.tut-cards .tut-card:first-child .tut-card-icon{color:var(--hot)}.tut-card-text{flex:1;gap:1px;min-width:0;display:grid}.tut-card-text b{font-size:15px;font-weight:800}.tut-card-text span{color:var(--ink-dim);font-size:12px}.tut-card-right{color:var(--ink-dim);flex:none;font-size:12px;font-weight:700}.tut-clear{border-color:var(--ok)}.tut-clear .tut-card-right{color:var(--ok);font-size:16px}.tut-lock{opacity:.45;cursor:default}@media (prefers-reduced-motion:reduce){.tut-card{transition:none}}.rank-lab{letter-spacing:.04em;color:var(--ink-dim);font-size:12px;font-weight:700;display:block}.rank .rank-sub{font-size:14px}.block rect{filter:drop-shadow(0 .05px .07px #0006)}.block-log rect{fill:#8a5a2b;stroke:#28180880;stroke-width:.03px}.block-log line{stroke:#ffe8c873;stroke-width:.055px;stroke-linecap:round}.block-crater rect{fill:#4a4038;stroke:#140e0899;stroke-width:.03px}.block-pit{fill:#00000073}.incoming circle{fill:none;stroke:var(--warn);stroke-width:.07px;stroke-dasharray:.16 .13}.incoming text{fill:var(--warn);text-anchor:middle;dominant-baseline:central;paint-order:stroke;stroke:#00000059;stroke-width:.06px;font-size:.5px;font-weight:700}.incoming-soon circle,.incoming-soon text,.incoming-soon circle{stroke:var(--harm)}.incoming-soon text{fill:var(--harm)}.rail rect{fill:#ffffff24;stroke:#ffffff38;stroke-width:.03px}.rail-arrow{fill:#ffffff80}.rail-count{fill:#34220ec7;text-anchor:middle;dominant-baseline:central;font-size:.4px;font-weight:700}.rail-soon rect{fill:#ffffff4d;stroke:#ffffff73}.rail-soon .rail-arrow{fill:#ffffffd9}.rail-soon .rail-count{fill:var(--ink)}@media (prefers-reduced-motion:no-preference){.rail-soon rect{animation:.9s ease-in-out infinite rail-pulse}.incoming-soon circle{animation:.7s ease-in-out infinite rail-pulse}}@keyframes rail-pulse{50%{opacity:.45}}.map-pick{flex-direction:column;align-items:center;gap:8px;margin:4px 0 2px;display:flex}.map-row{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.map-chip{color:var(--ink-dim);background:0 0;border:1px solid #ffffff29;border-radius:999px;padding:7px 13px;font-size:13px;font-weight:600}.map-chip.on{border-color:var(--hot);color:var(--ink);background:#ff8a3d24}.map-what{min-height:1.2em;color:var(--ink-dim);margin:0;font-size:12.5px}.map-tag{color:var(--ink-dim);background:#ffffff14;border-radius:999px;padding:3px 9px;font-size:12px;font-weight:600}.sw-row-map{padding-bottom:2px}.map-row-room{justify-content:flex-start;padding:0 14px 12px}.map-chip:disabled{opacity:.75}.map-chip:disabled:not(.on){opacity:.4}.map-pick-sheet{align-items:stretch;margin-bottom:4px}.map-pick-sheet .map-row{justify-content:flex-start}.map-pick-sheet .map-what{text-align:left}.rail rect{fill:#1c140a38;stroke:none}.rail-edge{stroke:#fff0dc4d;stroke-width:.045px;stroke-linecap:round}.rail-chevron{fill:none;stroke:#fff0dc47;stroke-width:.055px;stroke-linecap:round;stroke-linejoin:round}.rail-lamp-body{fill:#8d3b34;stroke:#00000073;stroke-width:.035px}.rail-armed .rail-lamp-body{fill:#3ec46a;stroke:#00000059}.rail-lamp-no{fill:#ffe8dce6;text-anchor:middle;dominant-baseline:central;font-size:.3px;font-weight:700}.rail-armed .rail-lamp{filter:drop-shadow(0 0 .12px #3ec46ae6)}@media (prefers-reduced-motion:no-preference){.rail-armed .rail-lamp-body{animation:1.1s ease-in-out infinite lamp-breathe}.rail-armed .rail-chevron{animation:1.1s linear infinite chev-creep}}.rail-lamp-body{transition:fill .22s ease-out}@keyframes lamp-breathe{50%{fill:#7ff0a2}}@keyframes chev-creep{0%{opacity:.28}50%{opacity:.7}to{opacity:.28}}.rail-stones-slide{animation:.64s cubic-bezier(.5,0,.2,1) both rail-slide}@keyframes rail-slide{0%,28%{transform:translateX(calc(var(--slide) * 1px))}to{transform:translate(0)}}@media (prefers-reduced-motion:reduce){.rail-stones-slide{animation:none}}.stone-gloss{display:none}[data-skin=v3]{--art-board-inset-x:6.9%;--art-board-inset-y:6.78%;--art-board-size:86.19%;--ink:#fff;--ink-dim:#dbe6f2;--line:#0000004d;--hot:#ffd24a;--wood:transparent;--wood-line:#784a189e}[data-skin=v3] body{color:#fff;background:#38b6fb;font-family:Jua,Gothic A1,-apple-system,BlinkMacSystemFont,sans-serif}[data-skin=v3] body:before{content:"";filter:blur(26px)saturate(.85)brightness(.82);z-index:-1;pointer-events:none;background:#38b6fb url(/art/scene.webp) 50%/cover no-repeat;position:fixed;inset:0;transform:scale(1.15)}[data-skin=v3] .app{background:#38b6fb url(/art/scene.webp) 50%/cover no-repeat;box-shadow:0 0 0 1px #ffffff29,0 18px 60px #001e3c73}[data-skin=v3] .app-home{max-width:480px}[data-skin=v3] .home-grid{grid-template-columns:minmax(0,1fr);gap:20px}[data-skin=v3] .home-preview{display:none}[data-skin=v3] .app{--play-w:min(calc(var(--app-w) * 1.06), calc((100svh - 40px) / 2.1));--bar-h:calc(var(--play-w) * .2907);--ground-h:calc(var(--app-w) * .2857);--app-w:min(480px, 100vw);gap:0;position:relative}[data-skin=v3] .pc b,[data-skin=v3] .ply,[data-skin=v3] .stop-label,[data-skin=v3] .v3-btn span{-webkit-text-stroke:2px #3c2208eb;paint-order:stroke fill;text-shadow:0 2px #0000004d}[data-skin=v3] .app-start h1{-webkit-text-stroke:5px #143c60e6;paint-order:stroke fill;text-shadow:0 3px #00000047}[data-skin=v3] .lede,[data-skin=v3] .app-start p{color:#fff;text-shadow:0 1px 3px #0a2846d9,0 0 10px #0a2846b3}[data-skin=v3] .ghost-btn{color:#eaf4ff;background:#092a4ab8;border-color:#ffffff47}[data-skin=v3] .hud2{box-shadow:none;background:0 0;border:none;grid-template-columns:1fr 13% 1fr;align-items:center;gap:0;padding:8px 6px 2px;position:relative}[data-skin=v3] .pc-on{box-shadow:none;border-color:#0000}[data-skin=v3] .pc{aspect-ratio:700/287;opacity:1;background:50%/100% 100% no-repeat;border:none;min-width:0;padding:0;display:block;position:relative;transform:none}[data-skin=v3] .hud2>.pc:first-child:has(.chip-black){background-image:url(/art/card2-black.webp)}[data-skin=v3] .hud2>.pc:first-child:has(.chip-white){background-image:url(/art/card2-white-l.webp)}[data-skin=v3] .hud2>.pc:last-child:has(.chip-black){background-image:url(/art/card2-black-r.webp)}[data-skin=v3] .hud2>.pc:last-child:has(.chip-white){background-image:url(/art/card2-white.webp)}[data-skin=v3] .pc-dim{filter:saturate(.72)brightness(.94)}[data-skin=v3] .pc-on{filter:drop-shadow(0 0 7px #ffd66ebf)}[data-skin=v3] .pc-who{gap:0;display:block;position:absolute;inset:0}[data-skin=v3] .pc .dot{aspect-ratio:1;border:none;border-radius:50%;width:27%;height:auto;position:absolute;top:50%;overflow:hidden;transform:translate(-50%,-50%)}[data-skin=v3] .hud2>.pc:first-child .dot{left:19.8%}[data-skin=v3] .hud2>.pc:last-child .dot{left:79.9%}[data-skin=v3] .pc .dot{box-shadow:none;background:#cfd6e0 50%/105% no-repeat}[data-skin=v3] .pc .dot.chip-black{background-color:#3d4450;background-image:url(/art/avatar-black.webp)}[data-skin=v3] .pc .dot.chip-white{background-color:#e8e4dc;background-image:url(/art/avatar-white.webp)}[data-skin=v3] .pc b{white-space:nowrap;font-size:clamp(12px,3.6vw,17px);font-weight:400;position:absolute;top:32%;transform:translate(-50%,-50%)}[data-skin=v3] .hud2>.pc:first-child b{left:66.5%}[data-skin=v3] .hud2>.pc:last-child b{left:33.5%}[data-skin=v3] .pc-note{white-space:nowrap;color:#ffe9a8;-webkit-text-stroke:2px #3c2208eb;paint-order:stroke fill;text-shadow:0 1px #0000004d;font-size:clamp(10px,3vw,13px);position:absolute;top:68%;transform:translate(-50%,-50%)}[data-skin=v3] .hud2>.pc:first-child .pc-note{left:66.5%}[data-skin=v3] .hud2>.pc:last-child .pc-note{left:33.5%}[data-skin=v3] .pc-note[data-kind=rank]:before{content:"";vertical-align:-.24em;background:url(/art/trophy.webp) 50%/contain no-repeat;width:1.2em;height:1.2em;margin-right:.2em;display:inline-block}[data-skin=v3] .pc-ring,[data-skin=v3] .pc-digit{display:none}[data-skin=v3] .pc-chips{justify-content:flex-end;position:absolute;bottom:-6%;left:30%;right:6%}[data-skin=v3] .hud-mid{aspect-ratio:420/460;z-index:2;background:url(/art/vs2.webp) 50%/contain no-repeat;justify-self:center;place-items:center;width:78%;min-width:0;padding-top:0;display:grid;position:static}[data-skin=v3] .hud-mid .ply{display:none}[data-skin=v3] .ply-ground{left:50%;top:calc(var(--ground-h) * .42);color:#fff;-webkit-text-stroke:3px #603e14d9;paint-order:stroke fill;text-shadow:0 2px #00000040;pointer-events:none;z-index:1;font-size:clamp(12px,3.4vw,15px);position:absolute;transform:translate(-50%)}[data-skin=v3] .mute-btn{background:#092a4a80;border:none;border-radius:999px;padding:4px 5px;font-size:12px;line-height:1;position:absolute;top:0;bottom:auto;right:0}[data-skin=v3] .board-wrap{width:var(--play-w);z-index:1;aspect-ratio:1;background:url(/art/board.webp) 50%/100% 100% no-repeat;flex:none;margin:auto 0 0;padding:0;display:block;position:relative;left:50%;overflow:visible;transform:translate(-50%)}[data-skin=v3] .board-wrap>.board{left:var(--art-board-inset-x);top:var(--art-board-inset-y);width:var(--art-board-size);height:var(--art-board-size);max-width:none;box-shadow:none;background:0 0;border:none;border-radius:0;position:absolute}[data-skin=v3] .board-wrap .board-face{fill:none}[data-skin=v3] .board-wrap .board-grid line{stroke:#784a188c;stroke-width:.045px}[data-skin=v3] .board-wrap .board-star circle{fill:#60370ecc}[data-skin=v3] .board-wrap .stone-black circle:first-child{fill:url(#stone-sheen-black)}[data-skin=v3] .board-wrap .stone-white circle:first-child{fill:url(#stone-sheen-white)}[data-skin=v3] .board-wrap .stone circle:first-child{stroke:#1e120480;stroke-width:.045px;filter:drop-shadow(0 .1px .08px #46280a99)}[data-skin=v3] .board-wrap .stone-gloss{fill:#fff;pointer-events:none;display:block}[data-skin=v3] .board-wrap .stone-black .stone-gloss{fill-opacity:.3}[data-skin=v3] .board-wrap .stone-white .stone-gloss{fill-opacity:.85}[data-skin=v3] .board-wrap .active-ring{stroke:#e8443c;stroke-width:.13px}[data-skin=v3] .ground{width:100%;height:var(--ground-h);background:url(/art/ground2.webp) top/100% 100% no-repeat;flex:none;margin:-1% auto 0;position:relative}[data-skin=v3] .ground:before,[data-skin=v3] .ground:after{content:"";top:calc(var(--ground-h) * .58);aspect-ratio:1134/1387;pointer-events:none;background:bottom/contain no-repeat;width:20%;position:absolute;transform:translateY(-100%)}[data-skin=v3] .ground:before{background-image:url(/art/char-black.webp);left:2%}[data-skin=v3] .ground:after{background-image:url(/art/char-white.webp);right:2%}[data-skin=v3] .stops{box-shadow:none;padding:0 8px calc(10px + env(safe-area-inset-bottom));background:0 0;border:none;margin-top:0;display:block}[data-skin=v3] .slots-row{width:calc(var(--play-w) * .62);margin:calc(var(--ground-h) * -.52) auto 4px;aspect-ratio:2145/733;box-shadow:none;background:url(/art/items-bar.webp) 50%/100% 100% no-repeat;border:none;padding:0;display:block;position:relative}[data-skin=v3] .slots-row>*{width:18%;height:56%;box-shadow:none;background:0 0;border:none;place-items:center;padding:0;display:grid;position:absolute;top:22%}[data-skin=v3] .slots-row>:first-child{left:18.1%}[data-skin=v3] .slots-row>:nth-child(2){left:40.9%}[data-skin=v3] .slots-row>:nth-child(3){left:63.9%}[data-skin=v3] .slot-name{display:none}[data-skin=v3] .slot-item.slot-on{filter:drop-shadow(0 0 6px #ffd24a)brightness(1.15)}[data-skin=v3] .item-icon{display:none}[data-skin=v3] .slot-item:after{content:"";background:50%/contain no-repeat;position:absolute;inset:8%}[data-skin=v3] .slot-item[data-kind=CALM]:after{background-image:url(/art/item-calm.webp)}[data-skin=v3] .slot-item[data-kind=CUT]:after{background-image:url(/art/item-cut.webp)}[data-skin=v3] .slot-item[data-kind=SHIELD]:after{background-image:url(/art/item-shield.webp)}[data-skin=v3] .slot-item[data-kind=HASTE]:after{background-image:url(/art/item-haste.webp)}[data-skin=v3] .v3-bar{width:var(--play-w);aspect-ratio:1400/407;background:url(/art/buttons-bar2.webp) 50%/100% 100% no-repeat;margin:0 auto;position:relative}[data-skin=v3] .v3-btn,[data-skin=v3] .v3-bar .stop{background:0 0;border:none;place-items:center;padding:0;transition:transform 60ms;display:grid;position:absolute}[data-skin=v3] .v3-btn{height:42%;top:66%;transform:translateY(-50%)}[data-skin=v3] .v3-btn:active{transform:translateY(-50%)translateY(4px)}[data-skin=v3] .v3-btn[data-at=resign]{width:13.6%;left:4%}[data-skin=v3] .v3-btn[data-at=hint]{width:14.6%;left:21.4%}[data-skin=v3] .v3-bar .stop{aspect-ratio:1;width:21%;height:auto;box-shadow:none;background:0 0;border-radius:50%;top:45.5%;left:49.9%;transform:translate(-50%,-50%)}[data-skin=v3] .v3-btn[data-at=ai]{width:14.3%;left:63.8%}[data-skin=v3] .v3-btn[data-at=undo]{width:14.3%;left:81.7%}[data-skin=v3] .v3-btn i{aspect-ratio:1;background:50%/contain no-repeat;width:56%;margin-bottom:-6%;display:block}[data-skin=v3] .v3-btn[data-at=resign] i{background-image:url(/art/btn-resign.webp)}[data-skin=v3] .v3-btn[data-at=hint] i{background-image:url(/art/btn-hint.webp)}[data-skin=v3] .v3-btn[data-at=ai] i{background-image:url(/art/btn-ai.webp)}[data-skin=v3] .v3-btn[data-at=undo] i{background-image:url(/art/btn-undo.webp)}[data-skin=v3] .v3-btn span{font-size:clamp(9px,2.6vw,12px);line-height:1}[data-skin=v3] .v3-bar .stop-face{width:auto;height:auto;box-shadow:none;z-index:1;background:0 0;border:none;justify-items:center;gap:0;display:grid}[data-skin=v3] .v3-bar .stop-label{font-size:clamp(13px,4vw,18px)}[data-skin=v3] .v3-bar .stop-digit{color:#6b3d05;-webkit-text-stroke:0;font-size:12px}[data-skin=v3] .v3-bar .stop-ring{position:absolute;inset:-7%;overflow:visible}[data-skin=v3] .v3-bar .stop-ring-track{stroke:#3c22084d;stroke-width:6px}[data-skin=v3] .v3-bar .stop-ring-fill{stroke:#fff8dc;stroke-width:6px}[data-skin=v3] .v3-bar .stop-who{display:none}[data-skin=v3] .v3-bar .stop-idle,[data-skin=v3] .v3-bar .stop-off{opacity:1;filter:saturate(.35)brightness(.86);transform:translate(-50%,-50%)}[data-skin=v3] .v3-bar .stop-idle .stop-label{opacity:1;font-size:clamp(13px,4vw,18px)}[data-skin=v3] .v3-bar .stop-on:active{transform:translate(-50%,-50%)scale(.94)}[data-skin=v3] .stops-done{padding:16px 18px calc(18px + env(safe-area-inset-bottom));background:#0c284edb;border-top:3px solid #0000004d}[data-skin=v3] .result-title{font-size:26px}[data-skin=v3] .result-sub,[data-skin=v3] .result-note{color:#d8e6f6}
