/* Homepage-only parchment palette. The shared community theme stays independent. */
:root {
  --bg:#e9dfc5; --panel:#e2d5b6; --ink:#30382b; --muted:#70664f;
  --line:#65553838; --acid:#465c38; --paper:#f3e9d0; --rust:#8b4430;
  --display:var(--font-display);
  --gutter:clamp(22px,5.2vw,100px);
}
html { background:var(--bg); }
body { background:radial-gradient(ellipse at 20% 5%,#faf0d8a6,transparent 42%),radial-gradient(ellipse at 95% 20%,#b69a6e25,transparent 45%),var(--bg); }
body::after { opacity:.11; mix-blend-mode:multiply; z-index:30; }
body::before { content:''; position:fixed; inset:0; pointer-events:none; z-index:29; box-shadow:inset 0 0 95px #77552718; }
::selection { background:#536346; color:var(--paper); }
.section-shell { max-width:1700px; }
a,button { touch-action:manipulation; }
a:focus-visible,button:focus-visible { outline:2px solid #445932; outline-offset:5px; }
.masthead { position:relative; min-height:88px; border-bottom:1px solid var(--line); background:#eee4cd55; }
.brand { font-family:Barlow,'Trebuchet MS',sans-serif; }
.main-nav { font-size:14px; gap:32px; }
.main-nav a { position:relative; padding-block:14px; }
.main-nav a::after { content:''; position:absolute; left:0; right:20px; bottom:7px; height:1px; background:var(--acid); transform:scaleX(0); transform-origin:left; transition:transform .3s; }
.main-nav a:hover::after { transform:scaleX(1); }
.main-nav a span { color:#78684f; }
.nav-download { min-height:46px; padding:12px 22px; color:var(--ink); border-color:#65553870; font-size:13px; background:#f9efda40; }
.nav-download:hover { background:#ded1b4; border-color:var(--acid); }
.nav-download span { margin-left:24px; }
.menu-toggle span { background:var(--ink); }
.mobile-menu { background:#eee3c9; color:var(--ink); border-color:var(--line); box-shadow:0 14px 24px #4c3a251a; }
.mobile-menu a { border-color:var(--line); }
.skip-link { color:var(--paper); }
.ink-label { display:block; font:600 10px/1.6 var(--body); letter-spacing:.16em; text-transform:uppercase; }

/* A brief map reveal runs while the page's assets load independently. */
.parchment-intro { --intro-font:var(--font-display); display:none; position:fixed; inset:0; z-index:60; place-items:center; overflow:hidden; background:#e4d3af; color:#4b402d; font-family:var(--intro-font); }
.intro-pending .parchment-intro { display:grid; }
.intro-pending:not(.intro-burning) .masthead,.intro-pending:not(.intro-burning) main,.intro-pending:not(.intro-burning) .footer,.intro-pending:not(.intro-burning) .replay-row { visibility:hidden; }
.intro-pending { overflow:hidden; }
.parchment-intro.canvas-ready { background:transparent; }
.burn-canvas { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; }
.intro-border { position:absolute; inset:28px; border:1px solid #6e52394d; pointer-events:none; }
.intro-border::after { content:''; position:absolute; inset:6px; border:1px solid #6e52392b; }
.intro-copy { position:relative; width:min(900px,100%); text-align:center; padding:28px; transition:opacity .2s ease-out,transform .3s cubic-bezier(.22,1,.36,1); }
.intro-copy img { width:26px; height:37px; margin:0 auto 16px; }
.intro-copy .ink-label { font:400 11px/1.6 var(--intro-font); letter-spacing:.2em; margin-bottom:18px; }
.intro-copy>p { font:400 clamp(28px,3.3vw,49px)/1.3 var(--intro-font); letter-spacing:-.025em; }
.intro-aside { display:block; margin-top:12px; font:400 16px/1.5 var(--intro-font); opacity:.8; }
/* Ink and terrain reveal together; each sole is planted along the exact SVG curve. */
.intro-map { display:block; width:min(660px,100%); height:auto; margin:18px auto 8px; overflow:visible; fill:none; stroke:#6f6043; stroke-width:1.25; stroke-linecap:round; stroke-linejoin:round; }
/* Keep the animated ink on its own layer instead of repainting the whole sheet. */
.intro-pending .intro-map { transform:translateZ(0); }
.intro-map-reveal { fill:none; stroke:#fff; stroke-width:230; stroke-dasharray:1; stroke-dashoffset:1; stroke-linecap:round; }
.intro-map-uncovered { opacity:0; stroke:none; }
.intro-map-shore { fill:#a9976320; stroke:#99835870; stroke-width:1; }
.intro-map-contours { stroke:#99865b; opacity:.35; }
.intro-map-green { fill:#7880522b; }
.intro-map-sand { fill:#b98b4924; }
.intro-map-water { fill:#688c8a24; stroke:#7a9082; }
.intro-map text { fill:#766344; stroke:none; font:15px var(--intro-font); text-anchor:middle; }
.intro-map .intro-map-note { font-size:12px; text-anchor:start; opacity:.7; }
.intro-map-compass { stroke:#8c7851; stroke-width:.8; }
.intro-map-compass-ink { fill:#8c7851; }
.intro-map-road { stroke:#967b50; stroke-width:1; stroke-dasharray:2 7; opacity:.28; }
.intro-map-start { fill:#705537; stroke:none; }
.intro-map-destination { stroke:#8d4d35; stroke-width:1.6; }
.intro-map-footsteps { fill:#60452d; stroke:none; }
.intro-footstep { opacity:0; transform:scale(.9); }
.intro-status { display:block; min-height:25px; font:400 14px/1.6 var(--intro-font); letter-spacing:.015em; }
.intro-corner { position:absolute; font:400 14px var(--intro-font); }
.intro-corner-top { top:56px; left:56px; }
.intro-corner-bottom { bottom:56px; right:56px; }
.intro-skip { position:absolute; bottom:34px; left:50%; transform:translateX(-50%); min-height:44px; padding:10px 15px; background:transparent; font:400 14px var(--intro-font); border-bottom:1px solid #75563460; white-space:nowrap; }
.intro-skip:active { transform:translateX(-50%); }
.intro-skip span { margin-left:14px; }
.is-burning .intro-copy { opacity:0; transform:scale(.97); pointer-events:none; }
/* Finish the paper details within the shorter burn, without a delayed fade. */
.is-burning .intro-border,.is-burning .intro-corner { opacity:0; transition:opacity .25s ease-out; }
.is-burning .intro-skip { background:#eddfbce8; }
.parchment-intro.burn-fallback { transition:opacity .25s ease-out; opacity:0; pointer-events:none; }

/* The hero is a desk of postcards, marginal notes, and game inventory sprites. */
.journal-hero { min-height:calc(100svh - 88px); height:auto; max-height:none; padding:24px var(--gutter) 92px; overflow:hidden; isolation:isolate; background:transparent; --scene-color:var(--acid); }
.journal-hero::before,.journal-hero::after { display:none; }
.hero-topline { position:relative; inset:auto; margin:0; padding:0; font-size:10px; color:#72654d; letter-spacing:.12em; }
.hero-topline p:first-child { color:var(--ink); }
.live-dot { background:#657d4d; box-shadow:none; }
.journal-layout { display:grid; grid-template-columns:1fr 1.07fr; gap:3.5%; align-items:center; max-width:1600px; margin:50px auto 25px; }
.journal-intro { position:relative; z-index:3; padding-bottom:15px; }
.hero-eyebrow { display:flex; align-items:center; gap:12px; color:#6f674e; margin-bottom:25px; }
.hero-eyebrow>span { color:#8b643b; font-size:18px; }
.journal-intro h1 { font:400 clamp(70px,7.6vw,138px)/.94 var(--display); letter-spacing:-.065em; color:#35422e; text-wrap:balance; }
.journal-intro h1 em { font-weight:400; color:#68734a; }
.journal-subtitle { margin-top:26px; font:italic clamp(21px,2vw,31px)/1.25 var(--display); letter-spacing:-.025em; }
.journal-description { margin-top:22px; max-width:410px; font-size:16px; line-height:1.75; color:#625e4b; }
.hero-actions { display:flex; align-items:flex-start; flex-direction:column; gap:16px; margin-top:30px; }
.button-primary { min-height:58px; padding:17px 23px; color:#fff5df; background:#485c3c; border:1px solid #35462e; box-shadow:inset 0 0 0 3px #f7e5b81a,3px 4px 0 #5d624727; font-size:14px; font-weight:600; gap:18px; transition:transform .25s,box-shadow .25s,background .25s; }
.button-primary:hover { color:#fff5df; background:#354a2b; box-shadow:inset 0 0 0 3px #f7e5b81a,5px 7px 0 #5d624724; transform:translateY(-3px) rotate(-.5deg); }
.button-primary:active { transform:translateY(1px); }
.download-rune { font-size:25px; line-height:20px; font-weight:400; }
.button-arrow { border:0; padding-left:20px; color:#d4d5a9; }
.install-link { color:#645b46; font-size:12px; padding:4px 0; border-bottom:1px solid #796a4859; }
.install-link span { color:#657448; margin-left:12px; }
.hero-smallprint { display:block; margin-top:23px; font-size:11px; color:#75694f; }
.journal-art { position:relative; aspect-ratio:1.06; min-width:0; width:100%; transform:translate3d(var(--desk-x,0px),var(--desk-y,0px),0); transition:transform .65s ease-out; }
.journal-compass { position:absolute; width:105%; max-width:none; left:-3%; top:-5%; color:#7a6841; opacity:.2; transform:rotate(-12deg); animation:compass-turn 100s linear infinite; }
.postcard-under { position:absolute; width:77%; height:65%; left:7%; top:12%; background:#dfcca6; border:1px solid #a68a544f; transform:rotate(-10deg); padding:20px; box-shadow:3px 8px 15px #604d2c13; }
.postcard-under>span { font:9px var(--body); letter-spacing:.2em; }
.postcard-under>p { position:absolute; bottom:20px; left:25px; font:italic 18px/1.3 var(--display); opacity:.5; }
.hero-postcard { position:absolute; top:14%; left:6%; width:93%; padding:12px 12px 0; background:#f6edd6; transform:rotate(5deg); box-shadow:1px 2px 2px #59492f24,10px 17px 26px #58462b26; transform-origin:50% 60%; animation:postcard-float 9s ease-in-out infinite; }
.hero-postcard::after { content:''; position:absolute; inset:0; pointer-events:none; box-shadow:inset 0 0 25px #977b4220; }
.paper-tape { position:absolute; z-index:3; top:-15px; left:42%; width:95px; height:32px; background:#c4b48a8a; transform:rotate(-10deg); clip-path:polygon(2% 5%,100% 0,98% 94%,0 100%); box-shadow:0 1px 2px #745d4220; }
.postcard-landscape { position:relative; aspect-ratio:1.55; overflow:hidden; background:#617847; }
.postcard-scene { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; image-rendering:pixelated; opacity:0; transform:scale(1.045); transition:opacity 1s ease,transform 8s ease-out; }
.postcard-scene.is-active { opacity:1; transform:scale(1); }
.postcard-proof { position:absolute; bottom:12px; left:12px; padding:5px 7px; font:9px var(--body); letter-spacing:.04em; background:#172a21ce; color:#f7efd6; }
.hero-postcard figcaption { min-height:64px; display:flex; align-items:center; justify-content:space-between; padding:8px 12px; font:italic clamp(20px,2.1vw,31px) var(--display); color:#494a32; }
.postcard-star { color:#8d7745; font-size:26px; }
.margin-note { position:absolute; top:-1%; right:2%; display:flex; align-items:center; gap:5px; transform:rotate(6deg); color:#786b4b; font:italic clamp(12px,1.2vw,18px)/1.25 var(--display); }
.margin-note svg { width:70px; height:65px; transform:rotate(25deg); }
.inventory-slip { position:absolute; bottom:-10%; left:-1%; padding:15px 19px; background:#ede1c3; border:1px solid #84704240; box-shadow:3px 4px 10px #614c3020; transform:rotate(-7deg); z-index:4; }
.inventory-slip .ink-label { font-size:8px; }
.inventory-slip>div { display:flex; align-items:center; gap:2px; margin-top:7px; }
.inventory-slip img { image-rendering:pixelated; width:40px; height:40px; transition:transform .3s; }
.inventory-slip img:hover { transform:translateY(-7px) rotate(10deg); }
.inventory-slip>div>span { margin-left:7px; max-width:85px; font:italic 13px/1.2 var(--display); color:#786648; }
.journal-art .scene-controls { position:absolute; bottom:2%; right:0; display:flex; gap:16px; width:auto; }
.scene-button { color:#756a51; padding:10px 0; font:11px var(--body); text-transform:none; letter-spacing:0; width:auto; min-height:44px; }
.scene-button.is-active { color:#38492c; }
.scene-button i { height:2px; background:#79694726; margin-top:6px; }
.scene-button i::after { background:#60734b; }
.hero-bottom-bar { bottom:23px; font-size:9px; color:#6a654f; letter-spacing:.09em; }
.hero-footnote { color:#837554; font:italic 14px var(--display); text-transform:none; letter-spacing:0; }
.motion-toggle { color:#625b47; font-size:10px; min-height:44px; text-transform:none; letter-spacing:0; }
.motion-icon { color:#5f7249; }
.falling-leaves { position:absolute; inset:0; pointer-events:none; z-index:-1; overflow:hidden; }
.falling-leaves i { position:absolute; top:-20px; left:10%; width:9px; height:17px; border-radius:1px 90% 1px 90%; background:#8b7439; opacity:0; animation:leaf-drift 21s linear infinite; }
.falling-leaves i:nth-child(2) { left:32%; animation-delay:-5s; width:6px; }
.falling-leaves i:nth-child(3) { left:59%; animation-delay:-11s; background:#4f6540; }
.falling-leaves i:nth-child(4) { left:82%; animation-delay:-16s; width:7px; }
.falling-leaves i:nth-child(5) { left:94%; animation-delay:-8s; }
@keyframes leaf-drift { 0% { opacity:0; transform:translate3d(0,-25px,0) rotate(0); } 12%,85% { opacity:.35; } 100% { opacity:0; transform:translate3d(-170px,900px,0) rotate(360deg); } }
@keyframes postcard-float { 0%,100% { transform:translateY(0) rotate(5deg); } 50% { transform:translateY(-9px) rotate(3.5deg); } }
@keyframes compass-turn { to { transform:rotate(348deg); } }

/* Release metadata keeps its original API bindings and a quieter ledger treatment. */
.release-strip { background:#d8caab40; border-block:1px solid #7763454d; padding-block:23px; gap:25px; }
.release-status { min-width:185px; }
.release-note,.release-facts dt { color:#786b50; }
.release-facts { gap:20px; }
.release-facts>div { padding-left:20px; }
.release-facts dd { font-size:14px; color:#414632; }
.apk-tag { color:#5c6842; border-color:#8c9174; }
.is-online .server-state-dot { background:#657d4d; box-shadow:0 0 0 3px #657d4d14; }
.traveller-note { display:flex; align-items:center; justify-content:center; gap:22px; min-height:175px; border-bottom:1px solid var(--line); position:relative; }
.traveller-note p { font:italic clamp(17px,1.7vw,25px)/1.4 var(--display); }
.traveller-note .ink-label { margin-bottom:8px; color:#7b6c50; font-size:8px; }
.slime-button { width:86px; height:86px; flex-shrink:0; display:grid; place-items:center; padding:0; background:transparent; transform:rotate(-5deg); }
.slime-sprite { width:70px; height:70px; background:url('/site/journal/slime.png') 0 0/560px 70px; image-rendering:pixelated; animation:slime-idle 1.7s steps(8) infinite; }
.slime-button:hover { transform:rotate(7deg); }
@keyframes slime-idle { to { background-position:-560px 0; } }
.slime-hint { margin-left:24px; transform:rotate(5deg); max-width:120px; font:italic 14px/1.3 var(--display); color:#82734d; }

/* The existing reversible class theatre now sits inside the field guide. */
h2 { font:400 clamp(52px,6.1vw,100px)/1.02 var(--display); letter-spacing:-.055em; color:#36422e; }
h2 em { color:#777749; font-weight:400; }
.section-kicker,.tiny-label { color:#786b4e; font-size:9px; }
.section-kicker i { background:#7a8556; transform:rotate(45deg); width:5px; height:5px; }
.section-heading>p { color:#444632; font:italic 22px/1.4 var(--display); max-width:320px; }
.section-heading>p>span { color:#76694f; font:14px/1.75 var(--body); margin-top:14px; }
.ascension-section { background:transparent; }
.ascension-intro { padding-top:92px; padding-bottom:64px; }
.ascension-stage { background:radial-gradient(ellipse at 50% 40%,#faf0d7,transparent 67%),#dfd2b1; border-color:#927b4a45; }
.ascension-stage::after { box-shadow:inset 0 0 95px 15px #86653519; }
.ascension-atmosphere { background:radial-gradient(ellipse at 53% 48%,#8e8b5720,transparent 62%); }
.ascension-stage-top { border-bottom-color:#89734436; color:#77694d; }
.ascension-current-family { color:#546244; }
.ascension-current-family span { color:#8c7b5b; }
.ascension-skip,.ascension-skip span { color:#645c42; }
.ascension-skip:hover { color:#33472e; }
.ascension-wordmark { font-weight:400; text-transform:none; color:#7d744d; opacity:.12; letter-spacing:-.05em; }
.ascension-orbit { border-color:#84723e40; }
.ascension-orbit::before,.ascension-orbit::after { border-color:#82764850; }
.ascension-rays { opacity:.3; }
.ascension-particles i { background:#807746; box-shadow:none; }
.ascension-eyebrow { color:#6e7046; }
.ascension-copy h3 { font-weight:400; text-transform:none; font-size:clamp(44px,5.9vw,104px); line-height:1; letter-spacing:-.05em; }
[data-ascension="sharpshooter"] .ascension-copy h3 { font-size:clamp(35px,4.25vw,76px); }
.ascension-specialty { color:#75694f; border-color:#7d6d4840; }
.ascension-ability p { color:#6c634c; }
.ascension-ability h4 { color:#435034; }
.ascension-passives span { color:#5c6541; border-color:#7a815840; background:#f3e9d054; }
.ascension-stage-bottom { background:linear-gradient(transparent,#dfd2b1 20%); }
.ascension-scroll-note,.ascension-motion-toggle { color:#6f654c; }
.ascension-motion-toggle span,.scroll-tick { color:#59683f; }
.ascension-family>span { color:#796d51; }
.ascension-family button { background:#f4e9cf55; color:#655d45; border-color:#84734240; }
.ascension-family button:last-child { border-color:#84734240; }
.ascension-family button:hover { background:#f5ecd4; color:#39462f; }
.ascension-family button[aria-pressed="true"] { color:#f8efd9; background:#526144; border-color:#526144; }
.ascension-family button img { opacity:.8; }
.ascension-progress { background:#8e7e542e; }
.ascension-progress span { background:#63734a; }

/* World captures stay visibly pixelated; photo corners and paper edges carry the theme. */
.world-section { background:transparent; }
.world-heading { padding-top:110px; padding-bottom:65px; }
.world-heading h2 em { color:#777749; }
.world-heading>p { color:#786b51; font:italic 20px/1.45 var(--display); }
.world-stage { margin-inline:var(--gutter); height:570px; border:10px solid #f4ebd4; box-shadow:3px 9px 24px #55422421; transform:rotate(-.7deg); color:#f4ebd4; }
.world-landscape img { image-rendering:pixelated; }
.world-scrim { background:linear-gradient(90deg,#1d302ae8,#23352c88 43%,#23352c05 85%),linear-gradient(0deg,#1c2b2490,transparent 45%); }
.world-stage-top { font-size:8px; letter-spacing:.11em; color:#e5ddc3; }
.world-stage-top span:last-child { max-width:160px; text-align:right; line-height:1.6; }
.world-stage-content { max-width:70%; }
.world-stage-content h3 { font:400 clamp(34px,4.4vw,70px)/1.05 var(--display); letter-spacing:-.04em; }
.world-stage-content p { color:#e8e1ca; }
.world-coordinates { color:#ded9aa; font-size:8px; }
.world-explore { color:#ece4c9; border-color:#dcd0a780; }
.world-corner { color:#f2e4b886; }
.world-stage-bottom { color:#e6ddc2; letter-spacing:.1em; }
.world-stage-bottom .live-dot { background:#d3dca5; }
.field-notes { padding-top:100px; }
.field-intro p { font:400 clamp(34px,4vw,60px)/1.1 var(--display); letter-spacing:-.03em; color:#424b34; }
.field-intro p span { color:#7c794d; }
.capture-label { color:#82724e; }
.world-gallery { gap:45px; margin-top:45px; }
.world-window { background:#f3ead3; padding:11px 11px 0; border:1px solid #aa956138; box-shadow:4px 7px 18px #65512c16; transform:rotate(-1.4deg); transition:transform .65s var(--ease),box-shadow .65s; }
.world-window:nth-child(even) { transform:rotate(1.4deg); }
.world-window:hover { transform:rotate(0) translateY(-8px); box-shadow:5px 15px 25px #65512c28; }
.world-window img { image-rendering:pixelated; }
.world-window figcaption { border:0; padding:19px 12px; color:#3f492f; }
.world-window figcaption>span:first-child { color:#7c6f4e; font-size:8px; }
.world-window figcaption strong { font:italic 24px var(--display); }
.world-window figcaption>span:last-child { color:#6c744a; }
.world-values { border-color:#88734440; color:#7c6c4c; font-size:9px; margin-top:65px; padding-block:28px; }
.install-section { padding-top:110px; padding-bottom:80px; }
.install-heading { gap:45px; }
.install-heading h2 { font-size:clamp(58px,6.7vw,115px); line-height:1.08; }
.install-heading h2 em { color:#737745; font-style:italic; }
.install-aside { padding-bottom:0; }
.install-aside>p { color:#6f654c; font:italic 23px/1.4 var(--display); }
.install-star { color:#7e8656; }
.install-platform { color:#80744f; }
.install-steps { border-color:#8772444d; gap:36px; }
.install-steps li { border-color:#8772444d; }
.install-steps h3 { font:400 27px/1.15 var(--display); letter-spacing:-.035em; }
.install-steps p { color:#71664d; line-height:1.75; }
.step-icon { color:#71804e; }
.testing-note { color:#7c6e51; font-size:12px; }
.replay-row { padding-block:30px; border-top:1px solid var(--line); }
.replay-intro { background:transparent; font:italic 16px var(--display); color:#75664a; padding:12px 0; }
.replay-intro span { margin-left:20px; display:inline-block; transition:transform .7s; }
.replay-intro:hover span { transform:rotate(180deg); }
.footer { background:#d7c8a957; border-color:#88734440; }
.footer-top { border-color:#88734440; }
.footer-top>p { color:#78694e; font:italic 18px/1.4 var(--display); }
.back-top,.back-top span { color:#5c6741; }
.footer-bottom,.footer-bottom nav { color:#7a6b4e; }
.footer-bottom a:hover { color:#35462d; }

/* Reveal only when JS is available; reduced motion and disabled JS stay complete. */
.home-enhanced .journal-intro>* { animation:journal-arrive .9s var(--ease) both; animation-delay:calc(var(--arrival-delay,0ms) + 100ms); }
.home-enhanced .journal-intro h1 { --arrival-delay:90ms; }
.home-enhanced .journal-subtitle { --arrival-delay:170ms; }
.home-enhanced .journal-description { --arrival-delay:230ms; }
.home-enhanced .hero-actions { --arrival-delay:300ms; }
.home-enhanced .hero-smallprint { --arrival-delay:370ms; }
.intro-pending:not(.intro-burning) .journal-intro>* { animation-play-state:paused; }
@keyframes journal-arrive { from { opacity:0; transform:translateY(22px); } to { opacity:1; transform:translateY(0); } }
.motion-paused .journal-compass,.motion-paused .hero-postcard,.motion-paused .falling-leaves i,.motion-paused .slime-sprite,.motion-paused .journal-intro>* { animation-play-state:paused; }
.motion-paused .postcard-scene,.motion-paused .journal-art { transition:none; }
.motion-paused [data-reveal] { opacity:1; transform:none; transition:none; }
@media(min-width:1700px) { .journal-layout { margin-block:70px 50px; } }
@media(max-width:1100px) {
  .main-nav { gap:22px; font-size:12px; }
  .journal-layout { grid-template-columns:1fr 1fr; gap:2%; margin-top:45px; }
  .journal-intro h1 { font-size:clamp(70px,8vw,100px); }
  .journal-art { aspect-ratio:.95; }
  .inventory-slip { bottom:-10%; padding:12px; }
  .journal-art .scene-controls { bottom:0; right:5%; }
  .margin-note { top:2%; }
  .journal-description { font-size:15px; }
  .release-strip { flex-direction:column; gap:22px; }
  .release-status { flex-direction:row; justify-content:flex-start; gap:18px; }
  .release-facts>div:first-child { border-left:0; padding-left:0; }
  .world-stage-bottom>span:nth-child(2) { display:none; }
}
@media(max-width:820px) {
  .masthead { min-height:76px; }
  .main-nav { display:none; }
  .nav-download { margin-left:auto; }
  .menu-toggle:not([hidden]) { display:flex; }
  .mobile-menu { top:75px; }
  .hero-topline>p:nth-child(2) { display:none; }
  .journal-hero { min-height:0; padding-top:24px; }
  .journal-layout { margin-top:40px; grid-template-columns:1fr; gap:0; }
  .journal-intro { padding:0; max-width:650px; }
  .journal-intro h1 { font-size:clamp(76px,12.5vw,108px); }
  .journal-subtitle { font-size:26px; }
  .journal-description { max-width:470px; font-size:16px; }
  .hero-actions { flex-direction:row; align-items:center; gap:25px; }
  .hero-smallprint { margin-top:17px; }
  .journal-art { aspect-ratio:1.2; width:min(92%,620px); margin:44px auto 85px; }
  .hero-postcard { top:10%; }
  .postcard-under { top:8%; }
  .margin-note { top:-8%; right:0; font-size:17px; }
  .inventory-slip { bottom:-14%; }
  .journal-art .scene-controls { bottom:-12%; right:0; }
  .hero-footnote { display:none; }
  .hero-topline { font-size:8px; }
  .slime-hint { display:none; }
  .traveller-note { justify-content:flex-start; gap:12px; min-height:145px; }
  .traveller-note p { font-size:20px; }
  .section-heading { align-items:flex-start; }
  .section-heading>p { font-size:19px; max-width:230px; }
  .world-stage { height:520px; }
  .world-stage-content { max-width:85%; }
  .world-gallery { gap:24px; }
  .install-heading { flex-direction:column; align-items:flex-start; }
  .install-aside { width:auto; max-width:none; }
  .install-star { display:none; }
}
@media(max-width:700px) {
  .section-heading { display:flex; flex-direction:column; gap:25px; }
  .section-heading>p { max-width:400px; }
  .section-top { margin-bottom:28px; }
  .ascension-intro { padding-top:70px; padding-bottom:44px; }
  .ascension-copy { text-shadow:none; }
  .ascension-copy::before { background:linear-gradient(90deg,#e2d5b9f2,#e2d5b999 70%,transparent); }
  .ascension-copy h3 { font-size:clamp(36px,9.6vw,62px); }
  [data-ascension="sharpshooter"] .ascension-copy h3 { font-size:clamp(25px,6.6vw,44px); }
  .ascension-line { text-shadow:none; font-size:13px; }
  .ascension-specialty { color:#71654c; }
  .ascension-ability { background:linear-gradient(transparent,#dfd2b1 18%); }
  .ascension-eyebrow { font-size:7px; max-width:150px; }
  .ascension-stage-label { font-size:8px; letter-spacing:.06em; }
  .world-heading { padding-top:75px; padding-bottom:42px; }
  .world-heading>p { font-size:18px; }
  .world-stage { margin-inline:18px; border-width:7px; }
  .world-stage-top>span:last-child { display:none; }
  .world-stage-top,.world-stage-bottom { left:22px; right:22px; }
  .world-stage-content { left:25px; right:25px; max-width:none; }
  .world-stage-content h3 { font-size:40px; }
  .world-stage-content p { font-size:13px; }
  .world-stage-content br { display:none; }
  .world-stage-bottom>span:last-child { display:none; }
  .world-corner { width:20px; height:20px; }
  .field-notes { padding-top:65px; }
  .field-intro { gap:25px; }
  .world-gallery { gap:30px; }
  .world-window figcaption { padding:15px 6px; }
  .world-window figcaption strong { font-size:22px; }
  .world-values { gap:17px; margin-top:45px; font-size:8px; }
  .install-section { padding-top:72px; padding-bottom:50px; }
  .install-section .tiny-label { display:none; }
  .install-steps { gap:25px; }
  .install-steps h3 { font-size:25px; }
  .intro-corner-top { top:48px; left:48px; }
  .intro-corner-bottom { display:none; }
}
@media(max-width:480px) {
  .masthead { gap:17px; padding-inline:20px; }
  .brand { font-size:23px; gap:8px; }
  .brand-gem { width:24px; height:33px; }
  .nav-download { min-height:42px; padding:10px 12px; font-size:11px; }
  .nav-download span { margin-left:10px; font-size:16px; }
  .hero-edition { display:inline; font-size:7px; letter-spacing:.07em; }
  .journal-hero { padding-bottom:78px; }
  .hero-eyebrow { margin-bottom:20px; font-size:9px; }
  .journal-layout { margin-top:34px; }
  .journal-intro h1 { font-size:clamp(66px,16vw,82px); }
  .journal-subtitle { margin-top:20px; font-size:23px; }
  .journal-description { font-size:15px; margin-top:19px; }
  .desktop-break { display:none; }
  .hero-actions { flex-direction:column; align-items:flex-start; gap:13px; margin-top:24px; }
  .button-primary { padding:16px 19px; gap:12px; font-size:13px; min-height:55px; }
  .button-arrow { padding-left:14px; }
  .hero-smallprint { font-size:10px; max-width:260px; line-height:1.6; }
  .journal-art { width:100%; margin-top:55px; aspect-ratio:1; }
  .hero-postcard { padding:8px 8px 0; left:3%; width:94%; top:10%; }
  .hero-postcard figcaption { min-height:48px; padding-inline:8px; font-size:22px; }
  .margin-note { font-size:13px; top:-8%; }
  .margin-note svg { width:50px; height:50px; }
  .postcard-proof { font-size:7px; bottom:7px; left:7px; }
  .inventory-slip { padding:10px 12px; bottom:-14%; left:-1%; }
  .inventory-slip img { width:30px; height:30px; }
  .inventory-slip>div>span { max-width:70px; font-size:11px; }
  .inventory-slip .ink-label { font-size:7px; }
  .journal-art .scene-controls { bottom:-12%; right:2%; gap:17px; }
  .paper-tape { width:70px; height:24px; top:-12px; }
  .hero-bottom-bar { font-size:8px; letter-spacing:.02em; bottom:13px; }
  .hero-bottom-bar>a { gap:10px; }
  .motion-toggle { font-size:9px; gap:5px; }
  .release-status { align-items:center; flex-wrap:wrap; gap:10px; }
  .release-facts { grid-template-columns:repeat(2,minmax(0,1fr)); row-gap:21px; }
  .release-facts>div { border:0; padding:0; }
  .release-facts>div:last-child { grid-column:2; }
  .release-facts dt { font-size:8px; }
  .release-facts dd { font-size:13px; white-space:normal; overflow-wrap:anywhere; }
  .traveller-note { gap:6px; }
  .traveller-note p { font-size:17px; }
  .traveller-note .ink-label { font-size:7px; letter-spacing:.08em; }
  .slime-button { width:68px; }
  h2 { font-size:clamp(43px,10.6vw,56px); }
  .install-heading h2 { font-size:clamp(44px,11.6vw,64px); }
  .world-stage-content h3 { font-size:34px; }
  .intro-border { inset:16px; }
  .intro-corner-top { top:40px; left:38px; font-size:12px; }
  .intro-copy { padding:26px; }
  .intro-copy>p { font-size:27px; }
  .intro-copy img { width:23px; height:32px; }
  .intro-aside { font-size:14px; }
  .intro-map { width:calc(100% + 12px); max-width:none; margin:24px -6px 14px; }
  .intro-skip { bottom:24px; }
  .footer-top>p { font-size:15px; }
}
/* Keep the full journey and its skip control in view on short landscape screens. */
@media(max-height:700px) and (min-width:701px) {
  .intro-copy { padding-block:20px; }
  .intro-copy img { width:19px; height:27px; margin-bottom:8px; }
  .intro-copy .ink-label { margin-bottom:8px; }
  .intro-copy>p { font-size:clamp(25px,3vw,36px); }
  .intro-aside { margin-top:8px; font-size:14px; }
  .intro-map { width:min(490px,100%); margin-block:8px 2px; }
  .intro-corner-top { top:30px; left:40px; }
  .intro-corner-bottom { bottom:32px; right:40px; }
  .intro-skip { bottom:20px; }
}
@media(max-width:700px) and (max-height:650px) {
  .intro-copy { padding-block:20px; }
  .intro-copy img { width:20px; height:28px; margin-bottom:8px; }
  .intro-copy .ink-label { font-size:10px; margin-bottom:10px; }
  .intro-copy>p { font-size:23px; }
  .intro-aside { margin-top:8px; font-size:13px; }
  .intro-map { margin-block:12px 8px; }
}
@media(max-height:500px) and (orientation:landscape) {
  .intro-copy { display:grid; grid-template-columns:1fr 1.15fr; align-items:center; column-gap:24px; width:min(800px,100%); padding:28px 48px 58px; }
  .intro-copy img,.intro-copy .ink-label,.intro-aside,.intro-corner { display:none; }
  .intro-copy>p { grid-column:1; grid-row:1 / 3; font-size:25px; }
  .intro-map { grid-column:2; width:100%; margin:0; }
  .intro-status { grid-column:2; font-size:12px; }
  .intro-skip { bottom:18px; }
}
@media(prefers-reduced-motion:reduce) {
  *,*::before,*::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
  .parchment-intro { display:none!important; }
  .journal-intro>* { opacity:1; transform:none; }
  .journal-art { transform:none; }
}

/* Stop offscreen decorative work and keep the mobile menu's two strokes separate. */
.hero-offscreen .journal-compass,.hero-offscreen .hero-postcard,.hero-offscreen .falling-leaves i { animation-play-state:paused; }
.menu-toggle { flex-direction:column; align-items:center; justify-content:center; gap:6px; }
.menu-toggle span { margin:0; flex-shrink:0; }
.menu-toggle[aria-expanded=true] span:first-child { transform:translateY(3.5px) rotate(45deg); }
.menu-toggle[aria-expanded=true] span:last-child { transform:translateY(-3.5px) rotate(-45deg); }
.replay-intro:disabled { opacity:.55; cursor:default; }

/* Pausing an entrance must leave the complete text visible, never half faded. */
.motion-paused .journal-intro>* { animation:none; opacity:1; transform:none; }
@media(max-width:820px) {
  html:not(.home-enhanced) .masthead { flex-wrap:wrap; padding-block:16px; }
  html:not(.home-enhanced) .main-nav { display:flex; position:static; inset:auto; order:3; width:100%; flex-wrap:wrap; justify-content:space-between; gap:12px; }
}
