*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --bg:#0f172a;
  --surface:#1e293b;
  --surface-raised:#334155;
  --text:#e2e8f0;
  --text-muted:#94a3b8;
  --accent:#f59e0b;
  --accent-dim:#b45309;
  --danger:#ef4444;
  --success:#22c55e;
  --warn:#eab308;
  --border:#475569;
  --radius:8px;
  --font:system-ui,-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  --mono:'SF Mono',Cascadia Code,Consolas,monospace;
}
html{font-size:16px;scroll-behavior:smooth}
body{
  font-family:var(--font);
  background:var(--bg);
  color:var(--text);
  line-height:1.5;
  min-height:100vh;
  display:flex;
  flex-direction:column;
}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}

.site-header{
  background:var(--surface);
  border-bottom:1px solid var(--border);
  position:sticky;top:0;z-index:10;
}
.header-inner{
  max-width:1280px;margin:0 auto;padding:0 1rem;
  display:flex;align-items:center;justify-content:space-between;
  height:56px;
}
.logo{
  display:flex;align-items:center;gap:0.5rem;
  font-weight:700;font-size:1.1rem;color:var(--text);
  text-decoration:none;
}
.logo:hover{text-decoration:none}
.site-nav{display:flex;gap:1.5rem}
.site-nav a{color:var(--text-muted);font-size:0.9rem;font-weight:500}
.site-nav a:hover{color:var(--text);text-decoration:none}

.dashboard{max-width:1280px;margin:0 auto;padding:1.5rem 1rem;flex:1}

.controls-bar{
  display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-end;
  background:var(--surface);padding:1rem;border-radius:var(--radius);
  margin-bottom:1.25rem;
}
.control-group{display:flex;flex-direction:column;gap:0.35rem}
.control-label,.control-group label{font-size:0.8rem;color:var(--text-muted);font-weight:600;text-transform:uppercase;letter-spacing:0.04em}
.control-group select{
  background:var(--bg);color:var(--text);border:1px solid var(--border);
  padding:0.5rem 2rem 0.5rem 0.75rem;border-radius:var(--radius);
  font-size:0.9rem;cursor:pointer;appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M6 8L1 3h10z' fill='%2394a3b8'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 0.6rem center;
}
.year-btn-group{display:flex;gap:0.35rem}
.year-btn{
  background:var(--bg);color:var(--text-muted);border:1px solid var(--border);
  padding:0.4rem 0.75rem;border-radius:var(--radius);font-size:0.85rem;
  cursor:pointer;font-weight:500;transition:all 0.15s;
}
.year-btn:hover{color:var(--text);border-color:var(--accent)}
.year-btn.active{background:var(--accent);color:#0f172a;border-color:var(--accent);font-weight:700}
.btn-secondary{
  display:inline-flex;align-items:center;gap:0.4rem;
  background:var(--surface-raised);color:var(--text);border:1px solid var(--border);
  padding:0.5rem 1rem;border-radius:var(--radius);font-size:0.85rem;
  cursor:pointer;font-weight:500;
}
.btn-secondary:hover{background:var(--border)}

.timeline-strip{
  background:var(--surface);border-radius:var(--radius);padding:1rem;
  margin-bottom:1.25rem;overflow-x:auto;
}
.timeline-track{display:flex;gap:0.5rem;min-width:min-content}
.timeline-dot{
  width:12px;height:12px;border-radius:50%;background:var(--accent);
  flex-shrink:0;margin-top:4px;
}
.timeline-item{
  display:flex;align-items:flex-start;gap:0.5rem;
  padding:0.4rem 0.75rem;border-radius:var(--radius);
  background:var(--bg);font-size:0.85rem;white-space:nowrap;
  cursor:pointer;border:1px solid transparent;transition:border-color 0.15s;
}
.timeline-item:hover{border-color:var(--accent)}
.timeline-item .year-badge{
  font-weight:700;color:var(--accent);font-size:0.8rem;
}
.timeline-item .team-name{color:var(--text)}
.timeline-item .arrow{color:var(--text-muted);margin:0 0.25rem}

.main-content{display:grid;grid-template-columns:1fr 320px;gap:1.25rem;margin-bottom:1.5rem}
@media(max-width:860px){.main-content{grid-template-columns:1fr}}

.section-heading{font-size:1.1rem;font-weight:700;margin-bottom:0.75rem;color:var(--text)}

.moves-list{display:flex;flex-direction:column;gap:0.75rem}
.move-card{
  background:var(--surface);border-radius:var(--radius);padding:1rem;
  border:1px solid transparent;cursor:pointer;transition:border-color 0.15s;
}
.move-card:hover{border-color:var(--accent)}
.move-card.active{border-color:var(--accent);background:var(--surface-raised)}
.move-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:0.5rem}
.move-card-header .school{font-weight:700;font-size:1rem}
.move-card-header .year-tag{
  font-size:0.8rem;background:var(--accent);color:#0f172a;
  padding:0.15rem 0.5rem;border-radius:4px;font-weight:700;
}
.move-card-detail{font-size:0.85rem;color:var(--text-muted)}
.move-card-detail span{color:var(--text)}
.move-card-expanded{margin-top:0.75rem;padding-top:0.75rem;border-top:1px solid var(--border);display:none}
.move-card.active .move-card-expanded{display:block}
.move-card-expanded dl{display:grid;grid-template-columns:auto 1fr;gap:0.35rem 0.75rem;font-size:0.85rem}
.move-card-expanded dt{color:var(--text-muted)}
.move-card-expanded dd{color:var(--text)}

