:root{--ink:#203e35;--paper:#f6f4ec;--line:#d5dbcc;--muted:#6b7866;--moss:#e7edda;--clay:#956745}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;background:radial-gradient(ellipse at top right,#eaf0dc,transparent 60%),var(--paper);color:var(--ink);font:13px/1.6 "Microsoft YaHei",sans-serif}a{color:inherit}button,input,select{font:inherit}button,summary,.upload-button{cursor:pointer}button,a,input,select{touch-action:manipulation}button:disabled{opacity:.45;cursor:not-allowed}main{max-width:1340px;margin:auto;padding:0 26px 25px}.workspace-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:19px 0 15px}.workspace-heading h1{font:normal 27px/1.3 Georgia,"Songti SC",serif;margin:0}.workspace-heading p{font-size:12px;color:var(--muted);margin:5px 0 0}.studio-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:14px 18px;align-items:start}.inspiration-panel{grid-column:1;grid-row:1/span 2;position:sticky;top:14px;background:#fffdf8;border:1px solid var(--line);padding:12px;min-width:0}.criteria-panel{grid-column:2;grid-row:1;background:#fffdf8;border:1px solid var(--line);padding:14px;min-width:0}.recommendation-section{grid-column:2;grid-row:2;min-width:0}.dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;min-height:190px;padding:18px 12px;background:repeating-linear-gradient(90deg,#edf1e4,#edf1e4 24px,#203e3508 25px);border:1px dashed #a5b493;overflow:hidden}.dropzone.dragover{outline:2px solid #6b8253;outline-offset:2px}.dropzone>img{max-height:235px;max-width:100%;object-fit:contain}.upload-mark{display:block;font:38px/1 Georgia,serif;color:#6d805c}.dropzone h2{font:normal 22px/1.4 Georgia,"Songti SC",serif;margin:8px 0}.dropzone p{font-size:12px;color:var(--muted);margin:6px 0}.upload-button{position:relative;display:inline-block;padding:11px 20px;border:1px solid var(--ink);background:var(--ink);color:#fffdf8;font-size:13px}.upload-button input{position:absolute;inset:0;opacity:0;width:100%;cursor:pointer}.primary{background:var(--ink);color:#fffdf8;border:1px solid var(--ink);padding:9px 15px;min-height:38px;font-size:12px}.quiet-button{background:transparent;color:var(--ink);border:1px solid var(--line);padding:7px 11px;font-size:11px;min-height:34px}.text-button{background:none;border:0;text-decoration:underline;text-underline-offset:3px;color:var(--muted);font-size:11px;padding:6px 0}.target-choice{display:grid;gap:5px;margin:12px 0;font-size:12px}.target-choice select{width:100%;min-height:38px;border:1px solid var(--line);background:#fffdf8;color:var(--ink);padding:6px}#analyze{width:100%;font-weight:500}.fine,.file-hint{font-size:10px;color:var(--muted);line-height:1.7;margin:8px 0}.file-hint{margin-bottom:0}#analysis-status,#agent-status{font-size:11px;color:var(--clay);overflow-wrap:anywhere;margin:8px 0}#analysis-status:empty,#agent-status:empty{display:none}.progress{height:3px;background:#e4e8db;overflow:hidden;margin-top:10px}.progress i{display:block;width:30%;height:100%;background:#819758;animation:scan 1.6s infinite}@keyframes scan{from{transform:translateX(-100%)}to{transform:translateX(430%)}}
body[data-phase=upload] .studio-layout{display:block;max-width:760px;margin:8px auto 35px}body[data-phase=upload] .inspiration-panel{position:relative;padding:22px}body[data-phase=upload] .dropzone{min-height:235px}body[data-phase=upload] .reference-actions{max-width:360px;margin:0 auto}body[data-phase=upload].has-image .inspiration-panel{display:grid;grid-template-columns:minmax(0,1fr) 255px;gap:24px;align-items:center}body[data-phase=upload].has-image .dropzone{min-height:275px}body[data-phase=upload].has-image .dropzone>img{max-height:300px}body[data-phase=upload].has-image .upload-button,body:not([data-phase=upload]) .upload-button{background:#fffdf8;color:var(--ink);font-size:11px;padding:6px 11px}body[data-phase=manual]:not(.has-image) #analyze{display:none}body[data-phase=review] #analyze{background:#fffdf8;color:var(--ink)}
.feature-note{margin:0 0 8px;font-size:11px;color:var(--muted)}.recognition-summary{border-bottom:1px solid var(--line);padding-bottom:10px;margin-bottom:10px}.recognition-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.recognition-heading h2{font:normal 18px Georgia,"Songti SC",serif;margin:0}.recognition-heading span{font-size:10px;color:var(--muted)}.recognition-summary dl{display:grid;grid-template-columns:.8fr 1.4fr 1fr .7fr;gap:10px;margin:10px 0 0}.recognition-summary dt{font-size:10px;color:var(--muted)}.recognition-summary dd{margin:2px 0 0;font-size:12px;overflow-wrap:anywhere}.recognition-summary>p{display:none}.material-analysis{margin-bottom:9px}.material-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.material-heading h3{font-size:12px;margin:0}.material-heading>span{font-size:10px;color:var(--clay)}.material-analysis>p{font-size:10px;color:var(--muted);margin:5px 0}#main-material-candidates{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px}.material-candidate{padding:8px 10px;background:#edf1e4;border:1px solid #e0e6d5}.material-candidate h4{font-size:12px;font-weight:500;margin:0}.material-candidate h4 small{font-size:9px;color:var(--clay);margin-left:7px}.material-candidate p{font-size:11px;line-height:1.6;margin:4px 0 0;overflow-wrap:anywhere}.material-candidate .material-limit{font-size:10px;color:var(--muted)}.material-empty{font-size:11px;color:var(--muted);margin:6px 0}.material-tools{display:flex;align-items:start;gap:18px;flex-wrap:wrap;margin-top:6px}.material-tools details{font-size:11px;min-width:0}.material-tools details[open]{flex:1 1 220px}.component-item{border-top:1px solid var(--line);padding:7px 0;font-size:11px}.component-item p{font-size:11px;margin:3px 0;overflow-wrap:anywhere}.component-item span{font-size:10px;color:var(--clay)}.tool-disclosure{font-size:11px}.tool-disclosure>summary,.material-tools summary{color:var(--muted);padding:5px 0}.feature-group{padding:8px 0;border-bottom:1px solid #e4e7dc}.feature-group h3{font-size:11px;font-weight:400;margin:0 0 6px;color:var(--muted)}.feature-state{float:right;font-size:10px}.feature-options{display:flex;gap:5px;flex-wrap:wrap}.feature-options button{border:1px solid var(--line);background:#fffdf8;color:var(--ink);font-size:11px;padding:4px 8px;min-height:29px}.feature-options button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#fffdf8}.feature-options button[aria-pressed=true]:before{content:'✓ '}.search-toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:9px;margin-top:8px}.search-toolbar #recommend{margin-left:auto}.procurement-summary{font-size:10px;color:var(--muted)}#purchase-options[open]{flex-basis:100%}.procurement-options{display:flex;gap:14px;flex-wrap:wrap;align-items:center;padding:8px 0}.check-row{display:flex;gap:5px;align-items:center;font-size:11px}.check-row input{accent-color:var(--ink)}.budget-label{display:flex;align-items:center;gap:8px;font-size:11px}.budget-label input{width:95px;border:1px solid var(--line);background:transparent;padding:5px}.advanced-tools{margin-top:6px}#caption{white-space:pre-wrap;font-size:11px;color:var(--muted)}
.results-heading{display:flex;gap:15px;align-items:baseline;justify-content:space-between;margin:0 0 9px}.results-heading h2{font:normal 19px Georgia,"Songti SC",serif;margin:0;white-space:nowrap}.results-heading p{font-size:10px;line-height:1.6;color:var(--muted);margin:0}.results-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.fabric-card{min-width:0;background:#fffdf8;border:1px solid var(--line)}.fabric-card>img{width:100%;height:135px;object-fit:cover;background:#e8ebdf}.card-body{padding:10px}.card-source{font-size:9px;color:var(--muted)}.fabric-card h3{font:normal 14px/1.5 Georgia,"Songti SC",serif;margin:6px 0;overflow-wrap:anywhere}.card-price{font:19px/1.3 Georgia,serif;margin:9px 0}.card-price small{font:9px sans-serif;color:var(--muted)}.specs{display:flex;gap:4px;flex-wrap:wrap}.specs span{font-size:9px;background:#edf0e4;padding:2px 5px}.match-state{display:block;font:10px/1.6 sans-serif;padding:4px 6px;background:#e7efdc;margin-bottom:6px;color:#294b3b}.match-state.is-partial{background:#f4ead5;color:#775625}.reasons{font-size:10px;padding-left:14px;margin:8px 0}.reasons li{margin:4px 0}.card-evidence{border-top:1px solid var(--line);margin-top:7px;font-size:10px;color:var(--muted)}.card-evidence>summary{padding:6px 0}.uncertainty{font-size:10px;color:#896b51;margin:4px 0;overflow-wrap:anywhere}.card-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.card-actions a,.card-actions button{font:10px/1.4 sans-serif;color:var(--ink);text-decoration:none;background:none;border:1px solid var(--line);padding:7px 8px;min-height:32px}.card-actions button[aria-pressed=true]{background:var(--moss)}.result-tier-heading{grid-column:1/-1;border-top:1px solid var(--line);padding-top:10px}.result-tier-heading h3{font-size:14px;margin:0 0 3px}.result-tier-heading p{font-size:10px;color:var(--muted);margin:0}.verification-heading h3{color:#775625}.empty-state{grid-column:1/-1;padding:24px;text-align:center;border:1px dashed var(--line);color:var(--muted);font-size:12px}.empty-state>span{font-size:15px}.empty-state p{font-size:11px}.selection-panel{border:1px solid var(--line);background:#e7edd8;padding:15px;margin-top:18px}.selection-panel h2{font-size:16px;margin:0 0 8px}.selection-panel>p{font-size:10px;color:var(--muted)}.selection-item{display:flex;justify-content:space-between;gap:12px;border-top:1px solid #cdd7ba;padding:7px 0;font-size:11px}.selection-item a{overflow-wrap:anywhere}footer{padding:15px 25px;border-top:1px solid var(--line);font-size:10px;color:var(--muted);text-align:center}:focus-visible{outline:2px solid #889c60;outline-offset:3px}
@media(max-width:850px){main{padding:0 18px 20px}.studio-layout{grid-template-columns:190px minmax(0,1fr);gap:12px}.recognition-summary dl{grid-template-columns:1fr 1fr}.results-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.procurement-summary{display:none}.material-candidate .material-limit{font-size:9px}}@media(max-width:650px){main{padding:0 14px 20px}.workspace-heading{padding:15px 0 12px;gap:12px}.workspace-heading h1{font-size:24px}.workspace-heading p{font-size:11px}.studio-layout{display:flex;flex-direction:column;gap:12px}.studio-layout>section{width:100%}.inspiration-panel{position:relative;top:auto;padding:12px}.criteria-panel{padding:12px}body[data-phase=upload] .studio-layout{margin:0 0 20px}body[data-phase=upload] .inspiration-panel{padding:15px}body[data-phase=upload].has-image .inspiration-panel{display:block}.dropzone,body[data-phase=upload] .dropzone{min-height:200px}body[data-phase=upload].has-image .dropzone{min-height:0}.dropzone>img,body[data-phase=upload].has-image .dropzone>img{max-height:230px}body:not([data-phase=upload]).has-image .inspiration-panel{display:grid;grid-template-columns:100px 1fr;gap:12px;align-items:start}body:not([data-phase=upload]).has-image .dropzone{min-height:0;padding:8px;gap:6px}body:not([data-phase=upload]).has-image .dropzone>img{max-height:130px}body:not([data-phase=upload]).has-image .upload-button{font-size:10px;padding:4px}.reference-actions .target-choice{margin-top:8px}body[data-phase=manual]:not(.has-image) .inspiration-panel{display:none}.results-heading{display:block}.results-heading p{margin-top:5px}.results-grid{gap:9px}.fabric-card>img{height:120px}.card-body{padding:8px}.fabric-card h3{font-size:13px}.material-tools{gap:10px}.material-candidate .material-limit{display:none}.selection-item{display:block}.selection-item span{display:block}.search-toolbar{gap:8px}.search-toolbar #recommend{font-size:11px;padding:8px 10px}.budget-label input{width:90px}}@media(prefers-reduced-motion:reduce){.progress i{animation:none}}
.reason-teaser{font-size:10px;color:var(--muted);margin:7px 0;line-height:1.6}
body[data-phase=manual]:not(.has-image) .studio-layout{grid-template-columns:minmax(0,1fr)}body[data-phase=manual]:not(.has-image) .inspiration-panel{display:none}body[data-phase=manual]:not(.has-image) .criteria-panel,body[data-phase=manual]:not(.has-image) .recommendation-section{grid-column:1}
body[data-phase=manual] .material-empty,body[data-phase=manual] .material-analysis>p{display:none}
.workspace-heading>div:first-child{flex:1;min-width:0}.workspace-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.workspace-actions:empty{display:none}@media(max-width:650px){.workspace-actions{max-width:160px}}
