
/* Actual service UI. Kept separate from the JiMeng-style presentation surface. */
.prompt-editor{font-size:16px;line-height:1.8;color:#e9e9ed;background:transparent;outline:none;white-space:pre-wrap;overflow-wrap:anywhere;min-height:100px;max-height:310px;overflow-y:auto;padding:18px 10px 8px 90px;flex:1;caret-color:#8ae8ef}
.prompt-editor[data-empty="true"]:before,.prompt-editor:empty:before{content:attr(data-placeholder);color:#777b84;pointer-events:none}
.composer:focus-within{border-color:#7483a0;box-shadow:0 0 0 1px #7483a033,0 10px 50px #0002}
.composer-tools{flex-wrap:wrap;gap:4px}.tool-select{max-width:260px}.tool-select span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.popover button:disabled{opacity:.4;cursor:not-allowed}.popover{max-height:360px;overflow-y:auto}.popover button small{white-space:normal}
/* Why the menu is showing what it is showing: the site catalogue instead of the
   account's own list, usually because nobody is signed in or the balance is 0. */
.popover-note{margin:2px 10px 8px;padding:8px 10px;border-radius:8px;background:#2b3338;color:#a7b5bc;font-size:11px;line-height:1.6;overflow-wrap:anywhere}
.popover-note.is-warn{background:#3b2f24;color:#f0cb96}
.form-error,.task-error{color:#ffaaa0;font-size:13px;line-height:1.7;overflow-wrap:anywhere}
.workspace-dialog select{width:100%;border:1px solid #42444e;background:#242630;color:#eee;border-radius:9px;padding:11px;font:inherit}
.workspace-dialog label{margin-bottom:14px}.account-summary{display:flex;flex-direction:column;gap:10px;margin-bottom:24px;padding:18px;background:#262832;border-radius:12px}.account-summary strong{color:#b3f4e2}
.key-block{margin-bottom:20px;padding:16px;background:#262832;border-radius:12px}
.key-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;font-size:12px;color:#9298a3}
.key-tag{flex:0 0 auto;padding:2px 10px;border-radius:999px;background:#2f3a44;color:#b3f4e2;font-size:11px}
.key-row{display:flex;align-items:center;gap:10px}
.key-row code{flex:1;min-width:0;padding:10px 12px;border:1px solid #3a3d47;border-radius:9px;background:#1c1e26;color:#e8eaf0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;letter-spacing:.5px;overflow-wrap:anywhere;user-select:all}
.copy-btn{flex:0 0 auto;padding:10px 16px;border:1px solid #42444e;border-radius:9px;background:#2f323c;color:#e8eaf0;font:inherit;font-size:13px;cursor:pointer}
.copy-btn:hover{border-color:#5c6270}.copy-btn:disabled{opacity:.6;cursor:default}
.key-note{margin:10px 0 0;color:#8f959d;font-size:12px;line-height:1.7;overflow-wrap:anywhere}
.key-others{margin-bottom:20px}.key-others-title{display:block;margin-bottom:10px;color:#9298a3;font-size:12px}
.key-choice{display:flex;flex-direction:column;gap:4px;width:100%;margin-bottom:8px;padding:10px 12px;border:1px solid #35373f;border-radius:10px;background:#22242c;color:#e8eaf0;font:inherit;text-align:left;cursor:pointer}
.key-choice:hover{border-color:#4a5766}.key-choice:disabled{opacity:.6;cursor:default}
.key-choice code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;overflow-wrap:anywhere}.key-choice small{color:#8f959d;font-size:11px}
.parameter-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.ratio-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:10px}.ratio-choice{margin:0!important;cursor:pointer;display:block}.ratio-choice input{position:absolute;opacity:0;width:1px!important;height:1px}.ratio-choice span{display:block;border:1px solid #42444e;padding:14px 10px;text-align:center;border-radius:10px}.ratio-choice input:checked+span{background:#325255;border-color:#8be6ea}.ratio-choice input:focus-visible+span{outline:2px solid #fff}
.cloud-section-title{display:flex;justify-content:space-between;align-items:center;padding:20px 0}.cloud-section-title h2{font-size:18px}.cloud-section-title button,.task-pager button{color:#aaa;background:#24262c;padding:8px 12px;border-radius:8px;border:0;cursor:pointer}
.cloud-asset-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:30px}
.cloud-task-head button .studio-action-icon,.cloud-images figcaption a .studio-action-icon { display:inline-block; width:14px; height:14px; vertical-align:-3px; } .cloud-task-head button,.cloud-images figcaption a { display:inline-flex; align-items:center; gap:5px; } .cloud-task{background:#1a1b20;border:1px solid #32343b;border-radius:16px;padding:20px;min-width:0}.cloud-task-head{display:flex;align-items:center;gap:10px;color:#999;font-size:12px}.cloud-task-head button{margin-left:auto;color:#bbb;background:#30333c;border:0;border-radius:6px;padding:4px 9px;cursor:pointer}.task-status{color:#8febd7}.cloud-task.failed .task-status,.cloud-task.needs_attention .task-status{color:#ffb7a6}.cloud-task.canceled .task-status{color:#aaa}
.task-prompt{font-size:15px;line-height:1.8;margin:14px 0 7px;white-space:pre-wrap;overflow-wrap:anywhere}.task-meta{font-size:12px;color:#8a8e99;overflow-wrap:anywhere}.cloud-images{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}.cloud-images figure{margin:0;min-width:0}.cloud-images figure:only-child{grid-column:1/-1}.cloud-images button{padding:0;width:100%;background:#101114;border:0;border-radius:12px;overflow:hidden;cursor:zoom-in}.cloud-images img{display:block;width:100%;max-height:540px;object-fit:contain}.cloud-images figcaption{display:flex;justify-content:space-between;gap:8px;font-size:12px;color:#9da2af;padding:10px 2px}.cloud-images a{color:#a7e8ec;text-decoration:none}.cloud-task-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:14px}.cloud-task-actions button{border:1px solid #42454d;background:transparent;color:#ccc;border-radius:8px;padding:7px 11px;cursor:pointer}.cloud-task-actions small{color:#6e737d;font-size:11px;margin-left:auto}.task-working{padding-top:15px}.task-working p{font-size:13px;color:#9196a1}.progress-sheen{display:block;height:3px;border-radius:4px;background:linear-gradient(90deg,#2d343a,#8ceadc,#2d343a);background-size:200%;animation:progressGlow 2s linear infinite}@keyframes progressGlow{to{background-position:-200%}}
#cloudHistory{padding:10px 12px;overflow:auto;flex:1;min-height:0}.history-heading{display:flex;align-items:center;justify-content:space-between;padding:8px;color:#8a909b;font-size:12px}.history-heading button{background:none;border:0;color:#aaa;cursor:pointer}.cloud-history-item{display:flex;align-items:center;width:100%;border:0;background:transparent;color:#bcbec7;font-size:12px;gap:8px;padding:10px 7px;text-align:left;cursor:pointer;border-radius:8px}.cloud-history-item:hover,.cloud-history-item.active{background:#262930}.cloud-history-item span{flex:1;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.cloud-history-item small{font-size:10px;color:#838996}.status-dot{width:5px;height:5px;flex-shrink:0;border-radius:100%;background:#636874}.status-dot.succeeded{background:#7fd3ad}.status-dot.running,.status-dot.queued{background:#8acbfa}.status-dot.failed,.status-dot.needs_attention{background:#e7978a}.sidebar-collapsed #cloudHistory{display:none}
#taskNotifications{display:flex;flex-direction:column}#taskNotifications button{background:none;border:0;color:#ccc;padding:10px;text-align:left;cursor:pointer}.task-pager{display:flex;justify-content:center;gap:15px;align-items:center;padding:15px}.task-pager button:disabled{opacity:.4;cursor:default}.image-lightbox img{max-height:65vh;max-width:100%;object-fit:contain;width:100%;background:#111;border-radius:12px}.image-lightbox p{font-size:13px;line-height:1.7;overflow-wrap:anywhere}.image-lightbox a{text-decoration:none}.workspace-dialog:has(.image-lightbox){width:min(1050px,95vw);max-width:95vw}.composer-context{font-size:12px}.preview-note{font-size:12px}.points-pill{min-width:120px}.promo-copy{font-size:12px}.generation-result{margin-top:22px;padding:0;border:0;background:none}.sidebar{display:flex;flex-direction:column}.floating-help{cursor:pointer}
@media(max-width:780px){.cloud-asset-grid{grid-template-columns:1fr}.cloud-task{padding:14px}.prompt-editor{padding-left:60px;font-size:15px;min-height:110px}.parameter-columns{grid-template-columns:1fr}.ratio-grid{grid-template-columns:repeat(4,1fr)}.composer-tools .tool-select{max-width:160px}.tool-select #autoLabel{max-width:105px}.cloud-images{gap:8px}.cloud-task-actions small{margin-left:0}.cloud-task-head time{font-size:10px}.points-pill small{display:none}.points-pill{min-width:0}}
@media(prefers-reduced-motion:reduce){.progress-sheen{animation:none}}

.parameter-panel{background:#252525;border:1px solid #383838;padding:14px;border-radius:16px;z-index:80;box-shadow:0 15px 50px #0006;max-height:85vh;overflow-y:auto}.parameter-panel .popover-title{font-size:12px;font-weight:400;padding:0;margin:4px 0 10px;color:#919191}.parameter-panel .popover-title:not(:first-child){margin-top:20px}.inline-ratios,.inline-segments{display:flex;background:#333;border-radius:10px;padding:3px;gap:2px}.inline-ratios label,.inline-segments label{flex:1;position:relative;cursor:pointer;min-width:0}.inline-ratios input,.inline-segments input{position:absolute;opacity:0;width:1px;height:1px}.inline-ratios span{display:flex;flex-direction:column;align-items:center;gap:10px;padding:13px 0 8px;font-size:11px;border-radius:8px;min-height:62px}.inline-ratios i{display:block;border:1.2px solid #ddd;border-radius:2px}.inline-segments span{display:block;text-align:center;padding:10px 4px;border-radius:8px;font-size:13px}.inline-ratios input:checked+span,.inline-segments input:checked+span{background:#494949;color:#fff}.inline-ratios input:focus-visible+span,.inline-segments input:focus-visible+span{outline:2px solid #90deef}.parameter-note{font-size:11px;color:#7f858b;margin:16px 0 0}.subject-token{background:#2b444b;border:1px solid #496d76;border-radius:6px;padding:1px 4px;color:#a8e5ef;font-size:13px;white-space:normal}.prompt-editor{font-size:14px;line-height:24px}

.hero-create{padding-top:14px;padding-bottom:12px;overflow:visible}.hero-create h1{font-family:inherit;font-weight:600;font-size:28px;letter-spacing:0;margin:4px 0 26px}.composer-wrap{width:min(1200px,82%);margin-top:36px}.composer{min-height:158px;background:linear-gradient(170deg,#1b1b1b,#222);border:1px solid #2d2d2d;padding:20px 18px 12px;box-shadow:none;border-radius:23px}.preview-note{display:none}.composer-context{display:none}.composer[data-status="loading"] .composer-context{display:flex;position:absolute;left:18px;bottom:-25px}.upload-tile{position:absolute;top:23px;left:20px;width:48px;height:64px;margin:0;background:#2d2d2d}.prompt-editor{padding:0 4px 0 0;margin:0 0 10px 76px;min-height:65px;max-height:280px}.composer-meta{font-size:10px;opacity:0;transition:opacity .15s;margin-bottom:3px}.composer:focus-within .composer-meta{opacity:1}.composer-footer{border-top:0;padding-top:0}.composer-tools{gap:5px}.tool-select{background:transparent}.send-btn.ready{background:#e5eeef;color:#151719;box-shadow:none}.composer-suggestions{display:none!important}.composer:focus-within{border-color:#555;box-shadow:0 0 0 1px #ffffff08}.generation-result button[data-image-task]{padding:0;background:#111;font-size:inherit;border-radius:12px}.topbar{border:0}.breadcrumb{opacity:.7}.side-section:has([data-action="new-canvas"]){opacity:.45}
@media(max-width:1200px){.composer-wrap{width:min(100%,960px)}}
@media(max-width:760px){.hero-create{padding:20px 14px 10px}.hero-create h1{font-size:23px;margin-bottom:18px}.composer-wrap{width:100%;margin-top:24px}.composer{padding:16px 12px 12px;border-radius:18px}.upload-tile{left:16px;top:19px;width:39px;height:54px}.prompt-editor{margin-left:55px;min-height:80px}.composer-tools{display:flex;flex-wrap:wrap;flex:1;min-width:0}.composer-tools .tool-select{max-width:170px}.composer-footer{flex-wrap:nowrap;align-items:flex-end}.composer-actions{width:auto;flex:0 0 auto}.composer-actions .send-btn{width:44px;height:44px;min-width:44px;flex:0 0 44px}.composer-tools [data-action="mention"]{display:none}.composer-tools [data-action="prompt-options"]{display:none}.composer-tools .tool-select[data-menu="autoMenu"]{max-width:160px}.composer-tools .tool-select[data-studio="params"]{max-width:130px}}

@media(max-width:600px){#cloudHistory{display:none}.promo-copy{font-size:11px}.cloud-task-head time{font-size:10px}.cloud-task{overflow-wrap:anywhere}}

.feature-card:nth-child(1) .feature-visual:before{content:"CINEMA"}
.feature-card:nth-child(2) .feature-visual:before{content:"DESIGN";font-size:24px;left:25%}
.feature-card:nth-child(3) .feature-visual:before{content:"DREAM"}
.feature-card:nth-child(4) .feature-visual:before{content:"自然光"}

.parameter-panel .param-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:#333;border-radius:10px;padding:3px;gap:2px}.parameter-panel .param-choice{position:relative;min-width:0;cursor:pointer}.parameter-panel .param-choice input{position:absolute;opacity:0;width:1px;height:1px}.parameter-panel .param-choice span{display:flex;min-height:55px;flex-direction:column;align-items:center;justify-content:center;gap:6px;border-radius:8px;font-size:11px}.parameter-panel .param-choice input:checked+span{background:#494949;color:#fff}.parameter-panel .param-choice input:focus-visible+span{outline:2px solid #90deef}.parameter-panel .param-choice.is-disabled{opacity:.32;cursor:not-allowed}.parameter-panel .param-choice small{display:block;font-size:9px;color:#ffb9a9}.parameter-panel .param-choice i{display:flex;width:20px;height:20px;align-items:center;justify-content:center;font-style:normal;border:1px solid #ddd;border-radius:3px}.parameter-panel .param-toggle{display:flex;align-items:center;gap:8px;margin-top:14px;font-size:12px;color:#ddd}.parameter-panel .param-toggle small{color:#969ca4}.parameter-panel .param-toggle input{accent-color:#91e8ed}

/* Recovery feedback stays next to the task; no explanation dialog or toast. */
.task-recovery-inline{margin-top:12px;font-size:12px;line-height:1.7}
.task-recovery-inline .generation-error{margin:0 0 8px;overflow-wrap:anywhere}
.recovery-file-choice{position:relative;display:inline-flex;align-items:center;padding:8px 12px;border-radius:8px;background:var(--studio-surface,#292e31);cursor:pointer;font-size:12px;overflow:hidden}
.recovery-file-choice input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.recovery-file-choice:focus-within{outline:2px solid #91e8ed;outline-offset:2px}
.recovery-file-choice.is-disabled{opacity:.45;cursor:wait}
.composer-error{margin:8px 2px 0;font-size:12px;line-height:1.6;color:#ffb9a9;overflow-wrap:anywhere}
.composer-error[hidden]{display:none}
