/* Resubmitly — affiliate program page (/affiliates), affiliate terms (/affiliate-terms) and partner dashboard (/partner).
   Everything here is scoped with aff-/p-/legal- prefixes so it never collides with site.css. */

/* ---------- /affiliates: hero ---------- */
.aff-hero{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:center;gap:40px;padding-block:64px 8px}
.aff-hero h1{font-size:clamp(36px,5.4vw,62px);letter-spacing:-.045em;line-height:1.02;max-width:14ch}
.aff-hero h1 .earn{color:var(--green)}
.aff-copy{display:grid;gap:22px;justify-items:start}
.aff-copy .lead{max-width:34rem}
.aff-art{width:100%;max-width:420px;justify-self:end;display:grid;gap:12px}
.pcard{position:relative;overflow:hidden;background:var(--term);color:#fff;border-radius:22px;padding:22px;display:grid;gap:16px;box-shadow:0 0 0 1px var(--term),0 26px 50px -20px rgba(10,11,13,.5)}
.pcard::after{content:"";position:absolute;inset:auto -40px -60px auto;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(74,222,128,.22),transparent 70%);pointer-events:none}
.pcard .kicker{color:#7d8189}
.pcard .ptop{display:flex;justify-content:space-between;align-items:center;gap:10px}
.pcard .pcode-demo{font:700 clamp(30px,4vw,40px)/1 var(--mono);letter-spacing:.05em}
.pcard .plink{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.07);font:500 13px var(--mono);color:#c9cbd0}
.pcard .plink .u{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pcard .plink [data-icon]{display:inline-flex;flex:none}
.pcard .plink svg{width:15px;height:15px;flex:none;color:#7d8189}
.pcard .pfacts{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.pcard .pfacts div{padding:12px 14px;border-radius:12px;background:rgba(255,255,255,.06);display:grid;gap:2px}
.pcard .pfacts b{font-size:24px;letter-spacing:-.03em;line-height:1.1}
.pcard .pfacts .cap{font-size:12.5px;color:#9ca0a8}
.pex{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:16px;background:#fff;box-shadow:0 0 0 1px var(--line),var(--shadow);font-size:14px;color:var(--muted)}
.pex .ic{width:36px;height:36px;border-radius:10px;background:var(--green-soft);color:var(--green);display:grid;place-items:center;flex:none}
.pex .ic svg{width:18px;height:18px}
.pex b{color:var(--ink);font-size:16px}
@media (max-width:900px){
  .aff-hero{grid-template-columns:minmax(0,1fr);gap:28px;padding-block:44px 0}
  .aff-hero h1{max-width:none}
  .aff-art{justify-self:start;max-width:460px}
}

/* ---------- /affiliates: sections ---------- */
.aff-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.aff-step{position:relative;display:grid;gap:10px;align-content:start;padding:24px;border-radius:var(--r-card);background:#fff;box-shadow:0 0 0 1px var(--line),var(--shadow)}
.aff-step .n{width:34px;height:34px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;font:600 13px var(--mono)}
.aff-step h3{font-size:19px}
.aff-step .big{font-size:40px;font-weight:700;letter-spacing:-.045em;line-height:1;font-variant-numeric:tabular-nums}
.aff-step p{color:var(--muted);font-size:14.5px;line-height:1.55}
.aff-glance{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
.aff-glance .g{display:grid;gap:3px;align-content:start;padding:16px 18px;border-radius:var(--r-inner);background:#fff;box-shadow:inset 0 0 0 1px var(--line)}
.aff-glance .l{font-size:12.5px;font-weight:600;color:var(--muted)}
.aff-glance .v{font-size:22px;font-weight:700;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.aff-glance .s{font-size:12.5px;color:var(--faint)}
@media (max-width:900px){.aff-glance{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:760px){.aff-steps{grid-template-columns:minmax(0,1fr)}}
@media (max-width:600px){.aff-glance{grid-template-columns:repeat(2,minmax(0,1fr))}}

.aff-example{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:32px;padding:30px;align-items:center}
.aff-example .lhs{display:grid;gap:16px;justify-items:start}
.aff-example .lhs .rng,.aff-example .lhs h3,.aff-example .lhs p{justify-self:stretch;width:100%}
.aff-example .lhs h3{font-size:24px}
.aff-example .lhs p{color:var(--muted);font-size:14.5px;line-height:1.55}
.aff-example .rng{display:grid;gap:8px}
.aff-example .rng .lab{display:flex;justify-content:space-between;font-size:13px;color:var(--muted);font-weight:600}
.aff-example input[type=range]{width:100%;height:auto;padding:0;border:0;background:none;accent-color:var(--ink);cursor:pointer}
.aff-example input[type=range]:focus{box-shadow:none}
.ex-math{display:grid;gap:8px}
.ex-math .r{display:grid;grid-template-columns:1fr auto;gap:2px 14px;padding:12px 16px;border-radius:12px;background:var(--soft);align-items:center}
.ex-math .r .l{font-size:14px;font-weight:600}
.ex-math .r .s{font-size:12.5px;color:var(--muted);grid-column:1}
.ex-math .r b{grid-column:2;grid-row:1/3;font-size:22px;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.ex-math .r.total{background:var(--ink);color:#fff}
.ex-math .r.total .s{color:#9ca0a8}
.ex-math .r.total b{color:var(--t-green)}
@media (max-width:900px){.aff-example{grid-template-columns:minmax(0,1fr);gap:22px;padding:24px 20px}}

.aff-who{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.aff-who .card{padding:18px;gap:8px}
.aff-who .card h3{font-size:16px}
.aff-who .card p{font-size:13.5px;color:var(--muted);line-height:1.5}
@media (max-width:1000px){.aff-who{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:760px){.aff-who{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:480px){.aff-who{grid-template-columns:minmax(0,1fr)}}

.aff-rules{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.aff-rule{display:grid;grid-template-columns:40px 1fr;gap:14px;padding:18px;border-radius:var(--r-inner);background:#fff;box-shadow:inset 0 0 0 1px var(--line)}
.aff-rule .ic{width:40px;height:40px;border-radius:12px;background:var(--red-soft);color:var(--red);display:grid;place-items:center}
.aff-rule .ic.ok{background:var(--green-soft);color:var(--green)}
.aff-rule .ic svg{width:19px;height:19px}
.aff-rule b{display:block;font-size:15px;margin-bottom:3px}
.aff-rule p{font-size:13.5px;color:var(--muted);line-height:1.5}
.aff-rule p q{font-weight:600;color:var(--ink)}
@media (max-width:760px){.aff-rules{grid-template-columns:minmax(0,1fr)}}

/* ---------- /affiliates: apply ---------- */
.aff-apply{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:28px;align-items:start}
.aff-apply .side{display:grid;gap:18px;position:sticky;top:calc(var(--nav-h) + 24px)}
.aff-apply .side h2{font-size:30px}
.aff-apply .side .lead{font-size:16px}
.aff-apply .panel{padding:28px}
.aff-next{display:grid;gap:12px}
.aff-next .item{display:grid;grid-template-columns:30px 1fr;gap:12px;align-items:start;font-size:14.5px;color:#2b2f36;line-height:1.5}
.aff-next .item i{width:30px;height:30px;border-radius:50%;background:var(--soft);display:grid;place-items:center;font:600 12px var(--mono);font-style:normal}
.aff-form{display:grid;gap:16px}
.aff-form .two{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.aff-form .fsubmit{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.aff-form .fsubmit .small{flex:1;min-width:200px}
.aff-state{display:grid;gap:14px;justify-items:center;text-align:center;padding:24px 8px}
.aff-state .ic{width:56px;height:56px;border-radius:18px;background:var(--green-soft);color:var(--green);display:grid;place-items:center}
.aff-state .ic.rev{background:var(--amber-soft);color:var(--amber)}
.aff-state .ic.n{background:var(--soft);color:var(--ink)}
.aff-state .ic svg{width:26px;height:26px}
.aff-state h3{font-size:22px}
.aff-state p{color:var(--muted);max-width:36rem;line-height:1.55}
.aff-state .skl{width:100%;max-width:360px;display:grid;gap:10px;justify-items:center}
.aff-state .skl .skeleton{height:16px;width:100%}
@media (max-width:900px){.aff-apply{grid-template-columns:minmax(0,1fr)}.aff-apply .side{position:static}}
@media (max-width:600px){.aff-form .two{grid-template-columns:minmax(0,1fr)}.aff-apply .panel{padding:22px 18px}}

/* ---------- /affiliate-terms ---------- */
.legal-head{display:grid;gap:10px;justify-items:start;padding-block:56px 28px}
.legal-head h1{font-size:clamp(32px,4.6vw,48px)}
.legal-head .upd{font:500 13px var(--mono);color:var(--faint)}
.legal-panel{padding:36px}
.legal-panel .prose{max-width:none}
.legal-glance{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:2px 0 6px}
.legal-glance div{padding:12px 14px;border-radius:12px;background:var(--soft);font-size:13px;color:var(--muted);display:grid;gap:2px}
.legal-glance b{font-size:17px;color:var(--ink);letter-spacing:-.02em}
.prose .disclosure{display:block;padding:14px 16px;border-radius:12px;background:var(--blue-soft);color:#1f3e99;font-weight:600}
.prose code{font:500 13.5px var(--mono);background:var(--soft);padding:2px 6px;border-radius:6px}
@media (max-width:600px){.legal-panel{padding:24px 18px}.legal-glance{grid-template-columns:1fr 1fr}}

/* ---------- /partner ---------- */
body.partner .app-main{max-width:1180px}
.pstate{display:grid;gap:14px}
.pstate .skl-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.pstate .skl-tiles .skeleton{height:84px;border-radius:var(--r-inner)}
.pstate .skl-line{height:18px}
.pstate .skl-card{height:150px;border-radius:var(--r-card)}
.pstate .loading-text{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:14px}
.pcontent{display:grid;gap:22px}
.pview{display:grid;gap:22px}
.psec{display:grid;gap:14px}
.psec .sh{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}
.psec .sh h2{font-size:20px}
.psec .sh p{font-size:13.5px;color:var(--muted)}
.pwho{display:flex;align-items:center;gap:10px;flex-wrap:wrap;color:var(--muted);font-size:14.5px}
.pcode-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:24px;padding:26px;align-items:center}
.pcode-card .codebox{display:grid;gap:10px}
.pcode-card .codebox .big{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.pcode-card .codebox .big b{font:700 clamp(30px,4vw,46px)/1 var(--mono);letter-spacing:.05em;overflow-wrap:anywhere}
.pcode-card .facts{display:flex;gap:8px;flex-wrap:wrap}
.pcode-card .links{display:grid;gap:12px}
.pcode-card .links .label{font-size:12.5px;color:var(--muted);font-weight:600;margin-bottom:4px;display:block}
.pcode-card .copy-field .btn{flex:none}
.ptiles{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
.ptiles .stat .v{font-size:26px}
.status-key{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:13px;color:var(--muted)}
.status-key span{display:inline-flex;align-items:center;gap:7px}
.kit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.kit-text{display:grid;gap:10px;align-content:start;padding:18px;border-radius:var(--r-inner);background:#fff;box-shadow:inset 0 0 0 1px var(--line)}
.kit-text .t{display:flex;justify-content:space-between;align-items:center;gap:8px;font-weight:600;font-size:14px}
.kit-text pre{margin:0;white-space:pre-wrap;font:400 13.5px/1.55 var(--font);color:#2b2f36;overflow-wrap:anywhere}
.disc-line{display:flex;align-items:center;gap:12px;padding:16px 18px;border-radius:var(--r-inner);background:var(--blue-soft);color:#1f3e99;flex-wrap:wrap}
.disc-line svg{width:20px;height:20px;flex:none}
.disc-line b{flex:1;min-width:200px;font-size:15.5px}
.logo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.logo-tile{display:grid;gap:10px;padding:14px;border-radius:var(--r-inner);background:#fff;box-shadow:inset 0 0 0 1px var(--line);text-decoration:none;color:inherit;transition:box-shadow .15s,transform .15s}
.logo-tile:hover{box-shadow:inset 0 0 0 1px var(--line-strong),var(--shadow);transform:translateY(-1px)}
.logo-tile .prev{height:88px;border-radius:10px;display:grid;place-items:center;background:var(--soft);padding:14px}
.logo-tile .prev.dark{background:var(--term)}
.logo-tile .prev img{max-height:40px;width:auto;max-width:100%}
.logo-tile .n{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:13.5px;font-weight:600}
.logo-tile .n small{display:block;font-weight:400;color:var(--faint);font-size:12px}
.logo-tile .n svg{width:16px;height:16px;color:var(--muted);flex:none}
.saycant{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.saycant .col{display:grid;gap:10px;align-content:start;padding:18px;border-radius:var(--r-inner);background:#fff;box-shadow:inset 0 0 0 1px var(--line)}
.saycant h3{font-size:15px;display:flex;align-items:center;gap:8px}
.saycant h3 svg{width:18px;height:18px}
.saycant .ok h3{color:var(--green)} .saycant .no h3{color:var(--red)}
.saycant ul{margin:0;padding:0;list-style:none;display:grid;gap:8px;font-size:14px;color:#2b2f36;line-height:1.45}
.saycant li{display:flex;gap:8px;align-items:flex-start}
.saycant li svg{width:15px;height:15px;flex:none;margin-top:3px}
.saycant li [data-icon],.prules li [data-icon],.disc-line [data-icon],.table-note [data-icon],.kit-text .t [data-icon],.pex [data-icon],.status-key [data-icon],.form-note [data-icon],.tb [data-icon]{flex:none;display:inline-flex}
.saycant .ok li svg{color:var(--green)} .saycant .no li svg{color:var(--red)}
.prules{display:grid;gap:9px;margin:0;padding:0;list-style:none;font-size:14.5px;line-height:1.5;color:#2b2f36}
.prules li{display:flex;gap:10px;align-items:flex-start}
.prules li svg{width:16px;height:16px;flex:none;margin-top:3px;color:var(--muted)}
.pp-form{display:grid;gap:12px;max-width:520px}
.pp-form .input-row .btn{flex:none}
.table .chip{height:24px;padding:0 9px;font-size:12px}
.table-note{display:flex;gap:10px;align-items:flex-start;padding:14px 16px;font-size:14px;color:var(--muted)}
.table-note svg{width:18px;height:18px;flex:none;color:var(--red)}
@media (max-width:1100px){.ptiles{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:900px){.kit-grid{grid-template-columns:minmax(0,1fr)}}
@media (max-width:760px){.pcode-card{grid-template-columns:minmax(0,1fr);padding:20px}.saycant{grid-template-columns:minmax(0,1fr)}.pstate .skl-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.ptiles{grid-template-columns:repeat(2,minmax(0,1fr))}.logo-grid{grid-template-columns:minmax(0,1fr)}.pp-form .input-row{flex-direction:column}}
/* grid children may shrink below their content width (tables and copy fields scroll/ellipsize instead of widening the page) */
.pcontent,.pview,.psec,.pview>*,.psec>*,.pcode-card>*,.pcode-card .links>*{min-width:0}
