:root { --bg:#090909; --panel:rgba(20,20,20,.92); --panel-strong:rgba(13,13,13,.97); --line:rgba(212,176,110,.16); --text:#f3ead9; --muted:#baa68b; --accent:#b84021; --accent-2:#7f8f56; --today:#d4b06e; --shadow:0 28px 80px rgba(0,0,0,.42); --radius:18px; }
* { box-sizing:border-box; }
body { margin:0; min-height:100vh; font-family:"Space Grotesk",sans-serif; color:var(--text); background:radial-gradient(circle at top left, rgba(184,64,33,.16), transparent 26%), radial-gradient(circle at top right, rgba(127,143,86,.14), transparent 22%), linear-gradient(180deg, #0b0b0b 0%, var(--bg) 100%); }
.page-shell { width:min(1180px, calc(100vw - 32px)); margin:0 auto; padding:18px 0 38px; }
.hero,.panel { border:1px solid var(--line); border-radius:var(--radius); background:var(--panel); box-shadow:var(--shadow); backdrop-filter:blur(10px); }
.hero { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:18px 20px; background:linear-gradient(135deg, rgba(20,20,20,.96), rgba(10,10,10,.98)); }
.eyebrow,.section-kicker { margin:0 0 8px; font-family:"IBM Plex Mono",monospace; text-transform:uppercase; letter-spacing:.14em; font-size:.78rem; color:var(--today); }
h1,h2,h3 { margin:0; }
h1 { font-size:clamp(1.7rem, 3vw, 2.4rem); line-height:1.04; letter-spacing:-.03em; text-transform:uppercase; }
.hero-copy { margin:8px 0 0; color:var(--muted); }
.home-link,.week-tabs button,.status-pill { border:1px solid var(--line); border-radius:10px; font-family:"IBM Plex Mono",monospace; }
.home-link { padding:10px 14px; text-decoration:none; color:var(--text); background:rgba(255,255,255,.04); text-transform:uppercase; letter-spacing:.06em; }
.layout { display:grid; gap:18px; margin-top:14px; }
.panel-wide { grid-column:1 / -1; }
.panel-head { display:flex; align-items:end; justify-content:space-between; gap:16px; padding:20px 20px 0; }
.panel-head h2 { font-size:1.6rem; text-transform:uppercase; }
.current-panel { overflow:hidden; }
.current-grid { display:grid; grid-template-columns:1.1fr repeat(3, minmax(0, 1fr)); gap:14px; padding:18px 20px 20px; }
.current-card { padding:18px; border-radius:16px; border:1px solid var(--line); background:var(--panel-strong); }
.current-card.featured { background:linear-gradient(135deg, rgba(212,176,110,.18), rgba(255,255,255,.04)); }
.current-card h3 { font-size:.92rem; font-family:"IBM Plex Mono",monospace; text-transform:uppercase; letter-spacing:.08em; color:var(--muted); }
.current-card strong { display:block; margin-top:10px; font-size:1.55rem; line-height:1.1; }
.current-card p { margin:8px 0 0; color:var(--muted); line-height:1.45; }
.status-pill { padding:8px 12px; background:rgba(255,255,255,.04); color:var(--accent-2); }
.week-tabs { display:flex; flex-wrap:wrap; gap:10px; }
.week-tabs button { padding:10px 14px; background:rgba(255,255,255,.04); color:var(--muted); cursor:pointer; text-transform:uppercase; letter-spacing:.06em; }
.week-tabs button.is-active { background:linear-gradient(180deg, #c74a28, #9e3419); color:#fff8f2; border-color:rgba(255,255,255,.08); }
.schedule-wrap { padding:18px 20px 20px; overflow:auto; }
.schedule-table { width:100%; border-collapse:collapse; min-width:760px; background:rgba(255,255,255,.02); border-radius:18px; overflow:hidden; }
.schedule-table th,.schedule-table td { padding:14px 12px; border-bottom:1px solid var(--line); text-align:left; }
.schedule-table th { font-size:.84rem; font-family:"IBM Plex Mono",monospace; text-transform:uppercase; letter-spacing:.08em; color:var(--muted); background:rgba(255,255,255,.04); }
.schedule-table tr.is-today { background:linear-gradient(90deg, rgba(212,176,110,.18), rgba(255,255,255,.03)); }
.schedule-table tr:last-child td { border-bottom:none; }
.day-cell strong { display:block; }
.day-cell span,.date-cell { color:var(--muted); font-size:.95rem; }
.empty { color:rgba(186,166,139,.6); }
@media (max-width: 900px) { .current-grid { grid-template-columns:1fr; } .hero { align-items:flex-start; flex-direction:column; } }
