:root{color-scheme:light;--bg:#f4f6f9;--surface:#fff;--ink:#23272e;--muted:#707986;--line:#e1e5e9;--accent:#0078d8;--soft:#e9f2fa;--rail:76px;--shadow:0 16px 70px #233a5226;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-size:14px}button,input,textarea,select{font:inherit}button{cursor:pointer;touch-action:manipulation;white-space:nowrap}button,input,textarea,select{outline:none}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button:disabled{opacity:.45;cursor:default}button{border:0;background:none;color:inherit}input,textarea,select{border:1px solid var(--line);border-radius:12px;background:#fafbfc;color:var(--ink);padding:12px;min-width:0;width:100%}input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent);flex:none}input[type=range]{accent-color:var(--accent);padding:0}textarea{resize:vertical;line-height:1.7}select{appearance:auto}label{display:block;font-size:13px;font-weight:600;margin:14px 0 8px}small,.hint{color:var(--muted);font-size:12px;line-height:1.6}.hint{margin:12px 0}.primary,.secondary,.danger{min-height:44px;padding:11px 18px;border-radius:12px;font-weight:600}.primary{background:#2b3038;color:#fff;box-shadow:0 3px 8px #23272e12}.primary:hover{background:#414b58}.secondary{background:#edf0f4;color:#394756}.danger{background:#fff0ef;color:#ac3838}.quiet,.text-button{padding:10px;border-radius:10px;color:#596775}.quiet:hover{background:#e8edf2}.text-button{color:var(--accent);font-size:12px}.icon-button{width:42px;height:42px;border:1px solid var(--line);border-radius:12px;font-size:21px}.full{width:100%}.error{color:#b23e3e}.auth{position:fixed;inset:0;display:grid;place-items:center;background:radial-gradient(ellipse at 20% 10%,#e0edf8,transparent 65%),#f4f6f9;z-index:100}.login-card{width:min(400px,90vw);background:#ffffffd9;border:1px solid white;border-radius:24px;padding:34px;box-shadow:var(--shadow)}.login-card h1{font-size:34px;margin:10px 0}.login-card>.primary{width:100%;margin-top:18px}.eyebrow{font-size:10px;letter-spacing:2px;color:#7c8b9d;margin-top:25px}.brand-mark{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#e3ebf4;color:#50667d;font-size:22px;font-weight:700}.topbar{height:66px;padding:8px max(18px,env(safe-area-inset-right)) 8px max(18px,env(safe-area-inset-left));display:flex;align-items:center;justify-content:space-between;background:#ffffffdc;border-bottom:1px solid var(--line);gap:20px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink)}.brand strong{font-size:21px}.version{font-size:10px;letter-spacing:1px;color:var(--muted);margin-left:8px}.segmented{background:#e9edf2;display:flex;padding:4px;border-radius:12px;gap:3px}.segmented button{padding:9px 18px;border-radius:9px;font-size:13px;color:#6c7886;flex:1}.segmented button.active{background:white;color:#25364a;box-shadow:0 2px 5px #1e3e5910;font-weight:600}.header-actions{display:flex;align-items:center;gap:6px}.studio{height:calc(100dvh - 66px);min-height:380px;display:flex;padding-bottom:env(safe-area-inset-bottom)}.tool-rail{width:var(--rail);padding:12px 8px;border-right:1px solid var(--line);display:flex;align-items:center;flex-direction:column;gap:3px;background:#f9fafc;overflow:auto;flex:none}.rail-button{width:56px;min-height:55px;border-radius:13px;font-size:10px;color:#6f7e8d;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:4px;flex:none}.rail-button>span{font-size:23px;line-height:1.1}.rail-button.active{background:#e0ebf6;color:#266aa4}.rail-button:hover{background:#e7edf4}.rail-divider{height:1px;background:var(--line);width:30px;margin:5px 0;flex:none}.brush-label{font-size:10px;color:var(--muted);margin:6px 0}.tool-rail output{font-size:10px;color:var(--muted)}.work-area{display:flex;flex-direction:column;min-width:0;flex:1;padding:0 22px 16px;position:relative}.document-bar{height:54px;flex:none;display:flex;align-items:center;gap:6px;min-width:0}.documents{display:flex;gap:6px;overflow-x:auto;max-width:calc(100% - 100px);scrollbar-width:thin}.document-tab{padding:6px 8px;border:1px solid transparent;border-radius:10px;display:flex;align-items:center;gap:7px;max-width:180px;flex:none;color:#707e8c;font-size:12px}.document-tab.active{background:#fff;border-color:var(--line);color:#34465a}.document-tab img{width:28px;height:28px;object-fit:cover;border-radius:6px}.document-tab span{overflow:hidden;text-overflow:ellipsis;max-width:105px}.document-tab button{padding:3px 5px;color:#8994a0}.document-add{font-size:22px;padding:6px 10px;color:#708093}.save-state{font-size:10px;color:#8794a2;margin-left:auto;white-space:nowrap}.canvas-area{background:#eceef0;border:1px solid #e1e5e9;border-radius:18px;flex:1;min-height:0;position:relative;overflow:hidden;display:flex;flex-direction:column}.canvas-top{height:48px;padding:6px 14px;display:flex;align-items:center;gap:10px;position:relative;z-index:2;background:#f5f7f8e8}.canvas-top>span{font-size:11px;color:#7f8b96;margin-right:auto}.view-toggle{padding:3px;border:1px solid #dde2e7;background:#e9edf0}.view-toggle button{padding:5px 15px;font-size:11px}.canvas-viewport{flex:1;min-height:0;position:relative;overflow:hidden;touch-action:none;background:conic-gradient(#e4e7e9 25%,#edf0f2 0 50%,#e4e7e9 0 75%,#edf0f2 0) 0 0/24px 24px}.canvas-viewport canvas{display:block;width:100%;height:100%;touch-action:none}.empty-state{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;background:#eceef0f5;text-align:center;padding:20px}.empty-art{font-size:65px;color:#8a9eb5;line-height:1.3;margin-bottom:15px}.empty-state h1{font-size:22px;font-weight:600;letter-spacing:1px;margin:6px}.empty-state p{font-size:13px;color:#8994a0;margin-bottom:26px}.empty-state .quiet{margin-top:15px;font-size:12px}.canvas-bottom{min-height:43px;display:flex;justify-content:space-between;align-items:center;padding:2px 12px;gap:8px;background:#f7f9fa}.canvas-bottom>span{color:#8b96a0;font-size:10px}.canvas-bottom .quiet{font-size:11px;padding:8px}.result-strip{position:absolute;bottom:53px;left:16px;display:flex;gap:8px}.result-thumb{border:2px solid white;padding:0;border-radius:9px;overflow:hidden;box-shadow:0 3px 12px #0002;width:55px;height:55px;background:white}.result-thumb.active{border-color:var(--accent)}.result-thumb img{width:100%;height:100%;object-fit:cover}.composer-launcher{height:86px;flex:none;display:flex;gap:12px;align-items:center;padding-top:14px;max-width:950px;width:100%;margin:auto}.prompt-launcher{background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px 18px;display:flex;align-items:center;gap:16px;flex:1;min-width:0;text-align:left;box-shadow:0 4px 10px #293d5004}.prompt-launcher>span:nth-child(2){display:flex;flex-direction:column;gap:5px;min-width:0}.prompt-launcher strong{font-size:14px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.prompt-launcher small{font-size:10px}.spark{color:#798da5;font-size:29px}.launcher-arrow{margin-left:auto;color:#8d9baa}.composer-launcher>.primary{height:64px;min-width:150px;display:flex;justify-content:space-between;align-items:center;gap:25px;border-radius:15px}.task-banner{margin:9px 0 -4px;min-height:37px;padding:8px 14px;background:#e5eef7;border-radius:10px;display:flex;align-items:center;justify-content:space-between;font-size:12px;color:#356184}.task-banner.failed,.task-banner.uncertain{background:#fff0e8;color:#9f5932}.sheet-backdrop{position:fixed;inset:66px 0 0;background:#20334718;z-index:10}.composer{position:fixed;top:80px;bottom:max(16px,env(safe-area-inset-bottom));right:max(16px,env(safe-area-inset-right));width:420px;background:#ffffffee;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid #ffffff;border-radius:22px;box-shadow:var(--shadow);z-index:11;display:flex;flex-direction:column;overflow:hidden}.sheet-heading{display:flex;justify-content:space-between;align-items:center;padding:20px 22px 16px;flex:none}.sheet-heading small,.dialog-heading small{font-size:9px;letter-spacing:2px;color:#8899aa}.sheet-heading h2,.dialog-heading h2{font-size:19px;font-weight:600;margin:5px 0}.sheet-heading .icon-button{border:0;background:#eef1f5}.sheet-tabs{display:flex;gap:5px;padding:0 18px 12px;border-bottom:1px solid var(--line);flex:none}.sheet-tabs button{flex:1;border-radius:10px;padding:9px 3px;font-size:12px;color:#7c8998}.sheet-tabs button.active{background:#e9eff6;color:#3b5d7d;font-weight:600}.sheet-content{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:8px 22px 22px;min-height:0}.sheet-content textarea{height:175px;min-height:120px;background:#fafbfd}.field-heading,.reference-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.field-heading label{margin:14px 0 10px}.reference-heading{margin:14px 0 6px}.reference-heading strong{font-size:12px}.references{display:flex;flex-wrap:wrap;gap:10px}.reference{width:69px;height:69px;position:relative;border:1px solid var(--line);border-radius:12px;background:#edf1f5}.reference img{width:100%;height:100%;object-fit:cover;border-radius:11px}.reference button{position:absolute;right:-5px;top:-5px;background:#37424e;color:white;border:2px solid white;border-radius:50%;width:23px;height:23px;padding:0}.reference-placeholder{border:1px dashed #c9d2dc;display:grid;place-items:center;color:#8494a5;font-size:22px}.check-line{display:flex;align-items:center;gap:10px;font-size:12px;font-weight:400}.prompt-preview{margin-top:18px;font-size:12px;color:#768899}.prompt-preview pre{white-space:pre-wrap;word-break:break-word;font-family:inherit;background:#f1f4f7;border-radius:10px;padding:12px;line-height:1.6;max-height:180px;overflow:auto}.ratio-choices{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:10px 0 18px}.ratio-choices button{border:1px solid var(--line);background:#fafbfd;padding:10px 6px;border-radius:10px;font-size:12px;color:#6a7887}.ratio-choices button.active{background:#e6eff8;border-color:#98b9d6;color:#2c658f}.field-row{display:flex;gap:10px;align-items:end}.field-row label{flex:1;min-width:0}.field-row select,.field-row input{margin-top:8px}.lock-button{height:44px;margin-bottom:8px;font-size:20px;color:#8c9ba9}.lock-button.active{color:var(--accent);background:#e5f0fa;border-radius:10px}.anchor-label{margin-top:20px}.anchor-choices{display:grid;grid-template-columns:repeat(3,36px);grid-template-rows:repeat(3,30px);gap:5px;justify-content:center;margin:10px 0 14px}.anchor-choices button{background:#e9edf2;border:1px solid var(--line);border-radius:7px;font-size:15px;color:#8c9bab}.anchor-choices button.active{background:#d6e6f4;color:#2c6e9f;border-color:#a6c7e2}.sheet-footer{border-top:1px solid var(--line);padding:14px 22px;display:flex;align-items:center;gap:12px;background:#fff;flex:none}.sheet-footer span{font-size:11px;color:#7a8999;flex:1}.sheet-footer .primary{min-width:160px}.custom-model{font-size:11px;color:#7f90a2;margin:13px 0}.inline-field{display:flex;gap:8px;margin:12px 0}.inline-field input{font-size:12px}.status-chip{font-size:10px;color:#4e8172}.status-chip.off{color:#b3814e}dialog{background:white;color:var(--ink);border:1px solid #e8edf1;border-radius:22px;box-shadow:var(--shadow);padding:24px;width:min(580px,92vw);max-height:90dvh;overflow:auto}dialog::backdrop{background:#1d304b55;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.wide-dialog{width:min(1050px,94vw)}.dialog-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px}.dialog-heading .icon-button{border:0;background:#eef1f5}.dialog-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:18px}h3{font-size:14px;margin:26px 0 14px}.history-controls{display:flex;gap:8px;margin-bottom:22px;flex-wrap:wrap}.history-controls input{flex:1;min-width:160px}.history-controls select{width:150px}.history-controls button{font-size:12px}.history-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;max-height:56dvh;overflow:auto;padding:3px}.history-card{border:1px solid var(--line);border-radius:14px;overflow:hidden;text-align:left;background:#fff;position:relative;padding:0;min-width:0}.history-card img{width:100%;aspect-ratio:1;object-fit:cover;display:block;background:#edf0f3}.history-card .card-text{padding:12px;display:block}.history-card strong{display:block;font-weight:500;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:5px}.history-card small{font-size:10px}.history-card.selected{outline:3px solid #5d9dcb;outline-offset:-3px}.history-grid.list{display:flex;flex-direction:column}.history-grid.list .history-card{display:flex;align-items:center;min-height:85px}.history-grid.list img{width:90px;height:85px;aspect-ratio:auto}.history-grid.list .card-text{min-width:0;flex:1}.empty-library{padding:50px 15px;text-align:center;color:#8c99a6;grid-column:1/-1}.detail-dialog{width:min(800px,94vw)}.detail-image{max-height:40dvh;max-width:100%;display:block;border-radius:12px;margin:0 auto 20px;cursor:zoom-in}.detail-meta{display:grid;grid-template-columns:100px 1fr;gap:8px 12px;font-size:12px;line-height:1.6;margin:16px 0}.detail-meta dt{color:#8290a0}.detail-meta dd{margin:0;overflow-wrap:anywhere}.detail-prompt,.detail-error{white-space:pre-wrap;overflow-wrap:anywhere;background:#f3f5f8;padding:14px;border-radius:12px;line-height:1.7;font-size:12px;font-family:inherit;max-height:240px;overflow:auto;user-select:text}.detail-error{background:#fff0eb;color:#9a553c}.task-item,.preset-item{padding:14px;border:1px solid var(--line);border-radius:13px;display:flex;justify-content:space-between;align-items:center;gap:10px;margin:10px 0;width:100%;text-align:left}.task-item span,.preset-item span{min-width:0;flex:1}.task-item strong,.preset-item strong{display:block;font-size:13px;margin-bottom:5px;overflow:hidden;text-overflow:ellipsis}.task-item small{display:block;font-size:11px}.connection-row{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line);font-size:12px}.image-dialog{width:100vw;max-width:none;height:100dvh;max-height:none;border:0;border-radius:0;padding:0;background:#222930;overflow:hidden}.image-dialog-bar{height:55px;display:flex;align-items:center;justify-content:space-between;padding:8px 20px;color:#c4cdd6;font-size:12px;position:absolute;top:0;left:0;right:0;z-index:2;background:#222930dd}.image-dialog-bar .secondary{background:#394654;color:#e9eef3}#imageZoom{width:100%;height:100%;display:flex;align-items:center;justify-content:center;touch-action:none;overflow:hidden}#largeImage{max-width:95%;max-height:88%;object-fit:contain;transform-origin:center;user-select:none;pointer-events:none}.toast{position:fixed;bottom:max(28px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);max-width:min(700px,90vw);background:#263342ed;color:#fff;border-radius:13px;padding:13px 22px;z-index:200;box-shadow:var(--shadow);line-height:1.6;font-size:13px;text-align:center}[hidden]{display:none!important}
@media(min-width:1100px) and (min-height:600px){body.sheet-open .work-area{padding-right:455px}.sheet-backdrop{background:transparent;right:445px;pointer-events:none}.sheet-open .canvas-bottom>span{display:none}.composer{width:420px}.sheet-open .composer-launcher>.primary{display:none}}
@media(max-height:760px) and (orientation:landscape){.topbar{height:58px}.studio{height:calc(100dvh - 58px)}.tool-rail{padding:5px 8px;gap:0}.rail-button{min-height:46px}.rail-button>span{font-size:21px}.rail-divider{margin:3px}.brush-label{margin:2px}.document-bar{height:44px}.composer{top:69px;bottom:10px;width:390px}.sheet-heading{padding:14px 18px 10px}.sheet-content{padding:5px 18px 15px}.sheet-footer{padding:10px 18px}.composer-launcher{height:75px;padding-top:10px}.prompt-launcher{padding:10px 15px}.composer-launcher>.primary{height:58px}.canvas-bottom>span{display:none}}
@media(max-width:900px){.version{display:none}.work-area{padding:0 12px 12px}.canvas-bottom>span{display:none}.composer{width:390px}.history-grid{grid-template-columns:repeat(3,1fr)}.composer-launcher>.primary{min-width:125px;font-size:13px;gap:12px}.topbar{gap:8px}.segmented button{padding:9px 14px}}
@media(orientation:portrait){.composer{top:15dvh;left:8%;right:8%;width:auto;bottom:max(16px,env(safe-area-inset-bottom))}.sheet-content textarea{height:210px}.sheet-backdrop{inset:0}.tool-rail{padding-top:18px}.canvas-bottom .quiet{font-size:10px}.canvas-area{border-radius:16px}.empty-state p{max-width:280px;line-height:1.7}}
@media(max-width:600px){:root{--rail:58px}.topbar{height:58px;padding:8px 10px}.brand{gap:6px}.brand strong{font-size:17px}.brand-mark{width:28px;height:28px;font-size:18px}.header-actions{gap:0}.header-actions .quiet{font-size:11px;padding:7px}.header-actions .icon-button{width:30px;height:32px;font-size:18px}.topbar .segmented button{font-size:11px;padding:7px 9px}.studio{height:calc(100dvh - 58px)}.tool-rail{padding:8px 2px}.rail-button{width:48px;font-size:9px;min-height:50px}.work-area{padding:0 8px 8px}.document-bar{height:43px}.save-state{display:none}.canvas-top{padding:5px 8px}.canvas-bottom{padding:2px 4px}.canvas-bottom .quiet{padding:7px 4px;font-size:9px}.empty-state h1{font-size:18px}.empty-state p{font-size:11px}.composer-launcher{height:80px;gap:7px}.prompt-launcher{padding:12px 10px;gap:8px}.prompt-launcher strong{font-size:11px}.prompt-launcher small{font-size:9px}.spark{font-size:22px}.composer-launcher>.primary{min-width:83px;padding:11px;font-size:12px;height:60px}.composer-launcher>.primary span{display:none}.composer{left:8px;right:8px;top:8dvh;bottom:8px}.history-grid{grid-template-columns:repeat(2,1fr)}dialog{padding:18px}.history-controls select{width:120px}.history-controls button{padding:8px}.launcher-arrow{display:none}}
/* Editable shared prompt stays compact in the landscape composer. */
#defaultPromptInline{min-height:104px;height:128px;margin-top:8px;font-size:14px;line-height:1.6}
