@import url(https://fonts.googleapis.com/css2?family=Oswald:wght@400;500;600;700&amp;family=Source+Serif+4:ital,wght@0,300;0,400;0,600;1,300&amp;family=Space+Mono:wght@400;700&amp;display=swap);:root{--cct-navy:#0C2340;--cct-navy-mid:#102b50;--cct-navy-light:#1a3a66;--cct-cream:#f5f0e8;--cct-white:#ffffff;--cct-green:#2ecc71;--cct-red:#e74c3c;--cct-gray:#8a9bb0;--cct-border:rgba(201, 151, 0, 0.2);--cct-shadow:0 8px 40px rgba(0,0,0,0.4);--cct-radius:12px;--cct-font-display:'Oswald', sans-serif;--cct-font-body:'Source Serif 4', serif;--cct-font-mono:'Space Mono', monospace;--team-accent:#C99700;--team-accent-bright:#f0b800}[data-team="notre-dame"]{--team-accent:#C99700;--team-accent-bright:#f0b800;--cct-border:rgba(201,151,0,0.2)}[data-team="bears"]{--team-accent:#C83803;--team-accent-bright:#FF6720;--cct-border:rgba(200,56,3,0.2)}[data-team="bulls"]{--team-accent:#CE1141;--team-accent-bright:#FF2D5E;--cct-border:rgba(206,17,65,0.2)}[data-team="cubs"]{--team-accent:#0E3386;--team-accent-bright:#2B5EC2;--cct-border:rgba(14,51,134,0.3)}[data-team="white-sox"]{--team-accent:#C4CED4;--team-accent-bright:#E0E6EA;--cct-border:rgba(196,206,212,0.2)}[data-team="blackhawks"]{--team-accent:#CF0A2C;--team-accent-bright:#FF1E42;--cct-border:rgba(207,10,44,0.2)}[data-team="fire"]{--team-accent:#FF0000;--team-accent-bright:#FF4444;--cct-border:rgba(255,0,0,0.2)}[data-team="sky"]{--team-accent:#5091CD;--team-accent-bright:#71B0E8;--cct-border:rgba(80,145,205,0.2)}.cct-dashboard,.cct-widget{font-family:var(--cct-font-body);color:var(--cct-cream);background:var(--cct-navy);box-sizing:border-box}.cct-dashboard *,.cct-widget *{box-sizing:border-box}.cct-dashboard{max-width:1200px;margin:0 auto;border-radius:var(--cct-radius);overflow:hidden;box-shadow:var(--cct-shadow);border:1px solid var(--cct-border)}.cct-header{background:linear-gradient(135deg,#071829 0%,var(--cct-navy) 50%,#0f2d4a 100%);border-bottom:2px solid var(--team-accent);position:relative;overflow:hidden}.cct-header::before{content:'';position:absolute;top:-50%;right:-10%;width:400px;height:400px;background:radial-gradient(circle,rgba(201,151,0,.08) 0%,transparent 70%);pointer-events:none}[data-team="bears"] .cct-header::before{background:radial-gradient(circle,rgba(200,56,3,.08) 0%,transparent 70%)}[data-team="bulls"] .cct-header::before{background:radial-gradient(circle,rgba(206,17,65,.08) 0%,transparent 70%)}[data-team="cubs"] .cct-header::before{background:radial-gradient(circle,rgba(14,51,134,.1) 0%,transparent 70%)}[data-team="white-sox"] .cct-header::before{background:radial-gradient(circle,rgba(196,206,212,.08) 0%,transparent 70%)}[data-team="blackhawks"] .cct-header::before{background:radial-gradient(circle,rgba(207,10,44,.08) 0%,transparent 70%)}[data-team="fire"] .cct-header::before{background:radial-gradient(circle,rgba(255,0,0,.08) 0%,transparent 70%)}[data-team="sky"] .cct-header::before{background:radial-gradient(circle,rgba(80,145,205,.08) 0%,transparent 70%)}.cct-header-inner{display:flex;align-items:center;gap:24px;padding:32px 36px 24px}.cct-logo{width:96px;height:96px;object-fit:contain;filter:drop-shadow(0 4px 16px rgba(0,0,0,.5));flex-shrink:0}.cct-title-block{flex:1}.cct-eyebrow{font-family:var(--cct-font-mono);font-size:10px;letter-spacing:3px;text-transform:uppercase;color:var(--team-accent);opacity:.8}.cct-title{font-family:var(--cct-font-display);font-size:clamp(32px, 5vw, 52px);font-weight:700;color:var(--cct-white);letter-spacing:1.5px;margin:6px 0 4px;line-height:1.05;text-transform:uppercase;text-shadow:0 2px 10px rgba(0,0,0,.6)}.cct-title span{color:var(--team-accent)}.cct-subtitle{font-family:var(--cct-font-mono);font-size:12px;color:var(--cct-cream);letter-spacing:1.5px;text-shadow:0 1px 4px rgba(0,0,0,.4)}.cct-live-badge{display:flex;align-items:center;gap:7px;background:rgba(201,151,0,.12);border:1px solid rgba(201,151,0,.4);border-radius:20px;padding:6px 14px;font-family:var(--cct-font-mono);font-size:10px;letter-spacing:2px;color:var(--team-accent-bright)}[data-team] .cct-live-badge{background:color-mix(in srgb,var(--team-accent) 12%,transparent);border-color:color-mix(in srgb,var(--team-accent) 40%,transparent)}.cct-pulse{width:8px;height:8px;background:var(--team-accent-bright);border-radius:50%;animation:cctPulse 1.5s ease-in-out infinite;flex-shrink:0}@keyframes cctPulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.7)}}.cct-tabs{display:flex;padding:0 28px;gap:4px}.cct-tab{background:none;border:none;border-bottom:3px solid transparent;color:var(--cct-gray);font-family:var(--cct-font-display);font-size:13px;font-weight:500;letter-spacing:1.5px;text-transform:uppercase;padding:12px 18px;cursor:pointer;transition:all 0.2s ease}.cct-tab:hover{color:var(--cct-cream);border-bottom-color:color-mix(in srgb,var(--team-accent) 40%,transparent)}.cct-tab.active{color:var(--team-accent);border-bottom-color:var(--team-accent)}.cct-content{background:var(--cct-navy);min-height:500px}.cct-panel{display:none;padding:32px 36px}.cct-panel.active{display:block;animation:cctFadeIn 0.3s ease}@keyframes cctFadeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.cct-loading{text-align:center;color:var(--cct-gray);font-family:var(--cct-font-mono);font-size:13px;padding:60px 20px;letter-spacing:1px}.cct-loading::after{content:'';display:block;width:30px;height:3px;background:var(--team-accent);margin:12px auto 0;animation:cctLoadBar 1s ease-in-out infinite alternate;border-radius:2px}@keyframes cctLoadBar{from{width:10px}to{width:50px}}.cct-widget{background:var(--cct-navy-mid);border-radius:var(--cct-radius);border:1px solid var(--cct-border);overflow:hidden;margin-bottom:24px}.cct-widget-header{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;border-bottom:1px solid var(--cct-border);flex-wrap:wrap;gap:10px}.cct-widget-header h2{font-family:var(--cct-font-display);font-size:18px;font-weight:600;text-transform:uppercase;letter-spacing:2px;color:var(--cct-white);margin:0}.cct-error,.cct-no-data,.cct-empty-state{text-align:center;color:var(--cct-gray);padding:48px 32px;font-family:var(--cct-font-body);font-size:15px;line-height:1.6;background:rgba(255,255,255,.02);border:1px dashed rgba(255,255,255,.08);border-radius:10px;margin:16px}.cct-empty-state .cct-empty-icon{font-size:40px;margin-bottom:14px;opacity:.4;display:block}.cct-empty-state .cct-empty-title{font-family:var(--cct-font-display);font-size:16px;font-weight:600;text-transform:uppercase;letter-spacing:2px;color:var(--cct-cream);margin-bottom:8px}.cct-empty-state .cct-empty-msg{font-size:14px;color:var(--cct-gray);max-width:400px;margin:0 auto}.cct-schedule-list{padding:8px 0}.cct-game-row{display:grid;grid-template-columns:60px 48px 1fr 120px 80px;align-items:center;gap:12px;padding:12px 24px;border-bottom:1px solid rgba(255,255,255,.04);transition:background 0.15s}.cct-game-row:last-child{border-bottom:none}.cct-game-row:hover{background:rgba(255,255,255,.03)}.cct-game-row.win{border-left:3px solid var(--cct-green)}.cct-game-row.loss{border-left:3px solid var(--cct-red)}.cct-game-row.live{background:color-mix(in srgb,var(--team-accent) 6%,transparent);border-left:3px solid var(--team-accent);animation:cctLivePulse 2s ease-in-out infinite}@keyframes cctLivePulse{0%,100%{background:color-mix(in srgb,var(--team-accent) 6%,transparent)}50%{background:color-mix(in srgb,var(--team-accent) 12%,transparent)}}.cct-game-date{text-align:center;line-height:1}.cct-month{display:block;font-family:var(--cct-font-mono);font-size:9px;text-transform:uppercase;color:var(--team-accent);letter-spacing:1px}.cct-day{display:block;font-family:var(--cct-font-display);font-size:22px;font-weight:700;color:var(--cct-white);line-height:1}.cct-game-location{font-family:var(--cct-font-mono);font-size:9px;letter-spacing:1px;color:var(--cct-gray);text-align:center;background:rgba(255,255,255,.06);border-radius:4px;padding:3px 6px}.cct-game-opponent{display:flex;align-items:center;gap:12px}.cct-opp-logo{width:36px;height:36px;object-fit:contain;border-radius:50%;background:rgba(255,255,255,.05);padding:2px;flex-shrink:0}.cct-opp-info{line-height:1.2}.cct-opp-rank{font-family:var(--cct-font-mono);font-size:10px;color:var(--team-accent);display:block}.cct-opp-name{font-family:var(--cct-font-display);font-size:15px;font-weight:500;color:var(--cct-white)}.cct-game-score{text-align:right}.cct-result-badge{display:inline-block;font-family:var(--cct-font-mono);font-size:11px;font-weight:700;width:22px;height:22px;line-height:22px;text-align:center;border-radius:4px;margin-right:6px}.cct-result-badge.win{background:var(--cct-green);color:#fff}.cct-result-badge.loss{background:var(--cct-red);color:#fff}.cct-score-display{font-family:var(--cct-font-display);font-size:16px;font-weight:600;color:var(--cct-cream)}.cct-live-score{font-family:var(--cct-font-display);font-size:18px;font-weight:700;color:var(--team-accent-bright)}.cct-live-label{font-family:var(--cct-font-mono);font-size:9px;color:var(--team-accent);display:block;letter-spacing:2px}.cct-game-time{font-family:var(--cct-font-mono);font-size:12px;color:var(--cct-gray)}.cct-game-network{font-family:var(--cct-font-mono);font-size:9px;color:var(--cct-gray);text-align:center;opacity:.7}.cct-roster-controls{display:flex;gap:10px;flex-wrap:wrap}.cct-search,.cct-pos-filter{background:rgba(255,255,255,.07);border:1px solid var(--cct-border);border-radius:8px;color:var(--cct-cream);font-family:var(--cct-font-body);font-size:13px;padding:8px 14px;outline:none;transition:border-color 0.2s}.cct-search{min-width:180px}.cct-pos-filter{cursor:pointer}.cct-search:focus,.cct-pos-filter:focus{border-color:var(--team-accent)}.cct-search::placeholder{color:var(--cct-gray)}.cct-pos-filter option{background:var(--cct-navy)}.cct-roster-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:16px;padding:20px 24px}.cct-player-card{display:block;text-decoration:none;color:inherit;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);border-radius:10px;overflow:hidden;transition:all 0.2s ease;cursor:pointer}.cct-player-card:hover{border-color:var(--team-accent);transform:translateY(-3px);box-shadow:0 8px 24px rgba(0,0,0,.3)}.cct-player-img-wrap{position:relative;background:linear-gradient(180deg,var(--cct-navy-light) 0%,#061421 100%);padding-top:10px;text-align:center}.cct-player-img-wrap img{width:90px;height:90px;object-fit:cover;object-position:top;border-radius:50%;border:2px solid color-mix(in srgb,var(--team-accent) 30%,transparent);display:block;margin:0 auto}.cct-jersey{position:absolute;top:8px;left:8px;font-family:var(--cct-font-display);font-size:12px;font-weight:700;color:var(--team-accent);background:rgba(0,0,0,.5);padding:2px 6px;border-radius:4px}.cct-pos-badge{position:absolute;top:8px;right:8px;font-family:var(--cct-font-mono);font-size:9px;color:var(--cct-navy);background:var(--team-accent);padding:2px 6px;border-radius:4px;font-weight:700}.cct-player-info{padding:10px;text-align:center}.cct-player-name{font-family:var(--cct-font-display);font-size:13px;font-weight:600;color:var(--cct-white);line-height:1.2;text-transform:uppercase;letter-spacing:.5px}.cct-player-meta,.cct-player-hometown{font-size:10px;color:var(--cct-gray);margin-top:3px;font-family:var(--cct-font-mono)}.cct-stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:0}.cct-stats-sections{display:flex;flex-direction:column;gap:0}.cct-stat-section{border-bottom:1px solid var(--cct-border)}.cct-stat-section:last-child{border-bottom:none}.cct-stat-section-header{font-family:var(--cct-font-display);font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:2.5px;color:var(--team-accent-bright);padding:16px 24px 8px;border-bottom:2px solid var(--team-accent);background:rgba(255,255,255,.015)}.cct-stat-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.12) transparent}.cct-stat-category{padding:20px 24px;border-right:1px solid var(--cct-border);border-bottom:1px solid var(--cct-border)}.cct-stat-category h3{font-family:var(--cct-font-display);font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:2px;color:var(--team-accent);margin:0 0 14px}.cct-stat-table{width:100%;border-collapse:collapse;font-size:13px;min-width:380px}.cct-stat-table thead th{font-family:var(--cct-font-mono);font-size:10px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--cct-gray);text-align:left;padding:0 0 8px;border-bottom:1px solid rgba(255,255,255,.08)}.cct-stat-table thead th:last-child{text-align:right}.cct-sth-stat{text-align:left!important;width:55%}.cct-sth-team,.cct-sth-opp{text-align:right!important;width:22.5%;color:var(--cct-cream)}.cct-sth-opp{color:var(--cct-gray)}.cct-stat-tr{border-bottom:1px solid rgba(255,255,255,.04);transition:background 0.15s}.cct-stat-tr:last-child{border-bottom:none}.cct-stat-tr:hover{background:rgba(255,255,255,.03)}.cct-stat-name{font-family:var(--cct-font-body);font-size:13px;color:var(--cct-cream);padding:8px 8px 8px 0}.cct-stat-abbr{font-family:var(--cct-font-mono);font-size:10px;color:var(--cct-gray);padding:8px 8px;letter-spacing:1px}.cct-stat-val{font-family:var(--cct-font-mono);font-size:13px;font-weight:700;color:var(--team-accent-bright);text-align:right;padding:8px 8px}.cct-stat-opp{font-family:var(--cct-font-mono);font-size:13px;font-weight:400;color:var(--cct-gray);text-align:right;padding:8px 0 8px 8px}.cct-scoreboard-widget{position:relative}.cct-scoreboard-widget.live{border-color:color-mix(in srgb,var(--team-accent) 50%,transparent)}.cct-live-banner{display:flex;align-items:center;justify-content:center;gap:8px;background:var(--team-accent);color:var(--cct-navy);font-family:var(--cct-font-mono);font-size:11px;font-weight:700;letter-spacing:3px;padding:6px}.cct-matchup{display:flex;align-items:center;justify-content:space-between;padding:30px 40px;gap:20px}.cct-team-side{text-align:center;flex:1}.cct-team-side img{width:90px;height:90px;object-fit:contain;margin-bottom:10px}.cct-team-name{font-family:var(--cct-font-display);font-size:18px;font-weight:600;text-transform:uppercase;color:var(--cct-white)}.cct-team-record{font-family:var(--cct-font-mono);font-size:11px;color:var(--cct-gray);margin-top:2px}.cct-big-score{font-family:var(--cct-font-display);font-size:64px;font-weight:700;color:var(--team-accent);line-height:1;margin-top:12px}.cct-vs-block{text-align:center;flex-shrink:0}.cct-at{font-family:var(--cct-font-display);font-size:28px;color:var(--cct-gray);display:block;margin-bottom:6px}.cct-game-status{font-family:var(--cct-font-display);font-size:24px;color:var(--team-accent);font-weight:700}.cct-game-period{font-family:var(--cct-font-mono);font-size:12px;color:var(--cct-gray)}.cct-venue{text-align:center;font-family:var(--cct-font-mono);font-size:11px;color:var(--cct-gray);padding:0 20px 16px;opacity:.7}.cct-no-game{text-align:center;color:var(--cct-gray);padding:40px 20px;font-family:var(--cct-font-body)}.cct-team-banner{display:flex;align-items:center;gap:24px;padding:24px;background:linear-gradient(135deg,#071829,var(--cct-navy-mid))}.cct-hero-logo{width:100px;height:100px;object-fit:contain;filter:drop-shadow(0 4px 20px rgba(0,0,0,.5))}.cct-team-full-name{font-family:var(--cct-font-display);font-size:28px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--cct-white)}.cct-season-record{font-family:var(--cct-font-mono);font-size:14px;color:var(--team-accent);margin-top:4px}.cct-team-venue,.cct-team-conf{font-family:var(--cct-font-body);font-size:14px;color:var(--cct-gray);margin-top:2px}@media (max-width:768px){.cct-header-inner{flex-wrap:wrap;gap:14px;padding:24px 20px 18px}.cct-logo{width:72px;height:72px}.cct-title{font-size:clamp(28px, 6vw, 40px)}.cct-live-badge{display:none}.cct-tabs{padding:0 16px;overflow-x:auto;scrollbar-width:none}.cct-panel{padding:20px 16px}.cct-content{min-height:350px}.cct-game-row{grid-template-columns:48px 40px 1fr 90px;font-size:13px;padding:10px 16px}.cct-game-network{display:none}.cct-matchup{padding:20px;flex-direction:row}.cct-big-score{font-size:40px}.cct-roster-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;padding:14px}.cct-stats-grid{grid-template-columns:1fr}.cct-stat-section-header{padding:12px 16px 6px;font-size:11px}.cct-stat-name{font-size:12px}.cct-stat-val,.cct-stat-opp{font-size:12px}.cct-widget-header{padding:14px 16px}.cct-roster-controls{flex-direction:column}.cct-search{min-width:100%}.cct-empty-state{padding:32px 16px;margin:10px}}@media (max-width:480px){.cct-game-row{grid-template-columns:44px 1fr 80px}.cct-game-location{display:none}}.cct-schedule-widget,.cct-roster-widget,.cct-stats-widget,.cct-scoreboard-widget,.cct-team-info-widget{max-width:1100px;margin:0 auto 24px}