:root{color-scheme:dark;--yellow: #ffe500;--lime: var(--yellow);--lime-ink: #111111;--paper: #090b0e;--card: #14171d;--ink: #f6f7f4;--muted: #a4a8b2;--line: #2c313a;--danger: #ff5d5d;--ok: #ffe500;--shadow: none;--chrome: #07080b;--chrome-ink: #f6f7f4;--chrome-muted: #a4a8b2;--chrome-line: #2c313a;--chrome-active: #ffe500;--soft: #1c212b;--input: #0e1116;--input-ink: #f6f7f4;--menu: #161a22;--accent-text: #ffe500;--sidebar: #07080b;--sidebar-active: #ffe500;font-family:Inter,Avenir Next,Segoe UI,sans-serif;background:var(--paper);color:var(--ink)}:root[data-theme=light]{color-scheme:dark;--chrome: #ffe500;--chrome-ink: #111111;--chrome-muted: #3a382c;--chrome-line: #111111;--chrome-active: #111111;--sidebar: #ffe500;--sidebar-active: #111111}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink)}a{color:inherit}button,input,select{font:inherit}h1,h2,p{margin-top:0}h1{margin-bottom:.25rem;font-size:1.85rem;letter-spacing:-.035em;line-height:1.05}h2{margin-bottom:.75rem;font-size:1rem}p{color:var(--muted);line-height:1.45}.brand{display:inline-flex;align-items:center;gap:.55rem;color:var(--chrome-ink);font-weight:800;letter-spacing:.06em;text-decoration:none;font-size:.84rem}.logo-mark{width:28px;height:28px;flex:none}.public-header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;padding:1rem 1.4rem;position:relative;z-index:2}.public-header.bar{background:var(--chrome);color:var(--chrome-ink);border-bottom:1px solid var(--chrome-line)}.public-header.overlay{background:transparent;color:#fff}.public-header.overlay .brand,.public-header.overlay .text-link,.public-header.overlay .public-nav a{color:#fff}.public-nav{display:flex;gap:1.15rem;justify-content:center}.public-nav a{color:var(--chrome-ink);text-decoration:none;font-size:.92rem;font-weight:500}.public-nav a.active{color:var(--accent-text)}.public-header.overlay .public-nav a.active{color:var(--lime)}.header-actions{display:flex;gap:.7rem;align-items:center;justify-self:end}.text-link{color:var(--chrome-ink);text-decoration:none;font-weight:600}.public-header.bar .ghost,.public-header.bar .menu-button{color:var(--chrome-ink);border-color:var(--line)}.menu-button{display:none}.button,.ghost,.icon-button,.text-button{border-radius:8px;cursor:pointer;font-weight:700}.button{display:inline-flex;align-items:center;justify-content:center;background:var(--lime);color:var(--lime-ink);border:0;padding:.72rem 1.05rem;text-decoration:none}.button.outline{background:#08120e59;color:#fff;border:1px solid rgba(255,255,255,.72)}.button.quiet{background:var(--card);color:var(--ink);border:1px solid var(--line)}.button.solid-dark,.button.generate{background:#111;color:var(--yellow);border:1px solid var(--yellow)}:root[data-theme=dark] .button.generate{background:var(--lime);color:var(--lime-ink)}.ghost{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.4);padding:.4rem .75rem}.page .ghost{color:var(--ink);border-color:var(--line);background:var(--card)}.button:disabled{opacity:.6;cursor:wait}.home-hero{min-height:100vh;display:flex;flex-direction:column;color:#fff;background:linear-gradient(90deg,#000000d1,#00000073 48%,#0003),#07080b url(/hero-court.jpg) center right / cover no-repeat}.home-copy{padding:4.5rem 7vw 1rem;max-width:760px}.home-copy h1{font-size:clamp(3.1rem,5.4vw,4.7rem);font-weight:800;letter-spacing:-.04em;line-height:.96;color:#fff}.home-copy h1 span{color:var(--lime)}.home-copy p{max-width:34rem;color:#ffffffdb;font-size:1.12rem}.hero-actions{display:flex;gap:.75rem;margin-top:1.4rem}.home-features{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;list-style:none;margin:auto 0 0;padding:1.5rem 5vw 2.2rem}.home-features li{position:relative;display:grid;justify-items:center;gap:.7rem;text-align:center;padding:.4rem .6rem}.home-features li+li:before{content:"";position:absolute;left:0;top:12%;bottom:12%;width:1px;background:#ffffff61}.home-features svg,.side-nav svg,.tab-bar svg{width:26px;height:26px;fill:none;stroke:#fff;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.home-features strong{font-size:.95rem;font-weight:600}.side-nav svg,.tab-bar svg{width:18px;height:18px}.auth-hero .brand{color:#fff}.auth-card{width:min(440px,calc(100% - 2rem));margin:7vh auto 3rem;background:#07120ddb;border:1px solid rgba(255,255,255,.14);border-radius:18px;padding:1.5rem;color:#fff}.auth-card h1{font-size:2rem;color:#fff}.auth-card p{color:#fffc}form,.stack-form{display:grid;gap:.8rem}label{display:grid;gap:.35rem;font-size:.9rem;color:inherit}input,select,textarea{border:1px solid var(--line);background:var(--input);color:var(--input-ink);border-radius:10px;padding:.72rem .8rem}.form-error{color:#ffb4b4}.form-notice{color:var(--yellow)}.page .form-error,.content .form-error{color:var(--danger)}.page .form-notice,.content .form-notice{color:var(--ok)}.auth-switch a{color:var(--lime)}.site{min-height:100vh;background:var(--paper);color:var(--ink)}.content{width:min(1120px,calc(100% - 2.5rem));margin:0 auto;padding:1.6rem 0 3rem}.app-shell{min-height:100vh;display:grid;grid-template-columns:228px 1fr;background:var(--paper)}.sidebar{background:var(--sidebar);color:#fff;padding:1.15rem .75rem;display:flex;flex-direction:column;gap:1.2rem;position:sticky;top:0;height:100vh}.side-brand{padding:.2rem .55rem}.side-nav{display:grid;gap:.15rem}.side-nav a{display:flex;align-items:center;gap:.7rem;color:#ffffffdb;text-decoration:none;padding:.62rem .75rem;border-radius:10px;font-size:.94rem}.side-nav a.active{background:var(--sidebar-active);color:#fff}.app-content{padding:1.35rem 1.5rem 2.5rem}.tab-bar{display:none}.page-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:1rem}.page-head p,.meta{color:var(--muted);margin:0}.page-tools{display:flex;align-items:center;gap:.55rem}.icon-button,.text-button{border:1px solid var(--line);background:var(--card);color:var(--ink);padding:.4rem .7rem}.text-button{font-weight:600}.user-chip{display:flex;align-items:center;gap:.55rem}.user-chip strong,.user-chip small{display:block}.user-chip small{color:var(--muted);font-weight:500}.home-board{display:grid;gap:1rem}.home-links{margin:0}.home-links a{color:var(--yellow);font-weight:700}.home-kicker{margin:0;color:var(--yellow);font-size:.78rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.home-week h1{margin:.15rem 0 0;font-size:clamp(1.8rem,3vw,2.4rem);letter-spacing:-.04em;text-transform:uppercase}.home-week p{margin:.25rem 0 0}.lineup-banner{margin:0;padding:.75rem .9rem;border:1px solid var(--line);border-left:4px solid var(--yellow);border-radius:8px;color:var(--ink);font-weight:700}.home-matches{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.home-match{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:.9rem 1rem 1rem}.home-match header{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.home-match h2{margin:.45rem 0 0;font-size:1.15rem;letter-spacing:-.02em;text-transform:uppercase}.home-lines{width:100%;margin-top:.8rem;border-collapse:collapse}.home-lines th{color:var(--muted);background:transparent;font-size:.68rem;text-align:left}.home-lines td{font-size:.86rem;padding:.45rem .35rem;border-bottom:1px solid #262b33}.home-lines .court{color:var(--muted);text-align:right}.home-results>h2{margin:.2rem 0 .7rem;text-transform:uppercase;letter-spacing:-.03em}.home-match .row-actions{margin-top:.75rem}.schedule-toolbar,.plan-weeks article header,.team-order li{display:flex;justify-content:space-between;align-items:center;gap:.75rem}.schedule-toolbar{margin-bottom:.8rem}.schedule-toolbar h2,.team-order h3{margin:0}.season-schedule{display:grid;gap:.8rem}.season-schedule h2{display:flex;gap:.7rem;align-items:baseline;text-transform:uppercase}.match-format h2{margin:0 0 .85rem;color:var(--ink);font-size:clamp(1.7rem,3vw,2.15rem);letter-spacing:-.045em;text-transform:uppercase}.match-format .format-banner{margin:0 0 .85rem;padding:.8rem .95rem;background:var(--yellow);color:#111;font-weight:800;line-height:1.35}.match-format-weeks{margin:0;padding:0;list-style:none;border:1px solid var(--line);border-radius:12px;overflow:hidden}.match-format-weeks li{display:grid;grid-template-columns:6.5rem minmax(0,1fr);gap:.35rem 1rem;padding:.9rem 1rem;background:#12151b;border-top:1px solid var(--line)}.match-format-weeks li:first-child{border-top:0}.match-format-weeks strong{color:var(--ink);font-size:.95rem;letter-spacing:.04em;text-transform:uppercase}.match-format-weeks p{margin:0;color:var(--ink);line-height:1.35}.match-format-weeks time{display:block;margin-top:.25rem;color:var(--muted);font-size:.82rem}.match-format .scoring{margin-top:1.5rem}.match-format .scoring p{max-width:46rem;color:var(--ink)}.season-schedule time{color:var(--muted);font-size:.85rem;font-weight:650;letter-spacing:0;text-transform:none}.schedule-pairs{list-style:none;margin:.4rem 0 0;padding:0;display:grid;gap:.35rem}.schedule-pairs a{color:var(--ink);font-weight:750;text-decoration:none}.season-schedule header .ghost{padding:.28rem .7rem;font-size:.78rem}.week-edit-matches,.week-courts{display:grid;gap:.55rem}.week-edit-match{display:grid;grid-template-columns:1fr auto 1fr 7.2rem auto;gap:.45rem;align-items:end}.week-edit-match .vs{padding-bottom:.55rem;color:var(--muted);font-size:.78rem;font-weight:800}.week-courts{grid-template-columns:repeat(3,minmax(0,1fr))}.split-fields{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}.team-order ol{list-style:none;margin:.4rem 0 0;padding:0;display:grid;gap:.35rem}.team-order li{padding:.35rem 0;border-bottom:1px solid #262b33}.plan-weeks{display:grid;gap:.55rem;max-height:24rem;overflow:auto}.plan-weeks article{border:1px solid var(--line);border-radius:10px;padding:.65rem .75rem}.plan-weeks header strong{font-size:.92rem}.plan-weeks ul{margin:.35rem 0 0;padding-left:1.1rem}.court-line{margin:.35rem 0 0;color:var(--muted);font-size:.78rem;line-height:1.45}.plan-weeks label{display:flex;align-items:center;gap:.35rem;color:var(--muted);font-size:.82rem}@media(max-width:900px){.home-matches,.split-fields,.week-edit-match,.week-courts,.match-format-weeks li{grid-template-columns:1fr}}.dash{display:grid;grid-template-columns:minmax(240px,.9fr) minmax(260px,1fr) minmax(320px,1.25fr);grid-template-areas:"week week standings" "next team standings" "results results standings";gap:.9rem;align-items:stretch}.week-card{grid-area:week}.next-match{grid-area:next}.my-team{grid-area:team}.standings-card{grid-area:standings}.results-card{grid-area:results}.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:1rem 1.05rem 1.1rem;box-shadow:var(--shadow)}.week-card{min-height:168px;padding:0;overflow:hidden;background:linear-gradient(135deg,rgba(255,229,0,.16),transparent 42%),#101318;position:relative}.week-badge{position:absolute;top:12px;right:12px;background:#111;color:#fff;border:1px solid var(--yellow);border-radius:12px;padding:.7rem .85rem;min-width:132px}.week-badge strong{display:block;color:var(--lime);font-size:1.2rem}.week-badge span,.week-badge small{display:block;color:#ffffffd1}.versus,.team-row{display:flex;align-items:center;gap:.7rem}.versus{justify-content:space-between}.versus>div,.team-row{display:flex;align-items:center;gap:.55rem}.versus strong,.team-row strong{color:var(--ink)}.team-row span,.versus>span{color:var(--muted)}.versus.large{justify-content:space-around;padding:.6rem 0}.row-actions{display:flex;gap:.5rem;margin-top:.9rem;flex-wrap:wrap}.team-cell{display:flex;align-items:center;gap:.5rem}.text-action{color:var(--accent-text);font-weight:700;text-decoration:none;display:inline-block;margin-top:.7rem}.result-list{list-style:none;padding:0;margin:0}.result-list li{display:grid;grid-template-columns:1.4fr auto auto;gap:.8rem;padding:.7rem 0;border-top:1px solid var(--line);color:var(--ink)}.toolbar{display:flex;justify-content:space-between;gap:.8rem;align-items:center;margin-bottom:.8rem;flex-wrap:wrap}.toolbar-actions{display:flex;gap:.5rem;align-items:center}.pills{display:flex;gap:.4rem;flex-wrap:wrap}.pills button{border:1px solid var(--line);background:var(--soft);color:var(--ink);border-radius:999px;padding:.42rem .75rem;cursor:pointer;font-weight:650}.pills button.active{background:var(--lime);color:var(--lime-ink);border-color:var(--lime)}.table-card{background:var(--card);border:1px solid var(--line);border-radius:16px;overflow-x:auto;box-shadow:var(--shadow)}.home-season{background:var(--paper);color:var(--ink);padding:2.5rem 7vw 3.5rem}.news-feed{display:grid;gap:.75rem;margin:.2rem 0 1.1rem}.news-feed header{display:flex;justify-content:space-between;align-items:center;gap:1rem}.news-feed header h2{margin:0}.news-post{position:relative}.post-top{display:flex;justify-content:space-between;align-items:flex-start;gap:.6rem}.news-post time{display:block;color:var(--muted);font-size:.8rem;margin-bottom:.25rem}.news-post .ellipsis-button{color:var(--muted)}.news-post .ellipsis-menu{background:var(--card);border-color:var(--line)}.news-post .ellipsis-menu button{color:var(--ink)}.news-post .ellipsis-menu button:hover{background:color-mix(in srgb,var(--ink) 8%,transparent)}.news-post h3{margin:0 0 .4rem}.news-post p:last-child{margin-bottom:0}.home-season .news-feed{margin-top:1.2rem}.home-season h2{margin-top:0}.home-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.site-footer{display:flex;gap:1rem;padding-top:1.5rem}.site-footer a{color:var(--muted)}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:.8rem .9rem;border-bottom:1px solid var(--line);vertical-align:middle}th{font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--yellow);background:#101318}.click-row{cursor:pointer}.click-row:hover{background:color-mix(in srgb,var(--lime) 8%,transparent)}.tag{display:inline-flex;border-radius:999px;padding:.15rem .5rem;background:var(--soft);color:var(--muted);font-size:.78rem;font-weight:700}.tag.warn{background:#f6e7a8;color:#6a5310}.up{color:var(--ok);font-weight:700}.down{color:var(--danger);font-weight:700}.vs{color:var(--muted);font-weight:700}.player-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 1rem;align-items:start}.player-column{list-style:none;padding:0;margin:0;display:grid;gap:.4rem;align-content:start}.player-card{display:flex;align-items:center;gap:.55rem;margin:0;min-height:2.75rem;padding:.4rem .7rem}.player-board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.45rem .7rem;list-style:none;padding:0;margin:0}.player-card a,.player-card .player-name{min-width:0;flex:1;text-decoration:none;color:inherit}.player-label-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.55rem;width:100%}.ntrp-badge{width:2.15rem;height:1.4rem;display:grid;place-items:center;border-radius:.2rem;font-size:.72rem;font-weight:800;line-height:1}.player-who{min-width:0}.player-who strong{display:block;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-who small{display:block;color:var(--muted);font-size:.72rem}.rating-pair{display:inline-flex;align-items:center;gap:.45rem}.ratings-together{grid-template-columns:minmax(0,1fr) auto}.tr-rating{color:var(--muted);font-size:.72rem;font-weight:750;white-space:nowrap}@media(max-width:900px){.player-board{grid-template-columns:1fr 1fr}}@media(max-width:640px){.player-board{grid-template-columns:1fr}}.player-card strong{display:block;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-meta{flex:none;color:var(--muted);font-size:.78rem;font-weight:650;white-space:nowrap}.page .player-grid .card+.card,.content .player-grid .card+.card{margin-top:0}.data-list{list-style:none;padding:.2rem 1rem;margin:0}.data-list li{display:flex;justify-content:space-between;gap:1rem;padding:.85rem 0;border-bottom:1px solid var(--line)}.pill{background:var(--lime);color:var(--lime-ink);border-radius:999px;padding:.15rem .55rem;font-size:.75rem}.pill.quiet{background:transparent;color:var(--muted);border:1px solid var(--line)}.season-list{list-style:none;padding:0;margin:.8rem 0 0;display:grid;gap:.55rem}.season-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1rem;border-radius:16px;background:var(--card);border:1px solid var(--line);color:var(--ink)}.season-row strong{color:var(--ink)}.season-row small{color:var(--muted)}.season-open{color:inherit;text-decoration:none;flex:1;min-width:0}.season-side{display:flex;align-items:center;gap:.35rem;flex:none}.status-logo{display:inline-flex;align-items:center;border-radius:999px;padding:.32rem .85rem;background:var(--yellow);color:#111;font-size:.84rem;font-weight:650;line-height:1;letter-spacing:.01em;text-transform:lowercase}.ellipsis{position:relative}.ellipsis-button{width:2rem;height:2rem;border:0;background:transparent;color:var(--muted);border-radius:999px;display:inline-flex;align-items:center;justify-content:center;gap:.16rem;cursor:pointer}.ellipsis-button span{width:.28rem;height:.28rem;border-radius:50%;background:currentColor}.ellipsis-button[aria-expanded=true]{background:color-mix(in srgb,var(--ink) 8%,transparent)}.ellipsis-menu{position:absolute;right:0;top:calc(100% + .3rem);z-index:4;min-width:11rem;padding:.3rem;border-radius:12px;background:var(--menu);border:1px solid var(--line);box-shadow:var(--shadow)}.ellipsis-menu button{display:block;width:100%;text-align:left;border:0;background:transparent;color:var(--ink);border-radius:8px;padding:.5rem .65rem;font-weight:600;cursor:pointer}.ellipsis-menu button:hover{background:color-mix(in srgb,var(--ink) 8%,transparent)}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.8rem}.check{display:flex;align-items:center;gap:.5rem}.check input{width:auto}.team-summary{display:flex;align-items:center;gap:.8rem}.team-summary .button{margin-left:auto}.card>header{display:flex;justify-content:space-between;align-items:center;gap:1rem}.card>header h2{margin:0}.roster-list{list-style:none;padding:0;margin:.8rem 0 0;display:grid;gap:.45rem}.page .roster-list .card+.card,.content .roster-list .card+.card{margin-top:0}.player-role{flex:none;color:var(--muted);font-size:.78rem;font-weight:650}.player-card .ellipsis{flex:none}.ellipsis-menu p{margin:0;padding:.55rem .7rem .15rem;color:var(--muted);font-size:.82rem}.team-summary h2,.stack h2{margin-bottom:.2rem}.stack{display:grid;gap:.8rem;margin-bottom:1rem}.page .card+.card,.content .card+.card{margin-top:.9rem}.name-form{display:flex;gap:.6rem;align-items:end;flex-wrap:wrap;margin-bottom:.8rem}.name-form label{min-width:240px}.stack-form{margin-top:1rem}.split{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;margin-bottom:1rem}.line-row{display:grid;grid-template-columns:4.5rem 1fr 1fr;gap:.6rem;align-items:center}.line-list{list-style:none;padding:0;margin:0 0 .8rem}.line-list li{display:flex;justify-content:space-between;gap:1rem;padding:.45rem 0;border-bottom:1px solid var(--line)}.line-list strong,.line-list span{color:var(--ink)}.decision-actions{display:flex;gap:.6rem;flex-wrap:wrap}h3{margin:.2rem 0 .4rem;font-size:.95rem}.match-meta,.tab-row{display:flex;gap:.5rem;margin-bottom:.8rem}.tab-row span,.tab-row a,.tab-row button{padding:.4rem .7rem;border-radius:999px;color:var(--muted);text-decoration:none;font:inherit;font-weight:700;border:0;background:transparent;cursor:pointer}.tab-row .active{background:var(--lime);color:var(--lime-ink)}.lock-note{background:#f8f1d2;color:#6a5310;border-radius:12px;padding:.75rem .9rem}.status-label{color:var(--ink);font-weight:800}.back-link{display:inline-block;margin:-.4rem 0 .8rem;color:var(--muted);text-decoration:none;font-weight:600}button.back-link{border:0;background:transparent;padding:0;cursor:pointer;font:inherit}.profile-title h1{display:flex;align-items:center;gap:.55rem}.profile-title .back-link{margin:0;color:var(--ink);font-size:1.35rem;line-height:1}.profile-hero{display:flex;gap:1rem;align-items:center}.profile-mark{width:4.6rem;height:4.6rem;border-radius:50%;display:grid;place-items:center;flex:none;border:2px solid color-mix(in srgb,var(--lime) 75%,transparent);background:color-mix(in srgb,var(--lime) 14%,var(--card));color:var(--ok);font-size:1.35rem;font-weight:800}.profile-hero h2{margin:0 0 .4rem}.profile-hero p{display:flex;gap:.55rem;align-items:center;margin:0;flex-wrap:wrap}.profile-rating{color:var(--muted);font-size:.85rem;font-weight:650}.profile-history>header{display:flex;justify-content:space-between;align-items:center;gap:.75rem}.profile-history h2{margin:0}.profile-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;margin:.95rem 0 .85rem}.profile-stats div{border-radius:14px;padding:.9rem .4rem;text-align:center;background:color-mix(in srgb,var(--ink) 5%,var(--card))}.profile-stats strong{display:block;font-size:1.75rem;line-height:1.1}.profile-stats span{color:var(--muted);font-size:.78rem}.profile-stats .wins{background:color-mix(in srgb,var(--ok) 18%,var(--card))}.profile-stats .wins strong{color:var(--ok)}.profile-stats .rate{background:color-mix(in srgb,#e0b15a 20%,var(--card))}.profile-stats .rate strong{color:#b8861d}:root[data-theme=dark] .profile-stats .rate strong{color:#e0b15a}.history-list{list-style:none;margin:.4rem 0 0;padding:0;display:grid;gap:.55rem}.history-list li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.75rem;align-items:center;padding:.75rem .8rem;border:1px solid var(--line);border-radius:14px}.history-list .mark{width:2.05rem;height:2.05rem;border-radius:50%;display:grid;place-items:center;font-weight:800;background:color-mix(in srgb,var(--ink) 8%,var(--card));color:var(--muted)}.history-list .mark.win{background:color-mix(in srgb,var(--ok) 20%,var(--card));color:var(--ok)}.history-list p{margin:0;display:flex;gap:.45rem;align-items:center;flex-wrap:wrap}.history-list small{display:block;margin-top:.2rem;color:var(--muted)}.history-list em{font-style:normal;font-weight:750;white-space:nowrap}@media(max-width:720px){.profile-stats{grid-template-columns:1fr 1fr}.history-list li{grid-template-columns:auto minmax(0,1fr)}.history-list em{grid-column:2}}.gate,.config-banner{padding:1rem 1.25rem}.config-banner{background:#3a2a00;color:#ffe7a3}@media(max-width:980px){.dash,.split,.app-shell,.line-row{grid-template-columns:1fr}.dash{grid-template-areas:"week" "next" "team" "standings" "results"}.sidebar{display:none}.tab-bar{display:flex;position:fixed;left:0;right:0;bottom:0;background:var(--sidebar);justify-content:space-around;padding:.4rem .2rem calc(.4rem + env(safe-area-inset-bottom));z-index:3}.tab-bar a{color:var(--chrome-muted);text-decoration:none;display:grid;justify-items:center;gap:.15rem;font-size:.68rem}.tab-bar a.active{color:var(--accent-text)}.tab-bar svg{stroke:currentColor}.app-content{padding-bottom:5rem}.public-header{grid-template-columns:1fr auto}.public-nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--chrome);border-bottom:1px solid var(--chrome-line);padding:.8rem 1.2rem 1rem;flex-direction:column}.public-nav.open{display:flex}.menu-button{display:inline-flex;justify-self:end;background:transparent;color:var(--chrome-ink);border:1px solid var(--line);border-radius:8px;padding:.35rem .6rem}.public-header.overlay .public-nav{background:#071910f5;border-bottom:0}.public-header.overlay .menu-button{color:#fff;border-color:#fff6}.header-actions{grid-column:1 / -1;justify-self:start}.home-features,.home-grid{grid-template-columns:1fr}.tab-bar{overflow-x:auto;justify-content:flex-start;gap:.2rem}.tab-bar a{min-width:4.4rem;flex:0 0 auto}.home-features li+li:before{display:none}.home-copy{padding-top:2rem}.home-copy h1{font-size:2.7rem}.page-head,.page-tools{flex-wrap:wrap}.season-lower,.season-facts{display:grid}}.league-shell{min-height:100vh;background:var(--paper);color:var(--ink);display:flex;flex-direction:column}.league-top{background:var(--chrome);color:var(--chrome-ink);border-bottom:3px solid var(--yellow)}.league-brand-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem 1.1rem .35rem}.wordmark{color:var(--chrome-ink);font-weight:900;letter-spacing:-.04em;text-decoration:none;text-transform:uppercase;font-size:1.35rem}.league-nav{display:flex;gap:.15rem;overflow-x:auto;padding:.15rem .7rem .55rem}.league-nav a{color:var(--chrome-ink);text-decoration:none;font-size:.78rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:.4rem .65rem;border-radius:999px;white-space:nowrap}.league-nav a.active{background:var(--chrome-active);color:var(--lime-ink)}:root[data-theme=light] .league-nav a.active{color:var(--yellow);background:#111}.league-tools{display:flex;align-items:center;gap:.45rem;margin-left:auto}.season-switch,.league-theme{border:1px solid var(--chrome-line);background:transparent;color:var(--chrome-ink);border-radius:999px;padding:.35rem .75rem;font-weight:750}.season-switch,.league-theme{cursor:pointer}.league-top .user-chip{display:flex;align-items:center;gap:.45rem;background:transparent;border:0;color:var(--chrome-ink);cursor:pointer;text-align:left}.user-mark{width:2rem;height:2rem;border-radius:50%;display:grid;place-items:center;background:#111;color:var(--yellow);font-size:.72rem;font-weight:800}.league-top .user-chip strong{display:block;color:var(--chrome-ink);font-size:.84rem}.league-top .user-chip small{color:var(--chrome-muted)}.account-menu{position:relative}.account-panel{min-width:10rem;right:0}.account-panel a,.account-panel button{display:block;width:100%;text-align:left;color:var(--ink);text-decoration:none;background:transparent;border:0;border-radius:8px;padding:.5rem .65rem;font-weight:600;cursor:pointer}a.league-theme{text-decoration:none;display:inline-flex;align-items:center}.league-main{flex:1;overflow:auto;min-height:0;padding:1.1rem 1.25rem 2rem;background:var(--paper);color:var(--ink)}.auth-logo{display:inline-flex;align-items:center;background:#111;border-radius:12px;line-height:0;text-decoration:none;padding:.25rem .5rem}.auth-logo img{display:block;width:auto;height:84px}.modal{width:min(560px,calc(100vw - 2rem));max-width:calc(100vw - 2rem);padding:0;border:0;background:transparent;color:var(--ink)}.modal.wide{width:min(760px,calc(100vw - 2rem))}.modal::backdrop{background:#08100c8c}.modal-card{background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:16px;padding:1.1rem 1.15rem 1.25rem;max-height:calc(100vh - 3rem);overflow:auto}.modal-card>header{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.85rem}.modal-card>header h2{margin:0}.modal .ghost{color:var(--ink);border-color:var(--line);background:var(--card)}.season-dash{display:grid;gap:.85rem}.season-back{color:var(--muted);text-decoration:none;font-weight:600}.season-hero{position:relative;min-height:168px;border-radius:18px;overflow:hidden;padding:1.2rem 1.3rem 1.1rem;background:linear-gradient(90deg,#000000e6,#0000009e 52%,#00000047),#101318 url(/hero-court.jpg) center right / cover no-repeat;display:flex;align-items:flex-end;justify-content:space-between;gap:1rem}.season-hero h1{margin:0 0 .45rem;font-size:2.4rem;color:#f4f7f2}.season-facts{display:flex;flex-wrap:wrap;gap:.45rem .9rem;align-items:center;margin:0;color:#d5e0d8}.season-facts span{color:#d5e0d8}.season-hero .tennis-ball{width:150px;height:150px;flex:none;margin-right:4.5rem}.season-settings{position:absolute;top:.9rem;right:.9rem;border:1px solid rgba(255,255,255,.18);background:#0c120eb8;color:#fff;border-radius:999px;padding:.45rem .8rem;cursor:pointer;font-weight:650}.season-tabs{display:flex;gap:.35rem;overflow-x:auto;padding-bottom:.15rem}.season-tabs button{border:0;background:var(--soft);color:var(--ink);border-radius:10px;padding:.48rem .7rem;cursor:pointer;font-weight:650;white-space:nowrap}.season-tabs button.active{background:var(--lime);color:var(--lime-ink)}.board-card{background:var(--card);border:1px solid var(--line);color:var(--ink);border-radius:16px;padding:.95rem 1rem 1rem}.board-card header,.standings-board header{display:flex;justify-content:space-between;align-items:center;gap:1rem}.points-mode{border:1px solid var(--line);border-radius:10px;padding:.4rem .7rem;color:var(--ink);background:var(--soft)}.standings-board .table-card{border:0;background:transparent;box-shadow:none}.standings-board th{color:var(--muted);background:transparent;font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:.45rem .75rem .7rem}.standings-board td{padding:.95rem .75rem;border-bottom:1px solid #262b33;vertical-align:middle}.standings-board .rank-no,.standings-board .pts{color:var(--yellow);font-weight:800;font-size:1.7rem;letter-spacing:-.04em;line-height:1}.standings-board .team-name{display:block;color:var(--ink);font-size:1.05rem;font-weight:800;text-decoration:none}.standings-board .captain{display:block;margin-top:.18rem;color:var(--muted);font-size:.75rem;font-weight:550}.standings-board .stat{color:#d5d8de;font-size:.98rem;font-weight:650}.league-shell .draft-grid{width:100%;border-collapse:collapse}.league-shell .draft-grid th,.league-shell .draft-grid td{text-align:center;padding:.4rem .45rem;border-bottom:1px solid var(--line);color:var(--ink);background:transparent;vertical-align:middle}.league-shell .draft-grid .player-card{width:100%;margin:0;text-align:left}.league-shell .draft-grid th{color:var(--ink);font-weight:750;vertical-align:bottom}.league-shell .draft-grid .captain{display:block;margin-top:.15rem;color:var(--muted);font-size:.75rem;font-weight:500}.league-shell .draft-grid .round{width:2.4rem;color:var(--muted);font-weight:650}.league-shell .draft-grid td strong{font-weight:750}.league-shell .draft-grid .open{color:var(--muted)}.league-shell .draft-grid .on-clock{box-shadow:inset 0 0 0 1px var(--yellow)}.tape-legend{display:flex;flex-wrap:wrap;gap:.65rem 1rem;align-items:center;margin:0 0 .75rem;color:var(--muted);font-size:.82rem;font-weight:700}.tape-legend span{display:inline-flex;align-items:center;gap:.35rem;color:var(--ink)}.tape-legend i{width:1.35rem;height:.7rem;border-radius:2px}.player-label{font-weight:800}.sticker-board{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(180px,1fr);gap:.75rem;overflow-x:auto;align-items:start;padding:.2rem .15rem .7rem}.sticker-column{background:#101318;border:1px solid #2c313a;border-radius:16px;padding:.75rem .7rem .85rem;min-height:8rem}.sticker-column.on-clock{border-color:var(--yellow);box-shadow:inset 0 0 0 1px var(--yellow)}.sticker-column header strong{display:block;color:var(--yellow);text-transform:uppercase;letter-spacing:.04em;font-size:.92rem}.sticker-column header span{display:block;margin-top:.15rem;color:var(--muted);font-size:.75rem}.sticker-column ol{list-style:none;margin:.7rem 0 0;padding:0;display:grid;gap:.55rem}.sticker{--tilt: -1.2deg;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.35rem;align-items:center;background:var(--sticker, var(--yellow));color:var(--sticker-ink, #111111);border:2px solid #111111;border-radius:4px 10px 5px 9px;padding:.42rem .5rem;transform:rotate(var(--tilt));box-shadow:3px 3px #000;font-family:Permanent Marker,Marker Felt,Chalkboard SE,cursive}.sticker b{font-weight:400;line-height:1.15}.sticker small,.sticker em{font-style:normal;font-family:Inter,Segoe UI,sans-serif;font-size:.68rem;font-weight:800}.sticker.waiting{display:block;text-align:center;background:transparent;color:var(--yellow);border-style:dashed;box-shadow:none;font-family:Inter,Segoe UI,sans-serif;font-weight:800}.set-row{display:grid;grid-template-columns:9.5rem 1fr 1fr;gap:.45rem;align-items:center;margin-bottom:.45rem}.set-row.with-tiebreak{grid-template-columns:9.5rem 1fr 1fr 1fr 1fr}.board-list{list-style:none;padding:0;margin:0}.board-list li{display:flex;justify-content:space-between;gap:1rem;padding:.55rem 0;border-bottom:1px solid var(--line)}.board-list a{color:var(--ink);text-decoration:none}.board-more{color:var(--accent-text);font-weight:700;text-decoration:none}.season-lower{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:.8rem}.board-card dl{margin:0;display:grid;gap:.45rem}.board-card dl div{display:flex;justify-content:space-between;gap:1rem}.board-card dt{color:var(--muted)}.board-card dd{margin:0;text-align:right}.round-pills,.point-chart{list-style:none;padding:0;margin:0;display:grid;gap:.45rem}.round-pills{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.round-pills li,.point-chart li{background:var(--soft);border-radius:10px;padding:.55rem .7rem;color:var(--ink)}.round-pills .double{color:var(--accent-text)}.week-rules{display:grid;gap:.9rem}.week-rules .board-card{color:var(--ink)}.week-rules-lead h2,.week-rule-card h3{display:flex;align-items:center;gap:.4rem;color:var(--ink)}.week-rules-lead p{margin:.45rem 0 0;color:var(--muted)}.week-rule-card h3{margin:.85rem 0 .15rem;font-size:.92rem;color:var(--ink)}.custom-rules-button{border:1px solid var(--line);background:var(--soft);color:var(--ink);border-radius:999px;padding:.28rem .7rem;font-size:.78rem;cursor:pointer}.lines-table{width:100%;border-collapse:collapse}.lines-table th{color:var(--muted);font-weight:550;font-size:.82rem;background:transparent}.lines-table th,.lines-table td{padding:.48rem 0;border-bottom:1px solid var(--line);text-align:left;color:var(--ink);background:transparent}.lines-table th:last-child,.lines-table td:last-child{text-align:right}.rule-override,.lines-table td.rule-override{color:var(--accent-text);font-weight:750}.week-rule-actions{display:flex;align-items:center;gap:.4rem}.week-rule-actions .button{padding:.28rem .7rem;font-size:.78rem}.lines-table input,.lines-table select,.custom-rule-box textarea{background:var(--input);color:var(--input-ink);border:1px solid var(--line);border-radius:8px}.lines-table input,.lines-table select{width:6.5rem;padding:.2rem .4rem}.lines-table td:last-child input{width:4.5rem;margin-left:auto}.custom-rule-box textarea{display:block;width:100%;margin-top:.35rem;padding:.45rem .55rem}.board-card .week-stat-row{display:grid;grid-template-columns:max-content;gap:.75rem;margin-top:.9rem}.board-card .week-stat-row div{display:block}.board-card .week-stat-row dt{display:flex;align-items:center;gap:.3rem;font-size:.78rem}.board-card .week-stat-row dd{text-align:left;margin-top:.15rem;font-size:1.02rem;font-weight:750}.week-stat-row svg,.week-rule-card h3 svg,.week-rules-lead h2 svg{width:.95rem;height:.95rem;fill:none;stroke:currentColor;stroke-width:1.7;flex:none}.custom-rule-box{margin-top:.9rem;border:1px solid var(--line);border-radius:12px;padding:.7rem .85rem;color:var(--ink)}.custom-rule-box ol{margin:0;padding-left:1.2rem}.custom-rule-box li+li{margin-top:.35rem}.check-line{display:flex;align-items:center;gap:.45rem}.line-editor{display:grid;gap:.45rem}.line-editor-row{display:grid;grid-template-columns:4.5rem 1fr 5rem auto;gap:.4rem;align-items:center}.line-editor button,.line-editor-row button{border:1px solid var(--line);background:transparent;color:var(--ink);border-radius:8px;padding:.35rem .55rem;cursor:pointer}@media(max-width:800px){.board-card .week-stat-row,.line-editor-row{grid-template-columns:1fr 1fr}}.point-chart li{display:grid;grid-template-columns:8rem 1fr auto;gap:.6rem;align-items:center}.point-chart .bar{height:.45rem;background:var(--line);border-radius:999px;overflow:hidden}.point-chart .bar i{display:block;height:100%;background:var(--lime)}.league-shell .team-cell a{color:inherit;text-decoration:none;font-weight:700}.stat-table{width:100%}.stat-table th button{display:inline-flex;align-items:center;gap:.28rem;padding:0;border:0;background:transparent;color:inherit;font:inherit;font-weight:650;cursor:pointer;white-space:nowrap}.stat-table th button span{color:var(--muted);font-size:.72rem}.stat-table th button[aria-pressed=true] span{color:var(--accent-text)}.stat-table td a{color:inherit;font-weight:700;text-decoration:none}.stat-good{color:var(--accent-text);font-weight:750}.leader-season{display:grid;gap:.35rem;max-width:320px;margin-bottom:.9rem;font-weight:650}.leader-highlights{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin-bottom:.9rem}.leader-highlight{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:.9rem 1rem 1rem}.leader-highlight span{color:var(--muted);font-size:.72rem;font-weight:750;letter-spacing:.04em;text-transform:uppercase}.leader-highlight strong{display:block;margin-top:.4rem;color:var(--ink)}.leader-highlight b{display:block;margin-top:.15rem;color:var(--accent-text);font-size:1.35rem}@media(max-width:800px){.leader-highlights{grid-template-columns:1fr}}.deuce-log{display:flex;flex-direction:column;gap:.65rem;min-height:280px;max-height:calc(100vh - 280px);overflow:auto;margin-bottom:.85rem}.deuce-line{background:var(--soft);border-radius:12px;padding:.7rem .8rem}.deuce-line.mine{background:var(--chrome-active)}.deuce-line header{display:flex;justify-content:space-between;gap:.8rem;align-items:baseline}.deuce-line strong{color:var(--ink)}.deuce-line time{color:var(--muted);font-size:.75rem;white-space:nowrap}.deuce-line p{margin:.3rem 0 0;color:var(--ink);white-space:pre-wrap}.deuce-remove{margin-top:.4rem;padding:0;border:0;background:transparent;color:var(--muted);font:inherit;font-weight:650;cursor:pointer}.deuce-compose{display:flex;gap:.6rem;align-items:end}.deuce-compose label{flex:1}.deuce-compose textarea{min-height:2.8rem;resize:vertical}.week-results{display:grid;gap:.9rem}.round-card{color:var(--ink)}.round-head{display:flex;justify-content:space-between;gap:1rem;align-items:center;margin-bottom:.35rem}.round-head h2{display:flex;align-items:center;gap:.45rem;margin:0;font-size:1rem;color:var(--ink)}.round-head time,.sched-when time{color:var(--muted);font-weight:550;font-size:.82rem}.round-cal{width:1rem;height:1rem;fill:none;stroke:var(--accent-text);stroke-width:1.7;flex:none}.line-point-chips{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.3rem}.line-point-chips span,.line-chip{border:1px solid var(--line);border-radius:8px;padding:.12rem .42rem;color:var(--ink);font-size:.72rem;white-space:nowrap}.sched-match{margin-top:.85rem;padding-top:.75rem;border-top:1px solid var(--line)}.sched-head{display:flex;justify-content:space-between;gap:1rem;align-items:baseline}.sched-title{display:flex;flex-wrap:wrap;gap:.35rem;align-items:baseline;margin:0;font-size:1.02rem}.sched-title .at{color:var(--muted);font-weight:550}.sched-title strong{font-size:1.15rem}.sched-when{display:flex;align-items:center;gap:.45rem;margin:0;white-space:nowrap}.complete-pill{border:1px solid var(--accent-text);color:var(--accent-text);border-radius:8px;padding:.05rem .4rem;font-size:.72rem}.winner-name{color:var(--accent-text);font-weight:750}.winner-pill{justify-self:end;background:var(--lime);color:var(--lime-ink);border-radius:999px;padding:.12rem .55rem;font-size:.75rem;font-weight:750;white-space:nowrap}.sched-lines{display:grid;margin-top:.35rem}.sched-line{display:grid;grid-template-columns:10.5rem 2rem minmax(0,1fr) 8.5rem auto;gap:.55rem;align-items:center;padding:.34rem 0;border-top:1px solid var(--line);font-size:.9rem}.sched-line .points{color:var(--muted);font-size:.75rem}.sched-line .score{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}@media(max-width:800px){.round-head,.sched-head{flex-direction:column;align-items:flex-start}.sched-line{grid-template-columns:1fr auto}.sched-line .line-names,.sched-line .score{grid-column:1 / -1}.sched-line .score{text-align:left}}.live-draft{display:grid;gap:.85rem}.live-draft .card+.card{margin-top:0}.draft-hero,.draft-hero-actions,.draft-detail,.draft-detail header,.draft-pool-tools{display:flex;justify-content:space-between;gap:.8rem;align-items:flex-start}.draft-hero h1{margin:0;font-size:1.8rem}.draft-hero p{margin:.15rem 0 0}.draft-meta,.draft-status,.draft-round span,.draft-onclock span,.draft-onclock small{color:var(--muted)}.draft-hero-actions,.draft-pool-tools,.draft-detail header{align-items:center;flex-wrap:wrap}.draft-clock-row{display:grid;grid-template-columns:minmax(150px,190px) minmax(0,1.5fr) minmax(200px,.9fr);gap:.75rem}.draft-round,.draft-onclock{display:flex;flex-direction:column;justify-content:center;gap:.25rem}.draft-onclock>div:first-child{display:grid;gap:.1rem}.draft-round strong,.draft-onclock strong{font-size:1.15rem}.draft-onclock{flex-direction:row;justify-content:space-between;align-items:center;border-color:var(--lime)}.draft-onclock small{display:block;text-transform:uppercase;letter-spacing:.04em;font-size:.72rem}.draft-timer-presets{margin:.45rem 0 .75rem}.draft-timer .draft-controls{justify-content:flex-end}.draft-timer span{display:block}.draft-timer strong{font-size:2rem;font-variant-numeric:tabular-nums}.draft-timer-bar{height:6px;margin-top:.35rem;background:var(--line);border-radius:99px;overflow:hidden}.draft-timer-bar span{display:block;height:100%;background:var(--lime)}.draft-upcoming h2,.draft-order h2,.draft-pool h2,.draft-side h2,.draft-detail h2,.draft-detail h3{margin:0 0 .55rem}.draft-upcoming ol,.draft-order ol,.draft-recent,.draft-roster{list-style:none;margin:0;padding:0}.draft-upcoming li,.draft-order li,.draft-recent li,.draft-roster li{display:flex;align-items:center;gap:.45rem;padding:.4rem 0;border-top:1px solid var(--line)}.draft-upcoming li span,.draft-order li span,.draft-roster li span{color:var(--muted);min-width:1.4rem}.draft-order li.on-clock{background:color-mix(in srgb,var(--lime) 16%,transparent);margin:0 -.6rem;padding-left:.6rem;padding-right:.6rem;border-radius:8px}.draft-order em,.draft-recent em{margin-left:auto;font-style:normal;color:var(--accent-text);font-size:.75rem;font-weight:750}.draft-board{display:grid;grid-template-columns:220px minmax(0,1fr) 280px;gap:.75rem;align-items:start}.draft-side{display:grid;gap:.75rem}.draft-pool-tools input,.draft-pool-tools select,.draft-detail select,.draft-hero select{background:var(--input);color:var(--input-ink);border:1px solid var(--line);border-radius:8px;padding:.4rem .55rem}.draft-pool-tools input{min-width:10rem;flex:1}.draft-table{max-height:28rem;overflow:auto}.draft-table tr{cursor:pointer}.draft-table tr.selected{background:color-mix(in srgb,var(--lime) 16%,transparent)}.draft-table .button.draft-now{padding:.35rem .7rem}.draft-recent li{display:grid;grid-template-columns:2.6rem minmax(0,1fr) auto}.draft-recent li>small{grid-column:2}.draft-recent small,.draft-side h2 small{display:block;color:var(--muted);font-weight:550}.draft-side h2{display:flex;justify-content:space-between;gap:.5rem;align-items:baseline}.draft-roster{max-height:16rem;overflow:auto}.draft-detail{display:grid;grid-template-columns:minmax(180px,260px) minmax(0,1fr);gap:1rem;align-items:center}.draft-detail p{margin:.2rem 0 0;color:var(--muted)}.live-board h2{margin:0 0 .7rem}.live-board .sticker-board{max-height:36rem;overflow:auto}.draft-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.5rem}.draft-stat{background:var(--soft);border-radius:10px;padding:.7rem .8rem}.draft-stat strong{display:block;font-size:1.35rem}.draft-stat span{color:var(--muted);font-size:.78rem}@media(max-width:1100px){.draft-clock-row,.draft-board,.draft-detail{grid-template-columns:1fr}.draft-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.draft-onclock{align-items:flex-start}}
