/* ═══ HISTORY DASHBOARD ═══ */

/* Hero */
.hd-hero{position:relative;padding:48px 0 40px;border-bottom:1px solid var(--border);background:linear-gradient(180deg,rgba(79,38,131,.06) 0%,rgba(255,184,0,.015) 40%,transparent 80%);overflow:hidden}
.hd-hero::before{content:'';position:absolute;top:-100px;right:-200px;width:600px;height:600px;background:radial-gradient(circle,rgba(79,38,131,.06) 0%,transparent 70%);pointer-events:none}
.hd-title{font-family:'Oswald',sans-serif;font-size:clamp(36px,6vw,64px);font-weight:700;line-height:1;color:var(--text-1);text-transform:uppercase;letter-spacing:-.02em}
.hd-title span{color:var(--gold);display:block;font-size:.45em;letter-spacing:.08em;margin-top:4px}
.hd-sub{font-size:15px;color:var(--text-2);line-height:1.65;max-width:580px;margin-top:14px}
.hd-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin-top:28px;max-width:900px}
.hd-stat{padding:14px 16px;background:rgba(255,255,255,.02);border:1px solid var(--border);border-radius:var(--radius);position:relative;overflow:hidden}
.hd-stat::after{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--gold);opacity:.15;transition:opacity .3s}
.hd-stat:hover::after{opacity:.5}
.hd-stat-v{font-family:'Oswald',sans-serif;font-size:28px;font-weight:700;color:var(--gold);line-height:1.1}
.hd-stat-l{font-family:'Oswald',sans-serif;font-size:10px;font-weight:700;color:var(--text-3);text-transform:uppercase;letter-spacing:.1em;margin-top:2px}

/* Section headers */
.hd-sh{display:flex;align-items:center;gap:12px;margin-bottom:20px}
.hd-sh-t{font-family:'Oswald',sans-serif;font-size:18px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-2);white-space:nowrap}
.hd-sh-line{flex:1;height:1px;background:var(--border)}
.hd-sh-sub{font-family:'DM Sans',sans-serif;font-size:11px;color:var(--text-3);white-space:nowrap}

/* Chart section */
.hd-chart-wrap{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px 8px 8px;margin-top:8px}
.hd-chart-svg{width:100%;height:auto;display:block;cursor:crosshair}
.chart-dot{transition:r .15s,fill .15s;pointer-events:none}
.chart-hit{cursor:pointer;fill:transparent;stroke:none}
.chart-hit:hover+.chart-dot,.chart-dot.hl{r:5;fill:var(--gold)}
.hd-chart-legend{display:flex;gap:16px;padding:8px 12px 0;flex-wrap:wrap}
.hd-chart-legend span{font-family:'Oswald',sans-serif;font-size:10px;font-weight:600;color:var(--text-3);text-transform:uppercase;letter-spacing:.06em;display:flex;align-items:center;gap:4px}
.hd-chart-legend span i{display:inline-block;width:12px;height:3px;border-radius:2px}

/* Tooltip */
#tip{position:fixed;z-index:200;pointer-events:none;background:rgba(18,20,26,.96);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius);padding:12px 14px;min-width:200px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 12px 40px rgba(0,0,0,.6);display:none;transition:opacity .12s}
#tip .tp-yr{font-family:'Oswald',sans-serif;font-size:22px;font-weight:700;color:var(--gold);line-height:1}
#tip .tp-rec{font-family:'Oswald',sans-serif;font-size:15px;font-weight:700;color:var(--text-1);margin-top:2px}
#tip .tp-pct-wrap{height:4px;background:rgba(255,255,255,.06);border-radius:2px;margin:6px 0;overflow:hidden}
#tip .tp-pct-bar{height:100%;border-radius:2px;transition:width .2s}
#tip .tp-row{font-size:11px;color:var(--text-3);line-height:1.5;display:flex;justify-content:space-between;gap:12px}
#tip .tp-row b{color:var(--text-2);font-weight:600}
#tip .tp-po{font-family:'Oswald',sans-serif;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;margin-top:4px;padding:3px 8px;border-radius:3px;display:inline-block}

/* Decade Pulse */
.dp-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px}
.dp-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px;transition:border-color .2s,transform .2s;cursor:default}
.dp-card:hover{border-color:rgba(255,255,255,.1);transform:translateY(-1px)}
.dp-dec{font-family:'Oswald',sans-serif;font-size:20px;font-weight:700;color:var(--text-1)}
.dp-rec{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--text-2);margin-top:2px}
.dp-bar-wrap{height:4px;background:rgba(255,255,255,.04);border-radius:2px;margin:8px 0 6px;overflow:hidden}
.dp-bar{height:100%;border-radius:2px}
.dp-meta{font-family:'Oswald',sans-serif;font-size:9px;font-weight:600;color:var(--text-3);text-transform:uppercase;letter-spacing:.08em;display:flex;justify-content:space-between}

