/* Authenticated pilot only. No global resets: classic and public result styles remain untouched. */
body.ki-active{--clay:#9E4A2E;--clay-deep:#873D27;--chalk:#FAF8F2;--paper:#FFFEFA;--sand:#F0F1E8;--card:#FFFEFA;--line:#DADFD3;--ink:#243C35;--ink-soft:#63716A;--net:#426350;--win:#426350;--r:15px;--shadow:none;--display:'Manrope',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;background:#FAF8F2;color:#243C35;font-family:'DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
.ki-shell{display:grid;grid-template-columns:238px minmax(0,1fr);min-height:100dvh;font-size:15px;line-height:1.5}.ki-shell *{box-sizing:border-box}.ki-shell button{font-family:inherit}.ki-shell svg{width:21px;height:21px;flex:none}.ki-main{min-width:0}.ki-sidebar{position:sticky;top:0;height:100dvh;display:flex;flex-direction:column;padding:30px 18px 24px;gap:27px;border-right:1px solid #DADFD3;background:#F3F2E9;overflow-y:auto;overscroll-behavior:contain}.ki-brand-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.ki-brand{display:flex;align-items:center;gap:10px;padding:0 12px;border:0;background:none;color:#243C35;cursor:pointer;text-align:left;min-height:44px;font-weight:800;font-size:22px;letter-spacing:-1px;line-height:1}.ki-brand-mark{display:grid;place-items:center;width:36px;height:36px;border:1.5px solid #243C35;border-radius:50%;font-size:21px;letter-spacing:0}.ki-brand small{display:block;font-size:9px;letter-spacing:3.5px;font-weight:600;margin-top:6px}.ki-club{display:flex;gap:10px;align-items:center;width:100%;border:1px solid #DADFD3;border-radius:12px;background:#FFFEFA;color:#243C35;padding:14px 12px;text-align:left;cursor:pointer;min-height:74px}.ki-club>span{flex:1;min-width:0}.ki-club small{display:block;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#63716A;margin-bottom:4px}.ki-club strong{display:block;font-size:13px;font-weight:600;line-height:1.4;overflow-wrap:anywhere}.ki-club>svg:last-child{width:14px}.ki-main-nav{display:grid;gap:4px}.ki-nav-item{display:flex;align-items:center;gap:12px;padding:12px 13px;width:100%;border:0;border-radius:8px;background:transparent;text-align:left;color:#566A5E;min-height:46px;font-size:14px;font-weight:550;line-height:1.4;cursor:pointer}.ki-nav-item:hover{background:#E8EDDF;color:#243C35}.ki-nav-item.ki-selected{background:#243C35;color:white}.ki-nav-item:disabled{opacity:.5;cursor:not-allowed}.ki-nav-label{font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:#6C786C;margin:23px 13px 8px}.ki-sidebar-bottom{margin-top:auto;padding-top:14px}.ki-sidebar-bottom>p{padding:16px 12px 0;font-size:12px;line-height:1.7;color:#758173}.ki-classic{display:flex;align-items:center;gap:10px;min-height:46px;text-align:left;color:#63716A;font-size:12px;border:1px solid #DADFD3;border-radius:8px;width:100%;padding:10px 12px;background:transparent;cursor:pointer}.ki-classic svg{width:17px;height:17px}.ki-classic:hover{color:#243C35;background:#FFFEFA}.ki-topbar{display:flex;align-items:center;gap:14px;min-height:86px;padding:18px 40px;border-bottom:1px solid #DADFD3;background:#FAF8F2}.ki-breadcrumb{margin-right:auto;min-width:0}.ki-breadcrumb>span{display:block;color:#243C35;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ki-breadcrumb>small{display:block;color:#63716A;font-size:11px;margin-top:2px}.ki-profile{display:flex;align-items:center;gap:10px;background:transparent;border:0;min-height:44px;padding:0 5px;color:#243C35;cursor:pointer}.ki-profile-name{font-size:13px;font-weight:600}.ki-avatar{width:37px;height:37px;display:grid;place-items:center;flex:none;border-radius:50%;background:#E7ECDD;color:#496046;font-size:12px;font-weight:600;overflow:hidden;border:1px solid #DAE1CF}.ki-avatar img{width:100%;height:100%;object-fit:cover}.ki-icon{display:inline-grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid #DADFD3;border-radius:8px;background:transparent;color:#496155;cursor:pointer;flex:none}.ki-more{border-color:transparent}.ki-mobile-menu,.ki-side-close,.ki-bottom-nav,.ki-scrim{display:none}.ki-skip{position:fixed;z-index:250;top:10px;left:12px;background:#243C35;color:white;padding:12px 20px;border-radius:8px;transform:translateY(-150%)}.ki-skip:focus{transform:none}.ki-shell button:focus-visible,.ki-shell a:focus-visible{outline:3px solid #B57839;outline-offset:3px}.ki-content{min-width:0}.ki-active #app.wrap{max-width:1440px;width:100%;padding:40px 42px 80px;margin:0 auto}.ki-active #app>.gate-brandbar,.ki-active #app>.gate>.card>.gate-brandbar{display:none}.ki-active #app>.gate{display:block;min-height:0;padding:0}.ki-active #app>.gate>.card{max-width:none!important;background:transparent;border:0;border-radius:0;padding:0;box-shadow:none}.ki-active #app>.gate>.card>h2:first-of-type{font-size:34px!important;letter-spacing:-1.15px;margin:6px 0 14px!important;line-height:1.15}.ki-active #app>.gate>.card>.sub{font-size:15px;max-width:800px;margin-bottom:28px;line-height:1.65}.ki-active #app>.gate>.card>.menu-titlebar{margin-bottom:8px}.ki-active #app .menu-titlebar .eyebrow{font-size:10px!important;letter-spacing:.16em!important;color:#9E4A2E!important}.ki-active #app #menuBtn{display:none}.ki-active #app>header{align-items:flex-start;gap:24px;margin:0 0 24px}.ki-active #app>header .brand h1.leaguename{font-size:38px;line-height:1.13;letter-spacing:-1.3px}.ki-active #app>header .brand .eyebrow{font-size:10px;letter-spacing:.15em;margin-bottom:9px;color:#9E4A2E}.ki-active #app .saved{padding-top:4px;font-size:11px;line-height:1.7}.ki-active #app nav.tabs{position:sticky;top:0;border:0;border-bottom:1px solid #DADFD3;border-radius:0;background:#FAF8F2;box-shadow:none;gap:4px;padding:0;margin:24px 0 28px;z-index:8}.ki-active #app nav.tabs button{flex:0 0 auto;padding:13px 18px;min-height:48px;border-radius:0;font-size:14px;font-weight:500;border-bottom:2px solid transparent;color:#63716A}.ki-active #app nav.tabs button.active{background:transparent;color:#243C35;border-color:#243C35;box-shadow:none;font-weight:650}.ki-active #app .subtabs{top:48px;margin-top:-12px;background:#FAF8F2;z-index:7}.ki-active #app .subtabs button{font-size:13px}.ki-active #app .card{background:#FFFEFA;border:1px solid #DADFD3;border-radius:16px;padding:24px;margin-bottom:22px;box-shadow:none}.ki-active #app .card h2{font-size:21px;line-height:1.25;letter-spacing:-.65px;margin-bottom:10px}.ki-active #app .card .sub{font-size:14px;line-height:1.6}.ki-active #app .hint{font-size:12px;line-height:1.6}.ki-active #app label{font-size:13px;font-weight:600;margin:17px 0 7px;color:#526359}.ki-active #app input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]):not([type=color]):not([type=hidden]),.ki-active #app select,.ki-active #app textarea{font-size:16px;min-height:46px;border-color:#CAD3C4;border-radius:8px;background:white;color:#243C35}.ki-active #app input:focus,.ki-active #app select:focus,.ki-active #app textarea:focus{outline:2px solid #9E4A2E;outline-offset:2px}.ki-active #app button.act{background:#243C35;border-color:#243C35;color:#fff;box-shadow:none;border-radius:8px;font-size:14px;min-height:44px;padding:11px 17px}.ki-active #app button.act:hover{background:#355346}.ki-active #app button.ghost{border-color:#DADFD3;background:#FFFEFA;color:#243C35;border-radius:8px;font-size:13px;min-height:44px;padding:10px 16px;box-shadow:none}.ki-active #app .linkbtn{min-height:44px;color:#42604C;font-size:13px}.ki-active #app .modebtn{font-size:13px;border-radius:7px;padding:9px 13px;min-height:44px}.ki-active #app .modebtn.on{background:#243C35;color:#fff;border-color:#243C35}.ki-active #app .pgroup-title{font-size:11px;letter-spacing:.12em;color:#63716A;border-color:#DADFD3}.ki-active #app .row{gap:10px}.ki-active #app .copyright{color:#7D887B}.ki-active #app .appfoot{margin-top:38px;border-color:#DADFD3}.ki-active #app .appfoot .footlinks{justify-content:flex-start;gap:20px}.ki-active #app .appfoot .copyright{text-align:left}.ki-active #app .ki-round-focus{background:#243C35;color:#FAF8F2;border-color:#243C35;padding:25px 28px;margin:0 0 25px}.ki-active #app .ki-round-focus .wk{font-size:28px;line-height:1.15;letter-spacing:-.9px;color:#FAF8F2}.ki-active #app .ki-round-focus .weekbar{margin-bottom:15px;gap:8px}.ki-active #app .ki-round-focus .sub,.ki-active #app .ki-round-focus .hint{color:#D4DDCC}.ki-active #app .ki-round-focus b{color:#FAF8F2}.ki-active #app .ki-round-focus .pill{background:#365347;color:#ECF0E3;border:1px solid #5B7364}.ki-active #app .ki-round-focus button.ghost,.ki-active #app .ki-round-focus .modebtn{color:#FAF8F2;background:#304D40;border-color:#617565}.ki-active #app .ki-round-focus button.act,.ki-active #app .ki-round-focus .modebtn.on{background:#E9EDDD;border-color:#E9EDDD;color:#243C35}.ki-active #app .ki-round-focus .linkbtn{color:#E6C69C}.ki-active #app .matches-grid{grid-template-columns:repeat(auto-fit,minmax(min(310px,100%),1fr));gap:20px;align-items:stretch}.ki-active #app .round{margin:25px 0}.ki-active #app .round>h3{font-size:17px;color:#526757;letter-spacing:-.3px;margin:0 0 14px}.ki-active #app .match{border:1px solid #DADFD3;border-radius:15px;background:#FFFEFA;box-shadow:none}.ki-active #app .match .court{padding:15px 19px;font-size:13px;letter-spacing:0;text-transform:none;min-height:58px;background:#F0F2E8;color:#243C35;border-bottom:1px solid #DADFD3;font-weight:650}.ki-active #app .exbtn{background:transparent;color:#63716A;border:1px solid #CCD5C5;border-radius:6px;padding:9px 10px;margin:0;min-height:44px;font-size:10px;letter-spacing:.02em;text-transform:none}.ki-active #app .sgrid{padding:18px;gap:12px 9px;grid-template-columns:minmax(0,1fr) 50px 50px 35px}.ki-active #app .sgrid.one{grid-template-columns:minmax(0,1fr) 62px 40px}.ki-active #app .sgrid .sg-team{font-size:15px;line-height:1.5;overflow-wrap:anywhere}.ki-active #app .sgrid .sg-team small{font-size:13px;line-height:1.5;color:#63716A;margin-top:3px}.ki-active #app .sgrid .sg-h{font-size:10px;letter-spacing:.07em}.ki-active #app .sgrid input{min-height:48px;padding:9px 2px;font-weight:650;border-color:#C4D0BA;background:#FAFBF5}.ki-active #app .sgrid .sg-won{font-family:inherit;font-size:18px;font-weight:650}.ki-active #app .sgrid .vsrow{margin:3px 0}.ki-active #app .match .foot{font-size:12px;padding:0 18px 14px}.ki-active #app .triviacard{background:#F2F3EA;border:1px solid #DADFD3;box-shadow:none}.ki-active #app .triviacard .tvhd{color:#617059;font-size:11px}.ki-active #app .triviacard .tvq{font-size:20px;color:#243C35}.ki-active #app .triviacard button{min-height:44px!important}.ki-active #app table{border-color:#DADFD3}.ki-active #app th{font-size:11px;color:#63716A;letter-spacing:.035em}.ki-active #app td{font-size:14px}.ki-active #app .audit{background:#F3F5EC}.ki-active #app .rosterrow,.ki-active #app .rrow{padding:12px 0;margin-bottom:0!important;border-bottom:1px solid #DADFD3;gap:9px!important}.ki-active #app .rosterrow input,.ki-active #app .rrow input{margin:0}.ki-active #app #leagueList,.ki-active #app #clubList{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px;margin:20px 0}.ki-active #app #leagueList>.leaguerow,.ki-active #app #clubList>.leaguerow{border:1px solid #DADFD3;background:#FFFEFA;border-radius:14px;padding:18px;align-items:center;flex-wrap:wrap}.ki-active #app #leagueList .leaguebtn,.ki-active #app #clubList .leaguebtn{padding:0;text-align:left;min-width:0;flex:1}.ki-active #app .lg-name{font-size:19px;letter-spacing:-.45px;line-height:1.25}.ki-active #app .lg-meta{font-size:12px;line-height:1.6}.ki-active #app #caList{border:1px solid #DADFD3;background:#FFFEFA;border-radius:14px;padding:4px 22px;margin:25px 0}.ki-active #app #caList>div[style]{padding:18px 0!important;gap:16px!important}.ki-active #app #caList .hint{font-size:13px;overflow-wrap:anywhere}.ki-active #app #caList [data-remove],.ki-active #app #caList [data-role]{font-size:12px;min-height:44px}.ki-active #app #menuPanel{background:#FAF8F2;border-left:1px solid #DADFD3}.ki-active #app #menuPanel .mi-ic{opacity:.7}.ki-active #app #menuPanel .menu-item{font-size:14px;min-height:46px}
@media(min-width:1450px){.ki-active #app.wrap{padding:46px 60px 90px}.ki-topbar{padding-left:60px;padding-right:60px}}
@media(max-width:1100px){.ki-shell{grid-template-columns:210px minmax(0,1fr)}.ki-sidebar{padding:26px 13px}.ki-topbar{padding:17px 26px}.ki-active #app.wrap{padding:32px 26px 80px}.ki-active #app #leagueList{grid-template-columns:1fr}.ki-active #app .sgrid{grid-template-columns:minmax(0,1fr) 46px 46px 30px;padding:16px;gap:10px 7px}.ki-active #app .sgrid.one{grid-template-columns:minmax(0,1fr) 62px 40px}}
@media(max-width:850px){.ki-shell{display:flex;flex-direction:column;min-height:100dvh}.ki-main{flex:1 1 auto}.ki-sidebar{position:fixed;inset:0 auto 0 0;height:100dvh;width:min(300px,87vw);z-index:110;visibility:hidden;transform:translateX(-105%);transition:transform .18s ease;padding:28px 18px calc(22px + env(safe-area-inset-bottom));box-shadow:15px 0 50px #203d3526}.ki-menu-open .ki-sidebar{visibility:visible;transform:translateX(0)}.ki-scrim{position:fixed;inset:0;z-index:109;background:#18352988;border:0;padding:0;width:100%;height:100%;cursor:default}.ki-menu-open .ki-scrim{display:block}.ki-side-close,.ki-mobile-menu{display:inline-grid}.ki-brand{padding-left:2px}.ki-side-close{border:0}.ki-topbar{padding:12px 24px;min-height:76px;gap:12px}.ki-more{display:none}.ki-breadcrumb>span{font-size:12px}.ki-profile-name{display:none}.ki-active #app.wrap{padding:28px 24px 120px}/* STICKY, NOT FIXED. iOS Safari positions fixed elements against the layout viewport and only snaps them to the new bottom after its toolbar has finished collapsing, so the page showed through under the bar for a beat (Tom's recording and probe, 2026-09-26: docClient 714 while innerHeight 754). An inner scroller stopped that but Safari then left a blank band at the top while scrolling (its known repaint glitch with overflow scrollers). A sticky bar lives in the document flow and rides Safari's scrolling tree, so it moves with the toolbar instead of jumping after it. The shell is a flex column at least a viewport tall, which keeps the bar at the bottom on short pages. */.ki-bottom-nav{position:sticky;z-index:40;bottom:0;left:0;right:0;display:flex;gap:3px;justify-content:space-around;padding:8px 12px max(8px,env(safe-area-inset-bottom));background:#FAF8F2;border-top:1px solid #DADFD3}.ki-bottom-nav .ki-nav-item{flex:1;min-width:0;max-width:115px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:4px;min-height:52px;padding:5px 8px;text-align:center;font-size:10px;border-radius:8px}.ki-bottom-nav .ki-selected{background:#E8EDDE;color:#243C35}.ki-bottom-nav svg{width:21px;height:21px}.ki-drawer-open{overflow:hidden}.ki-active #app>header .brand h1.leaguename{font-size:33px}.ki-active #app nav.tabs{margin-top:22px;margin-bottom:24px}.ki-active #app #leagueList{grid-template-columns:repeat(2,minmax(0,1fr))}.ki-active #app>.gate>.card>h2:first-of-type{font-size:31px!important}.ki-active #app #toast{bottom:90px}}
@media(max-width:580px){.ki-topbar{padding:11px 18px;min-height:72px;gap:11px}.ki-breadcrumb>span{max-width:calc(100vw - 145px)}.ki-breadcrumb>small{font-size:10px}.ki-avatar{width:35px;height:35px}.ki-active #app.wrap{padding:27px 18px 115px}.ki-active #app>header{display:block;margin-bottom:21px}.ki-active #app>header .brand h1.leaguename{font-size:31px;letter-spacing:-1px}.ki-active #app .saved{min-width:0;text-align:left;margin-top:12px}.ki-active #app nav.tabs{gap:0;margin:19px 0 22px}.ki-active #app nav.tabs button{font-size:13px;padding:12px 15px;min-height:46px}.ki-active #app .subtabs{top:46px;margin-top:-9px}.ki-active #app .subtabs button{font-size:12px;padding-left:13px;padding-right:13px}.ki-active #app .card{padding:21px 19px;margin-bottom:19px}.ki-active #app .card h2{font-size:21px}.ki-active #app .ki-round-focus{padding:22px}.ki-active #app .ki-round-focus .wk{font-size:25px}.ki-active #app .weekbar{flex-wrap:wrap}.ki-active #app .weekbar .wk{flex-basis:100%;margin-bottom:5px}.ki-active #app .matches-grid{grid-template-columns:1fr;gap:17px}.ki-active #app .sgrid{padding:18px 15px;gap:10px 7px;grid-template-columns:minmax(0,1fr) 46px 46px 29px}.ki-active #app .sgrid.one{grid-template-columns:minmax(0,1fr) 58px 35px}.ki-active #app .sgrid .sg-team{font-size:14px}.ki-active #app .sgrid .sg-team small{font-size:12px}.ki-active #app .sgrid .sg-h{font-size:9px}.ki-active #app .exbtn{min-height:44px;padding:10px;margin:-8px 0}.ki-active #app #leagueList,.ki-active #app #clubList{grid-template-columns:1fr;gap:14px}.ki-active #app>.gate>.card>h2:first-of-type{font-size:30px!important}.ki-active #app>.gate>.card>.sub{font-size:14px;margin-bottom:23px}.ki-active #app #caList{padding:2px 17px}.ki-active #app #caList>div[style]{flex-wrap:wrap}.ki-active #app #caList>div[style]>div:first-child{flex:1 1 100%!important}.ki-active #app #caList>div[style]>div:last-child{flex-direction:row!important;flex-wrap:wrap;align-items:center!important;gap:16px!important}.ki-active #app .rosterrow,.ki-active #app .rrow{flex-wrap:wrap}.ki-active #app .rosterrow input[type=text],.ki-active #app .rrow input[type=text]{flex:1 1 calc(100% - 110px)!important;min-width:0}.ki-active #app .rosterrow input[type=tel],.ki-active #app .rrow input[type=tel]{flex:1 1 100%!important;order:3}.ki-active #app .tw-grid{grid-template-columns:1fr}.ki-active #app .appfoot .footlinks{justify-content:space-between}.ki-active #app .appfoot .copyright{text-align:center}.ki-active #app .triviacard .tvq{font-size:19px}.ki-active #app .modebtn{font-size:12px;padding:9px 10px}.ki-active #app .lg-name{font-size:20px}}
@media(max-width:350px){.ki-active #app.wrap{padding-left:14px;padding-right:14px}.ki-topbar{padding-left:14px;padding-right:14px}.ki-active #app .card{padding:18px 15px}.ki-active #app>header .brand h1.leaguename{font-size:28px}.ki-active #app .sgrid{grid-template-columns:minmax(0,1fr) 43px 43px 26px;padding:15px 12px;gap:9px 5px}.ki-active #app .sgrid.one{grid-template-columns:minmax(0,1fr) 52px 30px}.ki-active #app .sgrid .sg-team{font-size:13px}.ki-active #app .sgrid .sg-team small{font-size:12px}.ki-active #app .ki-round-focus{padding:19px}.ki-active #app .ki-round-focus .wk{font-size:23px}}
@media(prefers-reduced-motion:reduce){.ki-shell *, .ki-shell *:before,.ki-shell *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{.ki-sidebar,.ki-topbar,.ki-bottom-nav,.ki-scrim,.ki-skip{display:none!important}.ki-shell{display:block}.ki-active #app.wrap{max-width:none;padding:0}.ki-active #app .ki-round-focus{background:white;color:#243C35}.ki-active #app .ki-round-focus .wk,.ki-active #app .ki-round-focus .sub,.ki-active #app .ki-round-focus b{color:#243C35}}

.ki-active #app>.gate>.card>h2:not(:first-of-type){font-size:22px!important;line-height:1.25;letter-spacing:-.65px;margin:34px 0 12px!important}

/* The ladder season table has six columns (the round-robin table has four). At this presentation's 14px cells and 24px card padding it ran 38px past a 375px phone; the classic sizes fit, so the ladder table keeps them here. Ladder only: the frozen modes never see this rule. */
.ki-active #app table.lbtable.ladder td{font-size:13px}.ki-active #app table.lbtable.ladder th{font-size:10px}.ki-active #app table.lbtable.ladder td:not(:first-child),.ki-active #app table.lbtable.ladder th:not(:first-child){padding-left:4px;padding-right:4px}
/* The ladder roster row carries a court tag (and arrows until week 1 is scored) in front of the name, which the round-robin row does not. With the name box taking "all but 110px" above, the 👥 button wrapped onto its own line at 375px. The name takes the first line (tag, arrows, name), the number and the two buttons the second — the same split index.html makes for the classic row below 430px. Ladder only. */
.ki-active #app .lad-rrow input[data-player-i]{flex:1 1 calc(100% - 60px)!important}
.ki-active #app .lad-rrow input[type=tel]{flex:1 1 60px!important}
