@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.table{display:table}}:root{--ink:#17241f;--muted:#65746e;--cream:#f6f3ea;--card:#fffdf8;--lime:#c8f04b;--green:#1c624b;--line:#dce1d8}*{box-sizing:border-box}html{background:var(--cream);color:var(--ink)}body{background:radial-gradient(circle at 95% 5%, #c8f04b52, transparent 25rem), var(--cream);min-height:100vh;margin:0;font-family:Arial,Helvetica,sans-serif}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}.shell{width:min(100%,540px);min-height:100vh;margin:auto;padding:28px 20px}.player-shell{flex-direction:column;display:flex}.brand{align-items:center;gap:14px;margin:10px 0 52px;display:flex}.brand h1,.board-header h1,.admin-header h1,.login-card h1{letter-spacing:-.055em;margin:5px 0;font:800 clamp(2.25rem,9vw,4.6rem)/.95 Georgia,serif}.ball-mark,.whistle{background:var(--lime);width:48px;height:48px;color:var(--green);border-radius:50%;place-items:center;font-size:20px;display:grid;box-shadow:inset -6px -4px #1c624b21}.eyebrow,.kicker{letter-spacing:.18em;color:var(--green);margin:0;font-size:.72rem;font-weight:900}.status-card,.checkin-card,.login-card,.control-card,.roster-card{border:1px solid var(--line);background:#fffdf8eb;border-radius:24px;box-shadow:0 16px 45px #17241f0f}.status-card{padding:28px;position:relative;overflow:hidden}.status-card.playing{border-top:5px solid var(--lime)}.status-card.sitting_out{border-top:5px solid #f4ad67}.status-icon{background:var(--lime);border-radius:50%;place-items:center;width:44px;height:44px;font-size:22px;font-weight:900;display:grid;position:absolute;top:22px;right:24px}.status-card h2,.checkin-card h2,.control-card h2{letter-spacing:-.03em;margin:12px 0 10px;font:800 1.75rem/1.05 Georgia,serif}.status-card p:last-child,.login-card>p{color:var(--muted);margin-bottom:0;line-height:1.5}.checkin-card{padding:28px}label{text-transform:uppercase;letter-spacing:.08em;margin:24px 0 8px;font-size:.76rem;font-weight:800;display:block}input{width:100%;color:var(--ink);background:#fff;border:1px solid #c8d0c8;border-radius:14px;outline:none;padding:16px;font-size:16px}input:focus{border-color:var(--green);box-shadow:0 0 0 3px #1c624b1f}.choice-grid,.action-stack{gap:11px;margin-top:18px;display:grid}.button{cursor:pointer;border:0;border-radius:15px;min-height:54px;padding:16px 18px;font-weight:900}.button span,.button small{display:block}.button small{opacity:.72;margin-top:3px;font-weight:500}.button.primary{background:var(--green);color:#fff}.button.secondary{color:var(--ink);background:#e9eee7}.button.dark{background:var(--ink);color:#fff;width:100%;margin-top:16px}.button:disabled,.text-button:disabled{opacity:.45;cursor:not-allowed}.text-button{color:#7c4b3f;cursor:pointer;background:0 0;border:0;padding:12px;text-decoration:underline}.team-ticket{background:var(--lime);border-radius:18px;grid-template-columns:1fr auto;align-items:center;margin-top:14px;padding:20px 22px;display:grid}.team-ticket span{letter-spacing:.15em;font-size:.68rem;font-weight:900}.team-ticket strong{grid-area:1/2/3;font:800 1.65rem Georgia,serif}.team-ticket a{margin-top:4px;font-size:.8rem;font-weight:700}.error-message{color:#8c3527;text-align:center;background:#ffe8e1;border-radius:12px;padding:12px 14px;font-weight:700}footer{color:var(--muted);justify-content:space-between;margin-top:auto;padding-top:36px;font-size:.82rem;font-weight:700;display:flex}.top-nav{color:var(--muted);justify-content:space-between;font-size:.78rem;font-weight:800;display:flex}.wide-shell{width:min(1120px,100%)}.board-header{margin:70px 0 34px}.board-header p:last-child{color:var(--muted)}.teams-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;display:grid}.team-card{background:var(--card);border:1px solid var(--line);border-radius:22px;overflow:hidden}.team-card-head{background:var(--green);color:#fff;justify-content:space-between;align-items:end;padding:18px 22px;display:flex}.team-card-head span{letter-spacing:.18em;font-size:.7rem;font-weight:900}.team-card-head strong{font:800 2.8rem/.8 Georgia,serif}.team-2 .team-card-head,.team-5 .team-card-head{background:#c96b38}.team-3 .team-card-head,.team-6 .team-card-head{background:#3f5a98}.team-4 .team-card-head,.team-7 .team-card-head{background:#76528c}.team-card ol{margin:0;padding:10px 22px 18px;list-style-position:inside}.team-card li{border-bottom:1px solid #edf0e9;padding:13px 0;font-weight:800}.team-card li::marker{color:#9aa59d;font-size:.75rem}.empty-court{min-height:330px;color:var(--muted);text-align:center;border:1px dashed #aeb9ae;border-radius:24px;place-items:center;display:grid}.net{background:repeating-linear-gradient(0deg,#0000 0 15px,#c4ccc4 16px 17px),repeating-linear-gradient(90deg,#0000 0 15px,#c4ccc4 16px 17px);border:5px solid #9eaaa0;border-top-width:3px;width:200px;height:90px}.sitting-strip{background:#eee9dd;border-radius:16px;flex-wrap:wrap;gap:18px;margin-top:20px;padding:18px 20px;display:flex}.sitting-strip span{color:var(--muted)}.login-shell{width:min(100%,480px)}.back-link{color:var(--muted);margin:12px 0 72px;font-weight:700;text-decoration:none;display:inline-block}.login-card{padding:34px}.login-card .whistle{margin-bottom:24px}.admin-shell{width:min(1180px,100%);margin:auto;padding:34px 24px 80px}.admin-header{justify-content:space-between;align-items:end;margin-bottom:28px;display:flex}.admin-header h1{font-size:3.4rem}.admin-header a{color:var(--green);font-weight:800}.view-switch{border:1px solid var(--line);background:var(--card);border-radius:999px;align-items:center;padding:4px;display:flex}.view-switch a,.view-switch span{border-radius:999px;padding:8px 12px;font-size:.76rem;text-decoration:none}.view-switch span{background:var(--ink);color:#fff;font-weight:800}.organizer-banner{background:var(--lime);border-radius:14px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;padding:13px 18px;font-size:.86rem;display:flex}.admin-stats{background:var(--ink);color:#fff;border-radius:20px;grid-template-columns:repeat(3,1fr);margin-bottom:20px;display:grid;overflow:hidden}.admin-stats div{border-right:1px solid #ffffff24;padding:20px 24px}.admin-stats strong,.admin-stats span{display:block}.admin-stats strong{color:var(--lime);font:800 2rem Georgia,serif}.admin-stats span{opacity:.7;text-transform:uppercase;letter-spacing:.08em;margin-top:3px;font-size:.73rem}.admin-grid{grid-template-columns:minmax(0,1fr) 330px;align-items:start;gap:20px;display:grid}.rosters{gap:18px;display:grid}.roster-card{overflow:hidden}.roster-title{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:20px 22px;display:flex}.roster-title h2{margin:0;font:800 1.4rem Georgia,serif}.roster-title span{background:#e8eee7;border-radius:999px;padding:5px 10px;font-weight:900}.player-row{border-bottom:1px solid #edf0e9;grid-template-columns:38px 1fr auto auto 34px;align-items:center;gap:10px;padding:11px 18px;display:grid}.player-row:last-child{border-bottom:0}.avatar{width:34px;height:34px;color:var(--green);background:#e5ebdf;border-radius:50%;place-items:center;font-weight:900;display:grid}.player-row em{background:var(--lime);border-radius:8px;padding:4px 7px;font-size:.72rem;font-style:normal;font-weight:900}.player-row button{cursor:pointer;background:#edf0eb;border:0;border-radius:8px;padding:7px 9px;font-size:.72rem;font-weight:800}.player-row button.remove{color:#9a6b63;background:0 0;font-size:1.3rem}.empty-list{color:var(--muted);padding:18px 22px}.compact-roster,.match-history-panel{background:var(--card);border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 10px 28px #17241f0a}.roster-tabs{border-bottom:1px solid var(--line);background:#f0f2eb;gap:4px;padding:8px;display:flex;overflow-x:auto}.roster-tabs button{white-space:nowrap;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:10px;padding:9px 12px;font-size:.78rem;font-weight:800}.roster-tabs button.active{background:var(--card);color:var(--ink);box-shadow:0 2px 8px #17241f14}.roster-tabs button span{background:#dfe5dc;border-radius:999px;place-items:center;min-width:20px;height:20px;margin-left:4px;padding:0 5px;font-size:.68rem;display:inline-grid}.compact-list{min-height:56px}.compact-player-row{border-bottom:1px solid #edf0e9;grid-template-columns:30px minmax(120px,1fr) auto minmax(180px,auto);align-items:center;gap:10px;padding:8px 12px;font-size:.82rem;display:grid}.compact-player-row:last-child{border-bottom:0}.avatar.small{width:28px;height:28px;font-size:.72rem}.inline-status{white-space:nowrap;border-radius:999px;padding:5px 8px;font-size:.68rem;font-weight:900}.inline-status.playing{color:#3c5e19;background:#e6f5bd}.inline-status.sitting{color:#80552d;background:#f5e8d8}.inline-status.unassigned{color:#8a3d30;background:#ffe3db}.row-actions{justify-content:flex-end;align-items:center;gap:5px;display:flex}.row-actions select{background:#fff;border:1px solid #cbd2c8;border-radius:8px;max-width:124px;padding:6px;font-size:.7rem}.row-actions button{cursor:pointer;background:#e8ece5;border:0;border-radius:8px;padding:7px 9px;font-size:.7rem;font-weight:800}.row-actions .assign-button{background:var(--green);color:#fff}.row-actions .remove{color:#9a6b63;background:0 0;padding:3px 7px;font-size:1.15rem}.saved-match{border-top:1px solid var(--line)}.saved-match summary{cursor:pointer;grid-template-columns:auto auto 1fr;align-items:center;gap:12px;padding:13px 16px;font-size:.78rem;display:grid}.saved-match summary span:last-child{color:var(--muted);justify-self:end}.saved-match-teams{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px;padding:0 16px 14px;display:grid}.saved-match-teams div{background:#f1f3ec;border-radius:10px;gap:4px;padding:10px;font-size:.75rem;display:grid}.saved-match-teams span{color:var(--muted);line-height:1.4}aside{gap:14px;display:grid}.control-card{padding:22px}.stepper{text-align:center;border:1px solid var(--line);border-radius:14px;grid-template-columns:44px 1fr 44px;align-items:center;display:grid;overflow:hidden}.stepper button{cursor:pointer;background:#eaf0e8;border:0;height:48px;font-size:1.5rem}.stepper strong{font:800 1.6rem Georgia,serif}.balance-note{color:var(--muted);font-size:.8rem;line-height:1.4}.control-card .button{width:100%}.end-button{color:#864638;cursor:pointer;background:0 0;border:1px solid #d6a59c;border-radius:12px;padding:14px;font-weight:800}.team-board-link{text-align:center;border:1px solid var(--line);background:var(--card);border-radius:12px;padding:14px;font-weight:800;text-decoration:none;display:block}.preview-panel,.court-panel,.history-panel{background:var(--card);border:1px solid var(--line);border-radius:24px;padding:22px;box-shadow:0 16px 45px #17241f0d}.preview-head{justify-content:space-between;align-items:center;gap:18px;margin-bottom:18px;display:flex}.preview-head h2{margin:5px 0 0;font:800 1.55rem Georgia,serif}.button.compact{white-space:nowrap;min-height:42px;padding:11px 15px}.preview-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;display:grid}.preview-team{background:#f1f3ec;border-radius:16px;padding:14px}.preview-team h3{justify-content:space-between;margin:0 0 10px;font:800 1.1rem Georgia,serif;display:flex}.preview-team h3 span{background:#fff;border-radius:999px;padding:4px 8px;font:800 .72rem Arial,sans-serif}.draft-player{border-top:1px solid #dbe0d7;justify-content:space-between;align-items:center;gap:8px;padding:9px 0;font-size:.85rem;font-weight:700;display:flex}.draft-player select{background:#fff;border:1px solid #cbd2c8;border-radius:8px;padding:6px;font-size:.72rem}.preview-note{color:var(--muted);margin:14px 0 0;font-size:.78rem}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.toggle-label{text-transform:none;letter-spacing:0;align-items:center;gap:8px;margin:0;font-size:.8rem;display:flex}.toggle-label input{width:auto;accent-color:var(--green)}.matchup{text-align:center;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px;margin:18px 0;display:grid}.matchup div{background:#eef1e9;border-radius:16px;gap:5px;padding:14px;display:grid}.matchup div span{letter-spacing:.12em;color:var(--muted);font-size:.65rem;font-weight:900}.matchup div strong{font:800 1.3rem Georgia,serif}.matchup input{text-align:center;margin-top:6px;padding:10px;font:800 1.7rem Georgia,serif}.matchup b{color:var(--muted);font-size:.7rem}.queue-line{color:var(--muted);background:#f3efe4;border-radius:10px;margin-top:14px;padding:12px;font-size:.8rem}.game-row{border-top:1px solid var(--line);grid-template-columns:1fr auto 1fr auto;align-items:center;gap:10px;padding:12px 0;font-size:.82rem;display:grid}.game-row span:nth-child(3){text-align:right}.game-row em{background:var(--lime);border-radius:7px;padding:4px 7px;font-size:.68rem;font-style:normal;font-weight:800}.stats-table{border-top:2px solid var(--ink);grid-template-columns:1fr 42px 42px 42px;margin-top:12px;padding-top:10px;font-size:.78rem;display:grid}.stat-row{border-top:1px solid var(--line);grid-column:1/-1;grid-template-columns:1fr 42px 42px 42px;padding:8px 0;display:grid}.public-matchup{background:var(--ink);color:#fff;border-radius:22px;margin-bottom:18px;padding:22px}.public-matchup .kicker{color:var(--lime)}.public-matchup>div{grid-template-columns:1fr 1fr auto 1fr 1fr;align-items:center;gap:8px;margin-top:14px;display:grid}.public-matchup span{color:#b8c1bc;text-transform:uppercase;letter-spacing:.08em;font-size:.72rem}.public-matchup b{color:var(--lime);font-size:.75rem}.public-matchup>p:last-child{color:#c7cfca;margin:14px 0 0;font-size:.8rem}.loading{min-height:70vh;color:var(--muted);place-items:center;font-weight:800;display:grid}@media (max-width:760px){.admin-grid{grid-template-columns:1fr}.admin-header{align-items:start}.admin-header h1{font-size:2.6rem}.admin-header a{text-align:right;max-width:100px;font-size:.75rem}.view-switch a{max-width:none}.organizer-banner{flex-direction:column;align-items:flex-start}.admin-stats div{padding:16px 14px}.admin-stats strong{font-size:1.6rem}.player-row{grid-template-columns:34px 1fr auto 30px}.player-row em{display:none}.player-row button:not(.remove){grid-column:2/4;justify-self:start}.compact-player-row{grid-template-columns:28px 1fr auto;gap:7px}.compact-player-row .inline-status{grid-column:3}.row-actions{flex-wrap:wrap;grid-column:2/4;justify-content:flex-start}.saved-match summary{grid-template-columns:auto auto}.saved-match summary span:last-child{grid-column:1/-1;justify-self:start}.preview-head{align-items:flex-start}.game-row{grid-template-columns:1fr auto 1fr}.game-row em{grid-column:1/-1;justify-self:start}.public-matchup>div{grid-template-columns:1fr auto 1fr}.public-matchup>div span{display:none}}
