/* ============================================================
   LeTourDB — Qullamaggie Screens wrapper template
   One shared stylesheet for the hub + the three group index pages.
   Tokens, fonts and nav lifted verbatim from the live site index.html
   so the section is visually identical to the dashboard / archives.
   The screens themselves are uploaded untouched (own per-group styling);
   this only styles the navigation shell around them.
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@300;400;500&family=DM+Sans:wght@300;400;500;600&display=swap');

:root{
  --bg:#0b0e13;--surface:#111520;--surface2:#161b26;--surface3:#1c2130;
  --border:#222840;--border2:#2a3050;
  --text:#e4e8f2;--text-muted:#7a85a0;--text-dim:#424d68;
  --green:#22c55e;--red:#ef4444;--amber:#f59e0b;--blue:#60a5fa;--blue-bg:#0a1628;
  --accent:#818cf8;--gold:#fbbf24;--au-gold:#c9a227;
}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:'DM Sans',sans-serif;background:var(--bg);color:var(--text);min-height:100vh;font-size:14px;line-height:1.6}
::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:var(--bg)}
::-webkit-scrollbar-thumb{background:var(--border2);border-radius:3px}
a{color:inherit}

/* ---- top nav (identical to site) ---- */
nav{background:var(--surface);border-bottom:1px solid var(--border2);padding:0 32px;display:flex;align-items:center;height:52px;position:sticky;top:0;z-index:100}
.nav-logo{font-family:'DM Mono',monospace;font-size:15px;font-weight:500;color:var(--text);letter-spacing:.04em;margin-right:32px;text-decoration:none}
.nav-logo span{color:var(--accent)}
.nav-links{display:flex;height:100%}
.nav-links a{font-family:'DM Mono',monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);text-decoration:none;padding:0 16px;display:flex;align-items:center;border-bottom:2px solid transparent;transition:all .15s}
.nav-links a:hover{color:var(--text)}
.nav-links a.active{color:var(--accent);border-bottom-color:var(--accent)}
.nav-right{margin-left:auto;font-family:'DM Mono',monospace;font-size:10px;color:var(--text-dim)}

/* ---- hero (identical to site) ---- */
.hero{padding:40px 32px 32px;border-bottom:1px solid var(--border)}
.hero-in{max-width:1200px;margin:0 auto}
.hero h1{font-family:'DM Mono',monospace;font-size:24px;font-weight:400;letter-spacing:.04em}
.hero .sub{font-family:'DM Mono',monospace;font-size:11px;color:var(--text-dim);letter-spacing:.08em;margin-top:6px}
.crumb{font-family:'DM Mono',monospace;font-size:10px;color:var(--text-dim);letter-spacing:.06em;text-transform:uppercase;margin-bottom:14px}
.crumb a{color:var(--text-dim);text-decoration:none}
.crumb a:hover{color:var(--text-muted)}

/* ---- container + section title ---- */
.container{max-width:1200px;margin:0 auto;padding:32px}
.section-title{font-family:'DM Mono',monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim);margin-bottom:16px;padding-bottom:8px;border-bottom:1px solid var(--border)}

