.object-portal-backdrop{background:#10231bd9;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);padding:20px}.home-shell .modal.object-portal{--portal-paper:#f0e6cc;--portal-gold:#d8bf88;width:min(1040px,calc(100vw - 40px));max-height:calc(100dvh - 40px);background:radial-gradient(ellipse at 50% 32%,#4b58402b,transparent 65%),#192e26e8;border:1px solid #cfb98233;color:var(--portal-paper);border-radius:3px;padding:38px 52px 22px;box-shadow:0 30px 100px #05130b80;overflow-x:hidden}.object-portal .modal-star{display:none}.object-portal .modal-close{color:#d4cbb6}.object-portal h2{font:400 clamp(25px,3vw,34px)/1.5 var(--serif);text-align:center;margin:20px 0 8px;letter-spacing:2px}.portal-topline{position:absolute;top:18px;left:28px;right:60px;display:flex;justify-content:space-between;font-size:9px;letter-spacing:2px;color:#bfb79e}.object-portal p.portal-intro{text-align:center;color:#bdbfa9;margin:0 0 16px;font-size:12px}.portal-scope{display:flex;justify-content:center;gap:24px}.portal-scope button{display:flex;align-items:center;gap:6px;min-height:44px;background:none;border:0;border-bottom:1px solid transparent;color:#929f8c;padding:8px 0;font-size:12px}.portal-scope button[aria-pressed=true]{color:#f0d49b;border-color:#d5b77c}.portal-scope small{font-size:10px;margin-left:5px;opacity:.75}.portal-orbit{height:280px;position:relative;perspective:1000px;isolation:isolate;touch-action:pan-y;margin:14px -45px 0;outline-offset:-6px}.portal-halo{position:absolute;inset:12% 14%;border:1px solid #cebc8421;border-radius:50%;transform:rotateX(62deg);box-shadow:0 0 80px #c1aa6410}.portal-photo{--spread:205px;position:absolute;left:50%;top:28px;width:280px;padding:10px 10px 0;background:#eee4c9;color:#455044;border:0;text-align:left;transform:translate(calc(-50% + var(--offset)*var(--spread))) translateY(calc(var(--depth)*12px)) translateZ(calc(var(--depth)*-100px)) rotateY(calc(var(--offset)*-16deg)) rotate(calc(var(--offset)*-4deg));transition:transform .65s cubic-bezier(.2,.8,.2,1),filter .5s;filter:brightness(calc(1 - var(--depth)*.18));box-shadow:0 16px 40px #0005;cursor:pointer}.portal-photo.is-current{box-shadow:0 0 65px #d7b97728,0 25px 45px #0006}.portal-photo-image{display:block;position:relative;overflow:hidden;aspect-ratio:1.5}.portal-photo img{width:100%;height:100%;object-fit:cover;display:block}.portal-photo-veil{position:absolute;inset:0;background:linear-gradient(125deg,transparent 30%,#fceac83b 49%,transparent 68%);background-size:250% 100%}.is-current .portal-photo-veil{animation:portal-glint 7s ease-in-out infinite}.portal-enter{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px;color:#fff4d6;text-shadow:0 1px 12px #0009;background:#15291e25;opacity:0;transition:opacity .25s}.portal-enter>svg{width:42px;height:42px;padding:11px;border:1px solid #fff8;border-radius:50%;background:#20322780}.portal-enter>span{font-size:11px;letter-spacing:2px}.portal-photo.is-current .portal-enter{opacity:1}.portal-photo.is-current:hover{transform:translate(-50%) translateY(-5px) translateZ(18px)}.portal-photo:focus-visible{outline:2px solid #f0cb7c;outline-offset:5px}.portal-photo-label{display:flex;justify-content:space-between;padding:13px 3px;font-size:10px;letter-spacing:1px}.portal-photo-label small{font-size:9px;color:#93866d}.portal-picker{display:flex;align-items:center;justify-content:center;gap:30px;margin-top:2px}.portal-picker button{display:grid;place-items:center;width:44px;height:44px;border:1px solid #d9c49640;background:#ffffff05;color:#e6d8b6;border-radius:50%}.portal-picker button:disabled{opacity:.25}.portal-picker>span{text-align:center;font:17px Georgia,serif;color:#e3d0a2;min-width:150px;letter-spacing:3px}.portal-picker small{display:block;font:10px/1.8 var(--sans);letter-spacing:1px;color:#aaaf99;margin-top:5px}.portal-story{text-align:center;margin:20px auto 24px;max-width:560px;min-height:78px;animation:portal-story-in .5s ease}.portal-story h3{font:21px/1.6 var(--serif);font-weight:400;text-wrap:balance}.object-portal .portal-story p{color:#bfc3ad;font:13px/1.9 var(--serif);margin:8px 0 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.portal-add{width:min(100%,620px);margin:auto;display:flex;align-items:center;gap:17px;padding:16px 22px;min-height:76px;color:#f0ddae;border:1px solid #cebc8366;background:#b4a26d10;text-align:left}.portal-add:hover{background:#b4a26d22}.portal-add>span:nth-child(2){flex:1;font:18px var(--serif)}.portal-add small{display:block;font:10px/1.8 var(--sans);color:#b2baa4;margin-top:7px}.portal-add-icon{width:38px;height:43px;border:1px dashed #c6b382;display:grid;place-items:center;transform:rotate(-7deg)}.object-portal p.portal-footnote{color:#93a18b;text-align:center;font-size:10px;margin:15px 0 0}.portal-pending{width:min(100%,620px);display:flex;gap:15px;align-items:center;margin:12px auto;background:#ffffff06;border:1px solid #b6a67530;color:#e6d6ac;padding:10px;text-align:left}.portal-pending img{width:55px;height:45px;object-fit:cover}.portal-pending>span{flex:1;font-size:12px}.portal-pending small{display:block;color:#b4bda6;font-size:10px;margin-top:6px}.portal-empty{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#c7bc99;gap:15px}.portal-empty h3{font:24px var(--serif)}.object-portal .portal-empty p{color:#a2ad96;margin:0}.object-portal .portal-orbit.is-entering .is-current{transform:translate(-50%) translateZ(200px);opacity:0}@keyframes portal-glint{0%,30%{background-position:150% 0}80%,to{background-position:-100% 0}}@keyframes portal-story-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.home-bottom nav .home-add-photo{background:#d8bd87;color:#26382a;border-color:#e1c996}.object-choice{display:grid;gap:10px;margin-top:25px}.object-choice button{display:flex;align-items:center;justify-content:space-between;padding:15px 18px;background:#ece6d5;border:1px solid #d1c5a3;color:#374b36;min-height:60px;text-align:left}.object-choice small{display:block;font-size:10px;color:#8b856e;margin-top:6px}@media(max-width:768px){.object-portal-backdrop{padding:0}.home-shell .modal.object-portal{width:100%;max-width:100%;max-height:100dvh;min-height:100dvh;border:0;border-radius:0;padding:74px 22px 26px;padding-bottom:max(26px,env(safe-area-inset-bottom))}.object-portal .modal-close{top:17px;right:14px}.portal-topline{top:30px;left:22px;right:65px;font-size:8px;letter-spacing:1px}.object-portal h2{font-size:25px;letter-spacing:1px;margin:0 0 10px}.portal-orbit{height:250px;margin:10px -22px 0}.portal-photo{--spread:158px;width:240px;top:28px;padding:8px 8px 0}.portal-photo-label{font-size:9px;padding:12px 3px}.portal-photo-label small{font-size:8px}.portal-scope{gap:24px}.portal-story{margin:18px auto 22px;min-height:85px}.portal-story h3{font-size:20px}.object-portal .portal-story p{font-size:12px}.portal-add{padding:14px;gap:12px}.portal-add>span:nth-child(2){font-size:17px}.portal-add small{font-size:9px}.portal-picker{gap:20px}.portal-picker>span{min-width:145px}.portal-empty h3{font-size:22px}.object-portal p.portal-footnote{font-size:9px;line-height:1.9}}@media(prefers-reduced-motion:reduce){.object-portal *{animation:none!important;transition:none!important}}[data-reduced-motion=true] .object-portal *{animation:none!important;transition:none!important}.home-shell{--home-ink:#fff6e4;--home-glass:rgba(39,32,24,.66);position:fixed;inset:0;background:#c1b298;color:var(--home-ink);overflow:hidden;font-family:var(--font-body, sans-serif)}.home-world{position:absolute;inset:0;touch-action:none;outline:none}.home-world canvas{display:block}.home-world:focus-visible{outline:2px solid #eec990;outline-offset:-3px}.home-header{position:absolute;z-index:4;left:36px;right:32px;top:max(25px,env(safe-area-inset-top));display:flex;align-items:center;justify-content:space-between;pointer-events:none;text-shadow:0 1px 12px #2c241ab0}.home-header>*{pointer-events:auto}.home-brand{font:italic 38px Georgia,serif;letter-spacing:-2px;color:#fff5df;text-decoration:none;display:flex;align-items:center;gap:23px}.home-brand span{font:12px sans-serif;letter-spacing:3px;border-left:1px solid #ffffff50;padding-left:22px}.home-header>div{display:flex;align-items:center;gap:10px}.home-header button{width:44px;height:44px;background:var(--home-glass);border:1px solid #ffffff26;border-radius:50%;color:#fff1d9;display:grid;place-items:center}.home-demo{font-size:11px;letter-spacing:1px;margin-right:12px;color:#ffefd7}.home-welcome{position:absolute;pointer-events:none;top:130px;left:44px;text-shadow:0 2px 16px #35291e9c}.home-welcome>span{font:10px sans-serif;letter-spacing:4px;color:#fff0cf}.home-welcome h1{font-family:var(--font-display,"Songti SC",serif);font-size:47px;font-weight:400;letter-spacing:5px;margin:13px 0 9px}.home-welcome p{font-size:12px;letter-spacing:1px;color:#fff2dc}.room-hotspot{position:absolute;z-index:3;transform:translate(-50%,-50%);display:flex;align-items:center;gap:10px;padding:8px 12px 8px 7px;min-height:44px;background:#1f1e17c2;border:1px solid #f8e2b52b;border-radius:3px;color:#fff3dc;text-align:left;white-space:nowrap;box-shadow:0 4px 18px #221c1520;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:background .2s,border-color .2s}.room-hotspot:active:not(:disabled){transform:translate(-50%,-50%)}.room-hotspot:hover,.room-hotspot[data-near=true]{background:#3a2e1ce6;border-color:#ead3a7aa}.room-hotspot>span:last-child{font-size:12px;letter-spacing:1px}.room-hotspot small{display:block;font-size:9px;color:#e3cba8;letter-spacing:.5px;margin-top:4px}.hotspot-light{display:block;width:7px;height:7px;margin:8px;border-radius:50%;background:#ffdf9c;box-shadow:0 0 0 5px #ffdb9c17,0 0 20px #ffce76}.home-bottom{position:absolute;z-index:5;bottom:max(26px,env(safe-area-inset-bottom));left:36px;right:32px;display:flex;justify-content:space-between;align-items:flex-end;pointer-events:none;gap:16px}.home-bottom>*{pointer-events:auto}.home-instructions{font-size:10px;letter-spacing:1px;display:flex;flex-direction:column;gap:14px;text-shadow:0 1px 8px #000}.home-instructions>span:nth-child(2){display:none}kbd{font:10px sans-serif;border:1px solid #ffffff52;padding:5px 7px;border-radius:3px;background:#241e1670;color:#fff1da}.home-instructions button{display:flex;gap:9px;align-items:center;border:none;background:var(--home-glass);color:#fff2d8;font-size:12px;padding:7px 12px;min-height:44px;border-radius:3px}.home-bottom nav{display:flex;gap:7px}.home-bottom nav button{display:flex;align-items:center;gap:8px;background:var(--home-glass);color:#fff2d8;border:1px solid #ffffff20;padding:12px 16px;min-height:44px;border-radius:3px;font-size:11px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.room-stick{display:none;position:absolute;bottom:95px;left:28px;width:104px;height:104px;border:1px solid #ffffff60;border-radius:50%;background:#2f271f33;z-index:5;touch-action:none}.room-stick>span{display:block;position:absolute;left:30px;top:30px;width:44px;height:44px;border-radius:50%;border:1px solid #ffffff90;background:#fff3d34d;pointer-events:none}.room-stick small{position:absolute;bottom:-25px;width:100%;text-align:center;letter-spacing:3px;font-size:10px;pointer-events:none}.room-loading{position:absolute;z-index:8;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;background:#eee5d4;color:#4a4b3d}.room-loading p{font:26px Songti SC,serif;letter-spacing:3px;margin:20px}.room-loading small{font-size:12px;color:#83765e}.room-loading button{margin-top:25px;border:0;background:none;color:#6d634e;text-decoration:underline;min-height:44px}.room-guide{position:absolute;z-index:6;right:32px;bottom:100px;width:325px;padding:24px 25px;background:#f8f1e3;color:#4b483c;box-shadow:0 12px 60px #20180d35;border-radius:3px}.room-guide>small{font-size:10px;letter-spacing:1px;color:#928366}.room-guide h2{font:23px Songti SC,serif;margin:15px 0}.room-guide p{font-size:13px;line-height:1.9;color:#756c59}.room-guide>div{display:flex;gap:16px;margin-top:17px}.room-guide button{border:0;background:none;color:#596547;min-height:44px;font-size:12px;display:flex;align-items:center;gap:7px;padding:0}.room-guide .guide-close{position:absolute;top:3px;right:10px;padding:10px}.home-shell .modal-backdrop{color:#353f35}.home-shell .modal{max-height:calc(100dvh - 48px);overflow:auto;width:min(700px,calc(100vw - 36px));background:#f7f1e5;border-radius:4px}.album-tabs{display:flex;gap:14px;margin:24px 0 15px}.album-tabs button{padding:10px 0;border:0;border-bottom:1px solid transparent;background:none;color:#93836c;min-height:44px}.album-tabs button[aria-pressed=true]{color:#314537;border-color:#314537}.album-search{display:flex;align-items:center;gap:10px;padding:0 12px;background:#ebe5d8;border:1px solid #c4baaa55}.album-search input{border:0;background:none;width:100%;padding:12px 0;outline:none;color:#4b483b;font-size:13px}.album-places{display:flex;overflow:auto;gap:8px;margin:12px 0 18px}.album-places button{white-space:nowrap;background:none;border:0;color:#837860;font-size:11px;min-height:44px;padding:8px}.album-places button[aria-pressed=true]{color:#314537;background:#e3e5d7}.album-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:24px}.album-memory{position:relative;display:flex;flex-direction:column;align-items:stretch;text-align:left;padding:8px 8px 15px;background:#fffaf0;border:1px solid #d7cbb644;color:#4b483b;box-shadow:0 4px 14px #695e3e0a}.album-memory img{width:100%;aspect-ratio:1.5;object-fit:cover;display:block}.album-memory>span{padding:12px 5px 0}.album-memory small{font-size:10px;color:#9a896c;display:block;margin-bottom:7px}.album-memory strong{font:17px Songti SC,serif;display:block;padding-right:24px}.album-memory>svg{position:absolute;bottom:17px;right:14px}.album-empty{text-align:center;padding:25px}.album-empty button{background:none;border:0;text-decoration:underline;color:#55674a;min-height:44px}.room-fallback{position:absolute;inset:0;overflow:auto;padding:150px max(30px,calc((100vw - 700px)/2)) 70px;background:linear-gradient(145deg,#464e42,#242f2c)}.room-fallback h1{font:35px Songti SC,serif;line-height:1.5}.room-fallback p{font-size:14px;color:#cec5b2;line-height:1.8}.room-fallback>div{display:grid;gap:12px;margin:28px 0}.room-fallback button{display:flex;justify-content:space-between;align-items:center;padding:17px 20px;background:#ffffff0b;border:1px solid #ffffff22;color:#f8ecd4;min-height:48px}@media(max-width:768px){.home-header{left:20px;right:17px;top:max(16px,env(safe-area-inset-top))}.home-brand{font-size:32px}.home-brand span,.home-demo{display:none}.home-header button{width:40px;height:44px}.home-welcome{top:96px;left:24px}.home-welcome h1{font-size:36px;margin:10px 0}.home-welcome>span{font-size:8px}.home-welcome p{font-size:10px;letter-spacing:0}.room-hotspot{gap:2px;padding:5px 9px 5px 2px}.room-hotspot>span:last-child{font-size:11px}.room-hotspot small{display:none}.home-bottom{left:20px;right:20px;bottom:max(20px,env(safe-area-inset-bottom));display:block}.home-bottom nav{justify-content:flex-end}.home-bottom nav button{font-size:10px;padding:11px;gap:5px}.home-instructions{position:absolute;bottom:67px;right:0;text-align:right;gap:10px;font-size:9px;max-width:210px}.home-instructions>span:first-child{display:none}.home-instructions>span:nth-child(2){display:block}.home-instructions button{align-self:flex-end;font-size:10px}.home-instructions kbd{display:none}.room-stick{display:block}.room-guide{right:20px;left:20px;width:auto;bottom:210px;padding:20px}.room-guide p{font-size:12px}.room-guide h2{font-size:21px}.home-shell .modal{max-height:calc(100dvh - 24px);padding:28px 22px}.album-grid{gap:12px}.album-memory strong{font-size:15px}.room-fallback{padding:120px 24px 50px}.room-fallback h1{font-size:28px}}@media(pointer:coarse)and (min-width:769px){.room-stick{display:block;bottom:120px}}@media(prefers-reduced-motion:reduce){.home-shell *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.room-hotspot{border-color:transparent;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;padding:10px;min-width:44px}.room-hotspot>span:last-child{opacity:0;max-width:0;overflow:hidden;transition:opacity .2s;pointer-events:none}.room-hotspot:hover>span:last-child,.room-hotspot:focus-visible>span:last-child,.room-hotspot[data-near=true]>span:last-child{opacity:1;max-width:220px}.room-hotspot:hover,.room-hotspot:focus-visible,.room-hotspot[data-near=true]{background:#342c21c9;border-color:#e6cc9d55;padding-right:15px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.home-welcome{animation:home-intro 8s forwards;pointer-events:none}.home-welcome h1{font-size:39px}.home-welcome p{max-width:310px;line-height:1.8}.home-shell{animation:space-in .35s ease-out}.reader-shell{animation:none}.album-grid{margin-top:20px}.memory-loading{position:absolute;z-index:7;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#f9e8c8;background:#26352eef;pointer-events:none}.memory-loading p{font:24px Songti SC,serif;letter-spacing:3px}.memory-loading small{color:#b6baa7;font-size:11px}@keyframes space-in{0%{opacity:0}to{opacity:1}}@keyframes home-intro{0%,60%{opacity:1}to{opacity:0}}[data-reduced-motion=true] .home-shell,[data-reduced-motion=true] .reader-shell,[data-reduced-motion=true] .home-welcome{animation:none}@media(max-width:768px){.room-hotspot{padding:6px}.room-hotspot>span:last-child{opacity:1;max-width:170px;font-size:10px}.room-hotspot{background:#352c21b0;border-color:#ffffff20;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.home-welcome h1{font-size:30px}.home-welcome p{max-width:220px}.home-bottom nav{gap:6px}.home-bottom nav button{padding:11px 10px}.home-instructions{bottom:73px}.home-header{background:linear-gradient(#31271933,transparent)}.room-hotspot[data-near=true]{padding-right:8px}}.memory-ritual{position:absolute;inset:0;z-index:7;overflow:hidden;background:#172e2b;color:#f4ebd5;isolation:isolate;display:grid;place-items:center}.ritual-entry{pointer-events:none;background:radial-gradient(ellipse at 50% 60%,#344b40,#142725)}.ritual-content{position:relative;z-index:2;max-width:680px;width:100%;padding:60px 24px;text-align:center}.ritual-kicker{display:block;font-size:10px;letter-spacing:5px;color:#d0c3a3;margin-bottom:34px}.ritual-photo{width:210px;height:160px;margin:0 auto 32px;position:relative;border:7px solid #e5dac0;border-bottom-width:23px;background:#3a4d42;box-shadow:0 20px 85px #0007;transform:rotate(-4deg);animation:photo-breath 8s ease-in-out infinite}.ritual-photo img{width:100%;height:100%;object-fit:cover;filter:saturate(.72)}.ritual-photo>span{font-size:58px;display:grid;place-items:center;height:100%;color:#dcc495}.ritual-photo-light{position:absolute;inset:-9px;background:linear-gradient(115deg,transparent 25%,#ffefba66 48%,transparent 70%);mix-blend-mode:screen;background-size:250% 100%;animation:photo-light 6s ease-in-out infinite}.ritual-photo>i{position:absolute;width:300px;height:300px;left:50%;top:50%;border:1px solid #d6b46f20;border-radius:50%;transform:translate(-50%,-50%);z-index:-1}.ritual-photo>i:last-child{width:360px;height:360px;border-style:dashed;border-color:#d6b46f10}.ritual-content h2{text-wrap:balance;font:400 clamp(22px,3vw,32px)/1.6 var(--serif);letter-spacing:2px;margin:0 0 14px}.ritual-status{display:flex;justify-content:center;align-items:center;gap:10px;font-size:12px;letter-spacing:1px;color:#e1cda4;margin:16px 0}.ritual-status>span{width:5px;height:5px;background:#efd3a0;border-radius:50%;box-shadow:0 0 15px #f6d080;animation:light-breath 2.5s ease-in-out infinite}.ritual-detail{font-size:11px;line-height:1.8;color:#b7c3b3}.ritual-thought{margin:35px auto 20px;max-width:390px;font:15px/2 var(--serif);color:#d8d4c0;animation:thought-in 1s both;min-height:60px}.ritual-atmosphere{position:absolute;inset:0;overflow:hidden;pointer-events:none}.ritual-atmosphere>i{position:absolute;left:10%;top:-40%;width:35%;height:160%;background:linear-gradient(90deg,transparent,#edcf8240,transparent);filter:blur(50px);transform:rotate(28deg);animation:window-light 15s ease-in-out infinite}.ritual-atmosphere>i:nth-child(2){left:60%;opacity:.3;animation-delay:-6s}.ritual-atmosphere>i:nth-child(3){left:35%;opacity:.15;animation-delay:-10s}.ritual-atmosphere>b{position:absolute;left:calc(8% + var(--i)*4.7%);width:3px;height:3px;background:#f0d6a2;border-radius:50%;box-shadow:0 0 12px #ddc48b;opacity:0;animation:memory-dust calc(8s + var(--i)*.3s) ease-in-out infinite;animation-delay:calc(var(--i)*-.8s)}@keyframes memory-dust{0%{transform:translateY(120px);opacity:0}30%{opacity:.5}80%{opacity:.15}to{transform:translate(25px,-170px);opacity:0}}@keyframes photo-breath{50%{transform:rotate(-2deg) translateY(-8px)}}@keyframes photo-light{0%,20%{background-position:150% 0}80%,to{background-position:-100% 0}}@keyframes light-breath{50%{opacity:.35;box-shadow:0 0 2px #f6d080}}@keyframes window-light{50%{transform:rotate(21deg) translate(8%);opacity:.4}}@keyframes thought-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.ritual-still *{animation:none!important}.ritual-still .ritual-atmosphere>b{opacity:.3}.generation-shell{min-height:100dvh;background:#172e2b;color:#efe6d1}.generation-header{position:fixed;top:0;left:0;right:0;z-index:12;display:flex;justify-content:space-between;padding:23px 32px;background:linear-gradient(#142725dd,transparent)}.generation-header button{display:flex;gap:8px;align-items:center;min-height:44px;color:#f4e7ce;background:#182b2680;border:1px solid #ffffff20;padding:10px 15px}.generation-header span{font:italic 30px Georgia,serif}.generation-shell>.memory-ritual{position:relative;min-height:100dvh}.generation-shell .ritual-content{padding-top:110px;padding-bottom:40px}.generation-form{max-width:950px;margin:auto;padding:120px 26px 50px}.generation-form h1{text-wrap:balance;font:34px/1.6 var(--serif);margin:10px 0}.generation-form>p{font-size:13px;line-height:2;color:#c0c6b4}.generation-grid{display:grid;grid-template-columns:1fr 1fr;gap:38px;margin-top:35px}.generation-grid .photo-focus-wrap{max-width:100%}.generation-upload{width:100%;min-height:280px;border:1px dashed #cdbb8a77;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;background:#ffffff06;color:#e3d7b6;padding:30px}.generation-upload strong{font:23px var(--serif)}.generation-upload small{font-size:11px;line-height:1.8}.generation-fields label{display:block;margin:0 0 22px;font-size:12px;color:#c3ccb9}.generation-fields textarea,.generation-fields input{display:block;width:100%;padding:14px;background:#e6e0cf0d;border:1px solid #b4bea542;color:#fff2da;margin-top:10px;border-radius:2px;font-size:16px}.generation-fields textarea{min-height:118px;resize:vertical}.generation-fields p{font-size:11px;line-height:1.9;color:#b9c4b2}.generation-error{padding:15px;background:#613f3080;border:1px solid #d0a57955;color:#ffe3c0;font-size:12px;line-height:1.8}.generation-gold{background:#d8bd87;color:#25382e;border:0;padding:15px 25px;min-height:48px;font-size:13px;display:inline-flex;gap:9px;align-items:center;justify-content:center}.generation-gold:disabled{opacity:.4}.generation-quiet{background:none;border:0;border-bottom:1px solid #f3dfb344;color:#d1c7ad;padding:10px 6px;min-height:44px;margin:12px}.generation-note{font-size:11px;line-height:1.8;color:#b7c4b5;max-width:460px;margin:15px auto}.generation-steps{display:flex;justify-content:center;gap:14px;margin:24px auto;font-size:10px;color:#8e9d8b}.generation-steps span.active{color:#f0d197}.generation-steps span.done{color:#c1cbb7}.generation-ticket{position:absolute;z-index:6;right:32px;top:90px;border:1px solid #dfcfa14d;background:#24382ee8;color:#f2e2bd;padding:13px 18px;display:flex;align-items:center;gap:12px;min-height:48px;font-size:12px;max-width:300px;text-align:left}.generation-ticket small{display:block;font-size:10px;color:#bfc8ae;margin-top:5px}.object-add{display:flex;gap:12px;flex-wrap:wrap}.generation-auth{max-width:400px;margin:90px auto;padding:30px}.generation-auth label{display:block;margin:22px 0;font-size:13px}.generation-auth input{display:block;width:100%;padding:15px;margin-top:12px;font-size:16px;background:#f4ead5;color:#25382e;border:0}.generation-auth p{font-size:13px;line-height:1.9;color:#c1c9b8}@media(max-width:768px){.generation-header{padding:15px 20px}.generation-grid{grid-template-columns:1fr;gap:25px}.generation-form{padding-top:100px}.generation-form h1{font-size:27px}.generation-shell .ritual-content{padding:100px 22px 30px}.ritual-photo{width:175px;height:135px;margin-bottom:26px}.ritual-kicker{margin-bottom:25px}.ritual-thought{font-size:14px;margin-top:25px}.generation-ticket{top:80px;right:18px;font-size:11px;max-width:250px}.generation-steps{gap:10px;font-size:9px}.generation-auth{margin:60px 15px}.generation-gold{width:100%}.generation-quiet{font-size:12px}.ritual-entry .ritual-content h2{text-wrap:balance;font-size:23px}}@media(prefers-reduced-motion:reduce){.memory-ritual *{animation:none!important}.ritual-atmosphere>b{opacity:.3}}.generation-wait-note{max-width:420px;margin:18px auto}.generation-wait-note label{font-size:12px;line-height:1.8;color:#d4d5be}.generation-wait-note textarea{display:block;width:100%;margin-top:10px;background:#e8d6ab12;border:1px solid #ead2a844;color:#f5e6c9;font-size:16px;line-height:1.8;padding:12px;min-height:95px;resize:vertical}.generation-wait-note .generation-quiet{font-size:12px}.generation-step-label{display:block;color:#cbb987;font-size:10px;letter-spacing:2px;margin-bottom:20px}.generation-grid .generation-upload{min-height:285px;background:radial-gradient(ellipse,#d4b87c0e,transparent 75%)}.upload-empty-frame{display:grid;place-items:center;width:78px;height:90px;border:1px solid #c7b48370;background:#e8d5a508;transform:rotate(-7deg);color:#d6c38f}.photo-source-buttons{display:flex;gap:10px;margin-top:15px}.photo-source-buttons button{flex:1;display:flex;justify-content:center;align-items:center;gap:10px;background:#d5bd87;color:#27392d;border:0;padding:15px;min-height:50px;font-size:13px}.photo-source-buttons button:disabled{opacity:.45}.photo-source-buttons .camera-source{display:none}.mobile-upload-copy{display:none!important}.photo-source-hint{font-size:10px;line-height:1.9;color:#aebaa5;margin-top:12px}.photo-drop{border:1px solid transparent;transition:border-color .2s,background .2s}.photo-drop.is-dragging{border-color:#eed39c;background:#d5c18a19;outline:5px solid #d5c18a19}.generation-fields .generation-step-label{margin-bottom:20px}.generation-unlock{padding:20px;border:1px solid #d5be8555;background:#bfa76c0b;margin-top:16px}.generation-unlock>strong{font:18px/1.6 var(--serif);color:#e7d5af}.generation-unlock p{font-size:12px;line-height:1.8;color:#bfc7b3}.generation-unlock label{display:block;font-size:12px;margin:14px 0}.generation-unlock input{width:100%;display:block;padding:13px;border:1px solid #c5c9ae55;background:#ffffff0a;color:#f5e9cf;font-size:16px;margin-top:8px}.generation-unlock .generation-gold{width:100%}.ritual-wireframe{position:absolute;inset:-45px;z-index:-2;border:1px solid #e6c88f33;transform:perspective(700px) rotateY(-25deg) rotateX(8deg);background-image:linear-gradient(#efd6a314 1px,transparent 1px),linear-gradient(90deg,#efd6a314 1px,transparent 1px);background-size:28px 28px;opacity:0;transition:opacity 1.5s}.ritual-photo-echo{position:absolute;inset:8px -18px -8px 18px;border:1px solid #ead4a447;background:#ead4a407;z-index:-1;transform:rotate(8deg);opacity:.5}.ritual-forming .ritual-wireframe{opacity:1;animation:memory-outline 12s ease-in-out infinite}.ritual-ready .ritual-photo{animation:memory-arrived 1.2s ease-out both;box-shadow:0 0 90px #e3c48c33,0 25px 80px #0005}.ritual-paused .ritual-photo,.ritual-paused .ritual-photo-light,.ritual-paused .ritual-status>span{animation:none}.ritual-ready .ritual-status>span{animation:none}@keyframes memory-outline{50%{transform:perspective(700px) rotateY(25deg) rotateX(-8deg);opacity:.4}}@keyframes memory-arrived{0%{transform:rotate(-4deg) scale(.94)}to{transform:rotate(0) scale(1)}}@media(max-width:768px),(pointer:coarse){.photo-source-buttons .camera-source{display:flex;background:transparent;border:1px solid #d2bd86;color:#e4d2a6}.mobile-upload-copy{display:inline!important}.desktop-upload-copy{display:none!important}.generation-upload .mobile-upload-copy{display:block!important}.generation-grid .generation-upload{min-height:240px}.generation-upload strong{font-size:22px}.generation-step-label{margin-bottom:15px}}@media(prefers-reduced-motion:reduce){.photo-drop,.ritual-wireframe{transition:none}.ritual-ready .ritual-photo,.ritual-forming .ritual-wireframe{animation:none}}:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;color:#24392f;background:#f6f3ec;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--paper:#f6f3ec;--ink:#24392f;--muted:#7d8579;--forest:#244638;--forest-deep:#19352e;--gold:#e9c590;--line:#e4e3d8;--serif:"Noto Serif SC","Songti SC",STSong,Georgia,serif}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,textarea,select{font:inherit}button{cursor:pointer;touch-action:manipulation}button:disabled{cursor:not-allowed;opacity:.5}button{border:0;color:inherit;background:none}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #b88a4b;outline-offset:4px}button{transition:background .18s,color .18s,transform .18s}button:active:not(:disabled){transform:translateY(1px)}a{color:inherit}input,textarea,select{min-width:0}img{max-width:100%;display:block}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:500}svg{flex-shrink:0}button:disabled:hover{transform:none}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.mobile-only{display:none}.eyebrow{font-size:10px;letter-spacing:2.2px;line-height:1.7;font-weight:500;display:flex;align-items:center;gap:9px}.btn{min-height:48px;padding:13px 20px;display:inline-flex;align-items:center;justify-content:center;gap:10px;font-size:13px;border-radius:5px;line-height:1.6;font-weight:500}.btn-gold{background:var(--gold);color:#2e3f30;box-shadow:0 5px 20px #0000000b}.btn-gold:hover{background:#f1d3a4}.btn-green{background:var(--forest);color:#fffaf0}.btn-green:hover{background:#315b47}.btn-outline{border:1px solid #aab7a8;background:transparent;color:#355444}.btn-outline:hover{background:#e8eadd}.icon-btn{min-width:44px;min-height:44px;padding:10px;display:inline-flex;align-items:center;justify-content:center;border-radius:5px}.icon-btn:hover{background:#73846e15}.text-button,.text-action{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;font-size:12px}.text-action{color:#eadcc5}.text-action:hover{color:#fff9ea}.quiet-button{display:block;min-height:44px;font-size:12px;color:#788371;margin:7px auto 0}.quiet-button:hover{color:#233f2f}.subtle{font-size:12px!important;line-height:1.85!important;color:#7c8375}.brand{display:flex;align-items:center;text-align:left;gap:12px;min-height:55px;padding:0}.brand-mark{font-family:Georgia,serif;font-size:40px;line-height:1;font-weight:400;color:#a9864c}.brand>span:last-child{font-family:Georgia,serif;font-size:32px;line-height:1;letter-spacing:-1px}.brand small{display:block;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,sans-serif;letter-spacing:2.7px;font-size:9px;margin-top:10px;color:#7b846e}.gallery-shell{display:grid;grid-template-columns:236px minmax(0,1fr);min-height:100dvh}.sidebar{padding:31px 24px 18px;background:var(--paper);border-right:1px solid #dedfd3;display:flex;flex-direction:column;position:sticky;top:0;height:100dvh;z-index:3;overflow-y:auto}.sidebar .brand{margin-left:8px}.sidebar-family{margin:38px 0 25px;display:flex;gap:11px;align-items:center;padding:15px 10px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.family-symbol{width:32px;height:35px;display:grid;place-items:center;color:#74876a}.sidebar-family strong{font-size:13px;display:block;font-weight:500}.sidebar-family small{font-size:10px;color:#8c9183;display:block;margin-top:7px;white-space:nowrap}.collection-nav{display:grid;gap:6px}.collection-nav button{display:flex;align-items:center;gap:11px;text-align:left;padding:0 14px;height:46px;font-size:12px;border-radius:5px;color:#76816e}.collection-nav button>span{margin-left:auto;font-size:10px;opacity:.7}.collection-nav button.active{background:#e5eadc;color:#31533d}.collection-nav button:hover{background:#e9ecdf}.side-section-title{font-size:9px;letter-spacing:1.2px;color:#929581;display:flex;align-items:center;justify-content:space-between;margin:31px 12px 14px}.place-nav{display:grid;gap:1px}.place-nav button{display:flex;gap:12px;align-items:center;min-height:41px;padding:9px 14px;font-size:12px;color:#697762;text-align:left;border-radius:4px}.place-nav button>span:last-child{margin-left:auto;font-size:10px;color:#9da18e}.place-nav button:hover,.place-nav button.active{background:#e9ecdf;color:#294b35}.place-nav button.active{font-weight:600}.place-dot{width:7px;height:7px;border-radius:50%;flex:0 0 auto;box-shadow:0 0 0 4px #c4cbb01c}.all-dot{background:#697e5a}.family-note{margin:auto 8px 0;padding-top:33px}.little-star{color:#ac8b53;font-size:23px}.family-note p{font-family:var(--serif);font-size:12px;line-height:2.1;color:#8a8b75;margin:11px 0 15px}.avatar-stack,.mini-avatars{display:flex;align-items:center}.avatar-stack>span{width:27px;height:27px;display:flex;align-items:center;justify-content:center;border:2px solid var(--paper);border-radius:50%;color:#fff;font-size:10px;margin-left:-5px}.avatar-stack>span:first-child{margin-left:0}.avatar-stack .avatar-extra{background:#e3e8d9;color:#80906e;font-size:8px}.family-note>small{font-size:8px;color:#999c88;display:block;margin-top:11px;line-height:1.8}.sidebar-foot{margin-top:25px;padding-top:17px;border-top:1px solid var(--line);font-size:9px;color:#929580;display:flex;align-items:center;gap:7px;min-height:44px}.sidebar-foot>svg:last-child{margin-left:auto}.gallery-main{min-width:0}.topbar{height:72px;background:#1c382f;border-bottom:1px solid #d3dcc317;color:#b5c1af;padding:0 46px;display:flex;align-items:center;justify-content:space-between}.breadcrumb{display:flex;gap:10px;align-items:center;font-size:10px;color:#8da690}.breadcrumb span:first-child{color:#c3ceba}.top-actions{display:flex;align-items:center;gap:22px}.preview-badge{font-size:9px;letter-spacing:.7px;display:inline-flex;align-items:center;gap:7px;color:#a6bda8;min-height:36px}.preview-badge>span{width:5px;height:5px;background:#acc08f;border-radius:50%}.self-avatar{width:30px;height:30px;border:1px solid #78947563;background:#2e4d3d;display:grid;place-items:center;border-radius:50%;font-size:10px;color:#d8dec6}.mobile-brand,.mobile-collections{display:none}.hero{height:553px;position:relative;overflow:hidden;background:#19352e}.scene{position:relative;width:100%;height:100%;isolation:isolate;overflow:hidden}.scene canvas{display:block;width:100%;height:100%}.hero>.scene{position:absolute;inset:0}.scene-shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#19352e10 38%,#19352e29 75%,#19352e)}.scene-caption{position:absolute;left:24px;bottom:15px;color:#95aa91;font-size:8px;letter-spacing:1px;display:flex;align-items:center;gap:6px;pointer-events:none}.scene-caption i{width:3px;height:3px;background:#b8ba8d;border-radius:50%}.hero .scene-caption{display:none}.hero-copy{position:relative;z-index:1;padding:42px 0 0 49px;max-width:500px;pointer-events:none}.hero-copy .eyebrow{color:#a8b598;font-size:8px;letter-spacing:2px}.tiny-star{color:#dfbd82;font-size:16px}.hero h1{font-size:43px;letter-spacing:2px;line-height:1.6;color:#f1efdf;margin:17px 0 15px;text-shadow:0 3px 30px #19352e88}.hero h1>span{color:var(--gold)}.hero-copy>p{font-size:12px;line-height:2;color:#b5c3ae;letter-spacing:.4px;text-shadow:0 1px 10px #19352e}.hero-actions{display:flex;align-items:center;gap:23px;margin-top:26px;pointer-events:auto}.hero-actions .btn{min-height:44px;font-size:11px;padding:12px 16px;gap:8px}.hero-actions .text-action{font-size:11px}.featured-invite{position:absolute;z-index:1;right:44px;bottom:70px;width:305px;text-align:left;padding:0;color:#e6e7d3}.invite-line{display:block;width:33px;height:1px;background:#c2a26a;margin-bottom:14px}.invite-location{font-size:9px;letter-spacing:1px;display:flex;gap:7px;align-items:center;color:#bcceac}.invite-location>span{width:4px;height:4px;background:#ddb66d;border-radius:50%;box-shadow:0 0 8px #f3c674}.featured-invite strong{font-family:var(--serif);font-size:17px;font-weight:400;line-height:2.1;display:block;margin:5px 0 12px}.invite-bottom{display:flex;align-items:center;gap:9px;font-size:8px;color:#bac6a9}.mini-avatars>span{width:22px;height:22px;display:grid;place-items:center;border:1.5px solid var(--paper);border-radius:50%;margin-left:-5px;font-size:8px;color:#fff}.mini-avatars>span:first-child{margin-left:0}.invite-bottom .mini-avatars>span{border-color:#284635}.invite-bottom i{margin-left:auto;border:1px solid #a6b68c55;border-radius:50%;width:31px;height:31px;display:grid;place-items:center;font-style:normal;transition:background .2s}.featured-invite:hover .invite-bottom i{background:#56694c}.hero-bottom-note{position:absolute;left:49px;right:46px;bottom:21px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid #c9d1b81a;padding-top:14px;color:#93a48b;font-size:9px;letter-spacing:.5px;pointer-events:none}.memory-library{padding:33px 45px 16px;background:var(--paper)}.library-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.library-heading .eyebrow{color:#999c85;font-size:8px;letter-spacing:2px}.library-heading h2{font-size:23px;letter-spacing:1px;margin-top:9px;display:flex;gap:14px;align-items:center}.library-heading h2 small{font-size:12px;font-family:Georgia,serif;color:#b0b39d;border-left:1px solid #d9ddcb;padding-left:12px;font-style:italic}.wander-button{font-size:10px;min-height:44px;display:flex;align-items:center;gap:9px;color:#6d7f60}.wander-button:hover{color:#264b36}.library-tools{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:24px 0 22px;border-bottom:1px solid #dfe2d4;padding-bottom:11px}.location-chips{display:flex;gap:5px;min-width:0;overflow:auto;scrollbar-width:none}.location-chips::-webkit-scrollbar{display:none}.location-chips button{font-size:10px;min-height:35px;white-space:nowrap;color:#858d79;padding:7px 9px;border-radius:3px}.location-chips button.active{background:#e3e8d8;color:#36583d}.location-chips button:hover{background:#e9ecdf}.search-field{display:flex;align-items:center;gap:8px;color:#8c967e;flex:0 1 210px;min-width:155px}.search-field input{border:0;background:none;outline:0;font-size:10px;width:100%;padding:8px 0;color:#526745}.search-field input::placeholder{color:#a1a48e}.search-field button{min-width:26px;min-height:32px}.memory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px 21px}.memory-card{padding:0;text-align:left;min-width:0;display:block}.memory-card-image{height:155px;position:relative;overflow:hidden;border-radius:3px;background:#d8dfcf}.memory-card-image>img{width:100%;height:100%;object-fit:cover;transition:transform .55s,filter .55s;filter:saturate(.75)}.memory-card:hover .memory-card-image>img{transform:scale(1.045);filter:saturate(1)}.memory-card-image:after{content:"";position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#172b2590);pointer-events:none}.card-place{position:absolute;z-index:1;bottom:10px;left:12px;font-size:9px;letter-spacing:1px;display:flex;align-items:center;gap:5px;color:#fff7e5}.card-open{position:absolute;z-index:1;bottom:9px;right:12px;color:#fff9e8;display:grid;place-items:center;width:24px;height:24px;border:1px solid #ffffff66;border-radius:50%;opacity:.8}.sample-tag{position:absolute;right:10px;top:9px;font-size:7px;letter-spacing:1px;color:#fff8e8;padding:3px 5px;background:#2b3d3290;border-radius:2px}.memory-card-copy{padding:13px 1px 3px}.card-date{font-size:8px;letter-spacing:1px;color:#a1a38c;display:flex;justify-content:space-between;align-items:center}.card-date>span{font-family:Georgia,serif;font-style:italic}.memory-card h3{font-size:14px;line-height:1.8;margin:7px 0 10px;color:#354c37;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.card-bottom{display:flex;align-items:center;gap:8px}.card-bottom>span:last-child{font-size:8px;color:#969d87;display:flex;align-items:center;gap:4px}.card-bottom .mini-avatars span{width:18px;height:18px;font-size:6px}.library-footer{margin-top:29px;padding:19px 0 2px;border-top:1px solid var(--line);color:#a0a38d;display:flex;gap:14px;justify-content:space-between;font-size:8px;letter-spacing:.2px}.empty-state{text-align:center;padding:50px 20px 65px;color:#819273;min-height:270px}.empty-state>svg{color:#b7a47e;margin-bottom:17px}.empty-state h3{font-size:22px;color:#59704d}.empty-state p{font-size:12px;line-height:2;margin:13px 0 23px}.empty-state>.text-action{display:block;color:#697f5a;margin:10px auto auto}.scene-flat{position:absolute;inset:0;background:#19352e;display:flex;align-items:center;justify-content:center;overflow:hidden}.scene-flat img{width:50%;max-height:70%;object-fit:contain;transform:perspective(900px) rotateY(-12deg) rotate(2deg);border:8px solid #c5ac7d;box-shadow:0 26px 100px #0009,0 0 70px #d9bc6820}.scene-flat-hall img{margin-left:30%;max-height:55%;margin-top:40px}.flat-light{position:absolute;inset:0;background:radial-gradient(ellipse at 65% 40%,transparent,#19352e80)}.creation-shell{min-height:100dvh;background:var(--paper)}.creation-header{height:93px;max-width:1360px;padding:0 44px;margin:auto;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.creation-header>.brand .brand-mark{font-size:34px}.creation-header>.brand>span:last-child{font-size:28px}.creation-header>span{font-size:10px;color:#89927d;display:flex;align-items:center;gap:6px}.creation-main{max-width:1180px;padding:39px 40px 30px;margin:auto}.creation-intro{text-align:center;margin-bottom:30px}.creation-intro>.eyebrow{justify-content:center;color:#a19a7f;font-size:8px}.creation-intro h1{font-size:31px;line-height:1.8;margin:8px 0;letter-spacing:1px}.creation-intro p{font-size:12px;color:#8c917e;line-height:1.9}.stepper{max-width:690px;display:flex;list-style:none;padding:0;margin:0 auto 33px;justify-content:space-between}.stepper li{display:flex;align-items:center;gap:8px;color:#a5a895;font-size:11px;position:relative;flex:1}.stepper li:after{content:"";height:1px;background:#dde0d0;flex:1;margin:0 13px}.stepper li:last-child{flex:none}.stepper li:last-child:after{display:none}.stepper li>span{border:1px solid #cbd2bc;color:#a0ac90;width:25px;height:25px;border-radius:50%;font-size:8px;display:grid;place-items:center;flex-shrink:0}.stepper li>strong{font-weight:400;white-space:nowrap}.stepper li.current{color:#365c40}.stepper li.current>span,.stepper li.complete>span{background:#365540;border-color:#365540;color:#fff9e9}.stepper li.complete{color:#728966}.creation-workspace{border:1px solid #dde0d1;border-radius:8px;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);min-height:490px;background:#faf8f2;box-shadow:0 12px 45px #233e2d06}.creation-visual{position:relative;background:#e6e8dc;display:flex;align-items:center;justify-content:center;flex-direction:column;min-width:0;min-height:490px;padding:36px}.step-0 .creation-visual{padding:26px;background:#e9ecdf}.creation-visual>.scene{position:absolute;inset:0}.creation-visual .scene-caption{display:none}.upload-zone{width:100%;min-height:439px;border:1px dashed #bcc6aa;border-radius:5px;display:flex;align-items:center;justify-content:center;flex-direction:column;transition:background .2s;padding:24px 20px}.upload-zone.dragging{background:#d8e3cc;border-color:#597b50}.upload-art{height:78px;width:100px;position:relative;display:grid;place-items:center;margin-bottom:18px;color:#9aaa81}.upload-art span{position:absolute;width:60px;height:68px;border:1px solid #b3bfa0;background:#eff0e4;border-radius:3px;transform:rotate(-14deg);left:12px;top:5px}.upload-art span:nth-child(2){transform:rotate(11deg);left:25px;top:3px;background:#f6f4e9}.upload-art svg{position:relative;transform:rotate(4deg)}.upload-zone h2{font-size:17px;text-align:center;line-height:1.9;color:#61774e}.upload-zone>p{font-size:10px;margin:10px 0 19px;color:#929b7d}.upload-zone>small{font-size:9px;color:#9ea58c;margin-top:13px}.upload-zone .btn{min-height:43px;font-size:11px;min-width:145px}.upload-divider{display:flex;align-items:center;gap:10px;color:#a7ad95;font-size:9px;margin:22px 0 13px}.upload-divider>span{width:43px;height:1px;background:#d1d8c3}.sample-photo-button{display:flex;align-items:center;gap:11px;text-align:left;font-size:9px;color:#7e8f6a}.sample-photo-button img{width:40px;height:31px;object-fit:cover;border:3px solid #f7f5e9;transform:rotate(-7deg)}.sample-photo-button>span{display:flex;align-items:center;gap:7px;line-height:1.8}.creation-form{padding:40px 43px;display:flex;align-items:flex-start;flex-direction:column;min-width:0}.form-step-label{font-size:9px;letter-spacing:1px;color:#9d9e84;line-height:1.8}.creation-form h2{font-size:25px;line-height:1.85;letter-spacing:.5px;margin:19px 0;color:#3b573d;white-space:pre-line;word-break:break-word}.creation-form>p{font-size:12px;color:#87927b;line-height:2.2}.privacy-note{padding:18px 15px;background:#eff0e5;border:1px solid #e3e6d4;border-radius:5px;display:flex;align-items:flex-start;gap:10px;color:#788b65;font-size:11px;width:100%;margin:28px 0}.privacy-note>svg{margin-top:1px}.privacy-note>span{line-height:1.8;display:block}.privacy-note small{font-size:9px;display:block;line-height:1.9;color:#99a08a;margin-top:5px}.creation-form>.btn{width:100%;margin-top:auto}.creation-form>.quiet-button{margin-top:8px}.gentle-note{font-family:var(--serif);font-size:12px;color:#98a187;padding:25px 0;line-height:2.1}.creation-bottom{display:flex;align-items:center;justify-content:space-between;padding:14px 0}.creation-bottom>span{font-size:9px;display:flex;gap:6px;align-items:center;color:#969f87}.creation-bottom .text-button{color:#718765;font-size:11px}.photo-focus-wrap{width:100%;min-width:0}.photo-focus{position:relative;width:fit-content;max-width:100%;margin:auto;line-height:0;box-shadow:0 12px 35px #354d2920;border:7px solid #fdfcf6;border-bottom-width:18px}.photo-focus>img{max-height:340px;width:auto;max-width:100%;object-fit:contain;touch-action:manipulation}.photo-focus.interactive>img{cursor:crosshair}.focus-marker{position:absolute;pointer-events:none;transform:translate(-50%,-50%);width:35px;height:35px;border:1px solid #fff8e2;box-shadow:0 0 0 6px #e9c38340,0 0 30px #f4c66c80;border-radius:50%;display:grid;place-items:center;transition:left .45s,top .45s}.focus-marker:before,.focus-marker:after{content:"";position:absolute;background:#fff5d9;opacity:.6;width:8px;height:1px}.focus-marker:after{transform:rotate(90deg)}.focus-tip{font-size:9px;color:#8c9977;display:flex;gap:6px;align-items:center;justify-content:center;margin-top:22px;line-height:1.8;text-align:center}.focus-controls{margin:12px 0 0;color:#879575;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:7px}.focus-controls>span{font-size:8px}.focus-controls>div{display:flex}.focus-controls .icon-btn{min-width:35px;min-height:40px;padding:6px;font-size:14px}.photo-paper-caption{text-align:center;margin-top:22px;display:grid;gap:10px}.photo-paper-caption>span{font-size:7px;letter-spacing:2px;color:#a6ac95}.photo-paper-caption>i{font-family:var(--serif);font-size:11px;font-style:normal;color:#91a17f}.field-label{display:flex;gap:5px;align-items:center;font-size:10px;line-height:1.8;color:#748767;margin:0 0 8px}.field-label small{color:#a2a78f;font-size:8px;margin-left:auto}.creation-form textarea,.creation-form input,.creation-form select{border:1px solid #d8decb;border-radius:4px;background:#fcfbf6;color:#506a45;padding:12px;font-size:12px;line-height:1.8;width:100%;min-height:44px}.creation-form textarea{resize:vertical;min-height:114px;font-size:13px;line-height:2}.creation-form textarea::placeholder,.creation-form input::placeholder{color:#b1b69f}.creation-form .field-count{align-self:flex-end;font-size:8px;color:#aab099;margin:5px 0 14px}.creation-form .form-row{display:grid;grid-template-columns:1fr 1.2fr;gap:14px;width:100%;margin-bottom:15px}.block-field{display:block;width:100%;margin-bottom:16px}.step-2 .creation-form{padding-top:28px;padding-bottom:26px}.step-2 .creation-form h2{font-size:21px;margin:12px 0 18px}.step-2 .creation-form>.btn{margin-top:8px}.preview-quote{position:absolute;bottom:30px;left:29px;right:29px;z-index:1;color:#e3e6cb;pointer-events:none;text-align:center;background:linear-gradient(transparent,#19352eaa);padding-top:30px}.preview-quote>span{font-size:9px;letter-spacing:1px;color:#afbf9c}.preview-quote blockquote{margin:13px 0;line-height:2;font-family:var(--serif);font-size:15px;max-height:130px;overflow:hidden}.preview-quote>small{font-size:8px;color:#9db18d}.preview-honesty{font-size:9px;line-height:1.8;margin-top:14px;color:#a1a78e}.inline-error{color:#a85e48;font-size:11px;line-height:1.8;background:#f8ebe3;padding:11px 12px;border-radius:4px;margin-top:14px;width:100%}.reader-shell{min-height:100dvh;background:var(--paper);display:flex;flex-direction:column}.reader-header{height:83px;display:flex;align-items:center;padding:0 40px;border-bottom:1px solid #dedfd2;gap:35px}.reader-header>.brand .brand-mark{font-size:33px}.reader-header>.brand>span:last-child{font-size:28px}.reader-header>.text-button{color:#7e8d72;margin-left:28px;font-size:10px}.reader-header>.preview-badge{margin-left:auto;color:#87967a}.reader-main{display:grid;grid-template-columns:minmax(0,1fr) 356px;flex:1;min-height:680px}.reader-scene{position:relative;min-height:620px;background:#19352e;overflow:hidden}.reader-scene>.scene{position:absolute;inset:0}.reader-scene .scene-caption{bottom:85px}.reader-scene-top{position:absolute;top:28px;left:37px;right:37px;display:flex;justify-content:space-between;font-size:10px;color:#bdc9af;letter-spacing:1px}.reader-scene-top>span:first-child{display:flex;align-items:center;gap:6px}.reader-scene-caption{position:absolute;bottom:100px;left:37px;right:37px;color:#edeedb;pointer-events:none}.reader-scene-caption .eyebrow{color:#adc19d;font-size:8px;letter-spacing:2px}.reader-scene-caption h1{font-size:27px;letter-spacing:1px;line-height:1.8;margin:12px 0}.reader-scene-caption p{font-size:10px;line-height:1.9;color:#aebf9e}.reader-scene-actions{position:absolute;bottom:26px;left:37px;right:37px;display:flex;align-items:center;justify-content:space-between;gap:10px}.reader-scene-actions button{display:flex;gap:8px;align-items:center;font-size:9px;color:#c7d2b8;border:1px solid #b9c7a638;padding:8px 12px;min-height:41px;border-radius:4px;background:#19352e66}.reader-scene-actions button:hover{background:#4c624366}.perspective-panel{background:#f6f3eb;padding:36px 30px;display:flex;flex-direction:column;min-width:0}.panel-header .eyebrow{font-size:7px;letter-spacing:1.8px;color:#a0a18a}.panel-header h2{font-size:23px;margin:14px 0 12px;letter-spacing:.7px}.panel-header p{font-size:10px;color:#929b82;line-height:1.8}.perspective-tabs{display:flex;flex-wrap:wrap;gap:7px;margin:26px 0 22px}.perspective-tabs button{display:flex;align-items:center;gap:6px;min-height:39px;padding:6px 8px;border:1px solid #dfe1d2;font-size:10px;border-radius:30px;color:#849176}.perspective-tabs button>span{height:21px;width:21px;border-radius:50%;display:grid;place-items:center;font-size:8px;color:#fff}.perspective-tabs button.active{border-color:#8c9e76;background:#e9eddd;color:#3e5a37}.perspective-story{animation:story-reveal .45s ease}.quote-mark{font-family:Georgia,serif;font-size:55px;line-height:.8;color:#c7b48d;display:block;height:28px}.perspective-story blockquote{margin:8px 0 19px;font-family:var(--serif);font-size:16px;line-height:2.15;color:#4d6046;overflow-wrap:anywhere;max-height:250px;overflow-y:auto}.story-author{display:flex;align-items:center;gap:7px;font-size:10px;color:#8d977e}.author-dash{width:18px;height:1px;background:#adba9c}.story-author small{margin-left:auto;display:flex;gap:4px;align-items:center;font-size:8px;color:#a8ac93}.photo-souvenir{position:relative;margin:30px 0 26px;transform:rotate(-3deg);border:7px solid #fffdf6;border-bottom-width:26px;box-shadow:0 6px 17px #3d573214;width:68%;align-self:center;line-height:0}.photo-souvenir img{width:100%;max-height:140px;object-fit:cover}.photo-souvenir>small{position:absolute;bottom:-18px;left:4px;font-size:7px;line-height:1.5;color:#a0a48e;letter-spacing:.7px}.souvenir-focus{position:absolute;transform:translate(-50%,-50%);width:18px;height:18px;border:1px solid #fff2cb;border-radius:50%;box-shadow:0 0 0 3px #f8d78833;transition:left .5s,top .5s}.perspective-bottom{display:flex;flex-direction:column;gap:8px;margin-top:auto;padding-top:10px}.perspective-bottom>.btn{width:100%;font-size:11px;min-height:45px}.perspective-bottom>small{display:flex;justify-content:center;gap:5px;align-items:center;font-size:8px;color:#a2a88f;line-height:1.8}.reader-footer{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:9px 35px;font-size:9px;color:#96a083;border-top:1px solid #dee2d1}.reader-footer>div{display:flex;align-items:center;gap:18px;font-size:10px;color:#748968;font-family:Georgia,serif}.reader-photo-overlay{position:absolute;z-index:3;inset:25px 25px 90px;background:#203d33ed;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:45px;border:1px solid #78916744;box-shadow:0 20px 70px #0004;border-radius:5px}.reader-photo-overlay .photo-focus{max-width:90%}.reader-photo-overlay .photo-focus img{max-height:380px}.reader-photo-overlay>p{font-size:11px;color:#cad3b6;margin-top:22px}.photo-overlay-close{position:absolute;right:15px;top:10px;min-width:44px;min-height:44px;font-size:26px;color:#d2d9bc}.reader-photo-overlay .photo-focus-wrap{max-width:660px}.modal-backdrop{position:fixed;inset:0;z-index:60;background:#112b24a6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:24px;animation:story-reveal .2s ease}.modal{width:460px;max-width:100%;max-height:calc(100dvh - 48px);overflow-y:auto;padding:37px 38px 25px;background:var(--paper);border:1px solid #ffffec66;border-radius:10px;position:relative;box-shadow:0 25px 120px #0c261f55;outline:0}.modal-close{position:absolute;right:10px;top:10px;color:#a0aa91}.modal-star{color:#b5965b;font-size:35px;display:block;margin-bottom:19px}.modal h2{font-size:23px;line-height:1.8;margin-bottom:18px}.modal p{font-size:12px;line-height:2.1;color:#839174;margin:10px 0 20px}.modal>.btn{width:100%;margin-top:12px;font-size:12px}.modal-facts{display:grid;gap:15px;margin:25px 0;font-size:11px;color:#698158}.modal-facts>span{display:flex;align-items:center;gap:9px}.modal .privacy-note{margin:18px 0}.share-preview{font-family:var(--serif);font-size:15px;line-height:2.1;padding:20px;background:#e9eddf;border-left:2px solid #b9c5a3;color:#586e48;max-height:220px;overflow-y:auto;overflow-wrap:anywhere}.service-status{font-size:10px;color:#909a7f;display:flex;align-items:center;gap:7px;padding:15px 0;border-top:1px solid #dfe3d3;line-height:1.8}.service-status i{width:5px;height:5px;background:#c5a86b;border-radius:50%}.toast{position:fixed;z-index:90;bottom:25px;left:50%;transform:translate(-50%);max-width:min(90vw,600px);background:#f7f6e9;border:1px solid #cbd7bb;box-shadow:0 8px 35px #10291c25;color:#527345;display:flex;gap:10px;align-items:center;padding:8px 10px 8px 17px;border-radius:6px;font-size:11px;line-height:1.9}.toast>.icon-btn{min-width:32px;min-height:32px}.toast>span{flex:1}.toast-error{background:#fff1e8;color:#a66c50;border-color:#e5c8b4}.loading-page,.resume-empty{min-height:100dvh;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:24px;padding:30px;text-align:center;background:var(--forest-deep);color:#d8dfc5}.loading-page p{font-size:12px;line-height:2;color:#a3b594}.loading-page h1{font-size:25px}.loading-star{font-size:50px;color:var(--gold);animation:spin-light 5s linear infinite}.resume-empty{position:fixed;inset:0;background:var(--paper);color:#526c45}.resume-empty h1{font-size:25px}.storage-banner{padding:14px 25px;background:#fcdfbc;display:flex;gap:12px;align-items:center;font-size:11px;color:#855c37;position:relative;z-index:9;line-height:1.8}.storage-banner button{min-height:35px;border:1px solid #d8ac75;padding:0 10px;border-radius:3px;white-space:nowrap}@keyframes story-reveal{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes spin-light{to{transform:rotate(180deg)}}@media(min-width:1600px){.hero{height:625px}.hero-copy{padding-top:55px;padding-left:65px}.hero h1{font-size:52px}.featured-invite{right:65px;bottom:95px;width:360px}.featured-invite strong{font-size:21px}.memory-library{padding:39px 65px 20px}.memory-card-image{height:190px}.memory-card h3{font-size:16px}.hero-bottom-note{left:65px;right:65px}.reader-main{grid-template-columns:minmax(0,1fr) 410px;min-height:740px}.perspective-panel{padding:45px 37px}.reader-scene-caption h1{font-size:35px}}@media(max-width:1100px)and (min-width:769px){.gallery-shell{grid-template-columns:204px minmax(0,1fr)}.sidebar{padding-left:16px;padding-right:16px}.topbar{padding:0 28px}.hero{height:560px}.hero-copy{padding-left:30px}.hero h1{font-size:35px}.featured-invite{width:245px;right:28px;bottom:59px}.featured-invite strong{font-size:15px}.hero-bottom-note{left:30px;right:28px}.memory-library{padding:29px 28px 15px}.memory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.library-tools{flex-wrap:wrap;gap:6px}.search-field{margin-left:auto;max-width:230px}.reader-main{grid-template-columns:minmax(0,1fr) 320px}.perspective-panel{padding:27px 23px}.reader-scene-caption h1{font-size:23px}.creation-form{padding:35px 29px}.creation-form h2{font-size:22px}}@media(max-width:768px){.gallery-shell{display:block}.sidebar{display:none}.topbar{height:75px;padding:0 24px}.mobile-brand{display:block}.mobile-brand .brand{gap:9px}.mobile-brand .brand-mark{font-size:32px;color:#dbbd86}.mobile-brand .brand>span:last-child{font-size:28px;color:#eeead8}.mobile-brand .brand small{color:#8fa68d;font-size:7px;letter-spacing:2.3px;margin-top:7px}.breadcrumb{display:none}.top-actions{gap:14px}.mobile-collections{display:flex;justify-content:center;gap:27px;height:52px;background:#1c382f;border-bottom:1px solid #d3dcc317;color:#a9b99e}.mobile-collections button{display:flex;gap:7px;align-items:center;min-height:44px;font-size:11px;position:relative}.mobile-collections button.active{color:#e6d7b8}.mobile-collections button.active:after{content:"";position:absolute;bottom:0;left:15px;right:15px;height:2px;background:#ddbd85}.hero{height:585px}.hero-copy{padding:35px 28px 0;max-width:100%}.hero h1{font-size:36px;margin:11px 0 12px;line-height:1.65}.hero-copy>.eyebrow{font-size:7px;letter-spacing:1.9px}.hero-copy>p{font-size:11px;line-height:2}.hero-actions{margin-top:20px;gap:20px}.hero-actions .btn{font-size:10px;min-height:43px}.hero-actions .text-action{font-size:10px}.hero>.scene canvas{transform:translateY(50px)}.featured-invite{bottom:51px;right:28px;width:260px}.featured-invite strong{font-size:15px;line-height:1.9;margin:5px 0 8px}.invite-location{font-size:8px}.invite-line{margin-bottom:10px}.hero-bottom-note{left:28px;right:28px;bottom:15px;padding-top:11px;font-size:8px}.memory-library{padding:29px 26px 17px}.library-heading h2{font-size:22px}.wander-button{font-size:9px;gap:5px}.wander-button>svg:last-child{display:none}.library-tools{flex-direction:column;align-items:stretch;gap:12px;margin-top:21px;padding-bottom:14px}.location-chips{margin:0 -26px;padding:0 26px}.location-chips button{font-size:10px;padding:6px 11px;min-height:36px}.search-field{flex-basis:auto;max-width:100%;min-height:40px;background:#ebeedd;padding:0 10px;border-radius:4px}.search-field input{font-size:11px}.memory-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 18px}.memory-card-image{height:155px}.memory-card h3{font-size:13px}.library-footer{font-size:8px;line-height:1.8;flex-wrap:wrap;justify-content:center;text-align:center;gap:5px}.reader-header{height:77px;padding:0 23px;gap:18px}.reader-header>.brand .brand-mark{font-size:29px}.reader-header>.brand>span:last-child{font-size:25px}.reader-header>.brand small{font-size:7px;letter-spacing:2px}.reader-header>.text-button{margin-left:auto;font-size:10px;gap:6px}.reader-header>.preview-badge{display:none}.reader-main{display:block;min-height:0}.reader-scene{height:490px;min-height:0}.reader-scene-top{left:26px;right:26px;top:23px;font-size:9px}.reader-scene-caption{left:27px;right:27px;bottom:86px}.reader-scene-caption h1{font-size:24px;max-width:400px;margin:11px 0}.reader-scene-caption p{font-size:9px}.reader-scene-actions{left:26px;right:26px;bottom:21px}.reader-scene-actions button{font-size:8px;min-height:40px}.reader-scene .scene-caption{display:none}.perspective-panel{padding:31px 30px 28px;max-width:650px;margin:auto}.panel-header h2{font-size:25px}.panel-header .eyebrow{font-size:8px}.perspective-tabs{margin-top:23px;margin-bottom:25px}.perspective-tabs button{min-height:44px;padding:7px 12px;font-size:11px}.perspective-story blockquote{font-size:17px;line-height:2.2;max-height:none}.photo-souvenir{width:50%;max-width:220px;margin:29px 0 30px}.photo-souvenir img{max-height:none}.perspective-bottom>.btn{min-height:47px;font-size:12px}.perspective-bottom>small{font-size:9px}.reader-footer{padding:9px 20px;font-size:8px;flex-wrap:wrap}.reader-footer>span:last-child{display:none}.reader-photo-overlay{inset:15px 15px 75px;padding:30px 16px}.reader-photo-overlay .photo-focus img{max-height:290px}.creation-header{height:78px;padding:0 24px}.creation-header>.brand .brand-mark{font-size:29px}.creation-header>.brand>span:last-child{font-size:25px}.creation-header>.brand small{font-size:7px;letter-spacing:2px}.creation-header>span{font-size:8px;margin-left:auto;margin-right:12px;max-width:130px;line-height:1.7}.creation-main{padding:25px;max-width:650px}.creation-intro{margin-bottom:24px}.creation-intro h1{font-size:26px;margin:10px 0}.creation-intro p{font-size:10px}.stepper{margin-bottom:24px}.stepper li{gap:5px;font-size:9px}.stepper li>span{width:22px;height:22px;font-size:7px}.stepper li:after{margin:0 7px}.stepper li>strong{font-size:9px}.creation-workspace{grid-template-columns:1fr;min-height:0}.creation-visual{min-height:300px;padding:26px}.step-0 .creation-visual{padding:20px}.upload-zone{min-height:350px;padding:23px 13px}.upload-zone h2{font-size:16px}.upload-art{height:70px;margin-bottom:12px}.upload-zone>.desktop-only{display:none}.upload-zone>.mobile-only{display:block}.creation-form{padding:28px 29px;min-height:330px}.creation-form h2{font-size:24px;margin:14px 0}.creation-form>p{font-size:12px}.creation-form .privacy-note{margin:22px 0 10px}.step-0 .creation-form h2 br,.step-0 .creation-form>p br{display:none}.step-0 .creation-form{min-height:0}.step-0 .creation-form h2{font-size:21px;line-height:1.7}.step-0 .creation-form>p{font-size:11px;line-height:2}.step-1 .creation-form>.btn{margin-top:22px}.step-1 .creation-form .gentle-note{padding:20px 0 0}.photo-focus>img{max-height:300px}.photo-focus-wrap{max-width:450px}.photo-paper-caption{margin-top:15px}.focus-controls .icon-btn{min-width:44px;min-height:44px}.step-2 .creation-visual{min-height:250px;padding:25px 35px}.step-2 .photo-focus>img{max-height:210px}.step-2 .creation-form{padding:28px}.step-2 .creation-form h2{font-size:23px}.step-2 textarea{font-size:16px;min-height:145px}.creation-form input,.creation-form select{font-size:14px;min-height:46px}.form-row input{max-width:100%}.creation-form .field-label{font-size:11px}.step-3 .creation-visual{height:400px}.preview-quote{bottom:24px;left:24px;right:24px}.preview-quote blockquote{font-size:13px;line-height:2}.step-3 .creation-form{min-height:350px}.step-3 .creation-form>.btn{margin-top:22px}.creation-bottom{padding:10px 0;gap:8px}.creation-bottom>span{font-size:8px}.creation-bottom>.text-button{font-size:10px}.desktop-only{display:none}.mobile-only{display:block}.storage-banner{flex-wrap:wrap;padding:11px 20px}}@media(max-width:480px){.hero{height:613px}.hero-copy{padding-left:25px;padding-right:20px}.hero h1{font-size:32px}.hero>.scene canvas{transform:translateY(84px)}.featured-invite{left:25px;right:25px;width:auto;bottom:51px}.featured-invite strong{font-size:16px}.invite-line{width:25px}.invite-bottom{gap:8px}.invite-bottom i{width:30px;height:30px}.hero-bottom-note{left:25px;right:25px}.hero-copy>p{font-size:11px;max-width:280px}.hero-actions{gap:16px}.hero-actions .btn{padding:12px 13px;font-size:10px;gap:6px}.memory-library{padding:28px 22px 15px}.library-heading h2{font-size:21px}.library-heading .eyebrow{font-size:7px;letter-spacing:1.6px}.library-heading h2 small{font-size:11px;gap:9px;padding-left:9px}.wander-button{font-size:8px;gap:5px}.location-chips{margin:0 -22px;padding:0 22px}.memory-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 -22px;padding:0 22px 12px;gap:16px;scrollbar-width:thin;scrollbar-color:#c0cbb0 transparent}.memory-card{flex:0 0 258px;scroll-snap-align:start}.memory-card-image{height:169px}.memory-card h3{font-size:14px}.card-date{font-size:8px}.card-bottom>span:last-child{font-size:8px}.card-bottom .mini-avatars span{width:20px;height:20px;font-size:7px}.library-footer{margin-top:14px;padding-top:17px}.reader-scene{height:445px}.reader-scene-caption h1{font-size:22px;line-height:1.9}.reader-scene-top{font-size:8px}.reader-scene-actions button span{display:none}.reader-scene-caption p{font-size:9px}.perspective-panel{padding:30px 26px}.panel-header h2{font-size:24px}.perspective-tabs{gap:8px}.perspective-tabs button{padding:6px 11px}.photo-souvenir{width:60%}.reader-footer{gap:4px;padding-left:22px;padding-right:14px}.reader-footer>span:first-child{font-size:7px;max-width:175px;line-height:1.8}.reader-footer>div{gap:6px}.creation-main{padding:25px 16px}.creation-header{padding:0 18px}.creation-header>.brand small{font-size:6px}.creation-header>span{max-width:108px;font-size:7px;margin-right:4px}.creation-intro h1{font-size:23px}.creation-intro p{font-size:10px;padding:0 6px}.stepper{gap:7px}.stepper li{gap:4px;display:flex;flex-direction:column;flex:1;font-size:8px}.stepper li:last-child{flex:1}.stepper li:after{position:absolute;width:calc(100% - 24px);top:11px;left:calc(50% + 15px);margin:0}.stepper li>span{width:23px;height:23px}.stepper li>strong{font-size:8px;margin-top:3px}.stepper li:last-child:after{display:none}.creation-workspace{border-radius:6px}.creation-visual{padding:21px;min-height:280px}.creation-form{padding:26px 25px}.creation-form h2{font-size:23px}.step-0 .creation-visual{padding:15px}.upload-zone{min-height:345px}.upload-zone h2{font-size:14px}.upload-zone>p{font-size:9px}.sample-photo-button{font-size:8px;gap:8px}.step-2 .creation-form{padding:26px 22px}.step-2 .creation-form h2{font-size:22px}.creation-form .form-row{gap:9px;grid-template-columns:1fr 1.2fr}.creation-form input,.creation-form select{font-size:13px;padding:10px 9px}.creation-form .field-label{font-size:10px}.creation-form .field-label small{font-size:7px}.creation-bottom>span{font-size:7px}.creation-bottom>.text-button{font-size:10px}.focus-tip{font-size:8px;gap:5px}.focus-controls>span{display:none}.step-3 .creation-visual{height:355px}.step-3 .creation-form h2{font-size:22px}.modal-backdrop{padding:17px}.modal{padding:32px 26px 23px;max-height:calc(100dvh - 34px)}.modal h2{font-size:21px}.modal p{font-size:11px}.toast{bottom:calc(14px + env(safe-area-inset-bottom));padding-left:12px;font-size:10px;width:90vw}.creation-bottom{padding-bottom:calc(8px + env(safe-area-inset-bottom))}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.hero>.scene canvas{transform:none}.focus-marker,.souvenir-focus{transition:none}}.hero>.scene:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#19352ef2,#19352eac 27%,#19352e00 62%);pointer-events:none}@media(max-width:768px){.hero>.scene:after{background:linear-gradient(180deg,#19352ef2,#19352ed9 26%,#19352e08 64%,#19352e88)}}button,.place-nav button,.location-chips button,.preview-badge{min-height:44px}.search-field button,.focus-controls .icon-btn{min-width:44px;min-height:44px}@media(max-width:768px){.creation-form input,.creation-form select,.creation-form textarea{font-size:16px}.creation-header>.brand small{letter-spacing:1.8px}}.sidebar-family small,.side-section-title,.place-nav button>span:last-child,.family-note>small,.sidebar-foot,.library-heading .eyebrow,.card-date,.card-bottom>span:last-child,.library-footer,.creation-intro p,.form-step-label,.creation-form>p,.privacy-note small,.focus-tip,.focus-controls,.photo-paper-caption>span,.photo-paper-caption>i,.field-count,.field-label small,.preview-honesty,.panel-header p,.panel-header .eyebrow,.story-author,.story-author small,.photo-souvenir>small,.perspective-bottom>small,.reader-footer,.creation-header>span,.creation-bottom>span,.modal p,.subtle,.service-status{color:#637055}.search-field input::placeholder,.creation-form textarea::placeholder,.creation-form input::placeholder{color:#6d785e}@media(max-width:480px){.memory-grid{scroll-padding-inline:22px}.library-footer,.card-date{font-size:9px}.card-bottom>span:last-child{font-size:9px}}.motion-toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:12px 0;border-top:1px solid var(--line);font-size:12px;color:#5a704b}.motion-toggle span{font-size:9px;color:#7d886c}[data-reduced-motion=true] *,[data-reduced-motion=true] *:before,[data-reduced-motion=true] *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.photo-souvenir img{height:auto;max-height:none;object-fit:contain}.scene-landmarks{position:absolute;inset:0;pointer-events:none;z-index:3;overflow:hidden}.scene-landmark{position:absolute;transform:translate(-50%,-100%);pointer-events:auto;min-height:44px;display:flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid #d8c6a36b;border-radius:4px;background:#172e27e8;color:#e8dfc9;font-size:10px;white-space:nowrap;box-shadow:0 8px 25px #071c2433;transition:background .25s,border-color .25s,opacity .25s}.scene-landmark:after{content:"";position:absolute;width:1px;height:17px;background:linear-gradient(#d9bf8e99,transparent);left:50%;top:100%}.scene-landmark:hover,.scene-landmark.active{background:#d4bd8e;color:#203b30;border-color:#e5cfa2}.scene-landmark:active:not(:disabled){transform:translate(-50%,-100%)}.landmark-light{width:5px;height:5px;background:#efd3a0;border-radius:50%;box-shadow:0 0 10px #e4bc77}.scene-landmark.active .landmark-light{background:#315646;box-shadow:none}.scene-view-nav{position:absolute;top:61px;left:37px;right:37px;display:flex;align-items:center;justify-content:space-between;gap:12px;z-index:5;pointer-events:none}.scene-view-nav>span{display:flex;align-items:center;gap:7px;color:#ddd9be;font-size:10px;letter-spacing:.6px}.scene-view-nav i{width:4px;height:4px;border-radius:50%;background:#ddc18f;box-shadow:0 0 9px #ddc18f80}.scene-view-nav button{pointer-events:auto;display:flex;align-items:center;gap:7px;min-height:44px;color:#d8ddc7;background:#19352ec9;border:1px solid #a8b99940;border-radius:4px;padding:8px 12px;font-size:10px}.guided-scene:after{content:"";position:absolute;inset:50% 0 0;pointer-events:none;background:linear-gradient(transparent,#102c259c 70%,#102c25d9);z-index:1}.guided-scene .reader-scene-top,.guided-scene .reader-scene-caption,.guided-scene .reader-scene-actions{z-index:4}.guided-scene .reader-scene-caption{animation:memory-arrival 1.5s both;max-width:560px}.guided-scene .reader-scene-caption h1{font-size:29px;line-height:1.65;margin:11px 0}.guided-scene .reader-scene-caption blockquote{font-family:var(--serif);font-size:16px;line-height:1.95;color:#e0e2ce;margin:0;max-width:470px;overflow-wrap:anywhere;text-shadow:0 2px 12px #102d26}.guided-scene.is-close .scene-caption{display:none}.memory-tour{margin-top:25px;padding:17px 0 0;border-top:1px solid #dce0d1}.tour-intro{display:flex;align-items:center;gap:10px;color:#6d7d60;font-size:11px}.tour-intro>svg{color:#ac8b54}.tour-intro small{display:block;font-size:9px;color:#88907e;margin-top:5px}.tour-stops{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:17px 0 14px}.tour-stops button{display:flex;align-items:flex-start;text-align:left;gap:6px;min-height:68px;padding:11px 7px;border:1px solid #dce0d1;border-radius:4px;background:#eeeee366}.tour-stops button>span{font-size:8px;color:#a6a58c;padding-top:2px}.tour-stops strong{font-size:11px;font-weight:500;color:#5a6d4c;line-height:1.6}.tour-stops small{font-size:8px;display:block;color:#7c876f;line-height:1.8;margin-top:3px;overflow-wrap:anywhere}.tour-stops button.active{background:#e3e8d8;border-color:#8c9e76;box-shadow:inset 0 -2px #a38e60}.tour-stops button.active>span,.tour-stops button.active small{color:#5f734e}.tour-controls{display:flex;align-items:center;gap:3px}.tour-play{display:flex;align-items:center;justify-content:center;gap:7px;min-height:44px;flex:1;padding:10px 8px;border:1px solid #b8c1a7;background:#e6eadd;border-radius:4px;color:#355239;font-size:10px}.tour-controls .icon-btn{padding:8px;min-width:36px}.tour-progress{height:2px;background:#e0e3d5;margin-top:14px;overflow:hidden}.tour-progress span{height:100%;display:block;background:#b3935d;transition:width .1s linear}.tour-note{font-size:9px;color:#77836a;line-height:1.8;margin:10px 0 0;min-height:32px}.memory-tour+.perspective-tabs:empty{display:none}.memory-tour~.perspective-story{margin-top:20px}.family-response-prompt{font-family:var(--serif);font-size:12px;color:#69765c;line-height:1.9;margin:15px 0 8px}.prefers-still .reader-scene-caption,.prefers-still .perspective-story{animation:none}.prefers-still .tour-progress span{transition:none}@keyframes memory-arrival{0%,20%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.guided-scene.reader-scene{height:540px;min-height:540px}.scene-view-nav{left:27px;right:27px;top:54px;align-items:flex-start}.scene-view-nav>span{font-size:9px;padding-top:14px}.scene-view-nav button{font-size:9px;padding:7px 9px}.scene-landmark{font-size:9px;padding:7px 9px;gap:5px}.guided-scene .reader-scene-caption{left:27px;right:27px;bottom:94px;max-width:none}.guided-scene .reader-scene-caption h1{font-size:23px;line-height:1.65;margin:9px 0}.guided-scene .reader-scene-caption blockquote{font-size:13px;line-height:1.95;max-width:450px}.memory-tour{margin-top:23px;padding-top:18px}.tour-stops{gap:10px}.tour-stops button{min-height:70px;padding:12px}.tour-stops strong{font-size:12px}.tour-stops small{font-size:9px}.tour-play{font-size:11px}.tour-note{font-size:10px}.tour-controls .icon-btn{min-width:44px}}@media(prefers-reduced-motion:reduce){.guided-scene .reader-scene-caption{animation:none}.tour-progress span{transition:none}}.scene-family-tabs,.reader-scene-actions .scene-tour-play{display:none}.reader-scene-caption h1:focus{outline:none}@media(max-width:768px){.scene-family-tabs{position:absolute;z-index:5;top:109px;left:27px;right:27px;display:flex;justify-content:center;gap:7px}.scene-family-tabs button{display:flex;align-items:center;justify-content:center;gap:6px;min-height:44px;min-width:84px;padding:7px 12px;border:1px solid #c0c9ac47;background:#19352ed9;color:#e1e4d1;border-radius:24px;font-size:11px}.scene-family-tabs button>span{width:19px;height:19px;display:grid;place-items:center;color:#fff;font-size:8px;border-radius:50%}.scene-family-tabs button[aria-pressed=true]{background:#d4bd8e;color:#203b30;border-color:#e5cfa2}.reader-scene-actions .scene-tour-play{display:flex;background:#d4bd8e;color:#203b30;font-size:10px;border-color:#e5cfa2;justify-content:center;flex:1;max-width:180px}.guided-scene .reader-scene-actions>button:first-child{font-size:0;padding:10px;min-width:44px;justify-content:center}.guided-scene .reader-scene-actions>button:last-child{min-width:44px;justify-content:center}}.reader-shell{position:fixed;inset:0;overflow:hidden;background:#172b29}.reader-shell .reader-header{position:absolute;z-index:8;top:0;left:0;right:0;background:linear-gradient(#142622a8,transparent);border:0;padding:22px 30px;color:#fff3dd;pointer-events:none}.reader-shell .reader-header>*{pointer-events:auto}.reader-shell .reader-header .brand,.reader-shell .reader-header .text-button{color:#fff1d5}.reader-shell .reader-header .brand small{color:#e7d3b2}.reader-shell .reader-main{display:block;height:100%;min-height:0}.reader-shell .reader-scene{height:100%;min-height:0;border-radius:0}.reader-shell .reader-footer{display:none}.reader-shell .reader-scene-top{top:92px}.reader-shell .scene-view-nav{top:125px}.reader-shell .scene-family-tabs{inset:172px auto auto 28px;display:flex}.reader-shell .reader-scene-caption{bottom:105px;max-width:600px;pointer-events:none}.reader-shell .reader-scene-caption h1{font-size:clamp(23px,3vw,38px)}.reader-shell .reader-scene-actions{bottom:max(24px,env(safe-area-inset-bottom));left:28px;right:28px;display:flex;justify-content:flex-start;gap:9px;flex-wrap:wrap}.reader-shell .reader-scene-actions button{min-height:44px;background:#21372de0;color:#fff1d7;border:1px solid #ffffff33;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:12px}.reader-shell .modal-backdrop{z-index:20}.reader-shell .modal{max-height:calc(100dvh - 30px);overflow:auto}.reader-shell .perspective-panel{border:0;padding:0;background:transparent;overflow:visible;max-height:none}.reader-shell .panel-header{display:none}.reader-shell .reader-photo-overlay{z-index:12;inset:85px 20% 90px}@media(max-width:768px){.reader-shell .reader-header{padding:18px}.reader-shell .reader-header .preview-badge{display:none}.reader-shell .reader-scene-top{top:82px;left:20px}.reader-shell .scene-view-nav{top:113px;left:20px;right:20px}.reader-shell .scene-family-tabs{top:156px;left:20px;right:20px;width:auto}.reader-shell .reader-scene-caption{left:23px;right:23px;bottom:155px}.reader-shell .reader-scene-caption blockquote{font-size:14px;line-height:1.8}.reader-shell .reader-scene-actions{left:20px;right:20px;bottom:max(20px,env(safe-area-inset-bottom));display:grid;grid-template-columns:1fr 1fr;gap:8px}.reader-shell .reader-scene-actions button{font-size:10px;justify-content:center;padding:10px 7px}.reader-shell .reader-photo-overlay{inset:85px 18px 135px}.reader-shell .modal{width:calc(100vw - 28px);max-height:calc(100dvh - 28px)}}.reader-shell .scene-family-tabs{position:absolute;z-index:5;gap:7px}.reader-shell .scene-family-tabs button{display:flex;align-items:center;gap:7px;min-height:44px;min-width:82px;padding:8px 12px;border:1px solid #ffffff38;background:#233b32dc;color:#fff2db;border-radius:24px;font-size:12px}.reader-shell .scene-family-tabs button>span{width:21px;height:21px;display:grid;place-items:center;border-radius:50%;color:#fff;font-size:10px}.reader-shell .scene-family-tabs button[aria-pressed=true]{background:#d4bd8e;color:#203b30}.reader-shell .reader-scene-actions .scene-tour-play{display:flex;align-items:center;background:#d4bd8e;color:#203b30}@media(max-width:768px){.reader-shell .guided-scene .reader-scene-actions>button:first-child{font-size:11px;gap:6px}.reader-shell .reader-scene-actions button{font-size:11px}}
