:root{color:#ffffffe6;font-synthesis:none;text-rendering:optimizelegibility;background:#090612;font-family:Georgia,Times New Roman,serif}html{background:#090612;width:100%;min-height:100%}body{background:#090612;width:100%;min-width:320px;min-height:100dvh;margin:0}button{-webkit-tap-highlight-color:transparent}#root{width:100%;min-height:100dvh}*{box-sizing:border-box}html,body,#root{width:100%;min-height:100%;margin:0}body{color:#fff;background:#090612;font-family:Georgia,Times New Roman,serif}button,input{font:inherit}.welcome{text-align:center;background:radial-gradient(circle at 50% 40%,#2b183b 0%,#140b20 42%,#090612 78%);justify-content:center;align-items:center;width:100%;min-height:100dvh;display:flex;position:relative;overflow:hidden}.stars{opacity:.4;pointer-events:none;z-index:0;background-image:radial-gradient(circle,#fff 1px,#0000 1px),radial-gradient(circle,#fff 1px,#0000 1px);background-position:20px 30px,70px 80px;background-size:90px 90px,130px 130px;animation:15s linear infinite drift;position:absolute;inset:0}.pin-lock-screen{z-index:100;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:radial-gradient(circle at 50% 42%,#2b183b6b 0%,#140b20b8 45%,#090612f0 100%);justify-content:center;align-items:center;padding:30px 20px;display:flex;position:fixed;inset:0}.pin-card{text-align:center;background:linear-gradient(145deg,#1c151beb,#0b0810f5);border:1px solid #ffd76a33;width:min(88vw,410px);padding:clamp(38px,6vh,58px) clamp(28px,5vw,48px) clamp(34px,5vh,48px);animation:.8s both pinAppear;position:relative;box-shadow:0 25px 70px #0000008c,inset 0 0 0 1px #ffffff06}.pin-card:before{content:"";pointer-events:none;border:1px solid #ffd76a14;position:absolute;inset:9px}.pin-lock-icon{z-index:1;filter:drop-shadow(0 0 10px #ffbe3c59);margin-bottom:20px;font-size:clamp(30px,4vw,42px);position:relative}.pin-title{z-index:1;color:#f5d98a;text-shadow:0 0 8px #ffd76a33;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(34px,5vw,50px);font-weight:600;line-height:1.12;position:relative}.pin-subtitle{z-index:1;color:#ffffff9e;margin:22px 0 18px;font-family:Arial,sans-serif;font-size:clamp(13px,1.4vw,16px);position:relative}.pin-input{z-index:1;color:#fff;text-align:center;letter-spacing:4px;background:#00000040;border:1px solid #ffd76a2e;border-radius:2px;outline:none;width:100%;padding:15px 18px;font-family:Arial,sans-serif;font-size:16px;transition:border-color .25s,box-shadow .25s;display:block;position:relative}.pin-input::placeholder{color:#ffffff4d;letter-spacing:0}.pin-input:focus{border-color:#ffd76a8c;box-shadow:0 0 18px #ffbe321a}.pin-hint{z-index:1;color:#ffffff6b;margin:14px 0 20px;font-family:Arial,sans-serif;font-size:12px;position:relative}.pin-error{z-index:1;color:#e9a1a1;margin:-8px 0 16px;font-family:Arial,sans-serif;font-size:12px;position:relative}.pin-unlock-button{z-index:1;color:#f5d98a;letter-spacing:2px;cursor:pointer;background:linear-gradient(#ffd76a29,#ffb42812);border:1px solid #ffd76a8c;border-radius:2px;width:100%;padding:14px 20px;font-family:Arial,sans-serif;font-size:13px;font-weight:600;transition:background .25s,box-shadow .25s,transform .25s;position:relative}.pin-unlock-button:hover{background:linear-gradient(#ffd76a40,#ffb4281f);transform:translateY(-2px);box-shadow:0 0 22px #ffbe321f}.pin-footer{color:#ffd76a6b;text-align:center;margin:0;font-family:Georgia,Times New Roman,serif;font-size:11px;position:absolute;bottom:18px;left:0;right:0}@keyframes pinAppear{0%{opacity:0;transform:translateY(18px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.page-navigation{z-index:50;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#ffffff04;border:1px solid #ffffff14;border-radius:8px;gap:2px;padding:2px;display:flex;position:fixed;top:clamp(14px,2.5vh,24px);left:clamp(14px,2.5vw,28px)}.nav-button{color:#ffffff8c;cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;width:clamp(55px,2.5vw,36px);height:clamp(55px,2.5vh,32px);padding:0;font-family:Arial,sans-serif;font-size:clamp(16px,1.5vw,20px);transition:background .2s,color .2s;display:flex}.nav-button:hover:not(:disabled){color:#fff;background:#ffffff14}.nav-button:disabled{color:#ffffff1f;cursor:default}.opening-fireworks{z-index:8;pointer-events:none;width:100vw;height:100dvh;position:fixed;inset:0}.birthday-message{z-index:9;pointer-events:none;text-align:center;opacity:0;width:min(58vw,470px);animation:1.5s 8.8s forwards birthdayAppear;position:fixed;top:47%;left:50%;transform:translate(-50%,-50%)}.birthday-happy{text-shadow:0 0 3px #fff6cf,0 0 8px #ffd764bf;margin-top:8px;font-size:clamp(24px,3.5vw,42px)}.birthday-title{text-shadow:0 0 3px #fff6cf,0 0 8px #ffd25acc;margin-top:8px;font-size:clamp(24px,3.5vw,42px)}.birthday-love{letter-spacing:2px;color:#ffd66d;text-shadow:0 0 2px #fff4c2,0 0 6px #ffd25aa6;margin-top:8px;font-family:Brush Script MT,Segoe Script,cursive;font-size:clamp(32px,4.5vw,55px);font-weight:400;line-height:.85}.welcome-content{z-index:10;width:min(90vw,850px);padding:clamp(40px,7vh,80px) clamp(20px,5vw,60px);animation:.9s both appear;position:relative}.scene-one-content{opacity:0;visibility:hidden}.scene-one-content.opening-finished{visibility:visible;animation:1.2s forwards sceneOneAppear}@keyframes identifier{}.small-text{letter-spacing:clamp(3px,.5vw,6px);opacity:.65;margin:0 0 clamp(18px,3vh,28px);font-family:Arial,sans-serif;font-size:clamp(10px,1.1vw,13px)}h1{letter-spacing:clamp(-2px,-.15vw,-1px);margin:0;font-size:clamp(42px,6vw,76px);font-weight:400;line-height:1.05}.subtitle{opacity:.7;margin:clamp(22px,4vh,35px) 0 clamp(28px,5vh,45px);font-family:Arial,sans-serif;font-size:clamp(14px,1.5vw,18px);line-height:1.7}.start-button{color:#fff;cursor:pointer;background:#ffffff14;border:1px solid #ffffff4d;border-radius:50px;padding:clamp(12px,1.5vh,16px) clamp(22px,2.5vw,30px);font-family:Arial,sans-serif;font-size:clamp(13px,1.3vw,16px);transition:transform .3s,background .3s,border-color .3s}.start-button:hover{background:#ffffff29;border-color:#ffffff73;transform:translateY(-3px)}.start-button:active{transform:translateY(-1px)}.memory-button{color:#ffffffbf;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff2e;border-radius:30px;padding:clamp(9px,1.2vh,12px) clamp(16px,2vw,22px);font-family:Arial,sans-serif;font-size:clamp(11px,1.1vw,14px);transition:background .25s,color .25s,transform .25s}.memory-button:hover{color:#fff;background:#ffffff1a;transform:translateY(-2px)}.hint{letter-spacing:2px;opacity:.35;margin:0;font-family:Arial,sans-serif;font-size:clamp(9px,1vw,12px);position:absolute;bottom:clamp(18px,4vh,30px);left:0;right:0}.puzzle{width:min(90vw,700px)}.answer-input{color:#fff;text-align:center;background:#ffffff14;border:1px solid #ffffff40;border-radius:50px;outline:none;width:min(100%,380px);margin:0 auto clamp(16px,2.5vh,22px);padding:clamp(12px,1.5vh,16px) 20px;font-family:Arial,sans-serif;font-size:clamp(14px,1.4vw,17px);display:block}.answer-input::placeholder{color:#fff6}.answer-input:focus{background:#ffffff1c;border-color:#fff9}.date-reveal{letter-spacing:2px;margin-top:10px;font-size:clamp(38px,5vw,68px)}.memory-page{z-index:10;text-align:center;flex-direction:column;justify-content:center;align-items:center;width:min(90vw,850px);min-height:100dvh;padding:70px clamp(20px,4vw,45px) 35px;animation:.9s both appear;display:flex;position:relative}.memory-card{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#ffffffc7;background:#ffffff09;border:1px solid #ffffff1a;border-radius:20px;width:100%;max-width:800px;padding:22px clamp(22px,4vw,42px);font-family:Arial,sans-serif;font-size:clamp(13px,1.35vw,16px);line-height:1.55}.memory-card p{margin:0 0 13px}.memory-highlight{color:#fff;font-size:clamp(15px,1.5vw,18px);font-weight:600}.memory-ending{color:#fff;font-size:clamp(16px,1.6vw,19px);font-weight:600}.love-ending{color:#fff;font-family:Georgia,Times New Roman,serif;font-size:clamp(24px,3vw,32px);margin-top:18px!important}.next-memory{margin-top:20px}.scene-five{width:min(92vw,900px);max-height:100dvh;overflow-y:auto}.scene-five .subtitle{max-width:820px;margin-left:auto;margin-right:auto;font-size:clamp(13px,1.35vw,16px);line-height:1.65}.scene-five-button{width:48px;height:40px;padding:0;font-size:20px}.photo-scene{z-index:10;flex-direction:column;justify-content:center;align-items:center;width:100%;min-height:100dvh;padding:60px 30px 30px;animation:.8s both appear;display:flex;position:relative}.photo-caption{letter-spacing:clamp(3px,.5vw,6px);color:#ffffffa6;margin:0 0 18px;font-family:Arial,sans-serif;font-size:clamp(10px,1vw,13px)}.photo-frame{box-sizing:border-box;background:#f7f5f1;border:5px solid #111;flex-direction:column;align-items:center;width:min(36vw,360px);min-width:280px;height:min(68vh,620px);padding:34px 30px 20px;display:flex;position:relative;overflow:visible;box-shadow:0 15px 50px #00000059}.photo-frame:before{content:"";pointer-events:none;z-index:1;border:4px solid #111;position:absolute;inset:28px 25px 38px}.photo-window{z-index:2;background:#fff;justify-content:center;align-items:center;width:calc(100% - 30px);height:calc(100% - 105px);display:flex;position:relative;overflow:hidden}.memory-photo{object-fit:cover;width:100%;height:auto;max-height:100%;animation:.4s photoAppear;display:block}.frame-hearts{z-index:8;color:#ed1c24;-webkit-text-stroke:3px #111;paint-order:stroke fill;align-items:center;gap:clamp(25px,4vw,48px);font-family:Arial,sans-serif;font-size:clamp(30px,4vw,48px);line-height:1;display:flex;position:absolute;top:2px;left:50%;transform:translate(-50%)}.frame-hearts span:nth-child(2){transform:translateY(-8px)}.frame-stars{pointer-events:none;z-index:7;position:absolute;inset:0}.frame-stars span{color:#b91c3b;font-size:clamp(9px,1vw,14px);line-height:1;position:absolute}.frame-stars span:first-child{top:7%;left:-22px}.frame-stars span:nth-child(2){top:16%;left:-34px}.frame-stars span:nth-child(3){top:27%;left:-18px}.frame-stars span:nth-child(4){top:39%;left:-32px}.frame-stars span:nth-child(5){top:51%;left:-20px}.frame-stars span:nth-child(6){top:63%;left:-35px}.frame-stars span:nth-child(7){top:76%;left:-19px}.frame-stars span:nth-child(8){top:88%;left:-30px}.frame-stars span:nth-child(9){top:11%;right:-22px}.frame-stars span:nth-child(10){top:23%;right:-34px}.frame-stars span:nth-child(11){top:35%;right:-18px}.frame-stars span:nth-child(12){top:48%;right:-32px}.frame-stars span:nth-child(13){top:60%;right:-20px}.frame-stars span:nth-child(14){top:72%;right:-35px}.frame-stars span:nth-child(15){top:84%;right:-18px}.frame-stars span:nth-child(16){top:93%;right:-30px}.photo-controls{z-index:10;justify-content:center;align-items:center;gap:30px;height:55px;margin-top:8px;display:flex;position:relative}.photo-arrow{color:#111;cursor:pointer;background:#e71299;border:4px solid #111;justify-content:center;align-items:center;width:48px;height:24px;padding:0;font-family:Arial,sans-serif;font-size:18px;font-weight:700;display:flex}.photo-arrow:hover{background:#ff4b52;transform:scale(1.08)}@keyframes birthdayAppear{0%{opacity:0;transform:translate(-50%,-50%)scale(.82)}60%{opacity:1;transform:translate(-50%,-50%)scale(1.04)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}@keyframes sceneOneAppear{0%{opacity:0;transform:translateY(25px)}to{opacity:1;transform:translateY(0)}}@keyframes appear{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes drift{0%{transform:translateY(0)}to{transform:translateY(-90px)}}@keyframes photoAppear{0%{opacity:0;transform:scale(1.03)}to{opacity:1;transform:scale(1)}}@media (width>=700px){.welcome-content,.memory-page{width:min(82vw,900px)}}@media (width<=600px){.welcome-content{width:92vw;padding:55px 18px 40px}h1{font-size:clamp(38px,11vw,58px)}.subtitle{font-size:14px}.memory-page{width:94vw;padding:55px 14px 30px}.memory-card{padding:20px;font-size:14px;line-height:1.65}.page-navigation{top:12px;left:12px}.pin-card{width:min(88vw,380px);padding:34px 24px 38px}.pin-title{font-size:38px}.pin-footer{bottom:14px}.birthday-message{width:78vw}.birthday-happy{letter-spacing:4px;font-size:21px}.birthday-title{font-size:32px}.photo-frame{aspect-ratio:3/4;width:min(78vw,340px);min-width:0;padding:30px 24px 18px}.photo-frame:before{border-width:3px;inset:24px 20px 32px}.photo-window{width:calc(100% - 20px);height:calc(100% - 90px)}.frame-hearts{-webkit-text-stroke:2px #111;gap:20px;font-size:30px}.frame-stars span{font-size:9px}}@media (height<=600px) and (orientation:landscape){.welcome-content{padding-top:45px;padding-bottom:30px}.memory-page{padding-top:50px;padding-bottom:25px}.photo-scene{padding-top:45px;padding-bottom:20px}.photo-frame{width:min(30vw,300px);min-width:220px}}.wish-scene{box-sizing:border-box;text-align:center;flex-direction:column;justify-content:center;align-items:center;width:100%;min-height:100dvh;padding:30px 20px 40px;display:flex;position:relative}.wish-title{letter-spacing:2px;color:#f4d58b;text-shadow:0 0 5px #fff0b0,0 0 14px #ffcd5a8c;margin:0 0 20px;font-family:Georgia,Times New Roman,serif;font-size:clamp(28px,4vw,48px);font-weight:400}.wish-decoration{margin-bottom:8px;font-size:24px;animation:2s ease-in-out infinite wishSparkle}.birthday-cake{filter:drop-shadow(0 15px 30px #00000073);flex-direction:column;justify-content:flex-end;align-items:center;width:min(55vw,420px);height:330px;margin-top:10px;margin-bottom:24px;display:flex;position:relative}.candles{z-index:5;justify-content:center;gap:22px;width:250px;display:flex;position:absolute;top:0}.candle-wrap{flex-direction:column;align-items:center;width:20px;height:100px;display:flex;position:relative}.candle{background:repeating-linear-gradient(90deg,#fff8d7 0 4px,#e6c66b 5px,#fff8d7 8px);border-radius:4px 4px 2px 2px;width:13px;height:65px;position:absolute;bottom:0;box-shadow:inset 0 0 5px #7850144d,0 0 5px #ffdc7840}.candle-flame{filter:drop-shadow(0 0 5px #ffb52e)drop-shadow(0 0 12px #ffa014cc);z-index:6;font-size:25px;line-height:1;animation:.8s ease-in-out infinite alternate flameFlicker;position:absolute;top:-4px}.candle-smoke{color:#dcdcdc99;z-index:6;font-size:26px;line-height:1;animation:1.5s ease-out forwards smokeRise;position:absolute;top:-5px}.cake-top{z-index:3;background:linear-gradient(#fff8e2 0%,#ead8aa 45%,#b99662 46%,#8c6638 100%);border:3px solid #5d4328;border-radius:12px 12px 5px 5px;width:230px;height:65px;position:relative}.cake-middle{z-index:2;background:linear-gradient(#fff8e2 0%,#ead8aa 45%,#b99662 46%,#8c6638 100%);border:3px solid #5d4328;border-radius:10px 10px 5px 5px;width:290px;height:72px}.cake-bottom{z-index:1;background:linear-gradient(#fff8e2 0%,#ead8aa 45%,#b99662 46%,#8c6638 100%);border:3px solid #5d4328;border-radius:10px 10px 5px 5px;width:350px;height:80px}.cake-cream{background:#fffaf0;border-radius:50%;height:15px;position:absolute;top:-8px;left:-2px;right:-2px;box-shadow:0 2px 4px #0003}.cake-plate{background:#d1b45d;border-radius:50%;width:390px;height:16px;margin-top:-2px;box-shadow:0 0 12px #ffcd5a40}.wish-button{color:#f4d58b;letter-spacing:1.5px;cursor:pointer;background:#ffc85014;border:1px solid #ffd7788c;border-radius:4px;padding:15px 28px;font-family:Arial,sans-serif;font-size:13px;font-weight:600;transition:background .25s,box-shadow .25s,transform .25s;box-shadow:0 0 20px #ffbe3214}.wish-button:hover{background:#ffc85029;transform:translateY(-2px);box-shadow:0 0 25px #ffbe322e}.final-birthday-message{letter-spacing:3px;color:#ffd66d;text-shadow:none;margin-top:12px;font-family:Georgia,Times New Roman,serif;font-size:clamp(28px,4vw,48px);animation:1s both finalMessageAppear}@keyframes flameFlicker{0%{transform:scale(.9)rotate(-2deg)}to{transform:scale(1.08)rotate(2deg)}}@keyframes smokeRise{0%{opacity:.8;transform:translateY(0)scale(.8)}to{opacity:0;transform:translateY(-45px)scale(1.5)}}@keyframes finalMessageAppear{0%{opacity:0;transform:translateY(15px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes wishSparkle{0%,to{opacity:.5;transform:scale(.9)}50%{opacity:1;transform:scale(1.1)}}.wish-scene{padding:20px 15px 30px}.birthday-cake{width:95vw;height:280px}.cake-top{width:190px}.cake-middle{z-index:2;background:linear-gradient(#fff8e2 0%,#ead8aa 45%,#b99662 46%,#8c6638 100%);border:3px solid #5d4328;border-radius:10px 10px 5px 5px;width:290px;height:72px;position:relative}.cake-bottom{z-index:1;background:linear-gradient(#fff8e2 0%,#ead8aa 45%,#b99662 46%,#8c6638 100%);border:3px solid #5d4328;border-radius:10px 10px 5px 5px;width:350px;height:80px;position:relative}.cake-plate{width:320px}.candles{gap:17px;width:210px}.wishes-scene{box-sizing:border-box;text-align:center;flex-direction:column;align-items:center;width:100%;min-height:100dvh;padding:55px 30px 30px;display:flex;position:relative;overflow:hidden}.wish-title{z-index:2;letter-spacing:1px;color:#f4d58b;text-shadow:none;margin:15px 0 35px;font-family:Georgia,Times New Roman,serif;font-size:clamp(30px,4vw,48px);font-weight:400;position:relative}.wishes-grid{z-index:2;grid-template-columns:repeat(3,1fr);gap:18px;width:min(92vw,1050px);display:grid;position:relative}.wish-card{box-sizing:border-box;color:#ffffffd1;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#120e19b8;border:1px solid #ffd77838;justify-content:center;align-items:center;min-height:115px;padding:22px;font-family:Georgia,Times New Roman,serif;font-size:clamp(13px,1.3vw,16px);line-height:1.55;transition:border-color .3s,transform .3s,background .3s;display:flex;box-shadow:inset 0 0 20px #ffc85006,0 10px 30px #0003}.wish-card:hover{background:#1e1623cc;border-color:#ffd77880;transform:translateY(-3px)}.surprise-button{z-index:3;color:#f4d58b;letter-spacing:1.5px;cursor:pointer;background:#ffc85017;border:1px solid #ffd7788c;border-radius:3px;margin-top:32px;padding:15px 34px;font-family:Arial,sans-serif;font-size:13px;font-weight:600;transition:transform .25s,background .25s,box-shadow .25s;position:relative;box-shadow:0 0 22px #ffbe3214}.surprise-button:hover{background:#ffc85029;transform:translateY(-2px);box-shadow:0 0 28px #ffbe322e}.wishes-footer{z-index:2;letter-spacing:2px;color:#f4d58ba6;margin-top:28px;font-family:Georgia,Times New Roman,serif;font-size:12px;position:relative}.wish-confetti{pointer-events:none;position:absolute;inset:0;overflow:hidden}.wish-confetti span{background:#f4d58bbf;width:6px;height:12px;animation:linear infinite wishConfettiFall;position:absolute;top:-20px}.wish-confetti span:nth-child(3n){background:#ffffffa6;border-radius:50%;width:4px;height:4px}.wish-confetti span:nth-child(4n){width:8px;height:4px}.wish-confetti span:first-child{animation-duration:7s;animation-delay:-2s;left:4%}.wish-confetti span:nth-child(2){animation-duration:9s;animation-delay:-5s;left:9%}.wish-confetti span:nth-child(3){animation-duration:6s;animation-delay:-1s;left:15%}.wish-confetti span:nth-child(4){animation-duration:8s;animation-delay:-4s;left:22%}.wish-confetti span:nth-child(5){animation-duration:10s;animation-delay:-7s;left:29%}.wish-confetti span:nth-child(6){animation-duration:7s;animation-delay:-3s;left:35%}.wish-confetti span:nth-child(7){animation-duration:9s;animation-delay:-6s;left:42%}.wish-confetti span:nth-child(8){animation-duration:6s;animation-delay:-2s;left:48%}.wish-confetti span:nth-child(9){animation-duration:8s;animation-delay:-5s;left:55%}.wish-confetti span:nth-child(10){animation-duration:10s;animation-delay:-1s;left:61%}.wish-confetti span:nth-child(11){animation-duration:7s;animation-delay:-4s;left:68%}.wish-confetti span:nth-child(12){animation-duration:9s;animation-delay:-7s;left:74%}.wish-confetti span:nth-child(13){animation-duration:6s;animation-delay:-3s;left:81%}.wish-confetti span:nth-child(14){animation-duration:8s;animation-delay:-6s;left:88%}.wish-confetti span:nth-child(15){animation-duration:10s;animation-delay:-2s;left:95%}.wish-confetti span:nth-child(n+16){left:calc((var(--i,1) * 7%) + 2%);opacity:.7}@keyframes wishConfettiFall{0%{opacity:0;transform:translateY(-30px)rotate(0)}10%{opacity:.8}to{opacity:0;transform:translateY(110vh)rotate(540deg)}}.wish-scene .wish-title,.wish-scene .final-birthday-message{text-shadow:none!important}.wish-scene .memory-button{margin-top:35px!important}@media (width<=800px){.wishes-scene{padding:35px 18px 25px}.wishes-title{margin-bottom:25px}.wishes-grid{grid-template-columns:repeat(2,1fr);gap:12px}.wish-card{min-height:105px;padding:16px}}.wishes-scene{padding-top:70px!important;padding-bottom:50px!important}.wishes-title{margin-bottom:45px!important}.wishes-grid{row-gap:24px!important}.surprise-button{margin-top:42px!important}.wishes-footer{margin-top:32px!important}.hidden-note-scene{box-sizing:border-box;text-align:center;flex-direction:column;align-items:center;width:100%;min-height:100dvh;padding:55px 20px 40px;display:flex}.hidden-note-title{letter-spacing:2px;color:#f4d58b;text-shadow:none;margin:0 0 14px;font-family:Georgia,Times New Roman,serif;font-size:clamp(34px,5vw,58px);font-weight:400}.hidden-note-instruction{color:#ffffffa6;letter-spacing:.5px;margin:0 0 25px;font-family:Arial,sans-serif;font-size:15px}.scratch-card{background:#17121d;border:2px solid #ffd7784d;width:min(78vw,720px);height:min(42vh,330px);min-height:230px;position:relative;overflow:hidden;box-shadow:0 20px 60px #00000073}.hidden-note{box-sizing:border-box;flex-direction:column;justify-content:center;align-items:center;padding:30px;display:flex;position:absolute;inset:0}.hidden-note-small{letter-spacing:3px;color:#f4d58bb3;margin:0 0 18px;font-family:Arial,sans-serif;font-size:13px}.hidden-note-message{z-index:5;box-sizing:border-box;text-align:center;color:#f4d58b;width:100%;max-width:92%;max-height:75%;text-shadow:none;overflow-wrap:break-word;pointer-events:auto;margin:0;padding:5px 12px;font-family:Georgia,Times New Roman,serif;font-size:clamp(15px,2vw,20px);line-height:1.45;position:relative;overflow-y:auto}.scratch-canvas{cursor:default;touch-action:none;width:100%;height:100%;display:block;position:absolute;inset:0}.hidden-note-message::-webkit-scrollbar{width:4px}.hidden-note-message::-webkit-scrollbar-thumb{background:#f4d58b59;border-radius:10px}@media (width<=700px){.hidden-note-scene{padding-top:40px}.scratch-card{width:88vw;height:300px}}@media (width<=520px){.wishes-grid{grid-template-columns:1fr}.wishes-scene{padding-top:25px}}.hidden-note{padding:20px 18px}.hidden-note-message{max-height:90%;padding:8px 6px;font-size:13px;line-height:1.45}.hidden-note-title{margin-top:40px;margin-bottom:22px;font-size:28px}.photo-frame{width:70vw;min-width:0;height:45vh;padding:30px 16px 0}@media (hover:none){.start-button:hover,.memory-button:hover,.nav-button:hover:not(:disabled),.photo-arrow:hover{transform:none}}.scratch-canvas{transition:opacity .5s}.scratch-canvas.scratch-finished{opacity:0;pointer-events:none}.music-toggle{z-index:1000;color:#f4d58b;cursor:pointer;background:#140f1e73;border:1px solid #ffffff26;border-radius:50%;width:50px;height:50px;font-size:17px;position:fixed;top:18px;right:18px}