/* Season Explorer Grid */
.sg-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(68px,1fr));gap:4px}
.sg-cell{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:6px 4px;text-align:center;cursor:pointer;transition:all .15s;position:relative}
.sg-cell:hover,.sg-cell.hl{border-color:rgba(255,255,255,.15);transform:scale(1.04);z-index:2;box-shadow:0 4px 16px rgba(0,0,0,.4)}
.sg-cell.active{border-color:var(--gold);box-shadow:0 0 12px rgba(255,184,0,.15)}
.sg-cell.sb-yr{border-top:2px solid var(--gold)}
.sg-yr{font-family:'JetBrains Mono',monospace;font-size:9px;color:var(--text-3);letter-spacing:.02em}
.sg-wl{font-family:'Oswald',sans-serif;font-size:13px;font-weight:700;color:var(--text-1);margin-top:1px}
.sg-po-dot{width:4px;height:4px;border-radius:50%;margin:3px auto 0}
.sg-detail{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-top:8px;overflow:hidden;max-height:0;opacity:0;transition:max-height .5s ease,opacity .3s ease,margin .3s ease,padding .3s ease}
.sg-detail.open{max-height:600px;opacity:1;padding:20px;margin-top:12px}
.sg-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}
.sg-d-title{font-family:'Oswald',sans-serif;font-size:28px;font-weight:700;color:var(--gold)}
.sg-d-record{font-family:'Oswald',sans-serif;font-size:18px;font-weight:700;color:var(--text-1);margin-top:2px}
.sg-d-label{font-family:'Oswald',sans-serif;font-size:10px;font-weight:600;color:var(--text-3);text-transform:uppercase;letter-spacing:.08em;margin-top:10px}
.sg-d-val{font-size:13px;color:var(--text-2);margin-top:2px}
.sg-d-close{position:absolute;top:12px;right:14px;background:none;border:none;color:var(--text-3);font-size:18px;cursor:pointer;padding:4px;transition:color .15s}
.sg-d-close:hover{color:var(--text-1)}

/* Coaching Dynasties */
.cd-rows{display:flex;flex-direction:column;gap:6px}
.cd-row{display:flex;align-items:center;gap:10px}
.cd-info{width:140px;flex-shrink:0}
.cd-name{font-family:'Oswald',sans-serif;font-size:13px;font-weight:700;color:var(--text-1);text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cd-yrs{font-family:'JetBrains Mono',monospace;font-size:9px;color:var(--text-3)}
.cd-bar-wrap{flex:1;height:28px;background:rgba(255,255,255,.02);border-radius:var(--radius-sm);overflow:hidden;position:relative}
.cd-bar{height:100%;border-radius:var(--radius-sm);display:flex;align-items:center;padding:0 10px;transition:width 1.2s ease;min-width:0}
.cd-bar span{font-family:'Oswald',sans-serif;font-size:10px;font-weight:700;color:rgba(0,0,0,.7);white-space:nowrap;letter-spacing:.03em}
.cd-stat{font-family:'JetBrains Mono',monospace;font-size:10px;color:var(--text-3);width:48px;text-align:right;flex-shrink:0}
@media(max-width:600px){.cd-info{width:90px}.cd-name{font-size:11px}}

/* Super Bowl Theater */
.sb-timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;position:relative}
.sb-timeline::before{content:'';position:absolute;top:26px;left:10%;right:10%;height:2px;background:linear-gradient(90deg,transparent,rgba(255,184,0,.2),rgba(255,184,0,.4),rgba(255,184,0,.2),transparent);z-index:0}
.sb-tcard{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px;position:relative;z-index:1;text-align:center;transition:border-color .2s,transform .2s,box-shadow .2s}
.sb-tcard:hover{border-color:rgba(255,184,0,.2);transform:translateY(-3px);box-shadow:0 8px 32px rgba(0,0,0,.4)}
.sb-num{font-family:'Oswald',sans-serif;font-size:32px;font-weight:700;color:var(--gold);line-height:1}
.sb-date{font-family:'Oswald',sans-serif;font-size:10px;font-weight:600;color:var(--text-3);text-transform:uppercase;letter-spacing:.08em;margin-top:2px}
.sb-score{font-family:'Oswald',sans-serif;font-size:14px;font-weight:700;color:var(--text-1);margin-top:10px;line-height:1.3}
.sb-venue{font-size:11px;color:var(--text-3);margin-top:4px}
.sb-att{font-family:'JetBrains Mono',monospace;font-size:9px;color:var(--text-3);margin-top:6px}
@media(max-width:767px){
  .sb-timeline{grid-template-columns:1fr 1fr;gap:8px}
  .sb-timeline::before{display:none}
}
@media(max-width:480px){.sb-timeline{grid-template-columns:1fr}}

