:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;color:#243f36;background:#f6f5ef;font-synthesis:none;--green:#284e40;--deep:#173d30;--muted:#7a867d;--line:#e2e5db;--paper:#fffef9;--accent:#d4e2c4}*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button,a,input,textarea{outline-offset:4px}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid #6d8c59}[hidden]{display:none!important}.site-header{max-width:1480px;margin:0 auto;min-height:106px;padding:28px 56px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;gap:12px;align-items:center;text-decoration:none}.brand-mark{display:grid;place-items:center;height:44px;width:44px;color:#fffdf4;background:var(--green);border-radius:12px;font-family:serif;font-size:27px}.brand strong{display:block;font-family:serif;font-size:27px;line-height:1}.brand-divider{color:#b3b9ac;font-family:sans-serif;margin-left:13px;font-size:22px;font-weight:300}.brand small{display:block;font-size:8px;letter-spacing:2.4px;margin-top:7px}.header-actions{display:flex;gap:18px;align-items:center}.private-badge{display:flex;align-items:center;gap:7px;background:#e8eddf;padding:8px 12px;border-radius:20px;font-size:11px}.private-badge span{font-size:16px}.username{font-size:12px;color:var(--muted)}.text-button{padding:6px 0;border:0;background:none;color:var(--green);font-size:12px}.text-button:hover{text-decoration:underline}main{max-width:1480px;margin:0 auto;padding:46px 56px 0}.intro{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:34px}.eyebrow{margin:0 0 10px;font-size:10px;letter-spacing:2px;font-weight:600;color:#7b8975}h1{font-size:clamp(27px,3.1vw,41px);font-family:serif;font-weight:500;letter-spacing:1px;margin:0 0 13px;line-height:1.3}.intro-copy{margin:0;font-size:12px;line-height:1.9;color:var(--muted)}.service-chip{display:flex;gap:9px;align-items:center;white-space:nowrap;padding:10px 14px;background:#eeeee5;border:1px solid #e3e6d9;border-radius:20px;font-size:10px;letter-spacing:.2px}.status-dot{width:6px;height:6px;border-radius:50%;background:#a2ac97;flex:none}.service-chip.online .status-dot{background:#6b8f60;box-shadow:0 0 0 3px #dfe7d8}.service-chip.offline .status-dot{background:#ba8463}.notice{padding:12px 16px;background:#f0eddf;border:1px solid #e0d9bf;border-radius:10px;font-size:12px;line-height:1.7;margin-bottom:18px}.notice button{margin-left:12px;font-size:12px;color:var(--green);border:0;background:transparent;text-decoration:underline}.studio-grid{display:grid;grid-template-columns:minmax(300px,370px) minmax(0,1fr);gap:23px;align-items:start}.settings-card,.result-card{background:var(--paper);border:1px solid var(--line);border-radius:16px;overflow:hidden}.settings-card{padding:25px}.card-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:26px}.card-heading h2{font-size:16px;letter-spacing:.4px;font-weight:550;margin:0}.section-number{font-size:9px;letter-spacing:1.4px;color:#a1aa97}.field-heading{display:flex;justify-content:space-between;align-items:center;font-size:12px;margin:0 0 10px}.field-heading label{font-weight:550}.field-heading>span{font-size:10px;color:#98a08f}textarea{display:block;resize:vertical;width:100%;min-height:145px;border:1px solid #dee3d7;border-radius:9px;padding:13px;background:#fafbf6;color:#344a3c;font-size:12px;line-height:1.95}textarea::placeholder{color:#a0aa9b}textarea:focus{border-color:#8f9f81;background:white}.field-help{color:#98a18f;font-size:10px;line-height:1.7;margin:8px 0 0}.reference-heading{margin-top:25px}.upload-zone{position:relative;display:flex;justify-content:center;align-items:center;background:#f8faf3;border:1px dashed #ccd5bf;border-radius:10px;min-height:125px;overflow:hidden;cursor:pointer}.upload-zone:hover{background:#f0f4e9}.upload-zone input{position:absolute;width:1px;height:1px;opacity:0}.upload-zone:focus-within{outline:2px solid #6d8c59;outline-offset:3px}.upload-zone[aria-disabled=true]{opacity:.55;cursor:default}#upload-empty{text-align:center;padding:15px}.upload-icon{display:grid;place-items:center;width:30px;height:30px;margin:0 auto 9px;border:1px solid #dce4d2;border-radius:8px;color:#7c936e;background:#edf2e5;font-size:23px;font-weight:300}#upload-empty strong{display:block;font-size:11px;font-weight:500}#upload-empty small{display:block;font-size:9px;color:#9ba58e;margin-top:7px}#reference-preview{width:100%;height:140px;object-fit:contain;background:#f1f4eb}.reference-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:5px;font-size:10px;color:var(--muted)}#reference-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.size-field{border:0;padding:0;margin:24px 0 22px}.size-field legend{font-size:12px;font-weight:550;margin-bottom:12px}.size-options{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.size-option{position:relative;display:flex;align-items:center;flex-direction:column;min-height:76px;gap:4px;justify-content:center;border:1px solid #e1e5d9;border-radius:8px;background:#fffef9;cursor:pointer}.size-option:has(input:checked){border-color:#53725b;background:#edf2e5;box-shadow:inset 0 0 0 .3px #53725b}.size-option:has(input:focus-visible){outline:2px solid #6d8c59;outline-offset:2px}.size-option:has(input:disabled){cursor:default;opacity:.6}.size-option input{position:absolute;opacity:0;width:1px;height:1px}.ratio-icon{display:block;width:14px;height:14px;border:1px solid #8fa184;border-radius:2px;margin-bottom:1px}.ratio-icon.portrait{width:11px;height:15px}.ratio-icon.landscape{width:17px;height:12px}.size-option strong{font-size:10px;font-weight:500}.size-option small{font-size:9px;color:#8d9a82}.primary-button,.secondary-button{display:flex;align-items:center;justify-content:center;gap:15px;min-height:44px;border-radius:8px;text-decoration:none;font-size:12px;font-weight:500}.primary-button{border:1px solid var(--green);background:var(--green);color:#fffef4;padding:0 17px}.primary-button:hover:not(:disabled){background:var(--deep)}.generate-button{width:100%;justify-content:space-between;height:47px;letter-spacing:.6px}.generate-button>span:last-child{font-size:20px;font-weight:300}.generation-footnote{font-size:9px;color:#96a08b;margin:11px -5px 0;text-align:center;line-height:1.7}.result-card{min-height:714px;padding:25px 27px 22px;display:flex;flex-direction:column}.result-card .card-heading{margin-bottom:20px}.result-card .eyebrow{font-size:8px;letter-spacing:2px;margin-bottom:7px}.result-badge{font-size:9px;padding:5px 10px;border-radius:20px;background:#edf0e5;color:#81916f;white-space:nowrap}.result-badge.error{background:#f5e8dd;color:#996744}.result-empty{display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;min-height:590px;border:1px solid #eef0e6;border-radius:10px;background:radial-gradient(ellipse at 50% 38%,#eff4e8 0,transparent 65%),#f9faf5}.empty-art{position:relative;width:142px;height:112px;margin-bottom:28px;overflow:hidden;border:1px solid #e0e7d7;border-radius:8px;background:#f6f8ee;transform:rotate(-5deg)}.art-sun{position:absolute;width:28px;height:28px;background:#d9dfbd;border-radius:50%;left:75px;top:20px}.art-hill{position:absolute;width:150px;height:100px;border-radius:45% 55% 0 0;transform:rotate(-25deg);background:#b5c6a7;left:-20px;top:65px}.art-hill.two{width:160px;background:#d1ddc4;transform:rotate(30deg);left:55px;top:75px}.art-corner{position:absolute;z-index:2;width:12px;height:12px;border-color:#aebc9c;border-style:solid}.art-corner.tl{left:10px;top:10px;border-width:1px 0 0 1px}.art-corner.br{right:10px;bottom:10px;border-width:0 1px 1px 0}.result-empty h3{font-size:16px;letter-spacing:.8px;font-weight:500;margin:0 0 14px}.result-empty p{font-size:11px;color:#9aa38e;line-height:2.1;text-align:center;margin:0}.empty-note{font-size:7px;letter-spacing:2.2px;color:#acb49d;margin-top:52px}.result-content{display:flex;flex-direction:column;flex:1;min-height:590px}.image-button{display:block;width:100%;border:0;padding:0;background:#f0f3e9;flex:1;min-height:360px;border-radius:10px;overflow:hidden}.image-button img{display:block;width:100%;height:470px;object-fit:contain}.result-details{padding-top:18px}.result-details>p{font-size:12px;color:#6c7b69;line-height:1.85;margin:0 0 15px;white-space:pre-wrap;overflow-wrap:anywhere;max-height:100px;overflow:auto}.result-bottom{display:flex;align-items:center;justify-content:space-between;gap:15px}#result-meta{font-size:9px;color:#99a28c;line-height:1.9}.secondary-button{min-height:38px;padding:0 12px;border:1px solid #d4ddc9;background:#f5f8ed;color:#536c49;white-space:nowrap;font-size:10px}.secondary-button:hover{background:#e9efde}.progress-panel,.error-panel{display:flex;flex:1;min-height:460px;align-items:center;justify-content:center;flex-direction:column;text-align:center;background:#f6f8ef;border:1px solid #e9eddf;border-radius:10px;padding:30px}.progress-orbit{width:55px;height:55px;border-radius:50%;border:1px solid #dce5cf;display:grid;place-items:center;margin-bottom:28px;position:relative}.progress-orbit:before{content:"";position:absolute;inset:-1px;border:2px solid transparent;border-top-color:#7b9669;border-radius:50%;animation:orbit 2s linear infinite}.progress-orbit>span{width:14px;height:14px;background:#a8bb96;border-radius:4px;transform:rotate(45deg)}.progress-panel h3,.error-panel h3{font-size:17px;font-weight:500;margin:0 0 12px}.progress-panel>p,.error-panel>p{font-size:11px;color:#839076;line-height:1.9;margin:0;overflow-wrap:anywhere}.progress-track{max-width:280px;width:90%;height:4px;background:#e0e7d6;border-radius:10px;overflow:hidden;margin-top:24px}.progress-track>div{width:0;height:100%;background:#6b8d57;transition:width .5s}.progress-track.indeterminate>div{width:35%!important;animation:indeterminate 2s ease-in-out infinite}.progress-text{font-size:10px;color:#819271;margin-top:10px}.progress-panel p.progress-help{margin-top:35px;font-size:10px;color:#9ba68d}.error-panel{background:#fbf7ee;border-color:#ece4d3}.error-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;border:1px solid #d8bc92;color:#a17c46;font-family:serif;font-size:24px;margin-bottom:20px}.error-panel>p{color:#9d896c;max-width:360px}.error-panel .field-help{margin-top:14px;font-size:10px}.history-section{padding:39px 0 33px}.history-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:19px}.history-heading .eyebrow{font-size:8px;letter-spacing:2px;margin-bottom:7px}.history-heading h2{font-size:20px;font-family:serif;font-weight:500;letter-spacing:.8px;margin:0}.history-actions{display:flex;gap:18px;align-items:center}.history-actions>span{font-size:10px;color:#8e9a80}.history-actions .text-button{font-size:10px}.history-empty{border:1px dashed #dce2d1;border-radius:12px;padding:35px 20px;text-align:center;font-size:11px;color:#98a38b;line-height:1.9}.history-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.history-item{padding:0;text-align:left;border:1px solid #e1e5d9;background:var(--paper);border-radius:10px;overflow:hidden;color:var(--green)}.history-item.selected{outline:1px solid #627e51;border-color:#627e51}.history-thumb{height:130px;width:100%;background:#edf2e5;display:flex;align-items:center;justify-content:center}.history-thumb img{width:100%;height:100%;object-fit:cover}.history-thumb span{font-size:10px;color:#8ca077;display:flex;align-items:center;gap:7px}.history-thumb span:before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor}.history-thumb.failed{background:#f2ede3}.history-thumb.failed span{color:#ac936e}.history-text{display:block;padding:11px 12px}.history-prompt{display:block;font-size:10px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-bottom:7px}.history-time{font-size:8px;color:#9aa58b}footer{padding:20px 0 30px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:20px}footer>div{display:flex;align-items:center;gap:13px;font-size:9px;color:#a0aa92}.footer-mark{font-family:serif;font-size:16px;color:#6d8161}footer .runtime-info{gap:16px;font-size:8px}.login-overlay{position:fixed;inset:0;z-index:100;background:rgba(242,244,233,.92);backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;padding:24px}.login-card{width:400px;max-width:100%;padding:36px;background:var(--paper);border:1px solid #dfe6d5;border-radius:18px;box-shadow:0 25px 90px #23412b12}.login-mark{margin-bottom:29px}.login-card .eyebrow{font-size:8px;letter-spacing:2px;margin-bottom:12px}.login-card h2{font-family:serif;font-size:28px;font-weight:500;margin:0 0 12px}.login-card>p:not(.eyebrow){font-size:12px;color:#91a083;margin:0 0 25px}.login-card form{display:flex;flex-direction:column}.login-card label{font-size:11px;margin:0 0 8px}.login-card input{border:1px solid #dce3d3;border-radius:8px;background:#fafbf7;min-height:44px;padding:10px 12px;color:var(--green);font-size:12px;margin-bottom:19px}.login-error{color:#aa6f48;font-size:11px;line-height:1.7;margin:0 0 16px;min-height:19px}.login-card .primary-button{justify-content:space-between}.login-card>small{display:block;text-align:center;color:#a0ac94;font-size:9px;margin-top:22px}.preview-dialog{border:1px solid #d4ddc8;border-radius:14px;background:var(--paper);padding:16px;width:min(1050px,95vw);max-height:95vh;color:var(--green)}.preview-dialog::backdrop{background:#173023ba;backdrop-filter:blur(5px)}.preview-toolbar{display:flex;align-items:center;justify-content:space-between;font-size:12px;margin-bottom:12px}.preview-dialog>img{display:block;max-width:100%;width:100%;max-height:75vh;object-fit:contain;background:#f0f3e8;border-radius:7px}.preview-dialog>a{width:max-content;margin:14px 0 0 auto}@keyframes orbit{to{transform:rotate(360deg)}}@keyframes indeterminate{0%,100%{transform:translateX(-90%)}50%{transform:translateX(270%)}}@media(min-width:1600px){main,.site-header{max-width:1480px}}@media(max-width:1050px){.site-header{padding:25px 30px}main{padding:35px 30px 0}.studio-grid{grid-template-columns:minmax(285px,330px) minmax(0,1fr);gap:17px}.settings-card{padding:21px}.result-card{padding:21px;min-height:714px}.history-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.service-chip{max-width:240px;white-space:normal;line-height:1.6}.image-button img{height:445px}.intro-copy{max-width:390px}}@media(max-width:760px){.site-header{min-height:83px;padding:20px}.brand-mark{width:37px;height:37px;border-radius:10px;font-size:23px}.brand strong{font-size:23px}.brand small{font-size:6px;letter-spacing:1.9px}.header-actions{gap:12px}.username{display:none}.private-badge{font-size:10px;padding:6px 9px}.private-badge span{font-size:13px}main{padding:29px 18px 0}.intro{align-items:flex-start;flex-direction:column;gap:17px;margin-bottom:23px}h1{font-size:29px}.eyebrow{font-size:9px}.intro-copy{font-size:11px;max-width:none}.service-chip{max-width:none;padding:7px 11px;font-size:9px}.studio-grid{grid-template-columns:1fr;gap:18px}.settings-card{padding:23px}.card-heading{margin-bottom:23px}textarea{min-height:135px}.size-options{grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}.size-option{min-height:75px}.size-option strong{font-size:9px}.size-option small{font-size:7px}.size-field{margin-top:23px}.upload-zone{min-height:110px}.result-card{min-height:490px;padding:23px 20px}.result-empty{min-height:380px}.result-empty .empty-art{margin-bottom:23px}.empty-note{margin-top:32px}.result-content{min-height:380px}.image-button{min-height:290px}.image-button img{height:350px}.progress-panel,.error-panel{min-height:340px;padding:22px}.history-section{padding-top:30px}.history-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.history-thumb{height:112px}.history-text{padding:10px}.history-prompt{font-size:9px}.history-time{font-size:7px}.history-actions{gap:10px}.history-actions>span{font-size:9px}.history-actions .text-button{font-size:9px}footer{align-items:flex-start;flex-direction:column;gap:12px;padding-bottom:24px}footer .runtime-info{flex-wrap:wrap;line-height:1.8}.login-card{padding:30px}.preview-dialog{padding:12px}}@media(max-width:390px){.size-options{grid-template-columns:repeat(3,minmax(0,1fr))}.history-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.intro-copy{font-size:10px}.header-actions{gap:9px}.private-badge{font-size:9px}.settings-card{padding:20px}.generation-footnote{font-size:8px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}

