:root{font-family:Manrope,sans-serif;color:#42382c;background:#eee9df;font-synthesis:none;--gold:#ad8a50;--ink:#42382c;--cream:#f4f0e7}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;overscroll-behavior:none}body{position:fixed;top:0;right:0;bottom:0;left:0;height:100dvh;display:flex;flex-direction:column;-webkit-tap-highlight-color:transparent}button,a{-webkit-touch-callout:none}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation}button:focus-visible,a:focus-visible{outline:2px solid #ad8a50;outline-offset:5px}button{transition:background .2s,transform .2s}button:hover{background-color:#b4966220}button:active{transform:scale(.97)}button:disabled{opacity:.5}header,footer{flex-shrink:0;z-index:2}.header{height:100px;padding:max(18px,env(safe-area-inset-top)) max(4.4vw,env(safe-area-inset-right)) 18px max(4.4vw,env(safe-area-inset-left));display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #c3b79e60;background:#f4f0e9}.brand{display:flex;align-items:center;gap:16px;text-decoration:none;color:var(--ink);font-family:Cormorant Garamond,serif;font-size:36px;line-height:.9;letter-spacing:1px}.brand-symbol{border:1px solid #b69d71;border-radius:50% 50% 0 0;width:39px;height:48px;display:grid;place-items:center;position:relative;font-style:italic;color:#a58754}.brand-symbol span{position:absolute;font-size:17px;right:-5px;bottom:0;background:#f4f0e9}.brand-caption{display:block;font-family:Manrope,sans-serif;font-size:8px;letter-spacing:3px;margin-top:10px}.header-dedication{font-family:Cormorant Garamond,serif;font-size:18px;color:#8a7b64}.header-dedication em{color:#6e5940}.outline-button{border:1px solid #b8a68988;background:transparent;display:flex;align-items:center;gap:13px;padding:13px 18px;font-size:11px;border-radius:3px}.grid-icon{font-size:21px;color:#9b7c49}.count{border-left:1px solid #bcac90;padding-left:13px;color:#9b7c49;font-size:10px}#museum{position:relative;flex:1;min-height:0;isolation:isolate;background:#b5a38a}#scene{position:absolute;top:0;right:0;bottom:0;left:0;touch-action:none}#scene canvas{display:block;width:100%;height:100%;touch-action:none}.scene-vignette{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(180deg,#efeadccc,transparent 43%,transparent 70%,#342b2466)}.intro{position:absolute;top:6%;left:4.4%;pointer-events:none}.eyebrow{font-size:9px;letter-spacing:2.6px;color:#9a7b48;font-weight:600;display:flex;align-items:center;gap:10px}.eyebrow>span{width:22px;height:1px;background:#ac8b55}h1{font-family:Cormorant Garamond,serif;font-weight:400;font-size:clamp(32px,3.4vw,56px);line-height:1.08;letter-spacing:-1.5px;margin:18px 0 12px}h1 em{color:#997b4f;font-weight:400}.intro p{font-size:10px;color:#796e5b;letter-spacing:.3px}.room-label{position:absolute;right:4.4%;top:7%;font-size:8px;letter-spacing:1.6px;display:flex;gap:12px;align-items:center;color:#857357}.live-dot{width:5px;height:5px;background:#b79860;border-radius:50%;box-shadow:0 0 0 4px #b7986018}.label-line{width:25px;height:1px;background:#9b8a6b}.scene-caption{position:absolute;bottom:38px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:14px;color:#f8edda;white-space:nowrap;font-family:Cormorant Garamond,serif;font-size:21px;text-shadow:0 1px 12px #392b22}.tiny-diamond{font-size:36px;color:#dcc294}.scene-caption small{display:block;font-family:Manrope,sans-serif;font-size:9px;letter-spacing:.7px;margin-top:7px;color:#e5d7bf}.scene-tools{position:absolute;right:3%;bottom:30px;display:flex;gap:10px}.round-button{border:1px solid #f2e3c84d;background:#e8ddc51a;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#fff1d6;width:38px;height:38px;border-radius:50%;font-size:17px}.footer{min-height:100px;padding:20px max(4.4vw,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(4.4vw,env(safe-area-inset-left));display:flex;align-items:center;justify-content:space-between;background:#f4f0e9;border-top:1px solid #c3b79e60;gap:20px}.footer-note{display:flex;align-items:center;gap:13px;font-size:11px;color:#8c7b63}.footer-note em{font-family:Cormorant Garamond,serif;font-size:17px}.heart{font-size:25px;color:#ad8a50}.tour-controls{display:flex;align-items:center;gap:16px}.nav-button{border:1px solid #c7b89d;background:transparent;width:36px;height:36px;border-radius:50%;font-size:17px}.tour-button,.gold-button{border:1px solid #a88750;background:#a88750;color:#fff7e8;border-radius:3px;padding:15px 25px;font-size:11px;letter-spacing:.3px}.tour-button{display:flex;align-items:center;gap:12px}.tour-button:hover,.gold-button:hover{background:#92703c}#tour-icon{font-size:19px;line-height:10px}.navigation-hint{display:flex;align-items:center;gap:3px;color:#a49781;font-size:8px}.navigation-hint>span:last-child{margin-left:7px}.navigation-hint i{font-style:normal;margin:0 7px}.key{border:1px solid #d6cdbb;border-radius:3px;padding:4px;font-size:8px}.mobile-hint{display:none}.movement{position:absolute;left:4.4%;bottom:28px;width:104px;height:104px;border:1px solid #e8dac063;border-radius:50%;background:#d2c4ac17;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);touch-action:none;-webkit-user-select:none;user-select:none;color:#f4e6cd}.movement>span:not(#stick){position:absolute;font-size:20px;line-height:1}.pad-up{top:7px;left:44px}.pad-down{bottom:7px;left:44px}.pad-left{left:10px;top:40px}.pad-right{right:10px;top:40px}#stick{position:absolute;left:34px;top:34px;width:34px;height:34px;border:1px solid #f4e4bf99;border-radius:50%;background:#f5e8cf35;box-shadow:0 4px 15px #332b2220;pointer-events:none}.lookpad{display:none}.loading{position:absolute;top:0;right:0;bottom:0;left:0;background:#eae3d7;display:flex;align-items:center;justify-content:center;flex-direction:column;transition:opacity .8s;z-index:5;pointer-events:none}.loading.done{opacity:0}.loading-mark{font-family:Cormorant Garamond,serif;font-style:italic;font-size:70px;color:#a88750}.loading p{font-size:10px;letter-spacing:1px;color:#89765a}#fallback{position:absolute;inset:40% 10% auto;text-align:center;background:#f2ece0ed;padding:25px;border:1px solid #ad8a50;border-radius:5px}dialog{color:#f3e8d6;border:1px solid #b89b65;box-shadow:0 35px 120px #201a1666;background:#302923d9;-webkit-backdrop-filter:blur(28px);backdrop-filter:blur(28px);padding:0;border-radius:12px;max-height:calc(100dvh - 40px - env(safe-area-inset-top) - env(safe-area-inset-bottom));overscroll-behavior:contain}dialog::backdrop{background:#211d197d;-webkit-backdrop-filter:blur(13px);backdrop-filter:blur(13px)}.close-button{position:absolute;top:16px;right:18px;border:1px solid #c3ae8544;background:#30292355;border-radius:50%;width:35px;height:35px;color:#e5d8c0;font-size:24px;line-height:1;z-index:2}.memory-dialog{width:min(870px,92vw)}.memory-dialog[open]{display:grid;grid-template-columns:1fr 1fr}.memory-image-wrap{position:relative;background:#201c18;min-height:450px;display:flex;align-items:center;padding:22px}.memory-image-wrap img{width:100%;height:100%;max-height:70dvh;object-fit:contain}.image-signature{position:absolute;bottom:30px;left:35px;font-family:Cormorant Garamond,serif;font-style:italic;font-size:20px;text-shadow:0 2px 8px #201a16}.memory-copy{padding:55px 38px 24px;display:flex;flex-direction:column;justify-content:center}.memory-copy .eyebrow{font-size:8px;color:#c7ad7d}.quote-mark{font-family:Cormorant Garamond,serif;font-size:75px;color:#b69a64;height:70px;margin-top:15px}h2{font-family:Cormorant Garamond,serif;font-weight:400;font-size:36px;line-height:1.12;margin:5px 0 18px}h2 em{color:#c1a46f}.memory-copy p{font-size:13px;line-height:1.95;color:#e0d4c0;margin:0 0 28px}.memory-sign{font-family:Cormorant Garamond,serif;font-style:italic;font-size:18px;color:#c7ad7d;display:flex;align-items:center;gap:15px}.memory-navigation{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #b89b6533;margin-top:35px;padding-top:18px}.memory-navigation button{color:#c9af7e;background:transparent;border:1px solid #b89b6555;border-radius:50%;width:34px;height:34px}.memory-navigation span{font-size:9px;letter-spacing:2px;color:#bfae93}.collection-dialog{width:min(1050px,94vw);padding:35px;background:#f0ebe1f5;color:#42382c}.collection-heading{position:relative;margin-bottom:25px}.collection-heading .close-button{top:0;right:0;color:#806642;background:transparent}.collection-heading h2{font-size:42px;margin-top:16px}.collection-heading h2 em{color:#a88750}.collection-heading p{font-size:11px;color:#8a7b65}.photo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.photo-card{text-align:left;border:0;background:transparent;padding:0}.photo-card .thumb{height:155px;background:#e5dccb;padding:8px;box-shadow:inset 0 0 0 1px #b9a176}.photo-card img{width:100%;height:100%;object-fit:contain}.photo-card small{display:block;color:#a88750;font-size:8px;letter-spacing:1px;margin:12px 0 4px}.photo-card strong{font-family:Cormorant Garamond,serif;font-size:20px;font-weight:500}.help-dialog{width:min(510px,92vw);padding:45px}.help-dialog h2{margin-top:20px}.help-dialog p{font-size:12px;line-height:1.9;color:#d5c8b2}.help-dialog .gold-button{margin-top:15px}@media(min-width:1600px){.header{height:112px}.footer{min-height:112px}}@media(max-width:1050px){.navigation-hint,.room-label{display:none}.header-dedication{font-size:16px}.scene-caption{font-size:18px;bottom:32px}.scene-tools{bottom:150px}.intro{top:5%}.footer-note{font-size:9px}}@media(max-width:650px){.header{height:calc(78px + env(safe-area-inset-top));padding:calc(14px + env(safe-area-inset-top)) 20px 14px}.brand{font-size:29px;gap:11px}.brand-symbol{width:30px;height:38px;font-size:28px}.brand-caption{font-size:6px;letter-spacing:2px;margin-top:7px}.header-dedication{display:none}.outline-button{padding:10px;gap:8px;font-size:9px}.count{padding-left:8px}.grid-icon{font-size:18px}.intro{left:23px;top:25px}.eyebrow{font-size:7px;letter-spacing:2px}h1{font-size:36px;margin:13px 0 10px}.intro p{font-size:8px;max-width:240px;line-height:1.7}.scene-vignette{background:linear-gradient(180deg,#efeadcd9,transparent 48%,transparent 60%,#342b2466)}.scene-caption{bottom:145px;font-size:16px;gap:9px;white-space:normal;width:270px;justify-content:center}.scene-caption small{font-size:7px;line-height:1.7}.tiny-diamond{font-size:28px}.movement{left:max(24px,env(safe-area-inset-left));bottom:25px;width:94px;height:94px}.pad-up,.pad-down{left:39px}.pad-left,.pad-right{top:35px}#stick{left:29px;top:29px}.lookpad{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:7px;position:absolute;right:max(25px,env(safe-area-inset-right));bottom:25px;width:94px;height:94px;border-radius:50%;border:1px solid #e8dac044;background:#d2c4ac17;touch-action:none;color:#f3e2c2;-webkit-user-select:none;user-select:none}.lookpad>span{font-size:30px}.lookpad small{font-size:6px;letter-spacing:1px}.scene-tools{right:18px;bottom:auto;top:25px;flex-direction:column;gap:8px}.round-button{width:30px;height:30px;font-size:14px}.footer{min-height:100px;padding:12px 20px max(12px,env(safe-area-inset-bottom));display:grid;grid-template-columns:1fr;gap:9px;justify-items:center}.footer-note{display:none}.tour-controls{gap:22px}.tour-button{padding:12px 24px;font-size:10px}.nav-button{width:32px;height:32px}.mobile-hint{display:block;font-size:7px;color:#a08e72;letter-spacing:.4px}.mobile-hint span{margin:0 10px}.memory-dialog[open]{grid-template-columns:1fr}.memory-image-wrap{min-height:0;height:30dvh;padding:15px}.memory-image-wrap img{max-height:100%}.image-signature{font-size:16px;bottom:20px;left:25px}.memory-copy{padding:22px 25px}.memory-copy h2{font-size:29px;margin-bottom:12px}.quote-mark{font-size:48px;height:38px;margin-top:6px}.memory-copy p{font-size:11px;line-height:1.8;margin-bottom:15px}.memory-sign{font-size:16px}.memory-navigation{margin-top:20px;padding-top:12px}.collection-dialog{padding:25px 18px}.collection-heading h2{font-size:31px;max-width:240px}.collection-heading .eyebrow{font-size:6px}.photo-grid{grid-template-columns:repeat(2,1fr);gap:20px 12px}.photo-card .thumb{height:145px}.photo-card strong{font-size:19px}.help-dialog{padding:40px 25px}.help-dialog h2{font-size:30px}}@media(max-height:550px)and (orientation:landscape){.header{height:65px;padding-top:10px;padding-bottom:10px}.footer{min-height:65px;padding-top:9px;padding-bottom:9px}.intro{top:15px}h1{font-size:28px;margin:8px 0}.intro p,.scene-caption{display:none}.movement{bottom:12px;width:94px;height:94px}.scene-tools{top:15px;bottom:auto}.memory-dialog[open]{grid-template-columns:1fr 1fr}.memory-image-wrap{height:75dvh}.memory-copy{padding:25px}.memory-copy h2{font-size:26px}.memory-copy p{font-size:11px}.quote-mark{display:none}.memory-navigation{margin-top:15px}.memory-sign{font-size:14px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}}body{height:var(--app-height,100dvh)}.orientation-dialog{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;border:0;border-radius:0;background:#f4f0e7;color:var(--ink);padding:max(32px,env(safe-area-inset-top)) max(26px,env(safe-area-inset-right)) max(32px,env(safe-area-inset-bottom)) max(26px,env(safe-area-inset-left));text-align:center;overflow:auto}.orientation-dialog[open]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px}.orientation-dialog .eyebrow{font-size:8px;line-height:1.8}.orientation-dialog h2{font-size:clamp(30px,8vw,42px);margin:0}.orientation-dialog p{max-width:290px;font-size:12px;line-height:1.9;color:#89765a;margin:0 0 10px}.rotate-phone{width:96px;height:96px;color:var(--gold);flex-shrink:0}.safari-hint{position:fixed;z-index:6;top:calc(62px + env(safe-area-inset-top));left:50%;transform:translate(-50%);width:min(450px,calc(100% - 100px));display:flex;align-items:flex-start;gap:14px;padding:16px 18px;background:#f4f0e7f5;border:1px solid #b8a68988;border-radius:12px;box-shadow:0 12px 40px #30292330;touch-action:pan-y}.safari-hint[hidden]{display:none}.safari-hint strong{font-family:Cormorant Garamond,serif;font-size:22px;font-weight:500}.safari-hint p{font-size:10px;line-height:1.7;margin:6px 0 0;color:#796e5b}.safari-hint .round-button{flex-shrink:0;color:var(--ink);border-color:#b8a68988;width:36px;height:36px}@media(max-height:600px)and (orientation:landscape)and (any-pointer:coarse){.header{height:54px;padding:6px max(20px,env(safe-area-inset-right)) 6px max(20px,env(safe-area-inset-left))}.brand{font-size:26px;gap:10px}.brand-symbol{width:28px;height:34px}.brand-caption{font-size:6px;margin-top:6px}.header-dedication,.footer-note,.mobile-hint,.navigation-hint,.scene-caption,.intro p,.room-label{display:none}.outline-button{padding:7px 12px}.footer{display:flex;justify-content:center;min-height:50px;padding:5px max(20px,env(safe-area-inset-right)) max(5px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));gap:0}.tour-button{padding:9px 20px}.nav-button{width:34px;height:34px}.intro{left:max(24px,env(safe-area-inset-left));top:12px}.intro h1{font-size:25px;margin:7px 0}.intro .eyebrow{font-size:7px}.movement{left:max(24px,env(safe-area-inset-left));bottom:12px;width:94px;height:94px}.pad-up,.pad-down{left:39px}.pad-left,.pad-right{top:35px}#stick{left:29px;top:29px}.lookpad{display:flex;position:absolute;right:max(24px,env(safe-area-inset-right));bottom:12px;width:94px;height:94px;align-items:center;justify-content:center;flex-direction:column;gap:7px;border:1px solid #e8dac044;border-radius:50%;background:#d2c4ac17;color:#f3e2c2;touch-action:none;-webkit-user-select:none;user-select:none}.lookpad>span{font-size:30px}.lookpad small{font-size:6px;letter-spacing:1px}.scene-tools{top:12px;bottom:auto;right:max(24px,env(safe-area-inset-right));flex-direction:row;gap:8px}.round-button{width:34px;height:34px}.memory-dialog[open]{grid-template-columns:1fr 1fr}.memory-image-wrap{height:65dvh;min-height:0}.memory-copy{padding:28px 24px 20px}.memory-copy h2{font-size:26px}.memory-copy p{font-size:11px}.quote-mark{display:none}}
