@font-face{font-family:__Playfair_Display_0a80b4;font-style:normal;font-weight:400 900;font-display:swap;src:url(/_next/static/media/47f136985ef5b5cb-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__Playfair_Display_0a80b4;font-style:normal;font-weight:400 900;font-display:swap;src:url(/_next/static/media/4ead58c4dcc3f285-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Playfair_Display_0a80b4;font-style:normal;font-weight:400 900;font-display:swap;src:url(/_next/static/media/28a2004cf8372660-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Playfair_Display_0a80b4;font-style:normal;font-weight:400 900;font-display:swap;src:url(/_next/static/media/eaead17c7dbfcd5d-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Playfair_Display_Fallback_0a80b4;src:local("Times New Roman");ascent-override:97.25%;descent-override:22.56%;line-gap-override:0.00%;size-adjust:111.26%}.__className_0a80b4{font-family:__Playfair_Display_0a80b4,__Playfair_Display_Fallback_0a80b4;font-style:normal}.__variable_0a80b4{--font-playfair:"__Playfair_Display_0a80b4","__Playfair_Display_Fallback_0a80b4"}@font-face{font-family:__Dancing_Script_b75cb0;font-style:normal;font-weight:400 700;font-display:swap;src:url(/_next/static/media/325259dae461ae2a-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Dancing_Script_b75cb0;font-style:normal;font-weight:400 700;font-display:swap;src:url(/_next/static/media/d8f3713f2c4f699b-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Dancing_Script_b75cb0;font-style:normal;font-weight:400 700;font-display:swap;src:url(/_next/static/media/0e9d289c6eb42bf7-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Dancing_Script_Fallback_b75cb0;src:local("Arial");ascent-override:112.99%;descent-override:34.39%;line-gap-override:0.00%;size-adjust:81.43%}.__className_b75cb0{font-family:__Dancing_Script_b75cb0,__Dancing_Script_Fallback_b75cb0;font-style:normal}.__variable_b75cb0{--font-dancing:"__Dancing_Script_b75cb0","__Dancing_Script_Fallback_b75cb0"}@font-face{font-family:__Permanent_Marker_90e039;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/09f7b6b7f4b56175-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Permanent_Marker_Fallback_90e039;src:local("Arial");ascent-override:97.58%;descent-override:27.92%;line-gap-override:2.66%;size-adjust:113.69%}.__className_90e039{font-family:__Permanent_Marker_90e039,__Permanent_Marker_Fallback_90e039;font-weight:400;font-style:normal}.__variable_90e039{--font-marker:"__Permanent_Marker_90e039","__Permanent_Marker_Fallback_90e039"}@font-face{font-family:__Pangolin_511e43;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/7c3cb36ddcaab280-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__Pangolin_511e43;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/ad056f29a9301c15-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__Pangolin_511e43;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/110e99561b7c6552-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Pangolin_511e43;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/4947060b31547943-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Pangolin_511e43;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/f215683a41a1cc01-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Pangolin_Fallback_511e43;src:local("Arial");ascent-override:99.93%;descent-override:33.28%;line-gap-override:0.00%;size-adjust:93.76%}.__className_511e43{font-family:__Pangolin_511e43,__Pangolin_Fallback_511e43;font-weight:400;font-style:normal}.__variable_511e43{--font-pangolin:"__Pangolin_511e43","__Pangolin_Fallback_511e43"}:root{--bg-color:#e2dfd8;--env-red:#8b0000;--tape-black:#1a1a1a;--album-blue:#2c3e50;--gold:#d4af37;--cream:#faf8f5;--paper:#f5f0e6;--tv-body:#3d3027;--tv-bezel:#2a211a}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-color);min-height:100vh;perspective:2000px;overflow:hidden;font-family:var(--font-playfair),"Playfair Display",serif}.password-overlay,body{display:flex;align-items:center;justify-content:center}.password-overlay{position:fixed;inset:0;background:var(--bg-color);z-index:1000;transition:opacity .5s ease,transform .5s ease}.password-overlay.unlocking{opacity:0;transform:scale(1.1);pointer-events:none}.password-popup{background:#fff;padding:50px 60px;border-radius:20px;box-shadow:0 20px 60px rgba(0,0,0,.15);text-align:center;max-width:400px;width:90%;animation:popupEnter .6s cubic-bezier(.34,1.56,.64,1)}@keyframes popupEnter{0%{opacity:0;transform:scale(.8) translateY(30px)}to{opacity:1;transform:scale(1) translateY(0)}}.password-emoji{font-size:4rem;margin-bottom:20px;animation:bounce 2s ease-in-out infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.password-title{font-family:var(--font-dancing),"Dancing Script",cursive;font-size:2.5rem;color:#333;margin:0 0 10px}.password-subtitle{font-size:1rem;color:#888;margin:0 0 30px}.password-input,.password-subtitle{font-family:var(--font-playfair),serif}.password-input{width:100%;padding:15px 20px;font-size:1.1rem;border:2px solid #e0e0e0;border-radius:10px;outline:none;transition:all .3s ease;text-align:center}.password-input:focus{border-color:var(--env-red);box-shadow:0 0 0 4px rgba(139,0,0,.1)}.password-input.error{border-color:#f44;animation:shake .5s ease}@keyframes shake{0%,to{transform:translateX(0)}20%,60%{transform:translateX(-10px)}40%,80%{transform:translateX(10px)}}.password-error{color:#f44;font-size:.9rem;margin:10px 0 0}.password-error,.password-submit{font-family:var(--font-playfair),serif}.password-submit{width:100%;margin-top:20px;padding:15px 30px;background:linear-gradient(135deg,var(--env-red) 0,#6a0000 100%);color:#fff;border:none;border-radius:10px;font-size:1.1rem;font-weight:700;cursor:pointer;transition:all .3s ease}.password-submit:hover{transform:translateY(-2px);box-shadow:0 5px 20px rgba(139,0,0,.3)}.password-submit:active{transform:translateY(0)}.birthday-header{position:fixed;top:50px;left:50%;transform:translateX(-50%);z-index:50}.birthday-title{font-family:var(--font-dancing),"Dancing Script",cursive;font-size:3.5rem;color:#1a1a1a;margin:0;text-align:center;white-space:nowrap}.confetti-btn{position:fixed;bottom:25px;right:25px;background:transparent;border:none;font-size:1.8rem;cursor:pointer;opacity:.4;transition:all .3s ease;z-index:50;padding:10px;filter:grayscale(100%)}.confetti-btn:hover{opacity:.8;filter:grayscale(0);transform:scale(1.1)}.confetti-btn:active{transform:scale(.95)}.desktop{display:flex;flex-direction:column;align-items:center;gap:50px;z-index:10}.desktop-row{gap:60px;align-items:flex-end}.desktop-row,.float-wrap{display:flex;justify-content:center}.float-wrap{animation:float 6s ease-in-out infinite;flex-direction:column;align-items:center}.desktop-row .float-wrap:first-child{animation-delay:-2s}.desktop-row .float-wrap:nth-child(2){animation-delay:-4s}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}.tilt-box{position:relative;transition:transform .2s ease-out,opacity .3s;transform-style:preserve-3d;cursor:pointer}.envelope-box{width:340px;height:230px}.envelope-box.env-hidden{opacity:0;pointer-events:none}.envelope{position:relative;transform-style:preserve-3d}.envelope,.side{width:100%;height:100%}.side{position:absolute;-webkit-backface-visibility:hidden;backface-visibility:hidden;border-radius:4px;box-shadow:0 10px 30px rgba(0,0,0,.15);display:flex;align-items:center;justify-content:center}.front{background:var(--env-red);color:#f4e4bc}.envelope-overlay{position:fixed;inset:0;background:var(--bg-color);z-index:100;display:none;flex-direction:column;align-items:center;justify-content:center;opacity:0;gap:30px}.envelope-overlay.active{display:flex;animation:envFadeIn .4s ease forwards}@keyframes envFadeIn{0%{opacity:0}to{opacity:1}}.env-close{color:#888}.env-close:hover{color:#333}.envelope-fullpage{perspective:2000px;cursor:pointer}.envelope-fullpage.opening{animation:envEnter .6s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes envEnter{0%{transform:scale(.3) translateY(50px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}.envelope-large{--env-width:500px;--env-height:340px;--flap-height:170px;position:relative;width:var(--env-width);height:var(--env-height);transform-style:preserve-3d;transition:transform .8s cubic-bezier(.4,0,.2,1)}.envelope-large.is-flipped{transform:rotateY(180deg)}.env-side{position:absolute;width:100%;height:100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;border-radius:8px;box-shadow:0 20px 60px rgba(0,0,0,.2)}.env-front{background:linear-gradient(135deg,#a01010 0,var(--env-red) 50%,#6a0000 100%);display:flex;align-items:center;justify-content:center}.env-front-content{text-align:center;color:#f4e4bc}.env-to{font-size:1.8rem;margin-bottom:10px}.env-recipient,.env-to{font-family:var(--font-dancing),"Dancing Script",cursive}.env-recipient{font-size:4rem;border-bottom:2px solid #f4e4bc;padding-bottom:5px}.env-back{background:linear-gradient(180deg,#8a0000,#6a0000);transform:rotateY(180deg);overflow:visible}.env-flap{background:var(--env-red);z-index:4}.env-flap,.env-flap-inner{position:absolute;top:0;left:0;width:100%;height:var(--flap-height);-webkit-clip-path:polygon(0 0,100% 0,50% 100%);clip-path:polygon(0 0,100% 0,50% 100%);transform-origin:top center;transition:transform .6s ease}.env-flap-inner{background:#5a0000;transform:rotateX(180deg);z-index:3}.envelope-large.is-open .env-flap{transform:rotateX(180deg);z-index:1}.envelope-large.is-open .env-flap-inner{transform:rotateX(180deg)}.letter-card{display:none}.envelope-large.is-open{opacity:0;transform:rotateY(180deg) scale(.8);pointer-events:none;transition:opacity .5s ease,transform .5s ease}.letter-fullpage{position:absolute;width:600px;max-width:90vw;min-height:500px;max-height:80vh;background:linear-gradient(180deg,#fffef9,#f8f4e8);border-radius:8px;box-shadow:0 30px 80px rgba(0,0,0,.2);opacity:0;transform:scale(.8) translateY(50px);pointer-events:none;transition:all .6s cubic-bezier(.34,1.56,.64,1);overflow:hidden}.letter-fullpage:before{content:"";position:absolute;top:0;left:0;right:0;height:12px;background:repeating-linear-gradient(90deg,var(--env-red) 0,var(--env-red) 25px,#f4e4bc 25px,#f4e4bc 50px)}.letter-fullpage.visible{opacity:1;transform:scale(1) translateY(0);pointer-events:auto}.letter-content{padding:50px 60px;height:100%;display:flex;flex-direction:column;overflow-y:auto;max-height:calc(80vh - 12px)}.letter-greeting{font-family:var(--font-dancing),"Dancing Script",cursive;font-size:2.5rem;color:#333;margin-bottom:30px}.letter-body{font-family:var(--font-playfair),serif;font-size:1.2rem;line-height:2;color:#444;white-space:pre-wrap}.letter-signature{font-family:var(--font-dancing),"Dancing Script",cursive;font-size:2.5rem;text-align:right;color:#333;margin-top:30px;flex-shrink:0;padding-bottom:20px}.envelope-hint{font-family:var(--font-playfair),serif;font-size:.9rem;color:#999;opacity:0;transition:opacity .5s ease;text-transform:uppercase;letter-spacing:2px}.envelope-hint.visible{opacity:1;animation:hintPulse 2s ease-in-out infinite}@keyframes hintPulse{0%,to{opacity:.5}50%{opacity:1}}.tape-box{width:320px;height:185px;background:var(--tape-black);border-radius:8px;box-shadow:0 10px 30px rgba(0,0,0,.3);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;border:2px solid #333}.tape-box.tape-hidden{opacity:0;pointer-events:none}.tape-label{background:linear-gradient(180deg,#f5f0e1,#e8e0cc 50%,#f5f0e1);color:#c41e3a;width:80%;height:40px;margin-bottom:20px;display:flex;align-items:center;justify-content:center;font-weight:400;font-family:var(--font-marker),"Permanent Marker",cursive;font-size:12px;text-align:center;padding:0 10px;border:none;border-radius:1px;box-shadow:0 1px 2px rgba(0,0,0,.15),inset 0 1px 0 hsla(0,0%,100%,.5);position:relative;transform:rotate(-1deg)}.tape-reels{display:flex;gap:40px}.reel{width:40px;height:40px;border:4px dashed #444;border-radius:50%}.album-box{width:300px;height:230px;background:linear-gradient(145deg,#8b4513,#654321 50%,#4a2c17);border-radius:8px 12px 12px 8px;box-shadow:0 10px 30px rgba(0,0,0,.3),inset 0 1px 0 hsla(0,0%,100%,.1),inset 0 -2px 0 rgba(0,0,0,.2);display:flex;align-items:center;justify-content:center;color:#d4af37;transition:opacity .3s,transform .3s;position:relative;border:2px solid #3d2817}.album-box:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 30% 20%,hsla(0,0%,100%,.08) 0,transparent 50%),url("data:image/svg+xml,%3Csvg viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.08'/%3E%3C/svg%3E");border-radius:6px 10px 10px 6px;pointer-events:none}.album-box:after{content:"";position:absolute;left:0;top:10px;bottom:10px;width:25px;background:linear-gradient(90deg,#2d1810,#4a2c17 40%,#3d2214);border-radius:4px 0 0 4px;box-shadow:inset -3px 0 6px rgba(0,0,0,.4),inset 2px 0 3px hsla(0,0%,100%,.05)}.album-box.album-hidden{opacity:0;transform:scale(.8);pointer-events:none}.album-cover{display:flex;flex-direction:column;align-items:center;gap:10px;margin-left:15px;position:relative;z-index:1}.album-label{background:linear-gradient(180deg,#f5f0e1,#e8e0cc 50%,#f5f0e1);color:#c41e3a;padding:6px 12px;font-family:var(--font-marker),"Permanent Marker",cursive;font-size:10px;font-weight:400;border-radius:1px;text-align:center;max-width:150px;line-height:1.3;box-shadow:0 1px 2px rgba(0,0,0,.15),inset 0 1px 0 hsla(0,0%,100%,.5);transform:rotate(1deg)}.album-frame{width:140px;height:100px;background:#fff;border:3px solid #d4af37;box-shadow:0 2px 8px rgba(0,0,0,.2);position:relative;overflow:hidden}.album-frame img{object-fit:cover}.album-frame:after,.album-frame:before{content:"";position:absolute;width:12px;height:12px;border:2px solid rgba(212,175,55,.6);z-index:2}.album-frame:before{top:4px;left:4px;border-right:none;border-bottom:none}.album-frame:after{bottom:4px;right:4px;border-left:none;border-top:none}.label-hint{margin-top:20px;font-size:10px;color:#999;text-transform:uppercase;letter-spacing:2px}.close-btn{position:absolute;top:20px;right:30px;color:#666;cursor:pointer;font-size:2.5rem;background:none;border:none;z-index:101;transition:all .2s;line-height:1}.close-btn:hover{color:#333;transform:scale(1.1)}.tv-overlay{position:fixed;inset:0;background:var(--bg-color);z-index:100;display:none;flex-direction:column;align-items:center;justify-content:center;opacity:0;gap:30px}.tv-overlay.active{display:flex;animation:tvFadeIn .4s ease forwards}@keyframes tvFadeIn{0%{opacity:0}to{opacity:1}}.tv-close{color:#888}.tv-close:hover{color:#333}.flying-tape{position:fixed;width:200px;height:120px;background:var(--tape-black);border-radius:6px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:2px solid #333;z-index:200;opacity:0;pointer-events:none;left:var(--tape-origin-x);top:var(--tape-origin-y);transform:translate(-50%,-50%) scale(1)}.flying-tape .tape-label{width:75%;height:30px;margin-bottom:12px;font-size:9px}.flying-tape .tape-reels{gap:30px}.flying-tape .reel{width:28px;height:28px;border-width:3px}.flying-tape.animating{opacity:1;animation:tapeInsert 1.2s cubic-bezier(.4,0,.2,1) forwards}@keyframes tapeInsert{0%{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(0deg)}30%{opacity:1;transform:translate(-50%,-200%) scale(.8) rotate(-10deg)}60%{opacity:1;transform:translate(calc(50vw - 50%),calc(50vh - 180px)) scale(.5) rotate(0deg)}to{opacity:0;transform:translate(calc(50vw - 50%),calc(50vh - 100px)) scale(.3) rotate(0deg)}}.retro-tv{display:flex;flex-direction:column;align-items:center;filter:drop-shadow(0 30px 50px rgba(0,0,0,.3));animation:tvFloat 5s ease-in-out infinite}@keyframes tvFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.tv-body{display:flex;background:linear-gradient(180deg,#4a3c30 0,var(--tv-body) 30%,#2a211a 100%);border-radius:20px;padding:20px;gap:15px;border:3px solid #1a1410;box-shadow:inset 0 2px 0 hsla(0,0%,100%,.1),inset 0 -2px 0 rgba(0,0,0,.2);max-width:95vw}.tv-screen-container{display:flex;flex-direction:column;gap:12px}.tv-screen{width:560px;aspect-ratio:4/3;background:#111;border-radius:20px;overflow:hidden;position:relative;border:12px solid var(--tv-bezel);box-shadow:inset 0 0 50px rgba(0,0,0,.8),inset 0 0 100px rgba(0,0,0,.5)}.tv-scanlines{background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,.1) 0,rgba(0,0,0,.1) 4px);z-index:10}.tv-glare,.tv-scanlines{position:absolute;inset:0;pointer-events:none}.tv-glare{background:linear-gradient(135deg,hsla(0,0%,100%,.1),transparent 50%,transparent);z-index:11}.tv-static{position:absolute;inset:0;opacity:0;z-index:5;transition:opacity .3s}.tv-static.visible{opacity:1}.static-noise{width:100%;height:100%;background:repeating-radial-gradient(#000 0 .0001%,#fff 0 .0002%) 50% 0/2500px 2500px,repeating-conic-gradient(#000 0 .0001%,#fff 0 .0002%) 60% 60%/2500px 2500px;background-blend-mode:difference;animation:noise .2s infinite}@keyframes noise{to{background-position:50% 0,60% 50%}}.tv-content{position:absolute;inset:0;opacity:0;transition:opacity .5s;z-index:4}.tv-content.visible{opacity:1}.tv-content iframe,.tv-content video{position:absolute;top:0;left:0;width:100%;height:100%;border:none;object-fit:cover}.vcr-slot{display:flex;align-items:center;gap:10px;background:#1a1410;padding:8px 20px;border-radius:8px;align-self:center}.vcr-slot-inner{width:120px;height:12px;background:linear-gradient(180deg,#0a0a0a,#1a1a1a 50%,#0a0a0a);border-radius:2px;border:1px solid #333}.vcr-label{font-family:monospace;font-size:10px;color:#666;letter-spacing:2px}.tv-controls-panel{display:flex;flex-direction:column;align-items:center;gap:20px;padding:10px;width:100px}.tv-brand{font-family:var(--font-pangolin),"Pangolin",cursive;font-size:12px;font-weight:400;color:#8a7a6a;letter-spacing:3px;text-shadow:0 1px 0 hsla(0,0%,100%,.1)}.tv-knobs{display:flex;flex-direction:column;gap:15px}.tv-knob{width:40px;height:40px;background:linear-gradient(135deg,#4a4a4a,#2a2a2a 50%,#1a1a1a);border-radius:50%;border:2px solid #1a1a1a;box-shadow:inset 0 2px 3px hsla(0,0%,100%,.2),0 3px 5px rgba(0,0,0,.3);position:relative}.tv-knob:after{content:"";position:absolute;top:50%;left:50%;width:3px;height:12px;background:#666;transform:translate(-50%,-80%);border-radius:2px}.tv-speaker{display:flex;flex-direction:column;gap:4px;padding:10px;background:#1a1410;border-radius:5px}.speaker-line{width:60px;height:3px;background:linear-gradient(90deg,transparent,#2a2a2a 20%,#2a2a2a 80%,transparent);border-radius:2px}.tv-stand{display:flex;gap:200px;margin-top:-5px}.tv-leg{width:60px;height:40px;background:linear-gradient(180deg,var(--tv-body) 0,#1a1410 100%);-webkit-clip-path:polygon(20% 0,80% 0,100% 100%,0 100%);clip-path:polygon(20% 0,80% 0,100% 100%,0 100%)}.now-playing{display:flex;align-items:center;gap:12px;opacity:0;transition:opacity .5s;background:rgba(0,0,0,.1);padding:10px 25px;border-radius:30px}.now-playing.visible{opacity:1}.now-playing-icon{color:#8b0000;font-size:.9rem}.now-playing-text{font-family:var(--font-pangolin),"Pangolin",cursive;font-size:1.1rem;color:#333;letter-spacing:1px}.tape-collection{display:flex;flex-direction:column;align-items:center;gap:15px}.tape-shelf-label{font-family:var(--font-pangolin),"Pangolin",cursive;font-size:11px;color:#999;text-transform:uppercase;letter-spacing:3px}.tape-row{display:flex;gap:8px}.tape-case{cursor:pointer;transition:transform .2s}.tape-case:hover{transform:translateY(-8px)}.tape-case.active .tape-case-spine{background:linear-gradient(180deg,#2a2a2a,#1a1a1a);border-color:var(--gold)}.tape-case.active .tape-case-spine span{color:var(--gold)}.tape-case-spine{width:30px;height:100px;background:linear-gradient(180deg,#3a3a3a,#2a2a2a);border:2px solid #444;border-radius:2px;display:flex;align-items:center;justify-content:center;transition:all .3s}.tape-case-spine span{writing-mode:vertical-rl;-webkit-text-orientation:mixed;text-orientation:mixed;transform:rotate(180deg);font-family:var(--font-pangolin),"Pangolin",cursive;font-size:8px;color:#888;text-transform:uppercase;letter-spacing:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-height:85px;transition:color .3s}.album-overlay{position:fixed;inset:0;background:var(--bg-color);z-index:100;display:none;flex-direction:column;align-items:center;justify-content:center;opacity:0;gap:40px}.album-overlay.active{display:flex;animation:albumFadeIn .6s ease forwards}.album-overlay.animating:not(.active){display:flex;animation:albumFadeOut .5s ease forwards}@keyframes albumFadeIn{0%{opacity:0}to{opacity:1}}@keyframes albumFadeOut{0%{opacity:1}to{opacity:0}}.album-close{color:#888}.album-close:hover{color:#333}.album-floating-book{display:flex;perspective:2500px;transform-style:preserve-3d;animation:bookFloat 4s ease-in-out infinite;filter:drop-shadow(0 40px 60px rgba(0,0,0,.25))}.album-floating-book.opening{animation:bookOpen .8s cubic-bezier(.34,1.56,.64,1) forwards}.album-floating-book.closing{animation:bookClose .5s ease-in forwards}@keyframes bookFloat{0%,to{transform:translateY(0) rotateX(5deg) rotateY(-2deg)}50%{transform:translateY(-15px) rotateX(5deg) rotateY(2deg)}}@keyframes bookOpen{0%{transform:scale(.15) rotateY(-90deg) rotateX(20deg);opacity:0}50%{transform:scale(.6) rotateY(-20deg) rotateX(10deg);opacity:1}to{transform:scale(1) rotateY(0deg) rotateX(5deg);opacity:1}}@keyframes bookClose{0%{transform:scale(1) rotateY(0deg) rotateX(5deg);opacity:1}to{transform:scale(.15) rotateY(-90deg) rotateX(20deg);opacity:0}}.album-spine{width:40px;background:linear-gradient(90deg,#1a252f 0,var(--album-blue) 50%,#1a252f 100%);border-radius:8px 0 0 8px;display:flex;align-items:center;justify-content:center;box-shadow:inset -5px 0 15px rgba(0,0,0,.3)}.album-spine span{writing-mode:vertical-rl;-webkit-text-orientation:mixed;text-orientation:mixed;transform:rotate(180deg);color:var(--gold);font-family:var(--font-pangolin),"Pangolin",cursive;font-size:.9rem;letter-spacing:3px;text-transform:uppercase}.album-pages-wrapper{display:flex;transform-style:preserve-3d}.album-page{width:380px;height:500px;background:var(--paper);padding:35px;display:flex;flex-direction:column;align-items:center;position:relative;box-shadow:inset 0 0 40px rgba(139,90,43,.08)}.album-page:after{content:"";position:absolute;inset:15px;border:1px solid rgba(139,90,43,.15);pointer-events:none}.album-page-left{background:linear-gradient(90deg,#ebe5d8 0,var(--paper) 100%);border-radius:8px 0 0 8px;border-right:1px solid #d4c9b5}.album-page-right{background:linear-gradient(90deg,var(--paper) 0,#f0ebe0 100%);border-radius:0 8px 8px 0}.album-page.flip-next{animation:pageFlipNext .6s ease-in-out}.album-page.flip-prev{animation:pageFlipPrev .6s ease-in-out}@keyframes pageFlipNext{0%{opacity:1;transform:scale(1)}50%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes pageFlipPrev{0%{opacity:1;transform:scale(1)}50%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.album-intro{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center}.album-intro-title{font-family:var(--font-playfair),serif;font-size:2rem;color:var(--album-blue);letter-spacing:4px;text-transform:uppercase}.album-intro-line{width:100px;height:2px;background:var(--gold);margin:25px 0}.album-intro-subtitle{font-family:var(--font-dancing),"Dancing Script",cursive;font-size:1.3rem;color:#8a7a6a}.photo-mount{position:relative;width:100%;height:340px;background:#fff;padding:12px;box-shadow:0 3px 12px rgba(0,0,0,.1)}.photo-mount img{border-radius:1px}.photo-corner{position:absolute;width:24px;height:24px;z-index:5}.photo-corner:after,.photo-corner:before{content:"";position:absolute;background:rgba(139,90,43,.25)}.photo-corner.tl{top:8px;left:8px}.photo-corner.tr{top:8px;right:8px}.photo-corner.bl{bottom:8px;left:8px}.photo-corner.br{bottom:8px;right:8px}.photo-corner.br:before,.photo-corner.tl:before{width:100%;height:3px;top:0;left:0}.photo-corner.br:after,.photo-corner.tl:after{width:3px;height:100%;top:0;left:0}.photo-corner.bl:before,.photo-corner.tr:before{width:100%;height:3px;top:0;right:0}.photo-corner.bl:after,.photo-corner.tr:after{width:3px;height:100%;top:0;right:0}.photo-caption{margin-top:25px;font-family:var(--font-pangolin),"Pangolin",cursive;font-size:1.4rem;color:#5a4a3a;text-align:center}.page-num{position:absolute;bottom:20px;font-family:var(--font-playfair),serif;font-size:.85rem;color:#a99a8a}.page-num.left{left:25px}.page-num.right{right:25px}.album-controls{display:flex;align-items:center;gap:30px}.album-nav-btn{background:transparent;border:2px solid var(--album-blue);color:var(--album-blue);padding:12px 28px;font-family:var(--font-pangolin),"Pangolin",cursive;font-size:.9rem;cursor:pointer;transition:all .3s ease;border-radius:4px}.album-nav-btn:hover:not(:disabled){background:var(--album-blue);color:#fff}.album-nav-btn:disabled{opacity:.3;cursor:not-allowed}.album-dots{display:flex;gap:8px}.album-dot{width:10px;height:10px;border-radius:50%;border:2px solid var(--album-blue);background:transparent;cursor:pointer;transition:all .3s ease;padding:0}.album-dot:hover{background:rgba(44,62,80,.3)}.album-dot.active{background:var(--album-blue);transform:scale(1.2)}@media (max-width:1024px){.birthday-header{top:30px}.birthday-title{font-size:2.5rem}.confetti-btn{bottom:20px;right:20px;font-size:1.6rem}.desktop{flex-direction:column;gap:40px;padding:40px 20px}.desktop-row{gap:40px}body{overflow-y:auto;min-height:auto;padding:40px 0}.envelope-box{width:250px;height:170px}.envelope-large{--env-width:min(90vw,400px);--env-height:270px;--flap-height:135px;width:var(--env-width);height:var(--env-height)}.env-recipient{font-size:2.5rem}.letter-fullpage{width:90vw;max-width:500px;min-height:auto;max-height:85vh}.letter-greeting{font-size:1.8rem;margin-bottom:20px}.letter-body{font-size:1rem;line-height:1.8}.letter-content{padding:35px 30px;max-height:calc(85vh - 12px)}.letter-signature{font-size:2rem}.tv-screen{width:85vw;max-width:450px;aspect-ratio:4/3;border-width:8px}.tv-body{flex-direction:column;padding:12px;align-items:center;max-width:98vw}.tv-screen{width:90vw;max-width:500px;aspect-ratio:16/10;border-width:6px}.tv-screen-container{width:100%;display:flex;flex-direction:column;align-items:center}.tv-controls-panel{flex-direction:row;width:100%;justify-content:space-around;padding:8px 0}.tv-knobs,.tv-speaker{flex-direction:row}.tv-speaker{flex-wrap:wrap;width:auto}.speaker-line{width:30px}.tape-collection{width:90vw}.tape-row{flex-wrap:wrap;justify-content:center}.album-box{width:220px;height:170px}.album-label{font-size:8px;padding:5px 10px;max-width:130px}.album-frame{width:120px;height:85px}.album-floating-book{animation:none;transform:rotateX(5deg)}.album-pages-wrapper{flex-direction:column}.album-page{width:90vw;max-width:380px;height:auto;min-height:auto}.album-page-left{border-radius:8px}.album-page-right,.album-spine{display:none}.photo-mount{width:100%;height:auto;aspect-ratio:4/3}.album-controls{flex-wrap:wrap;gap:15px}.album-nav-btn{padding:10px 20px;font-size:.85rem}}@media (max-width:600px){.password-popup{padding:40px 30px}.password-emoji{font-size:3rem}.password-title{font-size:2rem}.password-subtitle{font-size:.9rem}.password-input{padding:12px 15px;font-size:1rem}.password-submit{padding:12px 25px;font-size:1rem}.birthday-header{top:20px;padding:0 20px}.birthday-title{font-size:1.8rem;white-space:normal;line-height:1.3}.confetti-btn{bottom:15px;right:15px;font-size:1.4rem}body{overflow-y:auto;min-height:auto;padding:20px 0;display:block}.desktop{justify-content:flex-start;padding:30px 15px;min-height:100vh}.desktop,.desktop-row{display:flex;flex-direction:column;align-items:center;gap:25px;width:100%}.desktop-row{justify-content:center}.float-wrap{display:flex;flex-direction:column;align-items:center;width:100%}.close-btn{top:15px;right:15px;font-size:2rem}.album-box,.envelope-box,.tape-box{width:280px;margin:0 auto}.envelope-box{height:180px}.tape-box{height:150px}.album-box{height:200px}.tape-label{width:75%;height:36px;font-size:11px;margin-bottom:12px}.tape-reels{gap:30px}.reel{width:32px;height:32px;border-width:3px}.album-cover{margin-left:30px;gap:8px}.album-label{font-size:9px;padding:5px 10px;max-width:140px}.album-frame{width:130px;height:90px}.album-box:after{width:22px}.label-hint{font-size:10px;margin-top:12px;letter-spacing:2px}.envelope-fullpage{padding:20px}.envelope-large{--env-width:min(85vw,300px);--env-height:200px;--flap-height:100px;width:var(--env-width);height:var(--env-height)}.env-to{font-size:1.2rem}.env-recipient{font-size:1.8rem}.letter-fullpage{width:92vw;max-height:75vh;min-height:auto}.letter-content{padding:30px 25px;max-height:calc(75vh - 8px)}.letter-fullpage:before{height:8px}.letter-greeting{font-size:1.4rem;margin-bottom:15px}.letter-body{font-size:.95rem;line-height:1.7}.letter-signature{font-size:1.5rem;margin-top:15px}.envelope-hint{font-size:.7rem;letter-spacing:1px}.tv-overlay{gap:15px;padding:15px}.retro-tv{transform:scale(1)}.tv-body{flex-direction:column;padding:8px;border-radius:10px;gap:6px;align-items:center;width:auto;max-width:98vw}.tv-screen{width:92vw;max-width:none;aspect-ratio:16/10;border-width:4px;border-radius:8px}.tv-screen-container{gap:6px;width:100%;display:flex;flex-direction:column;align-items:center}.vcr-slot{padding:5px 10px}.vcr-slot-inner{width:60px;height:8px}.vcr-label{font-size:7px}.tv-controls-panel{padding:5px 0;gap:10px}.tv-brand{font-size:9px;letter-spacing:2px}.tv-knob{width:25px;height:25px}.tv-speaker{padding:5px}.speaker-line{width:20px;height:2px}.tv-stand{gap:100px}.tv-leg{width:40px;height:25px}.now-playing{padding:6px 14px;gap:8px}.now-playing-icon{font-size:.7rem}.now-playing-text{font-size:.8rem}.tape-collection{width:95vw;gap:8px}.tape-shelf-label{font-size:8px}.tape-row{gap:5px;padding:10px}.tape-case-spine{width:22px;height:70px}.tape-case-spine span{font-size:5px;max-height:60px}.album-overlay{gap:15px;padding:15px}.album-floating-book{animation:none;transform:none;filter:drop-shadow(0 20px 40px rgba(0,0,0,.2))}.album-page{width:90vw;max-width:320px;min-height:auto;height:auto;padding:15px}.album-page:after{inset:8px}.photo-mount{padding:6px;width:100%;height:auto;aspect-ratio:4/3}.photo-corner{width:18px;height:18px}.photo-caption{font-size:1rem;margin-top:12px}.page-num{font-size:.7rem;bottom:12px}.page-num.left{left:15px}.page-num.right{right:15px}.album-intro-title{font-size:1.5rem}.album-intro-subtitle{font-size:1rem}.album-intro-line{width:60px;margin:15px 0}.album-controls{gap:10px}.album-nav-btn{padding:8px 14px;font-size:.75rem}.album-dots{gap:5px}.album-dot{width:8px;height:8px}}@media (max-width:380px){.birthday-title{font-size:1.5rem}.confetti-btn{bottom:12px;right:12px;font-size:1.2rem}.desktop{gap:20px;padding:25px 10px 20px}.album-box,.envelope-box,.tape-box{width:260px}.envelope-box{height:165px}.tape-box{height:135px}.album-box{height:180px}.tape-label{height:32px;font-size:10px}.album-label{font-size:8px;padding:4px 8px;max-width:120px}.album-frame{width:105px;height:72px}.album-cover{margin-left:25px}.envelope-large{--env-width:90vw;--env-height:170px;--flap-height:85px}.env-to{font-size:1rem}.env-recipient{font-size:1.5rem}.letter-fullpage{width:95vw}.letter-content{padding:25px 18px;max-height:calc(75vh - 8px)}.letter-greeting{font-size:1.2rem}.letter-body{font-size:.9rem}.tv-screen{width:94vw;max-width:none;border-width:3px}.tv-body{padding:6px}.tape-case-spine{width:18px;height:60px}.album-page{width:95vw;max-width:300px;min-height:auto;height:auto;padding:12px}.photo-mount{padding:5px;aspect-ratio:4/3}.photo-caption{font-size:.9rem}.album-nav-btn{padding:6px 12px;font-size:.7rem}}