@font-face{font-family:Barlow Condensed;font-weight:600;font-display:swap;src:url(/fonts/BarlowCondensed-600.woff2) format("woff2")}@font-face{font-family:Barlow Condensed;font-weight:700;font-display:swap;src:url(/fonts/BarlowCondensed-700.woff2) format("woff2")}:root{--bg: #e4ece6;--surface: #ffffff;--text: #1c241f;--muted: #56635b;--border: #ccd6cf;--primary: #1b6e41;--primary-text: #ffffff;--error-bg: #fbe9e6;--error-text: #b3261e;--notice-bg: #e0eee5;--paused-bg: #fbf1dc;--paused-border: #b98a2c;--baize-lit: #23934f;--baize-dim: #3a6d52;--cloth-pool: #2a5f86;--wood: #6b4527;--wood-dark: #4a2e18;--brass: #94650f;--pocket: #070908;--rail-text: #f3e6cc;--cloth: radial-gradient(ellipse 90% 60% at 50% 30%, #edf3ee, #dae6dd 75%);--shadow: rgba(40, 30, 20, .16);--noise: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScxNjAnIGhlaWdodD0nMTYwJz48ZmlsdGVyIGlkPSduJz48ZmVUdXJidWxlbmNlIHR5cGU9J2ZyYWN0YWxOb2lzZScgYmFzZUZyZXF1ZW5jeT0nMC44NScgbnVtT2N0YXZlcz0nMycgc3RpdGNoVGlsZXM9J3N0aXRjaCcvPjxmZUNvbG9yTWF0cml4IHZhbHVlcz0nMCAwIDAgMCAwICAwIDAgMCAwIDAgIDAgMCAwIDAgMCAgMCAwIDAgMC4xMiAwJy8+PC9maWx0ZXI+PHJlY3Qgd2lkdGg9JzE2MCcgaGVpZ2h0PScxNjAnIGZpbHRlcj0ndXJsKCNuKScvPjwvc3ZnPg==);--f-score: "Barlow Condensed", "Arial Narrow", "Roboto Condensed", system-ui, sans-serif;color-scheme:light}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #12211a;--surface: #1b2620;--text: #f1ead7;--muted: #a9b4a6;--border: #2f3f35;--primary: #1f7a49;--primary-text: #f6f1e3;--error-bg: #3b1916;--error-text: #ff8a7a;--notice-bg: #1d3528;--paused-bg: #33291a;--paused-border: #d1a24a;--baize-lit: #23934f;--baize-dim: #1a4a31;--cloth-pool: #173e5c;--wood: #5b3a22;--wood-dark: #3a2414;--brass: #d1a24a;--pocket: #070908;--rail-text: #f1e3c8;--cloth: radial-gradient(ellipse 90% 60% at 50% 30%, #1d3a2a, #0f1f17 75%);--shadow: rgba(0, 0, 0, .4);color-scheme:dark}}:root[data-theme=dark]{--bg: #12211a;--surface: #1b2620;--text: #f1ead7;--muted: #a9b4a6;--border: #2f3f35;--primary: #1f7a49;--primary-text: #f6f1e3;--error-bg: #3b1916;--error-text: #ff8a7a;--notice-bg: #1d3528;--paused-bg: #33291a;--paused-border: #d1a24a;--baize-lit: #23934f;--baize-dim: #1a4a31;--cloth-pool: #173e5c;--wood: #5b3a22;--wood-dark: #3a2414;--brass: #d1a24a;--pocket: #070908;--rail-text: #f1e3c8;--cloth: radial-gradient(ellipse 90% 60% at 50% 30%, #1d3a2a, #0f1f17 75%);--shadow: rgba(0, 0, 0, .4);color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:var(--noise),var(--cloth),var(--bg);background-attachment:fixed;color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,Noto Sans,sans-serif;font-size:17px;line-height:1.45}.page{max-width:480px;margin:0 auto;padding:24px 16px 48px}.page.wide{max-width:960px}h1{font-size:1.6rem;margin:8px 0 16px}.stack{display:flex;flex-direction:column;gap:14px;margin:16px 0}.field{display:flex;flex-direction:column;gap:6px}.field label{font-weight:600}.field input,.field select{font-size:1.15rem;padding:12px 14px;min-height:52px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text)}.field input:focus,.field select:focus{outline:3px solid var(--primary);outline-offset:1px}.badge{display:inline-block;font-size:.8rem;font-weight:700;padding:2px 8px;border-radius:999px;background:var(--error-bg);color:var(--error-text)}.big-button{display:flex;flex-direction:column;align-items:center;gap:2px;width:100%;min-height:60px;padding:14px 16px;font-size:1.15rem;font-weight:700;border-radius:12px;border:2px solid var(--primary);cursor:pointer}.big-button small{font-size:.85rem;font-weight:500;opacity:.85}.big-button.primary{background:var(--primary);color:var(--primary-text)}.big-button.secondary{background:var(--surface);color:var(--text)}.big-button.danger{background:var(--error-text);color:var(--surface);border-color:var(--error-text)}.big-button:disabled{opacity:.55;cursor:default}.error{background:var(--error-bg);color:var(--error-text);padding:12px 14px;border-radius:10px;margin:0}.notice{background:var(--notice-bg);padding:14px;border-radius:10px}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:16px;margin:16px 0;text-align:center}.club-code{font-size:2.2rem;font-weight:800;letter-spacing:.2em;margin:6px 0;font-variant-numeric:tabular-nums}.card.left{text-align:left}h2{font-size:1.2rem;margin:0 0 6px}.member-list{list-style:none;padding:0;margin:16px 0;display:flex;flex-direction:column;gap:8px}.member-list a{display:flex;flex-direction:column;gap:2px;padding:14px 16px;min-height:60px;background:var(--surface);border:1px solid var(--border);border-radius:12px;color:var(--text);text-decoration:none}.member-list .member-name{font-weight:700}.member-list li.inactive a{opacity:.6}.chips{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.chip{font-size:.95rem;padding:8px 14px;min-height:40px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer}.chip.on{background:var(--primary);color:var(--primary-text);border-color:var(--primary)}.audit-list{list-style:none;padding:0;margin:12px 0 20px}.audit-list li{display:flex;flex-direction:column;gap:2px;padding:10px 0;border-bottom:1px solid var(--border)}.table-grid{list-style:none;padding:0;margin:16px 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.table-card{width:100%;min-height:132px;display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:14px;text-align:left;font:inherit;color:var(--text);background:var(--surface);border:2px solid var(--border);border-radius:14px;cursor:pointer}.table-card .table-name{font-size:1.2rem;font-weight:800}.table-card .table-status{font-weight:600}.table-card .table-timer{font-size:1.7rem;font-weight:800;font-variant-numeric:tabular-nums;margin:2px 0}.table-card.free{border-color:var(--primary)}.table-card.running{background:var(--primary);color:var(--primary-text);border-color:var(--primary)}.table-card.paused{background:var(--paused-bg);border-color:var(--paused-border)}.table-card.maintenance{opacity:.55;cursor:default;border-style:dashed}.table-card.selected{outline:4px solid var(--text);outline-offset:2px}.offline-banner{background:var(--paused-bg);border:1px solid var(--paused-border);padding:12px 14px;border-radius:10px;font-weight:600}.frame-counter{display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:12px;align-items:center}.frame-counter .big-button{font-size:2rem;min-height:72px}.frame-count{display:flex;flex-direction:column;align-items:center}.frame-number{font-size:2.4rem;font-weight:800;line-height:1.1;font-variant-numeric:tabular-nums}.bill-parts{list-style:none;padding:0;margin:8px 0 0;display:flex;flex-direction:column;gap:10px}.bill-parts li{display:flex;justify-content:space-between;align-items:center;gap:12px}.bill-part-name{display:flex;flex-direction:column;font-weight:700}.mini-counter{display:flex;align-items:center;gap:10px}.mini-counter .chip{min-width:48px;min-height:48px;font-size:1.4rem;font-weight:700}.mini-count{min-width:2ch;text-align:center;font-size:1.4rem;font-weight:800;font-variant-numeric:tabular-nums}.bill-lines{width:100%;border-collapse:collapse;margin-top:8px}.bill-lines td,.bill-lines th{padding:8px 0;border-bottom:1px solid var(--border);text-align:left;font-weight:400}.bill-lines .amount{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;padding-left:12px}.bill-lines tfoot th,.bill-lines .total{font-weight:800;font-size:1.2rem;border-bottom:none}.pay-split{font-size:1.15rem;font-weight:700;margin:0}.receipt-text{white-space:pre-wrap;font-family:inherit;font-size:1rem;background:var(--bg);border:1px dashed var(--border);border-radius:10px;padding:14px;margin:8px 0 0}.player-row{display:flex;justify-content:space-between;gap:12px}.balance{font-weight:700;font-variant-numeric:tabular-nums}.balance.owes,.big-balance.owes{color:var(--error-text)}.balance.credit,.big-balance.credit{color:var(--primary)}.big-balance{font-size:1.8rem;font-weight:800;font-variant-numeric:tabular-nums}.section-title{margin:24px 0 0}.khata-list{list-style:none;padding:0;margin:8px 0 0}.khata-list li{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--border)}.khata-main{display:flex;flex-direction:column;gap:2px}.khata-side{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.khata-side .amount{font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.reverse-form{display:flex;flex-direction:column;gap:8px;min-width:200px}.pick-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.pick-list .chip{width:100%;text-align:left;min-height:48px}.new-player{display:flex;flex-direction:column;gap:8px}.split-people,.share-list{list-style:none;padding:0;margin:12px 0 0}.split-people li{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center;padding:8px 0;border-bottom:1px solid var(--border)}.split-name{font-weight:700}.split-tools{display:flex;gap:4px}.split-tools .chip{min-width:40px;padding:6px 10px}.split-people .amount{font-variant-numeric:tabular-nums;font-weight:700}.share-input{width:6.5em;font-size:1.1rem;padding:8px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);text-align:right}.share-list li{display:flex;flex-direction:column;gap:6px;padding:12px 0;border-bottom:1px solid var(--border)}.share-head{display:flex;justify-content:space-between;gap:12px}.share-head .amount{font-weight:700;font-variant-numeric:tabular-nums}.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin:12px 0}.tile{display:flex;flex-direction:column;gap:4px;padding:16px;background:var(--surface);border:1px solid var(--border);border-radius:14px;color:var(--text);text-decoration:none}.tile-label{font-weight:600}.tile-value{font-size:1.8rem;font-weight:800;font-variant-numeric:tabular-nums}.day-nav{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0}a.big-button{text-decoration:none;box-sizing:border-box}.not-saved{border-color:var(--error-text)}.button-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.move-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px}.action-panel{position:sticky;bottom:0;background:var(--surface);border:1px solid var(--border);border-radius:14px 14px 0 0;padding:16px;margin:0 -16px;box-shadow:0 -4px 16px #0000001f}.muted{color:var(--muted)}.small{font-size:.9rem}.links{display:flex;flex-direction:column;gap:12px;margin-top:20px}.links a,.link-button{color:var(--primary);font-size:1rem;padding:8px 0;background:none;border:none;text-align:left;cursor:pointer;text-decoration:underline}.pick-heading{font-weight:700;margin:4px 0 0}.score-line{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 16px;font-variant-numeric:tabular-nums}.offer{border:2px solid var(--paused-border);background:var(--paused-bg);border-radius:12px;padding:14px}.offer h2{margin:0 0 4px}.offer .muted{margin:0}.game-frames li{flex-wrap:wrap}.loser-picker{flex-basis:100%;margin:6px 0 0}.dash-list li{padding:0}.dash-row{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:12px 0;min-height:56px;color:var(--text);text-decoration:none}.dash-row .khata-side{flex-direction:row;align-items:center;gap:8px}.chevron{color:var(--muted, #888);font-size:1.3rem}.playing-badge{display:inline-block;margin-top:2px;padding:2px 8px;border-radius:999px;background:var(--primary);color:var(--primary-text);font-weight:600;width:fit-content}.dash-total{display:flex;justify-content:space-between;align-items:center;padding:14px 0 4px;margin-top:4px;border-top:2px solid var(--text);font-weight:700;font-size:1.1rem}.dash-total .amount{font-variant-numeric:tabular-nums}.member-list li{display:flex;flex-direction:column;gap:6px}.member-list .row-action{align-self:flex-end;min-height:44px}.row-confirm{display:flex;flex-direction:column;gap:6px;padding:8px 0}.struck .khata-main>span:first-child{text-decoration:line-through;color:var(--muted, #888)}.struck .amount{text-decoration:line-through;color:var(--muted, #888)}.badge+.badge{margin-left:4px}.khata-main .badge{margin-left:6px}.result-line{font-size:1.25rem;font-weight:700;margin:8px 0}.result-line.ok{color:var(--primary)}.result-line.off{color:var(--error-text)}.reason-list{list-style:none;padding:0;margin:8px 0;display:flex;flex-direction:column;gap:8px}.reason-list li{border:1px solid var(--border);border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:8px}.reason-list li .chip{align-self:flex-start;min-height:44px}.tile-button{font:inherit;text-align:left;cursor:pointer}.tile-button.on{outline:3px solid var(--primary)}.details{margin-top:12px}.rank-table td:first-child,.rank-table th:first-child{width:2.5em;font-weight:700}.rank-top td{font-weight:700;color:var(--primary)}.check-row{display:flex;align-items:center;gap:10px;font-weight:600;min-height:44px}.check-row input{width:22px;height:22px}.button-row>.field{min-width:0}.button-row>.field input{width:100%;min-width:0;box-sizing:border-box}.name-chips{max-height:220px;overflow-y:auto}.row-field{display:flex;align-items:center;justify-content:space-between;gap:8px}.row-field input{max-width:140px;font-size:1.1rem;padding:8px 12px;min-height:44px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text)}.row-field input:focus{outline:3px solid var(--primary);outline-offset:1px}.plus-button{position:absolute;top:14px;right:16px;width:48px;height:48px;border-radius:50%;border:1px solid var(--border);background:var(--surface);color:var(--primary);font-size:1.6rem;font-weight:800;line-height:1;cursor:pointer}.plus-button:focus-visible{outline:3px solid var(--primary);outline-offset:2px}.page:has(>.plus-button){position:relative}.rail-bar{position:sticky;top:0;z-index:20;display:flex;justify-content:space-between;align-items:center;gap:12px;padding-block:calc(env(safe-area-inset-top,0px) + 8px) 8px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));background:linear-gradient(180deg,var(--wood),var(--wood-dark));color:var(--rail-text);box-shadow:0 2px 8px var(--shadow)}.rail-name{font-family:var(--f-score);font-weight:700;font-size:1.15rem;letter-spacing:.12em;text-transform:uppercase}.theme-toggle{font:inherit;font-size:.85rem;font-weight:700;min-height:36px;border:1px solid rgba(243,230,204,.5);background:#0000002e;color:var(--rail-text);border-radius:999px;padding:4px 12px;cursor:pointer}.theme-toggle:focus-visible{outline:3px solid var(--rail-text);outline-offset:2px}h1{font-family:var(--f-score);font-size:2rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;text-wrap:balance}h1:after{content:"";display:block;width:64px;height:3px;margin-top:6px;border-radius:2px;background:linear-gradient(90deg,var(--brass),var(--wood))}.links a,.link-button{color:var(--brass)}.card,.member-list a{box-shadow:0 2px 8px var(--shadow)}.notice{border-left:3px solid var(--baize-lit)}.amount,.balance,.big-balance,.club-code,.frame-number,.table-timer,.dash-total .amount{font-family:var(--f-score);letter-spacing:.02em}.dash-total{border-top-color:var(--wood)}.big-button.primary{border-color:var(--brass);box-shadow:inset 0 1px #ffffff14}.big-button.secondary{border-color:var(--border)}.big-button.danger{background:#a3271d;border-color:#c4392c;color:#fff4ea}.chip.on{border-color:var(--brass)}.action-panel{border-top:6px solid var(--wood)}.table-card{--felt: var(--baize-dim);border:6px solid var(--wood);border-radius:12px;color:#f6f1e3;background:radial-gradient(circle at 3px 3px,var(--pocket) 6px,transparent 7px),radial-gradient(circle at calc(100% - 3px) 3px,var(--pocket) 6px,transparent 7px),radial-gradient(circle at 3px calc(100% - 3px),var(--pocket) 6px,transparent 7px),radial-gradient(circle at calc(100% - 3px) calc(100% - 3px),var(--pocket) 6px,transparent 7px),radial-gradient(circle at 50% -1px,var(--pocket) 5px,transparent 6px),radial-gradient(circle at 50% calc(100% + 1px),var(--pocket) 5px,transparent 6px),var(--felt);box-shadow:inset 0 0 0 1px var(--wood-dark),0 4px 10px var(--shadow)}.table-card[data-kind=pool]{--felt: var(--cloth-pool)}.table-card .table-name{font-family:var(--f-score);font-size:1.25rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase;overflow-wrap:anywhere}.table-card .table-timer{font-size:2rem;font-weight:700;letter-spacing:.04em}.table-card.free{border-color:var(--wood)}.table-card.free .table-status,.table-card.free .small{color:#f6f1e3d9}.table-card.running{--felt: radial-gradient(ellipse at 50% 40%, var(--baize-lit) 0%, #1f7a49 55%, #155a35 100%);border-color:var(--wood);color:#f6f1e3;box-shadow:inset 0 0 0 1px var(--wood-dark),0 0 0 1px #d1a24a59,0 6px 18px #23934f47}.table-card.running[data-kind=pool]{--felt: radial-gradient(ellipse at 50% 40%, #2a7ab3 0%, #1c5f8f 60%, #154a70 100%)}.table-card.paused{--felt: var(--paused-bg);border-color:var(--wood);color:var(--text)}.table-card.paused .table-status{color:var(--brass)}.table-card.selected{outline:3px solid var(--brass);outline-offset:3px}.table-card:focus-visible{outline:3px solid var(--brass);outline-offset:3px}.balance.owes:before,.balance.credit:before,.dash-row .owes-amount:before{content:"";display:inline-block;width:.6em;height:.6em;border-radius:50%;margin-right:6px;vertical-align:.05em;background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.75) 0 12%,transparent 13%),currentColor}.dash-row .owes-amount{color:var(--error-text)}.rank-table tr.rank-1 td:first-child,.rank-table tr.rank-2 td:first-child,.rank-table tr.rank-3 td:first-child{color:transparent;position:relative}.rank-table tr.rank-1 td:first-child:after,.rank-table tr.rank-2 td:first-child:after,.rank-table tr.rank-3 td:first-child:after{content:"";position:absolute;left:0;top:50%;width:18px;height:18px;margin-top:-9px;border-radius:50%;background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.8) 0 14%,transparent 15%),var(--ball);box-shadow:0 1px 2px #00000080}.rank-table tr.rank-1{--ball: #0b0b0b}.rank-table tr.rank-2{--ball: #e7739a}.rank-table tr.rank-3{--ball: #2d64c8}.pot{position:fixed;width:22px;height:22px;border-radius:50%;pointer-events:none;z-index:30;background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.85) 0 14%,transparent 15%),#c4271b;box-shadow:0 2px 4px #00000080;animation:pot .55s cubic-bezier(.5,0,.7,.4) forwards}@keyframes pot{0%{transform:translate(0) scale(1);opacity:1}80%{transform:translate(var(--dx),var(--dy)) scale(.7);opacity:1}to{transform:translate(var(--dx),var(--dy)) scale(.2);opacity:0}}@media(prefers-reduced-motion:reduce){.pot{display:none}}.welcome-table{margin:4px 0 16px;border:8px solid var(--wood);border-radius:14px;overflow:hidden;background:radial-gradient(circle at 4px 4px,var(--pocket) 7px,transparent 8px),radial-gradient(circle at calc(100% - 4px) 4px,var(--pocket) 7px,transparent 8px),radial-gradient(circle at 4px calc(100% - 4px),var(--pocket) 7px,transparent 8px),radial-gradient(circle at calc(100% - 4px) calc(100% - 4px),var(--pocket) 7px,transparent 8px),radial-gradient(circle at 50% -2px,var(--pocket) 6px,transparent 7px),radial-gradient(circle at 50% calc(100% + 2px),var(--pocket) 6px,transparent 7px),radial-gradient(ellipse at 50% 40%,var(--baize-lit),#1f7a49 60%,#145232);box-shadow:inset 0 0 0 1px var(--wood-dark),0 10px 26px var(--shadow)}.welcome-table svg{display:block;width:100%;height:auto}.wordmark{display:flex;flex-direction:column}.wordmark-name{font-family:var(--f-score);font-size:2.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;line-height:1}.wordmark-sub{color:var(--brass);font-weight:600;letter-spacing:.04em;margin-top:4px}.wordmark-club{font-weight:700;margin-top:2px}.pick-who{margin:20px 0 0;font-weight:700;font-size:1.1rem}@media(prefers-reduced-motion:no-preference){.welcome-table .cue-ball{animation:cue 1.1s ease-out .2s both}@keyframes cue{0%{transform:translate(-40px);opacity:0}to{transform:none;opacity:1}}}.game-card h2{font-size:1.25rem;margin-bottom:8px}.game-card.inactive{opacity:.65}.price-table th{font-weight:600}.price-table th.amount{font-family:inherit}.price-table td.amount{font-size:1.2rem;font-weight:700}.game-card .link-button{display:inline-block;margin-top:10px}
