/* ============================================================
   Cherum embeddable widget v2 r2 — ISOLATED styles
   Token contract unchanged (--cw-*). r2: asset identity (token
   glyph disc + chain mini-badge), in-card picker/settings sheets,
   deliberate narrow-width behavior (420/380/340 steps), connect
   flow. Scoped under .cherum-widget; nothing leaks to the host.
   ============================================================ */
.cherum-widget{
  --cw-bg:oklch(0.205 0.012 310);
  --cw-surface:oklch(0.25 0.014 310);
  --cw-surface-2:oklch(0.29 0.016 310);
  --cw-card:oklch(0.225 0.012 310);
  --cw-line:oklch(0.33 0.018 310);
  --cw-line-2:oklch(0.40 0.022 310);
  --cw-text-1:oklch(0.93 0.008 310);
  --cw-text-2:oklch(0.78 0.012 310);
  --cw-text-3:oklch(0.62 0.016 310);
  --cw-good:oklch(0.74 0.11 162);
  --cw-warn:oklch(0.78 0.12 75);
  --cw-bad:oklch(0.70 0.15 25);
  --cw-accent:oklch(0.74 0.14 305);
  --cw-accent-hi:oklch(0.82 0.14 305);
  --cw-accent-ink:#18121F;
  --cw-radius:18px;
  --cw-r-sm:9px;
  --cw-r-in:13px;
  --cw-ctl:32px;
  --cw-shadow:0 4px 10px rgba(0,0,0,.34),0 18px 50px rgba(0,0,0,.36);
  --cw-ff:"Inter Tight",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif; /* @kind font */
  --cw-mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace; /* @kind font */

  width:100%;max-width:480px;min-width:320px;
  container-type:inline-size;
  font-family:var(--cw-ff);color:var(--cw-text-1);
  font-size:14px;line-height:1.5;text-align:left;
  -webkit-font-smoothing:antialiased;box-sizing:border-box;
}
.cherum-widget[data-theme="light"]{
  --cw-bg:oklch(0.975 0.004 310);
  --cw-surface:oklch(0.94 0.006 310);
  --cw-surface-2:oklch(0.90 0.008 310);
  --cw-card:#ffffff;
  --cw-line:oklch(0.88 0.010 310);
  --cw-line-2:oklch(0.82 0.012 310);
  --cw-text-1:oklch(0.24 0.012 310);
  --cw-text-2:oklch(0.42 0.014 310);
  --cw-text-3:oklch(0.54 0.016 310);
  --cw-good:oklch(0.52 0.13 162);
  --cw-warn:oklch(0.58 0.13 70);
  --cw-bad:oklch(0.54 0.18 25);
  --cw-accent:oklch(0.52 0.16 305);
  --cw-accent-hi:oklch(0.46 0.16 305);
  --cw-accent-ink:#ffffff;
  --cw-shadow:0 4px 10px rgba(24,18,31,.08),0 20px 50px rgba(24,18,31,.12);
}
.cherum-widget *{box-sizing:border-box;margin:0;padding:0}
.cherum-widget :where(button){font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}
.cherum-widget :where(input){font-family:inherit}

/* ---------- card shell ---------- */
.cw-card{background:var(--cw-card);border:1px solid var(--cw-line);border-radius:var(--cw-radius);
  box-shadow:var(--cw-shadow);padding:13px;position:relative;overflow:hidden}
.cw-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:2px 4px 11px}
.cw-brand{display:flex;align-items:center;gap:7px;font-weight:600;letter-spacing:-0.028em;font-size:14px}
.cw-brand svg{flex:none}
.cw-head-r{display:flex;align-items:center;gap:7px}
.cw-modepill{font-family:var(--cw-mono);font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;
  color:var(--cw-accent-hi);background:color-mix(in oklab,var(--cw-accent) 14%,transparent);
  border:1px solid color-mix(in oklab,var(--cw-accent) 32%,transparent);border-radius:999px;padding:3px 8px;
  white-space:nowrap}
.cw-gear{display:inline-flex;align-items:center;gap:6px;font-family:var(--cw-mono);font-size:11px;height:26px;
  color:var(--cw-text-2);background:var(--cw-surface);border:1px solid var(--cw-line-2);
  border-radius:999px;padding:0 10px;white-space:nowrap}
