/* V95 House Carmichael: bedroom-hub highlight method and exact outward edge integration. */
:root{
  --house-gold:#d8b365;
  --house-gold-bright:#f1d78e;
  --house-cream:#f3e7d0;
  --house-wine:#7b2d39;
  --house-green:#24462e;
  --house-panel:rgba(11,6,4,.94);
  --house-line:rgba(236,202,126,.30);
}

.house-backdrop{
  position:absolute;inset:-5%;z-index:1;opacity:0;visibility:hidden;pointer-events:none;
  background-image:none;
  background-position:center;background-size:cover;background-repeat:no-repeat;
  filter:blur(34px) brightness(.33) saturate(.82);transform:scale(1.07);
  transition:opacity .45s ease,background-image .18s linear;
}
.house-backdrop::after{
  content:"";position:absolute;inset:0;
  background:radial-gradient(circle at 50% 46%,transparent 24%,rgba(4,2,2,.34) 76%,rgba(2,1,1,.78));
}
body.scene-house .house-backdrop{opacity:1;visibility:visible}
body.scene-house .bedroom-backdrop,
body.scene-house .crash-backdrop,
body.scene-house .offrecord-backdrop,
body.scene-house .bloodbond-backdrop{opacity:0!important;visibility:hidden!important}
body.scene-house .bedroom-scene-shell,
body.scene-house .crash-scene-shell,
body.scene-house .offrecord-scene-shell,
body.scene-house .bloodbond-scene-shell{visibility:hidden!important;opacity:0!important;pointer-events:none!important}

