:root{--primary: #0B7F3F;--primary-hover: #096B35;--primary-bright: #00AE4C;--primary-dark: #0B3B2A;--primary-soft: #E9F7EF;--accent: #EE1A24;--hero: linear-gradient(to bottom right, #0B3B2A, #0B7F3F, #00AE4C);--text: #1E293B;--text-2: #475569;--muted: #64748B;--faint: #94A3B8;--on-color: #FFFFFF;--on-color-90: rgb(255 255 255 / .9);--on-color-85: rgb(255 255 255 / .85);--on-color-75: rgb(255 255 255 / .75);--on-color-22: rgb(255 255 255 / .22);--bg: #F3F6F4;--surface: #FFFFFF;--surface-2: #F1F5F9;--border: #E4EAE6;--skeleton: #E6EBE8;--skeleton-highlight: #F4F7F5;--scrim: rgb(11 59 42 / .38);--success: #15803D;--success-soft: #F0FDF4;--warning: #B45309;--warning-soft: #FEF3C7;--danger: #DC2626;--danger-soft: #FEF2F2;--info: #1D6FB8;--info-soft: #EFF6FF;--ai: #6D4FE0;--ai-soft: #F3F0FF;--grad-brand: linear-gradient(to bottom right, #3DD47F, #0B8A43);--grad-ok: linear-gradient(to bottom right, #43DFA2, #14B57D);--grad-warn: linear-gradient(to bottom right, #FFBE5C, #F08A24);--grad-bad: linear-gradient(to bottom right, #FF7A6E, #E11D2A);--grad-info: linear-gradient(to bottom right, #4A90CE, #1A548B);--grad-mute: linear-gradient(to bottom right, #A3B1C2, #64748B);--grad-ai: linear-gradient(to bottom right, #A98FFA, #7A5AF0);--shadow-brand: 0 6px 14px rgb(11 138 67 / .35);--shadow-ok: 0 6px 14px rgb(20 181 125 / .35);--shadow-warn: 0 6px 14px rgb(240 138 36 / .35);--shadow-bad: 0 6px 14px rgb(225 29 42 / .35);--shadow-info: 0 6px 14px rgb(26 84 139 / .35);--shadow-ai: 0 6px 14px rgb(122 90 240 / .35);--shadow-btn-primary: 0 4px 10px rgb(11 127 63 / .3);--shadow-btn-danger: 0 4px 10px rgb(220 38 38 / .3);--shadow-hero: 0 8px 18px rgb(11 127 63 / .28);--radius-button: 14px;--radius-card: 20px;--radius-dialog: 24px;--radius-sheet: 28px;--radius-full: 999px;--radius-sm: 8px;--shadow-card: 0 2px 4px rgb(11 59 42 / .03), 0 8px 18px rgb(11 59 42 / .05);--shadow-floating: 0 10px 28px rgb(11 59 42 / .1);--shadow-press: 0 2px 6px rgb(11 59 42 / .18);--shadow-side: 0 8px 20px rgb(11 59 42 / .18);--fs-h1: 24px;--fs-h2: 20px;--fs-h3: 15.5px;--fs-appbar: 17px;--fs-display: 28px;--fs-body: 14px;--fs-label: 13px;--fs-overline: 11px;--fs-small: 12px;--fs-tab: 10.5px;--ease-out: cubic-bezier(.33, 1, .68, 1);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:var(--fs-body);line-height:1.45;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;color-scheme:light}*{box-sizing:border-box}html,body{margin:0;background:var(--bg)}body{-webkit-tap-highlight-color:transparent}a{color:var(--primary);text-decoration:none}h1{font-size:var(--fs-h1);font-weight:800;line-height:1.25;letter-spacing:-.3px;color:var(--primary-dark);margin:0}h2{font-size:var(--fs-h2);font-weight:800;line-height:1.3;letter-spacing:-.2px;color:var(--primary-dark);margin:0 0 12px;display:flex;gap:8px;align-items:center}h3{font-size:var(--fs-h3);font-weight:700;line-height:1.35;color:var(--primary-dark);margin:0 0 12px}code{background:var(--surface-2);padding:2px 4px;border-radius:var(--radius-sm)}.num{font-variant-numeric:tabular-nums}.muted{color:var(--muted)}.small{font-size:var(--fs-small)}.strong{font-weight:800}.warn{color:var(--warning);font-weight:600}.nowrap{white-space:nowrap}.pos{color:var(--success)}.neg{color:var(--danger)}.eyebrow{font-size:var(--fs-overline);text-transform:uppercase;letter-spacing:.6px;color:var(--muted);font-weight:700;line-height:1.3}.empty{padding:48px 16px;text-align:center;color:var(--muted)}.stack>*+*{margin-top:16px}.row{display:flex;gap:8px;align-items:center;margin-top:8px}.row-between{display:flex;justify-content:space-between;align-items:center;gap:12px}.grow{flex:1;min-width:0}.ellipsis{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@keyframes page-enter{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}.page-enter{animation:page-enter .32s var(--ease-out) both}@media(prefers-reduced-motion:reduce){.page-enter{animation:none}}.app{min-height:100dvh;padding-bottom:calc(84px + env(safe-area-inset-bottom))}.topbar{position:sticky;top:0;z-index:10;display:flex;justify-content:space-between;align-items:center;gap:8px;padding:12px 16px;padding-top:calc(12px + env(safe-area-inset-top));background:var(--bg)}.brand{font-size:var(--fs-appbar);font-weight:800;color:var(--primary-dark);letter-spacing:.2px}.brand span{color:var(--primary-bright)}.top-right{display:flex;gap:8px;align-items:center}.content{max-width:960px;margin:0 auto;padding:4px 16px 16px}.tabbar{position:fixed;bottom:0;left:0;right:0;z-index:10;display:grid;grid-template-columns:repeat(5,1fr);background:var(--surface);border-radius:var(--radius-dialog) var(--radius-dialog) 0 0;box-shadow:var(--shadow-floating);padding:8px 4px calc(8px + env(safe-area-inset-bottom))}.tabbar a{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:var(--fs-tab);font-weight:600;color:var(--muted)}.tabbar .tab-ico{display:grid;place-items:center;width:52px;height:30px;border-radius:var(--radius-full);color:var(--faint)}.tabbar a.active{color:var(--primary)}.tabbar a.active .tab-ico{background:var(--primary-soft);color:var(--primary)}.sync{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:var(--radius-full);font-size:var(--fs-small);font-weight:600;line-height:1.4;white-space:nowrap;background:var(--success-soft);color:var(--success)}.sync.wait{background:var(--warning-soft);color:var(--warning)}.sync.off,.sync.err{background:var(--danger-soft);color:var(--danger)}.sync.admin{background:var(--primary-soft);color:var(--primary)}.sync .live-dot{width:7px;height:7px;border-radius:50%;background:currentColor}.card{background:var(--surface);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:20px;border:0}.card.flush{padding:0;overflow:hidden}.card+.card{margin-top:12px}a.card:hover,a.live-card:hover,a.court-card:hover{box-shadow:var(--shadow-floating)}.btn{height:44px;padding:0 16px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border-radius:var(--radius-button);border:1px solid var(--border);background:var(--surface);color:var(--primary);font:inherit;font-size:var(--fs-body);font-weight:700;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.btn:hover{background:var(--surface-2)}.btn.primary{background:var(--primary);border-color:transparent;color:var(--on-color);box-shadow:var(--shadow-btn-primary)}.btn.primary:hover{background:var(--primary-hover)}.btn.danger{background:var(--danger);border-color:transparent;color:var(--on-color);box-shadow:var(--shadow-btn-danger)}.btn.ghost{background:transparent;border-color:transparent}.btn.ghost:hover{background:var(--primary-soft)}.btn.small{height:36px;padding:0 12px;font-size:var(--fs-label)}.btn.lg{height:50px;padding:0 20px;font-size:15px}.btn:disabled{opacity:.5;box-shadow:none;cursor:default}.btn:focus-visible,.pair-btn:focus-visible,.side:focus-visible,.seg:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.btn.block{display:flex;width:100%}.btn.big-cta{height:56px;font-size:15px;margin-top:16px}.badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:var(--radius-full);font-size:var(--fs-small);font-weight:600;line-height:1.4;white-space:nowrap}.badge.brand{background:var(--primary-soft);color:var(--primary)}.badge.ok{background:var(--success-soft);color:var(--success)}.badge.warn{background:var(--warning-soft);color:var(--warning)}.badge.bad{background:var(--danger-soft);color:var(--danger)}.badge.info{background:var(--info-soft);color:var(--info)}.badge.mute{background:var(--surface-2);color:var(--muted)}.badge.ai{background:var(--ai-soft);color:var(--ai)}.stat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}@media(min-width:720px){.stat-grid{grid-template-columns:repeat(4,1fr)}}.stat{border-radius:var(--radius-card);padding:14px 16px;color:var(--on-color);background:var(--grad-brand);box-shadow:var(--shadow-brand)}.stat-top{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.stat-label{font-size:var(--fs-overline);font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:var(--on-color-90)}.stat-ico{width:28px;height:28px;border-radius:50%;background:var(--on-color-22);display:grid;place-items:center;flex:none}.stat-value{font-size:24px;font-weight:800;line-height:1.1;letter-spacing:-.3px;white-space:nowrap;margin-top:4px}.stat-sub{font-size:var(--fs-small);color:var(--on-color-85)}.stat.ok{background:var(--grad-ok);box-shadow:var(--shadow-ok)}.stat.warn{background:var(--grad-warn);box-shadow:var(--shadow-warn)}.stat.bad{background:var(--grad-bad);box-shadow:var(--shadow-bad)}.stat.info{background:var(--grad-info);box-shadow:var(--shadow-info)}.stat.ai{background:var(--grad-ai);box-shadow:var(--shadow-ai)}.callout{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:var(--radius-card);font-size:var(--fs-label);line-height:1.4;color:var(--text-2)}.callout.info{background:var(--info-soft)}.callout.warn{background:var(--warning-soft)}.callout.bad{background:var(--danger-soft)}.callout-dot{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;flex:none;color:var(--on-color)}.callout.info .callout-dot{background:var(--info)}.callout.warn .callout-dot{background:var(--warning)}.callout.bad .callout-dot{background:var(--danger)}.callout-title{font-weight:600;font-size:var(--fs-body);color:var(--primary-dark);margin-bottom:2px}.input{font:inherit;width:100%;min-width:0;height:50px;padding:0 16px;border-radius:var(--radius-button);border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:var(--fs-body)}.input::placeholder{color:var(--faint)}.input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 .8px var(--primary)}.input.big{font-size:var(--fs-display);text-align:center;letter-spacing:.3em;font-weight:800}input[type=color]{width:50px;height:50px;border:1px solid var(--border);border-radius:var(--radius-button);padding:4px;background:var(--surface);flex:none}.seg-row{display:flex;gap:8px;flex-wrap:wrap}.seg{height:36px;padding:0 12px;border-radius:var(--radius-button);border:1px solid var(--border);background:var(--surface);color:var(--primary-dark);font:inherit;font-size:var(--fs-label);font-weight:600;display:inline-flex;align-items:center;gap:6px;cursor:pointer;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}.seg.on{background:var(--primary-soft);border-color:var(--primary);color:var(--primary)}.seg:disabled{opacity:.5;cursor:default}.chip{display:inline-flex;align-items:center;gap:8px;font-weight:600;min-width:0}.chip.ghost{color:var(--muted);font-style:italic;font-weight:400}.dot{width:10px;height:10px;border-radius:50%;flex:none}.skeleton{display:block;border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--skeleton) 30%,var(--skeleton-highlight) 50%,var(--skeleton) 70%);background-size:300% 100%;animation:shimmer 1.3s linear infinite}@keyframes shimmer{0%{background-position:100% 0}to{background-position:0 0}}.skel-head{display:grid;gap:8px}.skel-card{display:grid;gap:16px}.skel-row{display:flex;gap:12px;align-items:center}.skel-lines{flex:1;display:grid;gap:8px}.toasts{position:fixed;top:calc(12px + env(safe-area-inset-top));left:16px;right:16px;display:grid;gap:8px;z-index:60;justify-items:center;pointer-events:none}@keyframes toast-in{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:none}}.toast{pointer-events:auto;cursor:pointer;display:flex;gap:12px;align-items:center;width:100%;max-width:520px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-floating);padding:14px 16px;font-weight:500;color:var(--primary-dark);animation:toast-in .24s ease-out both}.toast.ok svg{color:var(--success);flex:none}.toast.error svg{color:var(--danger);flex:none}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--scrim);z-index:70;display:grid;place-items:center;padding:16px;animation:toast-in .2s ease-out both}.dialog{background:var(--surface);border-radius:var(--radius-dialog);padding:24px;width:100%;max-width:420px;box-shadow:var(--shadow-floating)}.dialog-body{color:var(--text-2);margin:0 0 20px}.dialog-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}.hero{background:var(--hero);color:var(--on-color);border-radius:var(--radius-card);padding:20px;box-shadow:var(--shadow-hero)}.hero .eyebrow{color:var(--on-color-75)}.hero-title{font-size:var(--fs-h1);font-weight:800;letter-spacing:-.3px;margin-top:4px}.hero-sub{color:var(--on-color-85);margin-top:4px}.hero-tv{display:inline-flex;gap:6px;align-items:center;margin-top:12px;color:var(--on-color);font-weight:700;font-size:var(--fs-label);background:var(--on-color-22);padding:8px 12px;border-radius:var(--radius-button)}.live-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.live-card{display:block;color:inherit;background:var(--surface);border-radius:var(--radius-card);padding:20px;box-shadow:var(--shadow-card)}.live-line{margin-top:12px;display:grid;gap:8px}.live-team{display:flex;align-items:center;gap:12px}.live-team .bar{width:6px;align-self:stretch;border-radius:var(--radius-full)}.lt-name{flex:1;font-weight:700;color:var(--primary-dark);min-width:0}.lt-score{font-size:var(--fs-display);font-weight:800;line-height:1;color:var(--primary-dark)}.slot-time{padding:12px 20px 4px;font-weight:800;color:var(--primary-dark);background:var(--surface-2)}.slot-note{padding:12px 20px;color:var(--muted);font-size:var(--fs-label);background:var(--surface-2)}.stage-label{padding:8px 20px 0}.mrow{display:grid;grid-template-columns:48px 1fr auto auto;gap:12px;align-items:center;padding:12px 20px;color:inherit;border-top:1px solid var(--border);min-height:64px}.slot-time+div .mrow,.slot-time+.mrow{border-top:0}.mrow .court{font-size:var(--fs-small);color:var(--muted);font-weight:600}.mteams{display:grid;gap:4px;min-width:0}.mteams .chip{color:var(--text)}.mteams .w .chip{font-weight:800;color:var(--primary-dark)}.mscore{font-weight:800;font-size:16px;color:var(--primary-dark)}.mrow:hover{background:var(--surface-2)}.match-head{display:flex;gap:8px;align-items:center;margin-bottom:12px}.back{display:grid;place-items:center;width:36px;height:36px;border-radius:var(--radius-button);color:var(--primary-dark)}.back:hover{background:var(--surface-2)}.match-title{font-weight:800;font-size:var(--fs-h3);color:var(--primary-dark)}.vs{color:var(--muted);font-weight:400}.progress{display:flex;gap:16px;justify-content:center;align-items:center;padding:8px;color:var(--text-2);flex-wrap:wrap}.progress b{color:var(--primary-dark)}.dots{display:inline-flex;gap:4px;align-items:center}.dots i{width:12px;height:12px;border-radius:50%;border:2px solid var(--faint);display:inline-block}.dots i:first-child{margin-left:4px}.dots i.on{background:var(--primary);border-color:var(--primary)}.dots i.now{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.board{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:4px}.side{position:relative;font:inherit;border:0;border-radius:var(--radius-card);padding:16px 12px 24px;display:flex;flex-direction:column;align-items:center;gap:4px;min-height:260px;justify-content:center;-webkit-user-select:none;user-select:none;touch-action:manipulation;transition:transform 80ms;box-shadow:var(--shadow-card)}.side:disabled{cursor:default;opacity:1}.side.tappable{cursor:pointer;box-shadow:var(--shadow-side)}.side.tappable:active{transform:scale(.98);box-shadow:var(--shadow-press)}.side.loser{filter:grayscale(.7);opacity:.6!important}.side.winner{outline:4px solid var(--primary-bright);outline-offset:3px}.side-name{font-weight:800;font-size:16px;text-align:center;display:inline-flex;gap:6px;align-items:center;max-width:100%}.side-score{font-size:clamp(5rem,24vw,9rem);font-weight:800;line-height:1;font-variant-numeric:tabular-nums;letter-spacing:-2px}.side-pair{font-size:var(--fs-label);font-weight:600;opacity:.92;text-align:center;min-height:1.3em}.side-hint{position:absolute;bottom:8px;font-size:var(--fs-overline);opacity:.8;font-weight:700;letter-spacing:.6px;text-transform:uppercase}.badge-gp{position:absolute;top:12px;background:var(--surface);color:var(--primary-dark);font-size:var(--fs-overline);font-weight:800;padding:4px 10px;border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.6px}.board.compact .side{min-height:0;padding:12px}.board.compact .side-score{font-size:3.2rem}.board.compact .side-pair,.board.compact .side-hint{display:none}.banner{border-radius:var(--radius-card);padding:14px 16px;font-weight:800;text-align:center;margin-bottom:12px;display:flex;gap:8px;align-items:center;justify-content:center}.banner.win{background:var(--grad-ok);color:var(--on-color);font-size:16px;box-shadow:var(--shadow-ok)}.picker{margin-top:16px}.picker-head{margin-bottom:16px;display:grid;gap:4px}.picker-msg{font-weight:800;font-size:var(--fs-h3);color:var(--primary-dark)}.pick-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.pick-col{display:grid;gap:8px;align-content:start}.pick-team{font-weight:800;color:var(--primary-dark);border-left:4px solid;padding-left:8px;margin-bottom:4px;display:flex;gap:4px;align-items:center}.pick-team .ok{color:var(--success);display:inline-flex}.pick-wait{font-size:var(--fs-small);color:var(--warning);font-weight:600}.pair-btn{font:inherit;text-align:left;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:var(--radius-button);padding:8px 12px;min-height:52px;display:grid;grid-template-columns:auto 1fr;column-gap:8px;align-items:center;cursor:pointer}.pair-btn:hover:not(:disabled){background:var(--primary-soft);border-color:var(--primary)}.pair-btn .pn{font-weight:800;font-size:var(--fs-small);color:var(--muted);font-variant-numeric:tabular-nums}.pair-btn .pl{font-weight:600;font-size:var(--fs-label)}.pair-btn .tag{grid-column:2;font-size:var(--fs-overline);color:var(--muted);text-transform:uppercase;letter-spacing:.6px;font-weight:700}.pair-btn.used .pl{text-decoration:line-through;color:var(--muted)}.pair-btn:disabled{cursor:not-allowed;opacity:.5}.pair-btn.chosen{opacity:1;border-color:transparent;box-shadow:var(--shadow-card)}.pair-btn.chosen .pn{color:inherit}.tbl{width:100%;border-collapse:collapse;font-size:var(--fs-label)}.tbl th,.tbl td{padding:8px 4px;text-align:left;border-bottom:1px solid var(--border);vertical-align:top}.tbl tr:last-child td{border-bottom:0}.tbl th{font-size:var(--fs-overline);color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.6px}.tbl.hist .pts{color:var(--muted);font-size:var(--fs-small);white-space:nowrap}.standings th:first-child,.standings td:first-child{padding-left:20px}.standings th:last-child,.standings td:last-child{padding-right:20px}.standings td.num,.standings th:nth-child(n+3){text-align:center}.standings .rank{font-weight:800;font-size:16px;color:var(--primary-dark)}.standings td{padding-top:12px;padding-bottom:12px}.rules{margin:12px 4px}.stat-row{display:flex;justify-content:space-between;gap:8px;font-size:var(--fs-label);padding:4px 0;border-bottom:1px solid var(--border)}.bracket{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.bracket .card+.card{margin-top:0}.bracket .mrow{padding:12px 0 0;border:0}.bracket .mrow:hover{background:none}.team-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.team-grid .card+.card{margin-top:0}.team-head{display:flex;gap:12px;align-items:center;margin-bottom:12px}.team-ico{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;flex:none;color:var(--on-color);font-weight:800;font-size:16px;box-shadow:var(--shadow-press)}.team-head h3{margin:0}.players{padding-left:20px;margin:0 0 12px;font-weight:600;color:var(--text)}.players li{padding:2px 0}.cap{margin-left:4px}.pairs{display:grid;gap:4px;margin-top:8px}.pair-tag{font-size:var(--fs-label);color:var(--text-2)}.pair-tag b{color:var(--muted);display:inline-block;width:32px;font-variant-numeric:tabular-nums}.rules-list{margin:0;padding-left:20px;color:var(--text-2)}.rules-list li{padding:2px 0}.login{max-width:420px;margin:24px auto;display:grid;gap:12px}.login h2{margin:0}.login p{margin:0;color:var(--text-2)}.edit-team{border-top:4px solid;padding-top:12px}.pos-n{width:16px;font-weight:800;color:var(--muted)}.cap-radio{display:flex;align-items:center;gap:4px;font-size:var(--fs-small);font-weight:700;color:var(--text-2)}.move button{font:inherit;width:36px;height:50px;border-radius:var(--radius-button);border:1px solid var(--border);background:var(--surface);color:var(--primary);display:grid;place-items:center;cursor:pointer}.move button:disabled{opacity:.3;cursor:default}.ko-row{flex-direction:column;align-items:stretch;gap:8px;padding:12px 0;border-top:1px solid var(--border)}.ko-row:first-of-type{border-top:0}.ko-label{font-weight:700;color:var(--primary-dark)}.ko-side{display:grid;grid-template-columns:56px 1fr;gap:8px;align-items:center}.admin-match{border-top:1px solid var(--border);padding-top:8px;flex-wrap:wrap}.admin-match a{color:var(--text)}.step{padding:0}.step>summary{list-style:none;display:flex;gap:12px;align-items:center;padding:16px 20px;cursor:pointer}.step>summary::-webkit-details-marker{display:none}.step>summary .chev{color:var(--muted);transition:transform .2s}.step[open]>summary .chev{transform:rotate(180deg)}.step-n{width:34px;height:34px;border-radius:12px;background:var(--grad-brand);color:var(--on-color);display:grid;place-items:center;font-weight:800;flex:none;box-shadow:var(--shadow-press)}.step summary b{color:var(--primary-dark);font-size:var(--fs-h3)}.step-hint{display:block}.step-body{padding:0 20px 20px}.court-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.court-card{display:block;color:inherit;background:var(--surface);border-radius:var(--radius-card);padding:20px;box-shadow:var(--shadow-card);min-height:180px}.court-card:active{transform:scale(.99)}.court-top{display:flex;gap:12px;align-items:center;margin-bottom:12px}.court-ico{width:42px;height:42px;border-radius:14px;background:var(--grad-brand);color:var(--on-color);display:grid;place-items:center;box-shadow:var(--shadow-press);flex:none}.court-num{font-size:var(--fs-h2);font-weight:800;color:var(--primary-dark)}.msum{display:grid;gap:4px}.msum-meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:4px}.msum-row{display:flex;gap:8px;align-items:center;font-weight:600;font-size:var(--fs-body);color:var(--text)}.msum-row.w{font-weight:800;color:var(--primary-dark)}.msum-row b{font-size:18px;color:var(--primary-dark)}.card.current .eyebrow{margin-bottom:8px}.tl-row{display:grid;grid-template-columns:44px 1fr auto auto;gap:12px;align-items:center;padding:12px 20px;border-top:1px solid var(--border);color:inherit;min-height:60px}.tl-row:first-child{border-top:0}.tl-row:hover{background:var(--surface-2)}.tl-row.cur{background:var(--primary-soft);box-shadow:inset 4px 0 0 var(--primary)}.tl-row.disabled{color:var(--muted);pointer-events:none}.tl-time{font-weight:800;color:var(--primary-dark);font-variant-numeric:tabular-nums}.app.focus{padding-bottom:0}.app.focus .content{padding-top:0}.ref-bar{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:8px;margin:0 -16px;padding:8px 16px;padding-top:calc(8px + env(safe-area-inset-top));background:var(--bg)}.ref-back{display:inline-flex;align-items:center;gap:2px;font-weight:700;font-size:var(--fs-appbar);color:var(--primary-dark);padding:6px 8px 6px 0;white-space:nowrap}.ref-title{flex:1;font-size:var(--fs-small);color:var(--muted);text-align:center;font-weight:600}.ref .progress{padding:4px 0 8px}.ref .side{min-height:max(260px,calc(100dvh - 240px))}.ref .board.compact .side{min-height:0}.ref .side-score{font-size:clamp(6rem,30vw,12rem)}.ref .board.compact .side-score{font-size:3.2rem}.ref-dock{position:sticky;bottom:0;z-index:5;margin:16px -16px 0;padding:12px 16px;padding-bottom:calc(12px + env(safe-area-inset-bottom));background:var(--surface);box-shadow:var(--shadow-floating);border-radius:var(--radius-dialog) var(--radius-dialog) 0 0}.ref-dock .undo{width:100%}.ref>.card,.ref>section{margin-top:12px}.lock-box{display:grid;gap:12px;margin:8px 0 12px}.next-box{margin-top:12px}.match .btn.block{margin-top:16px}.tv{min-height:100dvh;background:var(--primary-dark);color:var(--on-color);padding:2vh 2vw;display:grid;grid-template-rows:auto 1fr auto;gap:2vh}.tv-head{font-weight:800;font-size:2.4vh;display:flex;gap:16px;align-items:baseline}.tv-head span{color:var(--on-color-75);font-weight:400}.tv-exit{margin-left:auto;font-size:1.6vh;color:var(--on-color-75)}.tv-courts{display:grid;grid-template-columns:1fr 1fr;gap:2vw}.tv-court{display:grid;grid-template-rows:auto 1fr 1fr;gap:1.5vh}.tv-court-title{display:flex;justify-content:space-between;font-weight:800;font-size:2.2vh;color:var(--primary-bright);gap:8px;flex-wrap:wrap}.tv-court-title span{color:var(--on-color)}.tv-team{border-radius:var(--radius-card);padding:2vh 2vw;display:flex;justify-content:space-between;align-items:center;background:var(--on-color-22)}.tv-team.w{outline:.6vh solid var(--primary-bright)}.tv-name{font-size:4vh;font-weight:800}.tv-pair{font-size:2.4vh;opacity:.9}.tv-score{font-size:15vh;font-weight:800;line-height:1}.tv-standings{background:var(--surface);color:var(--text);border-radius:var(--radius-card);padding:0 1vw}.tv-standings .tbl{font-size:2vh}@media(max-width:700px){.tv-courts{grid-template-columns:1fr}}@media(max-width:380px){.side{min-height:220px}.pick-grid{gap:8px}.pair-btn .pl{font-size:var(--fs-small)}.court-grid{grid-template-columns:1fr}}.stat-label,.stat-value,.stat-sub{text-shadow:0 1px 2px rgb(11 59 42 / .22)}.stat-row .num{white-space:nowrap}