.cw-gear:hover{color:var(--cw-text-1)}

/* ---------- asset identity: token glyph disc + chain mini-badge ----------
   .cw-asset wraps a token disc (.cw-coin, brand color + glyph) and a chain
   badge (.cw-cbadge) overlapping the bottom-right corner with a bg ring.
   Ring color follows context via --cw-ring (default: panel surface).
   Production: swap the glyph <span>/<svg> for the self-hosted logo set —
   the slot and geometry stay. */
.cw-asset{position:relative;display:inline-block;flex:none;--cw-ring:var(--cw-surface)}
.cw-coin{border-radius:999px;display:grid;place-items:center;font-family:var(--cw-mono);font-weight:700;
  color:#fff;width:100%;height:100%;overflow:hidden}
.cw-coin svg{display:block}
.cw-cbadge{position:absolute;right:-3px;bottom:-3px;border-radius:999px;display:grid;place-items:center;
  font-family:var(--cw-mono);font-weight:700;color:#fff;box-shadow:0 0 0 2px var(--cw-ring)}
.cw-rrow .cw-asset,.cw-leg .cw-asset{--cw-ring:var(--cw-card)}
.cw-sheet .cw-asset{--cw-ring:var(--cw-card)}

/* ---------- panels ---------- */
.cw-panel{background:var(--cw-surface);border:1px solid var(--cw-line);border-radius:var(--cw-r-in);padding:13px 14px}
.cw-plabel{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:var(--cw-text-3);
  text-transform:uppercase;letter-spacing:.05em;margin-bottom:9px;font-family:var(--cw-mono)}
.cw-pay{display:flex;align-items:center;justify-content:space-between;gap:10px}
.cw-amt-in{font-family:inherit;font-size:30px;font-weight:600;letter-spacing:-0.02em;font-variant-numeric:tabular-nums;
  color:var(--cw-text-1);background:none;border:none;outline:none;width:100%;padding:0;display:block;min-width:0}
.cw-amt-in::placeholder{color:var(--cw-text-3)}
.cw-bal{font-size:11px;color:var(--cw-text-3);margin-top:5px;display:flex;align-items:center}
.cw-max{font-family:var(--cw-mono);font-size:9px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;
  color:var(--cw-accent-hi);border:1px solid color-mix(in oklab,var(--cw-accent) 30%,transparent);
  border-radius:6px;padding:1px 6px;margin-left:7px;height:18px;display:inline-flex;align-items:center}
.cw-max:hover{background:color-mix(in oklab,var(--cw-accent) 12%,transparent)}
/* source chip: asset icon + ticker + chevron (chain lives in the badge + tooltip) */
.cw-tokchip{display:inline-flex;align-items:center;gap:9px;background:var(--cw-card);border:1px solid var(--cw-line-2);
  border-radius:999px;padding:0 12px 0 6px;height:40px;font-size:14px;font-weight:600;white-space:nowrap;color:var(--cw-text-1)}
.cw-tokchip:hover{border-color:color-mix(in oklab,var(--cw-accent) 45%,transparent)}
.cw-tokchip .cw-asset{--cw-ring:var(--cw-card)}
.cw-tokchip svg.cw-chev{color:var(--cw-text-3)}
.cw-nonevm{display:inline-flex;align-items:center;gap:5px;font-family:var(--cw-mono);font-size:9px;letter-spacing:.04em;
  text-transform:uppercase;color:var(--cw-good);margin-top:8px}
.cw-nonevm b{color:var(--cw-text-2);font-weight:600}
.cw-flip{display:grid;place-items:center;width:32px;height:32px;margin:-8px auto;position:relative;z-index:2;
  border-radius:10px;background:var(--cw-card);border:1px solid var(--cw-line-2);color:var(--cw-text-2)}

/* ---------- recipient rows: [asset chip] [address] [% | lock | ×] ---------- */
.cw-rcpts{display:flex;flex-direction:column;gap:7px}
.cw-rrow{display:grid;grid-template-columns:auto minmax(72px,1fr) auto;grid-template-areas:"tok addr ctl" "out out out";
  align-items:center;gap:6px 8px;
  background:var(--cw-card);border:1px solid var(--cw-line);border-radius:var(--cw-r-sm);padding:8px 9px}
.cw-rrow.norow{border-color:color-mix(in oklab,var(--cw-warn) 50%,transparent);
  background:color-mix(in oklab,var(--cw-warn) 7%,transparent)}
.cw-rtok{grid-area:tok;display:inline-flex;align-items:center;gap:7px;height:var(--cw-ctl);padding:0 8px 0 5px;
  background:var(--cw-surface);border:1px solid var(--cw-line-2);border-radius:8px;
  font-size:12px;font-weight:600;color:var(--cw-text-1);white-space:nowrap}
.cw-rtok:hover{border-color:color-mix(in oklab,var(--cw-accent) 45%,transparent)}
.cw-rtok svg.cw-chev{color:var(--cw-text-3)}
/* col 2 — ADDRESS: security surface #1.
   Rest: truncated 6…4 display button, validity ✓, copy glyph, full addr in title.
   Edit (row .editing): input expands to a full-width row of the grid. */
.cw-addr-d{grid-area:addr;display:flex;align-items:center;gap:6px;height:var(--cw-ctl);min-width:72px;
  background:var(--cw-surface);border:1px solid var(--cw-line-2);border-radius:8px;padding:0 8px;
  font-family:var(--cw-mono);font-size:11px;color:var(--cw-text-1);text-align:left}
.cw-addr-d:hover{border-color:color-mix(in oklab,var(--cw-accent) 40%,transparent)}
.cw-addr-d.bad,.cw-addrin.full.bad{border-color:color-mix(in oklab,var(--cw-bad) 55%,transparent);
  background:color-mix(in oklab,var(--cw-bad) 7%,transparent)}
.cw-aerr{grid-column:1 / -1;display:flex;align-items:center;gap:5px;font-family:var(--cw-mono);font-size:10px;
  color:var(--cw-bad);padding:0 2px}
.cw-aerr svg{flex:none}
.cw-addr-d .cw-atrunc{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:1}
.cw-addr-d .cw-aempty{color:var(--cw-text-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:1;font-size:10.5px}
.cw-addr-d .cw-acontact{display:inline-flex;align-items:center;gap:5px;min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  font-family:var(--cw-ff);font-size:12px;font-weight:600;color:var(--cw-text-1)}
.cw-addr-d .cw-acontact svg{color:var(--cw-text-3);flex:none}
.cw-avalid{display:inline-flex;color:var(--cw-good);flex:none}
.cw-acopy{display:inline-flex;color:var(--cw-text-3);flex:none;padding:4px;margin:-4px;border-radius:6px}
.cw-acopy:hover{color:var(--cw-text-1);background:var(--cw-surface-2)}
.cw-addrin{grid-area:addr;font-family:var(--cw-mono);font-size:11px;color:var(--cw-text-1);background:var(--cw-surface);
  border:1px solid var(--cw-line-2);border-radius:8px;padding:0 9px;outline:none;width:100%;height:var(--cw-ctl);min-width:0}
.cw-addrin::placeholder{color:var(--cw-text-3)}
.cw-addrin:focus{border-color:var(--cw-accent)}
/* editing: address takes its own full row — full mono value, no truncation */
.cw-rrow.editing{grid-template-areas:"tok ctl" "addr addr" "out out";grid-template-columns:auto 1fr}
.cw-rrow.editing .cw-rctl{justify-self:end}
.cw-addr-edit{grid-area:addr;position:relative;display:flex;align-items:center;min-width:0}
.cw-addr-edit .cw-addrin.full{width:100%;font-size:11.5px;padding-right:28px}
.cw-addr-edit .cw-avalid{position:absolute;right:9px;top:50%;transform:translateY(-50%)}
.cw-rctl{grid-area:ctl;display:flex;align-items:center;gap:4px;justify-self:end}
.cw-pctwrap{display:inline-flex;align-items:center;height:var(--cw-ctl);background:var(--cw-surface);
  border:1px solid var(--cw-line-2);border-radius:8px;padding:0 7px 0 2px}
.cw-pctwrap:focus-within{border-color:var(--cw-accent)}
.cw-pctin{font-family:var(--cw-mono);font-size:14px;font-weight:700;color:var(--cw-text-1);background:none;
  border:none;outline:none;width:38px;text-align:right;height:100%;padding:0 2px}
.cw-pctwrap i{font-family:var(--cw-mono);font-size:11px;color:var(--cw-text-3);font-style:normal}
.cw-pctwrap.locked{border-color:color-mix(in oklab,var(--cw-accent) 40%,transparent);
  background:color-mix(in oklab,var(--cw-accent) 8%,transparent)}
.cw-lock,.cw-x{width:var(--cw-ctl);height:var(--cw-ctl);border-radius:8px;display:grid;place-items:center;
  color:var(--cw-text-3);flex:none;transition:.12s}
.cw-lock:hover,.cw-x:hover{background:var(--cw-surface-2);color:var(--cw-text-1)}
.cw-lock.on{color:var(--cw-accent-hi)}
.cw-x:hover{color:var(--cw-bad)}
.cw-x[disabled]{opacity:.3;cursor:not-allowed}
.cw-rout{grid-area:out;display:flex;align-items:center;justify-content:space-between;
  font-family:var(--cw-mono);font-size:10px;color:var(--cw-text-3);padding:0 2px}
.cw-rout b{color:var(--cw-text-2);font-weight:600}
.cw-rout.warn,.cw-rout.warn b{color:var(--cw-warn)}

/* responsive helper spans: .cw-full shows on wide, .cw-min on narrow */
.cw-min{display:none}

/* list toolbar */
.cw-listbar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 2px 2px}
.cw-add{display:inline-flex;align-items:center;gap:7px;color:var(--cw-accent-hi);font-size:12px;font-weight:600;
  height:var(--cw-ctl);padding:0 4px;background:none}
.cw-add:hover{filter:brightness(1.1)}
.cw-qact{display:inline-flex;align-items:center;gap:4px}
.cw-qbtn{display:inline-flex;align-items:center;gap:5px;font-family:var(--cw-mono);font-size:10px;font-weight:600;
  letter-spacing:.02em;color:var(--cw-text-3);height:var(--cw-ctl);padding:0 9px;border-radius:8px;
  border:1px solid var(--cw-line);background:none;transition:.12s}
.cw-qbtn:hover{color:var(--cw-text-1);border-color:var(--cw-line-2);background:var(--cw-surface)}
.cw-qbtn[disabled]{opacity:.35;cursor:not-allowed}
.cw-collapse{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;margin-top:8px;
  font-size:11.5px;color:var(--cw-text-3);background:none;padding:6px;border-radius:8px}
.cw-collapse:hover{color:var(--cw-text-1);background:var(--cw-surface)}

/* ---------- quote (r4: hero total + all-in, gas plate, expandable summary) ---------- */
.cw-route{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;margin-top:10px;
  border-radius:var(--cw-r-in);border:1px solid color-mix(in oklab,var(--cw-accent) 26%,transparent);
  background:color-mix(in oklab,var(--cw-accent) 8%,transparent);font-size:11.5px;color:var(--cw-text-3)}
.cw-route .cw-recv-col{display:flex;flex-direction:column;align-items:flex-end;gap:1px}
.cw-route .cw-recv{font-family:var(--cw-mono);font-size:15px;font-weight:700;color:var(--cw-text-1)}
.cw-route .cw-allin{font-family:var(--cw-mono);font-size:10px;font-weight:600;color:var(--cw-text-2)}
.cw-gasplate{display:inline-flex;align-items:center;gap:6px;font-family:var(--cw-mono);font-size:9px;letter-spacing:.04em;
  text-transform:uppercase;color:var(--cw-good);margin-top:8px;padding:0 2px}
.cw-qsum{display:flex;align-items:center;gap:7px;width:100%;margin-top:7px;padding:8px 10px;border-radius:var(--cw-r-sm);
  font-size:11.5px;color:var(--cw-text-3);border:1px solid transparent;transition:.12s;text-align:left}
.cw-qsum svg:first-child{color:var(--cw-text-3);flex:none}
.cw-qsum span{flex:1}
.cw-qsum b{color:var(--cw-text-2);font-weight:600;font-family:var(--cw-mono)}
.cw-qsum .cw-qchev{color:var(--cw-text-3);transition:transform .15s;flex:none}
.cw-qsum:hover{background:var(--cw-surface);border-color:var(--cw-line)}
.cw-qsum.open .cw-qchev{transform:rotate(180deg)}
.cw-qdetail{padding:2px 10px 4px;display:flex;flex-direction:column;gap:1px;
  border-left:2px solid color-mix(in oklab,var(--cw-accent) 25%,transparent);margin:2px 0 0 14px}
.cw-qline{display:flex;align-items:center;justify-content:space-between;font-size:11.5px;color:var(--cw-text-3);padding:3px 2px}
.cw-qline b{color:var(--cw-text-2);font-weight:600;font-family:var(--cw-mono)}
.cw-qskel{display:flex;align-items:center;justify-content:space-between;padding:5px 2px}
.cw-skel{height:10px;border-radius:5px;display:block;
  background:linear-gradient(90deg,var(--cw-surface) 0%,var(--cw-surface-2) 50%,var(--cw-surface) 100%);
  background-size:200% 100%;animation:cw-shim 1.15s linear infinite}
.cw-qskel .cw-skel:first-child{width:42%}
.cw-qskel .cw-skel:last-child{width:24%}
@keyframes cw-shim{to{background-position:-200% 0}}

/* ---------- notices / stale ---------- */
.cw-notice{display:flex;align-items:flex-start;gap:8px;padding:9px 11px;margin-top:10px;border-radius:var(--cw-r-in);
  font-size:11.5px;line-height:1.42;color:var(--cw-text-2);
  border:1px solid color-mix(in oklab,var(--cw-warn) 40%,transparent);
  background:color-mix(in oklab,var(--cw-warn) 10%,transparent)}
.cw-notice svg{color:var(--cw-warn);flex:none;margin-top:1px}
.cw-notice b{color:var(--cw-text-1);font-weight:600}
.cw-notice.info{border-color:color-mix(in oklab,var(--cw-accent) 34%,transparent);
  background:color-mix(in oklab,var(--cw-accent) 9%,transparent)}
.cw-notice.info svg{color:var(--cw-accent-hi)}
.cw-stale{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 9px 8px 12px;margin-top:10px;
  border-radius:var(--cw-r-in);border:1px solid var(--cw-line-2);background:var(--cw-surface);
  font-size:11.5px;color:var(--cw-text-3)}
.cw-refresh{display:inline-flex;align-items:center;gap:6px;font-family:var(--cw-mono);font-size:11px;font-weight:600;
  color:var(--cw-accent-hi);border:1px solid color-mix(in oklab,var(--cw-accent) 34%,transparent);
  border-radius:999px;padding:0 11px;height:28px;background:color-mix(in oklab,var(--cw-accent) 8%,transparent)}
.cw-refresh:hover{background:color-mix(in oklab,var(--cw-accent) 15%,transparent)}
.cw-cta .cw-refresh{pointer-events:none}

/* ---------- CTA / powered ---------- */
.cw-cta{width:100%;margin-top:10px;padding:14px;border-radius:var(--cw-r-in);font-size:14.5px;font-weight:600;
  letter-spacing:-0.01em;display:flex;align-items:center;justify-content:center;gap:9px;
  background:linear-gradient(180deg,var(--cw-accent-hi),var(--cw-accent));color:var(--cw-accent-ink);
  border:1px solid color-mix(in oklab,var(--cw-accent) 60%,white);transition:filter .12s,transform .12s}
.cw-cta:hover{filter:brightness(1.05)}
.cw-cta:active{transform:translateY(1px)}
.cw-cta[disabled]{background:var(--cw-surface-2);color:var(--cw-text-3);border-color:var(--cw-line);cursor:not-allowed;filter:none}
.cw-ghostbtn{width:100%;margin-top:9px;padding:11px;border-radius:var(--cw-r-in);font-size:13px;font-weight:600;
  background:var(--cw-surface);color:var(--cw-text-1);border:1px solid var(--cw-line-2)}
.cw-ghostbtn:hover{background:var(--cw-surface-2)}
.cw-powered{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:11px;
  font-size:10.5px;color:var(--cw-text-3)}
.cw-powered b{color:var(--cw-text-2);font-weight:600;letter-spacing:-0.028em}

/* sign review: full addresses, every leg (mandatory before signature) */
.cw-signhead{display:flex;align-items:center;gap:10px;padding:4px 2px 12px}
.cw-signhead .cw-meta{flex:1}
.cw-siglegs{display:flex;flex-direction:column;gap:7px;max-height:264px;overflow-y:auto}
.cw-sigleg{display:flex;align-items:flex-start;gap:9px;background:var(--cw-surface);border:1px solid var(--cw-line);
  border-radius:var(--cw-r-sm);padding:9px 11px}
.cw-sigleg .cw-asset{margin-top:1px;--cw-ring:var(--cw-surface)}
.cw-sigleg .cw-meta{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.cw-signm{font-size:12px;font-weight:600;color:var(--cw-text-1);display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.cw-sigpct{font-family:var(--cw-mono);font-size:10.5px;font-weight:700;color:var(--cw-accent-hi)}
.cw-sigout{font-family:var(--cw-mono);font-size:10.5px;font-weight:600;color:var(--cw-text-2);margin-left:auto}
.cw-sigcontact{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;color:var(--cw-text-2)}
.cw-sigcontact svg{color:var(--cw-text-3)}
.cw-sigaddr{font-family:var(--cw-mono);font-size:10px;line-height:1.5;color:var(--cw-text-2);word-break:break-all}

/* ---------- spinners / overlay / legs / badges ---------- */
.cw-spin{width:15px;height:15px;border-radius:999px;border:2px solid color-mix(in oklab,var(--cw-accent-ink) 35%,transparent);
  border-top-color:var(--cw-accent-ink);animation:cw-rot .7s linear infinite}
.cw-spin.lg{width:34px;height:34px;border-width:3px;border-color:color-mix(in oklab,var(--cw-accent) 25%,transparent);border-top-color:var(--cw-accent)}
.cw-spin-muted{border-color:color-mix(in oklab,var(--cw-text-3) 35%,transparent);border-top-color:var(--cw-text-3)}
@keyframes cw-rot{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.cw-spin{animation-duration:1.4s}.cw-skel{animation-duration:2.2s}
  .cw-sheet{animation:none}}
.cw-overlay{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;
  padding:42px 24px;text-align:center}
.cw-overlay .cw-ttl{font-size:16px;font-weight:600}
.cw-overlay .cw-sub{font-size:12.5px;color:var(--cw-text-3);max-width:24em}
.cw-legs{display:flex;flex-direction:column;gap:8px;margin-top:4px}
.cw-leg{display:flex;align-items:center;gap:10px;background:var(--cw-surface);border:1px solid var(--cw-line);
  border-radius:var(--cw-r-sm);padding:10px 11px;font-size:12.5px}
.cw-leg .cw-asset{--cw-ring:var(--cw-surface)}
.cw-leg .cw-meta{flex:1;min-width:0}
.cw-leg .cw-nm{font-size:12.5px;font-weight:600;color:var(--cw-text-1)}
.cw-leg .cw-addr{font-family:var(--cw-mono);font-size:10.5px;color:var(--cw-text-3)}
.cw-leg .cw-lst{font-family:var(--cw-mono);font-size:10px;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}
.cw-leg.done{border-color:color-mix(in oklab,var(--cw-good) 40%,transparent)}
.cw-leg.done .cw-lst{color:var(--cw-good)}
.cw-leg.pending .cw-lst{color:var(--cw-text-3)}
.cw-leg.refund{border-color:color-mix(in oklab,var(--cw-warn) 45%,transparent)}
.cw-leg.refund .cw-lst{color:var(--cw-warn)}
.cw-leg.fail{border-color:color-mix(in oklab,var(--cw-bad) 45%,transparent)}
.cw-leg.fail .cw-lst{color:var(--cw-bad)}
.cw-badge{width:54px;height:54px;border-radius:999px;display:grid;place-items:center;margin:6px auto 0}
.cw-badge.ok{background:color-mix(in oklab,var(--cw-good) 18%,transparent);color:var(--cw-good)}
.cw-badge.warn{background:color-mix(in oklab,var(--cw-warn) 18%,transparent);color:var(--cw-warn)}
.cw-badge.bad{background:color-mix(in oklab,var(--cw-bad) 18%,transparent);color:var(--cw-bad)}
.cw-progresshead{display:flex;align-items:center;gap:10px;padding:4px 2px 12px}
.cw-progresshead .cw-meta{flex:1}
.cw-mini{font-size:11.5px;color:var(--cw-text-3)}

/* ---------- in-card sheet (picker / settings) ----------
   Absolute overlay INSIDE .cw-card — never escapes the iframe. */
.cw-sheet{position:absolute;inset:0;z-index:6;background:var(--cw-card);border-radius:inherit;
  display:flex;flex-direction:column;animation:cw-sheet-in .18s cubic-bezier(.2,.8,.2,1)}
@keyframes cw-sheet-in{from{transform:translateY(14px);opacity:0}to{transform:none;opacity:1}}
.cw-sh-head{display:flex;align-items:center;gap:9px;padding:14px 14px 10px}
.cw-sh-head .cw-ttl{font-size:14px;font-weight:600;flex:1}
.cw-sh-head .cw-sub{font-size:10.5px;color:var(--cw-text-3);display:block}
.cw-sh-x{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;color:var(--cw-text-3);flex:none}
.cw-sh-x:hover{background:var(--cw-surface);color:var(--cw-text-1)}
.cw-sh-search{margin:0 14px 10px;display:flex;align-items:center;gap:8px;height:38px;padding:0 11px;
  background:var(--cw-surface);border:1px solid var(--cw-line-2);border-radius:10px}
.cw-sh-search:focus-within{border-color:var(--cw-accent)}
.cw-sh-search svg{color:var(--cw-text-3);flex:none}
.cw-sh-search input{flex:1;background:none;border:none;outline:none;color:var(--cw-text-1);
  font-family:var(--cw-mono);font-size:12px;min-width:0}
.cw-sh-search input::placeholder{color:var(--cw-text-3)}
/* chain strip — scrolls horizontally with edge fades; “All” chip clears the filter */
.cw-chainwrap{position:relative;flex:none}
.cw-chainwrap::before,.cw-chainwrap::after{content:"";position:absolute;top:0;bottom:10px;width:18px;z-index:1;pointer-events:none}
.cw-chainwrap::before{left:0;background:linear-gradient(90deg,var(--cw-card),transparent)}
.cw-chainwrap::after{right:0;background:linear-gradient(270deg,var(--cw-card),transparent)}
.cw-chains{display:flex;gap:6px;padding:2px 14px 10px;overflow-x:auto;scrollbar-width:none}
.cw-chains::-webkit-scrollbar{display:none}
.cw-chainbtn{display:inline-flex;flex-direction:column;align-items:center;gap:4px;flex:none;
  padding:7px 9px 6px;border-radius:10px;border:1px solid transparent;min-width:46px}
.cw-chainbtn small{font-family:var(--cw-mono);font-size:8.5px;letter-spacing:.03em;color:var(--cw-text-3);text-transform:uppercase}
.cw-chainbtn:hover{background:var(--cw-surface)}
.cw-chainbtn.on{border-color:color-mix(in oklab,var(--cw-accent) 45%,transparent);
  background:color-mix(in oklab,var(--cw-accent) 10%,transparent)}
.cw-chainbtn.on small{color:var(--cw-text-1)}
.cw-allbtn .cw-alldisc{width:24px;height:24px;border-radius:999px;display:grid;place-items:center;
  font-family:var(--cw-mono);font-size:8.5px;font-weight:700;background:var(--cw-surface-2);color:var(--cw-text-2);
  border:1px dashed var(--cw-line-2)}
.cw-chainon{position:absolute;right:-3px;top:-3px;width:12px;height:12px;border-radius:999px;display:grid;place-items:center;
  background:var(--cw-accent);color:var(--cw-accent-ink);box-shadow:0 0 0 2px var(--cw-card)}
/* token list */
.cw-sh-list{flex:1;overflow-y:auto;padding:0 8px 10px;min-height:0}
.cw-sh-glab{font-family:var(--cw-mono);font-size:9px;letter-spacing:.07em;text-transform:uppercase;
  color:var(--cw-text-3);padding:8px 8px 5px}
.cw-tokrow{display:flex;align-items:center;gap:10px;width:100%;padding:8px;border-radius:10px;text-align:left;min-height:44px}
.cw-tokrow:hover{background:var(--cw-surface)}
.cw-tokrow .cw-meta{flex:1;min-width:0}
.cw-tokrow .cw-tik{font-size:13px;font-weight:600;color:var(--cw-text-1)}
.cw-tokrow .cw-tnm{font-size:10.5px;color:var(--cw-text-3)}
.cw-tokrow .cw-tbal{font-family:var(--cw-mono);font-size:11px;color:var(--cw-text-2);text-align:right}
.cw-tokrow .cw-tbal small{display:block;font-size:9px;color:var(--cw-text-3)}
.cw-sh-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:34px 20px;text-align:center;
  color:var(--cw-text-3);font-size:12px}
.cw-sh-empty b{color:var(--cw-text-2);font-weight:600}
/* settings sheet rows */
.cw-set{padding:4px 14px 14px;display:flex;flex-direction:column;gap:12px}
.cw-setrow .cw-slab{font-size:12px;font-weight:600;margin-bottom:2px}
.cw-setrow .cw-shint{font-size:10.5px;color:var(--cw-text-3);margin-bottom:8px}
.cw-seg{display:flex;background:var(--cw-surface);border:1px solid var(--cw-line);border-radius:9px;padding:3px;gap:3px}
.cw-seg button{flex:1;font-family:var(--cw-mono);font-size:11.5px;font-weight:600;padding:7px 4px;border-radius:6px;color:var(--cw-text-3)}
.cw-seg button.on{background:var(--cw-card);color:var(--cw-text-1);box-shadow:0 1px 2px rgba(0,0,0,.18)}

/* ---------- deliberate width steps ----------
   Info priority in a row: token+chain > % > address mask.
   ≥420: full chip w/ chevron · 340–419: ticker STAYS, chevron goes,
   address mask absorbs · <340: two rows BY DESIGN — row 1 = chip left +
   controls right (no hole), row 2 = address full width. Mode badge
   never hides (product message); the gear drops its label instead. */
@container (max-width: 419px){
  .cw-rtok svg.cw-chev{display:none}
  .cw-rtok{padding:0 8px 0 5px}
  .cw-addr-d{padding:0 7px;font-size:10.5px}
}
@container (max-width: 379px){
  .cw-card{padding:11px}
  .cw-amt-in{font-size:26px}
  .cw-rrow{gap:6px}
  .cw-pctin{width:32px}
  .cw-acopy{display:none}
}
@container (max-width: 339px){
  .cw-rrow{grid-template-columns:auto 1fr;grid-template-areas:"tok ctl" "addr addr" "out out"}
  .cw-rctl{justify-self:end}
  .cw-full{display:none}
  .cw-min{display:inline-flex}
  .cw-gear .cw-gearlabel{display:none}
  .cw-qbtn{padding:0 8px}
  .cw-add{font-size:11.5px}
  .cw-addr-edit .cw-addrin.full{font-size:10px;padding-right:9px}
  .cw-addr-edit .cw-avalid{display:none}
}

/* ---------- standalone framing ---------- */
.cw-standalone{min-height:100vh;display:grid;place-items:center;padding:28px 16px;
  background:
    radial-gradient(48% 40% at 12% -4%, oklch(0.31 0.10 305 / 0.38), transparent 70%),
    radial-gradient(44% 40% at 102% 6%, oklch(0.27 0.085 342 / 0.28), transparent 72%),
    oklch(0.17 0.010 310)}
.cw-standalone[data-theme="light"]{
  background:
    radial-gradient(48% 40% at 12% -4%, oklch(0.82 0.07 305 / 0.38), transparent 70%),
    radial-gradient(44% 40% at 102% 6%, oklch(0.87 0.055 342 / 0.30), transparent 72%),
    oklch(0.975 0.004 310)}
.cw-standalone .cherum-widget{max-width:480px;font-size:15px}
.cw-standalone .cw-card{padding:15px}
.cw-standalone .cw-amt-in{font-size:34px}
