/* PayoutScore app layer (owner 2026-10-11: "a really premium design system", "100x better than PropFirmMatch").
   ui.css holds the colours and the shell; this file holds the design tokens and the new page structure built on them:
   the market switch, the firm board, the live panels, review pages and the firm portal. Use the tokens, not raw numbers. */
:root{
  /* spacing, 4px grid */
  --s1:4px; --s2:8px; --s3:12px; --s4:16px; --s5:20px; --s6:24px; --s8:32px;
  /* control heights: chips, small, default, large */
  --h-xs:28px; --h-sm:32px; --h-md:36px; --h-lg:40px;
  /* corners */
  --r-xs:8px; --r-sm:10px; --r-md:14px; --r-lg:18px; --r-xl:22px; --r-pill:999px;
  /* type: one size per role */
  --t-xs:12px; --t-sm:13px; --t-md:14px; --t-base:14.5px; --t-lg:16px; --t-xl:20px; --t-2xl:26px;
  --w-reg:400; --w-med:500; --w-bold:600;
  /* layout: the widest the content gets */
  --page:1320px;
  --star:var(--ink-text);
}

/* Page frame */
.page{max-width:var(--page);margin:0 auto}
.muted{color:var(--label-3)}
.num{font-variant-numeric:tabular-nums}

/* Market switch: always in sight, sticks under the top bar */
.mbar{position:sticky;top:var(--hdr);z-index:30;display:flex;align-items:center;justify-content:space-between;gap:var(--s3);padding:var(--s2) 0 var(--s3);
  background:color-mix(in srgb,var(--bg) 82%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.mswitch{position:relative;display:flex;gap:2px;padding:4px;border-radius:var(--r-pill);background:var(--card);box-shadow:var(--card-hl);overflow-x:auto;scrollbar-width:none;max-width:100%}
.mswitch::-webkit-scrollbar{display:none}
.mswitch::after{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:var(--stroke);pointer-events:none;
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0)}
.mswitch button{display:flex;align-items:center;gap:var(--s2);flex:none;height:var(--h-md);padding:0 var(--s4) 0 var(--s3);border:0;border-radius:var(--r-pill);background:none;
  color:var(--label-2);font-size:var(--t-md);font-weight:var(--w-med);white-space:nowrap}
.mswitch button .ic{width:17px;height:17px}
.mswitch button small{font-size:var(--t-xs);font-weight:var(--w-reg);color:var(--label-3);font-variant-numeric:tabular-nums}
.mswitch button:hover{color:var(--label);background:var(--hover)}
.mswitch button[aria-pressed="true"]{background:var(--ink);color:var(--on-ink)}
.mswitch button[aria-pressed="true"] small{color:inherit;opacity:.7}
.mbar-end{display:flex;align-items:center;gap:var(--s2)}
.qchip{display:inline-flex;align-items:center;gap:6px;height:var(--h-sm);padding:0 var(--s3);border-radius:var(--r-pill);border:1px solid var(--line-2);background:none;color:var(--label-2);
  font-size:var(--t-sm);font-weight:var(--w-med);white-space:nowrap}
.qchip .ic{width:15px;height:15px}
.qchip:hover{color:var(--label);border-color:var(--label-3)}
.qchip[aria-pressed="true"]{color:var(--ink-text);border-color:color-mix(in srgb,var(--ink-text) 55%,transparent);background:var(--ink-soft)}

/* The firm list first, full width (owner 2026-10-11: "the user has to see all the list of the firms first, like
   PropFirmMatch"); live panels below it. */
.home-main{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s6)}
.home-main > *{min-width:0}
.board-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--s4);margin:var(--s2) 0 var(--s3)}
.board-head h1{font-size:var(--t-2xl);font-weight:var(--w-med);letter-spacing:-.02em;line-height:1.15}
.board-head p{font-size:var(--t-md);color:var(--label-3);margin-top:var(--s1)}
.board-bar{display:flex;align-items:center;gap:var(--s2);flex-wrap:wrap;margin-bottom:var(--s3)}
.fsearch{position:relative;display:flex;align-items:center;gap:var(--s2);flex:1 1 220px;height:var(--h-lg);padding:0 var(--s3);border-radius:var(--r-pill);background:var(--field);
  border:1px solid var(--line);color:var(--label-3)}
.fsearch:focus-within{border-color:var(--line-2)}
.fsearch .ic{width:17px;height:17px}
.fsearch input{flex:1;min-width:0;border:0;background:none;outline:none;color:var(--label);font-size:var(--t-md)}
.board-bar .dd-btn{height:var(--h-lg);font-size:var(--t-md);font-weight:var(--w-med)}
.board-bar .count{margin-left:auto;font-size:var(--t-sm);color:var(--label-3);white-space:nowrap}

/* Panels: the card surface used across the app */
.panel{position:relative;border-radius:var(--r-xl);background:var(--card);box-shadow:var(--card-hl)}
.panel::after{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:var(--stroke);pointer-events:none;
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0)}

/* Firm board table */
.ptable-wrap{overflow-x:auto;scrollbar-width:thin}
.ptable{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--t-md)}
.ptable th{padding:var(--s3) var(--s2);text-align:left;font-size:var(--t-xs);font-weight:var(--w-med);color:var(--label-3);white-space:nowrap;border-bottom:1px solid var(--line)}
.ptable th.n,.ptable td.n{text-align:right}
.ptable th button{display:inline-flex;align-items:center;gap:4px;border:0;background:none;padding:0;color:inherit;font:inherit;cursor:pointer}
.ptable th button:hover,.ptable th[aria-sort="ascending"] button,.ptable th[aria-sort="descending"] button{color:var(--label)}
.ptable th button .ic{width:12px;height:12px}
.ptable td{padding:10px var(--s2);border-bottom:1px solid var(--line);vertical-align:middle;white-space:nowrap}
.ptable tbody tr.row{cursor:pointer;transition:background .15s var(--ease)}
.ptable tbody tr.row:hover td,.ptable tbody tr.row.open td{background:var(--hover)}
.ptable tbody tr:last-child td{border-bottom:0}
.ptable .rank{width:28px;padding-left:var(--s4)!important;color:var(--label-3);font-size:var(--t-sm);font-variant-numeric:tabular-nums}
.fcell{display:flex;align-items:center;gap:var(--s3);min-width:0}
.fcell .fi{--s:34px}
.fcell b{display:flex;align-items:center;gap:6px;font-size:var(--t-base);font-weight:var(--w-med);color:var(--label)}
.fcell b .ic{width:15px;height:15px;color:var(--ink-text)}
.fcell small{display:block;font-size:var(--t-xs);color:var(--label-3)}
.tagx{display:inline-flex;align-items:center;height:18px;padding:0 6px;margin-left:4px;border-radius:var(--r-pill);font-size:10.5px;font-weight:var(--w-med);color:var(--label-2);box-shadow:inset 0 0 0 1px var(--line-2)}
.tagx.warn{color:var(--caution);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--caution) 45%,transparent)}
.scorecell .ring{--s:38px}
.rv{display:flex;flex-direction:column;gap:2px}
.rv small{font-size:var(--t-xs);color:var(--label-3)}
.stars{color:var(--star)}
.stars .off{color:var(--line-2)}
.spd b{font-weight:var(--w-med)}
.spd small{display:block;font-size:var(--t-xs);color:var(--label-3)}
.spd.good small{color:var(--paid)}
.neg{color:var(--refused)}
.codechip{display:inline-flex;align-items:center;gap:6px;height:var(--h-sm);padding:0 10px;border-radius:var(--r-pill);border:1px dashed var(--dash);background:none;color:var(--label);
  font-size:var(--t-sm);font-weight:var(--w-med);letter-spacing:.02em;white-space:nowrap}
.codechip em{font-style:normal;color:var(--paid)}
.codechip .ic{width:13px;height:13px;color:var(--label-3)}
.codechip[data-done]{border-style:solid;border-color:var(--ink-text)}
.price b{font-weight:var(--w-med)}
.price s{display:block;font-size:var(--t-xs);color:var(--label-3)}
.acts{display:flex;align-items:center;justify-content:flex-end;gap:6px}
.cmpb,.expb{display:grid;place-items:center;width:var(--h-sm);height:var(--h-sm);border-radius:50%;border:1px solid var(--line-2);background:none;color:var(--label-3);padding:0}
.cmpb .ic,.expb .ic{width:15px;height:15px}
.cmpb:hover,.expb:hover{color:var(--label);border-color:var(--label-3)}
.cmpb[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--on-ink)}
.expb[aria-expanded="true"] .ic{transform:rotate(180deg)}
.expb .ic{transition:transform .2s var(--ease)}

