/* Event-first homepage, layered over the existing shared theme tokens. */
:root { --event-green: #0b6353; --event-green-2: #14806d; --event-red: #d93636; }
[data-theme="dark"] { --event-green: #153e36; --event-green-2: #51b69b; }
.brand-dot { color: #d93636 !important; }
.skip-link { position:fixed; top:-100px; left:20px; z-index:400; padding:9px 13px; background:var(--ink); color:var(--bg); }
.skip-link:focus { top:12px; }
.navbar-inner.event-shell { width:min(1240px,100%); }
.section-nav { display:flex; align-items:center; gap:clamp(10px,1.7vw,24px); margin-left:auto; color:var(--ink-2); font-size:12px; white-space:nowrap; }
.section-nav a { text-decoration:none; transition:color var(--t); }
.section-nav a:hover,.section-nav a[aria-current="page"] { color:var(--event-green-2); }
.section-nav a[aria-current="page"] { font-weight:700; }
.navbar-inner .nav-actions { margin-left:12px; }
.event-home { padding-top: var(--nav-h, 64px); }
.event-shell { width:min(1240px,100%); margin:auto; padding:0 36px; }
.event-mast { display:flex; justify-content:space-between; align-items:end; gap:28px; padding-top:42px; padding-bottom:32px; }
.event-eyebrow { color:var(--event-green-2); font:700 11px/1.5 var(--font-mono); letter-spacing:.17em; text-transform:uppercase; }
.event-mast h1 { font:600 clamp(2.2rem,5vw,3.35rem)/1.12 var(--font-serif); letter-spacing:-.055em; margin:10px 0 12px; }
.event-mast h1 .acc { color:#d93636; }
.event-mast h1 .acc em { font-style:italic; }
.event-mast p { color:var(--ink-2); font-size:15px; margin:0; }
.event-edition { flex:0 0 215px; text-align:right; color:var(--ink-2); font-size:12px; line-height:1.9; }
.event-edition strong { display:block; color:var(--ink); font-size:14px; }
.event-controls { background:var(--bg-raised); border-block:1px solid var(--line); }
.event-filter-row { display:flex; align-items:center; gap:8px; padding-top:15px; padding-bottom:15px; }
.event-tab,.event-category { border:1px solid var(--line); border-radius:5px; padding:7px 13px; white-space:nowrap; color:var(--ink-2); font-size:13px; transition:all var(--t); }
.event-tab.active,.event-category.active { background:var(--event-green); border-color:var(--event-green); color:#fff; }
.event-category:hover,.event-tab:not(.active):hover { border-color:var(--event-green-2); color:var(--event-green-2); }
.event-search { margin-left:auto; min-width:230px; }
.event-search input { width:100%; border:1px solid var(--line); border-radius:5px; padding:8px 12px; background:var(--bg); color:var(--ink); font-size:13px; }
.event-categories { display:flex; gap:7px; overflow:auto; scrollbar-width:none; }
.event-categories::-webkit-scrollbar { display:none; }
.event-main { padding-top:27px; padding-bottom:60px; }
.event-section-head { display:flex; align-items:baseline; gap:14px; border-bottom:1px solid var(--line-strong); padding:10px 0 13px; margin-bottom:17px; }
.event-section-head h2 { font-size:21px; letter-spacing:-.025em; margin:0; }
.event-section-head span { color:var(--ink-3); font:11px var(--font-mono); letter-spacing:.1em; }
.event-section-head small { margin-left:auto; color:var(--ink-3); font-size:11px; }
.event-hotgrid { display:grid; grid-template-columns:1.55fr 1fr 1fr; gap:14px; }
.event-hot { display:flex; flex-direction:column; min-height:235px; padding:21px 22px; border:1px solid var(--line); border-radius:8px; background:var(--bg-raised); color:var(--ink); text-align:left; text-decoration:none; transition:transform var(--t),box-shadow var(--t); }
.event-hot:hover,.event-card:hover { transform:translateY(-2px); box-shadow:var(--shadow-menu); }
.event-hot.primary { background:#0b584d; color:#fff; border-color:#0b584d; padding:24px 26px; }
.event-hot-meta { display:flex; align-items:center; gap:8px; font-size:11px; color:var(--ink-2); }
.event-hot.primary .event-hot-meta,.event-hot.primary .event-hot-foot { color:#d6eee5; }
.event-rank,.event-badge { border-radius:3px; padding:3px 7px; background:var(--accent-soft); color:var(--event-green-2); font-weight:700; }
.event-hot.primary .event-rank { background:#4a8c79; color:#fff; }
.event-hot.primary .event-badge { background:#e4f4ea; color:#075442; }
.event-hot h3 { font-size:19px; line-height:1.45; margin:18px 0 8px; letter-spacing:-.025em; }
.event-hot.primary h3 { font-size:26px; margin-top:22px; }
.event-hot p { color:var(--ink-2); font-size:13px; line-height:1.7; margin:0; }
.event-hot.primary p { color:#d3eee2; font-size:14px; }
.event-hot-foot { margin-top:auto; padding-top:20px; display:flex; justify-content:space-between; color:var(--ink-3); font-size:11px; }
.event-columns { display:grid; grid-template-columns:minmax(0,1fr); margin-top:38px; }
.event-list { display:grid; gap:0; }
.event-card { border-bottom:1px solid var(--line); padding:16px 0 19px; cursor:pointer; transition:transform var(--t),box-shadow var(--t); }
.event-card-top { display:flex; align-items:center; gap:9px; color:var(--ink-3); font-size:11px; }
.event-card-top strong { color:var(--event-green-2); }
.event-card h3 { font-size:18px; line-height:1.5; margin:9px 0 6px; letter-spacing:-.02em; }
.event-card p { margin:0; color:var(--ink-2); font-size:13px; line-height:1.75; }
.event-source-row { display:flex; align-items:center; flex-wrap:wrap; gap:7px; margin-top:12px; }
.event-source-count { color:var(--ink-3); font-size:11px; margin-right:2px; }
.event-source-chip { display:inline-flex; align-items:center; gap:5px; border:1px solid var(--line); border-radius:20px; padding:3px 8px; color:var(--ink-2); font-size:10px; }
.event-source-chip small { color:var(--event-green-2); font-size:9px; white-space:nowrap; }
.event-open { margin-left:auto; border:1px solid var(--line); border-radius:4px; padding:4px 8px; color:var(--event-green-2); font-size:11px; }
.event-state { padding:38px 16px; text-align:center; color:var(--ink-2); border:1px dashed var(--line-strong); border-radius:8px; }
.event-state.error { color:#b53a15; }
.event-retry { margin-top:12px; padding:6px 12px; border:1px solid currentColor; border-radius:5px; }
.event-load-more { margin-top:18px; padding:8px 13px; border:1px solid var(--line-strong); border-radius:5px; color:var(--event-green-2); font-size:12px; }
.event-load-more:hover:not(:disabled) { background:var(--accent-soft); }
.event-load-more:disabled { cursor:wait; opacity:.65; }
.event-dialog-backdrop { display:none; position:fixed; inset:0; z-index:300; align-items:center; justify-content:center; padding:20px; background:rgba(5,22,18,.68); }
.event-dialog-backdrop.open { display:flex; }
.event-dialog { width:min(680px,100%); max-height:min(85vh,820px); overflow:auto; padding:26px; border-radius:10px; background:var(--bg-raised); color:var(--ink); box-shadow:0 30px 90px #0005; }
.event-dialog-head { display:flex; justify-content:space-between; gap:16px; align-items:start; }
.event-dialog h2 { font-size:23px; line-height:1.4; margin:10px 0; }
.event-dialog-summary { color:var(--ink-2); font-size:14px; line-height:1.8; }
.event-dialog-close { flex:none; padding:5px 9px; border-radius:4px; background:var(--bg-tint); }
.event-dialog-sources { list-style:none; padding:0; margin:20px 0 0; }
.event-dialog-sources li { border-top:1px solid var(--line); padding:14px 0; }
.event-dialog-sources a { color:var(--event-green-2); font-weight:700; text-decoration:underline; text-underline-offset:3px; }
.event-dialog-sources p { color:var(--ink-2); font-size:12px; line-height:1.7; margin:6px 0; }
.event-dialog-sources time { color:var(--ink-3); font-size:10px; }
.event-status-live { display:flex; gap:9px; align-items:center; padding-top:2px; }
.event-status-live i { width:7px; height:7px; border-radius:50%; background:var(--event-green-2); }
.event-mobile-nav { display:none; }
@media(max-width:850px) { .event-shell { padding-inline:20px; } .event-mast { padding-top:30px; } .event-edition { display:none; } .event-hotgrid { grid-template-columns:1fr 1fr; } .event-hot.primary { grid-column:1/-1; } .event-columns { grid-template-columns:1fr; } .event-search { min-width:180px; } }
@media(max-width:680px) { .navbar-inner { padding-inline:16px; } .section-nav { display:none; } .event-mobile-nav { display:flex; gap:14px; overflow:auto; padding:8px 16px; border-bottom:1px solid var(--line); background:var(--bg-raised); font-size:12px; white-space:nowrap; } .event-mobile-nav a { color:var(--ink-2); text-decoration:none; } .event-mobile-nav a[aria-current="page"] { color:var(--event-green-2); font-weight:700; } .event-home { padding-top:var(--nav-h,64px); } .event-mast { padding-top:25px; padding-bottom:23px; } .event-mast h1 { font-size:34px; } .event-mast p { font-size:13px; } .event-filter-row { flex-wrap:wrap; } .event-tabs { display:flex; gap:7px; } .event-categories { order:2; width:100%; } .event-search { order:3; width:100%; margin-left:0; } .event-main { padding-top:18px; } .event-section-head small { display:none; } .event-hotgrid { grid-template-columns:1fr; } .event-hot.primary { grid-column:auto; } .event-hot { min-height:190px; } .event-hot.primary h3 { font-size:23px; } .event-columns { margin-top:26px; } }