.house-transition-veil{
  position:fixed;inset:-8%;z-index:44;opacity:0;visibility:hidden;pointer-events:none;
  background:
    radial-gradient(circle at 50% 48%,rgba(219,172,85,.15),rgba(18,8,4,.88) 45%,#030202 78%),
    rgba(4,2,2,.96);
  filter:blur(10px);transform:scale(.96);
}
body.house-switching .house-transition-veil{visibility:visible}

.house-scene-shell{visibility:hidden;opacity:0;pointer-events:none;z-index:4}
body.scene-house .house-scene-shell{visibility:visible;opacity:1;pointer-events:auto}
.house-stage{overflow:visible!important;background:transparent!important;isolation:isolate}
.house-room-panel{
  --house-top-edge:none;--house-bottom-edge:none;
  position:absolute;inset:0;z-index:1;opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity .28s ease,visibility 0s .28s;
}
.house-room-panel.active{opacity:1;visibility:visible;pointer-events:none;transition:opacity .28s ease}
body.scene-house .house-room-panel.active{pointer-events:auto}
.house-room-panel::before,.house-room-panel::after{
  content:"";position:absolute;left:0;z-index:0;width:100%;height:14.0625cqw;
  pointer-events:none;background-repeat:no-repeat;background-position:center;background-size:100% 100%;
}
.house-room-panel::before{bottom:calc(100% - 1px);background-image:var(--house-top-edge)}
.house-room-panel::after{top:calc(100% - 1px);background-image:var(--house-bottom-edge)}
.house-room-panel[data-house-room="living"]{
  --house-top-edge:url("../../images/house-v92/edges/living-top-v92.webp");
  --house-bottom-edge:url("../../images/house-v92/edges/living-bottom-v92.webp")
}
.house-room-panel[data-house-room="ballroom"]{
  --house-top-edge:url("../../images/house-v92/edges/ballroom-top-v92.webp");
  --house-bottom-edge:url("../../images/house-v92/edges/ballroom-bottom-v92.webp")
}
.house-room-panel[data-house-room="lawn"]{
  --house-top-edge:url("../../images/house-v92/edges/lawn-top-v92.webp");
  --house-bottom-edge:url("../../images/house-v92/edges/lawn-bottom-v92.webp")
}
.house-room-panel[data-house-room="library"]{
  --house-top-edge:url("../../images/house-v92/edges/library-top-v92.webp");
  --house-bottom-edge:url("../../images/house-v92/edges/library-bottom-v92.webp")
}
.house-sharp-visual{position:absolute;inset:0;z-index:1;overflow:hidden;pointer-events:none}
.house-scene-image{width:100%;height:100%;display:block;object-fit:cover;user-select:none;-webkit-user-drag:none}
.house-room-shade{position:absolute;inset:0;z-index:2;pointer-events:none;box-shadow:inset 0 0 5cqw rgba(0,0,0,.22)}

.house-glow-layer{position:absolute;inset:0;z-index:4;pointer-events:none}
.house-object-glow{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .24s ease,filter .24s ease;filter:brightness(1.02) saturate(1.02)}
.house-room-panel[data-house-room="living"][data-active="stair-chase"] .glow-living-stair-chase,
.house-room-panel[data-house-room="living"][data-active="stair-gabrielle"] .glow-living-stair-gabrielle,
.house-room-panel[data-house-room="living"][data-active="portraits"] .glow-living-portraits,
.house-room-panel[data-house-room="living"][data-active="crest"] .glow-living-crest,
.house-room-panel[data-house-room="living"][data-active="ballroom"] .glow-living-ballroom,
.house-room-panel[data-house-room="living"][data-active="garden"] .glow-living-garden,
.house-room-panel[data-house-room="living"][data-active="library"] .glow-living-library,
.house-room-panel[data-house-room="lawn"][data-active="return"] .glow-lawn-return,
.house-room-panel[data-house-room="library"][data-active="return"] .glow-library-return{opacity:1;filter:brightness(1.07) saturate(1.04)}

.house-hotspot-svg{position:absolute;inset:0;z-index:7;width:100%;height:100%;overflow:visible;pointer-events:none}
.house-hotspot{cursor:pointer;outline:none;pointer-events:none}
.house-room-panel.active .house-hotspot{pointer-events:auto}
.house-hotspot path{fill:rgba(255,255,255,.001);stroke:transparent;pointer-events:all}
.house-hotspot:focus-visible path{stroke:transparent}
.house-hotspot:focus-visible{outline:none}

.house-nav-button{
  position:absolute;z-index:9;left:1.2cqw;top:1.25cqh;min-width:7.2cqw;
  padding:.56cqh 1.15cqw;border:1px solid rgba(235,197,112,.55);border-radius:.25cqw;
  background:linear-gradient(180deg,rgba(35,17,8,.92),rgba(12,6,3,.92));
  color:#f3d98d;text-transform:uppercase;letter-spacing:.12em;font-size:clamp(9px,.63cqw,16px);font-weight:900;
  box-shadow:0 .5cqw 1.4cqw rgba(0,0,0,.5),inset 0 0 1cqw rgba(221,169,67,.06);
  backdrop-filter:blur(7px);transition:transform .2s ease,border-color .2s ease,background .2s ease
}
.house-nav-button:hover,.house-nav-button:focus-visible{transform:translateY(-1px);border-color:#f1d68a;background:linear-gradient(180deg,rgba(65,34,15,.95),rgba(16,8,4,.94))}
.house-nav-button span{margin-right:.35em}
.house-mobile-menu{display:none}

/* Ambient layers */
.house-ambient{position:absolute;z-index:3;pointer-events:none;mix-blend-mode:screen}
@keyframes houseFlicker{0%,100%{opacity:.56;transform:scale(.96)}18%{opacity:.86;transform:scale(1.04)}37%{opacity:.63;transform:scale(.99)}61%{opacity:.92;transform:scale(1.05)}82%{opacity:.70;transform:scale(.98)}}
@keyframes housePulse{0%,100%{opacity:.34;transform:scale(.94)}50%{opacity:.78;transform:scale(1.06)}}
@keyframes houseGlint{0%,72%,100%{opacity:0;transform:translateX(-1.2cqw) skewX(-12deg)}78%{opacity:.54}88%{opacity:0;transform:translateX(2cqw) skewX(-12deg)}}
@keyframes houseSteam{0%{opacity:0;transform:translate3d(0,.7cqh,0) scale(.72)}18%{opacity:.28}72%{opacity:.16}100%{opacity:0;transform:translate3d(var(--drift,1cqw),-7cqh,0) scale(1.26)}}
@keyframes houseTwinkle{0%,100%{opacity:.06;transform:scale(.7)}46%{opacity:.14}52%{opacity:.85;transform:scale(1.25)}59%{opacity:.11}}
@keyframes houseCloudDrift{from{transform:translateX(-2cqw)}to{transform:translateX(3cqw)}}
@keyframes houseDust{0%{opacity:0;transform:translate3d(0,1cqh,0)}20%{opacity:.28}80%{opacity:.12}100%{opacity:0;transform:translate3d(var(--dx,2cqw),-9cqh,0)}}

.living-fire{left:47.4%;top:54.6%;width:6.7%;height:12%;border-radius:45%;background:radial-gradient(ellipse at 50% 80%,rgba(255,84,18,.62),rgba(255,168,58,.36) 38%,transparent 72%);filter:blur(.45cqw);animation:houseFlicker 2.6s infinite ease-in-out;transform-origin:50% 90%}
.living-firelight{left:42.8%;top:48%;width:16%;height:25%;border-radius:50%;background:radial-gradient(circle,rgba(255,150,48,.15),transparent 70%);animation:housePulse 4.2s infinite ease-in-out}
.living-ballroom-light{left:23.5%;top:38%;width:15%;height:30%;background:radial-gradient(ellipse,rgba(255,190,81,.14),transparent 70%);animation:housePulse 5.6s -1.3s infinite ease-in-out}
.living-library-light{left:78%;top:38%;width:14%;height:32%;background:radial-gradient(ellipse,rgba(111,196,122,.10),transparent 72%);animation:housePulse 6.4s -2.1s infinite ease-in-out}
.living-chandelier-glint{left:41%;top:3%;width:18%;height:20%;overflow:hidden}
.living-chandelier-glint::after{content:"";position:absolute;inset:-20% 45%;width:7%;background:linear-gradient(90deg,transparent,rgba(255,234,166,.54),transparent);filter:blur(.18cqw);animation:houseGlint 9.8s infinite ease-in-out}
.living-garden-breathe{left:54%;top:38%;width:15%;height:34%;background:radial-gradient(ellipse,rgba(124,204,154,.08),transparent 70%);animation:housePulse 8s -3s infinite ease-in-out}

.ballroom-chandelier{width:18%;height:26%;border-radius:50%;background:radial-gradient(circle,rgba(255,191,78,.15),transparent 70%);animation:houseFlicker var(--dur,4s) var(--delay,0s) infinite ease-in-out}
.ballroom-chandelier.a{left:13%;top:2%;--dur:3.7s}.ballroom-chandelier.b{left:41%;top:0%;--dur:4.4s;--delay:-1.1s}.ballroom-chandelier.c{left:68%;top:2%;--dur:3.9s;--delay:-2s}
.ballroom-floor-reflection{left:16%;top:50%;width:68%;height:44%;background:radial-gradient(ellipse at 50% 25%,rgba(255,194,91,.10),transparent 68%);animation:housePulse 6.8s infinite ease-in-out}
.ballroom-stage-light{left:42%;top:38%;width:18%;height:27%;background:radial-gradient(ellipse,rgba(255,178,73,.11),transparent 72%);animation:housePulse 5.2s -1.4s infinite ease-in-out}
.ballroom-mirror-glint{left:0;top:30%;width:36%;height:38%;overflow:hidden}
.ballroom-mirror-glint::after{content:"";position:absolute;top:0;bottom:0;width:8%;background:linear-gradient(90deg,transparent,rgba(255,233,178,.17),transparent);filter:blur(.3cqw);animation:houseGlint 12s -4s infinite ease-in-out}

.lawn-fire{left:10.2%;top:73%;width:12%;height:18%;border-radius:50%;background:radial-gradient(ellipse at 50% 76%,rgba(255,76,13,.76),rgba(255,172,55,.30) 40%,transparent 72%);filter:blur(.4cqw);animation:houseFlicker 2.2s infinite ease-in-out;transform-origin:50% 85%}
.lawn-firelight{left:4%;top:63%;width:26%;height:32%;border-radius:50%;background:radial-gradient(circle,rgba(255,136,34,.14),transparent 70%);animation:housePulse 3.7s infinite ease-in-out}
.lawn-water-shimmer{left:66%;top:53%;width:36%;height:28%;border-radius:50%;background:linear-gradient(108deg,transparent 20%,rgba(185,238,255,.11) 45%,transparent 68%);filter:blur(.4cqw);animation:houseGlint 8.5s infinite linear}
.lawn-pond-shimmer{left:45%;top:40%;width:22%;height:14%;border-radius:50%;background:linear-gradient(100deg,transparent 12%,rgba(180,232,255,.10) 48%,transparent 80%);filter:blur(.3cqw);animation:houseGlint 11s -5s infinite linear}
.lawn-door-light{left:0;top:10%;width:25%;height:58%;background:radial-gradient(ellipse at 20% 45%,rgba(255,192,101,.16),transparent 70%);animation:housePulse 5.4s infinite ease-in-out}
.lawn-clouds{left:24%;top:0;width:70%;height:28%;opacity:.16;background:linear-gradient(110deg,transparent 8%,rgba(214,224,249,.07) 35%,transparent 67%);filter:blur(.7cqw);animation:houseCloudDrift 28s infinite alternate ease-in-out}
.house-steam{position:absolute;z-index:3;left:var(--x);top:var(--y);width:3.1cqw;height:7.5cqh;border-radius:50%;background:radial-gradient(ellipse,rgba(223,244,248,.25),transparent 68%);filter:blur(.45cqw);animation:houseSteam var(--dur) var(--delay) infinite ease-out;pointer-events:none;mix-blend-mode:screen}
.house-twinkle{position:absolute;z-index:3;left:var(--x);top:var(--y);width:.22cqw;height:.22cqw;border-radius:50%;background:#ffe3a0;box-shadow:0 0 .55cqw rgba(255,212,121,.68);animation:houseTwinkle var(--dur) var(--delay) infinite ease-in-out;pointer-events:none}
.house-lantern-glow{position:absolute;z-index:3;left:var(--x);top:var(--y);width:2cqw;height:3.4cqh;border-radius:50%;background:radial-gradient(circle,rgba(255,185,81,.28),transparent 72%);animation:houseFlicker var(--dur) var(--delay) infinite ease-in-out;pointer-events:none}

.library-fire{left:18.5%;top:49%;width:7%;height:13%;border-radius:45%;background:radial-gradient(ellipse at 50% 80%,rgba(255,79,18,.68),rgba(255,167,58,.30) 42%,transparent 72%);filter:blur(.4cqw);animation:houseFlicker 2.5s infinite ease-in-out;transform-origin:50% 90%}
.library-firelight{left:12%;top:42%;width:20%;height:27%;border-radius:50%;background:radial-gradient(circle,rgba(255,140,45,.12),transparent 70%);animation:housePulse 4.3s infinite ease-in-out}
.library-orrery-core{left:55.8%;top:30%;width:5.2%;height:10.5%;border-radius:50%;background:radial-gradient(circle,#ffc1a3 0 5%,rgba(199,41,51,.70) 18%,rgba(117,15,28,.36) 46%,transparent 72%);filter:blur(.16cqw);animation:housePulse 5.8s infinite ease-in-out}
.library-orrery-glint{left:51%;top:25%;width:18%;height:24%;border-radius:50%;background:radial-gradient(circle at 30% 34%,rgba(255,236,177,.18) 0 .3cqw,transparent .8cqw),radial-gradient(circle at 72% 62%,rgba(255,214,129,.12) 0 .25cqw,transparent .7cqw);filter:blur(.06cqw);animation:housePulse 8.8s -2.7s infinite ease-in-out}
.library-orrery-glint::after{display:none}
.library-office-light{left:70%;top:40%;width:15%;height:28%;background:radial-gradient(ellipse,rgba(140,210,124,.10),transparent 70%);animation:housePulse 6.2s -2s infinite ease-in-out}
.library-potions-light{left:84%;top:35%;width:16%;height:34%;background:radial-gradient(ellipse,rgba(233,177,83,.10),transparent 72%);animation:housePulse 5.4s -1s infinite ease-in-out}
.library-door-light{left:0;top:24%;width:14%;height:48%;background:radial-gradient(ellipse at 20% 50%,rgba(255,194,104,.12),transparent 70%);animation:housePulse 5.8s infinite ease-in-out}
.house-dust{position:absolute;z-index:3;left:var(--x);top:var(--y);width:.18cqw;height:.18cqw;border-radius:50%;background:rgba(255,232,177,.72);box-shadow:0 0 .45cqw rgba(255,220,147,.42);animation:houseDust var(--dur) var(--delay) infinite linear;pointer-events:none}

/* House dialogs */
.house-overlay{
  position:fixed;inset:0;z-index:92;display:grid;place-items:center;padding:clamp(.6rem,2vw,1.4rem);
  background:rgba(2,1,1,.88);backdrop-filter:blur(15px);opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity .22s ease,visibility 0s .22s
}
.house-overlay.open{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .22s ease}
.house-dialog{
  width:min(1180px,96vw);height:min(850px,94dvh);display:grid;grid-template-rows:auto minmax(0,1fr);
  overflow:hidden;border:1px solid var(--house-line);border-radius:10px;background:linear-gradient(145deg,#170b07,#080403 70%);
  box-shadow:0 38px 120px #000,inset 0 0 100px rgba(105,53,22,.09)
}
.house-dialog-head{position:relative;z-index:6;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.2rem;border-bottom:1px solid var(--house-line);background:linear-gradient(90deg,rgba(42,74,49,.55),rgba(15,8,5,.93))}
.house-dialog-head small{display:block;color:var(--house-gold-bright);text-transform:uppercase;letter-spacing:.15em;font-size:.55rem;font-weight:900}
.house-dialog-head h2{font-family:Georgia,serif;font-size:clamp(1.6rem,3.4vw,2.7rem);margin:.25rem 0 0;color:#f3ead8}
.house-dialog-actions{display:flex;align-items:center;gap:.55rem}
.house-secret-toggle,.house-dialog-close{border:1px solid var(--house-line);background:rgba(14,7,4,.7);color:#e8cb82}
.house-secret-toggle{padding:.65rem .8rem;text-transform:uppercase;letter-spacing:.1em;font-size:.55rem;font-weight:900}
.house-secret-toggle[aria-pressed="true"]{border-color:rgba(221,89,84,.55);color:#ffc9c4;background:rgba(74,17,20,.62)}
.house-dialog-close{width:42px;height:42px;border-radius:50%;font-size:1.4rem}
.house-dialog-close:hover,.house-dialog-close:focus-visible,.house-secret-toggle:hover,.house-secret-toggle:focus-visible{border-color:#efd28a}

.house-gallery-body{position:relative;min-height:0;display:grid;grid-template-rows:minmax(0,1fr) auto auto;background:#050302}
.house-gallery-bg{position:absolute;pointer-events:none;inset:-6%;background-position:center;background-size:cover;filter:blur(45px) brightness(.18);transform:scale(1.12);opacity:.75}
.house-gallery-stage{position:relative;z-index:2;min-height:0;display:grid;place-items:center;padding:1rem 4.4rem}
.house-gallery-stage img{max-width:100%;max-height:100%;object-fit:contain;filter:drop-shadow(0 28px 65px #000)}
.house-gallery-arrow{position:absolute;z-index:4;top:50%;transform:translateY(-50%);width:46px;height:72px;border:1px solid var(--house-line);background:rgba(13,7,4,.76);color:#e8cb82;font-size:2rem}
.house-gallery-prev{left:.8rem}.house-gallery-next{right:.8rem}
.house-gallery-caption{position:relative;z-index:3;width:min(900px,90%);margin:.2rem auto .5rem;padding:.75rem 1rem;text-align:center;border:1px solid rgba(236,202,126,.20);background:rgba(13,7,4,.86)}
.house-gallery-caption small{color:#dfbd6e;text-transform:uppercase;letter-spacing:.13em;font-size:.53rem}
.house-gallery-caption h3{font-family:Georgia,serif;font-size:1.65rem;margin:.3rem 0;color:#f1e6d1}
.house-gallery-caption p{margin:0;color:#b5a99b;font-size:.78rem;line-height:1.5}
.house-gallery-thumbs{position:relative;z-index:3;display:flex;gap:.5rem;max-width:92%;margin:0 auto .65rem;padding:.3rem;overflow-x:auto}
.house-gallery-thumb{width:78px;height:54px;flex:0 0 auto;padding:0;border:1px solid rgba(236,202,126,.22);background:#090503;opacity:.48}
.house-gallery-thumb img{width:100%;height:100%;object-fit:cover}.house-gallery-thumb.active{opacity:1;border-color:#e6c577;transform:translateY(-2px)}

.house-tree-body{position:relative;min-height:0;overflow:auto;padding:1rem;background:radial-gradient(circle at 50% 48%,rgba(93,53,22,.22),transparent 27rem),#070403}
.house-tree-stage{position:relative;width:min(980px,100%);min-height:680px;margin:auto;border:1px solid rgba(236,202,126,.18);background:linear-gradient(145deg,rgba(32,15,8,.78),rgba(7,3,2,.92));overflow:hidden}
.house-tree-stage::before{content:"";position:absolute;inset:0;background:url("../../images/house/crest.webp") center/44% auto no-repeat;opacity:.035;filter:sepia(1) grayscale(1)}
.house-tree-lines{position:absolute;inset:4%;width:92%;height:92%;overflow:visible;opacity:.82}
.house-tree-lines path{fill:none;stroke:#c8994a;stroke-width:9;stroke-linecap:round;filter:drop-shadow(0 0 7px rgba(222,175,82,.25))}
.house-tree-center{position:absolute;left:50%;top:50%;width:150px;height:175px;transform:translate(-50%,-50%);display:grid;place-items:center;padding:12px;background:linear-gradient(145deg,#4b2812,#d2a657 36%,#3a1d0d 76%);clip-path:polygon(50% 0,92% 14%,86% 76%,50% 100%,14% 76%,8% 14%);filter:drop-shadow(0 22px 35px rgba(0,0,0,.7))}
.house-tree-center img{width:100%;height:100%;object-fit:contain;clip-path:polygon(50% 0,92% 14%,86% 76%,50% 100%,14% 76%,8% 14%)}
.house-tree-node{position:absolute;width:210px;transform:translate(-50%,-50%);padding:0;border:0;background:transparent;color:#f1e5cf;text-align:center}
.house-tree-node[data-member="isaac"]{left:25%;top:24%}.house-tree-node[data-member="melanie"]{left:75%;top:24%}.house-tree-node[data-member="gabrielle"]{left:25%;top:76%}.house-tree-node[data-member="chase"]{left:75%;top:76%}
.house-tree-portrait{display:block;width:126px;height:156px;margin:auto;padding:6px;background:linear-gradient(145deg,#3d1d0c,#d4aa5b 38%,#582d12 72%,#e2c278);clip-path:polygon(50% 0,90% 11%,100% 38%,96% 100%,4% 100%,0 38%,10% 11%);filter:drop-shadow(0 15px 25px rgba(0,0,0,.66))}
.house-tree-portrait img{width:100%;height:100%;object-fit:cover;clip-path:inherit}
.house-tree-plaque{display:block;margin:-.25rem auto 0;padding:.62rem .55rem;border:1px solid rgba(236,202,126,.34);background:rgba(20,10,6,.95);box-shadow:0 12px 28px rgba(0,0,0,.5)}
.house-tree-plaque small{display:block;color:#d9b565;text-transform:uppercase;letter-spacing:.11em;font-size:.46rem}.house-tree-plaque strong{display:block;font-family:Georgia,serif;font-size:1.08rem;margin-top:.2rem}
.house-tree-node:hover,.house-tree-node:focus-visible{filter:brightness(1.12);transform:translate(-50%,-53%)}
.house-tree-secret{display:none;position:relative;width:min(900px,100%);margin:1rem auto 0;padding:1rem;border:1px solid rgba(218,76,74,.30);background:rgba(68,12,16,.55);color:#d9a6a4}
.house-tree-body.secrets-visible .house-tree-secret{display:block}
.house-tree-secret>small{display:block;color:#e6a39f;text-transform:uppercase;letter-spacing:.14em;font-size:.48rem;font-weight:900}.house-tree-secret h3{font-family:Georgia,serif;color:#ffd4cc;margin:.2rem 0 .55rem}.house-tree-secret p{line-height:1.62;margin:.4rem 0;font-size:.78rem}.house-tree-secret-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.65rem;margin:.8rem 0}.house-tree-secret-grid article{padding:.8rem;border:1px solid rgba(218,76,74,.26);background:rgba(38,8,11,.52)}.house-tree-secret-grid span{color:#df817c;font-size:.48rem;font-weight:900;letter-spacing:.12em}.house-tree-secret-grid h4{font-family:Georgia,serif;color:#ffd4cc;margin:.25rem 0 .35rem}.house-tree-warning{color:#efaaa5!important;font-weight:700}

.house-profile-dialog{width:min(760px,94vw);height:auto;max-height:90dvh}
.house-profile-body{display:grid;grid-template-columns:230px minmax(0,1fr);gap:1.2rem;padding:1.2rem;overflow:auto}
.house-profile-portrait{min-height:320px;padding:10px;background:linear-gradient(145deg,#3d1c0b,#d1a354 36%,#552b11 72%,#d9b86b)}
.house-profile-portrait img{width:100%;height:100%;object-fit:cover;border:2px solid #4b260f}
.house-profile-copy small{color:#d9b565;text-transform:uppercase;letter-spacing:.12em;font-size:.52rem}.house-profile-copy h3{font-family:Georgia,serif;font-size:2rem;margin:.35rem 0 .8rem}.house-profile-copy p{color:#b9aca0;line-height:1.65;font-size:.82rem}.house-profile-facts{display:grid;grid-template-columns:1fr 1fr;gap:.65rem;margin-top:.8rem}.house-profile-facts article{padding:.75rem;border:1px solid rgba(236,202,126,.18);background:rgba(22,11,6,.58)}.house-profile-facts strong{display:block;color:#dfbd6e;text-transform:uppercase;letter-spacing:.1em;font-size:.48rem}.house-profile-private{display:none;margin-top:.8rem;padding:.8rem;border:1px solid rgba(218,76,74,.27);background:rgba(65,12,16,.48);color:#d9a6a4;line-height:1.6;font-size:.78rem}.house-profile-private.visible{display:block}.house-profile-world{display:inline-block;margin-top:.8rem;padding:.65rem .85rem;border:1px solid rgba(237,186,210,.36);color:#f2d38c;text-transform:uppercase;letter-spacing:.1em;font-size:.55rem;font-weight:900}
.house-profile-world[hidden]{display:none!important}

@media(max-width:800px){
  .house-dialog{width:98vw;height:96dvh}.house-gallery-stage{padding:.7rem 3rem}.house-tree-stage{min-height:780px}.house-tree-node{width:155px}.house-tree-node[data-member="isaac"]{left:23%;top:21%}.house-tree-node[data-member="melanie"]{left:77%;top:21%}.house-tree-node[data-member="gabrielle"]{left:23%;top:79%}.house-tree-node[data-member="chase"]{left:77%;top:79%}.house-tree-portrait{width:98px;height:123px}.house-tree-center{width:115px;height:135px}.house-profile-body{grid-template-columns:1fr}.house-profile-portrait{min-height:270px;max-height:420px}.house-profile-facts{grid-template-columns:1fr}.house-tree-secret-grid{grid-template-columns:1fr}
}
@media(max-width:700px) and (orientation:portrait){
  .house-room-panel::before,.house-room-panel::after{height:18cqw}
  .house-nav-button{left:.7rem;top:.7rem;padding:.55rem .7rem;font-size:.57rem}
  .house-hotspot-svg{display:none}
  .house-mobile-menu{display:grid;position:absolute;z-index:10;left:.7rem;right:.7rem;bottom:.7rem;grid-template-columns:repeat(2,1fr);gap:.35rem;padding:.4rem;background:rgba(8,4,3,.78);border:1px solid rgba(236,202,126,.25);backdrop-filter:blur(8px)}
  .house-mobile-menu button,.house-mobile-menu a{display:grid;place-items:center;min-height:38px;border:1px solid rgba(236,202,126,.25);background:rgba(31,15,8,.82);color:#e7ca82;text-transform:uppercase;letter-spacing:.08em;font-size:.5rem;font-weight:900}
  .house-room-panel:not([data-house-room="living"]) .house-mobile-menu{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
  .house-ambient,.house-steam,.house-twinkle,.house-lantern-glow,.house-dust{animation:none!important}
  .house-room-panel,.house-object-glow,.house-overlay{transition:none!important}
}


/* V89 hard interaction boundary: hidden House content cannot cover the bedroom. */
.house-scene-shell[hidden]{display:none!important}
body:not(.scene-house) .house-scene-shell,
body:not(.scene-house) .house-scene-shell *{pointer-events:none!important}
body:not(.scene-house) .house-scene-shell{visibility:hidden!important;opacity:0!important}
body.scene-house .house-scene-shell:not([hidden]){display:flex;visibility:visible;opacity:1;pointer-events:auto}
body.scene-house .house-room-panel:not(.active),
body.scene-house .house-room-panel:not(.active) *{pointer-events:none!important}
body.scene-house .house-room-panel.active .house-hotspot{pointer-events:auto}
.house-overlay[inert]{pointer-events:none!important}
.house-overlay:not(.open){visibility:hidden!important;pointer-events:none!important}
/* Debug rendering is opt-in through ?houseDebug=1 and never enabled in the review UI. */
body.house-debug .house-hotspot path{fill:rgba(58,210,255,.18);stroke:rgba(255,255,255,.88);stroke-width:4}
body.house-debug .house-hotspot[data-house-action="stair-chase"] path{fill:rgba(76,220,104,.22)}
body.house-debug .house-hotspot[data-house-action="stair-gabrielle"] path{fill:rgba(255,92,174,.22)}
body.house-debug .house-hotspot[data-house-action="portraits"] path{fill:rgba(255,211,64,.22)}
body.house-debug .house-hotspot[data-house-action="crest"] path{fill:rgba(255,82,48,.25)}
body.house-debug .house-hotspot[data-house-action="ballroom"] path{fill:rgba(255,145,32,.22)}
body.house-debug .house-hotspot[data-house-action="lawn"] path{fill:rgba(70,220,220,.22)}
body.house-debug .house-hotspot[data-house-action="library"] path{fill:rgba(156,82,255,.22)}

/* V90 House Carmichael polish and transition-safe presentation. */

/* One universal House control rail. The existing music player is moved into this slot at runtime. */
.house-control-rail{
  position:fixed;z-index:91;left:max(.75rem,env(safe-area-inset-left));top:max(.45rem,env(safe-area-inset-top));
  display:flex;align-items:flex-start;gap:.65rem;max-width:calc(100vw - 1.5rem);pointer-events:auto
}
.house-control-rail[hidden]{display:none!important}
.house-rail-nav{
  flex:0 0 auto;min-width:8.25rem;height:2.35rem;padding:0 .85rem;border:1px solid rgba(235,197,112,.62);border-radius:.25rem;
  background:linear-gradient(180deg,rgba(38,19,9,.96),rgba(12,6,3,.95));color:#f3d98d;
  text-transform:uppercase;letter-spacing:.12em;font-size:.62rem;font-weight:900;box-shadow:0 .45rem 1.25rem rgba(0,0,0,.56),inset 0 0 1rem rgba(221,169,67,.06);
  backdrop-filter:blur(8px);transition:transform .18s ease,border-color .18s ease,background .18s ease
}
.house-rail-nav:hover,.house-rail-nav:focus-visible{transform:translateY(-1px);border-color:#f1d68a;background:linear-gradient(180deg,rgba(68,36,16,.97),rgba(16,8,4,.96))}
.house-rail-nav span:first-child{margin-right:.35em}
.house-player-slot{flex:0 1 auto;width:clamp(268px,17.2vw,365px);min-width:0}
.house-player-slot .music-player{
  --player-width:100%;position:relative!important;z-index:1!important;left:auto!important;right:auto!important;top:auto!important;
  width:100%!important;transform:none!important;opacity:1!important;pointer-events:auto!important
}
.house-player-slot .music-player:hover{transform:translateY(-1px)!important}
body.scene-house .house-nav-button{display:none!important}

/* Stronger, still soft object-local Living Area highlights. */
.house-object-glow{transition:opacity .18s ease,filter .2s ease}
.house-room-panel[data-house-room="living"][data-active] .house-object-glow,
.house-room-panel[data-house-room="lawn"][data-active] .house-object-glow,
.house-room-panel[data-house-room="library"][data-active] .house-object-glow{
  filter:brightness(1.26) saturate(1.24) contrast(1.035) drop-shadow(0 0 .26cqw rgba(244,207,126,.18))
}
.house-room-panel[data-house-room="living"][data-active="stair-chase"] .glow-living-stair-chase,
.house-room-panel[data-house-room="living"][data-active="stair-gabrielle"] .glow-living-stair-gabrielle,
.house-room-panel[data-house-room="living"][data-active="portraits"] .glow-living-portraits,
.house-room-panel[data-house-room="living"][data-active="crest"] .glow-living-crest,
.house-room-panel[data-house-room="living"][data-active="ballroom"] .glow-living-ballroom,
.house-room-panel[data-house-room="living"][data-active="garden"] .glow-living-garden,
.house-room-panel[data-house-room="living"][data-active="library"] .glow-living-library,
.house-room-panel[data-house-room="lawn"][data-active="return"] .glow-lawn-return,
.house-room-panel[data-house-room="library"][data-active="return"] .glow-library-return{opacity:1}
.house-room-panel[data-house-room="living"][data-active="crest"] .glow-living-crest{
  filter:brightness(1.48) saturate(1.36) contrast(1.08) drop-shadow(0 0 .55cqw rgba(224,183,84,.34))
}
.house-room-panel[data-house-room="living"][data-active="garden"] .glow-living-garden{
  filter:brightness(1.38) saturate(1.22) contrast(1.04) drop-shadow(0 0 .42cqw rgba(149,224,177,.22))
}

/* Local animation primitives. No traveling bars or full-scene sweeps. */
@keyframes v90Flame{
  0%,100%{opacity:.56;transform:scale(.94,.90) translateY(.1cqh)}
  18%{opacity:.88;transform:scale(1.03,1.08) translateY(-.08cqh)}
  38%{opacity:.66;transform:scale(.97,1.01)}
  61%{opacity:.94;transform:scale(1.04,1.10) translateY(-.12cqh)}
  82%{opacity:.70;transform:scale(.98,.96)}
}
@keyframes v90LightBreathe{0%,100%{opacity:.30;transform:scale(.96)}50%{opacity:.66;transform:scale(1.035)}}
@keyframes v90Candle{0%,100%{opacity:.38;transform:scale(.85,.94)}25%{opacity:.84;transform:scale(1.02,1.12)}58%{opacity:.54;transform:scale(.92,1.02)}78%{opacity:.92;transform:scale(1.05,1.16)}}
@keyframes v90Crystal{0%,78%,100%{opacity:0;transform:scale(.45)}82%{opacity:.18}86%{opacity:.95;transform:scale(1.25)}91%{opacity:.12;transform:scale(.70)}}
@keyframes v90Water{0%,100%{opacity:.22;transform:scale(1) translateY(0)}50%{opacity:.42;transform:scale(1.015,.98) translateY(-.08cqh)}}
@keyframes v90Steam{0%{opacity:0;transform:translate3d(0,.35cqh,0) scale(.72)}22%{opacity:.18}67%{opacity:.12}100%{opacity:0;transform:translate3d(var(--drift,.7cqw),-4.2cqh,0) scale(1.18)}}
@keyframes v90Dust{0%{opacity:0;transform:translate3d(0,.4cqh,0)}22%{opacity:.22}78%{opacity:.08}100%{opacity:0;transform:translate3d(var(--dx,.8cqw),-5cqh,0)}}
@keyframes v90Cloud{from{transform:translateX(-1.2cqw)}to{transform:translateX(1.8cqw)}}

.house-candle-flame,.house-crystal-spark,.house-lantern-flicker,.house-dust-v90,.house-steam-v90{
  position:absolute;z-index:3;left:var(--x);top:var(--y);pointer-events:none;mix-blend-mode:screen
}
.house-candle-flame{
  width:var(--w,.24cqw);height:var(--h,.62cqh);border-radius:55% 45% 62% 38%;transform-origin:50% 100%;
  background:radial-gradient(ellipse at 50% 70%,#fff0b6 0 16%,#ffc35b 30%,rgba(255,120,24,.72) 52%,transparent 76%);
  filter:blur(.025cqw) drop-shadow(0 0 .22cqw rgba(255,183,72,.72));animation:v90Candle var(--dur,3.2s) var(--delay,0s) infinite ease-in-out
}
.house-lantern-flicker{
  width:var(--w,1.5cqw);height:var(--h,2.7cqh);border-radius:50%;
  background:radial-gradient(ellipse,rgba(255,199,94,.30),rgba(255,151,45,.10) 42%,transparent 72%);
  filter:blur(.16cqw);animation:v90LightBreathe var(--dur,4.2s) var(--delay,0s) infinite ease-in-out
}
.house-crystal-spark{
  width:var(--s,.22cqw);height:var(--s,.22cqw);border-radius:50%;background:#fff2c2;
  box-shadow:0 0 .32cqw rgba(255,229,159,.85),0 0 .75cqw rgba(255,199,89,.32);
  animation:v90Crystal var(--dur,7.5s) var(--delay,0s) infinite ease-in-out
}
.house-dust-v90{width:.12cqw;height:.12cqw;border-radius:50%;background:rgba(255,233,183,.68);box-shadow:0 0 .3cqw rgba(255,224,155,.30);animation:v90Dust var(--dur,9s) var(--delay,0s) infinite linear}
.house-steam-v90{
  width:var(--w,2.2cqw);height:var(--h,5.2cqh);border-radius:50%;
  background:radial-gradient(ellipse,rgba(226,243,247,.18),rgba(226,243,247,.08) 42%,transparent 72%);
  filter:blur(.4cqw);animation:v90Steam var(--dur,8s) var(--delay,0s) infinite ease-out
}

/* Living Area: both visible hearths, candle clusters, and the chandelier. Flowers remain static. */
.living-fire-left{left:6.4%;top:55.3%;width:5.0%;height:12.8%;border-radius:46%;background:radial-gradient(ellipse at 50% 82%,rgba(255,83,16,.72),rgba(255,174,61,.32) 38%,transparent 72%);filter:blur(.30cqw);animation:v90Flame 2.35s infinite ease-in-out;transform-origin:50% 92%}
.living-fire-center{left:48.25%;top:50.4%;width:3.8%;height:4.8%;border-radius:45%;background:radial-gradient(ellipse at 50% 82%,rgba(255,91,18,.68),rgba(255,174,60,.28) 38%,transparent 72%);filter:blur(.22cqw);animation:v90Flame 2.7s -.7s infinite ease-in-out;transform-origin:50% 92%}
.living-chandelier-halo{left:42.4%;top:0;width:15.2%;height:17%;border-radius:50%;background:radial-gradient(ellipse,rgba(255,203,111,.10),transparent 68%);animation:v90LightBreathe 5.8s infinite ease-in-out}
.living-ballroom-light{left:24%;top:40%;width:13%;height:24%;background:radial-gradient(ellipse,rgba(255,192,91,.11),transparent 70%);animation:v90LightBreathe 6.1s -1.2s infinite ease-in-out}
.living-library-light{left:84.4%;top:43%;width:10.5%;height:24%;background:radial-gradient(ellipse,rgba(112,194,126,.075),transparent 72%);animation:v90LightBreathe 7.1s -2.2s infinite ease-in-out}

/* Ballroom: three local chandelier halos and stationary reflections only. */
.ballroom-chandelier{background:radial-gradient(ellipse,rgba(255,205,112,.12),transparent 70%);animation:v90LightBreathe var(--dur,4.6s) var(--delay,0s) infinite ease-in-out}
.ballroom-chandelier.a{left:14%;top:2%;width:17%;height:24%;--dur:4.2s}.ballroom-chandelier.b{left:41.5%;top:0;width:18%;height:26%;--dur:4.9s;--delay:-1.1s}.ballroom-chandelier.c{left:69%;top:2%;width:17%;height:24%;--dur:4.4s;--delay:-2s}
.ballroom-reflection{position:absolute;z-index:3;top:54%;width:18%;height:26%;border-radius:50%;background:radial-gradient(ellipse,rgba(255,190,84,.075),transparent 69%);animation:v90LightBreathe var(--dur,6.5s) var(--delay,0s) infinite ease-in-out;mix-blend-mode:screen}
.ballroom-reflection.a{left:18%;--dur:6.2s}.ballroom-reflection.b{left:42%;--dur:7.1s;--delay:-1.4s}.ballroom-reflection.c{left:66%;--dur:6.7s;--delay:-2.2s}
.ballroom-stage-candles{left:42.5%;top:39%;width:15%;height:17%;border-radius:50%;background:radial-gradient(ellipse,rgba(255,176,69,.075),transparent 72%);animation:v90LightBreathe 6.3s -2.1s infinite ease-in-out}

/* Back Lawn: tight fire, real lantern sources, subtle water, restrained steam. */
.lawn-fire{left:10.3%;top:75.5%;width:8.3%;height:12.6%;border-radius:50%;background:radial-gradient(ellipse at 50% 78%,rgba(255,78,13,.82),rgba(255,174,55,.28) 40%,transparent 72%);filter:blur(.27cqw);animation:v90Flame 2.15s infinite ease-in-out;transform-origin:50% 88%}
.lawn-firelight{left:7.4%;top:70.8%;width:14.5%;height:20%;border-radius:50%;background:radial-gradient(circle,rgba(255,143,39,.105),transparent 69%);animation:v90LightBreathe 4s infinite ease-in-out}
.lawn-pool-water{left:67.2%;top:57.2%;width:31.5%;height:23.5%;border-radius:48%;background:radial-gradient(ellipse at 58% 42%,rgba(171,231,242,.065),transparent 62%);animation:v90Water 8.5s infinite ease-in-out}
.lawn-pond-water{left:48.2%;top:40.1%;width:18.7%;height:10.6%;border-radius:50%;background:radial-gradient(ellipse,rgba(176,226,238,.055),transparent 68%);animation:v90Water 11s -3s infinite ease-in-out}
.lawn-door-light{left:0;top:11%;width:23%;height:51%;background:radial-gradient(ellipse at 17% 46%,rgba(255,195,104,.105),transparent 70%);animation:v90LightBreathe 5.7s infinite ease-in-out}
.lawn-clouds{left:25%;top:0;width:68%;height:24%;opacity:.11;background:linear-gradient(110deg,transparent 10%,rgba(220,229,249,.055) 38%,transparent 70%);filter:blur(.75cqw);animation:v90Cloud 34s infinite alternate ease-in-out}
.lawn-steam-field{left:68%;top:55%;width:31%;height:24%;overflow:visible}

/* Library: tightly registered hearth and full Orrery crystal. */
.library-fire{left:20.0%;top:51.4%;width:3.5%;height:8.7%;border-radius:44%;background:radial-gradient(ellipse at 50% 82%,rgba(255,80,17,.76),rgba(255,169,57,.28) 42%,transparent 72%);filter:blur(.23cqw);animation:v90Flame 2.45s infinite ease-in-out;transform-origin:50% 92%}
.library-firelight{left:18.6%;top:49.3%;width:5.9%;height:10.8%;border-radius:50%;background:radial-gradient(circle,rgba(255,145,48,.09),transparent 69%);animation:v90LightBreathe 4.6s infinite ease-in-out}
.library-orrery-core{left:56.65%;top:31.55%;width:3.35%;height:7.0%;border-radius:50%;background:radial-gradient(circle,#ffe0c5 0 7%,rgba(221,57,65,.82) 18%,rgba(141,18,33,.48) 47%,transparent 74%);filter:blur(.10cqw);animation:v90LightBreathe 5.7s infinite ease-in-out}
.library-orrery-glint{left:52.2%;top:24%;width:16.5%;height:23%;border-radius:50%;background:radial-gradient(circle at 32% 38%,rgba(255,238,185,.17) 0 .18cqw,transparent .55cqw),radial-gradient(circle at 71% 61%,rgba(255,220,139,.12) 0 .16cqw,transparent .5cqw);filter:blur(.035cqw);animation:v90LightBreathe 9s -2.7s infinite ease-in-out}
.library-office-light{left:70.7%;top:41%;width:13.2%;height:23%;background:radial-gradient(ellipse,rgba(142,210,126,.075),transparent 70%);animation:v90LightBreathe 6.5s -2s infinite ease-in-out}
.library-potions-light{left:86%;top:39%;width:11.7%;height:25%;background:radial-gradient(ellipse,rgba(233,178,84,.075),transparent 72%);animation:v90LightBreathe 5.8s -1s infinite ease-in-out}
.library-door-light{left:0;top:29%;width:11.8%;height:37%;background:radial-gradient(ellipse at 18% 50%,rgba(255,195,106,.085),transparent 70%);animation:v90LightBreathe 6.2s infinite ease-in-out}

/* Full-screen family portrait viewer. */
#houseFamilyGallery{padding:0;background:rgba(2,1,1,.985);backdrop-filter:none}
#houseFamilyGallery .house-dialog{width:100vw;height:100dvh;max-width:none;max-height:none;border:0;border-radius:0;background:#030202;box-shadow:none}
#houseFamilyGallery .house-dialog-head{position:absolute;z-index:10;left:0;right:0;top:0;padding:1rem clamp(1rem,3vw,3rem);background:linear-gradient(180deg,rgba(3,2,2,.98),rgba(3,2,2,.62),transparent);border:0;pointer-events:none}
#houseFamilyGallery .house-dialog-head>*{pointer-events:auto}
#houseFamilyGallery .house-dialog-head h2{font-size:clamp(1.55rem,2.7vw,2.5rem)}
#houseFamilyGallery .house-gallery-body{display:block;position:relative;min-height:100%;height:100%;overflow:hidden;background:#030202}
#houseFamilyGallery .house-gallery-bg{inset:-8%;filter:blur(52px) brightness(.15) saturate(.82);opacity:.88}
#houseFamilyGallery .house-gallery-stage{position:absolute;inset:0;display:grid;place-items:center;padding:5.6rem clamp(3.3rem,6vw,7rem) 10.6rem}
#houseFamilyGallery .house-gallery-stage img{max-width:100%;max-height:100%;object-fit:contain;filter:drop-shadow(0 28px 70px #000)}
#houseFamilyGallery .house-gallery-arrow{position:fixed;top:50%;z-index:12;width:50px;height:82px;background:rgba(12,6,4,.78);backdrop-filter:blur(8px)}
#houseFamilyGallery .house-gallery-prev{left:1rem}#houseFamilyGallery .house-gallery-next{right:1rem}
#houseFamilyGallery .house-gallery-caption{position:absolute;z-index:11;left:50%;bottom:4.45rem;transform:translateX(-50%);width:min(980px,88vw);margin:0;padding:.75rem 1.1rem;background:linear-gradient(180deg,rgba(8,4,3,.18),rgba(8,4,3,.92));border:1px solid rgba(236,202,126,.18)}
#houseFamilyGallery .house-gallery-caption h3{font-size:clamp(1.4rem,2.8vw,2rem)}
#houseFamilyGallery .house-gallery-thumbs{position:absolute;z-index:12;left:50%;bottom:.45rem;transform:translateX(-50%);max-width:88vw;margin:0;padding:.35rem .45rem;background:rgba(6,3,2,.58);border:1px solid rgba(236,202,126,.12);backdrop-filter:blur(8px)}
#houseFamilyGallery .house-gallery-thumb{width:86px;height:58px}

/* Restored V87-derived full family tree. */
#houseFamilyTree{padding:0;background:rgba(2,1,1,.985);backdrop-filter:none}
#houseFamilyTree .house-tree-dialog{width:100vw;height:100dvh;max-width:none;max-height:none;border:0;border-radius:0;background:#070403;box-shadow:none}
#houseFamilyTree .house-dialog-head{position:sticky;top:0;z-index:20}
#houseFamilyTree .house-tree-body{padding:0;overflow:auto;background:#070403}
.carmichael-tree-stage{position:relative;overflow:hidden;background:#090503;box-shadow:inset 0 0 120px rgba(0,0,0,.46);transition:border-color .7s ease,box-shadow .7s ease}
.tree-public-panel{position:relative;min-height:max(760px,calc(100dvh - 86px));overflow:hidden;background:radial-gradient(circle at 50% 51%,rgba(119,71,29,.26),transparent 25rem),linear-gradient(150deg,#1a0d08,#080403 72%)}
.tree-public-panel::before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 20%,rgba(232,198,125,.045) 49%,transparent 72%);pointer-events:none}
.tree-layer-label{position:absolute;z-index:6;left:50%;top:2.2%;transform:translateX(-50%);width:min(520px,82%);padding:.64rem .9rem;text-align:center;border:1px solid rgba(224,184,105,.26);background:rgba(10,5,3,.72);backdrop-filter:blur(8px);color:var(--house-gold-bright)}
.tree-layer-label small,.tree-root-heading small{display:block;text-transform:uppercase;letter-spacing:.17em;font-size:.49rem;font-weight:950}.tree-layer-label strong{display:block;font-family:Georgia,serif;font-size:1.05rem;margin-top:.24rem;color:var(--house-cream)}
.tree-connection-lines{position:absolute;z-index:2;inset:5% 3%;width:94%;height:90%;overflow:visible}.tree-connection-lines path{stroke-width:3;opacity:.62;stroke-dasharray:1;stroke-dashoffset:1;filter:drop-shadow(0 0 5px rgba(226,184,102,.34))}.carmichael-tree-stage.visible .tree-connection-lines path{animation:v90TreeConnect 1.2s cubic-bezier(.2,.75,.2,1) forwards}.carmichael-tree-stage.visible .tree-connection-lines path:nth-child(2){animation-delay:.12s}.carmichael-tree-stage.visible .tree-connection-lines path:nth-child(3){animation-delay:.24s}.carmichael-tree-stage.visible .tree-connection-lines path:nth-child(4){animation-delay:.36s}
@keyframes v90TreeConnect{to{stroke-dashoffset:0}}
.tree-crest-stage{position:absolute;z-index:4;left:50%;top:52%;width:min(360px,31vw);aspect-ratio:1;transform:translate(-50%,-50%);filter:drop-shadow(0 28px 48px rgba(0,0,0,.72))}
.tree-crest-image-wrap{position:relative;width:100%;height:100%;overflow:hidden;border:1px solid rgba(229,193,116,.42);box-shadow:0 0 0 8px rgba(57,31,15,.72),0 0 0 9px rgba(229,193,116,.22);background:#21150c}
.tree-crest-image{display:block;width:100%;height:100%;object-fit:cover}.tree-crest-glint{position:absolute;inset:-15%;background:linear-gradient(112deg,transparent 34%,rgba(255,240,184,.08) 43%,rgba(255,238,171,.58) 50%,rgba(255,244,207,.10) 57%,transparent 66%);mix-blend-mode:screen;transform:translateX(-140%);animation:v90CrestGlint 7s 1.2s ease-in-out infinite;pointer-events:none}.tree-crest-flame{position:absolute;left:50%;top:67%;width:26%;height:28%;transform:translate(-50%,-50%);background:radial-gradient(ellipse,rgba(255,188,92,.48),rgba(196,41,37,.24) 38%,transparent 70%);mix-blend-mode:screen;filter:blur(3px);animation:v90CrestFlame 2.8s ease-in-out infinite;pointer-events:none}
@keyframes v90CrestGlint{0%,55%{transform:translateX(-140%)}75%,100%{transform:translateX(140%)}}@keyframes v90CrestFlame{50%{opacity:.55;transform:translate(-50%,-50%) scale(.92)}}
.carmichael-tree-node{position:absolute;z-index:5;width:230px;padding:0;border:0;background:transparent;color:inherit;text-align:center;transform:translate(-50%,-50%);transition:transform .42s ease,filter .42s ease}.tree-node-isaac{left:18%;top:29%}.tree-node-melanie{left:82%;top:29%}.tree-node-gabrielle{left:18%;top:75%}.tree-node-chase{left:82%;top:75%}.carmichael-tree-node:hover,.carmichael-tree-node:focus-visible{transform:translate(-50%,-53%);filter:brightness(1.12)}
.tree-portrait-shell{position:relative;display:block;width:148px;height:184px;margin:0 auto;padding:7px;background:linear-gradient(145deg,#3c210f,#d0a457 38%,#5a3316 70%,#e1bf73);clip-path:polygon(50% 0,89% 10%,100% 37%,96% 100%,4% 100%,0 37%,11% 10%);filter:drop-shadow(0 22px 28px rgba(0,0,0,.68))}.tree-portrait-shell::before,.tree-portrait-shell::after{content:"";position:absolute;z-index:2;top:23%;width:18px;height:55%;border:2px solid rgba(229,193,116,.58);border-top:0;border-bottom:0}.tree-portrait-shell::before{left:-8px;border-radius:70% 0 0 70%}.tree-portrait-shell::after{right:-8px;border-radius:0 70% 70% 0}
.tree-portrait{display:block;width:100%;height:100%;overflow:hidden;background:#130905;clip-path:polygon(50% 0,88% 11%,100% 38%,96% 100%,4% 100%,0 38%,12% 11%);position:relative}.tree-portrait::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 28px rgba(0,0,0,.54);pointer-events:none}.tree-portrait img{width:100%;height:100%;object-fit:cover}.tree-node-isaac .tree-portrait img{object-position:center 38%}
.tree-node-plaque{position:relative;display:block;width:220px;margin:-.35rem auto 0;padding:.68rem .72rem .58rem;border:1px solid rgba(224,184,105,.34);background:linear-gradient(180deg,rgba(49,27,13,.96),rgba(13,7,4,.96));box-shadow:0 16px 34px rgba(0,0,0,.48)}.tree-node-plaque::before,.tree-node-plaque::after{content:"";position:absolute;top:50%;width:20px;border-top:1px solid rgba(224,184,105,.34)}.tree-node-plaque::before{right:100%}.tree-node-plaque::after{left:100%}.tree-node-plaque small{display:block;color:var(--house-gold-bright);text-transform:uppercase;letter-spacing:.115em;font-size:.48rem;font-weight:950}.tree-node-plaque strong{display:block;font-family:Georgia,serif;font-size:1.18rem;margin:.27rem 0 0;color:var(--house-cream)}
.tree-root-reveal{position:relative;max-height:0;padding:0 6%;overflow:hidden;opacity:0;visibility:hidden;background:radial-gradient(circle at 50% 0,rgba(147,27,34,.24),transparent 25rem),linear-gradient(180deg,#100405,#080303);transition:max-height .95s cubic-bezier(.2,.75,.2,1),padding .75s ease,opacity .5s ease,visibility 0s .95s}.tree-root-reveal::before{content:"";position:absolute;left:0;right:0;top:0;border-top:1px solid rgba(220,89,80,.22)}.carmichael-tree-stage.secrets-visible .tree-root-reveal{max-height:900px;padding:3.4rem 6% 2.6rem;opacity:1;visibility:visible;transition:max-height 1.05s cubic-bezier(.2,.75,.2,1),padding .75s ease,opacity .65s .2s ease,visibility 0s}
.tree-root-art{position:absolute;inset:0;width:100%;height:100%;opacity:.52;pointer-events:none}.tree-root-art path{stroke-width:5;stroke-dasharray:1;stroke-dashoffset:1}.carmichael-tree-stage.secrets-visible.visible .tree-root-art path{animation:v90TreeConnect 1.5s .15s cubic-bezier(.2,.75,.2,1) forwards}
.tree-root-heading{position:relative;z-index:2;text-align:center;max-width:760px;margin:0 auto 2rem}.tree-root-heading small{color:#e99891}.tree-root-heading h3{font-family:Georgia,serif;color:#ffe0d5;font-size:clamp(2rem,4vw,3.4rem);margin:.45rem 0 .7rem}.tree-root-heading p{color:#b99492;line-height:1.7;margin:0 auto;max-width:650px}.tree-root-grid{position:relative;z-index:2;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.tree-root-card{position:relative;min-height:220px;padding:1.55rem 1.35rem;border:1px solid rgba(216,83,76,.28);background:linear-gradient(145deg,rgba(69,13,18,.78),rgba(12,5,6,.9));box-shadow:0 22px 52px rgba(0,0,0,.38)}.tree-root-card span{display:inline-grid;place-items:center;width:34px;height:34px;border:1px solid rgba(237,139,126,.36);border-radius:50%;color:#efaba1;font-size:.55rem;font-weight:950}.tree-root-card h4{font-family:Georgia,serif;color:#ffd9cd;font-size:1.3rem;margin:1rem 0 .55rem}.tree-root-card p{color:#b99592;line-height:1.6;font-size:.78rem;margin:0}.tree-warning{position:relative;z-index:2;margin:1.25rem auto 0;padding:.72rem .85rem;max-width:850px;border:1px solid rgba(255,174,174,.24);background:rgba(58,10,14,.62);color:#e4a6a2;text-align:center;font-size:.55rem;line-height:1.5;text-transform:uppercase;letter-spacing:.08em;white-space:normal;overflow-wrap:anywhere}
.carmichael-tree-stage.secrets-visible .tree-crest-glint{background:linear-gradient(112deg,transparent 34%,rgba(255,143,106,.05) 43%,rgba(255,105,73,.45) 50%,rgba(255,174,123,.08) 57%,transparent 66%)}.carmichael-tree-stage.secrets-visible .tree-crest-flame{opacity:1;filter:blur(1px);box-shadow:0 0 32px rgba(222,64,48,.34)}.carmichael-tree-stage.secrets-visible{box-shadow:inset 0 0 120px rgba(88,10,16,.18)}

@media(max-width:950px){.tree-public-panel{min-height:860px}.tree-crest-stage{width:280px}.tree-node-isaac{left:18%;top:27%}.tree-node-melanie{left:82%;top:27%}.tree-node-gabrielle{left:18%;top:77%}.tree-node-chase{left:82%;top:77%}.tree-root-grid{grid-template-columns:1fr}.carmichael-tree-stage.secrets-visible .tree-root-reveal{max-height:1300px}}
@media(max-width:700px){.house-control-rail{left:.45rem;top:.35rem;gap:.35rem}.house-rail-nav{min-width:6.7rem;height:2rem;padding:0 .55rem;font-size:.51rem}.house-player-slot{width:min(54vw,300px)}#houseFamilyGallery .house-gallery-stage{padding:4.8rem 2.8rem 11.4rem}#houseFamilyGallery .house-gallery-arrow{width:40px;height:66px}#houseFamilyGallery .house-gallery-prev{left:.3rem}#houseFamilyGallery .house-gallery-next{right:.3rem}.tree-public-panel{min-height:930px}.tree-crest-stage{top:51%;width:190px}.carmichael-tree-node{width:145px}.tree-node-isaac{left:24%;top:23%}.tree-node-melanie{left:76%;top:23%}.tree-node-gabrielle{left:24%;top:79%}.tree-node-chase{left:76%;top:79%}.tree-connection-lines{inset:8% -8%;width:116%;height:84%}.tree-portrait-shell{width:96px;height:122px;padding:5px}.tree-node-plaque{width:142px;padding:.55rem .35rem}.tree-node-plaque small{font-size:.4rem}.tree-node-plaque strong{font-size:.84rem}.carmichael-tree-stage.secrets-visible .tree-root-reveal{max-height:1500px;padding:2.7rem 1rem 2rem}}
@media(prefers-reduced-motion:reduce){.house-candle-flame,.house-crystal-spark,.house-lantern-flicker,.house-dust-v90,.house-steam-v90,.house-ambient,.tree-connection-lines path,.tree-crest-glint,.tree-crest-flame,.tree-root-art path{animation:none!important}.tree-connection-lines path,.tree-root-art path{stroke-dashoffset:0!important}}

/* V90 final gallery sizing: true full-screen viewer with the selected portrait contained inside the live viewport. */
#houseFamilyGallery .house-dialog{
  display:flex;
  flex-direction:column;
  width:100vw;
  height:100dvh;
  min-width:0;
  min-height:0;
}
#houseFamilyGallery .house-dialog-head{
  position:relative;
  flex:0 0 auto;
  min-height:76px;
}
#houseFamilyGallery .house-gallery-body{
  position:relative;
  flex:1 1 auto;
  width:100%;
  height:auto;
  min-height:0;
  overflow:hidden;
}
#houseFamilyGallery .house-gallery-stage{
  position:absolute;
  inset:0;
  box-sizing:border-box;
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:0;
  min-height:0;
  padding:1rem clamp(4.25rem,6vw,7rem) 10.35rem;
  overflow:hidden;
}
#houseFamilyGallery .house-gallery-stage img{
  display:block;
  width:auto;
  height:auto;
  max-width:100%;
  max-height:100%;
  min-width:0;
  min-height:0;
  object-fit:contain;
}
#houseFamilyGallery .house-gallery-caption{bottom:4.35rem}
#houseFamilyGallery .house-gallery-thumbs{bottom:.4rem}

/* The user rejected traveling light bars throughout the site. The restored tree keeps its root and flame motion without a lateral sweep. */
.tree-crest-glint{display:none!important}


/* V91: House controls move to the upper-right to leave the large Family Tree crest unobstructed. */
.house-control-rail{
  left:auto!important;
  right:max(.75rem,env(safe-area-inset-right));
  justify-content:flex-end;
}

/* V91: the family motto is the visual header; the OOC control sits directly beneath it. */
.tree-layer-label{
  top:1.35%;
  width:min(760px,86%);
  padding:.15rem 1rem 0;
  border:0;
  background:transparent;
  backdrop-filter:none;
  color:var(--house-gold-bright);
  filter:drop-shadow(0 .4rem .8rem rgba(0,0,0,.78));
}
.tree-layer-label small{
  font-size:.52rem;
  letter-spacing:.22em;
  color:#c79c4d;
}
.tree-layer-label strong{
  position:relative;
  display:block;
  margin:.18rem 0 0;
  font-family:"Palace Script MT","Edwardian Script ITC","Bickham Script Pro","Snell Roundhand","Segoe Script","Lucida Calligraphy","Palatino Linotype",Georgia,serif;
  font-size:clamp(2.2rem,4.1vw,4.25rem);
  line-height:1;
  font-weight:600;
  font-style:italic;
  letter-spacing:.015em;
  color:#f2d99a;
  text-shadow:0 1px 0 #5d3614,0 0 .7rem rgba(226,181,90,.26),0 .45rem 1rem rgba(0,0,0,.78);
}
.tree-motto-flourish{
  display:block;
  width:min(420px,72%);
  height:1px;
  margin:.52rem auto .42rem;
  background:linear-gradient(90deg,transparent,#8a642c 16%,#e2bd70 50%,#8a642c 84%,transparent);
  box-shadow:0 0 .4rem rgba(225,185,104,.25);
}
.tree-layer-label .house-secret-toggle{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:10.8rem;
  margin:.05rem auto 0;
  padding:.58rem .92rem;
  border-color:rgba(225,187,105,.44);
  background:linear-gradient(180deg,rgba(49,24,11,.9),rgba(14,7,4,.94));
  box-shadow:0 .5rem 1.2rem rgba(0,0,0,.48),inset 0 0 1rem rgba(226,181,90,.05);
}
.tree-layer-label .house-secret-toggle[aria-pressed="true"]{
  border-color:rgba(221,89,84,.66);
  background:linear-gradient(180deg,rgba(91,20,25,.92),rgba(35,8,12,.96));
  box-shadow:0 .5rem 1.2rem rgba(0,0,0,.52),0 0 1rem rgba(183,43,45,.12);
}

/* The rejected center-fire pulse/blob is absent from the signed Living Area. */
.living-fire-center{display:none!important}

/* V91 uses a large left-wall crest for Family Tree; its response can be prominent without touching the center flowers. */
.house-room-panel[data-house-room="living"][data-active="crest"] .glow-living-crest{
  filter:brightness(1.40) saturate(1.30) contrast(1.06) drop-shadow(0 0 .48cqw rgba(224,183,84,.30));
}
/* The retraced Back Lawn mask is already tight, so the CSS halo remains restrained. */
.house-room-panel[data-house-room="living"][data-active="garden"] .glow-living-garden{
  filter:brightness(1.34) saturate(1.20) contrast(1.035) drop-shadow(0 0 .30cqw rgba(149,224,177,.16));
}

@media(max-width:700px){
  .house-control-rail{left:auto!important;right:.45rem!important;top:.35rem;gap:.35rem}
  .tree-layer-label strong{font-size:clamp(1.8rem,8vw,2.8rem)}
  .tree-layer-label .house-secret-toggle{min-width:9.7rem;padding:.48rem .68rem;font-size:.49rem}
}


/* ================================================================
   V92 FINAL OVERRIDES
   The approved Chase bedroom hub establishes the visual contract:
   actual object and baked sign pixels brighten together, feathered by
   a soft local bloom. Click geometry remains independent and invisible.
   ================================================================ */
.house-control-rail{
  align-items:center!important;
}
.house-rail-nav{
  align-self:center!important;
}

/* V95 glows are stronger, destination-themed, softly feathered copies of the signed master.
   Their placement is corrected without traced architecture, hard plaque boxes, or visible mask silhouettes. */
.house-object-glow{
  opacity:0;
  filter:none!important;
  mix-blend-mode:normal;
  transition:opacity .30s cubic-bezier(.2,.72,.2,1)!important;
}
.house-room-panel[data-house-room="living"][data-active="stair-chase"] .glow-living-stair-chase,
.house-room-panel[data-house-room="living"][data-active="stair-gabrielle"] .glow-living-stair-gabrielle,
.house-room-panel[data-house-room="living"][data-active="portraits"] .glow-living-portraits,
.house-room-panel[data-house-room="living"][data-active="crest"] .glow-living-crest,
.house-room-panel[data-house-room="living"][data-active="ballroom"] .glow-living-ballroom,
.house-room-panel[data-house-room="living"][data-active="garden"] .glow-living-garden,
.house-room-panel[data-house-room="living"][data-active="library"] .glow-living-library{
  opacity:1!important;
  filter:none!important;
}

/* Remove any legacy rectangular/border-like focus treatment. Keyboard
   focus uses the same object-local image glow as pointer hover. */
.house-hotspot:focus,
.house-hotspot:focus-visible,
.house-hotspot path:focus{outline:none!important}
body:not(.house-debug) .house-hotspot path{stroke:none!important;fill:rgba(255,255,255,.001)!important}

/* Exact bedroom-style outward extensions: the sharp room never fades.
   The inner extension row is fully opaque and matches the scene edge;
   transparency only decreases as the image travels outward. */
.house-room-panel::before,.house-room-panel::after{
  height:14.0625cqw!important;
  opacity:1!important;
  filter:none!important;
}

@media(max-width:700px){
  .house-control-rail{align-items:center!important}
}
