*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}html{background:#0b0f14}body{color:#f5f7fa;background:radial-gradient(circle at top,#16202b 0%,#0b0f14 40%),#0b0f14;min-width:320px;min-height:100vh;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}#root{background:0 0;min-height:100vh}a{color:inherit;text-decoration:none}button,select,textarea,input{font:inherit}button{cursor:pointer}main{width:min(1100px,100% - 40px);margin:0 auto;padding:40px 0 64px}h1,h2,h3,p{margin-top:0}.game-card{color:#fff;background:#111827;border:1px solid #334155;border-radius:14px;padding:20px;text-decoration:none;transition:transform .2s,box-shadow .2s,border-color .2s;display:block}.game-card-teams{flex-direction:column;gap:16px;display:flex}.game-card-team{grid-template-columns:56px 1fr auto;align-items:center;gap:14px;display:grid}.team-logo{object-fit:contain;width:56px;height:56px}.team-name{font-size:1rem;font-weight:600}.team-score{font-size:1.4rem;font-weight:700}.game-card-info{color:#94a3b8;border-top:1px solid #334155;justify-content:space-between;gap:12px;margin-top:18px;padding-top:14px;font-size:.9rem;display:flex}.game-card:hover{cursor:pointer;border-color:#64748b;transform:translateY(-4px)scale(1.05);box-shadow:0 8px 20px #00000040}.game-card:active{transform:scale(.98)}.game-status-area{flex-direction:column;gap:4px;display:flex}.live-status{align-items:center;gap:8px;display:flex}.live-dot{background:#22c55e;border-radius:50%;width:8px;height:8px;animation:1.6s ease-in-out infinite livePulse}.live-label{color:#22c55e;font-weight:700}.live-quarter{color:#fff;font-weight:700}.live-clock{color:#fff;font-size:1.05rem;font-weight:700}.game-week{color:#94a3b8;font-size:.9rem}@keyframes livePulse{0%,to{opacity:.55;transform:scale(.9)}50%{opacity:1;transform:scale(1.15)}}@media (prefers-reduced-motion:reduce){.live-dot{animation:none}.game-card{transition:none}.game-card:hover,.game-card:active{transform:none}}@media (width<=768px){.game-card-info{flex-direction:column;gap:6px}}.games-page-header{margin-bottom:28px}.games-page-header h1{margin-bottom:8px;font-size:2rem}.games-page-header p{color:#8b98a7}.games-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.game-search{color:#f5f7fa;background:#121821;border:1px solid #2a3542;border-radius:10px;width:100%;margin-bottom:24px;padding:12px 14px}.game-search::placeholder{color:#6f7d8c}.game-search:focus{border-color:#4b5d70;outline:none}.week-navigation{justify-content:center;align-items:center;gap:16px;margin:24px 0;display:flex}.week-navigation button,.week-navigation select{color:#fff;background:#111827;border:1px solid #334155;border-radius:10px;padding:10px 14px;font-size:.95rem}.week-navigation button{cursor:pointer}.week-navigation button:hover:not(:disabled),.week-navigation select:hover{border-color:#64748b}.week-navigation button:disabled{opacity:.4;cursor:not-allowed}@media (width<=768px){.games-list{grid-template-columns:1fr}.games-page-header{margin-bottom:22px}.game-search{margin-bottom:20px}.week-navigation{gap:10px}.week-navigation button,.week-navigation select{padding:10px 12px;font-size:.9rem}}@media (width<=500px){.games-page-header h1{font-size:1.7rem}.games-page-header p{font-size:.95rem;line-height:1.5}.game-search{padding:11px 12px}.week-navigation{grid-template-columns:1fr auto 1fr;gap:8px;width:100%;display:grid}.week-navigation button,.week-navigation select{width:100%;min-width:0;padding:10px 8px;font-size:.85rem}.week-navigation button:first-child,.week-navigation button:last-child{text-align:center}.games-list{gap:14px}}.star-button{cursor:pointer;background:0 0;border:none;width:32px;height:32px;padding:0;font-size:32px;line-height:32px;position:relative}.star-empty,.star-fill{text-align:left;width:100%;height:100%;line-height:32px;display:block;position:absolute;top:0;left:0}.star-empty{color:#4b5563}.star-fill{color:#f5c451;white-space:nowrap;overflow:hidden}.star-fill.full{width:100%}.star-fill.half{width:42%}.clear-rating{color:#d1d5db;cursor:pointer;background:#1f2937;border:1px solid #475569;border-radius:8px;margin-top:10px;padding:8px 12px;font-size:.9rem;font-weight:500}.clear-rating:hover{color:#fff;border-color:#94a3b8}.game-detail{max-width:900px;margin:0 auto;padding:24px}.game-detail-header{background:#111827;border:1px solid #334155;border-radius:16px;margin-bottom:24px;padding:24px}.game-detail-team{align-items:center;gap:16px;padding:12px 0;display:flex}.game-detail-team+.game-detail-team{border-top:1px solid #334155}.game-detail-logo{object-fit:contain;flex-shrink:0;width:64px;height:64px}.game-detail-team-info{flex:1;justify-content:space-between;align-items:center;gap:16px;min-width:0;display:flex}.game-detail-team-name{font-size:1.2rem;font-weight:600}.game-detail-score{flex-shrink:0;font-size:2rem;font-weight:700}.game-detail-meta{color:#94a3b8;margin-top:20px;margin-bottom:6px;font-weight:600}.log-panel{background:#111827;border:1px solid #334155;border-radius:16px;padding:24px}.log-panel h2{margin-top:0;margin-bottom:20px}.form-group{flex-direction:column;gap:8px;margin-bottom:20px;display:flex}.form-group label{font-weight:600}.form-group select,.form-group textarea{color:#fff;background:#0f172a;border:1px solid #334155;border-radius:10px;width:100%;padding:12px;font-size:1rem}.form-group textarea{resize:vertical;min-height:140px}.form-group select:focus,.form-group textarea:focus{border-color:#64748b;outline:none}.replayd-button{color:#fff;cursor:pointer;background:#1f2937;border:1px solid #475569;border-radius:10px;padding:12px 18px;font-size:1rem;font-weight:600}.replayd-button:hover:not(:disabled){border-color:#94a3b8}.replayd-button:disabled{opacity:.5;cursor:not-allowed}.save-message{color:#94a3b8;margin-top:14px}@media (width<=600px){.game-detail{padding:16px 0}.game-detail-header,.log-panel{border-radius:14px;padding:18px}.game-detail-header{margin-bottom:18px}.game-detail-team{gap:12px;padding:14px 0}.game-detail-logo{width:48px;height:48px}.game-detail-team-info{gap:10px}.game-detail-team-name{font-size:1rem;line-height:1.3}.game-detail-score{font-size:1.5rem}.game-detail-meta{margin-top:16px;font-size:.9rem}.log-panel h2{margin-bottom:18px;font-size:1.3rem}.form-group{margin-bottom:18px}.form-group textarea{min-height:120px}.replayd-button{width:100%;padding:13px 16px}}@media (width<=400px){.game-detail-header,.log-panel{padding:16px}.game-detail-logo{width:42px;height:42px}.game-detail-team-name{font-size:.95rem}.game-detail-score{font-size:1.35rem}}.history-page-header{margin-bottom:28px}.history-page-header h1{margin-bottom:8px;font-size:2rem}.history-page-header p{color:#8b98a7}.history-list{gap:16px;display:grid}.history-card{background:#121821;border:1px solid #222b36;border-radius:14px;padding:20px;transition:transform .15s,border-color .15s;display:block}.history-card:hover{border-color:#3a4655;transform:translateY(-2px)}.history-meta{color:#8b98a7;margin-bottom:8px;font-size:.9rem}.history-review{color:#f3f4f6;border-top:1px solid #222b36;margin-top:14px;padding-top:14px;font-size:1.1rem;font-weight:500;line-height:1.6}.history-card-top{flex-direction:column;gap:10px;margin-bottom:16px;display:flex}.history-card-team{align-items:center;gap:12px;min-width:0;font-size:1.05rem;font-weight:600;display:flex}.history-card-logo{object-fit:contain;flex-shrink:0;width:42px;height:42px}@media (width<=600px){.history-page-header{margin-bottom:22px}.history-page-header h1{font-size:1.7rem}.history-page-header p{font-size:.95rem;line-height:1.5}.history-list{gap:14px}.history-card{border-radius:12px;padding:16px}.history-card-top{gap:8px;margin-bottom:14px}.history-card-team{gap:10px;font-size:.95rem}.history-card-logo{width:36px;height:36px}.history-meta{font-size:.85rem}.history-review{margin-top:12px;padding-top:12px;font-size:1rem;line-height:1.5}}@media (width<=400px){.history-card{padding:14px}.history-card-logo{width:32px;height:32px}.history-card-team{font-size:.9rem}}.history-detail{gap:24px;max-width:900px;margin:0 auto;display:grid}.history-detail-card{background:#121821;border:1px solid #222b36;border-radius:16px;padding:24px}.history-detail-card h1{margin-bottom:12px}.history-detail-meta{color:#8b98a7;margin-bottom:8px;font-size:.95rem}.history-detail-review{color:#f3f4f6;border-top:1px solid #222b36;border-bottom:1px solid #222b36;margin-top:28px;padding:24px 0;font-size:1.35rem;font-weight:500;line-height:1.7}.history-detail-logged{color:#6f7d8c;margin-top:20px;font-size:.85rem}.edit-replayd-link{color:#fff;background:#2563eb;border-radius:8px;margin-top:20px;padding:10px 16px;font-weight:600;display:inline-block}.edit-replayd-link:hover{background:#1d4ed8}.history-detail-teams{flex-direction:column;gap:16px;margin-bottom:20px;display:flex}.history-detail-team{grid-template-columns:64px 1fr auto;align-items:center;gap:16px;padding:12px 0;display:grid}.history-detail-team+.history-detail-team{border-top:1px solid #222b36}.history-detail-logo{object-fit:contain;width:64px;height:64px}.history-detail-team-name{font-size:1.2rem;font-weight:600}.history-detail-score{font-size:2rem;font-weight:700}.login-required-message{color:#cbd5e1;background:#0f172a;border:1px solid #334155;border-radius:10px;margin:12px 0 18px;padding:12px 14px;font-size:.95rem}@media (width<=600px){.history-detail-team{grid-template-columns:50px 1fr auto;gap:12px}.history-detail-logo{width:50px;height:50px}.history-detail-team-name{font-size:1rem}.history-detail-score{font-size:1.5rem}}.home-page{gap:48px;display:grid}.home-hero{background:#121821;border:1px solid #222b36;border-radius:18px;padding:48px 32px}.home-hero h1{margin-bottom:10px;font-size:3rem}.home-hero p{color:#9ca8b5;margin-bottom:24px}.home-primary-link{color:#fff;background:#2563eb;border-radius:10px;padding:12px 18px;font-weight:700;display:inline-block}.section-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.section-header h2{margin-bottom:0}.section-header a{color:#9ca8b5;white-space:nowrap}.recent-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.recent-card{background:#121821;border:1px solid #222b36;border-radius:14px;padding:20px}.recent-card:hover{border-color:#3a4655}.recent-card p{color:#9ca8b5;margin-bottom:10px}.recent-card-teams{flex-direction:column;gap:10px;margin-bottom:14px;display:flex}.recent-card-team{align-items:center;gap:10px;font-size:1rem;font-weight:600;display:flex}.recent-card-logo{object-fit:contain;flex-shrink:0;width:40px;height:40px}.recent-watch-type{color:#9ca8b5;margin-bottom:10px;font-size:.9rem}.this-week-grid{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}.this-week-card{background:#121821;border:1px solid #222b36;border-radius:14px;padding:18px;transition:transform .15s,border-color .15s}.this-week-card:hover{border-color:#3a4655;transform:translateY(-2px)}.this-week-team{align-items:center;gap:10px;margin-bottom:10px;font-size:1rem;font-weight:600;display:flex}.this-week-team img{object-fit:contain;flex-shrink:0;width:40px;height:40px}.this-week-card p{color:#9ca8b5;margin-top:12px;font-size:.9rem}@media (width<=750px){.home-page{gap:36px}.home-hero{border-radius:14px;padding:32px 24px}.home-hero h1{font-size:2.3rem}.recent-grid,.this-week-grid{grid-template-columns:1fr}}@media (width<=500px){.home-page{gap:32px}.home-hero{padding:28px 20px}.home-hero h1{font-size:2rem}.home-primary-link{text-align:center;width:100%}.section-header{align-items:flex-start}.section-header h2{font-size:1.3rem}.section-header a{font-size:.9rem}.recent-card{padding:16px}.recent-card-team{font-size:.95rem}.recent-card-logo{width:36px;height:36px}}.auth-page{justify-content:center;align-items:center;min-height:calc(100vh - 80px);padding:24px;display:flex}.auth-card{background:#111827;border:1px solid #334155;border-radius:16px;width:100%;max-width:420px;padding:32px;box-shadow:0 12px 30px #0000004d}.auth-card h1{margin-bottom:8px}.auth-subtitle{color:#94a3b8;margin-bottom:24px;line-height:1.5}.auth-form{flex-direction:column;gap:16px;display:flex}.auth-form input{color:#fff;background:#0f172a;border:1px solid #334155;border-radius:10px;width:100%;padding:12px 14px;font-size:1rem}.auth-form input:focus{border-color:#64748b;outline:none}.auth-button{color:#111827;cursor:pointer;background:#fff;border:none;border-radius:10px;padding:12px 16px;font-weight:700}.auth-button:hover:not(:disabled){opacity:.9}.auth-button:disabled{opacity:.6;cursor:not-allowed}.auth-switch{color:#94a3b8;text-align:center;margin-top:18px}.auth-switch a{color:#fff;font-weight:600}.auth-error{color:#f87171;margin-top:8px;line-height:1.4}@media (width<=600px){.auth-page{align-items:flex-start;min-height:calc(100vh - 64px);padding:32px 20px}.auth-card{border-radius:14px;padding:24px}.auth-card h1{font-size:1.7rem}.auth-subtitle{margin-bottom:20px;font-size:.95rem}.auth-form{gap:14px}.auth-form input{padding:12px}.auth-button{width:100%;padding:13px 16px}}@media (width<=400px){.auth-page{padding:24px 16px}.auth-card{padding:20px}.auth-card h1{font-size:1.5rem}.auth-switch{font-size:.9rem}}.admin-page{justify-content:center;min-height:calc(100vh - 80px);padding:40px 24px;display:flex}.admin-card{width:100%;max-width:700px}.admin-card h1{margin-bottom:8px}.admin-subtitle{color:#94a3b8;margin-bottom:28px;line-height:1.5}.admin-action{background:#111827;border:1px solid #334155;border-radius:14px;justify-content:space-between;align-items:center;gap:24px;margin-bottom:16px;padding:20px;display:flex}.admin-action h2{margin:0 0 6px;font-size:1.1rem}.admin-action p{color:#94a3b8;margin:0;line-height:1.5}.admin-action button{color:#111827;cursor:pointer;white-space:nowrap;background:#fff;border:none;border-radius:8px;flex-shrink:0;padding:10px 16px;font-weight:700}.admin-action button:hover:not(:disabled){opacity:.9}.admin-action button:disabled{opacity:.5;cursor:not-allowed}.admin-message{color:#cbd5e1;background:#0f172a;border:1px solid #334155;border-radius:10px;margin-top:20px;padding:12px 14px;line-height:1.4}@media (width<=600px){.admin-page{min-height:calc(100vh - 64px);padding:32px 20px}.admin-card h1{font-size:1.7rem}.admin-subtitle{margin-bottom:22px;font-size:.95rem}.admin-action{flex-direction:column;align-items:stretch;gap:16px;padding:18px}.admin-action h2{font-size:1rem}.admin-action p{font-size:.9rem}.admin-action button{width:100%;padding:12px 16px}}@media (width<=400px){.admin-page{padding:24px 16px}.admin-action{padding:16px}.admin-card h1{font-size:1.5rem}}.navbar{z-index:100;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0b0f14eb;border-bottom:1px solid #222b36;justify-content:space-between;align-items:center;height:64px;padding:0 32px;display:flex;position:sticky;top:0}.navbar-brand{letter-spacing:-.5px;font-size:1.4rem;font-weight:800}.navbar-links{align-items:center;gap:28px;display:flex}.navbar-links a{color:#aeb8c4;font-weight:600;transition:color .15s}.navbar-links a:hover{color:#fff}.navbar-username{color:#cbd5e1;padding:8px 10px;font-weight:600}.navbar-logout{color:#fff;cursor:pointer;background:0 0;border:1px solid #475569;border-radius:8px;padding:8px 14px;font-weight:600;transition:background .2s,border-color .2s}.navbar-logout:hover{background:#1e293b;border-color:#64748b}.navbar-login{color:#fff;border:1px solid #475569;border-radius:8px;padding:8px 14px;font-weight:600;text-decoration:none;transition:background .2s,border-color .2s}.navbar-login:hover{background:#1e293b;border-color:#64748b}.navbar-menu-button{color:#fff;cursor:pointer;background:0 0;border:none;font-size:1.6rem;display:none}@media (width<=700px){.navbar{padding:0 20px}.navbar-menu-button{display:block}.navbar-links{background:#0b0f14fa;border-bottom:1px solid #222b36;flex-direction:column;align-items:stretch;gap:0;padding:12px 20px 20px;display:none;position:absolute;top:64px;left:0;right:0}.navbar-links-open{display:flex}.navbar-links a,.navbar-username{padding:14px 0}.navbar-login,.navbar-logout{text-align:center;margin-top:10px}}
