:root{--ink:#634259;--muted:#987687;--rose:#ba688b;--paper:#fff7fa;--line:rgba(124,75,104,.16);--serif:"Cormorant Garamond",Georgia,serif;--script:"Dancing Script",cursive}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#edccde;color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:14px}button,a,input{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button{color:inherit;cursor:pointer}button{border:0}button:disabled{cursor:wait;opacity:.7}button:focus-visible,a:focus-visible,input:focus-visible,canvas:focus-visible{outline:2px solid #9d4d7b;outline-offset:5px}button:active{transform:scale(.97)}[hidden]{display:none!important}svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}#garden{position:relative;width:100%;height:100dvh;isolation:isolate}#scene{display:block;width:100%;height:100%;touch-action:none;cursor:grab;outline:none}#scene:active{cursor:grabbing}.vignette{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(180deg,rgba(255,246,252,.36),transparent 23%,transparent 78%,rgba(255,238,247,.64)),radial-gradient(ellipse,transparent 56%,rgba(245,216,235,.22));z-index:1}.topbar{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:28px 36px;z-index:6;gap:16px;pointer-events:none}.topbar>*{pointer-events:auto}.wordmark{display:grid;grid-template-columns:28px auto;align-items:center;color:var(--ink);text-decoration:none;font:600 27px var(--script);gap:0 7px}.brand-icon{font:31px Georgia}.brand-caption{grid-column:2;font:8px Arial;letter-spacing:2.5px;margin-top:3px}.top-actions{display:flex;align-items:center;gap:12px}.occasion{font:italic 18px var(--serif);margin-right:12px}.icon-button{display:inline-grid;place-items:center;width:44px;height:44px;border:1px solid rgba(255,255,255,.7);border-radius:50%;background:#fff9fd8c;font-size:23px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:background .2s,transform .2s}.icon-button:hover{background:#ffffffe6}.welcome{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;display:flex;align-items:center;justify-content:center;text-align:center;background:linear-gradient(90deg,#f9e0f01f,#fff0f9ba 34%,#fff0f9b3 66%,#f6e3f326);transition:opacity 1.1s ease,visibility 1.1s}.welcome.leaving{opacity:0;pointer-events:none;visibility:hidden}.welcome-copy{position:relative;margin-top:-20px;padding:24px}.eyebrow{font-size:9px;font-weight:500;letter-spacing:2.2px;line-height:1.8;margin:0 0 20px;text-transform:uppercase}h1{font:500 italic clamp(66px,8vw,112px)/.83 var(--serif);letter-spacing:-4px;margin:27px 0 30px;color:#73475f}h1 em{display:block;font:500 clamp(74px,9vw,126px)/1.06 var(--script);letter-spacing:-4px;color:#ad688a;padding-left:50px}.intro-line{font:italic 20px var(--serif);margin:0 0 31px}.primary{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;min-height:50px;padding:15px 24px;border-radius:40px;background:#a96185;color:#fff;box-shadow:0 8px 28px #9f5e8725;font-size:12px;transition:background .25s}.primary:hover{background:#975377}.primary>span:last-child{font-size:20px}.load-track{height:2px;background:#ac6b8622;max-width:170px;margin:20px auto 0;overflow:hidden;border-radius:4px}.load-track i{display:block;width:0;height:100%;background:#b47a99;transition:width .25s}.load-caption{font-size:10px;color:#97798b;margin:12px 0}.bunny-note{position:absolute;bottom:16%;right:13%;display:flex;align-items:center;flex-direction:column;transform:rotate(-7deg)}.bunny-note img{width:clamp(95px,10vw,160px);filter:drop-shadow(0 10px 13px #b57aa426)}.bunny-note span{font:18px var(--script);transform:rotate(3deg);margin-top:-6px}.welcome-bottom{position:absolute;bottom:26px;font-size:9px;letter-spacing:1px}.welcome-bottom span{margin:0 20px;font-size:15px}.explore-ui,.focus-ui{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;pointer-events:none}.explore-ui button,.focus-ui button{pointer-events:auto}.garden-title{position:absolute;top:145px;left:42px;max-width:230px;text-shadow:0 1px 12px #fff9;transition:opacity .7s}.garden-title .eyebrow{font-size:8px;letter-spacing:3px;margin-bottom:15px}.garden-title h2{font:500 italic 38px/1.03 var(--serif);margin:0;color:#754760}.garden-title h2 em{font:500 42px/1.2 var(--script);padding-left:6px;white-space:nowrap}.garden-title>p:last-child{font-size:10px;margin-top:17px;letter-spacing:.3px;color:#96768d}.garden-title.faded{opacity:0}.direction{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:58px;border-radius:40px;background:#fff5fc61;border:1px solid #fff7;font:35px var(--serif);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.direction.left{left:26px}.direction.right{right:26px}.direction:hover{background:#fff9}.scene-label{position:absolute;left:50%;top:72%;transform:translate(-50%,-50%);text-align:center;white-space:nowrap;text-shadow:0 1px 8px white,0 1px 8px white;opacity:0;transition:opacity .25s}.scene-label.visible{opacity:1}.scene-label span{font:500 28px var(--script);display:block}.scene-label small{font-size:9px;letter-spacing:.7px;display:block;margin-top:5px}.bottom-bar{position:absolute;bottom:24px;left:36px;right:36px;display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.swipe-hint{font-size:10px;display:flex;gap:10px;align-items:center;opacity:.9}.swipe-hint svg{width:38px;height:14px}.hint-separator{opacity:.5}.compass{display:flex;gap:12px;align-items:center;font-size:9px}.compass-name{letter-spacing:1px}.compass-degree{font-size:8px;opacity:.6}#compass-dots{display:flex;align-items:center;gap:5px;height:20px}#compass-dots button{pointer-events:auto;width:6px;height:6px;padding:0;background:#986b8640;border-radius:50%;position:relative}#compass-dots button:after{content:"";position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px}#compass-dots button.active{background:#a6668b;box-shadow:0 0 0 3px #fff8;transform:scale(1.2)}.back-button{position:absolute;left:36px;top:125px;display:flex;align-items:center;gap:13px;border-radius:40px;background:#fff9;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);padding:14px 20px;font-size:11px;border:1px solid #fff9}.back-button span{font-size:19px}.focus-copy{position:absolute;bottom:95px;left:42px;max-width:265px;padding:24px;border:1px solid #ffffff80;background:linear-gradient(120deg,#fff9,#fff4);border-radius:24px;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.focus-copy .eyebrow{font-size:8px;margin-bottom:10px}.focus-copy h2{font:500 38px var(--script);margin:0 0 13px}.focus-copy>p:not(.eyebrow){font:italic 20px/1.35 var(--serif);margin:0;color:#845e78}.text-button{background:none;border-bottom:1px solid #8a5a7555;padding:5px 0;margin-top:16px;font-size:10px}.text-button span{margin-left:8px}.focus-controls{position:absolute;bottom:25px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:12px;padding:8px;border:1px solid #fff9;border-radius:50px;background:#fff5;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px)}.focus-controls .icon-button{background:#fff6;width:38px;height:38px;font-size:21px}.focus-controls>span{font-size:10px;min-width:34px;text-align:center}.focus-controls .control-divider{width:1px;height:17px;background:var(--line);min-width:0;margin:0 3px}.photo-modal{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;background:#f9edf5ed;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);padding:25px;display:flex;align-items:center;flex-direction:column;gap:15px}.photo-top{width:100%;display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.photo-top p{font:500 24px var(--script);margin:0}.photo-modal>img{min-height:0;max-width:100%;width:auto;flex:1;object-fit:contain;border-radius:12px}.photo-caption{font:italic 20px var(--serif);flex-shrink:0;margin:0}.error-card{position:absolute;z-index:30;top:50%;left:50%;transform:translate(-50%,-50%);width:min(420px,90vw);padding:32px;text-align:center;background:#fff6fb;border-radius:25px;box-shadow:0 0 0 200vmax #e9ccdee8}.error-card>span{font-size:40px;color:#b87897}.error-card h2{font:500 28px var(--script)}.error-card p{font-size:13px;line-height:1.7}.error-card .primary{margin-top:10px}.toast{position:absolute;bottom:105px;left:50%;transform:translate(-50%);z-index:22;padding:13px 22px;border-radius:30px;background:#fffb;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);font-size:11px;box-shadow:0 4px 24px #74466514;white-space:nowrap}body.focused .occasion{opacity:0}body.welcoming .top-actions{visibility:hidden}@keyframes slide-in{0%{transform:translate(100%);opacity:.7}to{transform:translate(0);opacity:1}}@media (min-width:1500px){.garden-title{top:175px;left:55px}.garden-title h2{font-size:45px}.garden-title h2 em{font-size:50px}.focus-copy{left:55px;bottom:110px}.topbar{padding:35px 45px}}@media (max-width:760px){.topbar{padding:calc(18px + env(safe-area-inset-top)) 18px 18px}.wordmark{font-size:24px;grid-template-columns:23px auto;gap:0 6px}.brand-icon{font-size:26px}.brand-caption{font-size:6px;letter-spacing:1.8px}.occasion{display:none}.top-actions{gap:7px}.top-actions .icon-button{width:38px;height:38px}.welcome-copy{margin-top:-35px;padding:22px}.welcome .eyebrow{max-width:260px;margin:0 auto 25px;font-size:8px;letter-spacing:2px;line-height:2}.welcome h1{font-size:72px;letter-spacing:-3px;margin-top:20px}.welcome h1 em{font-size:86px;padding-left:30px;letter-spacing:-3px}.intro-line{font-size:18px;max-width:250px;margin:0 auto 27px;line-height:1.4}.bunny-note{bottom:12%;right:7%}.bunny-note img{width:90px}.bunny-note span{font-size:15px}.welcome-bottom{font-size:7px;bottom:calc(23px + env(safe-area-inset-bottom));letter-spacing:.4px}.welcome-bottom span{margin:0 10px}.garden-title{top:110px;left:23px;max-width:160px}.garden-title .eyebrow{font-size:7px;margin-bottom:10px;letter-spacing:2px}.garden-title h2{font-size:29px}.garden-title h2 em{font-size:32px}.garden-title>p:last-child{font-size:8px;margin-top:12px;max-width:130px;line-height:1.6}.direction{width:31px;height:48px;background:#fff3;font-size:28px;top:53%}.direction.left{left:10px}.direction.right{right:10px}.bottom-bar{bottom:calc(22px + env(safe-area-inset-bottom));left:20px;right:20px;flex-direction:column;align-items:center;gap:18px}.swipe-hint{font-size:9px;gap:7px}.swipe-hint svg{width:26px}.hint-separator{display:none}.swipe-hint{font-size:0}.swipe-hint:after{content:"Vuốt để dạo quanh · Chạm để ngắm gần";font-size:9px}.compass{gap:10px}.compass>span:first-child{display:none}#compass-dots{gap:7px}#compass-dots button{width:5px;height:5px}.scene-label span{font-size:25px}.scene-label small{font-size:8px}.back-button{top:calc(90px + env(safe-area-inset-top));left:18px;font-size:10px;padding:10px 15px;gap:8px}.focus-copy{bottom:calc(110px + env(safe-area-inset-bottom));left:20px;right:20px;max-width:none;padding:15px 20px;display:grid;grid-template-columns:1fr auto;gap:4px 18px;border-radius:20px}.focus-copy .eyebrow{grid-column:1;font-size:7px;letter-spacing:1.5px;margin:0}.focus-copy h2{font-size:28px;margin:0;grid-column:1}.focus-copy>p:not(.eyebrow){font-size:16px;line-height:1.3;grid-column:1/-1}.focus-copy .text-button{grid-column:2;grid-row:1/3;align-self:center;margin:0;font-size:9px;white-space:nowrap}.focus-controls{bottom:calc(25px + env(safe-area-inset-bottom));gap:11px;padding:7px}.focus-controls .icon-button{width:38px;height:38px}.photo-modal{padding:20px 16px calc(20px + env(safe-area-inset-bottom))}.photo-caption{font-size:18px}.toast{font-size:10px;max-width:90%;white-space:normal;text-align:center}}@media (max-height:640px) and (orientation:landscape){.welcome h1{font-size:54px;margin:8px 0 12px}.welcome h1 em{font-size:65px}.welcome-copy{margin-top:25px}.welcome .eyebrow{margin-bottom:10px;font-size:7px}.intro-line{margin-bottom:15px;font-size:16px}.load-track,.load-caption{display:none}.bunny-note{bottom:16%;right:12%}.welcome-bottom{bottom:12px}.garden-title{top:100px}.focus-copy{bottom:85px;padding:16px;max-width:230px}.focus-copy h2{font-size:28px}.focus-copy>p:not(.eyebrow){font-size:16px}.focus-controls{bottom:15px}}.journey-track{position:absolute;right:15px;top:36%;height:132px;display:flex;align-items:center;flex-direction:column;gap:10px;font-size:8px;color:#9b6889;pointer-events:none}.journey-track i{display:block;width:2px;flex:1;background:#a96e8b2a;border-radius:3px;overflow:hidden}.journey-track i:before{content:"";display:block;width:100%;height:var(--journey-progress,0%);background:#aa6f90;box-shadow:0 0 6px #fff}.journey-end{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:min(330px,calc(100% - 48px));padding:26px 20px 22px;text-align:center;border:1px solid #fff9;border-radius:100px 100px 28px 28px;background:linear-gradient(150deg,#fff6fae8,#f6e2efce);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);box-shadow:0 16px 80px #96618418;pointer-events:auto}.journey-flower{display:block;font-size:34px;color:#b87d9e;margin-bottom:16px}.journey-end .eyebrow{font-size:7px;margin-bottom:12px}.journey-end h2{font:500 36px/1.15 var(--script);margin:0 0 15px}.journey-end>p:not(.eyebrow){font:italic 17px/1.5 var(--serif);margin:0 0 20px}.journey-end .primary{font-size:11px;min-height:46px;gap:18px}.journey-end .text-button{display:block;margin:17px auto 0;font-size:10px}.depth-garden .direction{width:44px;height:44px;top:auto;bottom:calc(155px + env(safe-area-inset-bottom));transform:none;font:20px Arial;border-radius:50%;background:#fff8}.depth-garden .direction.left{left:18px}.depth-garden .direction.right{left:70px;right:auto}.depth-garden .direction:disabled{opacity:.3;cursor:default}.depth-garden .swipe-hint{font-size:0}.depth-garden .swipe-hint:after{content:"Vuốt lên để đi vào vườn · Chạm ảnh để ngắm gần";font-size:9px}.depth-garden .swipe-hint svg{width:22px;transform:rotate(-90deg)}.depth-garden .hint-separator{display:none}.depth-garden #compass-dots{max-width:min(65vw,300px);overflow-x:auto;overflow-y:hidden;padding:5px 4px;gap:7px;scrollbar-width:none;pointer-events:auto}.depth-garden #compass-dots button{flex-shrink:0}.depth-garden .bottom-bar{bottom:calc(20px + env(safe-area-inset-bottom));left:14px;right:14px;flex-direction:column;align-items:center;gap:12px}.depth-garden .compass>span:first-child{display:none}.depth-garden .scene-label{max-width:75vw;white-space:normal}.depth-garden .scene-label span{font-size:24px}.depth-garden .letter-launch{bottom:calc(96px + env(safe-area-inset-bottom));right:18px}.depth-garden .toast{bottom:calc(215px + env(safe-area-inset-bottom))}@media (max-height:540px) and (orientation:landscape){.depth-garden .journey-end{padding:12px 20px;border-radius:35px;max-width:380px}.depth-garden .journey-flower{display:none}.depth-garden .journey-end h2{font-size:28px;margin-bottom:8px}.depth-garden .journey-end h2 br{display:none}.depth-garden .journey-end>p:not(.eyebrow){font-size:15px;margin-bottom:10px}.depth-garden .journey-end .eyebrow{margin-bottom:6px}.depth-garden .journey-end .text-button{margin-top:10px}.depth-garden .direction{bottom:95px}.depth-garden .letter-launch{bottom:85px}.depth-garden .journey-track{top:28%;height:100px}}.journey-controls{display:contents}.depth-garden .journey-controls{position:absolute;left:50%;bottom:calc(20px + env(safe-area-inset-bottom));transform:translate(-50%);width:224px;display:grid;grid-template-columns:48px 1fr 48px;align-items:center;gap:0 12px;padding:8px 10px 15px;border:1px solid #fff9;border-radius:32px;background:linear-gradient(120deg,#fff8f4ed,#fbe8f1e6);box-shadow:0 5px 24px #98657c18;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);pointer-events:auto}.depth-garden .journey-controls .direction{position:static;width:48px;height:44px;transform:none;border:1px solid #fff9;background:#fff8;font:21px Arial;display:grid;place-items:center}.depth-garden .journey-controls .direction:active{transform:scale(.95)}.depth-garden .journey-position{display:block;text-align:center;font:12px Arial;letter-spacing:1.5px;color:var(--ink);font-variant-numeric:tabular-nums}.depth-garden .journey-controls .journey-track{position:absolute;left:31px;right:31px;top:auto;bottom:8px;height:2px;display:block}.depth-garden .journey-track i{width:100%;height:2px;background:#a96e8b24}.depth-garden .journey-track i:before{height:100%;width:var(--journey-progress,0%);background:#b77c9a;box-shadow:none}.depth-garden .compass{display:none}.depth-garden .bottom-bar{bottom:calc(98px + env(safe-area-inset-bottom));gap:0}.depth-garden .letter-launch{left:50%;right:auto;bottom:calc(128px + env(safe-area-inset-bottom));transform:translate(-50%);min-height:42px;padding:8px 16px;gap:8px;white-space:nowrap;font-size:16px;background:#fff4f4bb;border:1px solid #fff8;box-shadow:0 3px 15px #98657c10}.depth-garden .letter-launch:hover{transform:translate(-50%) translateY(-2px);box-shadow:0 4px 20px #98657c20}.depth-garden .letter-launch:active{transform:translate(-50%) scale(.97)}.depth-garden .letter-launch svg{width:20px;height:20px}.depth-garden .letter-launch i{display:none}@media (max-height:540px) and (orientation:landscape){.depth-garden .journey-controls{left:auto;right:18px;bottom:calc(16px + env(safe-area-inset-bottom));transform:none;width:200px}.depth-garden .letter-launch{left:auto;right:32px;bottom:calc(94px + env(safe-area-inset-bottom));transform:none}.depth-garden .letter-launch:hover{transform:translateY(-2px)}.depth-garden .bottom-bar{left:18px;right:auto;bottom:20px}.depth-garden .journey-end{left:35%;width:min(330px,50vw)}}.depth-garden .scene-label{width:max-content;max-width:min(280px,calc(100vw - 32px));padding:14px 26px 20px;border:0;border-radius:0;background:none;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none;text-shadow:none;transition:opacity .25s;isolation:isolate;pointer-events:none}.depth-garden .scene-label:before{content:"";position:absolute;top:-5px;right:-15px;bottom:-5px;left:-15px;z-index:-1;background:radial-gradient(ellipse,#fff4eaf0,#fce3e8e6 35%,#f6d7e38c 57%,#f6d7e300 75%);filter:blur(6px);pointer-events:none}.depth-garden #scene-label-text{position:relative;font:500 clamp(32px,9.2vw,38px)/1.18 var(--script);color:#8b405d;text-shadow:0 1px 0 #fff9,0 0 8px #fff5dfb3;overflow-wrap:anywhere;padding-bottom:9px}.depth-garden #scene-label-text:after{content:"";position:absolute;left:15%;right:12%;bottom:0;height:10px;border-top:1.5px solid #a56075;border-radius:50%;transform:rotate(-7deg);opacity:.8}.name-star{display:none}.depth-garden .name-star{display:block;position:absolute;width:13px;height:20px;z-index:1;background:linear-gradient(135deg,#fffdf2 12%,#fff3d4 50%,#deb683);clip-path:polygon(50% 0,61% 38%,100% 50%,61% 60%,50% 100%,39% 60%,0 50%,39% 38%);filter:drop-shadow(0 0 3px #fff4d9)}.depth-garden .name-star-left{left:5px;top:44%;transform:rotate(-8deg)}.depth-garden .name-star-right{right:3px;top:46%;width:15px;height:23px}.depth-garden .name-star-top{right:21%;top:1px;width:8px;height:12px}.depth-garden .scene-label small{font-size:11px;letter-spacing:.2px;color:#81566e;margin-top:7px;text-shadow:0 1px 5px #fff}.depth-garden.has-explored .scene-label small{display:none}.depth-garden .bottom-bar{transition:opacity .35s}.depth-garden.has-explored .bottom-bar{opacity:0;visibility:hidden;pointer-events:none}.depth-garden .swipe-hint:after{content:"Vuốt lên để đi vào vườn";font-size:12px;color:#79526a}.depth-garden .journey-position{font-size:14px;letter-spacing:1px}.depth-garden .top-actions .icon-button{width:44px;height:44px}.depth-garden .focus-copy>p:not(.eyebrow){font-size:18px;line-height:1.45;color:#75475f}.depth-garden .focus-copy .eyebrow{font-size:9px;letter-spacing:1px}.depth-garden .focus-copy .text-button{font-size:12px;min-height:44px;padding:10px 12px;background:#fff8;border:1px solid #fff9;border-radius:22px}.depth-garden .focus-controls>span{font-size:12px}.depth-garden .focus-controls .icon-button{width:44px;height:44px}.depth-garden .back-button{font-size:12px;min-height:44px}@media (max-width:380px){.depth-garden .brand-caption{letter-spacing:1px;font-size:5px}.depth-garden .wordmark{font-size:22px}.depth-garden .focus-copy{grid-template-columns:1fr;gap:6px;padding:14px 18px}.depth-garden .focus-copy .text-button{grid-column:1;grid-row:auto;justify-self:start}}@media (max-height:540px) and (orientation:landscape){.depth-garden .scene-label{max-width:200px;padding:6px 12px}.depth-garden #scene-label-text{font-size:29px}}.depth-garden .journey-controls{width:280px;grid-template-columns:44px 1fr 44px 40px;gap:0 8px}.depth-garden .journey-controls .direction{width:44px}.depth-garden .journey-controls .journey-track{right:70px;left:30px}@media (max-height:540px) and (orientation:landscape){.depth-garden .journey-controls{width:260px}}.depth-garden .swipe-hint:after{content:"Tự trôi · Vuốt để khám phá";font-size:12px}.focus-copy.revealing{animation:focus-card-arrive .65s .15s both}.revealing #focus-number{animation:focus-copy-arrive .45s .4s both}.revealing #focus-name{animation:focus-copy-arrive .6s .55s both}.revealing #focus-wish{animation:focus-copy-arrive .7s .95s both}.depth-garden .focus-copy{background:linear-gradient(120deg,#fff7f1de,#fbeaf3c7);border-color:#fff9;box-shadow:0 8px 32px #70415712}@keyframes focus-card-arrive{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes focus-copy-arrive{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}body:not(.depth-garden) .scene-label{width:max-content;max-width:min(350px,36vw);padding:14px 26px 20px;border:0;border-radius:0;background:none;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none;text-shadow:none;transition:opacity .25s;isolation:isolate;pointer-events:none}body:not(.depth-garden) .scene-label:before{content:"";position:absolute;top:-5px;right:-15px;bottom:-5px;left:-15px;z-index:-1;background:radial-gradient(ellipse,#fff4eaf0,#fce3e8e6 35%,#f6d7e38c 57%,#f6d7e300 75%);filter:blur(6px);pointer-events:none}body:not(.depth-garden) #scene-label-text{position:relative;font:500 clamp(34px,3vw,44px)/1.18 var(--script);color:#8b405d;text-shadow:0 1px 0 #fff9,0 0 8px #fff5dfb3;overflow-wrap:anywhere;padding-bottom:9px}body:not(.depth-garden) #scene-label-text:after{content:"";position:absolute;left:15%;right:12%;bottom:0;height:10px;border-top:1.5px solid #a56075;border-radius:50%;transform:rotate(-7deg);opacity:.8}body:not(.depth-garden) .name-star{display:block;position:absolute;width:13px;height:20px;z-index:1;background:linear-gradient(135deg,#fffdf2 12%,#fff3d4 50%,#deb683);clip-path:polygon(50% 0,61% 38%,100% 50%,61% 60%,50% 100%,39% 60%,0 50%,39% 38%);filter:drop-shadow(0 0 3px #fff4d9)}body:not(.depth-garden) .name-star-left{left:5px;top:44%;transform:rotate(-8deg)}body:not(.depth-garden) .name-star-right{right:3px;top:46%;width:15px;height:23px}body:not(.depth-garden) .name-star-top{right:21%;top:1px;width:8px;height:12px}body:not(.depth-garden) .scene-label small{font-size:11px;letter-spacing:.2px;color:#81566e;margin-top:7px;text-shadow:0 1px 5px #fff}body:not(.depth-garden) .journey-controls{position:absolute;left:50%;bottom:54px;transform:translate(-50%);display:grid;grid-template-columns:48px 1fr 48px;align-items:center;gap:18px;width:260px;padding:9px 12px;border:1px solid #fff9;border-radius:38px;background:linear-gradient(120deg,#fff8f4ed,#fbe8f1e6);box-shadow:0 5px 24px #98657c18;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);pointer-events:auto}body:not(.depth-garden) .journey-controls .direction{position:static;width:48px;height:48px;transform:none;display:grid;place-items:center;background:#fff8;font:27px var(--serif)}body:not(.depth-garden) .journey-controls .direction:hover{background:#fff;box-shadow:0 2px 12px #9d668521}body:not(.depth-garden) .journey-position{font:14px Arial;letter-spacing:2px;text-align:center;font-variant-numeric:tabular-nums}body:not(.depth-garden) .bottom-bar{bottom:18px;left:40px;right:40px;min-height:24px}body:not(.depth-garden) .compass{position:absolute;left:50%;bottom:0;transform:translate(-50%)}body:not(.depth-garden) .compass>span{display:none}body:not(.depth-garden) #compass-dots{gap:0;height:24px;max-width:40vw;overflow-x:auto;scrollbar-width:thin}body:not(.depth-garden) #compass-dots button{width:18px;height:24px;flex:0 0 18px;border-radius:0;background:transparent;box-shadow:none;transform:none}body:not(.depth-garden) #compass-dots button:after{inset:auto;top:9px;left:6px;width:6px;height:6px;border-radius:50%;background:#986b8655;transition:background .2s,box-shadow .2s}body:not(.depth-garden) #compass-dots button.active:after{background:#9d567b;box-shadow:0 0 0 3px #fff9}body:not(.depth-garden) #compass-dots button:hover:after{background:#80465f}body:not(.depth-garden) .swipe-hint{font-size:0;opacity:.85;transition:opacity .4s}body:not(.depth-garden) .swipe-hint:after{content:"Kéo để dạo vườn · Bấm ảnh để ngắm gần";font:12px Arial;color:#79526a}body:not(.depth-garden).has-explored .swipe-hint{opacity:0;visibility:hidden}body:not(.depth-garden) .scene-label small{font-size:12px}body:not(.depth-garden).has-explored .scene-label small{display:none}body:not(.depth-garden) .letter-launch{right:40px;bottom:60px;min-height:48px;font-size:19px;background:#fff4f4d9;border-color:#fff9;box-shadow:0 4px 20px #98657c12}body:not(.depth-garden) .letter-launch i{display:none}body:not(.depth-garden) .garden-title{top:114px;left:40px;max-width:230px}body:not(.depth-garden) .garden-title h2{font-size:30px}body:not(.depth-garden) .garden-title h2 em{font-size:34px}body:not(.depth-garden) .focus-copy{left:40px;bottom:150px;width:300px;max-width:calc(50vw - 150px);padding:26px;background:linear-gradient(120deg,#fff7f1eb,#fbeaf3ce);border:1px solid #fff9;box-shadow:0 8px 32px #70415712}body:not(.depth-garden) .focus-copy .eyebrow{font-size:10px;line-height:1.7;letter-spacing:1.3px}body:not(.depth-garden) .focus-copy h2{font-size:44px;line-height:1.15;color:#8b405d;margin-bottom:16px;overflow-wrap:anywhere}body:not(.depth-garden) .focus-copy>p:not(.eyebrow){font-size:22px;line-height:1.45;color:#75475f}body:not(.depth-garden) .focus-copy .text-button{font-size:13px;min-height:44px;margin-top:20px}body:not(.depth-garden) .back-button{top:106px;left:40px;min-height:46px;font-size:13px}body:not(.depth-garden) .focus-controls{bottom:40px;gap:16px;padding:9px 12px;background:#fff7f4d9}body:not(.depth-garden) .focus-controls .icon-button{width:46px;height:46px}body:not(.depth-garden) .focus-controls>span{font-size:13px}@media (min-width:761px) and (max-width:1100px){body:not(.depth-garden) .focus-copy{left:24px;width:240px;max-width:27vw;padding:20px}body:not(.depth-garden) .focus-copy h2{font-size:35px}body:not(.depth-garden) .focus-copy>p:not(.eyebrow){font-size:19px}body:not(.depth-garden) .letter-launch{right:24px;font-size:17px}body:not(.depth-garden) .occasion{display:none}}body:not(.depth-garden) :is(.focus-copy,.top-actions button,.back-button,.journey-controls,.focus-controls,.letter-launch){backdrop-filter:none;-webkit-backdrop-filter:none}body:not(.depth-garden) .journey-controls{width:320px;grid-template-columns:48px 1fr 48px 44px;gap:12px}body:not(.depth-garden) .swipe-hint:after{content:"Tự trôi · Kéo để khám phá"}@media (max-width:760px){.topbar{gap:8px}.top-actions{gap:6px}.wordmark .brand-caption{letter-spacing:1.4px}}@media (max-width:360px){.wordmark .brand-caption{display:none}.topbar{padding-left:12px;padding-right:12px}.wordmark{grid-template-columns:20px auto;gap:4px}.wordmark .brand-icon{font-size:23px}}.depth-garden .focus-copy{bottom:calc(24px + env(safe-area-inset-bottom));grid-template-columns:1fr}.depth-garden .focus-copy>*{grid-column:1}body:not(.depth-garden) .focus-copy{bottom:60px}.topbar .wordmark{display:grid;grid-template-columns:1fr;place-items:center;gap:0;flex-shrink:0;min-width:44px;min-height:44px;line-height:1}.topbar .brand-logo{display:block;width:36px;height:auto;object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}@media (max-width:760px){.topbar .brand-logo{width:30px}}@media (max-width:360px){.topbar .brand-logo{width:28px}}.letter-launch{position:absolute;right:35px;bottom:83px;display:flex;align-items:center;gap:11px;min-height:48px;padding:12px 19px;border:1px solid #fffdf4;border-radius:35px;background:linear-gradient(120deg,#fff6eefa,#ffe8edee);box-shadow:0 5px 30px #b3779125,0 0 0 4px #fff5;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);color:#9f5c76;font:500 18px var(--serif);pointer-events:auto;transition:box-shadow .25s,transform .25s}.letter-launch:hover{box-shadow:0 6px 35px #b56f9a45,0 0 0 5px #fff8;transform:translateY(-2px)}.letter-launch svg{width:24px;height:24px;stroke:#b9788f}.letter-launch .envelope-heart{fill:#cb8c9f;stroke:none;transform:translateY(-1px) scale(.93);transform-origin:center}.letter-launch i{font:20px Georgia;color:#be7f96;margin-left:3px}.class-letter{position:absolute;top:0;right:0;bottom:0;left:0;z-index:25;color:#935769;isolation:isolate;overscroll-behavior:none;opacity:1;transition:opacity .35s}.letter-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:radial-gradient(ellipse at 48% 30%,#fff7eac9,#f9dfebbc 55%,#ddc7e5d6);-webkit-backdrop-filter:blur(13px) saturate(.82);backdrop-filter:blur(13px) saturate(.82);animation:letter-fade-in .45s ease}.letter-topline{position:absolute;top:0;left:0;right:0;z-index:15;display:flex;align-items:center;justify-content:space-between;padding:18px 25px;pointer-events:none;background:linear-gradient(#fbeef49c,transparent)}.letter-topline>span{font:italic 18px var(--serif);color:#99687f;letter-spacing:.3px}.letter-close{width:46px;height:46px;display:grid;place-items:center;border:1px solid #fff9;background:#fff8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:50%;font:300 33px Arial;color:#a56b83;pointer-events:auto}.letter-close:hover{background:#fff}.letter-scroll{height:100%;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#caa0b5 transparent;display:flex;flex-direction:column;align-items:center;padding:80px 24px 26px}.letter-stationery{--paper-width:min(510px, calc(100vw - 56px) );--envelope-height:calc(var(--paper-width)*.655);position:relative;width:var(--paper-width);padding:0 0 calc(var(--paper-width)*.3);margin:auto 0 0;flex-shrink:0;isolation:isolate;perspective:1300px;transform:translateY(0);transition:transform 1.3s cubic-bezier(.22,.7,.22,1)}.envelope-back{position:absolute;z-index:0;left:3%;right:3%;bottom:7px;height:calc(var(--envelope-height)*.9);border:1px solid #e2afbd;border-radius:9px;background:linear-gradient(155deg,#f8d8df,#edbccb 45%,#e3aabd);box-shadow:0 16px 45px #9d6b852c,inset 0 0 15px #ad708533}.envelope-flap{position:absolute;z-index:5;left:3%;right:3%;height:calc(var(--envelope-height)*.56);bottom:calc(var(--envelope-height)*.385);clip-path:polygon(0 0,100% 0,50% 100%);background:linear-gradient(175deg,#fbdce4,#f8d1dd 48%,#e5aebe);filter:drop-shadow(0 2px 1px #a6767733);transform-origin:50% 0;transform:rotateX(0);transition:transform .8s cubic-bezier(.3,.55,.28,1),z-index 0s .38s;backface-visibility:visible}.envelope-flap span{position:absolute;left:0;right:0;top:27%;text-align:center;font:17px var(--script);color:#a96f83;opacity:.8}.envelope-front{position:absolute;z-index:4;width:100%;height:var(--envelope-height);object-fit:fill;bottom:0;left:0;pointer-events:none;filter:drop-shadow(0 9px 11px #af6b8120)}.envelope-seal{position:absolute;z-index:7;bottom:calc(var(--envelope-height)*.24);left:50%;width:23%;aspect-ratio:1;transform:translate(-50%) rotate(-6deg);filter:drop-shadow(0 3px 4px #9b5d6a42);transition:transform .65s,opacity .45s;pointer-events:none}.envelope-seal img{display:block;width:100%;height:100%;object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.letter-butterfly{position:absolute;z-index:8;width:24%;pointer-events:none;opacity:0;transition:opacity 1s 1s;filter:drop-shadow(0 0 8px #fff5e5cc)}.letter-butterfly img{width:100%;display:block;animation:letter-wing 3.8s ease-in-out infinite;transform-origin:50% 60%}.butterfly-one{left:-37px;top:17px;transform:rotate(-20deg);animation:letter-float-one 6s ease-in-out infinite}.letter-sparkles{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:9;opacity:0;transition:opacity 1s 1s}.letter-sparkles i{position:absolute;color:#fff9e4;font:24px Georgia;text-shadow:0 0 12px #ffefa6;animation:letter-twinkle 3s ease-in-out infinite}.letter-sparkles i:nth-child(1){top:5%;left:1%}.letter-sparkles i:nth-child(2){top:35%;right:0;animation-delay:-1s}.letter-sparkles i:nth-child(3){top:64%;left:-3%;font-size:14px;animation-delay:-2s}.letter-sparkles i:nth-child(4){bottom:7%;right:8%;font-size:19px;animation-delay:-.6s}.letter-sparkles i:nth-child(5){top:-3%;right:22%;font-size:12px;animation-delay:-2.3s}.letter-bottom-note{flex-shrink:0;margin:18px 0 auto;text-align:center;font:italic 17px var(--serif);color:#a5798d;transition:opacity .3s}.class-letter[data-phase=sealed] .letter-stationery{transform:translateY(var(--intro-y,-170px))}.class-letter[data-phase=sealed] .letter-paper{transform:translateY(120px) scale(.85);opacity:0;visibility:hidden}.class-letter[data-phase=sealed] .posy-top{opacity:0}.class-letter[data-phase=opening] .envelope-flap,.class-letter[data-phase=reading] .envelope-flap{transform:rotateX(180deg);z-index:1}.class-letter[data-phase=opening] .envelope-seal{transform:translate(-50%) translateY(10px) rotate(2deg)}.class-letter[data-phase=reading] .letter-butterfly,.class-letter[data-phase=reading] .letter-sparkles{opacity:1}.class-letter[data-phase=closing]{opacity:0;pointer-events:none}.class-letter[data-phase=closing] .letter-stationery{transform:translateY(35px) scale(.98);transition-duration:.35s}.class-letter:not([data-phase=reading]) .letter-bottom-note{opacity:0}body.letter-is-open #scene{pointer-events:none}body.letter-is-open .letter-launch{visibility:hidden}.class-letter:not([data-phase=reading]) .letter-butterfly img,.class-letter:not([data-phase=reading]) .letter-butterfly,.class-letter:not([data-phase=reading]) .letter-sparkles i{animation-play-state:paused}@keyframes letter-fade-in{0%{opacity:0}to{opacity:1}}@keyframes letter-float-one{0%,to{transform:translate(0) rotate(-20deg)}50%{transform:translate(9px,-14px) rotate(-11deg)}}@keyframes letter-float-two{0%,to{transform:translate(0) rotate(28deg)}50%{transform:translate(-8px,-11px) rotate(16deg)}}@keyframes letter-wing{0%,to{transform:scaleX(1)}50%{transform:scaleX(.7)}}@keyframes letter-twinkle{0%,to{opacity:.35;transform:scale(.7)}50%{opacity:1;transform:scale(1.1)}}@media (max-width:760px){.letter-launch{right:18px;bottom:100px;font-size:16px;padding:10px 15px;gap:9px;min-height:45px}.letter-launch svg{width:22px;height:22px}.letter-launch i{font-size:17px}.letter-topline{padding:calc(12px + env(safe-area-inset-top)) 16px 12px}.letter-topline>span{font-size:15px;max-width:230px}.letter-close{width:42px;height:42px;font-size:29px}.letter-scroll{padding:calc(83px + env(safe-area-inset-top)) 12px calc(20px + env(safe-area-inset-bottom))}.letter-stationery{--paper-width:min(440px, calc(100vw - 28px) );padding-bottom:calc(var(--paper-width)*.29)}.butterfly-one{left:-13px;top:1px;width:23%}.envelope-flap span{font-size:14px;top:24%}.letter-bottom-note{font-size:15px;margin-top:17px}.letter-sparkles i:nth-child(3){left:0}}@media (max-width:360px){.letter-topline>span{font-size:13px}}@media (max-height:540px) and (orientation:landscape){.letter-launch{bottom:69px;right:23px;padding:8px 13px;font-size:15px}.letter-scroll{padding-top:70px}.letter-stationery{--paper-width:430px}.letter-topline{padding:10px 20px}}.class-letter[data-phase=opening] .envelope-flap span,.class-letter[data-phase=reading] .envelope-flap span{opacity:0}.letter-stationery{padding-bottom:calc(var(--paper-width)*.38)}.letter-paper{position:relative;z-index:2;width:98%;margin:0 auto;padding:0;border:0;border-radius:0;min-height:0;background:none;box-shadow:none;container-type:inline-size;transform:translateY(0);opacity:1;outline-offset:5px;transition:transform 1.45s cubic-bezier(.15,.75,.25,1) .45s,opacity .3s ease .48s;transform-origin:bottom center;filter:drop-shadow(0 10px 16px #86546722)}.letter-paper:before,.letter-paper:after{content:none}.letter-art{display:block;width:100%;height:auto;object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;pointer-events:none}.letter-copy{position:absolute;z-index:2;top:20%;bottom:18%;left:16%;right:15%;text-align:center;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#d6a6b844 transparent;padding:0 4px 5px;color:#934b5d}.letter-copy h2{font:500 32px/1.25 var(--script);font-size:clamp(22px,6.5cqw,34px);letter-spacing:-.6px;margin:0 0 4.6%;overflow-wrap:break-word}.letter-opening{font:500 italic 22px/1.35 var(--serif);font-size:clamp(17px,4.8cqw,25px);margin:0 0 6%;white-space:pre-line}.letter-paragraphs{font:17px/1.6 Georgia,Times New Roman,serif;font-size:clamp(13px,3.65cqw,19px);overflow-wrap:anywhere}.letter-paragraphs p{margin:0 0 6%;white-space:pre-line}.letter-divider{display:block;margin:1% 0 4%;color:#c98799;font-size:clamp(11px,2.7cqw,14px);letter-spacing:4px}.letter-signoff{font:500 26px/1.3 var(--script);font-size:clamp(20px,5.4cqw,28px);margin:0 0 1.8%}.letter-sender{font:italic 23px/1.3 var(--serif);font-size:clamp(18px,4.7cqw,25px);margin:0}.letter-date{display:block;margin-top:5%;font:9px Arial;letter-spacing:3px;color:#bd8794}.butterfly-one{left:-4px;top:5%;width:20%;transform:rotate(-8deg);animation:letter-single-float 7s ease-in-out infinite}.letter-butterfly img{animation:none;transform:none}@keyframes letter-single-float{0%,to{transform:translate(0) rotate(-8deg)}50%{transform:translate(4px,-8px) rotate(-4deg)}}@media (max-width:760px){.letter-stationery{padding-bottom:calc(var(--paper-width)*.37)}.letter-paper{width:100%;padding:0;min-height:0}.butterfly-one{left:0;top:4%;width:20%}.letter-copy{top:20%;bottom:17%;padding-right:3px;padding-left:3px}}.letter-read-hint{position:absolute;z-index:5;bottom:14%;left:50%;transform:translate(-50%);white-space:nowrap;padding:5px 12px;border-radius:20px;background:#fff8edee;color:#90566a;border:1px solid #deb5bb66;font:11px/1.4 Arial;pointer-events:none;box-shadow:0 -7px 16px #fff7ea99}.depth-garden .letter-stationery{--paper-width:min(440px, calc(100vw - 24px) );padding-bottom:calc(var(--paper-width)*.435);transition:transform 1.3s cubic-bezier(.22,.7,.22,1)}.depth-garden .letter-paper{width:100%;height:max(510px,calc(100svh - 280px))}.depth-garden .letter-art{height:100%;object-fit:fill}.depth-garden .letter-copy{top:17%;bottom:20%;left:14%;right:14%;padding:0 5px 12px;scrollbar-color:#b9809466 transparent}.depth-garden .letter-copy h2{font-size:clamp(25px,6.8cqw,32px);margin-bottom:16px}.depth-garden .letter-opening{font-size:21px;margin-bottom:20px}.depth-garden .letter-paragraphs{font-size:16px;line-height:1.7;color:#7d4658}.depth-garden .letter-paragraphs p{margin-bottom:18px}.depth-garden .letter-signoff{font-size:25px}.depth-garden .letter-sender{font-size:22px}.depth-garden .letter-date{font-size:11px;letter-spacing:2px}.depth-garden .letter-close{width:44px;height:44px;flex-shrink:0}.depth-garden .letter-topline>span{font-size:16px}@media (max-height:540px) and (orientation:landscape){.depth-garden .letter-paper{height:530px}}.memory-launch{position:absolute;right:40px;bottom:120px;display:flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:10px 17px;border:1px solid #fff9;border-radius:30px;background:#fff4f4e8;color:#97586f;font:500 18px var(--serif);box-shadow:0 4px 20px #98657c12;pointer-events:auto}.memory-launch svg{width:22px;height:22px}.depth-garden .memory-launch{left:14px;right:auto;bottom:calc(24px + env(safe-area-inset-bottom));width:calc(50% - 20px);min-height:44px;padding:8px 6px;font-size:15px;gap:5px}.depth-garden .letter-launch{left:auto;right:14px;bottom:calc(24px + env(safe-area-inset-bottom));width:calc(50% - 20px);min-height:44px;padding:8px 6px;font-size:15px;gap:5px;justify-content:center;transform:none}.depth-garden .letter-launch:hover{transform:translateY(-2px)}.depth-garden .letter-launch:active{transform:scale(.97)}.memory-modal{position:absolute;top:0;right:0;bottom:0;left:0;z-index:26;isolation:isolate;display:grid;grid-template-rows:auto minmax(0,1fr);overflow:clip;color:#8b5365;background:#efd9e8;animation:memory-enter .5s ease}.memory-panorama{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;z-index:-3;pointer-events:none}.memory-wash{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-2;background:linear-gradient(#fff1ee55,transparent 45%,#f6dce81a);pointer-events:none}.memory-head{position:relative;text-align:center;padding:calc(17px + env(safe-area-inset-top)) 16px 14px;background:linear-gradient(#fff1ee60,#fff0ed30,transparent);z-index:4}.memory-brand{font:600 27px var(--script);color:#a5677b}.memory-close,.memory-play{position:absolute;top:calc(14px + env(safe-area-inset-top));width:44px;height:44px;border:1px solid #fffaf3d9;border-radius:50%;background:#fff5ef8c;color:#995e73;box-shadow:0 3px 14px #9b697b0a}.memory-close{left:16px;font-size:23px}.memory-play{right:16px;font-size:18px}.memory-close:hover,.memory-play:hover{background:#fff5efd9}.memory-head h2{font:500 clamp(30px,7.8vw,46px)/1.15 var(--script);margin:12px 0 8px;letter-spacing:-.5px}.memory-head p{font:17px/1.3 var(--serif);margin:0;color:#925e70}.memory-stage{position:relative;min-height:0;overflow:clip;z-index:1}.memory-viewport{position:relative;height:100%;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;touch-action:pan-y;scrollbar-width:none;outline-offset:-4px}.memory-viewport::-webkit-scrollbar{display:none}.memory-viewport:focus-visible{outline:2px solid #92536b}.memory-film{--rail:12px;position:relative;width:min(91%,560px);margin:0 auto;padding:0 var(--rail);background:linear-gradient(90deg,#b87d8c,#dbabb3 3.5%,#c8919f,#dbabb3 96.5%,#b87d8c);box-shadow:inset 0 0 0 1px #ffe8e2b3}.memory-film:before,.memory-film:after{content:"";position:absolute;top:0;bottom:0;width:4px;background:repeating-linear-gradient(to bottom,transparent 0 10px,#ffede6 10px 17px,transparent 17px 26px);pointer-events:none}.memory-film:before{left:4px}.memory-film:after{right:4px}.memory-cycle{position:relative;display:flow-root}.memory-frame{position:relative;margin:0;padding:5px 0 0}.memory-frame img{display:block;width:100%;height:auto;background:#e0bbc2;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.memory-film-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;display:none;-webkit-mask-image:linear-gradient(transparent,#000 24px,#000 calc(100% - 30px),transparent);mask-image:linear-gradient(transparent,#000 24px,#000 calc(100% - 30px),transparent)}.memory-stage.is-painted .memory-film-canvas{display:block}.memory-stage.is-painted .memory-film{opacity:0}.memory-ribbon{position:absolute;z-index:0;bottom:65px;left:50%;width:max(620px,100%);height:auto;transform:translate(-50%);pointer-events:none;opacity:.72}.memory-flowers{position:absolute;z-index:2;bottom:-60px;left:50%;width:min(110%,720px);height:auto;transform:translate(-50%);pointer-events:none;-webkit-mask-image:linear-gradient(90deg,#000 0%,#000 15%,transparent 43%,transparent 57%,#000 85%,#000);mask-image:linear-gradient(90deg,#000 0%,#000 15%,transparent 43%,transparent 57%,#000 85%,#000)}.memory-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}@keyframes memory-enter{0%{opacity:0}to{opacity:1}}@media (min-width:761px){.memory-head{padding-top:24px}.memory-head h2{font-size:46px;margin-top:8px}.memory-head p{font-size:20px}.memory-film{width:min(50vw,560px)}.memory-flowers{width:min(100%,900px);bottom:-270px}.memory-ribbon{bottom:45px;width:100%;opacity:.65}}@media (max-width:360px){.depth-garden .memory-launch,.depth-garden .letter-launch{font-size:13px}.memory-head h2{font-size:28px}.memory-head p{font-size:15px}.memory-film{width:93%}}@media (max-height:540px){.memory-head{padding:10px 65px 8px}.memory-brand,.memory-head p{display:none}.memory-head h2{font-size:29px;margin:4px 0}.memory-close,.memory-play{top:7px;width:40px;height:40px}.memory-flowers{width:500px;bottom:-120px}.memory-ribbon{bottom:15px}.memory-film{width:min(65%,400px)}}.memory-modal[data-axis=horizontal] .memory-stage{min-width:0}.memory-modal[data-axis=horizontal] .memory-head{padding-bottom:5px}.memory-modal[data-axis=horizontal] .memory-viewport{overflow-x:auto;overflow-y:hidden;touch-action:pan-x;cursor:grab;-webkit-user-select:none;user-select:none}.memory-modal[data-axis=horizontal] .memory-viewport.is-dragging{cursor:grabbing}.memory-modal[data-axis=horizontal] .memory-film{--rail: 16px;--photo-height: min(62dvh, calc(100dvh - 220px) , 640px);display:flex;flex-wrap:nowrap;width:max-content;height:calc(var(--photo-height) + 2 * var(--rail));top:50%;transform:translateY(-50%);margin:0;padding:var(--rail) 0;background:linear-gradient(#b87d8c,#dbabb3 3.5%,#c8919f,#dbabb3 96.5%,#b87d8c)}.memory-modal[data-axis=horizontal] .memory-cycle{display:flex;flex:none;height:100%}.memory-modal[data-axis=horizontal] .memory-frame{flex:none;height:100%;margin:0;padding:0 0 0 7px}.memory-modal[data-axis=horizontal] .memory-frame img{width:auto;height:100%;max-width:none}.memory-modal[data-axis=horizontal] .memory-film:before,.memory-modal[data-axis=horizontal] .memory-film:after{left:0;right:0;width:auto;height:4px;background:repeating-linear-gradient(to right,transparent 0 10px,#ffede6 10px 17px,transparent 17px 26px)}.memory-modal[data-axis=horizontal] .memory-film:before{top:6px;bottom:auto}.memory-modal[data-axis=horizontal] .memory-film:after{top:auto;bottom:6px}.memory-modal[data-axis=horizontal] .memory-film-canvas{-webkit-mask-image:linear-gradient(90deg,transparent,#000 28px,#000 calc(100% - 28px),transparent);mask-image:linear-gradient(90deg,transparent,#000 28px,#000 calc(100% - 28px),transparent)}.memory-modal[data-axis=horizontal] .memory-flowers{width:min(100%,1150px);bottom:-420px}.memory-modal[data-axis=horizontal] .memory-ribbon{bottom:-10px;opacity:.4}@media (max-height: 540px){.memory-modal[data-axis=horizontal] .memory-film{--photo-height: min(64dvh, calc(100dvh - 100px) )}.memory-modal[data-axis=horizontal] .memory-flowers{display:none}}.focus-copy{max-height:calc(100dvh - 180px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;pointer-events:auto}.bouquet-launch{position:relative;inset:auto;display:flex;align-items:center;justify-content:center;gap:10px;width:100%;max-width:300px;min-height:74px;margin:12px auto 0;padding:12px 2px 0;border-top:1px solid #b47c932b;border-radius:0;background:none;color:#814b64;text-align:left}.bouquet-launch-art{display:block;width:54px;height:64px;flex-shrink:0;filter:drop-shadow(0 3px 4px #81516c20);transition:transform .25s}.bouquet-launch-art img{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none}.bouquet-launch-label{max-width:158px;min-width:0;font:500 19px/1.2 var(--script)}.bouquet-launch-arrow{flex-shrink:0;font:20px/1 var(--serif);color:#a06a83;transition:transform .25s}.bouquet-launch:hover .bouquet-launch-art{transform:translateY(-2px) rotate(-3deg)}.bouquet-launch:hover .bouquet-launch-arrow{transform:translate(2px,-2px)}.bouquet-launch:focus-visible{outline-offset:3px;border-radius:12px}.bouquet-modal{position:absolute;top:0;right:0;bottom:0;left:0;z-index:24;display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow-x:clip;overflow-y:auto;overscroll-behavior:contain;padding:calc(20px + env(safe-area-inset-top)) 20px calc(18px + env(safe-area-inset-bottom));background:radial-gradient(ellipse at 50% 43%,#fffaf2 10%,#faeee5 60%,#efd8d6);isolation:isolate}.bouquet-modal:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background:radial-gradient(circle at 12% 25%,#fff9 0 1px,transparent 3px),radial-gradient(circle at 82% 36%,#fff 0 1px,transparent 3px),radial-gradient(circle at 20% 76%,#fff9 0 2px,transparent 5px),radial-gradient(circle at 78% 85%,#fff9 0 1px,transparent 3px);background-size:310px 410px,430px 510px,570px 590px,390px 380px}.bouquet-head{position:relative;text-align:center;min-height:56px;padding:2px 55px 4px}.bouquet-close{position:fixed;top:calc(20px + env(safe-area-inset-top));left:24px;z-index:2;width:44px;height:44px;border:1px solid #fff9;border-radius:50%;background:#fff7;font-size:22px}.bouquet-head h2{font:500 clamp(26px,3vw,37px)/1.2 var(--script);color:#93596a;margin:0;overflow-wrap:anywhere}.bouquet-head h2 span{display:block;font:italic 15px var(--serif);color:#ac8081;margin-top:4px}.bouquet-display{min-height:0;min-width:0;display:grid;place-items:center}.bouquet-stage{position:relative;isolation:isolate;width:min(100%,calc((100dvh - 192px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) * .666667),640px);aspect-ratio:2/3;flex-shrink:0;pointer-events:none;-webkit-user-select:none;user-select:none}.bouquet-part{position:absolute;left:var(--x);top:var(--y);width:var(--w);height:var(--h);z-index:var(--z);transform:rotate(var(--turn)) scaleX(var(--flip));transform-origin:50% 78%;object-fit:fill}.bouquet-portrait{overflow:hidden;mask-image:linear-gradient(#000 0 var(--fade-start,72%),transparent 100%);-webkit-mask-image:linear-gradient(#000 0 var(--fade-start,72%),transparent 100%)}.bouquet-portrait img{display:block;width:100%;margin-left:0;height:auto;max-width:none;filter:drop-shadow(0 2px 2px #896f6030)}.bouquet-photo-fallback img{width:100%;margin-left:0;height:70%;object-fit:contain}.bouquet-footer{min-height:0;max-width:450px;justify-self:center;text-align:center;padding:0 20px}.bouquet-wish{margin:8px 0 0;font:italic clamp(18px,2vw,22px)/1.45 var(--serif);color:#93596a;white-space:pre-line;overflow-wrap:anywhere}.bouquet-status{font-size:11px;line-height:1.4;margin:8px 0 0;color:#9c7478;min-height:0}.bouquet-status:empty{display:none}.bouquet-modal[data-phase=loading] .bouquet-stage{opacity:0}.bouquet-modal[data-phase=ready] .bouquet-stage{animation:bouquet-arrive .8s both}.bouquet-modal[data-phase=ready] .bouquet-portrait img{animation:bouquet-photo-arrive .85s var(--delay) both}@keyframes bouquet-arrive{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes bouquet-photo-arrive{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}@media (max-width:760px){.bouquet-launch{gap:9px;margin-top:8px;padding-top:10px}.bouquet-launch-label{font-size:18px}.bouquet-modal{padding-left:7px;padding-right:7px}.bouquet-head{padding-left:52px;padding-right:52px}.bouquet-close{left:16px}}@media (max-height:550px){.bouquet-modal{grid-template-columns:1fr 1.5fr;grid-template-rows:1fr 1fr;padding:12px 60px}.bouquet-head{align-self:end;padding:5px 0 15px}.bouquet-display{grid-column:2;grid-row:1/3}.bouquet-stage{width:min(100%,calc((100dvh - 30px) * .666667))}.bouquet-footer{align-self:start;padding:8px}.bouquet-close{top:12px;left:12px}.bouquet-head h2{font-size:28px}.bouquet-launch-art{height:50px;width:42px}.bouquet-launch{min-height:58px;margin-top:7px;padding-top:7px}.bouquet-launch-label{font-size:17px}.depth-garden .focus-copy{bottom:16px;left:16px;right:auto;width:min(250px,40vw);max-height:calc(100dvh - 110px)}}.bouquet-stage{transform-origin:50% 72%}.bouquet-modal[data-phase=ready] .bouquet-stage{animation:bouquet-arrive .65s both,bouquet-sway 9s 2.4s ease-in-out infinite}.bouquet-modal[data-phase=ready] .bouquet-art{animation:bouquet-layer-unfold 1.05s var(--art-delay,0s) cubic-bezier(.2,.7,.25,1) both}.bouquet-art[data-kind=floral-spray]{--art-delay:.25s}.bouquet-art[data-kind=rose-blush],.bouquet-art[data-kind=flower-ivory]{--art-delay:.7s}.bouquet-art[data-kind=wrap-front]{--art-delay:.3s}.bouquet-art[data-kind=organza-bow]{--art-delay:1.25s;transform-origin:50% 26%}.bouquet-modal[data-phase=ready] .bouquet-art[data-kind=organza-bow]{animation-name:bouquet-bow-unfold;animation-duration:.9s}.bouquet-modal[data-phase=ready] .bouquet-art[data-kind=butterfly-blush]{transform-origin:50% 55%;animation:bouquet-layer-unfold .9s 1.6s both,bouquet-butterfly-drift 6.5s 2.5s ease-in-out infinite}.bouquet-modal[data-phase=ready] .bouquet-art[data-kind=butterfly-blush]:last-of-type{animation-delay:1.85s,2.75s;animation-duration:.9s,7.7s}.bouquet-stage:before,.bouquet-stage:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:45;pointer-events:none;opacity:0;background-repeat:no-repeat}.bouquet-stage:before{background:radial-gradient(circle at 7% 32%,#fff 0 1px,#fff8 2px,transparent 5px),radial-gradient(circle at 92% 47%,#fff 0 1px,#ffe0c477 2px,transparent 5px),radial-gradient(circle at 21% 79%,#fff 0 1px,#fff6 2px,transparent 5px),radial-gradient(circle at 77% 93%,#fff 0 1px,transparent 4px)}.bouquet-stage:after{background:radial-gradient(circle at 17% 13%,#fff 0 1px,#fff8 2px,transparent 5px),radial-gradient(circle at 90% 25%,#fff 0 1px,transparent 4px),radial-gradient(circle at 85% 73%,#fff 0 1px,#ffe2d077 2px,transparent 5px),radial-gradient(circle at 31% 91%,#fff 0 1px,transparent 4px)}.bouquet-modal[data-phase=ready] .bouquet-stage:before{animation:bouquet-glints 5.2s 2s ease-in-out infinite}.bouquet-modal[data-phase=ready] .bouquet-stage:after{animation:bouquet-glints 6.4s 3.5s ease-in-out infinite}@keyframes bouquet-layer-unfold{0%{opacity:0;transform:translateY(3%) rotate(var(--turn)) scaleX(var(--flip)) scale(.93)}to{opacity:1;transform:translateY(0) rotate(var(--turn)) scaleX(var(--flip)) scale(1)}}@keyframes bouquet-bow-unfold{0%{opacity:0;transform:rotate(var(--turn)) scaleX(var(--flip)) scale(.86)}70%{opacity:1;transform:rotate(var(--turn)) scaleX(var(--flip)) scale(1.025)}to{opacity:1;transform:rotate(var(--turn)) scaleX(var(--flip)) scale(1)}}@keyframes bouquet-sway{0%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(-3px) rotate(.45deg)}50%{transform:translateY(-5px) rotate(0)}75%{transform:translateY(-2px) rotate(-.45deg)}}@keyframes bouquet-butterfly-drift{0%,to{transform:translate(0) rotate(var(--turn)) scaleX(var(--flip))}40%{transform:translate(3%,-7%) rotate(calc(var(--turn) + 7deg)) scaleX(var(--flip))}70%{transform:translate(-2%,-3%) rotate(calc(var(--turn) - 4deg)) scaleX(var(--flip))}}@keyframes bouquet-glints{0%,to{opacity:0;transform:translateY(3px)}35%{opacity:.8}65%{opacity:.25}85%{opacity:0;transform:translateY(-9px)}}.bouquet-modal[data-suspended=true] .bouquet-stage,.bouquet-modal[data-suspended=true] .bouquet-part,.bouquet-modal[data-suspended=true] .bouquet-portrait img,.bouquet-modal[data-suspended=true] .bouquet-stage:before,.bouquet-modal[data-suspended=true] .bouquet-stage:after{animation-play-state:paused!important}.bouquet-portrait{transform-origin:var(--fit-origin-x,50%) var(--fit-origin-y,78%)}.bouquet-portrait[data-fit=contain]{mask-image:none;-webkit-mask-image:none}.bouquet-atmosphere{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;overflow:hidden;pointer-events:none;-webkit-user-select:none;user-select:none}.bouquet-haze{position:absolute;top:-8%;right:-8%;bottom:-8%;left:-8%;background:radial-gradient(ellipse at 7% 30%,#eab8c366,transparent 44%),radial-gradient(ellipse at 93% 60%,#e2b5c263,transparent 42%),radial-gradient(ellipse at 50% 42%,#fffdf3b3,transparent 54%);transform-origin:50% 50%}.bouquet-bokeh{position:absolute;top:-4%;right:-4%;bottom:-4%;left:-4%;opacity:.65;background:radial-gradient(circle at 9% 18%,#fff9 0 2px,#fff3 5px,transparent 16px),radial-gradient(circle at 24% 43%,#fff8 0 2px,#fff3 5px,transparent 12px),radial-gradient(circle at 16% 72%,#fff7 0 3px,#fff2 8px,transparent 22px),radial-gradient(circle at 86% 22%,#fff9 0 2px,#fff3 7px,transparent 18px),radial-gradient(circle at 77% 61%,#fff9 0 2px,#fff3 6px,transparent 15px),radial-gradient(circle at 92% 81%,#fff8 0 3px,#fff3 9px,transparent 25px),radial-gradient(circle at 32% 90%,#fff8 0 1px,transparent 7px),radial-gradient(circle at 68% 10%,#fff8 0 1px,transparent 7px)}.bouquet-garden-edge{position:absolute;left:50%;bottom:-1px;width:112%;height:auto;max-width:none;opacity:.3;filter:blur(1px) saturate(.78);transform:translate(-50%);transform-origin:50% 100%}.bouquet-petals{position:absolute;top:0;right:0;bottom:0;left:0}.bouquet-petals i{position:absolute;left:var(--x);top:-24px;width:var(--size);height:calc(var(--size) * .66);opacity:0;border-radius:78% 18% 72% 24%;background:radial-gradient(ellipse at 25% 25%,#ffede8,#e8a5bb 72%,#cb879e);box-shadow:inset 1px 1px 2px #fff8}.bouquet-modal[data-phase=ready] .bouquet-haze{animation:bouquet-haze-breathe 18s ease-in-out infinite}.bouquet-modal[data-phase=ready] .bouquet-bokeh{animation:bouquet-bokeh-drift 13s ease-in-out infinite alternate}.bouquet-modal[data-phase=ready] .bouquet-garden-edge{animation:bouquet-edge-sway 16s ease-in-out infinite}.bouquet-modal[data-phase=ready] .bouquet-petals i{animation:bouquet-petal-fall var(--duration) var(--delay) linear infinite}@keyframes bouquet-haze-breathe{0%,to{opacity:.7;transform:scale(1) translate3d(-1%,0,0)}50%{opacity:1;transform:scale(1.04) translate3d(1%,1%,0)}}@keyframes bouquet-bokeh-drift{0%{opacity:.35;transform:translate3d(0,9px,0)}to{opacity:.8;transform:translate3d(-8px,-10px,0)}}@keyframes bouquet-edge-sway{0%,to{transform:translate(-50%) rotate(-.45deg)}50%{transform:translate(-50%) translateY(4px) rotate(.45deg)}}@keyframes bouquet-petal-fall{0%{opacity:0;transform:translate3d(0,-3vh,0) rotate(var(--turn))}12%{opacity:.48}50%{transform:translate3d(calc(var(--sway) * -.45),52vh,0) rotate(calc(var(--turn) + 95deg))}84%{opacity:.32}to{opacity:0;transform:translate3d(var(--sway),110vh,0) rotate(calc(var(--turn) + 190deg))}}.bouquet-modal[data-suspended=true] .bouquet-atmosphere *{animation-play-state:paused!important}@media (max-width:760px){.bouquet-garden-edge{width:125%;opacity:.32}.bouquet-petals i:nth-child(3n){display:none}.bouquet-haze{background:radial-gradient(ellipse at 0% 30%,#eab8c366,transparent 48%),radial-gradient(ellipse at 100% 65%,#e2b5c255,transparent 45%),radial-gradient(ellipse at 50% 42%,#fffdf3b3,transparent 54%)}}@media (max-height:550px){.bouquet-garden-edge{width:100%;opacity:.2}}.welcome{display:block;overflow:hidden;background:#fae9e3;color:#75465f;isolation:isolate;transition:none}.welcome-content{display:contents}.welcome-picture{display:block;width:100%;height:100%}.welcome-foreground{display:none;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.welcome-scene{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none}.welcome-landscape{width:100%;height:100%;display:block;object-fit:cover;object-position:50% 53%;transform-origin:50% 58%}.welcome:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,#fff1ef66,#fff0eb33 25%,transparent 43%,transparent 75%,#fce8e577)}.welcome .welcome-copy{position:absolute;top:max(86px,11%);left:20px;right:20px;margin:0;padding:0;z-index:1;text-shadow:0 2px 18px #fff2e8}.welcome .welcome-copy:before{content:"";position:absolute;top:-18px;right:-14px;bottom:-18px;left:-14px;z-index:-1;pointer-events:none;background:radial-gradient(ellipse,#fff1e5db,#fff1e599 50%,transparent 75%);filter:blur(12px)}.welcome .eyebrow{max-width:none;margin:0 0 12px;font:9px/1.8 Arial,sans-serif;letter-spacing:2px}.welcome #welcome-title{margin:0 0 12px;padding:0;color:#984b6c;font:500 clamp(56px,16vw,84px)/1.12 var(--script);letter-spacing:-2px}.welcome .intro-line{margin:0 auto;max-width:340px;font:italic 21px/1.25 var(--serif)}.welcome-date{position:absolute;top:calc(29px + env(safe-area-inset-top));right:24px;font:10px/1 Arial,sans-serif;letter-spacing:2px}body.welcoming .topbar{visibility:hidden}body.entering .topbar,body.entering .explore-ui{opacity:var(--garden-ui-opacity, 0)}.welcome-brand{position:absolute;top:calc(22px + env(safe-area-inset-top));left:50%;transform:translate(-50%);display:flex;align-items:center;gap:7px;color:var(--ink);font:600 29px/1.1 var(--script)}.welcome-brand img{display:block;width:36px;height:auto;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.welcome-guide{position:absolute;bottom:22%;left:calc(50% - 205px);width:min(86vw,41dvh);aspect-ratio:1;transform-origin:54% 93%;pointer-events:none}.welcome-guide:after{content:"";position:absolute;left:41%;bottom:2%;width:28%;height:4%;background:#935c6440;filter:blur(7px);border-radius:50%}.welcome-guide img{position:relative;z-index:1;display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 6px 6px #ab6a7420);transform-origin:57% 92%;animation:dlove-guide-sway 4.8s ease-in-out infinite;-webkit-user-drag:none;-webkit-user-select:none;user-select:none}.welcome-fireflies{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.welcome-fireflies i{position:absolute;width:4px;height:4px;border-radius:50%;background:#fffbea;box-shadow:0 0 10px 3px #fff7e48c;animation:dlove-welcome-glow 5s ease-in-out infinite}.welcome-fireflies i:nth-child(1){left:15%;top:38%}.welcome-fireflies i:nth-child(2){right:16%;top:52%;animation-delay:-2s;width:3px;height:3px}.welcome-fireflies i:nth-child(3){left:61%;top:71%;animation-delay:-3.4s}.welcome-fireflies i:nth-child(4){left:35%;top:58%;animation-delay:-1s;width:2px;height:2px}.welcome-actions{position:absolute;left:24px;right:24px;bottom:calc(8.5% + env(safe-area-inset-bottom));max-width:410px;min-height:92px;margin:0 auto;z-index:1}.welcome #enter{width:100%;min-height:57px;padding:17px 23px;gap:14px;border:1px solid #ffccd5;background:linear-gradient(165deg,#c66b91,#a64c75 70%,#a74e73);box-shadow:inset 0 1px 1px #fff8,0 7px 23px #96566c35,0 0 0 3px #fff3;font:500 16px/1.3 Arial,sans-serif;text-align:left;transition:transform .2s,box-shadow .25s}.welcome #enter:hover:not(:disabled){transform:translateY(-2px);box-shadow:inset 0 1px 1px #fff9,0 10px 30px #96566c50,0 0 0 4px #fff4}.welcome #enter:active:not(:disabled){transform:scale(.98)}.welcome #enter svg{width:27px;height:27px;flex-shrink:0;stroke-width:1.3}.welcome .load-track{position:absolute;left:25%;right:25%;top:62px;width:auto;margin:0;max-width:none}.welcome .load-caption{display:block;margin:14px 0 0;min-height:21px;color:#82556c;font:italic 17px/1.2 var(--serif);text-shadow:0 1px 10px #fff}.welcome .welcome-bottom{left:0;right:0;bottom:calc(2.5% + env(safe-area-inset-bottom));margin:0;color:#864e69;font:23px/1.2 var(--script);letter-spacing:0}.welcome .welcome-bottom span{font:13px Georgia,serif;margin:0 13px;vertical-align:middle}.welcome.leaving{opacity:var(--welcome-opacity, 1);visibility:visible;pointer-events:auto}.welcome.leaving .welcome-landscape{transform:scale(var(--welcome-scale, 1))}.welcome.leaving .welcome-guide{opacity:var(--welcome-guide-opacity, 1)}.welcome.leaving .welcome-copy,.welcome.leaving .welcome-actions,.welcome.leaving .welcome-brand,.welcome.leaving .welcome-date{opacity:var(--welcome-copy-opacity, 1)}.welcome.leaving .welcome-guide img,.welcome.leaving .welcome-fireflies i,.welcome[data-suspended=true] .welcome-guide img,.welcome[data-suspended=true] .welcome-fireflies i{animation-play-state:paused}@keyframes dlove-guide-sway{0%,to{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-5px) rotate(1deg)}}@keyframes dlove-welcome-glow{0%,to{opacity:.2;transform:translateY(0)}50%{opacity:.75;transform:translateY(-10px)}}@media (max-width: 360px){.welcome .eyebrow{font-size:8px;letter-spacing:1.5px}.welcome #welcome-title{font-size:55px}.welcome .intro-line{font-size:19px}.welcome-guide{left:calc(50% - 190px)}.welcome #enter{font-size:14px;padding-inline:19px}}@media (max-height: 710px) and (orientation: portrait){.welcome .welcome-copy{top:max(75px,11.5%)}.welcome .eyebrow{margin-bottom:7px;font-size:8px}.welcome #welcome-title{font-size:55px;margin-bottom:7px}.welcome .intro-line{font-size:18px}.welcome-guide{width:41dvh;bottom:23%;left:calc(50% - 175px)}.welcome-actions{min-height:80px}.welcome #enter{min-height:52px;padding-block:13px}.welcome .welcome-bottom{font-size:20px}.welcome .load-caption{margin-top:10px;font-size:15px}}@media (min-width: 900px),(min-width: 700px) and (orientation: landscape){.welcome{text-align:left}.welcome-scene{top:0;right:0;bottom:0;left:0}.welcome:after{background:linear-gradient(90deg,#fff1ebd9 0%,#fff1ebb8 28%,#fff1eb73 42%,#fff1eb14 57%,transparent 69%)}.welcome-landscape{object-position:68% 50%;transform-origin:73% 58%}.welcome-brand{top:clamp(24px,4vh,44px);left:7%;transform:none}.welcome-brand img{width:41px}.welcome-date{right:5vw;top:clamp(35px,5vh,55px)}.welcome-content{position:absolute;left:7%;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:clamp(26px,4.2vh,44px);width:40%;max-width:620px;z-index:3}.welcome .welcome-copy{position:relative;inset:auto;width:100%;max-width:none}.welcome .welcome-copy:before{display:none}.welcome #welcome-title{font-size:clamp(68px,7.8vw,122px);line-height:1.1;margin-bottom:22px;color:#87465f;white-space:nowrap;text-shadow:0 2px 24px #fff7ed99}.welcome .intro-line{font-size:clamp(23px,2.05vw,30px);line-height:1.32;margin:0;max-width:400px}.welcome-guide{left:58%;bottom:10%;width:min(35vw,58dvh,570px);z-index:1}.welcome-guide:after{background:#78505c42;filter:blur(10px)}.welcome-actions{position:relative;inset:auto;width:min(350px,100%);min-height:0;max-width:none;margin:0}.welcome #enter{min-height:62px;padding:18px 25px}.welcome .load-caption{text-align:center}.welcome-foreground{position:absolute;display:block;left:0;bottom:-1px;width:100%;height:auto;z-index:2}.welcome-fireflies i:nth-child(1){left:56%;top:42%}.welcome-fireflies i:nth-child(2){right:11%;top:62%}.welcome-fireflies i:nth-child(3){left:78%;top:78%}}@media (max-height: 600px) and (min-width: 700px) and (orientation: landscape){.welcome-brand{top:18px}.welcome-brand img{width:34px}.welcome-date{top:29px}.welcome-content{top:53%;gap:22px;width:43%}.welcome #welcome-title{font-size:clamp(56px,7vw,78px);margin-bottom:12px}.welcome .intro-line{font-size:21px}.welcome-actions{width:310px}.welcome #enter{min-height:50px;padding:13px 20px;font-size:14px}.welcome .load-caption{margin-top:8px;font-size:14px}.welcome-guide{width:min(35vw,73dvh);bottom:6%;left:59%}}.welcome #welcome-title,.welcome .intro-line,.focus-copy h2,.focus-copy p{overflow-wrap:anywhere;white-space:pre-line}.welcome #welcome-title{white-space:pre-line}#focus-wish{max-height:24dvh;overflow-y:auto;pointer-events:auto;overscroll-behavior:contain}.scene-label{white-space:normal;overflow-wrap:anywhere}.preview-edit-copy{position:absolute;top:calc(16px + env(safe-area-inset-top));right:calc(16px + env(safe-area-inset-right));z-index:10;display:block;margin:0;min-height:44px;padding:9px 14px;border:1px solid #aa6b8455;border-radius:24px;background:#fffd;color:#7e4d66;font:11px Arial,sans-serif;pointer-events:auto}.letter-topline{justify-content:flex-end}.error-card .text-button{display:block;margin:18px auto 0;width:fit-content;text-decoration:none;color:inherit}.letter-copy h2,.letter-opening,.letter-sender,.envelope-flap span{overflow-wrap:anywhere}@media (max-height:560px) and (max-width:699px){.welcome .welcome-copy{top:66px;left:20px;right:20px}.welcome #welcome-title{font-size:40px;line-height:1.05;margin-bottom:8px}.welcome .intro-line{font-size:17px;max-height:62px;overflow-y:auto}.welcome-guide{width:38dvh;bottom:24%;left:calc(50% - 135px)}.welcome-actions{bottom:5%;min-height:78px}.welcome #enter{min-height:48px;font-size:13px;padding:12px 17px}.welcome .preview-edit-copy{font-size:10px;padding:7px 10px}#focus-wish{max-height:18dvh}.focus-copy h2{font-size:26px}.depth-garden .focus-copy{padding:12px 16px;bottom:14px}.depth-garden .focus-copy>p:not(.eyebrow){font-size:16px;line-height:1.3}.back-button{top:76px}}.photo-retry{min-height:44px;padding:8px 14px;border:1px solid #c08da766;border-radius:24px;background:#fff5faed;color:#704c60;font:500 12px/1.3 var(--sans, sans-serif);cursor:pointer;pointer-events:auto}.photo-retry:disabled{opacity:.65;cursor:wait}.photo-retry:focus-visible{outline:2px solid #a5537c;outline-offset:3px}
