/* toolkit.css — /partners/affiliate-toolkit only.
   No new colour tokens, no new fonts. Everything below composes tokens.css and
   the trust-page vocabulary (tp-*) already used by /partners/compliance. */

/* Sticky in-page nav */
.tk-nav{position:sticky;top:0;z-index:40;background:color-mix(in srgb,var(--bg-dark) 92%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--border-on-dark)}
.tk-nav__inner{display:flex;gap:var(--sp-5);align-items:center;overflow-x:auto;padding:var(--sp-3) 0;scrollbar-width:none}
.tk-nav__inner::-webkit-scrollbar{display:none}
.tk-nav a{flex:0 0 auto;font-family:var(--font-mono);font-size:var(--fs-12);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--fg-on-dark-3);text-decoration:none;padding:2px 0;border-bottom:1px solid transparent}
.tk-nav a:hover,.tk-nav a:focus-visible{color:var(--fg-on-dark-1);border-bottom-color:var(--accent)}

/* Partner ID bar — hydrates every link and snippet on the page */
.tk-idbar{display:flex;flex-wrap:wrap;gap:var(--sp-4);align-items:flex-end;margin-top:var(--sp-6);padding:var(--sp-5) var(--sp-6);border:1px solid var(--border-on-dark-strong);background:var(--bg-dark-elev)}
.tk-idbar__f{display:flex;flex-direction:column;gap:var(--sp-2);min-width:240px;flex:1 1 240px}
.tk-lbl{font-family:var(--font-mono);font-size:var(--fs-12);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--fg-on-dark-3)}
.tk-input,.tk-select{width:100%;padding:10px 12px;background:var(--bg-dark);border:1px solid var(--border-on-dark-strong);color:var(--fg-on-dark-1);font-family:var(--font-mono);font-size:var(--fs-13);line-height:1.5}
.tk-input:focus-visible,.tk-select:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
.tk-idbar__note{flex:1 1 100%;margin:0;font-size:var(--fs-13);line-height:var(--lh-relaxed);color:var(--fg-on-dark-3);font-weight:300}

/* Numbered setup steps */
.tk-steps{list-style:none;margin:var(--sp-6) 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1px;background:var(--border-on-dark);border:1px solid var(--border-on-dark)}
.tk-steps li{background:var(--bg-dark);padding:var(--sp-5) var(--sp-6)}
.tk-steps b{display:block;font-family:var(--font-mono);font-size:var(--fs-12);color:var(--fg-on-dark-3);margin-bottom:var(--sp-3);font-weight:400}
.tk-steps h3{margin:0 0 var(--sp-2);font-family:var(--font-heading);font-weight:400;font-size:var(--fs-16);color:var(--fg-on-dark-1)}
.tk-steps p{margin:0;font-size:var(--fs-13);line-height:var(--lh-relaxed);color:var(--fg-on-dark-2);font-weight:300}

/* Lane router */
.tk-lanes{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:var(--sp-4);margin-top:var(--sp-6)}
.tk-lane{text-align:left;padding:var(--sp-5) var(--sp-6);border:1px solid var(--border-on-dark);background:var(--bg-dark-elev);cursor:pointer;font:inherit;color:inherit;display:flex;flex-direction:column;gap:var(--sp-2)}
.tk-lane:hover{border-color:var(--border-on-dark-strong)}
.tk-lane[aria-pressed="true"]{border-color:var(--accent);background:var(--accent-soft)}
.tk-lane__t{font-family:var(--font-heading);font-weight:400;font-size:var(--fs-18);color:var(--fg-on-dark-1)}
.tk-lane__m{font-family:var(--font-mono);font-size:var(--fs-12);color:var(--fg-on-dark-3)}
.tk-lane__d{font-size:var(--fs-13);line-height:var(--lh-relaxed);color:var(--fg-on-dark-2);font-weight:300}

/* Filter row */
.tk-filters{display:flex;flex-wrap:wrap;gap:var(--sp-3);align-items:center;margin-top:var(--sp-6)}
.tk-chip{padding:6px 12px;border:1px solid var(--border-on-dark);background:none;color:var(--fg-on-dark-2);font-family:var(--font-mono);font-size:var(--fs-12);letter-spacing:var(--tracking-wide);cursor:pointer}
.tk-chip:hover{border-color:var(--border-on-dark-strong);color:var(--fg-on-dark-1)}
.tk-chip[aria-pressed="true"]{border-color:var(--accent);background:var(--accent-soft);color:var(--fg-on-dark-1)}
.tk-count{margin-left:auto;font-family:var(--font-mono);font-size:var(--fs-12);color:var(--fg-on-dark-3)}

