/* Approved monochrome design; display serif, legible UI sans-serif. */
:root{--font-display:'Songti SC',STSong,'Noto Serif CJK SC','SimSun',serif;--font-ui:-apple-system,BlinkMacSystemFont,'PingFang SC','Microsoft YaHei',sans-serif}
body,input,textarea,select,button{font-family:var(--font-ui)}
#app-sidebar nav button{font-size:14px;min-height:36px;line-height:1.4;gap:8px}
.design-modes{display:flex;gap:12px;margin:0 0 12px;order:-11}.design-modes button{min-height:48px;font-size:17px;padding:10px 22px}.design-modes [aria-pressed=true]{background:#171717;color:white;border-color:#171717}
#workspace[data-page=projects]{padding-top:20px}
#quick-start{padding:32px;gap:32px}.quick-heading h1{font-family:var(--font-display);font-weight:600;font-size:clamp(34px,3.3vw,48px);letter-spacing:.015em;line-height:1.45}.quick-heading p{font-size:17px;max-width:30em}.quick-form label,.quick-form input,.quick-form textarea,.quick-form select{font-size:17px}.quick-form small,.quick-drop span,.quick-file>strong{font-size:15px}.quick-go{position:static;font-size:17px;min-height:54px;box-shadow:none}.quick-form details summary{font-size:16px;min-height:44px;display:flex;align-items:center}.quick-file>img{max-height:none;aspect-ratio:4/3;object-fit:cover}.quick-file>img.design-plan{object-fit:contain}.quick-result>img{object-fit:cover;max-height:none;aspect-ratio:4/3;display:block;border-radius:12px}.quick-result button{min-height:48px}
#quick-start:has(.quick-result),#quick-start:has(#quick-progress .ai-cloud){grid-template-columns:1fr}#quick-start:has(#quick-progress .ai-cloud) .quick-heading h1{font-size:32px;margin-top:0}#quick-start:has(#quick-progress .ai-cloud) .quick-heading br{display:none}
#projects{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:24px}.project-cover{height:auto;aspect-ratio:4/3}.project-cover>img{width:100%;height:100%;object-fit:cover;display:block}.project-cover>img.floorplan-cover{object-fit:contain}#projects .project-card h3{font-size:19px}#projects .project-card button{font-size:16px}.project-card p{font-size:15px}
#design-batch,#design-cad{order:-10;padding:0;border-radius:20px;overflow:hidden;margin-bottom:32px;background:#fff;border:1px solid #dedede}#design-batch h1,#design-cad h1{font-family:var(--font-display);font-size:36px;font-weight:600;line-height:1.45}#design-batch h2,#design-cad h2{font-size:20px}#design-batch p,#design-cad p{font-size:16px;line-height:1.8}#design-batch label,#design-batch input,#design-batch select,#design-batch textarea,#design-batch button,#design-cad label,#design-cad input,#design-cad select,#design-cad textarea,#design-cad button{font-size:17px}#design-batch button,#design-batch a,#design-cad button,#design-cad a{min-height:48px}#design-batch a,#design-cad a{display:inline-flex;align-items:center}#design-cad .cad-preview{display:block;max-width:100%;max-height:360px;width:auto;object-fit:contain;background:#f7f7f7;border-radius:12px;margin:8px 0 20px}#design-cad .cad-confirm label{display:block;margin:14px 0}#design-cad .cad-confirm select,#design-cad .cad-confirm input{width:100%}#design-cad .cad-confirm details{margin:12px 0 20px}.design-steps{display:flex;gap:24px;flex-wrap:wrap;border-bottom:1px solid #e5e5e5;padding:20px 30px;color:#777;font-size:16px}.design-steps .current{color:#151515;font-weight:600}.design-body{padding:30px;min-width:0}.design-upload{border:1px dashed #aaa;background:#fafafa;border-radius:14px;padding:24px}.design-upload input{width:100%}.design-materials{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:24px}.design-material{min-width:0;overflow-wrap:anywhere}.design-material>img{display:block;aspect-ratio:4/3;width:100%;object-fit:cover;border-radius:10px;margin-bottom:12px}.design-material>img.design-plan{object-fit:contain;background:#f7f7f7}.design-material select{width:100%}.design-material>strong{display:block}.design-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin:24px 0 16px}.design-actions button{min-height:54px}.design-check{display:flex;flex-direction:row;gap:12px;align-items:center;min-height:48px;font-weight:400;cursor:pointer}.design-check input{order:-1;flex:0 0 20px;width:20px;height:20px}.design-object-card{margin:20px 0;padding:24px}.design-view{display:flex;align-items:flex-end;gap:12px;margin-bottom:16px}.design-view label{flex:1;min-width:0;margin:0}.design-view button{flex-shrink:0}.design-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:24px 0}.design-result{padding:0;margin:0;overflow:hidden;border-radius:16px;min-width:0}.design-result-visual{aspect-ratio:4/3;position:relative;display:grid;place-items:center;background:#fafafa;overflow:hidden}.design-result-visual>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}.design-result-visual .generation-progress{padding:12px;max-width:100%;margin:0;border:0}.design-result-visual .ai-cloud{max-width:100%}.design-result-caption{padding:20px}.design-result-caption h2{overflow-wrap:anywhere;line-height:1.5;min-height:3em}.design-result-caption button{margin-right:16px}.design-error{background:#fff4f4;color:#9b2020;padding:16px;border-radius:10px;overflow-wrap:anywhere}
@media(max-width:1050px){.design-results{grid-template-columns:1fr}#quick-start{grid-template-columns:1fr}.quick-heading h1 br{display:none}.quick-heading p{max-width:none}}
@media(max-width:760px){#app-sidebar nav button{font-size:14px;padding:8px 5px;gap:4px;min-width:0}#app-sidebar nav button>span{display:none}.design-modes{gap:10px}.design-modes button{flex:1;padding:8px 6px;font-size:14px}#quick-start{padding:20px;gap:20px}.quick-heading h1{font-size:32px}.quick-heading p{font-size:16px}.design-body{padding:20px}.design-steps{gap:12px 18px;padding:16px 20px;font-size:14px}#design-batch h1,#design-cad h1{font-size:30px}.design-materials{grid-template-columns:1fr}.design-upload{padding:18px}.design-actions{flex-direction:column;align-items:stretch}.design-object-card{padding:16px}.design-result-caption{padding:18px}.design-view{gap:8px}.design-check{font-size:16px!important}.design-result-visual strong{font-size:17px}#projects{grid-template-columns:1fr}.quick-file{grid-template-columns:minmax(0,1fr)}.quick-file>button{justify-self:start}.quick-file>strong{overflow-wrap:anywhere}.quick-form input[type=file]{font-size:16px}}

#workspace[data-page=projects]:has(#design-batch:not([hidden]) .ai-cloud)>#generation-wait{display:none!important}

.design-assignment .design-check img{width:80px;height:60px;object-fit:cover;border-radius:6px;margin-left:auto}.design-assignment .design-check{overflow-wrap:anywhere}.design-result-visual .generation-progress{width:100%;box-sizing:border-box}.design-result-visual .generation-progress p{font-size:14px!important;line-height:1.6!important;margin:8px 0}.design-result-visual .generation-steps{font-size:13px;gap:8px}.design-result-visual .ai-cloud{height:70px;width:110px;margin:0 auto 10px}
.design-result-visual:has(.generation-progress){min-height:280px}

#quick-start[data-phase=active]{grid-template-columns:1fr}#quick-start[data-phase=active] .quick-form>label,#quick-start[data-phase=active] .quick-form>.quick-files,#quick-start[data-phase=active] .quick-form>details,#quick-start[data-phase=active] .quick-form>.quick-go,#quick-start[data-phase=active] .quick-form>small{display:none}#quick-start[data-phase=active] .quick-heading h1{font-size:32px;margin:0 0 12px}#quick-start[data-phase=active] .quick-heading h1 br{display:none}#quick-start[data-phase=active] .quick-heading>.eyebrow{display:none}

/* One project entry; project tools stay inside the workspace. */
.quick-discuss{font-size:17px;min-height:54px;border-radius:12px}.quick-go.secondary{position:static;box-shadow:none}
#quick-start[data-phase=active] .quick-discuss{display:none}
#quick-start[data-phase=discussion]{grid-template-columns:1fr;gap:20px}
#quick-start[data-phase=discussion]>.quick-form{display:none}
#quick-start[data-phase=discussion] .quick-heading h1{font-size:30px;margin:0 0 12px}
#quick-start[data-phase=discussion] .quick-heading h1 br{display:none}
.quick-discussion{grid-column:1/-1;min-width:0}.quick-discussion-head{border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:18px}
.quick-discussion-head button{margin:4px 8px 4px 0}.quick-discussion-assistant{max-width:900px;margin:auto}
.quick-discussion .assistant-messages{max-height:60vh;min-height:120px;overscroll-behavior:contain}
.quick-discussion input[type=checkbox]{width:18px!important;height:18px;flex:0 0 18px;margin:3px 0}
.quick-discussion .assistant-shell label{font-size:16px}.quick-discussion .assistant-shell form>button{margin:6px 8px 6px 0}
.quick-discussion .assistant-context{margin-top:16px}.quick-discussion .assistant-source-preview{max-height:240px}
.quick-discussion .assistant-action img{max-height:360px;object-fit:contain;background:#f5f5f5}
.quick-discussion .assistant-reference-thumb{width:80px;height:60px;object-fit:contain;border-radius:6px;margin-left:auto;background:#f5f5f5;flex:0 0 80px}
#projects .project-card{padding:0}
.project-open{display:block;flex:1;color:inherit;text-decoration:none;min-width:0}
.project-open .project-cover{margin:0}
#projects .project-open h3{margin:18px 20px 22px;line-height:1.5;height:3em;min-height:3em}
.project-open:focus-visible{outline:3px solid #151515;outline-offset:-3px;border-radius:14px}
.project-open:hover h3{text-decoration:underline;text-underline-offset:5px}

/* Project library and generation progress share the existing navigation shell. */
#workspace[data-page=library]>[data-view=library],#workspace[data-page=history]>[data-view=history]{display:block}
#project-library>.create-panel{margin-top:24px;order:3}
#workspace[data-page=library]>#project-library{display:flex;flex-direction:column}
#project-library>.section-heading{display:none}
#project-library>#projects{order:2}
#project-library .page-heading h1{font-size:28px}
#generation-progress-entry{margin-left:auto;white-space:nowrap;font-size:14px;min-height:44px;padding:7px 12px}
#generation-progress-entry[data-active=true]{border-color:#222;background:#222;color:white}
#projects-page>.page-heading{justify-content:flex-end;margin:16px 0}
.job-empty{padding:24px;background:#f6f6f6;border-radius:12px}
.job-history-pagination{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}
@media(max-width:760px){#app-topbar{gap:8px;flex-wrap:wrap;height:auto;min-height:60px;padding:10px 16px}#app-topbar>span:first-child{font-size:13px}.crumb-arrow{padding:0 5px}#generation-progress-entry{font-size:13px;padding:7px 9px}#project-library .page-heading{flex-wrap:wrap}#project-library .page-heading h1{font-size:26px}}
