/* The House That Remembers
   Public experience layer: device-only memory, guided arrival, room identity,
   reading continuity, emotional shelf discovery, and quiet return preparation. */

:root{
  --remember-bg:#050303;
  --remember-panel:#1a0d0b;
  --remember-gold:#d6b772;
  --remember-gold-bright:#f0d99c;
  --remember-ivory:#f7ecd6;
  --remember-cream:#e8dac0;
  --remember-muted:#b7a78b;
  --remember-line:rgba(214,183,114,.28);
  --remember-shadow:0 24px 70px rgba(0,0,0,.42);
  --house-header-height:0px;
}

body[data-house-remembers="ready"]{
  --room-accent:rgba(214,183,114,.16);
  --room-accent-strong:rgba(214,183,114,.34);
}
body[data-house-remembers="ready"] main{isolation:isolate}
body[data-house-remembers="ready"] main:before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  opacity:.7;
  background:
    radial-gradient(circle at 12% 18%,var(--room-accent),transparent 29%),
    radial-gradient(circle at 91% 76%,rgba(255,255,255,.025),transparent 34%);
}

/* Persistent orientation: a quiet thread, not another navigation bar. */
.house-orientation{
  position:sticky;
  top:var(--house-header-height);
  z-index:35;
  border-bottom:1px solid rgba(214,183,114,.18);
  background:linear-gradient(180deg,rgba(9,5,5,.96),rgba(9,5,5,.89));
  backdrop-filter:blur(16px);
  box-shadow:0 10px 30px rgba(0,0,0,.16);
}
.house-orientation-inner{
  width:min(var(--max,1180px),calc(100% - 36px));
  min-height:44px;
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  align-items:center;
  gap:12px;
  padding:7px 0;
}
.house-location{
  min-width:0;
  display:flex;
  align-items:center;
  gap:10px;
  color:rgba(247,236,214,.82);
  font-size:12px;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.house-location-dot{
  width:7px;
  height:7px;
  flex:0 0 auto;
  border-radius:50%;
  background:var(--remember-gold);
  box-shadow:0 0 0 5px rgba(214,183,114,.07),0 0 18px rgba(214,183,114,.35);
}
.house-location strong{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:var(--remember-gold-bright);
  font-weight:800;
}
.house-orientation-return{
  min-width:0;
  max-width:420px;
  display:inline-flex;
  align-items:center;
  gap:7px;
  color:rgba(247,236,214,.78);
  font-size:12px;
  line-height:1.2;
  border-bottom:1px solid rgba(214,183,114,.28);
}
.house-orientation-return:hover,
.house-orientation-return:focus-visible{color:var(--remember-gold-bright);border-color:var(--remember-gold-bright)}
.house-memory-button{
  appearance:none;
  border:1px solid rgba(214,183,114,.28);
  border-radius:999px;
  min-height:30px;
  padding:6px 10px;
  background:rgba(255,255,255,.035);
  color:rgba(247,236,214,.78);
  font:inherit;
  font-size:11px;
  letter-spacing:.06em;
  cursor:pointer;
}
.house-memory-button:hover,.house-memory-button:focus-visible{border-color:rgba(240,217,156,.6);color:var(--remember-gold-bright)}
.house-map-inline-button{
  display:none;
  appearance:none;
  min-height:30px;
  align-items:center;
  justify-content:center;
  gap:6px;
  padding:6px 10px;
  border:1px solid rgba(214,183,114,.28);
  border-radius:999px;
  background:rgba(255,255,255,.035);
  color:rgba(247,236,214,.78);
  font:inherit;
  font-size:11px;
  letter-spacing:.05em;
  cursor:pointer;
}
.house-map-inline-button:hover,.house-map-inline-button:focus-visible{border-color:rgba(240,217,156,.6);color:var(--remember-gold-bright)}
.house-map-inline-glyph{font-size:15px;line-height:1;color:var(--remember-gold-bright)}

.house-memory-dialog,
.house-entry-dialog{
  width:min(620px,calc(100% - 28px));
  max-height:min(86vh,760px);
  margin:auto;
  padding:0;
  border:1px solid rgba(214,183,114,.42);
  border-radius:28px;
  color:var(--remember-ivory);
  background:
    radial-gradient(circle at 14% 0%,rgba(214,183,114,.13),transparent 34%),
    linear-gradient(145deg,#21100e,#090505 74%);
  box-shadow:0 35px 110px rgba(0,0,0,.72);
  overflow:auto;
}
.house-memory-dialog::backdrop,
.house-entry-dialog::backdrop{background:rgba(0,0,0,.76);backdrop-filter:blur(8px)}
.house-dialog-inner{padding:clamp(24px,5vw,42px)}
.house-dialog-kicker{
  margin-bottom:12px;
  color:var(--remember-gold-bright);
  font-size:11px;
  font-weight:850;
  letter-spacing:.22em;
  text-transform:uppercase;
}
.house-dialog-inner h2{font-size:clamp(31px,6vw,48px)}
.house-dialog-copy{margin-top:14px;color:var(--remember-cream);line-height:1.68}
.house-memory-facts{display:grid;gap:9px;margin:22px 0}
.house-memory-facts span{padding:12px 14px;border:1px solid rgba(214,183,114,.18);border-radius:14px;background:rgba(255,255,255,.025);color:rgba(247,236,214,.76);font-size:13px}
.house-dialog-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}
.house-dialog-actions button,.house-dialog-actions a{
  min-height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 16px;
  border-radius:999px;
  border:1px solid rgba(214,183,114,.44);
  background:rgba(214,183,114,.10);
  color:var(--remember-ivory);
  font:inherit;
  font-weight:760;
  cursor:pointer;
}
.house-dialog-actions .quiet{border-color:rgba(247,236,214,.18);background:rgba(255,255,255,.025);color:rgba(247,236,214,.72)}
.house-dialog-actions .danger{border-color:rgba(200,112,112,.34);background:rgba(120,35,35,.12)}

/* One unmistakable first entrance. */
.home-entry-gate{margin-top:29px}
.home-entry-primary{
  min-height:58px!important;
  padding:15px 25px!important;
  border-color:rgba(240,217,156,.82)!important;
  background:linear-gradient(135deg,rgba(214,183,114,.34),rgba(255,255,255,.055))!important;
  box-shadow:0 18px 48px rgba(0,0,0,.36),0 0 0 1px rgba(240,217,156,.14) inset!important;
  font-size:16px;
}
.home-known-paths{margin-top:16px;border-top:1px solid rgba(214,183,114,.16);padding-top:14px}
.home-known-paths summary{
  width:max-content;
  max-width:100%;
  color:rgba(247,236,214,.67);
  font-size:13px;
  cursor:pointer;
}
.home-known-paths[open] summary{color:var(--remember-gold-bright)}
.home-known-paths .actions{margin-top:15px}
body.house-first-session .home-known-paths:not([open]) .actions{display:none}

.house-return-card{
  position:relative;
  z-index:1;
  margin-top:22px;
  padding:20px;
  border:1px solid rgba(214,183,114,.30);
  border-radius:22px;
  background:linear-gradient(135deg,rgba(214,183,114,.09),rgba(91,27,30,.13));
}
.house-return-card-label{color:var(--remember-gold-bright);font-size:11px;font-weight:850;letter-spacing:.20em;text-transform:uppercase}
.house-return-card h2{margin-top:10px;font-size:clamp(25px,4vw,35px)}
.house-return-card p{margin-top:10px;color:var(--remember-cream);line-height:1.62}
.house-return-card-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:17px}

