:root{color-scheme:dark;--bg: #17111f;--card-bg: #241b3a;--card-bg-2: #2d2249;--accent: #7c5cff;--accent-2: #ffd166;--text: #f1eefc;--text-dim: #b8aed6;--pos: #6fe3a1;--neg: #ff6f6f;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at top,#2a2049 0%,var(--bg) 60%);color:var(--text);min-height:100vh}.app{max-width:640px;margin:0 auto;padding:max(1rem,env(safe-area-inset-top)) max(1rem,env(safe-area-inset-right)) max(3rem,env(safe-area-inset-bottom)) max(1rem,env(safe-area-inset-left));display:flex;flex-direction:column;gap:1rem}.card{background:var(--card-bg);border-radius:16px;padding:1.25rem;box-shadow:0 8px 24px #00000059}h1{margin:0 0 .25rem;font-size:1.6rem}h2{margin:0;font-size:1.2rem}.subtitle{color:var(--text-dim);margin:.25rem 0 1rem}.player-list{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.player-row{display:flex;align-items:center;gap:.5rem;position:relative}.player-row.dragging{z-index:5;background:var(--card-bg-2);border-radius:10px;box-shadow:0 8px 20px #0006}.player-manager.is-dragging .player-row:not(.dragging) button{pointer-events:none}.drag-handle{background:transparent;color:var(--text-dim);padding:.3rem .35rem;font-size:1.15rem;line-height:1;flex-shrink:0;cursor:grab;touch-action:none}.drag-handle:active{cursor:grabbing;color:var(--accent-2)}.player-number{width:1.5rem;text-align:center;color:var(--text-dim);font-weight:600}input[type=text],select{background:var(--card-bg-2);border:1px solid #4a3d70;color:var(--text);border-radius:10px;padding:.6rem .7rem;font-size:1rem;width:100%}select{width:auto;min-width:3.5rem}button{font-size:1rem;border-radius:10px;border:none;padding:.7rem 1rem;cursor:pointer;font-weight:600}.primary{background:var(--accent);color:#fff;width:100%;margin-top:.75rem}.primary:disabled{opacity:.4;cursor:not-allowed}.secondary{background:transparent;color:var(--text);border:1px solid #4a3d70;width:100%}.secondary:disabled{opacity:.4;cursor:not-allowed}.danger{background:var(--neg);color:#2a0e0e}.link{background:none;color:var(--text-dim);text-decoration:underline;padding:.4rem}.icon-button{background:transparent;color:var(--text-dim);padding:.4rem .6rem}.round-header{display:flex;align-items:center;justify-content:space-between}.badge{background:var(--accent);color:#fff;border-radius:999px;padding:.25rem .75rem;font-size:.85rem;font-weight:600}.entry-table{width:100%;border-collapse:collapse;margin-top:.5rem}.entry-table th{text-align:left;color:var(--text-dim);font-weight:500;padding-bottom:.4rem}.entry-table td{padding:.35rem .25rem}.player-name{font-weight:600}.warning{color:var(--accent-2);font-size:.9rem}.standings{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.standings li{display:flex;align-items:center;gap:.6rem;background:var(--card-bg-2);border-radius:10px;padding:.5rem .75rem}.standings li.leader{background:linear-gradient(90deg,#4a3d70,var(--card-bg-2));border:1px solid var(--accent-2)}.standings .rank{color:var(--text-dim);width:1.5rem}.standings .name{flex:1;font-weight:600}.standings .score{font-weight:700;font-variant-numeric:tabular-nums}.history-wrap{overflow-x:auto;margin-top:1rem}.history-table{border-collapse:collapse;width:100%;font-size:.85rem;white-space:nowrap}.history-table th,.history-table td{padding:.35rem .5rem;text-align:center;border-bottom:1px solid #392c5c}.history-table td.pos{color:var(--pos)}.history-table td.neg{color:var(--neg)}.reset-area{display:flex;align-items:center;gap:.5rem;justify-content:center;flex-wrap:wrap}.game-over h1{text-align:center}.game-over .winner{text-align:center;color:var(--accent-2);font-weight:600;margin-bottom:1rem}.share-button{width:100%;margin-bottom:.6rem}.copy-row{display:flex;align-items:center;gap:.6rem;background:var(--card-bg-2);border-radius:10px;padding:.6rem .75rem;margin-bottom:.6rem}.copy-row-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:.15rem}.copy-row-label{font-size:.75rem;color:var(--text-dim)}.copy-row code{overflow-x:auto;white-space:nowrap;font-size:.85rem}.copy-row button{flex-shrink:0;width:auto;padding:.5rem .9rem}.admin-note{color:var(--accent-2);margin-top:.75rem}.claim-list{display:flex;flex-direction:column;gap:.5rem}.claim-list button{width:100%}.badge-claimed,.badge-open{border-radius:999px;padding:.2rem .6rem;font-size:.75rem;font-weight:600;flex-shrink:0}.badge-claimed{background:#6fe3a133;color:var(--pos)}.badge-open{background:#ffd16633;color:var(--accent-2)}.player-name-flex{flex:1;font-weight:600}.entry-value{color:var(--text-dim)}.entry-locked{opacity:.5}.waiting-note{margin-top:.5rem}.tabs{display:flex;gap:.4rem;background:var(--card-bg);border-radius:12px;padding:.3rem}.tab-button{flex:1;background:transparent;color:var(--text-dim);padding:.6rem}.tab-button.active{background:var(--accent);color:#fff}.app-menu-bar{display:flex;align-items:center;justify-content:space-between;gap:.5rem;background:var(--card-bg);border-radius:12px;padding:.5rem .5rem .5rem .9rem}.app-menu-code{color:var(--text-dim);font-weight:600;letter-spacing:.05em}.app-menu-toggle{font-size:1.3rem;line-height:1}.menu-panel{width:100%;max-width:480px}.menu-panel-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.menu-panel-header h2{margin:0}.menu-section-title{margin:.75rem 0 .5rem;font-size:1rem;color:var(--text-dim)}.menu-actions{display:flex;flex-direction:column;gap:.5rem;margin-top:1rem}.dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0614a6;display:flex;align-items:flex-end;justify-content:center;padding:max(1rem,env(safe-area-inset-top)) max(1rem,env(safe-area-inset-right)) max(1rem,env(safe-area-inset-bottom)) max(1rem,env(safe-area-inset-left));z-index:100;overscroll-behavior:contain}.dialog-box{width:100%;max-width:480px;max-height:calc(100vh - max(1rem,env(safe-area-inset-top)) - max(1rem,env(safe-area-inset-bottom)));max-height:calc(100dvh - max(1rem,env(safe-area-inset-top)) - max(1rem,env(safe-area-inset-bottom)));overflow-y:auto;overscroll-behavior:contain}.dialog-actions{display:flex;gap:.5rem;margin-top:1rem}.dialog-actions button{flex:1}.phase-indicator{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;margin:.25rem 0 1rem}.phase-indicator-text{margin:0}.phase-pill{display:inline-flex;align-items:center;gap:.3rem;border-radius:999px;padding:.25rem .7rem;font-size:.85rem;font-weight:700;flex-shrink:0}.phase-pill.phase-bidding{background:#7c5cff38;color:#b3a3ff}.phase-pill.phase-tricks{background:#ffd16633;color:var(--accent-2)}.entry-table th.col-active{color:var(--text)}.turn-card{background:var(--card-bg-2);border:1px solid var(--accent);border-radius:12px;padding:.9rem;margin-bottom:1rem}.turn-card.phase-bidding{border-color:#8f7bff}.turn-card.phase-tricks{border-color:var(--accent-2)}.turn-card-eyebrow{margin:0 0 .3rem;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.turn-card.phase-bidding .turn-card-eyebrow{color:#b3a3ff}.turn-card.phase-tricks .turn-card-eyebrow{color:var(--accent-2)}.turn-card-question{margin:0 0 .6rem;font-weight:600}.stepper{display:flex;flex-wrap:wrap;gap:.4rem}.stepper-option{flex:1 0 2.6rem;background:var(--card-bg);color:var(--text);border:1px solid #4a3d70;padding:.6rem .5rem;font-variant-numeric:tabular-nums}.stepper-option:hover:not(:disabled){border-color:var(--accent)}.stepper-option:disabled{opacity:.4;cursor:not-allowed}
