:root{--primary-color: #3b82f6;--primary-gradient: linear-gradient(135deg, #3b82f6 0%, #1e40af 100%);--secondary-color: #1e40af;--success-color: #10b981;--warning-color: #f59e0b;--danger-color: #ef4444;--info-color: #1e40af;--background-color: #f8f9fa;--surface-color: #ffffff;--text-color: #333333;--text-muted: #666666;--border-color: #e1e5e9;--border-radius: 8px;--border-radius-lg: 12px;--box-shadow: 0 2px 8px rgba(0, 0, 0, .1);--box-shadow-lg: 0 4px 16px rgba(0, 0, 0, .15);--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-xxl: 3rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-xxl: 1.5rem;--font-size-xxxl: 2rem;--transition: all .2s ease;--transition-fast: all .1s ease;--transition-slow: all .3s ease;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{height:100%;scroll-behavior:smooth}body{min-height:100vh;margin:0;background-color:var(--background-color);color:var(--text-color);line-height:1.5;min-width:320px}#root{min-height:100vh}h1{font-size:2em;line-height:1.1;font-weight:600;color:var(--text-color)}h2,h3,h4,h5,h6{font-weight:600;line-height:1.2;color:var(--text-color)}p,li,td,th{line-height:1.6;color:var(--text-color)}a{color:var(--primary-color);text-decoration:none;font-weight:500;transition:var(--transition)}a:hover{color:var(--secondary-color);text-decoration:underline}button{border-radius:var(--border-radius);border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;cursor:pointer;transition:var(--transition);background-color:var(--surface-color);color:var(--text-color)}button:hover{border-color:var(--primary-color)}button:focus,button:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}input,select,textarea{border:2px solid var(--border-color);border-radius:var(--border-radius);padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-base);transition:var(--transition);background-color:var(--surface-color);color:var(--text-color);font-family:inherit}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #667eea1a}:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}@media(max-width:768px){:root{font-size:14px}h1{font-size:1.75em}}@media(max-width:480px){:root{font-size:13px}h1{font-size:1.5em}button{padding:.75em 1em;min-height:44px}input,select,textarea{min-height:44px}}.navigation{background:#fff;border-bottom:1px solid #e1e5e9;box-shadow:0 2px 4px #0000001a;position:sticky;top:0;z-index:100}.nav-container{max-width:1200px;margin:0 auto;padding:0 1rem;display:flex;align-items:center;justify-content:space-between;height:60px;position:relative}.nav-logo{font-size:1.5rem;font-weight:700;color:#3b82f6;text-decoration:none;display:flex;align-items:center;gap:.5rem}.nav-menu{display:flex;gap:1.5rem;align-items:center}.nav-link{color:#333;text-decoration:none;font-weight:500;padding:.5rem 1rem;border-radius:6px;transition:background-color .2s ease,color .2s ease;min-height:44px;display:flex;align-items:center}.nav-link:hover{background-color:#f8f9fa;color:#3b82f6}.nav-link.active{background-color:#3b82f6;color:#fff;font-weight:600}.nav-link.active:hover{background-color:#1e40af}.nav-link.admin-link{background-color:#fff3cd;color:#856404}.nav-link.admin-link:hover{background-color:#ffeaa7}.nav-link.admin-link.active{background-color:#f59e0b;color:#fff}.nav-link.admin-link.active:hover{background-color:#d97706}.nav-user{display:flex;align-items:center;gap:1rem}.user-info{display:flex;flex-direction:column;align-items:flex-end;font-size:.85rem}.user-name{font-weight:600;color:#333}.user-university{color:#666;font-size:.75rem}.user-role{font-size:1rem}.logout-button,.desktop-logout-button{background:#3b82f6;color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-size:.9rem;transition:background-color .2s ease;min-height:44px}.logout-button:hover,.desktop-logout-button:hover{background:#2563eb}.mobile-menu-toggle{display:none;flex-direction:column;background:none;border:none;cursor:pointer;padding:.5rem;gap:.25rem;z-index:102;position:relative;width:40px;height:40px;justify-content:center;align-items:center;border-radius:4px}.mobile-menu-toggle:hover{background-color:#3b82f61a}.mobile-menu-toggle span{width:25px;height:3px;background-color:#3b82f6;transition:all .3s ease;border-radius:2px}.mobile-menu-toggle.active span:nth-child(1){transform:translateY(8px) rotate(45deg)}.mobile-menu-toggle.active span:nth-child(2){opacity:0}.mobile-menu-toggle.active span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}.mobile-menu{position:fixed;top:60px;left:0;right:0;background:#fff;border-bottom:1px solid #e1e5e9;box-shadow:0 4px 8px #0000001a;transform:translateY(-100%);transition:transform .3s ease;z-index:101;max-height:calc(100vh - 60px);overflow-y:auto;opacity:0;visibility:hidden;pointer-events:none}.mobile-menu.open{transform:translateY(0);opacity:1;visibility:visible;pointer-events:auto}.mobile-menu-content{padding:1rem}.mobile-user-info{padding:1rem;background:#f8f9fa;border-radius:8px;margin-bottom:1rem;text-align:center}.mobile-user-details{display:flex;flex-direction:column;gap:.25rem}.mobile-nav-links{display:flex;flex-direction:column;gap:.5rem}.mobile-nav-link{display:flex;align-items:center;padding:1rem;color:#333;text-decoration:none;border-radius:8px;font-weight:500;transition:all .2s ease;min-height:44px;border:1px solid #e1e5e9}.mobile-nav-link:hover{background-color:#f8f9fa;color:#3b82f6}.mobile-nav-link.active{background-color:#3b82f6;color:#fff;font-weight:600}.mobile-nav-link.admin-link{background-color:#fff3cd;color:#856404;border-color:#ffeaa7}.mobile-nav-link.admin-link:hover{background-color:#ffeaa7}.mobile-nav-link.admin-link.active{background-color:#f59e0b;color:#fff;border-color:#f59e0b}.mobile-logout-button{width:100%;padding:1rem;background:linear-gradient(135deg,#dc2626,#b91c1c);color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease;margin-top:.5rem;min-height:44px}.mobile-logout-button:hover{background:linear-gradient(135deg,#b91c1c,#991b1b)}.mobile-menu-overlay{position:fixed;inset:0;background:#00000080;z-index:100}@media(max-width:768px){.mobile-menu-toggle{display:flex}.desktop-menu,.desktop-user,.nav-menu,.nav-user,.logout-button,.desktop-logout-button{display:none!important}.nav-container{height:60px;padding:0 1rem;justify-content:space-between}.nav-container>*:not(.nav-logo):not(.mobile-menu-toggle){display:none!important}.nav-logo,.mobile-menu-toggle{display:flex!important}}@media(max-width:480px){.nav-container{padding:0 .5rem}.mobile-menu-content{padding:.75rem}.mobile-nav-link{padding:.875rem;font-size:.9rem}.desktop-logout-button,.logout-button,.nav-user .logout-button,.desktop-user .logout-button,.desktop-user button{display:none!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important}}.app-layout{min-height:100vh;display:flex;flex-direction:column}.main-content{flex:1;background-color:#e9ecef}.content-container{max-width:1200px;margin:0 auto;padding:1rem}@media(max-width:768px){.content-container{padding:.75rem}}@media(max-width:480px){.content-container{padding:.5rem}}.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1rem;background:linear-gradient(135deg,#3b82f6,#1e40af)}.auth-card{background:#fff;border-radius:12px;box-shadow:0 8px 32px #0000001a;padding:2rem;width:100%;max-width:400px}.auth-header{text-align:center;margin-bottom:2rem}.auth-header h1{margin:0 0 .5rem;font-size:1.8rem;color:#333}.auth-header p{margin:0;color:#666;font-size:.9rem}.auth-form{display:flex;flex-direction:column;gap:1rem}.form-group{display:flex;flex-direction:column}.form-group label{margin-bottom:.5rem;font-weight:600;color:#333;font-size:.9rem}.form-group input,.form-group select{padding:.75rem;border:2px solid #e1e5e9;border-radius:8px;font-size:1rem;transition:border-color .2s ease;min-height:44px}.form-group input:focus,.form-group select:focus{outline:none;border-color:#3b82f6}.form-group input:disabled,.form-group select:disabled{background-color:#f5f5f5;cursor:not-allowed}.auth-button{background:linear-gradient(135deg,#3b82f6,#1e40af);color:#fff;border:none;padding:.875rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;min-height:44px;margin-top:.5rem}.auth-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 16px #3b82f64d}.auth-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.auth-footer{text-align:center;margin-top:1.5rem;padding-top:1rem;border-top:1px solid #e1e5e9}.auth-footer p{margin:0;color:#666;font-size:.9rem}.auth-footer a{color:#3b82f6;text-decoration:none;font-weight:600}.auth-footer a:hover{text-decoration:underline}.error-message{background-color:#eff6ff;color:#1e40af;padding:.75rem;border-radius:6px;border:1px solid #93c5fd;font-size:.9rem;margin-bottom:.5rem}.loading-container{min-height:100vh;display:flex;align-items:center;justify-content:center}.loading-spinner{font-size:1.2rem;color:#3b82f6;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@media(max-width:480px){.auth-container{padding:.5rem}.auth-card{padding:1.5rem}.auth-header h1{font-size:1.6rem}}.loading-hint{margin-top:1rem;padding:.75rem;background:#3b82f61a;border:1px solid rgba(59,130,246,.2);border-radius:8px;text-align:center}.loading-hint p{margin:0;font-size:.85rem;color:#3b82f6;font-style:italic}.games-container{max-width:800px;margin:0 auto}.games-header{text-align:center;margin-bottom:2rem;padding:1.5rem;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a}.games-header h1{margin:0 0 .5rem;color:#333;font-size:2rem}.week-selector-hybrid{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:1rem}.week-carousel{display:flex;align-items:center;gap:.75rem;background:#fff;padding:.5rem 1rem;border-radius:12px;box-shadow:0 2px 8px #0000001a;border:1px solid #e5e7eb}.week-nav-btn{background:#f3f4f6;border:1px solid #d1d5db;border-radius:8px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;font-size:1.2rem;color:#374151;cursor:pointer;transition:all .2s ease}.week-nav-btn:hover:not(:disabled){background:#e5e7eb;transform:scale(1.05)}.week-nav-btn:disabled{opacity:.5;cursor:not-allowed}.week-display{display:flex;align-items:center;gap:.5rem;padding:0 .5rem;min-width:120px;justify-content:center}.week-number{font-weight:600;font-size:1.1rem;color:#1f2937}.current-indicator{font-size:1rem;animation:gentle-glow 2s ease-in-out infinite}.week-dropdown-container{position:relative;display:none}.week-dropdown-enhanced{appearance:none;background:#fff;border:1px solid #d1d5db;border-radius:8px;padding:.75rem 3rem .75rem 1rem;font-size:.95rem;font-weight:500;color:#374151;cursor:pointer;min-width:220px;box-shadow:0 2px 4px #0000001a;transition:all .2s ease;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;text-align:center}.week-dropdown-enhanced:hover{border-color:#9ca3af;box-shadow:0 4px 8px #00000026}.week-dropdown-enhanced:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}@keyframes gentle-glow{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.1)}}.user-greeting{margin:0 0 1.5rem;color:#666;font-size:1rem}.week-selector{display:flex;justify-content:center;align-items:center;gap:.5rem;margin-top:1rem}.week-selector label{font-size:.9rem;color:#666;font-weight:500}.week-dropdown{padding:.5rem 1rem;border:2px solid #e1e5e9;border-radius:8px;background:#fff;color:#333;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;min-width:140px}.week-dropdown:hover{border-color:#3b82f6}.week-dropdown:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.week-dropdown option[selected]{background-color:#228b22;color:#fff}.no-games{text-align:center;padding:3rem;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a}.games-grid{display:grid;gap:1.5rem;grid-template-columns:1fr}.game-wrapper{display:flex;flex-direction:column;gap:0}.game-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:1.5rem;transition:transform .2s ease,box-shadow .2s ease}.game-wrapper .game-card{border-radius:0 0 12px 12px}.game-card:hover{box-shadow:0 4px 16px #00000026}.game-card.locked{opacity:.8;background:#f8f9fa}.game-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid #e1e5e9}.game-time,.week-badges-header .badges-description{font-size:.9rem;color:#666;font-weight:500}.spread-info{background:#dbeafe;color:#1e3a8a;padding:.25rem .5rem;border-radius:4px;font-size:.8rem;font-weight:600}.spread-info.spread-covered{background:#dcfce7;color:#166534}.spread-info.spread-not-covered{background:#fee2e2;color:#991b1b}.total-points-info{background:#dcfce7;color:#166534;padding:.25rem .5rem;border-radius:4px;font-size:.8rem;font-weight:600}.matchup{display:grid;grid-template-columns:1fr auto 1fr;gap:1rem;align-items:center;min-height:10rem}.team-container{display:flex;flex-direction:column;align-items:center;gap:.5rem;height:100%;justify-content:flex-start}.pick-indicator-container{min-height:2rem;display:flex;align-items:center;justify-content:center}.team{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:1rem;border-radius:8px;border:1px solid transparent;transition:all .3s ease;min-height:6rem;min-width:8rem;box-sizing:border-box}.team-name{font-weight:600;font-size:1.1rem;text-align:center;color:#333}.team-score{font-size:1.5rem;font-weight:700;color:#1e3a8a}.vs-separator{font-weight:700;color:#999;text-align:center;font-size:.9rem;align-self:center;display:flex;align-items:center;justify-content:center}.pick-button{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#92400e;border:none;padding:.6rem 1rem;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;min-height:44px;white-space:nowrap;box-shadow:0 2px 4px #fbbf244d}.pick-button:hover{background:linear-gradient(135deg,#f59e0b,#d97706);transform:translateY(-1px);box-shadow:0 4px 12px #fbbf2466}.change-pick-button{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#92400e;border:none;padding:.4rem .8rem;border-radius:6px;font-size:.75rem;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;margin-top:.25rem;box-shadow:0 2px 4px #fbbf244d}.change-pick-button:hover{background:linear-gradient(135deg,#f59e0b,#d97706);transform:translateY(-1px);box-shadow:0 4px 12px #fbbf2466}.change-pick-button:active,.pick-button:active{transform:translateY(0)}.locked-message{text-align:center;margin-top:1rem;padding:.5rem;background:#fff3cd;color:#856404;border-radius:6px;font-weight:500;font-size:.9rem}@media(max-width:768px){.games-header{padding:1rem}.games-header h1{font-size:1.5rem}.week-selector-container{flex-direction:column;align-items:stretch;gap:.75rem}.week-selector{align-items:flex-start}.week-dropdown{width:100%;min-width:unset}.game-card{padding:1rem}.matchup{gap:.75rem}.team-name{font-size:1rem}.pick-button{padding:.5rem .75rem;font-size:.8rem}}@media(max-width:480px){.games-container{padding:0}.games-header{margin:0 0 1rem;border-radius:8px}.games-grid{gap:1rem}.game-card{border-radius:8px;padding:.75rem}.game-header{flex-direction:column;gap:.5rem;align-items:flex-start}.matchup{grid-template-columns:1fr auto 1fr;gap:.5rem;text-align:center;min-height:8rem}.vs-separator{font-size:.8rem}}.team.selected{position:relative}.team.selected .team-name{font-weight:700}.pick-indicator{background:linear-gradient(135deg,#3b82f6,#1e40af);color:#fff;padding:.25rem .5rem;border-radius:4px;font-size:.8rem;font-weight:600;margin-top:.5rem;text-align:center;display:inline-block}.missed-pick-indicator{background:linear-gradient(135deg,#fef2f2,#fee2e2);color:#dc2626;border:1px solid #f87171}.pick-indicator.correct-pick{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.pick-indicator.incorrect-pick{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.team.winner{background:linear-gradient(135deg,#d1fae5,#a7f3d0);border-color:#10b981;box-shadow:0 0 0 2px #10b98133}.team.winner .team-name,.team.winner .team-score{color:#065f46;font-weight:700}.game-card.missed-pick .team.winner{background:linear-gradient(135deg,#d1fae5,#a7f3d0);border-color:#10b981;box-shadow:0 0 0 2px #10b98133}.game-card.missed-pick .team.winner .team-name,.game-card.missed-pick .team.winner .team-score{color:#065f46;font-weight:700}.team:not(.selected){transition:all .3s ease}.team.selected{transition:all .3s ease}.success-toast{position:fixed;top:80px;left:50%;transform:translate(-50%);background:linear-gradient(135deg,#3b82f6,#1e40af);color:#fff;padding:1rem 1.5rem;border-radius:8px;box-shadow:0 4px 16px #3b82f64d;z-index:1000;font-weight:600;animation:slideInOut 3s ease-in-out}@keyframes slideInOut{0%{opacity:0;transform:translate(-50%,-20px)}10%,90%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-20px)}}.game-card.missed-pick{border:2px solid #ff6b6b;background:linear-gradient(135deg,#ffe0e0,#ffebeb);position:relative}.badges-wrapper{margin:1rem 0;display:flex;flex-direction:column;gap:0}.badges-banner{background:linear-gradient(135deg,#10b981,#047857);color:#fff;padding:.75rem 1rem;font-weight:600;text-align:center;font-size:.9rem;border-radius:12px 12px 0 0;box-shadow:0 2px 4px #10b9814d}.week-badges-container{background:#fff;border-radius:0 0 12px 12px;box-shadow:0 2px 8px #0000001a;overflow:hidden}.week-badges-header{display:flex;justify-content:space-between;align-items:center;margin:1.5rem 1.5rem 1rem;padding-bottom:.5rem;background:#fff;border-bottom:1px solid #e1e5e9;font-size:.9rem}.week-badges-header>div:last-child{color:#6b7280;font-weight:600}.week-badges{display:flex;flex-wrap:wrap;gap:.75rem;padding:1.5rem}.performance-badge{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem .75rem;border-radius:8px;font-size:.9rem;font-weight:600;min-height:44px;box-shadow:0 2px 4px #0000001a;transition:transform .2s ease,box-shadow .2s ease;flex:1;min-width:140px;text-align:center}.performance-badge:hover{transform:translateY(-1px);box-shadow:0 4px 8px #00000026}.performance-badge.correct{background:linear-gradient(135deg,#dcfce7,#bbf7d0);color:#166534;border:1px solid #a7f3d0;animation:gentle-pulse 3s ease-in-out infinite}.performance-badge.parlay{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e;border:1px solid #fcd34d;animation:excited-jiggle 1.5s ease-in-out infinite}.performance-badge.rivalry{background:linear-gradient(135deg,#e0e7ff,#c7d2fe);color:#3730a3;border:1px solid #a5b4fc;animation:power-slam 2s ease-in-out infinite}.performance-badge.missed{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#dc2626;border:1px solid #f87171;animation:disappointed-fade 4s ease-in-out infinite}.performance-badge.you-suck{background:linear-gradient(135deg,#fef3c7,#fed7aa);color:#ea580c;border:2px solid #fb923c;font-weight:700;animation:wobble 2s ease-in-out infinite;box-shadow:0 4px 12px #fb923c4d}.performance-badge.you-suck:hover{transform:translateY(-2px) scale(1.05);box-shadow:0 6px 16px #fb923c66}@keyframes wobble{0%,to{transform:rotate(0)}25%{transform:rotate(-2deg)}75%{transform:rotate(2deg)}}@keyframes gentle-pulse{0%,to{transform:scale(1);box-shadow:0 2px 4px #0000001a}50%{transform:scale(1.03);box-shadow:0 8px 16px #10b98166}}@keyframes excited-jiggle{0%,to{transform:translateY(0)}25%{transform:translateY(-3px) scale(1.01)}50%{transform:translateY(-1px)}75%{transform:translateY(-4px) scale(1.02)}}@keyframes power-slam{0%,90%,to{transform:scale(1) rotate(0)}10%{transform:scale(1.05) rotate(-1deg)}20%{transform:scale(.98) rotate(1deg)}30%{transform:scale(1.03) rotate(-.5deg)}40%{transform:scale(.99) rotate(.5deg)}}@keyframes disappointed-fade{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(.98)}}.no-data-badge{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1rem;background:linear-gradient(135deg,#f9fafb,#f3f4f6);color:#6b7280;border-radius:8px;font-weight:500;border:1px solid #e5e7eb;flex:1;min-width:140px;text-align:center}.badge-icon{font-size:1.1rem}.badge-text{font-size:.9rem}@media(max-width:768px){.week-badges-container{margin:0 0 1rem}.week-badges-header{padding:.6rem 1rem;flex-direction:row;justify-content:center;gap:.75rem}.badges-explanation{padding:.4rem 1rem;font-size:.8rem}.week-badges-header h3{font-size:.9rem}.total-points{gap:.4rem}.points-value{font-size:1.1rem}.week-carousel{display:flex}.week-dropdown-container{display:none}}@media(min-width:769px){.week-carousel{display:none}.week-dropdown-container{display:block}}.week-badges{padding:1rem;gap:.5rem}.performance-badge{flex:1;min-width:calc(50% - .25rem);justify-content:center;padding:.75rem .5rem}@media(max-width:480px){.week-badges-header h3{font-size:1rem}.points-value{font-size:1.3rem}.week-badges{padding:.75rem;flex-direction:column}.performance-badge{min-width:auto;justify-content:center;width:100%}.badge-text{font-size:.85rem}}.missed-pick-banner{background:linear-gradient(135deg,#ff6b6b,#d63384);color:#fff;padding:.5rem 1rem;margin:-1rem -1rem 1rem;font-weight:600;text-align:center;font-size:.9rem;border-radius:12px 12px 0 0;box-shadow:0 2px 4px #ff6b6b4d}.change-pick-banner,.make-pick-banner{background:linear-gradient(135deg,#3b82f6,#1e40af);color:#fff;padding:.75rem 1rem;font-weight:600;text-align:center;font-size:.9rem;border-radius:12px 12px 0 0;box-shadow:0 2px 4px #3b82f64d}.previous-week-banner{background:linear-gradient(135deg,#6c757d,#495057);color:#fff;padding:.75rem 1rem;font-weight:600;text-align:center;font-size:.9rem;border-radius:12px 12px 0 0;box-shadow:0 2px 4px #6c757d4d}.game-card.completed{background:#f8f9facc;opacity:.85}.team.completed{opacity:.8;border:1px dashed #6c757d}.team.completed.selected{opacity:1}.team.active{border:1px dashed #6c757d}.team.missed{opacity:.7;background:#ff6b6b1a;border:1px dashed #ff6b6b}.team.missed .team-name,.team.missed .team-score{color:#8b5a5a}.game-card.missed-pick{background:#fff8e1e6;border:2px solid #f59e0b;opacity:.9}.standings-container{max-width:1000px;margin:0 auto}.standings-header{text-align:center;margin-bottom:2rem;padding:1.5rem;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a}.standings-header h1{margin:0 0 .5rem;color:#333;font-size:2rem}.season-info{margin:0 0 1rem;color:#666;font-size:1.1rem}.view-toggle{display:flex;justify-content:center;gap:.5rem;margin-top:1rem}.toggle-btn{background:#f8f9fa;border:2px solid #e0e0e0;border-radius:8px;padding:.5rem 1rem;cursor:pointer;font-weight:600;transition:all .2s ease}.toggle-btn:hover{border-color:#3b82f6}.toggle-btn.active{background:linear-gradient(135deg,#3b82f6,#1e40af);border-color:#1e40af;color:#fff}.loading-message{text-align:center;padding:3rem;font-size:1.2rem;color:#666}.error-message{background-color:#fee;color:#c33;padding:1rem;border-radius:8px;border:1px solid #fcc;text-align:center;margin:2rem 0}.no-standings{text-align:center;padding:3rem;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a}.standings-table-container{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;overflow-x:auto;margin-bottom:2rem}.standings-table{width:100%;border-collapse:collapse;min-width:800px;white-space:nowrap}.standings-table thead{background:linear-gradient(135deg,#3b82f6,#1e40af);color:#fff}.standings-table th{padding:1rem .5rem;text-align:left;font-weight:700;font-size:1rem;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.3)}.standings-table td{padding:1rem .5rem;border-bottom:1px solid #e1e5e9}.standings-table tr:last-child td{border-bottom:none}.standings-table tr:nth-child(2n){background-color:#f8f9fa}.standings-table tr.rank-1{background:linear-gradient(135deg,#fff3cd,#ffeaa7);font-weight:600}.standings-table tr.rank-2{background:linear-gradient(135deg,#e2e3e5,#d3d3d4);font-weight:600}.standings-table tr.rank-3{background:linear-gradient(135deg,#f4e4bc,#e6d3a3);font-weight:600}.rank-cell{text-align:center;width:60px}.rank-display{font-size:1.2rem;font-weight:700}.player-cell{min-width:80px;width:100px}.player-name{font-weight:600;color:#333}.university-cell{color:#666;font-size:.9rem;min-width:100px}.points-cell{text-align:center;width:110px}.total-points{font-size:1.1rem;font-weight:700;color:#1e3a8a}.record-cell{text-align:center;width:80px}.record{font-family:Courier New,monospace;font-weight:600}.percentage-cell{text-align:center;width:80px}.win-percentage{color:#28a745;font-weight:600}.picks-cell{text-align:center;width:110px}.parlay-cell{text-align:center;width:110px}.parlay-points{color:#3730a3;font-weight:700;font-size:1.1rem}.rivalry-cell{text-align:center;width:110px}.rivalry-points{color:#3730a3;font-weight:700;font-size:1.1rem}.missed-cell{text-align:center;width:80px}.standings-legend{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:1.5rem}.standings-legend h3{margin:0 0 1rem;color:#333}.standings-legend ul{margin:0;padding-left:1.5rem}.standings-legend li{margin-bottom:.5rem;color:#666}@media(max-width:768px){.standings-header{padding:1rem}.standings-header h1{font-size:1.5rem}.standings-table-container{overflow-x:auto}.standings-table{min-width:600px}.standings-table th,.standings-table td{padding:.75rem .4rem}.standings-table th{font-size:.8rem}.university-cell{display:none}.standings-legend{padding:1rem}}@media(max-width:480px){.standings-container{padding:0}.standings-header{margin:0 0 1rem;border-radius:8px}.standings-table-container{border-radius:8px}.standings-table{min-width:500px}.standings-table th,.standings-table td{padding:.5rem .3rem;font-size:.9rem}.player-cell,.record-cell,.percentage-cell{min-width:auto}.rank-display,.total-points,.parlay-points{font-size:1rem}}.detailed-view{overflow-x:auto}.detailed-standings-table{width:100%;border-collapse:collapse;min-width:600px}.detailed-standings-table thead{background:linear-gradient(135deg,#3b82f6,#1e40af);color:#fff}.detailed-standings-table th{padding:.75rem .5rem;text-align:left;font-weight:700;font-size:1rem;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.3);border-right:1px solid rgba(255,255,255,.2)}.detailed-standings-table th:last-child{border-right:none}.week-header{text-align:center!important;min-width:80px}.detailed-standings-table td{padding:.75rem .5rem;border-bottom:1px solid #e1e5e9;border-right:1px solid #f0f0f0}.detailed-standings-table td:last-child{border-right:none}.rank-and-name{display:flex;align-items:center;gap:.5rem}.rank-and-name .rank{font-weight:700;min-width:2rem}.rank-and-name .name{font-weight:600}.total-cell{text-align:center;font-weight:700;color:#3b82f6}.week-cell{text-align:center}.week-breakdown{display:flex;flex-direction:column;align-items:center;gap:.25rem}.week-total{font-weight:700;font-size:1.1rem;color:#333}.week-details{display:flex;flex-wrap:wrap;justify-content:center;gap:.25rem;font-size:.7rem}.week-details span{padding:.1rem .3rem;border-radius:3px;font-weight:600}.week-details .correct{background:#dcfce7;color:#166534}.week-details .parlay{background:#fef3c7;color:#92400e}.week-details .rivalry{background:#e0e7ff;color:#3730a3}.week-details .missed{background:#fee2e2;color:#dc2626}.no-data{color:#999;font-style:italic}.picks-cell,.rivalry-cell,.missed-cell{text-align:center}.correct-picks{font-weight:600}.rivalry-points,.parlay-points{font-weight:700;font-size:1.1rem}.missed-picks{color:#dc2626;font-weight:600}.rivalry-points,.parlay-points{color:#3730a3}@media(max-width:768px){.view-toggle{flex-direction:column}.toggle-btn{width:100%}.detailed-standings-table{font-size:.7rem;min-width:500px}.week-breakdown{padding:.25rem}.week-details{font-size:.6rem}}.trends-view{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:2rem}.chart-container h3{text-align:center;margin-bottom:2rem;color:#333;font-size:1.5rem}.trends-chart{width:100%;overflow-x:auto}.chart-svg{display:block;margin:0 auto 2rem;min-width:600px}.axis-label{font-size:12px;fill:#666;font-family:system-ui,-apple-system,sans-serif}.data-point{cursor:pointer;transition:r .2s ease}.data-point:hover{r:6}.chart-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem;margin-top:1rem}.legend-item{display:flex;align-items:center;gap:.5rem;background:#f8f9fa;padding:.5rem 1rem;border-radius:8px;font-size:.9rem}.legend-color{width:16px;height:16px;border-radius:50%;flex-shrink:0}.legend-name{font-weight:600;color:#333}.legend-total{color:#666;font-size:.85rem}@media(max-width:768px){.trends-view{padding:1rem}.chart-container h3{font-size:1.2rem;margin-bottom:1rem}.chart-legend{gap:.5rem}.legend-item{font-size:.8rem;padding:.4rem .8rem}}.stats-container{max-width:800px;margin:0 auto}.stats-header{text-align:center;margin-bottom:2rem;padding:1.5rem;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a}.stats-header h1{margin:0 0 .5rem;color:#333;font-size:2rem}.stats-header p{margin:0;color:#666;font-size:1.1rem}.stats-grid{display:grid;gap:1.5rem;grid-template-columns:1fr}.stat-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:2rem;text-align:center}.stat-title{font-size:1.5rem;font-weight:700;color:#3b82f6;margin-bottom:1rem}.stat-description{color:#666;line-height:1.6}@media(max-width:768px){.stats-header{padding:1rem}.stats-header h1{font-size:1.5rem}.stat-card{padding:1.5rem}}@media(max-width:480px){.stats-container{padding:0}.stats-header{margin:0 0 1rem;border-radius:8px}.stat-card{border-radius:8px;padding:1rem}}.admin-container{max-width:1200px;margin:0 auto}.admin-header{text-align:center;margin-bottom:2rem;padding:2rem;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a}.admin-header h1{margin:0 0 1rem;color:#333;font-size:2.5rem}.welcome-message{margin:0 0 1rem;color:#666;font-size:1.2rem;font-weight:500}.role-info{margin:0;color:#3b82f6;font-weight:600;font-size:1rem}.admin-content{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:2rem}.placeholder-sections{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}.admin-section{background:#f8f9fa;border-radius:8px;padding:1.5rem;border:1px solid #e1e5e9;position:relative;transition:transform .2s ease,box-shadow .2s ease}.admin-section:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.admin-section h3{margin:0 0 .75rem;color:#333;font-size:1.3rem;display:flex;align-items:center;gap:.5rem}.admin-section p{margin:0 0 1rem;color:#666;line-height:1.5}.coming-soon{background:linear-gradient(135deg,#3b82f6,#1e40af);color:#fff;padding:.5rem 1rem;border-radius:6px;font-weight:600;text-align:center;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}.error-message{background-color:#fee;color:#c33;padding:2rem;border-radius:8px;border:1px solid #fcc;text-align:center;margin:2rem 0;font-size:1.1rem}@media(max-width:768px){.admin-container{padding:0 1rem}.admin-header{padding:1.5rem;margin-bottom:1.5rem}.admin-header h1{font-size:2rem}.welcome-message{font-size:1.1rem}.admin-content{padding:1.5rem}.placeholder-sections{grid-template-columns:1fr;gap:1rem}.admin-section{padding:1rem}.admin-section h3{font-size:1.1rem}}.profile-container{max-width:600px;margin:0 auto}.profile-header{text-align:center;margin-bottom:2rem;padding:1.5rem;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a}.profile-header h1{margin:0 0 .5rem;color:#333;font-size:2rem}.profile-subtitle{margin:0;color:#666;font-size:1.1rem}.profile-form-container{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:2rem;margin-bottom:2rem}.profile-form{margin-bottom:2rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;color:#333;font-weight:600;font-size:.95rem}.form-group input,.form-group select{width:100%;padding:.75rem;border:2px solid #e1e5e9;border-radius:8px;font-size:1rem;transition:border-color .2s ease,box-shadow .2s ease}.form-group input:focus,.form-group select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-group input:invalid{border-color:#3b82f6}.password-section{margin:2rem 0;padding:1.5rem;background:#f8f9fa;border-radius:8px;border:1px solid #e1e5e9}.toggle-password-btn{background:#f0f0f0;border:2px solid #d0d0d0;border-radius:8px;padding:.75rem 1rem;cursor:pointer;font-weight:600;font-size:.95rem;color:#333;transition:all .2s ease;margin-bottom:1rem;width:100%}.toggle-password-btn:hover{background:#e0e0e0;border-color:#3b82f6}.form-actions{margin-top:2rem;text-align:center}.save-btn{background:linear-gradient(135deg,#3b82f6,#1e40af);color:#fff;border:none;border-radius:8px;padding:.75rem 2rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;min-width:150px}.save-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.save-btn:disabled{opacity:.6;cursor:not-allowed}.error-message{background-color:#fee;color:#c33;padding:1rem;border-radius:8px;border:1px solid #fcc;margin-bottom:1.5rem;text-align:center}.success-message{background-color:#eff;color:#363;padding:1rem;border-radius:8px;border:1px solid #cfc;margin-bottom:1.5rem;text-align:center}.profile-info{border-top:1px solid #e1e5e9;padding-top:1.5rem}.profile-info h3{margin:0 0 1rem;color:#333;font-size:1.2rem}.info-grid{display:grid;gap:1rem}.info-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:#f8f9fa;border-radius:6px;border:1px solid #e1e5e9}.info-label{font-weight:600;color:#555}.info-value{color:#333;font-weight:500}@media(max-width:768px){.profile-container{padding:0 1rem}.profile-header{padding:1rem;margin-bottom:1.5rem}.profile-header h1{font-size:1.75rem}.profile-form-container{padding:1.5rem}.password-section{padding:1rem}.form-group input,.form-group select{padding:.65rem}.save-btn{width:100%;padding:.85rem}.info-item{flex-direction:column;align-items:flex-start;gap:.25rem}}.App{min-height:100vh}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f8f9fa;color:#333;line-height:1.5}h1,h2,h3,h4,h5,h6{margin:0;font-weight:600;line-height:1.2}p{margin:0;line-height:1.6}a{color:#667eea;text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.6}input,select,textarea{font-family:inherit;font-size:inherit}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:2px solid #667eea;outline-offset:2px}.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}.loading{display:flex;align-items:center;justify-content:center;padding:2rem;color:#666}.error{background-color:#fee;color:#c33;padding:1rem;border-radius:8px;border:1px solid #fcc;margin:1rem 0}.success{background-color:#efe;color:#363;padding:1rem;border-radius:8px;border:1px solid #cfc;margin:1rem 0}@media(max-width:768px){body{font-size:14px}}@media(max-width:480px){body{font-size:13px}}
