/* ================================================================
   Smart Site Booster Pro — Premium Article Reader CSS
   Aesthetic: Editorial Luxury / Cinematic Dark Magazine
   Fonts: Playfair Display (display) + Lora (body) + DM Mono
   ================================================================ */

/* ── Reset & Variables ─────────────────────────────────────── */
:root {
  --ssb-primary:    #2563eb;
  --ssb-accent:     #f59e0b;
  --ssb-neon:       #00f5ff;
  --neon-rgb:       0,245,255;
  --primary-rgb:    37,99,235;
  --accent-rgb:     245,158,11;

  --r-bg:           #0a0b0f;
  --r-surface:      #111318;
  --r-surface2:     #181c24;
  --r-border:       rgba(255,255,255,.08);
  --r-text:         #e8eaf0;
  --r-text-muted:   #6b7280;
  --r-text-subtle:  rgba(232,234,240,.55);

  --r-font-display: 'Playfair Display', Georgia, serif;
  --r-font-body:    'Lora', Georgia, serif;
  --r-font-mono:    'DM Mono', monospace;
  --r-font-ui:      system-ui, -apple-system, sans-serif;

  --r-radius:       14px;
  --r-shadow:       0 8px 32px rgba(0,0,0,.45);
  --r-body-size:    1.125rem;
  --r-body-lh:      1.85;
  --r-max-w:        720px;
}