/* Expanded row: everything a trader checks before buying */
tr.detrow td{padding:0 var(--s3) var(--s3);background:var(--hover);white-space:normal;cursor:default}
.det{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s3)}
.det-c{padding:var(--s3) var(--s4);border-radius:var(--r-md);background:var(--field);border:1px solid var(--line)}
.det-c h4{font-size:var(--t-sm);font-weight:var(--w-med);color:var(--label);margin-bottom:var(--s2)}
.kvl{display:grid;gap:6px;margin:0}
.kvl div{display:flex;justify-content:space-between;gap:var(--s3);font-size:var(--t-sm)}
.kvl dt{color:var(--label-3)}
.kvl dd{margin:0;text-align:right;color:var(--label);font-weight:var(--w-med)}
.flag{display:inline-flex;align-items:center;gap:5px;font-weight:var(--w-med)}
.flag::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--paid)}
.flag.no::before{background:var(--refused)} .flag.limited::before{background:var(--caution)}
.det-rv p{font-size:var(--t-sm);color:var(--label-2);line-height:1.5;margin-top:6px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.det-rv b{font-size:var(--t-md);font-weight:var(--w-med)}
.det-links{display:flex;flex-wrap:wrap;gap:6px;margin-top:var(--s3)}
.det-links .btn{height:var(--h-sm);padding:0 14px;font-size:var(--t-sm)}

/* Challenges table extras */
.acct b{font-weight:var(--w-med)}
.acct small{display:block;font-size:var(--t-xs);color:var(--label-3)}
.more-row{display:flex;justify-content:center;padding:var(--s3)}
.more-row .btn{height:var(--h-md)}

/* Offers */
.offers{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:var(--s3)}
.offer{padding:var(--s4);display:grid;gap:var(--s3)}
.offer-top{display:flex;align-items:center;gap:var(--s3)}
.offer-top .fi{--s:36px}
.offer-top b{display:block;font-weight:var(--w-med)}
.offer-top small{font-size:var(--t-xs);color:var(--label-3)}
.offer-off{font-size:28px;font-weight:var(--w-med);letter-spacing:-.02em;line-height:1}
.offer-off small{font-size:var(--t-sm);color:var(--label-3);font-weight:var(--w-reg);margin-left:6px}
.offer-meta{display:flex;justify-content:space-between;font-size:var(--t-sm);color:var(--label-3)}
.offer-meta b{color:var(--label);font-weight:var(--w-med)}
.offer .acts{justify-content:space-between}
.offer .btn{height:var(--h-sm);font-size:var(--t-sm)}

/* Live panels under the list */
.below{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--s3);align-items:start}
.below .panel{padding:var(--s4)}
.below h3{display:flex;align-items:center;gap:var(--s2);font-size:var(--t-lg);font-weight:var(--w-med)}
.below h3 .ic{width:18px;height:18px;color:var(--ink-text)}
.below h3 .badge{margin-left:auto}
.below .sub{font-size:var(--t-xs);color:var(--label-3);margin:2px 0 var(--s2)}
.ritem{display:flex;align-items:center;gap:var(--s3);padding:10px 0;border-top:1px solid var(--line)}
.ritem:first-of-type{border-top:0}
.ritem .fi{--s:30px}
.ritem > div{flex:1;min-width:0}
.ritem b{display:block;font-size:var(--t-md);font-weight:var(--w-med);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ritem small{display:block;font-size:var(--t-xs);color:var(--label-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ritem .amt{font-size:var(--t-md);font-weight:var(--w-med);font-variant-numeric:tabular-nums}
.rv-mini{display:grid;gap:4px;padding:10px 0;border-top:1px solid var(--line)}
.rv-mini:first-of-type{border-top:0}
.rv-mini .top{display:flex;align-items:center;justify-content:space-between;gap:var(--s2);font-size:var(--t-xs);color:var(--label-3)}
.rv-mini b{font-size:var(--t-md);font-weight:var(--w-med)}
.rv-mini p{font-size:var(--t-sm);color:var(--label-2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.rv-mini .by{font-size:var(--t-xs);color:var(--label-3)}
.below .more{display:inline-flex;margin-top:var(--s2);font-size:var(--t-sm);font-weight:var(--w-med);color:var(--ink-text)}
.below .more:hover{text-decoration:underline;text-underline-offset:3px}
.firm-cta p{font-size:var(--t-sm);color:var(--label-2);margin:6px 0 var(--s3)}
.firm-cta .btn{height:var(--h-md);font-size:var(--t-sm)}

@media (max-width:1180px){
  .det{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ptable th.c-price,.ptable td[data-l="$100K from"]{display:none}
}
/* Phones and small tablets: each row becomes a card */
@media (max-width:860px){
  .mbar{flex-direction:column;align-items:stretch}
  .mbar-end{overflow-x:auto;scrollbar-width:none}
  .ptable thead{display:none}
  .ptable,.ptable tbody,.ptable tr,.ptable td{display:block;width:100%}
  .ptable tr.row{display:grid;grid-template-columns:auto 1fr auto;gap:6px var(--s3);padding:var(--s3) var(--s4);border-bottom:1px solid var(--line)}
  .ptable tr.row td{padding:0;border:0;background:none!important;white-space:normal}
  .ptable td.rank{display:none}
  .ptable td.c-firm{grid-column:1 / 3}
  .ptable td.c-score{grid-column:3;grid-row:1}
  .ptable td[data-l]{display:flex;justify-content:space-between;gap:var(--s3);grid-column:1 / -1;font-size:var(--t-sm)}
  .ptable td[data-l]::before{content:attr(data-l);color:var(--label-3)}
  .ptable td.c-act{grid-column:1 / -1}
  .ptable td.c-act .acts{justify-content:flex-start}
  .ptable td.n{text-align:right}
  .det{grid-template-columns:minmax(0,1fr)}
  tr.detrow td{display:block}
  .board-head{flex-direction:column;align-items:flex-start}
}
.plats{display:flex;gap:4px}
.plats span{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:var(--r-pill);font-size:11.5px;color:var(--label-2);box-shadow:inset 0 0 0 1px var(--line-2)}
.cmp-bar{margin-top:var(--s3)}

/* Firm profile (owner 2026-10-11: "a really better version of Trustpilot-style reviews inside company profiles") */
.crumbs{display:flex;gap:var(--s2);font-size:var(--t-sm);color:var(--label-3);margin:var(--s2) 0 var(--s3)}
.crumbs a:hover{color:var(--label)}
.fhead{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--s6);padding:var(--s6)}
.fhead-id{display:flex;gap:var(--s5);min-width:0}
.fhead-id .fi{--s:76px}
.fhead-main{min-width:0;display:grid;gap:var(--s2);align-content:start}
.fhead h1{display:flex;align-items:center;flex-wrap:wrap;gap:var(--s2);font-size:30px;font-weight:var(--w-med);letter-spacing:-.02em;line-height:1.15}
.vmark{display:inline-grid;color:var(--ink-text)} .vmark .ic{width:22px;height:22px}
.fhead-meta{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:var(--t-sm);color:var(--label-3)}
.fhead-about{font-size:var(--t-base);color:var(--label-2);max-width:68ch;line-height:1.55}
.fhead-acts{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s2);margin-top:var(--s1)}
.fhead-acts .btn{height:var(--h-md);font-size:var(--t-md)}
.fhead-acts .btn-sm{height:var(--h-md)}
.fhead-scores{display:grid;gap:var(--s3);align-content:start;min-width:280px}
.sbox{display:flex;align-items:center;gap:var(--s4);padding:var(--s3) var(--s4);border-radius:var(--r-lg);background:var(--field);border:1px solid var(--line)}
.sbox .lbl{display:block;font-size:var(--t-sm);color:var(--label-2);margin-bottom:4px}
.sbox small{display:block;font-size:var(--t-xs);color:var(--label-3);margin-top:4px}
.rbox b{font-size:40px;font-weight:var(--w-med);letter-spacing:-.03em;line-height:1}
.rbox:hover{border-color:var(--line-2)}
.stiles{display:inline-flex;gap:2px;vertical-align:middle}
.stiles i{display:grid;place-items:center;width:18px;height:18px;border-radius:4px;background:linear-gradient(90deg,var(--ink) var(--p),var(--tile-2) var(--p));color:#fff}
.stiles i .ic{width:12px;height:12px;fill:currentColor}
.stiles.lg i{width:26px;height:26px;border-radius:6px}
.stiles.lg i .ic{width:16px;height:16px}
:root[data-theme="dark"] .stiles i{background:linear-gradient(90deg,#17663F var(--p),var(--tile-2) var(--p))}
.ftabs{position:sticky;top:var(--hdr);z-index:25;display:flex;gap:2px;overflow-x:auto;scrollbar-width:none;margin:var(--s4) 0;padding:6px 0;background:color-mix(in srgb,var(--bg) 85%,transparent);
  -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.ftabs::-webkit-scrollbar{display:none}
.ftabs a{display:flex;align-items:center;gap:6px;flex:none;height:var(--h-md);padding:0 var(--s4);border-radius:var(--r-pill);font-size:var(--t-md);font-weight:var(--w-med);color:var(--label-2)}
.ftabs a small{font-size:var(--t-xs);color:var(--label-3);font-weight:var(--w-reg)}
.ftabs a:hover{color:var(--label);background:var(--hover)}
.ftabs a[aria-current="true"]{background:var(--ink);color:var(--on-ink)}
.ftabs a[aria-current="true"] small{color:inherit;opacity:.7}
.fgrid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s3);align-items:start}
.fgrid2 .col{display:grid;gap:var(--s3)}
.pad{padding:var(--s5)}
.h2{font-size:var(--t-lg);font-weight:var(--w-med);margin-bottom:var(--s3)}
.h2row{display:flex;justify-content:space-between;align-items:baseline;gap:var(--s3)}
.more{font-size:var(--t-sm);font-weight:var(--w-med);color:var(--ink-text)}
.more:hover{text-decoration:underline;text-underline-offset:3px}
.note{font-size:var(--t-sm);color:var(--label-3);margin-top:var(--s3);line-height:1.5}
.factor2{padding:10px 0;border-top:1px solid var(--line)}
.factor2:first-of-type{border-top:0}
.factor2 .ft{display:flex;justify-content:space-between;font-size:var(--t-md)}
.factor2 .ft b{font-weight:var(--w-med)}
.factor2 p{font-size:var(--t-xs);color:var(--label-3);margin-top:6px}
.fbar{height:6px;border-radius:var(--r-pill);background:var(--tile-2);margin-top:8px;overflow:hidden}
.fbar i{display:block;height:100%;border-radius:inherit;background:var(--ink-text)}
.pc{display:grid;grid-template-columns:1fr 1fr;gap:var(--s4)}
.pc h3{display:flex;align-items:center;gap:6px;font-size:var(--t-md);font-weight:var(--w-med);margin-bottom:var(--s2)}
.pc h3 .ic{width:16px;height:16px;color:var(--ink-text)}
.pc div:last-child h3 .ic{color:var(--caution)}
.pc ul{margin:0;padding-left:18px;display:grid;gap:6px;font-size:var(--t-sm);color:var(--label-2)}
.stats4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s3);margin-bottom:var(--s3)}
.stats4 div{padding:10px 12px;border-radius:var(--r-md);background:var(--field);border:1px solid var(--line)}
.stats4 small{display:block;font-size:var(--t-xs);color:var(--label-3)}
.stats4 b{display:block;font-size:var(--t-lg);font-weight:var(--w-med);margin-top:2px}
.chg2{display:grid;grid-template-columns:auto 1fr auto;gap:var(--s3);align-items:start;padding:10px 0;border-top:1px solid var(--line)}
.chg2:first-of-type{border-top:0}
.chg2 p{font-size:var(--t-sm)} .chg2 small{font-size:var(--t-xs);color:var(--label-3);white-space:nowrap}

/* Reviews */
.rgrid{display:grid;grid-template-columns:330px minmax(0,1fr);gap:var(--s4);align-items:start}
.rsum{display:grid;gap:var(--s3);position:sticky;top:calc(var(--hdr) + 64px)}
.rbig{display:flex;align-items:center;gap:var(--s4);margin-bottom:var(--s4)}
.rbig > b{font-size:52px;font-weight:var(--w-med);letter-spacing:-.04em;line-height:1}
.rbig small{display:block;font-size:var(--t-sm);color:var(--label-3);margin-top:6px}
.rhist{display:grid;gap:4px;margin-bottom:var(--s4)}
.rhist button{display:grid;grid-template-columns:48px 1fr 40px;align-items:center;gap:var(--s2);height:28px;padding:0 6px;border:0;border-radius:var(--r-xs);background:none;color:var(--label-2);font-size:var(--t-sm)}
.rhist button:hover{background:var(--hover);color:var(--label)}
.rhist button[aria-pressed="true"]{background:var(--ink-soft);color:var(--label)}
.rhist i,.rsubsum i{display:block;height:8px;border-radius:var(--r-pill);background:var(--tile-2);overflow:hidden}
.rhist em,.rsubsum em{display:block;height:100%;border-radius:inherit;background:var(--ink-text)}
.rhist .num{text-align:right;color:var(--label-3)}
.rsubsum{display:grid;gap:10px;padding-top:var(--s3);border-top:1px solid var(--line);margin-bottom:var(--s4)}
.rsubsum div{display:grid;grid-template-columns:1fr 90px 28px;align-items:center;gap:var(--s2);font-size:var(--t-sm);color:var(--label-2)}
.rsubsum b{font-weight:var(--w-med);color:var(--label);text-align:right}
.btn-block{width:100%}
.how h3{font-size:var(--t-md);font-weight:var(--w-med);margin-bottom:var(--s2)}
.how ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.how li{display:flex;gap:var(--s2);font-size:var(--t-sm);color:var(--label-2);line-height:1.45}
.how li .ic{flex:none;width:16px;height:16px;color:var(--ink-text);margin-top:1px}
.rlist{display:grid;gap:var(--s3);min-width:0}
.rbar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s2)}
.rbar .dd-btn{height:var(--h-lg)}
.rcount{font-size:var(--t-sm);color:var(--label-3)}
.rcard{padding:var(--s5);display:grid;gap:10px}
.rcard header{display:flex;align-items:center;gap:var(--s3)}
.rcard header > div{flex:1;min-width:0}
.rcard header b{display:block;font-size:var(--t-md);font-weight:var(--w-med)}
.rcard header small,.rcard time{font-size:var(--t-xs);color:var(--label-3)}
.rav{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:hsl(var(--h) 35% 30%);color:#fff;font-size:var(--t-sm);font-weight:var(--w-med)}
.rline{display:flex;align-items:center;flex-wrap:wrap;gap:var(--s2)}
.vbadge{display:inline-flex;align-items:center;gap:5px;font-size:var(--t-xs);color:var(--label-2)}
.vbadge .ic{width:14px;height:14px;color:var(--ink-text)}
.vbadge.pend{color:var(--caution)}
.rcard h3{font-size:var(--t-lg);font-weight:var(--w-med)}
.rcard p{font-size:var(--t-base);color:var(--label-2);line-height:1.6}
.rtags{display:flex;flex-wrap:wrap;gap:6px}
.rtags span{display:inline-flex;align-items:center;height:24px;padding:0 10px;border-radius:var(--r-pill);font-size:var(--t-xs);color:var(--label-2);box-shadow:inset 0 0 0 1px var(--line-2)}
.rtags .good{color:var(--paid);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--paid) 45%,transparent)}
.rsubs{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:var(--t-xs);color:var(--label-3)}
.rsubs b{color:var(--label);font-weight:var(--w-med)}
.rcard footer{display:flex;flex-wrap:wrap;gap:6px}
.rcard footer .act{height:var(--h-sm);font-size:var(--t-sm)}
.rcard footer .act b{font-weight:var(--w-med)}
.reply{display:flex;gap:var(--s3);margin-top:var(--s1);padding:var(--s3) var(--s4);border-radius:var(--r-md);background:var(--field);border-left:3px solid var(--ink-text)}
.reply .fi{--s:24px}
.reply b{font-size:var(--t-sm);font-weight:var(--w-med)}
.reply small{margin-left:var(--s2);font-size:var(--t-xs);color:var(--label-3)}
.reply p{font-size:var(--t-sm);margin-top:4px}
.offer1{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--s4)}
.codechip.big{height:var(--h-lg);padding:0 var(--s4);font-size:var(--t-lg)}
.cwrap{display:grid;gap:var(--s3);max-width:860px}
.ask{display:grid;gap:var(--s2)}
.ask .h2{margin-bottom:0}
.ask .btn{justify-self:start}
.vbars{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--s2);align-items:end;height:180px}
.vbars div{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;gap:6px}
.vbars i{display:block;width:100%;max-width:42px;min-height:2px;border-radius:6px 6px 2px 2px;background:var(--ink-text)}
.vbars .bad i{background:var(--refused)}
.vbars span{font-size:var(--t-xs);color:var(--label-2)}
.vbars small{font-size:11px;color:var(--label-3);white-space:nowrap}

