.messages{display:flex;flex:1 1 auto;flex-direction:column;min-height:0;margin:0;padding:var(--space-4) var(--space-5);border:0;border-radius:0;background:var(--surface-elevated);gap:var(--space-3);overflow-y:auto;overscroll-behavior:contain}.message{width:min(92%,680px);max-width:100%;min-width:0;padding:var(--space-3) var(--space-4);border-radius:8px;border:1px solid var(--border-subtle);background:var(--surface-secondary);color:var(--text-primary);font-size:15px;line-height:1.6;overflow-wrap:anywhere}.message.user{align-self:flex-end;width:min(84%,680px);border-color:color-mix(in srgb,var(--accent-primary),transparent 70%);background:var(--surface-accent)}.message.assistant{align-self:flex-start}.message.pending{border:1px solid color-mix(in srgb,var(--status-info),transparent 68%)}.typing-status{display:inline-flex;width:fit-content;margin-top:var(--space-3);padding:var(--space-1) var(--space-2);border-radius:6px;background:color-mix(in srgb,var(--status-info),transparent 88%);color:var(--accent-primary);font-size:12px;font-weight:650}.message-role{display:inline-block;color:var(--text-tertiary);font-size:12px;font-weight:650}.markdown-body{display:grid;min-width:0;max-width:100%;gap:var(--space-3);margin-top:var(--space-1)}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4{margin:var(--space-2) 0 0;color:var(--text-primary);line-height:1.35}.markdown-body h1,.markdown-body h2{font-size:18px}.markdown-body h3,.markdown-body h4{font-size:15px}.markdown-body p,.markdown-body ul,.markdown-body ol{margin:0}.markdown-body ul,.markdown-body ol{padding-left:var(--space-5);color:var(--text-secondary)}.markdown-body li+li{margin-top:var(--space-2)}.markdown-body strong{color:var(--text-primary);font-weight:650}.markdown-body a{color:var(--accent-primary)}.markdown-body table{display:block;width:100%;max-width:100%;border-collapse:collapse;overflow-x:auto;overscroll-behavior-inline:contain}.markdown-body th,.markdown-body td{min-width:88px;padding:var(--space-2);border-top:1px solid var(--border-subtle);color:var(--text-secondary);font-size:13px;text-align:left;vertical-align:top;overflow-wrap:anywhere}.markdown-body th{color:var(--text-tertiary);font-size:12px;font-weight:600}@media(max-width:959px){.messages{flex:0 0 auto;min-height:320px;max-height:520px}.message.assistant{width:100%}.message.user{width:min(94%,680px)}}@media(max-width:560px){.messages{min-height:300px;padding:var(--space-4)}.message{padding:var(--space-3);font-size:14px}}.results-stack{display:grid;grid-template-rows:auto minmax(0,1fr);gap:var(--space-4);min-height:0}.recommendations-panel{display:flex;flex-direction:column;min-height:0}.recommendations-header{display:flex;flex:0 0 auto;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-1) var(--space-1) var(--space-3)}.result-count{flex:0 0 auto;color:var(--text-tertiary);font-size:12px}.recommendations{display:grid;flex:1 1 auto;align-content:start;min-height:0;gap:var(--space-3);overflow-y:auto;padding-right:var(--space-1)}.recommendations-empty{min-height:160px;display:grid;place-items:center;padding:var(--space-6);border:1px dashed var(--border-default);border-radius:8px;background:var(--surface-secondary);text-align:center}.recommendation-card{display:grid;gap:var(--space-3);min-width:0;border:1px solid var(--border-default);border-radius:8px;padding:var(--space-4);background:var(--surface-secondary);transition:border-color .12s ease-out}.recommendation-card h3,.recommendation-card p,.match-row span{overflow-wrap:anywhere}.recommendation-card:hover{border-color:var(--accent-primary)}.card-topline{display:flex;justify-content:space-between;align-items:center}.card-identity,.score{display:inline-flex;align-items:center;gap:var(--space-2)}.rank,.score strong{font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-weight:700}.rank{min-width:34px;padding:var(--space-1) var(--space-2);border-radius:4px;background:var(--surface-accent);color:var(--accent-primary);text-align:center}.card-brand{color:var(--text-secondary);font-size:12px;font-weight:650}.score small{color:var(--text-tertiary);font-size:11px;font-weight:600}.score strong{color:var(--accent-primary);font-size:16px}.recommendation-card h3{font-size:17px;line-height:1.4}.spec-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-2);margin:0}.spec-grid div{padding-top:var(--space-2);border-top:1px solid var(--border-subtle)}.spec-grid dd{margin:var(--space-1) 0 0;font-size:13px;color:var(--text-primary);font-variant-numeric:tabular-nums}.card-reason{padding-top:var(--space-3);border-top:1px solid var(--border-subtle);font-size:14px}.card-detail-row{display:grid;grid-template-columns:76px minmax(0,1fr);align-items:start;gap:var(--space-3)}.card-label{padding-top:5px}.match-row{display:flex;flex-wrap:wrap;gap:var(--space-2)}.score-breakdown{display:flex;flex-wrap:wrap;gap:var(--space-2);font-size:12px}.score-breakdown span{max-width:100%;padding:var(--space-1) var(--space-2);border-radius:6px;overflow-wrap:anywhere}.score-breakdown .positive{background:color-mix(in srgb,var(--accent-primary),transparent 88%);color:var(--accent-primary)}.score-breakdown .negative{background:color-mix(in srgb,#b42318,transparent 90%);color:#b42318}.match-row span{display:inline-flex;align-items:center;max-width:100%;min-height:28px;padding:0 var(--space-2);border:1px solid var(--border-default);border-radius:4px;background:var(--surface-elevated);color:var(--text-secondary);font-size:12px}.module-tabs span{display:inline-flex;align-items:center;max-width:100%;min-height:32px;padding:0 var(--space-3);border:1px solid var(--border-default);border-radius:6px;background:var(--surface-secondary)}.module-dialog{width:min(1040px,calc(100vw - var(--space-8)));max-height:min(760px,calc(100dvh - var(--space-8)));padding:0;border:1px solid var(--border-default);border-radius:8px;background:var(--surface-secondary);color:var(--text-primary)}.module-dialog::backdrop{background:color-mix(in srgb,var(--text-primary),transparent 72%)}.module-dialog-card{display:flex;flex-direction:column;max-height:min(760px,calc(100dvh - var(--space-8)))}.module-dialog-header{display:flex;flex:0 0 auto;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--border-subtle)}.module-dialog-header button{padding:0 var(--space-4)}.module-dialog-header .icon-button{padding:0}.module-dialog-body{display:grid;gap:var(--space-4);min-height:0;padding:var(--space-5) var(--space-6) var(--space-6);overflow-y:auto}.module-intro p{font-size:13px}.module-tabs{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-4)}.module-tabs span:first-child{border-color:var(--accent-primary);color:var(--accent-primary)}.module-inspection{display:grid;gap:var(--space-4)}.module-stack{display:grid;gap:var(--space-3)}.module-block{display:grid;gap:var(--space-2);padding-top:var(--space-4);border-top:1px solid var(--border-subtle)}.module-block h3{font-size:15px}.module-table-wrap{overflow-x:auto;border:1px solid var(--border-subtle);border-radius:8px}.module-table{width:100%;min-width:640px;border-collapse:collapse;font-size:13px}.module-table th,.module-table td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border-subtle);text-align:left;vertical-align:top}.module-table th{color:var(--text-tertiary);font-size:12px;font-weight:600}.module-table tr:last-child td{border-bottom:0}.module-summary{display:grid;gap:var(--space-2);margin:0;padding-left:var(--space-5);color:var(--text-secondary);font-size:13px;line-height:1.5}@media(max-width:959px){.recommendations-panel{max-height:none}.recommendations{max-height:none;overflow-y:visible;padding-right:0}.module-dialog{width:calc(100vw - var(--space-4));max-height:calc(100dvh - var(--space-4))}.module-dialog-card{max-height:calc(100dvh - var(--space-4))}}@media(max-width:640px){.recommendations-header{align-items:flex-start}.spec-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.card-detail-row{grid-template-columns:1fr;gap:var(--space-1)}.module-dialog-header,.module-dialog-body{padding-left:var(--space-4);padding-right:var(--space-4)}}
