:root {
  color-scheme: dark;
  --bg: #12171b;
  --surface: #1b2228;
  --surface-2: #252c31;
  --text: #f2efe8;
  --muted: #b9c0c2;
  --line: #394247;
  --accent: #e8b56a;
  --accent-strong: #f0c381;
  --warm: #f0c381;
  --success: #77d58a;
  --radius: 0.75rem;
  --shadow: 0 1rem 2.5rem rgb(0 0 0 / 22%);
  --max-width: 74rem;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: radial-gradient(circle at 80% 0, #353029 0, var(--bg) 34rem); color: var(--text); font-size: 1rem; line-height: 1.7; }
a { color: var(--accent-strong); text-underline-offset: 0.2em; }
a:hover { color: #fff; }
img, svg { max-width: 100%; }
button, input, textarea, select { font: inherit; }
:focus-visible { outline: 3px solid var(--warm); outline-offset: 3px; }
.container { width: min(calc(100% - 2rem), var(--max-width)); margin-inline: auto; }
.skip-link { position: fixed; left: 1rem; top: -5rem; z-index: 100; padding: 0.6rem 1rem; background: #fff; color: #000; }
.skip-link:focus { top: 1rem; }

.site-header { position: sticky; top: 0; z-index: 20; border-bottom: 1px solid rgb(255 255 255 / 10%); background: rgb(7 16 24 / 92%); backdrop-filter: blur(12px); }
.nav-row { min-height: 4rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.brand { color: var(--text); font-weight: 800; text-decoration: none; letter-spacing: 0.02em; }
.primary-nav { display: flex; align-items: center; gap: 1.25rem; }
.primary-nav a { color: var(--muted); text-decoration: none; font-weight: 700; }
.primary-nav a[aria-current="page"] { color: var(--accent-strong); }
.primary-nav [data-source-type="official-website"] { color: var(--accent-strong); }
.menu-button { display: none; border: 1px solid var(--line); border-radius: 0.5rem; background: var(--surface); color: var(--text); padding: 0.45rem 0.75rem; }

.hero { padding: clamp(4rem, 9vw, 8rem) 0 4rem; }
.hero--compact { padding: clamp(2.5rem, 6vw, 4.5rem) 0 2.5rem; }
.task-route { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr)); padding: 0; list-style: none; }
.task-card, .official-video { padding: 1.25rem; border: 1px solid var(--border); border-radius: .75rem; background: var(--surface); }
.task-card > span { color: var(--accent); font-weight: 700; }
.video-wrap { position: relative; aspect-ratio: 16 / 9; overflow: hidden; border-radius: .5rem; background: #000; }
.video-wrap img, .video-wrap iframe { display: block; width: 100%; height: 100%; border: 0; object-fit: cover; }
.video-wrap button { position: absolute; inset: auto 1rem 1rem auto; }
.eyebrow { margin: 0 0 0.75rem; color: var(--accent-strong); font-size: 0.82rem; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; }
h1, h2, h3 { line-height: 1.15; text-wrap: balance; }
h1 { max-width: 15ch; margin: 0; font-size: clamp(2.5rem, 7vw, 5.5rem); letter-spacing: -0.04em; }
h2 { margin-top: 0; font-size: clamp(1.65rem, 4vw, 2.5rem); }
.lede { max-width: 44rem; color: var(--muted); font-size: clamp(1.05rem, 2.3vw, 1.3rem); }
.actions { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-top: 1.5rem; }
.button { display: inline-flex; min-height: 2.75rem; align-items: center; justify-content: center; border: 1px solid var(--accent); border-radius: 0.5rem; padding: 0.6rem 1rem; background: var(--accent); color: #031414; font-weight: 800; text-decoration: none; }
.button.secondary { background: transparent; color: var(--accent-strong); }

.section { padding: 4rem 0; }
.section.alt { border-block: 1px solid var(--line); background: rgb(16 28 39 / 72%); }
.grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.card { border: 1px solid var(--line); border-radius: var(--radius); padding: 1.25rem; background: linear-gradient(145deg, var(--surface-2), var(--surface)); box-shadow: var(--shadow); }
.card h2, .card h3 { margin-top: 0; }
.card p { color: var(--muted); }
.tag { display: inline-flex; border: 1px solid var(--line); border-radius: 999px; padding: 0.15rem 0.55rem; color: var(--success); font-size: 0.82rem; font-weight: 800; }
.tag.muted { color: var(--muted); }
.breadcrumbs { padding-top: 1.5rem; color: var(--muted); font-size: 0.9rem; }
.breadcrumbs ol { display: flex; flex-wrap: wrap; gap: 0.45rem; margin: 0; padding: 0; list-style: none; }
.breadcrumbs li:not(:last-child)::after { content: "/"; margin-left: 0.45rem; color: #66798b; }

.article-layout { display: grid; grid-template-columns: minmax(0, 1fr) 17rem; gap: 2rem; align-items: start; }
.article-body { min-width: 0; }
.article-body section { scroll-margin-top: 5rem; margin-bottom: 3rem; }
.sidebar { position: sticky; top: 5.5rem; border-left: 1px solid var(--line); padding-left: 1.25rem; }
.sidebar ul { margin: 0; padding-left: 1.1rem; }
.sidebar a[aria-current="location"] { color: var(--warm); font-weight: 800; }
.article-navigation { position: sticky; top: 5.5rem; display: grid; gap: 1rem; max-height: calc(100vh - 7rem); overflow-y: auto; border-left: 1px solid var(--line); padding-left: 1.25rem; }
.article-navigation nav, .mobile-directory nav { display: grid; gap: 0.5rem; }
.article-navigation a[aria-current="location"] { color: var(--warm); font-weight: 800; }
.mobile-directories { display: none; }
.mobile-directory { border: 1px solid var(--line); border-radius: var(--radius); padding: 0.75rem 1rem; background: var(--surface); }
.mobile-directory summary { cursor: pointer; font-weight: 800; }
.article-adjacent { display: flex; justify-content: space-between; }
.callout { border-left: 4px solid var(--warm); border-radius: 0 var(--radius) var(--radius) 0; padding: 1rem 1.25rem; background: var(--surface); }
.table-wrap { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; }
th, td { border-bottom: 1px solid var(--line); padding: 0.75rem; text-align: left; }
th { color: var(--accent-strong); }
.faq-item { border-bottom: 1px solid var(--line); padding: 0.8rem 0; }
.faq-item summary { cursor: pointer; font-weight: 800; }
.site-footer { border-top: 1px solid var(--line); padding: 2rem 0; color: var(--muted); }
.footer-links { display: flex; flex-wrap: wrap; gap: 0.75rem 1.25rem; }

@media (max-width: 760px) {
  .menu-button { display: inline-flex; }
  .primary-nav { position: absolute; inset: 4rem 1rem auto; flex-direction: column; align-items: stretch; border: 1px solid var(--line); border-radius: var(--radius); padding: 1rem; background: var(--surface); box-shadow: var(--shadow); }
  .primary-nav[data-menu-ready="true"][data-open="false"] { display: none; }
  .grid, .article-layout { grid-template-columns: 1fr; }
  .sidebar { position: static; border-left: 0; border-top: 1px solid var(--line); padding: 1rem 0 0; }
  h1 { font-size: clamp(2.3rem, 13vw, 4rem); }
}

@media (max-width: 1120px) {
  .article-navigation { display: none; }
  .mobile-directories { display: grid; gap: 0.75rem; grid-column: 1; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; }
}

/* Deskrawl site-specific layout. The starter remains unchanged. */
[hidden]{display:none!important}
.brand{display:flex;align-items:center;gap:.65rem;white-space:nowrap}
.brand img{display:block}
.site-header{background:rgb(18 23 27 / 97%)}
h1{max-width:24ch;font-size:clamp(2.1rem,4vw,3.8rem);letter-spacing:-.035em}
h2{font-size:clamp(1.35rem,2.4vw,1.85rem)}
h3{font-size:1.25rem}
.hero--compact{padding:2rem 0 1rem}
.home-hero{padding:3rem 0 2rem}
.home-hero h1{font-size:clamp(2.5rem,5vw,4.8rem);max-width:15ch}
.home-intro{display:grid;grid-template-columns:1.45fr 1fr;gap:3rem;align-items:center}
.route-panel{padding:1.25rem;border:1px solid var(--line);border-radius:.8rem;background:linear-gradient(135deg,#2d2b28,#1b2228)}
.route-panel a{display:grid;gap:.15rem;padding:1rem 0;text-decoration:none;border-top:1px solid var(--line)}
.route-panel span{font-size:.7rem;letter-spacing:.16em;color:var(--muted)}
.route-panel strong{font-size:1.5rem;color:var(--text)}
.route-panel small{color:var(--accent-strong)}
.section{padding:2.5rem 0}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:1.5rem}
.section-heading h2{margin:0}
.section-heading>p{max-width:27rem;color:var(--muted);margin:0}
.version-strip{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center;border:1px solid var(--line);border-radius:.5rem;padding:.7rem 1rem;color:var(--muted);font-size:.85rem;background:#1b2228}
.version-strip span:last-child{margin-left:auto}
.status-dot{width:.5rem;height:.5rem;flex:none;border-radius:50%;background:#b4cb9b}
.page-meta{color:var(--muted);font-size:.85rem}
.task-route{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.task-card{display:flex;flex-direction:column;border:1px solid var(--line);padding:1.2rem;background:linear-gradient(135deg,#252b2e,#1b2228)}
.task-card h3{margin:.5rem 0}.task-card h3 a{color:var(--text);text-decoration:none}
.task-card p{color:var(--muted);font-size:.93rem;margin:.4rem 0 1rem}
.card-number{font-size:.7rem;letter-spacing:.15em}
.card-link{margin-top:auto;font-size:.85rem}
.finder-section{padding-top:2rem}
.finder-section form{display:flex;flex-wrap:wrap;gap:1rem;align-items:end;padding:1.25rem;background:var(--surface);border:1px solid var(--line);border-radius:.75rem}
.finder-section label{display:grid;gap:.35rem;flex:1;min-width:10rem;font-size:.85rem;color:var(--muted)}
select{width:100%;min-height:2.8rem;padding:.5rem;border:1px solid #687275;border-radius:.4rem;color:var(--text);background:#12171b}
.reset-button{background:transparent;color:var(--text);border:1px solid var(--line);padding:.5rem;min-height:2.8rem;border-radius:.4rem}
.finder-result:not(:empty){margin-top:1rem;padding:1rem;border-left:3px solid var(--accent);background:var(--surface)}
.finder-result p{margin:0 0 .5rem}.finder-result small{display:block;margin-top:.5rem;color:var(--muted)}
.article-section{padding-top:1rem}
.answer-box{scroll-margin-top:5.5rem;border:1px solid #86704e;border-left:4px solid var(--accent);border-radius:.6rem;padding:1rem 1.25rem;margin-bottom:2rem;background:#272823}
.answer-box>span{font-size:.7rem;text-transform:uppercase;color:var(--accent);letter-spacing:.12em;font-weight:800}
.answer-box p{margin:.4rem 0;font-size:1.1rem;color:var(--text)}
.article-body p,.article-body li{max-width:72ch}
.article-body section{margin-bottom:2.2rem}
.article-navigation a,.mobile-directory a{font-size:.88rem;padding:.25rem 0;overflow-wrap:anywhere}
.article-navigation a[aria-current=page],.mobile-directory a[aria-current=page]{color:var(--text);font-weight:800}
.evidence-label{font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0 0 .5rem}
.note-limits,.note-recommendation{padding:1.1rem;background:var(--surface);border-radius:.5rem;border-left:2px solid var(--accent)}
.section-source{font-size:.8rem;color:var(--muted)}
.public-sources small{display:block;color:var(--muted);font-size:.8rem;line-height:1.5;margin-bottom:.7rem}
.next-steps{display:grid;gap:.7rem}
.related-card{display:block;padding:1rem;background:var(--surface);border:1px solid var(--line);border-radius:.5rem;text-decoration:none}
.related-card small{display:block;color:var(--muted);margin-top:.3rem}
.article-adjacent{gap:1rem}.article-adjacent a{max-width:46%;font-size:.85rem}
.trust-layout{grid-template-columns:1fr;max-width:52rem;margin-inline:auto}
.home-note{display:grid;grid-template-columns:1fr 1fr;gap:3rem}
.button:hover{background:#f4ce92;color:#12171b}.button.secondary:hover{color:#12171b}
@media(max-width:1120px){.article-layout{grid-template-columns:minmax(0,1fr)}.mobile-directories{margin-bottom:.7rem}}
@media(max-width:760px){
 .home-intro,.home-note{grid-template-columns:1fr;gap:1.5rem}
 .home-hero{padding:1.75rem 0 1rem}.home-hero h1{font-size:2.6rem}
 .route-panel{padding:.75rem 1rem}.route-panel strong{font-size:1.15rem}
 .section-heading{display:block}.section-heading>p{margin-top:.6rem}
 .task-route{grid-template-columns:1fr}.section{padding:1.5rem 0}
 .version-strip span:last-child{margin-left:0;width:100%}
 .finder-section form{display:grid;grid-template-columns:1fr;width:100%}.finder-section label{min-width:0}
 .nav-row{flex-wrap:wrap;gap:.5rem;min-height:4rem;padding-block:.5rem}
 .primary-nav{position:static;flex-basis:100%;padding:.6rem;border:0;box-shadow:none;margin:0}
 .primary-nav[data-menu-ready=true][data-open=false]{display:none}
 h1{font-size:2rem}.lede{font-size:1rem}
}

.analytics-consent{position:fixed;bottom:16px;left:16px;right:16px;max-width:660px;margin:auto;padding:16px;background:#20292d;border:1px solid #e8b56a;border-radius:12px;z-index:60;box-shadow:0 8px 32px #0008}.analytics-consent[hidden]{display:none}.analytics-consent p{margin:0 0 12px}.analytics-consent div{display:flex;gap:12px;flex-wrap:wrap}.analytics-consent button{min-height:44px;padding:8px 16px;border:1px solid #e8b56a;border-radius:8px;background:#20292d;color:#f2efe8;cursor:pointer}.analytics-settings{background:none;border:0;color:inherit;text-decoration:underline;cursor:pointer;font:inherit;padding:0}

/* Same in-flow Native Banner treatment as existing game sites. */
.ad-slot{width:min(var(--max,1180px),calc(100% - 40px));min-height:300px;margin:26px auto;padding:12px 0;overflow:hidden;position:relative;isolation:isolate}.article-body>.ad-slot{width:100%}.ad-slot[hidden]{display:none}.ad-label{margin:0 0 7px;color:var(--muted);font-size:.7rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.ad-slot [data-ad-container],.ad-slot iframe,.ad-slot img{max-width:100%}.ad-slot [data-ad-container]{width:100%}@media(max-width:560px){.ad-slot{width:calc(100% - 24px);min-height:420px;margin:18px auto}.article-body>.ad-slot{width:100%}}

@media(max-width:760px){html.js .primary-nav:not([data-open="true"]){display:none}}
