:root{color-scheme:dark;--bg:#042117;--ink:#e7f6ef;--muted:#9ec4b4;--line:#1d5c45;--surface:#0b3a2a;--surface-soft:#0e4632;--tide:#7eb8d4;--court:#1ea36a;--pine:#d7f5e6;--team-a:#145c3e;--team-b:#1a4d66;--live:#02150f;--on-live:#e7f6ef;--on-live-muted:#8fb5a4;--danger:#ffb4a8;--shadow:0 16px 36px #00000055;--radius:16px}*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;min-width:320px;background:radial-gradient(circle at 100% 0,#1ea36a2e 0,transparent 16rem),radial-gradient(circle at 0 18%,#7eb8d426 0,transparent 18rem),var(--bg);color:var(--ink);font-family:system-ui,-apple-system,Segoe UI,sans-serif;font-size:16px;line-height:1.4}html[dir=rtl] body{font-family:Noto Sans Arabic,Tahoma,Arial,sans-serif}button,input{font:inherit;color:inherit}button{cursor:pointer}.admin-link,.icon-button,.primary-button,.secondary-button,button{min-height:44px}a{color:var(--tide)}img{max-width:100%}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.eyebrow,.section-kicker{display:block;color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.muted-copy,.scoring-note,.section-subtitle{color:var(--muted);font-size:14px}.primary-button,.secondary-button,.text-link{border-radius:12px}.primary-button{display:inline-flex;align-items:center;justify-content:center;width:100%;border:0;background:var(--court);color:#fff;padding:12px 16px;font-weight:700}.primary-button:disabled,.secondary-button:disabled{opacity:.5;cursor:not-allowed}.secondary-button,.secondary-dark-button,.secondary-light{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:12px;padding:10px 14px;font-weight:700}.text-link{border:0;background:none;color:var(--tide);padding:8px 0;font-weight:700;text-align:start}.danger,.text-link.danger{color:var(--danger)}.icon-button{display:grid;place-items:center;width:44px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);padding:0}.brand-mark{width:44px;height:44px;display:grid;place-items:center;border-radius:14px;background:var(--surface);border:1px solid var(--line);overflow:hidden;flex:0 0 auto}.brand-mark img{width:100%;height:100%;object-fit:contain;padding:4px}.brand-button{display:flex;align-items:center;gap:10px;min-height:44px;padding:0;border:0;background:none;color:inherit;text-decoration:none;text-align:start}.brand-copy{display:flex;flex-direction:column;font-weight:800;line-height:1.1}.brand-copy small{color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.06em}.admin-link{display:inline-flex;align-items:center;justify-content:center;border:0;background:none;color:var(--tide);font-size:13px;font-weight:700;text-decoration:none;padding:0 4px}.error-message,.notice-message,.offline-banner,.stale-banner{display:flex;align-items:flex-start;gap:10px;margin:0 0 12px;padding:12px 14px;border-radius:12px;font-size:14px}.error-message{color:var(--danger);background:color-mix(in srgb,var(--danger) 12%,var(--surface));border:1px solid color-mix(in srgb,var(--danger) 35%,var(--line))}.notice-message,.stale-banner{background:var(--team-a);border:1px solid var(--line)}.offline-banner{background:var(--surface-soft);border:1px solid var(--line)}.notice-message button{-webkit-margin-start:auto;margin-inline-start:auto;border:0;background:none;color:inherit;min-height:32px}.admin-shell,.court-shell,.gate{min-height:100vh}.gate{display:flex;flex-direction:column;padding:16px 16px calc(24px + env(safe-area-inset-bottom))}.admin-topbar,.court-bar,.gate-bar{display:flex;align-items:center;gap:8px}.admin-login,.admin-metric,.admin-panel,.choice-option,.content-card,.gate-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.gate-card{width:min(100%,420px);margin:auto;padding:22px 18px;display:grid;grid-gap:14px;gap:14px}.choice-hello h1,.gate-card h1{margin:0;font-size:clamp(32px,8vw,44px);line-height:1.05;letter-spacing:-.04em}.add-form input,.admin-login input,.admin-search input,.gate-card input,.inline-edit input,.score-inputs input{width:100%;min-height:48px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft);padding:12px 14px;font-size:16px;outline:none}.add-form input:focus,.admin-login input:focus,.gate-card input:focus,.score-inputs input:focus{border-color:var(--court)}.choice-hello{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.choice-option form,.choice-stack,.recent-block{display:grid;grid-gap:10px;gap:10px}.choice-option{overflow:hidden}.choice-toggle{display:grid;grid-gap:4px;gap:4px;width:100%;min-height:72px;padding:16px;border:0;background:transparent;text-align:start}.choice-toggle strong{font-size:18px}.choice-toggle span,.recent-chip small{color:var(--muted);font-size:13px}.choice-option form{padding:0 16px 16px}.choice-option label{font-size:13px;color:var(--muted)}.code-input{letter-spacing:.28em;font-weight:800;text-transform:uppercase}.recent-block,.recent-row{display:flex;gap:8px;overflow:auto;padding-bottom:2px}.recent-chip{display:grid;grid-gap:2px;gap:2px;min-height:56px;padding:10px 12px;border:1px solid var(--line);border-radius:14px;background:var(--surface-soft);text-align:start;white-space:nowrap}.recent-chip strong{font-size:14px}.loading-shell{display:grid;place-items:center;align-content:center;grid-gap:12px;gap:12px;color:var(--muted)}.court-shell{display:flex;flex-direction:column;padding:12px 12px calc(92px + env(safe-area-inset-bottom))}.court-bar{position:-webkit-sticky;position:sticky;top:0;z-index:5;flex-wrap:nowrap;padding:4px 0 10px;background:var(--bg)}.court-title{min-width:0;flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}.code-pill{flex:0 0 auto;border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:0 10px;font-weight:800;letter-spacing:.06em}.court-body{display:grid;grid-gap:12px;gap:12px;width:min(100%,720px);margin:0 auto}.court-nav{position:fixed;z-index:6;left:12px;right:12px;bottom:calc(10px + env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(4,1fr);grid-gap:4px;gap:4px;padding:6px;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:var(--shadow)}.court-nav button{position:relative;display:grid;justify-items:center;grid-gap:2px;gap:2px;min-height:52px;border:0;border-radius:12px;background:transparent;color:var(--muted);font-size:11px;font-weight:700}.court-nav button.selected{color:var(--pine);background:var(--team-a)}.live-tick{position:absolute;top:8px;width:7px;height:7px;border-radius:50%;background:var(--court)}.live-card{display:grid;grid-gap:16px;gap:16px;padding:18px;border-radius:20px;background:var(--live);color:var(--on-live)}.live-card .section-kicker{color:var(--on-live-muted)}.admin-heading,.card-label,.panel-heading,.section-heading,.segment-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.team-grid{display:grid;grid-gap:8px;gap:8px}.versus{text-align:center;color:var(--on-live-muted);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.team-block{display:grid;grid-gap:8px;gap:8px;min-height:92px;padding:12px;border-radius:14px;color:var(--ink)}.team-block span{font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.board-row,.leader-name,.schedule-pair span,.team-block strong{display:flex;align-items:center;gap:8px}.team-a{background:var(--team-a)}.team-b{background:var(--team-b)}.score-editor{display:grid;grid-gap:10px;gap:10px}.score-inputs{display:grid;grid-template-columns:1fr auto 1fr;grid-gap:8px;gap:8px;align-items:end}.score-inputs label{display:grid;grid-gap:6px;gap:6px;color:var(--on-live-muted);font-size:12px;font-weight:700}.score-inputs input{background:#fff;color:var(--pine);text-align:center;font-size:28px;font-weight:800}.score-inputs>b{padding-bottom:12px}.score-note{margin:0;color:var(--on-live-muted);font-size:14px}.live-card .text-link.danger{justify-self:center;color:#ffc7be}.up-next{display:grid;grid-gap:6px;gap:6px;border-top:1px solid #ffffff22;padding-top:12px}.match-card,.up-next button{border:0;background:transparent;color:inherit;text-align:start}.up-next button{min-height:40px;color:var(--on-live)}.content-card{padding:16px}.admin-empty,.empty-court,.empty-state{display:grid;justify-items:center;grid-gap:8px;gap:8px;text-align:center;padding:28px 12px;color:var(--muted)}.empty-court h2,.empty-state p{margin:0;color:var(--ink)}.court-illustration{width:140px;height:84px;display:grid;grid-template-columns:1fr 1fr;place-items:center;border:1px solid var(--line);border-radius:14px;background:linear-gradient(90deg,transparent 49%,var(--line) 49%,var(--line) 51%,transparent 51%)}.court-illustration span{width:8px;height:8px;border-radius:50%;background:var(--court)}.organizer-gate{padding:12px;border-radius:12px;background:var(--surface-soft)}.organizer-gate p{margin:4px 0 0;color:var(--muted);font-size:13px}.status-chip{border:1px solid;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:800;letter-spacing:.04em}.status-chip.current{color:var(--court);background:color-mix(in srgb,var(--court) 16%,transparent)}.live-card .status-chip.current{color:#b6f3cf;border-color:#b6f3cf}.segment{display:flex;gap:4px;padding:4px;border-radius:14px;background:var(--surface-soft)}.segment button{border:0;border-radius:10px;background:transparent;color:var(--muted);padding:8px 12px;font-weight:700}.segment button.selected{background:var(--surface);color:var(--ink)}.match-list{display:grid;grid-gap:8px;gap:8px}.match-card{display:grid;grid-template-columns:auto 1fr auto;grid-gap:8px;gap:8px;align-items:center;width:100%;padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--surface-soft)}.match-card.read-only{cursor:default}.match-pairs{display:grid;grid-gap:4px;gap:4px;min-width:0}.schedule-pair{display:flex;flex-wrap:wrap;gap:6px;font-size:14px}.round-number{font-weight:800;color:var(--tide)}.match-score{font-size:14px}.schedule-actions{display:flex;align-items:center;justify-content:space-between;gap:8px}.board-progress{display:grid;grid-gap:6px;gap:6px;margin-bottom:12px}.board-progress strong{font-size:20px}.bar{height:8px;border-radius:99px;background:var(--surface-soft);overflow:hidden}.bar i{display:block;height:100%;background:var(--court)}.board-list,.board-row{display:grid}.board-row{grid-template-columns:28px auto 1fr auto;grid-gap:8px;gap:8px;align-items:center;padding:12px 0;border-top:1px solid var(--line)}.board-row b{color:var(--tide)}.board-row b.first{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--pine);color:var(--bg)}.board-row small{display:block;color:var(--muted);font-size:12px}.board-row em{font-style:normal;font-weight:800;font-size:20px;color:var(--pine)}.menu-backdrop{position:fixed;inset:0;z-index:20;background:#004f2d33;display:flex;align-items:flex-end;justify-content:center}.menu-sheet{width:min(100%,420px);display:grid;grid-gap:4px;gap:4px;margin:12px;padding:12px;border-radius:18px;background:var(--surface);box-shadow:var(--shadow)}.menu-sheet>button{display:flex;align-items:center;gap:8px;width:100%;border:0;background:transparent;text-align:start;padding:10px 8px;font-weight:700}.menu-tools{display:flex;gap:8px;padding-top:8px}.language-toggle,.theme-toggle{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:8px 12px;border:1px solid var(--line);border-radius:999px;background:var(--surface)}.roster-layout{display:grid;grid-gap:12px;gap:12px}.roster-aside{display:none}.roster-card h2{margin:6px 0 0;font-size:22px;letter-spacing:-.03em}.count-pill{border:1px solid var(--line);border-radius:999px;padding:6px 10px;color:var(--muted);font-size:12px}.claim-queue,.player-add-panel,.player-pool{display:grid;grid-gap:8px;gap:8px;margin:12px 0;padding:12px;border-radius:14px;background:var(--surface-soft)}.add-form,.claim-request,.inline-edit,.pool-row,.roster-row{display:flex;align-items:center;gap:8px}.add-button,.save-mini{width:48px;border:0;border-radius:12px;background:var(--court);color:#fff;font-weight:800}.roster-list{display:grid}.roster-list .roster-row{display:grid;grid-template-columns:auto auto minmax(0,1fr);align-items:center;grid-column-gap:10px;column-gap:10px;grid-row-gap:8px;row-gap:8px;min-height:0;padding:12px 0;border-top:1px solid var(--line)}.roster-list .roster-row>.row-actions{grid-column:1/-1;margin:0;justify-content:flex-start}.roster-list .score-toggle{flex:1 0 100%;justify-content:center}.roster-number{color:var(--tide);font-size:12px;font-weight:800}.player-info{min-width:0;display:grid;grid-gap:2px;gap:2px}.player-info strong{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-width:0}.player-info span,.you-chip{color:var(--muted);font-size:12px}.you-chip{font-style:normal;border:1px solid var(--court);color:var(--court);border-radius:999px;padding:1px 6px;font-weight:800}.claim-request div,.history-actions,.row-actions{display:flex;flex-wrap:wrap;gap:6px;-webkit-margin-start:auto;margin-inline-start:auto}.claim-button,.edit-button,.remove-button,.roster-action{display:inline-flex;align-items:center;gap:4px;border:0;border-radius:999px;background:var(--surface-soft);color:var(--muted);min-height:36px;padding:6px 10px;white-space:nowrap}.roster-action.danger{color:var(--danger)}.roster-action.selected{color:var(--court);font-weight:800}.claim-queue-heading{display:flex;align-items:center;gap:6px}.participant-note{margin:8px 0;color:var(--muted);font-size:14px}.new-avatar-choice{display:flex;align-items:center;gap:8px;border:0;background:none;color:var(--tide);padding:0;font-weight:700}.player-avatar{display:inline-grid;place-items:center;flex:0 0 auto;overflow:hidden;border-radius:12px;background:var(--avatar-color,var(--team-b))}.player-avatar img{width:100%;height:100%;object-fit:cover}.player-avatar-small{width:28px;height:28px;border-radius:8px}.player-avatar-medium{width:44px;height:44px}.player-avatar-large{width:64px;height:64px}.studio-backdrop{position:fixed;inset:0;z-index:30;display:grid;place-items:end center;background:#004f2d55;padding:12px}.avatar-studio{width:min(100%,560px);max-height:min(92vh,760px);display:flex;flex-direction:column;border-radius:20px;background:var(--surface);color:var(--ink);overflow:auto}.studio-footer,.studio-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px}.studio-header h2{margin:4px 0 0;font-size:22px}.studio-close{border:0;background:none;color:inherit}.studio-body{display:grid;grid-gap:12px;gap:12px;padding:0 16px 16px}.studio-preview{display:grid;justify-items:center;grid-gap:4px;gap:4px}.studio-preview img{width:120px;height:120px;object-fit:cover;border-radius:18px}.studio-grid,.studio-tabs{display:grid;grid-gap:8px;gap:8px}.studio-tabs{grid-template-columns:1fr 1fr}.studio-grid{grid-template-columns:repeat(3,1fr)}.studio-grid button,.studio-media-item button{border:1px solid var(--line);border-radius:12px;background:var(--surface-soft);padding:6px}.studio-grid button.selected{border-color:var(--court)}.studio-grid img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:8px}.crop-controls{display:grid;grid-gap:8px;gap:8px}.crop-frame{width:150px;height:150px;overflow:hidden;position:relative;border-radius:16px}.crop-frame img{position:absolute;max-width:none}.studio-error{color:var(--danger)}.admin-shell{padding:16px 16px 32px;max-width:1100px;margin:0 auto}.admin-auth{display:grid;place-items:center}.admin-login{width:min(100%,420px);display:grid;grid-gap:12px;gap:12px;padding:22px 18px}.admin-login h1{margin:0;font-size:32px}.admin-login label{display:grid;grid-gap:6px;gap:6px;font-size:13px;color:var(--muted)}.admin-denied{display:grid;place-items:center}.admin-denied-card{width:min(100%,420px);display:grid;grid-gap:12px;gap:12px;justify-items:start;padding:22px;border-radius:18px;background:var(--surface);border:1px solid var(--line)}.admin-denied-card h1{margin:0;font-size:28px}.admin-topbar{padding-bottom:16px}.admin-actions{display:flex;align-items:center;gap:8px;-webkit-margin-start:auto;margin-inline-start:auto}.admin-identity{display:none}.admin-back{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:8px 10px;border:1px solid var(--line);border-radius:12px;color:var(--ink);text-decoration:none;font-size:13px;font-weight:700}.admin-layout{display:grid;grid-gap:16px;gap:16px}.admin-tabs{display:flex;gap:6px;overflow:auto}.admin-tabs button{display:inline-flex;align-items:center;gap:6px;border:1px solid transparent;border-radius:12px;background:transparent;color:var(--muted);padding:8px 12px;font-weight:800;white-space:nowrap}.admin-tabs button.selected{background:var(--team-a);color:var(--pine);border-color:var(--line)}.admin-sidebar-heading p{color:var(--muted);font-size:13px}.admin-heading h1,.panel-heading h2{margin:4px 0 0;letter-spacing:-.03em}.admin-metric-grid{grid-template-columns:1fr 1fr}.admin-metric,.admin-metric-grid{display:grid;grid-gap:8px;gap:8px}.admin-metric{padding:14px}.admin-metric span{color:var(--muted);font-size:12px;font-weight:700}.admin-metric strong{font-size:28px;letter-spacing:-.04em}.admin-health-card{display:grid;grid-template-columns:1fr auto;grid-gap:10px;gap:10px;align-items:center;margin:12px 0;padding:14px;border-radius:16px;background:var(--live);color:var(--on-live)}.health-dot{width:8px;height:8px;-webkit-margin-end:6px;margin-inline-end:6px;border-radius:50%;background:var(--court);display:inline-block}.health-ready{color:#b6f3cf;font-size:12px;font-weight:800}.admin-panel{padding:16px}.admin-search{display:flex;align-items:center;gap:6px;min-width:0;padding:4px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft)}.admin-search input{border:0;background:transparent;min-height:40px}.admin-search button{border:0;border-radius:8px;background:var(--pine);color:var(--bg);font-weight:800;padding:8px 10px}.admin-list,.admin-row,.audit-item,.audit-list{display:grid;grid-gap:8px;gap:8px}.admin-row,.audit-item{padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--surface-soft)}.admin-row-main,.audit-item div{display:grid;grid-gap:2px;gap:2px;min-width:0}.admin-row-main small,.admin-row-main span,.audit-item small,.audit-item span{color:var(--muted);font-size:13px}.admin-status{justify-self:start;border-radius:999px;padding:4px 8px;font-size:12px;font-weight:800}.admin-status.active{background:var(--team-a);color:var(--pine)}.admin-status.archived{background:color-mix(in srgb,var(--danger) 14%,var(--surface));color:var(--danger)}.admin-row-actions{display:flex;gap:8px;align-items:center}.admin-danger{border:1px solid color-mix(in srgb,var(--danger) 40%,var(--line));background:transparent;color:var(--danger);border-radius:12px;padding:8px 10px;font-weight:700}.audit-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:var(--team-b)}@media (min-width:520px){.team-grid{grid-template-columns:1fr auto 1fr;align-items:stretch}.versus{align-self:center}}@media (min-width:761px){.gate{padding-top:28px}.court-shell{padding:20px 24px 32px}.court-nav{position:static;width:min(100%,720px);margin:8px auto 0}.court-shell{padding-bottom:32px}.roster-layout{grid-template-columns:minmax(0,1fr) 240px;align-items:start}.roster-list .roster-row{grid-template-columns:auto auto minmax(0,1fr) auto}.roster-list .roster-row>.row-actions{grid-column:auto;justify-content:flex-end}.roster-aside{display:block;position:-webkit-sticky;position:sticky;top:16px;padding:20px;border-radius:18px;background:var(--live);color:var(--on-live)}.roster-aside .section-kicker,.roster-aside p{color:var(--on-live-muted)}.roster-aside>strong{display:block;margin:8px 0;font-size:24px}.roster-steps{display:grid;grid-gap:8px;gap:8px}.roster-steps span{display:flex;gap:8px;align-items:center}.admin-layout{grid-template-columns:220px minmax(0,1fr);gap:22px;align-items:start}.admin-tabs{display:grid}.admin-tabs button{width:100%}.admin-metric-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.admin-identity{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:13px;font-weight:800}.admin-row{grid-template-columns:minmax(0,1fr) auto auto;align-items:center}.studio-backdrop{place-items:center}.studio-body{grid-template-columns:180px 1fr}}:focus-visible{outline:2px solid var(--court);outline-offset:2px}.admin-tabs button,.choice-toggle,.code-pill,.court-nav button,.icon-button,.match-card,.primary-button,.recent-chip,.secondary-button{transition:transform .16s ease,background-color .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease}.choice-toggle:active,.court-nav button:active,.match-card:active,.primary-button:active:not(:disabled),.recent-chip:active{transform:scale(.98)}.code-pill.copied{background:var(--court);color:#fff}.choice-option.open,.code-pill.copied{border-color:var(--court)}.view-stage{min-width:0}.admin-denied-card,.admin-login,.choice-option form,.error-message,.gate-card,.notice-message,.view-stage{animation:rise .32s ease}.menu-backdrop{animation:fade .2s ease}.menu-sheet{animation:sheet .28s cubic-bezier(.2,.8,.2,1)}.live-tick,.loading-shell .brand-mark{animation:pulse 1.6s ease-in-out infinite}.court-illustration span{animation:pulse 1.8s ease-in-out infinite}.court-illustration span:nth-child(2){animation-delay:.2s}.court-illustration span:nth-child(3){animation-delay:.4s}.court-illustration span:nth-child(4){animation-delay:.6s}.bar i{transition:width .45s ease}.studio-backdrop{animation:fade .2s ease}.avatar-studio{animation:sheet .28s cubic-bezier(.2,.8,.2,1)}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes sheet{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.2);opacity:.55}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition:none!important;animation:none!important}}