.image-generator{overflow-wrap:anywhere;container-type:inline-size}.image-generator .blog-page-title{max-width:none;font-size:min(clamp(16px,4.4vw,40px),7.5cqw);line-height:1.12;letter-spacing:-.03em;white-space:nowrap}.image-generator .workspace{display:grid;grid-template-columns:minmax(280px,1fr) minmax(0,2fr);gap:32px;margin-top:24px;align-items:start}.image-generator .site-form{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;min-width:0}.image-generator .history-heading h2,.image-generator .site-form label{font-family:var(--font-mono);font-size:11px;font-weight:400;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}.image-generator .site-form label{margin:0}.image-generator .prompt-field{display:grid;gap:8px}.image-generator .prompt-input{position:relative;display:grid;min-width:0}.image-generator textarea{resize:vertical;width:100%;min-height:160px;padding-bottom:36px;line-height:1.5}.image-generator .prompt-count{position:absolute;right:24px;bottom:12px;color:var(--text-muted);opacity:.65;font-size:11px;line-height:1.4;pointer-events:none}.image-generator select{cursor:pointer;appearance:none;display:flex;align-items:center;block-size:40px;min-height:40px;padding:0 34px 0 12px;font-size:14px;line-height:1.3;background-color:var(--surface);background-image:linear-gradient(45deg,transparent 50%,var(--text-muted) 50%),linear-gradient(135deg,var(--text-muted) 50%,transparent 50%);background-position:calc(100% - 19px) 17px,calc(100% - 14px) 17px;background-size:5px 5px;background-repeat:no-repeat}.image-generator select:hover{border-color:var(--accent)}.image-generator select:focus-visible,.image-generator textarea:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px}.image-generator select option{background:var(--surface);color:var(--text)}@supports (appearance:base-select){.image-generator select,.image-generator select::picker(select){appearance:base-select}.image-generator select::picker-icon{display:none}.image-generator select::picker(select){margin-top:5px;padding:4px;border:1px solid var(--border);border-radius:var(--radius-m);background:var(--surface);color:var(--text);box-shadow:var(--shadow-soft)}.image-generator select option{display:flex;align-items:center;min-height:34px;padding:6px 10px;gap:8px;border-radius:var(--radius-s);font-size:14px;line-height:20px;cursor:pointer}.image-generator select option:focus,.image-generator select option:hover{background:var(--overlay-soft)}.image-generator select option:checked{background:var(--tag-bg);color:var(--tag-text);font-weight:500}.image-generator select option[data-size]:after{content:attr(data-size);margin-left:auto;color:var(--text-muted);font-size:11px;font-weight:400;white-space:nowrap}}.image-generator .choices{display:grid;gap:12px}.image-generator .choices>div{display:grid;gap:8px;min-width:0}.image-generator .choices label{margin:0}.image-generator .hint{margin:0;color:var(--text-muted);font-size:12px;line-height:1.6}.image-generator .auth-error,.image-generator .auth-notice{margin:0}.image-generator .feedback-button{justify-self:start;min-width:0;max-width:100%;font-size:14px;padding:10px 14px}.image-generator .generate-button{width:100%;justify-self:stretch}.image-generator .generate-button:disabled{opacity:.4;cursor:not-allowed}.image-generator .button-cost{font-weight:400;white-space:nowrap}.image-generator .history{min-width:0;min-height:0;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);gap:8px}.image-generator .history-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 12px}.image-generator .history-heading h2{max-width:none;margin:0;white-space:nowrap}.image-generator .history-refresh{display:inline-flex;align-items:center;justify-content:center;flex:0 0 24px;width:24px;height:24px;margin-block:-5px;border:0;border-radius:var(--radius-s);padding:0;background:transparent;color:var(--text-muted);cursor:pointer}.image-generator .history-refresh:hover{background:var(--overlay-soft);color:var(--text)}.image-generator .history-refresh:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.image-generator .history-viewport{min-height:0;block-size:clamp(280px,60dvh,480px);overflow-y:auto;overscroll-behavior-y:contain;border:1px dashed var(--border);border-radius:var(--radius-m)}.image-generator .history-viewport:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px}.image-generator .history-viewport.has-results{padding:16px;border-style:solid}.image-generator .history-viewport>.feedback-button{margin-top:16px}.image-generator .gallery-empty{display:grid;place-content:center;height:100%;margin:0;padding:24px;color:var(--text-muted);font-size:14px;text-align:center}.image-generator .results{display:grid;grid-template-columns:repeat(auto-fill,minmax(94px,1fr));gap:12px}.image-generator .result{position:relative;min-width:0;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-m);background:var(--surface)}.image-generator .result-open{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;width:100%;height:100%;padding:0;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:zoom-in}.image-generator .result-open>.image-placeholder,.image-generator .result-open>img{flex-shrink:0}.image-generator .result-open:disabled{cursor:default}.image-generator .result-open:not(:disabled):hover{background:var(--overlay-soft)}.image-generator .result-open:focus-visible{outline-offset:-3px}.image-generator .result img{display:block;width:100%;aspect-ratio:1;height:auto;object-fit:cover}.image-generator .tile-caption{display:grid;gap:4px;min-height:50px;padding:8px}.image-generator .tile-model{overflow:hidden;margin:0;white-space:nowrap;text-overflow:ellipsis;font-size:11px}.image-generator .tile-delete,.image-generator .tile-repeat{position:absolute;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:1px solid var(--border);border-radius:50%;background:var(--surface);color:var(--text-muted);cursor:pointer;transition:color .15s,border-color .15s,background .15s}.image-generator .tile-delete svg,.image-generator .tile-repeat svg{display:block;flex-shrink:0;width:10px;height:10px}.image-generator .tile-delete{top:6px;right:6px}.image-generator .tile-repeat{top:6px;left:6px}.image-generator .tile-delete:hover,.image-generator .tile-repeat:hover{color:var(--accent);border-color:var(--accent);background:var(--tag-bg)}.image-generator .tile-delete:focus-visible,.image-generator .tile-repeat:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px}.image-generator .tile-delete:disabled,.image-generator .tile-repeat:disabled{opacity:.4;cursor:not-allowed}.image-generator .result-failed-mark{color:var(--text-muted);font-size:32px;line-height:1}.image-generator .tile-error,.image-generator .tile-status{color:var(--text-muted);font-size:11px}.image-generator .tile-status{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.image-generator .tile-error{color:var(--notice-error)}.image-generator .image-placeholder{aspect-ratio:1;padding:12px;background:var(--overlay-soft);display:grid;place-content:center;gap:8px;color:var(--text-muted);font-size:12px;text-align:center}.image-generator .image-placeholder p{margin:0}.image-generator .image-placeholder .loader-label{font-size:11px}.image-generator .image-viewer{width:min(960px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 32px);padding:0;border:1px solid var(--border);border-radius:var(--radius-l);background:var(--surface);color:var(--text)}.image-generator .image-viewer::backdrop{background:rgb(0 0 0/.65)}.image-generator .image-viewer-content{display:grid;gap:16px;padding:20px}.image-generator .image-viewer-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.image-generator .image-viewer-heading h2{margin:0;font-size:18px}.image-generator .image-viewer-actions{display:flex;align-items:center;gap:6px}.image-generator .image-viewer-icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:1px solid var(--border);border-radius:var(--radius-s);background:transparent;color:var(--text-muted);cursor:pointer}.image-generator .image-viewer-icon svg{display:block;width:18px;height:18px}.image-generator .image-viewer-icon:hover{color:var(--accent);border-color:var(--accent);background:var(--tag-bg)}.image-generator .image-viewer-icon:focus-visible,.image-generator .prompt-copy-button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.image-generator .image-viewer img{display:block;width:100%;height:auto;max-height:62dvh;object-fit:contain}.image-generator .image-viewer .image-details{display:grid;gap:16px;min-width:0}.image-generator .image-viewer .viewer-prompt{min-width:0}.image-generator .image-viewer .prompt-copy-button{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;margin-right:6px;padding:0;border:0;border-radius:4px;background:transparent;color:var(--text-muted);vertical-align:text-bottom;cursor:pointer}.image-generator .image-viewer .prompt-copy-button svg{display:block;width:14px;height:14px}.image-generator .image-viewer .prompt-copy-button:hover{color:var(--accent);background:var(--overlay-soft)}.image-generator .image-viewer .prompt-copy-button.is-copied{color:#258044}html[data-theme=dark] .image-generator .image-viewer .prompt-copy-button.is-copied{color:#73c88b}.image-generator .image-viewer .prompt-copy{margin:0;font-size:13px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}.image-generator .image-viewer dl{display:flex;flex-wrap:wrap;gap:12px 24px;margin:0;font-size:13px}.image-generator .image-viewer dt{color:var(--text-muted);font-size:11px}.image-generator .image-viewer dd{margin:4px 0 0}@media (max-width:900px){.image-generator .workspace{grid-template-columns:minmax(0,1fr);gap:28px}}@media (min-width:901px){.image-generator .history{contain:size;align-self:stretch}.image-generator .history-viewport{block-size:auto}}@media (max-width:768px){.image-generator .blog-page-title{font-size:min(clamp(26px,6vw,36px),7.5cqw)}}@media (max-width:480px){.image-generator .results{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.image-generator .image-viewer-content{padding:12px}}