:root{--bg:#eff0f0;--surface:#fff;--soft:#f2f3f3;--ink:#202827;--muted:#727a79;--line:#dadddc;--accent:#7a8582;--green:#202827;--header:70px;--nav:78px;color-scheme:light}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.5 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;padding-bottom:calc(var(--nav) + env(safe-area-inset-bottom) + 20px)}body.dark{--bg:#171c1b;--surface:#232a29;--soft:#2c3332;--ink:#f0f2f1;--muted:#adb5b2;--line:#424c49;--accent:#bdc5c1;--green:#485551;color-scheme:dark}button,input,textarea,select{font:inherit}button,input,textarea,select,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:1px solid var(--line);border-radius:10px;min-height:44px;padding:10px 14px;color:var(--ink);background:var(--surface);font-weight:650}button:disabled{opacity:.5;cursor:default}button:hover{border-color:var(--accent)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:3px}button.primary{color:#fff;background:var(--green);border-color:var(--green)}button.secondary{background:var(--soft)}button.full{width:100%}[hidden]{display:none!important}img{max-width:100%}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.12;letter-spacing:-.7px}a{color:inherit}.app-header{position:sticky;top:0;z-index:50;padding-top:env(safe-area-inset-top);background:var(--surface);border-bottom:1px solid var(--line)}.header-inner{max-width:1280px;min-height:var(--header);padding:12px 26px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:12px}.brand{display:flex;align-items:center;gap:10px;font-size:27px;letter-spacing:-1px;font-weight:750;text-decoration:none;white-space:nowrap}.brand img{border-radius:10px;object-fit:contain}.header-actions{display:flex;gap:7px}.header-actions button{width:59px;height:38px;min-height:38px;font-size:12px;padding:7px 3px;background:var(--soft)}.app-main{max-width:1260px;margin:0 auto;padding:18px 24px 0}.workspace{background:var(--surface);border:1px solid var(--line);box-shadow:0 12px 45px #20282710;border-radius:19px;padding:26px 30px;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);grid-template-rows:auto 1fr auto;gap:22px 28px;min-height:calc(100dvh - 198px)}.workspace>*{min-width:0}.step-intro{grid-column:1/-1;border-bottom:1px solid var(--line);padding-bottom:17px;min-height:116px}.eyebrow{display:block;height:14px;font-size:9px;letter-spacing:1.6px;color:var(--muted);font-weight:750}.step-intro h1{font-size:35px;line-height:1.08;margin:9px 0;letter-spacing:-1.2px}.step-intro h1 em{font-style:normal;color:var(--accent)}.step-intro h1 br{display:none}.step-intro h1 em:before{content:' '}.step-intro p{font-size:12px;color:var(--muted);margin:0}.photo-story{grid-row:2/4;display:grid;grid-template-columns:minmax(140px,1fr) minmax(160px,210px);align-items:start;align-content:center;gap:20px;background:var(--soft);border-radius:13px;padding:18px;min-width:0}.story-copy strong{display:block;font-size:30px;line-height:1.08;letter-spacing:-.9px;font-weight:750}.story-copy strong>span{display:block;color:var(--accent);margin-bottom:5px}.story-copy p{color:var(--muted);font-size:14px;line-height:1.5;margin:14px 0 0;text-wrap:pretty}.story-visual{min-width:0;position:relative}.visual-button{display:block;position:relative;width:100%;height:265px;min-height:0;padding:0;border:1px solid var(--line);border-radius:11px;overflow:hidden;background:var(--bg)}.visual-button img{width:100%;height:100%;display:block;object-fit:contain}.visual-button .enlarge{position:absolute;right:9px;top:6px;font-size:18px;color:#fff;text-shadow:0 1px 5px #000}.visual-label{position:absolute;left:6px;bottom:6px;background:#202827dd;color:#fff;border-radius:5px;padding:4px 6px;font-size:8px;letter-spacing:.5px;max-width:calc(100% - 12px);text-align:left}.visual-placeholder{height:265px;display:flex;flex-direction:column;justify-content:center;gap:10px;padding:17px;border:1px solid var(--line);border-radius:11px;font-size:13px;background:var(--bg);color:var(--muted)}.visual-placeholder b{color:var(--ink);font-size:16px}.control-card{align-self:center;border:1px solid var(--line);background:var(--soft);border-radius:13px;padding:16px;min-height:218px}.control-card h2{font-size:18px;margin:0 0 12px}.idea-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.idea-fields label{font-size:11px}.idea-fields .wide{grid-column:1/-1}input,select,textarea{display:block;width:100%;min-width:0;background:var(--surface);border:1px solid var(--line);border-radius:8px;color:var(--ink);padding:9px 10px;min-height:40px;margin-top:4px}textarea{resize:vertical;line-height:1.5;min-height:77px}label{font-size:12px;font-weight:600}::placeholder{color:var(--muted);opacity:.9}.step-actions{grid-column:2;display:grid;grid-template-columns:1fr 1fr;gap:10px;align-self:end}.step-actions button{height:48px;font-size:12px;line-height:1.25;padding:8px}.capture-options{display:grid;grid-template-columns:1fr 1fr;gap:9px}.capture-choice{border:1px solid var(--line);border-radius:9px;min-height:47px;display:flex;align-items:center;justify-content:flex-start;gap:8px;font-size:12px;padding:10px;background:var(--surface);font-weight:650;line-height:1.3;text-align:left;position:relative;cursor:pointer}.capture-choice svg{width:19px;height:19px;flex:none}.capture-choice input{position:absolute;width:1px;height:1px;opacity:0;min-height:0;padding:0;pointer-events:none}.capture-choice:focus-within{outline:3px solid var(--accent);outline-offset:2px}.capture-choice.emphasis{background:#e4e8e6;border-color:#c7ceca;color:#28332f}body.dark .capture-choice.emphasis{background:#36413c;border-color:#5d6c63;color:#e8ede9}.micro{font-size:11px;line-height:1.45;color:var(--muted)}.capture-foot{margin:10px 0 0}.photo-thumbs{display:flex;gap:5px;align-items:center;margin-top:8px;min-height:28px;flex-wrap:wrap}.photo-thumb{width:34px;height:30px;min-height:30px;padding:1px;border-radius:5px;overflow:hidden}.photo-thumb img{width:100%;height:100%;object-fit:cover}.photo-thumb.chosen{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.photo-remove{border:0;background:transparent;font-size:10px;min-height:30px;padding:3px;margin-left:auto;color:var(--muted)}.result-links{display:grid;grid-template-rows:repeat(4,1fr);padding:5px 15px;min-height:218px}.result-links>button{background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;min-height:48px}.result-links>button:last-child{border-bottom:0}.result-links strong{display:block;font-size:17px}.result-links small{display:block;font-size:10px;font-weight:400;color:var(--muted);margin-top:2px}.result-links b{font-size:12px;color:var(--muted)}.tools-grid{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.tool-card{display:flex;align-items:center;justify-content:space-between;gap:15px;text-align:left;background:var(--soft);padding:20px;min-height:92px}.tool-card strong{display:block;font-size:16px}.tool-card small{font-size:11px;font-weight:400;color:var(--muted);display:block;margin-top:5px}.tools-note{grid-column:1/-1;font-size:11px;color:var(--muted);margin:0}.device-note{display:flex;align-items:center;justify-content:center;gap:5px;font-size:9px;color:var(--muted);margin:8px 0}.device-note button{border:0;background:transparent;min-height:26px;padding:3px;font-size:9px;color:inherit}.bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:45;background:var(--surface);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}.nav-inner{max-width:800px;margin:auto;display:grid;grid-template-columns:repeat(4,1fr);gap:7px;padding:6px 18px 7px}.nav-inner button{border:0;background:transparent;font-size:12px;line-height:1.3;font-weight:700;min-height:61px;padding:6px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:4px;color:var(--muted)}.nav-inner button>span{font-size:17px;line-height:21px;font-weight:800}.nav-inner button.active{background:var(--soft);color:var(--ink)}dialog{width:calc(100% - 26px);max-width:760px;max-height:calc(100dvh - 26px - env(safe-area-inset-top) - env(safe-area-inset-bottom));padding:0 20px 18px;border:1px solid var(--line);border-radius:16px;color:var(--ink);background:var(--surface);overscroll-behavior:contain;box-shadow:0 20px 80px #0003}dialog::backdrop{background:#161c1bd0}.dialog-top{position:sticky;top:0;z-index:4;background:var(--surface);display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:58px;margin-bottom:10px}.dialog-top>span{font-size:9px;letter-spacing:1px;color:var(--muted)}.dialog-top>button{height:38px;width:38px;min-height:38px;padding:0;border-radius:50%;font-size:24px;line-height:1}.dialog-top button:hover{background:var(--soft)}#dialogTitle{font-size:24px;margin:0 0 15px}#dialogContent>p{font-size:13px;color:var(--muted);line-height:1.6}.dialog-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:16px}.dialog-actions .primary:only-child{grid-column:1/-1}dialog.card-dialog[open],dialog.pdf-dialog[open]{display:flex;flex-direction:column;overflow:hidden}dialog.card-dialog #dialogContent,dialog.pdf-dialog #dialogContent{display:flex;flex-direction:column;min-height:0;overflow:hidden;flex:1}dialog.card-dialog #dialogTitle,dialog.pdf-dialog #dialogTitle{flex:none;margin-bottom:10px}.card-body{min-height:0;overflow:auto}.card-footer{flex:none;padding-top:12px;background:var(--surface)}.card-footer>button{width:100%;min-height:46px}.card-footer .secondary{margin-bottom:8px}.card-intro{font-size:12px;line-height:1.45;color:var(--muted);margin:0 0 10px}.photo-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 12px}.photo-pair figure{margin:0;min-width:0}.photo-pair img,.pair-empty{width:100%;height:clamp(150px,29dvh,240px);object-fit:contain;background:var(--soft);border:1px solid var(--line);border-radius:9px}.pair-empty{display:flex;align-items:center;justify-content:center;text-align:center;color:var(--muted);font-size:12px;padding:15px}.photo-pair figcaption{font-size:9px;letter-spacing:.3px;color:var(--muted);margin-top:5px}.proposal-summary{font-size:13px;line-height:1.6;margin:0 0 10px}.card-body details{border-top:1px solid var(--line);padding-top:10px;font-size:12px}.card-body summary{font-weight:650;cursor:pointer}.work-list{display:grid;gap:5px}.work-pick,.estimate-pick{display:flex;align-items:center;gap:9px;min-height:37px;padding:8px 9px;font-size:12px;background:var(--soft);border:1px solid var(--line);border-radius:8px;cursor:pointer}.work-pick input,.estimate-pick input{width:18px;height:18px;min-height:18px;margin:0;padding:0;flex:none;accent-color:var(--green)}.work-pick strong,.estimate-pick strong{font-size:12px;line-height:1.3;flex:1}.free-badge{font-size:9px;white-space:nowrap;color:#28332f;background:#e4e8e6;padding:3px 6px;border-radius:5px;font-weight:750}body.dark .free-badge{color:#e2e9e3;background:#36413c}.work-count{font-size:12px;color:var(--muted);margin:10px 0 0}.estimate-note{padding:9px 10px;border:1px solid var(--line);border-radius:8px;background:var(--soft);font-size:11px;line-height:1.4;margin:0 0 10px;color:var(--muted)}.estimate-list{display:grid;gap:8px}.estimate-card{border:1px solid var(--line);border-radius:9px;overflow:hidden}.estimate-card .estimate-pick{border:0;border-radius:0}.estimate-card.selected{border-color:#9fab9f}.estimate-fields{padding:8px 10px 10px;display:grid;grid-template-columns:1fr 1fr;gap:9px}.estimate-fields label{font-size:11px}.estimate-fields input,.estimate-fields select{min-height:39px;font-size:14px;padding:7px}.estimate-line{border-top:1px solid var(--line);padding:8px 10px;display:flex;align-items:center;justify-content:space-between;gap:12px}.estimate-line small{font-size:10px;color:var(--muted)}.estimate-line strong{font-size:12px;text-align:right}.estimate-total{display:grid;grid-template-columns:1fr auto;gap:4px 9px;padding:10px 0 12px;border-top:1px solid var(--line);align-items:center}.estimate-total>span{font-size:12px}.estimate-total>strong{font-size:21px}.estimate-total>small{grid-column:1/-1;font-size:11px;line-height:1.4;color:var(--muted)}.fields{display:grid;grid-template-columns:1fr 1fr;gap:13px}.fields .wide{grid-column:1/-1}.fields label{font-size:12px}.fields label small{font-size:11px;font-weight:400;display:block;color:var(--muted);line-height:1.4;margin-top:5px}.form-section{margin:18px 0 10px;font-size:16px}.attachment-box{padding:12px;background:var(--soft);border:1px solid var(--line);border-radius:9px;margin:14px 0;font-size:12px}.attachment-box p{margin:5px 0 0;color:var(--muted);font-size:11px}.selected-works{padding-left:18px;font-size:12px;line-height:1.5;margin:7px 0 0}.upload-label{margin:15px 0 0;display:block;padding:12px;border:1px dashed var(--accent);border-radius:9px;font-size:12px}.upload-label input{border:0;background:none;padding:0;margin-top:8px;font-size:12px}.form-consent{display:flex;align-items:flex-start;gap:9px;margin:17px 0;font-size:12px;font-weight:400;line-height:1.5}.form-consent input{width:19px;height:19px;min-height:19px;margin:0;flex:none}.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.attachment-thumbs{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.attachment-thumbs img{width:60px;height:55px;object-fit:cover;border-radius:6px}.attachment-thumbs button{min-height:25px;font-size:10px;padding:2px 5px;display:block;margin:auto}.pdf-pages{flex:1;min-height:100px;overflow:auto;background:var(--soft);border:1px solid var(--line);border-radius:9px;padding:6px}.pdf-pages canvas{display:block;width:100%;height:auto;margin:0 0 10px;background:white}.pdf-controls{flex:none;padding-top:12px}.pdf-controls>.primary{width:100%;margin-bottom:8px}.pdf-controls .dialog-actions{margin:0}.pdf-status{flex:none;font-size:10px;color:var(--muted);margin:8px 0 0}.pdf-dialog{height:calc(100dvh - 26px);max-width:980px}.full-image{width:100%;max-height:70dvh;object-fit:contain;background:var(--soft);border-radius:9px}.status-pill{font-size:10px;border:1px solid var(--line);border-radius:20px;display:inline-block;padding:3px 8px;background:var(--soft)}.concept-options{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.concept-option{padding:5px;overflow:hidden;text-align:left;font-size:11px}.concept-option img{height:110px;object-fit:cover;width:100%;border-radius:5px}.concept-option span{display:block;padding:6px 3px}.concept-option.chosen{border-color:var(--accent);background:var(--soft)}.toast{position:fixed;z-index:100;bottom:calc(var(--nav) + env(safe-area-inset-bottom) + 18px);left:50%;transform:translateX(-50%);max-width:calc(100% - 32px);width:max-content;background:var(--ink);color:var(--surface);padding:11px 15px;border-radius:10px;font-size:12px;pointer-events:none}.toast:empty{display:none}.help-sections details{border-top:1px solid var(--line);padding:14px 0}.help-sections summary{font-size:14px;font-weight:650;cursor:pointer}.help-sections p{font-size:13px;line-height:1.6;color:var(--muted);margin:10px 0 0}
@media(max-width:999px){.app-main{max-width:760px;padding:10px 14px 0}.workspace{display:flex;flex-direction:column;gap:0;padding:16px 16px 83px;min-height:calc(100svh - var(--header) - var(--nav) - 24px)}.step-intro{border:0;padding:0;min-height:112px;margin-bottom:14px}.step-intro h1{font-size:29px;margin:8px 0;line-height:1.08}.step-intro h1 br{display:initial}.step-intro h1 em:before{content:none}.step-intro p{font-size:11px;line-height:1.45}.photo-story{padding:0;background:none;grid-template-columns:minmax(0,1fr) 184px;gap:16px;align-items:start;min-height:230px;height:230px;flex:none;margin-bottom:16px}.story-copy strong{font-size:28px}.story-copy p{font-size:13px;line-height:1.45;margin-top:10px}.visual-button,.visual-placeholder{height:230px}.control-card{align-self:stretch;min-height:212px;padding:14px;margin:0}.control-card h2{font-size:17px}.step-actions{position:fixed;left:var(--action-left,31px);width:var(--action-width,calc(100% - 62px));bottom:var(--action-bottom,calc(var(--nav) + env(safe-area-inset-bottom) + 10px));z-index:42;background:var(--surface);box-shadow:0 0 0 8px var(--surface),0 -12px 16px var(--surface);margin:0;border-radius:10px}.result-links{padding:5px 14px}.tools-grid{grid-template-columns:1fr 1fr;gap:10px}.tool-card{padding:16px 13px;min-height:88px}.tool-card strong{font-size:14px}.tool-card small{font-size:10px}.tools-note{margin-top:15px}.workspace[data-step="3"]{padding-bottom:20px}.device-note{font-size:8px}.estimate-fields{grid-template-columns:1fr 1fr}}
@media(max-width:600px){:root{--header:62px;--nav:76px}.header-inner{padding:9px 14px;gap:8px}.brand{font-size:24px;gap:8px}.brand img{width:34px;height:34px}.header-actions{gap:5px}.header-actions button{width:50px;font-size:11px}.workspace{border-radius:14px;padding-left:14px;padding-right:14px}.photo-story{grid-template-columns:minmax(0,1fr) 158px;gap:13px;height:205px;min-height:205px}.story-copy strong{font-size:27px}.story-copy p{font-size:13px}.visual-button,.visual-placeholder{height:205px}.visual-placeholder{padding:13px;font-size:12px}.visual-placeholder b{font-size:15px}.capture-choice{font-size:11px;padding:9px;min-height:48px;gap:7px}.capture-choice svg{width:18px;height:18px}.capture-foot{font-size:10px}.nav-inner{padding-left:13px;padding-right:13px;gap:4px}.nav-inner button{font-size:12px}.step-intro h1{font-size:28px}.control-card{min-height:218px}.result-links strong{font-size:16px}.idea-fields{gap:8px}input,textarea,select{font-size:16px!important}.estimate-fields label{font-size:10px}.fields{gap:12px 9px}.dialog-top{min-height:52px}dialog{padding-left:15px;padding-right:15px}.card-dialog #dialogTitle{font-size:22px}.concept-options{gap:6px}.concept-option img{height:90px}}
@media(max-width:350px){.brand{font-size:21px}.brand img{width:29px;height:29px}.header-actions button{width:45px}.photo-story{grid-template-columns:minmax(0,1fr) 137px;gap:10px;min-height:190px;height:190px}.visual-button,.visual-placeholder{height:190px}.story-copy strong{font-size:24px}.story-copy p{font-size:12px}.step-intro h1{font-size:26px}.capture-choice{font-size:10px;gap:5px}.capture-choice svg{width:16px;height:16px}.step-actions button{font-size:11px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* Keep the photo row stable when personal thumbnails are present. */
@media(min-width:601px) and (max-width:999px){.photo-story{height:270px;min-height:270px}}
@media(max-width:600px){.photo-story{height:245px;min-height:245px}}
@media(max-width:350px){.photo-story{height:230px;min-height:230px}}
.estimate-item-note{font-size:11px;line-height:1.4;color:var(--muted);padding:9px 10px 0;margin:0}
@media(max-width:999px){.step-intro{min-height:126px;flex:none}}
/* V0.9: remove the tall empty photo frames and lift the controls. */
.visual-button{height:auto;aspect-ratio:3/2;min-height:0}
.visual-button img{height:100%;width:100%;object-fit:cover;object-position:center}
.visual-placeholder{height:auto;aspect-ratio:3/2;min-height:0;padding:12px;font-size:11px;gap:7px}
.visual-placeholder b{font-size:14px}
.photo-story{min-height:0;height:auto}
.pair-preview{display:block;width:100%;padding:0;min-height:0;border:0;border-radius:9px;background:var(--soft);overflow:hidden;aspect-ratio:3/2;cursor:zoom-in}
.photo-pair .pair-preview img{display:block;height:100%;width:100%;aspect-ratio:3/2;object-fit:cover}
.photo-pair .pair-empty{height:auto;aspect-ratio:3/2;min-height:100px;font-size:11px;padding:10px}
.nav-inner button{color:var(--ink);opacity:1;font-size:12.5px;font-weight:750}
.nav-inner button>span{display:flex;align-items:center;justify-content:center;min-width:24px;height:22px;font-size:18px;line-height:22px;font-weight:800;color:inherit;opacity:1}
.nav-inner button>span svg{width:20px;height:20px;display:block;color:inherit}
.nav-inner button.active{color:var(--ink);background:var(--soft);box-shadow:inset 0 2px 0 var(--accent)}
@media(max-width:999px){
.photo-story{height:auto;min-height:170px;margin-bottom:13px}
.visual-button{height:auto;aspect-ratio:3/2}
.visual-placeholder{height:auto;aspect-ratio:3/2}
.control-card{width:calc(100% + 8px);margin-left:-4px;margin-right:-4px}
.photo-thumbs{flex-wrap:nowrap;overflow-x:auto;max-width:100%;padding:2px 0 4px;scrollbar-width:thin}
.photo-thumb{flex:none}
.photo-remove{flex:none;white-space:nowrap}
}
@media(max-width:600px){.photo-story{height:auto;min-height:170px}.visual-button,.visual-placeholder{height:auto}.nav-inner button{font-size:12.5px}}
@media(max-width:350px){.photo-story{height:auto;min-height:170px}.visual-button,.visual-placeholder{height:auto}}

.visual-button img{position:absolute;inset:0}
.pair-preview{position:relative}
.photo-pair .pair-preview img{position:absolute;inset:0}
/* V1.0: edit the brief in a visual-viewport dialog, never in the page itself. */
.brief-preview-label{display:block;font-size:11px;font-weight:600;margin-bottom:4px}
.brief-preview{height:77px;min-height:77px;width:100%;padding:10px 11px;display:flex;align-items:flex-start;justify-content:space-between;gap:9px;text-align:left;background:var(--surface);color:var(--muted);font-size:14px;font-weight:400;line-height:1.5}
.brief-preview.has-copy{color:var(--ink)}
.brief-preview>span{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;white-space:pre-line;min-width:0}
.brief-preview>b{font-size:17px;line-height:1.3;flex:none;font-weight:600;color:var(--muted)}
body.brief-editing,body.brief-restoring{overflow:hidden}
body.brief-editing .step-actions,body.brief-editing .bottom-nav,body.brief-restoring .step-actions,body.brief-restoring .bottom-nav{visibility:hidden;pointer-events:none}
dialog.brief-editor{position:fixed;inset:auto;top:var(--editor-top,10px);left:50%;transform:translateX(-50%);margin:0;width:calc(100% - 24px);max-width:700px;height:var(--editor-height,calc(100dvh - 20px));max-height:var(--editor-height,calc(100dvh - 20px));padding:0 16px 14px;overflow:hidden}
dialog.brief-editor[open]{display:flex;flex-direction:column}
.brief-editor .dialog-top{flex:none;min-height:48px;margin-bottom:8px}
.brief-editor #dialogContent{display:flex;flex-direction:column;min-height:0;flex:1;overflow:hidden}
.brief-editor #dialogTitle{font-size:23px;flex:none;margin:0 0 10px}
#briefEditorForm{display:flex;flex-direction:column;min-height:0;flex:1}
.brief-editor-help{font-size:12px;line-height:1.45;color:var(--muted);margin:0 0 11px;flex:none}
#briefEditorText{display:block;flex:1;min-height:60px;height:auto;width:100%;margin:0;resize:none;font-size:16px;line-height:1.55;padding:12px;overflow-y:auto;overscroll-behavior:contain}
.brief-editor-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:12px;flex:none;background:var(--surface)}
.brief-editor-footer>span{font-size:11px;color:var(--muted)}
.brief-editor-footer>button{min-width:150px;min-height:44px;font-size:13px}
.editor-sr-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.brief-editor.compact-editor .dialog-top{min-height:40px;margin-bottom:4px}
.brief-editor.compact-editor #dialogTitle{font-size:20px;margin-bottom:7px}
.brief-editor.compact-editor .brief-editor-help{display:none}
.brief-editor.compact-editor .brief-editor-footer{padding-top:8px}
.brief-editor.compact-editor .brief-editor-footer>button{min-height:40px}
html:has(body.brief-editing),html:has(body.brief-restoring){overflow:hidden;overscroll-behavior:none}
/* A deliberate final action after the supporting tools. */
.tools-grid .tool-enquiry{grid-column:1/-1;min-height:78px;background:var(--ink);color:var(--surface);border-color:var(--ink)}
.tools-grid .tool-enquiry small{color:inherit;opacity:.8}
.tools-grid .tool-enquiry>b{font-size:20px}
/* V1.5: equally reachable editor controls and equal Tools cards. */
.brief-editor-footer{display:grid;grid-template-columns:1fr 1fr;gap:6px 10px}
.brief-editor-footer>span{grid-column:1/-1}
.brief-editor-footer>button{width:100%;min-width:0;min-height:44px}
.tools-grid{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:104px}
.tools-grid>.tool-card{height:104px;min-height:104px;padding:16px;grid-column:auto}
.tools-grid>.tool-enquiry{background:#e6e9e8;color:var(--ink);border-color:#bac2bf;grid-column:auto}
.tools-grid>.tool-enquiry small{color:var(--muted);opacity:1}
.tools-grid>.tool-enquiry>b{font-size:14px}
body.dark .tools-grid>.tool-enquiry{background:#343b38;color:var(--ink);border-color:#626b67}
@media(max-width:999px){.tools-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:96px}.tools-grid>.tool-card{height:96px;min-height:96px;padding:13px}}
/* V1.7: common measured tracks, with every step anchored at its top edge. */
.workspace[data-step="0"]>.step-intro,.workspace[data-step="1"]>.step-intro,.workspace[data-step="2"]>.step-intro{height:var(--aligned-intro,116px);min-height:var(--aligned-intro,116px);flex:none;align-self:start}
.workspace[data-step="0"]>.photo-story,.workspace[data-step="1"]>.photo-story,.workspace[data-step="2"]>.photo-story{height:var(--aligned-story,170px);min-height:var(--aligned-story,170px);align-self:start;align-content:start;align-items:start;flex:none}
.workspace[data-step="0"]>.control-card,.workspace[data-step="1"]>.control-card,.workspace[data-step="2"]>.control-card{align-self:start;margin-top:0}
.story-copy,.story-visual{align-self:start;margin-top:0;padding-top:0}
.story-copy strong{margin-top:0}
@media(max-width:999px){.workspace[data-step="0"]>.control-card,.workspace[data-step="1"]>.control-card,.workspace[data-step="2"]>.control-card{align-self:stretch}}
/* V1.8: identical fixed tracks. Never let flex items shrink to their text width. */
.workspace:is([data-step="0"],[data-step="1"],[data-step="2"])>.step-intro{width:100%;height:116px;min-height:116px;align-self:stretch;flex:none}
.workspace:is([data-step="0"],[data-step="1"],[data-step="2"])>.photo-story{width:100%;height:auto;min-height:0;align-self:start;align-content:start;align-items:start;flex:none}
.workspace:is([data-step="0"],[data-step="1"],[data-step="2"])>.control-card{width:100%;min-height:240px;align-self:stretch;margin-top:0}
.workspace[data-step="0"]>.control-card{display:flex;flex-direction:column}
.workspace[data-step="0"] .idea-fields{flex:1;grid-template-rows:auto minmax(77px,1fr)}
.brief-preview-field{display:flex;flex-direction:column;min-height:0}
.brief-preview-field .brief-preview{flex:1;height:auto}
.workspace[data-step="1"]>.control-card{display:flex;flex-direction:column}
.workspace[data-step="1"] .capture-options{flex:1;grid-template-rows:repeat(2,minmax(48px,1fr))}
.workspace[data-step="2"]>.result-links{grid-template-rows:repeat(4,minmax(48px,1fr))}
@media(max-width:999px){
.workspace:is([data-step="0"],[data-step="1"],[data-step="2"]){display:flex;flex-direction:column}
.workspace:is([data-step="0"],[data-step="1"],[data-step="2"])>.step-intro{height:124px;min-height:124px;margin-bottom:12px}
.workspace:is([data-step="0"],[data-step="1"],[data-step="2"])>.photo-story{height:170px;min-height:170px;width:100%;align-self:stretch;margin-bottom:6px}
.workspace:is([data-step="0"],[data-step="1"],[data-step="2"])>.control-card{width:calc(100% + 8px);margin-left:-4px;margin-right:-4px;flex:1 0 240px;min-height:240px;align-self:stretch}
}
@media(max-width:350px){.workspace:is([data-step="0"],[data-step="1"],[data-step="2"])>.photo-story{height:210px;min-height:210px}}

/* Clear labels within the original button dimensions. */
.capture-options .capture-choice{gap:9px}
.capture-icon{display:flex;align-items:center;justify-content:center;flex:0 0 25px;width:25px;height:25px}
.capture-options .capture-choice svg{width:25px;height:25px;stroke-width:1.9}
.capture-copy{display:flex;flex-direction:column;gap:2px;min-width:0}
.capture-copy strong{font-size:16px;line-height:1.15;font-weight:750}
.capture-copy small{font-size:10px;line-height:1.1;font-weight:450;color:var(--muted)}
@media(max-width:600px){.capture-options .capture-choice{gap:7px}.capture-icon{flex-basis:22px;width:22px;height:22px}.capture-options .capture-choice svg{width:22px;height:22px}.capture-copy strong{font-size:14px}.capture-copy small{font-size:9px}}
@media(max-width:350px){.capture-options .capture-choice{gap:5px}.capture-icon{flex-basis:19px;width:19px;height:19px}.capture-options .capture-choice svg{width:19px;height:19px}.capture-copy strong{font-size:12px}.capture-copy small{font-size:8px}}

/* Use actual content height; thumbnails extend the block only when present. */
@media(max-width:999px){
.workspace:is([data-step="0"],[data-step="1"],[data-step="2"])>.photo-story{height:auto;min-height:0;margin-bottom:6px}
.workspace:is([data-step="0"],[data-step="1"],[data-step="2"]) .story-copy p{margin-bottom:0}
}

/* Balanced spacing between the photo story and controls. */
@media(max-width:999px){
.workspace:is([data-step="0"],[data-step="1"],[data-step="2"])>.photo-story{margin-bottom:20px}
}

/* Brand name and SPV meaning. */
.brand-copy{display:flex;flex-direction:column;gap:3px;line-height:1.05;min-width:0}
.brand-copy small{font-size:11px;line-height:1.25;letter-spacing:0;font-weight:550;color:var(--muted)}
@media(max-width:600px){.brand-copy small{font-size:9px;letter-spacing:-.1px}}
@media(max-width:350px){.brand-copy small{font-size:8px}}
