:root{--bg: #20242b;--table: #2a2f37;--panel: #171a1f;--line: #3a404a;--text: #f1f3f6;--muted: #9aa3b0;--green: #3ddc84;--danger: #ff6b6b;--radius: 12px;color-scheme:dark;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-tap-highlight-color:transparent}*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--bg);color:var(--text);overscroll-behavior:none}#app{height:100dvh}button{font:inherit;color:inherit;cursor:pointer}.muted{color:var(--muted)}.swatch{width:12px;height:12px;border-radius:3px;background:var(--c);flex:none}.btn{min-height:44px;padding:0 16px;border-radius:10px;border:1px solid var(--line);background:#2c323b;font-weight:600;white-space:nowrap}.btn:disabled{opacity:.4;cursor:default}.btn.primary{background:var(--green);border-color:var(--green);color:#0b2416}.btn.big{width:100%;min-height:52px;font-size:1.05rem}.ghost-btn{background:transparent}.btn.danger{border-color:var(--danger);color:var(--danger)}.icon-btn{width:44px;height:44px;display:grid;place-items:center;border-radius:10px;border:1px solid var(--line);background:#171a1fd9}.setup{height:100%;overflow-y:auto;padding:max(24px,env(safe-area-inset-top)) 16px max(24px,env(safe-area-inset-bottom))}.setup-inner{max-width:420px;margin:0 auto;display:flex;flex-direction:column;gap:18px}.logo{margin:12px 0 0;font-size:2.6rem;letter-spacing:.08em;text-transform:uppercase}.setup p{margin:0;line-height:1.45}.color-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.color-tile{position:relative;aspect-ratio:2 / 3;border-radius:var(--radius);border:3px solid transparent;background:color-mix(in srgb,var(--c) 35%,var(--panel));display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding-bottom:12px;font-weight:600;transition:transform .1s}.color-tile.picked{background:var(--c);border-color:#fff}.color-tile:active{transform:scale(.97)}.seat{position:absolute;top:10px;left:50%;translate:-50% 0;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-size:1.1rem;background:#00000040}.color-tile:not(.picked) .seat{background:transparent}.how{background:var(--panel);border-radius:var(--radius);padding:12px 16px}.how summary{font-weight:600;cursor:pointer}.setup-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px}.setup-head .logo{margin:0}.install-btn{display:flex;align-items:center;gap:6px;border-color:var(--green);color:var(--green);border-radius:999px}.install-help{margin:0;padding:12px 14px;border-radius:var(--radius);background:var(--panel);line-height:1.45}.notice{font-size:.8rem;color:var(--muted);text-align:center}.how ul{margin:10px 0 0;padding-left:18px;line-height:1.5;color:var(--muted)}.game{height:100%;display:flex;flex-direction:column;position:relative}.scores{display:flex;gap:6px;padding:max(8px,env(safe-area-inset-top)) 8px 8px;background:var(--panel);overflow-x:auto;scrollbar-width:none}.chip{position:relative;display:flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;border:2px solid transparent;background:#23272e;white-space:nowrap;font-size:.9rem}.chip.current{border-color:var(--c);background:color-mix(in srgb,var(--c) 22%,#23272e)}.chip-score{font-weight:700;font-variant-numeric:tabular-nums}.chip-left{font-size:.75rem;color:var(--muted);font-variant-numeric:tabular-nums}.chip-left:before{content:"·";margin-right:4px}.delta{font-size:.75rem;font-weight:700;padding:1px 5px;border-radius:6px}.delta.up{background:#3ddc8433;color:var(--green)}.delta.down{background:#ff6b6b33;color:var(--danger)}.board-wrap{position:relative;flex:1;min-height:0;background:radial-gradient(circle at 50% 40%,#323843,var(--table) 70%)}.board{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;touch-action:none;user-select:none;-webkit-user-select:none}.fit-btn{position:absolute;right:10px;bottom:10px}.hint{position:absolute;top:10px;left:50%;translate:-50% 0;max-width:calc(100% - 32px);padding:6px 12px;border-radius:999px;background:#171a1fd9;font-size:.85rem;text-align:center;pointer-events:none}.toast{position:absolute;left:50%;bottom:16px;translate:-50% 0;padding:12px 20px;border-radius:var(--radius);background:#0a0c0fe6;font-weight:700;font-size:1.1rem;pointer-events:none;opacity:0;transition:opacity .25s}.toast.show{opacity:1}.card-num{fill:#f4f4f6;font-weight:800;text-anchor:middle;dominant-baseline:central;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.last-ring{fill:none;stroke:#ffe066;stroke-width:.35;stroke-linejoin:round}.ghost-card{fill:#3ddc841a;stroke:var(--green);stroke-width:.3;stroke-dasharray:.9 .6;stroke-linejoin:round}.ghost.free .ghost-card{fill:#3ddc840f}.ghost-shape{fill:#3ddc8447;stroke:var(--green);stroke-width:.35;stroke-linejoin:round}.ghosts.dim .ghost:not(.active){opacity:.3}.preview{opacity:.94}.preview-ring{fill:none;stroke:var(--green);stroke-width:.5;stroke-linejoin:round;animation:pulse 1.1s ease-in-out infinite}@keyframes pulse{50%{stroke-opacity:.35}}.tray{display:flex;flex-direction:column;gap:10px;padding:10px 16px max(10px,env(safe-area-inset-bottom));background:var(--panel)}.turn{display:flex;align-items:center;gap:8px}.turn .muted{margin-left:auto;font-size:.85rem}.hand{display:flex;gap:12px;justify-content:center}.hand-card{flex:1;max-width:150px;display:flex;align-items:center;gap:10px;padding:8px;border-radius:var(--radius);border:2px solid var(--line);background:#20242b;text-align:left}.hand-card.selected{border-color:var(--green);background:#3ddc8414}.hand-card.blocked{opacity:.55}.card-svg{width:52px;height:auto;flex:none}.hand-label{display:flex;flex-direction:column;font-size:.8rem;color:var(--muted)}.hand-label b{color:var(--text);font-size:.95rem}.tray-actions{display:flex;gap:8px;align-items:center}.spacer,.btn.grow{flex:1}.modal{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:end center;background:#0000008c;padding:16px}.modal[hidden]{display:none}.sheet{width:100%;max-width:420px;background:var(--panel);border-radius:18px;padding:20px 16px max(16px,env(safe-area-inset-bottom))}.sheet h2{margin:0 0 4px;font-size:1.5rem}.sheet p{margin:0}.results{list-style:none;margin:16px 0;padding:0;display:flex;flex-direction:column;gap:6px}.results li{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;background:#23272e}.results li.winner{background:color-mix(in srgb,var(--c) 28%,#23272e);outline:2px solid var(--c)}.results .final{margin-left:auto;font-weight:800;font-size:1.2rem;font-variant-numeric:tabular-nums}.sheet-actions{display:flex;flex-wrap:wrap;gap:8px}.sheet-actions .btn.primary{flex:1 0 100%}.sheet-actions .btn:not(.primary){flex:1}
