/* ============================================================================
   rfb-stage-art.css — per-viewport art direction for the homepage stages and
   the character hubs. Loaded after the page stylesheet, before the shell's
   own rules have anything to say about these components.

   Formed 2026-09-08 by merging responsive.css and responsive-fixes.css. The
   second was the kind of file the repair rules ban outright: a name that says
   "fix" is a change that was afraid to touch the thing it was fixing. It also
   carried an @import for release-polish.css, which is now retired.
   ========================================================================= */

/* Final responsive art direction: tablet */
@media(min-width:601px) and (max-width:1024px){.entry-title{left:5%;top:15%;width:48%}.entry-title h1{font-size:clamp(56px,8vw,78px)}.hat-hotspot{left:36%;top:48%;width:32%;height:34%}
  .crossroads-v2 .waystation-heading{top:14%}.scarlet-patches-actor{left:5%;width:29%}.gus-actor{right:5%;width:25%}.crossroads-v2 .world-door{min-height:58px}
  .teacher-copy{left:5%;top:14%;width:35%}.teacher-copy h2{font-size:58px}.teacher-satchel{width:72vw;height:63%;right:-4%;bottom:1%}.satchel-tools{width:72vw;right:0;left:auto}.teacher-open{left:auto;right:29%;transform:translateX(50%)}
  .library-room{padding-inline:4vw}.library-books{gap:2vw}.library-books img{height:min(43vw,370px)}.story-evidence{gap:4vw;padding-inline:5vw}.evidence-cards{gap:10px}.evidence-cards article{padding:24px 16px}
  .case-heading{width:50vw}.detective-portrait{right:-3%;width:52vw}.passport-heading{width:48%}.passport-book{width:69vw}.gus-traveler{right:-4%;width:47vw}
  .satchel-intro{padding:20svh 6vw 8svh;background-position:58% center}.satchel-intro h1{font-size:clamp(5.5rem,11vw,7rem)}.guides{gap:2rem;padding:5rem 3vw}.guides article{padding:2.2rem}.guides h2{font-size:3.2rem}
}
/* Final responsive art direction: phone */
@media(max-width:600px){
  html,body{max-width:100%;overflow-x:hidden}
  .entry-title{left:20px;top:92px;width:calc(100vw - 40px)}.entry-title p{width:max-content;max-width:100%;font-size:var(--rfb-t-micro)}.entry-title h1{font-size:clamp(43px,13vw,52px);line-height:.82}.entry-instruction{font-size:var(--rfb-t-micro)}.first-visit-cue{left:50%;right:auto;bottom:12%;width:calc(100vw - 32px);max-width:none;transform:translateX(-50%);padding:8px 12px;text-align:center;white-space:normal;font-size:var(--rfb-t-micro);line-height:1.3}.entry-skip{right:12px;bottom:20%}.journey-rail{width:calc(100vw - 30px);max-width:360px;justify-content:center}
  .crossroads-v2{min-height:100svh;height:100svh}.waystation-heading{top:78px;width:90%}.waystation-heading p{font-size:var(--rfb-t-micro)}.waystation-heading h2{font-size:34px}.scarlet-patches-actor{left:-3%;width:42%;bottom:25%}.gus-actor{right:-1%;width:34%;bottom:25%}.waystation-fedora{width:48%;bottom:23%}.crossroads-v2 .world-door{bottom:10%;min-height:64px;padding:7px 4px}.crossroads-v2 .scarlet-door{left:2%;width:31%}.crossroads-v2 .library-door{left:34.5%;width:31%}.crossroads-v2 .gus-door{right:2%;width:31%}.crossroads-v2 .world-door strong{font-size:var(--rfb-t-micro);line-height:1.05}
  .teacher-workshop{min-height:100svh;height:100svh;overflow:hidden}.teacher-copy{left:18px;top:78px;width:74%}.teacher-copy p{font-size:var(--rfb-t-micro)}.teacher-copy h2{font-size:43px;line-height:.82}.teacher-copy>span{font-size:15px;line-height:1.25}.teacher-satchel{left:50%;right:auto;bottom:3%;width:112vw;height:57%;transform:translateX(-50%);object-position:center bottom}.satchel-tools{left:50%;right:auto;bottom:25%;width:96vw;height:28%;transform:translateX(-50%)}.satchel-tool{min-width:82px;max-width:96px;min-height:43px;padding:5px}.satchel-tool span{font-size:var(--rfb-t-micro)}.tool-detective{left:0;top:9%}.tool-passport{left:25%;top:-4%}.tool-engineer{right:24%;top:-3%}.tool-nature{right:0;top:9%}.teacher-open{bottom:8%;min-height:44px;white-space:nowrap}.library-panel{overflow-x:hidden}.library-room{padding:74px 16px 48px}.library-room h2{font-size:39px}.library-books{grid-template-columns:1fr 1fr;gap:28px 14px;margin-top:30px}.library-books img{height:auto;aspect-ratio:2/3;border-width:4px}.library-books b{font-size:19px}.library-books span{margin-top:14px}.library-close{right:12px;top:10px}.story-evidence{padding:68px 24px}.story-evidence h2{font-size:42px}.story-evidence>div>span{font-size:18px}.evidence-cards article{padding:24px 20px}.pending-seal{flex-basis:52px;height:52px}body:has(.evidence-room) .brand span, body:has(.passport-stage) .brand span{display:none}.evidence-room{min-height:100svh;height:844px}.case-heading{top:100px;left:20px;width:calc(100% - 40px)}.case-heading p{font-size:var(--rfb-t-micro)}.case-heading h1{font-size:3.25rem;line-height:.82}.case-heading span{max-width:17rem;font-size:1.05rem}.detective-portrait{right:-28%;bottom:17%;width:112vw}.evidence{min-width:112px;min-height:44px;padding:.55rem}.evidence-method{left:18px;top:43%}.evidence-fedora{left:18px;top:51%}.evidence-patches{left:18px;top:59%}.evidence-note{left:14px;bottom:16px;width:calc(100% - 28px);padding:.8rem 1rem}.case-desk{padding:3rem 16px}.case-desk blockquote{font-size:2rem}.passport-stage{min-height:1080px;padding-top:68px}.passport-heading{position:absolute;left:20px;top:92px;width:calc(100% - 40px)}.passport-heading h1{font-size:3rem}.passport-heading span{font-size:1.05rem}.gus-traveler{right:-23%;bottom:43%;width:104vw;opacity:.86}.slow-note{left:20px;top:345px;width:54%;font-size:1.05rem}.passport-book{left:12px;bottom:18px;width:calc(100% - 24px);min-height:535px;border-width:.45rem}.passport-profile,.passport-stamps{padding:1rem}.passport-profile h2{font-size:2.4rem}.passport-stamps{grid-template-columns:1fr 1fr}.stamp-button{min-height:68px}.travel-note{padding:.75rem 1rem}.satchel-intro{min-height:100svh;padding:18svh 24px 8svh;background-position:61% center}.satchel-intro p{font-size:var(--rfb-t-micro);letter-spacing:var(--rfb-track-label)}.satchel-intro h1{font-size:clamp(3.05rem,15vw,4rem);line-height:.82}.satchel-intro span{max-width:21rem;font-size:1.14rem;line-height:1.4}.satchel-intro nav{display:grid;grid-template-columns:1fr 1fr;width:min(100%,19rem);gap:.65rem;margin-top:1.5rem}.satchel-intro nav a{min-height:48px;display:grid;place-items:center;padding:.6rem}.guides{padding:3rem 14px;gap:1.5rem}.guides article{padding:2rem 1.3rem}.guide-mark{right:1.2rem;top:1rem;font-size:2.4rem}.guides h2{font-size:2.55rem}.guides h3{font-size:var(--rfb-t-micro)}.guides li{margin:.6rem 0}.reflection{padding:.8rem}
}

