:root{color:#182026;font-synthesis:none;text-rendering:optimizelegibility;background:#f6f8f3;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:#f6f8f3;min-width:320px;min-height:100vh;margin:0;overflow-x:hidden}button,input,select,textarea{font:inherit}button{color:#182026;cursor:pointer;background:#fff;border:1px solid #cad6c3;border-radius:8px;justify-content:center;align-items:center;gap:.45rem;min-height:2.5rem;padding:.55rem .8rem;font-weight:700;display:inline-flex}button:disabled{cursor:not-allowed;opacity:.45}input,select,textarea{color:#182026;background:#fff;border:1px solid #cad6c3;border-radius:8px;width:100%;padding:.72rem .8rem}select{appearance:none;background-image:linear-gradient(45deg,#0000 50%,#526055 50%),linear-gradient(135deg,#526055 50%,#0000 50%);background-position:calc(100% - 1rem),calc(100% - .65rem);background-repeat:no-repeat;background-size:.35rem .35rem;padding-right:2rem}textarea{resize:vertical;min-height:12rem}label{color:#526055;gap:.38rem;font-size:.86rem;font-weight:700;display:grid}h1,h2,h3,p{margin:0}.app-shell{max-width:1440px;min-height:100vh;margin:0 auto;padding:1rem}.launch-shell,.setup-shell{align-content:start;gap:1.25rem;display:grid}.brand-header{justify-content:space-between;align-items:center;gap:1rem;padding:.2rem 0;display:flex}.launch-shell .brand-header{z-index:10;background:#f6f8f3f0;margin:-1rem -1rem 0;padding:.75rem 1rem;position:sticky;top:0}@supports ((-webkit-backdrop-filter:blur(16px)) or (backdrop-filter:blur(16px))){.launch-shell .brand-header{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}}.brand-logo{align-items:center;gap:clamp(.55rem,1.4vw,.9rem);min-width:0;display:flex}.brand-icon{aspect-ratio:704/989;flex:none;width:auto;height:clamp(4.05rem,8.5vw,5.9rem);display:block}.brand-wordmark{width:clamp(12rem,24vw,22rem);max-width:min(22rem,100vw - 8.5rem);height:auto}.brand-header.compact .brand-icon{width:auto;height:clamp(3.25rem,5.6vw,4.25rem)}.brand-header.compact .brand-wordmark{width:clamp(10rem,18vw,15rem);max-width:min(15rem,100vw - 6.5rem)}.site-nav{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.35rem;display:flex}.site-nav a{color:#526055;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;min-height:2.35rem;padding:.5rem .72rem;font-size:.9rem;font-weight:800;text-decoration:none;display:inline-flex}.site-nav a:hover,.site-nav a:focus-visible{color:#38650c;background:#fff;border-color:#cad6c3;outline:none}.site-nav a.active{color:#38650c;background:#edf6e5;border-color:#b9dca4}.site-nav a.nav-highlight{color:#fff;background:#65b821;border-color:#559c19}.site-nav a.nav-highlight:hover,.site-nav a.nav-highlight:focus-visible,.site-nav a.nav-highlight.active{color:#fff;background:#559c19;border-color:#477f16}.status-badge,.count-badge{color:#38650c;white-space:nowrap;background:#edf6e5;border:1px solid #b9dca4;border-radius:999px;padding:.35rem .65rem;font-size:.8rem;font-weight:800}.landing-hero{color:#fff;isolation:isolate;background:linear-gradient(100deg,#182026 0%,#1f2d28 52%,#38650c 100%),#182026;border-radius:8px;grid-template-columns:minmax(0,1.1fr) minmax(18rem,.9fr);align-items:center;gap:clamp(1.5rem,4vw,3rem);min-height:clamp(22rem,46vh,31rem);padding:clamp(1.5rem,4vw,4rem);display:grid;position:relative;overflow:hidden}.landing-hero:before{content:"";pointer-events:none;z-index:-1;background:radial-gradient(circle at 80% 48%,#f4c95d57,#0000 24rem),radial-gradient(circle at 75% 58%,#65b82161,#0000 22rem),linear-gradient(90deg,#182026fa 0%,#182026c7 49%,#1820261f 100%);position:absolute;inset:0}.hero-copy{z-index:1;align-self:center;gap:1rem;max-width:47rem;display:grid;position:relative}.hero-mascot-frame{aspect-ratio:1;z-index:1;justify-self:end;place-items:center;width:min(100%,31rem);max-width:31rem;display:grid;position:relative}.hero-mascot-frame:before{content:"";filter:blur(8px);background:radial-gradient(circle,#f4c95da3 0 16%,#f4c95d3d 34%,#65b8211a 56%,#0000 72%);border-radius:999px;position:absolute;inset:1rem}.hero-mascot-frame:after{content:"";border:1px solid #f4c95d7a;border-radius:999px;position:absolute;inset:5%;box-shadow:0 0 38px #f4c95d38,0 20px 70px #00000042}.hero-mascot{filter:drop-shadow(0 1.8rem 2.2rem #0000006b);z-index:1;width:min(100%,30rem);height:auto;display:block;position:relative}.eyebrow{color:#ba6a45;letter-spacing:0;text-transform:uppercase;font-size:.78rem;font-weight:900}.landing-hero .eyebrow{color:#f4c95d}.landing-hero h1{color:#fff;max-width:58rem;font-size:clamp(2.45rem,6vw,5.4rem);line-height:.98}.landing-hero p:not(.eyebrow){color:#ecf3e7;max-width:42rem;font-size:clamp(1.03rem,2vw,1.25rem);line-height:1.55}.hero-actions{flex-wrap:wrap;gap:.65rem;margin-top:.45rem;display:flex}.link-button{border:1px solid #cad6c3;border-radius:8px;justify-content:center;align-items:center;gap:.45rem;min-height:2.5rem;padding:.55rem .8rem;font-weight:800;text-decoration:none;display:inline-flex}.secondary-link{color:#fff;background:#ffffff17;border-color:#ffffff57}.rules-section{gap:1rem;padding:.5rem 0;display:grid}.section-heading{gap:.25rem;display:grid}.section-heading h2,.feedback-panel h2{color:#38650c;font-size:clamp(1.45rem,3vw,2.25rem);line-height:1.1}.rule-list{grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;margin:0;padding:0;list-style:none;display:grid}.rule-list li{background:#fff;border:1px solid #dde6d8;border-radius:8px;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:.65rem;min-height:10rem;padding:1rem;display:grid}.rule-list svg{color:#ba6a45;margin-top:.1rem}.rule-list span{color:#526055;line-height:1.45}.rule-list strong{color:#182026;margin-bottom:.35rem;display:block}.setup-panel{background:linear-gradient(90deg,#69b8241a,#fff0),#fff;border:1px solid #dde6d8;border-radius:8px;grid-template-columns:minmax(0,.9fr) minmax(320px,1.1fr);align-items:start;gap:2rem;padding:clamp(1.25rem,3vw,2.5rem);display:grid}.setup-panel h1,.setup-panel h2,.session-toolbar h1{color:#38650c;font-size:clamp(2rem,4vw,3.65rem);line-height:1.04}.setup-copy{color:#526055;max-width:42rem;margin-top:1rem;font-size:1.03rem;line-height:1.55}.setup-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.title-field,.players-field,.primary-action{grid-column:1/-1}.primary-action{color:#fff;background:#65b821;border-color:#559c19}.feedback-panel{background:#fff;border:1px solid #dde6d8;border-radius:8px;gap:1rem;padding:clamp(1.25rem,3vw,1.5rem);display:grid;box-shadow:0 12px 30px #1d271712}.feedback-panel .panel-heading{align-items:center}.feedback-copy{color:#526055;line-height:1.5}.feedback-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;display:grid}.message-field,.feedback-form .primary-action{grid-column:1/-1}.feedback-note{color:#697666;align-items:center;gap:.45rem;font-size:.88rem;font-weight:800;line-height:1.35;display:flex}.feedback-note svg{color:#ba6a45;flex:none}.danger-action{color:#fff;background:#a83224;border-color:#8d281e}.session-toolbar{justify-content:space-between;align-items:center;gap:1rem;margin:1.25rem 0;display:flex}.session-title-block{align-items:flex-start;gap:.45rem;display:grid}.share-feedback{color:#38650c;background:#edf6e5;border:1px solid #b9dca4;border-radius:8px;justify-content:space-between;align-items:center;gap:.75rem;margin:-.5rem 0 1rem;padding:.7rem .8rem;font-size:.88rem;font-weight:800;display:flex}.share-feedback.form-error{color:#9b2e19;margin-top:-.5rem}.share-feedback button{flex:none;min-height:2rem;padding:.35rem .55rem}.toolbar-actions,.court-actions{flex-wrap:wrap;gap:.55rem;display:flex}.session-section-nav{display:none}.court-actions{margin-top:1rem}.dashboard-grid{grid-template-columns:minmax(260px,300px) minmax(0,1fr) minmax(240px,300px);grid-template-areas:"queue courts side";align-items:start;gap:1rem;display:grid}.courts-grid{grid-area:courts;grid-template-columns:minmax(0,1fr);gap:1rem;display:grid}.court-card,.panel{background:#fff;border:1px solid #dde6d8;border-radius:8px;padding:1rem;box-shadow:0 12px 30px #1d271712}.court-card.waiting{border-color:#e4bd47}.court-heading,.panel-heading{justify-content:space-between;align-items:start;gap:1rem;display:flex}.court-title{flex-wrap:wrap;align-items:center;gap:.55rem;min-width:0;display:flex}.court-heading h2,.panel-heading h2{color:#38650c;overflow-wrap:anywhere;font-size:1.35rem;line-height:1.12}.court-management-actions{flex-wrap:wrap;flex:none;justify-content:flex-end;gap:.4rem;display:flex}.court-management-actions button{min-height:2.1rem;padding:.35rem .55rem}.panel-heading svg{color:#38650c;flex:none}.status-badge{text-transform:capitalize}.status-badge.waiting{color:#7a5a00;background:#fff8dd;border-color:#ecd06d}.court-timer{background:#f7faf3;border:1px solid #e1eadc;border-radius:8px;justify-content:space-between;align-items:center;gap:.75rem;margin-top:.85rem;padding:.75rem;display:flex}.timer-readout{gap:.12rem;display:grid}.timer-label,.history-duration{color:#697666;text-transform:uppercase;font-size:.74rem;font-weight:900}.timer-readout strong{color:#182026;font-variant-numeric:tabular-nums;font-size:1.55rem;line-height:1}.timer-readout span:last-child{color:#526055;font-size:.78rem;font-weight:800}.court-timer button{min-width:7rem}.teams-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-top:1rem;display:grid}.team-panel{background:#f7faf3;border:1px solid #e1eadc;border-radius:8px;gap:.55rem;padding:.8rem;display:grid}.team-panel h3{color:#526055;font-size:.82rem}.player-pill{background:#fff;border:1px solid #d9e4d2;border-radius:8px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:.5rem;min-height:3rem;padding:.7rem;display:grid}.player-pill.empty{color:#899488;justify-content:center;display:flex}.player-name{overflow-wrap:anywhere;font-weight:800}.win-count{color:#697666;white-space:nowrap;font-size:.75rem;font-weight:800}.replace-player{width:2rem;min-height:2rem;padding:.35rem}.score-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:1rem 0;display:grid}.toggle.active{color:#fff;background:#182026;border-color:#182026}.form-error{color:#9b2e19;background:#fff1ee;border:1px solid #f0b5a8;border-radius:8px;margin-top:.8rem;padding:.7rem;font-size:.9rem;font-weight:700}.queue-rail,.side-rail{gap:1rem;display:grid}.queue-rail{grid-area:queue}.side-rail{grid-area:side}.queue-panel{align-self:start}.add-player{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:.5rem;margin-top:1rem;display:grid}.add-player button{min-width:2.75rem}.queue-list,.compact-list{gap:.5rem;margin:1rem 0 0;padding:0;list-style:none;display:grid}.queue-list li,.compact-list li{background:#f7faf3;border:1px solid #e1eadc;border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto auto auto;align-items:center;gap:.45rem;min-height:3rem;padding:.45rem;display:grid}.queue-list li.paused{color:#697666;background:#f3f4f1;border-color:#d9ddd2}.queue-rank{color:#fff;background:#182026;border-radius:999px;justify-content:center;align-items:center;width:1.6rem;height:1.6rem;font-size:.78rem;font-weight:900;display:inline-flex}.queue-player{gap:.15rem;min-width:0;display:grid}.queue-name{overflow-wrap:anywhere;font-weight:800}.queue-status{color:#7b6b28;text-transform:uppercase;font-size:.72rem;font-weight:900}.queue-list button{width:2rem;min-height:2rem;padding:.35rem}.compact-list li{grid-template-columns:minmax(0,1fr) auto;padding:.7rem}.king-name{align-items:center;gap:.45rem;min-width:0;font-weight:800;display:inline-flex}.king-name>span:last-child{overflow-wrap:anywhere}.king-medal{border:1px solid;border-radius:999px;flex:none;justify-content:center;align-items:center;width:1.75rem;height:1.75rem;display:inline-flex}.king-medal.gold{color:#9b6a00;background:#fff4c4;border-color:#e3b23c}.king-medal.silver{color:#687681;background:#eef2f4;border-color:#c2ccd3}.king-medal.bronze{color:#8a4f1f;background:#f7dfcd;border-color:#cf8950}.stats-table{border-collapse:separate;border-spacing:0 .45rem;width:100%;margin-top:.55rem}.stats-table th,.stats-table td{text-align:right;white-space:nowrap;padding:.55rem .35rem;font-size:.78rem}.stats-table th{color:#697666;font-weight:800}.stats-table th:first-child,.stats-table td:first-child{text-align:left;white-space:normal}.stats-table td{background:#f7faf3;border-top:1px solid #e1eadc;border-bottom:1px solid #e1eadc;font-weight:800}.stats-table td:first-child{overflow-wrap:anywhere;border-left:1px solid #e1eadc;border-radius:8px 0 0 8px}.stats-table td:last-child{border-right:1px solid #e1eadc;border-radius:0 8px 8px 0}.history-list strong{color:#182026}.history-match{gap:.22rem;min-width:0;display:grid}.player-view-message-layout{align-content:start;gap:1.25rem;display:grid}.player-view-message{width:100%;max-width:38rem;margin:3rem auto 0}.player-view-message h1{color:#38650c}.player-view-summary .eyebrow{margin-bottom:.35rem}.player-view-status-final{color:#526055;background:#f0f2ef;border-color:#d4dbd0}.player-view-update-indicator{color:#38650c;justify-content:center;align-items:center;width:2rem;height:2rem;display:inline-flex}.player-view-update-spinner{animation:.8s linear infinite player-view-update-spin}@keyframes player-view-update-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.player-view-update-spinner{animation:none}}.player-view-connection-error{margin:-.5rem 0 1rem}.player-view-queue-list li{grid-template-columns:auto minmax(0,1fr);padding:.55rem}.player-view-player-pill{grid-template-columns:minmax(0,1fr) auto}.player-view-court-timer{justify-content:flex-start}.confirmation-error{flex:1 0 100%;margin:0}.empty-state{color:#697666;margin-top:1rem;line-height:1.45}.modal-backdrop{z-index:20;background:#18202670;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.modal-panel{background:#fff;border:1px solid #dde6d8;border-radius:8px;width:min(100%,34rem);max-height:calc(100vh - 2rem);padding:1rem;overflow:auto;box-shadow:0 24px 70px #18202638}.modal-heading{justify-content:space-between;align-items:start;gap:1rem;display:flex}.modal-heading h2{color:#38650c;font-size:1.35rem;line-height:1.12}.modal-heading p{color:#697666;margin-top:.35rem;font-weight:800}.modal-form{gap:1rem;margin-top:1rem;display:grid}.modal-actions{justify-content:flex-end;display:flex}.confirmation-actions{flex-wrap:wrap;gap:.6rem;margin-top:1.25rem}.replacement-list{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.replacement-list li{background:#f7faf3;border:1px solid #e1eadc;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.55rem;min-height:3rem;padding:.6rem;display:grid}.replacement-list span{overflow-wrap:anywhere;font-weight:800}.replacement-list button{min-height:2rem;padding:.35rem .65rem}@media (width<=1160px){.rule-list{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid{grid-template-columns:minmax(250px,320px) minmax(0,1fr);grid-template-areas:"queue courts""side side"}.side-rail{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=900px){.setup-panel,.dashboard-grid{grid-template-columns:1fr}.dashboard-grid{grid-template-areas:"courts""queue""side"}.landing-hero{grid-template-columns:1fr}.landing-hero:before{background:radial-gradient(circle at 50% 76%,#f4c95d4d,#0000 18rem),radial-gradient(circle at 50% 78%,#65b82152,#0000 20rem),linear-gradient(#182026fa 0%,#182026d1 62%,#18202647 100%)}.hero-mascot-frame{justify-self:center;width:min(78vw,22rem);max-width:22rem}.side-rail{grid-template-columns:repeat(2,minmax(0,1fr))}.session-section-nav{z-index:9;background:#f6f8f3f5;border:1px solid #dde6d8;border-radius:8px;grid-template-columns:repeat(5,minmax(4.25rem,1fr));gap:.35rem;margin:-.25rem 0 .75rem;padding:.35rem;display:grid;position:sticky;top:.5rem;overflow-x:auto}.session-section-nav a{color:#38650c;white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;min-height:2.35rem;padding:.45rem .35rem;font-size:.82rem;font-weight:900;text-decoration:none;display:inline-flex}.session-section-nav a:hover,.session-section-nav a:focus-visible{background:#edf6e5;outline:none}#courts,#queue,#kings,#stats,#crowns,#standings,#history{scroll-margin-top:4.5rem}}@media (width<=640px){.app-shell{padding:.75rem}.session-toolbar,.brand-header{flex-direction:column;align-items:flex-start}.launch-shell .brand-header{margin:-.75rem -.75rem 0;padding:.75rem}.brand-logo{width:100%}.brand-wordmark,.brand-header.compact .brand-wordmark{width:100%;max-width:calc(100vw - 6.75rem)}.site-nav{grid-template-columns:repeat(3,minmax(0,1fr));justify-content:stretch;gap:.35rem;width:100%;display:grid}.site-nav a{min-width:0;padding:.5rem .35rem}.setup-form,.feedback-form,.rule-list,.score-strip,.teams-grid,.side-rail{grid-template-columns:1fr}.court-actions,.court-heading,.court-management-actions,.modal-heading{grid-template-columns:1fr;display:grid}.court-actions>button,.court-management-actions>button,.modal-actions .primary-action,.hero-actions .link-button,.primary-action{width:100%}.toolbar-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem;width:100%;display:grid}.toolbar-actions>button{gap:.25rem;min-width:0;padding:.5rem .35rem;font-size:.86rem}.share-feedback{flex-direction:column;align-items:stretch}.share-feedback button{width:100%}.court-timer{grid-template-columns:minmax(0,1fr) auto;gap:.65rem;padding:.65rem;display:grid}.court-timer>button{min-width:6.5rem;padding:.45rem .65rem}.player-view-court-timer{grid-template-columns:1fr}.add-player button,.queue-list button{width:auto}}
