/* Component-scoped; matches the portfolio's quiet paper/teal palette. */
.qt{--qt-paper:#f1f5f1;--qt-ink:#193439;--qt-muted:#526365;--qt-line:#d1ded6;--qt-green:#247354;--qt-blue:#246bb3;--qt-orange:#ad6436;color:var(--qt-ink);background:var(--qt-paper);border:1px solid var(--qt-line);border-radius:10px;padding:18px;margin:28px 0 32px;font:13px/1.5 "Helvetica Neue",Helvetica,Arial,sans-serif;min-width:0}
.qt *{box-sizing:border-box}.qt .qt-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.qt .qt-heading strong{font-size:14px;font-weight:500}.qt button{border:1px solid #bacfc3;background:#fafbf8;color:var(--qt-ink);border-radius:5px;padding:6px 10px;font:inherit;cursor:pointer;min-height:34px}.qt button:hover{border-color:var(--qt-green);background:#e5eee7}.qt button:focus-visible,.qt input:focus-visible{outline:2px solid var(--qt-blue);outline-offset:3px}
.qt .qt-stats{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:8px}.qt .qt-stat{background:#fafbf8;border:1px solid var(--qt-line);border-radius:5px;padding:8px 10px;min-width:0}.qt .qt-stat span{display:block;color:var(--qt-muted);font-size:11px}.qt .qt-stat strong{display:block;font-size:15px;font-weight:500;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.qt .qt-stat:first-child strong{color:var(--qt-green)}.qt canvas{display:block;width:100%;height:205px;margin:12px 0 3px}.qt .qt-note{font-size:11px;color:var(--qt-muted);margin:0 0 14px}
.qt .qt-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.qt .qt-controls label{display:flex;justify-content:space-between;flex-wrap:wrap;gap:2px 6px;font-size:12px}.qt output{font-variant-numeric:tabular-nums;color:var(--qt-muted);white-space:nowrap}.qt input[type=range]{display:block;width:100%;height:26px;margin:4px 0 0;accent-color:var(--qt-green);cursor:pointer}.qt .qt-probability{display:flex;align-items:center;gap:10px;margin-top:14px;font-size:12px}.qt .qt-bar{height:5px;flex:1;background:#d6e2d9;border-radius:5px;overflow:hidden}.qt .qt-bar i{display:block;height:100%;background:var(--qt-green)}.qt .qt-explanation{font-size:12px;color:var(--qt-muted);margin:7px 0 0;line-height:1.5;min-height:36px}
.sr-article pre{max-width:100%;overflow:auto;background:#edf2ee;padding:16px 18px;border:1px solid #dce5df;border-radius:6px;font:12px/1.7 ui-monospace,SFMono-Regular,Menlo,monospace;color:#193439}.sr-article code{overflow-wrap:anywhere}.sr-article .sr-actions{display:flex;gap:12px;flex-wrap:wrap;margin:18px 0 28px}.sr-article .sr-actions a{border-bottom:1px solid #9cbfb3}.sr-article .sr-note{border-left:2px solid #b75e3f;padding-left:16px;font-size:14px}.sr-article ul{padding-left:20px}
@media(max-width:600px){.qt{padding:12px;margin:22px 0 28px}.qt .qt-heading{gap:6px}.qt .qt-heading strong{font-size:13px}.qt .qt-heading button{font-size:11px;padding:5px 7px}.qt .qt-stats{gap:5px}.qt .qt-stat{padding:6px}.qt .qt-stat span{font-size:10px}.qt .qt-stat strong{font-size:12px}.qt canvas{height:180px}.qt .qt-controls{grid-template-columns:1fr;gap:6px}.qt .qt-controls label{font-size:12px}.qt input[type=range]{margin-top:0}.qt .qt-explanation{min-height:54px}}
/* Keep the story ahead of metadata on narrow screens. Navigation remains
   visible, while the same source/licence details also occur in the article. */
@media(max-width:900px){
[data-route="projects/semanticrouter"] .project-details{max-width:none;padding-top:12px;margin-bottom:16px}
[data-route="projects/semanticrouter"] .project-details dl{display:none}
[data-route="projects/semanticrouter"] .project-toc{display:flex;flex-wrap:wrap;gap:4px 10px;padding-bottom:0;margin-bottom:0}
[data-route="projects/semanticrouter"] .project-toc h2{width:100%;font-size:13px;margin-bottom:5px}
[data-route="projects/semanticrouter"] .project-toc a{font-size:12px;margin-bottom:0;padding:4px 7px}
}