/* Kit cards — collapsed by default (progressive disclosure, never 22 open) */
.tk-kits{margin-top:var(--sp-6);border:1px solid var(--border-on-dark)}
.tk-kit+.tk-kit{border-top:1px solid var(--border-on-dark)}
.tk-kit__bar{display:grid;grid-template-columns:auto 1fr auto auto;gap:var(--sp-5);align-items:center;width:100%;padding:var(--sp-5) var(--sp-6);background:none;border:0;color:inherit;font:inherit;text-align:left;cursor:pointer}
.tk-kit__bar:hover{background:var(--bg-dark-elev)}
.tk-kit__bar:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.tk-kit__n{font-family:var(--font-mono);font-size:var(--fs-12);color:var(--fg-on-dark-3)}
.tk-kit__t{font-family:var(--font-heading);font-weight:400;font-size:var(--fs-18);color:var(--fg-on-dark-1);letter-spacing:var(--tracking-tight)}
.tk-kit__t span{display:block;margin-top:3px;font-family:var(--font-mono);font-size:var(--fs-12);color:var(--fg-on-dark-3);letter-spacing:0}
.tk-kit__tags{display:flex;gap:var(--sp-2);flex-wrap:wrap;justify-content:flex-end}
.tk-tag{padding:2px 8px;border:1px solid var(--border-on-dark);font-family:var(--font-mono);font-size:var(--fs-12);color:var(--fg-on-dark-3);white-space:nowrap}
.tk-tag--warn{border-color:var(--status-warning);color:var(--status-warning)}
.tk-kit__chev{font-family:var(--font-mono);font-size:var(--fs-13);color:var(--fg-on-dark-3)}
@media(max-width:720px){.tk-kit__bar{grid-template-columns:auto 1fr auto}.tk-kit__tags{display:none}}

.tk-kit__body{padding:0 var(--sp-6) var(--sp-8);display:flex;flex-direction:column;gap:var(--sp-6)}
.tk-kit__lede{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--border-on-dark);border:1px solid var(--border-on-dark)}
.tk-kit__lede>div{background:var(--bg-dark-elev);padding:var(--sp-5)}
@media(max-width:720px){.tk-kit__lede{grid-template-columns:1fr}}
.tk-sub{font-family:var(--font-mono);font-size:var(--fs-12);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--fg-on-dark-3);margin:0 0 var(--sp-3)}
.tk-p{margin:0;font-size:var(--fs-14);line-height:var(--lh-relaxed);color:var(--fg-on-dark-2);font-weight:300}

/* Hooks with per-hook copy */
.tk-hooks{display:grid;gap:var(--sp-3)}
.tk-hook{border:1px solid var(--border-on-dark);background:var(--bg-dark-elev)}
.tk-hook__h{display:flex;justify-content:space-between;align-items:center;gap:var(--sp-4);padding:var(--sp-3) var(--sp-5);border-bottom:1px solid var(--border-on-dark)}
.tk-hook__q{margin:0;padding:var(--sp-5);font-family:var(--font-mono);font-size:var(--fs-13);line-height:var(--lh-relaxed);color:var(--fg-on-dark-1);white-space:pre-wrap}

/* Copy button, with a visible confirmation state */
.tk-copy{padding:5px 11px;border:1px solid var(--border-on-dark-strong);background:none;color:var(--fg-on-dark-2);font-family:var(--font-mono);font-size:var(--fs-12);letter-spacing:var(--tracking-wide);cursor:pointer;white-space:nowrap}
.tk-copy:hover{color:var(--fg-on-dark-1);border-color:var(--accent)}
.tk-copy:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
.tk-copy[data-done="1"]{border-color:var(--status-success);color:var(--status-success)}

/* Say this / never this — icon AND text label, never colour alone (WCAG 1.4.1) */
.tk-say{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--border-on-dark);border:1px solid var(--border-on-dark)}
@media(max-width:720px){.tk-say{grid-template-columns:1fr}}
.tk-say__col{background:var(--bg-dark);padding:var(--sp-5) var(--sp-6)}
.tk-say__h{display:flex;align-items:center;gap:var(--sp-3);font-family:var(--font-mono);font-size:var(--fs-12);letter-spacing:var(--tracking-wide);text-transform:uppercase;margin-bottom:var(--sp-4)}
.tk-say__col--ok .tk-say__h{color:var(--status-success)}
.tk-say__col--no .tk-say__h{color:var(--status-danger)}
.tk-say__ic{display:inline-grid;place-items:center;width:18px;height:18px;border:1px solid currentColor;border-radius:50%;font-size:11px;line-height:1;font-family:var(--font-mono)}
.tk-say ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--sp-3)}
.tk-say li{display:flex;gap:var(--sp-3);font-size:var(--fs-14);line-height:var(--lh-relaxed);color:var(--fg-on-dark-2);font-weight:300}
.tk-say li::before{content:attr(data-mark);flex:0 0 auto;font-family:var(--font-mono);font-size:var(--fs-13);color:var(--fg-on-dark-3)}

