@charset "UTF-8";
:root{--paper:#f0eee7;--ink:#343b30;--muted:#858778;--line:#d6d7cb;--serif:"Iowan Old Style","Palatino Linotype","Songti SC","STSong",Georgia,serif;--sans:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}body{font:14px/1.7 var(--sans);background:#e9e6df;color:var(--ink);-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}button:disabled{cursor:wait;opacity:.5}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}[hidden]{display:none!important}button:focus-visible,a:focus-visible{outline:2px solid #788368;outline-offset:5px}canvas:focus{outline:none}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}#world{position:absolute;inset:0;width:100%;height:100%;touch-action:none;display:block}#intro-shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#e9e6dffa 0%,#e9e6dff2 19%,#e9e6df85 39%,transparent 65%),linear-gradient(0deg,#e9e6dfb3,transparent 18%);transition:opacity 1.2s}.site-header{position:fixed;z-index:8;inset:0 0 auto;display:flex;align-items:center;justify-content:space-between;padding:27px 42px;pointer-events:none}.site-header>*{pointer-events:auto}.brand{display:flex;align-items:center;gap:20px;padding:0}.brand>span{font:35px/1 var(--serif);letter-spacing:-1px}.brand i{height:17px;width:1px;background:#8e938570}.brand small{font-size:9px;letter-spacing:2.4px;color:#757b6b}.top-actions{display:flex;align-items:center;gap:25px}.music-toggle{display:flex;align-items:center;gap:8px;font-size:11px;min-height:44px}.sound-bars{display:flex;align-items:center;gap:3px;height:18px}.sound-bars i{display:block;width:1.5px;height:5px;background:#5c6552}.sound-bars i:nth-child(2){height:13px}.sound-bars i:nth-child(3){height:9px}.sound-bars i:nth-child(4){height:15px}.music-toggle[aria-pressed=true] .sound-bars i{animation:sound .8s ease-in-out infinite alternate}.music-toggle[aria-pressed=true] .sound-bars i:nth-child(2n){animation-delay:.3s}.directory-open{font-size:12px;padding:11px 0;border-bottom:1px solid #8d9584;display:flex;gap:15px;align-items:center}.directory-open>span{font:11px var(--serif);opacity:.6}.help-open{border:1px solid #90998470;border-radius:50%;width:29px;height:29px;font:14px var(--serif);padding:0}.intro{position:absolute;left:7.1%;top:31%;z-index:4;transition:opacity .65s,transform .65s;max-width:480px}.eyebrow{font-size:9px;letter-spacing:2.2px;line-height:1.6;color:#8b8d7f;margin:0}.intro .eyebrow{font-size:8px;letter-spacing:2px}.intro h1{font-family:var(--serif);font-size:64px;font-weight:400;letter-spacing:3px;margin:24px 0 20px;line-height:1.25}.title-period{color:#9b9d8d}.intro-copy{font-size:14px;color:#777e6d;line-height:2.1;letter-spacing:1px;margin:0 0 29px}.primary-button{min-height:50px;display:flex;justify-content:space-between;align-items:center;gap:32px;background:var(--ink);color:#f5f2e9;font-size:12px;letter-spacing:1px;padding:13px 23px;transition:background .2s}.primary-button:hover{background:#515d47}.primary-button>span:last-child{font-size:19px;line-height:1}.intro .primary-button{min-width:196px}.intro-instruction{font-size:10px;letter-spacing:.4px;color:#929485;margin-top:16px}.intro-footer{position:absolute;z-index:3;bottom:32px;left:42px;right:42px;display:flex;justify-content:space-between;align-items:center;font-size:8px;letter-spacing:1.5px;color:#929487;pointer-events:none;transition:opacity .5s}.intro-footer>span:first-child{display:flex;align-items:center;gap:16px}.intro-footer i{display:inline-block;width:28px;height:1px;background:#c0c3b5}.demo-note{font-size:10px;letter-spacing:.5px}.walk-hud{position:absolute;inset:0;pointer-events:none;z-index:5}.room-title{position:absolute;top:105px;left:44px;font-size:12px;display:flex;align-items:center;gap:9px;letter-spacing:1px}.room-title small{font-size:8px;color:#969b89;letter-spacing:2px;margin-left:6px}.room-dot{width:5px;height:5px;border-radius:50%;background:#8c977b}#crosshair{position:absolute;top:50%;left:50%;width:4px;height:4px;background:#f2f0e9aa;border:1px solid #3b453440;border-radius:50%;transform:translate(-50%,-50%)}.desktop-controls{position:absolute;left:44px;bottom:35px;display:flex;gap:17px;align-items:center;color:#727a65}.desktop-controls p{font-size:11px;line-height:1.9;margin:0}.desktop-controls p>span{margin:0 5px;color:#a8ac9c}.desktop-controls small{font-size:10px;color:#949885}.key-grid{display:grid;grid-template-columns:repeat(3,24px);gap:3px}.key-grid .key-w{grid-column:2}.key-grid kbd:nth-child(2){grid-column:1}kbd{font-family:var(--sans);font-size:10px;min-width:23px;height:23px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #aeb5a17a;border-bottom-width:2px;background:#f6f3e994;border-radius:3px;padding:0 5px;color:#58634b}.door-prompt{position:absolute;bottom:42px;left:50%;transform:translateX(-50%);display:flex;align-items:center;flex-direction:column;gap:8px;pointer-events:auto;max-width:90%;text-align:center}#prompt-description{font-size:11px;color:#68735c;text-shadow:0 1px 8px #fff;letter-spacing:.7px}#interact-button{display:flex;align-items:center;gap:16px;background:#faf8f0ee;border:1px solid #e0e2d3;box-shadow:0 3px 25px #24311815;padding:11px 17px;font-size:12px;min-height:50px;white-space:nowrap}#interact-button>span:last-child{font-size:19px;margin-left:10px}.floorplan{position:absolute;bottom:28px;right:40px;width:128px;pointer-events:auto}.floorplan svg{display:block;width:128px;height:106px;opacity:.7}.floorplan button{font-size:10px;display:flex;justify-content:space-between;align-items:center;width:100%;border-top:1px solid #bfc5b370;min-height:36px;color:#777e6b}.floorplan button>span{font-size:17px}#door-labels{position:absolute;inset:0;pointer-events:none;z-index:3;overflow:hidden}.door-label{position:absolute;transform:translate(-50%,-50%);pointer-events:auto;display:flex;align-items:center;gap:10px;padding:9px 13px;min-height:44px;background:#f6f3e7df;border:1px solid #cdd1bf80;backdrop-filter:blur(8px);box-shadow:0 4px 14px #3f48350a;white-space:nowrap;transition:background .2s,opacity .3s;font-size:12px;letter-spacing:.4px}.door-label:hover{background:#fffcf4}.door-label .door-number{font:11px var(--serif);color:#929981}.door-label .door-arrow{font-size:14px;color:#969d86}.door-label.is-near{background:#343f2e;color:#fbf8ed;border-color:#343f2e}.door-label.is-near .door-number,.door-label.is-near .door-arrow{color:#b9c2a9}body[data-phase=loading] #door-labels,body[data-phase=intro] #door-labels{opacity:0;pointer-events:none}body[data-phase=loading] .door-label,body[data-phase=intro] .door-label{pointer-events:none}body[data-phase=walking] #intro,body[data-phase=entering] #intro,body[data-phase=opening] #intro,body[data-phase=memory] #intro{opacity:0;transform:translateY(12px);pointer-events:none}body[data-phase=walking] #intro-shade,body[data-phase=entering] #intro-shade,body[data-phase=opening] #intro-shade,body[data-phase=memory] #intro-shade{opacity:0}body[data-phase=walking] .intro-footer,body[data-phase=entering] .intro-footer,body[data-phase=opening] .intro-footer,body[data-phase=memory] .intro-footer{opacity:0;pointer-events:none}body[data-phase=opening] #door-labels,body[data-phase=entering] #door-labels,body[data-phase=memory] #door-labels{opacity:0;pointer-events:none}body[data-phase=opening] .door-label,body[data-phase=memory] .door-label{pointer-events:none}#transition-veil{position:absolute;inset:0;background:#f0eee7;z-index:7;opacity:0;pointer-events:none;transition:opacity .5s}#transition-veil.visible{opacity:1}.joystick,.touch-look-hint{display:none}.fallback{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:min(520px,calc(100% - 40px));padding:38px;background:var(--paper);z-index:15;border:1px solid var(--line)}.fallback h2{font:28px/1.6 var(--serif);margin:18px 0}.fallback p{font-size:13px;color:#828774;margin-bottom:23px}.toast{position:fixed;z-index:40;left:50%;bottom:120px;transform:translateX(-50%);font-size:12px;background:#333f2e;color:#f6f4eb;padding:11px 20px;max-width:calc(100% - 30px);width:max-content;text-align:center}
dialog{color:var(--ink);border:0;background:var(--paper);padding:0}dialog::backdrop{background:#222c2180;backdrop-filter:blur(6px)}.icon-button{display:inline-grid;place-items:center;width:44px;height:44px;font:27px/1 var(--sans);font-weight:200;color:#727b67;padding:0}.dialog-toolbar{display:flex;justify-content:space-between;align-items:center;gap:14px}.drawer{position:fixed;inset:0 0 0 auto;margin:0;width:440px;max-width:100%;height:100dvh;max-height:100dvh;padding:28px 33px;overflow:auto}.drawer h2{font:34px/1.65 var(--serif);font-weight:400;letter-spacing:2px;margin:28px 0 30px}.directory-item{display:grid;grid-template-columns:66px 1fr 15px;gap:17px;width:100%;align-items:center;padding:22px 0;border-top:1px solid var(--line);text-align:left}.directory-thumb{width:66px;height:83px;object-fit:cover;background:#dcdccf}.directory-empty{position:relative;display:grid;place-items:center;color:#b3b9a4}.directory-empty::after{content:"";height:46px;width:29px;border:1px solid #a6ae95;border-radius:15px 15px 0 0}.directory-item strong{display:block;font-family:var(--serif);font-size:21px;font-weight:400;letter-spacing:1px}.directory-item small{display:block;font-size:9px;color:#979b87;letter-spacing:.6px;margin:5px 0}.directory-item .dir-number{font-size:8px;letter-spacing:1.6px;color:#8e947c}.directory-item:hover strong{color:#6d7c5d}.directory-item>span:last-child{font-size:20px;color:#929b82}.drawer-note{font-size:10px;line-height:2;color:#9b9d8b;margin-top:30px}.help-dialog{max-width:510px;width:calc(100% - 32px);max-height:88dvh;padding:25px 34px 30px;overflow:auto}.help-dialog h2{font:28px var(--serif);font-weight:400;letter-spacing:1px;margin:24px 0}.help-list{display:grid;grid-template-columns:65px 1fr;gap:22px 15px;margin:30px 0}.help-list dt{font-size:12px;color:#56634c}.help-list dd{font-size:12px;color:#818774;margin:0;line-height:2}.help-list kbd{margin-right:3px}.help-footnote{border-top:1px solid var(--line);padding-top:19px;font-size:10px;color:#9a9d8b;line-height:1.9}
.memory-dialog{inset:0;width:100%;height:100dvh;max-width:100%;max-height:100dvh;margin:0;overflow:auto;overscroll-behavior:contain;background:#f0eee7}.memory-dialog::backdrop{background:#f0eee7}.memory-toolbar{padding:21px 42px;display:flex;align-items:center;justify-content:space-between;gap:20px;position:sticky;top:0;background:#f0eee7f2;backdrop-filter:blur(15px);z-index:5}.back-button{font-size:12px;display:flex;align-items:center;gap:13px;min-height:44px}.back-button span{font-size:19px}.memory-brand{font:26px var(--serif);letter-spacing:-.5px}.memory-toolbar .eyebrow{font-size:8px}#memory-content{max-width:1180px;margin:auto;padding:40px 42px 65px}.memory-heading-row{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;margin-bottom:32px}.memory-heading-row h1{font-family:var(--serif);font-size:44px;letter-spacing:3px;font-weight:400;margin:13px 0 6px;line-height:1.4}.memory-date{font-size:11px;color:#919681}.sample-label{font-size:10px;color:#9a9e8c;border:1px solid #d4d8c9;padding:3px 9px;white-space:nowrap;margin-bottom:8px}.memory-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(240px,1fr);gap:55px}.scene-wrap{min-width:0}.scene-frame{position:relative;aspect-ratio:3/2;background:#e0dfd2;overflow:hidden}.scene-frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;user-select:none;-webkit-user-drag:none}.scene-sketch{opacity:1;transition:opacity .8s ease-in-out}.scene-frame.revealed .scene-sketch{opacity:0}.scene-state{position:absolute;left:15px;bottom:14px;background:#f5f1e6de;padding:4px 9px;font-size:9px;letter-spacing:1px;color:#7e836f}.scene-under{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px 0;border-bottom:1px solid var(--line)}.hold-button{min-height:44px;padding:8px 17px;background:#dfe2d3;display:flex;align-items:center;gap:16px;font-size:11px;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;color:#556148}.hold-button[aria-pressed=true]{background:#556148;color:#faf7ed}.hold-button>span:first-child{font-size:17px}.scene-under>p{font-size:9px;line-height:1.8;color:#969a86;margin:0;text-align:right}.scene-provenance{font-size:9px;color:#9c9e8e;margin:11px 0 25px;line-height:1.8}.album-heading{display:flex;align-items:center;justify-content:space-between;margin:28px 0 15px}.album-heading h2{font:22px var(--serif);font-weight:400;letter-spacing:2px;margin:0}.album-heading>span{font-size:9px;color:#969b87}.album-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.album-photo{padding:0;text-align:left}.album-photo img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}.album-photo>span{display:flex;justify-content:space-between;margin:8px 0;font-size:10px;color:#939884}.album-photo small{font:10px var(--serif)}.memory-story{padding-top:3px}.visit-section{padding-bottom:24px;border-bottom:1px solid var(--line);margin-bottom:29px}.visit-list{display:flex;gap:7px;flex-wrap:wrap;margin-top:11px}.visit-button{font-size:10px;padding:7px 11px;border:1px solid var(--line);min-height:35px}.visit-button[aria-current=true]{background:#e2e5d6;border-color:#c6cfb6}.story-section{margin-bottom:30px}.story-section h2{font:22px var(--serif);font-weight:400;letter-spacing:1px;margin:9px 0 14px}.story-section p{font-size:13px;line-height:2;white-space:pre-wrap;color:#747c65}.story-section .missing{font-size:12px;color:#a0a38f}.story-section .missing-help{font-size:10px;color:#a7a996}.story-letter{border-top:1px solid var(--line);padding-top:25px;margin-top:25px}.memory-empty{aspect-ratio:3/2;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:20px;background:#e2e2d6;color:#9ba28b}.empty-door{width:75px;height:125px;border:1px solid #9ba68c;position:relative}.empty-door::before{content:"";position:absolute;width:4px;height:16px;background:#9ba68c;right:10px;top:57%}.memory-empty>span{font-size:11px;letter-spacing:1px}.empty-album{border:1px solid #d5d9c9;padding:33px 20px;color:#9da58d;font-size:12px;text-align:center}.memory-end{display:flex;justify-content:center;margin-top:50px;padding-top:25px;border-top:1px solid #dedfd4}.memory-end button{font-size:11px;color:#969d86;min-height:44px;letter-spacing:1px}
.photo-dialog{width:100%;max-width:100%;height:100dvh;max-height:100dvh;margin:0;background:#20271e;color:#efece1;overflow:hidden}.photo-dialog[open]{display:flex;flex-direction:column}.photo-toolbar{display:flex;align-items:center;gap:25px;padding:15px 30px;font-size:12px}.photo-toolbar>span:first-child{margin-right:auto}.photo-toolbar>span:nth-child(2){color:#a0aa92;font-size:11px;letter-spacing:2px}.photo-toolbar .icon-button{color:#d2d9c4}.photo-stage{flex:1;min-height:0;position:relative;display:grid;place-items:center;touch-action:pan-y}.photo-stage img{height:100%;width:100%;object-fit:contain;-webkit-user-drag:none;user-select:none}.photo-arrow{position:absolute;top:50%;width:46px;height:46px;display:grid;place-items:center;background:#2c3827bb;border:1px solid #6e7e5d77;border-radius:50%;color:#f6f2e4;font-size:20px}.photo-arrow.prev{left:25px}.photo-arrow.next{right:25px}#photo-caption{font-size:11px;color:#a7b09b;text-align:center;padding:17px;margin:0;flex-shrink:0}
@keyframes sound{to{height:4px}}
@media(max-width:1000px){.intro h1{font-size:52px}.intro{left:6%;max-width:380px}.site-header{padding:23px 29px}.brand small{font-size:8px;letter-spacing:1.4px}.intro-footer{left:29px;right:29px}.desktop-controls{left:29px}.floorplan{right:25px}.room-title{left:29px}.memory-grid{gap:30px}.memory-toolbar{padding:17px 28px}#memory-content{padding:28px}.door-label{font-size:11px;padding:8px 10px;gap:7px}}
@media(max-width:700px){.site-header{padding:18px 20px}.brand>span{font-size:29px}.brand{gap:13px}.brand small,.brand i{display:none}.top-actions{gap:17px}.music-word{display:none}.music-toggle{min-width:30px;justify-content:center}.directory-open{font-size:11px;gap:8px;padding:9px 0}.help-open{width:27px;height:27px}.intro{top:auto;bottom:19%;left:27px;right:27px;max-width:none}.intro h1{font-size:43px;letter-spacing:2px;margin:15px 0 13px}.intro .eyebrow{font-size:6.5px;letter-spacing:1.3px}.intro-copy{font-size:12px;line-height:1.9;margin-bottom:22px}.intro .primary-button{min-width:185px;min-height:49px;font-size:11px}.intro-instruction{font-size:9px;margin-top:12px}#intro-shade{background:linear-gradient(0deg,#e9e6dffa 5%,#e9e6dff2 24%,#e9e6df77 46%,transparent 72%)}.intro-footer{bottom:25px;left:27px;right:27px;flex-direction:column;align-items:flex-start;gap:8px;font-size:7px}.demo-note{font-size:9px}.intro-footer>span:first-child{gap:12px}.intro-footer i{width:22px}.room-title{left:21px;top:87px;font-size:11px}.room-title small{font-size:7px;letter-spacing:1.5px}.desktop-controls{display:none}.floorplan{width:80px;right:18px;bottom:162px}.floorplan svg{width:80px;height:67px}.floorplan button{font-size:9px;min-height:33px}.floorplan button>span{font-size:15px}.door-prompt{bottom:42px;left:auto;right:21px;transform:none;max-width:54%;align-items:flex-end}.door-prompt #prompt-description{font-size:10px;max-width:150px;text-align:right;line-height:1.8}#interact-button{font-size:11px;gap:10px;padding:10px 13px;min-height:48px}#interact-button kbd{display:none}#interact-button>span:last-child{margin-left:0}.joystick{display:block;position:absolute;left:26px;bottom:40px;width:106px;height:106px;border:1px solid #7f8d6a50;border-radius:50%;background:#faf7e847;backdrop-filter:blur(3px);pointer-events:auto;touch-action:none;user-select:none;-webkit-user-select:none}.joystick::before{content:"";position:absolute;inset:12px;border:1px solid #74856125;border-radius:50%}.joystick-knob{position:absolute;left:33px;top:33px;width:38px;height:38px;border-radius:50%;background:#e9eadea8;border:1px solid #8d9b795c;box-shadow:0 2px 9px #3d4b2920;pointer-events:none}.joystick-axis::before,.joystick-axis::after{content:"";position:absolute;background:#909e7a40}.joystick-axis::before{width:1px;height:78px;left:52px;top:14px}.joystick-axis::after{height:1px;width:78px;top:52px;left:14px}.joystick>span{position:absolute;left:0;right:0;text-align:center;top:113px;font-size:8px;color:#859273;letter-spacing:2px}.touch-look-hint{display:block;position:absolute;bottom:23px;left:50%;transform:translateX(-50%);font-size:8px;letter-spacing:1px;color:#8c977e;white-space:nowrap}.door-label{font-size:10px;padding:7px 9px;gap:6px;min-height:44px}.door-number{font-size:9px!important}.door-label .door-arrow{font-size:12px}.drawer{width:100%;padding:22px 26px}.drawer h2{font-size:31px;margin:22px 0 23px}.directory-item{padding:18px 0}.directory-item strong{font-size:22px}.help-dialog{padding:20px 25px 25px}.help-dialog h2{font-size:25px}.help-list{grid-template-columns:43px 1fr;gap:19px 13px}.help-list dd{font-size:11px}.help-dialog .eyebrow{font-size:7px;letter-spacing:1.3px}.memory-toolbar{padding:12px 19px;gap:9px}.back-button{font-size:11px;gap:8px}.memory-brand{font-size:24px}.memory-toolbar .eyebrow{font-size:7px;letter-spacing:1px}#memory-content{padding:24px 21px 40px}.memory-heading-row{margin-bottom:24px}.memory-heading-row h1{font-size:32px;letter-spacing:2px;margin:11px 0 7px}.memory-heading-row .eyebrow{font-size:8px;letter-spacing:1.6px}.memory-date{font-size:10px}.sample-label{font-size:8px;padding:2px 6px;align-self:flex-start;margin-top:3px}.memory-grid{grid-template-columns:1fr;gap:30px}.scene-under{gap:10px;padding:13px 0}.hold-button{font-size:11px;gap:10px;padding:9px 13px}.scene-under>p{font-size:8px}.scene-state{font-size:8px;left:10px;bottom:10px}.scene-provenance{font-size:9px;margin:10px 0 22px}.album-heading{margin-top:24px}.album-heading h2{font-size:20px}.album-grid{gap:11px}.album-photo>span{font-size:9px}.memory-story{padding-top:24px;border-top:1px solid var(--line)}.story-section h2{font-size:22px}.story-section p{font-size:13px}.story-section .missing-help{font-size:11px}.story-section .missing{font-size:13px}.visit-button{font-size:11px;min-height:40px}.photo-toolbar{padding:calc(12px + env(safe-area-inset-top)) 17px 10px;font-size:11px;gap:13px}.photo-arrow{width:42px;height:42px}.photo-arrow.prev{left:12px}.photo-arrow.next{right:12px}#photo-caption{font-size:10px;padding-bottom:calc(23px + env(safe-area-inset-bottom))}.fallback{padding:30px}.fallback h2{font-size:24px}}
@media(pointer:coarse) and (min-width:701px){.joystick{display:block;position:absolute;left:35px;bottom:35px;width:110px;height:110px;border:1px solid #7f8d6a70;border-radius:50%;background:#f7f5eb70;pointer-events:auto;touch-action:none}.joystick-knob{position:absolute;width:40px;height:40px;left:35px;top:35px;border-radius:50%;background:#8a967955}.joystick>span{display:none}.desktop-controls{display:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition-duration:.15s!important}}
/* The residence: dark walnut, soft stone, bronze and evening light. */
body{background:#282c2b}.site-header{padding:23px 34px;color:#f3ead9;background:linear-gradient(#181c1db3,transparent);text-shadow:0 1px 10px #0008}.brand small{color:#c8c1b2}.brand i{background:#d4c7ad55}.brand>span{font-size:32px}.top-actions{gap:22px}.nav-text{font-size:11px;min-height:44px;letter-spacing:.5px;padding:0 2px}.directory-open{border-bottom-color:#c5ad7b66}.sound-bars i{background:#d2bc96}.help-open{width:44px;height:44px;border-color:#e0cdbf44}.site-header button:focus-visible{outline-color:#dcc49b}#intro-shade{background:linear-gradient(0deg,#111716e8 0%,#171d1b77 26%,transparent 62%),linear-gradient(90deg,#1e25213d,transparent 45%)}.intro{left:5.4%;top:auto;bottom:15%;max-width:520px;color:#f6efdf}.intro .eyebrow{color:#c8bba2;letter-spacing:2.5px;font-size:8px}.intro h1{font-size:53px;line-height:1.48;letter-spacing:4px;margin:18px 0 16px;text-shadow:0 2px 25px #0003}.title-period{color:#baa580}.intro-copy{color:#d1c8b7;font-size:12px;letter-spacing:1.5px;margin-bottom:25px}.intro .primary-button{background:#e0d0b5;color:#292e29;font-size:12px;min-width:210px;min-height:51px}.intro .primary-button:hover{background:#efe1c6}.intro-instruction{color:#aea99b;font-size:10px}.intro-footer{left:5.4%;right:5.4%;color:#b3ad9d;font-size:8px}.intro-footer i{background:#a9977455}.intro-footer .demo-note{font-size:10px;color:#c4b9a1}.room-title{top:94px;left:35px;color:#e8dfcf;text-shadow:0 1px 10px #000b}.room-title small{color:#c3b79f}.room-dot{background:#d4b57f}.desktop-controls{left:35px;bottom:30px;color:#d6cdbc;padding:12px 15px;background:#1e2423aa;border:1px solid #e5d2a51a;border-radius:6px;backdrop-filter:blur(12px)}.desktop-controls small{color:#aaa999}.desktop-controls kbd{background:#e0d1b515;border-color:#cdbb9f55;color:#e1d5be}.door-prompt{bottom:36px}#prompt-description{color:#e0d7c5;text-shadow:0 1px 9px #000b;letter-spacing:.4px}#interact-button{background:#ded1b7;color:#242d28;border-color:#d2c09b;box-shadow:0 7px 24px #0003;border-radius:4px}#interact-button kbd{background:#f8edd855;border-color:#81785d66;color:#3e4438}.floorplan{right:33px;bottom:28px;width:145px;background:#1a201ec7;border:1px solid #e4d5b322;padding:10px;border-radius:7px;backdrop-filter:blur(10px)}.floorplan svg{width:100%;height:auto;opacity:.9}.floorplan button{color:#d3c8b0;min-height:37px;border-color:#b7a68533}.floorplan #mini-plan-open{display:block;border:0;padding:0;min-height:0;margin-bottom:5px}.door-label{background:#202826cc;border:1px solid #c4ae8055;color:#f4e8ce;box-shadow:0 3px 24px #0002;border-radius:5px;padding:10px 14px;backdrop-filter:blur(12px)}.door-label:hover{background:#323c33}.door-label .door-number,.door-label .door-arrow{color:#c2ac85}.door-label.is-near{background:#e2d0ad;color:#2b332a;border-color:#f2dbb7}.door-label.is-near .door-number,.door-label.is-near .door-arrow{color:#75674e}.toast{background:#e0d0b5;color:#333b30;border:1px solid #c5b28d;border-radius:4px}.touch-look-hint{color:#d7cab0}.joystick{background:#18201b88;border-color:#ccb58b66;backdrop-filter:blur(8px)}.joystick-knob{background:#d2b98c99;border-color:#decba488}.joystick::before{border-color:#cbb28533}.joystick>span{color:#d5c6a8}body[data-phase=overview] #intro,body[data-phase=overview] .intro-footer,body[data-phase=overview] #intro-shade{opacity:0;pointer-events:none}body[data-phase=overview] #door-labels{display:none}.overview-panel{position:absolute;z-index:5;bottom:25px;left:35px;max-width:390px;padding:23px 25px;background:#1d2523db;backdrop-filter:blur(16px);border:1px solid #bbaa8744;border-radius:7px;color:#e9dfcb}.overview-panel .eyebrow{color:#aa9c81;font-size:8px}.overview-panel h2{font:24px var(--serif);font-weight:400;margin:12px 0}.overview-panel p:not(.eyebrow){font-size:11px;color:#afa996}.overview-panel #overview-rooms{display:flex;flex-wrap:wrap;gap:7px;margin-top:16px}.overview-panel button{border:1px solid #ac9f7d55;padding:7px 11px;min-height:40px;font-size:11px}.overview-panel button:hover{background:#c8b18a22}
.drawer,.help-dialog,.plan-dialog,.collection-dialog{--ink:#e6decd;--line:#c1b39529;--paper:#252c29;color:var(--ink);background:var(--paper)}.drawer .icon-button,.help-dialog .icon-button,.plan-dialog .icon-button,.collection-dialog .icon-button{color:#cebea0}.drawer .eyebrow,.help-dialog .eyebrow,.plan-dialog .eyebrow,.collection-dialog .eyebrow{color:#b9a783}.drawer h2{font-size:32px;line-height:1.6;margin:22px 0 30px}.drawer-note{color:#a69d8a}.collection-links{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:5px 0}.collection-links button{display:flex;align-items:center;text-align:left;gap:15px;width:100%;min-height:54px;font-size:12px}.collection-links button>span{font:11px Georgia;color:#a58e66}.collection-links b,.trip-list b{font-weight:400;margin-left:auto;color:#ac9672}.section-caption{font-size:10px;color:#b6a98f;margin:27px 0 12px;letter-spacing:1px}.trip-list>button{display:flex;align-items:center;gap:18px;text-align:left;width:100%;padding:15px 2px;border-bottom:1px solid var(--line);min-height:78px}.trip-number{font:26px Georgia;color:#b99e71;min-width:36px}.trip-list strong{font-size:13px;font-weight:400;letter-spacing:1px}.trip-list small{display:block;color:#958f80;font-size:9px;margin-top:5px}.trip-list>button:hover,.collection-links button:hover{background:#c5ad8220}.gallery-link{width:100%;display:flex;justify-content:space-between;background:#d7c5a2;color:#28312a;padding:14px 18px;min-height:48px;font-size:12px;margin-top:23px}.demo-details{margin-top:28px;color:#aaa18e;font-size:11px}.demo-details summary{padding:12px 0;cursor:pointer}.demo-details button{display:flex;width:100%;align-items:center;padding:11px 0;border-bottom:1px solid var(--line);min-height:44px;text-align:left}.demo-details small{margin-left:10px;color:#817c6f}.demo-details button>span{margin-left:auto}.help-list dt{color:#c9b999}.help-list dd{color:#b2aa98}.help-list kbd{background:#d7c5a21a;color:#ded0b5;border-color:#b7a68055}.help-footnote{color:#9b9685}.plan-dialog{width:min(760px,calc(100% - 28px));max-height:92dvh;overflow:auto;padding:23px 30px 30px}.plan-dialog h2,.collection-dialog h2{font:29px var(--serif);font-weight:400;margin:17px 0 12px;letter-spacing:1px}.plan-caption{color:#aea58f;font-size:11px;margin:0 0 22px}#large-plan{width:100%;max-height:300px;display:block;margin:10px auto 20px;background:#202623;border:1px solid #b6a68022;padding:10px}#room-list{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}#room-list button{position:relative;padding:15px 12px;text-align:left;border:1px solid #bdab8644;min-height:98px}#room-list button:hover{background:#b6a07622}#room-list button>span{font:10px Georgia;color:#b39a70}#room-list strong{display:block;font-size:12px;font-weight:400;margin:5px 0}#room-list small{display:block;font-size:6px;letter-spacing:.9px;color:#9d9684}#room-list b{position:absolute;right:10px;top:12px;font-weight:400;color:#ad9b78}.collection-dialog{width:min(600px,calc(100% - 28px));max-height:90dvh;overflow:auto;padding:24px 32px}.collection-dialog .eyebrow{font-size:8px}.collection-dialog h2{font-size:28px}.collection-empty{text-align:center;min-height:290px;padding:26px 10px 38px;display:flex;flex-direction:column;align-items:center;justify-content:center}.empty-symbol{font:56px Georgia;color:#ab9267;line-height:1.5}.journey-symbol{font-size:70px;letter-spacing:-3px}.collection-empty h3{font:21px var(--serif);font-weight:400;letter-spacing:1px;margin:20px 0 11px}.collection-empty p{font-size:11px;color:#a9a18d;margin:0}.pending-badge{font-size:10px;border:1px solid #ae9b7244;padding:3px 12px;color:#ac9e83;margin-top:24px}.collection-back{min-height:48px;display:block;width:100%;border-top:1px solid #ae9b7233;font-size:11px;color:#c3b493;padding-top:12px}.resident-portrait img{max-height:58dvh;max-width:100%;object-fit:contain;margin:20px auto;background:#1b211d}.resident-portrait p{font-size:11px;color:#a99f8b;line-height:1.9;text-align:center}.saved-items img{max-height:260px;object-fit:contain}.saved-items h3{font-size:18px;font-weight:400}.saved-items p{font-size:12px;color:#bbb19b}.trip-places button{display:block;padding:15px;border-bottom:1px solid #ae9b7233;width:100%;text-align:left}
@media(max-width:1000px){.top-actions{gap:14px}.brand small{display:none}.brand i{display:none}}
@media(max-width:700px){.site-header{padding:13px 17px}.brand>span{font-size:27px}.top-actions{gap:8px}.nav-text{font-size:10px;padding:0 3px}#overview-toggle{display:none}.directory-open{font-size:10px;gap:5px}.music-toggle{min-width:28px}.help-open{width:36px;height:44px;font-size:13px;border:0}.intro{left:25px;right:25px;bottom:13.5%}.intro h1{font-size:37px;line-height:1.5;letter-spacing:2px;margin:15px 0 13px}.intro .eyebrow{font-size:6px;letter-spacing:1.6px}.intro-copy{font-size:11px;letter-spacing:.4px;margin-bottom:23px}.intro .primary-button{min-width:190px;font-size:11px;min-height:50px}.intro-instruction{font-size:9px}.intro-footer{left:25px;right:25px;bottom:23px;font-size:6px;gap:5px}.intro-footer .demo-note{font-size:9px}#intro-shade{background:linear-gradient(0deg,#121915eb 0%,#18221bb0 24%,#18221b33 57%,transparent 75%)}.room-title{left:19px;top:78px;font-size:11px;gap:7px}.room-title small{font-size:6px;letter-spacing:1px}.floorplan{width:93px;right:17px;bottom:176px;padding:7px}.floorplan svg{width:100%;height:auto}.floorplan button{min-height:33px;font-size:9px}.door-prompt{right:18px;bottom:47px;max-width:55%}#prompt-description{font-size:9px!important;max-width:170px!important}.door-label{font-size:11px;padding:9px 11px;gap:7px}.joystick{left:24px;bottom:44px;width:106px;height:106px}.touch-look-hint{font-size:8px;bottom:19px}.overview-panel{left:16px;right:16px;bottom:20px;max-width:none;padding:16px}.overview-panel h2{font-size:22px}.overview-panel button{min-height:40px}.drawer{padding:21px 25px}.drawer h2{font-size:29px}.plan-dialog{padding:17px 19px 24px}.plan-dialog h2{font-size:26px}.plan-caption{font-size:10px;line-height:1.8}#room-list{grid-template-columns:repeat(2,1fr);gap:7px}#room-list button{min-height:83px;padding:10px 12px}#room-list small{font-size:7px}.collection-dialog{padding:18px 23px}.collection-dialog h2{font-size:24px}.collection-empty{min-height:260px;padding:22px 0 30px}.collection-empty h3{font-size:19px}.collection-empty p{font-size:10px;line-height:1.9}.collection-dialog .eyebrow{font-size:7px;letter-spacing:1.3px}.help-dialog{padding:20px 24px}.toast{font-size:11px;bottom:155px}}
/* Rain-night residence: only the essential controls remain in view. */
.home-reset{position:absolute;right:32px;bottom:32px;pointer-events:auto}.home-reset button{min-height:44px;padding:9px 16px;background:#202826b8;border:1px solid #cbb89744;border-radius:5px;color:#e6dbc4;font-size:11px;backdrop-filter:blur(12px)}.home-reset span{margin-left:14px}.retry-button{padding:12px 22px;margin:0 10px 14px 0;border:1px solid #9a8e76;min-height:44px;border-radius:3px}#transition-veil{background:#141d24;transition:opacity .18s}#quality-toggle{font-size:10px;min-width:70px}.fallback .primary-button{min-height:44px}.door-label{max-width:220px}.door-label span:nth-child(2){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:700px){.home-reset{right:18px;bottom:167px}.home-reset button{font-size:10px;padding:7px 11px}.top-actions{gap:8px}#quality-toggle{min-width:40px;font-size:9px}.intro-copy{letter-spacing:.3px}.door-label{max-width:190px}#prompt-description{max-width:160px!important}.brand>span{font-size:25px}.site-header{padding-left:16px;padding-right:13px}}

/* A shared notebook, kept in the home rather than in one browser. */
.notebook-dialog{width:min(1060px,92vw);max-height:89vh;border:0;border-radius:3px;background:#eee9df;color:#343a33;padding:32px 38px;box-shadow:0 25px 100px #0008}.notebook-dialog::backdrop{background:#0f1712bb;backdrop-filter:blur(8px)}.notebook-top{display:flex;align-items:flex-start;justify-content:space-between}.notebook-top h2{font:400 32px Georgia,'Songti SC',serif;margin:7px 0 24px}.notebook-top .eyebrow{color:#747a68;font-size:10px;letter-spacing:2px}.notebook-tabs{display:flex;border-bottom:1px solid #cfc9ba;gap:30px;margin-bottom:24px}.notebook-tabs button{border:0;background:none;padding:0 0 16px;color:#8d8e7e;font-size:15px;cursor:pointer;border-bottom:2px solid transparent}.notebook-tabs button[aria-selected=true]{color:#364c40;border-color:#364c40}.notebook-tabs span{font-size:11px;margin-left:12px;color:#8c8f80}.notebook-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:42px}.note-intro{font-size:13px;color:#747965;margin:0 0 25px;line-height:1.8}.note-composer label{display:block;font-size:12px;margin:0 0 17px;color:#5d6654}.note-composer input,.note-composer textarea{display:block;box-sizing:border-box;width:100%;border:1px solid #c9c7b8;border-radius:2px;background:#f7f4ed;padding:12px 13px;margin-top:8px;color:#344135;font:inherit;font-size:14px;line-height:1.7;outline:0;resize:vertical}.note-composer input:focus,.note-composer textarea:focus{border-color:#72836b;box-shadow:0 0 0 2px #82917920}.note-composer small{color:#969889;margin-left:9px}.note-counter{display:flex;justify-content:space-between;font-size:10px;color:#8d9182;margin:-9px 0 18px}.note-save{width:100%;display:flex;justify-content:space-between;align-items:center;padding:15px 18px;border:0;background:#3f5545;color:#f2ecdc;font:inherit;font-size:14px;cursor:pointer}.note-save:disabled{opacity:.5;cursor:wait}.note-save-hint,.note-timezone{font-size:10px;color:#939584;line-height:1.8}.note-archive{border-left:1px solid #d4cebe;padding-left:30px}.note-archive-top{display:flex;justify-content:space-between;font-size:12px;align-items:center}.note-archive-top button{border:0;background:none;color:#727d67;cursor:pointer}#note-sync{font-size:10px;min-height:16px;color:#969986;margin:10px 0 18px}.saved-note{position:relative;background:#f9f6ef;border:1px solid #ded8c9;border-radius:2px;padding:20px 22px;margin-bottom:15px;box-shadow:2px 4px 10px #62543707}.note-meta{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.note-meta strong{font-size:12px;font-weight:500;color:#58634d}.note-meta time{font-size:10px;color:#a0a18e}.saved-note-body{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.95;margin:20px 0 12px}.saved-note h3{font-size:17px;font-family:Georgia,'Songti SC',serif;font-weight:400;margin:20px 0 8px}.note-delete{border:0;background:none;color:#9c9c8a;font-size:10px;cursor:pointer;padding:4px 0}.letter-date{font-size:10px;color:#929883}.sealed-letter{background:repeating-linear-gradient(135deg,#f6f1e7,#f6f1e7 12px,#f2ecdf 12px,#f2ecdf 13px)}.sealed-mark{font-size:38px;color:#7b866b;text-align:center;margin-top:15px}.sealed-text{text-align:center;font-size:11px;color:#8c947d}.letter-seal{position:absolute;bottom:18px;right:20px;border:1px solid #b0a18c;color:#9a876b;padding:5px 9px;font-size:10px;transform:rotate(-8deg)}.notes-empty{text-align:center;padding:60px 10px;color:#92977e}.notes-empty>span{font:50px Georgia;color:#c0bea7}.notes-empty h3{font-weight:400;font-size:18px}.notes-empty p{font-size:12px;line-height:1.8}.note-login{color:#526d52;font-size:12px}#note-error{color:#974d3e;font-size:12px;line-height:1.6}#note-more{border:1px solid #c9c7b8;background:none;padding:9px 15px;color:#6f7d63;cursor:pointer;width:100%;font-size:12px}.notebook-dialog [hidden]{display:none!important}

/* v9: the home itself is the navigation; restrained, contextual object cues. */
.site-header{justify-content:flex-end;padding:25px 38px}.top-actions{gap:21px}.top-actions button{color:#eee5d2;opacity:.82;transition:opacity .2s}.top-actions button:hover{opacity:1}.help-open{width:35px;height:35px;min-width:35px;font-size:13px;border-color:#dfd6c02e}.music-toggle{font-size:10px}#quality-toggle{font-size:10px}.intro{top:27%;left:6.5%;max-width:650px}.intro h1{font-size:clamp(44px,5.2vw,76px);letter-spacing:3px;line-height:1.26;margin-top:25px}.home-title-last{letter-spacing:9px}.intro .primary-button{border:1px solid #e7dbc052;border-radius:40px;min-width:215px;padding:15px 26px;background:#e3d3b1;color:#384039;box-shadow:0 7px 30px #161c1720;transition:transform .22s,background .22s}.intro .primary-button:hover{background:#eee1c5;transform:translateY(-2px)}.intro .primary-button>span:last-child{font-size:21px}.intro-copy{font-size:13px;letter-spacing:.7px}.intro-instruction{font-size:10px!important;letter-spacing:1px}.intro-footer .demo-note{font-size:11px;letter-spacing:2px}.help-home{border-bottom:1px solid #a19d893d;font-size:12px;padding:10px 0;color:#58624c}.memory-brand{font-size:15px;letter-spacing:2px}
body .door-label,body .door-label.is-near{background:transparent;border:0;backdrop-filter:none;box-shadow:none;border-radius:0;color:#fff4dd;padding:14px;min-width:42px;min-height:42px;max-width:260px;gap:10px;transform:translate(-21px,-21px);font-size:11px;text-shadow:0 1px 10px #171f17;transition:opacity .25s}.hotspot-dot{width:10px;height:10px;min-width:10px;display:block;border:1px solid #fbefcebb;background:#d9c6a33d;border-radius:50%;box-shadow:0 0 0 4px #212a2326;transition:transform .25s,background .25s}.hotspot-caption{display:block;color:#fff4dd;letter-spacing:.9px;opacity:0;transform:translateX(-5px);transition:opacity .25s,transform .25s}.door-label.is-near .hotspot-caption,.door-label.is-hovered .hotspot-caption,.door-label:hover .hotspot-caption,.door-label:focus-visible .hotspot-caption{opacity:1;transform:translateX(0)}.door-label.is-hovered .hotspot-dot,.door-label:hover .hotspot-dot{background:#f3e2bd;transform:scale(1.18)}.door-label:focus-visible{outline:1px solid #e6d5b373;outline-offset:0;border-radius:20px}#crosshair{opacity:.28;width:3px;height:3px;border:none;transition:opacity .3s}#crosshair.has-object{opacity:.10}
body .desktop-controls{left:35px;bottom:30px;padding:0;background:none;backdrop-filter:none;border:0;box-shadow:none;color:#f1e7d1;opacity:.65;gap:12px}.desktop-controls .key-grid{display:none}.desktop-controls p{font-size:10px;line-height:1.9;letter-spacing:.7px}.desktop-controls small{font-size:9px;color:#d7d0bd}.walk-keys{font-size:9px;letter-spacing:3px;color:#eee0bf!important;margin-right:10px!important}.door-prompt{bottom:32px;gap:6px}body #interact-button{padding:9px 17px 9px 10px;min-height:38px;border:1px solid #e5d9bc30;background:#26332bcc;box-shadow:0 6px 22px #11191119;backdrop-filter:blur(10px);border-radius:24px;gap:10px;color:#efe6d3;font-size:11px;letter-spacing:.5px;transition:background .2s,transform .2s}body #interact-button:hover{background:#34453ce8;transform:translateY(-1px)}body #interact-button kbd{border:1px solid #e5d9bc44;border-radius:50%;width:23px;height:23px;min-width:23px;padding:0;background:transparent;color:#ddcba3;font-size:10px}body #interact-button>span:last-child{font-size:11px;margin:0}body #prompt-description{font-size:10px;text-shadow:0 1px 6px #171f17;color:#ded5be;letter-spacing:.5px}.home-reset{right:35px;bottom:29px}.home-reset button{background:none;border:0;backdrop-filter:none;color:#dfd7c4;min-height:35px;padding:6px 0;opacity:.68;font-size:10px}.home-reset button:hover{opacity:1}.home-reset span{margin-left:8px}.joystick,.touch-look-hint{display:none!important}
.physical-album{display:grid;gap:12px;margin:28px 0}.physical-album button{text-align:left;padding:21px 24px;border:1px solid #d4c7ad;background:#e8ddc8;color:#424d3f;font:20px var(--serif);transition:transform .2s}.physical-album button:hover{transform:translateY(-2px)}.physical-album small{display:block;margin-top:9px;font:10px var(--sans);letter-spacing:1.5px;color:#838572}.example-note{font-size:12px;line-height:1.8;color:#8d8a78}
@media(prefers-reduced-motion:reduce){.hotspot-dot,.hotspot-caption,body #interact-button,.intro .primary-button{transition:none}}

/* v14: two residents, one home. The portraits are renders of the actual models. */
body .intro{top:50%;bottom:auto;left:6.5%;max-width:550px;width:45vw;transform:translateY(-50%)}
body .intro h1{font-size:clamp(40px,4.2vw,64px);margin:20px 0 24px;line-height:1.24}
#intro-shade{background:linear-gradient(90deg,#101b18db 0%,#18221bb8 26%,#18221b23 64%,transparent 90%),linear-gradient(0deg,#111817b3,transparent 30%)}
.character-picker{border:0;padding:0;margin:0 0 25px;max-width:490px}.character-picker legend{font-size:12px;letter-spacing:1.2px;color:#dfd7c6;margin-bottom:14px;padding:0}
.character-options{display:flex;gap:12px}.character-option{position:relative;display:flex;align-items:center;gap:12px;flex:1;min-width:0;border:1px solid #e3d7bc24;border-radius:10px;background:#1b282487;backdrop-filter:blur(18px);padding:11px 12px;cursor:pointer;transition:border-color .2s,background .2s}
.character-option:has(input:checked){border-color:#cfb991aa;background:#53605294}.character-option:has(input:focus-visible){outline:2px solid #f1dcb2;outline-offset:4px}.character-option:hover{background:#53605270}.character-option input{position:absolute;opacity:0;width:1px;height:1px}
.character-option img{width:66px;height:76px;object-fit:cover;object-position:50% 30%;border-radius:6px;background:#aaa99c}.character-option strong{font-weight:400;font-size:17px;letter-spacing:2px;display:block;color:#f2e9d8}.character-option small{font-size:9px;letter-spacing:.1px;color:#d2cebf;white-space:nowrap}.character-option i{position:absolute;right:9px;top:5px;font-style:normal;font-size:11px;color:#f2dfb6;opacity:0}.character-option:has(input:checked) i{opacity:1}
.resident-status{font-size:11px;border-right:1px solid #cbbfaa4d;padding-right:12px;margin-right:1px;color:#e8d8ba}#camera-toggle{padding:0;font-size:9px;min-height:24px;opacity:.9}#camera-toggle kbd{background:transparent;border:1px solid #d1c5af66;border-radius:3px;padding:1px 4px;margin-right:4px;color:#e2d8c2}
body[data-phase="walking"] #intro-shade,body[data-phase="entering"] #intro-shade{opacity:0}.resident-choice-images{display:flex;gap:18px;justify-content:center}.resident-choice-images figure{margin:0;text-align:center}.resident-choice-images img{max-height:42vh;border-radius:5px}.resident-choice-images figcaption{font-size:13px;color:#d5c9b0;margin-top:12px}
@media(max-height:700px){body .intro{top:49%}body .intro h1{font-size:40px;margin:15px 0}.character-picker{margin-bottom:16px}.character-option img{height:58px;width:50px}.intro-footer{bottom:15px}.intro .eyebrow{margin:0}}
@media(max-width:900px){body .intro{width:70vw;max-width:540px}.character-option{gap:8px;padding:9px}.character-option small{font-size:8px}.character-option img{width:52px;height:65px}}

/* v15: quiet in-world pet profiles; role changes stay beside the walking controls. */
.home-reset{display:flex;align-items:center;gap:19px}.home-reset #brand-home{font-size:10px;border-right:1px solid #e0d3ba30;padding-right:19px}
.pet-choices{display:flex;gap:9px;margin:22px 0 20px}.pet-choice{flex:1;display:flex;align-items:center;gap:12px;min-height:48px;padding:12px 17px;border:1px solid #b6a58132;border-radius:7px;text-align:left;color:#c8bda5;font-size:14px;transition:background .2s,border-color .2s}.pet-choice>span{font:9px Georgia,serif;letter-spacing:1.5px;color:#b4a079}.pet-choice[aria-pressed="true"]{background:#b3a37c22;border-color:#c0af8666;color:#efe5d1}.pet-choice:hover{background:#b3a37c16}.pet-profile{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:25px;align-items:center;margin-bottom:28px}.pet-profile figure{margin:0}.pet-profile img{width:100%;aspect-ratio:1;object-fit:contain;display:block;background:#747878;border-radius:9px}.pet-profile figcaption{font-size:10px;letter-spacing:1px;color:#a89f8d;margin-top:11px;text-align:center}.pet-kind{font-size:11px;letter-spacing:2px;color:#c9b387}.pet-facts h3{font:22px var(--serif);font-weight:400;letter-spacing:1px;color:#e6dcc7;margin:9px 0 22px}.pet-facts dl{display:grid;grid-template-columns:40px 1fr;gap:12px;font-size:12px}.pet-facts dt{color:#a69c88}.pet-facts dd{margin:0;color:#ddd1b9}.pet-facts p{font-size:11px;line-height:1.9;color:#afa690;margin:22px 0 0}
@media(max-width:700px){.pet-profile{gap:16px}.pet-facts h3{font-size:19px}.pet-choice{padding:10px}.home-reset{gap:12px}}

/* v17: portraits rendered from the supplied coloured characters. */
body .character-picker{max-width:436px;margin:0 0 25px}
body .character-options{gap:16px}
body .character-option{display:block;overflow:hidden;padding:0;border:1px solid #eee2cc40;border-radius:14px;background:#25352fc2;box-shadow:0 6px 24px #090f1425;transition:border-color .2s,transform .2s,background .2s}
body .character-option:hover{transform:translateY(-3px);background:#46554bbd;border-color:#e6d9bb80}
body .character-option:has(input:checked){border-color:#e8d0a3;background:#e8dcc3;box-shadow:0 0 0 2px #e8d0a31c,0 10px 28px #080e142e}
body .character-portrait{height:142px;overflow:hidden;background:linear-gradient(135deg,#6e746e,#303c36)}
body .character-option img{width:100%;height:100%;border-radius:0;object-fit:cover;object-position:50% 26%;background:transparent;transition:transform .35s}
body .character-option:hover img{transform:scale(1.035)}
body .character-choice-copy{display:block;padding:13px 17px 15px}
body .character-option strong{font-size:19px;line-height:1.4;letter-spacing:1.4px;color:#f2eadb}
body .character-option small{display:block;margin-top:3px;font-size:10px;letter-spacing:.6px;color:#cacdbd}
body .character-option:has(input:checked) strong{color:#2e4137}
body .character-option:has(input:checked) small{color:#697363}
body .character-option i{right:11px;top:11px;background:#e9dbc0;color:#32483c;width:23px;height:23px;border-radius:50%;display:grid;place-items:center;font-size:12px;box-shadow:0 2px 9px #0002}
body .intro h1{margin-bottom:22px}
.conversation-dialog{max-width:770px!important;background:#efe9db}
.sofa-conversation{display:grid;grid-template-columns:210px 1fr;gap:34px;align-items:start}
.sofa-companion{margin:0;position:relative}.sofa-companion img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:12px;background:#566158}.sofa-companion figcaption{font-size:11px;letter-spacing:.7px;color:#78816c;display:flex;align-items:center;justify-content:center;gap:7px;margin-top:14px}
.presence-light{width:5px;height:5px;border-radius:50%;background:#819779;box-shadow:0 0 0 3px #81977916}
.sofa-chat-lines{min-height:116px;display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.sofa-response{padding:17px 20px;background:#faf7f0;border:1px solid #ded7c9;border-radius:3px 16px 16px;margin:0;font-size:15px;line-height:1.9;color:#3b4a3e;max-width:100%}
.sofa-response>span{display:block;font-size:10px;letter-spacing:1.3px;color:#91927c;margin-bottom:7px}
.sofa-user-line{align-self:flex-end;font-size:12px;background:#dce1d1;border-radius:12px 3px 12px 12px;padding:10px 15px;margin:0;color:#64715c}
.sofa-choices{display:grid;gap:9px;margin-top:23px}.sofa-choices button{display:flex;align-items:center;justify-content:space-between;gap:18px;text-align:left;border:1px solid #c8cbb99e;background:#f4f1e9;border-radius:8px;padding:13px 16px;font:inherit;font-size:13px;color:#4f624e;cursor:pointer;transition:background .18s,border-color .18s}.sofa-choices button:hover{background:#e2e7d8;border-color:#94a184}.sofa-choices button:focus-visible,.sofa-goodbye:focus-visible{outline:2px solid #738663;outline-offset:3px}.sofa-choices button span{color:#8a967b}
.sofa-goodbye{display:flex;align-items:center;justify-content:space-between;width:100%;border:0;border-top:1px solid #d7d5c7;background:none;margin-top:19px;padding:15px 1px 0;font:inherit;font-size:11px;color:#88907b;cursor:pointer}.sofa-script-note{text-align:right;font-size:10px;color:#999b8a;margin:26px 0 0;letter-spacing:.5px}
@media(max-height:760px){body .intro h1{font-size:43px;margin:15px 0 18px}body .character-portrait{height:108px}body .character-choice-copy{padding:10px 15px 12px}body .character-picker{margin-bottom:18px}.character-picker legend{margin-bottom:10px}}
@media(max-width:650px){.sofa-conversation{grid-template-columns:1fr;gap:20px}.sofa-companion{display:none}.sofa-chat-lines{min-height:90px}body .character-picker{max-width:420px}}
@media(prefers-reduced-motion:reduce){body .character-option,body .character-option img{transition:none}}

/* Quiet question-and-answer and a shared flower keepsake album. */
.collection-dialog.conversation-dialog{--ink:#354432;--line:#c8c6b5;--paper:#efe9db;color:var(--ink)}
.conversation-dialog .eyebrow,.conversation-dialog .icon-button,.conversation-dialog .collection-back{color:#69755e}
.conversation-dialog .sofa-script-note,.conversation-dialog .sofa-goodbye,.conversation-dialog .chat-form-bottom span{color:#68755f}
.chat-welcome{font-size:15px;line-height:1.8;color:#56634f;margin:0 0 16px}
.sofa-chat-lines{max-height:36vh;overflow:auto;overscroll-behavior:contain;padding-right:6px;scrollbar-width:thin}.sofa-chat-lines:empty{min-height:0}
.sofa-chat-lines p{white-space:pre-wrap;overflow-wrap:anywhere}.chat-form{margin-top:20px}.chat-form label{display:block;font-size:11px;color:#68775f;margin-bottom:8px}
.chat-form textarea{resize:vertical;width:100%;box-sizing:border-box;background:#faf8f1;border:1px solid #bdc5af;border-radius:10px;padding:13px;font-family:inherit;font-size:14px;line-height:1.7;color:#354432;min-height:86px;max-height:180px}
.chat-form-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px}.chat-form-bottom span{font-size:10px;color:#848d78}
.chat-form button,.flower-toolbar button,.flower-form button[type=submit]{border:0;border-radius:7px;background:#53654e;color:#fff8ea;padding:12px 20px;font:inherit;font-size:13px;cursor:pointer}
.chat-form button:disabled,.flower-form button:disabled{opacity:.5;cursor:wait}.chat-status{min-height:20px;font-size:12px;line-height:1.7;color:#8e514a}.chat-form textarea:focus-visible,.flower-form :is(input,select,textarea):focus-visible{outline:2px solid #a6b391;outline-offset:3px}
.flower-toolbar{display:flex;gap:20px;justify-content:space-between;align-items:center;margin:20px 0 24px}.flower-toolbar p{font-size:13px;color:#aaad99;line-height:1.8}.flower-toolbar button{white-space:nowrap}
.flower-card{display:flex;align-items:center;gap:18px;width:100%;padding:14px 0;text-align:left;border:0;border-bottom:1px solid #b8aa8733;background:transparent;color:#e6ddc7;cursor:pointer}.flower-card>img{width:76px;height:85px;object-fit:cover;border-radius:7px}.flower-card>span:nth-child(2){flex:1}.flower-card strong{display:block;font-size:16px;font-weight:400;line-height:1.7}.flower-card small{display:block;margin-top:4px;font-size:11px;color:#a9a58f}
.flower-symbol{display:grid;place-items:center;width:76px;height:85px;font-size:48px;background:#afb29e14;border-radius:7px}.flower-rose{color:#ba6573}.flower-pink{color:#df9aa9}.flower-cream{color:#e8d9b0}.flower-lilac{color:#aa8eb5}
.flower-empty{text-align:center;padding:34px 15px;color:#aaa994}.flower-empty>span{font-size:60px;color:#c2b79c}.flower-empty h3{font:22px var(--serif);font-weight:400;color:#e1d6bf}.flower-empty p{font-size:13px;line-height:1.8}
[data-flower-status]{margin:0;font-size:12px;line-height:1.7;color:#b7b79e;min-height:20px}.flower-retry,.flower-more{font:inherit;font-size:12px;color:#b9b69e;padding:10px 0}.flower-detail>img{max-height:48vh;width:100%;object-fit:contain;border-radius:9px;background:#19231d}.flower-detail>.flower-symbol{width:100%;height:180px;font-size:100px}.flower-date{font-size:12px;color:#b8ad91;margin:22px 0 14px}.flower-note{white-space:pre-wrap;font-size:14px;line-height:2;color:#e0d7c2;overflow-wrap:anywhere}.flower-detail{margin:22px 0 30px}
.flower-form{display:grid;gap:14px;margin-top:18px}.flower-form label{display:grid;gap:7px;font-size:12px;color:#c5bca8}.flower-form :is(input,select,textarea){width:100%;box-sizing:border-box;background:#1d2923;border:1px solid #87927b66;border-radius:7px;color:#f1e8d8;padding:10px;font-family:inherit;font-size:14px;line-height:1.6;color-scheme:dark}.flower-form textarea{resize:vertical}.flower-fields{display:grid;grid-template-columns:1fr 1fr;gap:20px}.flower-form-actions{display:flex;align-items:center;justify-content:space-between;gap:20px}.flower-form-actions button[type=button],[data-flower-back]{font:inherit;font-size:12px;color:#bdb9a4;cursor:pointer}
@media(max-width:650px){.flower-toolbar{align-items:flex-start;gap:10px}.flower-toolbar p{max-width:180px;margin-top:0}.flower-fields{grid-template-columns:1fr;gap:18px}.chat-form-bottom span{max-width:150px}.sofa-chat-lines{max-height:42vh}}

html[data-home-access="visitor"] [data-food-add],html[data-home-access="visitor"] [data-game-add],html[data-home-access="visitor"] [data-petal-add],html[data-home-access="visitor"] #note-form{display:none!important}
html[data-home-access="visitor"] .notebook-grid{grid-template-columns:1fr}
html[data-home-access="visitor"] .bloom-petal.empty text{visibility:hidden}
html[data-home-access="visitor"] .bloom-petal.empty circle{opacity:.25}
.companion-moment{padding:48px 24px 64px;text-align:center;color:#59594e;font-family:"Songti SC","STSong","SimSun",serif}
.companion-moment p{font-size:clamp(21px,3vw,30px);line-height:2.2;letter-spacing:.12em}.companion-moment small{font-size:14px;letter-spacing:.16em;color:#8b887a}.companion-line{display:block;width:1px;height:56px;background:linear-gradient(transparent,#a99c7d);margin:0 auto 30px}

.sync-warning{position:fixed;bottom:0;left:0;right:0;z-index:30;background:#f4ebd5;color:#433d32;padding:8px 16px;margin:0;font-size:12px;text-align:center}.top-actions a{text-decoration:none}

/* Restore touch controls hidden by the original desktop-only presentation. */
.mobile-camera{display:none}
@media(max-width:700px),(pointer:coarse){.joystick,.touch-look-hint{display:block!important}.mobile-camera{display:block;position:absolute;right:18px;bottom:112px;pointer-events:auto;min-height:44px;padding:8px 14px;border:1px solid #cbb89766;border-radius:8px;background:#202826dd;color:#eee3cf}.home-reset{bottom:166px}.joystick{z-index:2}.touch-look-hint{pointer-events:none}.desktop-controls{display:none!important}}

.home-navigation-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin:24px 0}.home-navigation-grid button{padding:14px;text-align:left;border:1px solid #b4ad9655;border-radius:8px;font-size:15px}.top-actions{flex-wrap:wrap;gap:18px}@media(max-width:600px){.top-actions{gap:12px}.top-actions .nav-text{font-size:11px}.site-header{padding:16px}.home-navigation-grid{grid-template-columns:1fr 1fr}}
