:root{font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:#172c28;background:#f5f6f0;font-size:15px}*{box-sizing:border-box}body{margin:0}header{padding:25px 5%;display:flex;justify-content:space-between;border-bottom:1px solid #d8dfd5;align-items:center;background:#fafbf6}.brand{font-size:24px;font-weight:850;letter-spacing:-1px;color:#173e32;text-decoration:none}.brand span{font-size:12px;font-weight:450;letter-spacing:0;color:#64776f}nav{display:flex;gap:26px;align-items:center}a{color:#236b52}nav a{text-decoration:none;font-size:14px}main{max-width:1260px;margin:auto;padding:48px 30px;min-height:80vh}h1{font-size:clamp(32px,5vw,58px);font-weight:550;letter-spacing:-2.3px;margin:10px 0 16px;line-height:1.1}h2{font-size:23px;letter-spacing:-.5px}p{line-height:1.65}.eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:11px;font-weight:750;color:#47705e}.muted{color:#667a70}.hero{display:flex;justify-content:space-between;gap:35px;margin-bottom:30px}.hero p{max-width:630px}.signal{background:#dcebdc;border:1px solid #bdcebc;border-radius:8px;padding:24px;min-width:200px;align-self:center}.signal strong{display:block;font-size:36px;font-weight:500}.panel{padding:23px;border:1px solid #d8dfd5;border-radius:9px;background:#fffefa;margin-bottom:23px}.toolbar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:22px}input,select,textarea,button{font:inherit;border-radius:5px;padding:12px;border:1px solid #c9d5ca;background:#fffefa;color:inherit}input,textarea{min-width:0}input[type=search]{flex:1;min-width:220px}button,.button{cursor:pointer;background:#24583f;color:white;border-color:#24583f;text-decoration:none;display:inline-block}button.secondary{background:transparent;color:#24583f}button:disabled{opacity:.6;cursor:wait}button:hover,.button:hover{filter:brightness(.95)}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.card{background:#fffefa;border:1px solid #d8dfd5;border-radius:8px;padding:23px;display:flex;flex-direction:column;gap:10px}.card h2{font-size:19px;overflow-wrap:anywhere;margin:5px 0}.card h2 a{text-decoration:none;color:#172c28}.card p{font-size:14px;margin:0;flex:1}.tag{display:inline-block;background:#e6eee3;color:#396048;padding:5px 8px;border-radius:4px;font-size:11px}.tag.warn{background:#fff1cc;color:#80631f}.meta{font-size:12px;color:#6b7a70;line-height:1.8}.cardfoot{border-top:1px solid #e3e8df;padding-top:14px;display:flex;justify-content:space-between;align-items:center}.cardfoot label{font-size:12px}.alert{padding:15px 19px;background:#fff1cd;border:1px solid #e5d5a5;border-radius:5px;margin:15px 0;line-height:1.6}.error{background:#ffe4dd;color:#8a3424}.ingest{display:flex;gap:10px}.ingest input{flex:1}.sectionline{display:flex;align-items:center;justify-content:space-between;margin:25px 0 20px}.two{display:grid;grid-template-columns:2fr 1fr;gap:24px}.source{border-left:3px solid #bfd3bc;padding:10px 17px;margin:15px 0;overflow-wrap:anywhere}.source pre{white-space:pre-wrap;max-height:220px;overflow:auto;font:13px/1.6 ui-monospace,monospace}.form{max-width:740px}.form label{display:block;margin:15px 0 7px}.form input:not([type=checkbox]),.form textarea,.form select{width:100%}.form textarea{min-height:100px}.tablewrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:680px}th,td{text-align:left;padding:16px;border:1px solid #d8dfd5;vertical-align:top;line-height:1.6;font-size:13px}th{background:#e9efe5}td:first-child{font-weight:650;width:150px}.result{margin-top:25px}.try{color:#236b52}.watch{color:#8a681f}.skip{color:#96392d}footer{padding:25px 5%;font-size:12px;color:#6b7a70;border-top:1px solid #d8dfd5}a:focus,button:focus,input:focus,textarea:focus,select:focus{outline:2px solid #7ca678;outline-offset:3px}details{margin:15px 0}summary{cursor:pointer}@media(max-width:900px){.grid{grid-template-columns:repeat(2,1fr)}.two{grid-template-columns:1fr}.brand span{display:none}}@media(max-width:600px){header{padding:20px}nav{gap:13px}.grid{grid-template-columns:1fr}main{padding:30px 18px}.hero{display:block}.signal{display:none}.ingest{flex-wrap:wrap}h1{letter-spacing:-1px}}

/* Problem-first discovery: the search leads; repository entry is secondary. */
.problem-hero{align-items:flex-start;margin-bottom:26px;gap:42px}.problem-main{flex:1;min-width:0}.problem-hero h1{max-width:780px;margin-top:13px}.problem-hero .signal{min-width:190px;margin-top:35px;align-self:flex-start}.problem-search{margin-top:27px}.problem-query{display:flex;gap:10px;padding:7px;background:#fffefa;border:1px solid #8ba48d;border-radius:9px;box-shadow:0 5px 24px #294c2f08}.problem-query input{flex:1;border:0;background:transparent;padding:12px;font-size:17px;min-width:0}.problem-query button{padding:13px 28px}.example-queries{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:14px 0 20px;font-size:12px;color:#667a70}.example-queries button{padding:6px 9px;background:#e8eee1;color:#31543b;border:0;font-size:12px}.browse-controls{display:flex;gap:10px;flex-wrap:wrap}.browse-controls select{font-size:13px;padding:10px;background:transparent}.repo-entry{background:transparent;border-style:dashed;padding:19px 22px}.repo-entry strong{font-size:14px}.repo-entry p{font-size:12px;margin:6px 0 12px}.repo-entry .ingest input{padding:10px;font-size:13px}.repo-entry .ingest button{background:transparent;color:#24583f;font-size:13px;padding:10px 15px}.signal-explainer{margin:-5px 0 20px}.card-signals{display:grid;gap:5px;padding:9px 0;font-size:11px;color:#6a7569}.card-signals span{padding-left:10px;border-left:2px solid #c9d3bf}.report-entry{border-bottom:1px solid #e3e8df;padding:12px 0;line-height:1.5;font-size:13px;overflow-wrap:anywhere}.review-panel h3{font-size:15px;margin:23px 0 8px}.review-panel h3:first-of-type{margin-top:15px}@media(max-width:600px){.problem-query{gap:4px;padding:5px}.problem-query input{font-size:15px;padding:10px;min-width:0}.problem-query button{padding:10px 16px}.repo-entry{padding:17px}.example-queries{gap:6px}.example-queries>span{width:100%}.browse-controls select{max-width:100%}.problem-hero h1{font-size:39px}.repo-entry .ingest{display:flex;flex-direction:column}.repo-entry .ingest button{align-self:flex-start}.card-signals{font-size:12px}}
.research-progress{margin-top:22px;padding:17px 20px;border:1px solid #b6cdb3;background:#edf3e7;border-radius:7px}.research-progress[hidden]{display:none}.research-progress p{margin:8px 0}.research-progress details{margin-bottom:0}.match-note{color:#456443;font-size:12px!important}.match-evidence{font-size:12px;margin:0;line-height:1.6}.match-evidence p{margin:10px 0;font-size:12px}
/* Source observations retain long identities without overflowing narrow profiles. */
.panel dl{font-size:13px;line-height:1.6}.panel dt{color:var(--muted,#65736b);margin-top:8px}.panel dd{margin-left:0;overflow-wrap:anywhere}

.comparison-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:24px 0}.candidate-section{min-width:0;margin:0;padding:16px;border:1px solid #d8dfd5;border-radius:7px}.candidate-section legend{padding:0 8px;font-size:17px;font-weight:650;letter-spacing:-.3px}.candidate-options{display:grid;gap:5px}.candidate-option{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0}.candidate-option label{display:flex;align-items:center;gap:9px;min-width:0;overflow-wrap:anywhere;cursor:pointer;line-height:1.5}.candidate-option input{flex:none;margin:0}.candidate-kind{flex:none;font-size:11px;color:#6b7a70}@media(max-width:700px){.comparison-groups{grid-template-columns:1fr}.candidate-option{gap:8px}.candidate-kind{font-size:10px}}

.problem-query .voice-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:12px 14px;background:#e8eee1;color:#24583f;border-color:transparent;white-space:nowrap;min-height:44px}.voice-button svg{flex:none}.problem-query .voice-button.is-listening{background:#ffe4dd;color:#8a3424;border-color:#d99b8a}.problem-query .voice-button:disabled{cursor:not-allowed}.voice-status{font-size:12px;color:#47705e;margin:9px 2px 0;min-height:1.5em}.voice-status.voice-error{color:#8a3424}.voice-help{font-size:11px;color:#6b7a70;margin:4px 2px 0;line-height:1.6}@media(max-width:600px){.problem-query{flex-wrap:wrap}.problem-query input{flex:1 0 100%}.problem-query .voice-button,.problem-query button[type=submit]{flex:1;min-height:44px}}

/* Launch review: resilient narrow layouts, keyboard access and readable evidence. */
[hidden]{display:none!important}html{scroll-padding-top:20px}main,.two>*,.grid>*,.panel,.hero>*,aside{min-width:0}h1,h2,h3,p,a,td,th{overflow-wrap:anywhere}.meta{color:#53665a}.muted{color:#53665a}.voice-help,.candidate-kind,.card-signals{color:#53665a}button,.button,select,input:not([type=checkbox]),summary,nav a{min-height:44px}nav a{display:inline-flex;align-items:center}label:has(input[type=checkbox]){min-height:44px}input[type=checkbox]{width:18px;height:18px;accent-color:#24583f}input,select,textarea{font-size:16px}.candidate-section[hidden],.candidate-option[hidden]{display:none}.candidate-section legend{overflow-wrap:anywhere;max-width:100%}#candidate-filter{width:100%;max-width:520px;margin-top:9px}#selection-status{font-weight:600}.decision-context select{margin:0 12px}.trial-step{border-top:1px solid #d8dfd5;padding:10px 0}.trial-step h3{font-size:16px}.tablewrap{max-width:100%;overscroll-behavior-inline:contain;border-radius:6px;margin-bottom:24px}.tablewrap:focus{outline:2px solid #47705e;outline-offset:3px}table{table-layout:fixed;min-width:760px}caption{text-align:left;font-weight:650;padding:12px;background:#e9efe5}thead th{position:sticky;top:0}tbody th{background:#f0f3eb;width:150px}.tablewrap table:has(thead th:nth-child(5)){min-width:1100px}.toolbar{align-items:center}.preview-banner{max-width:1200px;margin:18px auto;padding:16px 24px}.source pre{overflow-wrap:anywhere}.cardfoot{gap:12px;flex-wrap:wrap}.browse-controls select{min-width:0;max-width:100%}.skip-link{position:absolute;left:12px;top:-100px;z-index:20;background:#fffefa;padding:12px}.skip-link:focus{top:12px}footer{line-height:1.7}
@media(max-width:700px){.two{display:block}.two aside{margin-top:24px}.decision-context select{display:block;width:100%;margin:10px 0}.comparison-groups{gap:16px}.candidate-option{align-items:flex-start}.candidate-kind{padding-top:13px}.preview-banner{margin:12px 16px}.panel{padding:18px}.sectionline{gap:15px;flex-wrap:wrap}}
@media(max-width:380px){header{padding:14px;gap:10px;flex-wrap:wrap}nav{width:100%;justify-content:space-between}main{padding:25px 14px}.problem-hero h1{font-size:35px}.candidate-option{flex-wrap:wrap}.candidate-kind{padding:0 0 5px 27px}.problem-query button{padding:12px}.toolbar>*{flex:1}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

.vendor-excerpt{white-space:pre-wrap;overflow-wrap:anywhere;font:12px/1.7 ui-monospace,monospace;max-height:260px;overflow:auto}

/* Untrusted source text must not turn a card into an endless page. */
.card>p{max-height:none;overflow:visible;flex:none}.card .match-note{max-height:none}.card .cardfoot{margin-top:auto}.match-evidence p{max-height:12em;overflow:auto}.tablewrap td{max-width:360px}.source pre{max-height:220px;overflow:auto}

.problem-query textarea{flex:1;min-width:0;min-height:88px;resize:vertical;border:0;background:transparent;font-size:17px;line-height:1.5;padding:12px}.problem-query{align-items:flex-start}.problem-query button{align-self:flex-end}@media(max-width:600px){.problem-query textarea{flex:1 0 100%;font-size:16px;min-height:112px}}

.card-digest{min-width:0}.card-digest p{overflow-wrap:anywhere}

.coming-next{max-width:1200px;margin:0 auto 32px;padding:24px 30px;background:#e9efe5;border:1px solid #d8dfd5;border-radius:8px}.coming-next h2{margin:10px 0}.coming-next ul{padding-left:22px;line-height:1.8}.coming-next p{max-width:760px}@media(min-width:900px){.coming-next ul{columns:2}}@media(max-width:600px){.coming-next{margin:0 18px 24px;padding:22px}}

.research-disclaimer{max-width:1200px;margin:1rem auto;padding:1rem clamp(1rem,4vw,2rem);font-size:.9rem;line-height:1.55;border-bottom:1px solid #d6ddd3}.research-disclaimer p{margin:.4rem 0;overflow-wrap:anywhere}
