: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)}*{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{background:#111;color:var(--yellow);border:1px solid var(--yellow)}.button.generate{background:var(--lime);color:var(--lime-ink);border:1px solid var(--yellow)}.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-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}.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}.lineup-hint{margin:0 0 .7rem;color:var(--muted);font-size:.88rem}.lineup-lines{display:grid;gap:.8rem}.lineup-lines strong{display:block;margin-bottom:.35rem}.line-slots{display:grid;grid-template-columns:1fr 1fr;gap:.45rem}.line-slots.singles{grid-template-columns:1fr}.lineup-card{overflow:visible}.line-slot{position:relative;min-height:3.6rem;border:2px dashed color-mix(in srgb,var(--ink) 28%,transparent);border-radius:10px;padding:.3rem;display:grid;align-items:center}.line-slot.filled{grid-template-columns:minmax(0,1fr) auto;gap:.4rem;border-style:solid;border-color:transparent;padding:.15rem}.line-slot.over{border-color:var(--yellow);background:color-mix(in srgb,var(--yellow) 14%,transparent)}.line-slot .placeholder{width:100%;border:0;background:transparent;color:var(--muted);font:inherit;font-size:.82rem;font-weight:700;text-align:center;cursor:pointer}.line-remove{width:1.75rem;height:1.75rem;border:0;border-radius:999px;background:#ff5d5d;color:#111;font:inherit;font-size:1.25rem;font-weight:800;line-height:1;cursor:pointer}.line-picker{position:absolute;z-index:20;top:calc(100% + .35rem);left:0;width:min(22rem,72vw);max-height:20rem;overflow:auto;padding:.55rem;background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}.line-slots>:last-child .line-picker{left:auto;right:0}.line-picker .lineup-filters{margin-top:0}.line-picker ul{list-style:none;margin:.45rem 0 0;padding:0}.line-picker li+li{border-top:1px solid var(--line)}.line-picker li button{width:100%;border:0;background:transparent;color:inherit;text-align:left;padding:.45rem .2rem;font:inherit;cursor:pointer}.line-picker li button:hover{background:color-mix(in srgb,var(--ink) 8%,transparent)}.line-picker li strong,.line-picker li span{display:block}.line-picker li span{color:var(--muted);font-size:.78rem}.line-picker li em{font-style:normal;font-weight:750}.line-picker-empty{margin:.7rem .2rem;color:var(--muted);font-size:.85rem}.lineup-filters{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.9rem}.lineup-filters button{display:inline-flex;align-items:center;gap:.35rem;border:1px solid var(--line);background:transparent;color:var(--ink);border-radius:999px;padding:.28rem .65rem;font:inherit;font-size:.78rem;font-weight:750;cursor:pointer}.lineup-filters button.active{background:var(--yellow);color:#111;border-color:var(--yellow)}.lineup-status{justify-self:start;border-radius:999px;padding:.05rem .4rem;background:#111;font-family:Inter,Segoe UI,sans-serif;font-style:normal;font-size:.68rem;font-weight:800}.lineup-status.available{color:#2fbe45}.lineup-status.maybe{color:#ffe500}.lineup-status.unavailable{color:#ff5d5d}.lineup-status.none{color:#c5c8ce}.lineup-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;margin-top:.55rem;padding:.75rem;background:#101318;border:1px solid #2c313a;border-radius:16px;min-height:8rem;align-content:start}.lineup-board.over{outline:2px solid var(--yellow)}.lineup-empty{grid-column:1 / -1;margin:1.4rem 0;text-align:center;color:var(--muted)}.lineup-sticker{display:grid;grid-template-columns:minmax(0,1fr);gap:.15rem;width:100%;cursor:grab;-webkit-user-select:none;user-select:none}.lineup-sticker:active{cursor:grabbing}.lineup-sticker b{min-width:0;overflow-wrap:anywhere}.lineup-sticker>span{display:flex;justify-content:space-between;gap:.35rem}.line-slot .lineup-sticker{--tilt: 0deg}@media(max-width:720px){.line-slots,.lineup-board{grid-template-columns:1fr}}.result-board{display:grid;gap:.7rem;margin:1rem 0 1.2rem}.result-board h2{margin:0}.result-sheet{display:grid;gap:.7rem;overflow-x:auto}.result-line{display:grid;grid-template-columns:2rem max-content repeat(3,max-content) minmax(6rem,1fr);grid-template-rows:auto auto auto;align-items:center;column-gap:.85rem;row-gap:.32rem;width:max-content;min-width:100%;box-sizing:border-box;padding:.8rem .9rem;background:var(--card);border:1px solid var(--line);border-left:3px solid var(--yellow);border-radius:12px}.result-num{grid-column:1;grid-row:2 / 4;font-weight:800;color:var(--yellow)}.result-roster{display:flex;align-items:center;gap:.45rem;width:max-content;border-radius:999px;padding:.18rem .55rem .18rem .18rem}.result-roster.home{grid-column:2;grid-row:2}.result-roster.away{grid-column:2;grid-row:3}.result-roster.picked{background:var(--yellow);color:#111}.result-roster.picked .team-pill{background:#111;color:var(--yellow)}.result-players{font-weight:650;white-space:nowrap}.result-sets{display:contents}.result-set{display:grid;grid-template-rows:subgrid;grid-row:1 / 4;justify-items:center;align-items:center}.result-set:nth-child(1){grid-column:3}.result-set:nth-child(2){grid-column:4}.result-set:nth-child(3){grid-column:5}.result-set-label{color:var(--muted);font-size:.68rem;font-weight:750;letter-spacing:.05em;text-transform:uppercase}.result-box{display:inline-flex;align-items:flex-start;justify-content:center;min-width:3.4rem;min-height:2.5rem;padding:.45rem .55rem .3rem;border:1px solid var(--line);border-radius:8px;background:var(--input);font-weight:750;font-size:1.15rem}.result-box.won{border-color:var(--yellow);color:var(--yellow)}.result-box.empty{color:var(--muted)}.result-box sup{font-size:.62em;margin-left:.08em;font-weight:800}.result-flags{grid-column:6;grid-row:2 / 4;display:grid;justify-self:end;align-content:center;gap:.3rem}.result-flags span{border:1px solid var(--line);border-radius:8px;padding:.18rem .55rem;color:var(--muted);font-size:.68rem;font-weight:750;letter-spacing:.04em;text-align:center;text-transform:uppercase}.result-flags span.active{background:var(--yellow);color:#111;border-color:var(--yellow)}.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}.confirm-note{color:var(--ink);font-weight:650}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:#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{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;align-items:flex-end;gap:.15rem;overflow-x:auto;padding:.45rem .7rem 0;scrollbar-width:none}.league-nav::-webkit-scrollbar{display:none}.league-nav a{color:var(--chrome-ink);text-decoration:none;font-size:.78rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:.42rem .7rem .48rem;border-radius:4px 4px 0 0;white-space:nowrap}.league-nav a.active{background:var(--chrome-active);color:var(--lime-ink)}.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.compact{width:max-content;max-width: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}.team-availability{display:grid;gap:.7rem;margin-top:.8rem}.availability-toggle{display:flex;justify-content:space-between;align-items:center;gap:.8rem;width:100%;border:1px solid var(--line);background:transparent;color:var(--ink);border-radius:8px;padding:.45rem .7rem;font:inherit;font-weight:750;cursor:pointer;text-align:left}.availability-toggle span:last-child{color:var(--muted);font-size:.78rem;font-weight:650}.availability-choice{display:flex;flex-wrap:wrap;gap:.35rem}.availability-choice button{border:1px solid var(--line);background:transparent;color:var(--ink);border-radius:8px;padding:.35rem .65rem;font-weight:700;cursor:pointer}.availability-choice button.active{background:var(--yellow);color:#111;border-color:var(--yellow)}.availability-choice button:disabled{cursor:default}.availability-choice button:disabled:not(.active){opacity:.45}.team-availability ul{list-style:none;margin:0;padding:0;display:grid;gap:.35rem}.team-availability li{display:flex;justify-content:space-between;gap:.8rem;align-items:center}.avail{font-size:.75rem;font-weight:750;letter-spacing:.03em;text-transform:uppercase}.avail.available{color:#2fbe45}.avail.maybe{color:var(--yellow)}.avail.unavailable{color:#ff5d5d}.avail.none{color:var(--muted)}.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}}.score-meta{margin:-.2rem 0 .8rem}.score-sheet{background:var(--card);border:1px solid var(--line);border-radius:12px;overflow-x:auto}.score-line{display:grid;grid-template-columns:2.2rem max-content repeat(3,max-content);grid-template-rows:auto auto auto auto;justify-content:start;align-items:center;column-gap:.85rem;row-gap:.32rem;width:max-content;min-width:100%;box-sizing:border-box;padding:.75rem .9rem .7rem}.score-line:nth-child(2n){background:#ffffff08}.score-num{grid-column:1;grid-row:2 / 4;font-weight:800;color:var(--yellow)}.score-roster{display:inline-flex;align-items:center;gap:.45rem;width:max-content;max-width:100%;border-radius:999px;padding:.18rem .55rem .18rem .18rem}.score-roster.home{grid-column:2;grid-row:2}.score-roster.away{grid-column:2;grid-row:3}.score-roster.picked{background:var(--yellow);color:#111}.score-players{font-weight:650;line-height:1.3;white-space:nowrap}.team-pill{flex:none;border-radius:999px;background:var(--soft);color:var(--ink);padding:.22rem .7rem;font-size:.78rem;font-weight:750}.score-roster.picked .team-pill{background:#111;color:var(--yellow)}.score-sets{display:contents}.score-set{display:grid;grid-template-rows:subgrid;grid-row:1 / 4;justify-items:center;align-items:center;position:relative}.score-set:nth-child(1){grid-column:3}.score-set:nth-child(2){grid-column:4}.score-set:nth-child(3){grid-column:5}.score-set-label{display:block;color:var(--muted);font-size:.68rem;font-weight:750;letter-spacing:.05em;text-transform:uppercase}.score-dash{color:var(--muted);font-weight:700}.score-box{position:relative;display:inline-flex;align-items:center;justify-content:center;width:3.4rem;height:2.75rem;border:1px solid var(--line);background:var(--input);border-radius:8px;color:var(--ink)}.score-box.won{background:var(--yellow);border-color:var(--yellow);color:#111}.score-box input{border:0;border-radius:0;background:transparent;color:inherit;text-align:center;padding:0;width:100%;height:100%;font-weight:750;font-size:1.15rem}.score-box .tb{position:absolute;top:.08rem;right:.12rem;width:auto;min-width:.8rem;height:auto;padding:0;border:0;background:transparent;color:inherit;font-size:.68rem;font-weight:800;line-height:1;cursor:pointer}.score-tb-link{grid-column:1;grid-row:3;position:absolute;left:50%;bottom:-1.05rem;transform:translate(-50%);border:0;background:transparent;color:var(--yellow);font-size:.68rem;font-weight:750;letter-spacing:.03em;text-transform:uppercase;white-space:nowrap;cursor:pointer;padding:0}.tiebreak-entry{display:grid;grid-template-columns:max-content auto;justify-content:start;align-items:center;column-gap:.85rem;row-gap:.45rem;width:max-content;max-width:100%;margin-bottom:1.15rem}.tiebreak-entry input{width:3.7rem;height:3rem;padding:0;font-size:1.3rem;text-align:center;font-weight:750}.tiebreak-entry input.won{background:var(--yellow);color:#111;border-color:var(--yellow)}.score-box:focus-within{border-color:var(--yellow)}.score-box.won:focus-within{border-color:#111}.score-box input:focus{outline:none}.score-flags{grid-column:2 / 5;grid-row:4;display:flex;gap:.35rem;flex-wrap:wrap;margin-top:.85rem}.score-flags button{border:1px solid var(--line);background:transparent;color:var(--muted);border-radius:999px;padding:.15rem .55rem;font-size:.72rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;cursor:pointer}.score-flags button.active{background:var(--yellow);color:#111;border-color:var(--yellow)}.score-flags button:disabled{cursor:default}.score-actions{display:flex;justify-content:flex-end;gap:.6rem;flex-wrap:wrap}.phone-only{display:none}.home-lines-wrap,.sticker-board,.league-top,.league-main,.page,.home-board,.season-dash,.live-draft{min-width:0;max-width:100%}@media(max-width:900px){.player-grid{grid-template-columns:1fr 1fr}}@media(max-width:720px){html{-webkit-text-size-adjust:100%}body{overflow-x:hidden}.league-main{overflow-x:hidden;padding:.85rem .75rem calc(5.4rem + env(safe-area-inset-bottom))}.league-top{padding-top:env(safe-area-inset-top)}.league-brand-row{flex-wrap:wrap;align-items:center;gap:.4rem .55rem;padding:.55rem .75rem .1rem}.wordmark{flex:1 0 100%;font-size:1.15rem;white-space:nowrap}.league-tools{flex:1 1 auto;flex-wrap:nowrap;justify-content:flex-end;min-width:0;width:100%}.league-top .user-chip{min-width:0}.league-top .user-chip strong,.league-top .user-chip small{display:block;max-width:7.5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.league-nav{padding-left:.55rem;padding-right:.55rem}.league-nav a{padding:.7rem .7rem .5rem}.season-hero{min-height:0;padding:3.1rem .9rem 1rem}.season-hero>div{max-width:calc(100% - 4.8rem)}.season-hero h1{font-size:1.85rem}.season-hero .tennis-ball{position:absolute;right:.45rem;bottom:.65rem;width:58px;height:58px;margin:0}.season-settings{max-width:calc(100% - 1rem)}.board-card,.card,.home-match{min-width:0;max-width:100%}.board-card>header,.standings-board header,.profile-history>header,.news-feed header,.draft-hero,.post-top,.sched-title{flex-wrap:wrap;align-items:flex-start}.table-card{max-width:100%;-webkit-overflow-scrolling:touch}.table-card table{width:max-content;min-width:100%}.standings-board th,.standings-board td,.stat-table th,.stat-table td{white-space:nowrap}.home-lines-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.home-lines{width:max-content;min-width:100%}.player-grid{grid-template-columns:1fr}.draft-stats{grid-template-columns:1fr 1fr}.draft-pool-tools input{min-width:0;width:100%}.set-row,.set-row.with-tiebreak{grid-template-columns:1fr 1fr}.set-row>span{grid-column:1 / -1}.score-players{font-size:.92rem}.score-actions .button{flex:1}.deuce-compose{flex-direction:column;align-items:stretch}.deuce-line header{flex-wrap:wrap}.availability-toggle{flex-wrap:wrap;align-items:flex-start}.point-chart li{grid-template-columns:minmax(0,5.2rem) minmax(0,1fr) auto}.modal-card{padding:.9rem}.line-picker{width:min(22rem,calc(100vw - 2.4rem))}.desk-only{display:none!important}.phone-only{display:block}.league-nav{display:none}.mobile-tabbar.phone-only{position:fixed;left:0;right:0;bottom:0;z-index:30;display:grid;gap:.2rem;background:#07080b;border-top:1px solid #2c313a;padding:.35rem .35rem calc(.45rem + env(safe-area-inset-bottom))}.mobile-tabbar a,.mobile-tabbar button{display:flex;align-items:center;justify-content:center;text-align:center;min-height:44px;padding:0 .15rem;border:0;border-radius:8px;background:transparent;color:#a4a8b2;font-size:.68rem;font-weight:800;letter-spacing:.04em;line-height:1.1;text-transform:uppercase;text-decoration:none;cursor:pointer}.mobile-tabbar .active{background:var(--yellow);color:#111}.mobile-more.phone-only{position:fixed;left:.6rem;right:.6rem;bottom:calc(4.3rem + env(safe-area-inset-bottom));z-index:31;display:grid;gap:.15rem;padding:.4rem;background:#14171d;border:1px solid #2c313a;border-radius:14px}.mobile-more a{min-height:44px;display:flex;align-items:center;padding:0 .8rem;border-radius:8px;color:var(--ink);text-decoration:none;font-weight:750}.mobile-more a.active{background:var(--yellow);color:#111}.phone-lines.phone-only{display:grid;gap:.45rem;margin-top:.75rem}.phone-line{border:1px solid #2c313a;border-radius:10px;background:#0e1116;padding:.55rem .7rem .7rem}.phone-line-top{display:flex;justify-content:space-between;align-items:baseline}.phone-line-top span:first-child{color:var(--yellow);font-weight:800}.phone-line-top span:last-child{color:var(--muted);font-size:.72rem;font-weight:750;letter-spacing:.04em;text-transform:uppercase}.phone-side{margin-top:.4rem}.phone-side b{display:block;color:var(--yellow);font-size:.68rem;letter-spacing:.06em;text-transform:uppercase}.phone-side span{display:block;margin-top:.1rem;font-weight:650;line-height:1.3}.phone-standings.phone-only{display:grid}.phone-standing{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.55rem;align-items:center;padding:.75rem .1rem;border-bottom:1px solid #262b33}.phone-standing .record{display:block;margin-top:.15rem;color:#d5d8de;font-size:.82rem}.phone-standing .pts small{display:block;color:var(--muted);font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.phone-sort.phone-only{display:grid;gap:.3rem;margin:.4rem 0 .7rem;font-weight:700}.phone-stats.phone-only{display:grid;gap:.55rem}.phone-stat{border:1px solid var(--line);border-radius:12px;padding:.7rem .75rem .8rem;background:#101318}.phone-stat header{display:flex;gap:.5rem;align-items:baseline}.phone-stat header span{color:var(--yellow);font-weight:800}.phone-stat header a{color:inherit;font-weight:800;text-decoration:none}.phone-stat dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem .6rem;margin:.55rem 0 0}.phone-stat dt{color:var(--muted);font-size:.68rem;font-weight:750;letter-spacing:.04em;text-transform:uppercase}.phone-stat dd{margin:.1rem 0 0;font-weight:750}.schedule-pairs a{display:block;padding:.65rem 0}.match-meta,.tab-row{flex-wrap:wrap}.tab-row a,.tab-row button,.tab-row span,.season-tabs button{min-height:44px}.season-tabs button{display:inline-flex;align-items:center}.home-match .row-actions{display:grid}.home-match .row-actions .button{width:100%;min-height:44px}.result-sheet,.score-sheet{overflow:visible}.result-line,.score-line{width:100%;max-width:100%;grid-template-columns:1.5rem minmax(0,1fr);grid-template-rows:auto auto auto auto;justify-content:stretch}.score-players{white-space:normal}.score-roster{width:auto;max-width:100%;flex-wrap:wrap}.result-roster{flex-wrap:nowrap;width:max-content;max-width:100%;min-width:0;overflow:hidden}.result-players{white-space:nowrap;min-width:0;overflow:hidden;text-overflow:ellipsis}.phone-teams.phone-only{display:grid}.phone-team{display:grid;justify-items:start;gap:.2rem;padding:.8rem .1rem;border-bottom:1px solid #262b33}.phone-team .team-name{font-size:1.05rem;font-weight:800;text-decoration:none}.phone-team .captain{display:block;color:var(--muted);font-size:.82rem;font-weight:550}.phone-team .team-flag{margin-top:.2rem;text-transform:capitalize}.result-num,.score-num{grid-column:1;grid-row:1 / 3}.result-roster.home,.score-roster.home{grid-column:2;grid-row:1}.result-roster.away,.score-roster.away{grid-column:2;grid-row:2}.result-sets,.score-sets{display:grid;grid-column:1 / -1;grid-row:3;grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem;margin-top:.35rem}.result-set,.score-set,.result-set:nth-child(1),.result-set:nth-child(2),.result-set:nth-child(3),.score-set:nth-child(1),.score-set:nth-child(2),.score-set:nth-child(3){display:grid;grid-template-rows:auto auto auto;grid-column:auto;grid-row:auto;position:relative;min-width:0;justify-items:center}.score-set{padding-bottom:1.1rem}.score-box{width:100%;max-width:4.4rem}.result-flags,.score-flags{grid-column:1 / -1;grid-row:4;justify-self:start;display:flex;flex-wrap:wrap}.tiebreak-entry{width:100%;grid-template-columns:minmax(0,1fr) auto}.modal.compact{width:calc(100vw - 2rem)}.sticker-board{grid-auto-flow:row;grid-template-columns:minmax(0,1fr);overflow-x:visible}.page input,.page select,.page textarea,.modal input,.modal select,.modal textarea,.auth-card input{font-size:16px}.sched-line .line-names{line-height:1.35}}