/* Write a review */
.sheet{width:min(640px,calc(100vw - 32px));max-height:calc(100vh - 48px);padding:0;border:0;border-radius:var(--r-xl);background:var(--elev);color:var(--label);box-shadow:var(--pop)}
.sheet::backdrop{background:rgba(0,0,0,.55);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.sheet form{display:flex;flex-direction:column;max-height:calc(100vh - 48px)}
.sheet-head{display:flex;align-items:center;justify-content:space-between;padding:var(--s4) var(--s5);border-bottom:1px solid var(--line)}
.sheet-head h2{font-size:var(--t-xl);font-weight:var(--w-med)}
.sheet-body{display:grid;gap:var(--s4);padding:var(--s5);overflow-y:auto}
.sheet-foot{display:flex;justify-content:flex-end;gap:var(--s2);padding:var(--s4) var(--s5);border-top:1px solid var(--line)}
.wfield{display:grid;gap:6px}
.wl{font-size:var(--t-sm);font-weight:var(--w-med);color:var(--label-2)}
.wl em{font-style:normal;font-weight:var(--w-reg);color:var(--label-3)}
.wfield textarea.input{height:auto;min-height:120px;border-radius:var(--r-md);padding:12px 14px;line-height:1.5;resize:vertical}
.wrow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s3)}
.wsubs{display:grid;gap:6px;padding:var(--s3);border-radius:var(--r-md);background:var(--field);border:1px solid var(--line)}
.wsub{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);font-size:var(--t-sm);color:var(--label-2)}
.starpick{display:flex;gap:4px}
.starpick button{display:grid;place-items:center;width:32px;height:32px;border:0;border-radius:6px;background:var(--tile-2);color:var(--label-3);padding:0}
.wsub .starpick button{width:26px;height:26px}
.starpick button .ic{width:16px;height:16px}
.starpick button.on{background:var(--ink);color:#fff}
.starpick button.on .ic{fill:currentColor}
.wnote{font-size:var(--t-xs);color:var(--label-3)}
input[type=file]{font-size:var(--t-sm);color:var(--label-2)}

@media (max-width:1100px){
  .fhead{grid-template-columns:minmax(0,1fr)}
  .fhead-scores{grid-template-columns:1fr 1fr;min-width:0}
  .rgrid{grid-template-columns:minmax(0,1fr)}
  .rsum{position:static}
}
@media (max-width:860px){
  .fgrid2{grid-template-columns:minmax(0,1fr)}
  .stats4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fhead{padding:var(--s4)}
  .fhead-id{flex-direction:column;gap:var(--s3)}
  .fhead-id .fi{--s:56px}
  .fhead h1{font-size:24px}
  .fhead-scores{grid-template-columns:minmax(0,1fr)}
  .pc{grid-template-columns:minmax(0,1fr)}
  .wrow{grid-template-columns:minmax(0,1fr)}
}

/* One card per firm (owner 2026-10-11: "each firm card should be separate, one by one, not all together"): the board's
   rows are separate cards that keep the columns lined up. Firm names always show in full. */
.ptable.cards{border-spacing:0 8px;margin-top:-8px}
.ptable.cards thead th{border-bottom:0;padding-bottom:2px}
.ptable.cards tbody tr.row td{background:var(--row);border-top:1px solid var(--row-line);border-bottom:1px solid var(--row-line);padding-top:12px;padding-bottom:12px}
.ptable.cards tbody tr.row td:first-child{border-left:1px solid var(--row-line);border-radius:var(--r-lg) 0 0 var(--r-lg)}
.ptable.cards tbody tr.row td:last-child{border-right:1px solid var(--row-line);border-radius:0 var(--r-lg) var(--r-lg) 0;padding-right:var(--s4)}
.ptable.cards tbody tr.row:hover td,.ptable.cards tbody tr.row.open td{background:var(--row-hover);border-color:var(--line-2)}
.ptable.cards tbody tr.row.open td:first-child{border-bottom-left-radius:0}
.ptable.cards tbody tr.row.open td:last-child{border-bottom-right-radius:0}
.ptable.cards tr.detrow td{padding:0 var(--s3) var(--s3);background:var(--row-hover);border:1px solid var(--line-2);border-top:0;border-radius:0 0 var(--r-lg) var(--r-lg)}
.ptable.cards tbody tr.detrow{transform:translateY(-8px)}
.fcell b{white-space:nowrap}
:root{--row:#FFFFFF;--row-hover:#FAFBFA;--row-line:transparent}
:root[data-theme="dark"]{--row:var(--card);--row-hover:#232725;--row-line:transparent}
@media (max-width:860px){
  .ptable.cards{border-spacing:0;margin-top:0}
  .ptable.cards tbody{display:grid;gap:var(--s2)}
  .ptable.cards tr.row{border:1px solid var(--row-line);border-radius:var(--r-lg);background:var(--row)}
  .ptable.cards tbody tr.row td{border:0!important;border-radius:0!important;background:none!important;padding:0}
  .ptable.cards tbody tr.detrow{transform:none}
  .ptable.cards tr.detrow td{border-radius:var(--r-lg)}
}

/* For prop firms: listing, plans, checks, application and the firm dashboard */
.ff{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s8);padding-top:var(--s4)}
.ff-head{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:var(--s6);align-items:center}
.ff-head > *,.ff-apply > *{min-width:0}
.ff-head h1{overflow-wrap:anywhere}
.eyebrow2{font-size:var(--t-sm);font-weight:var(--w-med);color:var(--ink-text);margin-bottom:var(--s2)}
.ff-head h1{font-size:34px;font-weight:var(--w-med);letter-spacing:-.025em;line-height:1.12}
.lede2{font-size:var(--t-lg);color:var(--label-2);line-height:1.55;margin-top:var(--s3);max-width:62ch}
.ff-acts{display:flex;flex-wrap:wrap;gap:var(--s2);margin-top:var(--s5)}
.ff-facts{display:grid;grid-template-columns:1fr 1fr;gap:0;margin:0;padding:var(--s2)}
.ff-facts div{padding:var(--s4)}
.ff-facts dt{font-size:var(--t-xs);color:var(--label-3)}
.ff-facts dd{margin:4px 0 0;font-size:var(--t-xl);font-weight:var(--w-med);font-variant-numeric:tabular-nums}
.h2x{font-size:var(--t-xl);font-weight:var(--w-med);letter-spacing:-.01em;margin-bottom:var(--s3)}
.plans{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s3)}
.plan{padding:var(--s5)}
.plan h3{font-size:var(--t-lg);font-weight:var(--w-med)}
.plan .price{margin:var(--s2) 0 var(--s3)}
.plan .price b{font-size:28px;font-weight:var(--w-med)}
.plan .price small{margin-left:6px;font-size:var(--t-sm);color:var(--label-3)}
.plan ul{margin:0;padding-left:18px;display:grid;gap:8px;font-size:var(--t-md);color:var(--label-2)}
.steps4{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s3)}
.steps4 li{padding:var(--s4)}
.steps4 b{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--ink);color:var(--on-ink);font-size:var(--t-sm);font-weight:var(--w-med)}
.steps4 h3{font-size:var(--t-md);font-weight:var(--w-med);margin:var(--s3) 0 6px}
.steps4 p{font-size:var(--t-sm);color:var(--label-2);line-height:1.5}
.ff-apply{display:grid;grid-template-columns:300px minmax(0,1fr);gap:var(--s6);align-items:start}
.apply{display:grid;gap:var(--s4)}
.grid2f{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s3)}
.apply-foot{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);flex-wrap:wrap}
.apply-foot .note{margin:0;max-width:52ch}
.sent{display:flex;gap:var(--s3);align-items:flex-start}
.sent > .ic{width:28px;height:28px;color:var(--ink-text);flex:none}
.sent h3{font-size:var(--t-lg);font-weight:var(--w-med)}
.sent p{color:var(--label-2);margin-top:4px}
.portal-top{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--s3);flex-wrap:wrap;margin-bottom:var(--s3)}
.portal-top .h2x{margin-bottom:4px}
.portal{overflow:hidden}
.ptabs{display:flex;gap:2px;padding:var(--s2);border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none}
.ptabs button{display:flex;align-items:center;gap:6px;height:var(--h-md);padding:0 var(--s4);border:0;border-radius:var(--r-pill);background:none;color:var(--label-2);font-size:var(--t-md);font-weight:var(--w-med);white-space:nowrap}
.ptabs button .ic{width:16px;height:16px}
.ptabs button:hover{color:var(--label);background:var(--hover)}
.ptabs button[aria-pressed="true"]{background:var(--ink);color:var(--on-ink)}
.pbody{padding:var(--s4)}
.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s3)}
.kpi{padding:var(--s4);border-radius:var(--r-md);background:var(--field);border:1px solid var(--line);color:var(--ink-text)}
.kpi small{display:block;font-size:var(--t-xs);color:var(--label-3)}
.kpi b{display:block;font-size:24px;font-weight:var(--w-med);color:var(--label);margin:4px 0 var(--s2)}
.spark{display:block;width:100%;height:44px}
.pcard{padding:var(--s4);border-radius:var(--r-md);background:var(--field);border:1px solid var(--line);display:grid;gap:var(--s3);align-content:start}
.pcard h3{font-size:var(--t-md);font-weight:var(--w-med)}
.pcard .note{margin:0}
.peer{display:grid;grid-template-columns:auto 1fr auto;grid-template-rows:auto auto;column-gap:var(--s3);align-items:center}
.peer .fi{grid-row:1 / 3}
.peer span{font-size:var(--t-md);font-weight:var(--w-med)}
.peer b{grid-row:1 / 3;grid-column:3;font-size:var(--t-lg);font-weight:var(--w-med)}
.peer small{font-size:var(--t-xs);color:var(--label-3)}
.inbox{display:grid;gap:var(--s3)}
.ibx{padding:var(--s4);border-radius:var(--r-md);background:var(--field);border:1px solid var(--line);display:grid;gap:var(--s2)}
.ibx-top{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s2)}
.ibx-top b{font-size:var(--t-md);font-weight:var(--w-med)}
.ibx-top small{font-size:var(--t-xs);color:var(--label-3);margin-left:auto}
.ibx p{font-size:var(--t-sm);color:var(--label-2)}
.ibx-reply{display:flex;gap:var(--s2);align-items:flex-end}
.ibx-reply textarea.input{flex:1;height:auto;min-height:44px;border-radius:var(--r-md);padding:10px 12px}
.crow{display:flex;align-items:center;gap:var(--s3);padding:8px 0;border-top:1px solid var(--line)}
.crow:first-of-type{border-top:0}
.crow small{flex:1;font-size:var(--t-xs);color:var(--label-3)}
@media (max-width:1000px){
  .ff-head,.ff-apply{grid-template-columns:minmax(0,1fr)}
  .steps4,.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:640px){
  .plans,.grid2f,.steps4,.kpis{grid-template-columns:minmax(0,1fr)}
  .ff-head h1{font-size:28px}
}
.ptable.cards{width:calc(100% - 2px);margin-left:1px}
@media (max-width:1320px){ .ptable.cards th.ptdd,.ptable.cards td[data-l="Target : loss"]{display:none} }
.ptable.cards td{padding-left:7px;padding-right:7px}
.ptable.cards .codechip{padding:0 8px;gap:5px}
.ptable.cards .acts{gap:4px}

/* Flat surfaces (owner 2026-10-11: "not looking like a gradient, and without any stroke"): every card, row, chip and field
   is one solid tone a step off the page; nothing has an outline, a gradient fill or a glow. */
:root[data-theme="dark"] body,:root:not([data-theme="dark"]) body{background:var(--bg)}
.panel::after,.mswitch::after,.box::after,article.post::after,.c3 .composer::after,.mkt-row::after,.c3 .feed-sort::after,.fstat::after,.search::after,.dd-btn::after,.act::after,
.cmp-bar::after,.menu::after,.dd-menu::after,.proof::after,.fcard::after,.c3 .box .box-row::after,.c3 .box .top-post::after{content:none!important}
.panel,.mswitch,.box,article.post,.c3 .composer,.mkt-row,.fstat,.proof,.fcard,.cmp-bar{background:var(--card)!important;box-shadow:none!important}
article.post:hover{box-shadow:none!important;background:var(--row-hover)!important}
.det-c,.stats4 div,.sbox,.pcard,.kpi,.ibx,.wsubs,.c3 .box .box-row,.c3 .box .top-post,.fstat{border:0!important;background:var(--field)!important}
:root[data-theme="dark"] .det-c,:root[data-theme="dark"] .stats4 div,:root[data-theme="dark"] .sbox,:root[data-theme="dark"] .pcard,:root[data-theme="dark"] .kpi,:root[data-theme="dark"] .ibx,
:root[data-theme="dark"] .wsubs,:root[data-theme="dark"] .c3 .box .box-row,:root[data-theme="dark"] .c3 .box .top-post,:root[data-theme="dark"] .fstat{background:var(--sub)!important}
:root:not([data-theme="dark"]) .det-c,:root:not([data-theme="dark"]) .stats4 div,:root:not([data-theme="dark"]) .sbox,:root:not([data-theme="dark"]) .pcard,:root:not([data-theme="dark"]) .kpi,
:root:not([data-theme="dark"]) .ibx,:root:not([data-theme="dark"]) .wsubs,:root:not([data-theme="dark"]) .fstat{background:var(--sub)!important}
.ptable.cards tbody tr.row td,.ptable.cards tr.detrow td{border-color:transparent!important}
.ptable.cards tbody tr.row:hover td,.ptable.cards tbody tr.row.open td{border-color:transparent!important}
.ptable.cards thead th,.ptable th,.ptable td{border-bottom-color:transparent}
.ptable:not(.cards) td{border-bottom:1px solid transparent}
.ptable:not(.cards) tbody tr.row:nth-child(even) td{background:var(--hover)}
.btn-line,.btn-dark,.btn-ghost{background:var(--tile-2)!important;box-shadow:none!important}
.btn-line:hover,.btn-dark:hover,.btn-ghost:hover{background:var(--inner-2)!important}
.qchip,.cmpb,.expb,.mbar .qchip{border:0!important;background:var(--tile-2)}
.qchip[aria-pressed="true"]{background:var(--ink-soft)}
.cmpb[aria-pressed="true"]{background:var(--ink)}
.fsearch{border:0!important;background:var(--tile-2)}
.dd-btn,.board-bar .dd-btn,.finder .dd-btn,.rbar .dd-btn{box-shadow:none!important;background:var(--tile-2)!important}
.search{box-shadow:none!important}
.codechip{border:0!important;background:var(--ink-soft)}
.codechip[data-done]{background:var(--ink);color:var(--on-ink)}
.codechip[data-done] em,.codechip[data-done] .ic{color:inherit}
.plats span,.tagx,.rtags span,.badge,.join{box-shadow:none!important}
.plats span,.tagx,.rtags span{background:var(--tile-2)}
.badge{background:var(--tile-2)}
.badge.t-good{background:color-mix(in srgb,var(--paid) 16%,transparent);color:var(--paid)}
.badge.t-bad{background:color-mix(in srgb,var(--refused) 16%,transparent);color:var(--refused)}
.badge.t-warn{background:color-mix(in srgb,var(--caution) 16%,transparent);color:var(--caution)}
.badge:not(:has(.ic))::before{display:none}
.rtags .good{background:color-mix(in srgb,var(--paid) 16%,transparent)}
.input,.c3 .composer .input{border:0!important;background:var(--tile-2)}
.ftabs{border-bottom:0}
.rsubsum{border-top:0}
.reply{border-left:0}
.sheet-head,.sheet-foot{border:0}
.me{box-shadow:none}
.ritem,.rv-mini,.factor2,.chg2,.crow,.ptabs{border:0}
.ptabs{background:transparent}
.hdr{background:color-mix(in srgb,var(--bg) 90%,transparent)}
.ring .bg{stroke:var(--tile-2)}
.hdr-cta{background:var(--ink)!important;color:var(--on-ink)!important}
.hdr-cta:hover{background:var(--ink-hi)!important}

