@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Gaegu:wght@400;700&family=Noto+Serif+KR:wght@500;600;700&display=swap";:root{color:#604d49;background:#fbf5ee;font-family:DM Sans,sans-serif}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 18% 32%,#f9e3e566,transparent 40%),radial-gradient(ellipse at 90% 49%,#e5e9d966,transparent 40%);text-align:center}header{height:100px;margin:0 6%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #88735a22}.brand{font-family:"Noto Serif KR",serif;font-size:17px;color:inherit;text-decoration:none}.brand span{color:#bf7f83;margin-left:9px}.edition{font-size:10px;letter-spacing:2px;color:#9c8c80}main{padding-top:62px;overflow:hidden}.eyebrow{font-size:10px;letter-spacing:3px;color:#a18477;display:flex;align-items:center;justify-content:center;gap:13px}.eyebrow span{height:1px;width:26px;background:#c3ac99}.script{font-family:Gaegu,cursive;font-size:30px;color:#ba8d87;margin:26px 0 9px;transform:rotate(-5deg)}h1{font-family:"Noto Serif KR",serif;font-size:clamp(38px,5.1vw,66px);line-height:1.5;letter-spacing:-3px;margin:0;font-weight:600}.heart{display:inline-block;color:#cf8b92;font-size:.68em;margin-left:12px;vertical-align:middle;transform:rotate(-13deg)}.intro{font-size:14px;line-height:2;color:#9b857b;margin:20px 0 0}.cake-scene{position:relative;width:440px;max-width:100%;height:270px;margin:8px auto 0}.cake{position:absolute;left:50%;bottom:28px;transform:translate(-50%);width:220px;height:160px}.top{position:absolute;top:36px;width:220px;height:58px;border-radius:50%;background:#fff5e4;z-index:3;box-shadow:inset 0 -7px #f4decc}.tier{position:absolute;top:64px;height:101px;width:220px;border-radius:0 0 48% 48%/0 0 25% 25%;background:repeating-linear-gradient(90deg,#e9acb4 0,#e9acb4 14px,#efb9bf 14px,#efb9bf 28px);display:flex;align-items:center;justify-content:space-around;padding-top:16px;box-shadow:inset 0 -12px #da9ca733}.tier span{color:#fff3e8;font-size:19px}.plate{position:absolute;bottom:-21px;left:-24px;width:268px;height:47px;border-radius:50%;background:#e5e4d5;z-index:-1;border-bottom:6px solid #d1d2c0}.candles{position:absolute;top:0;left:42px;display:flex;gap:22px;z-index:4}.candles i{position:relative;display:block;width:9px;height:53px;background:repeating-linear-gradient(145deg,#a8b7a0 0,#a8b7a0 6px,#e6ecd9 6px,#e6ecd9 12px);border-radius:3px}.candles i:nth-child(2n){margin-top:7px;background:repeating-linear-gradient(145deg,#cf9caa 0,#cf9caa 6px,#ffe3df 6px,#ffe3df 12px)}.candles i:before{content:"";position:absolute;width:12px;height:21px;left:-2px;top:-26px;border-radius:70% 30% 60% 40%;background:#edbf6c;box-shadow:0 0 18px #edbf6c88;animation:flicker 1s infinite alternate}.blown .candles i:before{display:none}.doodle{position:absolute;color:#bb9389;font-size:36px;animation:twinkle 3s infinite alternate}.d1{left:50px;top:60px}.d2{right:45px;top:80px;transform:rotate(18deg);font-size:48px}.d3{left:80px;bottom:20px;color:#9caa90;font-size:25px}.d4{right:75px;bottom:8px;color:#d4b87d;font-size:24px}.cake-note{position:absolute;right:0;bottom:55px;font:17px Gaegu;color:#a69180;transform:rotate(-13deg)}button{border:0;border-radius:40px;padding:18px 30px;background:#a97779;color:#fff8ee;font-size:14px;cursor:pointer;box-shadow:0 6px 18px #a9777920;transition:transform .2s,background .2s}button:hover{transform:translateY(-3px);background:#956668}button:focus-visible{outline:3px solid #c6ac7f;outline-offset:5px}button span{margin-left:22px}.hint{color:#ac9990;font-size:11px;margin-top:16px}.letter{margin:72px auto 0;padding:42px 25px 47px;width:490px;max-width:88%;background:#fffcf6b3;border:1px solid #dfd1c3;outline:5px solid #fffcf655;border-radius:160px 160px 8px 8px/35px 35px 8px 8px}.letter-icon{font-size:29px;color:#bc8c88}.letter .eyebrow{font-size:8px;margin:16px 0 24px}h2{font-family:"Noto Serif KR",serif;font-weight:500;font-size:21px}.letter p:not(.eyebrow){font-size:13px;line-height:2.1;color:#9b857b}.signature{display:block;margin-top:27px;font:20px Gaegu;color:#b58982}footer{margin:55px 0 30px;font-size:8px;letter-spacing:2px;color:#b09d90}footer span{color:#c78e91;margin-left:10px}.spark{position:fixed;pointer-events:none;z-index:10;color:#c69a80;animation:float 4s ease-out forwards}@keyframes flicker{to{transform:scale(.85) rotate(8deg)}}@keyframes twinkle{to{opacity:.35;translate:0 -6px}}@keyframes float{0%{opacity:0;transform:translateY(0) rotate(0)}20%{opacity:1}to{opacity:0;transform:translateY(-160px) rotate(90deg)}}@media(max-width:600px){header{height:76px}.brand{font-size:13px}.edition{font-size:7px;letter-spacing:1px}main{padding-top:44px}.script{font-size:26px}h1{font-size:42px}.cake-scene{width:360px}.cake-note{right:5px;font-size:14px}.d1{left:27px}.d2{right:27px}.letter{margin-top:54px}.intro{font-size:12px}}@media(prefers-reduced-motion:reduce){*,*:before{animation:none!important;transition:none!important}.spark{display:none}}
