/* Lanternwood R2: materials frame HTML, never substitute for game evidence. */
:root {
  --pine: #17372F; --pine-deep: #102A24; --wood: #6D432A;
  --paper: #D7BD94; --reading-paper: #DCC49F; --input-paper: #E5D1AF; --inset-paper: #CCAF81; --sign-text: #F0D7A8; --oat: #CCAF81; --plum: #5C4359; --brass: #B8873D;
  --ink: #20362D; --body: #20362D; --muted: #443D30;
  --paper-offset: 5px; --pine-tile: 1000px;
  --heading: Georgia, 'Palatino Linotype', Palatino, serif;
  --reading: 'Segoe UI', 'Trebuchet MS', Arial, sans-serif;
}
* { box-sizing: border-box; }
/* Reserve the same layout width for short Map and long reading documents. */
html { scroll-padding-top: 1.5rem; overflow-y: scroll; }
@supports (scrollbar-gutter: stable) {
  html { overflow-y: auto; scrollbar-gutter: stable; }
}
body { position: relative; isolation: isolate; display: flex; flex-direction: column; min-height: 100vh; min-height: 100svh; margin: 0; background: var(--pine); color: var(--body); font: 1.05rem/1.65 var(--reading); }
/* One document-anchored material layer: adjoining pine areas share the same phase.
   Only this image has reduced opacity, never text, controls or botanicals. */