.empty-state{
  text-align:center;padding:2rem;color:var(--text-muted);
  background:var(--surface);border-radius:var(--radius);
}

.impact-panel{background:var(--surface);border-radius:var(--radius);padding:1rem;align-self:start}
.impact-placeholder{color:var(--text-muted);font-size:0.9rem}
.impact-card h3{font-size:1.2rem;margin-bottom:0.75rem}
.impact-stats{display:grid;grid-template-columns:1fr 1fr;gap:0.5rem;font-size:0.85rem}
.impact-stats dt{color:var(--text-muted);font-weight:600}
.impact-stats dd{color:var(--text);font-weight:500}
.rivalry-table-wrap{margin-top:1rem}
.rivalry-table-wrap h4{font-size:0.9rem;margin-bottom:0.5rem;color:var(--text-muted)}
.rivalry-table{width:100%;border-collapse:collapse;font-size:0.85rem}
.rivalry-table th{text-align:left;color:var(--text-muted);font-weight:600;padding:0.35rem 0;border-bottom:1px solid var(--border)}
.rivalry-table td{padding:0.35rem 0;border-bottom:1px solid var(--border)}
.status-badge{display:inline-block;padding:0.15rem 0.5rem;border-radius:4px;font-size:0.75rem;font-weight:700}
.status-protected{background:#14532d;color:var(--success)}
.status-atrisk{background:#422006;color:var(--warn)}
.status-lost{background:#450a0a;color:var(--danger)}

.support-content{background:var(--surface);border-radius:var(--radius);padding:1.5rem;margin-bottom:1.5rem}
.support-inner{max-width:720px}
.support-content h2{font-size:1.3rem;margin-bottom:0.75rem;color:var(--accent)}
.support-content h3{font-size:1rem;margin-top:1.25rem;margin-bottom:0.5rem;color:var(--text)}
.support-content p{font-size:0.9rem;color:var(--text-muted);margin-bottom:0.75rem;line-height:1.6}
.support-content strong{color:var(--text)}

.site-footer{
  background:var(--surface);border-top:1px solid var(--border);
  padding:1rem;text-align:center;font-size:0.85rem;color:var(--text-muted);
  margin-top:auto;
}
.footer-inner{max-width:1280px;margin:0 auto}
.footer-note{font-size:0.8rem;margin-top:0.35rem}

@media(max-width:600px){
  .controls-bar{flex-direction:column;align-items:stretch}
  .year-btn-group{flex-wrap:wrap}
  .impact-stats{grid-template-columns:1fr}
}



/* Factory-injected deployment helpers. The AI owns the site design above this block. */
.ad-unit {
  width: min(100%, 720px);
  min-height: 120px;
  margin: 24px auto;
  display: block;
}

.legal-page {
  width: min(900px, calc(100% - 32px));
  margin: 40px auto;
}

.factory-fallback-nav {
  width: min(900px, calc(100% - 32px));
  margin: 24px auto 0;
  display: flex;
  flex-wrap: wrap;
  gap: 10px 16px;
  align-items: center;
  font-size: 0.95rem;
}

.factory-fallback-nav a {
  color: inherit;
  text-decoration: none;
  border-bottom: 1px solid currentColor;
}