/* Adjacency warning — the live two-signal read */
.tk-adj{border:1px solid var(--status-warning);background:var(--bg-dark-elev)}
.tk-adj__h{padding:var(--sp-3) var(--sp-5);border-bottom:1px solid var(--border-on-dark);font-family:var(--font-mono);font-size:var(--fs-12);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--status-warning)}
.tk-adj__row{display:grid;grid-template-columns:1fr 1.4fr 1.2fr;gap:var(--sp-5);padding:var(--sp-4) var(--sp-5);align-items:start}
.tk-adj__row+.tk-adj__row{border-top:1px solid var(--border-on-dark)}
@media(max-width:820px){.tk-adj__row{grid-template-columns:1fr;gap:var(--sp-2)}}
.tk-adj__n{font-family:var(--font-heading);font-size:var(--fs-16);color:var(--fg-on-dark-1)}
.tk-sig{display:block;font-family:var(--font-mono);font-size:var(--fs-12);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--fg-on-dark-3);margin-bottom:4px}

/* Snippet / output blocks */
.tk-out{border:1px solid var(--border-on-dark);background:var(--bg-dark-elev)}
.tk-out__h{display:flex;justify-content:space-between;align-items:center;gap:var(--sp-4);padding:var(--sp-3) var(--sp-5);border-bottom:1px solid var(--border-on-dark);font-family:var(--font-mono);font-size:var(--fs-12);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--fg-on-dark-3)}
.tk-pre{margin:0;padding:var(--sp-5);font-family:var(--font-mono);font-size:var(--fs-12);line-height:1.75;color:var(--fg-on-dark-1);white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere;-webkit-user-select:all;user-select:all}

/* Widget library */
.tk-widgets{display:flex;flex-direction:column;gap:var(--sp-6);margin-top:var(--sp-6)}
.tk-widget{border:1px solid var(--border-on-dark)}
.tk-widget__h{padding:var(--sp-5) var(--sp-6);border-bottom:1px solid var(--border-on-dark);background:var(--bg-dark-elev)}
.tk-widget__t{margin:0;font-family:var(--font-heading);font-weight:400;font-size:var(--fs-20);color:var(--fg-on-dark-1)}
.tk-widget__b{padding:var(--sp-6);display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-5)}
@media(max-width:860px){.tk-widget__b{grid-template-columns:1fr}}

/* Link builder */
.tk-builder{display:grid;grid-template-columns:340px 1fr;gap:var(--sp-6);margin-top:var(--sp-6);align-items:start}
@media(max-width:900px){.tk-builder{grid-template-columns:1fr}}
.tk-builder__form{display:flex;flex-direction:column;gap:var(--sp-4);padding:var(--sp-6);border:1px solid var(--border-on-dark);background:var(--bg-dark-elev)}
.tk-builder__out{display:flex;flex-direction:column;gap:var(--sp-4)}
.tk-err{border:1px solid var(--status-danger);background:var(--bg-dark-elev)}
.tk-err__h{padding:var(--sp-3) var(--sp-5);border-bottom:1px solid var(--border-on-dark);font-family:var(--font-mono);font-size:var(--fs-12);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--status-danger)}
.tk-err ul{list-style:none;margin:0;padding:var(--sp-5);display:flex;flex-direction:column;gap:var(--sp-4)}
.tk-err li{font-size:var(--fs-14);line-height:var(--lh-relaxed);color:var(--fg-on-dark-2);font-weight:300}
.tk-err code{font-family:var(--font-mono);font-size:var(--fs-13);color:var(--status-danger)}

/* Catalyst calendar */
.tk-cal{margin-top:var(--sp-6);border:1px solid var(--border-on-dark)}
.tk-cal__head,.tk-cal__row{display:grid;grid-template-columns:1.4fr .8fr .8fr 1.8fr;gap:var(--sp-5);padding:var(--sp-4) var(--sp-6);align-items:start}
.tk-cal__head{border-bottom:1px solid var(--border-on-dark-strong);font-family:var(--font-mono);font-size:var(--fs-12);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--fg-on-dark-3)}
.tk-cal__row+.tk-cal__row{border-top:1px solid var(--border-on-dark)}
.tk-cal__e{font-family:var(--font-heading);font-size:var(--fs-16);color:var(--fg-on-dark-1)}
.tk-cal__e span{display:block;margin-top:4px;font-family:var(--font-mono);font-size:var(--fs-12);color:var(--fg-on-dark-3)}
@media(max-width:900px){.tk-cal__head{display:none}.tk-cal__row{grid-template-columns:1fr;gap:var(--sp-2)}}

