:root{--bg:#1e2124;--panel:#2b2d31;--panel-2:#232428;--text:#f2f3f5;--muted:#9da3ad;--accent:#5865f2;--accent-hover:#4752c4;--danger:#da373c;--ok:#57d68d;--warn:#f0b232;--radius:10px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font:15px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}code{background:var(--panel-2);border-radius:4px;padding:1px 5px;font-size:.9em}h1{margin:0 0 4px;font-size:1.6rem}h2{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:18px 0 6px;font-size:1rem}h3{align-items:center;gap:8px;margin:0 0 6px;font-size:1rem;display:flex}.muted{color:var(--muted)}.small{font-size:.85rem}.ok{color:var(--ok)}.warn{color:var(--warn)}p{margin:6px 0}.center-msg,.center-card{text-align:center;max-width:520px;margin:8vh auto;padding:0 16px}.center-card{background:var(--panel);text-align:left;border-radius:14px;padding:24px}.spinner{border:3px solid var(--panel);border-top-color:var(--accent);border-radius:50%;width:28px;height:28px;margin:0 auto 12px;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.row{flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;display:flex}.row.amount b{text-align:center;min-width:1.5em}.btn{color:var(--text);font:inherit;cursor:pointer;background:#4e5058;border:0;border-radius:6px;min-height:36px;padding:8px 14px;font-weight:600}.btn:hover:not(:disabled){filter:brightness(1.12)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.primary{background:var(--accent)}.btn.danger{background:var(--danger)}.btn.ghost{background:0 0;box-shadow:inset 0 0 0 1px #4e5058}.btn.small{min-height:30px;padding:4px 10px}.btn:focus-visible,.icon:focus-visible,.close:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.dot{vertical-align:middle;border-radius:50%;flex:none;width:11px;height:11px;margin-right:6px;display:inline-block}.tag{background:var(--accent);border-radius:4px;margin-left:6px;padding:1px 6px;font-size:.75rem}.lobby-players,.rules{margin:0;padding-left:0;list-style:none}.lobby-players li{padding:5px 0}.rules li{color:var(--muted);padding:3px 0}.topbar{background:var(--panel-2);z-index:2;justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;display:flex;position:sticky;top:0}.topbar .title{font-size:1.05rem;font-weight:700}.banner{border-radius:var(--radius);margin:10px 16px 0;padding:10px 14px;font-weight:600}.banner.win{color:#ffd166;background:#3b3a1e}.banner.dead{color:#ff9aa5;background:#3a1e22}.layout{align-items:flex-start;gap:16px;padding:12px 16px 24px;display:flex}.board-wrap{flex:auto;justify-content:center;min-width:0;display:flex}.board-wrap canvas{cursor:pointer;touch-action:manipulation;border-radius:8px;display:block}.side{flex-direction:column;flex:0 0 330px;gap:12px;display:flex}.card{background:var(--panel);border-radius:var(--radius);padding:14px;position:relative}.card .close{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;width:32px;height:32px;font-size:1.4rem;position:absolute;top:6px;right:8px}.card .close:hover{color:var(--text);background:#3a3c42}.me .stats{text-align:center;grid-template-columns:repeat(3,1fr);display:grid}.me .stats b{font-size:1.6rem;line-height:1.1;display:block}.me .stats span{color:var(--muted);font-size:.8rem}.hint{margin-top:10px}.queue{margin:0;padding-left:22px}.queue li{padding:3px 0}.queue li>span{max-width:calc(100% - 36px);display:inline-block}.icon{float:right;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;width:28px;height:28px;font-size:1.15rem}.icon:hover{color:var(--text);background:#3a3c42}.players{border-collapse:collapse;width:100%}.players th{color:var(--muted);text-align:right;padding:2px 4px;font-size:.8rem;font-weight:600}.players td{text-align:right;font-variant-numeric:tabular-nums;padding:6px 4px}.players td:first-child,.players th:first-child{text-align:left}.players tr[data-ui]{cursor:pointer}.players tr[data-ui]:hover td{background:#34363c}.players tr.me td{font-weight:700}.players tr.dead td{color:var(--muted)}.players tr.dead td:first-child{text-decoration:line-through}#toast{color:var(--text);opacity:0;pointer-events:none;z-index:10;background:#111214;border-radius:8px;max-width:min(90vw,520px);padding:10px 16px;transition:opacity .2s,transform .2s;position:fixed;bottom:20px;left:50%;transform:translate(-50%,20px);box-shadow:0 6px 24px #0006}#toast.show{opacity:1;transform:translate(-50%)}#toast.error{background:#4a1d21}@media (width<=859px){.layout{flex-direction:column;padding:10px 8px 24px}.board-wrap,.side{flex:none;width:100%}.topbar{padding:8px 12px}}@media (prefers-reduced-motion:reduce){.spinner{animation:none}#toast{transition:none}}.card-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.card-head h1,.card-head h2{margin:0}.lobby{grid-template-columns:minmax(260px,340px) minmax(0,1fr);gap:16px;max-width:1080px;margin:0 auto;padding:16px;display:grid}.lobby-main{align-self:start;position:sticky;top:16px}.lobby-settings .card-head{margin-bottom:4px}.group{border:0;margin:14px 0 0;padding:0}.group legend{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px;padding:0;font-size:.8rem;font-weight:700}.field{border-top:1px solid #3a3c42;justify-content:space-between;align-items:center;gap:16px;padding:9px 0;display:flex}.group .field:first-of-type{border-top:0}.field .label{flex-direction:column;min-width:0;font-weight:600;display:flex}.field .label small{color:var(--muted);margin-top:1px;font-size:.8rem;font-weight:400;line-height:1.3}.field .control{flex:none;align-items:center;gap:8px;display:flex}.field input[type=number],.field input[type=text],.field select{background:var(--panel-2);color:var(--text);font:inherit;border:1px solid #4e5058;border-radius:6px;min-height:36px;padding:6px 8px}.field input[type=number]{text-align:right;width:76px}.field input[type=text]{width:96px}.field select{max-width:230px}.field input:focus-visible,.field select:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.field :disabled{opacity:.75;cursor:default}.zero-hint{color:var(--muted);min-width:3.2em;font-size:.8rem}.toggle{cursor:pointer;position:relative}.toggle input{opacity:0;width:1px;height:1px;position:absolute}.toggle .switch{background:#4e5058;border-radius:12px;flex:none;width:42px;height:24px;transition:background .15s;position:relative}.toggle .switch:after{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .15s;position:absolute;top:3px;left:3px}.toggle input:checked+.switch{background:var(--accent)}.toggle input:checked+.switch:after{transform:translate(18px)}.toggle input:focus-visible+.switch{outline:2px solid var(--accent);outline-offset:2px}.toggle input:disabled+.switch{opacity:.6}.toggle:has(input:disabled){cursor:default}.help-btn{flex:none}.topbar-right{align-items:center;gap:12px;min-width:0;display:flex}#modal[hidden]{display:none}.modal-backdrop{z-index:20;background:#0009;position:fixed;inset:0}.modal-card{z-index:21;background:var(--panel);border-radius:14px;width:min(620px,100vw - 24px);max-height:calc(100vh - 32px);padding:22px 24px;position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%);box-shadow:0 12px 40px #00000080}.modal-card h2{color:var(--text);text-transform:none;letter-spacing:0;margin:0 0 4px;font-size:1.3rem}.modal-card h3{margin:16px 0 4px}.modal-card ul{margin:4px 0;padding-left:20px}.modal-card li{margin:4px 0}.modal-card .close{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;width:36px;height:36px;font-size:1.5rem;position:absolute;top:10px;right:12px}.modal-card .close:hover{color:var(--text);background:#3a3c42}@media (width<=859px){.lobby{grid-template-columns:1fr;padding:10px 8px}.lobby-main{position:static}.field{flex-wrap:wrap}.field select{max-width:100%}.topbar #status{font-size:.8rem}}
