@font-face{font-family:'DM Sans';src:url('./font-regular.woff2') format('woff2');font-weight:400;font-display:swap}@font-face{font-family:'DM Sans';src:url('./font-medium.woff2') format('woff2');font-weight:500 700;font-display:swap}
:root{--paper:#fbf9f5;--ink:#343b32;--muted:#7a7d73;--line:#e7e6dc;--green:#52614b;--cream:#efece1;--accent:#b68462;--serif:Georgia,'Times New Roman',serif;font-family:'DM Sans',Arial,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button:disabled{opacity:.4;cursor:not-allowed}button:focus-visible,a:focus-visible{outline:3px solid #b68462;outline-offset:4px}input:focus,textarea:focus,select:focus{outline:2px solid #81916b;outline-offset:2px}img{max-width:100%;display:block}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-1.6px}h3{font-weight:500}em{font-weight:400;color:var(--accent)}.topbar{max-width:1600px;margin:auto;padding:25px 64px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:20px}.brand{display:inline-flex;gap:10px;align-items:center}.brand>img{height:43px;width:43px;object-fit:contain}.brand>span{font-family:var(--serif);font-size:32px;line-height:1}.byline{display:block;font:9px Arial,sans-serif;letter-spacing:3px;margin:8px 0 0 3px}.topbar nav{display:flex;align-items:center;gap:30px;font-size:14px}.button{border:1px solid transparent;min-height:46px;display:inline-flex;align-items:center;justify-content:center;gap:22px;padding:14px 24px;border-radius:7px;font-size:14px;font-weight:500;transition:background .2s,transform .2s}.button:hover{transform:translateY(-1px)}.primary{background:var(--green);color:#fff}.primary:hover{background:#414f3b}.secondary{background:transparent;border-color:#d8dacd;color:var(--ink)}.secondary:hover{background:#eeeee5}.ghost{background:transparent;color:var(--ink);padding-left:8px;padding-right:8px}.eyebrow{font-size:10px;font-weight:600;letter-spacing:2.1px;line-height:1.8;display:block}.tiny-flower{font-size:21px;vertical-align:middle;margin-right:9px;color:#a4a885}.landing{max-width:1472px;margin:auto;padding:0 64px}.hero{display:grid;grid-template-columns:1fr 1fr;align-items:center;min-height:660px;gap:65px;padding:60px 0}.hero h1{font-size:clamp(58px,5.1vw,84px);line-height:1.05;margin:26px 0}.hero-copy>p{font-size:16px;line-height:1.85;max-width:415px;color:var(--muted)}.hero-actions{display:flex;align-items:center;gap:30px;margin-top:34px}.text-link{font-size:13px;border-bottom:1px solid #bbbcae;padding:10px 0}.text-link span{margin-left:12px}.hero-note{font-size:11px;margin-top:27px;color:var(--muted)}.hero-note span{font-size:18px;margin-right:8px}.hero-art{position:relative;height:500px;max-width:580px;width:100%;justify-self:center}.orbit{position:absolute;inset:20px;border:1px solid #e6e0d0;border-radius:50%;transform:rotate(-20deg)}.orbit-two{inset:60px -10px;transform:rotate(30deg)}.art-label{position:absolute;top:8px;left:85px;font-family:var(--serif);font-style:italic;color:#98957e;transform:rotate(-7deg);font-size:17px}.floating-note{position:absolute;right:8px;top:55px;width:270px;padding:30px 22px 37px;background:#eee9da;box-shadow:0 15px 45px #56523d15;transform:rotate(9deg);z-index:1}.floating-note>span:first-child{font-size:8px;letter-spacing:1.7px}.floating-note p{font-family:var(--serif);font-size:27px;line-height:1.35;margin:20px 0}.signature{font-family:var(--serif);font-style:italic;font-size:23px;color:#967052}.floating-note .signature{font-size:16px}.record-card{position:absolute;top:137px;left:10px;width:292px;padding:18px;background:#fffefa;transform:rotate(-9deg);box-shadow:0 18px 50px #3a422024;z-index:2}.vinyl{width:255px;height:255px;border-radius:50%;background:repeating-radial-gradient(circle,#333931 0 2px,#41483b 3px 4px,#333a32 5px 6px);display:grid;place-items:center;position:relative}.vinyl:after{content:'';position:absolute;inset:0;background:conic-gradient(transparent,#ffffff19,transparent,#ffffff15,transparent);border-radius:50%}.vinyl-label{border-radius:50%;background:#c4c4a1;width:94px;height:94px;text-align:center;padding-top:8px;font:italic 50px var(--serif);color:#4a5641}.vinyl-label span{display:block;font:7px Arial;letter-spacing:1px}.record-caption{display:flex;justify-content:space-between;margin:19px 4px 4px;font:15px var(--serif)}.mini-photo{position:absolute;right:0;bottom:6px;width:215px;background:#fffdf9;padding:12px 12px 20px;transform:rotate(10deg);box-shadow:0 10px 40px #4742321c;z-index:3}.mini-photo>span{display:block;font:italic 11px var(--serif);text-align:center;margin-top:15px}.sunset-art{height:160px;background:linear-gradient(#d4bfa5,#eccba8 50%,#9caa94 51%,#536855);overflow:hidden;position:relative}.sunset-art:before{content:'';position:absolute;width:45px;height:45px;top:32px;left:100px;border-radius:50%;background:#f6e5be}.sunset-art i,.sunset-art b{position:absolute;width:280px;height:100px;background:#7c8b70;border-radius:50%;bottom:-17px;left:-35px;transform:rotate(-12deg)}.sunset-art b{background:#4e644f;bottom:-57px;left:50px}.art-spark{position:absolute;font-size:44px;color:#a99d74}.spark-one{left:-5px;top:66px}.spark-two{right:20px;bottom:250px}.how{display:grid;grid-template-columns:1.35fr 1fr 1fr 1fr;gap:45px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:45px 0;margin-bottom:65px}.how h2{font-size:32px;margin:15px 0 0;line-height:1.15}.how h3{font-size:15px;margin:17px 0 10px}.how p{font-size:13px;line-height:1.9;color:var(--muted);margin:0}.step-number{font-family:var(--serif);font-style:italic;color:var(--accent);font-size:22px}.section-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.section-heading h2{font-size:44px;margin:12px 0}.section-heading p{font-size:13px;line-height:1.8;color:var(--muted)}.theme-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.theme-card{padding:0;text-align:left;border:1px solid var(--line);border-radius:9px;overflow:hidden;background:#fffdf9;color:var(--ink);transition:transform .2s,border-color .2s}.theme-card:hover{transform:translateY(-4px);border-color:#9da68e}.theme-card.selected{outline:2px solid var(--green);outline-offset:3px}.theme-art{height:235px;display:flex;flex-direction:column;align-items:center;padding:30px 15px;background:#f0ecdf;position:relative}.theme-small{font-size:7px;letter-spacing:1.5px}.theme-script{font:italic 30px var(--serif);margin:15px 0 0}.theme-symbol{font-size:56px;color:#b39a79;margin:2px 0 12px}.theme-player{font-size:10px;letter-spacing:6px;width:150px;padding:12px;background:#ffffff70;border-radius:5px;text-align:center}.birthday .theme-art{background:#f6e0cf}.birthday .theme-symbol{color:#c66a46}.gratitude .theme-art{background:#e5e9df}.gratitude .theme-symbol{color:#7f8b6b}.theme-label{padding:19px 22px}.theme-label strong{font-size:15px;font-weight:500}.theme-label>span{float:right;font-size:11px;color:var(--muted)}.theme-label p{font-size:12px;color:var(--muted);margin:8px 0 0}.closing{text-align:center;padding:85px 0 70px}.closing>span{font-size:35px;color:#a6aa8b}.closing h2{font-size:47px;line-height:1.15;margin:20px 0 28px}footer{max-width:1472px;margin:auto;display:flex;justify-content:space-between;align-items:center;padding:25px 64px;border-top:1px solid var(--line);font-size:13px;color:var(--muted)}footer>span{font-size:11px}.recent{margin:55px 0 0}.recent h2{font-size:32px;margin:8px 0 20px}.draft-list{display:grid;gap:10px}.draft-list a{border:1px solid var(--line);padding:20px;display:flex;justify-content:space-between;background:white;border-radius:6px}.draft-list span{font-size:12px;color:var(--muted)}
/* Creator workspace */
.editor-shell{max-width:1600px;margin:auto;display:grid;grid-template-columns:275px minmax(0,1fr) 300px;min-height:calc(100vh - 98px)}.sidebar{padding:38px 25px 40px 40px;border-right:1px solid var(--line)}.back-link{display:block;font-size:11px;color:var(--muted);margin-bottom:43px}.sidebar h2{font-size:31px;line-height:1.2;margin:13px 0 31px}.step-nav{display:grid;gap:10px}.step-nav button{border:0;background:transparent;display:flex;align-items:center;text-align:left;gap:13px;padding:12px 10px;min-height:48px;font-size:12px;color:var(--muted);border-radius:6px}.step-nav button span{width:27px;height:27px;border:1px solid #dadbd1;border-radius:50%;display:grid;place-items:center;font-size:10px;flex-shrink:0}.step-nav .current{background:#e9eddf;color:var(--green);font-weight:600}.step-nav .current span{background:var(--green);color:white;border-color:var(--green)}.sidebar-note{margin:70px 8px 0}.sidebar-note>span{font-size:28px;color:#a5ad91}.sidebar-note p{font-size:12px;line-height:1.8;color:#959888}.editor-main{padding:48px 48px 25px;min-width:0;max-width:920px;width:100%;margin:auto}.editor-heading h1{font-size:39px;line-height:1.15;margin:15px 0}.editor-heading>p{font-size:13px;color:var(--muted);line-height:1.8;margin-bottom:34px}.form-section{padding:28px 0;border-top:1px solid var(--line)}.form-section h3{font-size:15px;display:flex;gap:10px;align-items:center;margin-bottom:22px}.form-section h3>span{font:italic 16px var(--serif);color:var(--accent);min-width:18px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.field{display:flex;flex-direction:column;gap:10px;margin:0 0 22px;min-width:0}.field>span,.field-label{font-size:12px;font-weight:500}.field-label{margin-bottom:14px}.field input,.field select,.field textarea,.photo-editor>input{border:1px solid #dcddd2;border-radius:6px;background:#fffefb;padding:13px 14px;width:100%;min-height:47px;font-size:13px;color:var(--ink)}.field textarea{resize:vertical;line-height:1.8;min-height:115px}.field input::placeholder,.field textarea::placeholder,.photo-editor>input::placeholder{color:#a7a79a}.field small,.check-field small{font-size:11px;color:var(--muted);line-height:1.7}.choice-row{display:flex;gap:9px;flex-wrap:wrap}.choice{min-height:43px;padding:10px 15px;border-radius:5px;border:1px solid #dedfd4;background:transparent;color:#777c6f;font-size:12px}.choice.active{border-color:#879578;background:#edf0e5;color:#46573d}.dates{margin-top:24px}.save-state{font-size:11px;color:var(--muted)}.topbar .button{font-size:12px;min-height:43px;padding:11px 20px}.upload-small{display:flex;align-items:center;gap:10px;position:relative;border:1px dashed #d3d7c6;border-radius:6px;padding:15px;flex-wrap:wrap;color:var(--green);font-size:12px;cursor:pointer}.upload-small span{font-size:10px;color:var(--muted)}.upload-small input,.dropzone input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer}.upload-small:focus-within,.dropzone:focus-within{outline:2px solid #81916b;outline-offset:2px}.section-note{font-size:12px;line-height:1.8;color:var(--muted);margin-bottom:24px}.check-field{display:flex;align-items:flex-start;gap:12px;margin:18px 0;font-size:12px;line-height:1.8;cursor:pointer}.check-field input{width:18px;height:18px;accent-color:var(--green);margin-top:2px;flex-shrink:0}.check-field small{display:block}.editor-bottom{display:flex;align-items:center;justify-content:space-between;padding-top:25px;border-top:1px solid var(--line);gap:10px}.editor-bottom>span{font:italic 12px var(--serif);color:var(--muted)}.preview-aside{background:#f2f1e9;border-left:1px solid var(--line);padding:50px 28px;text-align:center}.preview-aside>.eyebrow{font-size:9px;color:var(--muted);margin-bottom:22px}.preview-aside>p{font-size:11px;line-height:1.9;color:var(--muted);margin-top:25px}.mini-gift{background:#fffdf7;padding:30px 20px;border-radius:110px 110px 7px 7px;box-shadow:0 12px 30px #4247320a;text-align:center;border:1px solid #e9e5d8}.mini-gift.birthday{background:#fff0e4}.mini-gift.gratitude{background:#f1f4ea}.mini-gift-label{display:block;font-size:6px;letter-spacing:1.3px;margin-top:12px}.mini-gift h3{font:italic 25px var(--serif);margin:15px 0;color:#8c785e;overflow-wrap:anywhere}.mini-cover{height:175px;border-radius:80px 80px 3px 3px;overflow:hidden;background:#ece9da;margin:20px 0}.mini-cover img{width:100%;height:100%;object-fit:cover}.abstract-bloom{height:100%;display:grid;place-items:center;font:80px var(--serif);background:radial-gradient(ellipse at 60% 70%,#c6caaa,#e7ddc7 70%);color:#fff8e8}.mini-gift>strong{font:17px var(--serif);display:block;overflow-wrap:anywhere}.mini-wave{font-size:16px;color:#a0a689;letter-spacing:1px;margin:17px 0}.mini-play{display:inline-grid;place-items:center;background:var(--green);color:white;border-radius:50%;width:30px;height:30px;font-size:9px;padding-left:2px}.mini-gift>p{font:italic 12px var(--serif);margin:20px 0 0;color:#9d8b71}.section-line{display:flex;justify-content:space-between;align-items:baseline}.section-line>span{font-size:11px;color:var(--muted)}.dropzone{border:1px dashed #bfc8b0;background:#f4f5ed;min-height:180px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;position:relative;cursor:pointer;margin-bottom:25px}.dropzone>span{font-size:25px;color:#849375}.dropzone>strong{font-size:13px;font-weight:500}.dropzone>small{font-size:11px;color:var(--muted)}.dropzone.compact{min-height:145px;margin-top:20px}.photo-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.photo-editor{background:#fffef9;border:1px solid var(--line);border-radius:7px;overflow:hidden;padding:8px}.photo-frame{aspect-ratio:1;position:relative;border-radius:3px;overflow:hidden}.photo-frame>img{width:100%;height:100%;object-fit:cover}.cover-badge{position:absolute;top:9px;left:9px;background:#fffcefdb;padding:6px 8px;font-size:8px;letter-spacing:1px;border-radius:3px}.photo-editor>input{border:0;border-bottom:1px solid var(--line);border-radius:0;font-size:11px;margin-top:5px}.photo-controls{display:flex;gap:4px;padding-top:5px}.photo-controls button{min-height:44px;background:none;border:0;color:var(--green);padding:8px;font-size:12px}.photo-controls button:last-child{margin-left:auto;font-size:10px}.crop-control{display:flex;align-items:center;gap:7px;font-size:9px;color:var(--muted);padding:0 5px 7px}.crop-control input{width:70px;flex:1;accent-color:var(--green)}.memory-editor{background:#f3f2ea;border-radius:8px;padding:22px;margin-bottom:17px}.memory-editor>.eyebrow{margin-bottom:18px;color:var(--accent)}.memory-editor .field:last-child{margin-bottom:0}.editor-themes{gap:12px}.editor-themes .theme-art{height:163px;padding:20px 8px}.editor-themes .theme-small{font-size:5px}.editor-themes .theme-script{font-size:20px;margin-top:13px}.editor-themes .theme-symbol{font-size:31px;margin:4px 0 8px}.editor-themes .theme-player{font-size:6px;width:90px;letter-spacing:3px;padding:8px}.editor-themes .theme-label{padding:12px}.editor-themes .theme-label strong{font-size:11px}.editor-themes .theme-label>span{display:block;float:none;font-size:9px;margin:5px 0}.editor-themes .theme-label p{font-size:10px;line-height:1.5}.info-note{background:#edf0e6;border:1px solid #e1e5d7;color:#69745f;padding:15px 18px;border-radius:6px;font-size:12px;line-height:1.8;margin:20px 0}.success-note{font-size:12px;color:var(--green);margin-top:15px}audio{width:100%;margin:10px 0 25px;display:block}.review-summary{display:grid;grid-template-columns:1fr 1fr;gap:20px;background:#f3f2e9;padding:23px;border-radius:7px}.review-summary div>span{font-size:10px;color:var(--muted);display:block;margin-bottom:7px}.review-summary strong{font-weight:500;font-size:14px;overflow-wrap:anywhere}.action-row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.share-result{font-size:13px;margin-top:20px;text-decoration:underline;line-height:1.8;overflow-wrap:anywhere}.recovery p{font-size:12px;line-height:1.9;color:var(--muted)}.recovery>small{display:block;font-size:11px;color:var(--muted);margin-top:15px}
/* Recipient experience */
.gift-page{--gift-bg:#f8f4e9;--gift-accent:#a8815d;background:var(--gift-bg);min-height:100vh}.gift-page.birthday{--gift-bg:#fff2e8;--gift-accent:#b76646;--green:#9c604c}.gift-page.gratitude{--gift-bg:#f1f4eb;--gift-accent:#6e805b;--green:#5d7355}.gift-page em{color:var(--gift-accent)}.gift-page .topbar{border:0;max-width:1200px}.gift-header-note{font-size:9px;letter-spacing:1.5px}.gift-envelope{text-align:center;max-width:750px;margin:auto;padding:55px 24px 85px}.gift-envelope h1{font-size:65px;line-height:1.1;margin:26px 0 37px;overflow-wrap:anywhere}.gift-envelope h1 em{display:block;font-size:58px}.envelope{width:350px;max-width:100%;height:220px;position:relative;border:1px solid #d9ccb6;background:#e9dfcd;box-shadow:0 18px 35px #6a5b3515;display:block;margin:0 auto 35px;transform:rotate(-3deg);border-radius:5px;color:#726650}.envelope:after{content:'';position:absolute;bottom:0;left:0;right:0;height:100%;background:#f0e7d7;clip-path:polygon(0 0,50% 60%,100% 0,100% 100%,0 100%)}.envelope-fold{position:absolute;top:0;left:0;right:0;height:70%;background:#f7efdf;clip-path:polygon(0 0,100% 0,50% 100%);z-index:1}.envelope-seal{position:absolute;top:42%;left:43%;border-radius:50%;width:49px;height:49px;display:grid;place-items:center;background:#9aab8c;color:#fff9e8;font:30px var(--serif);z-index:2;box-shadow:0 3px 5px #2222}.envelope-name{position:absolute;bottom:20px;left:0;right:0;z-index:2;font:italic 20px var(--serif)}.gift-envelope>p{font:italic 18px var(--serif);color:#968369}.gift-envelope>small{display:block;font-size:11px;letter-spacing:.5px;margin-top:20px;color:var(--muted)}.preview-banner{display:flex;justify-content:center;align-items:center;gap:35px;background:#e6eadf;padding:8px 20px}.preview-banner>span{font-size:9px;letter-spacing:1.2px}.preview-banner .button{min-height:36px;font-size:11px;padding:8px}.gift-content{max-width:850px;margin:auto;padding:30px 35px 0;text-align:center}.gift-hero>h1{font-size:74px;line-height:1.06;margin:20px 0 40px;overflow-wrap:anywhere}.gift-cover{width:470px;height:480px;max-width:100%;border-radius:230px 230px 8px 8px;overflow:hidden;margin:auto;padding:10px;background:#fffdf7;box-shadow:0 14px 40px #6c613214}.gift-cover>img,.abstract-cover{height:100%;width:100%;object-fit:cover;border-radius:inherit}.abstract-cover{background:#e7e5d4;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:25px}.abstract-cover>span{font:35px/1.3 var(--serif);color:#697256}.abstract-cover em{font-size:32px}.floral{position:relative;width:180px;height:130px;margin-bottom:30px;color:#969f7d}.floral>span{position:absolute;font-size:95px;left:0;top:10px}.floral>span:nth-child(2){font-size:60px;left:90px;top:0;color:#b5a780}.floral>span:nth-child(3){font-size:70px;left:95px;top:60px;color:#c0ab83}.song-panel{width:440px;max-width:94%;padding:27px 28px 20px;margin:-35px auto 0;position:relative;z-index:1;background:#fffdf9;border-radius:12px;border:1px solid #ebe5d6;box-shadow:0 10px 20px #6c61320c}.song-panel>h2{font-size:30px;margin:9px 0 20px;letter-spacing:-.7px}.song-panel .eyebrow{font-size:8px}.song-panel audio{height:42px;margin:15px 0}.song-panel p{font-size:11px;color:var(--muted);margin:10px 0 0}.empty-song{font-size:30px;color:#9ca789}.gift-letter{max-width:590px;margin:80px auto 70px}.ornament{font:35px var(--serif);display:block;color:#9ba786;margin-bottom:20px}.gift-letter h2{font-size:36px;margin:25px 0}.gift-letter>p{font:19px/1.9 var(--serif);white-space:pre-wrap;color:#686952;overflow-wrap:anywhere}.gift-letter .signature{margin-top:30px;color:var(--gift-accent)}.gift-gallery,.gift-memories,.gift-lyrics{padding:45px 0;border-top:1px solid #dedfce}.gift-gallery h2,.gift-memories h2,.gift-lyrics h2{font-size:40px;margin:15px 0 35px}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:23px}.gallery-grid figure{background:#fffefa;padding:10px 10px 18px;margin:0;box-shadow:0 5px 15px #625a3210;transform:rotate(-2deg)}.gallery-grid figure:nth-child(2n){transform:rotate(2deg)}.gallery-image{display:block;padding:0;border:0;aspect-ratio:1;background:#e5e3d7;width:100%}.gallery-image>img{height:100%;width:100%;object-fit:cover}.gallery-grid figcaption{font:italic 14px/1.4 var(--serif);padding:16px 0 0;color:#807459;overflow-wrap:anywhere}.timeline{text-align:left;max-width:550px;margin:auto}.timeline article{display:flex;gap:25px;padding:10px 0 35px}.timeline-number{height:36px;width:36px;flex-shrink:0;border-radius:50%;border:1px solid #cdd2be;display:grid;place-items:center;font:italic 16px var(--serif);color:#8c947a}.timeline article>div{flex:1}.timeline img{width:100%;max-height:280px;object-fit:cover;border-radius:5px;margin-bottom:20px}.timeline h3{font:26px var(--serif);margin:12px 0}.timeline p{font-size:14px;color:#85836e;line-height:1.9;white-space:pre-wrap;overflow-wrap:anywhere}.timeline .eyebrow{font-size:9px;color:var(--gift-accent)}.gift-lyrics>p{font:18px/1.9 var(--serif);white-space:pre-wrap;color:#72745f;overflow-wrap:anywhere}.gift-downloads{padding:40px 0 65px}.gift-downloads>span{font-size:38px;color:#b4a275}.gift-downloads h2{font-size:32px;margin:18px 0 25px}.gift-downloads .action-row{justify-content:center}.gift-downloads p{font-size:11px;color:var(--muted);margin-top:20px}.gift-page footer{max-width:1000px}.lightbox{max-width:90vw;width:800px;max-height:90vh;border:0;border-radius:9px;padding:20px;background:#fffdf7}.lightbox::backdrop{background:#202719b8}.lightbox img{max-height:72vh;width:100%;object-fit:contain}.lightbox button{position:absolute;top:14px;right:14px;border:0;border-radius:50%;width:44px;height:44px;font-size:25px;background:#f7f5e8}.lightbox p{text-align:center;font:italic 18px var(--serif);margin:18px 0 0}.access-screen{text-align:center;max-width:520px;margin:70px auto;padding:30px}.access-screen h1{font-size:46px;line-height:1.15}.access-screen p{line-height:1.8;font-size:14px;color:var(--muted)}.access-screen form{max-width:290px;margin:25px auto;text-align:left}.access-screen form button{width:100%}.loading{display:grid;place-items:center;min-height:70vh;font:italic 23px var(--serif)}#toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);padding:16px 23px;border-radius:8px;background:#35432e;color:#fff;font-size:13px;line-height:1.6;box-shadow:0 8px 30px #0002;z-index:100;opacity:0;pointer-events:none;transition:.2s;max-width:calc(100vw - 30px);width:max-content}#toast.visible{opacity:1;transform:translate(-50%,0)}
@media(min-width:1700px){.hero{min-height:700px}.hero-art{transform:scale(1.08)}.editor-main{padding:48px 60px}.editor-heading h1{font-size:44px}.field>span,.field-label{font-size:13px}.field input,.field select,.field textarea{font-size:14px}.step-nav button{font-size:13px}.form-section h3{font-size:17px}}
@media(max-width:1150px){.topbar{padding:22px 35px}.landing{padding:0 35px}.hero{gap:20px;min-height:610px}.hero-art{transform:scale(.86);transform-origin:center}.hero h1{font-size:65px}.hero-actions{gap:20px}.how{gap:25px}.editor-shell{grid-template-columns:220px minmax(0,1fr)}.sidebar{padding:35px 20px}.preview-aside{display:none}.editor-main{padding:35px}.sidebar h2{font-size:29px}}
@media(max-width:800px){.topbar{padding:20px 24px}.topbar nav{gap:14px}.landing{padding:0 28px}.hero{grid-template-columns:1fr 1fr;gap:0;min-height:540px;padding:40px 0}.hero h1{font-size:54px}.hero-copy>p{font-size:14px}.hero-art{transform:scale(.67);width:460px;margin-left:-40px;margin-right:-35px}.hero-actions{flex-direction:column;align-items:flex-start;gap:13px}.hero-note{line-height:1.7}.how{grid-template-columns:1fr 1fr;gap:30px;padding:30px 0;margin-bottom:40px}.theme-grid{gap:12px}.theme-art{height:210px;padding:25px 8px}.theme-script{font-size:24px}.theme-label{padding:15px}.theme-label strong{font-size:13px}.theme-label p{font-size:11px;line-height:1.6}.editor-shell{grid-template-columns:185px minmax(0,1fr)}.sidebar{padding:30px 12px}.sidebar h2{font-size:26px;margin-left:8px}.sidebar>.eyebrow{font-size:8px;margin-left:8px}.back-link{font-size:10px;margin-left:8px}.step-nav button{font-size:11px;gap:7px;padding:10px 6px}.editor-main{padding:35px 25px}.editor-heading h1{font-size:34px}.editor-bottom>span{display:none}.editor-themes{grid-template-columns:1fr}.editor-themes .theme-card{display:grid;grid-template-columns:130px 1fr}.editor-themes .theme-art{height:125px;padding:12px}.editor-themes .theme-symbol{font-size:22px}.editor-themes .theme-script{font-size:18px;margin-top:9px}.editor-themes .theme-label{display:flex;flex-direction:column;justify-content:center}.editor-themes .theme-label strong{font-size:14px}.editor-themes .theme-label p{font-size:11px}.upload-small span{display:block}.field-grid{gap:0 12px}.field input,.field textarea,.field select{padding:12px 10px}.preview-banner{gap:15px}.preview-banner>span{font-size:8px}.gift-content{padding:20px 28px 0}.gallery-grid{gap:16px}.gallery-grid figcaption{font-size:12px}footer{padding:25px 28px}}
@media(max-width:600px){.topbar{padding:16px 20px;gap:10px}.brand>img{width:35px;height:35px}.brand>span{font-size:28px}.byline{font-size:7px;letter-spacing:2.4px;margin-top:6px}.topbar nav{gap:9px}.topbar nav>a{display:none}.topbar .button{font-size:11px;padding:10px 12px;min-height:44px}.save-state{display:none}.landing{padding:0 22px}.hero{display:flex;flex-direction:column;align-items:stretch;padding:38px 0 20px;gap:15px;min-height:auto}.hero .eyebrow{font-size:9px;letter-spacing:1.5px}.hero h1{font-size:62px;margin:20px 0;line-height:1.02}.hero-copy>p{font-size:14px;max-width:310px;line-height:1.8}.hero-actions{flex-direction:row;gap:20px;margin-top:25px;align-items:center}.hero-actions .button{padding:14px 18px;font-size:12px;gap:18px}.text-link{font-size:11px}.hero-note{font-size:10px;margin-top:20px}.hero-art{transform:scale(.75);transform-origin:top center;height:390px;width:430px;align-self:center;margin:15px 0 -25px}.floating-note{right:0}.mini-photo{right:-4px}.how{grid-template-columns:1fr 1fr;gap:25px 20px;padding:30px 0}.how>div{grid-column:1/-1}.how h2{font-size:35px}.how h2 br{display:none}.how h3{font-size:14px;line-height:1.5;margin-top:11px}.how p{font-size:12px;line-height:1.8}.how article:last-child{grid-column:1/-1}.section-heading{align-items:flex-end;gap:15px}.section-heading h2{font-size:35px}.section-heading p{display:none}.theme-grid{grid-template-columns:1fr;gap:16px}.theme-card{display:grid;grid-template-columns:145px 1fr}.theme-art{height:170px;padding:21px 8px}.theme-small{font-size:5px}.theme-script{font-size:21px;margin-top:14px}.theme-symbol{font-size:40px;margin:5px 0}.theme-player{width:100px;font-size:7px;letter-spacing:3px;padding:9px}.theme-label{align-self:center;padding:20px 15px}.theme-label strong{font-size:14px}.theme-label>span{float:none;display:block;font-size:9px;margin:7px 0}.theme-label p{font-size:11px;line-height:1.7}.closing{padding:55px 0}.closing h2{font-size:40px}.eyebrow{font-size:9px;letter-spacing:1.6px}footer{padding:20px;font-size:12px;gap:15px}footer>span{font-size:9px;text-align:right;max-width:135px;line-height:1.6}.editor-shell{display:block}.sidebar{padding:18px 20px 12px;border-right:0;border-bottom:1px solid var(--line)}.sidebar>.back-link,.sidebar>.eyebrow,.sidebar>h2,.sidebar-note{display:none}.step-nav{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 8px}.step-nav button{flex-shrink:0;font-size:11px;padding:9px 12px;min-height:45px}.step-nav button span{height:24px;width:24px;font-size:9px}.editor-main{padding:27px 22px}.editor-heading h1{font-size:34px;letter-spacing:-1.1px;margin:12px 0}.editor-heading>p{font-size:12px;line-height:1.85;margin-bottom:25px}.form-section{padding:23px 0}.form-section h3{font-size:14px;margin-bottom:20px}.field-grid{grid-template-columns:1fr;gap:0}.field{margin-bottom:20px}.field input,.field textarea,.field select{font-size:16px;min-height:48px;padding:12px}.field>span,.field-label{font-size:12px}.field small{font-size:11px}.choice{font-size:12px;min-height:44px;padding:11px 13px}.choice-row{gap:8px}.upload-small{font-size:12px;padding:16px;line-height:1.6}.upload-small span{font-size:10px}.editor-bottom{padding:22px 0 10px}.editor-bottom .button{font-size:12px;padding:13px 17px}.photo-grid{gap:12px}.photo-editor>input{font-size:12px;min-height:44px;padding:10px 5px}.photo-controls button{padding:5px 7px}.crop-control{flex-wrap:wrap;font-size:9px}.crop-control input{min-height:32px;width:100%}.memory-editor{padding:18px}.editor-themes .theme-card{grid-template-columns:140px 1fr}.editor-themes .theme-art{height:145px}.editor-themes .theme-script{font-size:20px}.editor-themes .theme-symbol{font-size:31px}.editor-themes .theme-label strong{font-size:14px}.action-row{gap:10px}.action-row .button{font-size:12px;padding:13px 16px}.gift-header-note{display:none}.gift-page .topbar{justify-content:center;padding:22px}.gift-envelope{padding:30px 24px 70px}.gift-envelope>.eyebrow{max-width:260px;margin:auto;font-size:8px}.gift-envelope h1{font-size:50px;margin:23px 0 33px}.gift-envelope h1 em{font-size:46px}.envelope{width:290px;height:190px}.envelope-seal{width:43px;height:43px}.gift-envelope>p{font-size:16px;line-height:1.6}.gift-content{padding:15px 20px 0}.gift-hero>h1{font-size:55px;margin:20px 0 30px}.gift-cover{height:380px;padding:8px}.abstract-cover>span{font-size:28px}.abstract-cover em{font-size:27px}.song-panel{padding:23px 20px 18px}.song-panel>h2{font-size:27px}.gift-letter{margin:55px 8px}.gift-letter>p{font-size:17px;line-height:1.9}.gift-letter h2{font-size:31px}.gift-letter .signature{font-size:21px}.gift-gallery h2,.gift-memories h2,.gift-lyrics h2{font-size:33px}.gallery-grid{grid-template-columns:1fr 1fr;gap:20px 14px}.gallery-grid figure{padding:7px 7px 12px}.gallery-grid figcaption{font-size:12px;padding-top:12px}.gift-gallery,.gift-memories,.gift-lyrics{padding:35px 0}.timeline article{gap:16px}.timeline h3{font-size:25px}.timeline p{font-size:13px}.gift-lyrics>p{font-size:17px}.gift-downloads h2{font-size:30px}.gift-page footer .brand>span{font-size:24px}.gift-page footer .brand>img{height:30px;width:30px}.preview-banner{padding:8px 12px;gap:10px;justify-content:space-between}.preview-banner>span{font-size:7px;max-width:150px;line-height:1.7}.preview-banner .button{font-size:10px;flex-shrink:0}.draft-list a{font-size:13px;gap:15px}.draft-list span{font-size:10px}.access-screen{margin-top:35px}.access-screen h1{font-size:39px}}
@media(max-width:370px){.hero h1{font-size:55px}.hero-art{transform:scale(.65);height:335px;margin-bottom:-40px}.hero-actions{gap:14px}.hero-actions .button{padding:13px 14px}.text-link{font-size:10px}.topbar{padding:14px}.topbar nav{gap:5px}.topbar .button{padding:10px;font-size:10px}.brand>img{width:30px;height:30px}.brand>span{font-size:25px}.theme-card{grid-template-columns:130px 1fr}.theme-label{padding:13px}.editor-main{padding:25px 17px}.photo-grid{grid-template-columns:1fr}.gift-cover{height:330px}.gift-hero>h1{font-size:48px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media print{body{background:white}.gift-page{background:white}.gift-page>*:not(.gift-content),.gift-content>*:not(.gift-lyrics),#toast{display:none!important}.gift-content{padding:0;max-width:100%}.gift-lyrics{border:0;display:block!important;padding:30px}.gift-lyrics>p{font-size:16px;color:#222}.gift-lyrics h2{font-size:32px}.gift-lyrics:after{content:'Melody by Memomo';display:block;margin-top:35px;font:italic 14px Georgia;color:#666}}
/* Keep the main reading and editing surfaces comfortable at normal zoom. */
.hero h1{font-size:clamp(54px,4.3vw,72px)}
.topbar nav,.topbar .button,.step-nav button,.choice,.field>span,.field-label{font-size:13px}
.section-note,.field small,.check-field small,.upload-small span,.dropzone>small,.check-field,.info-note,.recovery p,.recovery>small,.save-state,.hero-note,.theme-label p,.how p{font-size:12px}
.theme-label strong{font-size:15px}.editor-themes .theme-label strong{font-size:13px}.editor-themes .theme-label p{font-size:12px}.editor-bottom .button{font-size:13px}
@media(max-width:1150px){.hero h1{font-size:58px}}
@media(max-width:800px){.hero h1{font-size:49px}.step-nav button{font-size:12px}}
@media(max-width:600px){.hero h1{font-size:48px}.topbar .button{font-size:12px}.hero-actions .button,.text-link{font-size:12px}.hero-note{font-size:11px}.step-nav button{font-size:13px}.editor-themes .theme-label p{font-size:12px}}
@media(max-width:370px){.hero h1{font-size:43px}.topbar .button{font-size:11px}.hero-actions{gap:12px}.text-link{font-size:11px}}