/* Functional three-house constellation. */
.three-house-navigator{
  position:relative;
  z-index:1;
  max-width:650px;
  margin:0 0 24px;
  border:1px solid rgba(214,183,114,.28);
  border-radius:22px;
  background:linear-gradient(145deg,rgba(214,183,114,.055),rgba(255,255,255,.014));
  overflow:hidden;
}
.three-house-tabs{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid rgba(214,183,114,.18)}
.three-house-tab{
  appearance:none;
  border:0;
  border-right:1px solid rgba(214,183,114,.14);
  padding:11px 10px;
  background:transparent;
  color:rgba(247,236,214,.58);
  font:inherit;
  font-size:11px;
  font-weight:800;
  letter-spacing:.15em;
  text-transform:uppercase;
  cursor:pointer;
}
.three-house-tab:last-child{border-right:0}
.three-house-tab[aria-selected="true"]{background:rgba(214,183,114,.10);color:var(--remember-gold-bright)}
.three-house-tab:hover,.three-house-tab:focus-visible{color:var(--remember-ivory)}
.three-house-panel{padding:15px 17px 17px}
.three-house-panel strong{font-family:Georgia,"Times New Roman",serif;font-size:19px;color:var(--remember-ivory)}
.three-house-panel p{margin-top:6px;color:rgba(247,236,214,.68);font-size:13px;line-height:1.55}
.three-house-panel a{display:inline-flex;margin-top:10px;color:var(--remember-gold-bright);font-size:13px;font-weight:780;border-bottom:1px solid rgba(214,183,114,.35)}

