:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#3b1e28;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Poppins,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.6}*,:before,:after{box-sizing:border-box}@font-face{font-family:NexaBold;src:url(/fonts/NexaBold.woff2)format("woff2"),url(/fonts/NexaBold.woff)format("woff");font-weight:700;font-style:normal;font-display:swap}a{color:#646cff;-webkit-text-decoration:inherit;text-decoration:inherit;font-weight:500}a:hover{color:#535bf2}body{background:radial-gradient(1000px 600px at 12% 8%,#fff3,#fff0 55%),radial-gradient(800px 500px at 88% 92%,#ffffff26,#fff0 50%),linear-gradient(135deg,#ff7096 0%,#ff477e 52%,#ff96b0 100%);place-items:center;min-width:320px;min-height:100vh;margin:0;display:grid}h1{color:#5f1f2a;font-family:Playfair Display,serif;font-size:3em;line-height:1.1}button{color:#5f1f2a;cursor:pointer;background-color:#ffb0c3;border:1px solid #0000;border-radius:8px;padding:.6em 1.2em;font-family:inherit;font-size:1em;font-weight:600;transition:border-color .25s,filter .2s}button:hover{filter:brightness(1.05);border-color:#ff9fb3}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}#root{text-align:center;max-width:980px;margin:0 auto;padding:2rem}.app-root{place-items:center;min-height:100vh;display:grid}.gate-card{color:#7a2b3a;background:linear-gradient(135deg,#ffb3c7 0%,#ff8fae 100%);border:1px solid #ff9fb3;border-radius:16px;width:360px;max-width:90vw;padding:24px;box-shadow:0 16px 36px #ff709659}.gate-sub{color:#a04b5c;margin-top:-6px;margin-bottom:16px}.gate-input{background:#fff;border:1px solid #ffc2cf;border-radius:10px;width:100%;max-width:100%;margin-bottom:12px;padding:12px 14px;display:block}.gate-button{color:#fff;background:linear-gradient(135deg,#ff7096 0%,#ff477e 100%);border:none;border-radius:12px;width:100%;padding:12px 16px;font-weight:600;box-shadow:0 8px 18px #ff477e59}.gate-button:hover{filter:brightness(1.06);transform:translateY(-1px)}.gate-error{color:#b43a52;margin-top:10px}.greet{text-align:center}.greet h1{color:#7a2b3a;font-family:NexaBold,Nunito,sans-serif}.greet p{color:#a04b5c}.lovers-card{background:linear-gradient(135deg,#fff0f6 0%,#ffd6e3 60%,#ffb6c7 100%);border:1px solid #f7e6ec;border-radius:24px;width:860px;max-width:95vw;margin:0 auto;padding:20px;box-shadow:0 18px 50px #ff477e40}.tabs{justify-content:center;gap:10px;margin-bottom:16px;display:flex}.tab{color:#fff;background:linear-gradient(135deg,#ff94b4 0%,#ff7096 100%);border:none;border-radius:999px;padding:10px 16px;font-weight:600;transition:transform .15s,filter .15s;box-shadow:0 6px 16px #ff709659}.tab:hover{filter:brightness(1.05);transform:translateY(-1px)}.tab.active{background:linear-gradient(135deg,#ff477e 0%,#ff7096 100%);box-shadow:0 8px 20px #ff477e66}.page{text-align:center;place-items:center;display:grid}.letter{place-items:center;display:grid}.envelope{background:#ffe0ea;border:1px solid #ffcada;border-radius:16px;width:clamp(280px,92vw,420px);height:clamp(260px,50vh,420px);position:relative;overflow:hidden;box-shadow:0 12px 30px #ff709640}.flap{background:linear-gradient(#ffb0c3 0%,#ffe0ea 100%);height:120px;position:absolute;top:0;left:0;right:0}.paper{overscroll-behavior:contain;background:#fff;border-radius:10px;height:auto;padding:16px;position:absolute;inset:68px 16px 16px;overflow-y:auto;box-shadow:0 10px 24px #0000001f}.paper-content{color:#5f1f2a;word-break:break-word;font-size:1rem;line-height:1.6}.hint{color:#a04b5c;margin-top:10px}.notes-grid{grid-template-columns:1fr;justify-items:center;gap:12px;display:grid}.note{color:#7a2b3a;background:#fff5f8;border:1px solid #ffd3df;border-radius:12px;width:100%;max-width:520px;padding:12px 14px}.heart{color:#ff6b88;margin-right:8px}.gallery-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.gallery-item{object-fit:cover;border:1px solid #f0d7de;border-radius:12px;width:100%;height:280px}@media (max-width:900px){#root{padding:1.5rem}.gallery-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:600px){#root{padding:1rem}.lovers-card{border-radius:18px;padding:16px}.tabs{flex-wrap:wrap;gap:8px}.paper-content{font-size:.95rem}.gallery-item{height:220px}}@media (max-width:380px){.gallery-grid{grid-template-columns:1fr}.gallery-item{height:200px}}
