:root{--paper:#fff9ed;--ink:#262523;--muted:#777267;--coral:#f86c52;--line:#e5decf;--purple:#49375b}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:15px}button,input,select,textarea{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #7867bc;outline-offset:4px}header{max-width:1360px;margin:auto;padding:28px 60px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{color:var(--ink);text-decoration:none;font-size:24px;font-weight:700;letter-spacing:-1px;display:flex;gap:10px;align-items:center}.brandmark{font-size:45px;color:var(--coral)}.brand-sub{display:block;font-size:12px;font-weight:500;letter-spacing:2.5px}.private{color:var(--muted);font-size:12px}.button{padding:14px 20px;border-radius:6px;border:0;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:15px;transition:transform .2s}.button:hover{transform:translateY(-2px)}.dark{background:var(--ink);color:white}.coral{background:var(--coral);color:#251d19}.outline{border:1px solid #bcb4a6;background:transparent}.text-button,.inline{border:0;background:none;color:inherit}.text-button{padding:10px;font-weight:500}.inline{text-decoration:underline;text-underline-offset:3px;font-size:12px}main{max-width:1240px;margin:auto}.hero{padding:76px 0 84px;display:grid;grid-template-columns:1.2fr 1fr;align-items:center;min-height:540px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;margin-bottom:18px}h1{font-family:'Playfair Display',Georgia,serif;font-weight:500;font-size:65px;line-height:1.08;letter-spacing:-2.6px;margin:0 0 24px}h1 em{color:#bc563e;font-weight:500}.hero p{color:var(--muted);font-size:17px;line-height:1.6}.hero-actions{display:flex;gap:13px;align-items:center;margin-top:28px}.hero-art{height:350px;position:relative;display:flex;justify-content:center}.mini-card{position:absolute;width:265px;height:310px;background:#eed4e8;border:8px solid #fffdf8;box-shadow:0 10px 30px #62493216;transform:rotate(8deg);padding:22px;text-align:center;z-index:2;top:0;left:110px}.mini-card>span{font-size:8px;letter-spacing:2px;line-height:1.7}.mini-card strong{display:block;font-family:'Playfair Display',Georgia,serif;font-size:52px;line-height:1.07;font-weight:500;margin:20px 0;color:#554064}.mini-card strong i{font-size:68px}.mini-card>div{font-size:8px}.envelope{position:absolute;bottom:0;width:340px;height:205px;background:#f6bc80;transform:rotate(-10deg);left:60px;box-shadow:0 15px 30px #62493212}.envelope:after{content:'';position:absolute;inset:0;clip-path:polygon(0 0,50% 60%,100% 0,100% 100%,0 100%);background:#eaa56a}.spark{position:absolute;color:#f1784e;z-index:3}.s1{font-size:70px;left:22px;top:10px;transform:rotate(10deg)}.s2{font-size:55px;right:10px;bottom:30px}.seal{position:absolute;bottom:0;right:65px;background:#e8edac;width:86px;height:86px;border-radius:50%;display:grid;place-content:center;text-align:center;font-size:9px;letter-spacing:2px;line-height:1.5;transform:rotate(15deg);z-index:4}.book{border-top:1px solid var(--line);padding:45px 0 35px}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:28px}.section-heading .eyebrow{margin-bottom:10px}h2{font-family:'Playfair Display',Georgia,serif;font-size:34px;font-weight:500;letter-spacing:-.8px;margin:0}.tools{display:flex;align-items:center;gap:15px}input,select,textarea{border:1px solid #dbd4c8;border-radius:5px;background:#fffdf8;padding:12px 13px;color:var(--ink);width:100%;outline:none}input:focus,textarea:focus,select:focus{border-color:#9b624b;box-shadow:0 0 0 3px #f5e3d7}#search{width:180px;background:transparent;font-size:13px}.empty{border:1px dashed #cec5b6;border-radius:8px;padding:36px;display:flex;align-items:center;gap:25px}.empty .empty-icon{font-size:40px;color:#b7634c}.empty h3{font-weight:500;font-size:19px;margin:0 0 8px}.empty p{margin:0;color:var(--muted);line-height:1.5}.empty button{margin-left:auto;white-space:nowrap}.birthday{display:flex;align-items:center;padding:19px 5px;border-bottom:1px solid var(--line);gap:20px}.date-box{width:58px;text-align:center;color:#a5503a;flex-shrink:0}.date-box span{font-size:10px;letter-spacing:1px;display:block}.date-box strong{font-family:Georgia,serif;font-size:29px;font-weight:400}.person{flex:1}.person strong{display:block;font-size:17px;font-weight:500}.person small{color:var(--muted)}.countdown{font-size:12px;color:#7d715e;background:#f0e9db;padding:7px 11px;border-radius:20px}.countdown.today{background:#f9cbbb;color:#853b27}.privacy-note{font-size:11px;color:var(--muted);margin-top:20px;line-height:1.6}.studio{margin-top:32px;padding:45px;background:#f0ebdf;border-radius:12px}.tag{font-size:9px;letter-spacing:1.5px;color:var(--muted)}.studio-grid{display:grid;grid-template-columns:1fr 1fr;gap:65px}.controls label,dialog label{display:block;font-size:12px;font-weight:600;margin-bottom:17px}.controls input,.controls select,.controls textarea,dialog input,dialog select{margin-top:7px;font-weight:400}.row{display:flex;gap:15px}.row>label{flex:1;min-width:0}.optional{font-size:10px;font-weight:400;color:var(--muted);float:right}.micro{font-size:11px;line-height:1.6;color:var(--muted);margin:8px 0 20px}.controls .outline{width:100%;font-size:12px}fieldset{padding:0;margin:0 0 20px;border:0}legend{font-size:12px;font-weight:600;margin-bottom:10px}.themes{display:flex;gap:8px}.theme{background:#fff9ed;padding:10px;border:1px solid #dbd4c8;border-radius:5px;font-size:12px;flex:1}.theme.active{border:2px solid #42374c}.upload{border:1px dashed #b6aa97;padding:18px;text-align:center;border-radius:6px;cursor:pointer;background:#f8f3e8}.upload small{font-size:10px;color:var(--muted);display:block;margin-top:7px;font-weight:400}.preview-column{position:sticky;align-self:start;top:20px}.preview-label{display:flex;justify-content:space-between;font-size:8px;letter-spacing:1px;color:var(--muted);margin-bottom:10px}canvas{width:100%;height:auto;display:block;box-shadow:0 12px 30px #4b3d2720}.share-actions{display:flex;gap:10px;margin-top:22px}.share-actions button{flex:1;font-size:12px}.whatsapp{width:100%;background:#e2e9d7;color:#334e35;margin-top:10px;font-size:12px}.center{text-align:center}.photo-chip{display:flex;gap:10px;align-items:center;font-size:11px;margin:7px 0}.photo-chip img{width:35px;height:35px;object-fit:cover;border-radius:4px}.photo-chip span{flex:1;overflow:hidden;text-overflow:ellipsis}.icon{border:0;background:none;font-size:24px;color:#7d715e;padding:4px}footer{display:flex;justify-content:space-between;align-items:center;padding:38px 0;font-size:11px;color:var(--muted)}footer .brand{font-size:18px}dialog{border:0;border-radius:12px;background:var(--paper);padding:30px;width:min(450px,92vw);box-shadow:0 30px 90px #0003}dialog::backdrop{background:#25231f66;backdrop-filter:blur(3px)}.dialog-head{display:flex;justify-content:space-between;align-items:start;margin-bottom:25px}dialog h2{font-size:28px}dialog .button{width:100%}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);max-width:90vw;background:#292625;color:white;padding:14px 23px;border-radius:8px;font-size:13px;z-index:20;display:none}.noresults{padding:25px;color:var(--muted)}
@media(max-width:1300px){main{margin:0 45px}.hero-art .mini-card{left:85px}}@media(max-width:800px){header{padding:20px 24px}.private{display:none}main{margin:0 24px}.hero{grid-template-columns:1fr;padding:45px 0 35px;gap:35px}h1{font-size:48px}.hero-art{height:300px;max-width:420px;width:100%;margin:auto}.mini-card{width:220px;height:260px}.mini-card strong{font-size:40px}.mini-card strong i{font-size:52px}.envelope{width:290px;height:170px;left:25px}.seal{right:30px}.section-heading{display:block}.tools{margin-top:20px;justify-content:space-between}.studio{padding:25px 20px}.studio-grid{grid-template-columns:1fr;gap:35px}.tag{display:block;margin-top:15px}.preview-column{position:static}.empty{display:block;padding:25px}.empty button{margin-top:20px}.empty-icon{display:none}.birthday{gap:10px}.birthday .button{padding:10px;font-size:11px}.birthday .countdown{display:none}footer{flex-wrap:wrap;gap:20px}.hero-actions{flex-wrap:wrap}#search{width:155px}.book{padding-top:30px}.hero p{font-size:16px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
[hidden]{display:none!important}.steps{display:flex;border-bottom:1px solid #d9cebd;margin-bottom:32px;gap:16px}.steps button{flex:1;background:none;border:0;border-bottom:3px solid transparent;padding:15px 0;text-align:left;color:#827768;font-size:12px}.steps button.active{border-color:var(--coral);color:#2b2824;font-weight:700}.steps span{margin-left:8px}.controls h3{font-family:Georgia,serif;font-size:24px;font-weight:400;margin:0 0 14px}.wizard-actions{display:flex;justify-content:space-between;gap:15px;margin-top:25px}.wizard-actions #nextStep{margin-left:auto}#deleteBirthday{color:#ad3e2b;margin-top:15px;width:100%}@media(max-width:800px){.steps{gap:8px}.steps button{font-size:10px}.steps span{display:block;margin:5px 0}.mobile-hidden{display:none}}

.remember{display:flex;align-items:center;gap:12px}.remember input{width:20px;height:20px;flex-shrink:0}

.upload{cursor:default}.upload:focus-visible,.upload.dragging{outline:3px solid var(--coral);outline-offset:4px;background:#fff0df}.upload p{font-size:14px;line-height:1.5}.upload strong{font-size:19px}.upload .button{margin:10px 0;max-width:100%;white-space:normal}.photo-help{font-size:13px;line-height:1.6;margin:16px 0}.photo-help summary{cursor:pointer;font-weight:600}.photo-help p{margin:12px 0}