/* Firms section sub-tabs: Prop firms, Challenges, Offers, Payouts, Rule changes */
.subnav{display:flex;gap:var(--s6);overflow-x:auto;scrollbar-width:none;margin:var(--s2) 0 var(--s1)}
.subnav::-webkit-scrollbar{display:none}
.subnav a{position:relative;flex:none;padding:var(--s2) 0 10px;font-size:var(--t-lg);font-weight:var(--w-med);color:var(--label-3);white-space:nowrap}
.subnav a:hover{color:var(--label-2)}
.subnav a[aria-current="page"]{color:var(--label)}
.subnav a[aria-current="page"]::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;border-radius:2px;background:var(--ink-text)}
@media (max-width:860px){ .subnav{gap:var(--s5)} .subnav a{font-size:var(--t-base)} }
/* Older pages in the Firms section follow the same type and flat surfaces */
.page-head{padding-top:var(--s4);padding-bottom:var(--s4)}
.page-head .eyebrow{font-size:var(--t-sm);color:var(--ink-text);font-weight:var(--w-med)}
.page-head h1{font-size:var(--t-2xl);font-weight:var(--w-med);letter-spacing:-.02em;line-height:1.15}
.page-head .lede{font-size:var(--t-base);color:var(--label-2);max-width:70ch}
.table-wrap{border:0!important;box-shadow:none!important;background:var(--card);border-radius:var(--r-xl)}
.t th,.t td{border-color:transparent!important}
.t tbody tr:nth-child(even) td{background:var(--hover)}
.tiles > *,.tools,.card{border:0!important;box-shadow:none!important}

