:root{ --bg:#0b0f19; --fg:#f8fafc; --accent:#ff6b00; --muted:#94a3b8; --card:#0f172a; --line:#1f2937; }
*{ box-sizing:border-box }
html,body{ margin:0; font:16px/1.5 system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, "Helvetica Neue", Arial, "Noto Sans", "Apple Color Emoji", "Segoe UI Emoji"; color:#0b1220; }
.container{ max-width:1100px; margin:0 auto; padding:16px; }
.site-header{ position:sticky; top:0; z-index:10; background:#fff; border-bottom:1px solid #e5e7eb; }
.header-inner{ display:flex; align-items:center; gap:12px; }
.brand{ display:flex; align-items:center; gap:12px; }
.logo{ width:36px; height:36px; border-radius:12px; background:var(--accent); color:#fff; display:flex; align-items:center; justify-content:center; font-weight:700; }
.titles .site{ font-weight:600 }
.titles .sub{ color:#6b7280; font-size:12px }
.topnav{ margin-left:auto; display:flex; gap:12px }
.topnav a{ color:#111827; text-decoration:none; padding:8px 10px; border-radius:8px }
.topnav a:hover{ background:#f3f4f6 }
.site-footer{ border-top:1px solid #e5e7eb; background:#fff; color:#6b7280 }
.foot-inner{ display:flex; justify-content:space-between; gap:12px }
.hero{ padding:24px 0 }
.hero h1{ font-size:28px; margin:0 0 6px 0 }
.muted{ color:#64748b }
.search input{ width:100%; padding:12px 14px; border:1px solid #e5e7eb; border-radius:12px }
.venue-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:12px; margin:12px 0 32px }
.card{ background:#fff; border:1px solid #e5e7eb; border-radius:16px; padding:14px; text-decoration:none; color:inherit }
.card-head{ display:flex; align-items:center; justify-content:space-between; gap:8px }
.pill{ border:1px solid #e5e7eb; border-radius:999px; padding:2px 8px; font-size:12px; color:#475569 }
.facts{ display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:8px }
.facts dt{ color:#64748b }
.facts dd{ font-weight:600; margin:0 }
.updated{ margin-top:6px; font-size:12px }
.tabs{ display:flex; gap:10px; overflow:auto; padding-bottom:8px; border-bottom:1px solid #e5e7eb; margin-bottom:16px }
.tabs a{ text-decoration:none; color:#111827; padding:8px 10px; border-radius:10px }
.tabs a:hover{ background:#f3f4f6 }
.venue-head h1{ margin:8px 0 }
.quickfacts{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin:10px 0 16px }
.quickfacts div{ background:#fff; border:1px solid #e5e7eb; border-radius:12px; padding:10px }
.quickfacts span{ display:block; color:#64748b; font-size:12px }
.quickfacts strong{ font-size:16px }
.block{ background:#fff; border:1px solid #e5e7eb; border-radius:16px; padding:14px; margin:12px 0 }
.bullets{ margin:0; padding-left:20px }
.rows{ display:grid; grid-template-columns:1fr 1fr; gap:8px }
.rows dt{ color:#64748b }
.rows dd{ margin:0; font-weight:600 }
.grid.two{ display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:12px }
.btn{ display:inline-block; background:var(--accent); color:#fff; padding:10px 14px; border-radius:12px; text-decoration:none }
.downloads ul{ list-style:none; padding:0; margin:0 }
.downloads li{ margin:6px 0 }
@media (prefers-color-scheme: dark){ body{ background:var(--bg); color:var(--fg) } .site-header,.site-footer,.block,.card,.quickfacts div{ background:var(--card); border-color:var(--line) } .topnav a{ color:var(--fg) } .topnav a:hover{ background:#0b1220 } .muted{ color:var(--muted) } .facts dt,.rows dt{ color:var(--muted) } .search input{ background:#0b1220; border-color:#1e293b; color:var(--fg) } }
@media print{ .site-header,.site-footer,.topnav{ display:none } body{ background:#fff; color:#000 } .block,.card,.quickfacts div{ break-inside:avoid } }