/* Light mode */
body.ssb-light {
  --r-bg:         #fafaf8;
  --r-surface:    #ffffff;
  --r-surface2:   #f4f4f0;
  --r-border:     rgba(0,0,0,.08);
  --r-text:       #1a1a1a;
  --r-text-muted: #6b7280;
  --r-text-subtle:rgba(26,26,26,.5);
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html.ssb-reader-html { scroll-behavior: smooth; }

.ssb-reader-body {
  background: var(--r-bg);
  color: var(--r-text);
  font-family: var(--r-font-body);
  font-size: var(--r-body-size);
  line-height: var(--r-body-lh);
  transition: background .3s, color .3s;
  -webkit-font-smoothing: antialiased;
}

/* ── TOP NAV ──────────────────────────────────────────────── */
.ssb-topnav {
  position: fixed; top: 0; left: 0; right: 0; height: 52px;
  display: flex; align-items: center; gap: 16px;
  padding: 0 24px;
  background: rgba(10,11,15,.82);
  backdrop-filter: blur(20px) saturate(160%);
  -webkit-backdrop-filter: blur(20px) saturate(160%);
  border-bottom: 1px solid var(--r-border);
  z-index: 1000;
  transition: background .3s;
}
body.ssb-light .ssb-topnav {
  background: rgba(250,250,248,.88);
  border-bottom-color: rgba(0,0,0,.08);
}
.ssb-topnav-logo {
  display: flex; align-items: center; gap: 7px;
  color: var(--r-text); text-decoration: none;
  font-family: var(--r-font-ui); font-size: .82rem; font-weight: 500;
  opacity: .8; transition: opacity .2s; white-space: nowrap; flex-shrink: 0;
}
.ssb-topnav-logo:hover { opacity: 1; }
.ssb-nav-progress-wrap {
  flex: 1; height: 2px;
  background: rgba(255,255,255,.08); border-radius: 2px; overflow: hidden;
}
.ssb-nav-progress-bar {
  height: 100%; width: 0%;
  background: linear-gradient(90deg, var(--ssb-primary), var(--ssb-neon));
  box-shadow: 0 0 6px var(--ssb-neon);
  transition: width .1s linear;
}
.ssb-topnav-right {
  display: flex; align-items: center; gap: 6px; flex-shrink: 0;
}
.ssb-nav-readtime {
  display: flex; align-items: center; gap: 5px;
  font-family: var(--r-font-ui); font-size: .75rem;
  color: var(--r-text-muted); white-space: nowrap;
}
.ssb-nav-readtime svg { opacity: .6; }
.ssb-nav-btn {
  background: rgba(255,255,255,.07);
  border: 1px solid var(--r-border);
  color: var(--r-text); cursor: pointer;
  font-family: var(--r-font-ui); font-size: .75rem; font-weight: 500;
  padding: 5px 10px; border-radius: 6px;
  display: flex; align-items: center; gap: 5px;
  transition: background .2s, border-color .2s, color .2s;
  white-space: nowrap;
}
.ssb-nav-btn:hover {
  background: rgba(var(--neon-rgb),.12);
  border-color: rgba(var(--neon-rgb),.35);
  color: var(--ssb-neon);
}

/* ── HERO ─────────────────────────────────────────────────── */
.ssb-hero {
  position: relative; width: 100%;
  height: min(92vh, 700px); min-height: 520px;
  display: flex; align-items: flex-end;
  overflow: hidden; margin-top: 52px;
}

/* BG Layer (parallax) */
.ssb-hero-bg {
  position: absolute; inset: -8%;
  background-size: cover; background-position: center;
  background-color: #0d1220;
  animation: ssb-kb 14s ease forwards;
  will-change: transform;
}
@keyframes ssb-kb { from{transform:scale(1)translate(0,0)} to{transform:scale(1.12)translate(-1%,-1%)} }

/* No image fallback */
.ssb-hero-no-img {
  position: absolute; inset: 0;
  background: linear-gradient(135deg,#0a0f2e,#1a0535,#0a1a2e);
}

/* Film grain canvas */
.ssb-hero-grain {
  position: absolute; inset: 0; width: 100%; height: 100%;
  pointer-events: none; z-index: 2; opacity: .04; mix-blend-mode: overlay;
}

/* Glass overlay */
.ssb-hero-glass {
  position: absolute; inset: 0; z-index: 3;
  display: flex; flex-direction: column; justify-content: flex-end;
  background: linear-gradient(to top,
    rgba(10,11,15,.97) 0%,
    rgba(10,11,15,.65) 40%,
    rgba(10,11,15,.15) 72%,
    transparent 100%
  );
}
.ssb-hero-glass-blur {
  position: absolute; bottom: 0; left: 0; right: 0; height: 50%;
  backdrop-filter: blur(18px) saturate(140%);
  -webkit-backdrop-filter: blur(18px) saturate(140%);
  mask-image: linear-gradient(to top,black 55%,transparent 100%);
  -webkit-mask-image: linear-gradient(to top,black 55%,transparent 100%);
  background: rgba(10,11,15,.3);
}
.ssb-hero-neon-line {
  position: absolute; bottom: 49%; left: 0; right: 0; height: 1px;
  background: linear-gradient(90deg,transparent 0%,rgba(var(--neon-rgb),.65) 25%,rgba(var(--neon-rgb),1) 50%,rgba(var(--neon-rgb),.65) 75%,transparent 100%);
  box-shadow: 0 0 14px 2px rgba(var(--neon-rgb),.35);
  z-index: 1;
}
.ssb-hero-inner-glow {
  position: absolute; inset: 0;
  box-shadow: inset 0 0 100px rgba(var(--neon-rgb),.04);
}

/* Light leaks */
.ssb-hero-leak-tl, .ssb-hero-leak-br { position: absolute; z-index: 4; pointer-events: none; }
.ssb-hero-leak-tl { top: 0; left: 0; width: 38%; height: 38%; background: radial-gradient(ellipse at top left,rgba(255,170,50,.1) 0%,rgba(255,80,140,.05) 45%,transparent 70%); animation: ssb-leak 9s ease-in-out infinite alternate; }
.ssb-hero-leak-br { bottom: 0; right: 0; width: 32%; height: 32%; background: radial-gradient(ellipse at bottom right,rgba(50,150,255,.09) 0%,rgba(90,50,255,.04) 45%,transparent 70%); animation: ssb-leak 11s ease-in-out infinite alternate-reverse; }
@keyframes ssb-leak { from{opacity:.7} to{opacity:1.2} }

/* Hero content */
.ssb-hero-content {
  position: relative; z-index: 5;
  width: 100%; padding: clamp(24px,5vw,60px) clamp(20px,6vw,80px);
  padding-bottom: clamp(28px,4vw,52px);
  max-width: 1100px; margin: 0 auto; width: 100%;
  transform: translateY(16px); opacity: 0;
  animation: ssb-rise .9s cubic-bezier(.2,.8,.3,1) .15s forwards;
}
@keyframes ssb-rise { to { transform: translateY(0); opacity: 1; } }

.ssb-hero-meta-top { display: flex; align-items: center; gap: 12px; margin-bottom: 22px; flex-wrap: wrap; }
.ssb-hero-cat {
  display: inline-block;
  background: rgba(var(--neon-rgb),.12); border: 1px solid rgba(var(--neon-rgb),.4);
  color: var(--ssb-neon); font-family: var(--r-font-ui);
  font-size: .7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .14em;
  padding: 5px 14px; border-radius: 50px; text-decoration: none;
  backdrop-filter: blur(8px); box-shadow: 0 0 12px rgba(var(--neon-rgb),.15);
  transition: background .25s, box-shadow .25s;
}
.ssb-hero-cat:hover { background: rgba(var(--neon-rgb),.25); box-shadow: 0 0 20px rgba(var(--neon-rgb),.4); }
.ssb-social-proof {
  display: flex; align-items: center; gap: 5px;
  font-family: var(--r-font-ui); font-size: .75rem;
  color: rgba(255,255,255,.55);
}

.ssb-hero-title {
  font-family: var(--r-font-display);
  font-size: clamp(1.8rem, 5vw, 3.4rem);
  font-weight: 900; line-height: 1.2; letter-spacing: -.03em;
  color: #fff;
  text-shadow: 0 2px 24px rgba(0,0,0,.6), 0 0 60px rgba(var(--neon-rgb),.04);
  margin-bottom: 28px;
  max-width: 900px;
}

/* AI Summary strip */
.ssb-ai-summary-strip {
  background: rgba(var(--neon-rgb),.06);
  border: 1px solid rgba(var(--neon-rgb),.2);
  border-radius: 12px; padding: 16px 20px;
  margin-bottom: 20px; backdrop-filter: blur(12px);
  animation: ssb-rise .4s ease;
}
.ssb-summary-header {
  display: flex; align-items: center; gap: 8px;
  font-family: var(--r-font-ui); font-size: .78rem; font-weight: 700;
  color: var(--ssb-neon); text-transform: uppercase; letter-spacing: .1em;
  margin-bottom: 10px;
}
.ssb-summary-close {
  margin-left: auto; background: none; border: none;
  color: rgba(255,255,255,.4); cursor: pointer; font-size: 1.2rem; line-height: 1;
  transition: color .2s;
}
.ssb-summary-close:hover { color: #fff; }
.ssb-summary-text { font-family: var(--r-font-body); font-size: .95rem; line-height: 1.65; color: rgba(255,255,255,.85); margin-bottom: 12px; }
.ssb-highlights { display: flex; flex-wrap: wrap; gap: 8px; }
.ssb-highlight-chip {
  background: rgba(var(--accent-rgb),.12); border: 1px solid rgba(var(--accent-rgb),.3);
  color: var(--ssb-accent); font-family: var(--r-font-ui); font-size: .75rem;
  padding: 4px 12px; border-radius: 50px;
}

/* Byline */
.ssb-hero-byline {
  display: flex; align-items: center; gap: 14px; flex-wrap: wrap;
}
.ssb-byline-avatar { width: 40px; height: 40px; border-radius: 50%; border: 2px solid rgba(var(--neon-rgb),.3); object-fit: cover; flex-shrink: 0; }
.ssb-byline-info { flex: 1; min-width: 0; }
.ssb-byline-name { display: block; font-family: var(--r-font-ui); font-size: .88rem; font-weight: 600; color: #fff; }
.ssb-byline-date { display: block; font-family: var(--r-font-ui); font-size: .75rem; color: rgba(255,255,255,.5); margin-top: 2px; }

/* Pill action buttons */
.ssb-hero-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.ssb-pill-btn {
  display: inline-flex; align-items: center; gap: 6px;
  background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.18);
  color: #fff; font-family: var(--r-font-ui); font-size: .78rem; font-weight: 500;
  padding: 7px 16px; border-radius: 50px; cursor: pointer;
  backdrop-filter: blur(8px); transition: background .2s, border-color .2s, box-shadow .2s;
}
.ssb-pill-btn:hover { background: rgba(255,255,255,.18); border-color: rgba(255,255,255,.3); }
.ssb-pill-ai { background: rgba(var(--neon-rgb),.12); border-color: rgba(var(--neon-rgb),.35); color: var(--ssb-neon); }
.ssb-pill-ai:hover { background: rgba(var(--neon-rgb),.22); box-shadow: 0 0 16px rgba(var(--neon-rgb),.25); }

/* Scroll cue */
.ssb-scroll-cue {
  position: absolute; bottom: 20px; left: 50%; transform: translateX(-50%);
  color: rgba(255,255,255,.4); z-index: 5; animation: ssb-bounce 2s ease-in-out infinite;
}
@keyframes ssb-bounce { 0%,100%{transform:translateX(-50%) translateY(0)} 50%{transform:translateX(-50%) translateY(6px)} }

/* ── MAIN LAYOUT ──────────────────────────────────────────── */
.ssb-reader-main { padding: 60px 24px 80px; }
.ssb-reader-layout {
  max-width: 1180px; margin: 0 auto;
  display: grid;
  grid-template-columns: 220px 1fr 200px;
  gap: 40px;
  align-items: start;
}

/* ── TABLE OF CONTENTS ────────────────────────────────────── */
.ssb-toc-sidebar { position: sticky; top: 70px; }
.ssb-toc-inner {
  background: var(--r-surface);
  border: 1px solid var(--r-border);
  border-radius: var(--r-radius);
  padding: 18px 16px;
  backdrop-filter: blur(12px);
}
.ssb-toc-header {
  display: flex; align-items: center; gap: 7px;
  font-family: var(--r-font-ui); font-size: .7rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: .12em;
  color: var(--r-text-muted); margin-bottom: 14px;
}
.ssb-toc-nav { display: flex; flex-direction: column; gap: 4px; margin-bottom: 14px; }
.ssb-toc-link {
  display: block; font-family: var(--r-font-ui); font-size: .78rem;
  color: var(--r-text-muted); text-decoration: none; padding: 4px 8px;
  border-radius: 6px; border-left: 2px solid transparent;
  transition: color .2s, border-color .2s, background .2s;
  line-height: 1.4;
}
.ssb-toc-link:hover { color: var(--r-text); background: rgba(255,255,255,.05); }
.ssb-toc-link.ssb-toc-active { color: var(--ssb-neon); border-left-color: var(--ssb-neon); background: rgba(var(--neon-rgb),.06); }
.ssb-toc-sub { padding-left: 20px; font-size: .74rem; }
.ssb-toc-progress { height: 3px; background: var(--r-border); border-radius: 3px; overflow: hidden; }
.ssb-toc-progress-fill { height: 100%; width: 0%; background: linear-gradient(90deg,var(--ssb-primary),var(--ssb-neon)); transition: width .1s; }

/* ── ARTICLE ──────────────────────────────────────────────── */
.ssb-article { position: relative; min-width: 0; }

/* Engagement toolbar */
.ssb-engage-toolbar {
  position: absolute; left: -56px; top: 0;
  display: flex; flex-direction: column; gap: 6px;
  position: sticky; top: 80px; float: left; margin-left: -64px;
  width: 44px;
}
.ssb-tool-btn {
  width: 44px; height: 44px; border-radius: 50%;
  background: var(--r-surface);
  border: 1px solid var(--r-border);
  color: var(--r-text-muted); cursor: pointer;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 2px; font-size: .65rem;
  transition: background .2s, border-color .2s, color .2s, box-shadow .2s;
}
.ssb-tool-btn:hover { background: var(--r-surface2); color: var(--r-text); border-color: rgba(var(--neon-rgb),.3); box-shadow: 0 0 12px rgba(var(--neon-rgb),.12); }
.ssb-tool-btn.active { color: var(--ssb-accent); border-color: rgba(var(--accent-rgb),.4); }
.ssb-tool-count { font-size: .62rem; line-height: 1; }
.ssb-tool-divider { height: 1px; background: var(--r-border); margin: 4px 0; }

/* ── POST CONTENT TYPOGRAPHY ──────────────────────────────── */
.ssb-post-content {
  font-family: var(--r-font-body);
  font-size: var(--r-body-size);
  line-height: var(--r-body-lh);
  color: var(--r-text);
}
.ssb-post-content h2, .ssb-post-content h3 {
  font-family: var(--r-font-display);
  font-weight: 700; letter-spacing: -.02em;
  margin: 2.2em 0 .8em; color: var(--r-text);
  scroll-margin-top: 80px;
}
.ssb-post-content h2 { font-size: clamp(1.4rem,3vw,1.9rem); }
.ssb-post-content h3 { font-size: clamp(1.15rem,2.5vw,1.5rem); }
.ssb-post-content p { margin-bottom: 1.5em; }
.ssb-post-content p:first-child::first-letter {
  font-family: var(--r-font-display);
  font-size: 3.8em; font-weight: 900; line-height: .85;
  float: left; margin: .05em .12em -.05em 0;
  color: var(--ssb-neon); text-shadow: 0 0 20px rgba(var(--neon-rgb),.5);
}
.ssb-post-content a { color: var(--ssb-primary); text-decoration: underline; text-underline-offset: 3px; }
.ssb-post-content a:hover { color: var(--ssb-neon); }
.ssb-post-content blockquote {
  border-left: 3px solid var(--ssb-neon);
  background: rgba(var(--neon-rgb),.05);
  margin: 2em 0; padding: 20px 24px;
  border-radius: 0 10px 10px 0;
  font-style: italic; color: var(--r-text-muted);
}
.ssb-post-content blockquote::before { content: '"'; font-size: 3em; font-family: var(--r-font-display); color: var(--ssb-neon); opacity: .4; line-height: .5; display: block; margin-bottom: 8px; }
.ssb-post-content code { font-family: var(--r-font-mono); font-size: .85em; background: var(--r-surface2); padding: 2px 7px; border-radius: 5px; color: var(--ssb-neon); }
.ssb-post-content pre { background: var(--r-surface2); border: 1px solid var(--r-border); border-radius: 10px; padding: 20px; overflow-x: auto; margin: 1.5em 0; }
.ssb-post-content pre code { background: none; padding: 0; color: var(--r-text); }
.ssb-post-content img { max-width: 100%; height: auto; border-radius: 10px; margin: 1.5em 0; }
.ssb-post-content ul, .ssb-post-content ol { margin: 1em 0 1.5em 1.5em; }
.ssb-post-content li { margin-bottom: .5em; }

/* Highlighted text */
.ssb-hl-mark { background: rgba(var(--accent-rgb),.3); border-radius: 3px; padding: 1px 2px; }

/* Tags */
.ssb-tags-row { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 40px; padding-top: 32px; border-top: 1px solid var(--r-border); }
.ssb-tag {
  font-family: var(--r-font-ui); font-size: .76rem;
  background: var(--r-surface2); border: 1px solid var(--r-border);
  color: var(--r-text-muted); padding: 4px 12px; border-radius: 50px;
  text-decoration: none; transition: color .2s, border-color .2s;
}
.ssb-tag:hover { color: var(--ssb-neon); border-color: rgba(var(--neon-rgb),.35); }

/* Author card */
.ssb-author-card {
  display: flex; gap: 20px; align-items: flex-start;
  background: var(--r-surface); border: 1px solid var(--r-border);
  border-radius: var(--r-radius); padding: 24px; margin-top: 48px;
  box-shadow: var(--r-shadow);
}
.ssb-author-avatar { width: 72px; height: 72px; border-radius: 50%; flex-shrink: 0; border: 2px solid rgba(var(--neon-rgb),.25); object-fit: cover; }
.ssb-author-label { font-family: var(--r-font-ui); font-size: .7rem; text-transform: uppercase; letter-spacing: .12em; color: var(--r-text-muted); margin-bottom: 4px; }
.ssb-author-name { font-family: var(--r-font-display); font-size: 1.15rem; font-weight: 700; color: var(--r-text); margin-bottom: 8px; }
.ssb-author-bio { font-family: var(--r-font-ui); font-size: .875rem; color: var(--r-text-muted); line-height: 1.6; }

/* ── RIGHT SIDEBAR ────────────────────────────────────────── */
.ssb-right-sidebar { position: sticky; top: 70px; display: flex; flex-direction: column; gap: 16px; }
.ssb-sidebar-card {
  background: var(--r-surface); border: 1px solid var(--r-border);
  border-radius: var(--r-radius); padding: 18px;
}
.ssb-sidebar-card-title { font-family: var(--r-font-ui); font-size: .7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .12em; color: var(--r-text-muted); margin-bottom: 12px; }
.ssb-proof-card { border-left: 2px solid var(--ssb-neon); }
.ssb-proof-row { display: flex; align-items: center; gap: 8px; font-family: var(--r-font-ui); font-size: .8rem; color: var(--r-text-muted); padding: 5px 0; }
.ssb-proof-row svg { opacity: .6; flex-shrink: 0; }
.ssb-share-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; margin-bottom: 10px; }
.ssb-share-btn {
  display: flex; align-items: center; justify-content: center;
  font-family: var(--r-font-ui); font-size: .8rem; font-weight: 700;
  padding: 8px; border-radius: 8px; text-decoration: none;
  transition: transform .15s, box-shadow .15s;
}
.ssb-share-btn:hover { transform: translateY(-2px); }
.ssb-share-x  { background: #000; color: #fff; }
.ssb-share-fb { background: #1877f2; color: #fff; }
.ssb-share-li { background: #0a66c2; color: #fff; }
.ssb-share-wa { background: #25d366; color: #fff; }
.ssb-copy-link-btn {
  width: 100%; display: flex; align-items: center; justify-content: center; gap: 6px;
  background: var(--r-surface2); border: 1px solid var(--r-border); color: var(--r-text-muted);
  font-family: var(--r-font-ui); font-size: .78rem; cursor: pointer;
  padding: 8px; border-radius: 8px; transition: color .2s, border-color .2s;
}
.ssb-copy-link-btn:hover { color: var(--ssb-neon); border-color: rgba(var(--neon-rgb),.35); }
.ssb-sidebar-cat {
  display: block; font-family: var(--r-font-ui); font-size: .8rem;
  color: var(--r-text-muted); text-decoration: none; padding: 4px 0;
  border-bottom: 1px solid var(--r-border); transition: color .2s;
}
.ssb-sidebar-cat:last-child { border-bottom: none; }
.ssb-sidebar-cat:hover { color: var(--ssb-neon); }

/* ── RELATED POSTS ────────────────────────────────────────── */
.ssb-related-section {
  background: var(--r-surface);
  border-top: 1px solid var(--r-border);
  padding: 60px 24px;
}
.ssb-related-inner { max-width: 1180px; margin: 0 auto; }
.ssb-related-title {
  display: flex; align-items: center; gap: 10px;
  font-family: var(--r-font-display); font-size: 1.5rem; font-weight: 700;
  color: var(--r-text); margin-bottom: 28px; letter-spacing: -.02em;
}
.ssb-related-track-wrap { position: relative; overflow: hidden; }
.ssb-related-track {
  display: flex; gap: 20px;
  overflow-x: auto; scroll-snap-type: x mandatory;
  padding-bottom: 4px;
  scrollbar-width: none;
}
.ssb-related-track::-webkit-scrollbar { display: none; }
.ssb-related-card {
  flex: 0 0 280px; scroll-snap-align: start;
  background: var(--r-bg); border: 1px solid var(--r-border);
  border-radius: var(--r-radius); overflow: hidden; text-decoration: none;
  transition: transform .25s, box-shadow .25s;
  display: flex; flex-direction: column;
}
.ssb-related-card:hover { transform: translateY(-4px); box-shadow: 0 12px 40px rgba(0,0,0,.4), 0 0 20px rgba(var(--neon-rgb),.08); }
.ssb-related-img { height: 160px; background-size: cover; background-position: center; background-color: var(--r-surface2); position: relative; }
.ssb-related-cat { position: absolute; top: 10px; left: 10px; background: rgba(var(--neon-rgb),.15); border: 1px solid rgba(var(--neon-rgb),.35); color: var(--ssb-neon); font-family: var(--r-font-ui); font-size: .65rem; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; padding: 3px 10px; border-radius: 50px; }
.ssb-related-body { padding: 16px; flex: 1; }
.ssb-related-post-title { font-family: var(--r-font-display); font-size: .95rem; font-weight: 700; color: var(--r-text); line-height: 1.35; margin-bottom: 10px; }
.ssb-related-meta { display: flex; gap: 10px; font-family: var(--r-font-ui); font-size: .72rem; color: var(--r-text-muted); }
.ssb-related-arrow {
  position: absolute; top: 50%; transform: translateY(-50%);
  width: 40px; height: 40px; border-radius: 50%;
  background: var(--r-surface2); border: 1px solid var(--r-border);
  color: var(--r-text); cursor: pointer; font-size: 1.3rem; line-height: 1;
  display: flex; align-items: center; justify-content: center;
  transition: background .2s, border-color .2s;
  z-index: 2;
}
.ssb-related-arrow:hover { background: rgba(var(--neon-rgb),.1); border-color: rgba(var(--neon-rgb),.35); }
.ssb-related-prev { left: -20px; }
.ssb-related-next { right: -20px; }

/* ── FOOTER ──────────────────────────────────────────────── */
.ssb-reader-footer {
  display: flex; align-items: center; justify-content: space-between;
  padding: 24px; border-top: 1px solid var(--r-border);
  font-family: var(--r-font-ui); font-size: .8rem; color: var(--r-text-muted);
  flex-wrap: wrap; gap: 12px;
}
.ssb-reader-footer a { color: var(--r-text-muted); text-decoration: none; transition: color .2s; }
.ssb-reader-footer a:hover { color: var(--ssb-neon); }
.ssb-footer-pow { opacity: .5; }

/* ── AI CHAT ORB ─────────────────────────────────────────── */
.ssb-chat-orb {
  position: fixed; bottom: 90px; right: 28px;
  width: 60px; height: 60px; border-radius: 50%;
  background: linear-gradient(135deg,#4f46e5,#7c3aed);
  border: none; cursor: pointer; z-index: 990;
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 8px 28px rgba(79,70,229,.5);
  transition: transform .25s, box-shadow .25s;
}
.ssb-chat-orb:hover { transform: scale(1.1); box-shadow: 0 12px 36px rgba(79,70,229,.65); }
.ssb-orb-ring {
  position: absolute; inset: -4px; border-radius: 50%;
  border: 1.5px solid rgba(124,58,237,.4);
  animation: ssb-orb-ring 2.5s ease-in-out infinite;
}
@keyframes ssb-orb-ring { 0%,100%{transform:scale(1);opacity:.6} 50%{transform:scale(1.18);opacity:0} }
.ssb-orb-pulse {
  position: absolute; inset: -12px; border-radius: 50%;
  background: rgba(79,70,229,.15);
  animation: ssb-orb-pulse 2.5s ease-in-out infinite;
}
@keyframes ssb-orb-pulse { 0%,100%{transform:scale(1);opacity:.8} 50%{transform:scale(1.3);opacity:0} }
.ssb-orb-icon { font-size: 1.4rem; position: relative; z-index: 1; }

/* ── AI CHAT PANEL ───────────────────────────────────────── */
.ssb-chat-panel {
  position: fixed; bottom: 162px; right: 28px;
  width: 360px; max-height: 500px;
  background: var(--r-surface);
  border: 1px solid rgba(var(--neon-rgb),.18);
  border-radius: 18px;
  display: flex; flex-direction: column;
  z-index: 991; overflow: hidden;
  box-shadow: 0 24px 60px rgba(0,0,0,.6), 0 0 30px rgba(var(--neon-rgb),.08);
  transform: translateY(16px) scale(.95); opacity: 0; pointer-events: none;
  transition: transform .35s cubic-bezier(.2,.8,.3,1), opacity .3s;
}
.ssb-chat-panel[aria-hidden="false"] { transform: translateY(0) scale(1); opacity: 1; pointer-events: all; }
.ssb-chat-header { display: flex; align-items: center; justify-content: space-between; padding: 14px 16px; background: rgba(var(--neon-rgb),.05); border-bottom: 1px solid rgba(var(--neon-rgb),.12); }
.ssb-chat-hdr-left { display: flex; align-items: center; gap: 10px; }
.ssb-chat-avatar { width: 34px; height: 34px; border-radius: 50%; background: linear-gradient(135deg,#4f46e5,#7c3aed); display: flex; align-items: center; justify-content: center; font-size: 1rem; box-shadow: 0 0 10px rgba(79,70,229,.4); }
.ssb-chat-title { font-family: var(--r-font-ui); font-size: .88rem; font-weight: 700; color: var(--r-text); }
.ssb-chat-sub { font-family: var(--r-font-ui); font-size: .7rem; color: var(--r-text-muted); margin-top: 1px; }
.ssb-chat-close { background: none; border: none; color: var(--r-text-muted); cursor: pointer; display: flex; align-items: center; padding: 4px; border-radius: 6px; transition: color .2s, background .2s; }
.ssb-chat-close:hover { color: var(--r-text); background: rgba(255,255,255,.08); }
.ssb-chat-messages { flex: 1; overflow-y: auto; padding: 14px; display: flex; flex-direction: column; gap: 10px; scroll-behavior: smooth; }
.ssb-chat-messages::-webkit-scrollbar { width: 3px; }
.ssb-chat-messages::-webkit-scrollbar-thumb { background: rgba(var(--neon-rgb),.25); border-radius: 2px; }
.ssb-msg { max-width: 85%; padding: 9px 13px; border-radius: 13px; font-family: var(--r-font-ui); font-size: .84rem; line-height: 1.55; animation: ssb-rise .25s ease; }
.ssb-msg-user { align-self: flex-end; background: var(--ssb-primary); color: #fff; border-radius: 13px 13px 3px 13px; }
.ssb-msg-ai { align-self: flex-start; background: var(--r-surface2); border: 1px solid var(--r-border); color: var(--r-text); border-radius: 13px 13px 13px 3px; }
.ssb-msg-typing { align-self: flex-start; display: flex; align-items: center; gap: 4px; padding: 11px 14px; background: var(--r-surface2); border: 1px solid var(--r-border); border-radius: 13px 13px 13px 3px; }
.ssb-typing-dot { width: 5px; height: 5px; border-radius: 50%; background: var(--ssb-neon); animation: ssb-typing .9s ease-in-out infinite; }
.ssb-typing-dot:nth-child(2){animation-delay:.15s}.ssb-typing-dot:nth-child(3){animation-delay:.3s}
@keyframes ssb-typing{0%,60%,100%{transform:translateY(0)}30%{transform:translateY(-5px)}}
.ssb-chat-input-row { display: flex; gap: 8px; padding: 10px 12px; border-top: 1px solid var(--r-border); }
.ssb-chat-input { flex: 1; background: var(--r-surface2); border: 1px solid var(--r-border); border-radius: 50px; padding: 8px 14px; color: var(--r-text); font-family: var(--r-font-ui); font-size: .84rem; outline: none; transition: border-color .2s, box-shadow .2s; }
.ssb-chat-input:focus { border-color: rgba(var(--neon-rgb),.45); box-shadow: 0 0 0 3px rgba(var(--neon-rgb),.1); }
.ssb-chat-input::placeholder { color: var(--r-text-muted); }
.ssb-chat-send { width: 34px; height: 34px; border-radius: 50%; background: var(--ssb-primary); border: none; color: #fff; cursor: pointer; display: flex; align-items: center; justify-content: center; flex-shrink: 0; transition: transform .2s, box-shadow .2s; }
.ssb-chat-send:hover { transform: scale(1.08); box-shadow: 0 4px 12px rgba(var(--primary-rgb),.5); }
.ssb-chat-send:disabled { opacity: .5; cursor: not-allowed; transform: none; }

/* ── HIGHLIGHT TOOLTIP ───────────────────────────────────── */
.ssb-hl-tooltip {
  position: fixed; z-index: 9999;
  background: var(--r-surface); border: 1px solid rgba(var(--accent-rgb),.4);
  border-radius: 8px; padding: 6px 14px; box-shadow: var(--r-shadow);
}
.ssb-hl-tooltip button { background: none; border: none; color: var(--ssb-accent); font-family: var(--r-font-ui); font-size: .8rem; font-weight: 600; cursor: pointer; display: flex; align-items: center; gap: 5px; }

/* ── TOAST ───────────────────────────────────────────────── */
.ssb-toast {
  position: fixed; bottom: 80px; left: 50%; transform: translateX(-50%) translateY(20px);
  background: var(--r-surface); border: 1px solid var(--r-border);
  color: var(--r-text); font-family: var(--r-font-ui); font-size: .84rem;
  padding: 10px 24px; border-radius: 50px; box-shadow: var(--r-shadow);
  opacity: 0; pointer-events: none; transition: opacity .3s, transform .3s; z-index: 99999;
  white-space: nowrap;
}
.ssb-toast.ssb-toast-show { opacity: 1; transform: translateX(-50%) translateY(0); }

/* ── SHARE PANEL ─────────────────────────────────────────── */
.ssb-share-panel { position: fixed; inset: 0; background: rgba(0,0,0,.6); backdrop-filter: blur(6px); z-index: 9000; display: flex; align-items: center; justify-content: center; }
.ssb-share-panel-inner { background: var(--r-surface); border: 1px solid var(--r-border); border-radius: 18px; padding: 28px; width: 320px; text-align: center; }
.ssb-share-panel-inner h3 { font-family: var(--r-font-display); font-size: 1.2rem; color: var(--r-text); margin-bottom: 20px; }
.ssb-share-panel-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 14px; }
.ssb-sp-btn { display: block; padding: 11px; border-radius: 10px; text-decoration: none; font-family: var(--r-font-ui); font-size: .82rem; font-weight: 600; text-align: center; background: var(--r-surface2); border: 1px solid var(--r-border); color: var(--r-text); transition: border-color .2s; }
.ssb-sp-btn:hover { border-color: rgba(var(--neon-rgb),.35); color: var(--ssb-neon); }
.ssb-sp-copy, .ssb-sp-close { width: 100%; padding: 10px; border-radius: 50px; border: 1px solid var(--r-border); cursor: pointer; font-family: var(--r-font-ui); font-size: .82rem; margin-top: 8px; transition: background .2s; background: none; color: var(--r-text-muted); }
.ssb-sp-copy { background: var(--ssb-primary); color: #fff; border-color: transparent; }

/* ── SCROLL FADE-IN ──────────────────────────────────────── */
.ssb-fade-in { opacity: 0; transform: translateY(18px); transition: opacity .6s ease, transform .6s ease; }
.ssb-fade-in.ssb-visible { opacity: 1; transform: translateY(0); }

/* ── PRINT ───────────────────────────────────────────────── */
@media print {
  .ssb-topnav,.ssb-chat-orb,.ssb-chat-panel,.ssb-engage-toolbar,.ssb-toc-sidebar,.ssb-right-sidebar,.ssb-related-section,.ssb-hero-grain,.ssb-hero-glass-blur { display: none !important; }
  .ssb-reader-layout { grid-template-columns: 1fr; }
  .ssb-hero { height: auto; padding-bottom: 40px; }
  .ssb-hero-title { color: #000; }
  .ssb-post-content { color: #000; font-size: 12pt; line-height: 1.6; }
}

/* ── RESPONSIVE ──────────────────────────────────────────── */
@media(max-width:1100px) { .ssb-reader-layout { grid-template-columns: 1fr; } .ssb-toc-sidebar, .ssb-right-sidebar, .ssb-engage-toolbar { display: none; } }
@media(max-width:600px) {
  .ssb-hero { height: 70vh; }
  .ssb-hero-title { font-size: 1.7rem; }
  .ssb-hero-byline { flex-direction: column; align-items: flex-start; }
  .ssb-hero-actions { width: 100%; }
  .ssb-topnav-right .ssb-nav-readtime { display: none; }
  .ssb-chat-panel { width: calc(100vw - 24px); right: 12px; }
  .ssb-chat-orb { bottom: 72px; right: 16px; }
}
@media(prefers-reduced-motion:reduce) { *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; } }
