/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.relative{position:relative}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.table{display:table}}:root{--ink:#28324c;--cream:#fffaf0;--sun:#f5c950;--coral:#e67562}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--cream);color:var(--ink);margin:0;font-family:Tahoma,Arial,sans-serif}button{font:inherit}main{position:relative;overflow:hidden}.paper-texture{pointer-events:none;opacity:.4;background-image:radial-gradient(#cebda0 .55px,#0000 .55px);background-size:7px 7px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 60%);mask-image:linear-gradient(#000,#0000 60%)}.hero{text-align:center;background:linear-gradient(#fdf0d3 0%,#fff9ed 83%);min-height:570px;padding:112px 20px 72px;position:relative}.hero:before,.hero:after{content:"✦";color:var(--coral);font-size:28px;position:absolute}.hero:before{top:130px;right:18%;transform:rotate(18deg)}.hero:after{color:#8db7a1;font-size:20px;bottom:112px;left:16%}.eyebrow{color:#bd5e50;letter-spacing:.12em;margin:0 0 18px;font-size:.88rem;font-weight:700}.hero h1{letter-spacing:-.06em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(3rem,7vw,5.7rem);font-weight:500;line-height:.98}.hero-intro{color:#596176;max-width:450px;margin:28px auto;font-size:1.02rem;line-height:1.9}.scroll-hint{color:#9c826c;align-items:center;gap:9px;margin-top:20px;font-size:.82rem;display:inline-flex}.scroll-hint span{border:1px solid #c8a98f;border-radius:20px;width:22px;height:38px;display:inline-block}.memories-section{max-width:1200px;margin:auto;padding:80px 28px 110px;position:relative}.section-heading{color:#8a6e65;justify-content:space-between;align-items:center;margin-bottom:28px;display:flex}.section-heading p{letter-spacing:.12em;font-size:.88rem;font-weight:700}.section-heading span{font-size:26px}.memories-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:21px;display:grid}.memory-card{background:#fff;border:1px solid #483a491a;border-radius:20px;flex-direction:column;min-height:520px;transition:transform .3s,box-shadow .3s;display:flex;position:relative;overflow:hidden;box-shadow:0 12px 30px #503c2b17}.memory-card:hover{transform:translateY(-7px);box-shadow:0 18px 42px #503c2b26}.memory-image-wrap{opacity:0;background:#e3d9c7;height:0;min-height:0;transition:opacity .5s;position:relative;overflow:hidden}.opened .memory-image-wrap{opacity:1;height:auto}.memory-image{object-fit:contain;z-index:2;width:100%;max-width:100%;height:auto;display:block;position:relative}.image-placeholder{text-align:center;color:#846d59;background:repeating-linear-gradient(45deg,#e9deca 0 8px,#dfd1bb 8px 16px);place-content:center;gap:8px;min-height:218px;display:grid}.image-placeholder span{font-family:Georgia,serif;font-size:1.2rem}.image-placeholder small{letter-spacing:.22em;font-weight:700}.gift-stage{place-items:center;height:220px;display:grid;position:relative;overflow:hidden}.lavender .gift-stage{background:#e6e2fa}.coral .gift-stage{background:#fde2d9}.mint .gift-stage{background:#dcf0e7}.opened .gift-stage{height:96px}.gift-box{width:120px;height:97px;margin-top:29px;transition:transform .65s,opacity .4s;position:relative}.opened .gift-box{opacity:.1;transform:scale(.3)translateY(180px)}.gift-body{background:var(--sun);bottom:0;border-radius:4px 4px 12px 12px;height:76px;position:absolute;inset-inline:0;box-shadow:inset 0 -9px #c4871624}.gift-lid{z-index:2;background:#ffd95d;border-radius:6px;height:29px;position:absolute;top:9px;left:-7px;right:-7px;transform:rotate(-2deg)}.gift-box i{background:#e87563;width:18px;height:100%;position:absolute;left:50%;transform:translate(-50%)}.gift-lid i{height:100%}.gift-box b{color:#e87563;font-size:29px;position:absolute;top:-25px;left:43px}.spark{opacity:.7;font-size:20px;position:absolute}.spark-one{top:31px;right:24%}.spark-two{color:#e67562;bottom:32px;left:22%}.opened .spark{animation:1.3s infinite alternate twinkle}@keyframes twinkle{to{opacity:1;transform:scale(1.6)rotate(28deg)}}.memory-copy{flex:1;padding:27px 25px 14px}.memory-number{color:#c37161;letter-spacing:.14em;font-size:.78rem;font-weight:700}.memory-copy h2{margin:9px 0 10px;font-family:Georgia,serif;font-size:1.65rem;font-weight:500}.memory-copy p{color:#70758a;margin:0;font-size:.9rem;line-height:1.8}.open-button{color:#493e5c;cursor:pointer;background:0 0;border:1px solid;border-radius:10px;justify-content:space-between;margin:0 22px 22px;padding:13px 15px;transition:background .2s,color .2s;display:flex}.open-button:hover{color:#fff;background:#493e5c}.open-button span{font-size:1.2rem}.little-notes{grid-template-columns:1fr 1fr;gap:24px;max-width:980px;margin:0 auto 130px;padding:0 28px;display:grid}.note-card{border-radius:4px;min-height:265px;padding:40px 45px;position:relative;transform:rotate(-1.5deg);box-shadow:8px 10px #2c314814}.note-card:nth-child(2){margin-top:28px;transform:rotate(1.5deg)}.note-blue{background:#dff0f2}.note-peach{background:#ffe1cb}.note-pin{color:#dd765b;font-size:20px;position:absolute;top:16px;left:23px}.note-label{letter-spacing:.12em;color:#a16258;margin:0;font-size:.75rem;font-weight:700}.note-card h2{margin:20px 0 12px;font:500 clamp(1.5rem,3vw,2rem) Georgia,serif}.note-card>p:last-child{color:#586174;font-size:.93rem;line-height:1.8}.letter{background:#fffdf8;border:1px solid #eadccc;max-width:820px;margin:0 auto 50px;padding:75px clamp(26px,8vw,100px);position:relative;box-shadow:0 17px 55px #53422e1a}.letter:before{content:"";pointer-events:none;border:1px solid #f0e4d5;position:absolute;inset:12px}.letter-mark{color:#fff9e9;background:#e77c65;border-radius:50%;place-items:center;width:46px;height:46px;font-size:24px;display:grid;position:absolute;top:-23px;right:50%;transform:translate(50%)}.letter h2{margin:0 0 27px;font:500 2rem Georgia,serif}.letter-body{color:#565c70;font-size:1rem;line-height:2.1}.letter-body p{margin:0 0 20px}.signature{color:#9b6559;margin:34px 0 0;font:1.2rem/1.8 Georgia,serif}footer{text-align:center;color:#9a806d;padding:28px;font-size:.84rem}@media (width<=760px){.hero{min-height:500px;padding-top:95px}.memories-section{padding:58px 18px 82px}.memories-grid{grid-template-columns:1fr;gap:18px;max-width:450px;margin:auto}.memory-card{min-height:450px}.little-notes{grid-template-columns:1fr;margin-bottom:85px;padding:0 28px}.note-card:nth-child(2){margin-top:3px}.letter{margin-inline:18px}.hero:before{right:9%}.hero:after{left:8%}}.studio-shell{background:linear-gradient(145deg,#fff0d5,#eef5ef);min-height:100vh;padding:44px 20px 80px}.studio-header,.studio-panel{max-width:980px;margin-inline:auto}.studio-header{justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;display:flex}.studio-header p{color:#bc6555;margin:0;font-weight:700}.studio-header h1{margin:6px 0 0;font:500 clamp(1.7rem,4vw,2.4rem) Georgia,serif}.studio-header a{color:#fff;background:#394362;border-radius:10px;padding:12px 17px;text-decoration:none}.studio-panel{background:#fffdf8;border:1px solid #eadac7;margin-bottom:22px;padding:30px;box-shadow:0 12px 35px #47362414}.studio-note{color:#556177;margin-top:0}.studio-panel h2{margin:32px 0 18px;font:500 1.65rem Georgia,serif}.studio-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.studio-field{color:#47516a;flex-direction:column;gap:8px;font-size:.9rem;font-weight:700;display:flex}.studio-field input,.studio-field textarea{color:#30384d;background:#fff;border:1px solid #d6c8ba;border-radius:8px;padding:11px 12px;font:400 .95rem Tahoma,Arial,sans-serif}.studio-field textarea{resize:vertical;min-height:106px;line-height:1.75}.studio-field small{color:#398069}.studio-field .field-hint{color:#776a84;font-weight:400}.memory-editor{border-top:1px dashed #dccdbc;padding:18px 0 25px}.memory-editor h3{color:#b55d50;margin:0 0 14px;font-size:1rem}.studio-save{color:#fff;cursor:pointer;background:#db755f;border:0;border-radius:9px;margin-top:30px;padding:14px 24px;font-weight:700}.studio-status{color:#526078;min-height:24px;margin-bottom:0}.studio-shell .studio-panel:first-child{text-align:center;margin-top:14vh}.studio-shell .studio-panel:first-child p{margin:0}@media (width<=700px){.studio-header{flex-direction:column;align-items:flex-start}.studio-grid{grid-template-columns:1fr}.studio-panel{padding:22px 18px}.studio-shell{padding-inline:12px}}.privacy-shell{background:linear-gradient(145deg,#fff0d5,#eef5ef);place-items:center;min-height:100vh;padding:24px;display:grid}.privacy-card{text-align:center;background:#fffdf8;border:1px solid #eadac7;max-width:480px;padding:58px 35px;box-shadow:0 12px 35px #47362414}.privacy-card>span{color:#db755f;font-size:2rem}.privacy-card h1{margin:18px 0;font:500 2rem Georgia,serif}.privacy-card p:last-child{color:#657086;line-height:1.9}.sharing-panel{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;display:flex}.sharing-panel h2{margin:5px 0 0;font-size:1.35rem}.visibility-actions{flex-wrap:wrap;gap:10px;display:flex}.visibility-actions button{cursor:pointer;color:#4b5368;background:#fff;border:1px solid #c8b7a7;border-radius:8px;padding:11px 15px}.visibility-actions .visibility-selected{color:#fff;background:#394362;border-color:#394362}.visibility-actions .visibility-selected.public{background:#278064;border-color:#278064}.surprises{gap:28px;max-width:820px;margin:0 auto 50px;padding:0 18px;display:grid}.surprise-card{background:#fffdf8;border:1px solid #eadccc;position:relative;overflow:hidden;box-shadow:0 17px 55px #53422e1a}.surprise-stage{background:#e6e2fa;place-items:center;height:230px;transition:height .45s;display:grid;position:relative;overflow:hidden}.surprise-card.video .surprise-stage{background:#dcf0e7}.surprise-card.opened .surprise-stage{height:92px}.surprise-stage .gift-box{transition:transform .6s,opacity .35s}.surprise-card.opened .gift-box{opacity:.12;transform:scale(.35)translateY(165px)}.surprise-stage .spark{z-index:1}.surprise-card.opened .spark{animation:1.3s infinite alternate twinkle}.surprise-reveal{background:#fffdf8;padding:clamp(28px,6vw,58px);display:none}.surprise-card.opened .surprise-reveal{display:block}.letter-body-single{white-space:pre-wrap;overflow-wrap:anywhere;color:#565c70;margin:0;font-size:1rem;line-height:2.1}.gift-video{background:#243044;border-radius:10px;width:100%;max-height:520px;display:block}.video-placeholder{text-align:center;color:#7d776f;background:#fbf5eb;border:1px dashed #cfc0ad;border-radius:10px;place-items:center;min-height:190px;display:grid}.surprise-card .open-button{margin-top:22px}.media-audio-preview{width:100%;height:auto;min-height:54px;display:block}.audio-trigger-media{opacity:0;pointer-events:none;border:0;width:1px;height:1px;position:absolute}
