:root{color:#dbe7f3;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:radial-gradient(circle at 8% 5%,#38bdf82b,#0000 33%),radial-gradient(circle at 85% 0,#1e40af29,#0000 38%),linear-gradient(#07101d,#09172a 48%,#091420);font-family:Manrope,Avenir Next,Segoe UI,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}#root{min-height:100vh}h1,h2{color:#f8fafc}p,li{color:#c9d6e3}.app-shell{max-width:1240px;margin:0 auto;padding:1.25rem 1.25rem 4rem}.global-header{z-index:40;justify-content:space-between;align-items:center;gap:1rem;margin-top:0;display:flex;position:sticky;top:1rem}.global-brand{gap:.2rem;display:grid}.session-chip{background:#08111fad;border:1px solid #94a3b838;border-radius:14px;align-items:center;gap:1rem;padding:.7rem .8rem;display:flex}.session-greeting,.session-roles{margin:0}.session-greeting{color:#f8fafc;font-weight:600}.session-roles{color:#94a3b8;font-size:.85rem}.hero{grid-template-columns:1.65fr 1fr;gap:1rem;margin:1rem 0 1.5rem;display:grid}.hero-panel,.hero-highlight{margin-top:0}.hero-panel{background:linear-gradient(140deg,#0f172ae0,#091425db),radial-gradient(circle at 10% 20%,#60a5fa2e,#0000 52%)}.hero-highlight{background:linear-gradient(170deg,#08111feb,#0c1d35eb)}.hero-points{gap:.8rem;margin:0;padding-left:1.2rem;display:grid}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:#8bb8ff;margin:0 0 .75rem;font-size:.8rem}.summary{max-width:60rem;line-height:1.7}.summary-soft{color:#a8b9cc}.hero-cta{margin-top:1rem}.status-panel,.card,.message,.admin-nav{background:#0f172ab8;border:1px solid #94a3b833;border-radius:18px;margin-top:1rem;padding:1rem 1.1rem;box-shadow:0 18px 50px #0206172e}.message{z-index:70;justify-content:space-between;align-items:flex-start;gap:.75rem;width:min(420px,100vw - 2.5rem);margin-top:0;margin-bottom:0;display:flex;position:fixed;top:5.25rem;right:1.25rem}.message p{margin:0}.message-close{color:#dbe7f3;cursor:pointer;background:#94a3b833;border:none;border-radius:999px;flex:none;width:2rem;height:2rem;line-height:1}.message.success{border-color:#22c55e59}.message.error{border-color:#f8717173}.credential-list,.nav-actions{flex-wrap:wrap;gap:.5rem;margin-top:.75rem;display:flex}.pill,.primary-button,.secondary-button,.nav-button{cursor:pointer;font:inherit;border:none;border-radius:999px;padding:.7rem 1rem}.pill,.secondary-button,.nav-button{color:#dbe7f3;background:#1e293bf2}.nav-button.active,.primary-button{color:#fff;background:linear-gradient(135deg,#2563eb,#1d4ed8)}.danger-button{color:#fecaca}.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.player-management-grid{grid-template-columns:minmax(320px,460px) minmax(0,1fr);align-items:start;gap:1rem;display:grid}.player-form{width:100%;max-width:460px}.player-form button{justify-self:start}.dashboard-stack{gap:1rem;display:grid}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;display:grid}.metric-card,.official-card{background:#08111f99;border:1px solid #94a3b82e;border-radius:16px;margin-top:1rem;padding:1rem}.metric-card span,.official-card span{color:#94a3b8;margin-bottom:.35rem;display:block}.metric-card strong{font-size:1.65rem}.official-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin:1rem 0;display:grid}.span-full{grid-column:1/-1}.stack,.role-summary,.list-stack{gap:.75rem;display:grid}.section-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.role-summary-row,.list-row{justify-content:space-between;align-items:center;gap:1rem;display:flex}.user-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.user-list{gap:.75rem;display:grid}.player-list{gap:.75rem;min-width:0;display:grid}.user-card{background:#08111f99;border:1px solid #94a3b82e;border-radius:16px;gap:1rem;padding:1rem;display:grid}.player-card{background:#08111f99;border:1px solid #94a3b82e;border-radius:16px;justify-content:space-between;align-items:center;gap:1rem;padding:1rem;display:flex}.live-view-layout{grid-template-columns:minmax(240px,320px) minmax(0,1fr);align-items:start;gap:1rem;display:grid}.live-game-list,.live-panel,.period-score-list,.event-list,.lineup-list,.correction-panel{gap:.75rem;display:grid}.live-game-button{color:inherit;text-align:left;cursor:pointer;background:#08111f99;border:1px solid #94a3b82e;border-radius:16px;justify-content:space-between;gap:1rem;padding:1rem;display:flex}.live-game-button.active{border-color:#3b82f6b8;box-shadow:0 0 0 1px #3b82f659}.live-game-button p,.event-row p,.period-score-row,.lineup-list span,.live-clock,.live-score-snippet,.stream-status,.form-field span{margin:0}.form-field{gap:.4rem;display:grid}.form-field select,.form-field textarea{width:100%;color:inherit;font:inherit;background:#0f172ae6;border:1px solid #94a3b838;border-radius:12px;padding:.75rem .85rem}.form-field textarea{resize:vertical}.live-game-button-meta,.live-scoreboard-meta{justify-items:end;gap:.4rem;display:grid}.live-scoreboard{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.live-main-score{font-size:2rem;line-height:1}.live-clock,.stream-status{color:#cbd5e1}.stream-status{background:#1e293bf2;border-radius:999px;padding:.45rem .8rem}.stream-status-connected{color:#bbf7d0}.stream-status-connecting,.stream-status-reconnecting{color:#bfdbfe}.stream-status-error{color:#fecaca}.event-row-voided{opacity:.62}.correction-error{color:#fecaca;margin:0}.correction-success{color:#bbf7d0;margin:0}.live-team-grid,.live-detail-grid,.live-metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.team-live-card{background:#08111f99;border:1px solid #94a3b82e;border-radius:16px;gap:1rem;padding:1rem;display:grid}.team-live-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.team-live-header h4{margin:0}.team-live-score{font-size:2.5rem;line-height:1}.mini-stat{background:#0f172a8c;border:1px solid #94a3b824;border-radius:14px;padding:.8rem}.mini-stat span,.period-score-row small{color:#94a3b8;display:block}.mini-stat strong{font-size:1.2rem}.period-score-row,.event-row{border-bottom:1px solid #94a3b81a;padding-bottom:.75rem}.period-score-row:last-child,.event-row:last-child{border-bottom:none;padding-bottom:0}.event-row{gap:.25rem;display:grid}.event-row small,.live-game-button p{color:#94a3b8}@media (width<=960px){.live-view-layout,.live-team-grid,.live-detail-grid{grid-template-columns:1fr}.live-scoreboard{flex-direction:column}.live-game-button,.live-scoreboard-meta{justify-items:start}}.user-card-header,.user-card-footer,.admin-nav{justify-content:space-between;align-items:center;gap:1rem;display:flex}.primary-role{color:#bfdbfe;white-space:nowrap;background:#2563eb29;border-radius:999px;padding:.45rem .75rem}.user-badges{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;display:flex}.status-chip{white-space:nowrap;border-radius:999px;padding:.45rem .75rem}.status-chip.active{color:#bbf7d0;background:#22c55e29}.status-chip.pending{color:#fde68a;background:#f59e0b2e}.status-chip.inactive{color:#cbd5e1;background:#94a3b82e}.role-grid,.button-row{flex-wrap:wrap;gap:.6rem;display:flex}.role-chip{background:#0f172ad1;border:1px solid #94a3b833;border-radius:999px;align-items:center;gap:.45rem;padding:.55rem .8rem;display:inline-flex}.role-chip input[type=checkbox]{width:auto;margin:0}label{gap:.35rem;font-size:.95rem;display:grid}input,select{color:#e2e8f0;width:100%;font:inherit;background:#0f172af2;border:1px solid #94a3b840;border-radius:12px;padding:.7rem .8rem}.note-card{border-style:dashed}.muted{color:#94a3b8}.floating-demo-panel{display:none}.floating-demo-widget{z-index:60;background:#08111feb;border:1px solid #94a3b833;border-radius:18px;width:min(380px,100vw - 2.5rem);padding:1rem;position:fixed;bottom:1.25rem;right:1.25rem;box-shadow:0 22px 44px #02061780}.floating-demo-header{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.floating-demo-header h2{margin:0}.dismiss-button{color:#dbe7f3;cursor:pointer;background:#94a3b833;border:none;border-radius:999px;width:2rem;height:2rem}.session-meta{gap:.35rem;margin-top:1rem;display:grid}.nav-label{color:#94a3b8;margin:0 0 .35rem;font-size:.9rem}.game-grid{gap:1rem;display:grid}.game-card{background:#08111f99;border:1px solid #94a3b82e;border-radius:16px;padding:1rem}.game-collapsible{padding:0;overflow:hidden}.game-summary-row{cursor:pointer;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1rem;list-style:none;display:flex}.game-summary-row::-webkit-details-marker{display:none}.game-summary-row h3,.game-summary-row p{margin:0}.game-summary-meta{align-items:center;gap:.6rem;display:flex}.roster-snippet{color:#93c5fd;font-size:.85rem}.game-details{padding:0 1rem 1rem}.game-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.status{color:#dbeafe;background:#3b82f62e;border-radius:999px;padding:.35rem .7rem;font-size:.8rem}.status.rosters_confirmed{color:#dcfce7;background:#22c55e33}.roster-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.roster-table{gap:.5rem;margin-top:1rem;display:grid}.roster-row{background:#0f172acc;border-radius:12px;grid-template-columns:1.5fr .7fr .7fr;align-items:center;gap:1rem;padding:.65rem .75rem;display:grid}.roster-row label{align-items:center;gap:.45rem;display:flex}.roster-row input[type=checkbox]{width:auto;margin:0}.submission-meta{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-top:1rem;display:flex}.login-card{max-width:420px}code{background:#94a3b82e;border-radius:8px;padding:.1rem .35rem}@media (width<=1024px){.stats-grid,.official-grid,.user-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=900px){.global-header,.session-chip{flex-direction:column;align-items:flex-start}.hero,.dashboard-grid,.player-management-grid,.roster-summary,.roster-row,.stats-grid,.official-grid,.user-grid{grid-template-columns:1fr}.game-header,.game-summary-row,.game-summary-meta,.submission-meta,.user-card-header,.user-card-footer,.section-header,.player-card,.admin-nav,.list-row,.role-summary-row{flex-direction:column;align-items:flex-start}.floating-demo-widget{width:auto;left:1rem;right:1rem}.message{width:auto;inset:auto 1rem 1rem}}
