:root{--bg: #0f1419;--surface: #1a2332;--surface2: #243044;--text: #f1f5f9;--muted: #94a3b8;--accent: #14b8a6;--accent2: #0d9488;--danger: #f87171;--radius: 12px;--line: #3d4f66;--font: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{font-family:var(--font);background:radial-gradient(ellipse at top,#1e3a3a 0%,var(--bg) 55%);color:var(--text);line-height:1.5}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.site-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 0 1rem}.site-header.compact{padding-bottom:.5rem}.brand{display:inline-flex;align-items:center;gap:.65rem;text-decoration:none;color:var(--text)}.brand:hover{text-decoration:none}.brand-logo{display:block;height:40px;width:auto;max-width:220px;border-radius:12px;box-shadow:0 4px 16px #00000040}.site-nav{display:flex;gap:1rem;font-size:.9rem;font-weight:600}.site-nav a{color:var(--muted)}.site-nav a:hover{color:var(--accent);text-decoration:none}.site-nav-auth{display:inline-flex;align-items:center;gap:.65rem;padding-left:.35rem;border-left:1px solid var(--border, rgba(255, 255, 255, .12))}.site-nav-user{max-width:9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text)!important}.site-nav-logout{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:none;padding:0;font:inherit;font-size:.9rem;font-weight:600;color:var(--muted);cursor:pointer}.site-nav-logout:hover{color:var(--accent)}.site-nav-auth-status{color:var(--muted)}.page{max-width:720px;margin:0 auto;padding:1.25rem 1rem 3rem}.home-page{max-width:880px}.pro-page{max-width:640px}.pro-page .pro-hero{margin-bottom:1.5rem}.pro-page .pro-features{margin:1rem 0;padding-left:1.25rem;color:var(--muted)}.pro-page .pro-features a{font-weight:600}.pro-page .insider-explainer{margin:0 0 1rem;padding:.85rem 1rem;border-radius:var(--radius);border:1px dashed var(--surface2);background:#14b8a60f;font-size:.9rem;color:var(--muted);line-height:1.5}.pro-page .insider-explainer a{font-weight:600}.pro-page .pro-success,.pro-page .pro-active{margin-bottom:1.25rem;padding:1.25rem;border-radius:12px;background:#f8fafc}.hero{padding:2rem 0 1.5rem}.eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:.75rem;color:var(--accent);font-weight:600}.hero h1{font-size:clamp(1.75rem,5vw,2.75rem);line-height:1.15;margin:.5rem 0}.lead{color:var(--muted);font-size:1.05rem;max-width:36em}.hero-actions,.row-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.25rem}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.75rem 1.25rem;border-radius:999px;border:none;font-weight:600;font-size:1rem;cursor:pointer;text-decoration:none}.btn-primary{background:var(--accent);color:#042f2e}.btn-secondary{background:var(--surface2);color:var(--text)}.btn-ghost{background:transparent;border:1px solid var(--surface2);color:var(--text)}.btn-sm{padding:.45rem .85rem;font-size:.875rem}.btn-xs{padding:.3rem .55rem;font-size:.78rem}.btn:disabled{opacity:.5;cursor:not-allowed}.features{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin:2rem 0}.features article{background:var(--surface);border:1px solid var(--surface2);border-radius:var(--radius);padding:1rem}.features h3{margin:0 0 .35rem;font-size:1rem}.features p{margin:0;color:var(--muted);font-size:.9rem}.site-footer{color:var(--muted);font-size:.85rem;margin-top:2rem}.site-footer a{color:var(--muted)}.site-footer-copy{margin-top:.35rem;font-size:.8rem}.legal-page{max-width:720px}.legal-page .legal-block{margin-bottom:1.75rem}.legal-page .legal-block h2{font-size:1.15rem;margin-bottom:.5rem}.legal-page .legal-block h3{font-size:1rem;margin:1rem 0 .35rem}.legal-page ul{padding-left:1.25rem;color:var(--text)}.legal-page li{margin-bottom:.35rem}.legal-page code{font-size:.9em}.back{display:inline-block;margin-bottom:1rem;color:var(--muted)}.form{display:flex;flex-direction:column;gap:1rem}.field{display:flex;flex-direction:column;gap:.35rem}.field span{font-size:.85rem;color:var(--muted)}.password-field-wrap{position:relative;display:flex;align-items:stretch}.password-field-wrap input{flex:1;width:100%;padding-right:2.75rem}.password-toggle{position:absolute;right:.35rem;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;padding:0;border:none;border-radius:8px;background:transparent;color:var(--muted);cursor:pointer}.password-toggle:hover,.password-toggle:focus-visible{color:var(--accent);background:#14b8a61a;outline:none}.field input,.field textarea,.field select{background:var(--surface);border:1px solid var(--surface2);border-radius:var(--radius);color:var(--text);padding:.75rem;font:inherit}.field textarea{resize:vertical;min-height:200px}.field textarea.textarea-compact{min-height:120px}.wizard-steps{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.25rem 0 1rem}.wizard-step-pill{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .75rem;border-radius:999px;border:1px solid var(--surface2);background:var(--surface);color:var(--muted);font-size:.8rem;font-weight:600;cursor:default}.wizard-step-pill.done{cursor:pointer;color:var(--text)}.wizard-step-pill.active{border-color:var(--accent);color:var(--text);background:#14b8a61f}.wizard-step-num{display:inline-flex;align-items:center;justify-content:center;width:1.35rem;height:1.35rem;border-radius:50%;background:var(--surface2);font-size:.72rem}.wizard-step-pill.active .wizard-step-num{background:var(--accent);color:#042f2e}.wizard-panel{background:var(--surface);border:1px solid var(--surface2);border-radius:var(--radius);padding:1.25rem}.wizard-step h2{margin:0 0 .35rem;font-size:1.15rem}.wizard-subpanel{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--surface2)}.wizard-nav{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--surface2)}.choice-label{margin:1rem 0 .5rem;font-size:.85rem;font-weight:600;color:var(--muted)}.choice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem}.choice-card{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;text-align:left;padding:1rem;border-radius:var(--radius);border:2px solid var(--surface2);background:var(--bg);color:var(--text);cursor:pointer;font:inherit;transition:border-color .15s,background .15s}.choice-card strong{font-size:1rem}.choice-card span{font-size:.85rem;color:var(--muted);line-height:1.4}.choice-card:hover{border-color:var(--accent2)}.choice-card.selected{border-color:var(--accent);background:#14b8a614}.capacity-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.5rem;margin-bottom:1rem}.capacity-chip{padding:.55rem 1rem;border-radius:999px;border:1px solid var(--surface2);background:var(--bg);color:var(--text);font-weight:600;cursor:pointer;font:inherit}.capacity-chip.selected{border-color:var(--accent);background:#14b8a626}.capacity-custom{max-width:100px;margin:0}.capacity-custom input{padding:.55rem .65rem}.review-card{background:var(--bg);border:1px solid var(--surface2);border-radius:var(--radius);padding:1rem;margin-bottom:1rem}.review-list{margin:0}.review-list>div{display:grid;grid-template-columns:6.5rem 1fr;gap:.5rem;padding:.35rem 0;border-bottom:1px solid var(--surface2)}.review-list>div:last-child{border-bottom:none}.review-list dt{margin:0;font-size:.8rem;color:var(--muted);font-weight:600}.review-list dd{margin:0;font-size:.95rem}.payout-ready{color:var(--accent)}.payout-section{margin:1rem 0 1.25rem}.payout-section h2{margin:0 0 .65rem;font-size:1rem}.stripe-payout-status{display:flex;gap:.85rem;align-items:flex-start;margin-top:.75rem;padding:.9rem 1rem;border-radius:var(--radius);border:2px solid var(--line);background:var(--surface)}.stripe-payout-status.connected{border-color:#14b8a6;background:linear-gradient(135deg,#14b8a62e,#14b8a60f);box-shadow:0 0 0 1px #14b8a640}.stripe-payout-status.incomplete,.stripe-payout-status.pending{border-color:#d97706;background:#d9770614}.stripe-payout-status.disconnected{border-color:#64748b;background:#64748b14}.stripe-payout-status.compact{padding:.75rem .85rem}.stripe-payout-status-icon{flex-shrink:0;width:2.25rem;height:2.25rem;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.15rem;font-weight:800;line-height:1}.stripe-payout-status.connected .stripe-payout-status-icon{background:#14b8a6;color:#042f2e;box-shadow:0 0 12px #14b8a673}.stripe-payout-status.incomplete .stripe-payout-status-icon,.stripe-payout-status.pending .stripe-payout-status-icon{background:#d97706;color:#1c1917}.stripe-payout-status.disconnected .stripe-payout-status-icon{background:#475569;color:#e2e8f0}.stripe-payout-status-title{margin:0 0 .25rem;font-size:1rem;font-weight:700;color:var(--text)}.stripe-payout-status.connected .stripe-payout-status-title{color:#5eead4}.stripe-payout-status-message{margin:0 0 .65rem;font-size:.88rem;color:var(--muted);line-height:1.45}.stripe-payout-status.connected .stripe-payout-status-message{color:#cbd5e1}.stripe-payout-status-meta{margin:-.35rem 0 .55rem;font-size:.82rem;color:var(--muted)}.payout-card h2,.payout-warning-card h2,.revenue-card h2{margin:0 0 .5rem;font-size:1rem}.payout-warning-card{border-color:#d97706}.payment-status-card.online{border-color:var(--accent2)}.payment-badge{display:inline-block;margin:.35rem 0 0;padding:.2rem .55rem;border-radius:999px;font-size:.75rem;font-weight:700;background:#14b8a626;color:var(--accent)}.payment-badge.pay-at-door{background:#d9770626;color:#fbbf24}.inline-id-panel{margin:.25rem 0 .75rem}.inline-id-form{margin-top:.65rem;padding:.85rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.revenue-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin-bottom:.5rem}@media (min-width: 520px){.revenue-stats{grid-template-columns:repeat(4,minmax(0,1fr))}}.pro-upsell{margin-top:.75rem;padding:.85rem;border-radius:var(--radius);border:1px dashed var(--surface2);background:#14b8a60d}.pro-upsell p{margin:0 0 .65rem;font-size:.9rem}.registration-card{border-color:var(--accent2)}.event-context-banner{margin:-.15rem 0 .75rem;padding-bottom:.75rem;border-bottom:1px solid var(--line)}.event-context-banner h2{margin:.15rem 0 .35rem;font-size:1.2rem;color:var(--text)}.event-context-banner .eyebrow{margin:0;font-size:.72rem}.event-context-meta{margin:0;font-size:.9rem;color:var(--muted)}.registration-status-line{margin:0 0 .5rem}.register-event-page .register-event-banner{margin:.5rem 0 1.25rem}.register-event-page .register-event-banner h1{margin:.15rem 0 .35rem;font-size:1.65rem}.register-event-form .choice-label{margin:0 0 .35rem}.signed-in-banner{margin:0 0 .75rem;padding:.65rem .85rem;border-radius:var(--radius);background:#14b8a61a;border:1px solid rgba(20,184,166,.3);font-size:.9rem}.entry-fee-form{margin:.75rem 0;padding:.75rem 0;border-top:1px solid var(--line)}.host-add-player-form{margin:.85rem 0 1rem;padding:.85rem 0 0;border-top:1px solid var(--line)}.host-add-player-form .choice-label{margin:0 0 .35rem}.error{color:var(--danger)}.hint{color:var(--muted);font-size:.85rem}.code-display{font-size:1.25rem}.info-card{background:var(--surface);border:1px solid var(--accent2);border-radius:var(--radius);padding:1rem;margin:1rem 0}.live-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}.live-header h1{margin:.25rem 0 0;font-size:1.35rem}.now-playing{background:var(--surface);border:1px solid var(--surface2);border-radius:var(--radius);padding:1rem;margin-bottom:1rem}.now-playing h2{margin:0 0 .75rem;font-size:.9rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.scoreboard{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.5rem;text-align:center}.scoreboard .side{display:flex;flex-direction:column;gap:.25rem}.scoreboard .pname{font-weight:600;font-size:.95rem}.scoreboard .ppts{font-size:2.5rem;font-weight:800;color:var(--accent);line-height:1}.scoreboard .vs{color:var(--muted);font-size:.85rem}.champion-banner{background:linear-gradient(90deg,#065f46,#0d9488);border-radius:var(--radius);padding:.75rem 1rem;font-weight:700;margin-bottom:1rem;text-align:center}.bracket-wrap{position:relative;overflow-x:auto;padding-bottom:.5rem}.bracket-grid{display:flex;gap:2.75rem;min-width:max-content;padding:.25rem 0;position:relative;z-index:2}.bracket-lines{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:1;pointer-events:none}.bracket-lines path{stroke:var(--line);stroke-width:2;fill:none}.round-col{display:flex;flex-direction:column;min-width:190px}.round-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:.65rem;text-align:center}.round-body{flex:1;display:flex;flex-direction:column;justify-content:space-around;gap:.9rem}.match-card{background:var(--surface);border:1px solid var(--line);border-radius:10px;overflow:hidden;box-shadow:0 1px 4px #0003}.match-card.live{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent),0 0 12px #14b8a640}.slot{display:flex;align-items:center;gap:.5rem;padding:.5rem .65rem;border-bottom:1px solid var(--surface2);min-height:2.25rem;font-size:.82rem}.slot:last-child{border-bottom:none}.slot.bye,.slot.empty{color:var(--muted);font-style:italic;justify-content:center}.slot.winner{background:#14b8a62e}.slot.winner .name{font-weight:700;color:var(--accent)}.slot.winner .seed{background:var(--accent);color:#0f1419}.slot.loser .name{color:var(--muted);text-decoration:line-through}.slot.scoring .score{color:var(--accent);font-weight:800}.seed{font-size:.7rem;font-weight:700;color:var(--muted);background:var(--surface2);border-radius:5px;padding:.1rem .4rem;min-width:1.4rem;text-align:center;flex-shrink:0}.name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.score{font-weight:700;min-width:1.5rem;text-align:right;flex-shrink:0}.judge-page{max-width:520px}.judge-scoreboard{display:flex;flex-direction:column;gap:.75rem;margin:1rem 0}.judge-btn{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:1.25rem 1rem;border-radius:var(--radius);border:2px solid var(--accent2);background:var(--surface);color:var(--text);cursor:pointer;min-height:120px}.judge-btn.alt{border-color:#38bdf8}.judge-btn.serving{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent),0 0 14px #14b8a633}.judge-btn:active{transform:scale(.98)}.serve-pip{color:var(--accent);font-size:.85rem;font-weight:800;align-self:flex-start}.jname{font-size:1rem;font-weight:600;text-align:center}.jscore{font-size:3rem;font-weight:800;color:var(--accent);line-height:1}.jtap{font-size:.8rem;color:var(--muted)}.scoring-mode-banner{padding:.65rem .85rem;margin-bottom:.5rem;border-radius:var(--radius);font-size:.88rem;line-height:1.4}.scoring-mode-banner.sideout{background:#38bdf81a;border:1px solid rgba(56,189,248,.35)}.scoring-mode-banner.rally{background:#14b8a61a;border:1px solid rgba(20,184,166,.35)}.flash-msg{margin:.5rem 0 0;padding:.5rem .75rem;border-radius:8px;background:#38bdf826;color:#bae6fd;font-size:.9rem}.draft-notice{margin:.75rem 0 0}.serve-banner{display:flex;align-items:center;gap:.5rem;padding:.65rem .85rem;margin:.75rem 0;background:#14b8a61f;border:1px solid rgba(20,184,166,.35);border-radius:var(--radius);font-size:.95rem}.serve-banner.compact{margin:0 0 .65rem;padding:.45rem .65rem;font-size:.85rem}.serve-arrow{color:var(--accent);font-weight:800}.scoreboard .side.serving{outline:2px solid rgba(20,184,166,.45);border-radius:10px}.scoring-fieldset{border:1px solid var(--surface2);border-radius:var(--radius);padding:.85rem 1rem 1rem;margin:0;display:flex;flex-direction:column;gap:.65rem}.scoring-fieldset legend{padding:0 .35rem;font-size:.85rem;font-weight:700;color:var(--text)}.rules-page{max-width:720px}.rules-block{margin:1.5rem 0;padding-bottom:1rem;border-bottom:1px solid var(--surface2)}.rules-block:last-of-type{border-bottom:none}.rules-block h2{margin:0 0 .65rem;font-size:1.15rem}.rules-block h3{margin:1rem 0 .35rem;font-size:1rem;color:var(--accent)}.rules-block ul{margin:.5rem 0 0;padding-left:1.25rem}.rules-block li{margin-bottom:.35rem}.rules-footer{margin-top:2rem;color:var(--muted);font-size:.9rem}.courts-panel{margin:1rem 0 1.5rem}.courts-panel h2{margin:0 0 .75rem;font-size:1.1rem}.courts-grid{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.court-card{background:var(--surface);border:1px solid var(--surface2);border-radius:var(--radius);padding:.75rem}.court-card.live{border-color:var(--accent)}.court-card.idle{opacity:.85}.court-card-head{display:flex;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.5rem}.court-num{font-weight:800;color:var(--accent)}.court-status{font-size:.78rem;color:var(--muted)}.compact-board{margin-top:.25rem}.court-picker{display:flex;flex-direction:column;gap:.45rem;margin-bottom:.75rem}.court-picker-stack{border-radius:12px;padding:.15rem;transition:background .15s ease,box-shadow .15s ease}.court-picker-stack.can-drop.drop-target{background:#14b8a614;box-shadow:inset 0 0 0 2px var(--accent)}.court-picker-deck-row{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}.court-picker-deck.draggable{flex:1;margin:0;padding:.4rem .55rem;border:1px dashed var(--accent2);border-radius:8px;background:#14b8a614;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none}.court-picker-deck.draggable:active{cursor:grabbing}.drag-grip{margin-right:.35rem;color:var(--accent);font-size:.85rem}.court-move-btn{flex-shrink:0}.court-move-menu{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.15rem}.court-drag-hint{margin:.15rem 0 0}.court-pill.open{border-style:dashed}.court-pill.drop-ready{border-color:var(--accent);box-shadow:0 0 0 2px #14b8a659}.drop-hint{color:var(--accent);font-weight:600}.court-open-panel{margin:1rem 0;padding:1rem;border:1px dashed var(--surface2);border-radius:var(--radius);background:#94a3b80f}.court-open-panel h2{margin:0 0 .35rem;font-size:1.05rem}.court-pill{text-align:left;padding:.55rem .75rem;border-radius:10px;border:1px solid var(--surface2);background:var(--surface);color:var(--text);cursor:pointer;font-size:.88rem}.court-pill.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.court-pill.live{background:#14b8a614}.match-label{margin:0 0 .5rem;font-weight:600}.match-card{position:relative}.on-deck-badge{position:absolute;top:-.55rem;right:.45rem;font-size:.62rem;font-weight:800;letter-spacing:.03em;padding:.15rem .4rem;border-radius:999px;background:#14b8a626;color:var(--accent);border:1px dashed var(--accent2);z-index:1}.match-card.on-deck{border-color:var(--accent2);box-shadow:0 0 0 1px #14b8a640}.court-picker-stack{display:flex;flex-direction:column;gap:.2rem;min-width:10rem}.court-picker-deck{margin:0;padding-left:.35rem;font-size:.78rem}.court-badge{position:absolute;top:-.55rem;right:.45rem;font-size:.65rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;background:var(--accent);color:#0f1419;padding:.15rem .45rem;border-radius:6px;z-index:3}.match-card.on-court{margin-top:.35rem}.format-recommend{padding:.65rem .85rem;margin:0 0 .75rem;background:#38bdf81a;border:1px solid rgba(56,189,248,.3);border-radius:var(--radius);font-size:.9rem;line-height:1.45}.placements-banner{margin:1rem 0;padding:.85rem 1rem;background:var(--surface);border:1px solid var(--surface2);border-radius:var(--radius)}.placements-banner h2{margin:0 0 .5rem;font-size:1rem}.placements-banner ul{list-style:none;margin:0;padding:0}.placements-banner li{display:flex;gap:.75rem;padding:.35rem 0;border-bottom:1px solid var(--surface2)}.placements-banner li:last-child{border-bottom:none}.placements-banner .place{font-weight:800;color:var(--accent);min-width:2.5rem}.rr-view{display:grid;gap:1.25rem;grid-template-columns:minmax(220px,280px) 1fr;margin-top:1rem}.rr-standings table{width:100%;border-collapse:collapse;font-size:.9rem}.rr-standings th,.rr-standings td{text-align:left;padding:.45rem .5rem;border-bottom:1px solid var(--surface2)}.rr-standings th{color:var(--muted);font-size:.75rem;text-transform:uppercase}.rr-round{margin-bottom:1rem}.rr-round h3{margin:0 0 .4rem;font-size:.95rem;color:var(--accent)}.rr-schedule-hint{margin:0 0 .75rem}.rr-match{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem 1rem;padding:.55rem .65rem;border:1px solid var(--surface2);border-radius:8px;margin-bottom:.35rem;font-size:.88rem}.rr-match.status-live,.rr-match.status-on_court{border-color:var(--accent2);background:#14b8a60f}.rr-match.status-on_deck{border-style:dashed}.rr-match.status-complete{opacity:.92}.rr-match-players,.rr-match-meta{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.rr-match.bye{color:var(--muted);font-style:italic}.rr-match .winner{font-weight:700;color:var(--accent)}.rr-match .vs{color:var(--muted);font-size:.75rem;font-weight:700}.rr-court{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:.15rem .45rem;border-radius:999px;background:var(--surface2);color:var(--muted)}.rr-court.live-court{background:#134e4a;color:var(--accent)}.rr-court.on-deck-court{background:#14b8a626;color:var(--accent);border:1px dashed var(--accent2)}.rr-court.upcoming-court{color:var(--muted)}.rr-score{font-size:.82rem;font-weight:700}.rr-score.live{color:var(--accent)}.rr-score.final{color:var(--text)}.court-match-no{font-weight:700;color:var(--accent)}.court-on-deck{display:flex;flex-direction:column;gap:.15rem;margin-top:.65rem;padding:.55rem .65rem;border-top:1px dashed var(--surface2);border-radius:0 0 calc(var(--radius) - 2px) calc(var(--radius) - 2px);background:#14b8a61a}.court-on-deck.empty{background:#94a3b80f}.court-on-deck-main{display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem .5rem}.court-on-deck-label{font-weight:800;text-transform:uppercase;font-size:.62rem;letter-spacing:.06em;color:var(--accent);line-height:1.2}.court-on-deck.empty .court-on-deck-label{color:var(--muted)}.court-on-deck-no{font-size:.72rem;font-weight:800;color:var(--accent)}.court-on-deck-players{font-size:.9rem;font-weight:700;color:var(--text)}.court-on-deck.empty .court-on-deck-players{color:var(--muted);font-weight:600}.court-on-deck-meta{font-size:.72rem;color:var(--muted);padding-left:0}.court-picker-deck{margin:.15rem 0 0 .65rem;font-size:.82rem}.court-picker-deck.empty{color:var(--muted)}.on-deck-line{font-size:.78rem;color:var(--muted);padding:.35rem .5rem;border:1px dashed var(--surface2);border-radius:8px;background:#14b8a60a}.on-deck-label{display:inline-block;margin-right:.35rem;font-weight:700;text-transform:uppercase;font-size:.65rem;letter-spacing:.05em;color:var(--accent)}@media (max-width: 720px){.rr-view{grid-template-columns:1fr}}.live-page{max-width:960px}.id-page{max-width:640px}.id-lookup{margin:1.5rem 0}.id-actions{margin:2rem 0}.id-actions h2{font-size:1.1rem;margin:0 0 .75rem}.checkbox-field{flex-direction:row;align-items:center;gap:.6rem}.checkbox-field input{width:auto;margin:0}.checkbox-field span{color:var(--text);font-size:.95rem}.profile-hero{margin:1rem 0 1.5rem}.profile-hero h1{margin:.25rem 0}.dt-id-badge{display:inline-block;margin:.5rem 0 0;padding:.35rem .75rem;background:var(--surface);border:1px solid var(--accent2);border-radius:999px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.95rem;color:var(--accent);font-weight:600}.profile-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;margin-bottom:1.5rem}.stat-card{background:var(--surface);border:1px solid var(--surface2);border-radius:var(--radius);padding:.85rem 1rem;display:flex;flex-direction:column;gap:.2rem}.stat-card.highlight{border-color:var(--accent2)}.stat-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.stat-value{font-size:1.5rem;font-weight:800;line-height:1.1}.stat-value-sm{font-size:1rem;font-weight:700}.stat-sub{font-size:.8rem;color:var(--muted)}.profile-hint{margin-top:1rem}.roster-block{margin:1.5rem 0}.roster-block h2{font-size:1rem;margin:0 0 .75rem}.roster-list{list-style:none;margin:0;padding:0}.roster-list li{display:flex;flex-direction:column;gap:.15rem;padding:.65rem 0;border-bottom:1px solid var(--surface2)}.roster-meta{font-size:.85rem;color:var(--muted)}.rankings-filters{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin:1.25rem 0}.rankings-list{list-style:none;margin:0;padding:0}.rankings-row{display:grid;grid-template-columns:2.5rem 1fr auto;align-items:center;gap:.75rem;padding:.75rem 0;border-bottom:1px solid var(--surface2)}.rank-num{font-weight:800;color:var(--muted);text-align:center}.rank-body{display:flex;flex-direction:column;gap:.15rem;min-width:0}.rank-name{font-weight:700;text-decoration:none}.rank-name:hover{text-decoration:underline}.rank-meta{font-size:.8rem;color:var(--muted)}.rank-index{font-weight:800;font-size:1.15rem;color:var(--accent)}@media (max-width: 480px){.profile-stats,.rankings-filters{grid-template-columns:1fr}}.create-landing{max-width:720px}.create-paths{display:grid;gap:1rem;margin:1.5rem 0 2rem}.create-path-card{display:block;background:var(--surface);border:1px solid var(--surface2);border-radius:var(--radius);padding:1.25rem;text-decoration:none;color:var(--text);transition:border-color .15s}.create-path-card:hover{border-color:var(--accent2);text-decoration:none}.create-path-card.primary{border-color:var(--accent2)}.create-path-card h2{margin:.25rem 0 .5rem;font-size:1.25rem}.create-path-card p{margin:0;color:var(--muted);font-size:.95rem}.path-cta{display:inline-block;margin-top:.85rem;font-weight:700;color:var(--accent)}.events-page{max-width:720px}.events-filters{grid-template-columns:1fr 1fr 1fr;margin-bottom:1.5rem}.events-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.85rem}.event-card{background:var(--surface);border:1px solid var(--surface2);border-radius:var(--radius);padding:1rem}.event-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.5rem}.event-card h2{margin:0;font-size:1.1rem}.event-card h2 a{color:var(--text);text-decoration:none}.event-card h2 a:hover{color:var(--accent)}.event-location{margin:.2rem 0 0;color:var(--muted);font-size:.9rem}.event-meta{margin:0 0 .5rem;color:var(--muted);font-size:.88rem}.event-desc{margin:.35rem 0 0;color:var(--muted);font-size:.9rem;line-height:1.4}.event-keywords{margin:0 0 .75rem;font-size:.8rem;color:var(--accent)}.events-search{margin-bottom:1rem}.live-header-actions{display:flex;gap:.5rem;flex-shrink:0}.event-badge{flex-shrink:0;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:.25rem .5rem;border-radius:999px;background:var(--surface2);color:var(--muted)}.event-badge.rated{background:#134e4a;color:var(--accent)}.event-badges{display:flex;gap:.35rem;flex-wrap:wrap;justify-content:flex-end}.event-badge.pro-host{background:#14b8a633;color:var(--accent)}.event-badge.pay-online{background:#3b82f633;color:#93c5fd}.pro-badge,.pro-badge-inline{display:inline-block;margin-left:.5rem;padding:.15rem .45rem;border-radius:999px;font-size:.65rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;background:linear-gradient(90deg,#0d9488,#14b8a6);color:#042f2e;vertical-align:middle}.pro-badge-inline{margin-left:.35rem;font-size:.58rem}.registration-phase-banner{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.25rem;padding:1.25rem;border-radius:var(--radius);border:1px solid var(--accent2);background:#14b8a614}.registration-phase-banner h2{margin:.25rem 0;font-size:1.1rem}.registration-phase-main{flex:1;min-width:min(100%,20rem)}.registration-phase-actions{align-self:flex-start}.my-registration-card{margin:1rem 0;padding:.9rem 1rem;border-radius:var(--radius);border:1px solid var(--accent);background:#14b8a61f}.my-registration-title{margin:0 0 .35rem;font-weight:600;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.my-registration-badge{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:.15rem .45rem;border-radius:999px;background:var(--accent);color:#042f2e}.registration-roster{margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(20,184,166,.25)}.registration-roster h3{margin:0 0 .5rem;font-size:.92rem;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.04em}.registration-roster-list li.is-you{background:#14b8a614;margin:0 -.5rem;padding-left:.5rem;padding-right:.5rem;border-radius:var(--radius)}.you-tag{margin-left:.4rem;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--accent)}.registration-list{list-style:none;margin:0;padding:0}.registration-list li{padding:.65rem 0;border-bottom:1px solid var(--surface2)}.registration-list li:last-child{border-bottom:none}.registration-meta{display:block;font-size:.82rem;color:var(--muted);margin-top:.15rem}.manage-registrations{margin-top:1.5rem}.manage-registrations h2{font-size:1rem;margin-bottom:.75rem}.match-history-block{margin:1.5rem 0}.match-history-block h2{font-size:1rem;margin-bottom:.65rem}.match-history-list{list-style:none;margin:0;padding:0}.match-history-list li{padding:.65rem 0;border-bottom:1px solid var(--surface2)}.match-history-list li.won strong{color:var(--accent)}.match-history-list li.lost strong{color:var(--danger)}.match-history-meta{display:block;font-size:.8rem;color:var(--muted);margin-top:.15rem}.match-history-event{color:var(--text)}.double-bracket{display:flex;flex-direction:column;gap:2rem}.double-bracket-unified{position:relative;overflow-x:auto;padding-bottom:.5rem}.double-bracket-grid{display:flex;flex-direction:column;gap:2.5rem;min-width:max-content;position:relative;z-index:2}.double-bracket-section h2{font-size:.72rem;font-weight:700;margin:0 0 .75rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.double-bracket .losers-bracket-grid .round-body{min-height:calc(var(--bracket-col-matches, 8) * 5.25rem)}.double-bracket .winners-grid .round-col{align-self:stretch}.double-bracket .champion-col .round-body{justify-content:center}.champion-slot{min-width:190px;margin-top:.7rem}.champion-card{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:.85rem .9rem;min-height:2.75rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;text-align:center}.champion-card.empty{border-style:dashed;color:var(--muted);font-size:.82rem}.champion-card.crowned{border:2px solid var(--accent);box-shadow:0 0 14px #14b8a647;background:linear-gradient(135deg,rgba(20,184,166,.14),var(--surface))}.champion-badge{font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--accent)}.champion-player{display:flex;align-items:center;gap:.5rem;font-size:.92rem}.champion-player .seed{display:inline-flex;align-items:center;justify-content:center;min-width:1.35rem;height:1.35rem;border-radius:6px;background:var(--accent);color:#0f1419;font-size:.72rem;font-weight:800}.champion-player .name{font-weight:800;color:var(--text)}.double-bracket .placements-col .round-body{justify-content:center}.placements-slot{min-width:190px;margin-top:.7rem}.placements-ladder{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.45rem}.placement-row{display:flex;align-items:center;gap:.55rem;padding:.5rem .65rem;border:1px solid var(--line);border-radius:10px;background:var(--surface);min-height:2.35rem}.placement-row.open{border-style:dashed;color:var(--muted)}.placement-row.gold.filled{border-color:var(--accent);background:linear-gradient(135deg,rgba(20,184,166,.12),var(--surface))}.placement-rank{flex-shrink:0;width:2rem;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.placement-row.gold .placement-rank{color:var(--accent)}.placement-player{display:flex;align-items:center;gap:.45rem;font-size:.86rem;font-weight:700}.placement-player .seed{display:inline-flex;align-items:center;justify-content:center;min-width:1.25rem;height:1.25rem;border-radius:5px;background:var(--surface2);font-size:.68rem;font-weight:800}.placement-row.gold .placement-player .seed{background:var(--accent);color:#0f1419}.placement-open{font-size:.82rem;color:var(--muted)}.double-bracket .match-card{position:relative;overflow:visible;margin-top:.7rem}.double-bracket .match-card.on-court{margin-top:.7rem}.double-bracket .match-no-badge{position:absolute;top:0;left:.55rem;transform:translateY(-50%);font-size:.68rem;font-weight:800;letter-spacing:.05em;padding:.15rem .45rem;border-radius:5px;background:var(--surface);color:var(--accent);border:1px solid var(--accent);box-shadow:0 1px 4px #00000059;z-index:3;line-height:1.1;pointer-events:none}.slot.feed .feed-label{font-size:.75rem;font-weight:600;font-style:normal;color:var(--muted);text-align:center;width:100%}.slot.feed.feed-loser .feed-label{color:#fbbf24}.slot.feed.feed-winner .feed-label{color:#7dd3fc}.bracket-lines path.cross-bracket{stroke:#fbbf24;stroke-dasharray:5 4;opacity:.85}.bracket-lines path.losers-internal{stroke:var(--line)}.match-card.complete{border-color:var(--accent2)}.rematch-default-badge{position:absolute;bottom:-.55rem;left:50%;transform:translate(-50%);font-size:.58rem;font-weight:700;letter-spacing:.03em;padding:.12rem .4rem;border-radius:999px;background:var(--surface);color:#fbbf24;border:1px solid #fbbf24;white-space:nowrap;z-index:3;pointer-events:none}.live-event-meta{margin:.15rem 0 0;color:var(--muted);font-size:.88rem}.live-badges{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:.35rem}.live-badge{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:.2rem .45rem;border-radius:999px;background:var(--surface2);color:var(--muted)}.live-badge.rated{background:#134e4a;color:var(--accent)}.live-badge.listed{background:var(--surface2);color:var(--text)}.host-tournament-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.65rem}.host-tournament-item{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem .85rem;border:1px solid var(--surface2);border-radius:var(--radius);background:#0000001f}.btn-danger{color:#fca5a5;border-color:#f8717159}.btn-danger:hover:not(:disabled){color:#fecaca;border-color:#f871718c;background:#7f1d1d40}.judge-assign-form{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--surface2)}.audit-list{list-style:none;margin:0;padding:0;font-size:.85rem}.audit-list li{padding:.45rem 0;border-bottom:1px solid var(--surface2)}.audit-action{display:block;font-weight:600;color:var(--text);text-transform:capitalize}.code-display code{font-size:1.1rem;letter-spacing:.08em}@media (max-width: 640px){.events-filters{grid-template-columns:1fr}}.print-bracket-page{max-width:1100px;margin:0 auto;padding:1rem}.print-toolbar{display:flex;gap:.5rem;align-items:center;margin-bottom:1rem}.printable-bracket{background:#fff;color:#111;border-radius:8px;padding:1.25rem 1.5rem 1.5rem;box-shadow:0 2px 12px #00000040}.printable-bracket-head{text-align:center;margin-bottom:1rem;border-bottom:1px solid #ddd;padding-bottom:.75rem}.printable-bracket-head h1{margin:0 0 .25rem;font-size:1.35rem;font-weight:700;color:#111}.printable-bracket-head p{margin:0;font-size:.85rem;color:#555}.printable-bracket-stack{display:flex;flex-direction:column;gap:1.75rem}.printable-consolation-wrap{position:relative;display:inline-block;max-width:100%}.printable-consolation-wrap:has(.printable-true-second){padding-bottom:6.5rem;padding-right:.5rem}.printable-true-second{position:absolute;right:0;top:calc(100% + .35rem);text-align:left}.printable-true-second-title{margin:0 0 .35rem;font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#555}.printable-true-second-svg{display:block}.printable-bracket-section{border-top:1px solid #e5e5e5;padding-top:1rem}.printable-bracket-section:first-child{border-top:none;padding-top:0}.printable-section-title{margin:0 0 .65rem;font-size:.95rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:#333}.printable-match-no{font-family:var(--font);font-size:8px;font-weight:700;fill:#888}.printable-placements-panel{margin-top:1.25rem;padding-top:.85rem;border-top:1px solid #ddd}.printable-placements-panel h3{margin:0 0 .5rem;font-size:.82rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#555}.printable-placements-panel ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.35rem 1rem}.printable-placements-panel li{display:flex;gap:.45rem;font-size:.88rem;color:#222}.printable-placements-panel li.gold .place,.printable-placements-panel li.gold .player{font-weight:800}.printable-placements-panel .place{min-width:2rem;color:#666;font-weight:700}.printable-bracket-svg{display:block;max-width:100%;height:auto}.printable-bracket-svg .print-lines,.printable-bracket-svg line.print-lines{fill:none;stroke:#444;stroke-width:1.25}.printable-bracket-svg .print-name{font-family:var(--font);font-size:11px;fill:#111;font-weight:500}.printable-bracket-svg .print-name.winner{font-weight:800;fill:#000}.printable-bracket-svg .print-name.bye{fill:#888;font-style:italic}.printable-bracket-svg .print-score{font-family:var(--font);font-size:9px;fill:#666}.printable-bracket-svg .print-match-no{font-family:var(--font);font-size:6px;font-weight:600;fill:#aaa;letter-spacing:.02em}.printable-bracket-svg .print-round-label{font-family:var(--font);font-size:9px;font-weight:700;fill:#666;text-transform:uppercase;letter-spacing:.06em}.printable-bracket-svg .print-section-heading{font-family:var(--font);font-size:11px;font-weight:800;fill:#333;text-transform:uppercase;letter-spacing:.08em}.printable-bracket-svg .print-section-divider{stroke:#ccc;stroke-width:1}.consolation-names-section{margin-top:.5rem}.consolation-names-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem 1.25rem}.consolation-names-col{min-width:0}.consolation-col-label{margin:0 0 .4rem;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:#555;border-bottom:1px solid #ddd;padding-bottom:.25rem}.consolation-match-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.consolation-match-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:.25rem .35rem;font-size:.82rem;color:#222}.consolation-match-no{font-size:.72rem;font-weight:700;color:#888;min-width:1.6rem}.consolation-player.winner{font-weight:800}.consolation-vs{font-size:.72rem;color:#999}.consolation-scores{font-size:.72rem;color:#666;margin-left:.15rem}.printable-bracket-svg .print-placement{font-family:var(--font);font-size:11px;fill:#222}.printable-bracket-svg .print-placement.winner{font-weight:800}@media print{body{background:#fff!important;color:#111!important}.no-print,.site-header{display:none!important}.print-bracket-page{max-width:none;padding:0;margin:0}.printable-bracket{box-shadow:none;border-radius:0;padding:.25in .35in}.printable-bracket-svg{max-width:100%}}
