:root{--cream:#f7f0e3;--paper:#fffbf2;--green:#25452d;--ink:#263323;--gold:#ac8751;--line:#d6c6aa;color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:Georgia,'Times New Roman',serif;padding-bottom:108px}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #c49b41;outline-offset:4px}button{border:1px solid var(--line);border-radius:100px;background:transparent;color:inherit;padding:10px 17px}a{color:inherit}.topbar{display:flex;align-items:center;justify-content:space-between;padding:16px 4%;border-bottom:1px solid var(--line);gap:18px}.wordmark{text-decoration:none;font:600 11px/1.4 Arial,sans-serif;letter-spacing:3px}.wordmark span{display:block;font:italic 22px/1.5 Georgia;letter-spacing:0}.top-actions{display:flex;gap:9px;align-items:center;font:12px Arial,sans-serif}.top-actions button{padding:9px 13px}.preview-label{font-size:10px;letter-spacing:1.2px;text-transform:uppercase;color:#6e715e;padding-right:8px}.room-nav{display:flex;justify-content:center;gap:4px;padding:11px 3%;overflow-x:auto;scrollbar-width:thin;white-space:nowrap}.room-nav a{text-decoration:none;padding:10px 17px;border-radius:50px;font-size:15px;transition:background .2s}.room-nav a[aria-current=page]{background:var(--green);color:white}.room-nav a:hover{background:#e4dbc8}.room-nav a[aria-current=page]:hover{background:#355b3d}.scene{position:relative;width:100%;max-width:1800px;margin:0 auto;aspect-ratio:1586/992;isolation:isolate;overflow:hidden;background:#544029}.scene-image{position:absolute;inset:0;background-size:100% 100%;background-repeat:no-repeat}.scene.triptych{aspect-ratio:1024/536}.scene.triptych .scene-image{background-size:100% auto}.atmosphere{position:absolute;inset:0;overflow:hidden;pointer-events:none}.hotspot{position:absolute;display:block;background:transparent;border:1px solid transparent;border-radius:20px;padding:0;color:transparent;transition:background .2s,box-shadow .2s}.hotspot:hover{background:#fff6d611;box-shadow:inset 0 0 0 2px #fff2bd99,0 0 20px #fff3ce22}.hotspot:focus-visible{background:#fffcde22;outline:4px solid #fff1b3;outline-offset:0}.scene-sound{position:absolute;right:1.6%;top:1.2%;border:none;background:#3b291fef;color:#fff8e9;font-size:clamp(12px,1.4vw,22px);padding:8px 17px;min-width:10.5%;box-shadow:0 2px 22px #3b291f66}.scene.triptych .scene-sound{top:2%;right:2%}.room-content{max-width:1160px;margin:0 auto;padding:52px 32px 58px}.eyebrow{font:11px Arial,sans-serif;letter-spacing:2.5px;text-transform:uppercase;color:#806843;margin:0 0 15px}.room-content h1{font-size:clamp(30px,4vw,48px);font-weight:400;line-height:1.1;margin:0 0 18px}.room-content h2{font-size:25px;font-weight:400;margin:28px 0 16px}.room-content p{font-size:18px;line-height:1.65;max-width:730px;margin:12px 0}.room-content .intro{font-size:21px;color:#4c5947}.content-head{display:grid;grid-template-columns:1fr 310px;gap:40px;align-items:start}.quiet-note{padding:22px 24px;border-left:1px solid var(--gold);font-size:15px;line-height:1.6;color:#646651}.quiet-note strong{display:block;font-weight:400;font-style:italic;color:#304531;font-size:20px;margin-bottom:9px}.action-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.primary{background:var(--green);color:#fffdf5;border-color:var(--green)}.primary:hover{background:#365b3c}.secondary:hover{background:#e7ddcb}.collection{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:30px;border-top:1px solid var(--line)}.collection button{text-align:left;border-radius:0;border:none;border-bottom:1px solid var(--line);padding:22px 16px 22px 0;font-size:20px}.collection button:hover{color:#92703c}.collection small{display:block;font:11px Arial,sans-serif;letter-spacing:.5px;color:#777563;margin-top:8px}.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:30px}.detail-grid article{border-top:1px solid var(--gold);padding-top:20px}.detail-grid h2{margin:0 0 12px}.detail-grid p{font-size:16px}.remembered{padding:18px 0;border-top:1px solid var(--line)}.remembered h3{font-weight:400;font-size:22px;margin:0 0 8px}.remembered p{white-space:pre-wrap}.remembered small{font-family:Arial,sans-serif;color:#72715f}.mobile-actions{display:none}.footer{border-top:1px solid var(--line);padding:27px 5%;text-align:center;color:#6c6c58}.footer p{font-size:13px;margin:7px}.footer p:first-child{font-size:18px;font-style:italic}.footer button{border:0;text-decoration:underline;font-size:12px}.music-bar{position:fixed;bottom:0;left:0;right:0;z-index:20;display:flex;align-items:center;justify-content:center;gap:22px;padding:15px 30px;background:#f7f0e3f7;border-top:1px solid #cabb9f;box-shadow:0 -4px 35px #48311716;backdrop-filter:blur(20px)}.play{width:45px;height:45px;flex-shrink:0;border-radius:50%;padding:0;background:var(--green);color:white;font:18px Arial}.track-wrap{display:flex;flex-direction:column;gap:3px;min-width:155px}.track-wrap label{font:10px Arial,sans-serif;letter-spacing:1.3px;text-transform:uppercase;color:#7e735c}.track-wrap select{border:0;background:transparent;color:var(--ink);font-size:17px;padding:2px 20px 2px 0;max-width:210px}.volume{display:flex;align-items:center;gap:10px;font-size:13px}.volume input{width:100px;accent-color:var(--green)}.music-bar>button:not(.play){font-size:13px;padding:10px 13px}.equalizer{height:20px;display:flex;align-items:center;gap:3px;width:24px}.equalizer i{display:block;width:3px;background:#92753e;height:3px;border-radius:4px}.playing .equalizer i{animation:equalizer 1s ease-in-out infinite alternate}.equalizer i:nth-child(2){animation-delay:-.5s}.equalizer i:nth-child(3){animation-delay:-.8s}.equalizer i:nth-child(4){animation-delay:-.3s}dialog{border:1px solid var(--gold);border-radius:16px;background:var(--paper);color:var(--ink);padding:40px;width:min(620px,calc(100% - 32px));max-height:85dvh;box-shadow:0 25px 100px #24140555}dialog::backdrop{background:#251a12a8;backdrop-filter:blur(5px)}.modal-close{position:absolute;right:12px;top:10px;border:0;font:28px Arial;padding:6px 12px}.modal-kicker{font:11px Arial;letter-spacing:2px;text-transform:uppercase;color:#8e754f;margin-bottom:13px}dialog h2{font-size:34px;font-weight:400;margin:10px 0 18px;line-height:1.15}dialog p{font-size:17px;line-height:1.65}dialog label{display:block;margin:17px 0 7px;font-size:15px}dialog input[type=text],dialog textarea{display:block;width:100%;padding:11px 13px;border:1px solid var(--line);border-radius:7px;background:white;color:var(--ink);font-size:16px}dialog textarea{min-height:150px;resize:vertical}dialog .form-note{font:12px/1.6 Arial;color:#726f5e}dialog .button-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.portrait-preview{width:100%;border-radius:6px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:fixed;left:20px;top:-100px;z-index:100;background:white;padding:12px}.skip:focus{top:10px}#toast{position:fixed;bottom:110px;left:50%;transform:translateX(-50%);z-index:50;background:#243e2c;color:white;border-radius:12px;max-width:90vw;padding:15px 22px;font:14px/1.4 Arial;opacity:0;pointer-events:none;transition:opacity .2s}#toast.show{opacity:1}.motion-off @keyframes equalizer{to{height:18px}}@media(min-width:1600px){.scene{max-width:1586px}.topbar{padding-left:max(4%,calc((100vw - 1500px)/2));padding-right:max(4%,calc((100vw - 1500px)/2))}}@media(max-width:850px){.room-nav{justify-content:flex-start}.room-nav a{padding:10px 13px}.content-head{grid-template-columns:1fr;gap:20px}.quiet-note{max-width:600px}.music-bar{gap:12px;padding:12px 15px}.volume input{width:70px}.detail-grid{grid-template-columns:1fr}.collection{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){body{padding-bottom:115px}.topbar{padding:12px 18px}.wordmark{font-size:9px}.wordmark span{font-size:19px}.top-actions{gap:5px}.top-actions button{font-size:10px;padding:7px 9px}.preview-label{display:none}#about-button{display:none}.room-nav{padding:8px 12px}.room-nav a{font-size:13px;padding:9px 12px}.scene{aspect-ratio:1586/992}.scene-sound{display:none}.hotspot{border-radius:7px}.mobile-actions{display:flex;gap:8px;overflow-x:auto;padding:16px 18px 0}.mobile-actions button{white-space:nowrap;font-size:13px;min-height:42px}.room-content{padding:32px 22px 38px}.room-content p{font-size:17px}.room-content .intro{font-size:19px}.room-content h1{font-size:34px}.quiet-note{padding:16px 20px}.collection button{font-size:18px}.music-bar{flex-wrap:wrap;gap:9px 13px;justify-content:flex-start;padding:10px 16px;min-height:94px}.track-wrap{min-width:120px;flex:1}.track-wrap select{font-size:16px}.equalizer{display:none}.volume{font-size:0;gap:0}.volume input{width:67px}.music-bar #music-repeat{font-size:18px;padding:8px 11px}.music-bar #music-repeat span{display:none}.play{width:39px;height:39px}.footer{padding:24px 20px}dialog{padding:32px 25px}dialog h2{font-size:29px}#toast{bottom:125px}.hotspot:focus-visible{outline-width:2px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.equalizer i{animation:none!important}}

.scene.triptych .scene-sound{min-width:13.5%}.scene-player{position:absolute;z-index:2;left:4.3%;top:42%;width:30.6%;height:35%;border-radius:22px;border:2px solid #fff9ec;background:#f6e8cddd;color:#263b27;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8%;box-shadow:0 0 0 1px #b19358 inset;font-size:clamp(12px,2vw,28px);backdrop-filter:blur(5px)}.scene-player em{font-size:1em}.scene-track-name{font-size:.65em}.scene-player button{background:#25452d;color:#fff9ed;font-size:.6em;padding:4% 9%;border:none}.scene-player .scene-track-name{line-height:1.3}@media(max-width:600px){.scene-player{border-radius:9px;gap:6%;font-size:12px}.scene-player button{font-size:9px}.scene-track-name{font-size:9px}}

.motion-off .scene-player{background:#f6e8cd}.scene-sound{background:#3b291f}



.video-status{font:11px Arial,sans-serif;color:#6e715e;border-left:1px solid var(--line);padding-left:12px}.atmosphere{display:none}@media(max-width:600px){.video-status{font-size:9px;max-width:85px;line-height:1.4}}

/* The approved artwork contains baked-in labels. These accessible page-level
   corrections cover only those name labels, never a face or the room design. */
.scene{container-type:inline-size}#name-corrections{position:absolute;inset:0;pointer-events:none}.scene-name-title,.portrait-name-title{position:absolute;left:38.3%;top:1%;width:24.2%;height:5.25%;display:flex;align-items:center;justify-content:center;white-space:nowrap;color:#fffaf0;font:italic 2.85cqw Georgia,serif;line-height:1;background:rgba(63,43,28,.74);backdrop-filter:blur(13px);border-radius:3px}.scene.triptych .scene-name-title{left:34.2%;top:2.1%;width:33%;height:7.2%;font-size:3.15cqw;background:rgba(63,43,28,.82)}.scene-name-patch{position:absolute;display:flex;align-items:center;justify-content:center;white-space:nowrap;line-height:1;font:1.7cqw Georgia,serif}.scene-name-patch.cream{background:#f8f0df;color:#172d1b;border-radius:3px}.scene-name-patch.dark{background:#60432c;color:#fff9ee;font-size:1.9cqw}.scene-name-patch.green{background:#4c5e34;color:#fffbe9;font-size:1.85cqw;border-radius:8px}.scene-name-patch.story-name{font:italic 2.35cqw Georgia,serif;color:#fff7e5;background:rgba(70,49,27,.84);backdrop-filter:blur(12px);border-radius:3px}.scene.triptych .scene-name-patch{font-size:2.8cqw;background:#f7e9cb}.portrait-wrap{position:relative;container-type:inline-size}.portrait-name-title{top:1%;font-size:2.85cqw}.portrait-wrap img{display:block}
.scene-name-title,.scene.triptych .scene-name-title,.portrait-name-title,.scene-name-patch.story-name{background:transparent;backdrop-filter:none;isolation:isolate}.scene-name-patch.story-name::before{content:"";position:absolute;inset:-1px -4px;z-index:-1;background:rgba(63,43,28,.24);backdrop-filter:blur(15px);filter:blur(2px);border-radius:8px}
.scene-name-patch.story-name{justify-content:flex-start;padding-left:.3%;font-size:2.55cqw}

/* Adapted from StepInto’s existing Doodaloo footer, with Arlean’s rooms. */
.wordmark>img{display:block;width:142px;height:auto;max-width:100%;margin-bottom:3px}.wordmark{letter-spacing:0}.wordmark span{font-size:21px}
.footer{position:relative;isolation:isolate;overflow:hidden;border-top:4px solid var(--gold);padding:0;text-align:left;background:var(--cream);color:var(--ink)}
.footer::before{content:"";position:absolute;inset:0;z-index:-2;background:url('/__l5e/assets-v1/5828dc8c-eb88-4d7e-a10a-4abe820ec5b2/family.png') center 56%/cover no-repeat}
.footer::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(#f7f0e3a8,#f7f0e370,#f7f0e3a8)}
.footer-grid{max-width:1280px;margin:auto;display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:45px;padding:48px 32px}.footer-brand>img{width:240px;max-width:100%;height:auto;display:block;margin-bottom:20px}.footer p,.footer p:first-child{font-size:15px;line-height:1.6;font-style:normal;margin:8px 0}.footer .company{font:700 12px/1.6 Arial,sans-serif;letter-spacing:.8px;text-transform:uppercase}.footer .footer-title{font-size:25px;font-style:italic;margin-top:18px}.footer h2{font-size:22px;font-weight:400;margin:0 0 20px;color:var(--green)}.footer nav a{display:block;width:fit-content;margin:13px 0;text-decoration:none;font-size:15px}.footer a:hover{text-decoration:underline}.footer-contact>a:first-of-type{font-size:14px;text-underline-offset:4px;overflow-wrap:anywhere}.footer-contact-button{display:flex;align-items:center;justify-content:space-between;gap:30px;width:fit-content;text-decoration:none;border:1px solid var(--gold);padding:10px 18px;border-radius:100px;font-size:14px;margin:24px 0 12px}.footer .footer-note{font:12px/1.7 Arial,sans-serif;color:#646451;max-width:280px;margin-top:20px}.footer #privacy-button{padding:5px 0;font-size:13px;display:block}.footer-bottom{border-top:1px solid var(--line);padding:18px 32px;display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;background:#f7f0e370}.footer-bottom p,.footer-bottom p:first-child{font:11px/1.65 Arial,sans-serif;max-width:530px;margin:0}
.scene-brand{position:absolute;left:3.3%;top:1.1%;width:14%;height:5.5%;display:flex;align-items:center;padding:.4% .6%;background:#f7f0e3ed;border-radius:3px}.scene-brand img{width:100%;height:auto;display:block}.scene.triptych .scene-brand{left:3.3%;top:2%;width:15%;height:7.5%}
@media(max-width:850px){.footer-grid{grid-template-columns:1.3fr 1fr;gap:32px}.footer-brand{grid-row:span 2}.footer-contact{grid-column:2}.footer-grid{padding:36px 26px}}
@media(max-width:600px){.wordmark>img{width:107px}.wordmark span{font-size:18px}.footer-grid{display:block;padding:34px 24px}.footer-grid>section,.footer-grid>nav{margin-bottom:32px}.footer-brand>img{width:200px}.footer h2{font-size:21px;margin-bottom:16px}.footer-bottom{padding:18px 24px;gap:12px}.footer-grid>section:last-child{margin-bottom:0}}

/* Persistent conversation, independent of room rendering and the music player. */
[hidden]{display:none!important}.avatar-launcher{position:fixed;z-index:35;right:24px;bottom:102px;display:flex;align-items:center;gap:9px;background:var(--green);color:var(--paper);border:1px solid #b79761;box-shadow:0 5px 22px #1c2e2940;padding:14px 22px;font-size:17px}.avatar-launcher:hover{background:#355b3d}.avatar-launcher.avatar-open{bottom:auto;top:-100px;position:fixed}.avatar-panel{position:fixed;z-index:40;right:20px;bottom:100px;width:360px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 124px);overflow:auto;overscroll-behavior:contain;border:1px solid var(--gold);border-radius:18px;background:var(--paper);box-shadow:0 14px 65px #241c1755;padding:15px}.avatar-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.avatar-kicker{font:9px Arial,sans-serif;text-transform:uppercase;letter-spacing:1.4px;color:#7b6343;margin:0 0 5px}.avatar-header h2{font-size:24px;font-weight:400;margin:0}.avatar-header button{border:0;padding:0 7px;font:27px Arial,sans-serif;line-height:1.2}.avatar-help{font:12px/1.5 Arial,sans-serif;color:#515c4b;margin:12px 0}.avatar-note{font:10px/1.5 Arial,sans-serif;color:#696b5c;margin:10px 0 0}.avatar-load-status{font:13px/1.5 Arial,sans-serif;margin:8px 0}.avatar-load-status:empty{display:none}#avatar-widget-mount{width:100%;min-height:0}#avatar-widget-mount lemon-slice-widget{display:block;width:100%;max-width:100%}.avatar-panel:focus-within{outline-offset:3px}@media(max-width:600px){.avatar-launcher{right:14px;bottom:114px;font-size:15px;padding:12px 18px}.avatar-panel{right:12px;bottom:110px;width:344px;max-height:calc(100dvh - 126px);padding:12px}.avatar-header h2{font-size:23px}.avatar-help{margin:9px 0}}

#avatar-widget-mount{display:flex;justify-content:center}#avatar-widget-mount>lemon-slice-widget{width:auto;max-width:100%}.avatar-header{position:sticky;top:-15px;z-index:2;background:var(--paper);padding:4px 0 8px;margin-top:-4px}@media(max-width:600px){.avatar-header{top:-12px}}

/* Tour player is hidden until complete, reviewed media is enabled. */
body.tour-open{overflow:hidden}
.tour-dialog{width:min(1320px,96vw);max-width:96vw;max-height:95dvh;padding:0;border:1px solid #bda984;border-radius:16px;background:#fbf5e8;color:#2c241a;overflow:auto;box-shadow:0 25px 85px #0008}
.tour-dialog::backdrop{background:rgba(17,15,10,.86)}
.tour-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 22px}
.tour-header h2{font-size:clamp(1.2rem,3vw,1.75rem);line-height:1.2;margin:0}
.tour-kicker{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;margin:0 0 3px;color:#705b3d}
.tour-close{font-size:1.8rem;line-height:1;width:44px;height:44px;flex-shrink:0;border:1px solid #bba57f;border-radius:50%;background:transparent;color:inherit;cursor:pointer}
#tour-video{display:block;width:100%;max-height:72dvh;aspect-ratio:8/5;object-fit:contain;background:#15120e}
.tour-details{padding:10px 22px 16px;font-size:.85rem;color:#64533c}
.tour-details p{margin:4px 0}
#tour-status:empty{display:none}
#tour-retry{margin-top:8px;padding:8px 14px;border:1px solid #bba57f;border-radius:8px;background:#fbf5e8;color:#25452d;cursor:pointer}
@media(max-width:600px){.tour-dialog{width:100vw;max-width:100vw;max-height:100dvh;border-radius:0}.tour-header{padding:12px 14px}.tour-details{padding:10px 14px}.tour-kicker{font-size:.65rem}#tour-video{max-height:65dvh}}

/* Lovable migration additions — reuse approved tokens only. */
.recipe-search{display:block;width:100%;max-width:460px;margin-top:26px;padding:11px 16px;border:1px solid var(--line);border-radius:100px;background:var(--paper);color:var(--ink);font-size:16px}
.button-link{display:inline-block;text-decoration:none;border:1px solid var(--green);border-radius:100px;padding:10px 17px}
.recipe-video,.recipe-steps video{width:100%;border-radius:6px;margin:8px 0}
.recipe-facts{display:flex;flex-wrap:wrap;gap:8px 20px;font-size:15px}.recipe-facts strong{font-weight:400;font-style:italic;color:#304531}
.recipe-checklist{list-style:none;padding:0}.recipe-checklist li{padding:6px 0;border-bottom:1px solid var(--line)}.recipe-checklist label{margin:0;display:flex;gap:10px;align-items:center}
.recipe-steps li{margin:0 0 14px}.recipe-steps p{margin:4px 0}
dialog h3{font-weight:400;font-size:22px;margin:22px 0 10px}
.account-page{max-width:900px}.account-page section{border-top:1px solid var(--gold);padding:20px 0;margin-top:22px}
.account-page input[type=text],.account-page input[type=email],.account-page input[type=password],.account-page textarea,.account-page select{display:block;width:100%;max-width:520px;padding:11px 13px;border:1px solid var(--line);border-radius:7px;background:white;color:var(--ink);font-size:16px;margin:6px 0 14px}
.account-page textarea{min-height:110px}.account-page label{display:block;font-size:15px}
.account-page .row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.account-page .item{padding:12px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.account-page .status{font:13px Arial,sans-serif;color:#806843}
.account-page .home-screen-note{font-family:Georgia,'Times New Roman',serif}
.invite-thumbnails{display:grid;grid-template-columns:minmax(0,2fr) minmax(130px,1fr);gap:20px;align-items:start;margin:0 0 22px}.invite-thumbnails figure{margin:0}.invite-thumbnails h3{margin:0 0 10px;font:500 20px Georgia,'Times New Roman',serif;color:var(--green)}.invite-thumbnails img{display:block;width:100%;height:auto;border:1px solid var(--line);border-radius:10px;background:var(--paper)}.invite-thumbnails .invite-home-icon{max-width:180px;aspect-ratio:1;object-fit:cover}@media(max-width:600px){.invite-thumbnails{gap:12px}.invite-thumbnails h3{font-size:16px}}
@media print{.topbar,.room-nav,.scene,.mobile-actions,.room-content,.footer,.music-bar,.avatar-launcher,.avatar-panel,.modal-close,dialog .button-row{display:none!important}body{padding:0}dialog{position:static;box-shadow:none;border:0;max-height:none;width:100%}}
#account-link{text-decoration:none}#account-link:hover{text-decoration:underline}@media(max-width:600px){#account-link{display:inline;font-size:10px}}
/* Covers obsolete baked-in concept captions only; never faces or furniture. */
.concept-mask{position:absolute;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);background:rgba(58,38,24,.4);border-radius:40%;-webkit-mask-image:radial-gradient(ellipse at center,#000 55%,transparent 100%);mask-image:radial-gradient(ellipse at center,#000 55%,transparent 100%)}

/* Living Recipe Book: approved colors and typography, added only to the cookbook. */
.book-display{display:grid;grid-template-columns:minmax(180px,300px) 1fr;gap:44px;align-items:center;margin:32px 0 42px}.book-cover{display:block;width:100%;aspect-ratio:3/4;object-fit:contain;border:1px solid var(--gold)}.book-display h2{margin-top:0}.form-note{font:13px/1.6 Arial,sans-serif}.scene-name-patch.book-label{background:var(--cream);color:var(--green);white-space:normal;text-align:center;font-size:1.25cqw;padding:1%;line-height:1.2}
.living-dishes{gap:26px;border:0}.dish-entry{position:relative;border-bottom:1px solid var(--line);padding-bottom:16px}.collection .dish-open{padding:0 0 8px;width:100%;border:0}.dish-open img,.dish-open .dish-live{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:4px}.dish-open span{display:block;margin-top:15px}.dish-open:focus-visible{outline-offset:5px}#book-print-pages{display:none}
@media(max-width:600px){.book-display{grid-template-columns:1fr;gap:24px}.book-cover{max-width:250px;margin:auto}.book-cover-live{max-width:250px;margin:auto}.book-cover-live .book-cover{max-width:none}.living-dishes{grid-template-columns:1fr;gap:24px}.book-display .action-row{gap:8px}}
@media print{@page{size:letter;margin:12mm}body.printing-book{print-color-adjust:exact;-webkit-print-color-adjust:exact}body.printing-book>#arlean-root,body.printing-book>#root,body.printing-book dialog,body.printing-book #toast{display:none!important}body.printing-book #book-print-pages{display:block!important}.book-print-cover,.book-print-recipe{break-after:page}.book-print-cover img{width:100%;max-height:240mm;object-fit:contain}.book-print-recipe img{width:100%;max-height:85mm;object-fit:contain}.book-print-recipe h1{font-size:28px;color:var(--green)}.book-print-recipe li{margin-bottom:10px;break-inside:avoid}.book-print-recipe h2{break-after:avoid}}
.memorial-wall{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:22px}.memorial-card{background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:16px;display:flex;flex-direction:column;gap:10px}.memorial-card>img{width:100%;border-radius:6px;object-fit:cover;max-height:320px}.memorial-card p{font-size:16px!important;white-space:pre-wrap;margin:0!important}.memorial-card footer{display:flex;align-items:center;gap:10px;margin-top:auto;flex-wrap:wrap}.memorial-card footer small{font-family:Arial,sans-serif;color:#72715f;flex:1}.memorial-avatar,.profile-photo{width:40px;height:40px;border-radius:50%;object-fit:cover;border:1px solid var(--gold)}.profile-photo{width:96px;height:96px}

/* Living Family Tree — approved tokens only. */
.tree-wrap{overflow-x:auto;padding:10px 0 30px}.tree-children{list-style:none;margin:0;padding:26px 0 0;display:flex;gap:18px;justify-content:center;flex-wrap:wrap;position:relative}.tree-top{padding-top:0}.tree-node{display:flex;flex-direction:column;align-items:center}.tree-children:not(.tree-top)::before{content:"";position:absolute;top:0;left:8%;right:8%;border-top:1px solid var(--gold)}.tree-node>.tree-card{margin-top:0}.tree-children:not(.tree-top)>.tree-node::before{content:"";display:block;width:1px;height:26px;background:var(--gold);margin-top:-26px}.tree-card{background:var(--paper);border:1px solid var(--gold);border-radius:12px;padding:16px 18px;min-width:190px;max-width:250px;text-align:center;display:flex;flex-direction:column;gap:7px;align-items:center;box-shadow:0 3px 14px #48311714}.tree-card strong{font-size:19px;font-weight:400}.tree-card small{font:12px Arial,sans-serif;color:#806843}.tree-card .row{justify-content:center}.tree-card button{font-size:12px;padding:7px 12px}.tree-root{background:var(--green);color:var(--paper);border-color:var(--green);min-width:230px}.tree-root strong{font-size:22px;font-style:italic}.tree-root .secondary{color:var(--paper);border-color:#b79761}.tree-add-form{display:flex;flex-direction:column;gap:4px;width:100%;text-align:left;border-top:1px solid var(--line);padding-top:10px}.tree-add-form label{font-size:12px}.tree-add-form input{width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:6px;background:white;color:var(--ink);font-size:14px;margin-bottom:6px}
@media(max-width:600px){.tree-children{gap:12px}.tree-card{min-width:150px}}
.tree-obituary{font:12px Arial,sans-serif;color:#92703c;text-underline-offset:3px}
/* Family tree: one horizontal generation row per branch, with a scroll bar for wide branches. */
.tree-page{max-width:100%}
.tree-page .tree-wrap{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;padding:20px 0 30px}
.tree-page .tree-children{flex-wrap:nowrap;gap:0;padding-top:32px;align-items:flex-start}
.tree-page .tree-top{width:max-content;min-width:100%;padding-top:0}
.tree-page .tree-node{position:relative;flex:0 0 auto;padding:0 12px}
.tree-page .tree-card{width:250px;min-width:250px;max-width:250px;flex-shrink:0}
.tree-page .tree-children:not(.tree-top)::before{top:0;left:50%;right:auto;height:16px;border-top:0;border-left:1px solid var(--gold)}
.tree-page .tree-children:not(.tree-top)>.tree-node::before{position:absolute;display:block;top:-16px;left:0;right:0;width:auto;height:0;margin:0;background:transparent;border-top:1px solid var(--gold)}
.tree-page .tree-children:not(.tree-top)>.tree-node::after{content:"";position:absolute;top:-16px;left:50%;height:16px;border-left:1px solid var(--gold)}
.tree-page .tree-children:not(.tree-top)>.tree-node:first-child::before{left:50%}
.tree-page .tree-children:not(.tree-top)>.tree-node:last-child::before{right:50%}
.tree-page .tree-children:not(.tree-top)>.tree-node:only-child::before{display:none}

/* Shared photo album: full photographs, approved home palette and typography. */
.restored-album-dialog{width:min(1000px,calc(100% - 24px));padding:28px;max-height:92dvh}.restored-album-stage{height:48dvh;min-height:180px;display:grid;grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr);place-items:center;background:var(--cream);overflow:hidden}.restored-album-stage img{width:100%;height:100%;min-width:0;min-height:0;max-width:100%;max-height:100%;object-fit:contain}.restored-album-caption{margin:12px 0 4px!important;text-align:center}.restored-album-controls{justify-content:center}.restored-album-thumbnails{display:flex;gap:10px;overflow-x:auto;padding:14px 2px}.restored-album-thumbnails button{flex-shrink:0;width:76px;height:62px;padding:3px;border:2px solid transparent;border-radius:4px;background:var(--cream)}.restored-album-thumbnails button[aria-pressed=true]{border-color:var(--gold)}.restored-album-thumbnails img{width:100%;height:100%;object-fit:contain}#restored-count{text-align:center}.album-thumb img{object-fit:contain!important}@media(max-width:600px){.restored-album-dialog{padding:26px 16px 16px}.restored-album-stage{height:36dvh}.restored-album-dialog h2{font-size:28px}.restored-album-controls{gap:7px!important}.restored-album-controls button,.restored-album-controls a{font-size:13px;padding:9px 12px}}
.album-page{max-width:1160px}.album-page h1{font-size:46px;letter-spacing:0}.album-theater{margin-top:36px;background:var(--paper);color:var(--ink);border-top:1px solid var(--gold);border-bottom:1px solid var(--gold);padding:22px 0}.album-stage{height:560px;max-height:62dvh;display:grid;grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr);place-items:center;overflow:hidden;background:var(--cream);position:relative}.album-image{width:100%;height:100%;min-width:0;min-height:0;max-width:100%;max-height:100%;object-fit:contain;animation:album-arrive 1.2s ease both}.album-empty{text-align:center;padding:30px}.album-empty svg{width:48px;height:48px;margin:auto;color:var(--gold)}.album-caption{text-align:center;min-height:88px;padding:12px 22px}.album-caption p{margin:0 auto;font-size:21px;font-style:italic;white-space:pre-wrap;overflow-wrap:anywhere;max-height:120px;overflow:auto}.album-caption small{display:block;margin-top:6px;font:12px Arial,sans-serif;color:var(--green)}.album-controls{display:flex;justify-content:center;gap:12px;align-items:center;flex-wrap:wrap;padding:12px}.album-page .album-command{background:var(--green);color:var(--paper);border:1px solid var(--green);height:auto;min-height:42px;padding:10px 18px;font:15px Georgia,serif;border-radius:100px;white-space:normal}.album-page .album-icon{background:transparent;color:var(--green);border:1px solid var(--line);border-radius:50%;width:42px;height:42px;padding:0}.album-icon svg{width:19px;height:19px}.album-control-divider{height:26px;border-left:1px solid var(--line)}.album-volume input{width:90px;accent-color:var(--green)}.album-page .album-music-credit{font:12px Arial,sans-serif;text-align:center;max-width:none;color:var(--green);margin:8px 0}.album-thumbnails{display:flex;gap:12px;overflow-x:auto;padding:20px 3px;max-width:100%}.album-page .album-thumb{flex-shrink:0;width:88px;height:70px;border-radius:4px;border:2px solid transparent;padding:3px;background:transparent}.album-thumb[aria-pressed=true]{border-color:var(--gold)}.album-thumb img{width:100%;height:100%;object-fit:cover;border-radius:2px}.album-page .album-delete{background:transparent;color:var(--green);border:0;padding:0;font:13px Arial,sans-serif}.album-upload{margin-top:30px;padding-top:18px;border-top:1px solid var(--gold)}.album-upload form{max-width:600px}.album-upload label{display:block;margin:18px 0 8px}.album-upload input[type=file]{max-width:100%;font-size:15px}.album-upload textarea{width:100%;min-height:100px;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:6px;padding:12px;margin-bottom:14px}.album-theater:fullscreen{width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;padding:20px}.album-theater:fullscreen .album-stage{height:auto;flex:1;max-height:75dvh}.album-theater:fullscreen .album-image{min-height:0}.album-page .status{font-size:15px;color:var(--green)}@keyframes album-arrive{from{opacity:0}to{opacity:1}}@media(max-width:600px){.album-page h1{font-size:34px}.album-stage{height:360px;max-height:52dvh}.album-controls{gap:8px;padding:10px 0}.album-control-divider{display:none}.album-volume input{width:66px}.album-caption p{font-size:18px}.album-caption{padding:12px 10px}.album-theater{padding:12px 0}.album-page .album-command{font-size:14px;padding:10px 13px}}@media(prefers-reduced-motion:reduce){.album-image{animation:none}}

.tree-page .tree-wrap,.tree-wrap{overflow-x:scroll;scrollbar-width:auto;scrollbar-color:var(--gold) #efe5d2;padding-bottom:18px}.tree-wrap::-webkit-scrollbar{height:14px;display:block}.tree-wrap::-webkit-scrollbar-track{background:#efe5d2;border-radius:10px;border:1px solid var(--line)}.tree-wrap::-webkit-scrollbar-thumb{background:var(--gold);border-radius:10px;border:3px solid #efe5d2}.tree-wrap::-webkit-scrollbar-thumb:hover{background:#8f6f3f}

/* Genuine room footage and full-image closer views. */
#scene-video{object-fit:fill;width:100%;height:100%;pointer-events:none}#scene-video.triptych-motion{object-fit:fill}.room-motion-controls{position:absolute;left:2%;bottom:2%;z-index:4;display:flex;gap:8px}.room-motion-controls button{width:38px;height:38px;padding:0;background:var(--paper);color:var(--green);border-color:var(--gold)}
.album-surround{position:relative;isolation:isolate;overflow:hidden;min-height:calc(100dvh - 80px)}.album-room-background{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;pointer-events:none}.album-surround::before{content:"";position:absolute;inset:0;z-index:-1;background:color-mix(in srgb,var(--cream) 85%,transparent)}.album-page .album-theater{background:color-mix(in srgb,var(--paper) 95%,transparent);border:1px solid var(--gold);padding:20px}.album-stage,.restored-album-stage{isolation:isolate;position:relative}.album-room-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;pointer-events:none}.album-stage::before,.restored-album-stage::before{content:"";position:absolute;inset:0;background:color-mix(in srgb,var(--green) 45%,transparent);z-index:-1}.album-image,.restored-album-stage img{padding:14px;filter:drop-shadow(0 3px 5px var(--ink));position:relative}.album-stage.photo-closer,.restored-album-stage.photo-closer{overflow:auto;display:block}.photo-closer .album-image,.photo-closer #restored-photo{width:200%;height:200%;max-width:none;max-height:none;object-fit:contain;padding:0;cursor:grab}.album-background-toggle{position:absolute;right:24px;top:24px;background:var(--paper);color:var(--green);border:1px solid var(--gold)}
.portrait-dialog{width:min(1100px,96vw);padding:30px;max-height:94dvh}.portrait-canvas{width:100%;height:56dvh;min-height:260px;touch-action:none}.portrait-canvas canvas{display:block;max-width:100%}.portrait-controls{justify-content:center;align-items:center}.portrait-controls button{width:44px;height:44px;padding:0}.portrait-controls label{display:flex;align-items:center;gap:12px;margin:0}.portrait-controls input{accent-color:var(--green);width:140px}.restored-album-stage{background:transparent}.album-upload{background:var(--paper);padding:22px}.album-page .album-thumbnails{scrollbar-color:var(--gold) var(--cream)}
@media(max-width:600px){.album-page .album-theater{padding:10px}.portrait-dialog{padding:24px 14px}.portrait-canvas{height:48dvh;min-height:230px}.portrait-controls{gap:8px}.album-background-toggle{right:14px;top:12px}.room-motion-controls{gap:5px}.room-motion-controls button{width:30px;height:30px}}

/* Owner request: no click/hover highlight rings anywhere. */
.hotspot,.hotspot:hover,.hotspot:focus,.hotspot:focus-visible,.hotspot:active{background:transparent!important;box-shadow:none!important;outline:none!important;border-color:transparent!important}button:focus,button:focus-visible,a:focus,a:focus-visible{outline:none!important;box-shadow:none}

#scene-video.clean-motion{object-fit:cover;top:0;height:100%}.hotspot-label{display:none}.scene.clean-scene .hotspot{display:flex!important;align-items:center!important;justify-content:center!important;background:color-mix(in oklab,#f6ecdc 92%,transparent)!important;border-radius:999px!important;box-shadow:0 4px 14px rgba(40,30,20,.22)!important;color:#24452f!important;font-family:Georgia,serif!important;font-size:clamp(11px,1.6cqw,22px)!important;line-height:1.1!important;text-align:center!important;padding:0 .6em!important;min-height:2.2em!important;white-space:nowrap!important}.scene.clean-scene .hotspot-label{display:block;overflow:hidden;text-overflow:ellipsis}.room-motion-controls,.scene-brand{display:none!important}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,select:focus{outline:none!important;box-shadow:none!important}
.track-wrap select{border:0!important;outline:none!important;background:transparent!important;font-family:Georgia,serif}
.music-bar input[type=range],.player input[type=range],footer input[type=range]{accent-color:#24452f}
.page-motion{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden}.page-motion video{width:100%;height:100%;object-fit:cover}.page-motion::after{content:"";position:absolute;inset:0;background:color-mix(in srgb,var(--cream) 50%,transparent)}
body:has(.page-motion) .room-content{background:color-mix(in srgb,var(--paper,#fbf6ee) 90%,transparent);border:1px solid color-mix(in srgb,var(--gold,#c49b41) 45%,transparent);border-radius:14px;box-shadow:0 18px 50px rgba(60,40,20,.18);margin-top:28px;margin-bottom:40px}
body:has(.page-motion) .topbar{background:color-mix(in srgb,var(--cream) 88%,transparent);backdrop-filter:blur(6px)}
.tree-card{position:relative;isolation:isolate;overflow:hidden}.tree-card-photo{position:absolute;inset:0;z-index:-1;background-size:cover;background-position:center;opacity:.8}.tree-card.has-photo::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,color-mix(in srgb,var(--paper) 15%,transparent),color-mix(in srgb,var(--paper) 50%,transparent))}
.tree-actions{display:flex;gap:6px;justify-content:center;flex-wrap:wrap;margin-top:10px}.tree-act{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--line);border-radius:999px;background:color-mix(in srgb,var(--paper) 85%,transparent);color:var(--green);font:13px Georgia,serif;padding:6px 11px;cursor:pointer}.tree-act:hover{background:var(--green);color:#fffdf5;border-color:var(--green)}.tree-act.danger{color:#8a3b2b}.tree-act.danger:hover{background:#8a3b2b;color:#fffdf5;border-color:#8a3b2b}
.tree-modal{position:fixed;inset:0;z-index:60;display:grid;place-items:center;background:#251a12a8;backdrop-filter:blur(5px);padding:16px}.tree-modal-card{background:var(--paper);border:1px solid var(--gold);border-radius:16px;padding:30px;width:min(520px,100%);max-height:88dvh;overflow:auto;box-shadow:0 25px 100px #24140555;text-align:left}.tree-modal-card h2{font-weight:400;font-size:28px;margin:0 0 10px}.tree-photo-label{display:block;margin:14px 0 6px;font-size:15px}.tree-photo-pick{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.tree-photo-pick img{width:84px;height:60px;object-fit:cover;border-radius:8px;border:1px solid var(--line)}.tree-danger-btn{background:#8a3b2b!important;border-color:#8a3b2b!important}
.tree-spouse{display:block;font-style:italic;color:var(--green);font-size:14px;margin:2px 0 4px}
.scene.clean-scene .hotspot{background:transparent!important;box-shadow:none!important;padding:0!important;align-items:flex-end!important}
.scene.clean-scene .hotspot-label{background:color-mix(in oklab,#f6ecdc 92%,transparent);border-radius:999px;box-shadow:0 4px 14px rgba(40,30,20,.22);padding:.45em .9em;max-width:100%}
.memory-grid{list-style:none;padding:0;margin:1.5rem 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem}.memory-grid li{display:flex;flex-direction:column;align-items:center;gap:.4rem}.memory-card{width:100%;cursor:pointer;font:inherit;text-align:center}.memory-story-photo{display:block;width:100%;max-height:min(45vh,360px);object-fit:contain;border:1px solid var(--line);border-radius:12px;margin:16px 0}
.arlean-keyed{width:100%;height:100%;object-fit:contain;background:transparent;display:block}
#avatar-widget-mount.keyed-idle lemon-slice-widget{display:none!important}.arlean-start-img{width:100%;max-height:420px;object-fit:contain;display:block;background:transparent}#avatar-widget-mount:has(.arlean-keyed),#avatar-widget-mount.keyed-idle{background:transparent!important;box-shadow:none!important}

/* Living Recipe Book — moving cover, garden background, page-turning book */
#room-content{position:relative;isolation:isolate}
.recipes-garden-bg{position:fixed;inset:0;width:100vw;height:100vh;object-fit:cover;z-index:-2;pointer-events:none}#room-content:has(.recipes-garden-bg){clip-path:inset(0)}
#room-content:has(.recipes-garden-bg)::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,color-mix(in srgb,var(--cream) 82%,transparent),color-mix(in srgb,var(--cream) 72%,transparent) 30%,color-mix(in srgb,var(--cream) 80%,transparent));pointer-events:none}
.book-cover-live{position:relative;display:block;padding:0;border:0;background:none;cursor:pointer;width:100%;transition:transform .5s ease,box-shadow .5s ease;box-shadow:0 18px 40px -18px rgba(40,30,15,.55)}
.book-cover-live:hover{transform:translateY(-4px) rotate(-.6deg);box-shadow:0 26px 50px -18px rgba(40,30,15,.6)}
.book-cover-motion{position:absolute;left:11.667%;top:18.25%;width:76.667%;height:60%;object-fit:cover;pointer-events:none}
.living-book{position:fixed;inset:0;width:100vw;height:100vh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:#1d1a14;overflow:hidden;color:var(--green)}
.living-book::backdrop{background:rgba(20,16,10,.7)}
.lb-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.85}
.lb-close{position:absolute;top:14px;right:18px;z-index:5;width:44px;height:44px;border-radius:50%;border:1px solid var(--gold);background:var(--cream);color:var(--green);font-size:26px;cursor:pointer}
.lb-book{position:absolute;left:50%;top:50%;width:min(1100px,94vw);height:min(720px,80vh);transform:translate(-50%,-50%) perspective(2200px) rotateX(8deg) scale(.6);opacity:0;transition:transform 1s cubic-bezier(.2,.8,.2,1),opacity .6s ease;perspective:2600px}
.living-book.opened .lb-book{transform:translate(-50%,-50%) perspective(2200px) rotateX(0) scale(1);opacity:1}
.lb-page{position:absolute;top:0;width:50%;height:100%;background:linear-gradient(90deg,#efe4cf,#f8f1e3 12%,#faf5ea);border:1px solid color-mix(in srgb,var(--gold) 60%,transparent);box-shadow:0 30px 60px -20px rgba(0,0,0,.6);box-sizing:border-box;padding:42px 44px 46px}
.lb-left{left:0;border-radius:6px 0 0 6px;background:linear-gradient(270deg,#e6d8bd,#f5ecdc 10%,#faf5ea)}
.lb-right{left:50%;border-radius:0 6px 6px 0}
.lb-spine{position:absolute;left:calc(50% - 14px);top:0;width:28px;height:100%;background:linear-gradient(90deg,transparent,rgba(80,60,30,.28),transparent);pointer-events:none;z-index:4}
.lb-scroll{height:100%;overflow:auto;padding-right:8px;scrollbar-width:thin;scrollbar-color:var(--gold) transparent}
.lb-page h2{font-family:Georgia,serif;font-weight:400;font-size:clamp(24px,2.6vw,34px);margin:4px 0 14px;color:var(--green)}
.lb-page p{font:16px/1.7 Georgia,serif;color:#3a3326;margin:0 0 12px}
.lb-kicker{font:12px/1.4 Arial,sans-serif!important;letter-spacing:.18em;text-transform:uppercase;color:var(--gold)!important}
.lb-quote{font-style:italic;font-size:20px!important;text-align:center}
.lb-sign{font-style:italic;text-align:right}
.lb-hint{font:13px/1.5 Arial,sans-serif!important}
.lb-foot{position:absolute;bottom:14px;left:0;right:0;text-align:center;font:11px Arial,sans-serif!important;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)!important;margin:0!important}
.lb-frontis{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.lb-cover-motion{width:82%;aspect-ratio:1;object-fit:cover;border:1px solid var(--gold);padding:6px;background:var(--cream);margin:8px 0 14px}
.lb-page h3{font:600 12px/1.4 Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin:18px 0 6px}
.lb-page ul{list-style:none;margin:0;padding:0}
.lb-entry{display:flex;align-items:baseline;gap:8px;width:100%;padding:5px 2px;border:0;background:none;cursor:pointer;font:16px/1.4 Georgia,serif;color:#3a3326;text-align:left}
.lb-entry i{flex:1;border-bottom:1px dotted color-mix(in srgb,var(--gold) 70%,transparent);transform:translateY(-4px)}
.lb-entry b{font-weight:400;color:var(--gold)}
.lb-entry:hover span{color:var(--green);text-decoration:underline;text-underline-offset:3px}
.lb-leaf{position:absolute;left:50%;top:0;width:50%;height:100%;transform-origin:left center;transform-style:preserve-3d;transition:transform 1.3s cubic-bezier(.45,.05,.2,1);z-index:3}
.lb-leaf>.lb-page{left:0;width:100%;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:0 6px 6px 0}
.lb-leaf-back{transform:rotateY(180deg);border-radius:6px 0 0 6px!important;background:linear-gradient(270deg,#e6d8bd,#f5ecdc 10%,#faf5ea)!important}
.living-book.turned .lb-leaf{transform:rotateY(-180deg)}
.living-book.turned .lb-left{visibility:hidden;transition:visibility 0s .65s}
.lb-controls{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);display:flex;gap:12px;z-index:5}
.lb-controls button{border:1px solid var(--gold);background:var(--cream);color:var(--green);border-radius:999px;padding:10px 20px;font:15px Georgia,serif;cursor:pointer}
.living-book:not(.turned) [data-lb=prev],.living-book.turned [data-lb=next]{opacity:.45;pointer-events:none}
@media (max-width:760px){.lb-book{height:76vh}.lb-left{display:none}.lb-page{padding:28px 22px 40px}.lb-right,.lb-leaf{left:0;width:100%}.lb-spine{display:none}.lb-leaf-back{display:none}.living-book.turned .lb-leaf{transform:rotateY(-110deg);opacity:0;transition:transform 1.1s ease,opacity .5s .6s}}
@media (prefers-reduced-motion:reduce){.lb-leaf,.lb-book{transition:none}}
.footer-motion{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 22%;z-index:-2;pointer-events:none}.footer:has(.footer-motion)::before{display:none}

#modal.full-page{width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;inset:0;border:0;border-radius:0;padding:48px 24px 130px;background:transparent;overflow-y:auto;box-shadow:none}#modal.full-page .modal-motion{position:fixed;inset:0;width:100vw;height:100dvh;object-fit:cover;z-index:-1;pointer-events:none}#modal.full-page #modal-content{max-width:920px;margin:0 auto;background:color-mix(in srgb,var(--paper) 88%,transparent);border:1px solid var(--gold);border-radius:16px;padding:44px clamp(22px,5vw,56px);box-shadow:0 25px 80px #24140544}#modal.full-page .modal-close{position:fixed;right:22px;top:18px;z-index:2;background:var(--paper);border:1px solid var(--gold);border-radius:50%;width:48px;height:48px;padding:0}
.recipe-video{display:block;width:100%;max-width:640px;aspect-ratio:16/9;height:auto;object-fit:cover;margin:0 auto;border-radius:4px;pointer-events:none}.recipe-video::-webkit-media-controls{display:none!important}.dish-live::-webkit-media-controls{display:none!important}

.scene-name-patch.meet{background:#3a2517;color:#fff9ee;border:.16cqw solid #f1e6d3;border-radius:1.15cqw;font:2.05cqw Georgia,'Times New Roman',serif;letter-spacing:.01em}
.tribute-features{position:relative;isolation:isolate;overflow:hidden;margin-top:2rem;padding:2.2rem;border-radius:6px;border:1px solid color-mix(in srgb,var(--gold,#b08a4a) 45%,transparent)}
.tribute-motion{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;pointer-events:none}
.tribute-features::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#f7f0e399,#f7f0e366 50%,#f7f0e399)}
.tribute-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.tribute-card{display:flex;flex-direction:column;gap:.4rem;text-align:left;padding:1.1rem 1.2rem;background:#f8f1e4e8;border:1px solid #d9c6a3;border-radius:6px;color:var(--green,#21391f);text-decoration:none;font:inherit;cursor:pointer;transition:transform .2s,box-shadow .2s}
.tribute-card strong{font:1.2rem Georgia,serif;font-weight:400}.tribute-card span{font-size:.92rem;color:#5b5140;line-height:1.45}
.tribute-card:hover{transform:translateY(-2px);box-shadow:0 10px 24px -14px #3a2517}
@media(max-width:760px){.tribute-grid{grid-template-columns:1fr}.tribute-features{padding:1.2rem}}
#site-motion{position:fixed;inset:0;width:100vw;height:100vh;object-fit:cover;object-position:center 30%;z-index:-3;pointer-events:none}
#site-motion-veil{position:fixed;inset:0;z-index:-2;pointer-events:none;background:linear-gradient(180deg,#f7f0e330,#f7f0e3a0 40%,#f7f0e3a0)}
body.has-site-motion{background:transparent}
body.has-site-motion .topbar{background:color-mix(in srgb,var(--cream) 35%,transparent);backdrop-filter:none}
body.has-site-motion .room-nav{background:color-mix(in srgb,var(--cream) 30%,transparent)}
body.has-site-motion .room-content{background:color-mix(in srgb,var(--paper,#fbf6ee) 80%,transparent);border-radius:14px}
.decor-title{position:absolute;left:4.5%;top:12%;font:6.4cqw/1.02 Georgia,'Times New Roman',serif;color:#fff9ee;text-shadow:0 2px 14px rgba(30,20,10,.55);pointer-events:none}
.decor-title i{display:block;width:62%;height:2px;margin-top:2.2cqw;background:#c9a55a}
.scene.decor-scene .hotspot-label{width:100%;text-align:center;font:2.4cqw Georgia,'Times New Roman',serif!important;color:#2b3a22!important;background:#f6ecdcf2!important;border:1px solid #d8c39c;border-radius:2cqw!important;padding:.55em .4em!important;max-width:none!important}


.story-content .content-head{background:color-mix(in srgb,var(--paper) 94%,transparent);border:1px solid var(--line);border-radius:14px;padding:30px 34px;box-shadow:0 10px 30px rgba(38,51,35,.18)}
.story-content .content-head h1{color:var(--green)}.story-content .content-head .eyebrow{color:#5e4a2c;font-weight:700}.story-content .content-head .intro{color:var(--ink)}.story-content .quiet-note{color:#3f4636}
.story-card-vid{position:absolute;width:26.48%;height:18.45%;object-fit:cover;z-index:3;pointer-events:none;border-radius:1.2% 1.2% 0 0/3% 3% 0 0}

#modal.prayer-dialog #modal-content{max-width:640px;margin:auto;background:color-mix(in srgb,var(--paper) 90%,transparent);border:1px solid color-mix(in srgb,var(--gold,#b8914a) 55%,transparent);border-radius:22px;box-shadow:0 24px 60px rgb(0 0 0 / .28);backdrop-filter:blur(3px)}
#modal.prayer-dialog #modal-title{text-align:center}
#modal.prayer-dialog .modal-kicker{text-align:center}
.prayer-sanctuary{display:grid;gap:.9rem}
.prayer-greet{font-family:var(--script,inherit);font-style:italic;font-size:1.45rem;text-align:center;margin:0}
.prayer-family{text-align:center;margin:0;opacity:.85}
.prayer-sanctuary .button-row{justify-content:center}
/* Music bar: beautiful backdrop + refined type */
.music-bar{background:linear-gradient(90deg,color-mix(in srgb,#1f3a26 72%,transparent),color-mix(in srgb,#3b291f 66%,transparent))  !important;border-top:1px solid #c9a35f !important;box-shadow:0 -10px 30px #0004 !important;color:#fff6e3 !important;font-family:'Cormorant Garamond',Georgia,serif !important;backdrop-filter:none !important}
.music-bar .play{background:linear-gradient(145deg,#d8b46a,#a77f3f) !important;color:#1f3a26 !important;border:1px solid #f3dca6 !important;box-shadow:0 4px 14px #0006}
.music-bar label[for=music-track]{font:italic 500 15px/1.2 'Cormorant Garamond',Georgia,serif !important;letter-spacing:.5px !important;text-transform:none !important;color:#f0d79c !important}
.music-bar select{appearance:none;background:transparent !important;border:0 !important;border-bottom:1px solid #d8b46a !important;border-radius:0 !important;color:#fffaf0 !important;font:600 21px/1.2 'Cormorant Garamond',Georgia,serif !important;padding:2px 22px 2px 0 !important;background-image:linear-gradient(45deg,transparent 50%,#d8b46a 50%),linear-gradient(135deg,#d8b46a 50%,transparent 50%) !important;background-position:calc(100% - 9px) 55%,calc(100% - 4px) 55% !important;background-size:5px 5px !important;background-repeat:no-repeat !important;cursor:pointer}
.music-bar select option{color:#263323;background:#fffbf2}
.music-bar .volume{color:#f0d79c !important;font:italic 17px 'Cormorant Garamond',Georgia,serif !important}
.music-bar input[type=range]{accent-color:#d8b46a}
.music-bar .equalizer i{background:#d8b46a !important}
.music-bar #music-repeat{background:#fff6e31a !important;border:1px solid #d8b46a !important;color:#fff6e3 !important;font:600 16px 'Cormorant Garamond',Georgia,serif !important}
/* One fireplace only: footer reaches the page bottom so the page background doesn't show a second one below it */
body{padding-bottom:0 !important}.footer{padding-bottom:var(--music-bar-h,96px)}

/* Footer readability: soft cream card behind each column */
.footer .footer-grid>section,.footer .footer-grid>nav{background:rgba(255,251,242,.9);border:1px solid rgba(172,135,81,.45);border-radius:18px;padding:22px 26px;box-shadow:0 8px 28px rgba(38,51,35,.18)}
.footer .footer-grid,.footer .footer-grid p,.footer .footer-grid a,.footer .footer-grid button{color:#263323!important;text-shadow:none!important}
.footer .footer-grid h2{color:#25452d!important}
.footer .footer-note,.footer .footer-note a{color:#3c4636!important;font-size:15px!important}
.footer .footer-bottom{background:rgba(255,251,242,.92)}
.footer .footer-bottom p{color:#263323!important}

/* Header account: readable, shows photo and name; About moved to footer */
#about-button{display:none!important}
.top-actions #account-link{display:inline-flex;align-items:center;gap:10px;font:600 15px/1 Georgia,serif;letter-spacing:.5px;text-transform:none;color:#25452d!important;background:rgba(255,251,242,.94);border:1px solid #ac8751;border-radius:999px;padding:8px 18px;text-decoration:none;box-shadow:0 4px 16px rgba(38,51,35,.18)}
.top-actions #account-link img{width:34px;height:34px;border-radius:50%;object-fit:cover;border:2px solid #ac8751;margin-left:-8px}
.top-actions #account-link.signed-in{padding:5px 18px 5px 13px}
#footer-about{display:block;margin:10px 0;padding:0;border:none;background:none;text-decoration:underline;font-size:15px}

/* Family album: slightly lighter room, smooth photo fades */
.restored-album-stage .album-room-video{filter:brightness(1.18) saturate(1.02)}
#restored-photo{transition:opacity .35s ease;will-change:opacity}
.restored-album-stage::before,.restored-album-stage::after{opacity:.6}

/* Bible reader layout */
.bible-form{max-width:640px}
.bible-form .bible-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:14px;margin:14px 0 20px}
.bible-form .bible-grid label,.bible-form .bible-music label{display:flex;flex-direction:column;gap:6px;font-family:'Cormorant Garamond',Georgia,serif;font-size:1.05rem;color:#2c3a2a;font-weight:600}
.bible-form select{width:100%;padding:9px 12px;border:1px solid #b8995a;border-radius:10px;background:#fffaf0;color:#2c3a2a;font-family:Georgia,serif;font-size:1rem}
.bible-form .bible-scripture{background:rgba(255,250,240,.92);border:1px solid #d8c08a;border-left:4px solid #b8995a;border-radius:12px;padding:16px 20px;margin-bottom:18px;max-height:260px;overflow:auto}
.bible-form .bible-scripture h3{margin:0 0 8px;color:#7a5a1e}
.bible-form #bible-text{margin:0;line-height:1.7;font-family:Georgia,serif;font-size:1.08rem}
.bible-form #bible-text sup{color:#9a7a3a;font-size:.7em;margin-right:2px}
.bible-form .bible-music{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px;align-items:end;margin-bottom:12px}
.bible-form .bible-music label.row{flex-direction:row;align-items:center;gap:8px}
.bible-form .bible-music .form-note{grid-column:1/-1;margin:0}
@media(max-width:600px){.bible-form .bible-grid{grid-template-columns:1fr 1fr}.bible-form .bible-music{grid-template-columns:1fr}}

#modal.bible-dialog #modal-content{max-width:720px;background:color-mix(in srgb,var(--paper) 82%,transparent)}
#modal.bible-dialog .modal-motion{filter:none!important;opacity:1!important}

/* Header always shows the moving background behind it, same on every page */
.topbar,body:has(.page-motion) .topbar,body.has-site-motion .topbar{background:color-mix(in srgb,var(--cream) 35%,transparent)!important;backdrop-filter:none!important}

/* Keep the first nav tab visible on narrow screens */
.room-nav{justify-content:safe center!important}
html,body{overflow-x:hidden}
#scene-image{visibility:hidden!important;background-image:none!important}
.viewer-dock{position:fixed;right:16px;top:50%;transform:translateY(-50%);z-index:60;display:flex;flex-direction:column;gap:6px}
.viewer-dock button{font-family:'Cormorant Garamond',Georgia,serif;font-size:15px;color:var(--green,#23412f);background:color-mix(in srgb,var(--cream,#f8f1e4) 88%,transparent);border:1px solid #b8913f;border-radius:999px;padding:6px 14px;cursor:pointer;min-width:118px;text-align:left;box-shadow:0 4px 14px rgba(40,30,15,.18)}
.viewer-dock button b{float:right;margin-left:10px;color:#9a7426;font-weight:600}
.viewer-dock button[aria-pressed=false]{opacity:.75}
.viewer-dock button[aria-pressed=false] b{color:#6b5d4a}
@media(max-width:700px){.viewer-dock{top:auto;bottom:86px;transform:none;right:8px}.viewer-dock button{min-width:96px;font-size:13px;padding:5px 10px}}
.story-prose p{text-indent:2em;margin:0 0 1em;line-height:1.75;text-align:left}
/* One Magnolia-style sound button; old pills stay functional but hidden */
.viewer-dock,#scene-sound{display:none!important}
#sound-dock{position:fixed;right:22px;bottom:150px;z-index:60;display:flex;flex-direction:column;align-items:flex-end;gap:8px;font-family:'Cormorant Garamond',Georgia,serif}
#sound-dock .sd-btn{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:rgba(251,245,232,.88);backdrop-filter:blur(10px);border:1px solid rgba(183,140,63,.55);color:#5a4a3a;box-shadow:0 6px 18px rgba(40,28,15,.22);cursor:pointer}
#sound-dock .sd-btn.is-on{color:#b07a2a}
#sound-dock .sd-panel{width:272px;padding:16px;border-radius:14px;background:rgba(251,245,232,.93);backdrop-filter:blur(12px);border:1px solid rgba(183,140,63,.45);box-shadow:0 14px 34px rgba(40,28,15,.25);color:#2f2a20}
#sound-dock .sd-panel[hidden]{display:none}
#sound-dock .sd-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
#sound-dock .sd-head p{margin:0;font-size:1.3rem}
#sound-dock .sd-x{background:none;border:0;font-size:1.3rem;cursor:pointer;color:inherit}
#sound-dock .sd-row{display:flex;justify-content:space-between;align-items:center;gap:10px;border:1px solid rgba(183,140,63,.35);border-radius:8px;padding:7px 9px;margin-bottom:7px;font-size:1rem}
#sound-dock .sd-row button{height:28px;padding:0 12px;line-height:26px;display:inline-grid;place-items:center;min-width:48px;border-radius:999px;border:1px solid rgba(183,140,63,.6);background:#fffaf0;color:#2f2a20;font:inherit;font-size:.9rem;cursor:pointer}
#sound-dock .sd-row button[aria-pressed=true]{background:#2f4a33;color:#fbf5e8;border-color:#2f4a33}
#sound-dock .sd-slider{display:grid;gap:4px;font-size:.95rem;margin-top:6px}
#sound-dock .sd-slider span{display:flex;justify-content:space-between}
#sound-dock .sd-slider em{font-style:normal;opacity:.7}
#sound-dock .sd-slider input{accent-color:#b07a2a}

main.watching>section:not(#watch-page){display:none!important}
#watch-page{max-width:1100px;margin:0 auto;padding:28px 24px 48px;position:relative;z-index:2}
#watch-page h1{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;font-size:clamp(2rem,4vw,3.2rem);color:#fffaf0;text-shadow:0 2px 12px rgba(0,0,0,.45);margin:10px 0 18px;text-align:center}
#watch-page figure{margin:0 0 22px}#watch-page video{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:14px;border:2px solid #c9a24d;background:#1f2a20;box-shadow:0 14px 40px rgba(0,0,0,.35)}
#watch-page figcaption{text-align:center;color:#fffaf0;font-family:'Cormorant Garamond',Georgia,serif;font-size:1.25rem;margin-top:8px}
.watch-back{display:inline-block;padding:9px 18px;border-radius:999px;background:#f6efe2;color:#234430;border:1px solid #c9a24d;font-family:'Cormorant Garamond',Georgia,serif;font-size:1.1rem;text-decoration:none}
.watch-note{text-align:center;color:#fffaf0;font-family:'Cormorant Garamond',Georgia,serif;font-size:1.15rem}

#scene.film-on::before,#scene.film-on::after,#scene.film-on #hotspots,#scene.film-on #name-corrections,#scene.film-on .scene-player{display:none!important;opacity:0!important}
#scene.film-on #scene-video{filter:none!important;opacity:1!important}
#film-close{position:absolute;top:8px;right:8px;z-index:20;width:32px;height:32px;min-width:32px;padding:0;display:grid;place-items:center;border-radius:50%;background:var(--cream);color:var(--green);border:1px solid var(--gold);font:24px/1 Arial,sans-serif;cursor:pointer}

.dish-toggle{position:absolute;top:10px;right:10px;z-index:3;width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(246,239,226,.94);color:#234430;border:1px solid #c9a24d;font-size:14px;cursor:pointer;opacity:0;transition:opacity .2s;box-shadow:0 4px 12px rgba(0,0,0,.2)}
.dish-entry:hover .dish-toggle,.dish-toggle:focus-visible{opacity:1}
@media (hover:none){.dish-toggle{opacity:1}}

.welcome-film{max-width:1000px;margin:28px auto 36px;padding:0 20px;text-align:center}
.welcome-film h2{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;font-size:clamp(1.8rem,3.4vw,2.6rem);color:#234430;margin:0 0 14px}
#welcome-film{position:absolute;z-index:4;right:4%;top:20%;width:min(52%,620px);aspect-ratio:16/9;object-fit:cover;background:#1f2a20;border:2px solid #c9a24d;border-radius:14px;box-shadow:0 14px 40px rgba(0,0,0,.3)}

@media (max-width:760px){#welcome-film{position:relative;right:auto;top:auto;width:92%;margin:12px auto;display:block}}

#scene #welcome-film{position:absolute!important;inset:0!important;top:0!important;right:0!important;width:100%!important;height:100%!important;margin:0!important;aspect-ratio:auto!important;object-fit:cover;border:0!important;border-radius:0!important;box-shadow:none!important;z-index:0!important;background:transparent!important;display:block}
#scene #hotspots{position:absolute;inset:0;z-index:3}

#film-sound{position:absolute;z-index:6;left:50%;bottom:9%;transform:translateX(-50%);padding:12px 26px;border-radius:999px;background:#f6efe2;color:#234430;border:1px solid #c9a24d;font-family:'Cormorant Garamond',Georgia,serif;font-size:1.3rem;cursor:pointer;box-shadow:0 8px 22px rgba(0,0,0,.3)}

/* Welcome tour film: nothing covers the film */
body.home-film #room-content .content-head,body.home-film .scene-name-title{display:none!important}
body.home-film #film-sound{bottom:auto!important;top:24px!important}
video:not([controls])::-webkit-media-controls,video:not([controls])::-webkit-media-controls-enclosure,video:not([controls])::-webkit-media-controls-panel,video:not([controls])::-webkit-media-controls-overlay-play-button,video:not([controls])::-webkit-media-controls-start-playback-button{display:none!important;-webkit-appearance:none!important;opacity:0!important}

body:has(dialog[open]) .hotspot{visibility:hidden!important}
dialog.bible-dialog::backdrop{background:rgba(20,14,8,.92)}

/* Keep text buttons consistent; icon-only controls retain their own sizing. */
:root{--button-font-size:16px}
body button:not(.play):not(.modal-close):not(.tour-close):not(.dish-toggle):not(.lb-close):not(.sd-x):not(#avatar-close){font-size:var(--button-font-size)}
body .button-link,body .footer-contact-button,body .watch-back{font-size:var(--button-font-size)}
.scene.clean-scene.decor-scene .hotspot-label{font-size:clamp(8px,1.5cqw,var(--button-font-size))!important;overflow:visible;text-overflow:clip}
.scene .hotspot .hotspot-label{font-size:clamp(9px,1.45cqw,var(--button-font-size))!important;white-space:nowrap!important;overflow:visible!important;text-overflow:clip!important}

.prayer-waiting{font-weight:600;animation:prayerWait 1.6s ease-in-out infinite}@keyframes prayerWait{0%,100%{opacity:1}50%{opacity:.45}}@media (prefers-reduced-motion:reduce){.prayer-waiting{animation:none}}

/* Hide browser hover buttons on every background video (no controls): videos never receive hover */
video:not([controls]){pointer-events:none!important}
video:not([controls])::-webkit-media-controls-timeline,video:not([controls])::-webkit-media-controls-play-button,video:not([controls])::-webkit-media-controls-fullscreen-button,video:not([controls])::-internal-media-controls-overflow-button,video:not([controls])::-webkit-media-controls-toggle-closed-captions-button{display:none!important}
video::-webkit-media-controls,video::-webkit-media-controls-enclosure,video::-webkit-media-controls-panel,video::-webkit-media-controls-overlay-play-button,video::-internal-media-controls-overlay-cast-button{display:none!important;opacity:0!important}
/* Tour plays seamlessly in the homepage itself — no popup box (owner request) */
.tour-dialog{position:fixed;inset:0;width:100vw!important;max-width:100vw!important;height:100dvh;max-height:100dvh!important;margin:0;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;overflow:hidden}
.tour-dialog::backdrop{background:transparent!important}
.tour-header{position:absolute;top:0;right:0;z-index:2;padding:14px 18px!important;background:transparent}
.tour-header>div,.tour-header h2,.tour-kicker,.tour-details p:not(#tour-status){display:none}
.tour-close{background:rgba(251,245,232,.85)!important}
#tour-video{width:100vw;height:100dvh;max-height:100dvh!important;aspect-ratio:auto;object-fit:cover;background:transparent!important}
.tour-details{position:absolute;bottom:0;left:0;right:0;background:transparent}

/* Keep every room's actions level with Talk to Arlean, above the music bar. */
@media(min-width:601px){
 #scene #hotspots{position:fixed;inset:auto 0 102px;width:100%;max-width:1800px;height:54px;margin:0 auto;z-index:34;pointer-events:none}
 #scene #hotspots .hotspot{top:0!important;height:54px!important;pointer-events:auto}
}
body:has(.page-motion) .tree-page.room-content,body:has(.page-motion) .room-content.tree-page{background:color-mix(in srgb,var(--paper,#fbf6ee) 35%,transparent)!important}body:has(.tree-page) .page-motion::after{background:color-mix(in srgb,var(--cream) 18%,transparent)}

/* Full family tree view and landscape printing. */
.tree-full-page{max-width:calc(100% - 40px);width:1500px}
.tree-full-heading .intro{margin-bottom:0}
.tree-full-actions{align-items:center}
.tree-full-actions button{display:inline-flex;align-items:center;justify-content:center;gap:7px}
.tree-full-actions .tree-zoom-button{width:42px;height:42px;padding:0}
.tree-zoom-level{font:14px Arial,sans-serif;min-width:44px;text-align:center}
.tree-full-stage{margin-top:24px;border-top:1px solid var(--gold);padding-top:16px}
.tree-full-viewport{height:min(66dvh,760px);min-height:390px;overflow:auto;overscroll-behavior:contain;background:color-mix(in srgb,var(--paper) 72%,transparent);border:1px solid var(--line);border-radius:12px;scrollbar-color:var(--gold) var(--cream)}
.tree-full-center{display:grid;place-items:center;min-width:100%;min-height:100%;width:max-content;height:max-content;padding:24px}
.tree-full-scaler{position:relative;flex:none}
.tree-full-diagram{width:max-content;transform-origin:top left}
.tree-full-diagram .tree-top{min-width:0}
.tree-full-diagram .tree-card{box-shadow:0 3px 14px #48311714}
.tree-full-help{margin-top:12px!important}
@media(max-width:600px){.tree-full-page{max-width:100%}.tree-full-viewport{height:60dvh;min-height:360px}.tree-full-center{padding:14px}.tree-full-actions{gap:8px}.tree-full-actions button{font-size:14px!important}.tree-full-help{font-size:12px}}
@media print{
 @page{size:letter landscape;margin:8mm}
 body:has(.tree-full-page){padding:0;background:white}
 body:has(.tree-full-page) .page-motion,body:has(.tree-full-page) .tree-full-actions,body:has(.tree-full-page) .tree-full-help{display:none!important}
 body:has(.tree-full-page) .room-content.tree-full-page{display:block!important;position:static;width:100%;max-width:none;margin:0;padding:0;border:0;border-radius:0;box-shadow:none;background:white!important}
 .tree-full-page .tree-full-heading .eyebrow{margin-bottom:6px}.tree-full-page h1{font-size:25px;margin-bottom:6px}.tree-full-page .tree-full-heading .intro{font-size:14px;margin:0}
 .tree-full-page .tree-full-stage{margin-top:8px;padding-top:8px}
 .tree-full-page .tree-full-viewport{height:auto;min-height:0;overflow:visible;border:0;background:white}
 .tree-full-page .tree-full-center{display:block;min-width:0;min-height:0;width:auto;height:auto;padding:0}
 .tree-full-page .tree-card{print-color-adjust:exact;-webkit-print-color-adjust:exact;break-inside:avoid}
}

.topbar a.preview-label{font:600 12px Arial,sans-serif;letter-spacing:1.2px;color:#fffaf0;background:var(--green);border-radius:100px;padding:9px 15px;text-decoration:none;box-shadow:0 2px 12px #1d140b44}.topbar a.preview-label:hover{background:#365b3c}

/* Keep the room menu scrollable without showing its horizontal scrollbar. */
.room-nav{scrollbar-width:none;-ms-overflow-style:none}
.room-nav::-webkit-scrollbar{display:none;width:0;height:0}

/* Living recipe book section reveal */
.book-display.section-show{animation:book-section-show 1.6s ease}
@keyframes book-section-show{0%{box-shadow:0 0 0 0 rgba(214,178,116,.55)}60%{box-shadow:0 0 0 10px rgba(214,178,116,.18)}100%{box-shadow:0 0 0 0 rgba(214,178,116,0)}}
