:root{--ink:#111;--muted:#667974;--paper:#f4f7df;--card:#fff;--lime:#bed303;--teal:#034f3c;--light-yellow:#f4f7df;--line:#dce5df;--danger:#a83a35;--shadow:0 12px 35px #034f3c17}*{box-sizing:border-box}body{background-color:var(--paper);min-height:100vh;color:var(--ink);background-image:radial-gradient(70% 48% at 100% 0,#c6f00021,#0000 72%),radial-gradient(55% 42% at 0 100%,#005a460b,#0000 74%),linear-gradient(140deg,#faf9f4 0%,#f7f7f1 58%,#f1f8e7 100%);background-repeat:no-repeat;background-size:cover;background-attachment:fixed;margin:0;font:15px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,sans-serif}button,input,select,textarea{font:inherit}button,.button{background:var(--ink);color:#fff;cursor:pointer;border:0;border-radius:12px;justify-content:center;align-items:center;padding:.75rem 1rem;font-weight:750;text-decoration:none;display:inline-flex}button:disabled{opacity:.55;cursor:not-allowed}input,select,textarea{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:11px;padding:.7rem}label{gap:.3rem;font-size:.86rem;font-weight:720;display:grid}.shell{width:min(1100px,100% - 2rem);margin:auto}.nav{border-bottom:1px solid #16322d14;justify-content:space-between;align-items:center;padding:.65rem 0;display:flex}.brand{letter-spacing:-.04em;color:var(--ink);font-size:1.1rem;font-weight:950;text-decoration:none}.brand span{background:var(--lime);border-radius:50%;width:.55rem;height:.55rem;margin-left:.15rem;display:inline-block}.navlinks,.actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.app-main{padding:1rem 0 3rem}.stack{gap:1rem;display:grid}.page-stack{gap:1rem}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--teal);margin:0;font-size:.72rem;font-weight:850}h1{letter-spacing:-.045em;margin:.15rem 0;font-size:clamp(1.8rem,4vw,2.8rem);line-height:1.05}h2{letter-spacing:-.025em;margin:.2rem 0;font-size:1.25rem}.card{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:18px;padding:1rem}.formgrid{grid-template-columns:repeat(3,1fr);gap:.7rem;display:grid}.toggle{align-items:center;gap:.55rem;display:flex}.toggle input{width:auto}.alert{color:var(--danger);background:#fff0ef;border-radius:11px;padding:.7rem}.text-button{color:var(--teal);background:0 0;border-radius:0;padding:0;font-weight:800}.page-title,.schedule-toolbar{justify-content:space-between;align-items:flex-end;gap:1rem;display:flex}.schedule-toolbar p{color:var(--muted);margin:.35rem 0 0}.event-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;display:grid}.event-card{text-align:left;color:var(--ink);border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;justify-content:stretch;gap:.25rem;padding:1rem 1.1rem;display:grid}.event-card strong{font-size:1.15rem}.event-card span{color:var(--muted);font-weight:550}.event-card b{color:var(--teal);margin-top:.35rem}.event-date{text-transform:uppercase;letter-spacing:.06em;font-size:.76rem;font-weight:800!important}.empty{box-shadow:none;gap:.25rem;display:grid}.setup-card{padding:1rem}.event-fields{grid-template-columns:2fr 1.2fr .7fr .7fr}.section-heading{justify-content:space-between;align-items:center;gap:1rem;display:flex}.section-heading h2{margin:0}.section-heading span{color:var(--muted);font-size:.86rem}.player-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem;display:grid}.player-row{border:1px solid var(--line);background:#fafbf9;border-radius:12px;grid-template-columns:auto 1fr auto;align-items:center;gap:.65rem;min-height:48px;padding:.45rem .65rem;display:grid}.player-row.selected{background:#f1f9df;border-color:#b8d977}.player-row>input[type=checkbox]{width:20px;height:20px}.player-row>input:not([type=checkbox]),.player-row select{padding:.5rem}.player-row select{width:105px}.rating{color:var(--muted);font-size:.82rem}.add-player{background:#f1f5f2;border-radius:14px;grid-template-columns:2fr 1fr auto;align-items:end;gap:.6rem;padding:.8rem;display:grid}.align-start{justify-self:start}.availability{box-shadow:none;padding:1rem}.availability-grid{grid-template-columns:repeat(4,1fr);gap:.5rem;margin-top:.75rem;display:grid}.round-list{gap:.65rem;display:grid}.round-card{border:1px solid var(--line);break-inside:avoid;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 5px 18px #143c320f}.round-card.open{border-color:#a9c6ba}.round-summary{text-align:left;width:100%;color:var(--ink);background:#fff;border-radius:0;justify-content:space-between;padding:.85rem 1rem}.round-summary>span:first-child{align-items:baseline;gap:.7rem;display:flex}.round-summary b{font-size:1.08rem}.round-summary small{color:var(--muted);font-weight:650}.chevron{font-size:1.4rem;transition:transform .15s}.round-card.open .chevron{transform:rotate(180deg)}.round-body{border-top:1px solid var(--line);padding:0 1rem 1rem}.court-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;padding-top:.75rem;display:grid}.court-card{border:1px solid var(--line);border-radius:12px;padding:.65rem}.court-card>strong{color:var(--teal);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.4rem;font-size:.8rem;display:block}.matchup{grid-template-columns:1fr auto 1fr;align-items:center;gap:.4rem;font-size:13px;font-weight:750;display:grid}.matchup div{text-align:center;background:#f1f5f2;border-radius:9px;padding:.55rem .4rem}.matchup span{color:var(--muted);text-transform:uppercase;font-size:.72rem}.bye{background:#fff8df;border-radius:9px;margin:.65rem 0 0;padding:.55rem .65rem;font-size:13px}.round-actions{flex-wrap:wrap;gap:.5rem;margin-top:.75rem;display:flex}.round-actions button{padding:.65rem .85rem;font-size:13px}.center{place-items:center;min-height:100vh;display:grid}.narrow{width:min(430px,100% - 2rem)}.footer{display:none}@media (max-width:720px){.shell{width:min(100% - 1rem,1100px)}.nav button,.nav .button{padding:.6rem .7rem}.navlinks .optional{display:none}.event-list,.player-list,.court-grid{grid-template-columns:1fr}.event-fields{grid-template-columns:1fr 1fr}.event-fields label:first-child{grid-column:1/-1}.availability-grid{grid-template-columns:repeat(2,1fr)}.add-player{grid-template-columns:1fr 1fr}.add-player button{grid-column:1/-1}.page-title,.schedule-toolbar{align-items:flex-start}.schedule-toolbar{flex-direction:column}.round-summary>span:first-child{flex-direction:column;align-items:flex-start;gap:.1rem}}@media print{body{color:#111;background:#fff;font-size:12pt}.nav,.no-print{display:none!important}.app-main{width:100%;padding:0}.round-list{gap:7pt}.round-card{box-shadow:none;border:1px solid #bbb;border-radius:7pt}.round-body{padding:0 7pt 7pt;display:block!important}.round-summary{padding:6pt 7pt}.round-summary .chevron{display:none}.court-grid{grid-template-columns:repeat(2,1fr);gap:5pt;padding-top:6pt}.court-card{padding:5pt}.matchup,.bye{font-size:12pt}.matchup div{padding:4pt}}.event-card{gap:0;padding:0;overflow:hidden}.event-open{text-align:left;width:100%;color:var(--ink);background:#fff;border-radius:0;justify-content:stretch;gap:.25rem;padding:1rem 1.1rem;display:grid}.event-actions{border-top:1px solid var(--line);gap:1rem;padding:.65rem 1.1rem;display:flex}.danger-text{color:var(--danger)}.subtle{color:var(--muted);margin:.35rem 0 0}.paste-card{border:1px solid var(--line);background:#fafbf9;border-radius:14px;grid-template-columns:2fr 1fr;align-items:end;gap:1rem;padding:1rem;display:grid}.paste-card p{color:var(--muted);margin:0 0 .6rem}.skill-option{background:#f1f9df;border:1px solid #b8d977;border-radius:14px;align-items:flex-start;gap:.7rem;padding:1rem;display:flex}.skill-option input{width:20px;height:20px}.skill-option span{display:grid}.skill-option small{color:var(--muted);font-weight:500}.round-body{display:none}.round-body.screen-open{display:block}.print-title,.print-round-title{display:none}.compact-action{padding:.45rem .65rem!important}.admin-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.admin-card{align-content:start}.admin-card h2{margin:0}.admin-card p{color:var(--muted);margin:0}.settings-section{gap:.75rem;display:grid}.settings-section+.settings-section{border-top:1px solid var(--line);padding-top:1rem}@media (max-width:720px){.paste-card,.admin-grid{grid-template-columns:1fr}}@media print{.print-title,.print-round-title{display:block}.print-title{margin-bottom:10pt}.print-title h1{font-size:18pt}.print-title p{margin:3pt 0}.print-round-title{margin:5pt 0;font-size:14pt}.round-body,.round-body.screen-open{border-top:0;display:block!important}.bye{margin:0 0 5pt}.court-grid{padding-top:0}}.player-summary{margin-top:.5rem}.summary-table-wrap{margin-top:.75rem;overflow-x:auto}.player-summary table{border-collapse:collapse;width:100%;font-size:13px}.player-summary th,.player-summary td{text-align:center;border:1px solid var(--line);white-space:nowrap;padding:.45rem}.player-summary tbody th{text-align:left}.player-summary thead th{white-space:normal;overflow-wrap:anywhere;background:#edf2ef;max-width:82px;line-height:1.15}.player-summary td.sit{color:#785900;background:#fff3c7;font-weight:800}@media print{.player-summary{box-shadow:none;break-before:page}.summary-table-wrap{overflow:visible}.player-summary table{font-size:10pt}.player-summary th,.player-summary td{padding:3pt}}.player-choice{text-align:left;min-height:54px;color:var(--ink);background:#f1f3f1;border:2px solid #0000;justify-content:space-between;display:flex}.player-choice.selected{background:#e5f7b8;border-color:#82aa2c}.player-choice small{color:var(--muted);font-weight:600}.edit-row{grid-template-columns:1fr auto}.never-partner{border:1px solid var(--line);border-radius:14px;gap:.75rem;padding:1rem;display:grid}.live-player-add{border-top:1px solid var(--line);grid-template-columns:1fr auto;align-items:end;gap:.6rem;margin-top:1rem;padding-top:1rem;display:grid}.round-card.completed{box-shadow:none;background:#e8ebe9;border-color:#cbd1cd}.round-card.completed .round-summary{color:#68736f;background:#e8ebe9}.round-card.completed .round-body{filter:saturate(.3);opacity:.82}.player-summary summary{cursor:pointer;justify-content:space-between;align-items:center;list-style:none;display:flex}.player-summary summary>span:first-child{display:grid}.player-summary summary>span:last-child{color:var(--teal);font-weight:800}.player-summary[open] summary{border-bottom:1px solid var(--line);padding-bottom:.75rem}.never-pair-list{gap:.6rem;display:grid}.never-pair-row{background:#f7f8f6;border-radius:12px;grid-template-columns:auto minmax(0,1fr) minmax(0,1fr) auto;align-items:end;gap:.65rem;padding:.75rem;display:grid}.never-pair-number{color:var(--teal);white-space:nowrap;align-self:center;font-weight:850}.never-pair-remove{min-height:43px}.never-partner>.secondary{border:1px solid var(--line)}@media (max-width:900px){.shell{width:min(100% - 1.5rem,820px)}.event-list,.admin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.availability-grid{grid-template-columns:repeat(3,1fr)}.court-grid{grid-template-columns:1fr}.formgrid{grid-template-columns:repeat(2,1fr)}}@media (max-width:600px){body{font-size:16px}.shell{width:calc(100% - 1rem)}.app-main{padding:.65rem 0 2rem}.nav{align-items:flex-start}.navlinks{justify-content:flex-end}.page-title,.schedule-toolbar{align-items:stretch;display:grid}.page-title>.actions,.schedule-toolbar>.actions{grid-template-columns:1fr 1fr;display:grid}.event-list,.admin-grid,.player-list,.availability-grid,.event-fields,.formgrid,.paste-card,.live-player-add,.add-player{grid-template-columns:1fr}.never-pair-row{grid-template-columns:1fr 1fr}.never-pair-number,.never-pair-remove{grid-column:1/-1}.event-fields label:first-child,.add-player button{grid-column:auto}.card{border-radius:14px;padding:.8rem}.player-choice{width:100%}.round-summary{min-height:62px}.matchup{grid-template-columns:1fr;gap:.3rem}.matchup span{text-align:center}.round-actions{grid-template-columns:1fr;display:grid}.round-actions button{width:100%;min-height:48px}.nav button,.nav .button{min-height:42px}.player-summary{padding:.75rem}.summary-table-wrap{-webkit-overflow-scrolling:touch;max-width:100%;overflow-x:auto}}@media print{.player-summary{display:block}.player-summary summary{display:none}.player-summary .summary-table-wrap{display:block!important}}.event-card,.event-open{border-radius:18px}.event-open{border-radius:17px 17px 0 0}.event-open b{display:none}.event-actions{border-radius:0 0 17px 17px}.availability .section-heading span{font-size:0}.availability .section-heading span:after{content:"Tap a player to mark them playing or unavailable.";font-size:.86rem}.availability-grid .toggle{min-height:52px;color:var(--ink);cursor:pointer;background:#e5f7b8;border:2px solid #82aa2c;border-radius:13px;padding:.7rem .8rem;display:flex;position:relative}.availability-grid .toggle:has(input:not(:checked)){color:#77817d;background:#ecefed;border-color:#cbd1cd;text-decoration:line-through}.availability-grid .toggle input{opacity:0;pointer-events:none;position:absolute}.availability-grid .toggle:before{content:"✓";background:var(--teal);color:#fff;border-radius:50%;place-items:center;width:22px;height:22px;text-decoration:none;display:grid}.availability-grid .toggle:has(input:not(:checked)):before{content:"×";background:#9ca5a1}.player-list+.add-player+.actions{justify-content:flex-start}.player-list+.add-player+.actions .secondary{border:2px solid var(--teal)}@media (max-width:600px){.nav{gap:.5rem}.brand{flex:none}.navlinks{gap:.3rem}.navlinks a,.navlinks button{padding:.55rem;font-size:.82rem}.schedule-toolbar>.actions{grid-template-columns:1fr}.event-card,.event-open{border-radius:15px}.event-open{border-radius:14px 14px 0 0}.event-actions{justify-content:space-between}.availability-grid .toggle,.player-choice{min-height:56px}.section-heading{flex-direction:column;align-items:flex-start}.page-title>.actions,.page-title>.actions button{width:100%}}.player-summary summary>span:last-child{flex:0 0 72px;align-self:stretch;place-items:center;margin-right:-1rem;font-size:0;display:grid}.player-summary summary>span:last-child:after{content:"⌄";font-size:1.4rem;transition:transform .15s;display:block}.player-summary[open] summary>span:last-child:after{transform:rotate(180deg)}.play-mode-picker{border:0;grid-template-columns:1fr 1fr;gap:.65rem;margin:0;padding:0;display:grid}.play-mode-picker legend{grid-column:1/-1;margin-bottom:.25rem;font-weight:850}.play-mode-picker label{border:2px solid var(--line);cursor:pointer;background:#fafbf9;border-radius:14px;align-items:flex-start;gap:.7rem;padding:1rem;display:flex}.play-mode-picker label.selected{background:#f1f9df;border-color:#82aa2c}.play-mode-picker input{flex:none;width:20px;height:20px}.play-mode-picker span,.fairness-source>span{display:grid}.play-mode-picker small,.fairness-source small{color:var(--muted);font-weight:500}.fairness-source{border:1px solid var(--line);border-radius:14px;grid-template-columns:1fr minmax(260px,1fr);align-items:end;gap:1rem;padding:1rem;display:grid}.opponent-counts{white-space:normal;flex-wrap:wrap;gap:.3rem;min-width:220px;display:flex}.opponent-counts span{background:#edf2ef;border-radius:999px;padding:.2rem .4rem}.summary-label{color:var(--muted);font-weight:500;display:block}.matchup-history{text-align:left;white-space:normal;gap:.3rem;min-width:340px;display:grid}.matchup-history>span{background:#f7f8f6;border-radius:8px;padding:.3rem .45rem;display:block}.matchup-history b{color:var(--teal)}@media (max-width:600px){.play-mode-picker,.fairness-source{grid-template-columns:1fr}.opponent-counts{min-width:180px}}.play-mode-slider{border:0;gap:.75rem;margin:0;padding:0;display:grid}.play-mode-slider legend{margin-bottom:.25rem;font-size:1.25rem;font-weight:850}.play-mode-scale{border:2px solid var(--line);background:#fafbf9;border-radius:16px;gap:.6rem;padding:1rem;display:grid}.play-mode-labels,.play-mode-help{grid-template-columns:1fr auto 1fr;align-items:center;gap:.75rem;display:grid}.play-mode-labels strong:last-child,.play-mode-help span:last-child{text-align:right}.play-mode-labels span{background:var(--light-yellow);color:var(--teal);text-align:center;border-radius:999px;padding:.3rem .65rem;font-weight:850}.play-mode-help{color:var(--muted);font-size:.86rem;font-weight:650}.play-mode-help span:nth-child(2){text-align:center}.play-mode-slider input[type=range]{width:100%;min-height:44px;accent-color:var(--teal);cursor:pointer;padding:0}.play-mode-slider input[type=range]::-webkit-slider-thumb{width:30px;height:30px}.play-mode-slider input[type=range]::-moz-range-thumb{width:30px;height:30px}@media (max-width:600px){.play-mode-slider legend{font-size:1.35rem}.play-mode-scale{padding:1rem .85rem}.play-mode-labels{grid-template-columns:1fr 1fr}.play-mode-labels span{grid-area:2/1/auto/-1}.play-mode-help{font-size:14px}.play-mode-slider input[type=range]{min-height:54px}}.event-list .event-card{overflow:hidden;border-radius:20px!important}.event-list .event-open{border-radius:19px 19px 0 0!important}.event-list .event-open b{display:none!important}.event-list .event-actions{border-radius:0 0 19px 19px}.availability-grid .toggle:has(input:not(:checked)){text-decoration:none}.player-choice-row{grid-template-columns:1fr auto auto;align-items:center;gap:.4rem;display:grid}.player-choice-row>.player-choice{width:100%}.player-choice-row>.edit-icon,.player-choice-row>.delete-player-icon{width:48px;height:54px;color:var(--teal);border:1px solid var(--line);background:#edf2ef;padding:0;font-size:1.35rem}.player-choice-row>.delete-player-icon{color:var(--ink)}.player-choice-row>.delete-player-icon:hover{background:var(--ink);color:#fff}.player-choice-row>input{min-width:0}.player-choice-row>select{width:100px}.player-choice-row:has(>input){grid-template-columns:minmax(0,1fr) 100px auto}.add-player-section{border:1px solid var(--line);background:#fff;border-radius:16px;gap:.65rem;padding:1rem;display:grid}.add-player-section h2{margin:0}@media (max-width:600px){.player-choice-row:has(>input){grid-template-columns:1fr}.player-choice-row:has(>input)>select{width:100%}.player-choice-row:has(>input)>button{width:100%}.navlinks{grid-template-columns:repeat(3,auto);display:grid}.navlinks form{grid-column:auto}.navlinks .optional{display:none}}.availability-grid .toggle:before{content:"";background:url(/assets/pickleball-status.png) 50%/contain no-repeat;border-radius:50%;flex:0 0 30px;width:30px;height:30px}.availability-grid .toggle:has(input:not(:checked)):before{content:"";filter:grayscale();opacity:.42;background:url(/assets/pickleball-status.png) 50%/contain no-repeat}.brand span{vertical-align:-.18rem;background:url(/assets/pickleball-status.png) 50%/contain no-repeat;width:1.15rem;height:1.15rem;margin-left:.25rem}.bulk-player-add{gap:.75rem;display:grid}.roster-edit-button{padding:.55rem .75rem}.live-player-add{border:1px solid var(--line);background:#fafbf9;border-radius:14px;margin-top:1rem;padding:1rem}.live-add-new{border-top:1px solid var(--line);grid-template-columns:2fr 1fr auto;align-items:end;gap:.6rem;padding-top:.8rem;display:grid}@media (max-width:600px){.live-add-new{grid-template-columns:1fr}.brand span{width:1.3rem;height:1.3rem}.bulk-player-add button{width:100%}.page-title>.actions{width:auto}.page-title>.actions button{width:auto;min-height:42px;padding:.55rem;font-size:.82rem}}.add-user{grid-template-columns:1.2fr 1fr 1fr .8fr auto;align-items:end;display:grid}.add-user>div{grid-column:1/-1}@media (max-width:900px){.add-user{grid-template-columns:1fr 1fr}.add-user>div{grid-column:1/-1}}@media (max-width:600px){.add-user{grid-template-columns:1fr}.add-user>div{grid-column:auto}.add-user button{width:100%}}.user-toolbar{justify-content:space-between;align-items:center;gap:1rem;display:flex}.user-toolbar h2,.user-create h2{margin:0}.user-list{gap:.55rem;display:grid}.user-row{grid-template-columns:auto 1fr auto;align-items:center;gap:.8rem;padding:.75rem 1rem;display:grid;box-shadow:0 4px 14px #143c320d}.user-row.inactive{color:var(--muted);background:#eef0ee}.user-avatar{width:42px;height:42px;color:var(--teal);background:#e5f7b8;border-radius:50%;place-items:center;font-weight:900;display:grid}.user-identity{display:grid}.user-identity span{color:var(--muted);font-size:.86rem}.user-create,.user-editor{gap:1rem;display:grid}.user-form-grid{grid-template-columns:1fr 1fr .8fr;gap:.7rem;display:grid}.live-roster-top{justify-content:space-between;align-items:center;gap:1rem;display:flex}.live-roster-top h3{margin:0}.live-player-add .live-player-picker{background:0 0;border:0;margin:0;padding:0}.admin-user-form{grid-template-columns:1fr 1fr}.players-today{padding:0;overflow:hidden}.players-today summary{cursor:pointer;justify-content:space-between;align-items:center;padding:.9rem 0 .9rem 1rem;list-style:none;display:flex}.players-today summary::-webkit-details-marker{display:none}.players-today summary>span:first-child{display:grid}.players-today summary>.chevron{flex:0 0 72px;place-items:center;display:grid}.players-today summary strong{font-size:1.15rem}.players-today summary small{color:var(--muted);font-weight:650}.players-today[open] summary{border-bottom:1px solid var(--line)}.players-today[open] .chevron{transform:rotate(180deg)}.players-today-body{padding:1rem}.players-today-body .section-heading>span{color:var(--muted);font-size:.86rem}@media (max-width:700px){.user-toolbar,.live-roster-top{flex-direction:column;align-items:stretch}.user-toolbar button,.live-roster-top button{width:100%}.user-form-grid,.live-player-picker{grid-template-columns:1fr}.user-row{grid-template-columns:auto 1fr}.user-row>button{grid-column:1/-1;width:100%}.user-editor .actions{display:grid}.user-editor .actions button{width:100%}}.rating-scale{background:#f1f5f2;border-radius:14px;flex-wrap:wrap;align-items:center;gap:.65rem;padding:.8rem;display:flex}.rating-scale strong{color:var(--teal);font-size:1.15rem}.rating-scale span{color:var(--muted)}.rating-scale i{color:var(--muted);font-style:normal}.player-choice-row.editing{border:1px solid var(--line);background:#fafbf9;border-radius:14px;grid-template-columns:1.4fr .8fr .7fr auto auto;align-items:end;padding:.75rem}.effective-rating{align-self:center;display:grid}.effective-rating small{color:var(--muted)}.effective-rating strong{color:var(--teal)}@media (max-width:800px){.player-choice-row.editing{grid-template-columns:1fr 1fr}.player-choice-row.editing>label:first-child{grid-column:1/-1}.player-choice-row.editing>button{width:100%}}@media (max-width:500px){.player-choice-row.editing{grid-template-columns:1fr}.player-choice-row.editing>label:first-child{grid-column:auto}.rating-scale{flex-direction:column;align-items:flex-start}.rating-scale i{transform:rotate(90deg)}}.live-player-add{border:1px solid var(--line);background:#fafbf9;border-radius:14px;grid-template-columns:minmax(220px,.8fr) minmax(300px,1.2fr);align-items:end;gap:1rem;margin-top:1rem;padding:1rem;display:grid}.live-player-add h3{margin:0}.live-player-add p{margin:.2rem 0 0}.live-player-picker{grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:.6rem;display:grid}.live-player-picker button,.live-player-picker select{height:48px;min-height:48px;padding-block:0}@media (max-width:700px){.live-player-add,.live-player-picker{grid-template-columns:1fr}.live-player-picker button{width:100%}}.players-today-body{position:relative}.players-today-body:has(.live-player-add)>.section-heading .roster-edit-button{display:none}.roster-player{justify-content:space-between;align-items:stretch;gap:.4rem;width:100%;min-width:0;display:flex}.availability-grid .roster-player .toggle{flex:auto;width:100%;min-width:0}.remove-player{width:38px;min-height:52px;color:var(--danger);background:#fff0ef;border-radius:13px;flex:0 0 38px;padding:0;font-size:1.35rem;line-height:1}.remove-player:hover{background:#fbdedb}.availability .section-heading>span{font-size:.86rem}.availability .section-heading>span:after{content:none}.live-player-heading{grid-column:1/-1;justify-content:space-between;align-items:center;gap:1rem;display:flex}.live-player-heading>div{min-width:0}@media (max-width:700px){.live-player-heading{flex-direction:column;align-items:stretch}.live-player-heading button{order:2;width:100%}}.player-search{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:16px;gap:.35rem;padding:1rem;display:grid}.player-search span{font-size:.9rem}.player-search input{min-height:48px}.icon-button svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:23px;height:23px}.round-settings{justify-content:center;display:flex}.round-settings button{border:1px solid var(--line);border-radius:16px;width:100%;min-height:62px;font-size:1.08rem}.group-manager{gap:1rem;display:grid}.group-heading{justify-content:space-between;align-items:flex-end;gap:1rem;display:flex}.group-heading h2{margin:0}.group-heading p{margin:.2rem 0 0}.group-create{grid-template-columns:minmax(180px,1fr) auto;gap:.5rem;display:grid}.group-list{flex-wrap:wrap;gap:.5rem;display:flex}.group-list>button,.group-filter{min-height:44px}.group-list small{opacity:.7;margin-left:.35rem}.group-list>button.selected,.group-item.active .group-filter{background:var(--teal);color:#fff}.group-item{grid-template-columns:auto 42px 42px;gap:.25rem;display:grid}.group-edit,.group-delete{width:42px;padding:0}.group-delete{color:var(--danger)}.group-membership{border-top:1px solid var(--line);grid-template-columns:auto minmax(180px,1fr) auto auto;align-items:center;gap:.5rem;padding-top:1rem;display:grid}@media (max-width:700px){.group-heading{flex-direction:column;align-items:stretch}.group-create,.group-membership{grid-template-columns:1fr}.group-membership button{width:100%}.group-item{flex:100%;grid-template-columns:1fr 44px 44px}.group-list>button{width:100%}}.event-group-picker{background:#f1f5f2;border-radius:14px;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.75rem;display:flex}.event-group-picker button{min-height:42px}.event-group-picker small{opacity:.7;margin-left:.3rem}.live-player-heading-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.brand{align-items:center;min-width:0;display:flex}.brand img{object-fit:contain;object-position:left center;width:clamp(150px,20vw,230px);height:auto;max-height:58px;display:block}@media (max-width:600px){.brand img{width:132px;max-height:44px}}@media (max-width:700px){.live-player-heading-actions{grid-template-columns:1fr 1fr;display:grid}.live-player-heading-actions button{width:100%}}.event-icon-actions{flex-wrap:nowrap}.icon-button{border-radius:50%;width:48px;height:48px;padding:0;font-size:1.55rem;line-height:1}.round-settings{justify-content:flex-end;gap:.6rem;display:flex}.round-settings button{width:auto;min-height:48px}.schedule-page.roster-mode:before{content:"";z-index:20;-webkit-backdrop-filter:grayscale(.35);background:#26302d94;position:fixed;inset:0}.schedule-page.roster-mode .players-today{z-index:21;position:relative;box-shadow:0 18px 55px #091d1847}.roster-undo{justify-content:flex-end;margin-top:-.35rem;display:flex}.roster-undo button{gap:.65rem;min-height:46px;display:flex}.roster-undo small{color:var(--muted);font-weight:700}.round-header{background:#fff;align-items:stretch;display:flex}.round-header .round-summary{flex:auto;width:auto;min-width:0}.round-complete{border-radius:10px;flex:none;align-self:center;margin:.45rem .2rem;padding:.55rem .8rem;font-size:13px}.round-toggle{width:48px;color:var(--ink);background:#fff;border-radius:0;flex:0 0 48px;padding:0}.round-card.completed .round-header,.round-card.completed .round-toggle{background:#e8ebe9}.round-card .round-complete{width:24px;height:24px;box-shadow:none;border-radius:50%;margin:.45rem 1.5rem;padding:0;font-size:0}.round-card .round-complete:before{content:"✓";font-size:.9rem;font-weight:900;line-height:1}.round-card:not(.completed) .round-complete{color:#b7bfbb;background:0 0;border:2px solid #c6cdca}.round-card.completed .round-complete{border:2px solid var(--teal);background:var(--teal);color:#fff}.round-card .round-complete:disabled:before{content:"…"}.round-header:has(.round-complete) .round-toggle{display:none}.round-toggle{flex-basis:72px;width:72px}.round-timing{text-align:right;color:var(--ink);white-space:nowrap;flex:none;align-self:center;font-size:14px;font-weight:800;line-height:1.2;display:grid}.round-timing span{color:var(--muted);font-size:.86em;font-weight:700}.round-complete-indicator{place-items:center;display:grid}.bye{background:var(--light-yellow)}body{background-color:var(--light-yellow);background-image:radial-gradient(ellipse 70% 48% at 100% 0%,#bed30324,transparent 72%),radial-gradient(ellipse 55% 42% at 0% 100%,#034f3c0d,transparent 74%),linear-gradient(140deg,#fff 0%,var(--light-yellow) 100%)}button,.button{background:var(--teal)}button.secondary,.button.secondary{color:var(--ink);background:#edf2ef}.player-row.selected,.skill-option,.availability-grid .toggle,.user-avatar,.player-choice.selected{background:var(--light-yellow);border-color:var(--lime)}.alert.success{border:1px solid var(--lime);background:var(--light-yellow);color:var(--teal)}.danger-text,.group-delete{color:var(--ink)}button.secondary.danger-text{border:1px solid var(--ink);color:var(--ink);background:#edf2ef}button.secondary.danger-text:hover{background:var(--ink);color:#fff}.text-button.danger-text{text-decoration:underline;-webkit-text-decoration-color:var(--lime);text-decoration-color:var(--lime);text-underline-offset:3px;text-decoration-thickness:2px}.remove-player{color:var(--ink);background:#edf2ef;border:1px solid #cbd1cd}.remove-player:hover{background:var(--ink);color:#fff}@media (max-width:600px){.event-icon-actions{display:flex!important}.round-settings{display:grid}.round-settings button{width:100%}.player-summary summary>span:last-child{margin-right:-.75rem}.roster-undo button{justify-content:space-between;width:100%}.round-complete{margin:.4rem .1rem;padding:.55rem .65rem}.round-timing{font-size:16px}.round-timing span{font-size:14px}body{font-size:20px;line-height:1.55}button,.button,input,select,textarea{font-size:19px}.subtle,small,.section-heading span{font-size:16px}.round-summary{min-height:0;padding:.55rem .75rem}.round-summary b{font-size:24px}.round-summary small{font-size:16px}.round-body{padding:0 .65rem .65rem}.court-grid{gap:.45rem;padding-top:.5rem}.court-card{padding:.4rem .55rem}.court-card>strong{margin-bottom:.2rem;font-size:16px}.matchup{gap:.1rem;font-size:24px;line-height:1.15}.matchup div{padding:.4rem .35rem}.matchup span{font-size:14px;line-height:1}.bye{margin:.4rem 0 0;padding:.45rem .65rem;font-size:22px;line-height:1.2}.round-card .round-complete{width:48px;height:48px;margin:.2rem .75rem}.round-card .round-complete:before{font-size:1.65rem}.round-card:not(.completed) .round-complete,.round-card.completed .round-complete{border-width:3px}.round-toggle{flex-basis:72px;width:72px}.players-today summary strong{font-size:1.3rem}}.settings-card-list{gap:.75rem}.settings-card-list .settings-section{padding:1rem}.settings-card-list .settings-section+.settings-section{border-top:1px solid var(--line)}.settings-save{justify-self:stretch}.priority-mode-picker{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.priority-mode-picker button{min-height:46px}.priority-mode-note{background:#f4f7df;border-radius:12px;padding:.7rem .8rem}.scheduling-protections{grid-template-columns:minmax(220px,1.3fr) repeat(3,minmax(160px,1fr));align-items:center;gap:1rem;display:grid}.fixed-rule{background:#f4f7df;border-radius:12px;gap:.15rem;padding:.8rem;display:grid}.fixed-rule span{color:var(--muted);font-size:.88rem}.priority-editor{gap:1rem;display:grid}.priority-list{gap:.55rem;margin:0;padding:0;list-style:none;display:grid}.priority-list li{border:1px solid var(--line);background:#fafbf9;border-radius:13px;grid-template-columns:auto 1fr auto;align-items:center;gap:.8rem;padding:.75rem;display:grid}.priority-list li>div:nth-child(2){display:grid}.priority-list li span{color:var(--muted)}.priority-number{background:var(--lime);border-radius:50%;place-items:center;width:34px;height:34px;font-weight:900;display:grid;color:var(--ink)!important}.priority-actions{gap:.35rem;display:flex}.priority-actions button{width:42px;height:42px;padding:0;font-size:1.2rem}@media (max-width:800px){.scheduling-protections{grid-template-columns:1fr 1fr}.scheduling-protections>div:first-child{grid-column:1/-1}}@media (max-width:600px){.scheduling-protections{grid-template-columns:1fr}.scheduling-protections>div:first-child{grid-column:auto}.priority-list li{grid-template-columns:auto 1fr}.priority-actions{grid-column:1/-1;justify-content:flex-end}.priority-actions button{width:52px;height:46px}}.player-bulk-toolbar{z-index:5;gap:.8rem;display:grid;position:sticky;top:.5rem}.bulk-selection,.bulk-actions,.bulk-rating{align-items:end;gap:.55rem;display:flex}.bulk-selection{justify-content:space-between}.bulk-selection strong{font-size:1.05rem}.bulk-actions{flex-wrap:wrap}.bulk-rating label{width:155px}.bulk-actions>button{min-height:44px}@media (max-width:700px){.player-bulk-toolbar{position:static}.bulk-selection{flex-direction:column;align-items:flex-start}.bulk-actions{grid-template-columns:1fr;display:grid}.bulk-rating{grid-template-columns:1fr auto;display:grid}.bulk-rating label{width:auto}.bulk-actions>button{width:100%}}.sitout-overrides{border:1px solid var(--line);border-radius:14px;gap:.75rem;padding:1rem;display:grid}.sitout-overrides h2,.sitout-overrides p{margin:0}.sitout-override-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;display:grid}.sitout-override-grid label{background:#f7f8f6;border-radius:11px;grid-template-columns:minmax(0,1fr) 90px;align-items:center;gap:.6rem;padding:.55rem .65rem;display:grid}.sitout-override-grid input{text-align:center;min-width:0}.sitout-override-heading{justify-content:space-between;align-items:center;gap:1rem;display:flex}.sitout-override-heading>div{gap:.2rem;display:grid}.sitout-override-heading button{flex:none}@media (max-width:720px){.sitout-override-grid{grid-template-columns:1fr 1fr}}@media (max-width:600px){.sitout-override-heading{flex-direction:column;align-items:stretch}.sitout-override-heading button{width:100%}}@media (max-width:500px){.sitout-override-grid{grid-template-columns:1fr}}