/* ---- formerly responsive-fixes.css ---- */
.library-books:has(a:nth-child(5)){grid-template-columns:repeat(5,1fr);gap:2vw;max-width:1500px}.library-books:has(a:nth-child(5)) img{height:340px}.library-books .melody-library-art{object-fit:contain;background:radial-gradient(circle at 50% 38%,#31516a,var(--rfb-night) 70%)}
@media(min-width:601px) and (max-width:1024px){.library-books:has(a:nth-child(5)){grid-template-columns:repeat(3,1fr)}.library-books:has(a:nth-child(5)) img{height:min(43vw,350px)}}
@media(max-width:600px){
  .library-books:has(a:nth-child(5)){grid-template-columns:1fr 1fr}.library-books:has(a:nth-child(5)) img{height:auto}
}.music-trail{position:absolute;z-index:4;right:20%;top:20%;color:#f0c96d;font:4rem Cormorant,serif;text-shadow:0 0 1.5rem #ffc85d;animation:musicDrift 7s ease-in-out infinite}.music-trail i,.music-trail b{position:absolute;font-style:normal}.music-trail i{left:6rem;top:5rem}.music-trail b{left:-5rem;top:9rem}@keyframes musicDrift{50%{transform:translateY(-1rem) rotate(4deg);opacity:.65}}@media(max-width:600px){.music-trail{right:12%;top:48%;font-size:2.4rem}}@media(prefers-reduced-motion:reduce){.music-trail{animation:none}}

/* Final overrides intentionally follow every earlier responsive rule. */
@media(max-width:900px){

body:has(.evidence-room) .evidence-room{height:auto;min-height:960px;padding:96px 20px 26px;display:grid;grid-template-rows:auto minmax(370px,1fr) auto}body:has(.evidence-room) .case-heading{position:relative;inset:auto;width:min(100%,37rem)}body:has(.evidence-room) .evidence-note{position:relative;inset:auto;width:min(100%,38rem);align-self:end}body:has(.evidence-room) .detective-portrait{right:-8%;bottom:15%;width:min(76vw,38rem)}
body:has(.passport-stage) .passport-stage{height:auto;min-height:1260px;padding:92px 20px 32px;display:flex;flex-direction:column}body:has(.passport-stage) .passport-heading{position:relative;inset:auto;width:min(100%,38rem)}body:has(.passport-stage) .gus-traveler{right:-7%;top:255px;bottom:auto;width:min(69vw,34rem)}body:has(.passport-stage) .passport-book{position:relative;inset:auto;width:min(100%,49rem);min-height:0;margin-top:auto;grid-template-columns:1fr 1fr}body:has(.passport-stage) .slow-note{position:relative;inset:auto;width:min(48%,18rem);margin-top:2rem}}
@media(max-width:600px){

body:has(.evidence-room) .evidence-room{min-height:1020px;padding-inline:16px}body:has(.evidence-room) .case-heading h1{font-size:2.65rem;overflow-wrap:anywhere}body:has(.evidence-room) .detective-portrait{right:-18%;bottom:20%;width:98vw}body:has(.evidence-room) .evidence-note{width:100%;margin-top:auto}
body:has(.passport-stage) .passport-stage{min-height:1440px;padding-inline:16px}body:has(.passport-stage) .passport-heading h1{font-size:2.15rem;line-height:.9;overflow-wrap:anywhere}body:has(.passport-stage) .gus-traveler{top:255px;right:-18%;width:100vw}body:has(.passport-stage) .passport-book{grid-template-columns:1fr;margin-top:auto}body:has(.passport-stage) .slow-note{width:55%}.tool-nature{right:4px}}
