:root{--paper:#f6f4ef;--card:#fffefa;--ink:#242b28;--muted:#7c8179;--line:#e5e7dd;--accent:#dc694e;--accent-dark:#bb5139;--sage:#e7ecd9;--radius:18px;--font:"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;color-scheme:light;font-family:var(--font);color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;font-size:14px;line-height:1.6}button,input,textarea{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.65}a{color:inherit;text-decoration:none}button{color:inherit}button:focus-visible,a:focus-visible{outline:3px solid #dca275;outline-offset:4px}textarea:focus,input:focus{outline:none;border-color:#d6856e;box-shadow:0 0 0 3px #dc694e12}button,input,textarea{transition:border-color .18s,background .18s,box-shadow .18s,transform .18s}input,textarea{color:var(--ink);background:#fffefa;border:1px solid var(--line);border-radius:10px;padding:12px 13px;width:100%}textarea{resize:vertical;line-height:1.7;min-height:135px}input::placeholder,textarea::placeholder{color:#a6aaa1}input[type=number]{appearance:textfield}input::-webkit-inner-spin-button{appearance:none}fieldset{padding:0;margin:0;border:0;min-width:0}legend{padding:0;width:100%}[hidden]{display:none!important}.app-shell{display:grid;grid-template-columns:210px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;border-right:1px solid var(--line);padding:36px 22px;display:flex;flex-direction:column;background:#f0f1e9}.brand{display:flex;gap:10px;align-items:center;font-size:18px;font-weight:700;letter-spacing:.8px;line-height:1.45;white-space:nowrap}.brand small{display:block;font-size:9px;font-weight:500;letter-spacing:2.7px;color:#848d7f;margin-top:2px}.brand-mark{display:inline-flex;width:40px;height:40px;align-items:center;justify-content:center;background:var(--ink);color:#e6edcf;border-radius:13px;font-size:36px;font-weight:400;line-height:1}.sidebar-caption{color:#92998d;font-size:10px;letter-spacing:1px;margin:52px 10px 14px}.nav-list{display:flex;flex-direction:column;gap:9px}.nav-link{border-radius:9px;padding:12px 12px;display:flex;gap:12px;align-items:center;font-size:13px;font-weight:600;color:#6d7669}.nav-link>span:first-child{font-size:20px;font-weight:400;line-height:1}.nav-link.active{background:#e3e9d7;color:#36462d}.nav-link:hover{background:#e7eadf}.nav-arrow,.count{margin-left:auto;font-size:11px!important}.count{border:1px solid #cdd4c1;border-radius:5px;min-width:20px;text-align:center;padding:0 4px}.sidebar-bottom{margin-top:auto;font-size:10px;color:#859078;display:flex;gap:7px;align-items:center;flex-wrap:wrap;padding:15px 7px 0}.online-dot{display:inline-block;width:6px;height:6px;background:#8d9d76;border-radius:50%;flex:none}.sidebar-bottom .logout-button{font-size:11px;padding:10px 0 0;width:100%;text-align:left;color:#838b7b}.text-button{background:none;border:0;padding:7px 0;color:#727b6b;font-size:12px}.text-button:hover{color:var(--ink)}main{max-width:1710px;width:100%;margin:0 auto;padding:0 46px}.topbar{height:84px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:20px}.breadcrumb{font-size:11px;color:#73796f}.breadcrumb span{color:#bcc0b5;padding:0 13px}.model-badge{display:flex;align-items:center;gap:7px;font-size:11px;border:1px solid var(--line);border-radius:30px;padding:6px 12px;background:#fafaf5;color:#6c7563}.tiny-spark{font-size:15px;color:#8c9b6e}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;margin:35px 0 27px;gap:20px}.eyebrow{color:#8b927f;letter-spacing:2.1px;font-size:9px;font-weight:600}.page-heading h1{font-size:32px;letter-spacing:-1px;font-weight:600;line-height:1.35;margin:10px 0 9px}.page-heading h1 span{color:var(--accent)}.page-heading p{margin:0;color:#8b8e84;font-size:12px}.heading-index{font-family:Georgia,serif;font-style:italic;font-size:11px;color:#a1a594;white-space:nowrap;padding-bottom:5px}.studio-grid{display:grid;grid-template-columns:minmax(340px,.92fr) minmax(340px,1.08fr);gap:25px;align-items:stretch}.composer{padding:25px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 6px 24px #39452b03}.section-label{display:flex;align-items:center;justify-content:space-between;font-size:12px;font-weight:600;line-height:1.6;margin:0 0 11px;gap:12px}.section-label>span{font-size:9px;font-weight:400;color:#9a9e93}.field-hint{font-size:10px;color:#9a9d92;margin:7px 0;line-height:1.65}.example-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:10px;color:#9a9e92;margin:13px 0 24px}.example-row>span{margin-right:4px}.example-chip{padding:4px 8px;border:1px solid #e9e9e0;background:#fafaf5;border-radius:5px;font-size:10px;color:#7d8374}.example-chip:hover{border-color:#ccd4bd;background:#f0f3e7;color:#536146}#negative-field{margin:5px 0 23px}#negative-prompt{min-height:70px}.style-field{margin-bottom:23px}.style-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.style-option{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;min-width:0;padding:9px 4px 7px;border:1px solid #e5e8dd;border-radius:7px;background:#fbfbf6;font-size:10px;position:relative;color:#89907e}.style-option:hover{background:#f1f4e8;border-color:#bfcbaa}.style-option[aria-pressed=true]{border-color:#879a67;color:#526333;background:#eef2e3;box-shadow:0 0 0 .5px #879a67}.style-option[aria-pressed=true]::after{content:"✓";position:absolute;right:4px;top:2px;font-size:8px;color:#6a7c4d}.style-glyph{height:21px;font-size:20px;line-height:21px;font-family:Georgia,serif;color:#85926b}.style-option:nth-child(3n+2) .style-glyph{color:#b88d71}.style-option:nth-child(3n+3) .style-glyph{color:#8693a6}.settings-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:18px;margin-bottom:24px}.size-options{display:flex;gap:5px}.size-option{min-width:0;flex:1;border:1px solid var(--line);border-radius:7px;background:#fbfbf7;font-size:9px;color:#989d90;height:58px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;padding:7px 2px}.size-option[aria-pressed=true]{border-color:#8a9972;background:#f0f3e9;color:#61704d}.ratio-glyph{display:block;border:1px solid currentColor;width:13px;height:13px;border-radius:2px}.ratio-portrait{width:10px;height:14px}.ratio-landscape{width:17px;height:11px}.seed-field input{height:39px;padding:8px 10px;font-size:11px}.seed-field .field-hint{font-size:9px;white-space:normal;line-height:1.4;margin-top:5px}.generate-button{background:var(--accent);color:#fff;border:1px solid var(--accent);border-radius:9px;padding:13px 17px;display:flex;align-items:center;justify-content:center;gap:10px;width:100%;font-size:13px;font-weight:600;box-shadow:0 4px 10px #ce6e5420}.generate-button:hover:not(:disabled){background:var(--accent-dark);border-color:var(--accent-dark);transform:translateY(-1px)}.button-spark{font-size:20px;font-weight:400;line-height:1}.button-arrow{margin-left:auto;font-weight:400}.generate-button .button-spark{margin-right:auto}.generation-hint{font-size:9px;line-height:1.7;text-align:center;color:#9d9e91;margin:10px 0 0}.form-error{padding:10px 12px;background:#fff0e9;border:1px solid #efd8cd;color:#b54f35;border-radius:7px;font-size:11px;margin-bottom:12px;overflow-wrap:anywhere}.preview-panel{background:#e8e9e0;border:1px solid #dee1d2;border-radius:var(--radius);display:flex;flex-direction:column;overflow:hidden;min-width:0}.preview-topline{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:19px 22px;color:#838b76;font-size:10px}.preview-topline>span:first-child{display:flex;align-items:center;gap:8px}.preview-topline>span:last-child{font-family:monospace;font-size:10px;letter-spacing:.5px}.canvas-stage{position:relative;display:flex;flex:1;align-items:center;justify-content:center;margin:0 20px;min-height:390px;background:#f1f1e9;background-image:radial-gradient(#d5d9cc 1px,transparent 1px);background-size:16px 16px;border:1px solid #e0e4d6;border-radius:10px;overflow:hidden}.empty-canvas{text-align:center;padding:30px 15px}.abstract-art{position:relative;width:225px;height:200px;margin:0 auto 25px}.art-circle{position:absolute;left:38px;top:22px;width:145px;height:145px;border-radius:50%;background:linear-gradient(135deg,#d9e0c7 5%,#c0cfaa 48%,#869c6b 100%);box-shadow:inset -20px -5px 50px #85966e25}.art-orbit{position:absolute;left:12px;top:74px;width:204px;height:55px;transform:rotate(-34deg);border:1px solid #7f8f6999;border-radius:50%;box-shadow:0 4px 5px #fafbf549}.art-spark{position:absolute;right:18px;top:13px;color:#d6936b;font-size:43px;font-weight:300;line-height:1}.art-dot{position:absolute;bottom:32px;left:23px;width:7px;height:7px;border-radius:50%;background:#b8c0a6}.art-coordinate{position:absolute;bottom:1px;right:13px;text-align:left;font-size:7px;letter-spacing:1px;line-height:1.8;color:#a5ae94;font-family:monospace}.empty-canvas h2{font-size:17px;font-weight:500;color:#6e7d5f;margin:0 0 12px}.empty-canvas p{font-size:10px;line-height:2;color:#9da58e;margin:0}.preview-image-button{width:100%;height:100%;padding:12px;border:0;background:#e3e5da;display:flex;align-items:center;justify-content:center;position:absolute;inset:0;cursor:zoom-in}.preview-image-button img{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 5px 12px #2f392617)}.preview-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:93px;padding:18px 22px}.preview-bottom>div:first-child{min-width:0}.preview-bottom strong{font-weight:500;font-size:11px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:360px}.preview-bottom p{margin:4px 0 0;color:#98a08a;font-size:9px}.preview-actions{display:flex;align-items:center;gap:8px;flex:none}.icon-button{display:flex;align-items:center;justify-content:center;background:#f7f8f1;border:1px solid #d8ddcb;width:32px;height:32px;border-radius:7px;font-size:20px;color:#758560}.icon-button:hover{background:#fff}.download-button{background:#64764c;color:#fff;padding:8px 11px;border-radius:7px;font-size:10px;white-space:nowrap}.download-button:hover{background:#4f603b}.download-button span{padding-left:7px}.generation-state{text-align:center;max-width:350px;padding:30px 22px;color:#6b7a5b}.loading-visual{display:flex;gap:7px;align-items:center;justify-content:center;height:80px;margin-bottom:20px}.loading-visual span{width:20px;height:20px;background:#afbe92;border-radius:5px;animation:float 1.8s ease-in-out infinite}.loading-visual span:nth-child(2){animation-delay:.2s;background:#849a67}.loading-visual span:nth-child(3){animation-delay:.4s;background:#c7d0b1}.status-eyebrow{font-size:9px;letter-spacing:2px;color:#99a284}.generation-state h2{font-size:20px;font-weight:500;letter-spacing:.4px;margin:8px 0 10px}.generation-state p{font-size:11px;line-height:1.9;color:#8d977d;margin:0}.step-track{display:flex;gap:5px;margin:24px auto 10px;width:120px}.step-track i{display:block;height:3px;border-radius:2px;flex:1;background:#dce2d1}.step-track i.active{background:#92a778}.elapsed-time{color:#9fa88e;font-size:9px;font-family:monospace;min-height:15px}.generation-state.failed .loading-visual span{animation:none;background:#cf9b83}.generation-state.failed h2{color:#ae6b4f}.gallery-section{margin-top:42px}.gallery-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:21px}.gallery-heading h2{font-size:20px;font-weight:600;margin:6px 0 0;letter-spacing:-.3px}.gallery-heading h2 span{margin-left:8px;font-family:Georgia,serif;font-size:14px;font-style:italic;color:#a0a68e;font-weight:400}.gallery-empty{display:flex;gap:18px;align-items:center;border:1px dashed #d6dccb;border-radius:13px;padding:28px 30px;color:#8b937d;background:#f4f5ed}.gallery-empty>span{display:flex;align-items:center;justify-content:center;width:46px;height:46px;background:#e9eddf;border-radius:10px;font-size:30px;color:#a0ac8c}.gallery-empty strong{font-weight:500;font-size:12px}.gallery-empty p{margin:4px 0 0;font-size:10px;color:#a4aa97}.gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.gallery-card{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--card)}.gallery-image-button{position:relative;display:block;width:100%;aspect-ratio:1;padding:0;border:0;background:#e9ecdf;overflow:hidden;text-align:left}.gallery-image-button img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}.gallery-image-button:hover img{transform:scale(1.035)}.gallery-image-button:focus-visible{outline-offset:-4px}.gallery-card-placeholder{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;width:100%;height:100%;font-size:11px;color:#98a184}.gallery-card-placeholder>span:first-child{font-size:30px;font-weight:300}.gallery-status{position:absolute;bottom:10px;left:10px;font-size:9px;border-radius:5px;padding:2px 7px;background:#f7f9f1d9;color:#708258;backdrop-filter:blur(4px)}.gallery-card-info{padding:12px}.gallery-prompt{font-size:11px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.7;margin:0;color:#7e8673;min-height:37px;overflow-wrap:anywhere}.gallery-card-bottom{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:9px;color:#a5ab99;margin-top:10px}.gallery-card-bottom button{background:none;border:0;padding:2px;color:#7b8868;font-size:10px}.gallery-error{font-size:11px;color:#b26c50;margin-bottom:12px}footer{margin-top:45px;padding:24px 0;border-top:1px solid var(--line);color:#abb09f;font-size:9px;letter-spacing:.6px}footer span{padding:0 8px}.auth-overlay{position:fixed;z-index:20;inset:0;display:flex;align-items:center;justify-content:center;background:#f0f2e9e8;backdrop-filter:blur(9px);padding:24px;overflow-y:auto}.login-card{width:410px;max-width:100%;background:#fffefa;border:1px solid #e0e5d4;border-radius:22px;padding:34px;box-shadow:0 22px 80px #4c5d3b12}.login-card .brand-mark{margin-bottom:26px}.login-card .eyebrow{font-size:8px}.login-card h1{font-size:24px;font-weight:600;line-height:1.4;margin:10px 0}.login-card>p{font-size:11px;color:#959b89;margin-bottom:26px}.login-card>label{display:block;font-size:11px;font-weight:500;margin-bottom:8px}.login-card input{font-size:13px;margin-bottom:16px}.login-card .generate-button{margin-top:3px}.login-card .generate-button span{margin-left:auto}.login-card .login-status{font-size:10px;text-align:center;color:#acb19e;margin:15px 0 0;min-height:16px}.image-dialog{max-width:min(1000px,92vw);max-height:92vh;padding:0;border:1px solid #e1e6d5;border-radius:16px;background:var(--card);color:var(--ink);box-shadow:0 15px 80px #0004}.image-dialog::backdrop{background:#243020cc;backdrop-filter:blur(8px)}.dialog-toolbar{display:flex;justify-content:space-between;align-items:center;padding:12px 15px;font-size:12px;color:#7f896e}.image-dialog img{display:block;max-width:100%;max-height:72vh;width:auto;height:auto;margin:auto;object-fit:contain}.dialog-caption{padding:14px 18px;font-size:11px;color:#90997f;max-width:850px;overflow-wrap:anywhere}.toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);z-index:30;background:#334127;color:#f1f4eb;border:1px solid #677b50;border-radius:9px;padding:11px 20px;box-shadow:0 5px 30px #253a2120;max-width:90vw;font-size:12px}.app-shell[aria-busy=true] .generate-button{opacity:.6}@keyframes float{0%,100%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-13px) rotate(30deg)}}@media(min-width:1500px){main{padding:0 65px}.studio-grid{grid-template-columns:minmax(430px,.85fr) minmax(440px,1.15fr);gap:30px}.composer{padding:30px}.canvas-stage{min-height:480px}.style-option{padding-top:11px;padding-bottom:9px}.abstract-art{transform:scale(1.2);margin-bottom:55px}}@media(max-width:1150px){.app-shell{grid-template-columns:170px minmax(0,1fr)}.sidebar{padding:28px 15px}.brand{font-size:15px;gap:8px}.brand-mark{width:34px;height:34px;font-size:30px}.brand small{font-size:7px;letter-spacing:2px}main{padding:0 27px}.studio-grid{gap:18px;grid-template-columns:minmax(300px,1fr) minmax(300px,1fr)}.composer{padding:20px}.preview-bottom{flex-wrap:wrap}.preview-bottom strong{max-width:270px}.preview-topline{padding:18px}.canvas-stage{margin:0 15px}.heading-index{display:none}.settings-grid{gap:12px}.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:900px){.app-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto;flex-direction:row;align-items:center;padding:15px 25px;border-right:0;border-bottom:1px solid var(--line);gap:25px}.brand{margin-right:auto}.sidebar-caption,.sidebar-bottom{display:none}.nav-list{flex-direction:row;gap:8px}.nav-link{padding:8px 12px;font-size:11px}.nav-arrow{display:none}.nav-link>span:first-child{font-size:16px}.topbar{height:65px}.page-heading{margin:26px 0 23px}.page-heading h1{font-size:28px}.studio-grid{grid-template-columns:minmax(300px,1fr) minmax(280px,1fr)}.composer{padding:18px}.gallery-section{margin-top:32px}.canvas-stage{min-height:390px}.preview-bottom{padding:15px}.gallery-grid{gap:12px}}@media(max-width:690px){main{padding:0 18px}.sidebar{padding:15px 18px;gap:15px}.brand{font-size:14px}.brand small{font-size:6px;letter-spacing:1.8px}.brand-mark{width:32px;height:32px}.nav-link{gap:6px;padding:8px 9px}.nav-link .count{display:none}.topbar{height:55px}.breadcrumb{font-size:10px}.model-badge{font-size:9px;max-width:66%;overflow:hidden}.model-badge #model-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.page-heading h1{font-size:27px}.page-heading p{font-size:11px}.eyebrow{font-size:8px}.studio-grid{grid-template-columns:1fr;gap:18px}.composer{padding:21px}.style-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.style-option{padding:10px 4px}.canvas-stage{min-height:340px;aspect-ratio:1;margin:0 16px}.preview-bottom{min-height:83px;flex-wrap:nowrap;padding:17px}.preview-bottom strong{max-width:190px}.preview-bottom p{font-size:8px}.preview-topline{padding:16px 18px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-heading h2{font-size:19px}.gallery-empty{padding:22px 18px;gap:12px}.gallery-empty strong{font-size:11px}.gallery-empty p{font-size:9px}.gallery-empty>span{width:36px;height:36px;flex:none;font-size:25px}.gallery-card-info{padding:10px}.gallery-card-bottom{flex-wrap:wrap}.login-card{padding:28px}.gallery-section{margin-top:30px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.topbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:15px;min-width:0}.topbar-actions .logout-button{font-size:10px;white-space:nowrap;color:#959d86}@media(max-width:690px){.topbar-actions{max-width:70%;gap:10px}.topbar-actions .model-badge{max-width:calc(100% - 30px)}}
.gallery-card-actions{display:flex;align-items:center;gap:10px}.gallery-card-bottom .delete-link{color:#b39b88}.gallery-card-bottom .delete-link:hover{color:#bb5139}.effective-prompt{padding:0 18px 17px;color:#8b967c;font-size:10px;max-width:850px}.effective-prompt summary{cursor:pointer}.effective-prompt p{color:#929b84;font-size:11px;line-height:1.8;margin:10px 0 0;overflow-wrap:anywhere}.delete-dialog{padding:28px;border:1px solid #e2e6d6;background:#fffefa;border-radius:16px;max-width:min(410px,90vw);color:var(--ink);box-shadow:0 20px 70px #23311f22}.delete-dialog::backdrop{background:#2d3a2c88;backdrop-filter:blur(5px)}.delete-symbol{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;background:#f8e8df;color:#bf795b;font-size:27px}.delete-dialog h2{font-size:20px;font-weight:500;margin:16px 0 9px}.delete-dialog>p{font-size:11px;color:#8d947e;margin:0 0 14px}.delete-prompt{font-size:11px;color:#9da58e;background:#f4f5ee;padding:12px;border-radius:8px;max-height:100px;overflow:auto;overflow-wrap:anywhere;margin-bottom:20px}.delete-actions{display:flex;justify-content:flex-end;gap:10px}.cancel-button,.confirm-delete-button{border:1px solid #dfe4d4;border-radius:7px;padding:8px 13px;font-size:11px;background:#f6f7ef;color:#818c70}.confirm-delete-button{border-color:#d87153;background:#d87153;color:#fff}.confirm-delete-button:hover{background:#bf5e43}.cancel-button:hover{background:#ecefe3}