@charset "UTF-8";
:root{color-scheme:light;--ink:#263d30;--muted:#788076;--paper:#f7f5ee;--line:#e5e6dc;--sage:#dce3d2;--font:"PingFang SC","Microsoft YaHei",system-ui,sans-serif;--serif:"Noto Serif SC","Songti SC","SimSun",serif;--ease:cubic-bezier(.2,.75,.2,1)}
*{box-sizing:border-box}body{margin:0;background:#e9ece3;color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased}button,a,input{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:default}button:focus-visible,a:focus-visible,.carousel:focus-visible{outline:3px solid #9caa74;outline-offset:5px}a{color:inherit;text-decoration:none}button{border:0;background:none}img{max-width:100%;display:block}h1,h2,h3,p{margin:0}.presentation{min-height:100dvh;display:grid;grid-template-columns:minmax(340px,540px) 430px;gap:90px;align-items:center;justify-content:center;padding:34px 52px}.intro{height:min(850px,calc(100dvh - 68px));min-height:650px;display:flex;flex-direction:column;justify-content:space-between;padding:15px 0}.wordmark{display:flex;align-items:center;gap:11px;font-size:18px;font-weight:600;letter-spacing:1px;white-space:nowrap}.brand-mark{width:40px;height:40px;display:grid;place-items:center;background:var(--ink);border-radius:50%;color:var(--paper);font:italic 34px Georgia,serif;letter-spacing:-3px;padding-right:4px;padding-bottom:5px}.brand-mark.small{width:30px;height:30px;font-size:27px;padding-bottom:4px}.edition{font-size:9px;letter-spacing:1.8px;font-weight:400;color:#848c7c;margin-left:16px;border-left:1px solid #ccd2c2;padding-left:16px}.eyebrow{font-size:12px;letter-spacing:3px;color:#7c856f}.intro h1{font:500 clamp(40px,4.1vw,60px)/1.35 var(--serif);letter-spacing:-2px;margin:22px 0}.period{color:#9aab7a}.intro-description{font-size:15px;line-height:1.95;color:#727c69}.journey{list-style:none;padding:0;margin:40px 0 0;display:flex;flex-direction:column;gap:24px}.journey li{display:flex;align-items:center;gap:18px;opacity:.52;transition:opacity .3s}.journey li.current{opacity:1}.journey li>span{width:37px;height:37px;border:1px solid #b8c2ac;display:grid;place-items:center;border-radius:50%;font:12px Georgia,serif;transition:background .3s,color .3s}.journey li.current>span{background:var(--ink);border-color:var(--ink);color:var(--paper)}.journey strong{font-size:14px;font-weight:500}.journey p{font-size:11px;color:#7a8472;line-height:1.8;margin-top:4px}.prototype-note{display:flex;gap:10px;align-items:start;font-size:10px;color:#838a7b;line-height:1.85}.status-dot{flex:0 0 6px;height:6px;background:#829774;border-radius:50%;margin-top:7px}.app{position:relative;background:var(--paper);width:430px;height:min(884px,calc(100dvh - 48px));min-height:690px;display:flex;flex-direction:column;isolation:isolate;box-shadow:0 22px 65px #30432d12,0 1px 1px #ffffff80;border:1px solid #fff9;border-radius:22px;overflow:hidden}.app-header{height:70px;padding:0 25px;display:flex;align-items:center;justify-content:space-between;flex:none;z-index:10;background:var(--paper)}.app-brand{font-size:15px;font-weight:600;letter-spacing:1px;display:flex;align-items:center;gap:8px}.text-button{font-size:12px;padding:12px 3px;min-height:44px}.page-stage{flex:1;position:relative;perspective:1300px;overflow:hidden;min-height:0;isolation:isolate}.screen{position:absolute;inset:0;display:none;background:var(--paper);backface-visibility:hidden;transform-style:preserve-3d;overflow-y:auto;overflow-x:hidden;scrollbar-width:none}.screen::-webkit-scrollbar{display:none}.screen.is-active,.screen.page-enter,.screen.page-leave,.screen.page-return-enter,.screen.page-return-leave{display:block}.screen-content{min-height:100%;display:flex;flex-direction:column;padding:12px 25px 20px}.step-label{display:flex;align-items:center;justify-content:space-between;font-size:10px;letter-spacing:1.5px;color:var(--muted);margin-bottom:17px;min-height:26px}.step-label span:first-child{font-variant-numeric:tabular-nums}.screen h2{font:600 28px/1.45 var(--serif);letter-spacing:-.7px;outline:none}.screen-subtitle{font-size:12px;line-height:1.8;color:var(--muted);margin-top:8px}.photo-pile{position:relative;width:100%;height:330px;min-height:255px;flex:1;margin:24px 0 16px;perspective:1100px;touch-action:manipulation}.front-print,.back-print{position:absolute;left:50%;top:50%;padding:9px 9px 0;background:#fffdf7;box-shadow:0 14px 25px #303f2d1b,0 0 1px #303f2d30;border:1px solid #ecebdd;width:225px;height:288px;transform:translate(-50%,-50%) rotate(-4deg);transition:transform .6s var(--ease);pointer-events:none}.front-print img{width:100%;height:232px;object-fit:cover;object-position:center 40%;border-radius:1px}.back-print{width:215px;height:275px;padding:8px 8px 30px}.back-print img{width:100%;height:100%;object-fit:cover}.print-one{transform:translate(-66%,-48%) rotate(-17deg)}.print-two{transform:translate(-34%,-52%) rotate(13deg)}.photo-pile:hover .front-print{transform:translate(-50%,-52%) rotate(-1deg)}.photo-pile:hover .print-one{transform:translate(-69%,-48%) rotate(-20deg)}.photo-pile:hover .print-two{transform:translate(-30%,-53%) rotate(17deg)}.print-caption{display:flex;justify-content:space-between;align-items:center;height:40px;font:12px var(--serif);color:#57614e}.print-caption>span:last-child{font:7px var(--font);letter-spacing:1.5px;color:#949a8c}.photo-tag{position:absolute;left:50%;top:50%;transform:translate(45px,108px) rotate(6deg);background:#e4ebd7;color:#5b6c4b;padding:7px 12px;font-size:10px;border-radius:2px;box-shadow:0 3px 8px #35432910}.upload-actions{margin-top:auto;flex:none;text-align:center}.primary-button{min-height:53px;width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 21px;background:var(--ink);color:#f6f6ed;border-radius:12px;font-size:14px;font-weight:500;transition:background .2s,transform .2s;touch-action:manipulation}.primary-button:hover{background:#344f3a}.primary-button:active{transform:scale(.985)}.primary-button>span:last-child{font-size:22px;font-weight:400}.primary-button:disabled{opacity:.6;transform:none}.sample-button{font-size:12px;min-height:45px;padding:12px 18px;color:#5c6e4f;margin-top:4px;text-decoration:underline;text-decoration-color:#b9c5a8;text-underline-offset:5px}.sample-button span{display:inline-block;margin-left:6px}.helper{font-size:10px;color:#8c9285;margin-top:7px;line-height:1.7}.app-footer{height:43px;flex:none;display:flex;align-items:center;justify-content:space-between;padding:0 24px;border-top:1px solid var(--line);font-size:7px;letter-spacing:1.2px;color:#8a9281;background:var(--paper);z-index:10}.demo-badge{font-size:8px;letter-spacing:1px;border:1px solid #d6ddcd;padding:3px 5px;border-radius:4px}.mobile-note{display:none}.back-button{font-size:11px;letter-spacing:.2px;min-height:30px;padding:3px 0;color:#65755a}.style-heading-row{display:flex;justify-content:space-between;align-items:center;gap:10px}.style-heading-row h2{font-size:24px}.style-heading-row .screen-subtitle{font-size:11px;margin-top:7px}.source-thumb{width:42px;height:50px;object-fit:cover;border:3px solid #fffdf7;transform:rotate(6deg);box-shadow:0 2px 7px #253a2314;border-radius:4px}.styles-screen .screen-content{padding-left:0;padding-right:0}.styles-screen .step-label,.style-heading-row,.style-actions,.style-copy{margin-left:25px;margin-right:25px}.carousel{position:relative;width:100%;height:355px;min-height:260px;max-height:420px;flex:1;perspective:1000px;transform-style:preserve-3d;touch-action:pan-y;user-select:none;-webkit-user-select:none;cursor:grab;margin-top:12px;outline-offset:-5px!important}.carousel.is-dragging{cursor:grabbing}.style-card{position:absolute;top:50%;left:50%;width:243px;height:305px;padding:0;border-radius:15px;overflow:hidden;background:#d3d7cb;box-shadow:0 15px 22px #2439232d;will-change:transform;transform-style:preserve-3d;transform-origin:50% 50%;backface-visibility:hidden;transition:transform 500ms var(--ease),filter 400ms,box-shadow 400ms;touch-action:pan-y;user-select:none;cursor:inherit;border:1px solid #fff5}.carousel.is-dragging .style-card{transition:none}.style-card>img{width:100%;height:100%;object-fit:cover;pointer-events:none;-webkit-user-drag:none}.card-corner{position:absolute;top:13px;left:13px;font-size:8px;letter-spacing:1.6px;color:#fff;background:#1f302859;padding:5px 7px;border:1px solid #ffffff38;border-radius:4px;pointer-events:none}.card-footer{position:absolute;bottom:0;left:0;right:0;background:#142318a8;backdrop-filter:blur(12px);padding:14px 17px;text-align:left;pointer-events:none;color:#fff}.card-footer>span{display:block;font:500 20px var(--serif)}.card-footer small{display:block;font-size:9px;color:#e2e7dc;margin-top:5px;letter-spacing:.5px}.carousel-floor{position:absolute;left:18%;right:18%;bottom:4%;height:10px;border-radius:50%;background:#344e2b18;filter:blur(12px);pointer-events:none}.carousel-controls{display:flex;justify-content:center;align-items:center;gap:32px;flex:none;height:40px;margin-top:0}.arrow-button{width:44px;height:38px;color:#607353;font-size:21px;border:1px solid #dfe3d6;border-radius:50%;transition:background .2s}.arrow-button:hover{background:#e6ebdd}.arrow-button:disabled{opacity:.32}.style-indicators{display:flex;align-items:center;gap:0;height:36px}.style-indicators button{width:26px;height:36px;padding:0;position:relative}.style-indicators button::after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:5px;height:5px;border-radius:5px;background:#c9d1bc;transition:width .3s,background .3s}.style-indicators button[aria-current="true"]::after{width:17px;background:#607650}.style-copy{text-align:center;padding:10px 0 4px;min-height:68px;flex:none}.style-copy h3{font-size:18px;font-family:var(--serif);font-weight:600}.style-copy p{font-size:10px;color:var(--muted);line-height:1.6;margin-top:6px}.style-actions{margin-top:auto;padding-top:8px;flex:none}.example-note{font-size:9px;color:#838b7a;text-align:center;line-height:1.7;margin-bottom:10px}.page-enter{z-index:3;transform-origin:50% 100%;animation:pageEnter 850ms var(--ease) both}.page-leave{z-index:4;transform-origin:50% 0%;animation:pageLeave 850ms var(--ease) both;pointer-events:none}.page-return-enter{z-index:4;transform-origin:50% 0%;animation:pageReturnEnter 800ms var(--ease) both}.page-return-leave{z-index:3;transform-origin:50% 100%;animation:pageReturnLeave 800ms var(--ease) both;pointer-events:none}@keyframes pageLeave{0%{transform:translateY(0) rotateX(0deg);opacity:1}65%{opacity:.82}100%{transform:translateY(-103%) rotateX(46deg) scale(.92);opacity:0}}@keyframes pageEnter{0%{transform:translateY(105%) rotateX(-26deg) scale(.93);opacity:.25}100%{transform:translateY(0) rotateX(0deg) scale(1);opacity:1}}@keyframes pageReturnEnter{0%{transform:translateY(-103%) rotateX(46deg) scale(.92);opacity:.2}100%{transform:translateY(0) rotateX(0deg) scale(1);opacity:1}}@keyframes pageReturnLeave{0%{transform:translateY(0) rotateX(0deg) scale(1);opacity:1}100%{transform:translateY(105%) rotateX(-26deg) scale(.93);opacity:0}}.result-art{position:relative;flex:1;min-height:230px;max-height:370px;margin:20px 16px 18px;overflow:hidden;border:9px solid #fffdf7;box-shadow:0 12px 26px #263d3018;transform:rotate(-2deg);transition:transform .5s;border-radius:2px}.result-art img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;filter:blur(12px) saturate(.6);transition:filter 1.2s,transform 1.2s;transform:scale(1.08)}.result-art.is-done img{filter:none;transform:scale(1)}.result-image-label{position:absolute;bottom:9px;right:9px;background:#f6f4eae8;padding:5px 9px;font-size:10px;color:#46513e}.generation-steps{list-style:none;padding:0;display:flex;justify-content:center;gap:22px;margin:8px 0;font-size:11px;color:#a0a594;flex:none}.generation-steps li{position:relative;padding-bottom:8px;border-bottom:2px solid transparent}.generation-steps li.active{color:var(--ink);border-color:#a6b990}.generation-steps li.done{color:#6b7c5d}.result-note{font-size:10px;color:#7d8674;text-align:center;line-height:1.8;min-height:35px;margin:8px 0 10px;flex:none}.result-screen .primary-button{margin-top:auto;justify-content:center;flex:none}dialog{border:0;padding:0;background:var(--paper);color:var(--ink);border-radius:22px;width:min(365px,calc(100vw - 36px));box-shadow:0 25px 100px #15241140}dialog::backdrop{background:#1c2d2366;backdrop-filter:blur(6px)}.login-dialog-content{padding:35px 28px 22px;text-align:center;position:relative}.login-dialog-content .brand-mark{margin:auto}.login-dialog-content .eyebrow{margin:23px 0 10px;font-size:10px}.login-dialog-content h2{font:600 25px var(--serif)}.login-dialog-content>p:not(.eyebrow){font-size:12px;line-height:1.9;color:var(--muted);margin:15px 0 26px}.login-dialog-content .primary-button{justify-content:center}.login-dialog-content .text-button{margin-top:9px;color:var(--muted)}.dialog-close{position:absolute;top:8px;right:8px;width:42px;height:42px;font-size:25px;color:#7d8773}.toast{position:fixed;left:50%;bottom:40px;transform:translate(-50%,16px);background:#263d30;color:#fffdf6;border:1px solid #66785b;border-radius:10px;font-size:12px;padding:12px 18px;z-index:100;max-width:calc(100vw - 35px);text-align:center;opacity:0;transition:transform .2s,opacity .2s;pointer-events:none;box-shadow:0 8px 30px #10241130}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(min-width:800px) and (max-height:820px){.presentation{padding:20px 35px;gap:65px}.intro{min-height:650px}.intro h1{font-size:45px}.intro-description{font-size:13px}.journey{gap:18px;margin-top:28px}.app{height:740px;min-height:690px}.app-header{height:60px}.screen h2{font-size:25px}.photo-pile{min-height:240px;margin:12px 0;height:260px}.front-print{width:201px;height:264px}.front-print img{height:208px}.back-print{width:192px;height:252px}.photo-tag{transform:translate(40px,95px) rotate(6deg)}.style-heading-row h2{font-size:23px}.carousel{height:290px;min-height:245px}.style-card{height:277px;width:221px}.screen-content{padding-top:7px}.step-label{margin-bottom:10px}}
@media(max-width:1050px) and (min-width:701px){.presentation{grid-template-columns:minmax(250px,360px) 390px;gap:38px;padding:24px}.app{width:390px}.intro h1{font-size:42px}.edition{display:none}}
@media(max-width:700px){body{background:var(--paper)}.presentation{display:block;padding:0;min-height:100dvh}.intro{display:none}.app{width:100%;max-width:500px;height:calc(100dvh - 23px);min-height:620px;margin:auto;border:0;box-shadow:none;border-radius:0}.app-header{height:64px;padding:0 23px;padding-top:env(safe-area-inset-top)}.app-footer{height:35px;padding:0 23px}.mobile-note{display:block;height:23px;text-align:center;font-size:8px;line-height:23px;letter-spacing:.3px;color:#939987;background:var(--paper)}.screen-content{padding:10px 23px 16px}.photo-pile{min-height:240px;height:330px;margin:15px 0 18px}.carousel{height:350px;min-height:260px;max-height:460px}.styles-screen .step-label,.style-heading-row,.style-actions,.style-copy{margin-left:23px;margin-right:23px}.style-heading-row h2{font-size:23px}.style-card{width:min(60vw,255px);height:min(78vw,330px)}.style-copy{padding:9px 0 4px;min-height:65px}.style-actions{padding-top:7px}.screen-subtitle{font-size:11px}.toast{bottom:34px}}
@media(max-width:700px) and (max-height:740px){.app{height:calc(100dvh - 23px);min-height:610px}.app-header{height:55px}.screen-content{padding-top:5px;padding-bottom:12px}.screen h2{font-size:25px}.step-label{margin-bottom:10px}.photo-pile{height:255px;min-height:230px;margin:9px 0}.front-print{width:192px;height:250px}.front-print img{height:196px}.back-print{width:183px;height:238px}.print-caption{height:36px;font-size:10px}.photo-tag{transform:translate(33px,90px) rotate(6deg)}.helper{margin-top:1px}.sample-button{min-height:38px;margin-top:0}.style-heading-row h2{font-size:22px}.carousel{height:265px;min-height:230px;margin-top:4px}.style-card{width:min(60vw,212px);height:min(75vw,265px)}.carousel-controls{height:35px}.style-copy{min-height:58px;padding:8px 0 0}.style-copy h3{font-size:17px}.style-copy p{font-size:9px}.example-note{font-size:8px;margin-bottom:7px}.primary-button{min-height:48px;padding:10px 18px}.result-art{min-height:210px}}
@media(max-width:350px){.screen-content{padding-left:19px;padding-right:19px}.screen h2{font-size:23px}.style-heading-row h2{font-size:20px}.styles-screen .step-label,.style-heading-row,.style-actions,.style-copy{margin-left:19px;margin-right:19px}.source-thumb{width:35px;height:44px}.style-heading-row .screen-subtitle{font-size:10px}.front-print{width:175px;height:233px}.front-print img{height:180px}.back-print{width:167px;height:222px}.photo-tag{transform:translate(20px,80px) rotate(6deg)}.photo-pile{min-height:220px}.style-card{width:197px;height:249px}.carousel{min-height:250px}.app-header{padding-left:19px;padding-right:19px}.app-footer{padding:0 19px}.primary-button{font-size:13px}}
@media(max-width:700px) and (max-height:640px){.app{min-height:0;height:calc(100dvh - 23px)}.app-header{height:50px}.app-footer{height:28px}.screen-content{padding-top:3px;padding-bottom:9px}.step-label{margin-bottom:5px;min-height:25px}.screen h2{font-size:22px}.screen-subtitle{margin-top:5px;font-size:10px}.photo-pile{height:200px;min-height:170px;margin:8px 0}.front-print{width:155px;height:200px;padding:7px 7px 0}.front-print img{height:153px}.print-caption{height:34px;font-size:9px}.back-print{width:148px;height:192px;padding:6px 6px 22px}.photo-tag{font-size:8px;transform:translate(17px,66px) rotate(6deg);padding:5px 9px}.helper{font-size:9px}.style-heading-row h2{font-size:20px}.source-thumb{width:32px;height:39px}.carousel{height:205px;min-height:190px;max-height:245px;margin-top:5px}.style-card{width:155px;height:200px;border-radius:11px}.card-footer{padding:10px 11px}.card-footer>span{font-size:16px}.card-footer small{font-size:8px;margin-top:4px}.card-corner{font-size:7px;top:9px;left:9px;padding:4px 5px}.carousel-controls{height:32px}.arrow-button{width:38px;height:32px;font-size:18px}.style-copy{padding:5px 0 0;min-height:48px}.style-copy h3{font-size:16px}.style-copy p{font-size:9px;margin-top:4px}.style-actions{padding-top:4px}.example-note{font-size:8px;margin-bottom:5px}.primary-button{min-height:43px;padding:9px 15px;font-size:12px}.primary-button>span:last-child{font-size:18px}.result-art{min-height:160px;max-height:250px;margin:12px 26px}.generation-steps{margin:5px 0;font-size:10px}.result-note{font-size:9px;margin:6px 0;min-height:29px}.sample-button{min-height:35px;padding:9px;font-size:11px}}
@media(min-width:1051px){.app{height:min(884px,calc(100dvh - 68px))}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:1ms!important;animation-delay:0ms!important;transition-duration:1ms!important;scroll-behavior:auto!important}.photo-pile:hover .front-print{transform:translate(-50%,-50%) rotate(-4deg)}}
.result-actions{display:flex;align-items:stretch;gap:10px;margin-top:auto;flex:none}.result-screen .result-actions .primary-button{margin-top:0;flex:1;min-width:0;justify-content:space-between;text-decoration:none;cursor:pointer}.download-button[aria-disabled="true"]{opacity:.5;cursor:default!important}.download-button[aria-disabled="true"]:hover{background:var(--ink)}.result-secondary-button{flex:none;min-width:100px;padding:12px 14px;border:1px solid #cfd9c4;border-radius:12px;color:#4d6542;font-size:12px;background:#edf0e5}.result-secondary-button:hover:not(:disabled){background:#e3eada}.result-secondary-button:disabled{opacity:.45}.download-button:focus-visible{outline:3px solid #9caa74;outline-offset:4px}@media(max-width:350px){.result-actions{gap:8px}.result-secondary-button{min-width:86px;padding:10px;font-size:11px}}@media(max-width:700px) and (max-height:640px){.result-secondary-button{padding:9px 11px;border-radius:10px}}
