.ai-heading,.ai-workspace,.ai-how{margin:0 var(--gutter)}
.ai-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;padding:28px 0 32px}.ai-heading h1{font:800 clamp(54px,5.4vw,100px)/.93 var(--display);margin:17px 0 21px}.ai-heading h1 span{color:var(--accent)}.ai-heading p:not(.eyebrow){max-width:600px;color:var(--muted);font-size:var(--fo-text-body)}.ai-heading .button{flex-shrink:0}.ai-heading #ai-project-count{display:grid;place-items:center;background:var(--tint);min-width:24px;height:24px;font-size:var(--fo-text-control)}
.ai-connection{display:flex;align-items:center;gap:14px;margin:0 var(--gutter) 32px;background:var(--tint);border:1px solid #dce9e3;padding:16px 20px;font-size:var(--fo-text-control)}.ai-connection p{font-size:var(--fo-text-control);color:var(--muted);margin:3px 0 0}.ai-connection .text-link{margin-left:auto;white-space:nowrap;font-size:var(--fo-text-control)}.ai-dot{height:8px;width:8px;border-radius:50%;background:#c29b57;flex-shrink:0}.ai-connection.is-ready .ai-dot{background:var(--accent)}
.ai-workspace{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(0,1.2fr);gap:clamp(25px,4vw,80px);align-items:start}.ai-brief{min-width:0}.ai-section-head{display:flex;gap:14px;align-items:center;margin:0 0 18px}.ai-section-head>span{font-size:var(--fo-text-caption);color:var(--accent);font-weight:700}.ai-section-head h2{font:800 23px/1.1 var(--display)}#ai-brief-form>.ai-section-head:not(:first-child){margin-top:32px}.ai-brief label,.ai-create>div>label{display:block;font-size:var(--fo-text-control);font-weight:650}.ai-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.ai-brief input:not([type=checkbox]):not([type=file]):not([type=radio]),.ai-brief select,.ai-brief textarea,.ai-create textarea{width:100%;min-width:0;background:#fff;border:1px solid #b9c8c1;border-radius:0;padding:12px;font:var(--fo-text-control)/1.5 inherit;color:var(--ink);margin:7px 0 0}.ai-brief input:not([type=checkbox]):not([type=file]):not([type=radio]),.ai-brief select{min-height:45px}.ai-brief textarea,.ai-create textarea{resize:vertical;font:var(--fo-text-control)/1.6 'Segoe UI',sans-serif}.ai-brief input,.ai-brief select{font:var(--fo-text-control) 'Segoe UI',sans-serif!important}.ai-brief input:not([type=radio]):focus,.ai-brief select:focus,.ai-brief textarea:focus,.ai-create textarea:focus{outline:2px solid var(--accent);outline-offset:2px}#ai-brief-form>label{margin-bottom:17px}#ai-brief-form>.ai-fields+label{margin-top:17px}.ai-small{font-size:var(--fo-text-caption);color:var(--muted);line-height:1.65;margin:10px 0 0}.ai-optional{font-weight:400;color:var(--muted);margin-left:6px}.ai-starters{display:flex;flex-wrap:wrap;gap:7px;margin:-4px 0 19px}.ai-starters button{font-size:var(--fo-text-caption);padding:7px 9px;border:1px solid #dce8e2;background:#f3f8f5;color:var(--accent)}.ai-starters button:hover{border-color:var(--accent)}.ai-upload{margin-top:22px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:15px 0}.ai-upload summary{font-size:var(--fo-text-control);font-weight:650;cursor:pointer;display:flex;justify-content:space-between}.ai-upload input[type=file]{font-size:var(--fo-text-control);width:100%;margin:14px 0}.ai-upload .button{font-size:var(--fo-text-control);min-height:40px;padding:10px 14px}.ai-upload #ai-reference{display:grid;grid-template-columns:64px 1fr;gap:4px 14px;align-items:center;margin-top:16px;font-size:var(--fo-text-control)}.ai-upload #ai-reference img{width:64px;height:70px;object-fit:contain;grid-row:1/3;background:#f5f6f5}.ai-upload #ai-reference .text-link{justify-self:start;font-size:var(--fo-text-caption)}.ai-save-row{display:flex;align-items:center;gap:15px;margin-top:18px;font-size:var(--fo-text-caption);color:var(--muted)}.ai-save-row .text-link{font-size:var(--fo-text-control);color:var(--accent)}
.ai-canvas-column{min-width:0}.ai-canvas-card{background:#f3f6f3;border:1px solid #e6ece8}.ai-canvas-top,.ai-canvas-bottom{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:17px 23px;font-size:var(--fo-text-caption);color:var(--muted)}.ai-canvas-top .eyebrow{color:var(--accent);font-size:var(--fo-text-caption)}.ai-canvas{position:relative;margin:0;aspect-ratio:1.35;display:flex;align-items:center;justify-content:center;overflow:hidden}.ai-canvas img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}.ai-canvas:not(.has-image) img{height:83%;width:65%;align-self:start}.ai-canvas figcaption{position:absolute;bottom:3%;left:8%;right:8%;font:800 clamp(20px,2vw,31px)/1.2 var(--display);text-align:center;color:var(--ink)}.ai-canvas figcaption small{display:block;font:var(--fo-text-control)/1.5 'Segoe UI',sans-serif;margin-top:7px;color:var(--muted)}.ai-canvas.has-image{aspect-ratio:1.5}.ai-canvas.has-image img{mix-blend-mode:normal}.ai-canvas-bottom{border-top:1px solid #dce5df;font-size:var(--fo-text-caption)}.ai-version-strip{display:flex;gap:10px;padding:16px 0;overflow:auto}.ai-version-strip button{border:1px solid var(--line);flex:0 0 96px;padding:4px;background:white;font-size:var(--fo-text-caption);text-align:left}.ai-version-strip button[aria-pressed=true]{border:2px solid var(--accent);padding:3px;color:var(--accent)}.ai-version-strip img{width:100%;height:58px;object-fit:contain;display:block;margin-bottom:4px}.ai-create{padding:22px 0;border-bottom:1px solid var(--line)}.ai-check{display:flex!important;gap:10px;align-items:start;font-size:var(--fo-text-caption)!important;font-weight:400!important;line-height:1.65}.ai-check input{margin-top:3px;width:15px;height:15px;flex-shrink:0;accent-color:var(--accent)}.ai-create>.button{width:100%;margin-top:16px}.ai-create #ai-edit{border-top:1px solid var(--line);margin-top:22px;padding-top:20px}.ai-create #ai-edit .button{margin-top:12px;width:100%;font-size:var(--fo-text-control)}.ai-create textarea{margin-top:7px}.ai-workspace button:disabled{cursor:not-allowed;opacity:.45}.ai-progress{display:flex;gap:15px;align-items:center;background:var(--tint);padding:20px;margin:20px 0;font-size:var(--fo-text-control)}.ai-progress p{font-size:var(--fo-text-control);margin-top:4px;color:var(--muted)}.ai-spinner{width:22px;height:22px;flex-shrink:0;border:2px solid #bbd4c8;border-top-color:var(--accent);border-radius:50%;animation:ai-spin 1s linear infinite}@keyframes ai-spin{to{transform:rotate(360deg)}}.ai-error{color:#9d2828;background:#fff3f1;padding:15px;font-size:var(--fo-text-control);margin:16px 0}.ai-handoff{margin-top:25px;display:grid;grid-template-columns:1fr;gap:18px;padding:25px;background:#f3f7f4}.ai-handoff h2{font:800 32px/1 var(--display);margin:12px 0}.ai-handoff p:not(.eyebrow):not(.ai-small){font-size:var(--fo-text-control);max-width:520px;color:var(--muted)}.ai-handoff-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.ai-handoff-actions .button,.ai-handoff-actions .text-link{font-size:var(--fo-text-control)}.ai-handoff .ai-small{margin:0}
.ai-chat{margin-top:33px;padding-top:25px;border-top:1px solid var(--line)}.ai-chat>p{font-size:var(--fo-text-control);color:var(--muted)}.ai-messages{max-height:420px;overflow:auto;margin:15px 0;overscroll-behavior:contain}.ai-message{background:#edf5f0;border:1px solid #dfeae3;padding:14px 16px;margin:10px 0;font-size:var(--fo-text-control);white-space:pre-wrap;overflow-wrap:anywhere}.ai-message.is-user{background:#fff;margin-left:22px}.ai-message strong{display:block;font-size:var(--fo-text-caption);letter-spacing:.04em;margin-bottom:6px;color:var(--accent)}.ai-chat-welcome{font-size:var(--fo-text-control);color:var(--muted);padding:16px;background:#f6f8f6}.ai-chat textarea{margin:0}.ai-chat .button{width:100%;font-size:var(--fo-text-control);margin-top:12px}.ai-how{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;padding:52px 0;border-top:1px solid var(--line);margin-top:50px}.ai-how article>span{font-size:var(--fo-text-control);color:var(--accent)}.ai-how h2{font:800 26px/1.15 var(--display);margin:12px 0}.ai-how p{font-size:var(--fo-text-control);color:var(--muted);max-width:360px}.ai-library{width:min(680px,94vw);max-height:85dvh;border:1px solid var(--line);padding:28px;color:var(--ink)}.ai-library::backdrop{background:#12251ecc;backdrop-filter:blur(4px)}.ai-dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.ai-dialog-heading h2{font:800 42px/1 var(--display)}.ai-dialog-heading button{display:grid;place-items:center;border:1px solid var(--line);width:40px;height:40px;font-size:23px}.ai-library>p{font-size:var(--fo-text-control);color:var(--muted);margin:15px 0 20px}.ai-library-item{display:grid;grid-template-columns:1fr auto;gap:10px;padding:18px 0;border-top:1px solid var(--line);font-size:var(--fo-text-control)}.ai-library-item small{display:block;color:var(--muted);margin:4px 0 10px}.ai-library-item .text-link{font-size:var(--fo-text-control)}.ai-library-delete{color:#a22b2b;font-size:var(--fo-text-caption);align-self:center}.ai-library-item .ai-delete-confirm{grid-column:1/-1;background:#fff3f1;padding:12px;display:flex;gap:16px;align-items:center;font-size:var(--fo-text-control)}.ai-library>.button{margin-top:20px}.ai-service-teaser{margin:28px var(--gutter);padding:25px 30px;background:var(--tint);display:flex;align-items:center;justify-content:space-between;gap:25px}.ai-service-teaser h2{font:800 31px/1.1 var(--display);margin:8px 0}.ai-service-teaser p:not(.eyebrow){font-size:var(--fo-text-control);color:var(--muted);max-width:650px}.ai-service-teaser .button{flex-shrink:0;font-size:var(--fo-text-control)}
.ai-workspace [hidden],.ai-heading [hidden],.ai-library [hidden],.ai-connection [hidden]{display:none!important}
.ai-equipment{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);gap:20px 14px}
.ai-brief .ai-choice select{margin:0;min-height:44px;height:44px;padding:9px 12px}
.ai-choice{border:0;padding:0;margin:0;min-width:0}
.ai-choice legend{padding:0;margin-bottom:9px;font-size:var(--fo-text-control);font-weight:650}
.ai-choice>div{display:flex;flex-wrap:wrap;gap:7px}
.ai-choice label{position:relative;cursor:pointer}
.ai-choice input[type=radio]{position:absolute;width:1px;height:1px;opacity:0;left:50%;top:50%;margin:0}
.ai-choice label>span{display:flex;align-items:center;justify-content:center;min-height:44px;min-width:43px;padding:9px 13px;border:1px solid #adb9b2;background:white;color:var(--ink);font-size:var(--fo-text-control);font-weight:400;line-height:1.5;text-align:center}
.ai-choice input:checked+span{background:var(--accent);border-color:var(--accent);color:white}
.ai-choice input:focus-visible+span{outline:3px solid var(--accent);outline-offset:3px}
.ai-choice input:not(:disabled):not(:checked)+span:hover{border-color:var(--accent)}
.ai-choice input:disabled+span{opacity:.4;cursor:not-allowed}
@media(min-width:1700px){.ai-workspace{grid-template-columns:minmax(420px,.75fr) minmax(0,1.25fr);max-width:1800px;margin-left:auto;margin-right:auto;padding:0 var(--gutter)}.ai-canvas-column{position:sticky;top:110px}.ai-canvas{max-height:690px}}
@media(max-width:900px){.ai-workspace{grid-template-columns:minmax(0,1fr);gap:30px}.ai-heading h1{font-size:64px}.ai-heading{align-items:start}.ai-canvas-column{grid-row:2}.ai-connection{flex-wrap:wrap}.ai-connection>div{flex:1;min-width:200px}.ai-connection .text-link{margin-left:22px}.ai-how{gap:20px}.ai-how h2{font-size:23px}.ai-service-teaser{align-items:start;flex-direction:column}}
@media(max-width:540px){.ai-heading{display:block;padding-top:15px}.ai-heading h1{font-size:61px}.ai-heading>button{margin-top:20px;padding:10px 16px;min-height:42px;font-size:var(--fo-text-control)}.ai-heading p:not(.eyebrow){font-size:var(--fo-text-control)}.ai-connection{padding:14px;gap:10px;margin-bottom:24px}.ai-canvas{aspect-ratio:1.06}.ai-canvas-top,.ai-canvas-bottom{padding:13px;font-size:var(--fo-text-micro)}.ai-canvas figcaption{bottom:4%;left:5%;right:5%}.ai-canvas figcaption small{font-size:var(--fo-text-caption)}.ai-canvas-top .eyebrow{font-size:var(--fo-text-micro)}.ai-canvas:not(.has-image) img{height:78%;width:75%}.ai-handoff{padding:20px}.ai-handoff-actions{align-items:stretch;flex-direction:column}.ai-how{grid-template-columns:1fr;gap:25px;padding:35px 0;margin-top:35px}.ai-library{padding:20px}.ai-service-teaser{padding:22px}.ai-fields{gap:12px}.ai-heading h1{overflow-wrap:anywhere}}
.ai-version-tools{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding-bottom:17px;font-size:var(--fo-text-control)}.ai-version-tools p{margin:0;color:var(--accent);font-weight:650}.ai-version-tools .text-link{font-size:var(--fo-text-control)}
.ai-change-ideas{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}.ai-change-ideas button{border:1px solid #adb9b2;background:white;color:var(--ink);padding:9px 12px;font:var(--fo-text-control)/1.4 inherit;min-height:40px}.ai-change-ideas button:hover{border-color:var(--accent);background:var(--tint)}
.ai-message{white-space:normal}.ai-message>strong{display:block;font-size:var(--fo-text-caption);letter-spacing:.04em;margin-bottom:9px;color:var(--accent)}.ai-message-body{line-height:1.7}.ai-message-body strong{display:inline;font-size:inherit;letter-spacing:normal;margin:0;color:inherit}.ai-message-body p{margin:0 0 10px}.ai-message-body p:last-child,.ai-message-body ul:last-child,.ai-message-body ol:last-child{margin-bottom:0}.ai-message-body ul,.ai-message-body ol{margin:8px 0 12px;padding-left:21px}.ai-message-body li+li{margin-top:5px}.ai-message.is-user .ai-message-body{white-space:pre-wrap}
.ai-dialog{box-sizing:border-box;width:min(740px,calc(100vw - 32px));max-height:88dvh;overflow:auto;border:1px solid var(--line);padding:28px;color:var(--ink);background:white}.ai-dialog::backdrop{background:#12251ecc;backdrop-filter:blur(4px)}.ai-dialog .ai-dialog-heading{align-items:start}.ai-dialog .ai-dialog-heading h2{font-size:36px}.ai-dialog .ai-dialog-heading>button{flex:0 0 40px;background:white;color:var(--ink)}.ai-dialog-intro{font-size:var(--fo-text-control);line-height:1.7;color:var(--muted);margin:18px 0}.ai-dialog [hidden]{display:none!important}.ai-dialog-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:24px}.ai-dialog-actions .button,.ai-dialog-actions .text-link{font-size:var(--fo-text-control)}.ai-dialog button:focus-visible,.ai-change-ideas button:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.ai-dialog button:disabled{opacity:.5;cursor:not-allowed}
.ai-summary{padding:20px;background:var(--tint);border:1px solid #dce9e3}.ai-summary dl{margin:0}.ai-summary dl>div+div{margin-top:14px}.ai-summary dt{font-size:var(--fo-text-caption);font-weight:700;color:var(--accent);margin:0 0 3px}.ai-summary dd{margin:0;font-size:var(--fo-text-control);line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere}.ai-review-consent{margin-top:18px}
.ai-compare{width:min(1120px,calc(100vw - 32px))}.ai-compare-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px}.ai-compare-grid article{min-width:0}.ai-compare-grid label{display:block;font-size:var(--fo-text-control);font-weight:650;margin-bottom:8px}.ai-compare-grid select{box-sizing:border-box;width:100%;height:44px;border:1px solid #adb9b2;background:white;color:var(--ink);font:var(--fo-text-control) 'Segoe UI',sans-serif;padding:9px 12px}.ai-compare-grid img{display:block;width:100%;aspect-ratio:1.5;object-fit:contain;background:#f3f6f3;margin:14px 0}.ai-compare-equipment{font-size:var(--fo-text-caption);color:var(--muted);line-height:1.6;min-height:36px}.ai-compare-detail{font-size:var(--fo-text-control);line-height:1.65;margin:10px 0 16px;white-space:pre-wrap;overflow-wrap:anywhere}.ai-compare-grid .button{width:100%;font-size:var(--fo-text-control)}.ai-favorite-message{font-size:var(--fo-text-control);color:var(--accent);margin-top:20px}
.ai-handoff-preview{margin:0 0 20px;background:#f3f6f3;border:1px solid var(--line)}.ai-handoff-preview img{display:block;width:100%;max-height:290px;object-fit:contain}.ai-handoff-preview figcaption{font-size:var(--fo-text-control);color:var(--accent);padding:12px 16px;border-top:1px solid var(--line);font-weight:650}.ai-notes-label{display:block;font-size:var(--fo-text-control);font-weight:650;margin:22px 0 8px}#ai-handoff-notes{box-sizing:border-box;width:100%;resize:vertical;border:1px solid #adb9b2;border-radius:0;padding:12px;font:var(--fo-text-control)/1.6 'Segoe UI',sans-serif;color:var(--ink)}
@media(max-width:540px){.ai-dialog{padding:20px;width:calc(100vw - 24px);max-height:90dvh}.ai-dialog .ai-dialog-heading h2{font-size:29px}.ai-dialog-actions{align-items:stretch;flex-direction:column;gap:16px}.ai-dialog-actions .button{justify-content:space-between}.ai-summary{padding:16px}.ai-summary dd{font-size:var(--fo-text-control)}.ai-compare-grid{grid-template-columns:minmax(0,1fr);gap:26px}.ai-compare-grid article+article{border-top:1px solid var(--line);padding-top:22px}.ai-compare-equipment{min-height:0}}

/* Make the next step unmistakable, with the download as a secondary action. */
.ai-handoff-actions{display:flex;flex-direction:column;align-items:stretch;gap:8px}
.ai-handoff-actions #ai-handoff{width:100%;min-height:60px;padding:17px 22px;justify-content:center;text-align:center;background:var(--accent);border:1px solid var(--accent);color:#fff;font-size:18px;font-weight:750;line-height:1.4;white-space:normal}
.ai-handoff-actions #ai-handoff:hover:not(:disabled){background:#0e503d;border-color:#0e503d}
.ai-handoff-actions #ai-handoff:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
.ai-handoff-actions #ai-export{align-self:center;display:inline-flex;align-items:center;gap:14px;min-height:44px;padding:8px 0;font-size:var(--fo-text-control)}
@media(max-width:540px){.ai-handoff-actions #ai-handoff{padding:16px 14px;font-size:17px}.ai-handoff-actions #ai-export{max-width:100%;white-space:normal;text-align:center}}

/* Visible work state stays on the result itself; no invented percentage. */
.ai-canvas-card{position:relative;scroll-margin-top:130px}
.ai-progress.is-image{position:absolute;inset:46px 0 41px;z-index:2;display:flex;flex-direction:column;justify-content:center;gap:22px;margin:0;padding:clamp(22px,5vw,64px);background:rgba(237,246,241,.96);color:var(--ink);text-align:center;border-top:1px solid #cbded3;border-bottom:1px solid #cbded3}
.ai-progress.is-image .ai-spinner{width:58px;height:58px;border-width:4px;border-color:#c3dcd0;border-top-color:var(--accent)}
.ai-progress.is-image strong{display:block;font:800 clamp(25px,2.6vw,36px)/1.2 var(--display);color:var(--accent)}
.ai-progress.is-image p{max-width:430px;margin:14px auto 0;font-size:16px;line-height:1.65;color:#40594e}
.ai-progress-time{display:block;font-size:13px;font-variant-numeric:tabular-nums;color:#53695f;min-height:20px}
.ai-chat .ai-progress{flex-wrap:wrap;scroll-margin-top:130px}.ai-chat .ai-progress-time{width:100%}
.ai-workspace button.is-working:disabled{opacity:1;background:var(--accent);color:white;border-color:var(--accent);justify-content:center}
.ai-equipment-priority{padding:14px 16px;border-left:3px solid var(--accent);background:#f1f6f3;font-size:14px;line-height:1.65}
@media(max-width:540px){.ai-progress.is-image{inset:42px 0 40px;padding:18px;gap:12px}.ai-progress.is-image .ai-spinner{width:42px;height:42px}.ai-progress.is-image strong{font-size:26px}.ai-progress.is-image p{font-size:14px;margin-top:10px;line-height:1.55}}
@media(prefers-reduced-motion:reduce){.ai-spinner{animation:none}}