body::before { content: ''; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: var(--pine-image) left top / var(--pine-tile) var(--pine-tile) repeat; opacity: .86; }
body::after { content: ''; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: radial-gradient(ellipse 900px 420px at 8% 0,#73804724,transparent 85%), linear-gradient(90deg,#081E2260,transparent 18%,transparent 82%,#081E2260); }
body > main { flex: 0 0 auto; width: 100%; }
body > .masthead, body > .site-footer { flex-shrink: 0; }
img { max-width: 100%; display: block; }
a { color: #513044; text-underline-offset: .22em; text-decoration-thickness: 1px; }
a:hover { color: #70441A; }
a:focus-visible, button:focus-visible, input:focus-visible, summary:focus-visible, [tabindex]:focus-visible { outline: 3px solid #A75B13; outline-offset: 4px; }
button, input { font: inherit; }
button, a, summary { -webkit-tap-highlight-color: #D6B77966; }
button, summary { cursor: pointer; }
[hidden] { display: none !important; }
h1, h2, h3 { color: var(--ink); font-family: var(--heading); font-weight: 500; line-height: 1.12; letter-spacing: -.025em; text-wrap: balance; }
h1 { font-size: clamp(2.25rem,4.3vw,4rem); }
h2 { font-size: clamp(2rem,3.3vw,3.1rem); }
h3 { font-size: 1.55rem; }
p { margin: 0 0 1.1rem; }
figure { margin: 0; }
.skip { position: fixed; left: 1rem; top: -10rem; z-index: 100; background: var(--paper); color: var(--ink); padding: .8rem 1.5rem; }
.skip:focus { top: 1rem; }
/* Search and reading stay quiet. No cards enclosing every paragraph. */
.wiki-wrap { max-width: 1510px; margin: auto; padding: 28px 4% 64px; min-height: 70vh; }
.wiki-wrap::before { opacity: .045; }
.wiki-search { max-width: 1020px; margin: 0 auto 26px; }
.wiki-search label { display: block; margin-bottom: .5rem; font: 600 1.35rem var(--heading); color: var(--ink); }
.search-row { display: flex; gap: .6rem; }
.search-row input { width: 100%; min-width: 0; min-height: 48px; padding: .6rem 1rem; border: 1px solid #7F7D5B; background: var(--input-paper); color: var(--ink); border-radius: 2px; }
.search-row input::placeholder { color: var(--muted); opacity: 1; }
.search-row button { min-height: 48px; padding: .6rem 1.1rem; border: 1px solid #637147; background: var(--pine); color: var(--sign-text); }
.wiki-layout { display: grid; grid-template-columns: 215px minmax(0,1fr); gap: 32px; align-items: start; max-width: 1250px; margin: auto; }
.wiki-sidebar { border-right: 1px solid #AF9C6C88; padding-right: 20px; min-width: 0; }
.topics summary { display: none; min-height: 48px; }
.topics-inner > h2, .local-toc h2 { font-size: 1.25rem; margin: 0 0 .8rem; }
.topics-inner > ul, .local-toc ol, .article-toc ol { list-style: none; padding: 0; margin: 0; }
.topics-inner > ul a { display: block; min-height: 44px; padding: .6rem .5rem; text-decoration: none; font-size: .95rem; line-height: 1.4; }
.topics-inner > ul a:hover, .topics-inner > ul a[aria-current] { background: var(--inset-paper); color: var(--ink); }
.wiki-reading { width: 100%; max-width: 70ch; min-width: 0; font-size: 17px; overflow-wrap: anywhere; }
.reading-heading { border-bottom: 1px solid #BBA37A; padding-bottom: 1.4rem; margin-bottom: 1.8rem; }
.reading-heading h1 { font-size: clamp(2.2rem,3.5vw,3.3rem); margin: .3rem 0 1rem; }
.reading-heading > p:last-child { margin-bottom: 0; }
.article-summary { font-size: 1.12rem; }
.wiki-reading section { scroll-margin-top: 1.2rem; }
.wiki-reading section h2 { font-size: 1.75rem; margin: 2rem 0 1rem; }
.wiki-reading li { margin: .55rem 0; padding-left: .15rem; }
.wiki-reading ul, .wiki-reading ol { padding-left: 1.6rem; }
.planned-label { display: table; padding: .1rem .55rem; font-size: .8rem; background: var(--inset-paper); color: var(--muted); border: 1px solid #997547; }
.breadcrumb { font-size: .88rem; margin: 0 0 1rem; }
.breadcrumb span { padding: 0 .4rem; color: #82704B; }
.article-layout { grid-template-columns: 190px minmax(0,1fr) 165px; gap: 28px; }
.article-toc { position: sticky; top: 1.3rem; padding-left: 16px; border-left: 1px solid #BBA37A; font-size: .85rem; min-width: 0; overflow-wrap: anywhere; }
.article-toc h2 { font-size: 1.1rem; margin-top: 0; }
.article-toc a, .local-toc a { display: inline-block; min-height: 44px; padding: .45rem 0; text-decoration: none; }
.local-toc { display: none; }
.topic-section { margin-bottom: 3rem; }
.topic-description { color: var(--muted); }
.guide-entry { padding: 1rem 0 1.2rem; border-bottom: 1px solid #BBA37A88; }
.guide-entry h3 { margin: .15rem 0 .5rem; font-size: 1.5rem; }
.guide-entry h3 a { text-decoration: none; }
.guide-entry h3 a:hover { text-decoration: underline; }
.guide-entry p { margin: .3rem 0; }
.guide-entry .eyebrow { font-size: .73rem; }
#search-heading { margin: 0 0 .5rem; font-size: clamp(1.55rem,2.6vw,2.1rem); overflow-wrap: anywhere; }
#search-status { color: var(--muted); margin-bottom: .35rem; }
#search-items .guide-entry:first-child { padding-top: .6rem; }
.related { border-top: 1px solid #BBA37A; margin-top: 2rem; }
.table-scroll { max-width: 100%; overflow-x: auto; margin: 1rem 0 1.6rem; }
table { width: 100%; border-collapse: collapse; font-size: 1rem; }
th, td { text-align: left; border: 1px solid #B5A47D; padding: .65rem .8rem; vertical-align: top; }
th { background: var(--inset-paper); color: var(--ink); }
.game-capture img { width: 100%; height: auto; }
.no-results { border-block: 1px solid #BBA37A; padding: 1rem 0; }
.no-results a { display: inline-flex; align-items: center; min-height: 44px; margin-right: 1.2rem; }
/* Closed atlas, not fabricated terrain. */
.atlas-stage { padding: 72px 8%; display: grid; grid-template-columns: .8fr 1.1fr; align-items: center; gap: 8%; background: transparent; color: var(--sign-text); }
.atlas-copy h1 { color: var(--sign-text); font-size: clamp(2.5rem,4vw,3.8rem); margin: .5rem 0 1.5rem; }
.atlas-copy .eyebrow { color: var(--oat); }
.atlas-closed { aspect-ratio: .78; max-width: 270px; width: 90%; margin: auto; padding: 24px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1rem; background: linear-gradient(90deg,#3F2B20,#6D432A 8%,#754D32 92%,#D3B787 94%,#4E3324 98%); border: 4px solid #9A7942; outline: 1px solid #C4A769; outline-offset: -17px; border-radius: 3px 10px 10px 3px; transform: rotate(-6deg); box-shadow: 10px 14px 10px #0004; color: #F4E3BD; font: small-caps 2rem/1.4 var(--heading); text-align: center; }
.atlas-closed > span:first-child { font-size: 2.5rem; }
.atlas-ruling { width: 60%; height: 1px; background: #C2A15D; }
.reading-page, .community-page { max-width: 1100px; margin: auto; padding: 52px max(5%,calc((1100px - 70ch)/2)); min-height: 65vh; overflow-wrap: anywhere; }
.reading-page h1, .community-page h1 { margin-top: .5rem; }
.reading-page h2 { font-size: 1.8rem; margin: 2rem 0 1rem; }
.lead { font-size: 1.18rem; }
.invitation-note { border-block: 1px solid #BBA37A; padding: 1.5rem 0; margin: 1.8rem 0; }
.flourish { display: none; }
/* R4 one normal-flow foreground frame. Sanitized selected-PNG geometry:
   top-left = target port - native port * uniform scale. H64/V22 painted
   profiles, not canvas dimensions. Visible wood splices are not seamless. */
:root { --beam-center: 120px; --post-center: 22px; --reading-inset: 54px; }
.commons-frame { position: relative; isolation: isolate; width: calc(100% - 64px); max-width: 1260px; margin: 0 auto; --beam-center: 124.5px; --frame-top: 172px; --reading-inset: 79px; --plant-left-scale: .12; --plant-right-scale: .11; }
.shared-frame .commons-frame { margin-top: 0; --beam-center: 232.860861px; --frame-top: 280px; --reading-inset: 79px; --plant-left-scale: .20; --plant-right-scale: .18; }
.masthead { position: relative; height: var(--frame-top); text-align: center; background: transparent; color: var(--sign-text); }
.brand-band { position: relative; z-index: 40; padding-top: 8px; }
.wordmark { display: inline-block; color: #EFD39A; font: 600 32px/40px "Malfoid Cinzel", serif; font-kerning: normal; font-synthesis: none; font-variant-caps: normal; text-transform: none; letter-spacing: .015em; text-decoration: none; text-shadow: 0 1px 0 rgb(33 20 12 / .85); }
.wordmark:hover { color: #FFF8EB; }
.development { display: table; margin: 3px auto 0; padding: 0 16px; color: var(--ink); background: var(--oat); font: italic 14px/20px var(--heading); border-inline: 3px double #927140; }
.development span { font-size: .65rem; margin-inline: 4px; }
.shared-frame .brand-band { width: 384px; max-width: calc(100% - 40px); margin-inline: auto; padding-top: 98px; }
.shared-frame .wordmark { font-size: 44px; line-height: 52px; }

.nav-beam, .closing-rail { position: absolute; z-index: 20; left: var(--post-center); right: var(--post-center); height: 66.44976px; background: var(--frame-rail-horizontal-image) left top / 665.11005px 66.44976px repeat-x; pointer-events: none; }
.nav-beam { top: calc(var(--beam-center) - 33.22488px); }
.global-nav { position: absolute; z-index: 40; top: calc(var(--beam-center) - 24px); left: 66px; right: 66px; display: grid; grid-template-columns: 1fr 1fr 1.45fr 1fr 1fr; align-items: center; gap: 14px; height: 48px; }
.global-nav a { position: relative; min-width: 0; min-height: 44px; display: flex; align-items: center; justify-content: center; color: var(--sign-text); font: 600 18px/1.2 var(--heading); letter-spacing: .03em; text-transform: uppercase; text-decoration: none; }
/* R6: full-height native cap strips scale uniformly to 44px. Only the quiet
   middle stretches horizontally; the independent anchor retains its hit box. */
.nav-plank { isolation: isolate; background: transparent; border: 0; box-shadow: none; }
.nav-art { position: absolute; z-index: -1; left: 0; right: 0; top: calc(50% - 22px); height: 44px; border-style: solid; border-color: transparent; border-width: 0 13.50599520px; border-image-source: var(--r6-nav-desktop-normal-image); border-image-slice: 0 128 fill; border-image-width: 0 13.50599520px; border-image-repeat: stretch; pointer-events: none; }
.nav-plank[aria-current="page"] .nav-art { border-image-source: var(--r6-nav-desktop-selected-image); }
/* The shared conservative existing compact-header threshold leaves all ordinary
   desktop slots >=132px, including a 16px scrollbar, without changing the grid. */
@media (max-width: 1103px) {
  .nav-art { border-width: 0 5.68742656px; border-image-width: 0 5.68742656px; border-image-slice: 0 110 fill; border-image-source: var(--r6-nav-compact-normal-image); }
  .nav-plank[aria-current="page"] .nav-art { border-image-source: var(--r6-nav-compact-selected-image); }
}
.nav-plank:hover { text-decoration: underline; }
.nav-plank[aria-current="page"] { color: var(--ink); }
.nav-plank[aria-current="page"] > span:first-child { text-decoration: underline; text-underline-offset: .15em; }
.global-nav .nav-map { min-height: 108px; margin: -30px 0; padding-bottom: 20px; color: #422B16; font-size: 32px; isolation: isolate; }
.nav-map::before { content: ''; position: absolute; z-index: -1; inset: 0; background: var(--atlas-image) center / contain no-repeat; filter: drop-shadow(0 3px 2px #20180C88); pointer-events: none; }
.atlas-saddle { position: absolute; z-index: -2; width: 221.68744px; height: 19.51103px; left: calc(50% - 110.84372px); bottom: 7px; background: var(--frame-atlas-saddle-image) 0 0 / 100% 100% no-repeat; pointer-events: none; }
.nav-map[aria-current] > span:first-child { text-decoration: underline; text-underline-offset: .2em; }
.global-nav a:focus-visible { outline: 3px solid #FFD88C; outline-offset: 3px; z-index: 60; }
.frame-upper-left, .frame-upper-right { position: absolute; z-index: 30; pointer-events: none; background-size: 100% 100%; background-repeat: no-repeat; }
.frame-upper-left { width: 310.13439px; height: 215.01976px; left: calc(var(--post-center) - 38.83004px); top: calc(var(--beam-center) - 105.106719px); background-image: var(--frame-upper-joint-left-image); }
.frame-upper-right { width: 388.66019px; height: 262.83495px; left: calc(100% - var(--post-center) - 337.553398px); top: calc(var(--beam-center) - 155.339806px); background-image: var(--frame-upper-joint-right-image); }
/* Mask only the final 32px quiet attachment tails over the unbroken rail.
   Receivers, carved faces, controls and focus are never masked. */
.frame-upper-left, .frame-foot-left { mask-image: linear-gradient(to right,#000 calc(100% - 32px),transparent); }
.frame-upper-right, .frame-foot-right { mask-image: linear-gradient(to right,transparent,#000 32px); }
.frame-lantern { position: absolute; z-index: 31; left: calc(var(--post-center) - 22.793296px); top: calc(var(--beam-center) - 8.631285px + 22px); width: 45.75419px; height: 120px; background: var(--frame-hanging-lantern-image) 0 0 / 100% 100% no-repeat; pointer-events: none; }
.frame-lantern::after { content: ''; position: absolute; width: 7px; height: 7px; left: 19.3px; top: 5px; background: #B38A4F; border: 1px solid #4B2C18; border-radius: 50%; }
.frame-stile { position: absolute; z-index: 20; pointer-events: none; top: calc(var(--frame-top) - 8px); bottom: 28px; width: 23.03529px; background: var(--frame-stile-vertical-image) 0 0 / 23.03529px 281.08235px repeat-y; }
.frame-stile-left { left: calc(var(--post-center) - 11.517647px); }
.frame-stile-right { right: calc(var(--post-center) - 11.517647px); }
.shared-frame .frame-stile-left { top: calc(var(--beam-center) - 105.106719px + 210.972332px); bottom: 104px; }
.shared-frame .frame-stile-right { top: calc(var(--beam-center) - 155.339806px + 258.796116px); bottom: 102.814968px; }
.fitted-vellum { position: relative; z-index: auto; margin: -16px 22px 0; background: var(--r5-aged-parchment-image) 0 0 / 1000px 1000px repeat var(--paper); box-shadow: inset 0 0 12px #75542D42; }
.fitted-vellum::before { content: ''; position: absolute; inset: 0; z-index: 10; background: inherit; pointer-events: none; }
.wiki-page .fitted-vellum { background-image: var(--r5-reading-parchment-image); background-color: var(--reading-paper); }
.vellum-binding { position: absolute; z-index: 12; inset: -8px; border: 84px solid transparent; border-image-source: var(--r5-aged-binding-image); border-image-slice: 336; border-image-width: 84px; border-image-repeat: repeat; pointer-events: none; }
.shared-frame .vellum-binding { border-image-width: 84px; }
#main { position: relative; z-index: 40; }
.frame-end { position: relative; z-index: 30; height: 72px; margin-top: -8px; pointer-events: none; }
.closing-rail { top: 6.77512px; }
.frame-foot-left, .frame-foot-right { display: none; position: absolute; z-index: 30; pointer-events: none; background-size: 100% 100%; background-repeat: no-repeat; }
.shared-frame .frame-end { height: 108px; margin-top: -72px; }
.shared-frame .closing-rail { top: 38.8242px; }
.shared-frame .frame-foot-left { display: block; width: 239.5092px; height: 107.97546px; left: calc(var(--post-center) - 34.552147px); top: 0; background-image: var(--frame-lower-foot-left-image); }
.shared-frame .frame-foot-right { display: block; width: 239.17825px; height: 106.34441px; left: calc(100% - var(--post-center) - 208.821752px); top: 1.185032px; background-image: var(--frame-lower-foot-right-image); }
.site-footer { margin-top: auto; background: #102A2440; color: var(--oat); text-align: center; padding: 28px 5%; font-size: .85rem; }
.site-footer > a { color: var(--sign-text); font: small-caps 1.7rem var(--heading); text-decoration: none; }
.site-footer p { margin: .65rem 0; }
.parchment { position: relative; background: transparent; color: var(--body); }
.parchment::before { content: none; }
.hero { position: relative; padding: var(--reading-inset); background: transparent; }
.hero-copy { text-align: left; }
.hero-copy h1 { margin: .2rem 0 1.2rem; font-size: clamp(2.5rem,4.7vw,4.5rem); line-height: 1.06; }
.hero-copy > p:not(.eyebrow) { max-width: 44ch; font: 1.3rem/1.5 var(--heading); }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 1.5rem; }
.button { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: .65rem 1.3rem; font: 600 1.1rem/1.3 var(--heading); text-decoration: none; border: 1px solid #90713D; outline: 1px solid #C3A56B; outline-offset: -4px; }
.button-pine { background: var(--pine); color: var(--sign-text); }
.button-pine:hover { background: #2C4D3C; color: var(--sign-text); }
.button-paper { background: var(--paper); color: var(--ink); }
.button-paper:hover { background: var(--input-paper); }
.eyebrow { color: var(--muted); font: 600 .78rem/1.6 var(--reading); text-transform: uppercase; letter-spacing: .1em; }
.text-link { display: inline-block; min-height: 44px; padding-block: .5rem; font-weight: 600; }
.wiki-wrap { max-width: none; margin: 0; padding: var(--reading-inset); min-height: 60vh; }
.wiki-wrap::before { opacity: .045; }
.reading-page, .community-page { max-width: none; margin: 0; padding: var(--reading-inset); min-height: 60vh; }
.reading-column { width: 100%; max-width: 740px; margin-inline: auto; text-align: left; }
.community-actions { margin: 1.8rem 0; }
.community-actions > p:last-of-type { margin-bottom: .35rem; }
.atlas-stage { padding: var(--reading-inset); color: var(--body); }
.atlas-copy h1 { color: var(--ink); }
.atlas-copy .eyebrow { color: var(--muted); }
/* Continuous chapter regions: label gutter / main prose, not paper cards. */
.story { position: relative; display: grid; grid-template-columns: 1fr 3fr; gap: 32px; padding: 44px var(--reading-inset); border-top: 1px solid #B69B665E; box-shadow: inset 0 2px 0 #B08A5830; }
.story-heading { border-right: 1px solid #B69B6670; padding-right: 20px; }
.story-heading, .story-body { min-width: 0; }
.story-heading .eyebrow { margin-top: 7px; }
.story-body h2 { margin: 0 0 16px; font-size: clamp(2rem,3vw,2.8rem); }
.story-body > p { font: 1.2rem/1.6 var(--heading); max-width: 57ch; }
.story-2 { background: #CCAF8118; }
.story-4 { background: #CCAF8118; }
.story-links { display: flex; flex-wrap: wrap; gap: 4px 20px; }
.story-links a { display: inline-flex; align-items: center; min-height: 44px; font-size: .95rem; padding-block: .4rem; }
.feature-index { padding: 44px var(--reading-inset); border-top: 1px solid #B69B665E; }
.feature-index h2 { margin: .4rem 0 1rem; }
.feature-links { display: grid; grid-template-columns: 1fr 1fr; gap: 0 32px; margin: 1.5rem 0; }
.feature-links a { padding: .8rem 0; min-height: 44px; border-bottom: 1px solid #BBA37A88; text-decoration: none; }
.feature-links a:hover { text-decoration: underline; }
.margin-vine { position: absolute; z-index: -1; pointer-events: none; display: none; background-repeat: no-repeat; background-size: 100% 100%; }
.margin-vine-left { left: 4px; top: 104px; width: 49.86px; height: 270.36px; background-image: var(--frame-margin-left-image); }
.margin-vine-right { right: 4px; top: 32px; width: 38.52px; height: 272.52px; background-image: var(--frame-margin-right-image); }
@media (min-width: 1200px) { .margin-vine { display: block; } }
.major-crossrail { position: relative; height: 66.44976px; background: var(--frame-rail-horizontal-image) left top / 665.11005px 66.44976px repeat-x; pointer-events: none; }
.major-crossrail::after { content: ''; position: absolute; width: 241.92578px; height: 58.61585px; left: calc(50% - 120.96289px); top: calc(33.22488px - 30.812437px); background: var(--frame-transition-connector-image) 0 0 / 100% 100% no-repeat; }
.journal-stage { position: relative; padding: 48px var(--reading-inset); display: grid; grid-template-columns: 1fr 3fr; gap: 32px; align-items: center; background: transparent; color: var(--body); box-shadow: none; }
.journal-heading h2 { color: var(--ink); max-width: 9ch; margin: 0 0 1rem; font-size: clamp(2.2rem,3vw,3rem); }
.journal-heading p { font: italic 1.1rem/1.5 var(--heading); }
.journal-paper { position: relative; isolation: isolate; padding: 32px 36px; color: var(--body); background: var(--r5-aged-parchment-image) 0 0 / 1000px 1000px repeat var(--paper); border: 1px solid #997547; box-shadow: 3px 3px 0 #CCAF81, 0 4px 8px #28182A55; }
.journal-paper::before { content: none; }
.journal-paper::after { content: ''; position: absolute; right: 17px; top: 12px; width: 9px; height: 9px; border-radius: 50%; background: radial-gradient(circle at 30% 25%,#FFE1A5,#9B5F23 65%,#4C2E19); box-shadow: 1px 2px 2px #72552B; }
.journal-paper h3 { font-size: 2rem; margin: .6rem 0 1rem; }
.journal-paper h3 a { color: var(--ink); text-decoration: none; }
.journal-paper .eyebrow { border-bottom: 1px solid #BBA37A; padding-bottom: .8rem; }
.community { padding: 48px var(--reading-inset) 79px; border-top: 1px solid #BBA37A; }
.community h2 { max-width: 22ch; margin: 0 0 1rem; }
.community p { max-width: 65ch; }
@media (max-width: 760px) {
  .story { display: block; padding: 30px var(--reading-inset); }
  .story-heading { border: 0; padding: 0; }
  .story-body h2 { font-size: 2rem; margin-bottom: 1.1rem; }
  .story-body > p { font-size: 1.13rem; }
  .feature-index { padding: 32px var(--reading-inset); }
  .feature-links { grid-template-columns: 1fr; margin: 1rem 0; }
  .journal-stage { display: block; padding: 32px var(--reading-inset); }
  .journal-heading h2 { max-width: none; font-size: 2.5rem; }
  .journal-paper { padding: 28px 20px; }
  .journal-paper h3 { font-size: 1.8rem; }
  .community { padding: 32px var(--reading-inset); }
  .major-crossrail { height: 20px; background-size: 166.27751px 16.61244px; background-position: center; }
  .major-crossrail::after { display: none; }
}
/* Shared Home-derived receivers and reading insets on every route. */

@media (max-width: 1000px) and (min-width: 761px) {
  .commons-frame { width: calc(100% - 64px); }

  .shared-frame .brand-band { padding-top: 112px; width: 288px; }
  .shared-frame .wordmark { font-size: 34px; line-height: 40px; }
  .global-nav { left: 50px; right: 50px; gap: 8px; }
  .global-nav a { font-size: 16px; }
}
@media (max-width: 760px) {
  :root { --pine-tile: 780px; }
  body { font-size: 16px; padding-bottom: calc(112px + env(safe-area-inset-bottom)); }
  .commons-frame, .shared-frame .commons-frame { width: 100%; margin-top: 0; --frame-top: 97px; --post-center: 4px; --reading-inset: 20px; }
  .masthead { border: 4px solid #6D432A; border-bottom-width: 6px; background: var(--frame-rail-horizontal-image) center / 665.11005px 66.44976px repeat-x, #6D432A; }
  .brand-band, .shared-frame .brand-band { width: auto; max-width: none; padding-top: 11px; }
  .wordmark, .shared-frame .wordmark { font-size: clamp(28px,8.3vw,36px); line-height: 38px; }
  .development { margin-top: 3px; font-size: 14px; }
  .frame-crown, .frame-upper-left, .frame-upper-right, .frame-lantern, .frame-foot-left, .frame-foot-right, .shared-frame .frame-foot-left, .shared-frame .frame-foot-right, .nav-beam { display: none; }
  .frame-stile, .shared-frame .frame-stile-left, .shared-frame .frame-stile-right, .wiki-page .frame-stile, .inner-page .frame-stile { top: 91px; bottom: 12px; width: 4px; background-size: 4.188235px 51.10588px; }
  .frame-stile-left, .wiki-page .frame-stile-left, .inner-page .frame-stile-left { left: 0; }
  .frame-stile-right, .wiki-page .frame-stile-right, .inner-page .frame-stile-right { right: 0; }
  .fitted-vellum { margin: -4px 0 0; box-shadow: inset 0 0 0 1px #997547; }
  .vellum-binding { display: none; }
  .global-nav { position: fixed; z-index: 80; top: auto; bottom: 0; left: 0; right: 0; height: auto; grid-template-columns: 1fr 1fr 1.3fr 1fr 1.18fr; gap: 2px; padding: 10px 4px calc(11px + env(safe-area-inset-bottom)); background: var(--frame-rail-horizontal-image) left 0 / 665.11005px 66.44976px repeat-x, #6D432A; border-inline: 4px solid #8D6038; border-block: 2px solid #B18C54; box-shadow: 0 -3px 8px #0005; }
  .global-nav a { min-height: 48px; font-size: clamp(12px,3.3vw,13px); letter-spacing: 0; padding-inline: 1px; }
  .global-nav .nav-map { min-height: 84px; margin: -27px -1px -3px; padding-bottom: 17px; font-size: 25px; }
  .atlas-saddle { width: 83.13279px; height: 7.316636px; left: calc(50% - 41.566395px); bottom: 6px; }
  .frame-end, .shared-frame .frame-end { height: 20px; margin-top: -4px; }
  .closing-rail, .shared-frame .closing-rail { top: 0; height: 16px; background-size: 166.27751px 16.61244px; }
  .hero { padding: 32px var(--reading-inset); }
  .hero-copy h1 { font-size: clamp(2rem,7.5vw,3.3rem); line-height: 1.1; }
  .hero-copy > p:not(.eyebrow) { font-size: 1.13rem; }
  .hero-copy .eyebrow { font-size: .7rem; letter-spacing: .06em; }
  .hero-actions { gap: 10px; }
  .hero-actions .button { font-size: 1rem; padding-inline: 14px; }
  .wiki-wrap { padding: 26px var(--reading-inset) 36px; }
  .wiki-search { margin: 0 0 18px; }
  .search-row { gap: .35rem; }
  .search-row input { font-size: 16px; padding: .6rem .7rem; }
  .search-row button { font-size: 16px; padding-inline: .7rem; }
  .wiki-layout, .article-layout { display: block; }
  .wiki-sidebar { margin-bottom: 20px; padding: 0; border: 0; }
  .topics summary { display: list-item; padding: .7rem 1rem; border: 1px solid #AD946B; background: var(--oat); color: var(--ink); font: 600 1.05rem/1.4 var(--heading); }
  .topics-inner { padding: 1.1rem 1rem; border: 1px solid #997547; border-top: 0; background: #D7BD9420; }
  .topics-inner > h2 { display: none; }
  .local-toc { display: block; }
  .wiki-reading { font-size: 16px; }
  .reading-heading h1 { font-size: clamp(2rem,8vw,2.6rem); }
  .article-summary { font-size: 1.08rem; }
  .wiki-reading section h2 { font-size: 1.7rem; }
  .article-toc { display: none; }
  .atlas-stage { padding: 36px var(--reading-inset); grid-template-columns: 1fr; gap: 36px; }
  .atlas-closed { max-width: 175px; font-size: 1.3rem; }
  .atlas-closed > span:first-child { font-size: 1.8rem; }
  .atlas-copy h1 { font-size: 2.5rem; }
  .reading-page, .community-page { padding: 32px var(--reading-inset); }
  .site-footer { padding: 24px; }
}
@media (max-width: 340px) {
  /* Keep the long live label inside its compact art without moving Map. */
  .global-nav a[href$="discord.html"] { font-size: 11px; }
  .hero-actions { flex-direction: column; align-items: flex-start; }
  .hero-actions .button { min-width: 165px; }
  .search-row { flex-wrap: wrap; }
  .search-row input { flex: 1 1 170px; }
  .search-row button { flex-grow: 1; }
}
/* Zoom/narrow-equivalent fallback: preserve all controls in normal flow. */
@media (max-width: 19em) {
  .global-nav { position: static; grid-template-columns: 1fr 1fr; margin-top: 20px; }
  .masthead { height: auto; min-height: 97px; }
  .global-nav .nav-map { grid-column: 1 / -1; margin: 0; min-height: 64px; font-size: 22px; padding-bottom: 12px; }
  body { padding-bottom: 0; }
  .hero-copy h1 { font-size: 1.8rem; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation: none !important; transition: none !important; }
}
@media print {
  body { background: white; padding: 0; font: 12pt/1.5 Georgia,serif; }
  body::before, body::after, .masthead, .site-footer, .wiki-sidebar, .article-toc, .wiki-search, .frame-stile, .frame-end, .vellum-binding { display: none; }
  .commons-frame { width: 100%; margin: 0; }
  .fitted-vellum { margin: 0; background: white; box-shadow: none; }
  .wiki-wrap { padding: 0; background: white; }
  .wiki-layout { display: block; }
  .wiki-reading { max-width: none; font-size: 12pt; }
}
/* R5 registered assembly. All visible words stay live HTML. Rear/front PNGs
   keep their complete shared canvas, anchored to post x beam centreline. */
.name-sign { position: absolute; z-index: 18; pointer-events: none; width: 643.8px; height: 89.4px; left: calc(50% - 321.9px); top: 13.6px; background: var(--r5-compact-name-sign-image) 0 0 / 100% 100% no-repeat; }
.brand-band, .shared-frame .brand-band { position: absolute; z-index: 40; top: 39.1px; left: calc(50% - 197.1px); width: 417px; max-width: none; height: 49.2px; margin: 0; padding: 0; display: flex; align-items: center; justify-content: center; gap: 16px; }
.wordmark, .shared-frame .wordmark { flex: 0 0 auto; color: #EFD39A; font-size: 32px; line-height: 40px; letter-spacing: .015em; font-variant: normal; }
.wordmark:hover { color: #EFD39A; text-decoration: underline; }
.development { flex: 0 0 auto; position: relative; width: 161.25675px; height: 30.39764px; margin: 0; padding: 4.5557px 0 0; border: 0; background: var(--r5-development-ribbon-image) 0 0 / 100% 100% no-repeat; color: var(--ink); font: italic 14px/16px var(--heading); white-space: nowrap; }
.joint-plant { position: absolute; pointer-events: none; background-size: 100% 100%; background-repeat: no-repeat; }
.joint-plant-left { width: calc(1254px * var(--plant-left-scale)); height: calc(1254px * var(--plant-left-scale)); left: calc(var(--post-center) - 400px * var(--plant-left-scale)); top: calc(var(--beam-center) - 850px * var(--plant-left-scale)); }
.joint-plant-right { width: calc(1254px * var(--plant-right-scale)); height: calc(1254px * var(--plant-right-scale)); left: calc(100% - var(--post-center) - 970px * var(--plant-right-scale)); top: calc(var(--beam-center) - 1000px * var(--plant-right-scale)); }
.joint-plant-rear { z-index: 1; }
.joint-plant-front { z-index: 32; }
.joint-plant-left.joint-plant-rear { background-image: var(--r5-botanical-left-rear-image); }
.joint-plant-left.joint-plant-front { background-image: var(--r5-botanical-left-front-image); }
.joint-plant-right.joint-plant-rear { background-image: var(--r5-botanical-right-rear-image); }
.joint-plant-right.joint-plant-front { background-image: var(--r5-botanical-right-front-image); }
@media (min-width: 761px) {
  /* Outermost nav focus starts >=45px inboard of each post (3px outline
     plus 3px offset). Inner controls retain the existing 44px minimum. */
  .global-nav { left: 74px; right: 74px; }
  .frame-stile-left { top: calc(var(--beam-center) - 105.106719px + 210.972332px); bottom: 104px; }
  .frame-stile-right { top: calc(var(--beam-center) - 155.339806px + 258.796116px); bottom: 102.814968px; }
  .frame-end { height: 108px; margin-top: -72px; }
  .closing-rail { top: 38.8242px; }
  .frame-foot-left { display: block; width: 239.5092px; height: 107.97546px; left: calc(var(--post-center) - 34.552147px); top: 0; background-image: var(--frame-lower-foot-left-image); }
  .frame-foot-right { display: block; width: 239.17825px; height: 106.34441px; left: calc(100% - var(--post-center) - 208.821752px); top: 1.185032px; background-image: var(--frame-lower-foot-right-image); }
  .wiki-wrap, .reading-page, .community-page, .atlas-stage { padding-bottom: 104px; }
}
@media (min-width: 1104px) {
  .shared-frame .name-sign { width: 1047.87506px; height: 213.61098px; left: calc(50% - 523.93753px); top: -.93753px; background-image: var(--r5-home-name-sign-image); }
  .shared-frame .brand-band { top: 81.75059px; left: calc(50% - 238.95787px); width: 492.1912px; height: 64.96924px; display: block; }
  .shared-frame .wordmark { font-size: 64px; line-height: 64px; letter-spacing: .025em; }
  .shared-frame .development { position: absolute; left: calc(50% - 80.628375px); top: 66.30927px; }
}
/* Available frame <1040px: never shrink the full crest below its real safe lane. */
@media (min-width: 761px) and (max-width: 1103px) {
  .shared-frame .commons-frame { --beam-center: 124.5px; --frame-top: 172px; --plant-left-scale: .12; --plant-right-scale: .11; }
}
@media (max-width: 760px) {
  .masthead { border: 0; background: transparent; }
  .name-sign, .shared-frame .name-sign { width: 100%; height: 97px; left: 0; top: 0; background: var(--r5-phone-name-sign-image) center 7px / 381.6px 90px no-repeat; }
  /* Real wood returns cover the quiet horizontal crop cuts, not text/focus. */
  .masthead::after { content: ''; position: absolute; z-index: 35; inset: 0; background: var(--frame-stile-vertical-image) left top / 6px 73.21348px repeat-y, var(--frame-stile-vertical-image) right top / 6px 73.21348px repeat-y; pointer-events: none; }
  .masthead::before { content: ''; position: absolute; z-index: 35; top: 0; left: 0; right: 0; height: 7px; background: var(--frame-rail-horizontal-image) center / 665.11005px 66.44976px repeat-x; pointer-events: none; }
  .brand-band, .shared-frame .brand-band { top: 22px; left: 0; width: 100%; height: 69px; display: block; padding: 0; }
  .wordmark, .shared-frame .wordmark { font-size: 30px; line-height: 36px; }
  .development, .shared-frame .development { position: absolute; left: calc(50% - 80.628375px); top: 39.371625px; }
  .joint-plant { display: none; }
  .commons-frame, .shared-frame .commons-frame { --frame-top: 97px; }
}
@media (max-width: 19em) {
  .brand-band, .shared-frame .brand-band { position: relative; height: 75px; }
  .masthead::after { height: 97px; }
}
@media print { .name-sign, .joint-plant { display: none; } }
@media (max-width: 1190px) {
  .article-layout { grid-template-columns: 180px minmax(0,1fr); }
  .article-toc { display: none; }
  .local-toc { display: block; margin-top: 1.5rem; padding-top: 1.5rem; border-top: 1px solid #BBA37A; }
}
/* Native compact termination: shorten only the upper post, preserving all ports.
   Full shared crest retains the original joint; phone joints remain hidden. */
@media (min-width: 761px) and (max-width: 1103px) {
  .shared-frame .frame-upper-right { background-image: var(--frame-upper-joint-right-compact-image); }
}
