/* Tradecraft, scoped under .tcw.
 *
 * Ported from the standalone tradecraft/web/demo.html, which was fully runnable
 * and served to nobody while this page said 'parked / pre-release'. The demo's
 * bare body/header/footer selectors are scoped into the container here so they
 * cannot reach the rest of the site; :root and body both fold into .tcw, which
 * is where the custom properties now live. */
.tcw{
    --ground:#0C0C0F;--panel:#141419;--panel2:#1B1B22;--line:#2A2A33;
    --text:#E6E4DE;--muted:#84838F;--red:#CC0000;--amber:#E8A33D;--amber-dim:#6b4f1e;
    --mono:ui-monospace,"Cascadia Code","JetBrains Mono",Consolas,monospace;
    --sans:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  }.tcw *{box-sizing:border-box}.tcw{margin:0;background:var(--ground);color:var(--text);font-family:var(--sans);line-height:1.55;
    -webkit-font-smoothing:antialiased}.tcw .wrap{max-width:940px;margin:0 auto;padding:0 20px}.tcw h1, .tcw h2, .tcw h3{font-family:var(--mono);letter-spacing:.03em;margin:0}.tcw a{color:var(--amber)}.tcw header{border-bottom:1px solid var(--line);
    background:radial-gradient(900px 240px at 10% -40%,rgba(204,0,0,.14),transparent 60%),var(--ground)}.tcw header .wrap{padding:40px 20px 30px}.tcw .eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--red);
    display:flex;align-items:center;gap:9px}.tcw .eyebrow::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--red);box-shadow:0 0 9px 2px rgba(204,0,0,.7)}.tcw h1{font-size:clamp(30px,6vw,52px);margin:12px 0 8px;text-transform:uppercase}.tcw .sub{color:#cfcdc6;max-width:62ch;font-size:17px}.tcw .rule{color:var(--amber);font-family:var(--mono);font-size:13px;margin-top:14px;border-left:3px solid var(--amber-dim);padding-left:12px}.tcw main{padding:30px 0 60px}.tcw textarea{width:100%;min-height:190px;background:var(--panel);color:var(--text);border:1px solid var(--line);
    border-radius:4px;padding:14px;font-family:var(--mono);font-size:14px;line-height:1.5;resize:vertical}.tcw textarea:focus{outline:2px solid var(--red);outline-offset:1px}.tcw .controls{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:12px 0 8px}.tcw button{font-family:var(--mono);font-size:13px;letter-spacing:.06em;cursor:pointer;border:1px solid var(--line);
    background:var(--panel2);color:var(--text);padding:9px 15px;border-radius:3px}.tcw button:hover{border-color:var(--muted)}.tcw button.go{background:var(--red);border-color:var(--red);color:#fff;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.tcw button.go:hover{filter:brightness(1.12)}.tcw .samples{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:6px}.tcw .samples span{font-family:var(--mono);font-size:11px;color:var(--muted);letter-spacing:.14em;text-transform:uppercase;align-self:center}.tcw .samples button{font-size:12px;padding:6px 11px}.tcw .note{color:var(--muted);font-size:13px;margin-top:6px}.tcw #out{margin-top:26px}.tcw .summary{font-family:var(--mono);font-size:13px;color:var(--muted);margin-bottom:16px;
    border-bottom:1px solid var(--line);padding-bottom:12px}.tcw .summary b{color:var(--text)}.tcw .lens{background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--stripe);
    border-radius:4px;margin-bottom:12px;overflow:hidden}.tcw .lens.q0{--stripe:#3a3a44}.tcw .lens.q1{--stripe:var(--amber)}.tcw .lens.q2{--stripe:var(--red)}.tcw .lhead{display:flex;align-items:center;gap:14px;padding:14px 16px;cursor:pointer}.tcw .lhead:hover{background:rgba(255,255,255,.02)}.tcw .lname{flex:1}.tcw .lname h3{font-size:17px;color:var(--text)}.tcw .lname .d{color:var(--muted);font-size:12px;margin-top:2px;font-family:var(--sans)}.tcw .score{font-family:var(--mono);font-size:26px;font-weight:700;min-width:56px;text-align:right}.tcw .tier{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;
    padding:3px 8px;border-radius:2px;white-space:nowrap}.tcw .tier.t0{background:#26262e;color:var(--muted)}.tcw .tier.t1{background:var(--amber);color:#161104}.tcw .tier.t2{background:var(--red);color:#fff}.tcw .bars{display:flex;gap:12px;padding:0 16px 12px;font-family:var(--mono);font-size:11px;color:var(--muted)}.tcw .bars .b{flex:1}.tcw .bars .track{height:5px;background:#26262e;border-radius:3px;margin-top:3px;overflow:hidden}.tcw .bars .fill{height:100%;background:var(--stripe)}.tcw .receipts{border-top:1px solid var(--line);display:none}.tcw .lens.open .receipts{display:block}.tcw .receipt{padding:12px 16px;border-bottom:1px solid var(--line);font-size:13px}.tcw .receipt:last-child{border-bottom:none}.tcw .receipt .m{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--amber)}.tcw .snip{font-family:var(--mono);font-size:13px;background:#0a0a0d;border:1px solid var(--line);border-radius:3px;
    padding:8px 10px;margin:6px 0;color:#cfcdc6;white-space:pre-wrap;word-break:break-word}.tcw .snip mark{background:rgba(204,0,0,.32);color:#fff;padding:0 2px;border-radius:2px}.tcw .receipt .def{color:var(--muted);font-size:12px}.tcw .receipt .gold{color:var(--muted);font-size:12px;margin-top:4px;border-left:2px solid var(--amber-dim);padding-left:8px}.tcw .empty{color:var(--muted);font-family:var(--mono);font-size:14px;padding:20px 0}.tcw .verdictbar{background:linear-gradient(180deg,rgba(232,163,61,.08),transparent),var(--panel);
    border:1px solid var(--amber-dim);border-left:3px solid var(--amber);padding:14px 16px;margin-top:20px;
    font-size:13px;color:#cfcdc6}.tcw .verdictbar b{color:var(--amber);font-family:var(--mono)}.tcw footer{color:var(--muted);font-family:var(--mono);font-size:12px;border-top:1px solid var(--line);padding:22px 0 50px}
/* "Method, not ideology" -- the page's central claim, checked against the capture ledger
   instead of asserted. Outside .tcw on purpose: this is site chrome, not the demo. */
.tc-xt { margin: 2.6rem 0 0; }
.tc-xt-sub { font-size: .95rem; line-height: 1.6; color: #c8c8d0; max-width: 76ch; }
.tc-xt-lim {
  font-size: .84rem; line-height: 1.6; color: #8a8a96; max-width: 76ch;
  border-left: 3px solid #3a3a44; padding-left: .9rem; margin: .9rem 0 0;
}
.tc-xt-stat {
  display: flex; flex-wrap: wrap; gap: 1.6rem; margin: 1.2rem 0 .2rem;
  font-family: 'JetBrains Mono', monospace; font-size: .68rem; letter-spacing: .12em;
  text-transform: uppercase; color: #8a8a96;
}
.tc-xt-stat b { display: block; color: #e8e8f0; font-size: 1.5rem; letter-spacing: 0; }
.tc-xt-tbl { width: 100%; border-collapse: collapse; margin: 1.2rem 0 0; font-size: .8rem; }
.tc-xt-tbl th {
  text-align: left; padding: .45rem .55rem; border-bottom: 1px solid #3a3a44;
  font-family: 'JetBrains Mono', monospace; font-size: .62rem; letter-spacing: .12em;
  text-transform: uppercase; color: #8a8a96;
}
.tc-xt-tbl td { padding: .45rem .55rem; border-bottom: 1px solid #1f1f26; color: #b8b8c4; vertical-align: top; }
.tc-xt-tbl code { font-size: .76rem; color: #e8e8f0; }
.tc-xt-fam { font-family: 'JetBrains Mono', monospace; font-weight: 700; color: #CC0000; }
.tc-xt-who { font-family: 'JetBrains Mono', monospace; font-size: .68rem; color: #8a8a96; }
.tc-xt-who span { color: #4a4a55; }
.tc-xt-thin td, .tc-xt-thin code, .tc-xt-thin .tc-xt-fam { color: #6f6f7c; }
.tc-xt-foot { font-size: .8rem; line-height: 1.6; color: #8a8a96; margin: .9rem 0 0; max-width: 76ch; }
.tc-xt-det { margin: 1.2rem 0 0; }
.tc-xt-det summary { cursor: pointer; font-size: .84rem; color: #c8c8d0; }
.tc-xt-actors { list-style: none; margin: .9rem 0 0; padding: 0; display: grid; gap: .3rem; font-size: .8rem; color: #8a8a96; }
.tc-xt-actors code { color: #e8e8f0; margin-right: .5rem; }
.tc-xt-mh { font-size: .9rem; margin: 1.2rem 0 .4rem; }
.tc-xt-ex { list-style: none; margin: 0; padding: 0; display: grid; gap: .7rem; }
.tc-xt-ex li { font-size: .82rem; line-height: 1.55; color: #b8b8c4; border-left: 2px solid #2a2a32; padding-left: .8rem; }
.tc-xt-ex b { color: #e8e8f0; }
.tc-xt-tag {
  font-family: 'JetBrains Mono', monospace; font-size: .58rem; letter-spacing: .1em;
  text-transform: uppercase; color: #8a8a96; border: 1px solid #3a3a44;
  border-radius: 2px; padding: .05em .35em; margin-left: .35em;
}
.tc-xt-span { display: block; color: #8a8a96; margin: .25rem 0; }
