/* Scoped styles for the independent problem self-check page. */
:root { color-scheme: light; --ink:#10282a; --muted:#52696b; --paper:#f6f8f5; --line:#d6dfd9; --accent:#075d50; --wash:#e5f2e9; --amber:#765512; }
* { box-sizing:border-box; }
[hidden] { display:none !important; }
html { scroll-padding-top:1rem; }
body { margin:0; color:var(--ink); background:var(--paper); font:16px/1.75 -apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif; }
a { color:var(--accent); text-underline-offset:.2em; }
button,input,textarea { font:inherit; }
a,button,input,textarea,summary { -webkit-tap-highlight-color:transparent; }
:focus-visible { outline:3px solid #b25d13; outline-offset:4px; }
button { cursor:pointer; }
button:disabled { cursor:not-allowed; opacity:.55; }
button,.button { display:inline-flex; align-items:center; justify-content:center; gap:.5rem; min-height:44px; padding:.55rem .9rem; border:1px solid var(--line); border-radius:.65rem; color:var(--ink); background:white; text-decoration:none; font-weight:600; }
button:hover,.button:hover { background:var(--wash); border-color:var(--accent); }
.button-primary { color:white; background:var(--accent); border-color:var(--accent); }
.button-primary:hover { color:var(--ink); }
.skip { position:absolute; top:-100px; left:1rem; padding:.6rem 1rem; background:white; z-index:2; }
.skip:focus { top:.5rem; }
.shell { width:min(1120px, calc(100% - 2rem)); margin-inline:auto; }
.info-banner { margin:0; padding:.5rem 1rem; background:#fff2cf; color:#63470c; text-align:center; font-size:.85rem; }
.site-header { display:flex; gap:1rem; justify-content:space-between; align-items:center; padding:1.2rem 0; border-bottom:1px solid var(--line); }
.brand { display:inline-flex; gap:.6rem; align-items:center; font-size:1.25rem; font-weight:760; letter-spacing:-.03em; text-decoration:none; color:var(--ink); }
.brand svg { width:25px; height:25px; flex-shrink:0; }
.site-header nav { display:flex; gap:1rem; font-size:.9rem; flex-wrap:wrap; }
.hero { padding:3.5rem 0 2rem; max-width:820px; }
.eyebrow { color:var(--accent); font-size:.8rem; text-transform:uppercase; letter-spacing:.14em; font-weight:700; margin:0 0 .6rem; }
h1 { font-size:clamp(2rem,5vw,3.6rem); line-height:1.2; letter-spacing:-.045em; margin:.3rem 0 1rem; }
.hero p:last-child { max-width:700px; font-size:1.05rem; color:var(--muted); }
.principles { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; margin:0 0 2rem; }
.principle { padding:1rem 1.2rem; border-left:2px solid var(--accent); background:white; }
.principle strong { display:block; }
.principle p { margin:.2rem 0 0; font-size:.9rem; color:var(--muted); }
.filters { padding:1.5rem; background:var(--ink); color:white; border-radius:1rem; }
.search-label { font-weight:700; display:block; }
.search-hint { color:#c8d9d9; font-size:.85rem; margin:.25rem 0 .7rem; }
.search-row { display:flex; gap:.65rem; }
.search-row input { min-width:0; width:100%; background:white; color:var(--ink); border:2px solid transparent; border-radius:.65rem; padding:.65rem .85rem; }
.filters fieldset { border:0; padding:0; margin:1rem 0 0; }
.filters legend { font-size:.85rem; margin-bottom:.5rem; }
.product-filters { display:flex; flex-wrap:wrap; gap:.45rem; }
.product-chip { display:flex; align-items:center; gap:.45rem; background:#203e40; padding:.4rem .7rem; border:1px solid #75908a; border-radius:.65rem; cursor:pointer; min-height:44px; }
.product-chip:has(input:checked) { background:#e5f2e9; color:var(--ink); border-color:white; }
.product-chip input { accent-color:var(--accent); width:17px; height:17px; }
.results-header { display:flex; justify-content:space-between; gap:1rem; align-items:center; padding:1.4rem 0 .75rem; }
.results-header p { margin:0; }
.small { font-size:.85rem; color:var(--muted); }
.empty { padding:2rem; border:1px dashed var(--line); background:white; border-radius:1rem; }
.topic-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; align-items:start; }
.topic { min-width:0; background:white; border:1px solid var(--line); border-radius:1rem; padding:1.5rem; scroll-margin-top:1rem; overflow-wrap:anywhere; }
.topic-topline { display:flex; justify-content:space-between; align-items:center; gap:.7rem; margin-bottom:.7rem; font-size:.75rem; }
.product-label { background:var(--wash); color:var(--accent); border-radius:.3rem; padding:.15rem .45rem; font-weight:700; }
.topic h2 { font-size:1.2rem; line-height:1.5; letter-spacing:-.02em; margin:0 0 .6rem; }
.topic .summary { color:var(--muted); font-size:.95rem; margin:.5rem 0 1rem; }
.error { font: .85rem/1.7 ui-monospace,SFMono-Regular,Consolas,monospace; background:#f1f4f2; padding:.5rem .7rem; border-radius:.4rem; white-space:normal; display:block; }
.topic details { border-top:1px solid var(--line); padding-top:.6rem; }
.topic summary { cursor:pointer; font-weight:650; min-height:44px; display:list-item; list-style-position:inside; color:var(--accent); }
.topic h3 { font-size:1rem; margin:1rem 0 .3rem; }
.topic ol,.topic ul { padding-left:1.3rem; margin:.4rem 0 1rem; }
.topic li { margin:.4rem 0; }
.success { background:var(--wash); border-left:3px solid var(--accent); padding:.7rem .85rem; margin:1rem 0; }
.success p { margin:.2rem 0 0; }
.avoid { color:#7c421c; }
.card-actions { display:flex; flex-wrap:wrap; gap:.55rem; margin-top:1rem; }
.card-actions button,.card-actions a { font-size:.85rem; }
.evidence { margin-top:1rem; border-top:1px solid var(--line); padding-top:.8rem; font-size:.8rem; color:var(--muted); }
.evidence p { margin:.3rem 0; }
.evidence a { overflow-wrap:anywhere; }
.verification-status { color:var(--amber); }
.support { margin:2rem 0; border:1px solid var(--line); border-radius:1rem; padding:1.5rem; background:#edf2ec; }
.support h2 { margin:0; font-size:1.5rem; }
.support-grid { display:grid; grid-template-columns:1fr 1fr; gap:1.5rem; margin-top:1rem; }
.support fieldset { border:0; padding:0; margin:0; min-width:0; }
.support legend { font-weight:700; margin-bottom:.5rem; }
.check-row { display:flex; align-items:flex-start; gap:.65rem; padding:.75rem 0; cursor:pointer; border-bottom:1px solid var(--line); font-size:.9rem; }
.check-row input { flex-shrink:0; margin:.35rem 0 0; accent-color:var(--accent); width:18px; height:18px; }
.template-label { display:block; font-weight:700; }
textarea { display:block; width:100%; min-height:280px; resize:vertical; padding:.8rem; border:1px solid #889c8c; border-radius:.5rem; font-size:.9rem; line-height:1.7; background:white; color:var(--ink); overflow-wrap:anywhere; }
.privacy { background:white; border:1px solid var(--line); padding:1rem; border-radius:.5rem; font-size:.9rem; }
#action-status { min-height:1.8rem; font-weight:600; color:var(--accent); overflow-wrap:anywhere; }
#manual-copy { border:2px solid var(--accent); padding:1rem; border-radius:.7rem; margin:1rem 0; }
#manual-copy textarea { min-height:120px; }
footer { padding:2rem 0 3rem; border-top:1px solid var(--line); font-size:.85rem; color:var(--muted); }
footer p { margin:.5rem 0; }
@media(max-width:700px) { .site-header { align-items:flex-start; flex-direction:column; gap:.5rem; } .hero { padding:2rem 0 1rem; } .principles { grid-template-columns:1fr; gap:.5rem; } .topic-grid,.support-grid { grid-template-columns:1fr; } .topic,.filters,.support { padding:1rem; } .search-row { flex-wrap:wrap; } .results-header { align-items:flex-start; flex-direction:column; gap:.3rem; } .card-actions > * { flex:1 1 auto; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
@media print { [data-enhanced],.filters,.card-actions button,.info-banner,.skip { display:none !important; } .topic-grid { display:block; } .topic { break-inside:avoid; margin-bottom:1rem; } .shell { width:100%; } }

/* Explicit, static diagnostic paths stay readable with JavaScript disabled. */
.triage-routes { margin:1rem 0; }
.triage-route { background:#f5f8f4; border:1px solid var(--line); border-left:3px solid var(--accent); border-radius:.5rem; margin:.8rem 0; padding:.9rem; }
.triage-route h4 { margin:0; font-size:1rem; }
.route-condition { margin:.3rem 0 .6rem; color:var(--muted); font-size:.9rem; }
.related-topics { margin:1rem 0; border-top:1px solid var(--line); padding-top:.4rem; }
.related-topics li { padding:.3rem 0; }
.related-topics a { display:block; min-height:44px; padding:.2rem 0; }
