/* V2 art direction: cherry red, peach light, a little theatrical romance. */
:root{--ink:#4c3540;--muted:#a38d96;--green:#dc607a;--green-dark:#c74a69;--cream:#fff9f6;--line:#f0e4e5}body{background:radial-gradient(ellipse at 15% 0,#fff0eb,transparent 45%),#fffaf7;color:#4c3540}.header{height:80px;border-color:#f1e2e5}.brand{letter-spacing:2px;font-size:23px}.brand-icon{background:linear-gradient(135deg,#f28895,#d34c6b);box-shadow:0 6px 15px #d7667830;border-radius:14px;transform:rotate(-8deg)}.brand small{color:#bc8a95;letter-spacing:1.8px}.header nav .active{font-weight:600}.header nav .active:after{width:22px;left:calc(50% - 11px);background:#e36a83}.header nav button{color:#9e7f8a}.header-note{color:#ac8892}.status-dot{background:#de8396;box-shadow:0 0 0 4px #f9e7e9}main{max-width:1500px}.hero{position:relative;isolation:isolate;margin:26px 0 28px;padding:0;min-height:295px;border:1px solid #f5dfe2;border-radius:24px;overflow:hidden;background:#fff1ef;box-shadow:0 12px 40px #a05e7007}.hero-copy{position:relative;z-index:2;padding:32px 36px;width:62%}.hero .eyebrow{font-size:9px;letter-spacing:2.7px;color:#c07589}.hero .eyebrow>span{background:#cf8a9d;width:23px}.hero h1{font-family:"Microsoft YaHei","PingFang SC",sans-serif;font-size:37px;line-height:1.5;letter-spacing:-1px;font-weight:700;margin:14px 0 12px;color:#563641}.hero h1 br{display:none}.handwritten{display:inline-block;margin-left:3px;font-family:var(--serif);font-weight:500;color:#d95477;letter-spacing:1px}.handwritten svg{stroke:#ee9bae;bottom:-5px}.hero-heart{font-family:Georgia,serif;color:#e16a87;display:inline-block;margin-left:13px;font-size:27px;vertical-align:top;transform:rotate(13deg);animation:hero-beat 3s ease-in-out infinite}.hero p{font-size:12px;line-height:2.1;color:#a17885;letter-spacing:.5px;margin-top:16px}.hero-tags{display:flex;gap:15px;margin-top:19px;color:#b07c8b;font-size:10px}.hero-tags>span{background:#fffaf7a8;border:1px solid #f1dce0;padding:6px 9px;border-radius:20px}.hero-visual{position:absolute;inset:0 0 0 49%;z-index:0;overflow:hidden}.hero-art{position:absolute;inset:0;background:url('assets/sakura-dream.jpg') center 58%/cover;animation:hero-scene 20s ease-in-out infinite alternate}.hero-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#fff1ef 0%,#fff1efb0 12%,transparent 38%)}.hero-quote{position:absolute;right:8%;top:31%;z-index:2;font:22px/1.8 var(--serif);letter-spacing:3px;color:#fff8e6;text-shadow:0 2px 14px #6d294a8a;transform:rotate(-4deg)}.hero-quote>span{display:block;font:8px/1.6 Georgia,serif;letter-spacing:3px;color:#ffe0c9;margin-top:15px}.floating-word{position:absolute;z-index:3;font:italic 12px Georgia,serif;padding:10px 14px;color:#935668;background:#fffaf0db;border:1px solid #ffe9dc;border-radius:6px;box-shadow:0 5px 15px #5f24401a;backdrop-filter:blur(8px);animation:note-drift 6s ease-in-out infinite}.word-one{right:12%;top:21px;transform:rotate(6deg)}.word-two{bottom:22px;right:22%;font:10px var(--serif);letter-spacing:1px;transform:rotate(-5deg);animation-delay:-3s}.workshop{border-color:#efdee3;border-radius:20px;box-shadow:0 15px 50px #9b58610b;background:#fffefd}.workshop-top{min-height:66px;background:#fffcfa;border-color:#f0e4e7}.workshop-top h2{font-weight:600;letter-spacing:1px}.tiny-star{color:#e57e96}.version{border-color:#f3d6de;background:#ffedf2;color:#c78394}.steps{color:#b7a0a8}.steps .current{color:#d0647c}.steps b{border-color:#ecdbe0}.steps .current b{background:#fbe4eb;border-color:#fbe4eb}.steps i{background:#ecdfe3}.workspace{grid-template-columns:220px minmax(340px,380px) minmax(320px,1fr);min-height:725px}.theme-panel{background:#fffbfa;border-color:#f0e4e7;padding:27px 18px}.panel-heading h3{color:#d7a2b1}.panel-heading h3 span{color:#78505e;font-weight:600;font-size:13px}.panel-heading small{color:#b79aa5;font-size:9px}.theme-list{gap:12px;margin-top:24px}.theme-card{gap:11px;border-color:#f0e2e6;background:#fffdfb;padding:11px 9px;border-radius:10px;min-height:78px}.theme-card:hover{border-color:#e3a4b6;box-shadow:0 5px 14px #d5869813}.theme-card.chosen{border-color:#e38ca3;background:linear-gradient(120deg,#ffedf1,#fff8f5);box-shadow:0 0 0 2px #f9e2e955}.theme-card .theme-label{font-weight:500;color:#76505e;font-size:12px}.theme-card .theme-desc{color:#b796a2;font-size:8px}.theme-check{background:#df7894}.thumb{width:52px;height:55px;border-radius:7px;font-size:31px;box-shadow:inset 0 0 0 1px #ffffff40}.thumb.sakura{background:url('assets/sakura-dream.jpg') center/cover;color:#fff6e7;text-shadow:0 1px 5px #874b68}.thumb.sakura:before,.thumb.sakura:after{display:none}.thumb.sakura>span{font-size:24px}.thumb.birthday{background:radial-gradient(ellipse at 70% 10%,#9974bc,#4c426e 55%,#282b50);color:#f4d4b5}.thumb.timeline{background:linear-gradient(135deg,#e9b39b,#f5dccb);color:#b6756b}.thumb.timeline:before{background:#e2ac95}.thumb.timeline span{background:#ffefe4}.thumb.letter{background:linear-gradient(135deg,#e7b9c1,#f6e0da);color:#b67487}.thumb.gold{background:radial-gradient(ellipse at top,#675938,#2f2b27 60%);color:#e7bd6c}.little-note{background:linear-gradient(135deg,#ffe7df,#ffedf1);box-shadow:0 5px 12px #ca768015;color:#e1a0ab;padding:18px 13px 25px;transform:rotate(-3deg);border:1px solid #f7dcd9}.little-note:before{content:"";position:absolute;width:45px;height:14px;background:#f6d7c399;left:calc(50% - 22px);top:-7px;transform:rotate(7deg)}.little-note p{color:#b18089;font-size:12px}.little-note p span{color:#c29b9f}.note-heart{color:#da92a4}.editor-panel{border-color:#f0e4e7;padding:27px 24px 20px}.editor-heading{margin-bottom:27px}.editor-heading>span{color:#b1a097}.editor-heading i{background:#cea68f}.field-row label,.field,.label-line{font-size:12px;color:#886472}.field-row input,.field>input,.textarea-wrap textarea,.select-wrapper select{background:#fffcfa;border-color:#eadfe2;color:#795c67;border-radius:8px}.field-row input,.field>input{height:41px;font-size:12px}.field-row{gap:12px}.required{color:#e48c9e}.optional{color:#bba1aa;font-size:8px}.inspire{color:#d47990;font-size:10px;background:#fff1f4;border:1px solid #f7dfe6;border-radius:20px;padding:4px 7px}.textarea-wrap textarea{font-size:12px;min-height:151px;line-height:1.9;padding:12px 12px 27px}.field-hint{color:#b9a5aa;font-size:8px}.photo-strip{gap:9px}.upload-tile{border-color:#e8bdca;background:#fff4f6;color:#ca8c9f;width:67px;height:69px}.photo-tile button{background:#ca708b}.select-wrapper select{height:41px;color:#a2808d;font-size:10px}.select-wrapper>svg{color:#d6a1b0}.privacy-inline{color:#b9a088;margin-top:23px}.privacy-inline svg{color:#c9a288}#char-count{color:#bba3ab}#photo-count{color:#bca0ac}.preview-panel{background:linear-gradient(135deg,#f9e5ee,#f8e7ed 40%,#f9e9e0);position:relative}.preview-heading{position:relative;z-index:1;height:63px;padding:0 24px}.preview-heading h3{font-size:12px;color:#ad768b;gap:7px}.preview-heading h3>span:last-child{color:#c69bab;font-size:7px}.live-dot{background:#dc7c98;box-shadow:0 0 0 4px #f6dce5}.view-controls button{color:#c499aa}.view-controls button.selected{background:#efd4e1;color:#a86682}.view-controls>span{background:#e9cdda}.preview-stage{background-image:radial-gradient(#ca99b02a .8px,transparent .8px);background-size:17px 17px;padding:6px 20px 18px;min-height:626px;isolation:isolate}.preview-stage:before{content:"";position:absolute;left:12%;top:10%;width:65%;height:70%;border-radius:50%;background:#fff6e5a6;filter:blur(40px);z-index:-1}.phone-frame{width:302px;height:585px;border:7px solid #fffaf6;border-radius:36px;box-shadow:0 28px 50px #b0658625,0 4px 12px #ae678c18;transform:rotate(-1.5deg);background:#fffaf6}.phone-frame.wide{height:585px;transform:none;max-width:100%}.phone-bar{background:#ffe9e8;color:#bb8490;height:26px}.phone-camera{background:#fffaf6;height:12px;width:66px}.phone-frame iframe{top:26px;height:calc(100% - 26px);background:#ffe6e5}.stage-caption{color:#c497a3;font-family:var(--serif);font-size:10px;letter-spacing:1.2px;margin-top:20px}.preview-orbit{position:absolute;left:50%;top:46%;width:430px;height:430px;border:1px dashed #dba6b854;border-radius:50%;transform:translate(-50%,-50%) rotate(-20deg);z-index:-1}.preview-orbit:after{content:"";position:absolute;inset:-35px;border:1px solid #e5bacb45;border-radius:50%}.preview-decoration{color:#d894b2;z-index:2;pointer-events:none}.decor-one{top:15%;right:10%;font-size:37px;filter:drop-shadow(0 3px 2px #ffffff90)}.decor-two{bottom:12%;left:9%;color:#e8a2b6;font-size:29px;animation:hero-beat 4s ease-in-out infinite;filter:drop-shadow(0 3px 3px #ba6e8130)}.preview-side-note{position:absolute;color:#bd819a;text-align:center;font:italic 20px Georgia,serif;z-index:0}.preview-side-note small{display:block;font:9px/1.8 var(--serif);letter-spacing:1px;color:#b690a3;margin-top:5px}.note-top{left:9%;top:15%;transform:rotate(-12deg)}.note-bottom{right:9%;bottom:20%;font-size:32px;transform:rotate(9deg)}.preview-footer{background:#f9e9ef99;border-color:#efdae3;color:#bf96a5;font-size:9px}.preview-footer button{font-size:9px;color:#b47892}.workshop-bottom{min-height:91px;border-color:#f0e4e7;background:linear-gradient(90deg,#fffdfb,#fff7f6);padding:18px 26px}.ready-note>svg{color:#db829b;width:29px;height:29px}.ready-note strong{font-weight:600;color:#946273;font-size:13px}.ready-note div>span{color:#ba9aa4;font-size:9px}.primary{background:linear-gradient(110deg,#e87e8b,#d6557e);border:0;border-radius:9px;min-height:46px;padding:0 23px;box-shadow:0 6px 17px #da678332;font-size:12px}.primary:hover{background:linear-gradient(110deg,#e46e83,#c94d75);box-shadow:0 8px 20px #da678340}.secondary{border-color:#edcbd6;color:#bb7b92;background:#fff9f9;border-radius:9px}.under-workshop{color:#c093a3;font-size:10px}.under-workshop>span:first-child{font-style:italic}footer{border-color:#efdee3;color:#c5a5af}.footer-brand{color:#b78799}footer button{color:#bb8a9e}button:focus-visible,a:focus-visible{outline-color:#da8a9f}input:focus,textarea:focus,select:focus{border-color:#dc91a6!important;box-shadow:0 0 0 3px #df89a414}dialog{background:#fff9f6;border-color:#f1dce4;border-radius:22px}.dialog-content h2{color:#a4617c}.dialog-content p{color:#ad8b99}.dialog-content p strong{color:#c56886}.dialog-symbol{color:#d57793}.export-warning{background:#fceef1;border-color:#f4dce3;color:#b08896}.consent{color:#a47b8d}.consent input{accent-color:#d36d8d}.dialog-close{color:#ba94a3}.dialog-content>small{color:#bba0aa}#toast{background:#a65c7b;box-shadow:0 7px 20px #ba6b8330}#fullscreen-dialog{max-width:none;width:min(900px,calc(100% - 24px));border-color:#f5d7e1;background:#fff3ed}.fullscreen-close{background:#fff8f0da;border-color:#eac7d3;color:#ab7088;backdrop-filter:blur(8px)}
@keyframes hero-beat{0%,75%,100%{transform:rotate(12deg) scale(1)}80%{transform:rotate(12deg) scale(1.16)}90%{transform:rotate(12deg) scale(1.07)}}@keyframes hero-scene{to{transform:scale(1.055)}}@keyframes note-drift{50%{translate:0 -6px}}
@media(min-width:1600px){.hero{min-height:310px}.hero-copy{padding:37px 43px}.hero h1{font-size:43px}.workspace{grid-template-columns:235px 420px 1fr}.theme-panel{padding:30px 21px}.editor-panel{padding:30px}.theme-card{padding:13px 10px}.phone-frame{width:316px;height:611px}.phone-frame.wide{height:611px}.preview-stage{min-height:659px}}
@media(max-width:1200px){.hero-copy{width:67%;padding:29px}.hero h1{font-size:32px}.hero-tags{gap:8px;font-size:9px}.hero-visual{left:48%}.hero-quote{font-size:20px;right:7%}.hero p{font-size:11px}.workspace{grid-template-columns:195px minmax(310px,350px) minmax(280px,1fr)}.theme-panel{padding:26px 13px}.theme-card{gap:8px;padding:9px}.thumb{width:45px;height:51px}.theme-card .theme-label{font-size:11px}.theme-card .theme-desc{font-size:7px}.editor-panel{padding:26px 19px 18px}.phone-frame{width:272px;height:564px}.phone-frame.wide{height:564px}.preview-stage{min-height:606px;padding:8px 12px 16px}.preview-heading{padding:0 15px}.preview-heading h3>span:last-child{display:none}.preview-side-note{display:none}.decor-one{right:6%}.decor-two{left:5%}.hero-quote{top:34%}.word-one{font-size:10px}}
@media(max-width:960px) and (min-width:781px){.hero h1{font-size:28px}.hero-copy{width:70%;padding:27px}.hero-tags{gap:5px;font-size:8px}.hero-tags>span{padding:5px 7px}.hero-quote{font-size:16px;letter-spacing:2px;right:5%;top:42%}.floating-word{font-size:9px}.workspace{grid-template-columns:170px minmax(285px,1fr) minmax(245px,1fr)}.theme-panel{padding:25px 10px}.theme-card{padding:8px 6px;gap:6px}.thumb{width:37px}.theme-card .theme-label{font-size:10px}.theme-card .theme-desc{font-size:6px}.editor-panel{padding:25px 13px}.phone-frame{width:232px;height:542px;border-width:6px}.preview-stage{min-height:596px;padding:8px 5px 16px}.preview-heading{padding:0 10px}.preview-heading h3{font-size:10px}.view-controls{gap:1px}.view-controls button{width:22px}.stage-caption{font-size:8px}.decor-one,.decor-two{display:none}.preview-footer{font-size:7px}.preview-footer button{font-size:8px}.music-label>.optional{display:block;margin:5px 0 0}.field-row label,.field,.label-line{font-size:11px}.inspire{font-size:9px;padding:3px 5px}.textarea-wrap textarea{font-size:11px}}
@media(max-width:780px){.header{height:72px;padding:0 20px}.brand{font-size:20px}.brand-icon{width:37px;height:37px}.hero{margin:18px 0 22px;min-height:400px;border-radius:20px;display:block}.hero-copy{width:100%;padding:26px 22px 200px}.hero h1{font-size:31px;line-height:1.65;margin-top:12px;letter-spacing:-.5px;max-width:none}.hero h1 br{display:block}.hero .handwritten{display:inline-block;margin-left:0;font-size:30px}.hero .eyebrow{font-size:8px;letter-spacing:2px}.hero-heart{font-size:23px!important;position:static!important;margin-left:7px}.hero p{font-size:10px;line-height:1.9;margin-top:13px;max-width:100%}.hero-tags{position:absolute;bottom:17px;left:15px;right:15px;justify-content:center;gap:6px;margin:0;z-index:3;font-size:8px}.hero-tags>span{padding:6px 7px;background:#fff6efe8;box-shadow:0 3px 8px #9f547215}.hero-visual{inset:45% 0 0}.hero-visual:after{background:linear-gradient(180deg,#fff1ef 0%,#fff1ef80 19%,transparent 55%)}.hero-art{background-position:center 60%}.hero-quote{top:35%;right:9%;font-size:18px;line-height:1.7;letter-spacing:2px}.hero-quote>span{font-size:7px;margin-top:7px}.floating-word{display:none}.workshop{border-radius:18px}.workshop-top{min-height:59px}.workspace{display:flex;min-height:0}.theme-panel{padding:22px 18px}.theme-list{margin-top:17px;gap:10px}.theme-card{flex:0 0 118px;min-height:130px;padding:10px;gap:10px}.thumb{width:100%;height:65px}.theme-card .theme-label{font-size:12px}.theme-card .theme-desc{font-size:8px}.theme-panel .panel-heading small{font-size:8px}.editor-panel{padding:26px 20px}.editor-heading{margin-bottom:24px}.field-row label,.field,.label-line{font-size:12px}.field-row input,.field>input{height:45px;font-size:13px}.textarea-wrap textarea{font-size:13px;min-height:166px}.select-wrapper select{height:44px;font-size:11px}.music-label>.optional{display:inline;margin-left:6px}.upload-tile,.photo-tile{width:71px;height:73px}.field-hint{font-size:9px}.privacy-inline{font-size:9px}.workshop-bottom{padding:18px 20px}.ready-note strong{font-size:12px}.ready-note>svg{width:25px;height:25px}.bottom-actions{gap:10px}.bottom-actions>.primary{padding:0 10px;font-size:11px}.secondary{padding:0 11px;font-size:10px}.primary>span:last-child{margin-left:5px}.under-workshop{font-size:9px}.header nav{font-size:10px;gap:18px}.preview-panel{display:none}.little-note{display:none}.hero .handwritten svg{bottom:0}}
@media(max-width:370px){.hero-copy{padding-left:18px;padding-right:18px}.hero h1{font-size:28px}.hero .handwritten{font-size:27px}.hero-tags{font-size:7px;gap:4px}.hero-tags>span{padding:5px 6px}.hero-heart{display:none}.hero p{font-size:9px}.music-label>.optional{display:block;margin-left:0;margin-top:6px}.theme-panel .panel-heading small{font-size:7px}.editor-panel{padding:25px 17px}.bottom-actions>.primary{font-size:10px}.secondary{font-size:9px;padding:0 9px}}
@media(max-width:370px){.header{padding:0 15px;gap:10px}.brand{font-size:17px;gap:7px}.brand-icon{width:32px;height:32px}.brand small{font-size:5px;letter-spacing:1px}.header nav{gap:12px;font-size:9px}}
.thumb.timeline{background:linear-gradient(#c3a28422,#966c5050),url('assets/demos/lake.jpg') center/cover;color:#fff9e8}.thumb.timeline:before{display:none}.thumb.timeline span{background:#fff1d41a;text-shadow:0 2px 5px #3e3c3b99;font-size:22px}.thumb.letter{background:linear-gradient(135deg,#536375,#24364b);color:#e8c6a2}.thumb.gold{background:linear-gradient(#2b2b2966,#1e25267a),url('assets/demos/mountains.jpg') center/cover;color:#edc787}.theme-card[data-theme="timeline"] .theme-label:after,.theme-card[data-theme="birthday"] .theme-label:after,.theme-card[data-theme="letter"] .theme-label:after,.theme-card[data-theme="gold"] .theme-label:after{content:"3D";font:6px Georgia,serif;letter-spacing:.3px;display:inline-block;border:1px solid #e7b6c5;padding:1px 3px;border-radius:3px;color:#c5869b;margin-left:5px;vertical-align:2px}
.thumb.birthday{background:linear-gradient(#08132622,#08132633),url('assets/backgrounds-v4/birthday-mobile.jpg') center/cover;color:#f5d9c4}.thumb.timeline{background:linear-gradient(#a87c5822,#a87c5844),url('assets/backgrounds-v4/timeline-mobile.jpg') center/cover;color:#fff7e6}.thumb.letter{background:linear-gradient(#11203222,#11203222),url('assets/backgrounds-v4/letter-mobile.jpg') center/cover;color:#f3d6af}.thumb.gold{background:linear-gradient(#0b0e1422,#0b0e1422),url('assets/backgrounds-v4/gold-mobile.jpg') center/cover;color:#f3d6a6}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