/* ---- hub: group cards (modelled on .market-card) ---- */
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;margin-bottom:40px}
.gcard{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden;text-decoration:none;color:inherit;transition:border-color .15s,transform .15s}
.gcard:hover{border-color:var(--accent);transform:translateY(-2px)}
.gcard .ghead{padding:16px 20px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:10px}
.gcard .ghead.us{background:linear-gradient(90deg,#0a1020,#0b1428)}
.gcard .ghead.asx{background:linear-gradient(90deg,#0f1208,#131a08)}
.gcard .gtitle{font-family:'DM Mono',monospace;font-size:12px;font-weight:500;letter-spacing:.1em;text-transform:uppercase}
.gcard .gtitle.us{color:var(--blue)}
.gcard .gtitle.asx{color:var(--au-gold)}
.gcard .gtag{font-family:'DM Mono',monospace;font-size:9px;color:var(--text-dim);margin-left:auto;letter-spacing:.06em}
.gcard .gbody{padding:20px;display:flex;flex-direction:column;gap:6px}
.gcard .glatest{font-family:'DM Mono',monospace;font-size:11px;color:var(--text-dim);letter-spacing:.06em;text-transform:uppercase}
.gcard .gdate{font-family:'DM Mono',monospace;font-size:20px;color:var(--text)}
.gcard .gcount{font-family:'DM Mono',monospace;font-size:11px;color:var(--text-muted)}
.gcard .gcta{margin-top:14px;font-family:'DM Mono',monospace;font-size:10px;letter-spacing:.07em;text-transform:uppercase;color:var(--accent)}
.gcard .gempty{font-family:'DM Mono',monospace;font-size:11px;color:var(--text-dim)}

/* ---- group index: latest + archive ---- */
.latest-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden;margin-bottom:32px}
.latest-card .lhead{padding:16px 20px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:10px}
.latest-card .lhead.us{background:linear-gradient(90deg,#0a1020,#0b1428)}
.latest-card .lhead.asx{background:linear-gradient(90deg,#0f1208,#131a08)}
.latest-card .ltitle{font-family:'DM Mono',monospace;font-size:12px;font-weight:500;letter-spacing:.1em;text-transform:uppercase}
.latest-card .ltitle.us{color:var(--blue)}
.latest-card .ltitle.asx{color:var(--au-gold)}
.latest-card .lbody{padding:20px;display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.latest-card .ldate{font-family:'DM Mono',monospace;font-size:22px;color:var(--text)}
.latest-card .lact{margin-left:auto}

.btn-primary{font-family:'DM Mono',monospace;font-size:10px;letter-spacing:.07em;text-transform:uppercase;padding:7px 14px;border-radius:5px;text-decoration:none;font-weight:500;background:var(--accent);color:#fff;display:inline-flex;align-items:center}
.btn-primary:hover{background:#6366f1}
.btn-sm{font-family:'DM Mono',monospace;font-size:10px;letter-spacing:.06em;text-transform:uppercase;padding:5px 10px;border-radius:4px;text-decoration:none;display:inline-flex;align-items:center;background:var(--surface2);color:var(--text-muted);border:1px solid var(--border2)}
.btn-sm:hover{color:var(--text)}

/* ---- archive table (identical pattern to site archive) ---- */
.archive-table{width:100%;border-collapse:collapse}
.archive-table thead tr{border-bottom:1px solid var(--border2)}
.archive-table th{font-family:'DM Mono',monospace;font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim);padding:8px 10px;text-align:left;font-weight:500}
.archive-table td{padding:10px;border-bottom:1px solid var(--border);font-size:12.5px;vertical-align:middle}
.archive-table tr:last-child td{border-bottom:none}
.archive-table tr:hover td{background:rgba(255,255,255,.02)}
.col-date{font-family:'DM Mono',monospace;font-size:11px;color:var(--text-muted);white-space:nowrap}
.col-latest{font-family:'DM Mono',monospace;font-size:9px;color:var(--green);border:1px solid #166534;background:#091a10;border-radius:3px;padding:1px 6px;letter-spacing:.06em}
.col-actions{display:flex;gap:6px;white-space:nowrap}

/* ---- states + footer ---- */
.msg{font-family:'DM Mono',monospace;font-size:11px;color:var(--text-dim);padding:20px 0}
.msg.err{color:var(--amber)}
.empty-state{text-align:center;padding:60px 20px;font-family:'DM Mono',monospace;font-size:11px;color:var(--text-dim);line-height:1.8}
footer{border-top:1px solid var(--border);padding:24px 32px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-top:60px}
footer div{font-family:'DM Mono',monospace;font-size:10px;color:var(--text-dim)}
