:root{color-scheme:dark;--bg: #080b12;--bg-elevated: #0d1219;--surface: #111823;--surface-2: #18202d;--surface-3: #1f2937;--border: #232e3f;--border-strong: #33415a;--text: #e9eef6;--text-muted: #94a1b6;--text-faint: #64718a;--accent: #b7f04a;--accent-soft: #1d2a10;--accent-ink: #0b1206;--accent-line: #3f5c1a;--ok: #4ade80;--ok-soft: #10251a;--warn: #fbbf24;--warn-soft: #2a2110;--danger: #fb7185;--danger-soft: #2e1119;--danger-line: #5c2230;--shadow-sm: 0 1px 2px rgb(0 0 0 / .4);--shadow: 0 10px 30px -12px rgb(0 0 0 / .7);--shadow-lg: 0 24px 60px -20px rgb(0 0 0 / .85);--r-sm: 8px;--r: 12px;--r-lg: 18px;--r-xl: 26px;--r-full: 999px;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 22px;--sp-6: 30px;--sp-7: 44px;--font: ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-num: ui-monospace, "SF Mono", SFMono-Regular, Menlo, monospace;--ease: cubic-bezier(.32, .72, 0, 1);--nav-h: 66px}[data-theme=light]{color-scheme:light;--bg: #f4f6f9;--bg-elevated: #ffffff;--surface: #ffffff;--surface-2: #eef1f6;--surface-3: #e3e8f0;--border: #dee3ec;--border-strong: #c3cbd9;--text: #0d1420;--text-muted: #5a6779;--text-faint: #8793a5;--accent: #4d7c0f;--accent-soft: #eaf5d6;--accent-ink: #ffffff;--accent-line: #b6d97a;--ok: #15803d;--ok-soft: #dcf5e5;--warn: #b45309;--warn-soft: #fdf0d5;--danger: #be123c;--danger-soft: #fde7ec;--danger-line: #f3bcc8;--shadow-sm: 0 1px 2px rgb(15 23 42 / .06);--shadow: 0 12px 28px -14px rgb(15 23 42 / .22);--shadow-lg: 0 26px 60px -24px rgb(15 23 42 / .3)}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none}h1,h2,h3,h4,p,figure{margin:0}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.num{font-variant-numeric:tabular-nums}.icon{width:20px;height:20px;flex:none;display:block}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.app{min-height:100%;display:flex;flex-direction:column;padding-bottom:calc(var(--nav-h) + env(safe-area-inset-bottom))}.topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);padding-top:calc(var(--sp-3) + env(safe-area-inset-top));background:color-mix(in srgb,var(--bg) 97%,transparent);border-bottom:1px solid var(--border)}.brand{display:flex;align-items:center;gap:var(--sp-2);min-width:0}.brand__mark{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:var(--accent);color:var(--accent-ink);flex:none}.brand__name{font-size:16px;font-weight:700;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand__sub{font-size:12px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar__spacer{flex:1}.container{width:100%;max-width:940px;margin:0 auto;padding:var(--sp-4);display:flex;flex-direction:column;gap:var(--sp-4)}.nav{position:fixed;left:0;right:0;bottom:0;z-index:40;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:2px;padding:6px 6px calc(6px + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--bg-elevated) 97%,transparent);border-top:1px solid var(--border)}.nav__item{appearance:none;border:0;background:transparent;color:var(--text-faint);border-radius:var(--r);padding:7px 2px 6px;display:flex;flex-direction:column;align-items:center;gap:3px;font-size:11px;font-weight:600;transition:color .15s var(--ease),background .15s var(--ease)}.nav__item[aria-current=page]{color:var(--accent);background:var(--accent-soft)}.nav__item .icon{width:21px;height:21px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-4);box-shadow:var(--shadow-sm)}.card--flush{padding:0;overflow:hidden}.card--accent{border-color:var(--accent-line)}.card__head{display:flex;align-items:flex-start;gap:var(--sp-3);margin-bottom:var(--sp-3)}.card__title{font-size:15px;font-weight:700;letter-spacing:-.01em}.card__desc{font-size:13px;color:var(--text-muted);margin-top:2px}.section-label{font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--text-faint)}.stack{display:flex;flex-direction:column;gap:var(--sp-3)}.stack--tight{gap:var(--sp-2)}.row{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap}.row--between{justify-content:space-between}.grow{flex:1;min-width:0}.muted{color:var(--text-muted)}.faint{color:var(--text-faint)}.small{font-size:13px}.tiny{font-size:12px}.divider{height:1px;background:var(--border);border:0;margin:0}.btn{--btn-bg: var(--surface-2);--btn-fg: var(--text);--btn-bd: var(--border);appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);min-height:44px;padding:0 var(--sp-4);border-radius:var(--r);border:1px solid var(--btn-bd);background:var(--btn-bg);color:var(--btn-fg);font-size:15px;font-weight:650;letter-spacing:-.005em;transition:transform .12s var(--ease),filter .15s var(--ease),opacity .15s;white-space:nowrap}.btn:active:not(:disabled){transform:scale(.975)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn .icon{width:18px;height:18px;flex:none}.btn--primary{--btn-bg: var(--accent);--btn-fg: var(--accent-ink);--btn-bd: transparent;font-weight:750}.btn--ghost{--btn-bg: transparent;--btn-bd: transparent;--btn-fg: var(--text-muted)}.btn--ghost:hover{--btn-fg: var(--text)}.btn--danger{--btn-bg: var(--danger-soft);--btn-fg: var(--danger);--btn-bd: var(--danger-line)}.btn--block{width:100%}.btn--sm{min-height:34px;padding:0 var(--sp-3);font-size:13px;border-radius:var(--r-sm)}.btn--icon{min-height:40px;width:40px;padding:0;border-radius:var(--r)}.btn-group{display:flex;gap:var(--sp-2);flex-wrap:wrap}.btn-group>.btn{flex:1 1 auto}.field{display:flex;flex-direction:column;gap:6px}.field__label{font-size:13px;font-weight:650;color:var(--text-muted)}.field__hint{font-size:12px;color:var(--text-faint)}.input,.textarea,.select{width:100%;min-height:46px;padding:11px var(--sp-3);border-radius:var(--r);border:1px solid var(--border-strong);background:var(--bg-elevated);color:var(--text);font-size:16px;transition:border-color .15s var(--ease),box-shadow .15s var(--ease)}.input::placeholder,.textarea::placeholder{color:var(--text-faint)}.input:focus,.textarea:focus,.select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent)}.textarea{min-height:132px;resize:vertical;line-height:1.6}.select{appearance:none;padding-right:38px;background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 19px) 21px,calc(100% - 14px) 21px;background-size:5px 5px,5px 5px;background-repeat:no-repeat}.segmented{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:3px;padding:3px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r)}.segmented__item{appearance:none;border:0;background:transparent;color:var(--text-muted);border-radius:9px;min-height:38px;padding:0 var(--sp-2);font-size:14px;font-weight:650;transition:background .15s var(--ease),color .15s var(--ease)}.segmented__item[aria-pressed=true]{background:var(--bg-elevated);color:var(--text);box-shadow:var(--shadow-sm)}.segmented--accent .segmented__item[aria-pressed=true]{background:var(--accent);color:var(--accent-ink)}.stepper{display:flex;align-items:center;gap:var(--sp-2)}.stepper__btn{appearance:none;width:42px;height:42px;flex:none;border-radius:var(--r);border:1px solid var(--border-strong);background:var(--surface-2);color:var(--text);font-size:20px;font-weight:700;display:grid;place-items:center}.stepper__btn:active:not(:disabled){transform:scale(.94)}.stepper__btn:disabled{opacity:.35}.stepper__value{min-width:48px;text-align:center;font-size:20px;font-weight:750}.chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:var(--r-full);background:var(--surface-2);border:1px solid var(--border);font-size:12px;font-weight:650;color:var(--text-muted);white-space:nowrap}.chip--accent{background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent)}.chip--ok{background:var(--ok-soft);border-color:transparent;color:var(--ok)}.chip--warn{background:var(--warn-soft);border-color:transparent;color:var(--warn)}.chip--danger{background:var(--danger-soft);border-color:var(--danger-line);color:var(--danger)}.chip .icon{width:13px;height:13px}.dot{width:7px;height:7px;border-radius:50%;background:currentColor;flex:none}.dot--pulse{animation:pulse 2s var(--ease) infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.82)}}.court{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden}.court--done{border-color:var(--accent-line)}.court__head{display:flex;align-items:center;gap:var(--sp-2);padding:10px var(--sp-4);background:var(--surface-2);border-bottom:1px solid var(--border)}.court__number{font-size:13px;font-weight:750;letter-spacing:-.01em}.court__body{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:var(--sp-2);padding:var(--sp-4)}.team{display:flex;flex-direction:column;gap:5px;min-width:0}.team--b{align-items:flex-end;text-align:right}.team__player{display:flex;align-items:center;gap:7px;font-size:15px;font-weight:620;letter-spacing:-.01em;min-width:0;max-width:100%}.team--b .team__player{flex-direction:row-reverse}.team__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.team__player--swappable{appearance:none;border:1px dashed transparent;background:transparent;color:inherit;padding:3px 7px;margin:-3px -7px;border-radius:var(--r-sm);text-align:inherit;transition:background .15s var(--ease),border-color .15s var(--ease)}.team__player--swappable:hover{background:var(--surface-2);border-color:var(--border-strong)}.team__player--selected{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.court__versus{font-size:11px;font-weight:750;color:var(--text-faint);letter-spacing:.06em;padding:0 2px}.court__score{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:var(--sp-2);padding:0 var(--sp-4) var(--sp-4)}.score-input{width:100%;min-height:58px;text-align:center;font-size:26px;font-weight:750;font-variant-numeric:tabular-nums;border-radius:var(--r);border:1px solid var(--border-strong);background:var(--bg-elevated);color:var(--text);-moz-appearance:textfield}.score-input::-webkit-outer-spin-button,.score-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.score-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent)}.score-input--won{border-color:var(--accent-line);background:var(--accent-soft);color:var(--accent)}.score-sep{font-size:15px;font-weight:700;color:var(--text-faint)}@media(min-width:560px){.score-input{max-width:170px}.court__score>:first-child{justify-self:end}.court__score>:last-child{justify-self:start}}.court__result{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:var(--sp-2);padding:0 var(--sp-4) var(--sp-4);font-size:28px;font-weight:750;font-variant-numeric:tabular-nums;text-align:center}.court__result .win{color:var(--accent)}.court__result .loss{color:var(--text-faint)}.court__result .draw{color:var(--text-muted)}.bench{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap;padding:var(--sp-3) var(--sp-4);background:var(--surface);border:1px dashed var(--border-strong);border-radius:var(--r-lg)}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.table{width:100%;border-collapse:collapse;font-size:14px}.table th{text-align:right;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint);padding:10px var(--sp-3);border-bottom:1px solid var(--border);white-space:nowrap}.table th:nth-child(1),.table th:nth-child(2){text-align:left}.table td{padding:11px var(--sp-3);border-bottom:1px solid var(--border);text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.table td:nth-child(1),.table td:nth-child(2){text-align:left}.table tbody tr:last-child td{border-bottom:0}.rank{display:inline-grid;place-items:center;min-width:25px;height:25px;padding:0 6px;border-radius:var(--r-sm);background:var(--surface-2);font-size:12px;font-weight:750;color:var(--text-muted)}.rank--1{background:var(--accent);color:var(--accent-ink)}.rank--2{background:var(--surface-3);color:var(--text)}.rank--3{background:var(--surface-3);color:var(--text-muted)}.player-cell{display:flex;flex-direction:column;gap:1px;min-width:0}.player-cell__name{font-weight:650;overflow:hidden;text-overflow:ellipsis}.player-cell__meta{font-size:11px;color:var(--text-faint)}@media(min-width:560px){.player-cell__meta{display:none}}@media(max-width:559px){.col-wide{display:none}.table th,.table td{padding:9px var(--sp-2)}}.pos{color:var(--ok)}.neg{color:var(--danger)}.list{display:flex;flex-direction:column}.list__row{display:flex;align-items:center;gap:var(--sp-3);width:100%;padding:var(--sp-3) var(--sp-4);background:transparent;border:0;border-bottom:1px solid var(--border);text-align:left;color:inherit;transition:background .15s var(--ease)}.list__row:last-child{border-bottom:0}button.list__row:hover{background:var(--surface-2)}.list__row--active{background:var(--accent-soft)}.list__title{font-size:15px;font-weight:650;letter-spacing:-.01em}.list__meta{font-size:12px;color:var(--text-muted);margin-top:1px}.scrim{position:fixed;inset:0;z-index:80;background:#03060c9e;backdrop-filter:blur(3px);display:flex;align-items:flex-end;justify-content:center;animation:fade .18s var(--ease)}@media(min-width:640px){.scrim{align-items:center}}.sheet{width:100%;max-width:460px;max-height:92vh;overflow-y:auto;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--r-xl) var(--r-xl) 0 0;padding:var(--sp-5) var(--sp-4) calc(var(--sp-5) + env(safe-area-inset-bottom));box-shadow:var(--shadow-lg);animation:rise .26s var(--ease)}@media(min-width:640px){.sheet{border-radius:var(--r-xl);padding-bottom:var(--sp-5);animation:fade .18s var(--ease)}}.sheet__grip{width:38px;height:4px;border-radius:var(--r-full);background:var(--border-strong);margin:-8px auto var(--sp-4)}@media(min-width:640px){.sheet__grip{display:none}}.sheet__title{font-size:19px;font-weight:750;letter-spacing:-.02em}.sheet__desc{font-size:14px;color:var(--text-muted);margin-top:4px}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes rise{0%{transform:translateY(14px);opacity:0}to{transform:none;opacity:1}}.code-input{width:100%;min-height:62px;text-align:center;font-size:27px;font-weight:700;letter-spacing:.34em;text-indent:.34em;font-variant-numeric:tabular-nums;border-radius:var(--r);border:1px solid var(--border-strong);background:var(--surface);color:var(--text)}.code-input::placeholder{letter-spacing:.28em;color:var(--text-faint);font-weight:500}.code-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent)}.switch{display:flex;align-items:center;gap:var(--sp-3);cursor:pointer}.switch input{position:absolute;opacity:0;pointer-events:none}.switch__track{display:block;width:46px;height:28px;flex:none;border-radius:var(--r-full);background:var(--surface-3);border:1px solid var(--border-strong);padding:2px;transition:background .18s var(--ease),border-color .18s var(--ease)}.switch__thumb{display:block;width:22px;height:22px;border-radius:50%;background:var(--text-muted);transition:transform .18s var(--ease),background .18s var(--ease)}.switch input:checked+.switch__track{background:var(--accent);border-color:transparent}.switch input:checked+.switch__track .switch__thumb{transform:translate(18px);background:var(--accent-ink)}.toasts{position:fixed;left:50%;transform:translate(-50%);bottom:calc(var(--nav-h) + 14px + env(safe-area-inset-bottom));z-index:70;display:flex;flex-direction:column;gap:var(--sp-2);width:min(440px,calc(100vw - 24px));pointer-events:none}.toast{display:flex;align-items:center;gap:var(--sp-2);padding:11px var(--sp-3);border-radius:var(--r);background:var(--surface-3);border:1px solid var(--border-strong);color:var(--text);font-size:14px;font-weight:600;box-shadow:var(--shadow);animation:rise .22s var(--ease);pointer-events:auto}.toast .icon{width:17px;height:17px;flex:none}.toast--ok{border-color:var(--accent-line);color:var(--accent)}.toast--error{border-color:var(--danger-line);color:var(--danger)}.empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--sp-3);padding:var(--sp-6) var(--sp-4)}.empty__icon{width:46px;height:46px;display:grid;place-items:center;border-radius:var(--r-lg);background:var(--surface-2);color:var(--text-faint)}.empty__icon .icon{width:23px;height:23px}.empty__title{font-size:16px;font-weight:700}.empty__text{font-size:14px;color:var(--text-muted);max-width:34ch}.skeleton{border-radius:var(--r);background:linear-gradient(90deg,var(--surface-2) 25%,var(--surface-3) 50%,var(--surface-2) 75%);background-size:220% 100%;animation:shimmer 1.3s linear infinite}@keyframes shimmer{to{background-position:-220% 0}}.spinner{width:16px;height:16px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:spin .7s linear infinite;flex:none}@keyframes spin{to{transform:rotate(1turn)}}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(70px,1fr));gap:var(--sp-2)}.stat{padding:10px var(--sp-3);border-radius:var(--r);background:var(--surface-2);border:1px solid var(--border)}.stat__value{font-size:20px;font-weight:750;font-variant-numeric:tabular-nums;letter-spacing:-.02em}.stat__label{font-size:11px;color:var(--text-muted);margin-top:1px}@media(min-width:760px){.nav{position:sticky;top:0;bottom:auto;z-index:25;grid-auto-columns:max-content;justify-content:center;gap:var(--sp-1);padding:var(--sp-2);border-top:0;border-bottom:1px solid var(--border)}.nav__item{flex-direction:row;gap:7px;font-size:14px;padding:8px var(--sp-4)}.nav__item .icon{width:17px;height:17px}.app{padding-bottom:var(--sp-6)}.toasts{bottom:22px}.container{padding:var(--sp-5) var(--sp-4) var(--sp-7)}}
