/* =====================================================================
   CALM MONITOR — the Monitor look, 24 Oct 2026 (v52).
   The page used to be green from the ground up: a green-tinted paper,
   mint cards, green links, green eyebrows, green numbers. Now the ground
   is neutral and green means exactly three things: the primary action,
   "free", and the live status. Everything else is ink on paper.
   Loaded after style.css for the Monitor look only; the other looks
   (Bento, Inspected, Tier List) keep their own files.
   ===================================================================== */
:root{
  --g-50:#EEF7F1; --g-100:#DCF0E3; --g-200:#B9E3C8; --g-300:#86D0A3; --g-400:#4FBB7E;
  --g-500:#1F9E5C; --g-600:#0E8A4E; --g-700:#0B6E3E; --g-800:#0A5330; --g-900:#0B3B25; --g-950:#07271A;
  --forest:#0B3B25; --forest-2:#0F4A2F; --forest-ink:#E6F3EA; --forest-dim:#9CC9AD; --forest-line:rgba(230,243,234,.12);
  --mint:#EEF7F1; --mint-2:#DCF0E3; --mint-line:#B9E3C8;
  --n-950:#111514; --n-900:#171C1A; --n-800:#242A28;
  --shadow-green:0 1px 2px rgba(17,21,20,.05),0 14px 34px -18px rgba(17,21,20,.22);
}
/* ---- the ground: neutral paper, white cards, grey lines ---- */
:root:not([data-theme="dark"]){
  --paper:#F3F4F2; --surface:#FFFFFF; --surface-2:#EDEFED; --surface-3:#E2E5E2; --row-hover:#F7F8F6;
  --ink:#141917; --body:#3B433F; --muted:#6B746F;
  --line:#D8DCD9; --line-soft:#E6E9E6; --rule:#14191722; --rule-strong:#14191740;
  --link:#0B6E3E; --link-soft:#DCF0E3;
  --accent:#0E8A4E; --accent-dark:#0B6E3E; --accent-soft:#DCF0E3; --accent-ink:#0B5E36;
  --shadow:0 1px 0 rgba(17,21,20,.03),0 10px 30px -20px rgba(17,21,20,.18);
}
:root[data-theme="dark"]{
  --forest:#07271A; --forest-2:#0B3B25; --forest-ink:#E6F3EA; --forest-dim:#86B898; --forest-line:rgba(230,243,234,.10);
  --mint:#0E1F17; --mint-2:#12291D; --mint-line:#1E4A33;
  --shadow-green:0 1px 2px rgba(0,0,0,.5),0 14px 34px -18px rgba(0,0,0,.7);
}
:root:not([data-theme="dark"]) body,:root:not([data-theme="dark"]) body.beta{background:var(--paper)}
:root:not([data-theme="dark"]) .card,:root:not([data-theme="dark"]) body.beta .card{background:var(--surface);border-color:var(--line-soft)}

