:root{color-scheme:light;--navy:#10395e;--ink:#183b58;--cyan:#00b8df;--muted:#5e7385;--line:#d9e5ed;--bg:#f3f7fa;--paper:#fff;--shadow:0 16px 45px #173d6410}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}.site-header{display:flex;align-items:center;justify-content:space-between;gap:20px;max-width:1220px;margin:auto;padding:22px 32px}.brand{display:block;line-height:0}.brand img{width:290px;max-width:100%;height:auto}.account{display:flex;align-items:center;gap:18px;font-size:13px;font-weight:650;flex-wrap:wrap}main{max-width:1120px;margin:auto;padding:22px 32px 70px;min-height:calc(100svh - 190px)}.sign-in{display:grid;place-items:center;min-height:calc(100svh - 235px)}.sign-in-card{display:grid;grid-template-columns:1.12fr 1fr;width:100%;max-width:1020px;background:var(--paper);border:1px solid var(--line);border-radius:26px;overflow:hidden;box-shadow:var(--shadow)}.welcome{background:linear-gradient(150deg,#e9f6fc,#f3f7fa);padding:35px 32px 18px;text-align:center}.eyebrow{font-size:10px;letter-spacing:1.8px;color:#326888;font-weight:750;margin:0 0 16px}.welcome h1{font-size:38px;line-height:1.13;letter-spacing:-1.4px;margin:0}.hero{display:block;width:100%;height:auto;max-height:330px;object-fit:contain;margin:14px auto 0}.welcome-note{font-size:13px;margin:8px 0 0;color:var(--muted)}.sign-in-form{padding:45px 40px;align-self:center}h1{font-size:clamp(28px,4vw,42px);line-height:1.12;letter-spacing:-1.3px;margin:0 0 14px}h2{font-size:29px;line-height:1.2;letter-spacing:-.7px;margin:0 0 16px}p{margin:0 0 16px}.muted{color:var(--muted)}.small{font-size:12px}.sign-in-form .small{margin-top:18px}.sign-in-form form{margin-top:25px}form{display:grid;gap:16px;max-width:800px}label{display:grid;gap:8px;font-size:13px;font-weight:650}input,textarea{font:inherit;width:100%;border:1px solid #cbdce8;border-radius:12px;padding:13px 15px;color:var(--ink);background:#fff;font-size:16px}textarea{resize:vertical;min-height:115px}input:focus,textarea:focus{outline:3px solid #00b8df28;border-color:#159cbf}button{font:inherit;border:1px solid var(--line);border-radius:11px;padding:11px 17px;min-height:46px;color:var(--ink);background:var(--paper);cursor:pointer;font-size:14px;font-weight:650}button:focus-visible,a:focus-visible{outline:3px solid var(--cyan);outline-offset:3px}.primary{background:var(--navy);border-color:var(--navy);color:#fff;justify-self:start;min-width:160px;display:flex;justify-content:space-between;gap:24px}.sign-in-form .primary{width:100%}.primary:hover{background:#164d7b}button:disabled{opacity:.6;cursor:wait}.quiet{background:transparent}.workspace-nav{display:flex;gap:8px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding:0 0 18px;margin:0 0 34px}.workspace-nav .selected{background:var(--navy);color:#fff;border-color:var(--navy)}.workspace-nav .quiet{margin-left:auto}.intro{max-width:720px;margin-bottom:25px}.intro .eyebrow{margin-bottom:12px}.request-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.working{display:flex;align-items:center;gap:18px;padding:22px;margin:26px 0;background:#eaf8fd;border:1px solid #b6e6f2;border-radius:18px}.working p{font-size:13px;color:var(--muted);margin:5px 0 0}.thinking-avatar{position:relative;width:86px;flex-shrink:0;line-height:0}.thinking-avatar img{width:86px;height:102px;object-fit:contain;position:relative;z-index:1}.cyan-glow{position:absolute;left:29%;top:34%;width:35%;height:16%;border-radius:50%;background:#00ddff77;filter:blur(9px);animation:pulse 1.8s ease-in-out infinite;z-index:2}.dots span{animation:dot 1.3s infinite}.dots span:nth-child(2){animation-delay:.2s}.dots span:nth-child(3){animation-delay:.4s}@keyframes pulse{50%{opacity:.4;transform:scale(1.18)}}@keyframes dot{50%{opacity:.15}}#guide,#answer{margin-top:28px}.selection-panel{background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:25px;box-shadow:var(--shadow)}.selection-panel h2{font-size:24px}.requirement-label{font-size:10px;font-weight:750;color:var(--muted);letter-spacing:1.4px;margin:0 0 8px}.requirements{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 23px}.requirement{display:inline-block;background:#eaf5fb;border:1px solid #c7e6f3;border-radius:8px;padding:7px 10px;font-size:12px;font-weight:650;color:#185575}.guide-progress{font-size:12px;color:var(--muted);margin-bottom:12px}.choice-grid{display:flex;flex-wrap:wrap;gap:10px;margin:17px 0}.choice{padding:14px 18px;min-height:52px;background:#f9fcfe;border-color:#cbdce8}.choice[aria-pressed=true]{border-color:#078cb3;background:#e3f7fc;color:#0b5b77;box-shadow:0 0 0 1px #078cb3}.guide-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:20px}.guide-actions .primary{margin-left:auto}.details-toggle{font-size:13px;margin-top:18px}.details-toggle summary{cursor:pointer;color:#23648d;font-weight:650}.details-toggle input{margin-top:10px}.results-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:16px}.results-heading h2{font-size:27px;margin:0}.result-summary{max-width:720px;color:var(--muted);font-size:14px;margin-bottom:22px}.products{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,285px),1fr));gap:17px}.product{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:22px;display:flex;flex-direction:column;min-width:0;overflow-wrap:anywhere}.product-image{background:#f6f9fc;border-radius:11px;padding:14px;margin-bottom:19px;height:165px;display:grid;place-items:center}.product img{height:135px;max-width:100%;object-fit:contain}.manufacturer{font-size:11px;font-weight:750;letter-spacing:1.5px;text-transform:uppercase;color:#207396;margin-bottom:7px}.product h3{font-size:20px;line-height:1.25;margin:0 0 8px}.model{font-size:12px;color:var(--muted);margin-bottom:14px}.specs{list-style:none;padding:0;margin:0 0 17px;font-size:13px}.specs li{padding:5px 0}.specs li:before{content:'✓';color:#0a819d;font-weight:800;margin-right:8px}.fit{font-size:13px;color:var(--ink)}.confirmation{font-size:12px;color:#70582f;background:#fcf7ec;border-radius:9px;padding:12px;margin-bottom:16px}.confirmation p{font-weight:650;margin:0 0 6px}.confirmation ul{margin:0;padding-left:17px}.availability{font-size:12px;color:var(--muted);margin-top:auto;margin-bottom:12px}.view-part{display:block;text-align:center;color:#fff;background:var(--navy);padding:11px;border-radius:10px;font-size:13px;font-weight:650;text-decoration:none}.evidence{font-size:11px;color:var(--muted);margin:11px 0 0}.assumptions{padding:15px;background:#fff7e8;border:1px solid #eee0c1;border-radius:11px;margin-bottom:20px;font-size:13px}.assumptions p{margin:0 0 8px}.assumptions button{font-size:12px;padding:7px 10px;min-height:40px}.empty{padding:28px;border:1px dashed #cadce8;border-radius:17px;text-align:center;color:var(--muted);background:#fff}.review{padding:24px;background:#fff;border:1px solid var(--line);border-radius:17px;margin-bottom:20px}.review h2{font-size:20px;line-height:1.35}.review .products{margin-bottom:20px}.review textarea{margin:8px 0}.review-actions{display:flex;gap:8px;flex-wrap:wrap}#status{font-size:14px;color:#245e86;margin:22px 0 0}footer{max-width:1120px;margin:auto;display:flex;justify-content:space-between;gap:15px;border-top:1px solid var(--line);padding:22px 32px;color:var(--muted);font-size:11px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}@media(max-width:760px){.site-header{padding:18px 20px;align-items:flex-start}.brand img{width:225px}.account{gap:7px;font-size:11px;justify-content:flex-end;max-width:165px}.account button{font-size:11px;padding:7px 10px;min-height:36px}main{padding:10px 20px 45px}.sign-in{min-height:0}.sign-in-card{grid-template-columns:1fr;max-width:520px;border-radius:21px}.welcome{padding:25px 20px 15px}.welcome h1{font-size:30px}.hero{max-height:260px;width:100%;object-fit:contain;margin-top:10px}.sign-in-form{padding:28px 28px 32px}.sign-in-form h2{font-size:27px}.workspace-nav{margin-bottom:28px}.workspace-nav button{padding:9px 12px;font-size:12px}.selection-panel{padding:21px 18px}.choice{flex:1 1 auto;min-width:125px;padding:12px}.working{padding:16px;gap:12px}.working strong{font-size:14px}.thinking-avatar{width:68px}.thinking-avatar img{width:68px;height:82px}.results-heading{align-items:center}.results-heading h2{font-size:24px}.results-heading button{font-size:12px;padding:8px 10px}.products{grid-template-columns:1fr}footer{padding:20px;font-size:10px}.welcome .eyebrow{font-size:8px;letter-spacing:1.2px}}@media(max-width:400px){.site-header{gap:8px}.brand img{width:190px}.account{max-width:125px}.sign-in-form{padding:25px 22px}.welcome .hero{max-height:225px}.request-actions .small{font-size:11px}}@media(prefers-reduced-motion:reduce){.cyan-glow,.dots span{animation:none}}

.photo-panel{max-width:800px;margin-top:22px;padding:22px;background:#fff;border:1px solid var(--line);border-radius:18px}.photo-title h2{font-size:21px;margin-bottom:8px}.photo-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:12px 0}.photo-panel canvas{display:block;max-width:100%;height:auto;max-height:460px;border-radius:10px;border:1px solid var(--line);touch-action:none;cursor:crosshair}.photo-panel label{margin:16px 0}.photo-consent{display:flex;align-items:flex-start;gap:10px!important;font-weight:400;font-size:12px}.photo-consent input{width:20px;height:20px;flex-shrink:0;margin-top:3px;accent-color:var(--navy)}.label-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.label-grid label{margin:10px 0}.label-grid input{min-width:0}.uncertain-label{color:#866228}.photo-status-warning{color:#866228}.photo-panel.dragging{outline:3px dashed var(--cyan)}#photo-status{margin:12px 0 0}.photo-panel .confirmation{margin-top:18px}@media(max-width:760px){.photo-panel{padding:18px}.label-grid{grid-template-columns:1fr}.photo-actions button{font-size:12px;padding:10px 12px}.photo-panel canvas{max-height:none}}

.attached-photo{display:grid;grid-template-columns:96px minmax(0,1fr);gap:16px;align-items:center;margin-top:16px;padding:14px;background:#eff8fc;border-radius:12px}.attached-photo canvas{width:96px;height:120px;border:none;cursor:default}.attached-photo p{margin:8px 0;overflow-wrap:anywhere}.attached-photo button{min-height:38px;padding:7px 10px;font-size:12px}
.review-actions button[aria-pressed=true]{background:#e3f7fc;border-color:#078cb3;box-shadow:0 0 0 1px #078cb3;color:#0b5b77}.review-status{margin-top:12px;font-size:13px}.review-status[data-state=saved]{color:#146447}.review-status[data-state=error],.review-status[data-state=unsaved]{color:#866228}.review-actions .primary{min-width:110px}.review-actions button:disabled{cursor:wait}

.photo-library-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:16px}.saved-photo{display:grid;grid-template-columns:96px minmax(0,1fr);gap:16px;margin:16px 0;padding:16px;border:1px solid var(--line);border-radius:12px;background:#f5fafc}.saved-photo img{width:96px;max-height:160px;object-fit:contain;border-radius:8px}.saved-photo p,.saved-photo dd{overflow-wrap:anywhere}.saved-photo dl{font-size:12px}.saved-photo dt{font-weight:600;margin-top:6px}.saved-photo dd{margin:2px 0}#photo-library{margin:24px 0}#photo-save{margin-right:12px;margin-bottom:12px}@media(max-width:400px){.saved-photo{grid-template-columns:72px minmax(0,1fr);gap:12px;padding:12px}.saved-photo img{width:72px}}

/* A readable flat wordmark, with no shadow, assembled letters or tiny embedded type. */
.brand{line-height:1;flex:0 0 auto;text-decoration:none;display:flex;flex-direction:column;gap:9px;color:var(--navy)}.brand-name{font-family:Arial,Helvetica,sans-serif;font-size:46px;font-weight:900;letter-spacing:-2.4px;line-height:.95}.brand-name>span{color:#078dbb}.brand-description{display:flex;align-items:center;gap:14px;font-size:12px;font-weight:600;letter-spacing:.2px;line-height:1.3;color:#31516c}.brand-description>span{font-size:11px;font-weight:400;color:#63798b}.site-header{padding-top:26px;padding-bottom:26px;border-bottom:1px solid var(--line);margin-bottom:22px}.account{margin-left:auto}
@media(max-width:760px){.site-header{flex-wrap:wrap;row-gap:17px;padding-top:22px;padding-bottom:18px}.brand-name{font-size:40px;letter-spacing:-2px}.brand-description{font-size:11px;gap:12px}.brand-description>span{font-size:10px}.account{max-width:none;flex:1 1 100%;justify-content:space-between;margin-left:0}.account button{font-size:12px}.brand{gap:8px}}

#conversation{max-width:920px;margin:22px 0}#conversation-turns{display:flex;flex-direction:column;gap:18px}.chat-turn{padding:22px;border:1px solid var(--line);border-radius:18px;overflow-wrap:anywhere}.chat-turn.user{align-self:flex-end;background:#e8f5fa;max-width:85%;border-color:#cce6ef}.chat-turn.assistant{background:#fff}.chat-speaker{font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:#31516c;margin:0 0 10px}.chat-message{font-size:16px;line-height:1.6;margin:0 0 16px}.chat-question{font-size:23px;line-height:1.3;margin:12px 0}.chat-skip{margin:18px 0 4px}.chat-turn .products{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}.chat-turn .choice{min-width:100px}.chat-turn[data-failed=true]{border-color:#bc7a35}.chat-turn .results-heading h2{font-size:25px}@media(max-width:760px){.chat-turn{padding:18px}.chat-turn.user{max-width:92%}.chat-question{font-size:21px}.chat-message{font-size:15px}.chat-turn .products{grid-template-columns:1fr}}

.selection-current{padding:16px 18px;background:#eaf5fb;border:1px solid #c7e6f3;border-radius:16px;max-width:920px;margin:12px 0}.selection-current-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px}.selection-current .requirement-label{display:none}.selection-current .requirements{margin:8px 0}.selection-current p:last-child{margin:0}.selection-editor{padding:20px;border:1px solid var(--line);border-radius:16px;background:#fff;max-width:920px}.selection-editor h2{font-size:22px}.selection-edit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:18px}.selection-edit-grid select{font:inherit;width:100%;border:1px solid #cbdce8;border-radius:10px;padding:10px;background:white;color:var(--ink)}.earlier-steps{margin:12px 0;border-bottom:1px solid var(--line);padding-bottom:12px}.earlier-steps summary,.other-candidates summary{cursor:pointer;color:#245e86;font-size:14px;font-weight:650}.earlier-steps .chat-turn{margin:10px 0}.has-conversation .intro{margin:6px 0 12px}.has-conversation .intro h1{font-size:24px}.has-conversation .intro .eyebrow,.has-conversation .intro .muted{display:none}.has-conversation #conversation{margin:12px 0}.conversation-composer{position:relative;border:1px solid var(--line);border-radius:16px;padding:16px;background:#fff;box-shadow:0 6px 30px #173d6418;max-width:920px;margin:18px 0}.conversation-composer textarea{min-height:65px}.conversation-composer label{font-size:12px}.coaching-note{border-left:3px solid var(--cyan);padding:8px 12px;background:#eef9fd;font-size:14px;border-radius:0 9px 9px 0;margin:10px 0 15px;max-width:750px}.chat-turn .products{display:block}.chat-turn .product{max-width:650px}.other-candidates{margin:14px 0;background:#f5f9fc;border:1px solid var(--line);border-radius:12px;padding:13px}.alternative-products{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:12px;margin-top:14px}.chat-turn .results-heading{flex-wrap:wrap;gap:8px}.chat-turn .results-heading h2{width:100%;font-size:23px}.resume-selection{margin:0 0 15px}.chat-turn.assistant .chat-speaker{margin-bottom:6px}.chat-turn .chat-message{margin-bottom:10px;font-size:15px}.chat-turn .chat-question{margin:7px 0;font-size:22px}.chat-turn .small{margin-bottom:8px}@media(max-width:760px){.selection-edit-grid{grid-template-columns:1fr}.conversation-composer{padding:12px}.selection-current{padding:12px}.selection-current-heading button{padding:8px 10px;font-size:12px;min-height:38px}.has-conversation .intro h1{font-size:21px}.chat-turn{padding:14px}.alternative-products{grid-template-columns:1fr}}

/* One uninterrupted chat: inline pending reply and compact attachments. */
.has-conversation .intro{display:none}.has-conversation .selection-current{padding:10px 14px}.has-conversation .selection-current p:last-child{display:none}
.conversation-composer{box-shadow:none;padding:14px;margin-top:14px}.conversation-composer textarea{min-height:54px;resize:vertical}.conversation-composer label{margin-bottom:6px}
.photo-panel{border:0;border-radius:0;padding:0;margin:10px 0 0;background:transparent;max-width:none}.photo-panel>summary{cursor:pointer;font-size:13px;color:#245e86;list-style-position:inside}.photo-tools-content{padding-top:12px}.photo-tools-content h2{font-size:17px}.photo-tools-content .photo-title p{margin:5px 0 10px}
.chat-turn[data-pending=true]{min-height:95px;padding:12px 16px}.chat-turn[data-pending=true]>.chat-speaker{display:none}.chat-turn .working{margin:0;padding:0;border:0;box-shadow:none;background:transparent;min-height:80px}.chat-turn .thinking-avatar{width:54px;min-width:54px;height:64px}.chat-turn .thinking-avatar img{width:48px;height:58px}.chat-turn .working strong{font-size:16px}.chat-turn .working p{margin:5px 0;font-size:13px}
#conversation-turns{gap:12px}.chat-turn.user{padding:12px 16px}.chat-turn.user .chat-speaker{display:none}.chat-turn.user .chat-message{margin:0}.has-conversation #conversation{margin:10px 0}.request-actions{gap:10px}.conversation-composer .request-actions .small:empty{display:none}
@media(max-width:760px){.photo-panel{padding:0}.conversation-composer{padding:12px}.chat-turn .working{gap:12px}.chat-turn .working strong{font-size:14px}.chat-turn.assistant{padding:14px}.chat-turn[data-pending=true]{padding:10px 14px}.conversation-composer .request-actions button{min-height:42px;padding:8px 13px}}

.manufacturer-source{display:block;font-size:13px;margin-top:8px;color:#245e86}

/* Decisions stay in the conversation, with practical evidence requests. */
.evidence-needed{padding:10px 14px;border-left:3px solid #2690b4;background:#f1f8fb;border-radius:4px;font-size:.94rem;}
.chat-question{font-size:1.14rem;margin:14px 0 6px}.chat-message{white-space:pre-line}
