/* Greywolf Games: convention cards + countdown timers (build 75).
   Text 16px+, badges 13px+ bold, links and buttons 44px+ tall.
   Timer panels are dark in both themes so convention logos (often white artwork) read,
   and the digits stay well above AA contrast over the faded badge. */
.cons{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr))}
.con{display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:var(--shadow)}
.con.feature{grid-column:1/-1}
.con-b{display:flex;flex-direction:column;gap:8px;padding:16px 18px 18px;flex:1}
.con-hd{display:flex;align-items:center;gap:12px}
.con-hd h3{font-size:1.25rem;margin:0}
.con-hd h3 a,.con a,.nx a,.gw-conbar{min-height:44px}
.con-hd h3 a{display:inline-flex;align-items:center;color:var(--ink);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.con-badge{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:64px;height:56px;border-radius:10px;background:#14171C;border:1px solid #2A2F38;padding:5px}
.con-badge.wide{width:148px}
.con-badge img,.con-badge svg{max-width:100%;max-height:100%;display:block}
.tbadge{font-family:'Trirong',Georgia,serif;font-weight:700;font-size:.875rem;letter-spacing:.06em;color:#E9D9A8;line-height:1}
.con p{margin:0;font-size:1rem;color:var(--ink-soft)}
.con .con-dates{color:var(--ink);font-weight:650;font-variant-numeric:tabular-nums}
.con .con-note{font-size:1rem;color:var(--ink-soft);font-style:italic}
.con .con-credit{font-size:1rem;color:var(--ink-soft)}
.con-act{display:flex;flex-wrap:wrap;gap:10px;margin-top:auto;padding-top:6px}
.con-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:0 16px;border-radius:999px;font-size:1rem;font-weight:700;text-decoration:none;border:1px solid var(--line);color:var(--acc);background:var(--panel)}
.con-btn.p{background:var(--acc);border-color:var(--acc);color:var(--acc-ink,#fff)}
.con-btn:hover{text-decoration:underline}
.con-btn:focus-visible,.con-hd h3 a:focus-visible,.gw-conbar:focus-visible{outline:3px solid var(--acc);outline-offset:2px}
/* ---- timer ---- */
.cd{position:relative;overflow:hidden;background:#14171C;color:#F6F3EF;padding:16px 18px;min-height:132px;display:flex;align-items:center;isolation:isolate}
.cd-bg{position:absolute;z-index:-1;right:-4%;top:50%;transform:translateY(-50%);height:150%;width:62%;display:flex;align-items:center;justify-content:flex-end;opacity:.16;pointer-events:none}
.cd-bg img,.cd-bg svg{height:100%;width:100%;object-fit:contain;object-position:right center}
.cd-bg .tbadge{font-size:5.5rem;color:#E9D9A8;white-space:nowrap}
.cd-fg{display:flex;flex-direction:column;gap:6px;min-width:0}
.cd-k{font-size:.8125rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#C9CED6}
.cd-live{display:flex;flex-wrap:wrap;gap:6px 14px;font-variant-numeric:tabular-nums}
.cd-live[hidden],.cd-state[hidden]{display:none}
.cd-u{display:flex;align-items:baseline;gap:4px}
.cd-u b{font-family:'Trirong',Georgia,serif;font-weight:400;font-size:2.1rem;line-height:1;color:#F6F3EF}
.cd-u small{font-size:.8125rem;font-weight:700;color:#C9CED6;letter-spacing:.04em}
.cd-state{margin:0;font-family:'Trirong',Georgia,serif;font-size:1.6rem;line-height:1.1;color:#F6F3EF}
.cd .cd-when{margin:0;font-size:1rem;color:#D5D9DF;font-variant-numeric:tabular-nums}
.cd.big{min-height:180px;padding:22px 24px}
.cd.big .cd-u b{font-size:clamp(2.4rem,8vw,3.6rem)}
.cd.big .cd-bg{width:46%;opacity:.18}
html:not(.gw-js) .cd-live,html:not(.gw-js) .cd-state{display:none!important}
@media (prefers-reduced-motion:reduce){.cd *,.con *{transition:none!important;animation:none!important}}
/* ---- Nexus page ---- */
.nx-grid{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr))}
.nx-m{display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:var(--shadow)}
.nx-m .con-b h3{font-size:1.2rem;margin:0}
.nx p,.nx li,.nx dd,.nx dt{font-size:1rem}
.nx p{color:var(--ink-soft)}
.nx-links{display:flex;flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none}
.nx-dl{display:grid;gap:0;margin:0}
.nx-dl div{display:grid;grid-template-columns:minmax(0,12rem) 1fr;gap:4px 18px;padding:12px 0;border-bottom:1px solid var(--line)}
.nx-dl dt{font-weight:700;color:var(--ink)}
.nx-dl dd{margin:0;color:var(--ink-soft)}
@media (max-width:560px){.nx-dl div{grid-template-columns:1fr}}
.fanline{font-size:1rem;font-weight:700;color:var(--ink);margin:0}
.hero .fanline{color:#F6F3EF}
.hero-badge{width:150px;height:150px;display:block;filter:drop-shadow(0 6px 20px rgba(0,0,0,.55))}
.gh-crumb2{font-size:1rem;color:#CBD1D8;display:flex;flex-wrap:wrap;gap:4px 8px;justify-content:center;align-items:center}
.gh-crumb2 a{color:#F6F3EF;min-height:44px;display:inline-flex;align-items:center}
/* ---- hub / calendar banner ---- */
.gw-conbar{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;padding:14px 18px;border:1px solid var(--line);border-left:4px solid var(--c,var(--acc));border-radius:12px;background:var(--panel);color:var(--ink);text-decoration:none;box-shadow:var(--shadow)}
.gw-conbar .k{font-size:.8125rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft)}
.gw-conbar b{font-family:'Trirong',Georgia,serif;font-weight:400;font-size:1.25rem}
.gw-conbar span{font-size:1rem;color:var(--ink-soft)}
.gw-conbar .go{margin-left:auto;font-weight:700;color:var(--acc)}
.gw-conbar:hover b{text-decoration:underline}

.cd-about small:first-child{margin:0 .35em 0 0}
.con-dates .approx{font-weight:700}
