/* AI visualization — Variant A. One layout, with compact and mobile adaptations. */
.ai-images-dialog,.ai-images-dialog *,.ai-gallery-dialog,.ai-gallery-dialog * { box-sizing:border-box; }
.ai-images-dialog {
  --ai-line:#dbe5de; --ai-ink:#263b30; --ai-muted:#718078; --ai-green:#557448;
  --ai-header-height:70px; --ai-layout-inset:26px; --ai-style-height:100px;
  --ai-layout-gap:12px; --ai-result-gap:12px; --ai-compose-block-height:108px; --ai-min-controls:202px;
  --ai-window-height:min(960px,calc(100dvh - 40px));
  --ai-controls-width:clamp(250px,24.5vw,380px); --ai-body-outer-width:38px;
  --ai-result-height:calc(var(--ai-window-height) - var(--ai-header-height) - var(--ai-layout-inset) - var(--ai-style-height) - var(--ai-compose-block-height) - 2 * var(--ai-layout-gap));
  --ai-fitted-width:calc(var(--ai-controls-width) + var(--ai-result-height) * 32 / 15 + var(--ai-result-gap) - 11.3778px + var(--ai-layout-gap) + var(--ai-body-outer-width));
  container-type:size;
  width:min(1800px,calc(100vw - 48px),var(--ai-fitted-width)); height:var(--ai-window-height);
  max-width:calc(100vw - 48px); max-height:none; margin:auto; padding:0; overflow:hidden;
  border:1px solid var(--ai-line); border-radius:22px; background:#f5f9f6; color:var(--ai-ink);
  font:13px/1.4 var(--font-ui,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif);
  box-shadow:0 24px 90px #203f3430;
}
.ai-images-dialog::backdrop { background:#263f365c; backdrop-filter:blur(5px); }
.ai-images-dialog h2,.ai-images-dialog h3,.ai-images-dialog p { margin:0; }
.ai-images-dialog h2 { font-size:22px; font-weight:700; letter-spacing:-.025em; line-height:1.2; }
.ai-mark { display:block; flex:none; width:18px; height:18px; }
#aiImagesTitle { display:flex; align-items:center; gap:9px; }
#aiImagesTitle .ai-mark { width:22px; height:22px; color:var(--ai-green); }
.ai-images-dialog h3 { font-size:13px; font-weight:650; line-height:1.3; }
.ai-images-dialog small,.ai-images-help { color:var(--ai-muted,#718078); font-size:11px; }
.ai-images-dialog button,.ai-images-dialog select,.ai-images-dialog textarea {
  min-width:0; border:1px solid var(--ai-line); border-radius:10px;
  color:inherit; background:#fff; font:inherit; box-shadow:none;
}
.ai-images-dialog button { min-height:34px; padding:7px 12px; cursor:pointer; }
.ai-images-dialog button:hover { border-color:#9ab18f; background:#f1f7ed; }
.ai-images-dialog button:disabled { cursor:default; opacity:.5; }
.ai-images-dialog :is(button,select,textarea,summary):focus-visible { outline:2px solid #789961; outline-offset:3px; }
.ai-images-dialog [hidden],.ai-gallery-dialog [hidden] { display:none!important; }
.ai-images-dialog > header {
  display:flex; height:70px; align-items:center; justify-content:space-between;
  gap:16px; padding:12px 24px; border-bottom:1px solid #e3ebe5;
}
#aiProjectName { display:block; margin-top:4px; }
.ai-header-actions { display:flex; gap:12px; align-items:center; }
.ai-header-actions > button { min-height:36px; font-size:12px; }
.ai-images-dialog .ai-close { min-width:34px; padding:0; border:0; border-radius:50%; background:#eaf1e9; color:#607666; font-size:23px; }
.ai-images-body {
  /* Keep the donor readable while the widescreen result uses the remaining width. */
  display:grid; grid-template-columns:var(--ai-controls-width) minmax(0,1fr);
  grid-template-rows:100px minmax(0,1fr) 108px; height:calc(100% - 70px);
  gap:12px; min-height:0; padding:12px 18px 14px;
}
.ai-left-rail { display:contents; }

/* Seven edge-to-edge previews, with names over the photographs. */
.ai-style-section { grid-column:1/-1; grid-row:1; min-width:0; }
.ai-style-section > h3 { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.ai-style-picker { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:10px; height:100%; }
.ai-style-card {
  position:relative; display:block;
  min-width:0; min-height:0; height:100%; padding:0!important; overflow:hidden;
  border:1px solid var(--color-border)!important; border-radius:12px!important; background:var(--color-surface)!important; text-align:left;
}
.ai-style-art,.ai-style-art img { display:block; width:100%; height:100%; min-height:0; }
.ai-style-art { position:absolute; inset:0; overflow:hidden; background:#eaf0e9; }
.ai-style-art img { object-fit:cover; object-position:center 57%; }
.ai-style-card > span:last-child,.ai-variant-card small { position:absolute; z-index:1; right:0; bottom:0; left:0; margin:0; padding:22px 8px 7px; overflow:hidden; background:linear-gradient(transparent,#17271dd9); color:#fff; font-size:11px; font-weight:600; line-height:1.2; letter-spacing:normal; text-shadow:0 1px 2px #0005; white-space:normal; overflow-wrap:normal; text-align:left; pointer-events:none; }
.ai-style-card[aria-selected="true"] { border-color:var(--color-focus)!important; box-shadow:0 0 0 2px var(--color-focus)!important; }
.ai-style-card[aria-selected="true"]::before,.ai-variant-card[aria-pressed="true"]::before { content:""; position:absolute; z-index:3; inset:0; border:2px solid var(--color-focus); border-radius:inherit; pointer-events:none; }
.ai-style-card[aria-selected="true"]::after { content:"✓"; position:absolute; display:grid; place-items:center; right:7px; top:7px; width:25px; height:25px; border-radius:50%; background:var(--color-primary); color:white; font-size:16px; }

/* Left panel — source and generation settings. */
.ai-images-controls { grid-column:1; grid-row:2; container-type:size; display:flex; flex-direction:column; gap:9px; min-width:0; min-height:0; overflow:hidden; }
.ai-source-control { position:relative; order:0; flex:none; align-self:center; width:min(100%,calc((100cqh - 146px) * 16 / 9)); aspect-ratio:16/9; min-height:0; margin:0; padding:0; overflow:hidden; background:#edf2ee; border:1px solid var(--ai-line); border-radius:14px; }
.ai-source-control figcaption { position:absolute; z-index:2; top:9px; left:9px; max-width:calc(100% - 18px); margin:0; padding:5px 8px; border-radius:7px; background:#ffffffe6; font-size:11px; font-weight:650; line-height:1.2; pointer-events:none; }
.ai-image-frame { position:relative; display:flex; align-items:center; justify-content:center; min-width:0; min-height:0; overflow:hidden; border-radius:11px; background:#edf2ee; }
.ai-image-frame img { display:block; width:100%; height:100%; min-height:0; object-fit:contain; transform:none; }
.ai-image-frame > span { padding:24px; color:#718078; font-size:13px; text-align:center; }
.ai-source-control .ai-image-frame { width:100%; height:100%; aspect-ratio:16/9; border-radius:0; }
.ai-source-actions,.ai-image-actions { position:absolute; display:flex; align-items:center; gap:7px; z-index:2; }
.ai-source-actions { right:8px; bottom:8px; }
.ai-source-actions button { width:32px; height:32px; min-height:32px; padding:0; background:#fffffff0; border-color:#fff; box-shadow:0 2px 8px #263d2d15; font-size:18px; }
.ai-source-actions #aiGeometryReview{width:auto;padding:0 9px;font-size:12px;font-weight:600}
.ai-settings-panel { order:1; flex:none; padding:8px 10px; border:1px solid var(--ai-line); border-radius:12px; background:#fff; }
.ai-settings-panel h3 { margin-bottom:6px; font-size:12px; }
.ai-field-row { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.ai-field-row label { display:grid; gap:3px; color:#54665b; font-size:10px; }
.ai-images-dialog select { width:100%; height:32px; padding:5px 6px; font-size:11px; }
.ai-atmosphere-field { display:grid; grid-template-columns:62px minmax(0,1fr); align-items:center; gap:5px; margin-top:6px; color:#54665b; font-size:10px; }
.ai-format-note { display:none; }
#aiService { order:2; flex:none; padding:0 4px; color:#718078; font-size:10px; line-height:1.4; overflow-wrap:anywhere; }

/* Five 16:9 thumbnails fit the same vertical span as the 16:9 result.
   Rail width = (result height - four 8px gaps) / 5 * 16/9. */
.ai-images-results { grid-column:2; grid-row:2; container-type:size; display:flex; align-items:flex-start; justify-content:flex-start; min-width:0; min-height:0; }
.ai-results-stage { --ai-image-height:min(100cqh,calc((100cqw - var(--ai-result-gap) + 11.3778px) * 15 / 32)); --ai-image-width:calc(var(--ai-image-height) * 16 / 9); --ai-room-rail:calc((var(--ai-image-height) - 32px) * 16 / 45); display:grid; grid-template-columns:var(--ai-image-width) var(--ai-room-rail); gap:var(--ai-result-gap); width:max-content; max-width:100%; height:var(--ai-image-height); min-width:0; min-height:0; }
.ai-result-figure { position:relative; display:flex; margin:0; min-width:0; min-height:0; overflow:hidden; border:1px solid #d2ddd2; border-radius:14px; background:#edf2ee; }
.ai-result-figure figcaption { position:absolute; z-index:2; top:12px; left:12px; max-width:calc(100% - 24px); padding:6px 10px; overflow:hidden; border-radius:8px; background:#fffffff0; color:#42594a; font-size:11px; font-weight:600; text-overflow:ellipsis; white-space:nowrap; }
.ai-result-figure .ai-image-frame { flex:1; width:100%; height:100%; border-radius:0; }
.ai-result-figure .ai-image-frame img { object-fit:contain; }
#aiResult { cursor:zoom-in; }
.ai-image-actions { right:12px; bottom:12px; left:12px; justify-content:flex-end; flex-wrap:wrap; }
.ai-image-actions button { min-height:32px; padding:6px 10px; border-color:#ffffffc9; background:#ffffffef; box-shadow:0 2px 8px #263d2d18; font-size:11px; }
.ai-image-actions button:first-child { margin-right:auto; }
.ai-angle-rail { display:flex; min-width:0; min-height:0; padding:0; border:0; background:transparent; }
.ai-variants { display:flex; flex-direction:column; gap:0; width:100%; min-height:0; }
.ai-variants h3 { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.ai-variant-grid { display:grid; grid-template-columns:minmax(0,1fr); grid-auto-rows:min-content; align-content:start; flex:1; gap:8px; min-height:0; overflow-y:auto; padding:0; scrollbar-width:thin; }
.ai-variant-card { position:relative; width:100%; aspect-ratio:16/9; min-width:0; min-height:0!important; padding:0!important; overflow:hidden; border:1px solid #d3dfd5!important; border-radius:12px!important; }
.ai-variant-card img { position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:contain; background:#edf2ee; }
.ai-variant-card small { padding:18px 6px 6px; font-size:10px; white-space:nowrap; text-overflow:ellipsis; }
.ai-variant-card[aria-pressed="true"] { border-color:#719a55!important; }
.ai-images-warning { display:none; }

/* A compact composer. The attachment panel opens above it and cannot push content down. */
.ai-images-compose { grid-column:1/-1; grid-row:3; min-width:0; min-height:0; }
.ai-chat-composer { --ai-compose-height:28px; --ai-compose-font:11px; --ai-compose-label:128px; display:grid; grid-template-columns:var(--ai-compose-label) minmax(0,1fr); grid-template-rows:repeat(3,var(--ai-compose-height)); gap:5px 12px; height:100%; min-width:0; padding:6px 12px; border:1px solid var(--ai-line); border-radius:14px; background:#fff; font:400 var(--ai-compose-font)/14px var(--font-ui,system-ui,sans-serif); }
.ai-compose-heading { position:relative; grid-column:1; grid-row:1/3; display:grid; grid-template-rows:repeat(2,var(--ai-compose-height)); min-width:0; padding:0; align-items:center; gap:5px; }
html[data-workspace] .ai-images-dialog .ai-chat-composer h3 { font:600 var(--ai-compose-font)/14px var(--font-ui,system-ui,sans-serif); }
.ai-compose-hint { display:none; }
.ai-reference { position:relative; z-index:10; }
.ai-reference summary { display:flex; align-items:center; justify-content:flex-start; gap:7px; width:100%; height:var(--ai-compose-height); padding:0 8px; border:1px solid #d7e2d5; border-radius:8px; background:#f4f8f1; color:#54734a; font:inherit; cursor:pointer; list-style:none; }
.ai-reference summary::-webkit-details-marker { display:none; }
.ai-reference-plus { display:grid; place-items:center; width:14px; height:14px; font-size:18px; line-height:14px; }
.ai-reference-panel { position:absolute; bottom:44px; left:0; width:264px; padding:14px; border:1px solid #ccdaca; border-radius:12px; background:#fff; box-shadow:0 12px 40px #243d302b; }
.ai-reference-panel input { width:100%; font-size:11px; }
.ai-reference-preview { display:grid; place-items:center; min-height:48px; margin-top:10px; overflow:hidden; border-radius:8px; background:#f0f5ee; color:#718078; font-size:11px; }
.ai-reference-preview img { width:100%; max-height:130px; object-fit:contain; }
.ai-reference-panel button { margin-top:8px; font-size:11px; }
.ai-prompt-field { grid-column:2; grid-row:1; display:block; min-width:0; margin:0; }
.ai-chat-composer .ai-prompt-field textarea { display:block; width:100%; height:var(--ai-compose-height); min-height:var(--ai-compose-height); padding:6px 10px; border-color:#cfdccc; border-radius:8px; resize:none; background:#f8faf6; font:inherit; }
.ai-prompt-suggestions { grid-column:2; grid-row:2; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); align-items:stretch; gap:6px; min-width:0; max-width:100%; }
.ai-prompt-suggestions button { width:100%; height:var(--ai-compose-height); min-height:var(--ai-compose-height); padding:6px 8px; font:inherit; white-space:nowrap; border-radius:8px; background:#f6f9f3; color:#607456; }
.ai-generation-options { display:flex; flex:none; align-items:center; gap:8px; height:var(--ai-compose-height); }
.ai-count-field { display:flex; align-items:center; gap:6px; width:100%; height:100%; color:#526657; font:inherit; }
.ai-generation-options .ai-count-field select { flex:1; width:46px; height:var(--ai-compose-height); padding:6px; border-radius:8px; font:inherit; }
.ai-shot-plan { position:relative; font:inherit; }
.ai-shot-plan summary { display:flex; align-items:center; gap:6px; height:var(--ai-compose-height); padding:0 8px; border:1px solid var(--ai-line); border-radius:8px; cursor:pointer; color:#557448; list-style:none; }
.ai-shot-plan summary::-webkit-details-marker { display:none; }
.ai-shot-plan summary::after { content:'⌃'; display:inline-block; }
.ai-shot-summary-count { padding:1px 4px; border-radius:4px; background:#edf3e8; font-variant-numeric:tabular-nums; }
.ai-shot-summary-count[data-complete="false"] { background:#fff1d9; color:#8c6026; }
.ai-shot-panel { position:absolute; z-index:12; bottom:calc(100% + 8px); left:0; display:flex; flex-direction:column; gap:8px; width:288px; max-width:calc(100vw - 48px); max-height:min(440px,calc(100dvh - 150px)); padding:12px; border:1px solid #d8e3da; border-radius:12px; background:#fff; color:#344e3d; box-shadow:0 10px 35px #243d302b; }
.ai-shot-panel > header { display:flex; flex:none; justify-content:space-between; align-items:center; gap:8px; }
.ai-shot-panel strong { font-weight:600; }
#aiShotSelectionCount { color:#557448; font-variant-numeric:tabular-nums; white-space:nowrap; }
.ai-shot-panel > p { flex:none; color:#718078; line-height:1.4; }
.ai-shot-panel ol { min-height:0; margin:0; padding:0; overflow:auto; list-style:none; scrollbar-width:thin; }
.ai-shot-panel li + li { margin-top:4px; }
.ai-shot-panel label { display:flex; align-items:center; gap:8px; min-height:32px; padding:7px 8px; border:1px solid transparent; border-radius:7px; line-height:16px; cursor:pointer; }
.ai-shot-panel label:has(input:checked) { border-color:#d5e2cb; background:#eef5e9; }
.ai-shot-panel label:has(input:disabled:not(:checked)) { opacity:.55; cursor:default; }
.ai-shot-panel input { flex:none; width:14px; height:14px; margin:0; accent-color:#557448; }
.ai-shot-panel input:focus-visible { outline:2px solid #789961; outline-offset:3px; }
.ai-shot-panel .ai-shot-confirm { flex:none; width:100%; min-height:32px; padding:7px 10px; border-color:#557448; border-radius:8px; background:#557448; color:#fff; font:inherit; font-weight:600; cursor:pointer; }
.ai-shot-panel .ai-shot-confirm:disabled { opacity:.5; cursor:default; }
.ai-compose-footer { position:relative; grid-column:1/-1; grid-row:3; display:grid; grid-template-columns:var(--ai-compose-label) auto minmax(0,1fr) auto; align-items:center; gap:12px; min-width:0; }
.ai-compose-footer::before { content:''; position:absolute; top:-3px; left:0; right:0; height:1px; background:#e8eee5; pointer-events:none; }
.ai-consent { display:flex; align-items:center; gap:6px; min-width:0; max-width:none; color:#6c7c70; font:inherit; }
.ai-consent span { min-width:0; overflow-wrap:anywhere; }
.ai-consent input { flex:0 0 auto; width:14px; height:14px; margin:0; accent-color:#557448; }
.ai-compose-actions { display:flex; flex:0 0 auto; align-items:center; gap:8px; }
.ai-images-dialog .ai-primary { display:inline-flex; align-items:center; justify-content:center; gap:7px; min-width:128px; height:var(--ai-compose-height); min-height:var(--ai-compose-height); padding:6px 18px; border-color:#557448; border-radius:8px; background:#557448; color:#fff; font:inherit; font-weight:600; }
.ai-primary .ai-mark { width:14px; height:14px; }
#aiCancel { height:var(--ai-compose-height); min-height:var(--ai-compose-height); padding:6px 10px; border-radius:8px; font:inherit; }
.ai-images-dialog .ai-primary:hover { background:#46643b; }
.ai-images-status { position:absolute; left:34px; bottom:3px; max-width:calc(100% - 68px); color:#718078; font-size:10px; line-height:1.2; }
.ai-images-status[data-error="true"] { color:#b03e35; }
.ai-images-dialog [data-attention="true"],#aiSettingsButton[data-attention="true"] { outline:2px solid #ce4a42; outline-offset:1px; }
.ai-images-dialog #aiStyleBlock[data-attention="true"] { border-radius:12px; }
.ai-images-dialog #aiConsentText[data-attention="true"] { outline:0; color:#a3322c; background:#fff0ee; border-radius:4px; }
.ai-images-dialog #aiShotPicker[data-attention="true"] summary { color:#a3322c; background:#fff0ee; }
.ai-images-dialog [aria-invalid="true"]:focus-visible { outline-color:#ce4a42; }

/* Secondary views. */
.ai-view-full,.ai-view-full * { box-sizing:border-box; }
.ai-view-full { width:calc(100vw - 32px); height:calc(100dvh - 32px); max-width:1700px; max-height:none; margin:auto; padding:14px; border:1px solid #d8e3da; border-radius:16px; background:#f5f9f6; color:#263b30; overflow:hidden; font:13px/1.4 system-ui,sans-serif; }
.ai-view-full[open] { display:grid; grid-template-rows:auto minmax(0,1fr) 74px; gap:12px; }
.ai-view-full header { display:flex; justify-content:space-between; align-items:center; gap:12px; }
.ai-view-full h2 { margin:0; font-size:17px; }
#aiViewerCount { color:#718078; font-size:12px; }
.ai-view-actions { display:flex; gap:8px; }
.ai-view-full button { border:1px solid #d8e3da; border-radius:9px; padding:8px 12px; background:#fff; color:inherit; cursor:pointer; }
.ai-view-full button:disabled { opacity:.35; cursor:default; }
.ai-view-full button:focus-visible { outline:2px solid #719a55; outline-offset:2px; }
.ai-view-stage { display:grid; grid-template-columns:44px minmax(0,1fr) 44px; align-items:center; gap:10px; min-height:0; }
.ai-view-stage > img { display:block; width:100%; height:100%; min-height:0; object-fit:contain; touch-action:pan-y; }
.ai-view-stage > button { padding:0; height:48px; font-size:30px; }
.ai-view-thumbnails { display:flex; align-items:center; gap:8px; min-width:0; padding:3px; overflow-x:auto; overflow-y:hidden; }
.ai-view-thumbnails button { flex:0 0 112px; height:63px; padding:3px; }
.ai-view-thumbnails img { display:block; width:100%; height:100%; object-fit:contain; border-radius:5px; background:#edf2ee; }
.ai-view-thumbnails button[aria-pressed="true"] { border-color:#719a55; box-shadow:0 0 0 2px #719a55; }
.ai-view-full::backdrop { background:#14251dcc; }
.ai-gallery-dialog { width:min(900px,calc(100vw - 28px)); max-width:none; padding:0; border:1px solid #d8e3da; border-radius:16px; background:#f7faf7; color:#233329; box-shadow:0 28px 90px #18332835; }
.ai-gallery-dialog > header { display:flex; align-items:center; justify-content:space-between; padding:12px 16px; border-bottom:1px solid #dfe8e0; background:#fff; }
.ai-gallery-dialog h2 { margin:0; font-size:18px; }
.ai-gallery-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(160px,1fr)); gap:10px; max-height:65vh; padding:16px; overflow:auto; }
.ai-gallery-grid button { padding:6px; text-align:left; border:1px solid #d8e3da; border-radius:10px; background:#fff; cursor:pointer; }
.ai-gallery-grid img { display:block; width:100%; aspect-ratio:16/9; border-radius:6px; object-fit:contain; background:#edf2ee; }
.ai-gallery-grid small { display:block; padding:5px 2px 1px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ai-gallery-grid button[aria-pressed="true"] { border-color:#719a55; box-shadow:0 0 0 2px #719a55; }
.ai-visually-hidden { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }

@media (min-width:761px) and (max-height:850px) {
  .ai-images-dialog { --ai-window-height:calc(100dvh - 32px); --ai-header-height:58px; --ai-layout-inset:24px; --ai-style-height:80px; --ai-layout-gap:10px; --ai-result-gap:10px; --ai-body-outer-width:34px; }
  .ai-images-dialog > header { height:58px; padding:9px 20px; }
  .ai-images-dialog h2 { font-size:20px; }
  .ai-images-body { height:calc(100% - 58px); grid-template-rows:80px minmax(0,1fr) 108px; gap:10px; padding:10px 16px 14px; }
  .ai-images-controls { gap:9px; }
  .ai-field-row { grid-template-columns:1fr 1fr; gap:8px; }
  .ai-images-dialog select { height:32px; padding:4px 6px; font-size:11px; }
  .ai-results-stage { gap:10px; }
  .ai-style-card > span:last-child { padding:20px 7px 6px; font-size:10px; }
}
@media (max-width:1000px) and (min-width:761px) {
  .ai-images-dialog { --ai-result-gap:10px; }
  .ai-chat-composer { --ai-compose-label:104px; gap:5px 8px; padding:6px 10px; }
  .ai-compose-footer { gap:8px; }
  .ai-images-dialog .ai-primary { min-width:104px; padding:6px 12px; }
  .ai-variants h3 { font-size:11px; }
  .ai-style-picker { gap:7px; }
  .ai-style-card > span:last-child { padding:18px 5px 6px; font-size:9px; }
}
@media (max-width:760px) {
  .ai-view-full { width:calc(100vw - 12px); height:calc(100dvh - 12px); padding:10px; }
  .ai-view-stage { grid-template-columns:28px minmax(0,1fr) 28px; gap:4px; }
  .ai-images-dialog { width:calc(100vw - 16px); max-width:none; height:calc(100dvh - 16px); border-radius:15px; overflow:auto; }
  .ai-images-dialog > header { height:60px; padding:10px 14px; }
  .ai-images-dialog h2 { font-size:17px; }
  .ai-header-actions { gap:5px; }
  .ai-header-actions > button { padding:6px 8px; font-size:10px; }
  .ai-images-body { display:flex; height:auto; flex-direction:column; gap:12px; padding:12px; }
  .ai-style-picker { display:flex; height:92px; gap:8px; padding:3px; overflow-x:auto; }
  .ai-style-card { flex:0 0 112px; }
  .ai-images-controls { container-type:normal; display:grid; grid-template-columns:1fr 1fr; overflow:visible; gap:10px; }
  .ai-source-control { width:100%; align-self:start; }
  .ai-source-control figcaption { top:6px; left:6px; padding:4px 5px; font-size:10px; }
  .ai-settings-panel { padding:8px; }
  .ai-settings-panel h3 { font-size:11px; }
  .ai-atmosphere-field { grid-template-columns:1fr; gap:3px; }
  .ai-field-row { gap:7px; }
  .ai-images-dialog select { height:31px; padding:4px 6px; font-size:11px; }
  #aiService { grid-column:1/-1; }
  .ai-images-results { container-type:normal; }
  .ai-results-stage { display:flex; flex-direction:column; gap:10px; height:auto; }
  .ai-result-figure { width:100%; aspect-ratio:16/9; flex:none; }
  .ai-image-actions { left:7px; right:7px; bottom:7px; gap:4px; }
  .ai-image-actions button { padding:5px 6px; font-size:10px; }
  .ai-variant-grid { display:flex; gap:8px; padding:0; overflow-x:auto; }
  .ai-variant-card { flex:0 0 128px; width:128px; height:72px; }
  .ai-chat-composer { grid-template-columns:1fr; grid-template-rows:auto; height:auto; gap:10px; padding:12px; }
  .ai-compose-heading { grid-column:1; grid-row:1; display:flex; min-height:28px; align-items:center; justify-content:space-between; gap:8px; }
  .ai-reference summary { width:auto; }
  .ai-prompt-field { grid-column:1; grid-row:2; }
  .ai-chat-composer .ai-prompt-field textarea { height:64px; }
  .ai-prompt-suggestions { grid-column:1; grid-row:3; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ai-compose-footer { grid-column:1; grid-row:4; grid-template-columns:1fr; align-items:stretch; gap:10px; }
  .ai-consent { max-width:100%; }
  .ai-generation-options { width:var(--ai-compose-label); justify-content:flex-start; }
  .ai-shot-panel { left:0; right:auto; }
  .ai-compose-actions { justify-content:flex-end; }
  .ai-images-status { position:static; max-width:none; }
  .ai-reference-panel { left:auto; right:0; width:260px; }
}
.ai-geometry-dialog{width:min(720px,calc(100vw - 32px));max-height:90vh;overflow:auto;border:1px solid #dce2d9;border-radius:18px;background:#fafbf8;padding:18px;color:#263c2b;box-shadow:0 24px 80px #14231c40}
.ai-geometry-dialog::backdrop{background:#14231c66}
.ai-geometry-dialog header{display:flex;align-items:center;justify-content:space-between;gap:12px}
.ai-geometry-dialog h2{font:600 20px sans-serif;margin:0}
.ai-geometry-dialog button{border:1px solid #cdd8cc;border-radius:8px;background:#fff;padding:6px 12px;cursor:pointer;font-size:22px}
.ai-geometry-dialog img{display:block;width:100%;max-height:54vh;object-fit:contain;margin-top:14px;background:#fff;border-radius:10px}
.ai-geometry-dialog p,.ai-geometry-dialog li{font:14px/1.5 sans-serif}
