.button{min-height:var(--tap-size);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font:inherit;cursor:pointer;touch-action:manipulation;border-radius:10px;padding:0 16px;font-weight:600}.button--primary{border-color:var(--color-accent);background:var(--color-accent);color:var(--color-on-accent)}.button--primary:active:not(:disabled){border-color:var(--color-accent-pressed);background:var(--color-accent-pressed)}.button--danger{border-color:var(--color-danger);color:var(--color-danger)}.button--small{min-height:36px;padding:0 12px;font-size:.875rem}.button--block{width:100%}.button:disabled{border-color:var(--color-disabled-bg);background:var(--color-disabled-bg);color:var(--color-disabled-text);cursor:not-allowed}.button:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px}.pick{color:inherit;font:inherit;text-align:inherit;cursor:pointer;touch-action:manipulation;background:0 0;border:none}.pick:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px}.pick[aria-pressed=true]{outline:3px solid var(--color-accent);outline-offset:-1px;background:var(--color-highlight-bg);color:var(--color-highlight-text)}.swap-bar{z-index:5;max-width:480px;padding:12px 16px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--color-border);background:var(--color-surface);align-items:center;gap:12px;margin:0 auto;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 16px #0000001f}.swap-bar__text{flex:1;min-width:0;font-size:.9375rem}.dialog-backdrop{z-index:10;background:#00000073;justify-content:center;align-items:flex-end;padding:16px;display:flex;position:fixed;inset:0}.dialog{flex-direction:column;gap:14px;width:100%;max-width:448px;max-height:100%;padding:18px;display:flex;overflow-y:auto}.dialog__title{font-size:1.125rem;font-weight:700}@media (width>=600px){.dialog-backdrop{align-items:center}}.dialog-actions{gap:var(--gap);grid-template-columns:1fr 1fr;display:grid}.court-list{gap:var(--gap);flex-direction:column;display:flex}.court{flex-direction:column;gap:12px;display:flex}.court__header{justify-content:space-between;align-items:center;display:flex}.court__name{font-size:1rem;font-weight:700}.court__tag{background:var(--color-highlight-bg);color:var(--color-highlight-text);border-radius:999px;padding:2px 10px;font-size:.8125rem;font-weight:600}.court__teams{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:10px;display:grid}.court__team{flex-direction:column;gap:6px;display:flex}.court__player{width:100%;min-height:var(--tap-size);background:var(--color-bg);text-align:center;overflow-wrap:anywhere;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;padding:8px 10px;font-weight:600;display:flex}.court__header-right{align-items:center;gap:8px;display:flex}.court__actions{grid-template-columns:1fr 2fr;gap:10px;display:grid}.court__leaving{color:var(--color-highlight-text);font-size:.75rem;font-weight:600}.court__versus{color:var(--color-muted);font-size:.8125rem;font-weight:700}.court__empty{color:var(--color-muted);text-align:center;padding:14px 0}.after-end{flex-direction:column;gap:16px;display:flex}.after-end--prefer-wait{flex-direction:column-reverse}.after-end__option{flex-direction:column;gap:6px;display:flex}.player-list{flex-direction:column;padding:4px 14px;display:flex}.player-row{min-height:var(--tap-size);border-bottom:1px solid var(--color-border);align-items:center;gap:10px;padding:8px 0;display:flex}.player-row:last-child,.manage-row:last-child{border-bottom:none}.player-row__order{width:1.75rem;color:var(--color-muted);font-variant-numeric:tabular-nums;text-align:right;flex:none}.player-row__main{flex-direction:column;flex:1;min-width:0;display:flex}.player-row__pick{border-radius:8px;justify-content:center;align-self:stretch;margin-left:-8px;padding:4px 8px}.player-row__name{overflow-wrap:anywhere;font-weight:600}.player-row__sub{color:var(--color-muted);font-variant-numeric:tabular-nums;font-size:.8125rem}.badge{background:var(--color-highlight-bg);color:var(--color-highlight-text);border-radius:999px;flex:none;padding:2px 10px;font-size:.8125rem;font-weight:600}.text-input{min-width:0;min-height:var(--tap-size);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font:inherit;border-radius:10px;padding:0 12px}.text-input:focus-visible{outline:3px solid var(--color-accent);outline-offset:1px}.add-player{gap:10px;display:flex}.add-player .text-input{flex:1}.manage-row{border-bottom:1px solid var(--color-border);flex-direction:column;gap:8px;padding:10px 0;display:flex}.manage-row__top{align-items:center;gap:10px;display:flex}.manage-row__name{flex:1}.manage-row__status{color:var(--color-muted);flex:none;font-size:.8125rem}.manage-row__actions{justify-content:flex-end;gap:8px;display:flex}.setup{flex-direction:column;gap:16px;display:flex}.setup__fields{gap:var(--gap);grid-template-columns:1fr 1fr;display:grid}.setup__field{flex-direction:column;gap:6px;font-weight:600;display:flex}.setup__input{width:100%;min-height:var(--tap-size);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font:inherit;border-radius:10px;padding:0 12px;font-size:1.125rem}.setup__input:focus-visible{outline:3px solid var(--color-accent);outline-offset:1px}.setup__problem{color:var(--color-highlight-text);background:var(--color-highlight-bg);border-radius:8px;padding:8px 12px;font-size:.9375rem}.reset{flex-direction:column;gap:8px;display:flex}.settings-row{align-items:center;gap:12px;display:flex}.settings-row__text{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.settings-row__label{font-weight:600}.stats{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:20px;padding:6px 14px;display:grid}.stats__row{border-bottom:1px solid var(--color-border);align-items:baseline;gap:6px;padding:8px 0;display:flex}.stats__who{flex-direction:column;flex:1;min-width:0;display:flex}.stats__name{overflow-wrap:break-word;font-weight:600}.stats__status{color:var(--color-muted);font-size:.75rem}.stats__games{font-variant-numeric:tabular-nums;text-align:right;flex:none;min-width:2.75rem}@media (width<=339px){.stats{grid-template-columns:minmax(0,1fr)}}:root{--color-bg:#f3f6f4;--color-surface:#fff;--color-text:#17211d;--color-muted:#62706a;--color-border:#dbe3df;--color-accent:#1d7a5a;--color-accent-pressed:#166247;--color-on-accent:#fff;--color-highlight-bg:#e2f3eb;--color-highlight-text:#14553f;--color-disabled-bg:#e6ebe8;--color-disabled-text:#93a09a;--color-danger:#b3261e;--radius:12px;--gap:12px;--tap-size:44px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--color-bg:#111614;--color-surface:#1a211e;--color-text:#e8eeeb;--color-muted:#98a69f;--color-border:#2c3632;--color-accent:#3fae87;--color-accent-pressed:#57c29b;--color-on-accent:#0c1512;--color-highlight-bg:#1c3a2f;--color-highlight-text:#9fe0c5;--color-disabled-bg:#232b28;--color-disabled-text:#66736d;--color-danger:#f2857d}}*,:before,:after{box-sizing:border-box}body{background:var(--color-bg);color:var(--color-text);-webkit-text-size-adjust:100%;margin:0;font-family:system-ui,-apple-system,PingFang TC,Noto Sans TC,sans-serif;font-size:16px;line-height:1.5}h1,h2,h3,p,ul,ol{margin:0;padding:0}ul,ol{list-style:none}.topbar{z-index:4;background:var(--color-bg);border-bottom:1px solid var(--color-border);position:sticky;top:0}.topbar__inner{justify-content:space-between;align-items:center;gap:12px;max-width:480px;margin:0 auto;padding:10px 16px;display:flex}.page{flex-direction:column;gap:24px;max-width:480px;margin:0 auto;padding:16px 16px 96px;display:flex}.page__title{font-size:1.375rem;font-weight:700}.section{gap:var(--gap);flex-direction:column;display:flex}.section__header{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.section__title{font-size:1.0625rem;font-weight:700}.section__note{color:var(--color-muted);font-size:.875rem}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:14px}.notice{border:1px solid var(--color-danger);color:var(--color-danger);border-radius:10px;padding:10px 12px;font-size:.9375rem}.error-panel{flex-direction:column;gap:12px;display:flex}
