/* Polaris Matrix Labs — theme-b.css (r5: dark editorial, Owner 2026-10-15). Loaded after site.css on every page: serif display type on a deep night-blue background. */

:root{
  --bg:#0B1018;
  --bg-2:#0F1622;
  --surface:#141C29;
  --surface-2:#18212F;
  --text:#EEF2F7;
  --text-2:#C6CFDA;
  --muted:#9AA6B6;
  --faint:#7C8898;
  --line:rgba(255,255,255,.09);
  --line-strong:rgba(255,255,255,.22);
  --accent:#8FB8E8;
  --accent-ink:#0B1018;
  --accent-soft:rgba(143,184,232,.12);
  --accent-2:#4FD1B0;
  --font-display:"Iowan Old Style","Charter","Palatino Linotype","Book Antiqua",Georgia,serif;
  color-scheme:dark;
}
::selection{background:rgba(143,184,232,.3);color:#fff}

/* type: serif display, no gradient text */
h1,h2,.display{font-family:var(--font-display);font-weight:500;letter-spacing:-.015em;line-height:1.06}
h1{background:none;-webkit-text-fill-color:currentColor;color:var(--text);letter-spacing:-.02em}
h3{font-family:var(--font-display);font-weight:600;letter-spacing:-.01em}
.serif{font-family:var(--font-display);font-weight:600;letter-spacing:-.01em}

/* header + mobile menu */
.site-header{background:rgba(11,16,24,.86)}
.nav-links.open{background:rgba(11,16,24,.98)}
.nav-links a:hover{background:rgba(255,255,255,.06)}
.nav-links a[aria-current="page"]{background:rgba(255,255,255,.08)}

/* buttons and links */
.btn--primary{box-shadow:none}
.btn--primary:hover{background:#B5D0F0;box-shadow:none}
.btn--ghost{background:transparent;border-color:var(--line-strong);color:var(--text)}
.btn--ghost:hover{border-color:var(--accent);color:var(--accent)}
.link-plain:hover{color:#B5D0F0}

/* hero: quiet paper, no glow */
.hero::before{background:none}
.hero__grid{background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px)}
.hero__canvas{opacity:.18}
@media (min-width:900px){.hero__canvas{opacity:.35}}
.hero__kicker{background:var(--surface)}
.hero__kicker span::before{box-shadow:none}
.hero__meta{background:var(--surface)}

/* surfaces */
.card,.pillar,.panel{background:var(--surface)}
.card::before,.pillar::before{background:radial-gradient(420px circle at var(--mx,50%) var(--my,0%),rgba(143,184,232,.08),transparent 45%)}
.pillar:hover,a.card:hover{border-color:rgba(143,184,232,.4)}
.pill{border-color:rgba(143,184,232,.28)}
.pill::before{box-shadow:none}
.pill--soon{background:rgba(242,210,122,.13);color:#F2D27A;border-color:rgba(242,210,122,.3)}
.pill--dev{background:rgba(79,209,176,.13);color:#7FE0C4;border-color:rgba(79,209,176,.3)}

/* dark bands: a shade deeper than the page */
.section--dark{
  --bg:#070B11;--bg-2:#0D131D;--surface:#121A26;--text:#E8EEF5;--text-2:#C9D4E0;--muted:#A9B5C3;--faint:#8592A2;
  --line:rgba(255,255,255,.10);--line-strong:rgba(255,255,255,.2);--accent:#8FB8E8;--accent-ink:#0E1420;--accent-soft:rgba(143,184,232,.12);
  background:#070B11;color:var(--text);color-scheme:dark;
}
.section--dark h1,.section--dark h2,.section--dark h3{color:var(--text)}
.section--dark .btn--primary:hover{background:#B5D0F0}
.section--dark .btn--ghost{border-color:var(--line-strong);color:var(--text)}

/* footer */
.site-footer{background:#080C12;border-top:1px solid var(--line)}

/* ---------- home (B) ---------- */
.hb-hero{padding:88px 0 64px}
.hb-hero .kicker{font-family:var(--font-mono);font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0 0 24px}
.hb-hero h1{font-size:clamp(2.6rem,6.8vw,5.6rem);max-width:17ch;margin:0}
.hb-hero h1 em{font-style:italic;color:var(--accent)}
.hb-hero__row{display:flex;flex-wrap:wrap;gap:28px 56px;align-items:flex-end;margin-top:36px}
.hb-hero__row .lede{flex:1 1 380px;margin:0;color:var(--text-2)}
.hb-hero__row .btn-row{margin:0}

.hb-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));column-gap:24px;border-top:2px solid var(--text);border-bottom:1px solid var(--line);margin:0;padding:0;list-style:none}
.hb-stats li{padding:26px 0}
.hb-stats b{display:block;font-family:var(--font-display);font-weight:500;font-size:3rem;line-height:1}
.hb-stats span{display:block;margin-top:6px;color:var(--muted);font-size:.95rem}

.hb-head{display:flex;flex-wrap:wrap;gap:10px 40px;align-items:baseline;justify-content:space-between;margin-bottom:24px}
.hb-head h2{margin:0}
.hb-head p{margin:0;color:var(--muted);max-width:46ch}

.hb-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.hb-item{display:flex;flex-wrap:wrap;align-items:center;gap:14px 28px;padding:26px 0;border-bottom:1px solid var(--line)}
.hb-item__icon{flex:0 0 56px;height:56px;border-radius:14px;background:var(--bg-2);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:1.4rem;color:var(--accent)}
.hb-item__body{flex:999 1 320px;min-width:0}
.hb-item__body h3{margin:0;font-size:1.6rem}
.hb-item__body p{margin:4px 0 0;color:var(--text-2)}
.hb-tag{font-family:var(--font-mono);font-size:.74rem;letter-spacing:.06em;padding:6px 10px;border-radius:6px;background:var(--accent-soft);color:var(--accent);white-space:nowrap}
.hb-tag--live{background:rgba(79,209,176,.14);color:#7FE0C4}
.hb-tag--review{background:rgba(242,210,122,.14);color:#F2D27A}
.hb-item .link-arrow{min-height:44px}

.hb-channels{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}
.hb-channel{display:block;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:24px;color:var(--text);text-decoration:none}
.hb-channel:hover{border-color:rgba(143,184,232,.4)}
.hb-channel h3{margin:0 0 4px;font-size:1.35rem}
.hb-channel p{margin:0;color:var(--text-2);font-size:.95rem}

.hb-log{display:flex;flex-wrap:wrap;gap:40px}
.hb-log__intro{flex:1 1 320px}
.hb-log ol{flex:999 1 480px;list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.hb-log li{display:flex;flex-wrap:wrap;gap:6px 24px;padding:16px 0;border-bottom:1px solid var(--line)}
.hb-log time{flex:0 0 96px;font-family:var(--font-mono);font-size:.82rem;color:var(--accent);padding-top:2px}
.hb-log li span:last-child{color:var(--muted);margin-left:auto}

/* ---------- home r5: web tools / iPhone apps (Owner 2026-10-15) ---------- */
.hb-hero{position:relative;overflow:hidden}
.hb-hero::before{content:"";position:absolute;inset:-20% -10% auto auto;width:720px;height:520px;pointer-events:none;background:radial-gradient(closest-side,rgba(143,184,232,.14),transparent 70%)}
.hb-hero .wrap{position:relative}
.hb-hero__jump{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.hb-hero__jump a{font-family:var(--font-mono);font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;color:var(--text-2);border:1px solid var(--line-strong);border-radius:999px;padding:8px 14px}
.hb-hero__jump a:hover{border-color:var(--accent);color:var(--accent)}
.hb-kind{font-family:var(--font-mono);font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-2);margin:0 0 10px}
.hb-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:20px}
@media (min-width:720px){.hb-grid{grid-template-columns:repeat(2,1fr);gap:24px}}
.hb-card{position:relative;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:14px;overflow:hidden;transition:border-color .2s var(--ease),transform .2s var(--ease)}
.hb-card:hover{border-color:rgba(143,184,232,.45);transform:translateY(-2px)}
.hb-card img{width:100%;aspect-ratio:16/10;object-fit:cover;background:#E9E4DC}
.hb-card__body{display:flex;flex-direction:column;gap:8px;padding:20px 22px 22px;flex:1}
.hb-card h3{margin:0;font-size:1.4rem;color:var(--text)}
.hb-card p{margin:0;color:var(--text-2);font-size:.97rem}
.hb-card__foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;margin-top:auto;padding-top:12px}
.hb-price{font-family:var(--font-mono);font-size:.8rem;color:var(--muted)}
.hb-card a.link-arrow::after{content:"";position:absolute;inset:0}
.hb-free{margin:22px 0 0;color:var(--muted);font-size:.95rem}
.hb-free a{color:var(--accent)}
.hb-apps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}
.hb-app{display:flex;flex-direction:column;gap:14px;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:22px}
.hb-app__top{display:flex;align-items:center;gap:16px}
.hb-app__top img{width:64px;height:64px;border-radius:15px;flex:0 0 64px}
.hb-app h3{margin:0;font-size:1.35rem;color:var(--text)}
.hb-app p{margin:0;color:var(--text-2);font-size:.97rem}
.hb-app__links{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:auto}

/* 2026-10-23 Big Boss: no sideways scroll on 320px phones */
@media (max-width:420px){.hb-hero__row .lede{flex-basis:100%}.hb-hero h1{overflow-wrap:anywhere}.hb-tag{white-space:normal}}

/* 2026-10-24 Big Boss: 3D hero (rock-salt lattice, raw WebGL, assets/hero3d.js) */
.hb-hero__gl{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;opacity:0;transition:opacity 1.4s ease}
.hb-hero__gl.is-on{opacity:1}
.hb-hero .wrap{z-index:1}
.hb-hero__read{position:absolute;z-index:1;transform:translateX(-50%);margin:0;font-family:var(--font-mono);font-size:.7rem;line-height:1.65;letter-spacing:.05em;text-align:center;white-space:nowrap;color:var(--muted);pointer-events:none}
.hb-hero__read.is-wide{transform:none;text-align:right}
.hb-hero__read span{color:var(--faint)}
@media (max-width:899px){.hb-hero{padding-top:336px}}
