/* Stylesheet for the /research and /answers reading column.

   Extracted from the design hand-off (design/research-case-doge.standalone.html)
   by scripts/unbundle.py, then narrowed to what the reading column actually needs.

   These pages are no longer standalone: they load src/site.css first and wear the
   landing's own nav and footer, rendered from the same partials and the same
   dictionary (templates/header.html, templates/footer.html). So everything the
   base stylesheet already provides — the reset, the body rule, link colour, the
   palette — is gone from here, and every rule below is scoped to .wrap. The
   chrome spans the landing's container; the document keeps its 680px.

   The scope is not decoration. Bare selectors here would reach into the nav and
   the footer, and .wrap raises specificity above site.css's single-class rules,
   so the reading column wins its own box without !important anywhere.

   Palette: site.css tokens throughout. The hand-off's warm greys (--ink, --mute,
   --rule) were within a few values of --t-1/--t-3/--line and one page cannot
   honestly run two greys; --t-3 also clears WCAG AA on this background, which
   the hand-off's --mute did not.

   Green = interface accent only. Verdict colours (.v-*) appear only inside a
   labelled verdict cell. */

/* ── The reading column ─────────────────────────── */
/* z-index matches .col in site.css: it puts the text above the body scanlines. */
.wrap{position:relative;z-index:1;max-width:680px;margin:0 auto;padding:28px 20px 56px;
  font-size:15px;line-height:1.65;text-wrap:pretty}
@media (min-width:480px){.wrap{font-size:16px}}
.wrap p+p{margin-top:12px}

/* path line — inside the column, above the title */
.wrap .path{display:flex;justify-content:space-between;gap:16px;color:var(--t-3);font-size:13px;margin-bottom:40px;overflow-wrap:anywhere}
.wrap .path .h{color:var(--accent)}
.wrap .path a{color:var(--t-3)}
.wrap .path a:hover{color:var(--t-1)}
/* the rss link is two syllables and `overflow-wrap:anywhere` above will happily
   break it into "rs/s" once the path beside it runs out of room at 360px. */
.wrap .path a[href$="feed.xml"]{flex-shrink:0;white-space:nowrap}

/* headings */
.wrap h1{margin:0;font-size:clamp(24px,5.5vw,32px);line-height:1.2;font-weight:700;letter-spacing:-.01em}
.wrap .meta{margin-top:12px;color:var(--t-3);font-size:13px}
.wrap h2{margin:44px 0 14px;font-size:16px;font-weight:700;line-height:1.3}
.wrap h2::before{content:'## ';color:var(--accent)}
.wrap h2.amber{color:var(--risky)}
.wrap h2.amber::before{color:var(--risky)}

/* direct answer */
.wrap .answer{margin-top:28px;padding:16px 18px;border-left:2px solid var(--accent);background:var(--bg-2)}

/* lists */
.wrap ol,.wrap ul{margin:0;padding:0}
/* .steplist, not .steps: site.css owns .steps for the legal pages. See md.js. */
.wrap .steplist{list-style:none;counter-reset:s;border-bottom:1px solid var(--line)}
.wrap .steplist li{counter-increment:s;display:grid;grid-template-columns:3ch minmax(0,1fr);gap:12px;padding:11px 0;border-top:1px solid var(--line)}
.wrap .steplist li::before{content:counter(s,decimal-leading-zero);color:var(--t-3);font-size:13px;padding-top:2px}
.wrap .plain{padding-left:1.4em}
.wrap .plain li{margin:6px 0}
.wrap .plain li::marker{color:var(--t-3)}
.wrap .not{list-style:none}
.wrap .not li{display:grid;grid-template-columns:1.6ch minmax(0,1fr);gap:8px;margin:8px 0}
.wrap .not li::before{content:'⊘';color:var(--risky)}

/* faq */
.wrap .faq{border-bottom:1px solid var(--line)}
.wrap details{border-top:1px solid var(--line)}
.wrap summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:1.5ch minmax(0,1fr);gap:8px;align-items:start;padding:12px 0;min-height:44px;font-weight:500}
.wrap summary::-webkit-details-marker{display:none}
.wrap summary::before{content:'›';color:var(--accent);line-height:inherit}
.wrap details[open] summary::before{content:'›';display:inline-block;transform:rotate(90deg)}
.wrap details p{padding:0 0 14px calc(1.5ch + 8px)}

/* cta — at most one per page; research posts have none.
   .cta-block, not .cta: site.css owns .cta for the nav button. See md.js. */
.wrap .cta-block{margin-top:56px;padding-top:28px;border-top:1px solid var(--line)}
.wrap .btn{display:inline-block;background:var(--accent);color:var(--bg-0);font:inherit;font-weight:700;padding:11px 18px;border:0;border-radius:2px;min-height:44px;cursor:pointer}
.wrap .btn:hover{background:var(--accent-dim);text-decoration:none}
.wrap .btn:active{background:var(--accent-dim)}
.wrap .plat{margin-top:12px;color:var(--t-3);font-size:13px}
.wrap .related{margin-top:40px;color:var(--t-3);font-size:13px;line-height:1.9}
.wrap .related a{color:var(--t-3)}
.wrap .related a:hover{color:var(--t-1)}

/* research: parameter strip — the only place verdict colours appear */
.wrap .strip{margin:20px 0 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.wrap .strip div{margin:0;padding:10px 12px;background:var(--bg-0);min-width:0}
/* contract first, and on its own row: a Solana address is 44 characters and
   wraps to three lines in a 150px auto-fit cell. */
.wrap .strip div:first-child{grid-column:1/-1}
.wrap .strip dt{color:var(--t-3);font-size:11px;letter-spacing:.08em}
.wrap .strip dd{margin:2px 0 0;font-size:14px;overflow-wrap:anywhere}
.wrap .v-safe{color:var(--safe)}.wrap .v-risky{color:var(--risky)}.wrap .v-danger{color:var(--danger)}

/* research: html bars */
.wrap .bars{margin:14px 0 16px;display:grid;gap:12px}
.wrap .bars+p,.wrap table+p,.wrap .strip+p{margin-top:14px}
.wrap .bar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;font-size:13px;align-items:baseline}
.wrap .bar .lbl{color:var(--t-3)}
.wrap .bar .val{font-variant-numeric:tabular-nums}
.wrap .bar .trk{grid-column:1/-1;height:6px;background:var(--line)}
.wrap .bar .fill{height:100%;background:var(--t-1)}

/* research: tables */
.wrap table{width:100%;border-collapse:collapse;margin-top:14px;font-size:14px}
.wrap th,.wrap td{text-align:left;padding:8px 10px 8px 0;border-bottom:1px solid var(--line);vertical-align:top}
.wrap th{color:var(--t-3);font-weight:500;font-size:12px}

/* placeholders — visible until the scan record fills them */
.wrap .ph{border:1px dashed var(--t-3);border-radius:2px;padding:0 5px;font-size:.92em;color:var(--t-1);overflow-wrap:anywhere}

/* prev / next */
.wrap .pn{margin-top:56px;padding-top:20px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:16px;color:var(--t-3);font-size:13px}
.wrap .pn a{color:var(--t-3)}.wrap .pn a:hover{color:var(--t-1)}

/* index lists */
.wrap .list{list-style:none;border-top:1px solid var(--line)}
.wrap .list li{display:flex;flex-wrap:wrap;justify-content:space-between;gap:2px 16px;padding:14px 0;border-bottom:1px solid var(--line)}
.wrap .list a{color:var(--t-1)}
.wrap .list .m{color:var(--t-3);font-size:13px}