/* Start Here is now a guide, not a directory. */
.guided-arrival{max-width:1040px}
.guided-arrival .lead{max-width:760px}
.guided-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-top:28px}
.guided-choice{
  appearance:none;
  min-height:175px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  padding:22px;
  border:1px solid rgba(214,183,114,.24);
  border-radius:24px;
  background:linear-gradient(145deg,rgba(36,18,16,.74),rgba(10,5,5,.72));
  color:var(--remember-ivory);
  text-align:left;
  font:inherit;
  cursor:pointer;
  box-shadow:0 18px 45px rgba(0,0,0,.22);
}
.guided-choice:hover,.guided-choice:focus-visible,.guided-choice[aria-pressed="true"]{
  border-color:rgba(240,217,156,.68);
  background:linear-gradient(145deg,rgba(66,31,27,.84),rgba(18,9,8,.82));
  transform:translateY(-2px);
}
.guided-choice small{color:var(--remember-gold-bright);font-size:10px;font-weight:850;letter-spacing:.18em;text-transform:uppercase}
.guided-choice strong{font-family:Georgia,"Times New Roman",serif;font-size:clamp(22px,3vw,31px);line-height:1.02}
.guided-choice span{color:rgba(247,236,214,.68);font-size:13px;line-height:1.55}
.guided-path-panel{
  margin-top:22px;
  padding:clamp(24px,5vw,38px);
  border:1px solid rgba(214,183,114,.34);
  border-radius:30px;
  background:
    radial-gradient(circle at 90% 0%,rgba(214,183,114,.11),transparent 32%),
    linear-gradient(145deg,rgba(36,18,16,.88),rgba(12,6,6,.86));
  box-shadow:var(--remember-shadow);
}
.guided-path-panel[hidden]{display:none}
.guided-path-header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:end}
.guided-path-header h2{font-size:clamp(31px,5vw,50px)}
.guided-path-header p{margin-top:11px;color:var(--remember-cream);line-height:1.65;max-width:680px}
.guided-route{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:24px}
.guided-stop{position:relative;padding:17px;border:1px solid rgba(214,183,114,.17);border-radius:19px;background:rgba(255,255,255,.023)}
.guided-stop:after{content:"→";position:absolute;right:-12px;top:50%;transform:translateY(-50%);color:rgba(214,183,114,.38);font-size:18px}
.guided-stop:last-child:after{display:none}
.guided-stop b{display:block;color:var(--remember-gold-bright);font-size:10px;letter-spacing:.15em;text-transform:uppercase}
.guided-stop strong{display:block;margin-top:7px;font-family:Georgia,"Times New Roman",serif;font-size:20px}
.guided-stop span{display:block;margin-top:6px;color:rgba(247,236,214,.62);font-size:12px;line-height:1.5}
.guided-path-actions{display:flex;gap:11px;flex-wrap:wrap;margin-top:24px}
.guided-privacy{margin-top:13px;color:rgba(247,236,214,.50);font-size:12px;line-height:1.55}
.guided-return-note{display:none;margin:20px 0 0;padding:14px 16px;border-left:2px solid var(--remember-gold);background:rgba(214,183,114,.055);color:rgba(247,236,214,.76);line-height:1.55}
body.house-returning .guided-return-note{display:block}

