/* Documentation shares the Signal type palette; scoped to docs and rules. */
.qo-docs { color:#35343d; min-width:0; overflow-wrap:anywhere; }
.qo-doc-heading { margin:0 0 28px; }
.qo-doc-heading h1 { font-size:clamp(26px,3vw,36px); line-height:1.4; font-weight:600; letter-spacing:-.04em; margin:7px 0 12px; }
.qo-doc-heading > p:last-child { color:#898691; font-size:13px; line-height:1.9; margin:0; max-width:760px; }
.qo-doc-nav { display:flex; gap:8px; flex-wrap:wrap; margin:0 0 27px; padding-bottom:19px; border-bottom:1px solid #e9e7ed; }
.qo-doc-nav a { color:#85808c; text-decoration:none; border:1px solid transparent; border-radius:6px; padding:8px 11px; font-size:11px; }
.qo-doc-nav a:hover { background:#faf8f3; color:#9f7739; }
.qo-doc-nav a[aria-current="page"] { color:#8e692b; background:#fbf7ee; border-color:#eee3ce; }
.qo-docs :is(a,button,summary):focus-visible { outline:2px solid #b88028; outline-offset:4px; }
.qo-doc-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; margin:25px 0; }
.qo-doc-card { min-width:0; padding:28px; border:1px solid #e3e1e8; border-radius:10px; background:#fff; }
.qo-doc-card h2 { font-size:22px; font-weight:570; margin:12px 0; letter-spacing:-.03em; }
.qo-doc-card p { font-size:12px; color:#85808d; line-height:1.9; }
.qo-doc-links { list-style:none; padding:15px 0 0; margin:20px 0 0; border-top:1px solid #efedf2; display:grid; gap:12px; }
.qo-doc-links a { display:flex; justify-content:space-between; gap:15px; color:#77707d; font-size:12px; text-decoration:none; }
.qo-doc-links a:hover { color:#9f7739; }
.qo-doc-label { color:#ac8344; font-size:9px; letter-spacing:.1em; margin:0; }
.qo-doc-note { background:#fcfaf6; border:1px solid #eae5db; border-radius:7px; padding:16px 20px; color:#8b8377; font-size:12px; line-height:1.9; margin:22px 0; }
.qo-doc-note a { color:#977038; }
.qo-docs .code { white-space:pre-wrap; word-break:break-word; overflow-wrap:anywhere; }
.qo-docs table { min-width:0; max-width:100%; }
.qo-rules { padding:45px 0 35px; }
.qo-rules .qo-doc-heading { margin-bottom:24px; }
.qo-rules-facts { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:22px; border-block:1px solid #e9e7ed; padding:23px 0; margin:25px 0 32px; }
.qo-rules-facts dt { color:#97919e; font-size:10px; margin-bottom:9px; }
.qo-rules-facts dd { color:#55505c; font-size:15px; margin:0; font-variant-numeric:tabular-nums; }
.qo-rules-layout { display:grid; grid-template-columns:165px minmax(0,1fr); gap:35px; align-items:start; }
.qo-rules-toc { display:grid; gap:7px; position:sticky; top:24px; }
.qo-rules-toc a { color:#918b97; font-size:11px; text-decoration:none; padding:9px 0; }
.qo-rules-section { padding:0 0 30px; margin-bottom:30px; border-bottom:1px solid #eae8ee; scroll-margin-top:22px; }
.qo-rules-section h2 { font-size:19px; color:#4f4956; font-weight:560; margin:0 0 17px; letter-spacing:-.025em; }
.qo-rules-section h3 { font-size:13px; color:#6e6675; font-weight:550; margin:21px 0 10px; }
.qo-rules-section :is(p,li) { color:#87808e; font-size:12px; line-height:1.95; }
.qo-rules-section :is(ul,ol) { padding-left:19px; }
.qo-rules-section li { margin-bottom:8px; }
.qo-rule-table { table-layout:fixed; width:100%; min-width:0; border-collapse:collapse; margin:15px 0; }
.qo-rule-table :is(th,td) { font-size:11px; text-align:left; line-height:1.85; color:#837b8b; border-bottom:1px solid #ece9f0; padding:12px 10px; white-space:normal; overflow-wrap:anywhere; }
.qo-rule-table th { color:#9a929f; font-size:10px; font-weight:500; }
.qo-rule-table :is(th,td):first-child { width:29%; padding-left:0; color:#716779; }
.qo-rules details summary { cursor:pointer; font-size:13px; color:#766d7d; }
.qo-rules details pre { max-height:650px; }
.qo-rules details .meta { overflow-wrap:anywhere; }
@media (max-width:700px) {
  .qo-doc-grid { grid-template-columns:1fr; gap:16px; }
  .qo-doc-card { padding:23px; }
  .qo-doc-nav { gap:3px; }
  .qo-doc-nav a { padding:8px; font-size:10px; }
  .qo-rules { padding-top:30px; }
  .qo-rules-facts { grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px 15px; }
  .qo-rules-layout { display:block; }
  .qo-rules-toc { position:static; display:flex; flex-wrap:wrap; gap:4px 20px; margin-bottom:23px; padding-bottom:18px; border-bottom:1px solid #ece9f0; }
  .qo-rule-table :is(th,td) { font-size:10px; padding:11px 7px; }
}