/* Waitlist-mode payout block — deliberately distinct from everything else */
.tk-payout{margin-top:var(--sp-6);padding:var(--sp-7) var(--sp-8);border:1px solid var(--accent);background:var(--accent-soft)}
.tk-payout p{margin:0;max-width:74ch;font-size:var(--fs-18);line-height:var(--lh-relaxed);color:var(--fg-on-dark-1);font-weight:300}
.tk-payout p+p{margin-top:var(--sp-4);font-size:var(--fs-14);color:var(--fg-on-dark-2)}
.tk-n{font-family:var(--font-mono);color:var(--accent-hover)}

/* The four terminal claims */
.tk-term{margin-top:var(--sp-6);border:1px solid var(--status-danger)}
.tk-term__h{padding:var(--sp-4) var(--sp-6);border-bottom:1px solid var(--status-danger);font-family:var(--font-mono);font-size:var(--fs-12);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--status-danger)}
.tk-term__g{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1px;background:var(--border-on-dark)}
.tk-term__c{background:var(--bg-dark);padding:var(--sp-5) var(--sp-6)}
.tk-term__c h3{margin:0 0 var(--sp-2);font-family:var(--font-heading);font-weight:400;font-size:var(--fs-16);color:var(--fg-on-dark-1)}
.tk-term__c p{margin:0;font-size:var(--fs-13);line-height:var(--lh-relaxed);color:var(--fg-on-dark-2);font-weight:300}

/* Router table + changelog + FAQ */
.tk-router{margin-top:var(--sp-6);border:1px solid var(--border-on-dark)}
.tk-router__row{display:grid;grid-template-columns:1.6fr 1fr;gap:var(--sp-5);padding:var(--sp-4) var(--sp-6);align-items:baseline}
.tk-router__row+.tk-router__row{border-top:1px solid var(--border-on-dark)}
.tk-router__q{font-size:var(--fs-15,var(--fs-16));line-height:var(--lh-normal);color:var(--fg-on-dark-1);font-weight:300}
@media(max-width:720px){.tk-router__row{grid-template-columns:1fr;gap:var(--sp-2)}}

.tk-log{list-style:none;margin:var(--sp-6) 0 0;padding:0;display:flex;flex-direction:column;gap:var(--sp-5)}
.tk-log li{display:grid;grid-template-columns:140px 1fr;gap:var(--sp-5);padding-bottom:var(--sp-5);border-bottom:1px solid var(--border-on-dark)}
.tk-log time{font-family:var(--font-mono);font-size:var(--fs-12);color:var(--fg-on-dark-3)}
.tk-log ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--sp-2)}
.tk-log ul li{display:block;border:0;padding:0;font-size:var(--fs-14);line-height:var(--lh-relaxed);color:var(--fg-on-dark-2);font-weight:300}
@media(max-width:720px){.tk-log li{grid-template-columns:1fr;gap:var(--sp-2)}}

.tk-faq{margin-top:var(--sp-6);border-top:1px solid var(--border-on-dark)}
.tk-faq details{border-bottom:1px solid var(--border-on-dark)}
.tk-faq summary{padding:var(--sp-5) 0;cursor:pointer;font-family:var(--font-heading);font-weight:400;font-size:var(--fs-18);color:var(--fg-on-dark-1);list-style:none}
.tk-faq summary::-webkit-details-marker{display:none}
.tk-faq summary::after{content:"+";float:right;font-family:var(--font-mono);color:var(--fg-on-dark-3)}
.tk-faq details[open] summary::after{content:"–"}
.tk-faq p{margin:0 0 var(--sp-5);max-width:74ch;font-size:var(--fs-16);line-height:var(--lh-relaxed);color:var(--fg-on-dark-2);font-weight:300}

.tk-empty{margin-top:var(--sp-6);padding:var(--sp-7) var(--sp-8);border:1px dashed var(--border-on-dark-strong);text-align:center}
.tk-empty p{margin:0;font-size:var(--fs-14);line-height:var(--lh-relaxed);color:var(--fg-on-dark-3);font-weight:300}

.tk-strip{margin-top:var(--sp-6);font-family:var(--font-mono);font-size:var(--fs-12);letter-spacing:var(--tracking-wide);color:var(--fg-on-dark-3)}
.tk-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--sp-4);margin-top:var(--sp-6)}

@media print{.tk-nav{position:static}.tk-kit__body{display:block}}
