:root{--color-ink:#1a1a1a;--color-text-secondary:#666;--color-text-muted:#888;--color-text-faint:#999;--color-text-light:#bbb;--color-white:#fff;--color-surface:#e9e7e2;--color-surface-alt:#fafafa;--color-row-hover:#f6f6f4;--color-accent:#0a7d4f;--color-accent-hover:#07603c;--color-accent-tint:#f2f8f5;--color-accent-dash:#0a7d4f80;--color-danger:#d64545;--color-danger-tint:#d645451a;--color-danger-tint-strong:#d645451f;--color-tie-alt:#f3f2ee;--color-border:#00000012;--color-border-light:#0000000d;--color-border-medium:#00000014;--color-border-strong:#00000017;--color-icon-bg:#0000000f;--color-disabled-bg:#0000001f;--shadow-app:0 0 24px #00000014;--shadow-sheet:0 -4px 24px #0000002e;--shadow-drag:0 4px 16px #00000029;--radius-sm:7px;--radius-md:8px;--radius-lg:14px}@layer base{*,:before,:after{box-sizing:border-box}body{background:var(--color-surface);color:var(--color-ink);-webkit-font-smoothing:antialiased;margin:0;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}h1,h2,h3,p,ul,ol,pre{margin:0}ul,ol{padding:0;list-style:none}button,input{font-family:inherit;font-size:inherit}a{color:var(--color-accent)}a:hover{color:var(--color-accent-hover)}}.app-shell{background:var(--color-white);max-width:430px;min-height:100vh;box-shadow:var(--shadow-app);flex-direction:column;margin:0 auto;display:flex}@media (min-width:900px){.app-shell{max-width:880px}}.app-header{border-bottom:1px solid var(--color-border);padding:18px 16px 14px}.app-title{color:var(--color-ink);font-size:18px;font-weight:700}.app-sub{color:var(--color-text-muted);font-variant-numeric:tabular-nums;margin-top:3px;font-size:11px}.contest-columns{grid-template-columns:1fr;display:grid}.list-panel{flex-direction:column;min-width:0;display:flex}.list-panel+.list-panel{border-top:1px solid var(--color-border)}@media (min-width:900px){.contest-columns{grid-template-columns:1fr 1fr}.list-panel+.list-panel{border-top:none;border-left:1px solid var(--color-border)}}.panel-header{justify-content:space-between;align-items:baseline;padding:14px 16px 6px;display:flex}.panel-title{color:var(--color-text-faint);letter-spacing:.04em;text-transform:uppercase;font-size:10px;font-weight:700}.panel-count{color:var(--color-text-muted);font-variant-numeric:tabular-nums;font-size:11px}.player-list{flex:1;min-height:56px}.player-row{border-bottom:1px solid var(--color-border-light);background:var(--row-bg,var(--color-white));cursor:grab;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;min-height:44px;padding:8px 16px;display:flex}.player-row:hover{background:var(--color-row-hover)}.player-row--dragging{cursor:grabbing;background:var(--color-white);border-radius:var(--radius-md);box-shadow:var(--shadow-drag);border-bottom-color:#0000}.player-row-rank{width:26px;color:var(--color-text-secondary);font-variant-numeric:tabular-nums;flex:none;font-size:13px;font-weight:600}.player-row-name{min-width:0;color:var(--color-ink);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:14px;font-weight:600;overflow:hidden}.player-row--member .player-row-name{color:var(--color-text-secondary);font-weight:400}.player-row--tie-a{--row-bg:var(--color-accent-tint);box-shadow:inset 3px 0 0 var(--color-accent)}.player-row--tie-b{--row-bg:var(--color-tie-alt);box-shadow:inset 3px 0 0 var(--color-text-light)}.player-row--tie:hover{background:var(--row-bg)}.player-row--tie .player-row-rank{color:var(--color-ink);font-weight:700}.player-row--tie-a .player-row-rank{color:var(--color-accent)}.player-row--tie.player-row--dragging{box-shadow:var(--shadow-drag)}.tie-toggle{background:var(--color-icon-bg);color:var(--color-text-faint);cursor:pointer;border:none;border-radius:12px;flex:none;padding:4px 10px;font-size:11px;font-weight:700}.tie-toggle:hover{background:var(--color-disabled-bg);color:var(--color-text-secondary)}.tie-toggle--on,.tie-toggle--on:hover{background:var(--color-accent);color:var(--color-white)}.tie-toggle:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.tie-toggle--hidden{visibility:hidden}.row-action{background:var(--color-icon-bg);width:28px;height:28px;color:var(--color-text-muted);cursor:pointer;border:none;border-radius:50%;flex:none;justify-content:center;align-items:center;padding:0;display:flex;position:relative}.row-action:after{content:"";position:absolute;inset:-8px}.row-action--add{background:var(--color-accent-tint);color:var(--color-accent)}.row-action--add:hover{background:var(--color-accent);color:var(--color-white)}.row-action--remove:hover{background:var(--color-danger-tint-strong);color:var(--color-danger)}.row-action:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.player-list{transition:background-color .15s}.player-list--over{background:var(--color-accent-tint)}.player-list-empty{border:1.5px dashed var(--color-accent-dash);border-radius:var(--radius-md);color:var(--color-text-muted);text-align:center;margin:8px 16px 16px;padding:14px;font-size:12px}@media (prefers-reduced-motion:reduce){.player-list{transition:none}}.results{border-top:1px solid var(--color-border);container-type:inline-size}.results-header{padding:18px 16px 12px}.results-title{color:var(--color-ink);font-size:18px;font-weight:700}.results-sub{color:var(--color-text-muted);font-variant-numeric:tabular-nums;margin-top:3px;font-size:11px}.results-empty{border-radius:var(--radius-md);background:var(--color-accent-tint);color:var(--color-accent);text-align:center;margin:0 16px 12px;padding:12px;font-size:13px;font-weight:600}.payment-list{border-top:1px solid var(--color-border-light)}.payment-row{border-bottom:1px solid var(--color-border-light);align-items:center;gap:12px;padding:10px 16px;display:flex}.payment-parties{flex:1;grid-template-columns:minmax(0,1fr) 20px minmax(0,1fr);align-items:center;gap:8px;min-width:0;display:grid}.payment-party{min-width:0}.payment-party-name{color:var(--color-ink);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.payment-party-wallet{color:var(--color-text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.payment-arrow{color:var(--color-text-light);text-align:center;font-size:13px}.payment-amount{text-align:right;min-width:72px;color:var(--color-ink);font-variant-numeric:tabular-nums;flex:none;font-size:15px;font-weight:700}@container (max-width:519px){.payment-parties{grid-template-columns:minmax(0,1fr);gap:2px}.payment-arrow{justify-self:start;line-height:1;transform:rotate(90deg)}}.btn{border-radius:var(--radius-md);cursor:pointer;border:none;padding:10px 16px;font-size:13px;font-weight:600;line-height:1.2;text-decoration:none;display:inline-block}.btn--primary{background:var(--color-accent);color:var(--color-white)}.btn--primary:hover:not(:disabled){background:var(--color-accent-hover)}.btn--secondary{background:var(--color-icon-bg);color:var(--color-ink)}.btn--secondary:hover:not(:disabled){background:var(--color-disabled-bg)}.btn:disabled{background:var(--color-disabled-bg);color:var(--color-text-faint);cursor:default}.btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.actions{flex-wrap:wrap;gap:8px;padding:14px 16px 20px;display:flex}.Toastify{--toastify-font-family:"Helvetica Neue", Helvetica, Arial, sans-serif;--toastify-color-light:var(--color-white);--toastify-text-color-light:var(--color-ink);--toastify-color-info:var(--color-text-secondary);--toastify-color-success:var(--color-accent);--toastify-color-error:var(--color-danger);--toastify-color-progress-light:var(--color-accent);--toastify-toast-bd-radius:var(--radius-md)}.Toastify .Toastify__toast{box-shadow:var(--shadow-sheet);font-size:13px}.toast-body{text-align:left}.toast-title{margin-bottom:4px;font-weight:600}.toast-link{color:var(--color-accent);word-break:break-all;font-size:12px;text-decoration:underline}.csv-preview{background:var(--color-surface-alt);border:1px solid var(--color-border-medium);border-radius:var(--radius-md);margin:16px 16px 0;padding:12px 14px;overflow-x:auto}.csv-preview pre{color:var(--color-ink);white-space:pre;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;line-height:1.5}.notice{border-radius:var(--radius-sm);background:var(--color-icon-bg);color:var(--color-text-secondary);margin:16px;padding:10px 12px;font-size:13px}.notice--error{background:var(--color-danger-tint);color:var(--color-danger)}