/* Favourites and four-point rating stars */
.favb{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:var(--h-sm);height:var(--h-sm);padding:0;border:0;border-radius:var(--r-pill);background:var(--tile-2);color:var(--label-3)}
.favb .ic{width:15px;height:15px}
.favb:hover{color:var(--label)}
.favb[aria-pressed="true"]{color:#E5484D}
.favb[aria-pressed="true"] .ic{fill:currentColor}
.favb.wide{height:var(--h-md);padding:0 var(--s4);font-size:var(--t-md);font-weight:var(--w-med);color:var(--label)}
.favb.wide[aria-pressed="true"]{color:#E5484D}
.favn{display:inline-flex;align-items:center;gap:3px}
.favn .ic{width:11px;height:11px}
.stars{display:inline-flex;gap:2px}
.stars svg{width:13px;height:13px}
.stiles i .s4{width:13px;height:13px}
.stiles.lg i .s4{width:17px;height:17px}
.starpick button .s4{width:16px;height:16px}
.starpick button.on .s4{color:#fff}

/* Points chip in the top bar and stickers */
.pts-chip{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 12px;border-radius:var(--r-pill);background:var(--ink-soft);color:var(--ink-text);font-size:var(--t-sm);font-weight:var(--w-med)}
.pts-chip .ic{width:15px;height:15px}
.pts-chip:hover{background:color-mix(in srgb,var(--ink-text) 20%,transparent)}
.stk{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:7px;background:var(--c);color:#fff;flex:none}
.stk .ic,.stk svg{width:13px;height:13px}
.stk.prem{box-shadow:0 0 0 2px color-mix(in srgb,var(--c) 40%,transparent)}
.stk.lg{width:36px;height:36px;border-radius:11px}
.stk.lg .ic,.stk.lg svg{width:20px;height:20px}
.avatar{display:block;width:var(--s,38px);height:var(--s,38px);border-radius:50%;flex:none}
@media (max-width:960px){ .pts-chip{padding:0 10px} }

/* Dark mode readable on a dimmed screen (owner 2026-10-11: "easier to see even with less screen brightness"): the ground,
   cards and inner surfaces sit further apart, secondary text is brighter, the green is lifted a step. */
:root{--sub:#F2F4F3;--star-off-a:#D3D9D6;--star-off-b:#C2C9C5}
:root[data-theme="dark"]{
  --bg:#111312; --elev:#1E2120; --tile:#1B1E1D; --tile-2:#2A2E2C; --field:#232725; --sub:#252927; --hover:rgba(255,255,255,.045);
  --card:#1B1E1D; --label:#F6F8F7; --label-2:#C0C7C3; --label-3:#909893;
  --ink:#0F5A36; --ink-hi:#136A40; --ink-text:#72CDA0; --ink-soft:rgba(46,160,105,.2);
  --sel:#343937; --paid:#62C796; --refused:#F47A70;
  --star-off-a:#3D4340; --star-off-b:#4B524E;
}

/* Firms | Community: one segmented switch with a sliding green thumb (owner 2026-10-11: "the switching of firm and
   community can be much better") */
.sw{position:relative;display:grid;grid-template-columns:1fr 1fr;flex:none;height:42px;padding:4px;border-radius:var(--r-pill);background:var(--tile-2)}
.sw a{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:0 18px;border-radius:var(--r-pill);font-size:var(--t-md);font-weight:var(--w-med);color:var(--label-2);white-space:nowrap;transition:color .2s var(--ease)}
.sw a .ic{width:17px;height:17px}
.sw a:hover{color:var(--label)}
.sw a[aria-current="page"]{color:#fff}
.sw-thumb{position:absolute;top:4px;bottom:4px;left:4px;width:calc(50% - 4px);border-radius:var(--r-pill);background:var(--ink);transition:transform .28s var(--ease)}
.sw[data-on="community"] .sw-thumb{transform:translateX(100%)}
.sw:not([data-on="firms"]):not([data-on="community"]) .sw-thumb{opacity:0}
.sw-live{width:6px;height:6px;border-radius:50%;background:var(--paid);margin-left:-2px}
.sw a[aria-current="page"] .sw-live{background:#9BE3BF}
@media (prefers-reduced-motion:reduce){ .sw-thumb,.sw a{transition:none} }
@media (max-width:960px){
  .sw{display:grid;height:38px;margin-left:auto}
  .sw a{padding:0 12px;font-size:var(--t-sm);gap:6px}
  .sw a .ic{width:15px;height:15px}
  .hdr-end{margin-left:0}
  .brand span{display:none}
}
@media (max-width:560px){ .hdr .pts-chip,.hdr .icon-btn{display:none} .sw-live{display:none} }

/* Rating stars are the logo, two greens; half stars keep only the light half */
.lgs{display:block;flex:none}
.stars{display:inline-flex;align-items:center;gap:2px}
.stars .lgs{width:15px;height:15px}
.stars.lg .lgs{width:22px;height:22px}
.stars.sm .lgs{width:12px;height:12px}
.s4.lgs{width:16px;height:16px}

/* PSCORE code ticket */
.psc{display:inline-flex;align-items:stretch;height:var(--h-sm);padding:0;border:0;border-radius:var(--r-pill);background:var(--ink-soft);color:var(--ink-text);font:inherit;font-size:var(--t-sm);font-weight:var(--w-med);white-space:nowrap;overflow:hidden;cursor:pointer;flex:none}
.psc-l{display:flex;align-items:center;gap:6px;padding:0 10px 0 9px;background:var(--ink);color:#fff;letter-spacing:.04em}
.psc-l .lgs{width:14px;height:14px}
.psc-r{display:flex;align-items:center;gap:6px;padding:0 11px 0 9px}
.psc-r em{font-style:normal;font-size:var(--t-xs);padding:1px 7px;border-radius:var(--r-pill);background:var(--ink);color:#fff}
.psc:hover .psc-l{background:var(--ink-hi)}
.psc[data-done] .psc-r{background:var(--ink);color:#fff}
.psc.lg{height:var(--h-lg);font-size:var(--t-base)}
.psc.lg .psc-l{padding:0 14px 0 12px}
.psc.lg .psc-l .lgs{width:17px;height:17px}
.psc.lg .psc-r{padding:0 14px 0 12px}
.psc-none{color:var(--label-3);font-size:var(--t-sm)}

/* Hot / New / Top: no outline (owner 2026-10-11: "I don't like the stroke") */
.c3 .feed-sort,.sort-row .feed-sort{box-shadow:none!important;background:var(--tile-2)}
:root[data-theme="dark"] .c3 .feed-sort button[aria-pressed="true"]{background:var(--sel)}

/* Home: top five this month, the payouts ticker, live columns on the board (owner 2026-10-11: "highlight the top five
   firms", "the firms side is really basic, nothing new") */
.top5{margin:var(--s5) 0 var(--s4)}
.top5[hidden]{display:none}
.top5-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--s4);margin-bottom:var(--s3)}
.top5-head h2{font-size:var(--t-xl);font-weight:var(--w-med);letter-spacing:-.015em}
.top5-head p{font-size:var(--t-sm);color:var(--label-3);margin-top:2px;max-width:72ch}
.top5-head p a{color:var(--ink-text)}
.top5-tools{display:flex;gap:var(--s2);flex:none}
.top5-tools .btn{display:inline-flex;align-items:center;gap:6px}
.top5-tools .ic{width:15px;height:15px}
.top5-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--s3)}
.t5{display:flex;flex-direction:column;gap:var(--s3);min-width:0;padding:var(--s4);border-radius:var(--r-xl);background:var(--card);cursor:pointer;transition:background .2s var(--ease),transform .2s var(--ease)}
.t5:hover{background:var(--row-hover);transform:translateY(-2px)}
.t5.first{background:color-mix(in srgb,var(--ink) 22%,var(--card))}
.t5.first:hover{background:color-mix(in srgb,var(--ink) 30%,var(--card))}
.t5-a{display:flex;align-items:center;gap:var(--s2)}
.t5-sp{flex:1}
.t5-rank{display:grid;place-items:center;min-width:30px;height:30px;padding:0 8px;border-radius:var(--r-pill);background:var(--tile-2);font-size:var(--t-md);font-weight:var(--w-bold)}
.t5.first .t5-rank{background:var(--ink);color:#fff}
.t5-rank .ic{width:17px;height:17px}
.t5 .favb{width:30px;height:30px;min-width:30px}
.t5-firm{display:flex;align-items:center;gap:var(--s3);min-width:0}
.t5-firm > div{min-width:0}
.t5-firm a{display:flex;align-items:center;gap:4px;min-width:0}
.t5-firm b{font-weight:var(--w-med);font-size:var(--t-lg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.t5-firm a .ic{width:15px;height:15px;color:var(--ink-text);flex:none}
.t5-firm small{display:block;font-size:var(--t-xs);color:var(--label-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.t5-score{display:flex;align-items:center;gap:var(--s3)}
.t5-score > div{display:grid;gap:2px;min-width:0}
.t5-score b{font-weight:var(--w-med);font-size:var(--t-md)}
.t5-score small{font-size:var(--t-xs);color:var(--label-3)}
.t5-k{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s2);margin:0}
.t5-k div{padding:8px 10px;border-radius:var(--r-md);background:var(--sub)}
.t5-k dt{font-size:var(--t-xs);color:var(--label-3)}
.t5-k dd{margin:2px 0 0;font-size:var(--t-base);font-weight:var(--w-med);font-variant-numeric:tabular-nums}
.t5-k dd small{display:block;font-size:11px;font-weight:400;color:var(--label-3);white-space:nowrap}
.t5-paid{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--s3)}
.t5-paid small{display:block;font-size:var(--t-xs);color:var(--label-3)}
.t5-paid b{font-size:var(--t-xl);font-weight:var(--w-med);font-variant-numeric:tabular-nums;color:var(--paid)}
.t5-code{margin-top:auto}
.t5-code .psc{max-width:100%}
.bars{display:inline-flex;align-items:flex-end;gap:2px;height:22px;flex:none}
.bars i{display:block;width:3px;border-radius:2px;background:var(--paid);opacity:.85}
.bars i:nth-last-child(n+8){opacity:.45}
.bars.lg{height:34px;gap:3px}
.bars.lg i{width:5px}
.lp{display:inline-flex;align-items:center;gap:6px;font-size:var(--t-xs);color:var(--label-3);white-space:nowrap}
.lp i{width:6px;height:6px;border-radius:50%;background:var(--paid);flex:none;animation:lp 2.4s ease-in-out infinite}
@keyframes lp{50%{opacity:.35}}
.mv{display:inline-flex;align-items:center;gap:1px;font-size:11px;font-weight:var(--w-med);color:var(--label-3);font-variant-numeric:tabular-nums}
.mv .ic{width:12px;height:12px}
.mv.up{color:var(--paid)}
.mv.down{color:var(--refused)}

.ticker{display:flex;align-items:center;gap:var(--s3);height:44px;margin:0 0 var(--s4);padding:0 0 0 var(--s4);border-radius:var(--r-pill);background:var(--card);overflow:hidden}
.tk-label{display:inline-flex;align-items:center;gap:7px;flex:none;font-size:var(--t-sm);font-weight:var(--w-med);color:var(--paid)}
.tk-label i{width:7px;height:7px;border-radius:50%;background:var(--paid);animation:lp 2.4s ease-in-out infinite}
.tk-view{flex:1;min-width:0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 40px,#000 calc(100% - 40px),transparent);mask-image:linear-gradient(90deg,transparent,#000 40px,#000 calc(100% - 40px),transparent)}
.tk-track{display:flex;width:max-content;animation:tk 80s linear infinite}
.tk-track:hover{animation-play-state:paused}
.tk-dup{display:flex}
.tk{display:inline-flex;align-items:center;gap:6px;padding:0 22px 0 0;font-size:var(--t-sm);color:var(--label-2);white-space:nowrap}
.tk b{font-weight:var(--w-med);color:var(--label)}
.tk b.pos{color:var(--paid)}
.tk .fi{width:20px;height:20px}
@keyframes tk{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){ .tk-track{animation:none} .tk-view{overflow-x:auto} .tk-dup{display:none} .lp i,.tk-label i{animation:none} .t5{transition:none} .t5:hover{transform:none} }

/* board: rank with its move, top five tinted, payouts column */
.ptable .rank{white-space:nowrap}
.ptable .rank .rk{display:grid;place-items:center;width:26px;height:26px;margin:0 auto;border-radius:var(--r-pill);font-weight:var(--w-med);font-variant-numeric:tabular-nums}
.ptable .rank .mv{display:flex;justify-content:center;margin-top:2px}
.ptable tr.top .rank .rk{background:var(--ink);color:#fff}
.paid30{display:flex;align-items:center;gap:var(--s3)}
.paid30 b{display:block;font-weight:var(--w-med);font-variant-numeric:tabular-nums}
.codecell{display:grid;gap:4px;justify-items:start}
.codecell small{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:var(--ink-text);white-space:nowrap}
.codecell small .ic{width:11px;height:11px}

@media (max-width:1180px){ .top5-row{grid-template-columns:repeat(5,minmax(240px,1fr));overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin:0 calc(var(--pad) * -1);padding:0 var(--pad) 4px}
  .top5-row::-webkit-scrollbar{display:none} .t5{scroll-snap-align:start} }
@media (max-width:860px){ .top5-head{flex-direction:column;align-items:flex-start} .top5-row{grid-template-columns:repeat(5,minmax(78%,1fr))} .ticker{border-radius:var(--r-lg)} }
:root[data-theme="dark"]{--logo-a:#1F8150;--logo-b:#7AD0A5}
.stars{gap:3px}
.stars .lgs{width:16px;height:16px}
.paid30 .bars{display:none}
.fcell small{white-space:normal;max-width:220px}
@media (max-width:1320px){ .ptable th.c-price,.ptable td[data-l="$100K from"]{display:none} }
.psc.sm .psc-r em{display:none}

/* Firms section sub-tabs as quiet pills with icons (owner 2026-10-11: "this area looks like shit") */
.subnav{gap:2px;margin:var(--s2) 0 var(--s4)}
.subnav a{display:inline-flex;align-items:center;gap:7px;height:36px;padding:0 14px;border-radius:var(--r-pill);font-size:var(--t-md);color:var(--label-3)}
.subnav a .ic{width:16px;height:16px}
.subnav a:hover{color:var(--label);background:var(--hover)}
.subnav a[aria-current="page"]{color:var(--label);background:var(--card)}
.subnav a[aria-current="page"] .ic{color:var(--ink-text)}
.subnav a[aria-current="page"]::after{content:none}
@media (max-width:860px){ .subnav a{font-size:var(--t-sm);padding:0 12px} }

/* Market tiles: one per market, with what is best in it */
.mtiles{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--s2);margin-bottom:var(--s5)}
.mtiles button{display:flex;align-items:center;gap:var(--s3);min-width:0;height:64px;padding:0 var(--s4) 0 var(--s3);border:0;border-radius:var(--r-lg);background:var(--card);color:var(--label);text-align:left;transition:background .2s var(--ease)}
.mtiles button:hover{background:var(--row-hover)}
.mt-ic{display:grid;place-items:center;width:40px;height:40px;flex:none;border-radius:var(--r-md);background:var(--tile-2);color:var(--label-2)}
.mt-ic .ic{width:19px;height:19px}
.mt-t{display:grid;min-width:0}
.mt-t b{font-size:var(--t-base);font-weight:var(--w-med);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mt-t small{font-size:var(--t-xs);color:var(--label-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mtiles button[aria-pressed="true"]{background:var(--ink);color:#fff}
.mtiles button[aria-pressed="true"] .mt-ic{background:rgba(255,255,255,.14);color:#fff}
.mtiles button[aria-pressed="true"] small{color:rgba(255,255,255,.72)}
@media (max-width:1100px){ .mtiles{display:flex;overflow-x:auto;scrollbar-width:none;margin-left:calc(var(--pad) * -1);margin-right:calc(var(--pad) * -1);padding:0 var(--pad)} .mtiles::-webkit-scrollbar{display:none} .mtiles button{flex:none;width:220px} }

/* Board toolbar: title and count, quick filters, search, platform and sort in one block */
.deck{margin:var(--s6) 0 var(--s3)}
.deck-head{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px var(--s2)}
.deck-head h1{font-size:var(--t-xl);font-weight:var(--w-med);letter-spacing:-.015em}
.deck-n{display:inline-grid;place-items:center;min-width:26px;height:22px;padding:0 8px;border-radius:var(--r-pill);background:var(--tile-2);font-size:var(--t-xs);font-weight:var(--w-med);color:var(--label-2);transform:translateY(-2px)}
.deck-head p{flex-basis:100%;font-size:var(--t-sm);color:var(--label-3)}
.deck-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);margin-top:var(--s3);padding:6px;border-radius:var(--r-pill);background:var(--card)}
.deck-chips{display:flex;gap:4px;min-width:0;overflow-x:auto;scrollbar-width:none}
.deck-chips::-webkit-scrollbar{display:none}
.deck .qchip{height:34px;padding:0 12px;background:transparent!important;color:var(--label-2);font-size:var(--t-sm);font-weight:var(--w-med);flex:none}
.deck .qchip:hover{background:var(--hover)!important;color:var(--label)}
.deck .qchip[aria-pressed="true"]{background:var(--ink)!important;color:#fff}
.deck-tools{display:flex;align-items:center;gap:6px;flex:none;margin:0}
.deck-tools .fsearch{flex:0 0 220px;height:34px;padding:0 12px;background:var(--tile-2)}
.deck-tools .fsearch input{font-size:var(--t-sm)}
.deck-tools .fsearch .ic{width:15px;height:15px}
.deck-tools .dd-btn{height:34px!important;font-size:var(--t-sm)!important;padding:0 12px!important}
@media (max-width:1180px){ .deck-bar{flex-direction:column;align-items:stretch;border-radius:var(--r-lg)} .deck-tools .fsearch{flex:1 1 auto} }
@media (max-width:560px){ .deck-tools{flex-wrap:wrap} .deck-tools .fsearch{flex-basis:100%} }

/* Firm cards (owner 2026-10-11: "way, way more better… I don't mind if you increase the height"): who the firm is, six
   numbers with their own labels and little pictures, the code and actions; a footer with every rule in plain words. */
.fc2-list{display:grid;gap:var(--s3)}
.fc2{border-radius:var(--r-xl);background:var(--card);overflow:hidden;cursor:pointer;transition:background .2s var(--ease)}
.fc2:hover{background:color-mix(in srgb,var(--card) 70%,var(--row-hover))}
.fc2.top{background:color-mix(in srgb,var(--ink) 9%,var(--card))}
.fc2-main{display:grid;grid-template-columns:40px 216px minmax(0,1fr) 172px;align-items:center;gap:var(--s5);padding:var(--s5) var(--s5) var(--s4) var(--s4)}
.fc2-rank{display:grid;justify-items:center;gap:4px}
.fc2-rank .rk{display:grid;place-items:center;width:32px;height:32px;border-radius:var(--r-pill);background:var(--tile-2);font-weight:var(--w-med);font-variant-numeric:tabular-nums}
.fc2.top .rk{background:var(--ink);color:#fff}
.fc2-id{display:flex;align-items:center;gap:var(--s3);min-width:0}
.fc2-id .fi{--s:52px;flex:none}
.fc2-id > div{display:grid;gap:3px;min-width:0}
.fc2-id a{display:flex;align-items:center;gap:6px;min-width:0}
.fc2-id a b{font-size:var(--t-lg);font-weight:var(--w-med);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fc2-id a .ic{width:16px;height:16px;flex:none;color:var(--ink-text)}
.fc2-id a:hover b{text-decoration:underline;text-underline-offset:3px}
.fc2-id small{font-size:var(--t-xs);color:var(--label-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fc2-tags{display:flex;align-items:center;flex-wrap:wrap;gap:6px;font-size:var(--t-xs);color:var(--label-3)}
.fc2-tags .tagx{font-size:11px;padding:1px 8px;border-radius:var(--r-pill)}
.fc2-m{display:grid;grid-template-columns:128px 1.1fr 1.1fr .85fr 1fr .85fr;gap:var(--s2);min-width:0}
.fc2-m .m{display:grid;align-content:center;gap:3px;min-width:0;padding:10px 11px;border-radius:var(--r-md);background:var(--sub)}
.fc2-m .m > small{font-size:11.5px;color:var(--label-3);white-space:nowrap}
.fc2-m .m > b{font-size:var(--t-lg);font-weight:var(--w-med);font-variant-numeric:tabular-nums;line-height:1.2}
.fc2-m .m > span{font-size:11.5px;color:var(--label-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fc2-m .m > span b{color:var(--label);font-weight:var(--w-med)}
.fc2-m .m-score{display:flex;align-items:center;gap:10px;background:none;padding:0}
.fc2-m .m-score > div{display:grid;gap:1px}
.fc2-m .m-score small{font-size:11.5px;color:var(--label-3)}
.fc2-m .m-score b{font-size:var(--t-md);font-weight:var(--w-med)}
.fc2-m .stars .lgs{width:15px;height:15px}
.fc2-m .lp{font-size:11.5px}
.meter{display:block;height:4px;border-radius:4px;background:var(--tile-2);overflow:hidden;margin:3px 0 1px}
.meter i{display:block;height:100%;border-radius:4px;background:var(--paid)}
.meter.late i{background:var(--caution)}
.fc2-deal{display:grid;gap:8px;justify-items:end;text-align:right}
.fc2-deal > small{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;color:var(--label-3);white-space:nowrap}
.fc2-deal > small .ic{width:12px;height:12px;color:var(--ink-text)}
.fc2-deal > small b{color:var(--label);font-weight:var(--w-med)}
.fc2-acts{display:flex;align-items:center;gap:6px}
.fc2-acts .btn{height:32px}
.fc2-foot{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:10px var(--s5) 12px calc(var(--s4) + 40px + var(--s5));background:color-mix(in srgb,var(--sub) 55%,var(--card))}
.fc2-fl{font-size:11.5px;color:var(--label-3);margin-right:4px}
.rl{display:inline-flex;align-items:center;gap:4px;height:24px;padding:0 9px 0 7px;border-radius:var(--r-pill);font-size:11.5px;font-weight:var(--w-med);white-space:nowrap}
.rl .ic{width:12px;height:12px}
.rl.yes{background:color-mix(in srgb,var(--paid) 14%,transparent);color:var(--paid)}
.rl.no{background:color-mix(in srgb,var(--refused) 14%,transparent);color:var(--refused)}
.rl.limited,.rl.required{background:color-mix(in srgb,var(--caution) 15%,transparent);color:var(--caution)}
.fc2-sp{flex:1}
.fc2-plat{font-size:11.5px;color:var(--label-3);white-space:nowrap}
.fc2-more{display:inline-flex;align-items:center;gap:4px;height:28px;padding:0 10px 0 12px;border:0;border-radius:var(--r-pill);background:var(--tile-2);color:var(--label);font-size:var(--t-xs);font-weight:var(--w-med)}
.fc2-more .ic{width:13px;height:13px;transition:transform .2s var(--ease)}
.fc2.open .fc2-more .ic{transform:rotate(180deg)}
.fc2-det{padding:0 var(--s4) var(--s4)}
.fc2-det .det{margin-top:var(--s3)}
@media (max-width:1320px){ .fc2-main{grid-template-columns:36px 220px minmax(0,1fr) 180px;gap:var(--s4)} .fc2-m{grid-template-columns:140px 1.15fr 1.1fr .8fr 1fr .85fr} .fc2-m .m{padding:9px 10px} }
@media (max-width:1200px){
  .fc2-main{grid-template-columns:36px minmax(0,1fr) auto;grid-template-areas:"r id deal" "m m m"}
  .fc2-rank{grid-area:r} .fc2-id{grid-area:id} .fc2-deal{grid-area:deal} .fc2-m{grid-area:m}
  .fc2-foot{padding-left:var(--s4)}
}
@media (max-width:760px){
  .fc2-main{grid-template-columns:32px minmax(0,1fr);grid-template-areas:"r id" "m m" "deal deal";gap:var(--s3);padding:var(--s4)}
  .fc2-m{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fc2-m .m-score{grid-column:1 / -1}
  .fc2-deal{justify-items:start;text-align:left;grid-template-columns:auto 1fr;align-items:center}
  .fc2-deal > small{justify-self:end}
  .fc2-acts{grid-column:1 / -1}
  .fc2-acts .btn{flex:1;justify-content:center}
  .fc2-foot{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
  .fc2-foot::-webkit-scrollbar{display:none}
  .fc2-plat,.fc2-sp{display:none}
  .fc2-id .fi{--s:44px}
}
.vb{display:inline-block;width:18px;height:18px;flex:none;vertical-align:-3px;overflow:visible}
.vb.sm{width:15px;height:15px}
.vb.lg{width:24px;height:24px}
.vb.xl{width:30px;height:30px}
.avatar.pip{border-radius:0;background:none;overflow:visible}
.search{min-width:0}
.search input{min-width:0;width:100%}
@media (max-width:1180px){ .hdr{gap:16px} .search{max-width:none} }

/* Section heads on the home page */
.sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--s4);margin-bottom:var(--s3)}
.sec-head h2{display:flex;align-items:center;gap:10px;font-size:var(--t-xl);font-weight:var(--w-med);letter-spacing:-.015em}
.sec-head p{font-size:var(--t-sm);color:var(--label-3);margin-top:2px;max-width:72ch}
.sec-head .btn{display:inline-flex;align-items:center;gap:6px;flex:none}
.sec-head .btn .ic{width:14px;height:14px}
@media (max-width:760px){ .sec-head{flex-direction:column;align-items:flex-start} }

/* Live payouts (owner 2026-10-11: "show payouts like live payouts, really perfect") */
.live{margin:var(--s6) 0 0}
.live-dot{width:9px;height:9px;border-radius:50%;background:var(--paid);box-shadow:0 0 0 4px color-mix(in srgb,var(--paid) 22%,transparent);animation:lp 2.4s ease-in-out infinite}
.live-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:var(--s3);align-items:start}
.live-feed{display:grid;gap:6px;padding:8px;border-radius:var(--r-xl);background:var(--card);overflow:hidden}
.lv{display:grid;grid-template-columns:auto minmax(0,1.5fr) minmax(0,.8fr) minmax(0,1fr) auto 64px;align-items:center;gap:var(--s4);min-height:58px;padding:8px 14px 8px 10px;border-radius:var(--r-lg);background:var(--sub);transition:background .2s var(--ease)}
.lv:hover{background:var(--row-hover)}
.lv .fi{--s:36px}
.lv-who{display:grid;gap:2px;min-width:0}
.lv-who b{display:flex;align-items:center;gap:5px;font-weight:var(--w-med);font-size:var(--t-base);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lv-who > span{display:flex;align-items:center;gap:5px;font-size:var(--t-xs);color:var(--label-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lv-av{display:inline-block;width:18px;height:18px;flex:none}
.lv-av .avatar{--s:18px}
.lv-amt b{display:block;font-size:var(--t-lg);font-weight:var(--w-med);color:var(--paid);font-variant-numeric:tabular-nums}
.lv.ref .lv-amt b{color:var(--refused)}
.lv-amt small,.lv-t small{display:block;font-size:11.5px;color:var(--label-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lv-t b{display:block;font-weight:var(--w-med);font-variant-numeric:tabular-nums}
.lv-t small.pos{color:var(--paid)}
.lv-t small.warn{color:var(--caution)}
.src{display:inline-flex;align-items:center;gap:5px;height:24px;padding:0 9px 0 7px;border-radius:var(--r-pill);font-size:11.5px;font-weight:var(--w-med);white-space:nowrap}
.src .ic{width:12px;height:12px}
.src.both{background:color-mix(in srgb,var(--paid) 16%,transparent);color:var(--paid)}
.src.api{background:color-mix(in srgb,#5B9BF0 18%,transparent);color:#7DB2F5}
.src.proof{background:var(--tile-2);color:var(--label-2)}
:root:not([data-theme="dark"]) .src.api{color:#1F5FBF}
.lv-ago{font-size:var(--t-xs);color:var(--label-3);text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.lv.in{animation:lvin .6s var(--ease) both}
@keyframes lvin{from{opacity:0;transform:translateY(-10px);background:color-mix(in srgb,var(--paid) 16%,var(--sub))}to{opacity:1;transform:none}}
.live-side{display:grid;gap:var(--s3)}
.lk{display:grid;gap:2px;padding:14px 16px;border-radius:var(--r-lg);background:var(--card)}
.lk small{font-size:var(--t-xs);color:var(--label-3)}
.lk b{font-size:var(--t-xl);font-weight:var(--w-med);font-variant-numeric:tabular-nums}
.lk span{font-size:11.5px;color:var(--label-3)}
.lk-main{padding:18px 18px 16px}
.lk-main b{font-size:32px;letter-spacing:-.02em;color:var(--paid)}
.lk2{display:grid;grid-template-columns:1fr 1fr;gap:var(--s3)}
.lk2 .lk b{font-size:var(--t-lg)}
.hbars{display:flex;align-items:flex-end;gap:3px;height:56px;margin-top:8px}
.hbars i{flex:1;border-radius:3px 3px 1px 1px;background:color-mix(in srgb,var(--paid) 55%,transparent)}
.hbars i.now{background:var(--paid)}
.hbars i.off{background:var(--tile-2)}
@media (max-width:1180px){ .live-grid{grid-template-columns:minmax(0,1fr)} .live-side{grid-template-columns:repeat(2,minmax(0,1fr))} .lk-chart{grid-column:1 / -1} }
@media (max-width:860px){ .lv{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"l w a" "l t s";row-gap:4px} .lv .fi{grid-area:l} .lv-who{grid-area:w} .lv-amt{grid-area:a;text-align:right} .lv-t{grid-area:t} .lv .src{grid-area:s;justify-self:end} .lv-ago{display:none} .lv-t small{display:none}
  .live-side{grid-template-columns:minmax(0,1fr)} }
@media (prefers-reduced-motion:reduce){ .live-dot{animation:none} .lv.in{animation:none} }

/* Header search clearly visible (owner: "the background of the search isn't even visible") */
.hdr .search{background:var(--tile-2)!important}
.hdr .search:focus-within{background:var(--card)!important;box-shadow:0 0 0 2px var(--ink-text)!important}
.fc2-id .vb,.t5-firm .vb,.lv-who .vb{width:16px;height:16px}
.fc2-m .m-score .ring{flex:none}

/* Challenges as cards: firm, account, price after code, the rules as one bar to scale, payouts, code and Buy */
.ch2-list{display:grid;gap:var(--s2)}
.ch2{display:grid;grid-template-columns:230px 130px 110px minmax(0,1fr) 150px 168px;align-items:center;gap:var(--s5);padding:var(--s4) var(--s5) var(--s4) var(--s4);border-radius:var(--r-xl);background:var(--card);cursor:pointer;transition:background .2s var(--ease)}
.ch2:hover{background:color-mix(in srgb,var(--card) 70%,var(--row-hover))}
.ch2-firm{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--s3);min-width:0}
.ch2-firm .fi{--s:42px}
.ch2-firm > div{display:grid;gap:3px;min-width:0}
.ch2-firm a{display:flex;align-items:center;gap:5px;min-width:0}
.ch2-firm a b{font-weight:var(--w-med);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ch2-firm a .vb{width:15px;height:15px}
.ch2-firm span{display:flex;align-items:center;gap:5px}
.ch2-firm span small{font-size:11.5px;color:var(--label-3)}
.ch2-acct{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:4px 8px}
.ch2-acct b{font-size:var(--t-xl);font-weight:var(--w-med);letter-spacing:-.01em}
.ch2-acct .stp{justify-self:start;height:22px;padding:0 9px;border-radius:var(--r-pill);background:var(--tile-2);font-size:11.5px;font-weight:var(--w-med);display:inline-flex;align-items:center}
.ch2-acct small{grid-column:1 / -1;font-size:11.5px;color:var(--label-3)}
.ch2-price{display:grid;gap:1px}
.ch2-price b{font-size:var(--t-xl);font-weight:var(--w-med);font-variant-numeric:tabular-nums}
.ch2-price s{font-size:var(--t-xs);color:var(--label-3)}
.ch2-price small{font-size:11.5px}
.ch2-pay{display:grid;grid-template-columns:auto 1fr;align-items:baseline;gap:2px 6px}
.ch2-pay b{font-size:var(--t-lg);font-weight:var(--w-med)}
.ch2-pay small{font-size:11.5px;color:var(--label-3)}
.ch2-pay span{grid-column:1 / -1;font-size:11.5px;color:var(--label-3)}
.ch2-deal{display:grid;gap:8px;justify-items:end}
.rb{display:grid;gap:5px;min-width:0}
.rb-bar{position:relative;display:flex;height:10px;border-radius:6px;background:var(--tile-2)}
.rb-bar i{position:absolute;top:0;bottom:0;border-radius:6px}
.rb-max{right:50%;background:color-mix(in srgb,var(--refused) 45%,transparent)}
.rb-day{right:50%;background:var(--refused)}
.rb-tgt{left:50%;background:var(--paid)}
.rb-zero{position:absolute;left:50%;top:-3px;bottom:-3px;width:2px;margin-left:-1px;border-radius:2px;background:var(--label)}
.rb-lab{display:flex;justify-content:space-between;gap:8px;font-size:var(--t-xs);font-weight:var(--w-med)}
.rb-lab .neg{color:var(--refused)} .rb-lab .pos{color:var(--paid)}
.rb small{font-size:11.5px;color:var(--label-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media (max-width:1320px){ .ch2{grid-template-columns:210px 120px 100px minmax(0,1fr) 130px 160px;gap:var(--s4)} }
@media (max-width:1180px){ .ch2{grid-template-columns:minmax(0,1fr) auto auto;grid-template-areas:"f a p" "r r r" "y y d"} .ch2-firm{grid-area:f} .ch2-acct{grid-area:a} .ch2-price{grid-area:p} .rb{grid-area:r} .ch2-pay{grid-area:y} .ch2-deal{grid-area:d} }
@media (max-width:640px){ .ch2{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"f f" "a p" "r r" "y d";padding:var(--s4)} .ch2-firm .ring{display:none} }

/* Offers as coupons */
.of2-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s3)}
.of2{position:relative;display:grid;gap:var(--s3);align-content:start;padding:var(--s5);border-radius:var(--r-xl);background:var(--card);overflow:hidden}
.of2.ex{background:color-mix(in srgb,var(--ink) 12%,var(--card))}
.of2-rib{display:inline-flex;align-items:center;gap:6px;justify-self:start;height:24px;padding:0 10px 0 8px;border-radius:var(--r-pill);background:var(--ink);color:#fff;font-size:11.5px;font-weight:var(--w-med)}
.of2-rib .lgs{width:13px;height:13px}
.of2-top{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--s3)}
.of2-top .fi{--s:44px}
.of2-top > div{display:grid;gap:3px;min-width:0}
.of2-top a{display:flex;align-items:center;gap:5px;min-width:0}
.of2-top a b{font-weight:var(--w-med);font-size:var(--t-lg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.of2-top a .vb{width:15px;height:15px}
.of2-top span{display:flex;align-items:center;gap:6px}
.of2-top span small{font-size:var(--t-xs);color:var(--label-3)}
.of2-off{display:flex;align-items:baseline;gap:10px}
.of2-off b{font-size:46px;font-weight:var(--w-med);letter-spacing:-.03em;line-height:1;color:var(--ink-text)}
.of2-off span{display:grid;font-size:var(--t-sm);color:var(--label-2)}
.of2-off small{font-size:var(--t-xs);color:var(--label-3)}
.of2-perk{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:var(--r-md);background:var(--sub);font-size:var(--t-sm)}
.of2-perk .ic{width:16px;height:16px;color:var(--ink-text)}
.of2-k{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s2);margin:0}
.of2-k div{padding:8px 10px;border-radius:var(--r-md);background:var(--sub)}
.of2-k dt{font-size:11.5px;color:var(--label-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.of2-k dd{margin:2px 0 0;font-weight:var(--w-med);font-variant-numeric:tabular-nums;white-space:nowrap}
.of2-k dd s{font-weight:400;font-size:11.5px;color:var(--label-3)}
.of2-k dd small{display:block;font-size:11px;font-weight:400;color:var(--label-3)}
.of2-foot{display:flex;align-items:center;justify-content:space-between;gap:var(--s2);flex-wrap:wrap}
@media (max-width:1100px){ .of2-list{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:700px){ .of2-list{grid-template-columns:minmax(0,1fr)} }
.live[hidden]{display:none}
.ch2-firm{grid-template-columns:auto minmax(0,1fr)}
.deck-bar{flex-wrap:wrap;border-radius:var(--r-lg)}
.deck-tools{margin-left:auto}
.deck-chips{flex:0 1 auto}

/* Below the board: titled sections (owner 2026-10-11: "really nice titles, some sections") */
.hsec{min-width:0}
.hrv{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s3)}
.hrv-c{display:grid;gap:8px;align-content:start;padding:var(--s4) var(--s4) var(--s3);border-radius:var(--r-xl);background:var(--card);transition:background .2s var(--ease)}
.hrv-c:hover{background:var(--row-hover)}
.hrv-top{display:flex;align-items:center;justify-content:space-between;font-size:var(--t-xs);color:var(--label-3)}
.hrv-c > b{font-weight:var(--w-med);font-size:var(--t-base)}
.hrv-c > p{font-size:var(--t-sm);color:var(--label-2);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.hrv-by{display:flex;align-items:center;gap:8px;margin-top:4px;padding-top:10px}
.hrv-by > span:nth-child(2){display:grid;flex:1;min-width:0;font-size:var(--t-sm)}
.hrv-by > span:nth-child(2) b{display:flex;align-items:center;gap:4px;font-weight:var(--w-med)}
.hrv-by small{font-size:11.5px;color:var(--label-3)}
.hrv-av{display:inline-block;width:30px;height:30px;flex:none}
.hrv-av .avatar{--s:30px}
.hcm .hrv-av,.hcm-top .hrv-av{width:20px;height:20px}
.hcm-top .hrv-av .avatar{--s:20px}
.hsplit{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s6)}
.hrc,.hcm{display:grid;gap:var(--s2)}
.hrc-c{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:var(--s3);padding:var(--s3) var(--s4) var(--s3) var(--s3);border-radius:var(--r-lg);background:var(--card)}
.hrc-c:hover,.hcm-c:hover{background:var(--row-hover)}
.hrc-c .fi{--s:34px}
.hrc-top{display:flex;align-items:baseline;gap:8px}
.hrc-top b{font-weight:var(--w-med)}
.hrc-top span{font-size:var(--t-xs);color:var(--label-3)}
.hrc-c p{font-size:var(--t-sm);color:var(--label-2);margin-top:2px}
.hrc-c .badge{white-space:nowrap}
.hcm-c{display:grid;grid-template-columns:52px minmax(0,1fr);align-items:center;gap:var(--s3);padding:var(--s3) var(--s4) var(--s3) var(--s3);border-radius:var(--r-lg);background:var(--card)}
.hcm-up{display:grid;justify-items:center;gap:0;padding:6px 0;border-radius:var(--r-md);background:var(--ink-soft);color:var(--ink-text)}
.hcm-up .ic{width:15px;height:15px}
.hcm-up b{font-size:var(--t-sm);font-weight:var(--w-med)}
.hcm-top{display:flex;align-items:center;gap:6px;font-size:var(--t-xs);color:var(--label-3);min-width:0}
.hcm-top b{color:var(--label);font-weight:var(--w-med);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hcm-top .fi{--s:20px}
.hcm-top .vb{width:14px;height:14px}
.hcm-c p{font-size:var(--t-base);font-weight:var(--w-med);margin-top:3px}
.hfirm{display:flex;align-items:center;justify-content:space-between;gap:var(--s5);padding:var(--s6);border-radius:var(--r-xl);background:var(--ink);color:#fff}
.hfirm h2{font-size:var(--t-xl);font-weight:var(--w-med)}
.hfirm p{color:rgba(255,255,255,.78);font-size:var(--t-md);margin-top:4px;max-width:70ch}
.hfirm-acts{display:flex;gap:var(--s2);flex:none}
.hfirm .btn-primary{background:#fff!important;color:var(--ink)!important}
.hfirm .btn-line{background:rgba(255,255,255,.14)!important;color:#fff!important}
@media (max-width:1100px){ .hrv{grid-template-columns:repeat(2,minmax(0,1fr))} .hsplit{grid-template-columns:minmax(0,1fr)} }
@media (max-width:640px){ .hrv{grid-template-columns:minmax(0,1fr)} .hfirm{flex-direction:column;align-items:flex-start;padding:var(--s5)} }

/* Dropdowns: a lifted surface, a small heading, the chosen option in green, kept on screen */
:root{--pop-bg:#FFFFFF}
:root[data-theme="dark"]{--pop-bg:#282C2A}
.dd-menu{position:absolute!important;background:var(--pop-bg)!important;box-shadow:0 18px 44px -12px rgba(0,0,0,.45),0 2px 6px rgba(0,0,0,.12)!important;border:0!important}
:root:not([data-theme="dark"]) .dd-menu{box-shadow:0 18px 44px -14px rgba(0,0,0,.22),0 0 0 1px rgba(0,0,0,.05)!important}
.dd-sel.right .dd-menu{left:auto;right:0;transform-origin:top right}
.dd-h{padding:6px 14px 4px;font-size:11.5px;color:var(--label-3)}
.dd-opt{height:36px;font-size:var(--t-md)}
.dd-opt[data-active]{background:var(--tile-2)}
.dd-opt[aria-selected="true"]{color:var(--ink-text);font-weight:var(--w-med)}
.dd-opt[aria-selected="true"] .ic{color:var(--ink-text)}
.dd-btn em{font-style:normal;color:var(--label-3);font-weight:400}
@media (max-width:1180px){ .deck-tools{margin-left:0;width:100%;flex-wrap:wrap} .deck-tools .fsearch{flex:1 1 200px} }
@media (max-width:1180px){ .deck-bar{flex-wrap:nowrap} .deck-chips{width:100%;max-width:100%;min-width:0} }
.cxp-role.cxp-sample{display:inline-flex;align-items:center;height:20px;padding:0 8px;border-radius:var(--r-pill);font-size:11.5px;font-weight:var(--w-med);background:var(--tile-2)!important;color:var(--label-3)!important}

/* Real firm logos on the firm's own backdrop colour */
.fi.img{display:flex;align-items:center;justify-content:center;background:var(--lbg,#000)!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}
.fi.img::after{content:none}
.fi.img img{position:relative;z-index:1;width:100%;height:100%;object-fit:contain;display:block}
.fi.img.lpad img{width:72%;height:72%}

/* Duotone icons: the light layer fills when something is on (favourite, saved, voted) */
.ic .d{opacity:.2}
.favb[aria-pressed="true"] .ic .d,[aria-pressed="true"] > .ic .d,.on > .ic .d{opacity:1}
.favb[aria-pressed="true"] .ic{fill:currentColor}

/* Filled logo stars */
.fst{display:block;flex:none;width:16px;height:16px}
.stars .fst{width:16px;height:16px}
.stars.lg .fst{width:24px;height:24px}
.stars.sm .fst{width:13px;height:13px}
.stars{gap:2px}

/* Dark palette: neutral graphite, so the green and the logos carry the colour (owner 2026-10-11: "the dark colour is not good") */
:root[data-theme="dark"]{
  --bg:#0E0F11; --elev:#1C1D21; --tile:#17181B; --tile-2:#26282D; --field:#1F2125; --sub:#1F2125; --hover:rgba(255,255,255,.04);
  --card:#17181B; --row:#17181B; --row-hover:#1D1F23; --sel:#303238; --pop-bg:#222428;
  --label:#F5F6F7; --label-2:#B9BDC5; --label-3:#8B9099;
  --star-off-a:#34373D; --star-off-b:#42464D;
}
.sw{transition:none}
.sw-thumb{transition:transform .18s var(--ease)}

/* Top five, centred and calm (owner 2026-10-11: "the top best companies; make the alignment better") */
.t5{align-items:center;text-align:center;gap:10px;padding:var(--s4) var(--s4) var(--s5)}
.t5-a{align-self:stretch;justify-content:space-between}
.t5-rank{gap:5px;padding:0 10px;font-size:var(--t-sm)}
.t5-rank .ic{width:15px;height:15px}
.t5-logo{margin-top:2px}
.t5-logo .fi{--s:68px;border-radius:24%}
.t5-name{display:flex;align-items:center;justify-content:center;gap:6px;max-width:100%;margin-top:4px}
.t5-name b{font-size:var(--t-lg);font-weight:var(--w-med);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.t5-name .vb{width:17px;height:17px}
.t5-where{font-size:var(--t-xs);color:var(--label-3);margin-top:-6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.t5-score{display:grid;justify-items:center;gap:6px;margin-top:6px}
.t5-score > span{font-size:var(--t-xs);font-weight:var(--w-med);color:var(--ink-text)}
.t5-rate{display:flex;align-items:center;gap:8px}
.t5-rate small{font-size:var(--t-xs);color:var(--label-3)}
.t5-rate small b{color:var(--label);font-weight:var(--w-med)}
.t5-k{align-self:stretch;margin-top:4px}
.t5-k div{padding:9px 6px;text-align:center}
.t5-k dd{font-size:var(--t-lg)}
.t5-code{margin-top:4px}
.t5.first{background:color-mix(in srgb,var(--ink) 16%,var(--card))}
.t5.first .t5-k div{background:color-mix(in srgb,#000 18%,transparent)}
:root:not([data-theme="dark"]) .t5.first .t5-k div{background:rgba(255,255,255,.6)}
.t5-rank{display:inline-flex;align-items:center;min-width:34px;justify-content:center}
.t5-score .ring b{font-size:22px;font-weight:var(--w-med)}

/* Account menu: a proper popover (owner 2026-10-11: "the profile drop-down looks very shit") */
.menu{position:absolute!important;right:0;top:calc(100% + 10px);width:330px;padding:10px!important;border:0!important;border-radius:var(--r-xl)!important;background:var(--pop-bg)!important;
  box-shadow:0 24px 60px -16px rgba(0,0,0,.55),0 2px 8px rgba(0,0,0,.18)!important}
:root:not([data-theme="dark"]) .menu{box-shadow:0 24px 60px -18px rgba(0,0,0,.25),0 0 0 1px rgba(0,0,0,.05)!important}
.mu-who{display:flex;align-items:center;gap:12px;padding:8px 8px 12px}
.mu-av{display:block;width:52px;height:52px;flex:none}
.mu-av .avatar{--s:52px}
.mu-who b{display:block;font-size:var(--t-lg);font-weight:var(--w-med)}
.mu-who small{display:block;font-size:var(--t-xs);color:var(--label-3)}
.mu-pts{display:flex;align-items:center;gap:10px;height:48px;padding:0 12px;border-radius:var(--r-lg);background:var(--ink);color:#fff}
.mu-pts .ic{width:20px;height:20px}
.mu-pts b{font-weight:var(--w-med);font-size:var(--t-lg)}
.mu-pts em{margin-left:auto;font-style:normal;font-size:var(--t-sm);opacity:.8}
.mu-pts .ic:last-child{width:15px;height:15px;opacity:.8}
.mu-pts:hover{background:var(--ink-hi)}
.mu-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:8px}
.mu-grid a{display:flex;align-items:center;gap:9px;height:44px;padding:0 12px;border-radius:var(--r-md);background:var(--tile-2);font-size:var(--t-sm);font-weight:var(--w-med);color:var(--label)}
.mu-grid a .ic{width:18px;height:18px;color:var(--ink-text);flex:none}
.mu-grid a:hover{background:color-mix(in srgb,var(--tile-2) 70%,var(--label) 8%)}
.mu-theme{display:flex;align-items:center;justify-content:space-between;margin-top:10px;padding:6px 6px 6px 12px;border-radius:var(--r-md);background:var(--tile-2);font-size:var(--t-sm);font-weight:var(--w-med)}
.mu-theme .theme-seg{background:transparent}
.mu-foot{display:flex;gap:16px;padding:12px 8px 2px;font-size:var(--t-xs);color:var(--label-3)}
.mu-foot a:hover{color:var(--label)}
.menu .menu-nav{display:none}
@media (max-width:960px){ .menu .menu-nav{display:grid;margin-top:8px;padding:6px 4px;border:0;border-radius:var(--r-md);background:var(--tile-2)} .menu .menu-nav a{height:40px;padding:0 10px;font-size:var(--t-base)} }
.doc > *{min-width:0}
@media (max-width:860px){ .doc{grid-template-columns:minmax(0,1fr)!important} }
.prose{grid-template-columns:minmax(0,1fr)!important}
.prose > *{min-width:0}
.prose section{grid-template-columns:minmax(0,1fr)}
.prose p a.link{display:inline;white-space:normal}

/* Firms cards on a premium grey gradient (owner 2026-10-11: "the background of the cards, a much better premium grey,
   a gradient grey"). The community keeps its flat cards. A soft light falls from the top; inner tiles are glass. */
:root{
  --gcard:radial-gradient(130% 70% at 50% -10%,rgba(255,255,255,.9),rgba(255,255,255,0) 60%),linear-gradient(180deg,#FFFFFF 0%,#F3F4F6 100%);
  --gcard-hover:radial-gradient(130% 70% at 50% -10%,#FFFFFF,rgba(255,255,255,0) 60%),linear-gradient(180deg,#FFFFFF 0%,#EEF0F2 100%);
  --gcard-top:radial-gradient(130% 70% at 50% -10%,rgba(255,255,255,.95),rgba(255,255,255,0) 60%),linear-gradient(180deg,#F4FAF6 0%,#E3F0E8 100%);
  --glass:rgba(16,24,20,.045); --glass-2:rgba(16,24,20,.07);
  --gshadow:0 1px 2px rgba(16,24,20,.05),0 8px 24px -12px rgba(16,24,20,.12);
}
:root[data-theme="dark"]{
  --gcard:radial-gradient(140% 80% at 50% -20%,rgba(255,255,255,.075),rgba(255,255,255,0) 58%),linear-gradient(180deg,#212328 0%,#18191D 52%,#141518 100%);
  --gcard-hover:radial-gradient(140% 80% at 50% -20%,rgba(255,255,255,.1),rgba(255,255,255,0) 58%),linear-gradient(180deg,#25282D 0%,#1B1D21 52%,#16171A 100%);
  --gcard-top:radial-gradient(140% 80% at 50% -20%,rgba(120,220,170,.14),rgba(255,255,255,0) 60%),linear-gradient(180deg,#1C2A23 0%,#16201B 52%,#121815 100%);
  --glass:rgba(255,255,255,.045); --glass-2:rgba(255,255,255,.075);
  --gshadow:0 1px 0 rgba(255,255,255,.04) inset,0 16px 32px -20px rgba(0,0,0,.7);
}
.t5,.fc2,.ch2,.of2,.mtiles button,.deck-bar,.lvx-list,.lvx-k,.lvx-box,.hrv-c,.hrc-c,.hcm-c,.hfirm{box-shadow:var(--gshadow)}
.t5,.fc2,.ch2,.of2,.mtiles button:not([aria-pressed="true"]),.deck-bar,.lvx-list,.lvx-k,.lvx-box,.hrv-c,.hrc-c,.hcm-c{background:var(--gcard)!important}
.t5:hover,.fc2:hover,.ch2:hover,.mtiles button:not([aria-pressed="true"]):hover,.hrv-c:hover,.hrc-c:hover,.hcm-c:hover{background:var(--gcard-hover)!important}
.t5.first,.fc2.top{background:var(--gcard-top)!important}
.of2.ex{background:var(--gcard-top)!important}
.t5-k div,.fc2-m .m:not(.m-score),.of2-k div,.of2-perk{background:var(--glass)!important}
.t5.first .t5-k div{background:var(--glass)!important}
.fc2-foot{background:var(--glass)!important}
.mt-ic{background:var(--glass-2)}
.lvr:hover{background:var(--glass)}
.lvx-top a:hover{background:var(--glass)}
.hfirm{background:radial-gradient(120% 90% at 85% -20%,rgba(255,255,255,.16),rgba(255,255,255,0) 55%),linear-gradient(135deg,#0F5A36 0%,#0B4229 100%)}
:root[data-theme="dark"]{
  --gcard:radial-gradient(140% 80% at 50% -20%,rgba(255,255,255,.09),rgba(255,255,255,0) 58%),linear-gradient(180deg,#25272C 0%,#1A1B1F 50%,#131416 100%);
  --gcard-hover:radial-gradient(140% 80% at 50% -20%,rgba(255,255,255,.12),rgba(255,255,255,0) 58%),linear-gradient(180deg,#292B31 0%,#1D1F23 50%,#151619 100%);
}
.fc2.top{background:var(--gcard)!important}
.fc2.top:hover{background:var(--gcard-hover)!important}
/* the same premium grey on every Firms page: firm profile, compare, payouts, reviews, rule changes, choose */
.fp .panel,.fhead,.cmpx .panel,.payx .panel,.rvx .panel,.rcx .panel,.choose .panel{background:var(--gcard)!important;box-shadow:var(--gshadow)!important}
.fp .kt{background:var(--gcard)!important;box-shadow:var(--gshadow)!important}
/* Avatars are square NFT-style tiles with their own rounded corners: never crop them to a circle */
.avatar.pip{border-radius:0!important;background:none!important;overflow:visible}
.me{border-radius:12px!important;box-shadow:none!important;background:none!important;overflow:hidden}

/* No hover states on cards and rows (owner 2026-10-11: "I don't want the hover state") */
.t5:hover,.fc2:hover,.fc2.top:hover,.ch2:hover,.of2:hover,.hrv-c:hover,.hrc-c:hover,.hcm-c:hover,.mtiles button:not([aria-pressed="true"]):hover{background:var(--gcard)!important;transform:none!important}
.t5.first:hover{background:var(--gcard-top)!important}
.t5,.fc2,.ch2,.of2,.mtiles button{transition:none!important}
.lvr:hover,.lvx-top a:hover,.lv:hover{background:transparent!important}
article.post:hover,.post:hover,.cxp:hover{background:var(--card)!important;box-shadow:none!important}
.prof3 .p3-avwrap:hover .p3-av .avatar{transform:none!important}
.ptable.cards tbody tr.row:hover td{background:var(--row)!important}

/* A fine gradient stroke on the premium grey cards (owner 2026-10-11: "with a nice stroke as well"): bright at the top
   edge, fading down the sides. Drawn by a masked ::before so the corners stay round. */
:root{--gstroke:linear-gradient(180deg,rgba(16,24,20,.13) 0%,rgba(16,24,20,.07) 40%,rgba(16,24,20,.05) 100%);--gstroke-top:linear-gradient(180deg,rgba(15,90,54,.45),rgba(15,90,54,.12))}
:root[data-theme="dark"]{--gstroke:linear-gradient(180deg,rgba(255,255,255,.18) 0%,rgba(255,255,255,.07) 35%,rgba(255,255,255,.035) 100%);--gstroke-top:linear-gradient(180deg,rgba(120,220,170,.45),rgba(120,220,170,.08))}
.t5,.fc2,.ch2,.of2,.mtiles button,.deck-bar,.lvx-list,.lvx-k,.lvx-box,.hrv-c,.hrc-c,.hcm-c,.fp .panel,.fhead,.fp .kt,.cmpx .panel,.payx .panel,.rvx .panel,.rcx .panel{position:relative;isolation:isolate}
.t5::before,.fc2::before,.ch2::before,.of2::before,.mtiles button::before,.deck-bar::before,.lvx-list::before,.lvx-k::before,.lvx-box::before,.hrv-c::before,.hrc-c::before,.hcm-c::before,
.fp .panel::before,.fhead::before,.fp .kt::before,.cmpx .panel::before,.payx .panel::before,.rvx .panel::before,.rcx .panel::before{
  content:""!important;position:absolute;inset:0;z-index:2;border-radius:inherit;padding:1px;background:var(--gstroke);pointer-events:none;
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0)}
.t5.first::before,.mtiles button[aria-pressed="true"]::before,.of2.ex::before{background:var(--gstroke-top)}
.mtiles{grid-template-columns:repeat(4,minmax(0,1fr))}
.prof3 .p3-studio{position:absolute;left:50%;bottom:-14px;transform:translateX(-50%);display:inline-flex;align-items:center;gap:5px;height:28px;padding:0 12px 0 9px;border-radius:var(--r-pill);background:var(--ink);color:#fff;font-size:var(--t-xs);font-weight:var(--w-med);box-shadow:0 0 0 4px var(--card);white-space:nowrap;z-index:3}
.prof3 .p3-studio .ic{width:14px;height:14px}

/* Dropdowns always open above the cards below them (owner 2026-10-11 screenshot: the sort menu sat behind the firm cards) */
.deck,.lvx-bar,.avs-bar,.board-bar,.rcx-bar,.rvx-bar,.payx-bar{position:relative;z-index:40}
.deck-bar{isolation:auto}
.dd-sel.open{z-index:90}
.dd-menu{z-index:200!important}
/* A calm focus ring, and none on a dropdown while its menu is open */
:focus-visible{outline:2px solid color-mix(in srgb,var(--ink-text) 70%,transparent);outline-offset:2px}
.dd-sel.open .dd-btn,.dd-btn:focus:not(:focus-visible){outline:none}
/* Only hearts and saves fill when on; compare and other toggles keep their line icon */
[aria-pressed="true"] > .ic .d{opacity:.2}
.favb[aria-pressed="true"] .ic .d,[data-save][aria-pressed="true"] .ic .d{opacity:1}
.cmpb[aria-pressed="true"]{background:var(--ink)!important;color:#fff}
/* the card holding an open dropdown rises above its neighbours, so the menu is never covered */
.panel:has(.dd-sel.open),section:has(.dd-sel.open),aside:has(.dd-sel.open),article:has(.dd-sel.open),.cx-board:has(.dd-sel.open),.fc2:has(.dd-sel.open){z-index:300}

/* Live site (owner 2026-10-11, real facts only). A part still collecting real data says so plainly (.soon); the
   Trustpilot chip (.tpc) shows the firm's real score; points and rewards stay hidden until accounts open. */
html.live .pts-chip,html.live .mu-pts{display:none!important}
.soon{position:relative;isolation:isolate;display:flex;align-items:center;gap:16px;padding:20px 22px;border-radius:20px;background:var(--gcard);box-shadow:var(--gshadow)}
.soon::before{content:"";position:absolute;inset:0;z-index:2;border-radius:inherit;padding:1px;background:var(--gstroke);pointer-events:none;
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0)}
.soon-ic{flex:none;width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:var(--ink-soft);color:var(--ink-text)}
.soon-ic .ic{width:22px;height:22px}
.soon-t{flex:1;min-width:0}
.soon-t b{display:block;font-size:var(--t-md);font-weight:var(--w-med);color:var(--label)}
.soon-t p{margin-top:2px;font-size:var(--t-sm);color:var(--label-2)}
.soon-a{display:flex;gap:8px;flex-wrap:wrap;flex:none}
.soon.big{flex-direction:column;text-align:center;padding:40px 24px}
.soon.big .soon-ic{width:56px;height:56px;border-radius:18px}
.soon.big .soon-t p{max-width:52ch;margin-left:auto;margin-right:auto}
@media (max-width:640px){ .soon{flex-wrap:wrap} .soon-a{width:100%} }
.tpc{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.tpc b{font-weight:var(--w-med);font-variant-numeric:tabular-nums;color:var(--label)}
.tpc small{font-size:var(--t-xs);color:var(--label-3)}

/* <html class="live"> marks the live build; the old .live section rule above must not move the page */
html.live{margin:0}

/* Firms | Community switch across pages (owner 2026-10-11: "switch faster"): the page swaps instantly and only the thumb
   glides, using cross-document view transitions where the browser supports them. */
@view-transition{navigation:auto}
.sw-thumb{view-transition-name:ps-sw-thumb}
::view-transition-old(root),::view-transition-new(root){animation:none}
::view-transition-group(ps-sw-thumb){animation-duration:.2s;animation-timing-function:cubic-bezier(.2,.8,.2,1)}
@media (prefers-reduced-motion:reduce){ ::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important} }

/* Simple cards (owner 2026-10-11: "no need of the gradient card background and the stroke, make it simple"): every
   Firms card is a flat surface, like the community: no gradient, no stroke, no shadow. The tokens stay so pages need no
   change; they now all resolve to the flat card colour. */
:root,:root[data-theme="dark"],:root[data-theme="light"]{--gcard:var(--card);--gcard-hover:var(--card);--gcard-top:var(--card);--gshadow:none;--gstroke:none;--gstroke-top:none}
.hfirm,:root[data-theme="dark"] .hfirm,:root[data-theme="light"] .hfirm{background:var(--card)!important}

/* Live community demo (owner 2026-10-11): the banner on top and the Demo chip on every post */
.cxd{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:0 0 16px;padding:16px 18px;border-radius:20px;background:var(--card)}
.cxd-t{display:flex;align-items:flex-start;gap:12px;min-width:0;flex:1 1 360px}
.cxd-t b{display:block;font-weight:var(--w-med);font-size:var(--t-md)}
.cxd-t p{margin-top:2px;color:var(--label-2);font-size:var(--t-sm)}
.cxd-k{flex:none;display:inline-flex;align-items:center;height:24px;padding:0 10px;border-radius:var(--r-pill);background:var(--ink);color:#fff;font-size:var(--t-xs);font-weight:var(--w-med);letter-spacing:.02em}
.cxd-join{display:flex;gap:8px;flex:0 1 420px;min-width:0}
.cxd-join .input{flex:1;min-width:0;height:40px;border-radius:var(--r-pill);padding:0 16px}
.cxd-join .btn{flex:none;height:40px;padding:0 16px}
.cxd-note{flex-basis:100%;font-size:var(--t-sm);color:var(--label-2);min-height:0}
.cxd-note:empty{display:none}
.cxp-role.cxp-demo{background:var(--ink-soft);color:var(--ink-text)}
@media (max-width:640px){ .cxd-join{flex-basis:100%;flex-direction:column} }

/* A firm without a live code yet keeps its code area, quietly (owner 2026-10-11: "show the discount code area") */
.psc.psc-soon{background:var(--sub);color:var(--label-3);cursor:default}
.psc.psc-soon .psc-l{background:transparent;color:var(--label-2)}
.psc.psc-soon .psc-r{color:var(--label-3)}
a.psc{text-decoration:none}
