/* Share the site's gold, ivory and charcoal tokens in both themes. */
.guides-page { --gb-paper:var(--ink-2); --gb-surface:var(--panel); --gb-line:var(--line); --gb-accent:var(--gold-bright); --gb-heading:var(--text); background:var(--gb-paper); }
.guides-page .guides-hero { min-height:0; padding:7.3rem 0 1.8rem; background:none; border-bottom:1px solid var(--gb-line); }
:root[data-theme="light"] .guides-page .guides-hero { background:none; }
:root[data-theme="light"] .guides-page .guides-cap-card { background:none; box-shadow:none; }
.guides-page .guides-hero-glow { display:none; }
.guides-page .guides-hero-grid { grid-template-columns:1fr auto; align-items:center; gap:2rem; }
.guides-page .guides-hero h1 { font:600 2rem/1.1 var(--font-display); margin:0 0 .7rem; letter-spacing:-.025em; }
.guides-page .guides-hero h1 br { display:none; }
.guides-page .guides-hero h1 em { margin-left:.2em; color:var(--gb-accent); }
.guides-page .guides-hero .lead { font-size:.83rem; max-width:650px; margin:0; color:var(--muted); }
.guides-page .guides-hero .actions { display:none; }
.guides-page .guides-cap-card { padding:0 0 0 2rem; background:none; border:0; border-left:1px solid var(--gb-line); box-shadow:none; backdrop-filter:none; }
.guides-page .guides-cap-card::before,.guides-page .guides-cap-card dl,.guides-page .guides-cap-card>span { display:none; }
.guides-page .guides-cap-card>strong { font:600 2.1rem var(--font-display); color:var(--gb-heading); }
.guides-page .guides-cap-card>p { margin:0; font-size:.7rem; }
.guides-page .guides-browser { grid-template-columns:230px minmax(0,1fr); gap:3rem; padding-block:2.5rem 5rem; max-width:1300px; }
.guides-page .guides-content { scroll-margin-top:6rem; }
.guides-page .guides-rail { padding:0 1.4rem 0 0; background:none; border:0; border-right:1px solid var(--gb-line); }
.guides-page .guides-topic-list button { padding:.7rem .6rem; grid-template-columns:1.4rem minmax(0,1fr); gap:0 .4rem; border-radius:3px; }
.guides-page .guides-topic-list button strong { font-size:.79rem; font-weight:600; }
.guides-page .guides-topic-list button small { font-size:.63rem; color:var(--muted); }
.guides-page .guides-topic-list button[aria-selected="true"] { background:var(--gb-surface); border-color:var(--gb-line); color:var(--gb-heading); }
.guides-page .guides-search-wrap input { background:transparent; border-color:var(--gb-line); border-radius:3px; padding:.65rem; font-size:.8rem; }
.guides-page .guide-article-head { margin-bottom:1.7rem; padding-bottom:1.3rem; border-color:var(--gb-line); }
.guides-page .guide-article-head h2 { font:600 clamp(2rem,3.4vw,3.3rem)/1.08 var(--font-display); letter-spacing:-.035em; color:var(--gb-heading); }
.guides-page .guide-article-head>p:last-child { font-size:.92rem; max-width:660px; }
.guides-page .eyebrow { color:var(--gb-accent); font-size:.64rem; letter-spacing:.14em; }
.guides-page .guide-card,.guides-page .guide-callout,.guides-page .guide-tip,.guides-page .store-purchase-card { background:var(--gb-surface); border-color:var(--gb-line); box-shadow:none; }
.guides-page .guide-card h3,.guides-page .store-purchase-card h3 { font:600 1.55rem/1.2 var(--font-display); }
.guides-page .guide-route { margin-top:2rem; }
.guides-page .guide-steps>li { background:var(--gb-surface); border-color:var(--gb-line); }
.gb-enhanced #guide-getting-started .guide-steps>li[hidden],.gb-enhanced #guide-classes .guide-class-card[hidden],.gb-enhanced #guide-auto-hunt>.guide-steps { display:none; }
.gb-enhanced #guide-getting-started .guide-steps>li { display:grid; grid-template-columns:38px minmax(0,1fr); }
.gb-enhanced #guide-getting-started .guide-steps>li>.gb-step-visual { grid-column:1/-1; }
.gb-enhanced #guide-classes .guide-class-grid { display:block; }
.gb-enhanced #guide-classes .guide-class-card { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr); align-items:start; gap:2rem; min-height:0; padding:2rem; background:var(--gb-surface); border:1px solid var(--gb-line); }
.gb-enhanced #guide-classes .guide-class-card::after { content:none; }
.gb-enhanced #guide-classes .guide-class-card>img { position:static; inset:auto; width:100%; height:auto; max-height:none; object-fit:contain; opacity:1; filter:none; border-radius:var(--radius); }
.gb-enhanced #guide-classes .guide-class-card>div { position:static; z-index:auto; min-width:0; width:auto; margin:0; padding:0; align-self:center; }
.gb-enhanced #guide-classes .guide-class-card p,.gb-enhanced #guide-classes .guide-class-card li { color:var(--text); font-size:1rem; line-height:1.75; }
.gb-enhanced #guide-classes .guide-class-card h3 { font:600 2.7rem var(--font-display); }
.gb-root { min-width:0; margin-bottom:2rem; }
.gb-mobile-nav { display:none; }
.gb-root button,.gb-root select,.gb-dialog button,.gb-next { font:inherit; color:inherit; cursor:pointer; }
.gb-root p { color:var(--muted); font-size:.88rem; line-height:1.75; }
.gb-root h3 { color:var(--gb-heading); }
.gb-root button:focus-visible,.gb-root a:focus-visible,.gb-root select:focus-visible,.gb-dialog button:focus-visible,.gb-next:focus-visible { outline:3px solid var(--gb-accent); outline-offset:4px; }
.gb-heading { margin:2.2rem 0 1.2rem; }
.gb-heading h3,.gb-panel-title { font:600 clamp(1.6rem,2.7vw,2.25rem)/1.15 var(--font-display); margin:.4rem 0 .7rem; letter-spacing:-.025em; }
.gb-figure { min-width:0; margin:0 0 1.5rem; }
.gb-image { display:block; position:relative; overflow:hidden; width:100%; padding:0; border:1px solid var(--gb-line); border-radius:4px; background:var(--ink); text-align:left; }
.gb-image>img { display:block; width:100%; height:auto; }
.gb-image>span { position:absolute; right:10px; bottom:10px; background:#080b11ed; color:#fff8e7; font-size:.66rem; padding:7px 10px; border:1px solid #ad9a68; border-radius:3px; }
.gb-figure>figcaption { display:flex; flex-wrap:wrap; gap:.2rem 1rem; justify-content:space-between; margin-top:.6rem; font-size:.69rem; color:var(--muted); line-height:1.5; }
.gb-figure>figcaption strong { color:var(--gb-heading); font-size:.8rem; }
.gb-map-image { background:var(--ink); }
.gb-map-image>img { max-height:580px; object-fit:contain; }
.gb-three { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.gb-three .gb-image { aspect-ratio:1; }
.gb-three .gb-image>img { height:100%; object-fit:contain; }
.gb-three .gb-image>span { font-size:.6rem; padding:4px; right:5px; bottom:5px; }
.gb-tabs { display:flex; gap:.5rem; border-bottom:1px solid var(--gb-line); margin:0 0 1.5rem; padding-bottom:.7rem; }
.gb-tabs>button { flex:1; padding:.85rem .6rem; min-height:44px; border:1px solid var(--gb-line); border-radius:3px; background:transparent; color:var(--muted); font-size:.78rem; text-align:left; }
.gb-tabs>button[aria-selected="true"],.gb-tabs>button[aria-pressed="true"] { background:color-mix(in srgb,var(--gold) 14%,var(--gb-surface)); color:var(--text); border-color:var(--gold); box-shadow:inset 0 -2px var(--gold); font-weight:700; }
.gb-hot-tabs { flex-wrap:wrap; gap:.35rem; }
.gb-hot-tabs>button { flex:1 1 25%; font-size:.75rem; }
.gb-class-tabs img { display:block; width:100%; max-width:136px; height:auto; aspect-ratio:5/2; object-fit:contain; margin:0 auto .75rem; }
.gb-class-tabs>button { text-align:center; font-size:.875rem; color:var(--text); }
.gb-note { border-left:3px solid var(--gb-accent); background:var(--gb-surface); padding:1rem 1.3rem; margin:1.2rem 0; }
.gb-note>strong { font-size:.9rem; color:var(--gb-heading); }
.gb-note>p { margin:.4rem 0 0; }
.gb-notes { display:grid; grid-template-columns:1fr 1fr; gap:1.4rem 2rem; padding:1rem 0; }
.gb-notes section { position:relative; padding-left:2.3rem; }
.gb-notes section>span { position:absolute; top:0; left:0; color:var(--gb-accent); font:1rem var(--font-display); }
.gb-notes h4 { font:600 1.28rem/1.2 var(--font-display); color:var(--gb-heading); margin:0 0 .5rem; }
.gb-notes p { margin:0; font-size:.82rem; }
.gb-root .gb-caption { font-size:.72rem; border-top:1px solid var(--gb-line); padding-top:1rem; }
.gb-hud,.gb-campus-crop { position:relative; aspect-ratio:1202/675; overflow:hidden; }
.gb-hud>img,.gb-campus-crop>img { position:absolute; display:block; width:100%; max-width:none; height:auto; top:-5.333334%; left:0; }
.gb-hotspot { position:absolute; width:36px; height:36px; border:2px solid #f2e0a5; border-radius:50%; background:#111827ed; color:#fff8df!important; font-weight:700!important; transform:translate(-50%,-50%); box-shadow:0 0 0 4px #080b1155; }
.gb-hotspot[aria-pressed="true"] { background:#d9bc70; color:#111827!important; }
.gb-hotspot-0 { left:17%; top:76%; }.gb-hotspot-1 { left:7%; top:40%; }.gb-hotspot-2 { left:85%; top:72%; }.gb-hotspot-3 { left:93%; top:9%; }.gb-hotspot-4 { left:50%; top:84%; }.gb-hotspot-5 { left:7.5%; top:76%; }
.gb-checklist { display:grid; grid-template-columns:1fr 1fr; gap:.5rem 1.5rem; }
.gb-checklist>label { display:flex; align-items:center; gap:.7rem; padding:.6rem 0; font-size:.82rem; cursor:pointer; }
.gb-checklist input { width:19px; height:19px; accent-color:var(--gold); flex-shrink:0; }
.gb-check-count { font-size:.75rem!important; color:var(--gb-accent)!important; }
.gb-route-controls { display:grid; grid-template-columns:1fr 200px; gap:2rem; background:var(--gb-surface); border:1px solid var(--gb-line); padding:1.2rem; border-radius:4px; }
.gb-route-controls label,.gb-map-select { display:block; font-size:.76rem; font-weight:700; }
.gb-route-controls input { display:block; width:100%; margin-top:1rem; accent-color:var(--gold); cursor:pointer; }
.gb-route-controls output { float:right; font:1.3rem var(--font-display); color:var(--gb-accent); }
.gb-root select { display:block; width:100%; min-height:44px; border:1px solid var(--gb-line); background:var(--gb-paper); padding:.6rem; border-radius:3px; margin-top:.5rem; }
.gb-route-summary { padding:1.5rem 0 1rem; }
.gb-route-summary>span { font-size:.7rem; color:var(--gb-accent); }
.gb-route-summary h3 { font:600 1.8rem var(--font-display); margin:.4rem 0; }
.gb-route-summary p { margin:0; }
#gb-route-summary { scroll-margin-top:7rem; }
.gb-map-select { margin:0 0 1rem; max-width:360px; }
.gb-atlas { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.gb-atlas>button { position:relative; display:flex; flex-direction:column; padding:0; text-align:left; background:var(--gb-surface); border:1px solid var(--gb-line); border-radius:4px; overflow:hidden; }
.gb-atlas>button[aria-pressed="true"] { outline:2px solid var(--gb-accent); outline-offset:2px; }
.gb-atlas img { width:100%; aspect-ratio:1.7; object-fit:cover; background:var(--ink); }
.gb-atlas span { position:absolute; top:8px; left:8px; background:#080b11ed; color:#f4e7c5; padding:3px 7px; font-size:.63rem; }
.gb-atlas strong { display:block; padding:.8rem; font-size:.77rem; font-weight:500; }
.gb-welcome { position:relative; isolation:isolate; min-height:315px; display:flex; align-items:center; overflow:hidden; border-radius:4px; background:#080b11; margin-bottom:1.7rem; }
.gb-welcome>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:65% center; z-index:-2; }
.gb-welcome::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,#080b11f5,#080b1199 60%,#080b1111); z-index:-1; }
.gb-welcome>div { padding:2.4rem; }
.gb-welcome p { color:#e2e5ea; letter-spacing:.13em; font-size:.63rem; }
.gb-welcome h3 { font:600 clamp(2.4rem,4vw,3.7rem)/1.05 var(--font-display); letter-spacing:-.035em; color:#fff6db; margin:.8rem 0 1.4rem; }
.gb-welcome .button { font-size:.74rem; min-height:42px; }
.gb-start-tabs>button span { display:block; font:1.2rem var(--font-display); margin-bottom:.5rem; }
.gb-next { display:block; padding:.65rem 1rem; background:color-mix(in srgb,var(--gold) 14%,var(--gb-surface)); color:var(--text); border:1px solid var(--gold); border-radius:3px; margin:1rem 0 2rem; min-height:44px; font-weight:700; }
.gb-forge { display:grid; grid-template-columns:1fr 196px 1fr; gap:1rem; align-items:center; padding:1.3rem; border:1px solid #9b8b65; background:var(--gb-surface); color:var(--text); border-radius:4px; text-align:center; }
.gb-forge-art { width:196px; height:196px; background:url('/assets/guidebook/forge-atlas.png') 0 0/1024px 512px no-repeat; }
.gb-forge b { font:1.5rem var(--font-display); color:var(--gold-bright); }
.gb-forge h4 { font:600 1.3rem var(--font-display); margin:.6rem 0; }
.gb-forge p { color:var(--muted); font-size:.75rem; }
.gb-scroll-story { display:grid; grid-template-columns:minmax(160px,.55fr) 1fr; align-items:center; gap:2rem; margin-bottom:2.5rem; }
.gb-scroll-crop { aspect-ratio:43.7046729/52.9; }
.gb-scroll-crop>img { position:absolute; max-width:none; width:495.0495%; left:-134.65347%; top:-40.26465%; }
.gb-quest-map { max-width:340px; margin:1.5rem 0; }
.gb-quest-map .gb-map-image>img { max-height:260px; }
.gb-dialog { width:min(1280px,96vw); max-width:96vw; height:min(900px,94dvh); max-height:94dvh; padding:0; border:1px solid var(--gb-line); border-radius:6px; background:var(--gb-paper); color:var(--text); overflow:hidden; }
.gb-dialog::backdrop { background:#080b11e8; backdrop-filter:blur(6px); }
.gb-dialog-bar { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.7rem 1rem; border-bottom:1px solid var(--gb-line); }
.gb-dialog-bar strong { font-size:.8rem; font-weight:500; }
.gb-dialog-bar>div { display:flex; gap:.4rem; flex-shrink:0; }
.gb-dialog button { min-width:42px; min-height:42px; padding:.4rem .6rem; border:1px solid var(--gb-line); border-radius:3px; background:var(--gb-surface); color:var(--text); }
.gb-dialog button:disabled { opacity:.35; cursor:default; }
.gb-dialog-canvas { height:calc(100% - 70px); overflow:auto; overscroll-behavior:contain; }
.gb-dialog-canvas>img { display:block; max-width:none; height:auto; margin:auto; }
@media(hover:hover) { .gb-tabs>button:hover,.gb-atlas>button:hover { border-color:var(--gb-accent); }.gb-image:hover>span { background:#202937; } }
@media(max-width:1000px) { .guides-page .guides-browser { grid-template-columns:190px minmax(0,1fr); gap:1.5rem; }.gb-notes { gap:1rem; }.gb-route-controls { grid-template-columns:1fr 150px; gap:1rem; }.gb-forge { grid-template-columns:1fr 1fr; }.gb-forge-art { grid-column:1/-1; grid-row:1; margin:auto; }.gb-forge>div:first-child { grid-row:2; } }
@media(max-width:720px) {
  .guides-page .guides-hero { padding:6.4rem 0 1.3rem; }.guides-page .guides-hero-grid { display:block; }.guides-page .guides-cap-card { display:none; }.guides-page .guides-hero h1 { font-size:1.6rem; }.guides-page .guides-hero .lead { font-size:.74rem; }
  .guides-page .guides-browser { display:block; padding-top:1.3rem; }.guides-page .guides-rail { position:static; max-height:none; padding:0 0 1rem; border:0; border-bottom:1px solid var(--gb-line); margin-bottom:1.5rem; }.guides-page .guides-topic-list { display:flex; overflow-x:auto; gap:.4rem; padding-bottom:.6rem; }.guides-page .guides-topic-list button { min-width:165px; width:165px; flex-shrink:0; }.guides-page .guides-search-wrap label { margin-bottom:.4rem; }.guides-page .guides-search-wrap input { min-height:42px; }.guides-page .guide-article-head h2 { font-size:2.3rem; }
  .gb-three { grid-template-columns:1fr; }.gb-three .gb-image { aspect-ratio:auto; }.gb-three .gb-image>img { height:250px; }.gb-hotspot { width:29px; height:29px; font-size:.7rem!important; }.gb-hot-tabs>button { font-size:.69rem; }.gb-checklist { grid-template-columns:1fr; }.gb-notes { grid-template-columns:1fr; gap:1.2rem; }.gb-tabs>button { font-size:.69rem; padding:.7rem .4rem; }.gb-route-controls { grid-template-columns:1fr; }.gb-atlas { grid-template-columns:1fr 1fr; gap:.7rem; }.gb-atlas strong { font-size:.7rem; padding:.6rem; }.gb-welcome { min-height:290px; }.gb-welcome>div { padding:1.5rem; }.gb-start-tabs { gap:.3rem; }.gb-start-tabs>button { overflow-wrap:anywhere; }.gb-scroll-story { grid-template-columns:1fr; gap:.5rem; }.gb-scroll-story>.gb-figure { max-width:250px; margin:auto; }.gb-scroll-story>.gb-figure .gb-image { min-width:230px; }.gb-dialog-bar { flex-direction:column; align-items:stretch; gap:.4rem; padding:.6rem; }.gb-dialog-bar>div { justify-content:flex-end; }.gb-dialog-canvas { height:calc(100% - 105px); }.gb-dialog-bar strong { font-size:.7rem; }
  .gb-class-tabs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }.gb-class-tabs>button { font-size:.875rem; padding:1rem .75rem; }
  .gb-enhanced #guide-classes .guide-class-card { grid-template-columns:minmax(0,1fr); padding:1.25rem; gap:1.5rem; }.gb-enhanced #guide-classes .guide-class-card>img { max-width:360px; margin-inline:auto; }.gb-enhanced #guide-classes .guide-class-card h3 { font-size:1.8rem; }
  .gb-enhanced .guides-hero { padding:6rem 0 1rem; }.gb-enhanced .guides-hero .lead,.gb-enhanced .guides-hero .eyebrow { display:none; }
  .gb-enhanced .guides-rail .guides-topic-list,.gb-enhanced .guides-search-wrap { display:none; }
  .gb-mobile-nav { display:flex; align-items:center; gap:1rem; }.gb-mobile-nav label { color:var(--gb-accent); font-size:.65rem; white-space:nowrap; letter-spacing:.07em; }.gb-mobile-nav select { flex:1; min-width:0; min-height:44px; font:inherit; font-size:.8rem; border:1px solid var(--gb-line); border-radius:3px; background:var(--gb-paper); color:var(--text); padding:.5rem; }
}
@media(prefers-reduced-motion:reduce) { .gb-root * { scroll-behavior:auto; transition:none; } }
