:root{--bg: #0C0E1A;--surface: #14172A;--surface-2: #171B30;--border: #262B45;--border-strong: #303660;--divider: #1E2238;--text: #EDEEF7;--text-muted: #8A90AD;--chip: #B9BFDD;--blue: #6366F1;--blue-600: #565ae0;--accent-glow: rgba(99, 102, 241, .4);--green: #4FD1C5;--green-600: #38b9ad;--red: #FF6B8A;--spade: #A5B4FF;--heart: #FF6B8A;--diamond: #FFC24B;--club: #4FD1C5;--radius: 16px;--shadow: 0 1px 2px rgba(0, 0, 0, .3);--shadow-lg: 0 30px 80px rgba(0, 0, 0, .5);--maxw: 780px;--font: "Space Grotesk", system-ui, -apple-system, "Segoe UI", sans-serif}:root[data-theme=light]{--bg: #F3F4FB;--surface: #FFFFFF;--surface-2: #F7F8FE;--border: #E3E5F2;--border-strong: #D2D6EC;--divider: #EEEFF7;--text: #0C0E1A;--text-muted: #6B7096;--chip: #4A4F73;--blue: #5B5FE0;--blue-600: #4a4ec9;--accent-glow: rgba(91, 95, 224, .28);--green: #0E9384;--green-600: #0b7d70;--red: #E11D74;--spade: #4F5BD5;--heart: #E11D74;--diamond: #C77A00;--club: #0E9384;--shadow: 0 1px 3px rgba(0, 0, 0, .08), 0 1px 2px rgba(0, 0, 0, .04);--shadow-lg: 0 10px 25px rgba(0, 0, 0, .12)}*{box-sizing:border-box}body{margin:0;font-family:var(--font);background:var(--bg);color:var(--text);line-height:1.5;-webkit-font-smoothing:antialiased;transition:background .25s,color .25s}::selection{background:#6366f159}.app-header{background:var(--bg);border-bottom:1px solid var(--border);padding:15px 20px;position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:12px}.app-header h1{font-size:18px;margin:0;letter-spacing:-.01em}.app-header .spacer{flex:1}.container{max-width:var(--maxw);margin:0 auto;padding:28px 20px 80px}.stack{display:flex;flex-direction:column;gap:12px}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow)}h2{font-size:28px;margin:0 0 4px;letter-spacing:-.02em;font-weight:700}.subtitle{color:var(--text-muted);margin:0 0 24px}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid transparent;border-radius:14px;padding:14px 20px;font-size:16px;font-weight:700;font-family:var(--font);cursor:pointer;transition:background .15s,transform .05s,box-shadow .15s,filter .15s;color:#fff;background:var(--blue);box-shadow:0 8px 24px var(--accent-glow);text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn:hover{filter:brightness(1.06)}.btn:active{transform:translateY(1px)}.btn-block{width:100%;padding:17px;font-size:17px}.btn-success{background:var(--green);box-shadow:0 8px 24px #4fd1c54d}.btn-ghost{background:var(--surface);color:var(--text);border-color:var(--border);box-shadow:none}.btn-ghost:hover{background:var(--surface-2);filter:none}.btn-danger{background:transparent;color:var(--red);border-color:var(--border);box-shadow:none}.btn-danger:hover{background:var(--surface-2);filter:none}.btn:disabled{background:var(--border-strong);color:var(--text-muted);cursor:not-allowed;transform:none;box-shadow:none}.btn-ghost:disabled{background:transparent;color:var(--text-muted);border-color:var(--border);opacity:.6}.btn-ghost:disabled:hover{background:transparent}label{font-weight:600;font-size:14px;color:var(--text-muted)}input[type=text],input[type=number],input[type=date],input[type=password],select{width:100%;padding:12px 14px;font-size:16px;font-family:var(--font);border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--text)}input:focus,select:focus{outline:2px solid var(--blue);border-color:transparent}table{width:100%;border-collapse:collapse}th,td{padding:13px 12px;text-align:left;border-bottom:1px solid var(--divider)}th{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-weight:600}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}tr:last-child td{border-bottom:none}.back-link{color:var(--blue);text-decoration:none;font-weight:600;font-size:15px}.back-link:hover{text-decoration:underline}.muted{color:var(--text-muted)}.placeholder{border:1px dashed var(--border);border-radius:var(--radius);padding:32px;text-align:center;color:var(--text-muted)}.section{margin-top:24px}.section>h3{font-size:12px;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);margin:0 0 12px;font-weight:600}.chip-group{display:flex;flex-wrap:wrap;gap:9px}.chip{padding:11px 17px;min-height:44px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;font-weight:600;font-size:15px;font-family:var(--font);transition:border-color .12s,background .12s,box-shadow .12s}.chip:hover:not(:disabled){border-color:var(--blue)}.chip.selected{background:var(--blue);color:#fff;border-color:var(--blue);box-shadow:0 6px 18px var(--accent-glow)}.chip:disabled,.chip.disabled{opacity:.4;cursor:not-allowed}.player-list{display:flex;flex-direction:column;gap:8px}.player-row{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}.player-row.dragging{opacity:.4}.player-row .handle{cursor:grab;color:var(--text-muted);font-size:18px;-webkit-user-select:none;user-select:none}.player-row .name{font-weight:600}.player-row .dealer-badge{font-size:11px;font-weight:700;color:var(--bg);background:var(--spade);border-radius:999px;padding:2px 9px}.player-row .remove{margin-left:auto;background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:18px;line-height:1;padding:4px}.player-row .remove:hover{color:var(--red)}.segmented{display:inline-flex;border:1px solid var(--border);border-radius:12px;overflow:hidden}.segmented button{padding:11px 20px;border:none;background:var(--surface);color:var(--text);cursor:pointer;font-weight:600;font-size:15px;font-family:var(--font);border-left:1px solid var(--border)}.segmented button:first-child{border-left:none}.segmented button.active{background:var(--blue);color:#fff}.pin-row{display:flex;align-items:center;gap:10px}.pin-row input{max-width:140px;font-size:24px;letter-spacing:.25em;text-align:center;font-weight:700}.icon-btn{background:var(--surface);border:1px solid var(--border);border-radius:12px;width:48px;height:48px;cursor:pointer;font-size:20px;color:var(--text);display:inline-flex;align-items:center;justify-content:center}.icon-btn:hover{border-color:var(--blue)}.inline-error{color:var(--red);font-size:14px;margin-top:6px}.time-selects{display:flex;gap:10px}.time-selects select{max-width:160px}.game-meta{display:flex;flex-wrap:wrap;gap:8px;color:var(--chip);font-size:13px;margin-bottom:20px}.game-meta span{background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:6px 13px}.game-meta b{color:var(--text);font-weight:600}.timer-badge{font-variant-numeric:tabular-nums;font-weight:700;color:var(--blue)}td.dealer{font-weight:700}.round-item{border:1px solid var(--border);border-radius:14px;margin-top:8px;background:var(--surface)}.round-head{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;cursor:pointer;gap:10px}.round-head .round-title{font-weight:600;display:flex;align-items:center;gap:9px}.round-actions{display:flex;gap:4px;align-items:center}.icon-sm{background:none;border:none;cursor:pointer;font-size:20px;color:var(--text-muted);min-width:40px;min-height:40px;padding:6px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center}.icon-sm:hover{color:var(--blue);background:var(--surface-2)}.icon-sm.danger:hover{color:var(--red)}.round-details{padding:0 16px 14px 39px;font-size:14px;display:flex;flex-direction:column;gap:3px;color:var(--chip);font-variant-numeric:tabular-nums}.round-details .bidtype{font-weight:700;margin-bottom:2px;color:var(--text)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#04050ab8;display:flex;align-items:center;justify-content:center;z-index:100;padding:20px}.modal{background:var(--surface);border:1px solid var(--border);border-radius:20px;box-shadow:var(--shadow-lg);max-width:520px;width:100%;max-height:88vh;overflow:auto;padding:24px}.modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.field-title{font-weight:700;font-size:15px;margin:22px 0 10px;color:var(--text)}input[type=checkbox]{width:22px;height:22px;accent-color:var(--blue);cursor:pointer}.toggle-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 2px;border-bottom:1px solid var(--divider)}.toggle-row:last-child{border-bottom:none}.toggle-row span{font-weight:600}.trick-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 0;max-width:320px}.trick-row select{max-width:90px}.font-scale{display:flex;align-items:center;gap:6px}.font-scale button{width:40px;height:40px;font-size:16px;font-weight:700;padding:0}.font-scale .pct{min-width:46px;text-align:center;font-variant-numeric:tabular-nums;font-size:14px}.theme-toggle{width:40px;height:40px;border:1px solid var(--border);border-radius:11px;background:var(--surface);color:var(--diamond, #FFC24B);font-size:17px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.theme-toggle:hover{border-color:var(--blue)}input[type=text],input[type=number],input[type=date],input[type=time],input[type=password],select{min-height:44px}input[type=checkbox]{width:24px;height:24px}.card>table{display:table}@media (max-width: 560px){.container{padding:18px 14px 64px}.app-header{padding:12px 14px}table th,table td{padding:11px 8px}h2{font-size:24px}}
