:root{color:#34394a;font-synthesis:none;--cream:#fff8f2;--paper:#fff8f2;--paper-deep:#f8ebe9;--blush:#eabbc4;--blush-soft:#f4d9df;--blue:#8799c5;--blue-dark:#4f72a8;--ink:#34394a;--muted:#707586;--berry:#a76579;--line:#4f72a833;--shadow:0 22px 55px #4c567a29;--burgundy:var(--blue-dark);--burgundy-dark:#344f7e;--burgundy-soft:#7185b6;--gold:var(--blue);--gold-bright:#dfe6f5;background:#eee6e8;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;background:#eee6e8;min-height:100%}body{background:#eee6e8;min-width:320px;min-height:100%;margin:0}button,input{font:inherit}button{-webkit-tap-highlight-color:transparent}.screen{width:100%;min-height:100svh;background:linear-gradient(135deg, #c4a05a0e 25%, transparent 25%) 0 0 / 22px 22px, linear-gradient(315deg, #c4a05a0a 25%, transparent 25%) 0 0 / 22px 22px, var(--cream);min-height:100dvh;position:relative;overflow:hidden}.screen:before{content:"";pointer-events:none;z-index:20;position:fixed;top:0;bottom:0;left:0;right:0;box-shadow:inset 0 0 0 1px #c4a05a2e}.screen-content{min-height:calc(100dvh - 82px);padding:24px 18px calc(36px + env(safe-area-inset-bottom));flex-direction:column;justify-content:center;display:flex}.screen.is-compact .screen-content{justify-content:flex-start;align-items:center;gap:14px;padding-top:20px}.system-header{z-index:5;min-height:70px;padding:calc(12px + env(safe-area-inset-top)) 16px 10px;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffaf1de;border-bottom:1px solid #6b1f3121;grid-template-columns:auto 1fr auto;align-items:center;gap:11px;display:grid;position:relative}.system-header strong{letter-spacing:.025em;margin-top:2px;font-family:Georgia,Songti SC,serif;font-size:14px;display:block}.system-mark{border:1px solid var(--gold);width:37px;height:37px;color:var(--gold);background:var(--burgundy);border-radius:50%;place-items:center;font-family:Georgia,serif;font-size:12px;font-weight:700;display:grid}.micro-label,.eyebrow{color:var(--burgundy-soft);letter-spacing:.16em;text-transform:uppercase;font-size:10px;font-weight:800;line-height:1.5}.confidence-pill,.evidence-chip,.status-dot{min-height:28px;color:var(--burgundy);white-space:nowrap;background:#6b1f310e;border:1px solid #6b1f3129;border-radius:999px;align-items:center;padding:5px 9px;font-size:10px;font-weight:800;display:inline-flex}.panel{width:100%;max-width:520px;box-shadow:var(--shadow);background:linear-gradient(135deg,#c4a05a0f,#0000 45%),#fffaf1f7;border:1px solid #c4a05a73;border-radius:4px 22px;margin:auto;padding:26px 20px 22px;position:relative}.panel:after{content:"";pointer-events:none;border:1px solid #c4a05a2b;border-radius:2px 15px;position:absolute;top:7px;bottom:7px;left:7px;right:7px}.panel>*{z-index:1;position:relative}h1,h2,p{margin-top:0}h1,h2{color:var(--burgundy-dark);font-family:Georgia,Songti SC,STSong,serif}h1{letter-spacing:-.025em;margin-bottom:15px;font-size:clamp(26px,7vw,38px);line-height:1.22}h2{font-size:24px;line-height:1.3}p{color:#5f504a;font-size:14px;line-height:1.78}small{color:var(--muted);font-size:11px}.primary-button,.secondary-button,.gold-button{cursor:pointer;letter-spacing:.04em;border:0;border-radius:3px 13px;justify-content:center;align-items:center;width:100%;min-height:50px;margin-top:14px;padding:12px 18px;font-size:14px;font-weight:800;transition:transform .18s,box-shadow .18s,background .18s;display:inline-flex}.primary-button{color:#fff8ed;background:linear-gradient(135deg, #7b2a3d, var(--burgundy-dark));box-shadow:0 12px 25px #50142333,inset 0 1px #ffffff26}.secondary-button{max-width:360px;color:var(--burgundy);background:#fffaf1db;border:1px solid #6b1f3140;margin-top:2px}.primary-button:active,.secondary-button:active,.gold-button:active,.option-card:active{transform:scale(.975)}.primary-button:focus-visible{outline-offset:3px;outline:3px solid #c4a05a80}.secondary-button:focus-visible{outline-offset:3px;outline:3px solid #c4a05a80}.option-card:focus-visible{outline-offset:3px;outline:3px solid #c4a05a80}.envelope:focus-visible{outline-offset:3px;outline:3px solid #c4a05a80}.option-grid{gap:9px;margin:22px 0 4px;display:grid}.option-card{width:100%;min-height:54px;color:var(--ink);text-align:left;cursor:pointer;background:#ffffff9e;border:1px solid #6b1f3124;border-radius:3px 11px;grid-template-columns:32px 1fr auto;align-items:center;gap:10px;padding:9px 13px;transition:all .18s;display:grid;position:relative}.option-letter{width:30px;height:30px;color:var(--burgundy);border:1px solid #c4a05a8c;border-radius:50%;place-items:center;font-family:Georgia,serif;font-size:12px;font-weight:800;display:grid}.check-mark{color:var(--burgundy);opacity:0}.option-card.is-selected .check-mark{opacity:1}.dialog-backdrop{z-index:100;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#29141799;place-items:center;padding:20px;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.dialog{background:var(--paper);border:1px solid #c4a05ab3;border-radius:4px 20px;width:min(100%,430px);max-height:calc(100dvh - 36px);padding:25px 20px 20px;animation:.3s both dialog-in;overflow:auto;box-shadow:0 30px 90px #00000047}.dialog-status{color:var(--burgundy);letter-spacing:.2em;font-size:9px;font-weight:900}.dialog h2{margin:12px 0 13px}.dialog p{margin-bottom:9px}.single-message{border-left:3px solid var(--gold);background:#c4a05a13;align-items:center;min-height:112px;padding:18px 14px;animation:.35s both message-enter;display:flex}.single-message p{color:#554640;margin:0;font-size:16px;line-height:1.85}.progress-dialog{text-align:center}.identity-progress-numbers{color:#9a8377;justify-content:center;align-items:baseline;gap:15px;margin:26px 0 16px;font-family:Georgia,serif;font-size:25px;display:flex}.identity-progress-numbers strong{color:var(--burgundy);font-size:46px}.identity-progress{background:#6b1f3114;border:1px solid #6b1f311f;border-radius:999px;width:100%;height:13px;overflow:hidden}.identity-progress span{border-radius:inherit;background:linear-gradient(90deg, var(--burgundy), var(--gold-bright));height:100%;animation:.8s cubic-bezier(.2,.7,.2,1) both identity-fill;display:block}.progress-dialog>p{margin:14px 0 0;font-size:13px}.arrival-screen{padding:calc(24px + env(safe-area-inset-top)) 17px calc(26px + env(safe-area-inset-bottom));background:radial-gradient(circle at 50% 22%,#dcba7433,#0000 34%),linear-gradient(165deg,#f9f1e6 0%,#eadccc 100%);place-items:center;display:grid}.arrival-inner{text-align:center;width:100%;max-width:500px}.arrival-inner>.eyebrow{margin-bottom:28px}.delivery-card{text-align:left;margin-top:-6px}.delivery-card h1{margin-top:12px;font-size:clamp(25px,7vw,34px)}.parcel-details{border-top:1px solid var(--line);margin:17px 0}.parcel-details div{border-bottom:1px solid var(--line);justify-content:space-between;padding:9px 0;display:flex}.parcel-details dt{color:var(--muted);font-size:12px}.parcel-details dd{color:var(--burgundy-dark);margin:0;font-weight:800}.system-warning{border-left:3px solid var(--gold);background:#c4a05a14;padding:12px;font-size:12px}.gift-box{filter:drop-shadow(0 24px 22px #37141933);width:200px;height:190px;margin:0 auto;position:relative}.gift-lid,.gift-body{background:linear-gradient(90deg,#0000 46%,#c49e59 46% 54%,#0000 54%),linear-gradient(140deg,#8e4051,#581526 72%);border:1px solid #e1c27b8c;position:absolute;left:50%;transform:translate(-50%);box-shadow:inset 0 8px 18px #ffffff14,inset 0 -12px 18px #2a05102b}.gift-lid{z-index:2;border-radius:4px;width:190px;height:48px;top:36px}.gift-body{border-radius:0 0 8px 8px;width:164px;height:103px;top:76px}.gift-lid:before,.gift-lid:after{content:"";border:10px solid var(--gold);background:var(--burgundy);width:70px;height:42px;position:absolute;bottom:39px}.gift-lid:before{border-radius:55% 10%;right:49%;transform:rotate(17deg)}.gift-lid:after{border-radius:10% 55%;left:49%;transform:rotate(-17deg)}.gift-shadow{filter:blur(7px);background:#49242233;border-radius:50%;height:17px;position:absolute;bottom:0;left:30px;right:30px}.gift-box.is-unlocked .gift-lid{transform:translate(-50%)rotate(-5deg)translateY(-8px)}.open-lock{z-index:6;width:38px;height:38px;color:var(--burgundy);background:var(--gold-bright);border-radius:50%;place-items:center;font-size:28px;display:grid;position:absolute;top:5px;right:8px;transform:rotate(-35deg)}.ambient-stars span{background:var(--gold);border-radius:50%;width:5px;height:5px;animation:2.2s ease-in-out infinite twinkle;position:absolute}.ambient-stars span:first-child{top:16%;left:12%}.ambient-stars span:nth-child(2){animation-delay:.4s;top:25%;right:12%}.ambient-stars span:nth-child(3){animation-delay:1s;top:43%;left:18%}.ambient-stars span:nth-child(4){animation-delay:1.4s;top:9%;right:20%}.ambient-stars span:nth-child(5){animation-delay:.7s;top:6%;left:49%}.notice-stack,.inline-notice,.positive-copy{border-left:3px solid var(--burgundy-soft);background:#6b1f310f;margin:14px 0 0;padding:11px 12px}.notice-stack p{margin:0 0 7px;font-size:12px}.notice-stack p:last-child{margin-bottom:0}.inline-notice{color:#7a3445;font-size:12px}.positive-copy{color:#4f5f38;border-left-color:#7c8d58;font-size:13px}.puzzle-copy{width:100%;max-width:500px}.puzzle-copy h1{margin-bottom:0;font-size:27px}.puzzle-instruction{color:var(--burgundy);align-items:center;gap:9px;margin-bottom:7px;font-size:16px;font-weight:850;line-height:1.4;display:flex}.puzzle-instruction span{color:#fff9ed;background:var(--burgundy);border-radius:50%;place-items:center;width:30px;height:30px;font-size:18px;display:grid}.sequential-copy{gap:10px;min-height:96px;margin:18px 0 5px;display:grid}.sequential-line{border-left:3px solid var(--gold);color:#5d4d47;background:#c4a05a12;margin:0;padding:11px 13px;font-size:15px;line-height:1.75;animation:.48s both line-reveal}.staged-button{animation:.35s both soft-in}.puzzle-wrap{border:4px solid var(--paper);width:min(100%,450px);max-height:58dvh;box-shadow:0 20px 48px #40191f33, 0 0 0 1px var(--gold);background:#d6c6b4;border-radius:4px 18px;grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(3,1fr);display:grid;position:relative;overflow:hidden}.puzzle-tile{cursor:pointer;background-repeat:no-repeat;background-size:300% 300%;border:1px solid #fffaf1cc;min-width:0;min-height:0;padding:0;transition:transform .2s,filter .2s,box-shadow .2s}.puzzle-tile.is-selected{z-index:2;filter:brightness(.82);box-shadow:inset 0 0 0 4px var(--gold-bright);transform:scale(.92)}.peek-image{z-index:5;object-fit:fill;width:100%;height:100%;animation:.2s both soft-in;position:absolute;top:0;bottom:0;left:0;right:0}.puzzle-wrap+.secondary-button+small{font-size:13px;line-height:1.5}.scan-photo,.expanding-photo{border:1px solid var(--gold);width:min(100%,450px);max-height:57dvh;box-shadow:var(--shadow);background:#d7cbbb;border-radius:4px 18px;position:relative;overflow:hidden}.scan-photo img,.expanding-photo img{object-fit:fill;width:100%;height:100%;display:block}.scan-line{background:linear-gradient(90deg, transparent, #fff, var(--gold), transparent);height:2px;animation:1.15s ease-in-out infinite scan;position:absolute;left:0;right:0;box-shadow:0 0 13px #fff}.face-corner{border-color:var(--gold-bright);width:30px;height:30px;position:absolute}.face-corner.top-left{border-top:2px solid;border-left:2px solid;top:25%;left:35%}.face-corner.bottom-right{border-bottom:2px solid;border-right:2px solid;bottom:25%;right:32%}.terminal-lines{border-left:2px solid var(--gold);color:#675550;background:#6b1f310e;gap:4px;width:min(100%,450px);padding:12px 14px;font-size:11px;display:grid}.terminal-lines strong{color:var(--burgundy);font-size:13px}.scan-continue{width:min(100%,450px);margin-top:0}.success-panel{text-align:center}.success-copy{white-space:pre-line}.completion-copy{text-align:left;margin:18px 0 4px}.completion-copy p{margin:0 0 11px}.completion-copy .evidence-line{border-left:3px solid var(--blue);color:var(--ink);background:#8799c514;margin-bottom:6px;padding:7px 10px;font-size:13px;line-height:1.5}.completion-copy.is-sequential{background:linear-gradient(#8799c50b,#f4d9df12);border-top:1px dashed #4f72a838;border-bottom:1px dashed #4f72a838;height:min(38dvh,310px);margin:16px 0 6px;padding:13px 8px 6px;position:relative;overflow:hidden}.completion-copy.is-sequential .completion-copy-track{padding:13px 2px 58px}.completion-copy.is-sequential p{font-size:13px;line-height:1.55}.completion-copy.is-sequential.is-reduced{height:auto;max-height:none;overflow:visible;-webkit-mask-image:none;mask-image:none}.sequential-completion-line{animation:.52s cubic-bezier(.2,.72,.24,1) both completion-line-in}.completion-action{animation:.46s cubic-bezier(.2,.72,.24,1) both completion-action-in}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.success-seal{border:1px solid var(--gold);width:66px;height:66px;color:var(--cream);background:var(--burgundy);border-radius:50%;place-items:center;margin:0 auto 18px;font-size:32px;display:grid;box-shadow:0 0 0 6px #c4a05a1a}.crop-frame{aspect-ratio:1.2;width:min(100%,340px);box-shadow:0 12px 35px #3d101c29, 0 0 0 1px var(--gold);border:8px solid #fffaf1;border-radius:3px 14px;margin:16px auto 10px;position:relative;overflow:hidden}.crop-frame img{object-fit:cover;width:100%;height:100%}.evidence-chip{width:max-content;margin:0 auto 16px;display:flex}.expanding-photo{animation:.9s cubic-bezier(.2,.7,.2,1) both photo-expand}.compact-panel{padding-top:17px;padding-bottom:16px}.history-stage{text-align:center;width:min(100%,500px)}.history-stage h1{font-size:24px}.history-photo{border:1px solid var(--gold);width:100%;height:min(54dvh,520px);box-shadow:var(--shadow);background:#2a1a1e;border-radius:4px 20px;position:relative;overflow:hidden}.history-photo img{object-fit:cover;width:100%;height:100%;animation:.62s both history-flash}.history-overlay{color:#fff9ec;text-align:left;background:linear-gradient(#0000,#280b14eb);justify-content:space-between;align-items:center;gap:12px;padding:15px;display:flex;position:absolute;bottom:0;left:0;right:0}.history-overlay span{font-size:13px;font-weight:800}.history-overlay strong{color:var(--gold-bright);font-family:Georgia,serif;font-size:20px}.thin-progress,.cert-progress{background:#6b1f311f;border-radius:5px;width:100%;height:5px;margin-top:15px;overflow:hidden}.thin-progress span,.cert-progress span{background:linear-gradient(90deg, var(--burgundy), var(--gold));height:100%;transition:width .45s;display:block}.dark-screen{color:#f8edda;background:radial-gradient(circle at 50% 15%,#662238,#260b14 68%);place-items:center;padding:28px 18px;display:grid}.certification{text-align:center;width:min(100%,460px)}.certification .eyebrow{color:var(--gold-bright)}.certification h1{color:#fff7e9;font-size:28px}.cert-number{color:var(--gold-bright);text-shadow:0 0 35px #e1c27b2e;margin:18px 0 8px;font-family:Georgia,serif;font-size:clamp(72px,25vw,112px);line-height:.95}.cert-number small{color:var(--gold-bright);font-size:.25em}.cert-progress{background:#ffffff1a;height:8px}.cert-progress span{background:linear-gradient(90deg, var(--gold), #f2d995)}.cert-result{margin-top:22px;animation:.5s both soft-in}.cert-result dl{border-top:1px solid #e1c27b40;margin:0}.cert-result dl div{border-bottom:1px solid #e1c27b29;justify-content:space-between;padding:8px 2px;display:flex}.cert-result dt{color:#cdbba9;font-size:12px}.cert-result dd{color:#fff8ea;margin:0;font-size:12px;font-weight:800}.cert-result p{color:#e3d4c5;font-size:12px}.unlocked-screen{padding-bottom:env(safe-area-inset-bottom)}.unlocked-content{align-content:center;min-height:calc(100dvh - 80px);padding:16px 18px 30px;display:grid}.unlocked-content .gift-box{margin-bottom:-3px}.unlocked-content .panel{text-align:center;margin:0 auto}.big-copy{color:var(--burgundy);margin:18px 0 4px;font-family:Georgia,Songti SC,serif;font-size:21px;display:block}.unwrap-screen{padding-bottom:calc(24px + env(safe-area-inset-bottom));touch-action:pan-y;flex-direction:column;align-items:center;display:flex}.unwrap-screen .system-header{width:100%}.unwrap-copy{text-align:center;width:min(100%,500px);padding:28px 20px 8px}.unwrap-copy h1{font-size:25px}.unwrap-object{touch-action:none;-webkit-user-select:none;user-select:none;filter:drop-shadow(0 28px 25px #3c121e38);width:min(74vw,310px);height:min(67vw,280px);margin:10px auto 0;position:relative}.unwrap-lid,.unwrap-body{border:1px solid var(--gold);background:linear-gradient(140deg,#923c52,#5a1427 75%);position:absolute;left:50%;transform:translate(-50%)}.unwrap-lid{z-index:3;border-radius:5px;width:100%;height:75px;transition:transform .7s;top:28px}.unwrap-body{border-radius:0 0 10px 10px;width:86%;height:145px;top:92px;overflow:hidden}.unwrap-ribbon{background:linear-gradient(90deg,#b68a3c,#f1d58f,#a87d31);width:8%;transition:transform .6s,opacity .6s;position:absolute;top:0;bottom:0;left:46%}.unwrap-bow{background:var(--burgundy);border:13px solid #d8b66a;width:96px;height:58px;transition:transform .65s,opacity .4s;position:absolute;bottom:54px}.unwrap-bow.left{border-radius:60% 12%;right:49%;transform:rotate(16deg)}.unwrap-bow.right{border-radius:12% 60%;left:49%;transform:rotate(-16deg)}.paper-corner{transform-origin:100% 0;background:linear-gradient(135deg,#a85062 50%,#f1d69d 51%);width:64px;height:64px;transition:transform .7s,opacity .7s;position:absolute;top:-2px;right:-2px}.unwrap-object.phase-1 .unwrap-ribbon{opacity:0;transform:translate(120px)rotate(13deg)}.unwrap-object.phase-1 .unwrap-bow.left{opacity:0;transform:translate(-100px,45px)rotate(-25deg)}.unwrap-object.phase-1 .unwrap-bow.right{opacity:0;transform:translate(100px,45px)rotate(25deg)}.unwrap-object.phase-2 .paper-corner{opacity:0;transform:scale(5)rotate(25deg)}.unwrap-object.phase-2 .unwrap-body,.unwrap-object.phase-2 .unwrap-lid{background:linear-gradient(140deg,#76283d,#44101f 75%)}.unwrap-object.phase-2 .unwrap-lid{cursor:pointer;animation:1.4s ease-in-out infinite lid-invite}.text-button{min-height:44px;color:var(--burgundy);cursor:pointer;background:0 0;border:0;padding:8px 14px;text-decoration:underline}.open-box-button{width:min(100% - 36px,400px);margin-top:0}.envelope-screen{background:radial-gradient(circle at 50% 44%,#8d4659,#3b101d 70%);place-items:center;padding:35px 20px;display:grid}.open-box-scene{height:36%;position:absolute;bottom:2%;left:10%;right:10%}.box-back{border:1px solid var(--gold);background:linear-gradient(140deg,#6e1d34,#300a16);border-radius:8px;position:absolute;top:35%;bottom:0;left:0;right:0;transform:perspective(500px)rotateX(55deg)}.box-glow{filter:blur(12px);background:radial-gradient(#ffdf9959,#0000 68%);height:70%;position:absolute;top:0;left:15%;right:15%}.envelope{z-index:3;aspect-ratio:1.45;width:min(84vw,370px);color:var(--burgundy-dark);border:1px solid var(--gold);cursor:pointer;background:linear-gradient(145deg,#fff9ed,#eadbc5);border-radius:3px;flex-direction:column;justify-content:center;align-items:center;padding:25px;animation:2.8s ease-in-out infinite envelope-glow;display:flex;position:relative;box-shadow:0 35px 80px #00000059}.envelope:before,.envelope:after{content:"";pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0}.envelope:before{clip-path:polygon(0 0,50% 58%,100% 0);background:#c4a05a1c}.envelope:after{clip-path:polygon(0 100%,48% 50%,100% 100%);background:#6b1f3109}.envelope strong,.envelope small{z-index:2;position:relative}.envelope strong{font-family:Georgia,Songti SC,serif;font-size:27px}.envelope small{color:var(--burgundy-soft);letter-spacing:.12em;margin-top:9px}.wax-seal{z-index:4;color:#e8bd83;background:#7f2537;border:2px solid #a46848;border-radius:50%;place-items:center;width:42px;height:42px;font-family:Georgia,serif;font-size:10px;display:grid;position:absolute;bottom:27px;box-shadow:inset 0 0 0 3px #ffffff14}.tap-hint{z-index:4;bottom:calc(28px + env(safe-area-inset-bottom));color:#f3dcb4;letter-spacing:.08em;font-size:12px;position:absolute}.card-screen{padding:calc(28px + env(safe-area-inset-top)) 18px calc(28px + env(safe-area-inset-bottom));background:radial-gradient(circle at 50% 20%,#f8eddb,#e4d3bf);place-items:center;display:grid}.birthday-card{z-index:2;border:1px solid var(--gold);background:linear-gradient(145deg, #ffffffb3, transparent 45%), var(--paper);text-align:center;border-radius:4px 24px;width:min(100%,470px);min-height:min(78dvh,680px);padding:42px 25px 28px;animation:.9s cubic-bezier(.2,.75,.2,1) both card-open;position:relative;box-shadow:0 30px 90px #4b1c2533}.birthday-card:before{content:"";pointer-events:none;border:1px solid #c4a05a47;border-radius:2px 17px;position:absolute;top:9px;bottom:9px;left:9px;right:9px}.birthday-card h1{color:var(--burgundy);margin:23px 0 20px;font-size:clamp(36px,10vw,52px);line-height:1.25}.birthday-card>p:not(.eyebrow){color:#54443e;font-family:Georgia,Songti SC,serif;font-size:18px;line-height:2}.gold-rule{background:var(--gold);width:70px;height:1px;margin:14px auto}.card-signature{color:#88766d;flex-direction:column;margin:20px 0 8px;font-size:12px;display:flex}.card-signature strong{color:var(--burgundy);margin-top:4px;font-family:Georgia,Songti SC,serif;font-size:19px}.final-still-life{isolation:isolate;width:min(100%,310px);height:180px;margin:0 auto;position:relative}.card-art{object-fit:contain;mix-blend-mode:darken;filter:drop-shadow(0 7px 10px #53312614);display:block;position:absolute}.card-art-flowers{z-index:3;width:118px;height:164px;bottom:4px;left:-3px;transform:rotate(-5deg)}.card-art-cake{z-index:2;width:174px;height:176px;bottom:0;left:50%;transform:translate(-50%)}.card-art-noodles{z-index:4;width:126px;height:104px;bottom:7px;right:-5px;transform:rotate(3deg)}.card-back-button{z-index:80;left:max(10px, env(safe-area-inset-left));top:max(10px, env(safe-area-inset-top));min-height:44px;color:var(--burgundy);cursor:pointer;background:#fffaf1ed;border:1px solid #c4a05a6b;border-radius:999px;align-items:center;gap:6px;padding:0 14px;font-size:13px;font-weight:800;display:inline-flex;position:fixed;box-shadow:0 5px 18px #3d101c1f}.card-back-button span{font-size:20px;line-height:1}.confetti{z-index:1;pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden}.confetti i{--hue:calc(var(--i) * 31);left:calc((var(--i) + 1) * 5.2%);background:hsl(var(--hue) 45% 52%);width:7px;height:13px;animation:confetti-fall calc(2.4s + (var(--i) % 5) * .3s) calc((var(--i) % 7) * .12s) ease-in infinite;position:absolute;top:-20px}.sound-toggle{z-index:80;right:max(10px, env(safe-area-inset-right));top:max(10px, env(safe-area-inset-top));width:42px;height:42px;color:var(--burgundy);cursor:pointer;background:#fffaf1e8;border:1px solid #c4a05a6b;border-radius:999px;place-items:center;padding:0;display:grid;position:fixed;box-shadow:0 5px 18px #3d101c1f}.sound-toggle svg{width:22px;height:22px}.speaker-signal{fill:none;stroke:var(--burgundy);stroke-width:2.2px;stroke-linecap:round}.sound-toggle.below-header{top:max(78px, calc(72px + env(safe-area-inset-top)))}@keyframes gift-drop{0%{transform:translateY(-70vh)rotate(-8deg)}72%{transform:translateY(9px)rotate(2deg)}84%{transform:translateY(-14px)rotate(-1deg)}to{transform:translateY(0)rotate(0)}}@keyframes shadow-pop{0%,60%{opacity:0;transform:scale(.4)}75%{opacity:1;transform:scale(1.1)}to{transform:scale(1)}}@keyframes twinkle{0%,to{opacity:.25;transform:scale(.6)rotate(0)}50%{opacity:1;transform:scale(1.5)rotate(45deg)}}@keyframes dialog-in{0%{opacity:0;transform:translateY(15px)scale(.97)}}@keyframes message-enter{0%{opacity:0;transform:translate(8px)}}@keyframes identity-fill{0%{width:0}}@keyframes line-reveal{0%{opacity:0;transform:translateY(9px)}}@keyframes soft-in{0%{opacity:0}}@keyframes scan{0%{top:2%}to{top:96%}}@keyframes photo-expand{0%{clip-path:inset(28% 34% round 12px);filter:blur(3px)}to{clip-path:inset(0);filter:none}}@keyframes history-flash{0%{opacity:0;filter:brightness(1.6);transform:scale(1.06)}25%{opacity:1}to{filter:none;transform:scale(1)}}@keyframes lid-invite{0%,to{transform:translate(-50%)translateY(0)}50%{transform:translate(-50%)translateY(-8px)}}@keyframes envelope-glow{0%,to{box-shadow:0 35px 80px #00000059}50%{box-shadow:0 35px 95px #efcd894d}}@keyframes card-open{0%{opacity:0;transform:perspective(700px)rotateY(-18deg)translateY(25px)}}@keyframes confetti-fall{to{transform:translateY(110dvh)rotate(720deg)}}@media (min-width:650px){body{padding:18px 0}#root{width:min(100%,560px);margin:0 auto;box-shadow:0 24px 90px #371d1d2e}.screen{min-height:calc(100dvh - 36px)}.screen-content,.unlocked-content{min-height:calc(100dvh - 112px)}.sound-toggle{right:calc(50% - 270px)}.card-back-button{left:calc(50% - 270px)}}@media (max-height:720px){.panel{padding-top:20px;padding-bottom:17px}.screen-content{justify-content:flex-start}.gift-box{margin-top:-20px;margin-bottom:-18px;transform:scale(.82)}.birthday-card{min-height:auto;padding-top:30px}.birthday-card h1{margin:14px 0}.final-still-life{margin-top:-7px;transform:scale(.84)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.screen{color:var(--ink);background:radial-gradient(circle at 13% 8%, #ffffffe0 0 2px, transparent 3px), radial-gradient(circle at 84% 22%, #eabbc42e 0 3px, transparent 4px), linear-gradient(116deg, #8799c509, transparent 34%), var(--cream);background-size:41px 41px,57px 57px,auto,auto;overflow:hidden auto}.screen:before{box-shadow:inset 0 0 0 1px #4f72a81f}.screen:after{content:"";z-index:0;opacity:.5;pointer-events:none;mix-blend-mode:multiply;background:linear-gradient(90deg,#eabbc475 50%,#0000 50%) 0 0/34px 34px,linear-gradient(#eabbc475 50%,#0000 50%) 0 0/34px 34px,#ffffff57;width:132px;height:118px;position:absolute;top:-28px;left:-34px;transform:rotate(-5deg)}.screen-content,.system-header,.arrival-inner,.unlocked-content,.unwrap-copy,.history-stage,.certification,.birthday-card,.envelope,.open-box-scene{z-index:2;position:relative}h1,h2{color:var(--burgundy-dark);text-wrap:balance;font-family:Georgia,Songti SC,STSong,SimSun,serif;font-weight:500}p{color:#5e6373}.eyebrow,.micro-label{color:var(--blue-dark);letter-spacing:.11em;font-size:11px}.system-header{min-height:72px;padding:calc(14px + env(safe-area-inset-top)) 66px 11px 18px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fff8f2e6;border:0;grid-template-columns:minmax(0,1fr) auto;gap:10px;box-shadow:0 8px 24px #4f72a814}.system-header:after{content:"";background:linear-gradient(90deg,#eabbc494 50%,#0000 50%) 0 0/24px 12px,linear-gradient(#eabbc494 50%,#0000 50%) 0 0/24px 12px,#ffffff8c;height:7px;position:absolute;bottom:0;left:0;right:0}.stage-label{align-items:center;gap:10px;min-width:0;display:flex}.stage-label strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;margin:0;font-family:inherit;font-size:13px;font-weight:750;line-height:1.35;overflow:hidden}.stage-stitch{border-top:2px dashed #4f72a89e;border-bottom:2px dashed #eabbc4cc;flex:none;width:31px;height:12px;transform:rotate(-3deg)}.confidence-pill,.evidence-chip,.status-dot{min-height:30px;color:var(--blue-dark);background:#8799c517;border-color:#4f72a83d;border-radius:5px 10px 4px 9px;padding:6px 10px;box-shadow:1px 2px #eabbc447}.panel{outline-offset:-5px;background:linear-gradient(155deg, #ffffffb8, transparent 48%), var(--paper);box-shadow:11px 16px 0 #eabbc41f, var(--shadow);border:0;border-radius:7px 22px 9px 17px;outline:1px solid #4f72a829;padding:28px 21px 22px}.panel:before{content:"";z-index:3;opacity:.73;clip-path:polygon(2% 9%,98% 0,95% 92%,5% 100%);background:#8799c547;width:76px;height:23px;position:absolute;top:-10px;left:12%;transform:rotate(-2.5deg)}.panel:after{display:none}.primary-button,.secondary-button,.gold-button{color:#fffaf5;background:linear-gradient(145deg,#94a5ce,#7188bd);border:1px solid #4f72a833;border-radius:5px 14px 5px 12px;min-height:50px;position:relative;box-shadow:4px 6px #4f72a826,0 10px 20px #4f72a81f}.primary-button:active,.secondary-button:active,.gold-button:active,.option-card:active{transform:translate(2px,3px)scale(.99);box-shadow:1px 2px #4f72a824}.primary-button:disabled{cursor:default;opacity:.72}.secondary-button{color:var(--blue-dark);background:linear-gradient(145deg,#ffffffeb,#f4d9dfad);box-shadow:3px 4px #eabbc42b}.gold-button{color:var(--ink);background:linear-gradient(145deg,#f4d9df,#eabcc6)}.primary-button:focus-visible{outline-color:#4f72a899}.secondary-button:focus-visible{outline-color:#4f72a899}.option-card:focus-visible{outline-color:#4f72a899}.envelope:focus-visible{outline-color:#4f72a899}.unwrap-object:focus-visible{outline-color:#4f72a899}.option-grid{gap:11px}.option-card{background:#ffffff9e;border-color:#4f72a829;border-radius:5px 15px 6px 11px;min-height:58px;padding:10px 14px;box-shadow:3px 4px #eabbc41a}.option-card:nth-child(2n){border-radius:13px 5px 11px 6px}.option-card:hover,.option-card.is-selected{border-color:var(--blue);background:#8799c51a}.option-card.is-selected{box-shadow:inset 4px 0 var(--blue-dark), 3px 4px 0 #eabbc41f}.option-letter{color:var(--blue-dark);background:var(--cream);border-color:#4f72a859}.check-mark{color:var(--blue-dark)}.dialog-backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#34394a73;padding:20px}.dialog{outline-offset:-6px;background:var(--paper);border:0;border-radius:7px 24px 8px 18px;outline:1px solid #4f72a833;padding:29px 21px 21px;box-shadow:12px 14px #a7657921,0 28px 70px #34394a3d}.dialog:before{content:"";clip-path:polygon(3% 5%,98% 0,94% 100%,0 87%);background:#eabbc499;width:86px;height:23px;position:absolute;top:-9px;left:50%;transform:translate(-50%)rotate(2deg)}.dialog-status{color:var(--berry);letter-spacing:.13em}.dialog.is-success{background:linear-gradient(145deg,#fffaf6,#f6e9ec)}.single-message{border-left-color:var(--blue);background:#8799c514}.single-message p{color:var(--ink)}.identity-progress{background:#eabbc445;border-color:#4f72a826}.identity-progress span,.thin-progress span,.cert-progress span{background:linear-gradient(90deg, var(--blue-dark), var(--blue), var(--blush))}.identity-progress-numbers strong{color:var(--blue-dark)}.arrival-screen{padding:calc(60px + env(safe-area-inset-top)) 17px calc(28px + env(safe-area-inset-bottom));background:linear-gradient(90deg, #eabbc447 50%, transparent 50%) right -18px top -6px / 54px 54px no-repeat, linear-gradient(#eabbc447 50%, transparent 50%) right -18px top -6px / 54px 54px no-repeat, radial-gradient(circle at 78% 16%, #8799c526, transparent 25%), var(--cream);display:block}.arrival-inner{text-align:left;width:min(100%,500px);margin:0 auto;display:grid}.arrival-inner>.eyebrow{color:var(--blue-dark);clip-path:polygon(2% 8%,98% 0,96% 91%,0 100%);background:#f4d9dfa6;justify-self:start;margin:0 0 4px 7%;padding:7px 12px;transform:rotate(-1.5deg)}.arrival-inner>.gift-box{z-index:3;justify-self:end;margin:-2px 3% -36px 0}.delivery-card{margin-top:0;padding-top:35px}.delivery-card h1{color:var(--ink);font-size:clamp(27px,7.4vw,36px)}.parcel-details{border-color:var(--line)}.parcel-details dd{color:var(--blue-dark)}.system-warning{border-left-color:var(--blush);background:#eabbc421}.gift-box{aspect-ratio:1;filter:none;width:min(68vw,270px);height:auto;margin:0 auto;position:relative}.gift-visual{z-index:2;object-fit:contain;pointer-events:none;filter:drop-shadow(0 17px 14px #404a6c33);width:100%;height:100%;animation:.52s both gift-state-in;display:block;position:relative}.gift-shadow{z-index:1;filter:blur(9px);background:#4f567429;height:9%;bottom:6%;left:13%;right:13%}.gift-box.is-landing{animation:1.05s cubic-bezier(.2,.76,.28,1.15) .2s both gift-drop}.gift-box.is-landing .gift-shadow{animation:1.05s .2s both shadow-pop}.ambient-stars span{background:var(--blush);border-radius:2px 6px;width:8px;height:8px}.notice-stack,.inline-notice,.positive-copy,.sequential-line{border-left-color:var(--blue);background:#8799c514}.inline-notice{color:var(--berry)}.positive-copy{color:#536b65;border-left-color:#86a79e}.puzzle-copy{align-self:flex-start}.puzzle-instruction{color:var(--blue-dark)}.puzzle-instruction span{color:var(--cream);background:var(--blue-dark)}.puzzle-wrap,.scan-photo,.expanding-photo,.crop-frame,.history-photo{border:8px solid var(--paper);border-radius:5px 17px 6px 13px;outline:1px solid #4f72a852;box-shadow:8px 11px #eabbc424,0 18px 38px #4149692b}.puzzle-wrap{background:#e8dfe0}.puzzle-tile{border-color:#fff8f2e0}.puzzle-tile.is-selected{box-shadow:inset 0 0 0 4px var(--blue)}.scan-line{background:linear-gradient(90deg, transparent, #fff, var(--blue), transparent)}.terminal-lines{border-left-color:var(--blue);color:#626878;background:#8799c514}.terminal-lines strong{color:var(--blue-dark)}.success-seal{border-color:var(--blue);color:var(--cream);background:var(--blue-dark);box-shadow:0 0 0 7px #eabbc433}.history-photo{background:#4d5265}.history-overlay{background:linear-gradient(#0000,#34394aeb)}.history-overlay strong{color:#f4d9df}.thin-progress,.cert-progress{background:#4f72a821}.dark-screen{color:var(--cream);background:radial-gradient(circle at 20% 12%,#fff8f21f,#0000 27%),linear-gradient(150deg,#eabbc41f,#0000 50%),#788ab7}.dark-screen:before{box-shadow:inset 0 0 0 1px #fff8f240,inset 0 0 100px #34394a1a}.certification .eyebrow,.cert-number,.cert-number small{color:#ffe9ed}.certification h1{color:var(--paper)}.cert-result{color:var(--ink);background:#fff8f2f0;border-radius:5px 18px 5px 14px;padding:18px;box-shadow:8px 9px #40486824}.cert-result dl{border-color:#4f72a833}.cert-result dl div{border-color:#4f72a826}.cert-result dt{color:var(--muted)}.cert-result dd{color:var(--blue-dark)}.cert-result p{color:#5e6373}.unlocked-content{align-content:start;padding-top:24px}.unlocked-content .gift-box{z-index:3;width:min(70vw,285px);margin:0 8% -35px auto}.unlocked-content .panel{text-align:left}.status-dot.is-open{color:#4b6f6b;background:#86a79e21;border-color:#86a79e52}.big-copy{color:var(--blue-dark)}.unwrap-screen{background:linear-gradient(160deg, var(--cream), #f6e8ec)}.unwrap-copy{text-align:left;padding-top:26px}.unwrap-copy .eyebrow{background:#eabbc457;padding:5px 9px;display:inline-block;transform:rotate(-1deg)}.unwrap-object{filter:none;cursor:grab;place-items:center;width:min(88vw,390px);height:auto;min-height:min(87vw,380px);margin:-3px auto 0;display:grid}.unwrap-object:active{cursor:grabbing}.unwrap-object .gift-box{width:100%}.unwrap-object.phase-2{cursor:pointer}.unwrap-object.phase-2:not(.is-opening) .gift-box{animation:1.5s ease-in-out infinite gift-invite}.unwrap-object.is-opening .gift-box{animation:.75s both open-rise}.paper-peel{z-index:4;opacity:.8;transform-origin:100% 100%;background:linear-gradient(90deg, #eabbc49e 50%, transparent 50%) 0 0 / 28px 28px, linear-gradient(#eabbc49e 50%, transparent 50%) 0 0 / 28px 28px, var(--paper);clip-path:polygon(8% 8%,100% 0,93% 100%,0 88%);filter:drop-shadow(-5px 6px 5px #4f557024);width:40%;height:36%;position:absolute;bottom:13%;right:9%;transform:rotate(8deg)}.gesture-arrow{z-index:5;min-width:144px;color:var(--blue-dark);text-align:center;pointer-events:none;background:#fff8f2e0;padding:7px 13px;font-size:12px;font-weight:800;position:absolute;bottom:4%;left:50%;transform:translate(-50%)rotate(-1deg);box-shadow:3px 4px #eabbc433}.text-button{color:var(--blue-dark)}.envelope-screen{padding:calc(82px + env(safe-area-inset-top)) 20px calc(28px + env(safe-area-inset-bottom));background:radial-gradient(circle at 50% 35%, #8799c51f, transparent 32%), linear-gradient(160deg, #f4d9df33, transparent 52%), var(--cream);align-content:start}.open-box-scene{opacity:.94;place-items:end center;height:58%;display:grid;position:absolute;top:auto;bottom:0;left:0;right:0}.open-box-scene .gift-box{width:min(104vw,470px)}.envelope{width:min(82vw,360px);color:var(--ink);background:linear-gradient(145deg,#fffdf8,#f6e8df);border-color:#4f72a840;border-radius:4px 12px 5px 9px;margin-top:5vh;transform:rotate(-1deg);box-shadow:9px 12px #eabbc433,0 25px 55px #3b425c33}.envelope:before{background:#8799c514}.envelope:after{background:#eabbc417}.envelope small{color:var(--blue-dark)}.wax-seal{color:#fdf6f3;background:var(--blue);border-color:#4f72a86b;font-size:17px;box-shadow:inset 0 0 0 3px #fff3}.tap-hint{bottom:calc(19px + env(safe-area-inset-bottom));color:var(--blue-dark);background:#fff8f2db;padding:7px 12px;box-shadow:3px 4px #eabbc438}.card-screen{background:radial-gradient(circle at 84% 16%, #8799c529, transparent 24%), linear-gradient(145deg, #f4d9df2e, transparent 54%), var(--cream)}.birthday-card{outline-offset:-7px;background:linear-gradient(145deg, #ffffffb3, transparent 45%), var(--paper);border:0;border-radius:7px 25px 8px 18px;outline:1px solid #4f72a830;transform:rotate(-.45deg);box-shadow:12px 15px #eabbc42b,0 27px 65px #464f6f2b}.birthday-card:before{clip-path:polygon(2% 7%,100% 0,96% 93%,0 100%);background:#8799c547;border:0;border-radius:0;width:82px;height:24px;top:-10px;bottom:auto;left:12%;right:auto;transform:rotate(-3deg)}.birthday-card h1{color:var(--blue-dark)}.birthday-card>p:not(.eyebrow){color:var(--ink)}.gold-rule{background:linear-gradient(90deg, var(--blush), var(--blue));height:2px}.card-signature{color:var(--muted)}.card-signature strong{color:var(--blue-dark)}.card-art{mix-blend-mode:normal}.card-back-button{color:var(--blue-dark);background:#fff8f2f0;border-color:#4f72a842;border-radius:5px 12px 5px 10px;box-shadow:3px 4px #eabbc433}.confetti i{background:hsl(var(--hue) 30% 70%)}.intro-flow{background:var(--cream);min-height:100dvh;position:relative}.intro-flow.is-covered{height:100dvh;overflow:hidden}.arrival-screen.is-under-wrap{pointer-events:none;-webkit-user-select:none;user-select:none;height:100dvh;overflow:hidden}.wrapped-gift-screen{z-index:70;perspective:1200px;touch-action:none;isolation:isolate;width:100%;height:100dvh;position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden}.wrap-panel{z-index:1;-webkit-backface-visibility:hidden;backface-visibility:hidden;background-color:#fff8f2;background-image:linear-gradient(90deg,#eabbc47a 50%,#0000 50%),linear-gradient(#eabbc47a 50%,#0000 50%),radial-gradient(circle at 28% 18%,#ffffffb8,#0000 36%);background-size:76px 76px,76px 76px,100% 100%;width:calc(50% + 1px);transition:transform .68s cubic-bezier(.56,.04,.26,1),filter .55s,opacity .52s;position:absolute;top:0;bottom:0;overflow:hidden;box-shadow:inset 0 0 42px #5c4d5d12}.wrap-panel:before{content:"";z-index:2;background:linear-gradient(90deg,#4f72a81f,#0000 13% 83%,#4f72a833),linear-gradient(90deg,#93a4cd,#8799c5 48%,#7d91c0);width:clamp(34px,10vw,52px);position:absolute;top:0;bottom:0;box-shadow:0 0 0 1px #4f72a847,0 8px 20px #34394a21}.wrap-panel-left{transform-origin:0;background-position:0 0,0 0,0 0;left:0}.wrap-panel-right{transform-origin:100%;background-position:38px 0,38px 0,0 0;right:0}.wrap-panel-left:before{right:0}.wrap-panel-right:before{left:0}.wrap-horizontal-ribbon{z-index:2;background:linear-gradient(#ffffff2e,#0000 24% 75%,#4f72a82e),linear-gradient(90deg,#91a2ca,#8799c5 55%,#7d91c0);border-block-start:1px solid #4f72a84d;border-block-end:1px solid #4f72a84d;height:clamp(44px,12vw,68px);position:absolute;top:calc(50% - clamp(22px,6vw,34px));left:0;right:0;box-shadow:0 6px 17px #34394a21}.wrapped-bow{--bow-shift-left:0px;--bow-shift-right:0px;--bow-tilt-left:0deg;--bow-tilt-right:0deg;--bow-stretch:1;z-index:4;aspect-ratio:1;width:min(92vw,48vh,400px);transition:opacity .34s,transform .46s cubic-bezier(.3,.7,.2,1);position:absolute;top:50%;left:50%;transform:translate(-50%,-30%)}.wrapped-bow-art{object-fit:contain;pointer-events:none;filter:drop-shadow(0 14px 11px #3748693d);transform-origin:50%;will-change:transform, opacity;width:100%;height:100%;transition:transform .48s cubic-bezier(.34,1.4,.64,1),opacity .38s,filter .38s;display:block}.phase-idle .wrapped-bow-art{animation:2.8s ease-in-out infinite bow-photo-breathe}.pulling-left .wrapped-bow-art{transform:translateX(var(--bow-shift-left)) rotate(var(--bow-tilt-left)) scaleX(var(--bow-stretch))}.pulling-right .wrapped-bow-art{transform:translateX(var(--bow-shift-right)) rotate(var(--bow-tilt-right)) scaleX(var(--bow-stretch))}.phase-dragging .wrapped-bow-art{animation:none}.phase-untying .wrapped-bow-art,.phase-opening .wrapped-bow-art{opacity:.36;filter:drop-shadow(0 8px 7px #3748691f);transform:translateY(16px)rotate(2deg)scale(1.055,.93)}.phase-opening .wrapped-bow{opacity:0;transform:translate(-50%,-22%)scale(.94)}.phase-opening .wrap-panel-left{filter:brightness(1.04);transform:translate(-103%)rotateY(-7deg)}.phase-opening .wrap-panel-right{filter:brightness(1.04);transform:translate(103%)rotateY(7deg)}.bow-drag-handle{z-index:6;width:44%;min-width:96px;height:62%;min-height:132px;box-shadow:none;cursor:grab;touch-action:none;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:42% 42% 18% 18%;padding:0;position:absolute;bottom:0}.bow-drag-handle:active{cursor:grabbing;box-shadow:none;transform:none}.bow-drag-handle:focus-visible{outline-offset:-9px;outline:3px dashed #4f72a8b3}.bow-drag-left{left:0;transform:rotate(9deg)}.bow-drag-right{right:0;transform:rotate(-9deg)}.unwrap-hint{z-index:5;left:50%;bottom:calc(24px + env(safe-area-inset-bottom));color:#3f557f;white-space:nowrap;letter-spacing:.04em;background:#fff8f2d6;border:1px solid #4f72a845;border-radius:4px 12px 5px 11px;margin:0;padding:9px 15px;font-size:clamp(13px,3.7vw,16px);font-weight:800;transition:opacity .25s,transform .25s;animation:1.8s ease-in-out infinite hint-bob;position:absolute;transform:translate(-50%);box-shadow:3px 4px #4f72a821}.unwrap-hint span{margin-right:5px;font-size:1.18em}.wrap-fallback{z-index:7;left:50%;bottom:calc(78px + env(safe-area-inset-bottom));min-height:44px;color:var(--blue-dark);background:#fff8f2f0;border:1px dashed #4f72a87a;border-radius:5px 13px 5px 11px;padding:9px 16px;font-size:13px;font-weight:800;animation:.38s both fallback-in;position:absolute;transform:translate(-50%);box-shadow:3px 4px #eabbc447}.wrap-fallback:active{transform:translate(-50%,2px)}.phase-untying .unwrap-hint,.phase-opening .unwrap-hint{opacity:0;transform:translate(-50%,10px)}@keyframes bow-photo-breathe{0%,to{transform:translateY(0)rotate(-.5deg)scale(1)}50%{transform:translateY(-7px)rotate(.6deg)scale(1.018)}}@keyframes hint-bob{0%,to{transform:translate(-50%)}50%{transform:translate(-50%,-4px)}}@keyframes fallback-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}@keyframes completion-line-in{0%{opacity:0;filter:drop-shadow(0 5px 4px #4f72a821);transform:translateY(10px)}to{opacity:1;filter:drop-shadow(0 0 #0000);transform:translateY(0)}}@keyframes completion-action-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.sound-control{z-index:90;top:max(10px, env(safe-area-inset-top));right:max(10px, env(safe-area-inset-right));flex-direction:row-reverse;align-items:center;gap:8px;display:flex;position:fixed}.sound-control.below-header{top:max(83px, calc(76px + env(safe-area-inset-top)))}.sound-toggle{width:44px;height:44px;color:var(--blue-dark);background:#fff8f2f2;border-color:#4f72a84d;flex:none;position:static;box-shadow:3px 4px #eabbc438,0 8px 18px #4149661c}.speaker-body{fill:var(--blue-dark)}.speaker-signal{stroke:var(--blue-dark)}.sound-prompt{color:var(--blue-dark);white-space:nowrap;background:#fff8f2f5;border:1px solid #4f72a82e;border-radius:4px 11px 4px 9px;padding:7px 10px;font-size:11px;font-weight:800;box-shadow:3px 4px #eabbc42e}.sound-control.needs-unlock .sound-toggle{animation:1.5s ease-in-out infinite sound-nudge}@keyframes gift-state-in{0%{opacity:.35;transform:translateY(7px)scale(.98)}}@keyframes gift-invite{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-7px)rotate(.6deg)}}@keyframes open-rise{0%{transform:translateY(0)scale(1)}to{transform:translateY(-8px)scale(1.03)}}@keyframes sound-nudge{0%,to{box-shadow:3px 4px #eabbc438,0 8px 18px #4149661c}50%{box-shadow:3px 4px #eabbc44d,0 0 0 7px #8799c51f,0 8px 18px #4149661c}}@media (min-width:650px){.sound-control{right:calc(50% - 270px)}}@media (max-width:370px){.system-header{padding-left:14px}.confidence-pill{padding-inline-start:7px;padding-inline-end:7px}.arrival-inner>.gift-box{width:230px}.panel{padding-inline-start:18px;padding-inline-end:18px}.unwrap-copy h1{font-size:23px}.sound-prompt{padding-inline-start:8px;padding-inline-end:8px;font-size:10px}.wrapped-bow{width:min(94vw,48vh)}}@media (max-height:720px){.arrival-screen{padding-top:calc(50px + env(safe-area-inset-top))}.arrival-inner>.gift-box{width:218px;margin-bottom:-42px}.unwrap-object{width:min(72vw,300px);min-height:min(70vw,290px)}.envelope{margin-top:0}.wrapped-bow{width:min(92vw,48vh,360px)}.unwrap-hint{bottom:calc(15px + env(safe-area-inset-bottom))}.wrap-fallback{bottom:calc(65px + env(safe-area-inset-bottom))}}
/*$vite$:1*/