/* Shared readability and navigation improvements for the existing theme. */
:root { --ash:#aaa297; --accent-text:#f16b72; }
a, .hero-eyebrow, .sec-tag, .zone-mode, .mod-count, .tier-price,
.nav-links a.active, .btn-ghost, .copy-btn { color:var(--accent-text); }
.btn-solid, .tier-badge { background:var(--flare); color:#fff; }
.btn-solid:hover { color:#fff; }
.btn-ghost:hover, .copy-btn:hover { color:var(--bone); background:var(--blood); }
.btn:focus-visible, .copy-btn:focus-visible, a:focus-visible { outline:2px solid var(--bone); outline-offset:4px; }
.btn, .copy-btn, .nav-toggle { min-height:44px; }
section, [id^="server-"], #player-mods { scroll-margin-top:90px; }
.hero-guide { color:var(--ash); margin-top:24px; font-size:.95rem; }
.hero-guide a { text-decoration:underline; text-underline-offset:4px; }
header.hero:not(.short) { min-height:0; padding:76px 0 52px; }
.hero-servers { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:32px auto 0; max-width:780px; text-align:left; }
.hero-server { display:flex; flex-direction:column; gap:6px; padding:16px 20px; border:1px solid var(--line); background:rgba(13,10,10,.8); }
.hero-server:hover { border-color:var(--accent-text); }
.hero-server strong { color:var(--bone); font-weight:600; }
.hero-server span { color:var(--ash); font-family:'IBM Plex Mono',monospace; font-size:.76rem; }
.hero-server .is-online { color:#86d9a0; }
.hero-server.is-unreleased:hover { border-color:var(--line); }
.release-label { color:var(--ash); font-family:'IBM Plex Mono',monospace; font-size:.75rem; }
.filter-btn:disabled { cursor:not-allowed; opacity:.65; }
.player-mods { margin-top:28px; border:1px solid var(--line); padding:28px; background:var(--panel); }
.player-mods h3 { font-size:1.3rem; margin-bottom:16px; }
.player-mods ol { padding-left:22px; color:var(--bone); }
.player-mods li { padding:6px 0; }
.player-mods p { margin-top:18px; color:var(--ash); }
.next-page { margin:0 0 36px; }
.tier-note { margin:0 0 26px; max-width:760px; color:var(--bone); }
.tier-note a { text-decoration:underline; }
#new-here { border-top:1px solid var(--line); background:var(--panel); }
.guide-picker { min-width:0; border:0; padding:0; margin:0 0 24px; }
.guide-picker legend { font-size:1.2rem; font-weight:600; margin-bottom:18px; }
.guide-number { color:var(--accent-text); font-family:'IBM Plex Mono',monospace; font-size:.8rem; letter-spacing:.12em; }
.guide-picker .guide-number { margin-right:12px; }
.guide-servers { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.guide-server { display:flex; align-items:flex-start; gap:12px; padding:24px 20px; border:1px solid var(--line); background:var(--ink); cursor:pointer; }
.guide-server:has(input:checked) { border-color:var(--accent-text); box-shadow:inset 0 3px var(--flare); }
.guide-server:focus-within { outline:2px solid var(--bone); outline-offset:3px; }
.guide-server input { flex:none; width:18px; height:18px; margin-top:4px; accent-color:var(--flare); }
.guide-server strong { display:block; color:var(--bone); margin-bottom:10px; font-size:1.05rem; }
.guide-server span span { display:block; color:var(--ash); font-size:.95rem; }
.guide-server.is-unreleased { cursor:not-allowed; border-style:dashed; }
.guide-server span .release-label { display:inline-block; margin:0 0 10px; padding:2px 8px; border:1px solid var(--line); font-size:.72rem; }
.guide-fallback { margin-top:14px; color:var(--ash); font-size:.9rem; }
.guide-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; padding:0; list-style:none; }
.guide-step { min-width:0; background:var(--ink); border:1px solid var(--line); padding:24px 22px; }
.guide-step h3 { margin:8px 0 16px; font-size:1.25rem; }
.guide-step p, .guide-step li { color:var(--ash); font-size:.95rem; }
.guide-step p + p { margin-top:12px; }
.guide-step strong { color:var(--bone); font-weight:500; }
.guide-step ul { padding-left:18px; }
.guide-step li + li { margin-top:8px; }
.guide-rule-links { margin-top:18px; }
.guide-rule-links a, .guide-live-link { display:inline-block; padding:6px 0; font-size:.9rem; }
.guide-address { display:block; overflow-wrap:anywhere; color:var(--bone); font-family:'IBM Plex Mono',monospace; font-size:.9rem; margin:18px 0 12px; user-select:all; }
.guide-copy-status { min-height:1.6em; margin:10px 0 0; }
.guide-help { margin-top:24px; border:1px solid var(--line); padding:0 22px; background:var(--ink); }
.guide-help summary { padding:18px 0; cursor:pointer; color:var(--bone); font-weight:600; }
.guide-help summary:focus-visible { outline:2px solid var(--bone); outline-offset:3px; }
.guide-help ul { padding:0 0 22px 20px; color:var(--ash); }
.guide-help li + li { margin-top:10px; }
.guide-help strong { color:var(--bone); }
@media(max-width:820px) {
  .guide-servers, .guide-steps { grid-template-columns:1fr; }
  .guide-server { padding:20px; }
}
@media(max-width:1100px) {
  .nav-toggle { display:block; }
  .nav-links { display:none; position:absolute; top:100%; left:0; right:0; background:rgba(13,10,10,.98); flex-direction:column; gap:0; padding:10px 24px 18px; border-bottom:1px solid var(--line); max-height:calc(100dvh - 75px); overflow-y:auto; }
  .nav-links.open { display:flex; }
  .nav-links a { display:block; padding:11px 0; border-bottom:1px solid var(--line); font-size:.85rem; }
}
@media(max-width:640px) {
  header.hero:not(.short) { padding:42px 0 36px; }
  .hero-eyebrow { letter-spacing:.18em; }
  .hero-sub { margin-top:22px; }
  .hero-ctas { margin-top:26px; gap:10px; }
  .hero-ctas .btn { padding:13px 18px; letter-spacing:.08em; font-size:.76rem; }
  .hero-servers { grid-template-columns:1fr; margin-top:24px; gap:8px; }
  .hero-server { flex-direction:row; align-items:center; justify-content:space-between; gap:12px; padding:12px 14px; }
  .hero-server strong { font-size:.9rem; }
  .hero-server span { text-align:right; font-size:.7rem; }
  .hero-guide { font-size:.85rem; }
  .player-mods { padding:22px; }
}
