/* ═══════════════════════════════════════════════════════
   TheIndexToday — main.css
   Adapted from ZZAZZ × WSJ demo v34
   ═══════════════════════════════════════════════════════ */

/* ── Design tokens ── */
:root{
  --wsj-bg:#fcfbf7; --wsj-paper:#ffffff; --wsj-rule:#e8e2d0; --wsj-rule-strong:#d4cdb5;
  --wsj-ink:#0a0a0a; --wsj-ink-soft:#2a2620; --wsj-meta:#6a635a;
  --wsj-red:#c8442f; --wsj-link:#0274b6;
  --serif:'Cormorant Garamond','Source Serif 4',Georgia,serif;
  --body-serif:'Source Serif 4','Lora',Georgia,serif;
  --italic:'Lora',Georgia,serif;
  --mono:'IBM Plex Mono',ui-monospace,monospace;
  --zz-sans:'Geist','Inter','Helvetica Neue',sans-serif;
  --zz-mono:'Geist Mono','IBM Plex Mono',ui-monospace,monospace;
  --sans:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --tk-bg:#0a0a0a; --tk-amber:#ffaa00; --tk-up:#0bd47b; --tk-down:#ff6b5c;
  --tk-up-soft:rgba(11,212,123,0.15); --tk-down-soft:rgba(255,107,92,0.15);
  --zz-green:#00A86B; --zz-green-bright:#00C77E; --zz-gold:#b8893a; --zz-violet:#5b3fb8;
  --zz-cyan:#00E5FF; --zz-blue-high:#1E9FFF; --zz-blue-med:#3D7AFF; --zz-indigo:#6366F1;
}

/* ── Signal theme vars (light default) ── */
:root{
  --sig-fg:var(--wsj-ink); --sig-meta:var(--wsj-meta); --sig-rule:#c4bca0;
  --sig-bg:transparent; --sig-hover:rgba(180,160,80,0.045);
  --sig-cta:var(--wsj-red);
  --price-up:#0a9d5d; --price-down:#d83b2e;
  --up-flash:rgba(10,157,93,0.18); --down-flash:rgba(216,59,46,0.18);
  --freq-ultra:#0089a8; --freq-high:#1565c0; --freq-med:#1f3fb5; --freq-low:#3236a0;
  --candle-up:#0bd47b; --candle-down:#d83b2e;
  --chart-grid:#e8e2d0;
}
body.theme-dark{
  --price-up:#0bd47b; --price-down:#ff3b30;
}

/* ── Reset ── */
*{box-sizing:border-box}
html{background:var(--wsj-bg)}
body{
  margin:0;padding:0;
  font-family:var(--body-serif);
  color:var(--wsj-ink);
  background:var(--wsj-bg);
  min-width:1200px;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale
}
a{color:inherit}
button{font:inherit}
img{max-width:100%;display:block}

/* ══════════════════════════════════════════
   TOP UTILITY BAR
══════════════════════════════════════════ */
.util{
  background:#fff;border-bottom:1px solid var(--wsj-rule);
  padding:7px 28px;display:flex;align-items:center;
  justify-content:space-between;
  font-family:var(--sans);font-size:11px;color:var(--wsj-meta)
}
.util-left{display:flex;gap:18px;align-items:center}
.util-left a{color:var(--wsj-meta);text-decoration:none;letter-spacing:0.02em}
.util-left a:hover{color:var(--wsj-red)}
.util-left .date{font-weight:500;color:var(--wsj-ink-soft);font-family:var(--body-serif);font-size:12px;letter-spacing:0.01em}
.util-right{display:flex;gap:10px;align-items:center;flex-wrap:nowrap}
.util-link{color:var(--wsj-ink-soft);text-decoration:none;letter-spacing:0.06em;font-weight:500}
.util-sub{
  background:var(--wsj-ink);color:#fff;
  padding:5px 12px;font-weight:700;
  letter-spacing:0.1em;text-transform:uppercase;
  font-size:9px;cursor:pointer;flex-shrink:0
}