.google-login{width:100%;justify-content:center;min-height:44px}.google-login:disabled{cursor:default}.login-card #google-status{margin:8px 0 16px;font-size:10px}.login-divider{text-align:center;font-size:10px;color:var(--muted);border-top:1px solid var(--line);padding-top:16px;margin-bottom:18px}.login-overlay{overflow:auto;align-items:flex-start}.login-card{margin:auto;flex-shrink:0}.users-dialog{width:min(600px,94vw);max-height:90vh;overflow:auto;border:1px solid var(--line);border-radius:16px;background:var(--paper);color:var(--green);padding:24px}.users-dialog::backdrop{background:#173023ba}.users-dialog h2{font-size:20px;margin:0}.users-dialog form{display:flex;flex-direction:column;gap:10px;margin-top:24px}.users-dialog label{font-size:12px}.users-dialog input{width:100%;min-height:44px;padding:10px;border:1px solid var(--line);border-radius:8px;background:#fafbf7}.users-list{margin-top:15px}.user-row{display:flex;gap:12px;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:12px 0;font-size:12px}.user-row span{overflow-wrap:anywhere;min-width:0}.user-row button{flex-shrink:0}.users-dialog .field-help{overflow-wrap:anywhere}@media(max-width:480px){.site-header{flex-wrap:wrap;gap:14px}.header-actions{flex-wrap:wrap}.login-overlay{padding:16px}.login-card{padding:24px}.login-mark{margin-bottom:18px}}

.login-methods{display:flex;gap:8px}.login-methods button{flex:1;justify-content:center;min-height:42px}.login-methods button[aria-pressed="true"]{background:var(--green);color:var(--paper)}.login-card #email-status{font-size:10px;margin:10px 0 18px;line-height:1.7}.login-card #email-send{min-height:42px;margin:0 0 20px;justify-content:center}.login-card #email-code{letter-spacing:5px;font-size:18px}.login-card #email-code::placeholder{font-size:12px;letter-spacing:0}.login-card #email-form[hidden],.login-card #login-form[hidden]{display:none}.login-card #email-form .field-help{font-size:10px;line-height:1.7;margin-bottom:0}