/* Points Differential */
.pd-chart-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px 8px 8px}
.pd-svg{width:100%;height:auto;display:block}

/* Stadium Evolution */
.st-bar{display:flex;height:48px;border-radius:var(--radius);overflow:hidden;border:1px solid var(--border)}
.st-seg{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:1px;transition:filter .2s;position:relative}
.st-seg:hover{filter:brightness(1.2)}
.st-seg-name{font-family:'Oswald',sans-serif;font-size:10px;font-weight:700;color:rgba(0,0,0,.8);text-transform:uppercase;letter-spacing:.03em;text-align:center;line-height:1.1}
.st-seg-yr{font-family:'JetBrains Mono',monospace;font-size:8px;color:rgba(0,0,0,.5)}
.st-labels{display:flex;justify-content:space-between;margin-top:6px}
.st-labels span{font-family:'JetBrains Mono',monospace;font-size:9px;color:var(--text-3)}

/* Record Book */
.rb-tabs{display:flex;gap:2px;margin-bottom:12px}
.rb-tab{padding:6px 14px;background:transparent;border:1px solid var(--border);border-radius:20px;font-family:'Oswald',sans-serif;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-3);cursor:pointer;transition:all .15s}
.rb-tab.active{background:var(--gold);color:#0B0D11;border-color:var(--gold)}
.rb-panel{display:none}
.rb-panel.active{display:block}

/* Narrative Accordion */
.na-section{border-bottom:1px solid var(--border)}
.na-hdr{display:flex;align-items:center;justify-content:space-between;padding:16px 0;cursor:pointer;gap:12px;border:none;background:none;width:100%;text-align:left}
.na-hdr:hover .na-title{color:var(--gold)}
.na-title{font-family:'Oswald',sans-serif;font-size:18px;font-weight:700;color:var(--text-1);text-transform:uppercase;letter-spacing:.02em;transition:color .15s}
.na-yr{font-family:'Oswald',sans-serif;font-size:12px;font-weight:600;color:var(--text-3)}
.na-arrow{width:16px;height:16px;color:var(--text-3);transition:transform .3s;flex-shrink:0}
.na-section.open .na-arrow{transform:rotate(180deg)}
.na-body{max-height:0;overflow:hidden;transition:max-height .5s ease}
.na-section.open .na-body{max-height:3000px}
.na-body-inner{padding:0 0 20px}
.na-body-inner p{font-size:14px;color:#B0B0C0;line-height:1.75;margin-bottom:14px}
.na-body-inner p.lead{font-size:15px;color:#C8C8D8;font-style:italic;border-left:3px solid #7B6BAA;padding-left:14px;margin-bottom:20px}
.na-body-inner h3{font-family:'Oswald',sans-serif;font-size:16px;font-weight:700;color:var(--gold);margin:20px 0 6px}

/* Dashboard Layout */
.hd-layout{display:grid;grid-template-columns:1fr;gap:0}
@media(min-width:1100px){.hd-layout{grid-template-columns:160px 1fr;gap:28px}}
.hd-sidebar{display:none}
@media(min-width:1100px){.hd-sidebar{display:block}}
.hd-nav{position:sticky;top:60px;padding:16px 0}
.hd-nav a{display:block;font-family:'Oswald',sans-serif;font-size:11px;font-weight:600;color:var(--text-3);text-transform:uppercase;letter-spacing:.04em;padding:6px 0 6px 12px;border-left:2px solid transparent;transition:all .15s;text-decoration:none}
.hd-nav a:hover{color:var(--text-2)}
.hd-nav a.active{color:var(--gold);border-left-color:var(--gold);background:rgba(255,184,0,.03)}
.hd-main{min-width:0}

/* Section spacing */
.hd-section{padding:36px 0;border-bottom:1px solid var(--border)}
.hd-section:last-child{border-bottom:none}

/* Scroll reveal — now CSS-only via animation */

/* Responsive */
@media(max-width:767px){
  .hd-stats{grid-template-columns:repeat(3,1fr);gap:6px}
  .hd-stat{padding:10px 12px}
  .hd-stat-v{font-size:22px}
  .sg-grid{grid-template-columns:repeat(auto-fill,minmax(58px,1fr));gap:3px}
  .sg-cell{padding:5px 3px}
  .sg-wl{font-size:11px}
  .cd-row{flex-wrap:wrap}
  .cd-bar-wrap{min-width:120px}
}