/* ---- the bands: the status strip and the footer are near-black, not green ---- */
:root:not([data-theme="dark"]) .statusbar{background:var(--n-950);border-bottom-color:rgba(255,255,255,.08);--band-ink:#EDF1EE;--band-body:#B5BDB8;--band-dim:#7F8883;--ink:#EDF1EE;--body:#B5BDB8;--muted:#7F8883;--accent:#3DDC84;--signal:#3DDC84;--band-line:rgba(255,255,255,.10)}
:root:not([data-theme="dark"]) .sb-k kbd{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.16);color:#B5BDB8}
:root:not([data-theme="dark"]) .site-foot,:root:not([data-theme="dark"]) body.beta .site-foot{background:var(--n-900);border-top:1px solid rgba(255,255,255,.08);color:#9AA39E;--band-ink:#EDF1EE;--band-body:#C4CBC7;--band-dim:#8E9792;--band-line:rgba(255,255,255,.10);--ink:#EDF1EE;--body:#C4CBC7;--muted:#8E9792;--surface:var(--n-800);--surface-2:var(--n-800);--line:rgba(255,255,255,.14);--line-soft:rgba(255,255,255,.09)}
:root:not([data-theme="dark"]) .site-foot a{color:#C4CBC7} :root:not([data-theme="dark"]) .site-foot a:hover{color:#FFFFFF}
:root:not([data-theme="dark"]) .site-foot .foot-name,:root:not([data-theme="dark"]) .site-foot h4{color:#EDF1EE}
:root:not([data-theme="dark"]) .foot-news-row .sub-input{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.16);color:#EDF1EE}
:root:not([data-theme="dark"]) .foot-news-row .sub-input::placeholder{color:#8E9792}
:root:not([data-theme="dark"]) .site-foot .btn-primary{background:var(--g-400);border-color:var(--g-400);color:var(--g-950)}
:root:not([data-theme="dark"]) .site-foot .btn-primary:hover{background:var(--g-300);border-color:var(--g-300);color:var(--g-950)}
:root:not([data-theme="dark"]) .foot-sys kbd{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.16);color:#C4CBC7}
:root:not([data-theme="dark"]) .site-foot .style-opt{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.14);color:#C4CBC7}
:root:not([data-theme="dark"]) .site-foot .style-opt.on{background:rgba(255,255,255,.12);color:#FFFFFF}
:root:not([data-theme="dark"]) .site-foot .foot-legal,:root:not([data-theme="dark"]) .site-foot .foot-legal a{color:#8E9792}
:root:not([data-theme="dark"]) .site-foot .foot-top{border-bottom-color:rgba(255,255,255,.10)}
.site-foot{margin-top:72px}
:root[data-theme="dark"] .site-foot{background:var(--forest);border-top:1px solid var(--forest-line)}
:root[data-theme="dark"] .statusbar{background:var(--g-950)}

/* ---- the header: white, with a thin line ---- */
:root:not([data-theme="dark"]) .site-head,:root:not([data-theme="dark"]) body.beta .site-head{background:rgba(255,255,255,.92);border-bottom:1px solid var(--line-soft)}

/* ---- the hero: paper, a faint network, no wash ---- */
:root:not([data-theme="dark"]) body.beta .hero,:root:not([data-theme="dark"]) body.beta .page-hero,:root:not([data-theme="dark"]) body.beta .grave-hero,:root:not([data-theme="dark"]) body.beta .hero.tools-hero,:root:not([data-theme="dark"]) .hero,:root:not([data-theme="dark"]) .page-hero,:root:not([data-theme="dark"]) .grave-hero,:root:not([data-theme="dark"]) .tools-hero{
  background:linear-gradient(180deg,#FAFBFA 0%,var(--paper) 100%);border-bottom:1px solid var(--line-soft)}
:root:not([data-theme="dark"]) .hero::before,:root:not([data-theme="dark"]) body.beta .hero::before{opacity:.28}
:root:not([data-theme="dark"]) body.beta .hero .eyebrow,:root:not([data-theme="dark"]) body.beta .page-hero .eyebrow,:root:not([data-theme="dark"]) body.beta .grave-hero .eyebrow,:root:not([data-theme="dark"]) body.beta .tools-hero .eyebrow{color:var(--muted)}
:root:not([data-theme="dark"]) .hero-stats b,:root:not([data-theme="dark"]) .hero-stats strong,:root:not([data-theme="dark"]) .hc-st{color:var(--ink)}
:root:not([data-theme="dark"]) .hero .scan-box .btn-primary,:root:not([data-theme="dark"]) body.beta .hero .scan-box .btn-primary{background:var(--g-700);border-color:var(--g-700);color:#FFFFFF}
:root:not([data-theme="dark"]) .hero .scan-box .btn-primary:hover{background:var(--g-800);border-color:var(--g-800)}
:root[data-theme="dark"] .hero,:root[data-theme="dark"] body.beta .hero,:root[data-theme="dark"] .page-hero,:root[data-theme="dark"] body.beta .page-hero,:root[data-theme="dark"] .grave-hero,:root[data-theme="dark"] .tools-hero{
  background:radial-gradient(900px 420px at 12% -10%,rgba(61,220,132,.12),transparent 60%),linear-gradient(180deg,var(--g-950) 0%,#0A1F16 100%);border-bottom:1px solid rgba(61,220,132,.14)}
:root[data-theme="dark"] .hero .eyebrow,:root[data-theme="dark"] body.beta .hero .eyebrow{color:var(--g-300)}

/* ---- actions: ONE green button per block; the rest is ink on paper ---- */
:root:not([data-theme="dark"]) .btn-primary,:root:not([data-theme="dark"]) body.beta .btn-primary{background:var(--g-700);border-color:var(--g-700);color:#FFFFFF;box-shadow:0 1px 0 rgba(11,59,37,.10)}
:root:not([data-theme="dark"]) .btn-primary:hover,:root:not([data-theme="dark"]) body.beta .btn-primary:hover{background:var(--g-800);border-color:var(--g-800);color:#FFFFFF}
:root:not([data-theme="dark"]) .site-head .btn-primary,:root:not([data-theme="dark"]) body.beta .site-head .btn-primary{background:var(--ink)!important;border-color:var(--ink)!important;color:#FFFFFF!important}
:root:not([data-theme="dark"]) .site-head .btn-primary:hover,:root:not([data-theme="dark"]) body.beta .site-head .btn-primary:hover{background:var(--n-800)!important;border-color:var(--n-800)!important}
:root:not([data-theme="dark"]) .btn-ghost,:root:not([data-theme="dark"]) body.beta .btn-ghost{border-color:var(--line);color:var(--ink);background:var(--surface)}
:root:not([data-theme="dark"]) .btn-ghost:hover{background:var(--surface-2);border-color:var(--rule-strong);color:var(--ink)}
:root:not([data-theme="dark"]) .btn:not(.btn-primary):not(.btn-ghost):not(.btn-danger):not(.linkish):not(.btn-dark){border-color:var(--line);color:var(--ink);background:var(--surface)}
:root:not([data-theme="dark"]) .btn:not(.btn-primary):not(.btn-ghost):not(.btn-danger):not(.btn-dark):hover{border-color:var(--rule-strong);background:var(--surface-2)}
:root[data-theme="dark"] .btn-primary{background:var(--g-400);border-color:var(--g-400);color:var(--g-950)}
:root[data-theme="dark"] .btn-primary:hover{background:var(--g-300);border-color:var(--g-300);color:var(--g-950)}

/* ---- chips, eyebrows, labels: ink, not green ---- */
:root:not([data-theme="dark"]) .chip,:root:not([data-theme="dark"]) body.beta .chip{background:var(--surface);border-color:var(--line);color:var(--body)}
:root:not([data-theme="dark"]) .chip:hover{border-color:var(--rule-strong);color:var(--ink);background:var(--surface-2)}
:root:not([data-theme="dark"]) .chip.on,:root:not([data-theme="dark"]) body.beta .chip.on,:root:not([data-theme="dark"]) .tag-pick .chip.on{background:var(--ink);border-color:var(--ink);color:#FFFFFF}
:root:not([data-theme="dark"]) .chip.on .muted{color:rgba(255,255,255,.7)}
:root:not([data-theme="dark"]) .eyebrow,:root:not([data-theme="dark"]) body.beta .eyebrow,:root:not([data-theme="dark"]) .band-head .eyebrow{color:var(--muted)}
:root:not([data-theme="dark"]) .badge.free,:root:not([data-theme="dark"]) body.beta .badge.free,:root:not([data-theme="dark"]) .tagearned{background:var(--g-100);border-color:var(--g-200);color:var(--g-800)}
:root:not([data-theme="dark"]) .badge:not(.free):not(.lifetime):not(.discount):not(.freemium):not(.urgency):not(.boosted):not(.code){background:var(--surface-2);border-color:var(--line);color:var(--body)}
:root:not([data-theme="dark"]) .alert.ok{background:var(--g-50);border-color:var(--g-200);color:var(--g-900)}
:root:not([data-theme="dark"]) .week-rank{background:var(--ink)}
/* links in running text: forest, underlined on hover only — one colour, not a scatter of green words */
:root:not([data-theme="dark"]) :where(.card,.band,.wrap p,.wrap li,.wrap td,.wrap dd,.proof-strip,.deal-card,.plan,.tl-item) :where(a:not(.btn):not(.chip):not(.gcard):not(.tool-card):not(.wk-item):not(.intro-tool):not(.style-opt):not(.pname)){color:var(--link)}
:root:not([data-theme="dark"]) :where(.card,.band,.wrap p,.wrap li,.wrap td,.wrap dd) :where(a:not(.btn):not(.chip)):hover{color:var(--g-900)}
:root:not([data-theme="dark"]) .stat .val,:root:not([data-theme="dark"]) .tally b,:root:not([data-theme="dark"]) .grave-count b{color:var(--ink)}

/* ---- surfaces: grey for the soft blocks; the maker call stays dark ---- */
:root:not([data-theme="dark"]) .proof-strip{background:var(--surface-2);border-color:var(--line-soft);color:var(--body)}
:root:not([data-theme="dark"]) .proof-strip .muted{color:var(--muted)}
:root:not([data-theme="dark"]) .watch-box{background:var(--surface);border:1px solid var(--line);border-radius:var(--r,8px)}
:root:not([data-theme="dark"]) .card[style*="--accent-soft"]{background:var(--surface-2)!important;border-color:var(--line-soft)!important}
:root:not([data-theme="dark"]) .plan.is-deal{border-color:var(--g-400);box-shadow:none;background:var(--surface)}
:root:not([data-theme="dark"]) .deal-card{border-color:var(--line);box-shadow:var(--shadow)}
:root:not([data-theme="dark"]) .deal-card.is-deal{border-color:var(--line)}
:root:not([data-theme="dark"]) .deal-card .pprice b,:root:not([data-theme="dark"]) .deal-price b{color:var(--ink)}
:root:not([data-theme="dark"]) .gcard:hover,:root:not([data-theme="dark"]) .tool-card:hover,:root:not([data-theme="dark"]) .intro-tool:hover,:root:not([data-theme="dark"]) .cat-card:hover{border-color:var(--rule-strong);box-shadow:var(--shadow-green)}
:root:not([data-theme="dark"]) .gcard.is-first .rank{background:var(--ink);border-color:var(--ink);color:#FFFFFF}
:root:not([data-theme="dark"]) .ticker,:root:not([data-theme="dark"]) body.beta .ticker{background:var(--surface);border-bottom-color:var(--line-soft)}
:root:not([data-theme="dark"]) .ticker-lbl{color:var(--muted)}
:root:not([data-theme="dark"]) .topspot,:root:not([data-theme="dark"]) body.beta .topspot{border-color:var(--line)}
:root:not([data-theme="dark"]) .cat-strip,:root:not([data-theme="dark"]) .filters-bar,:root:not([data-theme="dark"]) .sortbar{background:var(--surface);border-color:var(--line-soft)}

/* the "For makers" call: a dark card with a bright key, so it stands apart from the catalog */
.maker-card,body.beta .maker-card{background:radial-gradient(700px 300px at 85% 0%,rgba(61,220,132,.16),transparent 60%),var(--n-900)!important;border-color:var(--n-800)!important;color:#EDF1EE}
.maker-card h2,.maker-card p,.maker-card .eyebrow{color:#EDF1EE!important}
.maker-card .eyebrow{color:var(--g-300)!important}
.maker-card p{color:#C4CBC7!important}
.maker-card .btn-primary{background:var(--g-400)!important;border-color:var(--g-400)!important;color:var(--g-950)!important}
.maker-card .btn-primary:hover{background:var(--g-300)!important;border-color:var(--g-300)!important}
.maker-card .btn-ghost{border-color:rgba(255,255,255,.26)!important;color:#EDF1EE!important;background:transparent!important}
.maker-card .btn-ghost:hover{background:rgba(255,255,255,.10)!important;border-color:var(--g-300)!important}

/* section headings: a short ink rule, so the page has a rhythm of its own */
:root:not([data-theme="dark"]) .band-head h2::after,:root:not([data-theme="dark"]) .band > .row-between:first-child > div > h2:first-child::after{content:"";display:block;width:28px;height:3px;border-radius:2px;background:var(--ink);margin-top:8px}
:root[data-theme="dark"] .band-head h2::after{content:"";display:block;width:28px;height:3px;border-radius:2px;background:var(--g-400);margin-top:8px}

/* the live dot keeps the phosphor; nothing else does */
:root:not([data-theme="dark"]) .live.alive .dot,:root:not([data-theme="dark"]) .tdot.tl-alive,:root:not([data-theme="dark"]) .dot-alive{background:var(--g-500);box-shadow:0 0 0 3px var(--g-100)}

/* ---- the product sidebar: one price, one button, one row of small actions ---- */
.deal-card .deal-head{margin-bottom:6px}
.deal-card .deal-price{margin:0;text-align:left;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px}
.deal-card .deal-price b,body.beta .deal-card .deal-price.pprice b{display:inline-block;font-family:"Space Grotesk",system-ui,sans-serif;font-size:32px;font-weight:700;line-height:1.1;letter-spacing:-.02em;color:var(--ink)}
.deal-card .deal-price.pprice.has-deal b{color:var(--ink)}
.deal-card .deal-price > *{text-align:left}
.deal-card .deal-price b small.per{font-size:13px;font-weight:500;color:var(--muted);margin-left:2px}
.deal-card .deal-was{display:inline-flex;align-items:center;gap:4px;font-size:13px;color:var(--muted);white-space:nowrap}
.deal-card .deal-was s{display:inline;color:var(--muted);font-size:14px}
.deal-card .deal-was .pct{display:inline-block;font-family:var(--mono);font-size:11.5px;font-weight:700;color:#8A2E22;background:#FBE9E5;border-radius:4px;padding:1px 6px;margin:0 4px}
:root[data-theme="dark"] .deal-card .deal-was .pct{background:#2A1512;color:#F0A79B}
.deal-card .free-note.free-note-lg{flex-basis:100%;color:var(--muted);font-weight:500;font-size:12.5px;margin-top:2px;text-align:left}
.deal-card .deal-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}
.deal-card .deal-actions .btn{font-size:13.5px;padding:8px 10px}
.deal-card .coupon.ticket{margin-top:12px}
.deal-card .watch-box{margin-top:14px;padding:12px}
.deal-card .watch-head strong{font-size:13.5px}
.deal-card .watch-head .tiny{display:block;margin-top:1px}
.deal-card .watch-row{margin-top:8px}
:root:not([data-theme="dark"]) .deal-ends{background:var(--surface-2);border-color:var(--line-soft)}

/* ---- catalog rows: fewer, quieter chips ---- */
:root:not([data-theme="dark"]) .prow .pmeta .badge{font-size:10.5px;padding:2px 7px}
:root:not([data-theme="dark"]) .prow .live{font-size:10.5px}
:root:not([data-theme="dark"]) .prow:hover{background:var(--row-hover)}

/* dark theme: the same scale, lifted */
:root[data-theme="dark"] .chip.on{background:var(--g-900);border-color:var(--g-700);color:var(--g-200)}
:root[data-theme="dark"] .proof-strip,:root[data-theme="dark"] .watch-box{background:var(--mint);border-color:var(--mint-line)}
:root[data-theme="dark"] .plan.is-deal{border-color:var(--g-500);box-shadow:0 0 0 3px var(--g-900)}
:root[data-theme="dark"] .eyebrow{color:var(--g-400)}

/* ---- v54 proposal: a quieter homepage and lighter rows ---- */
.week-strip-band{padding:14px 0 0}
.week-strip{display:flex;flex-wrap:wrap;align-items:center;gap:8px 22px;padding:10px 16px;border:1px dashed var(--line);border-radius:10px;background:var(--surface);font-size:13.5px}
.week-strip-k{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.week-strip a{color:var(--ink);font-weight:600} .week-strip a .muted{font-weight:400}
.hc-sum{border-bottom:1px solid var(--line-soft);padding-bottom:6px;margin-bottom:4px}
/* chips on rows and cards: sentence case, the body face — a catalog, not a terminal */
:root:not([data-theme="dark"]) .prow .pmeta .badge,:root:not([data-theme="dark"]) .gcard .badge,:root:not([data-theme="dark"]) .prow .live,:root:not([data-theme="dark"]) .gcard .live{font-family:inherit;text-transform:none;letter-spacing:0;font-size:12px;font-weight:600;padding:2px 8px}
:root:not([data-theme="dark"]) .prow .pmeta .badge::first-letter,:root:not([data-theme="dark"]) .gcard .badge::first-letter{text-transform:uppercase}
.prow .ptag{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}

/* ---- v55: the site's own figure first, the visitor's currency as an estimate; "Open site" is always a button ---- */
.deal-card .deal-alt{display:block;flex-basis:100%;font-size:13px;margin-top:-2px}
.plan-price .plan-alt{display:block;font-size:11px;text-align:right;margin-top:1px}
