:root{color-scheme:light;--bg:#f9f6ef;--paper:#fffdf8;--ink:#282e29;--muted:#747a70;--line:#e6e5da;--green:#356449;--soft:#e9eddd;--error:#9b433c;--radius:16px;font-family:Arial,"Microsoft YaHei",sans-serif;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background:#ecebe3;color:var(--ink)}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer}button:disabled{opacity:.48;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--green);outline-offset:4px}a{color:var(--green)}button{border:0}h1,h2,p{margin:0}h1{font-family:Georgia,"Noto Serif",serif;font-weight:400;font-size:36px;line-height:1.15;letter-spacing:-1.1px;overflow-wrap:anywhere}h2{font-size:17px;font-weight:600;line-height:1.4}.app-shell{width:min(100%,480px);min-height:100dvh;margin:auto;background:var(--bg);box-shadow:0 0 70px #30352a0c;padding-bottom:105px}.topbar{display:flex;justify-content:space-between;align-items:center;padding:26px 23px 23px;gap:12px}.brand{direction:ltr;font-size:27px;font-weight:700;letter-spacing:-1px;display:flex;align-items:center;gap:7px;text-decoration:none;color:var(--ink)}.brand>.symbol{font-size:24px;width:32px;height:32px;border-radius:10px;background:var(--green);color:#fff;display:grid;place-items:center;margin-inline-end:2px}.brand>span:last-child{color:var(--green);margin-inline-start:-6px}.top-actions{display:flex;align-items:center;gap:9px}.language-control select{max-width:105px;width:auto;border:0;background:transparent;color:var(--muted);padding:12px 3px;font-size:12px;min-height:44px}.wallet{display:flex;align-items:center;gap:5px;min-width:49px;min-height:39px;border:1px solid var(--line);background:var(--paper);padding:8px 11px;border-radius:22px;font-size:13px}.wallet>.symbol{font-size:20px;color:var(--green)}.wallet b{font-weight:500}.page{padding:4px 24px 30px}.eyebrow{font-size:11px;letter-spacing:1.5px;color:var(--muted);margin:3px 0 13px;text-transform:uppercase}.lead{color:var(--muted);font-size:14px;line-height:1.65;margin:14px 0 0}.gift{background:var(--soft);padding:20px;border-radius:14px;margin:26px 0 29px}.gift-label{display:flex;gap:6px;align-items:center;color:var(--green);font-size:11px;text-transform:uppercase;letter-spacing:1px}.gift h2{font-size:19px;font-weight:500;margin-top:11px}.gift p{font-size:12px;line-height:1.6;color:var(--muted);margin-top:7px}.primary,.secondary{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:50px;padding:14px 17px;font-size:14px;font-weight:600;border-radius:13px;line-height:1.35;text-align:center;text-decoration:none;margin-top:17px}.primary{background:var(--green);color:#fff;border:1px solid var(--green)}.secondary{background:var(--paper);color:var(--ink);border:1px solid var(--line)}.primary.small{width:auto;display:inline-flex;font-size:12px;padding:11px 16px;min-height:44px;margin-top:15px;border-radius:10px}.section-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.section-title>span{font-size:12px;color:var(--muted)}.tool-list{margin-bottom:22px}.tool-row{width:100%;display:flex;align-items:center;gap:14px;min-height:87px;background:none;text-align:start;padding:17px 0;border-bottom:1px solid var(--line)}.tool-row:last-child{border-bottom:0}.tool-icon{width:54px;height:54px;flex-shrink:0;border-radius:11px;display:grid;place-items:center;background:#e7e8df;color:#5b6855}.tool-icon .symbol{font-size:25px;font-family:Georgia,serif}.tone-0{background:#eee4ed;color:#8f6d83}.tone-1{background:#e3e9e8;color:#617570}.tone-2{background:#efe3d8;color:#9a7c64}.tone-3{background:#e4e8d8;color:#6c7f58}.tone-4{background:#e9e1da;color:#907463}.tone-5{background:#eee8d8;color:#96845c}.tool-text{display:flex;flex-direction:column;gap:6px;min-width:0;flex:1}.tool-text strong{font-size:15px;font-weight:600}.tool-text small{font-size:12px;line-height:1.5;color:var(--muted)}.arrow{color:var(--muted);font-size:19px}.fine{font-size:12px;line-height:1.7;color:var(--muted);margin-top:15px;overflow-wrap:anywhere}.center{text-align:center}.bottom-nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,480px);z-index:20;background:var(--paper);border-top:1px solid var(--line);padding:7px 11px max(12px,env(safe-area-inset-bottom))}.bottom-nav>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:3px}.bottom-nav button{padding:9px 3px 6px;background:none;color:var(--muted);display:flex;flex-direction:column;gap:7px;align-items:center;font-size:11px;line-height:1.35;min-height:57px;overflow-wrap:anywhere}.bottom-nav .symbol{font-size:24px;height:24px}.bottom-nav [aria-current=page]{color:var(--green)}.back{display:flex;align-items:center;gap:8px;margin:0 0 21px;min-height:44px}.text-button{padding:8px 0;background:none;font-size:13px;color:var(--muted)}.uploads{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:25px}.uploads.single{grid-template-columns:1fr}.upload-slot{position:relative;overflow:hidden;border:1px dashed #cbd1bd;border-radius:16px;background:var(--paper)}.upload-choice{display:flex;min-height:157px;align-items:center;justify-content:center;flex-direction:column;gap:10px;cursor:pointer;padding:20px 10px 15px;text-align:center;position:relative}.single .upload-choice{min-height:198px}.upload-choice .add{color:var(--green);font-size:31px;font-weight:400}.upload-choice strong{font-size:13px;line-height:1.5}.upload-choice small{font-size:12px;color:var(--muted)}.upload-choice img{width:100%;height:126px;object-fit:contain;border-radius:10px}.single .upload-choice img{height:175px}.has-photo{border-style:solid}.upload-controls{display:flex;gap:12px;align-items:center;justify-content:center;padding:0 8px 8px;flex-wrap:wrap}.camera-label{display:flex;align-items:center;justify-content:center;min-height:36px;font-size:12px;color:var(--green);cursor:pointer}.upload-controls button{font-size:12px;min-height:36px}.option-group{border:0;padding:0;margin:25px 0}.option-group legend{font-size:13px;font-weight:600;padding:0;margin-bottom:12px}.choices{display:flex;gap:8px;flex-wrap:wrap}.choices button{padding:11px 14px;min-height:44px;font-size:12px;border:1px solid var(--line);border-radius:10px;background:var(--paper)}.choices [aria-pressed=true]{background:var(--soft);border-color:var(--green);color:var(--green)}.consent{display:flex;gap:10px;align-items:flex-start;color:var(--muted);font-size:12px;line-height:1.65;margin-top:25px;min-height:44px}.consent input{accent-color:var(--green);width:17px;height:17px;flex-shrink:0;margin:3px 0 0}.generation-cost{display:flex;justify-content:space-between;gap:12px;margin-top:22px;font-size:12px;line-height:1.5;color:var(--muted)}.generation-cost span:last-child{color:var(--green)}.result-stage{margin-top:25px;border-radius:18px;background:var(--soft);min-height:320px;overflow:hidden}.result-stage>img{width:100%;height:auto;display:block}.result-empty{display:flex;flex-direction:column;gap:16px;align-items:center;justify-content:center;min-height:350px;padding:24px;text-align:center;color:var(--green)}.result-empty p{font-size:13px;line-height:1.7;color:var(--muted)}.result-empty .symbol{font-size:42px}.spinner{width:32px;height:32px;border:2px solid #b9c8a4;border-top-color:var(--green);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.field{display:flex;flex-direction:column;gap:9px;margin-top:23px}.field label{font-size:13px;font-weight:600}.field input,.field select{min-height:49px;border:1px solid var(--line);border-radius:12px;background:var(--paper);color:var(--ink);padding:13px 14px;width:100%;font-size:16px}.field small{font-size:12px;line-height:1.55;color:var(--muted)}.notice{background:var(--soft);border-radius:11px;color:var(--green);padding:14px;font-size:13px;line-height:1.6;margin-top:20px}.balance{background:var(--soft);padding:24px;border-radius:17px;margin:25px 0 19px;display:flex;flex-direction:column;gap:9px}.balance strong{font-family:Georgia,serif;font-size:39px;font-weight:400}.balance span{font-size:13px}.balance small{font-size:12px;color:var(--muted)}.plans{display:flex;flex-direction:column;gap:12px}.plan{border:1px solid var(--line);padding:21px 18px;border-radius:15px;background:var(--paper);display:flex;justify-content:space-between;align-items:center;gap:12px;text-align:start}.plan>span{display:flex;flex-direction:column;gap:7px}.plan strong{font-size:15px;font-weight:600}.plan small{font-size:12px;color:var(--muted)}.plan>bdi{font-size:23px;font-family:Georgia,serif}.plan[aria-pressed=true]{border:2px solid var(--green);padding:20px 17px;background:var(--soft)}.avatar{width:64px;height:64px;display:grid;place-items:center;border-radius:50%;background:var(--soft);color:var(--green);font-size:23px;margin:29px 0 16px}.account-list{background:var(--paper);border-radius:16px;padding:0 17px;margin-top:25px}.account-list>button,.account-row{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:59px;border-bottom:1px solid var(--line);padding:17px 0;font-size:13px;width:100%;background:none;text-align:start;line-height:1.5}.account-list>button:last-child,.account-row:last-child{border-bottom:0}.account-list>button span,.account-row>span{color:var(--muted);font-size:12px;text-align:end}.order{display:flex;justify-content:space-between;gap:13px;padding:20px 0;border-bottom:1px solid var(--line)}.order:last-child{border:0}.order strong{font-size:13px;font-weight:600}.order small{font-size:11px;line-height:1.6;color:var(--muted);display:block;margin-top:6px;overflow-wrap:anywhere}.order>div:last-child{flex-shrink:0;text-align:end}.creation-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:22px}.creation{padding:0 0 15px;background:var(--paper);border:1px solid var(--line);border-radius:13px;overflow:hidden;text-align:start}.creation>img{width:100%;aspect-ratio:1;object-fit:cover}.creation strong,.creation small{display:block;padding:0 12px}.creation strong{font-size:13px;margin-top:12px}.creation small{font-size:11px;line-height:1.5;color:var(--muted);margin-top:6px}.creation-placeholder{display:grid;place-items:center;aspect-ratio:1;background:var(--soft);color:var(--green);font-size:36px}.empty{display:flex;flex-direction:column;align-items:center;text-align:center;padding:62px 14px 25px;gap:16px}.empty p{font-size:14px;color:var(--muted);line-height:1.7}.empty-art{font-size:54px;color:var(--green);margin:0 0 13px}.information{background:var(--paper);border:1px solid var(--line);padding:25px 21px;border-radius:16px;margin-top:28px;font-size:14px;line-height:1.9}.inline-link{background:none;color:var(--green);font-size:inherit;text-decoration:underline;padding:0}.toast{position:fixed;bottom:100px;left:50%;transform:translateX(-50%);width:min(calc(100% - 30px),430px);padding:16px 18px;border-radius:12px;background:#2e392e;color:#fff;z-index:50;font-size:13px;line-height:1.5;box-shadow:0 5px 25px #0002}.boot{font-family:Georgia,serif;font-size:38px;text-align:center;padding:180px 20px}.boot span{color:var(--green)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}[dir=rtl] .back-arrow{transform:scaleX(-1)}[dir=rtl] h1{font-family:Georgia,Arial,sans-serif;letter-spacing:0;line-height:1.35}
@media(min-width:600px){.app-shell{margin:24px auto;min-height:calc(100dvh - 48px);border-radius:24px 24px 0 0}.topbar{padding-top:30px}.bottom-nav{box-shadow:0 -10px 28px #30352a06}}
@media(max-width:359px){.topbar{padding:20px 17px;gap:8px}.page{padding-inline:18px}h1{font-size:31px}.brand{font-size:24px}.language-control select{max-width:84px}.tool-row{gap:11px}.tool-text strong{font-size:14px}.upload-choice{min-height:145px}.primary{font-size:13px}}
@media(prefers-reduced-motion:reduce){.spinner{animation:none}}
.web-camera-dialog{width:min(calc(100% - 28px),460px);padding:0;border:0;border-radius:22px;background:var(--paper);color:var(--ink);box-shadow:0 20px 70px #0005}.web-camera-dialog::backdrop{background:#1e2a2399}.web-camera-shell{padding:14px}.web-camera-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:2px 2px 12px}.web-camera-head strong{font-size:15px}.web-camera-head .icon-button{width:40px;height:40px;margin:0}.web-camera-dialog video{display:block;width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:16px;background:#18211b;transform:scaleX(-1)}.web-camera-dialog video[src*="environment"]{transform:none}.web-camera-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding-top:12px}.web-camera-actions button{margin:0}.web-camera-actions .is-recording{background:var(--error);border-color:var(--error)}
.web-camera-dialog{inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border:0;border-radius:0;background:#0d120f;color:#fff;box-shadow:none}.web-camera-dialog::backdrop{background:#000}.web-camera-shell{height:100%;display:grid;grid-template-rows:auto minmax(0,1fr) auto;padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom)}.web-camera-head{height:64px;padding:8px 18px;z-index:2}.web-camera-head strong{font-size:15px;font-weight:600;letter-spacing:.2px}.web-camera-close,.web-camera-switch{display:grid;place-items:center;width:42px;height:42px;border:0;border-radius:50%;background:#ffffff1c;color:#fff;font-size:26px;line-height:1}.web-camera-switch{font-size:25px}.web-camera-preview{position:relative;min-height:0;overflow:hidden;background:#050705}.web-camera-dialog video{width:100%;height:100%;aspect-ratio:auto;object-fit:cover;border-radius:0;background:#050705;transform:scaleX(-1)}.web-camera-dialog video[data-facing="environment"]{transform:none}.web-camera-guide{position:absolute;inset:12% 13%;border:1px solid #ffffff55;border-radius:20px;box-shadow:0 0 0 999px #0001;pointer-events:none}.web-camera-actions{display:flex;align-items:center;justify-content:space-between;min-height:132px;padding:18px 32px 24px;background:#0d120f}.web-camera-hint{width:88px;color:#ffffff99;font-size:11px;line-height:1.45;text-align:center}.web-camera-shutter{display:grid;place-items:center;width:78px;height:78px;margin:0;border:5px solid #fff;border-radius:50%;background:transparent}.web-camera-shutter span{display:block;width:62px;height:62px;border-radius:50%;background:#fff;transition:transform .15s ease}.web-camera-shutter:active span{transform:scale(.88)}.web-camera-shutter.video span{background:#f0524c}.web-camera-shutter.video.is-recording span{width:28px;height:28px;border-radius:6px}.web-camera-actions .is-recording{background:transparent;border-color:#fff}
.web-camera-close{display:flex;align-items:center;justify-content:center;gap:4px;width:auto;min-width:72px;padding:0 10px;font-size:14px}.web-camera-close span:first-child{font-size:29px;font-weight:300;line-height:18px}.web-camera-guide{display:none}
.web-camera-dialog video,.web-camera-dialog video[data-facing="environment"]{transform:none}


.captcha-card{margin-top:18px;padding:14px 14px 16px;border:1px solid var(--line);border-radius:18px;background:var(--paper);color:var(--ink)}
.captcha-head{display:flex;align-items:center;min-height:28px}
.captcha-head strong{font-size:13px;font-weight:600}
.captcha-hint{margin:4px 0 0;font-size:13px;line-height:1.5;color:var(--muted)}
.captcha-track{position:relative;height:52px;margin-top:12px;border-radius:26px;background:#f4f1e8;border:1px solid var(--line);overflow:hidden;touch-action:none}
.captcha-progress{position:absolute;left:0;top:0;bottom:0;width:0;background:#dce8df}
.captcha-track-label{position:absolute;inset:0;display:grid;place-items:center;font-size:14px;color:var(--muted);pointer-events:none}
.captcha-handle{position:absolute;top:4px;left:4px;width:56px;height:44px;border-radius:22px;background:var(--green);color:#fff;font-size:20px;line-height:1;box-shadow:0 4px 12px rgba(53,100,73,.28);touch-action:none}
.captcha-card.is-passed{border-color:var(--green)}
.captcha-card.is-passed .captcha-hint,.captcha-card.is-passed .captcha-track-label{color:var(--green);font-weight:600}
.captcha-card.is-failed{animation:captcha-shake .36s linear}
@keyframes captcha-shake{20%{transform:translateX(-4px)}40%{transform:translateX(4px)}60%{transform:translateX(-3px)}80%{transform:translateX(3px)}}
@media (prefers-reduced-motion:reduce){.captcha-card.is-failed{animation:none}}