/* Reading continuity. */
.house-reading-rail{
  position:fixed;
  inset:0 0 auto;
  z-index:120;
  height:3px;
  background:rgba(255,255,255,.025);
  pointer-events:none;
}
.house-reading-rail span{display:block;width:0;height:100%;background:linear-gradient(90deg,#8f662d,var(--remember-gold-bright));box-shadow:0 0 12px rgba(214,183,114,.38);transition:width .12s linear}
.house-resume-card{
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:85;
  width:min(360px,calc(100% - 36px));
  padding:17px;
  border:1px solid rgba(214,183,114,.42);
  border-radius:20px;
  background:linear-gradient(145deg,rgba(31,15,13,.97),rgba(7,4,4,.97));
  box-shadow:0 24px 70px rgba(0,0,0,.56);
}
.house-resume-card strong{display:block;font-family:Georgia,"Times New Roman",serif;font-size:19px}
.house-resume-card p{margin-top:5px;color:rgba(247,236,214,.66);font-size:12px;line-height:1.5}
.house-resume-actions{display:flex;gap:8px;margin-top:12px}
.house-resume-actions button{
  min-height:38px;
  padding:8px 12px;
  border:1px solid rgba(214,183,114,.34);
  border-radius:999px;
  background:rgba(214,183,114,.09);
  color:var(--remember-ivory);
  font:inherit;
  font-size:12px;
  font-weight:760;
  cursor:pointer;
}
.house-resume-actions .quiet{border-color:rgba(247,236,214,.14);background:transparent;color:rgba(247,236,214,.60)}
body.living-reading-guide-active .house-resume-card{bottom:118px}

/* Emotional discovery in the Complete Bookshelf. */
.shelf-discovery{
  margin:0 0 30px;
  padding:clamp(24px,5vw,38px);
  border:1px solid rgba(214,183,114,.34);
  border-radius:30px;
  background:
    radial-gradient(circle at 96% 0%,rgba(214,183,114,.12),transparent 34%),
    linear-gradient(145deg,rgba(32,16,14,.90),rgba(10,5,5,.86));
  box-shadow:var(--remember-shadow);
}
.shelf-discovery h2{font-size:clamp(31px,5vw,48px)}
.shelf-discovery p{margin-top:11px;max-width:760px;color:var(--remember-cream);line-height:1.65}
.shelf-discovery-controls{display:flex;gap:9px;flex-wrap:wrap;margin-top:22px}
.shelf-filter{
  appearance:none;
  min-height:42px;
  padding:9px 14px;
  border:1px solid rgba(214,183,114,.22);
  border-radius:999px;
  background:rgba(255,255,255,.026);
  color:rgba(247,236,214,.75);
  font:inherit;
  font-size:12px;
  cursor:pointer;
}
.shelf-filter:hover,.shelf-filter:focus-visible,.shelf-filter[aria-pressed="true"]{border-color:rgba(240,217,156,.64);background:rgba(214,183,114,.11);color:var(--remember-gold-bright)}
.shelf-discovery-status{min-height:1.5em;margin-top:15px!important;color:rgba(247,236,214,.62)!important;font-size:13px}
.catalog-card[hidden],.shelf-section-hidden{display:none!important}
.catalog-card.is-shelf-recommendation{border-color:rgba(240,217,156,.68)!important;box-shadow:0 26px 72px rgba(0,0,0,.48),0 0 0 1px rgba(240,217,156,.14) inset!important}
.catalog-card.is-shelf-recommendation:after{
  content:attr(data-recommendation-label);
  position:absolute;
  top:15px;
  right:15px;
  z-index:3;
  padding:7px 10px;
  border-radius:999px;
  background:#1b0d0b;
  border:1px solid rgba(214,183,114,.36);
  color:var(--remember-gold-bright);
  font-size:9px;
  font-weight:850;
  letter-spacing:.14em;
  text-transform:uppercase;
}

/* A meaningful reserved object instead of a placeholder shelf. */
.reserved-cabinet{
  position:relative;
  min-height:360px;
  display:grid;
  grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);
  gap:30px;
  align-items:center;
  padding:clamp(28px,6vw,58px);
  border:1px solid rgba(214,183,114,.30);
  border-radius:34px;
  background:
    linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px),
    linear-gradient(180deg,rgba(255,255,255,.018) 1px,transparent 1px),
    linear-gradient(145deg,#20100e,#090505 72%);
  background-size:34px 34px,34px 34px,auto;
  overflow:hidden;
  box-shadow:var(--remember-shadow);
}
.reserved-cabinet:before{
  content:"";
  width:min(240px,70%);
  aspect-ratio:3/4;
  justify-self:center;
  border:1px solid rgba(214,183,114,.38);
  border-radius:120px 120px 24px 24px;
  background:
    radial-gradient(circle at 50% 34%,rgba(214,183,114,.14),transparent 24%),
    linear-gradient(90deg,transparent 49.4%,rgba(214,183,114,.21) 49.6%,rgba(214,183,114,.21) 50.4%,transparent 50.6%),
    linear-gradient(145deg,rgba(62,31,27,.56),rgba(5,3,3,.90));
  box-shadow:inset 0 0 0 10px rgba(0,0,0,.18),0 24px 60px rgba(0,0,0,.42);
}
.reserved-cabinet:after{
  content:"✦";
  position:absolute;
  left:calc(18% - 7px);
  top:50%;
  color:rgba(240,217,156,.62);
  text-shadow:0 0 17px rgba(214,183,114,.35);
}
.reserved-cabinet-copy{position:relative;z-index:1}
.reserved-cabinet .eyebrow{margin-bottom:13px}
.reserved-cabinet h2{font-size:clamp(35px,6vw,59px)}
.reserved-cabinet .cabinet-seal{display:inline-flex;margin-top:19px;padding:9px 12px;border:1px solid rgba(214,183,114,.24);border-radius:999px;color:rgba(247,236,214,.62);font-size:11px;letter-spacing:.12em;text-transform:uppercase}

/* The author is actually at the desk. */
.author-presence-signal{
  position:relative;
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:18px;
  align-items:start;
  margin:0 0 25px;
  padding:22px 24px;
  border:1px solid rgba(214,183,114,.32);
  border-radius:24px;
  background:linear-gradient(135deg,rgba(214,183,114,.075),rgba(91,27,30,.10));
  box-shadow:0 18px 45px rgba(0,0,0,.20);
}
.author-presence-lamp{width:34px;height:34px;border-radius:50%;background:radial-gradient(circle,#f7dda0 0 18%,#b1792f 22%,rgba(214,183,114,.10) 58%,transparent 62%);box-shadow:0 0 28px rgba(214,183,114,.28)}
.author-presence-signal small{display:block;color:var(--remember-gold-bright);font-size:10px;font-weight:850;letter-spacing:.18em;text-transform:uppercase}
.author-presence-signal strong{display:block;margin-top:7px;font-family:Georgia,"Times New Roman",serif;font-size:24px;line-height:1.15}
.author-presence-signal p{margin-top:8px;color:var(--remember-cream);line-height:1.63}
.author-presence-signal a{display:inline-flex;margin-top:10px;color:var(--remember-gold-bright);font-size:13px;border-bottom:1px solid rgba(214,183,114,.35)}

/* New releases change the physical house. */
.house-release-installation{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:18px;
  align-items:center;
  margin-bottom:22px;
  padding:17px 19px;
  border:1px solid rgba(214,183,114,.28);
  border-radius:22px;
  background:linear-gradient(100deg,rgba(9,7,6,.92),rgba(48,24,20,.72),rgba(9,7,6,.92));
  overflow:hidden;
}
.house-release-installation:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:repeating-linear-gradient(90deg,transparent 0 48px,rgba(255,255,255,.015) 48px 49px);
}
.release-floor{
  position:relative;
  min-width:58px;
  min-height:58px;
  display:grid;
  place-items:center;
  border:1px solid rgba(214,183,114,.32);
  border-radius:14px;
  background:#050303;
  color:#e8bc68;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size:25px;
  text-shadow:0 0 15px rgba(232,188,104,.48);
}
.release-copy{position:relative;min-width:0}
.release-copy small{color:rgba(247,236,214,.50);font-size:9px;font-weight:850;letter-spacing:.18em;text-transform:uppercase}
.release-copy strong{display:block;margin-top:5px;font-family:Georgia,"Times New Roman",serif;font-size:20px}
.release-copy span{display:block;margin-top:4px;color:rgba(247,236,214,.60);font-size:12px;line-height:1.45}
.release-call{
  position:relative;
  display:inline-flex;
  min-height:40px;
  align-items:center;
  padding:8px 13px;
  border:1px solid rgba(214,183,114,.32);
  border-radius:999px;
  color:var(--remember-gold-bright);
  font-size:12px;
  font-weight:780;
}
body.house-release-unseen .house-release-installation{border-color:rgba(240,217,156,.52);box-shadow:0 0 0 1px rgba(240,217,156,.06) inset,0 17px 45px rgba(0,0,0,.26)}
body.house-release-unseen .release-floor{animation:house-floor-pulse 2.8s ease-in-out infinite}
@keyframes house-floor-pulse{0%,100%{opacity:.72}50%{opacity:1;box-shadow:0 0 28px rgba(232,188,104,.34)}}

/* Room laws: same house, different physics. */
body[data-house-room="foyer"]{--room-accent:rgba(214,183,114,.16)}
body[data-house-room="foyer"] .hero-panel{box-shadow:0 35px 110px rgba(0,0,0,.54),0 0 0 1px rgba(214,183,114,.05) inset}
body[data-house-room="start"]{--room-accent:rgba(190,151,86,.15)}
body[data-house-room="start"] main:after{
  content:"";
  position:fixed;
  width:520px;
  height:520px;
  right:-260px;
  top:22%;
  z-index:-1;
  border:1px solid rgba(214,183,114,.08);
  border-radius:50%;
  box-shadow:0 0 0 70px rgba(214,183,114,.025),0 0 0 140px rgba(214,183,114,.015);
  pointer-events:none;
}
body[data-house-room="romance"]{--room-accent:rgba(127,39,48,.22)}
body[data-house-room="romance"] .book-grid{position:relative}
body[data-house-room="romance"] .book-grid:after{content:"";position:absolute;left:0;right:0;bottom:-13px;height:9px;border-radius:10px;background:linear-gradient(180deg,#3d201b,#120907);box-shadow:0 12px 24px rgba(0,0,0,.38)}
body[data-house-room="bookshelf"]{--room-accent:rgba(159,109,47,.16)}
body[data-house-room="bookshelf"] .catalog-section{transition:opacity .22s ease,transform .22s ease}
body[data-house-room="serial"]{--room-accent:rgba(151,51,35,.22)}
body[data-house-room="serial"] .paper{border-color:rgba(176,92,59,.33);box-shadow:0 34px 100px rgba(0,0,0,.54),0 0 70px rgba(111,35,24,.08)}
body[data-house-room="serial"] .paper:before{content:"";position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,transparent,#9f4d30,transparent);opacity:.6}
body[data-house-room="library"]{--room-accent:rgba(88,68,38,.18)}
body[data-house-room="library"] .door-card:nth-child(odd),body[data-house-room="library"] .panel:nth-child(odd){box-shadow:0 25px 80px rgba(0,0,0,.48),inset 0 1px 0 rgba(240,217,156,.04)}
body[data-house-room="desk"]{--room-accent:rgba(120,80,36,.19)}
body[data-house-room="desk"] main:after{content:"";position:fixed;right:6vw;top:24vh;width:150px;height:150px;z-index:-1;border-radius:50%;background:radial-gradient(circle,rgba(240,217,156,.12),transparent 64%);pointer-events:none}
body[data-house-room="letter"]{--room-accent:rgba(63,77,87,.17)}
body[data-house-room="letter"] main:after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.12;background:repeating-linear-gradient(104deg,transparent 0 24px,rgba(214,225,232,.18) 25px,transparent 27px)}
body[data-house-room="beyond"]{--room-accent:rgba(71,48,98,.20)}
body[data-house-room="beyond"] .door-card{background:radial-gradient(circle at 85% 12%,rgba(156,126,205,.10),transparent 30%),linear-gradient(145deg,rgba(36,18,36,.88),rgba(12,6,13,.82))}
body[data-house-room="author"]{--room-accent:rgba(117,73,53,.18)}

/* Continuous thresholds. */
.house-threshold{
  position:fixed;
  inset:0;
  z-index:9999;
  pointer-events:none;
  display:grid;
  place-items:center;
  opacity:0;
  visibility:hidden;
  background:#050303;
}
.house-threshold:before,.house-threshold:after{content:"";position:absolute;top:0;bottom:0;width:50.1%;background:linear-gradient(90deg,#050303,#160b09)}
.house-threshold:before{left:0;transform:translateX(-101%)}
.house-threshold:after{right:0;transform:translateX(101%);background:linear-gradient(90deg,#160b09,#050303)}
.house-threshold-mark{position:relative;z-index:2;color:var(--remember-gold-bright);font-family:Georgia,"Times New Roman",serif;font-size:18px;letter-spacing:.12em;opacity:0}
.house-threshold.is-crossing{opacity:1;visibility:visible}
.house-threshold.is-crossing:before,.house-threshold.is-crossing:after{transform:translateX(0);transition:transform .24s ease}
.house-threshold.is-crossing .house-threshold-mark{opacity:1;transition:opacity .14s ease .16s}

/* Night Vendor relationship callout. */
.night-vendor-relationship{margin-top:18px;padding:17px 18px;border-left:2px solid #a95842;background:rgba(116,43,35,.08);color:rgba(247,236,214,.72);line-height:1.62}
.night-vendor-relationship strong{color:var(--remember-ivory)}

@media (max-width:900px){
  /* Mobile reading-surface repair: orientation belongs to the page and scrolls away. */
  .house-orientation{
    position:relative;
    top:auto;
    z-index:22;
    backdrop-filter:none;
    box-shadow:none;
    background:linear-gradient(180deg,rgba(9,5,5,.96),rgba(9,5,5,.92));
  }
  .house-orientation-inner{grid-template-columns:minmax(0,1fr) auto auto;min-height:0}
  .house-orientation-return{grid-column:1/-1;grid-row:2;max-width:none;padding-bottom:2px}
  .house-orientation-passive{display:none}
  .house-map-inline-button{display:inline-flex}
  body[data-house-remembers="ready"] .house-map-opener{display:none!important}
  .house-resume-card.house-resume-card-inline{
    position:relative;
    right:auto;
    bottom:auto;
    z-index:20;
    width:min(680px,calc(100% - 28px));
    margin:12px auto 0;
    padding:14px 15px;
    box-shadow:0 16px 44px rgba(0,0,0,.34);
  }
  body.living-reading-guide-active .house-resume-card.house-resume-card-inline{bottom:auto}
  .guided-choice-grid,.guided-route{grid-template-columns:1fr}
  .guided-stop:after{content:"↓";right:auto;left:50%;top:auto;bottom:-14px;transform:translateX(-50%)}
  .guided-path-header{grid-template-columns:1fr}
  .reserved-cabinet{grid-template-columns:1fr;min-height:0}
  .reserved-cabinet:before{width:min(200px,60%)}
  .reserved-cabinet:after{left:50%;top:33%;transform:translate(-50%,-50%)}
  .house-release-installation{grid-template-columns:auto minmax(0,1fr)}
  .release-call{grid-column:1/-1;justify-self:start}
}

@media (max-width:620px){
  .house-orientation-inner{width:calc(100% - 24px);gap:7px;padding:7px 0}
  .house-location{font-size:10px;letter-spacing:.045em;gap:8px}
  .house-location-prefix{display:none}
  .house-memory-button{font-size:10px;padding:5px 8px;white-space:nowrap}
  .house-map-inline-button{width:32px;min-width:32px;min-height:32px;padding:0}
  .house-map-inline-label{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
  .house-orientation-return{font-size:11px}
  .three-house-tab{font-size:9px;letter-spacing:.08em;padding:10px 6px}
  .guided-choice{min-height:145px}
  .author-presence-signal{grid-template-columns:1fr}.author-presence-lamp{width:28px;height:28px}
  .house-release-installation{padding:15px}.release-floor{min-width:48px;min-height:48px;font-size:21px}
  .house-resume-card:not(.house-resume-card-inline){right:12px;bottom:12px;width:calc(100% - 24px)}
  .shelf-discovery-controls{display:grid;grid-template-columns:1fr}.shelf-filter{width:100%;text-align:left}
}

@media (prefers-reduced-motion:reduce){
  .guided-choice,.catalog-section,.house-reading-rail span{transition:none!important}
  .house-threshold{display:none!important}
  body.house-release-unseen .release-floor{animation:none!important}
}


/* Mobile Reading Surface Repair Pass 01
   Guardrail: no passive utility layer may remain pinned over prose on handheld screens. */
@media (max-width:900px){
  body[data-house-remembers="ready"]{--mobile-reading-surface-clear:1}
}