/* ── Theme toggle ── */
.theme-toggle{display:inline-flex;align-items:stretch;border:1px solid var(--wsj-ink);background:#fff;overflow:hidden;height:24px}
.th-btn{
  background:#fff;color:var(--wsj-ink);border:none;
  padding:0 9px;font-family:var(--zz-mono);font-size:8.5px;font-weight:700;
  letter-spacing:0.1em;text-transform:uppercase;cursor:pointer;transition:all 0.15s;
  border-right:1px solid var(--wsj-rule);line-height:1
}
.th-btn:last-child{border-right:none}
.th-btn.active{background:var(--wsj-ink);color:#fff}

/* ── Mode/placement toggle ── */
.zz-toggle{display:inline-flex;align-items:stretch;border:1px solid var(--wsj-ink);background:#fff;overflow:hidden;margin-left:8px;height:24px;flex-shrink:0}
.t-btn{
  background:#fff;color:var(--wsj-ink);border:none;
  padding:0 9px;font-family:var(--zz-mono);font-size:8.5px;font-weight:700;
  letter-spacing:0.1em;text-transform:uppercase;cursor:pointer;transition:all 0.15s;
  display:inline-flex;align-items:center;gap:5px;
  border-right:1px solid var(--wsj-rule);white-space:nowrap;line-height:1
}
.t-btn:last-child{border-right:none}
.t-btn.active{background:var(--wsj-ink);color:#fff}
.t-btn.zz.active{background:var(--zz-green);color:#fff}
.t-btn .ind{display:inline-block;width:5px;height:5px;background:var(--zz-green);border-radius:50%}
.t-btn:not(.active) .ind{background:#c5bda8}
.t-btn.zz.active .ind{background:#fff;animation:pulse 1.4s infinite}

@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:0.45;transform:scale(0.85)}}

/* ══════════════════════════════════════════
   MODE BANNERS
══════════════════════════════════════════ */
.zz-banner{display:none;padding:9px 28px;font-family:var(--mono);font-size:10.5px;letter-spacing:0.04em;text-align:center;font-weight:500;border-top:1px solid;border-bottom:1px solid}
.zz-banner strong{font-weight:700;letter-spacing:0.18em;text-transform:uppercase;margin-right:8px}
.zz-banner .live{display:inline-block;width:6px;height:6px;border-radius:50%;animation:pulse 1.4s infinite;margin-right:7px;vertical-align:middle}
.banner-ads{background:#fafafa;color:var(--wsj-meta);border-color:var(--wsj-rule)}
.banner-ads strong{color:var(--wsj-ink)}
.banner-ads .live{background:#bbb;animation:none}
.banner-above{background:linear-gradient(90deg,rgba(146,108,217,0.08),rgba(146,108,217,0.02));color:var(--wsj-ink-soft);border-color:rgba(146,108,217,0.3)}
.banner-above strong{color:#7a4ab8}
.banner-above .live{background:#9268d9}
.banner-abovex{background:linear-gradient(90deg,rgba(146,108,217,0.16),rgba(146,108,217,0.04));color:var(--wsj-ink-soft);border-color:rgba(146,108,217,0.45)}
.banner-abovex strong{color:#5b3fb8}
.banner-abovex .live{background:#5b3fb8}
.banner-under{background:linear-gradient(90deg,rgba(255,170,0,0.1),rgba(255,170,0,0.02));color:var(--wsj-ink-soft);border-color:rgba(255,170,0,0.3)}
.banner-under strong{color:#c89020}
.banner-under .live{background:#ffaa00}
.banner-underx{background:linear-gradient(90deg,rgba(200,68,47,0.12),rgba(200,68,47,0.02));color:var(--wsj-ink-soft);border-color:rgba(200,68,47,0.35)}
.banner-underx strong{color:var(--wsj-red)}
.banner-underx .live{background:var(--wsj-red)}
.banner-inline{background:linear-gradient(90deg,rgba(99,102,241,0.08),rgba(99,102,241,0.02));color:var(--wsj-ink-soft);border-color:rgba(99,102,241,0.25)}
.banner-inline strong{color:var(--zz-indigo)}
.banner-inline .live{background:var(--zz-indigo)}
.banner-inlinex{background:linear-gradient(90deg,rgba(0,168,107,0.12),rgba(0,168,107,0.02));color:var(--wsj-ink-soft);border-color:rgba(0,168,107,0.35)}
.banner-inlinex strong{color:var(--zz-green)}
.banner-inlinex .live{background:var(--zz-green-bright)}
.banner-footer{background:linear-gradient(90deg,rgba(30,159,255,0.08),rgba(30,159,255,0.02));color:var(--wsj-ink-soft);border-color:rgba(30,159,255,0.25)}
.banner-footer strong{color:var(--zz-blue-high)}
.banner-footer .live{background:var(--zz-blue-high)}
.banner-footerx{background:linear-gradient(90deg,rgba(30,159,255,0.16),rgba(30,159,255,0.04));color:var(--wsj-ink-soft);border-color:rgba(30,159,255,0.4)}
.banner-footerx strong{color:#0274b6}
.banner-footerx .live{background:#0274b6}
.banner-sticker{background:linear-gradient(90deg,rgba(0,168,107,0.10),rgba(0,168,107,0.02));color:var(--wsj-ink-soft);border-color:rgba(0,168,107,0.3)}
.banner-sticker strong{color:var(--zz-green)}
.banner-sticker .live{background:var(--zz-green)}

body.mode-ads .banner-ads{display:block}
body.mode-above .banner-above{display:block}
body.mode-abovex .banner-abovex{display:block}
body.mode-under .banner-under{display:block}
body.mode-underx .banner-underx{display:block}
body.mode-inline .banner-inline{display:block}
body.mode-inlinex .banner-inlinex{display:block}
body.mode-footer .banner-footer{display:block}
body.mode-footerx .banner-footerx{display:block}
body.mode-sticker .banner-sticker{display:block}

/* ══════════════════════════════════════════
   SECTION NAV
══════════════════════════════════════════ */
.snav{
  background:#fff;border-bottom:1px solid var(--wsj-ink);
  padding:9px 28px;display:flex;gap:0;align-items:center;
  justify-content:center;font-family:var(--body-serif);font-size:13.5px
}
.snav a{
  color:var(--wsj-ink);text-decoration:none;padding:4px 16px;
  letter-spacing:0.005em;border-right:1px solid var(--wsj-rule);font-weight:500
}
.snav a:last-child{border-right:none}
.snav a:hover{color:var(--wsj-red)}

/* ══════════════════════════════════════════
   MASTHEAD
══════════════════════════════════════════ */
.masthead{background:#fff;text-align:center;padding:22px 28px 14px}
.mast-title{
  font-family:'Cormorant Garamond',serif;font-weight:700;
  font-size:62px;color:var(--wsj-ink);letter-spacing:-0.025em;line-height:1
}
.mast-title .stop{color:var(--wsj-red)}
.mast-meta{font-family:var(--body-serif);font-size:12px;color:var(--wsj-meta);margin-top:10px;letter-spacing:0.04em}
.mast-meta a{color:var(--wsj-red);text-decoration:none;margin-left:8px;font-style:italic;font-family:var(--italic)}

/* ══════════════════════════════════════════
   AD BLOCKS (ads mode only)
══════════════════════════════════════════ */
.ad-block{display:none}
body.mode-ads .ad-block{display:block}
.ad-tag{font-family:var(--mono);font-size:8.5px;letter-spacing:0.24em;text-transform:uppercase;color:#aaa;text-align:center;margin-bottom:6px;font-weight:600}
.ad-leaderboard{max-width:1320px;margin:14px auto 0;padding:0 28px}
.ad-leaderboard .ad-card{background:linear-gradient(135deg,#1a2540 0%,#0a1428 100%);color:#fff;padding:18px 32px;display:flex;justify-content:space-between;align-items:center;border:1px solid #2a3550;position:relative;overflow:hidden}
.ad-leaderboard .ad-card::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 50%,rgba(180,200,255,0.12),transparent 60%);pointer-events:none}
.ad-leaderboard .ad-brand{font-family:'Cormorant Garamond',serif;font-size:22px;font-weight:700;letter-spacing:-0.01em;color:#e8d4a0;position:relative}
.ad-leaderboard .ad-tagline{font-family:var(--italic);font-style:italic;font-size:17px;color:#dde4f0;letter-spacing:0.005em;position:relative;font-weight:400}
.ad-leaderboard .ad-cta{font-family:var(--mono);font-size:10px;letter-spacing:0.18em;text-transform:uppercase;color:#e8d4a0;border:1px solid #e8d4a0;padding:8px 16px;font-weight:700;position:relative}
.ad-leaderboard .ad-cta::after{content:" →"}
.ad-infeed{background:#fff;border:1px solid var(--wsj-rule);padding:22px 26px;margin:0;position:relative;grid-column:1/-1}
.ad-infeed .ad-tag-inline{font-family:var(--mono);font-size:8.5px;letter-spacing:0.24em;text-transform:uppercase;color:var(--wsj-meta);font-weight:600;margin-bottom:10px;display:flex;justify-content:space-between;align-items:baseline}
.ad-infeed .ad-sponsor{color:var(--wsj-red);font-weight:700}
.ad-infeed .ad-head{font-family:var(--serif);font-size:24px;font-weight:700;line-height:1.15;color:var(--wsj-ink);letter-spacing:-0.01em;margin-bottom:8px}
.ad-infeed .ad-deck{font-family:var(--italic);font-style:italic;font-size:14px;color:var(--wsj-ink-soft);line-height:1.5;margin-bottom:12px}
.ad-infeed .ad-brandline{font-family:var(--mono);font-size:10px;letter-spacing:0.14em;color:var(--wsj-meta);text-transform:uppercase;font-weight:600;border-top:1px solid var(--wsj-rule);padding-top:10px;display:flex;justify-content:space-between}
.ad-infeed .ad-brandline strong{color:var(--wsj-ink);font-weight:700}
.ad-rail{background:#fff;border:1px solid var(--wsj-rule);padding:20px 18px;margin:24px 0 0;text-align:center}
.ad-rail .ad-tag-rail{font-family:var(--mono);font-size:8px;letter-spacing:0.22em;text-transform:uppercase;color:#aaa;margin-bottom:14px;font-weight:600}
.ad-rail .ad-rail-brand{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:22px;font-weight:600;color:var(--wsj-ink);margin-bottom:8px}
.ad-rail .ad-rail-headline{font-family:var(--serif);font-size:17px;font-weight:700;line-height:1.2;color:var(--wsj-ink);margin-bottom:8px;letter-spacing:-0.005em}
.ad-rail .ad-rail-body{font-family:var(--italic);font-style:italic;font-size:12.5px;color:var(--wsj-ink-soft);line-height:1.45;margin-bottom:14px}
.ad-rail .ad-rail-num{font-family:'Cormorant Garamond',serif;font-size:34px;font-weight:700;color:var(--wsj-red);letter-spacing:-0.015em;line-height:1;margin:10px 0 6px}
.ad-rail .ad-rail-cta{font-family:var(--mono);font-size:9.5px;letter-spacing:0.18em;text-transform:uppercase;color:#fff;background:var(--wsj-ink);padding:9px 14px;display:inline-block;font-weight:700;margin-top:8px}
.ad-banner-mid{background:#faf7ee;border-top:2px solid var(--wsj-ink);border-bottom:2px solid var(--wsj-ink);padding:22px 28px;margin:28px 0;display:flex;justify-content:space-between;align-items:center;gap:24px}
.ad-banner-mid .ad-tag-mid{font-family:var(--mono);font-size:8px;letter-spacing:0.22em;text-transform:uppercase;color:#aaa;font-weight:600;writing-mode:vertical-rl;transform:rotate(180deg)}
.ad-banner-mid .ad-mid-content{flex:1;display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center}
.ad-banner-mid .ad-mid-text h3{font-family:'Cormorant Garamond',serif;font-size:28px;font-weight:700;line-height:1.12;color:var(--wsj-ink);margin:0 0 8px;letter-spacing:-0.012em}
.ad-banner-mid .ad-mid-text p{font-family:var(--italic);font-style:italic;font-size:15px;color:var(--wsj-ink-soft);line-height:1.5;margin:0 0 8px}
.ad-banner-mid .ad-mid-text .brand{font-family:var(--mono);font-size:10px;letter-spacing:0.18em;text-transform:uppercase;color:var(--wsj-red);font-weight:700}
.ad-banner-mid .ad-mid-cta{font-family:var(--mono);font-size:11px;letter-spacing:0.16em;text-transform:uppercase;color:#fff;background:var(--wsj-ink);padding:14px 22px;font-weight:700;white-space:nowrap;cursor:pointer}
.ad-banner-mid .ad-mid-cta::after{content:" →"}

/* ══════════════════════════════════════════
   PAGE GRID
══════════════════════════════════════════ */
.page{max-width:1320px;margin:0 auto;padding:0 28px}
.grid{display:grid;grid-template-columns:1.5fr 1fr 0.85fr;gap:18px;padding:22px 0 0;border-top:2px solid var(--wsj-ink)}

/* ══════════════════════════════════════════
   ARTICLE CARDS
══════════════════════════════════════════ */
.art{
  background:var(--wsj-paper);border:0.5px solid var(--wsj-rule-strong);
  padding:20px 22px 18px;margin-bottom:0;
  display:flex;flex-direction:column;
  transition:background 0.18s,border-color 0.18s,box-shadow 0.18s;
  position:relative;overflow:hidden
}
.art + .art{margin-top:18px}
body.zz-active .art:hover{background:#fff;border-color:var(--wsj-ink);box-shadow:0 4px 14px rgba(10,10,10,0.07)}
body.zz-active .art{cursor:pointer}

.art > .kicker{order:1}
.art > .hd,.art > h2{order:2}
.art > .deck,.art > p.deck{order:3}
.art > .sig-above-block{order:0}
.art > .sig-inline-block{order:4}
.art > .sig-strip-block{order:4}
.art > .byline{order:5}
.art > .img{order:6}
.art > .lede,.art > p.lede{order:7}
.art > .art-action{order:8}

/* Placement order overrides */
body.mode-under  .art > .sig-above-block{order:3;margin-top:-2px;margin-bottom:14px}
body.mode-footer .art > .sig-inline-block{order:10;margin-top:14px;padding-top:14px;border-top:0.5px solid var(--wsj-rule-strong)}
body.mode-abovex  .art > .sig-strip-block{order:0;margin-bottom:16px}
body.mode-underx  .art > .sig-strip-block{order:3;margin-top:-2px;margin-bottom:14px}
body.mode-inlinex .art > .sig-strip-block{order:4}
body.mode-footerx .art > .sig-strip-block{order:10;margin-top:14px;padding-top:14px;border-top:0.5px solid var(--wsj-rule-strong)}

.art .kicker{font-family:var(--mono);font-size:10px;color:var(--wsj-red);font-weight:700;letter-spacing:0.18em;text-transform:uppercase;margin-bottom:9px}
.art .hd,.art h2.hd{font-family:var(--serif);font-weight:700;line-height:1.04;letter-spacing:-0.013em;color:var(--wsj-ink);margin:0 0 10px;cursor:pointer}
.art .hd a,.art h2.hd a{color:inherit;text-decoration:none}
.art .hd:hover,.art h2.hd:hover,.art .hd a:hover{color:var(--wsj-red)}
.art.hero .hd,.art.hero h2.hd{font-size:42px}
.art.subhero .hd,.art.subhero h2.hd{font-size:28px}
.art.std .hd,.art.std h2.hd{font-size:22px}
.art.compact .hd,.art.compact h2.hd{font-size:19px}
.art .deck{font-family:var(--italic);font-style:italic;font-size:17px;line-height:1.5;color:var(--wsj-ink-soft);margin-bottom:14px;font-weight:400}
.art.std .deck,.art.compact .deck,.art.subhero .deck{font-size:14.5px;margin-bottom:10px}
.art .byline{font-family:var(--mono);font-size:9px;color:var(--wsj-meta);letter-spacing:0.14em;text-transform:uppercase;margin-bottom:14px;font-weight:600;display:flex;align-items:baseline;gap:12px}
.art .byline em{font-style:italic;text-transform:none;letter-spacing:0;font-family:var(--body-serif);font-size:11.5px;color:var(--wsj-ink-soft);font-weight:600;margin-left:5px}
.art .lede{font-family:var(--body-serif);font-size:15px;line-height:1.65;color:var(--wsj-ink-soft);margin-bottom:14px}
.art.hero .lede::first-letter{font-size:42px;float:left;line-height:0.94;padding:6px 8px 0 0;font-weight:700;font-family:var(--serif);color:var(--wsj-ink)}
.art.std .lede,.art.compact .lede,.art.subhero .lede{font-size:14px;line-height:1.6;margin-bottom:10px}

/* Article images */
.art .img{background:#3a3530;margin-left:-22px;margin-right:-22px;margin-bottom:14px;margin-top:0;position:relative;overflow:hidden}
.art.hero .img{height:300px}
.art.subhero .img{height:240px}
.art.std .img{height:180px}
.art.compact .img{height:140px}
.art .img img{width:100%;height:100%;object-fit:cover}
/* CSS gradient placeholders by story type */
.art .img.fed{background:linear-gradient(135deg,#1a2a4a 0%,#0a1a3a 60%,#000 100%)}
.art .img.opec{background:linear-gradient(135deg,#3a1812 0%,#1a0a06 100%)}
.art .img.boeing{background:linear-gradient(160deg,#2a3a4a 0%,#0a1422 100%)}
.art .img.pension{background:linear-gradient(160deg,#2a2a4a 0%,#15163a 100%)}
.art .img.ai{background:linear-gradient(135deg,#0a3a3a 0%,#001a22 100%)}
.art .img .credit{position:absolute;bottom:7px;right:9px;font-family:var(--mono);font-size:8.5px;color:#bbb;letter-spacing:0.08em;text-transform:uppercase;font-weight:600}

/* Article action bar */
.art-action{display:flex;justify-content:space-between;align-items:center;margin-top:14px;padding-top:12px;border-top:1px solid var(--wsj-rule)}
.sub-wall{display:none;align-items:center;gap:8px;font-family:var(--mono);font-size:10px;color:var(--wsj-ink);letter-spacing:0.16em;text-transform:uppercase;font-weight:700;cursor:pointer}
.sub-wall .lock{font-size:11px;color:var(--wsj-red)}
.sub-wall:hover{color:var(--wsj-red)}
.read-more{display:none;font-family:var(--italic);font-style:italic;color:var(--wsj-meta);font-size:13px;letter-spacing:0.01em}
body.mode-ads .sub-wall{display:inline-flex}
body.mode-ads .read-more{display:inline}
.zz-cta{display:none;font-family:var(--italic);font-style:italic;font-size:14px;color:var(--wsj-red);font-weight:700;align-items:center;gap:6px;cursor:pointer;background:none;border:none;padding:0;letter-spacing:0.005em}
.zz-cta::after{content:"→";transition:transform 0.15s;font-style:normal;font-weight:600}
.zz-cta:hover::after{transform:translateX(4px)}
.zz-cta-meta{display:none;font-family:var(--mono);font-size:9px;color:var(--wsj-meta);letter-spacing:0.14em;text-transform:uppercase;font-weight:600}
body.zz-active .zz-cta{display:inline-flex}
body.zz-active .art-action .zz-cta{display:none}
body.zz-active .zz-cta-meta{display:inline}

/* Body-extended (unlocked content) */
.body-extended{display:none;margin-top:14px;padding-top:14px;border-top:0.5px solid var(--wsj-rule-strong)}
.body-extended p{font-family:'Source Serif 4',Georgia,serif;font-size:15px;line-height:1.6;color:var(--wsj-ink-soft);margin-bottom:14px;letter-spacing:0.005em}
.owned-mark{display:inline-flex;align-items:baseline;gap:9px;padding:8px 14px;background:rgba(11,212,123,0.10);border:0.5px solid var(--zz-green);font-family:var(--zz-mono);font-size:9.5px;font-weight:700;letter-spacing:0.16em;text-transform:uppercase;color:var(--zz-green);margin-top:6px}
.owned-mark .check{font-size:13px;color:var(--zz-green);font-weight:700}
.owned-mark .paid-on{color:var(--wsj-meta);font-weight:600;letter-spacing:0.08em;margin-left:8px}

/* QMV in byline */
.byline .zz-qmv{display:none;margin-left:auto;font-family:var(--mono);font-size:9px;letter-spacing:0.16em;text-transform:uppercase;color:var(--wsj-meta);font-weight:700}
.byline .zz-qmv strong{color:var(--wsj-ink-soft);font-weight:700;margin-left:3px;letter-spacing:0.04em}
body.zz-active .byline .zz-qmv{display:inline-flex}

/* ══════════════════════════════════════════
   SIGNAL WIDGET VISIBILITY — single source of truth
══════════════════════════════════════════ */
.sig-above-block,.sig-inline-block,.sig-strip-block,.sig-sticker-block{display:none;cursor:pointer}
body.mode-above   .sig-above-block,
body.mode-under   .sig-above-block,
body.mode-inline  .sig-inline-block,
body.mode-footer  .sig-inline-block,
body.mode-abovex  .sig-strip-block,
body.mode-underx  .sig-strip-block,
body.mode-inlinex .sig-strip-block,
body.mode-footerx .sig-strip-block{display:block}
body.mode-sticker .sig-sticker-block{display:inline-flex}

body.zz-active .sig-above-block,
body.zz-active .sig-inline-block,
body.zz-active .sig-strip-block{cursor:pointer;transition:opacity 0.15s}
body.zz-active .sig-above-block:hover,
body.zz-active .sig-inline-block:hover,
body.zz-active .sig-strip-block:hover{opacity:0.82}

/* Ads mode hides all ZZAZZ artifacts */
body.mode-ads .sig-rail-block{display:none}
body.mode-ads .zz-qmv{display:none}
body.mode-ads .freq-pill{display:none}

/* ══════════════════════════════════════════
   SIGNAL: STICKER
══════════════════════════════════════════ */
.sig-sticker-block{position:absolute;top:14px;right:14px;z-index:3;cursor:pointer}
body.mode-sticker .art,
body.mode-sticker .op,
body.mode-sticker .hot-item{position:relative}
.zz-sticker{
  background:var(--wsj-paper);border:1px solid var(--wsj-ink);border-left:3px solid var(--zz-green);
  padding:4px 9px 3px;font-family:var(--zz-mono);font-variant-numeric:tabular-nums;
  display:inline-flex;align-items:baseline;font-weight:700;font-size:12px;color:var(--wsj-ink);
  letter-spacing:-0.005em;line-height:1.2;box-shadow:0 2px 6px rgba(40,30,10,0.10);
  transition:background 0.15s,color 0.15s,border-color 0.15s,box-shadow 0.18s
}
.zz-sticker:hover{background:var(--wsj-ink);color:#fff;border-left-color:var(--zz-green);box-shadow:0 3px 10px rgba(40,30,10,0.18)}
.zz-sticker .px .cur{font-size:9px;color:var(--wsj-meta);margin-right:1px;font-weight:500;letter-spacing:0}
.zz-sticker .px .digit{display:inline-block;transition:color 0.18s ease-out;border-radius:2px}
.op .zz-sticker,.hot-item .zz-sticker{padding:3px 7px 2px;font-size:10.5px}
.op .sig-sticker-block{top:12px;right:14px}
.hot-item .sig-sticker-block{top:8px;right:0}
body.theme-dark .zz-sticker{background:#0a0a0a;border-color:#1a1a1a;border-left-color:var(--zz-green);color:#f5f5f5;box-shadow:0 2px 6px rgba(10,8,4,0.22)}
body.theme-dark .zz-sticker:hover{background:#1a1a1a;color:#ffaa00;border-color:#1a1a1a;border-left-color:var(--zz-green)}
body.theme-dark .zz-sticker .px .cur{color:#888}

/* ══════════════════════════════════════════
   SIGNAL: ZZ-LINE (compact widget)
══════════════════════════════════════════ */
.zz-line{
  display:flex;align-items:baseline;gap:10px;padding:6px 0;margin:0 0 14px;
  background:transparent;border:none;border-radius:0;box-shadow:none;
  cursor:pointer;transition:opacity 0.15s;
  font-family:var(--zz-mono);font-variant-numeric:tabular-nums;
  white-space:nowrap;flex-wrap:nowrap;overflow:visible
}
.zz-line:hover{box-shadow:none}

/* ══════════════════════════════════════════
   SIGNAL: SIG-STRIP-BLOCK (extended widget)
══════════════════════════════════════════ */
.sig-strip-block{
  background:#fbf6e8;border:1px solid #c4bca0;border-left:3px solid var(--zz-green);
  border-radius:4px;padding:14px 18px 12px;margin:0 0 14px;
  box-shadow:0 2px 6px rgba(40,30,10,0.08);transition:box-shadow 0.18s
}
.sig-strip-block:hover{box-shadow:0 3px 10px rgba(40,30,10,0.12)}
.sig-strip-block .zz-line{
  background:transparent;border:none;border-radius:0;box-shadow:none;
  padding:0 0 10px;margin:0 0 10px;overflow:visible;
  border-bottom:1px solid rgba(180,160,80,0.25)
}
.sig-strip-block .zz-line:hover{box-shadow:none}

/* Price */
.zz-price{
  font-family:var(--zz-mono);font-size:20px;font-weight:700;color:var(--wsj-ink);
  letter-spacing:-0.02em;line-height:1;
  font-variant-numeric:tabular-nums;font-feature-settings:"tnum";
  white-space:nowrap;display:inline-block
}
.zz-price .cur{font-family:var(--zz-mono);font-size:16px;color:var(--wsj-meta);margin-right:2px;font-weight:500;letter-spacing:0}
.zz-price .num{white-space:nowrap;display:inline;font-variant-numeric:tabular-nums}
.zz-price .digit{display:inline-block;border-radius:2px}

/* WHOLE-PRICE flash — the currency symbol AND the number flash together as one
   unit (matching the plug-and-play extension). The flash class lands on
   .px-flash, which wraps .cur + .num, so the rounded background chip encloses
   the currency too and never overlaps it. The chip is drawn by ::before,
   absolutely positioned with generous LEFT/RIGHT padding so it adds breathing
   room without shifting the price/delta layout. */
.px-flash{position:relative;z-index:0;display:inline-block;border-radius:4px;white-space:nowrap}
.px-flash > .cur,.px-flash > .num{position:relative;z-index:1}
.px-flash::before{content:"";position:absolute;left:-9px;right:-9px;top:-2px;bottom:-2px;
  border-radius:5px;background:transparent;z-index:-1;pointer-events:none}
.px-flash.flash-up{animation:zzFlashUp 1.8s ease-out}
.px-flash.flash-down{animation:zzFlashDown 1.8s ease-out}
.px-flash.flash-up .cur,.px-flash.flash-up .digit,
.px-flash.flash-down .cur,.px-flash.flash-down .digit{color:inherit}
.px-flash.flash-up::before{animation:zzFlashUpBg 1.8s ease-out}
.px-flash.flash-down::before{animation:zzFlashDownBg 1.8s ease-out}
@keyframes zzFlashUp{0%,55%{color:#0a9d5d}100%{color:var(--wsj-ink)}}
@keyframes zzFlashDown{0%,55%{color:var(--wsj-red)}100%{color:var(--wsj-ink)}}
@keyframes zzFlashUpBg{0%,55%{background:rgba(10,157,93,0.18)}100%{background:transparent}}
@keyframes zzFlashDownBg{0%,55%{background:rgba(200,68,47,0.18)}100%{background:transparent}}

/* Sized prices per article type */
.art.hero .zz-price{font-size:22px}
.art.hero .zz-price .cur{font-size:17px}
.art.subhero .zz-price{font-size:20px}
.art.subhero .zz-price .cur{font-size:16px}
.art.std .zz-price{font-size:18px}
.art.std .zz-price .cur{font-size:14px}
.art.compact .zz-price{font-size:17px}
.art.compact .zz-price .cur{font-size:13px}
.op .zz-price{font-size:17px}
.op .zz-price .cur{font-size:13px}

/* Delta */
.zz-delta{font-family:var(--zz-mono);font-size:11.5px;font-weight:700;letter-spacing:0;font-variant-numeric:tabular-nums;white-space:nowrap;flex-shrink:0}
.zz-delta.up{color:#0a9d5d}
.zz-delta.down{color:var(--wsj-red)}

/* Meta cluster */
.zz-meta{display:inline-flex;align-items:baseline;gap:7px;margin-left:auto;font-family:var(--zz-mono);font-size:9px;letter-spacing:0.16em;text-transform:uppercase;color:var(--wsj-meta);font-weight:600;white-space:nowrap;flex-shrink:0}
.zz-meta .sep{color:var(--wsj-rule-strong);font-weight:400}
.zz-live{display:inline-flex;align-items:baseline;gap:6px}
.zz-live .dot{width:6px;height:6px;border-radius:50%;flex-shrink:0;align-self:center}
.zz-live .dot.ultra{background:var(--zz-cyan);box-shadow:0 0 5px var(--zz-cyan);animation:pulse 1.2s infinite}
.zz-live .dot.high{background:var(--zz-blue-high);animation:pulse 1.6s infinite}
.zz-live .dot.med{background:var(--zz-blue-med);animation:pulse 2.2s infinite}
.zz-live .dot.low{background:var(--zz-indigo);animation:pulse 3s infinite}
.zz-band{color:var(--wsj-ink-soft);font-weight:700}
.zz-conf{color:var(--wsj-ink-soft);font-weight:700}

/* ══════════════════════════════════════════
   SIGNAL: CHART
══════════════════════════════════════════ */
.zz-chart{margin:0 0 14px;background:var(--wsj-paper);border:0.5px solid var(--wsj-rule-strong);padding:11px 14px 9px}
.zz-chart figcaption{font-family:var(--mono);font-size:8.5px;letter-spacing:0.2em;text-transform:uppercase;color:var(--wsj-meta);margin-bottom:8px;font-weight:700;display:flex;justify-content:space-between}
.zz-chart figcaption .src{color:var(--wsj-meta);font-weight:500}
.zz-chart .zz-chart-body{height:88px;position:relative}
.zz-chart .zz-chart-body svg{width:100%;height:100%;display:block}
.zz-chart .zz-chart-foot{display:flex;justify-content:space-between;margin-top:5px;font-family:var(--mono);font-size:8px;color:var(--wsj-meta);letter-spacing:0.12em;text-transform:uppercase;font-weight:600}
@keyframes zzChartFade{from{opacity:0.35}to{opacity:1}}

/* ══════════════════════════════════════════
   SIGNAL: RAILS (settlement options)
══════════════════════════════════════════ */
.zz-rails{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;font-family:var(--mono);font-size:9.5px;letter-spacing:0.14em;text-transform:uppercase;color:var(--wsj-meta);font-weight:600;padding-top:10px;border-top:0.5px solid var(--wsj-rule);margin-top:0}
.zz-rails-label{color:var(--wsj-ink-soft);font-weight:700;margin-right:6px}
.zz-rail{display:inline-flex;align-items:baseline;gap:5px;color:var(--wsj-meta);cursor:pointer;transition:color 0.15s}
.zz-rail::before{content:"●";font-size:8px;color:currentColor}
.zz-rail.primary{font-weight:700}
.zz-rail.primary.timepay{color:var(--zz-green)}
.zz-rail.primary.cash{color:var(--zz-gold)}
.zz-rail.primary.tpc{color:var(--zz-violet)}
.zz-rail.disabled{opacity:0.4;text-decoration:line-through;cursor:not-allowed;pointer-events:none}
.zz-rails .sep{color:var(--wsj-rule-strong)}

/* ══════════════════════════════════════════
   MARKETS COLUMN
══════════════════════════════════════════ */
.mkts{font-family:var(--body-serif);font-size:13px;border-left:1px solid var(--wsj-rule);padding-left:24px}
.mkts h3{font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:0.2em;text-transform:uppercase;color:var(--wsj-ink);border-bottom:1.5px solid var(--wsj-ink);padding-bottom:9px;margin:0 0 14px;display:flex;justify-content:space-between;align-items:baseline}
.mkts h3 .live-tag{font-size:9px;letter-spacing:0.16em;display:inline-flex;align-items:center;gap:5px;font-weight:700}
.mkts h3 .live-tag .dot{width:5px;height:5px;border-radius:50%}
.mkts h3 .live-tag.standard{color:var(--wsj-meta)}
.mkts h3 .live-tag.standard .dot{background:#bbb}
.mkts h3 .live-tag.zz{color:var(--zz-green);display:none}
.mkts h3 .live-tag.zz .dot{background:var(--zz-green);animation:pulse 1.4s infinite}
body.zz-active .mkts h3 .live-tag.standard{display:none}
body.zz-active .mkts h3 .live-tag.zz{display:inline-flex}

.mkt-row{display:grid;grid-template-columns:1fr 80px 70px;gap:8px;padding:7px 0;border-bottom:1px solid var(--wsj-rule);font-size:12.5px;font-family:var(--mono);font-variant-numeric:tabular-nums;align-items:center}
.mkt-row .nm{color:var(--wsj-ink);font-weight:700;letter-spacing:0.04em;font-size:11px}
.mkt-row .px{color:var(--wsj-ink);text-align:right;font-weight:500}
.mkt-row .chg{text-align:right;font-weight:700;font-size:11.5px}
.mkt-row .chg.up{color:#0a9d5d}
.mkt-row .chg.dn{color:#d83b2e}

/* HOTS */
.mkts .hots{margin-top:30px}
.mkts h3.hots-title{font-style:italic;font-family:'Cormorant Garamond',serif;font-size:18px;letter-spacing:0;text-transform:none;font-weight:700;color:var(--wsj-ink);border-bottom:1.5px solid var(--wsj-ink);padding-bottom:8px;margin-bottom:14px;display:block}
.hot-item{padding:12px 0;border-bottom:1px solid var(--wsj-rule);cursor:pointer;display:flex;flex-direction:column;position:relative}
.hot-item::before{content:attr(data-rank);position:absolute;left:0;top:14px;font-family:var(--zz-mono);font-size:9px;font-weight:700;color:var(--wsj-meta);letter-spacing:0.06em;display:none}
body.zz-active .hot-item::before{display:block}
.hot-item.tier-ultra::after,.hot-item.tier-high::after,.hot-item.tier-med::after{content:'';position:absolute;left:14px;top:14px;bottom:14px;width:2px;display:none}
.hot-item.tier-ultra::after{background:var(--zz-cyan)}
.hot-item.tier-high::after{background:var(--zz-blue-high)}
.hot-item.tier-med::after{background:var(--zz-blue-med)}
body.zz-active .hot-item.tier-ultra::after,
body.zz-active .hot-item.tier-high::after,
body.zz-active .hot-item.tier-med::after{display:block}
body.zz-active .hot-item{padding-left:30px}
.hot-item:hover .hh{color:var(--wsj-red)}
.hot-item:last-child{border-bottom:none}
.hot-item > .hk{order:1;font-family:var(--mono);font-size:9px;color:var(--wsj-red);letter-spacing:0.18em;text-transform:uppercase;font-weight:700;margin-bottom:5px}
.hot-item > .hh{order:2;font-family:var(--serif);font-size:17px;font-weight:700;line-height:1.18;color:var(--wsj-ink);margin-bottom:5px;letter-spacing:-0.005em}
.hot-item > .hb{order:4;font-family:var(--italic);font-style:italic;font-size:13px;line-height:1.5;color:var(--wsj-ink-soft);margin-bottom:8px}
.hot-item > .sig-rail-block{order:7}
body.mode-above   .hot-item > .sig-rail-block,
body.mode-abovex  .hot-item > .sig-rail-block{order:0;margin-top:0;margin-bottom:10px}
body.mode-under   .hot-item > .sig-rail-block,
body.mode-underx  .hot-item > .sig-rail-block{order:3;margin-top:0;margin-bottom:9px}
body.mode-inline  .hot-item > .sig-rail-block,
body.mode-inlinex .hot-item > .sig-rail-block{order:5;margin-top:2px}
body.mode-footer  .hot-item > .sig-rail-block,
body.mode-footerx .hot-item > .sig-rail-block{order:7;margin-top:10px;padding-top:10px;border-top:0.5px solid var(--wsj-rule-strong)}

/* ══════════════════════════════════════════
   SIG-RAIL-BLOCK (compact widget in HOTS)
══════════════════════════════════════════ */
.sig-rail-block{display:none;margin-top:9px;font-family:var(--zz-mono);font-variant-numeric:tabular-nums;cursor:pointer;transition:opacity 0.15s}
.sig-rail-block:hover{opacity:0.85}
body.zz-active:not(.mode-sticker) .sig-rail-block{display:block}
.sig-rail-line{display:flex;align-items:baseline;gap:9px;padding:6px 0;background:transparent;border:none;border-radius:0;box-shadow:none;transition:opacity 0.15s}
.sig-rail-block:hover .sig-rail-line{box-shadow:none}
.sig-rail-line .freq-pill{font-size:7.5px;letter-spacing:0.16em;font-weight:700;padding:2px 5px;border-radius:1px;text-transform:uppercase;display:inline-flex;align-items:center;gap:5px}
.sig-rail-line .freq-pill::before{content:"●";font-size:6px;line-height:1}
.sig-rail-line .freq-pill.ultra{background:rgba(0,229,255,0.12);color:#0089a8}
.sig-rail-line .freq-pill.high{background:rgba(30,159,255,0.12);color:#1565c0}
.sig-rail-line .freq-pill.med{background:rgba(61,122,255,0.1);color:#1f3fb5}
.sig-rail-line .freq-pill.low{background:rgba(99,102,241,0.1);color:#3236a0}
.sig-rail-line .px{font-size:14px;font-weight:700;color:var(--wsj-ink);letter-spacing:-0.01em}
.sig-rail-line .px .cur{font-size:10px;color:var(--wsj-meta);margin-right:1px;font-weight:500}
.sig-rail-line .delta{font-size:10px;font-weight:700;letter-spacing:0}
.sig-rail-line .delta.up{color:#0a9d5d}
.sig-rail-line .delta.down{color:var(--wsj-red)}
.sig-rail-line .conf{font-size:9px;color:var(--wsj-meta);font-weight:700;letter-spacing:0.08em;margin-left:auto;text-transform:uppercase}
.sig-rail-ext{display:none;font-family:var(--zz-mono);font-size:9px;letter-spacing:0.12em;color:var(--wsj-meta);text-transform:uppercase;font-weight:600;margin-top:5px;padding-top:5px;border-top:1px solid rgba(180,160,80,0.2)}
body.mode-abovex .sig-rail-ext,
body.mode-underx .sig-rail-ext,
body.mode-inlinex .sig-rail-ext,
body.mode-footerx .sig-rail-ext{display:flex;gap:5px;align-items:baseline;flex-wrap:wrap}
.rail-tag{color:var(--wsj-ink-soft);font-weight:700}
.rail-tag.cash{color:var(--zz-gold)}
.rail-tag.tpc{color:var(--zz-violet)}
.sep{color:var(--wsj-rule-strong);font-weight:400}

/* ══════════════════════════════════════════
   MARKETS PULSE STRIP
══════════════════════════════════════════ */
.pulse-strip{display:none;max-width:1320px;margin:14px auto 0;padding:0 28px}
body.zz-active:not(.mode-ads) .pulse-strip{display:block}
body.mode-ads .pulse-strip{display:none!important}
.pulse-rail-label{font-family:var(--zz-mono);font-size:9px;font-weight:700;letter-spacing:0.22em;text-transform:uppercase;color:var(--wsj-red);margin-bottom:7px;display:flex;align-items:center;gap:8px}
.pulse-rail-label::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--wsj-red);animation:pulse 1.4s infinite}
.pulse-items{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1.5px solid var(--wsj-ink);border-bottom:1.5px solid var(--wsj-ink);background:var(--wsj-paper)}
.pulse-item{padding:13px 18px 14px;border-right:0.5px solid var(--wsj-rule-strong);cursor:pointer;transition:background 0.15s;display:flex;flex-direction:column;gap:5px}
.pulse-item:last-child{border-right:none}
.pulse-item:hover{background:#fff}
.pulse-kicker{font-family:var(--zz-mono);font-size:8.5px;font-weight:700;letter-spacing:0.22em;text-transform:uppercase;color:var(--wsj-red)}
.pulse-head{font-family:'Cormorant Garamond',serif;font-size:16px;font-weight:700;line-height:1.22;color:var(--wsj-ink);letter-spacing:-0.005em}
.pulse-item:hover .pulse-head{color:var(--wsj-red)}
.pulse-meta{display:flex;align-items:baseline;gap:10px;margin-top:4px;font-family:var(--zz-mono);font-size:9.5px;font-variant-numeric:tabular-nums}
.pulse-px{font-size:14px;font-weight:700;color:var(--wsj-ink);letter-spacing:-0.01em}
.pulse-px .cur{font-size:10px;color:var(--wsj-meta);margin-right:1px;font-weight:500}
.pulse-px .digit{display:inline-block;font-variant-numeric:tabular-nums;transition:color 0.18s}
.pulse-delta{font-size:10px;font-weight:700}
.pulse-delta.up{color:#0a9d5d}
.pulse-delta.down{color:var(--wsj-red)}
.pulse-tier{font-size:8.5px;color:var(--wsj-meta);letter-spacing:0.16em;text-transform:uppercase;font-weight:600;margin-left:auto;display:inline-flex;align-items:baseline;gap:5px}
.pulse-tier .dot{width:5px;height:5px;border-radius:50%;align-self:center}
.pulse-tier .dot.ultra{background:var(--zz-cyan);box-shadow:0 0 4px var(--zz-cyan);animation:pulse 1.2s infinite}
.pulse-tier .dot.high{background:var(--zz-blue-high);animation:pulse 1.6s infinite}
.pulse-conf{font-size:8.5px;color:var(--wsj-meta);letter-spacing:0.14em;text-transform:uppercase;font-weight:700}

/* ══════════════════════════════════════════
   OPINION SECTION
══════════════════════════════════════════ */
.opinion-section{padding:28px 0 0}
.opinion-header{display:flex;align-items:center;gap:16px;margin-bottom:18px}
.opinion-label{font-family:'Cormorant Garamond',serif;font-size:18px;font-weight:700;font-style:italic;white-space:nowrap;color:var(--wsj-ink)}
.opinion-rule-left,.opinion-rule-right{flex:1;height:1px;background:var(--wsj-ink)}
.opinion-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.op{background:var(--wsj-paper);border:0.5px solid var(--wsj-rule-strong);padding:14px 16px 12px;display:flex;flex-direction:column;position:relative;overflow:hidden;transition:background 0.18s,border-color 0.18s,box-shadow 0.18s}
body.zz-active .op:hover{background:#fff;border-color:var(--wsj-ink);box-shadow:0 4px 14px rgba(10,10,10,0.07)}
body.zz-active .op{cursor:pointer}
.op-type{font-family:var(--mono);font-size:10px;color:var(--wsj-red);font-weight:700;letter-spacing:0.18em;text-transform:uppercase;margin-bottom:9px}
.op h3{font-family:var(--serif);font-size:20px;font-weight:700;line-height:1.08;letter-spacing:-0.01em;color:var(--wsj-ink);margin:0 0 10px;cursor:pointer}
.op h3:hover{color:var(--wsj-red)}
.op .deck{font-family:var(--italic);font-style:italic;font-size:14px;line-height:1.5;color:var(--wsj-ink-soft);margin-bottom:12px}
.op .au{display:flex;align-items:baseline;gap:12px;margin-top:auto;padding-top:10px;border-top:0.5px solid var(--wsj-rule)}
.op .op-photo{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#c4bca0,#8a8070);flex-shrink:0}
.op .op-name{font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--wsj-ink);margin-bottom:2px}
.op .op-title{font-family:var(--italic);font-style:italic;font-size:12px;color:var(--wsj-meta)}
.op .au .zz-qmv{display:none;margin-left:auto;font-family:var(--mono);font-size:9px;letter-spacing:0.16em;text-transform:uppercase;color:var(--wsj-meta);font-weight:700}
.op .au .zz-qmv strong{color:var(--wsj-ink-soft);font-weight:700;margin-left:3px}
body.zz-active .op .au .zz-qmv{display:inline-flex}
.op .zz-line{padding:8px 12px;margin:0 0 10px}
.op .sig-strip-block{padding:11px 14px 10px;margin:0 0 10px}

/* ══════════════════════════════════════════
   PAYWINDOW MODAL
══════════════════════════════════════════ */
.pw-overlay{position:fixed;inset:0;background:rgba(10,10,10,0.62);z-index:2000;display:none;align-items:flex-start;justify-content:center;padding:40px 20px;overflow-y:auto}
.pw-overlay.open{display:flex;animation:fadeIn 0.2s}
.pw-modal{background:#fff;width:100%;max-width:560px;border:0.5px solid var(--wsj-ink);border-radius:12px;box-shadow:0 24px 80px rgba(0,0,0,0.28);overflow:hidden;position:relative;margin:auto}
.pw-header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px 12px;border-bottom:0.5px solid var(--wsj-rule);background:#fff}
.pw-masthead{font-family:'Cormorant Garamond',serif;font-size:18px;font-weight:700;color:var(--wsj-ink);letter-spacing:-0.005em}
.pw-masthead .dot{color:var(--wsj-red)}
.pw-close{background:none;border:none;cursor:pointer;font-size:16px;color:var(--wsj-meta);padding:4px 8px;transition:color 0.15s;line-height:1}
.pw-close:hover{color:var(--wsj-ink)}
.pw-pricelayer{padding:14px 20px;border-bottom:0.5px solid var(--wsj-rule);font-family:var(--zz-mono);background:#fbf6e8}
.pw-article-preview{padding:14px 20px 10px}
.pw-headline{font-family:'Cormorant Garamond',serif;font-size:20px;font-weight:700;line-height:1.15;color:var(--wsj-ink);letter-spacing:-0.012em;margin-bottom:7px}
.pw-snip{font-family:var(--italic);font-style:italic;font-size:14px;line-height:1.5;color:var(--wsj-ink-soft);margin-bottom:8px}
.pw-byline{font-family:var(--mono);font-size:9px;color:var(--wsj-meta);letter-spacing:0.14em;text-transform:uppercase;font-weight:600}
.pw-byline em{font-style:italic;text-transform:none;font-family:var(--body-serif);font-size:11px;color:var(--wsj-ink-soft);letter-spacing:0;margin-left:5px}
.pw-rails{padding:14px 20px;border-top:0.5px solid var(--wsj-rule);background:#faf8f0;display:flex;flex-direction:column;gap:10px}
.pw-rail{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border:1.5px solid var(--wsj-rule-strong);border-radius:8px;cursor:pointer;background:#fff;transition:all 0.15s;position:relative}
.pw-rail:hover{border-color:var(--wsj-ink);background:#fff;box-shadow:0 2px 8px rgba(0,0,0,0.06)}
.pw-rail.preferred{background:linear-gradient(180deg,#f0f9f4 0%,#fff 100%);border-color:var(--zz-green)}
.pw-rail .rail-dot{width:10px;height:10px;border-radius:50%;display:inline-block;margin-top:3px;flex-shrink:0}
.pw-rail.cash .rail-dot{background:#b8893a}
.pw-rail.timepay .rail-dot{background:#4a7a4a}
.pw-rail.tpc .rail-dot{background:#5b3fb8}
.pw-rail-inner{flex:1}
.pw-rail-label{font-family:var(--zz-mono);font-size:10.5px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--wsj-ink-soft);margin-bottom:3px}
.pw-rail-cost{font-family:'Cormorant Garamond',serif;font-size:20px;font-weight:700;color:var(--wsj-ink);letter-spacing:-0.01em;margin-bottom:2px}
.pw-rail-detail{font-family:var(--body-serif);font-size:12px;color:var(--wsj-meta);line-height:1.4;font-style:italic}
.pw-rail.disabled{opacity:0.45;cursor:not-allowed;pointer-events:none}
.pw-trust{padding:18px 20px 14px;background:#fff}
.pw-trust-title{font-family:var(--zz-mono);font-size:10.5px;font-weight:700;letter-spacing:0.16em;text-transform:uppercase;color:#8c8576;margin-bottom:10px;display:flex;justify-content:space-between;align-items:center;border-top:0.5px solid var(--wsj-rule);padding-top:14px}
.pw-trust-conf{color:#4a7a4a;font-family:var(--zz-mono);font-size:13px;font-weight:700}
.pw-trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.pw-tf{background:#ede7d8;border-radius:5px;padding:9px 11px;font-family:var(--zz-mono)}
.pw-tf-name{color:#8c8576;font-size:9px;letter-spacing:0.08em;text-transform:uppercase;margin-bottom:3px;font-weight:600}
.pw-tf-val{font-weight:700;color:#1a1714;font-size:12px;font-variant-numeric:tabular-nums}
.pw-tf.high .pw-tf-val{color:#4a7a4a}
.pw-tf.med .pw-tf-val{color:#d68a17}
.pw-tf.low .pw-tf-val{color:#b03a2a}
.pw-rationale{display:flex;flex-wrap:wrap;gap:6px;padding:14px 20px 0;background:#faf8f0}
.pw-rat-chip{font-family:var(--zz-mono);font-size:10.5px;color:#3a3530;background:#fff;padding:5px 11px;border-radius:14px;border:1px solid #e8e2d0;letter-spacing:0.02em}
.pw-rat-chip strong{color:#8c8576;font-weight:700;text-transform:uppercase;letter-spacing:0.08em;font-size:9.5px;margin-right:4px}
.pw-commentary{padding:18px 20px 26px;background:#faf8f0;border-top:1px solid #f0ebdc;font-family:'Source Serif 4','Cormorant Garamond',serif;font-size:14.5px;line-height:1.62;color:#3a3530;font-style:italic;border-radius:0 0 12px 12px}
.pw-commentary::before{content:'COMMENTARY';display:block;font-family:var(--zz-mono);font-size:10px;letter-spacing:0.2em;text-transform:uppercase;color:#8c8576;font-weight:700;margin-bottom:8px;font-style:normal}
.pw-commentary strong{color:#1a1714;font-style:normal;font-weight:600}
.pw-settlement,.pw-success{padding:0 20px 24px;display:none;background:var(--wsj-bg)}
.pw-settlement.active,.pw-success.active{display:block;animation:fadeIn 0.25s}
@keyframes fadeIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
.pw-screen{padding:28px 20px;background:#fff;display:none;animation:fadeIn 0.2s}
.pw-screen.active{display:block}
.pw-screen-title{font-family:'Cormorant Garamond',serif;font-size:22px;font-weight:700;color:var(--wsj-ink);margin-bottom:6px;letter-spacing:-0.018em}
.pw-screen-sub{font-family:'Lora',Georgia,serif;font-size:13.5px;color:var(--wsj-ink-soft);line-height:1.5;font-style:italic;margin-bottom:22px}
.pw-confirm-btn{width:100%;padding:14px;background:var(--wsj-ink);color:#fff;border:none;font-family:var(--zz-mono);font-size:11px;font-weight:700;letter-spacing:0.18em;text-transform:uppercase;cursor:pointer;transition:background 0.15s;margin-top:8px}
.pw-confirm-btn:hover{background:#2a2620}

/* Cash form fields */
.cash-shortcuts{display:flex;gap:10px;margin-bottom:14px}
.cash-shortcut{flex:1;padding:11px 14px;border:1px solid var(--wsj-ink);background:#fff;font-family:var(--zz-mono);font-size:11px;font-weight:700;letter-spacing:0.04em;text-transform:uppercase;color:var(--wsj-ink);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:7px;transition:all 0.15s}
.cash-shortcut.apple{background:#000;color:#fff;border-color:#000;letter-spacing:0;font-family:-apple-system,sans-serif;font-size:13px;font-weight:600;text-transform:none}
.cash-shortcut.google{background:#fff;color:#3c4043;border:1px solid #dadce0;letter-spacing:0;font-family:Roboto,Arial,sans-serif;font-size:13px;font-weight:500;text-transform:none}
.cash-divider{display:flex;align-items:center;gap:12px;margin:14px 0;font-family:var(--zz-mono);font-size:9.5px;letter-spacing:0.2em;color:var(--wsj-meta);text-transform:uppercase;font-weight:600}
.cash-divider::before,.cash-divider::after{content:'';flex:1;height:1px;background:var(--wsj-rule)}
.cash-form-real{display:flex;flex-direction:column;gap:14px}
.cash-field{display:flex;flex-direction:column;gap:5px}
.cash-field label{font-family:var(--zz-mono);font-size:9.5px;font-weight:700;letter-spacing:0.16em;text-transform:uppercase;color:var(--wsj-meta)}
.cash-field input{padding:11px 14px;border:1.5px solid var(--wsj-rule-strong);border-radius:4px;font-family:var(--zz-mono);font-size:14px;font-weight:500;color:var(--wsj-ink);background:#fff;outline:none;transition:border-color 0.15s;letter-spacing:0.02em}
.cash-field input:focus{border-color:var(--wsj-ink)}

/* ══════════════════════════════════════════
   PROFILE / LIBRARY DROPDOWNS
══════════════════════════════════════════ */
.util-library{display:flex;align-items:center;gap:5px}
.lib-count{font-family:var(--zz-mono);font-size:9px;background:var(--zz-green);color:#fff;padding:1px 5px;border-radius:10px;font-weight:700}
.lib-dropdown{position:fixed;top:42px;right:240px;width:300px;background:#fff;border:1px solid var(--wsj-ink);box-shadow:0 18px 48px rgba(0,0,0,0.18);z-index:1500;display:none;opacity:0;transform:translateY(-8px);transition:all 0.2s}
.lib-dropdown.show{display:block;opacity:1;transform:translateY(0)}
.lib-head{padding:12px 18px;font-family:var(--zz-mono);font-size:9px;letter-spacing:0.18em;text-transform:uppercase;color:var(--wsj-meta);font-weight:700;border-bottom:0.5px solid var(--wsj-rule)}
.lib-item{padding:12px 18px;border-bottom:0.5px solid var(--wsj-rule);cursor:pointer;transition:background 0.12s}
.lib-item:hover{background:var(--wsj-bg)}
.lib-item-headline{font-family:var(--body-serif);font-size:13.5px;font-weight:600;color:var(--wsj-ink);margin-bottom:3px;line-height:1.3}
.lib-item-meta{font-family:var(--mono);font-size:9px;color:var(--wsj-meta);letter-spacing:0.1em;text-transform:uppercase;display:flex;gap:10px;align-items:baseline}
.lib-item-price{font-weight:700;color:var(--zz-green)}
.profile-chip{display:flex;align-items:center;gap:7px;cursor:pointer;padding:3px 0}
.pc-circle{width:30px;height:30px;border-radius:50%;background:var(--wsj-ink);color:#fff;font-family:var(--zz-mono);font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;transition:transform 0.15s,box-shadow 0.15s}
.profile-chip:hover .pc-circle{transform:scale(1.04);box-shadow:0 4px 12px rgba(0,0,0,0.15)}
.profile-dropdown{position:fixed;top:50px;right:24px;width:280px;background:#fff;border:1px solid var(--wsj-ink);box-shadow:0 18px 48px rgba(0,0,0,0.18);z-index:1500;display:none;opacity:0;transform:translateY(-8px);transition:all 0.2s}
.profile-dropdown.show{display:block;opacity:1;transform:translateY(0)}
.pd-head{display:flex;align-items:center;gap:13px;padding:18px 18px 14px;border-bottom:0.5px solid var(--wsj-rule)}
.pd-avatar{width:42px;height:42px;border-radius:50%;background:var(--wsj-ink);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--zz-mono);font-size:14px;font-weight:700}
.pd-name{font-family:'Cormorant Garamond',serif;font-size:15px;font-weight:700;color:var(--wsj-ink);margin-bottom:1px;line-height:1.2}
.pd-sub{font-family:var(--zz-mono);font-size:9px;color:var(--wsj-meta);letter-spacing:0.14em;text-transform:uppercase;font-weight:600}
.pd-balance{padding:14px 18px;background:linear-gradient(180deg,var(--wsj-paper),#fff);border-bottom:0.5px solid var(--wsj-rule)}
.pd-bal-label{font-family:var(--zz-mono);font-size:9px;font-weight:700;letter-spacing:0.18em;text-transform:uppercase;color:var(--wsj-meta);margin-bottom:4px}
.pd-bal-val{font-family:var(--zz-mono);font-size:28px;font-weight:700;color:var(--zz-violet);letter-spacing:-0.01em;font-variant-numeric:tabular-nums}
.pd-bal-unit{font-size:13px;color:var(--wsj-meta);font-weight:600;margin-left:4px;letter-spacing:0.08em}
.pd-stat{padding:14px 18px;border-bottom:0.5px solid var(--wsj-rule);display:flex;flex-direction:column;gap:6px}
.pd-stat-row{display:flex;justify-content:space-between;font-family:'Lora',Georgia,serif;font-size:13px;font-style:italic;color:var(--wsj-ink-soft)}
.pd-stat-row strong{color:var(--wsj-ink);font-style:normal;font-weight:700;font-family:var(--zz-mono);font-size:11.5px;letter-spacing:0.04em}
.pd-signout{width:100%;padding:13px;background:none;border:none;border-top:0.5px solid var(--wsj-rule);font-family:var(--zz-mono);font-size:10.5px;font-weight:700;letter-spacing:0.18em;text-transform:uppercase;color:var(--wsj-red);cursor:pointer;transition:background 0.15s}
.pd-signout:hover{background:var(--wsj-paper)}

/* ══════════════════════════════════════════
   READER OVERLAY
══════════════════════════════════════════ */
.reader-overlay{position:fixed;inset:0;background:var(--wsj-paper);z-index:1800;display:none;overflow-y:auto;font-family:'Source Serif 4',Georgia,serif}
.reader-overlay.open{display:block;animation:fadeIn 0.25s}
.reader-progress{position:fixed;top:0;left:0;height:3px;background:var(--wsj-red);width:0%;z-index:1810;transition:width 0.1s linear}
.reader-chrome{position:sticky;top:0;background:var(--wsj-paper);border-bottom:1px solid var(--wsj-rule);z-index:1805;padding:14px 36px;display:flex;align-items:center;gap:24px}
.reader-back{background:none;border:none;cursor:pointer;font-family:var(--zz-mono);font-size:10.5px;font-weight:700;letter-spacing:0.16em;text-transform:uppercase;color:var(--wsj-ink);display:flex;align-items:center;gap:8px;padding:6px 0;transition:color 0.15s}
.reader-back:hover{color:var(--wsj-red)}
.reader-back::before{content:'←';font-size:14px;letter-spacing:0}
.reader-masthead{font-family:'Cormorant Garamond',serif;font-size:18px;font-weight:700;color:var(--wsj-ink);letter-spacing:-0.005em;flex:1;text-align:center}
.reader-masthead .dot{color:var(--wsj-red)}
.reader-meta-right{display:flex;align-items:center;gap:14px;font-family:var(--zz-mono);font-size:10px;color:var(--wsj-meta);letter-spacing:0.14em;text-transform:uppercase;font-weight:600}
.reader-owned-badge{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;background:rgba(11,212,123,0.08);border:0.5px solid var(--zz-green);color:var(--zz-green);font-family:var(--zz-mono);font-size:9.5px;font-weight:700;letter-spacing:0.16em}
.reader-body{max-width:680px;margin:0 auto;padding:48px 28px 80px}

/* ══════════════════════════════════════════
   TOAST
══════════════════════════════════════════ */
.tbt-toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%) translateY(20px);background:var(--wsj-ink);color:#fff;padding:12px 24px;font-family:var(--zz-mono);font-size:11px;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;border-radius:4px;opacity:0;transition:all 0.25s;z-index:3000;pointer-events:none;white-space:nowrap}
.tbt-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}

/* ══════════════════════════════════════════
   FOOTER
══════════════════════════════════════════ */
.site-footer{background:var(--wsj-ink);color:#fff;margin-top:48px;padding:40px 0 24px}
.footer-inner{max-width:1320px;margin:0 auto;padding:0 28px}
.footer-masthead{font-family:'Cormorant Garamond',serif;font-size:36px;font-weight:700;letter-spacing:-0.02em;margin-bottom:32px;line-height:1}
.footer-masthead .stop{color:var(--wsj-red)}
.footer-nav{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;border-top:1px solid rgba(255,255,255,0.12);padding-top:28px;margin-bottom:28px}
.footer-col{display:flex;flex-direction:column;gap:8px}
.footer-col-head{font-family:var(--mono);font-size:9px;font-weight:700;letter-spacing:0.22em;text-transform:uppercase;color:rgba(255,255,255,0.45);margin-bottom:8px}
.footer-col a{color:rgba(255,255,255,0.75);text-decoration:none;font-family:var(--body-serif);font-size:13px;transition:color 0.15s}
.footer-col a:hover{color:#fff}
.footer-legal{border-top:1px solid rgba(255,255,255,0.12);padding-top:20px;display:flex;justify-content:space-between;font-family:var(--mono);font-size:9.5px;color:rgba(255,255,255,0.38);letter-spacing:0.08em}

/* ══════════════════════════════════════════
   SINGLE ARTICLE (reader view in WP)
══════════════════════════════════════════ */
.reader-article{max-width:700px;margin:40px auto;padding:0 28px}
.reader-article-kicker{font-family:var(--mono);font-size:10px;color:var(--wsj-red);font-weight:700;letter-spacing:0.18em;text-transform:uppercase;margin-bottom:12px}
.reader-article-head{font-family:var(--serif);font-size:42px;font-weight:700;line-height:1.04;letter-spacing:-0.02em;color:var(--wsj-ink);margin:0 0 16px}
.reader-article-deck{font-family:var(--italic);font-style:italic;font-size:19px;line-height:1.5;color:var(--wsj-ink-soft);margin-bottom:18px;font-weight:400}
.reader-article-byline{font-family:var(--mono);font-size:9px;color:var(--wsj-meta);letter-spacing:0.14em;text-transform:uppercase;font-weight:600;margin-bottom:24px;display:flex;gap:12px;align-items:baseline;border-bottom:1px solid var(--wsj-rule);padding-bottom:14px}
.byline-by{color:var(--wsj-ink-soft)}
.byline-loc{font-style:italic;text-transform:none;letter-spacing:0;font-family:var(--body-serif)}
.byline-date{margin-left:auto}
.reader-article-img{margin:0 -28px 28px;height:400px;overflow:hidden}
.reader-article-img img{width:100%;height:100%;object-fit:cover}
.reader-article-body{font-family:var(--body-serif);font-size:17px;line-height:1.7;color:var(--wsj-ink-soft)}
.reader-article-body p{margin-bottom:1.4em}
.reader-related{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:48px;padding-top:28px;border-top:1.5px solid var(--wsj-ink)}
.reader-related-title{grid-column:1/-1;font-family:var(--mono);font-size:10px;letter-spacing:0.22em;text-transform:uppercase;color:var(--wsj-meta);font-weight:700;margin-bottom:8px}
.reader-related-item{border-left:2px solid var(--wsj-ink);padding-left:14px;cursor:pointer;transition:border-color 0.15s}
.reader-related-item:hover{border-left-color:var(--wsj-red)}
.ri-kicker{font-family:var(--zz-mono);font-size:9px;letter-spacing:0.18em;text-transform:uppercase;color:var(--wsj-red);font-weight:700;margin-bottom:5px}
.ri-head{font-family:'Cormorant Garamond',serif;font-size:17px;font-weight:700;line-height:1.22;color:var(--wsj-ink);margin-bottom:6px;letter-spacing:-0.008em}
.reader-related-item:hover .ri-head{color:var(--wsj-red)}
.ri-price{font-family:var(--zz-mono);font-size:11px;font-weight:700;color:var(--wsj-ink);letter-spacing:-0.005em;font-variant-numeric:tabular-nums}
.ri-price .cur{font-size:9px;color:var(--wsj-meta);margin-right:1px}
.ri-price .delta{font-size:9.5px;margin-left:6px;font-weight:700}
.ri-price .delta.up{color:#0a9d5d}
.ri-price .delta.down{color:var(--wsj-red)}
.reader-actions{display:flex;gap:14px;margin-top:18px;flex-wrap:wrap}
.reader-action{background:none;border:0.5px solid var(--wsj-rule-strong);padding:9px 14px;cursor:pointer;font-family:var(--zz-mono);font-size:10px;font-weight:700;letter-spacing:0.16em;text-transform:uppercase;color:var(--wsj-ink);transition:all 0.15s}
.reader-action:hover{border-color:var(--wsj-ink);background:#fff}

/* ══════════════════════════════════════════
   DARK THEME OVERRIDES
══════════════════════════════════════════ */
/* Dark is a ZZAZZ-chrome toggle ONLY — the publisher's site chrome (body,
   utility bar, masthead, section nav, article cards) stays light always.
   Only the ZZAZZ signal widgets, chart, pulse strip, PayWindow modal, and
   reader overlay recolor below. */
/* ── ZZAZZ signal widgets: dark surface + readable text (site chrome stays light) ── */
body.theme-dark .zz-line{background:transparent;border:none;box-shadow:none}
body.theme-dark .sig-strip-block{background:#0a0a0a;border-color:#1a1a1a;border-left-color:var(--zz-green);box-shadow:0 4px 14px rgba(10,8,4,0.22)}
body.theme-dark .sig-strip-block .zz-line{background:transparent;border:none;border-radius:0;box-shadow:none;border-bottom:1px solid #1a1a1a}
body.theme-dark .zz-price{color:#f5f5f5}
body.theme-dark .zz-price .cur{color:#888}
/* Dark theme — brighter up/down colours for the whole-number flash */
body.theme-dark .px-flash.flash-up{animation-name:zzFlashUpD}
body.theme-dark .px-flash.flash-down{animation-name:zzFlashDownD}
body.theme-dark .px-flash.flash-up::before{animation-name:zzFlashUpBgD}
body.theme-dark .px-flash.flash-down::before{animation-name:zzFlashDownBgD}
@keyframes zzFlashUpD{0%,55%{color:#0bd47b}100%{color:#f5f5f5}}
@keyframes zzFlashDownD{0%,55%{color:#ff3b30}100%{color:#f5f5f5}}
@keyframes zzFlashUpBgD{0%,55%{background:rgba(11,212,123,0.24)}100%{background:transparent}}
@keyframes zzFlashDownBgD{0%,55%{background:rgba(255,59,48,0.24)}100%{background:transparent}}
body.theme-dark .zz-delta.up{color:#0bd47b}
body.theme-dark .zz-delta.down{color:#ff3b30}
body.theme-dark .zz-meta,body.theme-dark .zz-rails{color:#888}
body.theme-dark .zz-band,body.theme-dark .zz-conf,body.theme-dark .zz-rails-label{color:#ccc}
body.theme-dark .zz-meta .sep,body.theme-dark .zz-rails .sep{color:#2a2a2a}
body.theme-dark .zz-rails{border-top-color:#1a1a1a}
body.theme-dark .zz-chart{background:transparent;border-color:#1a1a1a}
body.theme-dark .zz-chart figcaption{color:#888}
body.theme-dark .zz-chart figcaption .src{color:#666}
body.theme-dark .zz-chart-foot{color:#888}
/* Sticker digit flash → dark keyframes */
/* HOTS rail-sized widget */
body.theme-dark .sig-rail-line{background:transparent;border:none;box-shadow:none}
body.theme-dark .sig-rail-line .px{color:#f5f5f5}
body.theme-dark .sig-rail-line .px .cur{color:#888}
body.theme-dark .sig-rail-line .delta.up{color:#0bd47b}
body.theme-dark .sig-rail-line .delta.down{color:#ff3b30}
body.theme-dark .sig-rail-line .conf{color:#888}
body.theme-dark .sig-rail-ext{background:transparent;border-color:#1a1a1a;color:#888}
body.theme-dark .sig-rail-ext .sep{color:#2a2a2a}
/* Pulse strip price text */
body.theme-dark .pulse-px{color:#f5f5f5}
body.theme-dark .pulse-px .cur,body.theme-dark .pulse-tier,body.theme-dark .pulse-conf{color:#888}
body.theme-dark .pulse-items{background:#0a0a0a;border-color:#1a1a1a}
body.theme-dark .pulse-item{border-right-color:#1a1a1a}
body.theme-dark .pulse-item:hover{background:#141414}
body.theme-dark .pulse-head{color:#f5f5f5}
body.theme-dark .pw-modal{background:#0a0a0a;border-color:#2a2a2a;color:#fff}
body.theme-dark .pw-header{background:#0a0a0a}
body.theme-dark .pw-headline{color:#fff}
body.theme-dark .pw-snip{color:#bbb}
body.theme-dark .pw-pricelayer{background:#000}
body.theme-dark .pw-rails{background:#0a0a0a;border-top-color:#2a2a2a}
body.theme-dark .pw-rail{background:#141414;border-color:#2a2a2a;color:#fff}
body.theme-dark .pw-rail:hover{border-color:#fff;background:#1a1a1a}
body.theme-dark .pw-rail.preferred{background:linear-gradient(180deg,#0a3a26 0%,#141414 100%);border-color:#0bd47b}
body.theme-dark .pw-trust{background:#0a0a0a}
body.theme-dark .pw-tf{background:#141414;border-color:#2a2a2a}
body.theme-dark .pw-tf-val{color:#fff}
body.theme-dark .pw-tf.high .pw-tf-val{color:#0bd47b}
body.theme-dark .pw-tf.med .pw-tf-val{color:#ffaa00}
body.theme-dark .lib-dropdown,
body.theme-dark .profile-dropdown{background:#0a0a0a;border-color:#1a1a1a;color:#f5f5f5}
body.theme-dark .pd-head,
body.theme-dark .pd-balance,
body.theme-dark .pd-stat{border-bottom-color:#1a1a1a}
body.theme-dark .pd-name{color:#f5f5f5}
body.theme-dark .pd-balance{background:linear-gradient(180deg,#141414,#0a0a0a)}
body.theme-dark .cash-field input{background:#141414;color:#f5f5f5;border-color:#2a2a2a}
body.theme-dark .cash-shortcut{background:#141414;color:#f5f5f5;border-color:#2a2a2a}
body.theme-dark .reader-overlay{background:#0d0d0d;color:#e5e5e5}
body.theme-dark .reader-chrome{background:#0d0d0d;border-bottom-color:#1f1f1f}
body.theme-dark .reader-masthead{color:#fff}
