/* ===== console — retro terminal / window-chrome layout =====
   Own namespace: .csl .cslbar .window .titlebar .wbody .line .prompt .cur .cslcat .cslvip .cslfoot ...
   First fully-monospace paradigm. Dark phosphor console; readable Inter body inside terminal windows. */
:root{
  --bg:#080b0a; --bg2:#0d1210; --panel:#0f1613; --line:#1d2a24;
  --ink:#d6e4dc; --mut:#7f9488; --dim:#5a6d62;
  --acc:#a3e635;   /* phosphor green */
  --acc2:#ff5a3c;  /* amber */
  --red:#ff5f56; --yellow:#ffbd2e; --green:#27c93f; /* window dots */
  --mono:'JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,monospace;
  --body:'Inter',system-ui,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--bg);color:var(--ink);font-family:var(--body);
  font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased;
  background-image:
    radial-gradient(900px 500px at 88% -10%,rgba(61,252,143,.06),transparent 60%),
    radial-gradient(700px 460px at 6% 8%,rgba(255,180,84,.05),transparent 62%);
}
/* faint CRT scanlines over the whole page */
body::before{
  content:"";position:fixed;inset:0;z-index:9999;pointer-events:none;
  background:repeating-linear-gradient(to bottom,rgba(0,0,0,.045) 0 1px,transparent 1px 3px);
  mix-blend-mode:overlay;opacity:.55;
}
.wrap{max-width:1120px;margin:0 auto;padding:0 22px}
a{color:inherit}
.bb{color:var(--acc);font-weight:600}
.em{color:var(--acc2);font-style:normal}
.hl{color:#eafff3;border-bottom:1px dashed var(--dim)}
.acc{color:var(--acc)}
.mono{font-family:var(--mono)}

/* ---- top bar ---- */
.cslbar{position:sticky;top:0;z-index:50;background:rgba(8,11,10,.9);
  backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.cslbar .wrap{display:flex;align-items:center;gap:18px;height:60px}
.brandmark{display:flex;align-items:center;gap:9px;font-family:var(--mono);font-weight:700;letter-spacing:.02em}
.brandmark svg{width:30px;height:30px;flex:0 0 auto}
.crumb{font-family:var(--mono);font-size:12.5px;color:var(--mut)}
.crumb b{color:var(--acc);font-weight:600}
.nav{margin-left:auto;display:flex;gap:20px;font-family:var(--mono);font-size:13px}
.nav a{color:var(--mut);text-decoration:none}
.nav a:hover{color:var(--acc)}
.cta{font-family:var(--mono);font-weight:700;font-size:13px;background:var(--acc);
  color:#04140a;padding:10px 18px;border-radius:6px;text-decoration:none;white-space:nowrap}
.cta:hover{background:#5affa4}
.cta--amber{background:var(--acc2);color:#221400}
.cta--ghost{background:transparent;color:var(--acc);border:1px solid var(--acc);padding:9px 17px}
@media(max-width:820px){.nav{display:none}.crumb{display:none}}

/* ---- window primitive ---- */
.window{background:var(--panel);border:1px solid var(--line);border-radius:10px;overflow:hidden;
  box-shadow:0 24px 60px -34px rgba(0,0,0,.9)}
.titlebar{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--bg2);
  border-bottom:1px solid var(--line);font-family:var(--mono);font-size:12.5px;color:var(--mut)}
.tdot{width:11px;height:11px;border-radius:50%}
.tdot.r{background:var(--red)}.tdot.y{background:var(--yellow)}.tdot.g{background:var(--green)}
.tdots{display:flex;gap:7px;margin-right:6px}
.titlebar .tpath{margin-left:4px}
.titlebar .tstat{margin-left:auto;color:var(--acc)}
.wbody{padding:26px 28px}
@media(max-width:640px){.wbody{padding:20px 18px}}

/* ---- hero ---- */
.cslhero{padding:40px 0 20px}
.cslhero .wbody{padding:34px 34px 30px}
.prompt{font-family:var(--mono);font-size:13.5px;color:var(--mut);margin:0 0 14px}
.prompt .u{color:var(--acc)}.prompt .p{color:var(--acc2)}
.cslhero h1{font-family:var(--mono);font-weight:800;font-size:clamp(28px,4.6vw,46px);
  line-height:1.12;letter-spacing:-.01em;margin:0 0 8px;color:#eafff3}
.cur{display:inline-block;width:.62em;height:1.05em;background:var(--acc);
  transform:translateY(.16em);animation:blink 1.1s steps(1) infinite;margin-left:3px}
@keyframes blink{50%{opacity:0}}
.lede{color:var(--mut);max-width:60ch;margin:14px 0 22px;font-size:16.5px}
.herobtns{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:26px}
.heroline{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line);
  font-family:var(--mono)}
.heroline div{padding:16px 14px;border-right:1px solid var(--line)}
.heroline div:last-child{border-right:0}
.heroline .n{font-size:22px;color:var(--acc);font-weight:700}
.heroline .k{font-size:11px;color:var(--dim);text-transform:uppercase;letter-spacing:.08em;margin-top:3px}
@media(max-width:720px){.heroline{grid-template-columns:repeat(2,1fr)}.heroline div:nth-child(2){border-right:0}}

/* ---- generic section ---- */
section{padding:34px 0}
.sechead{display:flex;align-items:baseline;gap:14px;margin:0 0 18px;font-family:var(--mono)}
.sechead .idx{color:var(--acc2);font-size:13px}
.sechead h2{font-size:clamp(20px,2.7vw,28px);margin:0;color:#eafff3;font-weight:700;letter-spacing:-.01em}
.subnote{color:var(--mut);max-width:66ch;margin:-6px 0 20px;font-size:15px}

/* welcome / bonus */
.line{font-family:var(--mono);font-size:14px;line-height:1.9;color:var(--ink)}
.line .g{color:var(--dim)}
.line .ok{color:var(--acc)}
.pkgs{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:8px}
.pkg{padding:20px 18px;border-left:2px solid var(--acc)}
.pkg .amt{font-family:var(--mono);font-size:26px;color:var(--acc);font-weight:700}
.pkg h3{margin:6px 0 6px;font-size:15px}
.pkg p{margin:0;color:var(--mut);font-size:13.5px}
.pkg .tag{font-family:var(--mono);font-size:11px;color:var(--dim);margin-top:10px;display:block}
@media(max-width:760px){.pkgs{grid-template-columns:1fr}}

/* catalog as ls-listing */
.cslcat .titlebar .tstat{color:var(--acc2)}
.listing{font-family:var(--mono);font-size:13.5px}
.lrow{display:grid;grid-template-columns:26px 1.6fr 1fr .7fr auto;gap:14px;align-items:center;
  padding:11px 4px;border-bottom:1px solid var(--line)}
.lrow:last-child{border-bottom:0}
.lrow .perm{color:var(--dim)}
.lrow .fn{color:#eafff3}
.lrow .prov{color:var(--mut)}
.lrow .rtp{color:var(--acc)}
.lrow .run{color:var(--acc2);text-decoration:none;border:1px solid var(--line);padding:4px 12px;border-radius:5px}
.lrow .run:hover{border-color:var(--acc2)}
@media(max-width:760px){.lrow{grid-template-columns:1.4fr .7fr auto;gap:10px}.lrow .perm,.lrow .prov{display:none}}

/* VIP as ascii progress bars */
.cslvip{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.vtier{padding:16px 18px;border:1px solid var(--line);border-radius:8px;background:var(--bg2)}
.vtier .vh{display:flex;justify-content:space-between;align-items:baseline;font-family:var(--mono)}
.vtier .vh b{color:#eafff3;font-size:15px;font-weight:700}
.vtier .vh span{color:var(--acc2);font-size:12.5px}
.bar2{font-family:var(--mono);font-size:14px;color:var(--acc);letter-spacing:2px;margin:10px 0 6px;white-space:nowrap;overflow:hidden}
.bar2 .off{color:var(--line)}
.vtier p{margin:0;color:var(--mut);font-size:13px}
@media(max-width:640px){.cslvip{grid-template-columns:1fr}}

/* live grid */
.livegrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.lcard{border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--bg2)}
.lcard .lh{height:96px;background:linear-gradient(135deg,rgba(61,252,143,.16),rgba(255,180,84,.12));
  display:flex;align-items:center;justify-content:center;font-family:var(--mono);color:var(--acc);font-size:13px;border-bottom:1px solid var(--line)}
.lcard .lb{padding:14px 16px}
.lcard h4{margin:0 0 5px;font-size:14.5px}
.lcard p{margin:0;color:var(--mut);font-size:13px}
@media(max-width:760px){.livegrid{grid-template-columns:1fr}}

/* payments table */
.paytable{width:100%;border-collapse:collapse;font-family:var(--mono);font-size:13.5px}
.paytable th,.paytable td{text-align:left;padding:11px 12px;border-bottom:1px solid var(--line)}
.paytable th{color:var(--dim);font-weight:500;font-size:11px;text-transform:uppercase;letter-spacing:.07em}
.paytable td .ok{color:var(--acc)}

/* reviews */
.revs{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.rev{padding:18px;border:1px solid var(--line);border-radius:8px;background:var(--bg2)}
.rev .q{font-family:var(--mono);color:var(--acc2);font-size:20px;line-height:0}
.rev p{margin:8px 0 12px;font-size:14px;color:var(--ink)}
.rev .who{font-family:var(--mono);font-size:12px;color:var(--dim)}
@media(max-width:760px){.revs{grid-template-columns:1fr}}

/* faq */
.faqlist{border-top:1px solid var(--line)}
.faq-item{border-bottom:1px solid var(--line);padding:16px 0}
.faq-item h3{margin:0 0 7px;font-size:15.5px;font-family:var(--mono);color:#eafff3}
.faq-item h3::before{content:"? ";color:var(--acc2)}
.faq-item p{margin:0;color:var(--mut);font-size:14.5px}

/* author note */
.note{margin-top:22px;padding:16px 18px;border:1px dashed var(--dim);border-radius:8px;
  font-size:13.5px;color:var(--mut);font-family:var(--mono)}
.note b{color:var(--acc)}

/* footer */
.cslfoot{border-top:1px solid var(--line);background:var(--bg2);margin-top:20px;padding:34px 0 40px}
.cslfoot .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:26px}
.cslfoot .brandmark{margin-bottom:10px}
.cslfoot p{color:var(--mut);font-size:13.5px;margin:0 0 8px}
.cslfoot h5{font-family:var(--mono);font-size:12px;color:var(--dim);text-transform:uppercase;letter-spacing:.08em;margin:0 0 12px}
.cslfoot a{color:var(--mut);text-decoration:none;display:block;font-size:13.5px;margin-bottom:7px}
.cslfoot a:hover{color:var(--acc)}
.badge{display:inline-block;font-family:var(--mono);font-size:11.5px;color:var(--acc);
  border:1px solid var(--line);border-radius:5px;padding:5px 10px;margin:2px 4px 2px 0}
.legal{margin-top:24px;padding-top:18px;border-top:1px solid var(--line);color:var(--dim);font-size:12.5px;font-family:var(--mono);line-height:1.7}
.eighteen{display:inline-block;border:1px solid var(--acc2);color:var(--acc2);border-radius:50%;
  width:30px;height:30px;line-height:28px;text-align:center;font-family:var(--mono);font-size:11px;margin-right:8px}
@media(max-width:760px){.cslfoot .cols{grid-template-columns:1fr}.pkgs,.livegrid,.revs{gap:12px}}
