:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--panel:#0c0e12d1;--line:#ffffff1a;--text:#e8e8e4;--muted:#8a909c;--accent:#6fd3ff;--warn:#ffc46b;--danger:#ff6b6b;font-family:Noto Sans JP,system-ui,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;color:var(--text);background:#030304;margin:0;overflow:hidden}.app{-webkit-user-select:none;user-select:none;width:100%;height:100%;position:relative}.board{touch-action:none;width:100%;height:100%;display:block;position:absolute;inset:0}.labels{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.overlay{pointer-events:none;position:absolute;inset:0;overflow:hidden}.panel{background:var(--panel);border:1px solid var(--line);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:10px;padding:10px 12px;font-size:13px;position:absolute}.row{justify-content:space-between;gap:16px;line-height:1.8;display:flex}.row span{color:var(--muted)}.score{text-shadow:0 1px 3px #000;position:absolute;top:10px;left:14px}.score>b{font-size:34px;font-weight:700}.score>span{color:var(--muted);margin-left:3px}.stock{color:var(--muted);align-items:center;gap:2px;font-size:15px;display:flex}.domino-face{width:12px;height:24px;margin-right:2px}.domino-face rect{fill:#9fb0c4}.domino-face circle{fill:#2b2a27}.domino-face line{stroke:#2b2a27;stroke-width:.6px}.stock .ones{align-items:center;margin-left:6px;font-size:13px;display:inline-flex}.stock .ones .domino-face{width:8px;height:16px;margin:0 2px}.extra{min-width:170px;padding:8px 10px;top:12px;right:12px}.extra .net{color:var(--warn)}.extra .count{color:var(--muted);margin-bottom:2px;font-size:11px}.rank{gap:8px;line-height:1.7;display:flex}.rank .pos{min-width:1.4em;color:var(--muted);text-align:right}.rank.outside{border-top:1px solid var(--line);margin-top:3px;padding-top:2px}.rank .name{text-overflow:ellipsis;white-space:nowrap;flex:1;max-width:12em;overflow:hidden}.rank.me{color:var(--accent)}.gain{color:var(--warn);text-shadow:0 1px 3px #000;font-size:22px;font-weight:700}.minimap{border:1px solid var(--line);background:#030304;border-radius:50%;width:180px;height:180px;position:absolute;bottom:12px;right:12px}.toast{background:var(--panel);border:1px solid var(--line);border-radius:999px;padding:6px 14px;font-size:13px;position:absolute;top:14px;left:50%;transform:translate(-50%)}.controls{flex-direction:column;align-items:center;gap:8px;display:flex;position:absolute;bottom:20px;left:50%;transform:translate(-50%)}.buttons{gap:10px;display:flex}.action{border:1px solid var(--accent);width:130px;height:56px;color:var(--text);cursor:pointer;touch-action:none;background:#6fd3ff24;border-radius:28px;font-size:17px;font-weight:700;position:relative}.action.on{background:var(--accent);color:#031018}.action.off{opacity:.35;cursor:default}.help-toggle{border:1px solid var(--line);background:var(--panel);width:32px;height:32px;color:var(--text);cursor:pointer;border-radius:50%;position:absolute;bottom:12px;left:12px}.help{max-width:420px;max-height:calc(100% - 66px);bottom:54px;left:12px;overflow-y:auto}.help h2,.guide h2{color:var(--accent);margin:4px 0;font-size:13px}.help ul,.guide ul{margin:0 0 6px;padding-left:18px;line-height:1.7}.help button{border:1px solid var(--accent);color:var(--text);cursor:pointer;background:0 0;border-radius:6px;margin-top:6px;padding:6px 16px}kbd{border:1px solid var(--line);background:#ffffff0f;border-radius:4px;margin:0 1px;padding:0 5px;font-size:11px;display:inline-block}.flyer{background:#9fb0c4 linear-gradient(#0000 45%,#2b2a27 45% 55%,#0000 55%);border-radius:1.5px;width:8px;height:16px;position:absolute;top:0;left:0;box-shadow:0 0 4px #0009}.domino-face.bump{animation:.18s ease-out stock-bump}@keyframes stock-bump{50%{transform:scale(1.35)}}.veil{pointer-events:none;background:#0000008c;position:absolute;inset:0}.veil.lift{opacity:0;transition:opacity .9s ease-out}.lobby{background:#030304;justify-content:center;align-items:center;padding:16px;display:flex;position:absolute;inset:0}.lobby-backdrop{opacity:.45;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.lobby-layout{position:relative}.lobby.after{background:#000000b8;animation:1s ease-in both lobby-in}.lobby.fading *{pointer-events:none}@keyframes lobby-in{0%{opacity:0}to{opacity:1}}.lobby-card{justify-self:center;width:100%;display:grid}.lobby-layout{grid-template-columns:minmax(0,1fr) minmax(0,320px) minmax(0,1fr);align-items:center;gap:20px 32px;width:100%;max-width:960px;display:grid}.lobby-side{text-align:center;flex-direction:column;align-items:center;gap:6px;display:flex}.lobby-side h3{color:var(--muted);margin:0 0 2px;font-size:13px;font-weight:600}.lobby-side .cause{margin:0}.lobby-side .replay-open{margin-top:6px}@media (orientation:portrait){.lobby-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}.lobby-card{grid-area:1/1/auto/-1}.lobby-side.left{grid-area:2/1}.lobby-side.right{grid-area:2/2}}@media (height<=420px){.name-hint{color:var(--warn);margin:-8px 0 -4px;font-size:12px}.lobby h1{margin-bottom:0;font-size:32px}.lobby-screen{gap:10px}}.lobby-screen{flex-direction:column;grid-area:1/1;place-self:center;align-items:center;gap:14px;width:100%;max-width:320px;display:flex;position:relative}.lobby h1{letter-spacing:1px;margin:0 0 8px;font-size:40px}.lobby .logo-title{width:min(100%,320px);line-height:0}.logo-title svg{width:100%;height:auto;display:block}.logo-replay{width:100%;color:inherit;cursor:default;background:0 0;border:0;margin:0;padding:0;display:block}.logo-replay:not(:disabled){cursor:pointer}.logo-replay:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:4px}.logo-dominoes{transition:opacity .15s ease-in-out}.logo-dominoes.hidden{opacity:0}@media (prefers-reduced-motion:reduce){.logo-dominoes{transition:none}}.lobby .cause{color:var(--danger);text-align:center;overflow-wrap:anywhere;margin-bottom:-10px;font-size:14px}.lobby .result{color:var(--muted);font-size:15px}.lobby .result b{color:var(--text);margin-right:2px;font-size:22px}.nick{border:1px solid var(--line);width:100%;height:46px;color:var(--text);text-align:center;background:#ffffff14;border-radius:23px;outline:none;font-size:18px}.nick:focus{border-color:var(--accent)}.play{background:var(--accent);color:#031018;cursor:pointer;border:0;border-radius:28px;width:100%;height:56px;font-size:22px;font-weight:700}.lobby-tools{gap:12px;display:flex}.settings-toggle{border:1px solid var(--line);background:var(--panel);width:40px;height:40px;color:var(--muted);cursor:pointer;border-radius:50%;font-size:18px}.credits-toggle{justify-content:center;align-items:center;display:inline-flex}.credits-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.server-toggle{color:var(--muted);cursor:pointer;text-underline-offset:3px;background:0 0;border:0;font-size:13px;text-decoration:underline}.servers{gap:6px}.server-region{flex-direction:column;gap:6px;margin-top:6px;display:flex}.server-region h3{justify-content:space-between;display:flex}.server-row{border:1px solid var(--line);height:36px;color:var(--text);cursor:pointer;background:0 0;border-radius:8px;justify-content:space-between;align-items:center;padding:0 12px;font-size:14px;display:flex}.server-row.on{border-color:var(--accent);color:var(--accent)}.server-row:disabled{opacity:.4;cursor:default}.server-meta{color:var(--muted);font-size:12px;font-weight:400}.invite{border:1px solid var(--line);height:36px;color:var(--text);cursor:pointer;background:0 0;border-radius:8px;font-size:14px}.settings-toggle.fresh{color:var(--accent);border-color:var(--accent);animation:1.6s ease-out infinite fresh-ring}@keyframes fresh-ring{0%{box-shadow:0 0 #6fd3ff8c}70%,to{box-shadow:0 0 0 14px #6fd3ff00}}.guide{text-align:left;gap:0;max-height:calc(100vh - 140px);font-size:13px;overflow-y:auto}.guide ul{line-height:1.6}.lobby .guide h2{color:var(--accent);margin:6px 0 4px;font-size:13px}.credits{-webkit-user-select:text;user-select:text;overflow-wrap:anywhere}.credits h3{color:var(--accent)}.credits p{margin:0 0 8px;line-height:1.6}.credits a{color:var(--accent)}.credits summary{cursor:pointer;line-height:1.6}.credits pre{white-space:pre-wrap;font:11px/1.6 ui-monospace,monospace}@media (width>=720px) and (height>=520px){.lobby-layout.sub{grid-template-columns:minmax(0,1fr) minmax(0,640px) minmax(0,1fr)}.lobby-screen.sub{max-width:640px}.lobby-screen.sub .setting{padding:16px 20px;font-size:15px}.lobby-screen.sub .guide{font-size:14px}.lobby-screen.sub .bind-table{gap:10px 16px;font-size:14px}.lobby-screen.sub .bind{height:36px;font-size:13px}}.lobby h2{color:var(--muted);margin:0 0 8px;font-size:28px}.lobby .back{border:1px solid var(--line);background:var(--panel);width:40px;height:40px;color:var(--text);cursor:pointer;border-radius:50%;font-size:24px;line-height:1;position:absolute;top:0;left:0}.setting{background:var(--panel);border:1px solid var(--line);box-sizing:border-box;border-radius:10px;flex-direction:column;gap:8px;width:100%;padding:12px;font-size:14px;display:flex}.setting h3{color:var(--muted);margin:0 0 2px;font-size:13px;font-weight:600}.bind-table{white-space:nowrap;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px 10px;font-size:13px;display:grid}.bind-head{color:var(--muted);text-align:center;font-size:11px}.bind-default{color:var(--muted);text-align:center;font-size:12px}.bind{border:1px solid var(--line);width:100%;height:32px;color:var(--text);white-space:nowrap;text-overflow:ellipsis;cursor:pointer;background:#ffffff0f;border-radius:8px;padding:0 6px;font-size:12px;overflow:hidden}.bind.on{border-color:var(--accent);color:var(--accent)}.bind-reset{color:var(--muted);cursor:pointer;background:0 0;border:0;align-self:flex-end;margin-top:4px;font-size:12px;text-decoration:underline}.setting .check{cursor:pointer;align-items:center;gap:8px;display:flex}.setting .check input{width:18px;height:18px;accent-color:var(--accent);margin:0}.setting-note{color:var(--muted);margin:0;font-size:12px}.volumes{grid-template-columns:auto 1fr 3em;align-items:center;gap:8px 12px;display:grid}.volumes input{width:100%;accent-color:var(--accent);margin:0}.volume-value{text-align:right;color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.stick{pointer-events:none;width:100%;height:100%;display:none;position:absolute;inset:0;overflow:visible}.stick circle{fill:none;stroke:#ffffff73;stroke-width:2px}.stick line{stroke:#6fd3ffb3;stroke-width:4px;stroke-linecap:round}.stick path{fill:#6fd3ffd9}.stick.dash line{stroke:#ffc46bd9}.stick.dash path{fill:#ffc46bf2}.stick circle.dash-ring{stroke:#ffffff24;stroke-width:1.5px;stroke-dasharray:4 6}.stick.dash circle.dash-ring{stroke:#ffc46b99}.phone .controls{align-items:flex-end;bottom:16px;left:auto;right:16px;transform:none}.phone .buttons{width:160px;height:150px;position:relative}.phone .action{border-radius:50%;font-size:15px;position:absolute}.phone .action:after{content:"";border-radius:50%;position:absolute;inset:-12px}.phone .action.topple{width:88px;height:88px;font-size:18px;bottom:0;right:0}.phone .action.place{width:64px;height:64px;bottom:56px;right:92px}.phone .minimap{width:110px;height:110px;inset:12px auto auto 12px}.phone .score{top:128px;left:14px}.phone .score>b{font-size:26px}.phone .extra{width:140px;min-width:0}.phone .help-toggle{top:196px;bottom:auto}.phone .toast{text-align:center;max-width:calc(100% - 32px);top:auto;bottom:180px}.phone .help{max-height:calc(100% - 248px);top:236px;bottom:auto;right:12px}.phone .panel{padding:6px 8px;font-size:11px}.phone .row{gap:8px;line-height:1.6}@media (orientation:landscape){.phone .action.place{bottom:12px;right:100px}.phone .extra{width:120px;padding:4px 6px;font-size:clamp(8px,3vh,10px)}.phone .extra .rank{gap:4px;line-height:1.3}.phone .extra .count{font-size:inherit;margin-bottom:0}.phone .toast{max-width:calc(100% - 300px);top:12px;bottom:auto}}@media (orientation:portrait){.phone .extra{-webkit-backdrop-filter:none;backdrop-filter:none;text-shadow:0 1px 3px #000;background:0 0;border:0}}.score,.extra,.minimap,.toast,.controls{pointer-events:none}.perf{color:#9fe;pointer-events:none;white-space:nowrap;background:#0009;border-radius:4px;padding:2px 6px;font:11px/1.4 ui-monospace,monospace;position:absolute;bottom:12px;left:48px}.trouble{text-align:center;z-index:5;flex-direction:column;align-items:center;gap:8px;width:min(320px,100% - 32px);display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.trouble b{color:var(--warn)}.trouble p{color:var(--muted);margin:0;font-size:13px}.controls button{pointer-events:auto}.replay-open{border:1px solid var(--line);background:var(--panel);height:36px;color:var(--text);cursor:pointer;border-radius:18px;padding:0 18px;font-size:15px}.replay{z-index:20;background:#030406;justify-content:center;align-items:center;padding:16px;display:flex;position:absolute;inset:0}.replay-box{flex-direction:column;align-items:center;gap:12px;width:min(100%,100dvh - 196px);display:flex}.replay-side{flex-direction:column;align-items:center;gap:12px;display:flex}.replay-canvas{aspect-ratio:1;background:#030304;border-radius:8px;width:100%}.replay-buttons{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.replay-buttons button{border:1px solid var(--line);background:var(--panel);height:40px;color:var(--text);cursor:pointer;border-radius:20px;padding:0 18px;font-size:15px}.replay-buttons button:disabled{opacity:.4;cursor:default}.replay-buttons button.primary:disabled{opacity:.35}.replay-buttons button.primary{background:var(--accent);color:#031018;border:0;font-weight:700}.replay-note{color:var(--muted);text-align:center;font-size:14px}.replay-seek{align-items:center;gap:12px;width:100%;display:flex}.replay-play{border:1px solid var(--line);background:var(--panel);width:40px;height:40px;color:var(--text);cursor:pointer;border-radius:50%;flex:none;font-size:14px}.replay-bar{cursor:pointer;touch-action:none;flex:1;height:32px;position:relative}.replay-track,.replay-buffer,.replay-fill{border-radius:2px;height:4px;margin-top:-2px;position:absolute;top:50%;left:0}.replay-track{background:var(--line);right:0}.replay-buffer{background:#4a5263}.replay-fill{background:var(--accent)}.replay-death{pointer-events:none;background:#ff6b4a;border-radius:2px;width:4px;height:18px;margin:-9px 0 0 -2px;position:absolute;top:50%}.replay-knob{background:var(--text);pointer-events:none;border-radius:50%;width:14px;height:14px;margin:-7px 0 0 -7px;position:absolute;top:50%}@media (aspect-ratio>=5/4){.replay-box{grid-template-columns:min(100dvh - 96px,100vw - 228px) 168px;grid-template-areas:"canvas side""seek side";align-items:end;gap:12px 28px;width:auto;display:grid}.replay-canvas{grid-area:canvas}.replay-seek{grid-area:seek}.replay-side{grid-area:side;align-self:center;align-items:stretch}.replay-buttons{flex-flow:column-reverse}}
