:root{
  --bg:#04070d; --bg2:#0a1220; --card:#0d1626; --card2:#111d33;
  --accent:#00d0ff; --accent2:#2ea6ff; --accent-soft:rgba(0,208,255,.12);
  --text:#f2f7fc; --muted:#9fb3c8; --muted2:#7a8ea3;
  --border:rgba(255,255,255,.09); --gold:#f5c542;
  --radius:16px; --shadow:0 18px 40px rgba(0,0,0,.45);
  --font:'Inter',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  --font2:'Manrope',var(--font);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:var(--accent)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:6px}
.skip{position:absolute;left:-9999px;top:0;background:#fff;color:#000;padding:10px 14px;z-index:200;border-radius:0 0 8px 0}
.skip:focus{left:0}
.wrap{max-width:1180px;margin:0 auto;padding:0 20px}
.muted{color:var(--muted)}
.small{font-size:.92rem}
.eyebrow{letter-spacing:.14em;text-transform:uppercase;font-size:.75rem;color:var(--accent);font-weight:800}
h1,h2,h3{font-family:var(--font2);line-height:1.15;margin:0 0 12px}
h1{font-size:clamp(2.1rem,5vw,3.6rem);letter-spacing:-.02em}
h2{font-size:clamp(1.6rem,3.5vw,2.3rem);letter-spacing:-.015em}
h3{font-size:1.18rem}
p{margin:0 0 12px}
.btn{display:inline-flex;align-items:center;gap:8px;padding:13px 20px;border-radius:999px;font-weight:700;text-decoration:none;border:1px solid transparent;cursor:pointer;font-size:1rem}
.btn-primary{background:linear-gradient(135deg,#00d0ff,#2ea6ff);color:#03121a;box-shadow:0 10px 28px rgba(0,208,255,.35)}
.btn-primary:hover{transform:translateY(-1px)}
.btn-ghost{background:transparent;color:var(--text);border-color:var(--border)}
.btn-ghost:hover{border-color:var(--accent)}
.btn-small{padding:9px 14px;font-size:.92rem}
/* Top bar */
.topbar{background:#02040a;border-bottom:1px solid var(--border);font-size:.88rem;color:var(--muted)}
.topbar .wrap{display:flex;justify-content:space-between;gap:12px;padding-top:8px;padding-bottom:8px;flex-wrap:wrap}
.topbar a{color:#eaf6ff;font-weight:600}
/* Header */
header.site{position:sticky;top:0;z-index:50;background:rgba(4,7,13,.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0}
.logo{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--text)}
.logo-mark{width:40px;height:40px;border-radius:11px;background:linear-gradient(135deg,#00d0ff,#2ea6ff 60%,#0a3a5e);display:grid;place-items:center;font-weight:900;color:#03121a;font-size:1.25rem;box-shadow:0 8px 20px rgba(0,208,255,.35)}
.logo small{display:block;color:var(--muted);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700}
.logo b{font-size:1.18rem;line-height:1}
nav.main{display:flex;gap:6px;flex-wrap:wrap}
nav.main a{color:var(--muted);text-decoration:none;padding:9px 12px;border-radius:999px;font-weight:600;font-size:.94rem}
nav.main a:hover,nav.main a.active{color:var(--text);background:rgba(255,255,255,.07)}
.nav-cta{display:flex;gap:10px;align-items:center}
.hamburger{display:none;background:transparent;border:1px solid var(--border);color:var(--text);border-radius:10px;padding:9px 12px;font-size:1.2rem;cursor:pointer}
/* Hero */
.hero{background:radial-gradient(900px 420px at 85% 0%,rgba(0,208,255,.22),transparent 60%),radial-gradient(700px 380px at 10% 20%,rgba(46,166,255,.16),transparent 60%),linear-gradient(180deg,#071122,#04070d);border-bottom:1px solid var(--border)}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:28px;padding:44px 0 34px;align-items:center}
.hero h1 span{background:linear-gradient(90deg,#00d0ff,#7ee7ff);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero p.lead{font-size:1.14rem;color:#cfe2f2;max-width:640px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0 14px}
.hero-points{display:flex;gap:16px;flex-wrap:wrap;color:var(--muted);font-size:.92rem}
.hero-card{background:linear-gradient(180deg,#101d33,#0a1220);border:1px solid var(--border);border-radius:20px;padding:22px;box-shadow:var(--shadow);transform-style:preserve-3d;transition:transform .25s ease}
.hero-card:hover{transform:translateY(-3px) rotateX(1.5deg)}
.hero-card .big{font-size:2rem;font-weight:800;line-height:1}
.mini-list{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:10px}
.mini-list li{display:flex;gap:10px;background:rgba(255,255,255,.04);border:1px solid var(--border);border-radius:12px;padding:11px 12px}
.dot{width:28px;height:28px;flex:0 0 28px;border-radius:50%;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;font-weight:800}
/* Trust */
.trust{padding:26px 0}
.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.trust-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:18px}
.trust-card b{font-size:1.02rem}
.value-box{margin-top:16px;display:grid;grid-template-columns:1.3fr .7fr;gap:16px;background:linear-gradient(135deg,rgba(0,208,255,.14),rgba(46,166,255,.06));border:1px solid rgba(0,208,255,.35);border-radius:18px;padding:22px;align-items:center}
.value-box h2{font-size:1.35rem}
/* Sections */
section.block{padding:42px 0;border-top:1px solid rgba(255,255,255,.05)}
.section-head{display:flex;justify-content:space-between;gap:16px;align-items:end;flex-wrap:wrap;margin-bottom:20px}
.section-head p{max-width:680px;color:var(--muted)}
.pill-row{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}
.pill{border:1px solid var(--border);background:rgba(255,255,255,.04);color:var(--muted);border-radius:999px;padding:7px 12px;font-size:.88rem;cursor:pointer}
.pill.active,.pill:hover{background:var(--accent);color:#03121a;border-color:var(--accent);font-weight:700}
.category-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.cat-card{background:var(--card);border:1px solid var(--border);border-radius:20px;padding:22px;box-shadow:0 12px 30px rgba(0,0,0,.3);transition:transform .2s ease,border-color .2s}
.cat-card:hover{transform:translateY(-4px);border-color:rgba(0,208,255,.5)}
.cat-card .icon{font-size:1.8rem}
.cat-card ul{margin:10px 0 14px;padding-left:18px;color:var(--muted)}
.badge{display:inline-block;background:var(--accent-soft);color:#aeeeff;border:1px solid rgba(0,208,255,.3);border-radius:999px;padding:4px 9px;font-size:.78rem;font-weight:700}
/* Lessons */
.lesson-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.lesson{background:#0e1830;border:1px solid var(--border);border-radius:var(--radius);padding:18px;display:flex;flex-direction:column;gap:8px;transition:transform .2s,border-color .2s}
.lesson:hover{transform:translateY(-3px);border-color:rgba(0,208,255,.45)}
.lesson .meta{display:flex;gap:8px;flex-wrap:wrap;font-size:.8rem;color:var(--muted)}
.lesson ul{margin:6px 0;padding-left:18px;color:#d6e5f2}
.lesson .try{background:rgba(245,197,66,.08);border:1px solid rgba(245,197,66,.28);border-radius:10px;padding:10px 11px;font-size:.92rem}
.lesson .sources{font-size:.86rem;color:var(--muted)}
.lesson .sources a{display:inline-block;margin-right:10px}
/* Live */
.live-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:16px}
.feed-card{background:var(--card);border:1px solid var(--border);border-radius:18px;padding:18px}
.feed-list{display:grid;gap:12px;margin-top:12px}
.feed-item{border:1px solid var(--border);border-radius:12px;padding:13px;background:rgba(255,255,255,.03)}
.feed-item a{font-weight:700;text-decoration:none;color:#eaf6ff}
.feed-item a:hover{color:var(--accent)}
.feed-item .date{font-size:.82rem;color:var(--muted)}
.feed-status{font-size:.88rem;color:var(--muted)}
.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.tab{border:1px solid var(--border);background:transparent;color:var(--text);border-radius:999px;padding:8px 13px;cursor:pointer;font-weight:600}
.tab.active{background:var(--accent);color:#03121a;border-color:var(--accent)}
/* Videos */
.video-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.video{background:var(--card);border:1px solid var(--border);border-radius:18px;overflow:hidden}
.video iframe{width:100%;aspect-ratio:16/9;border:0;background:#000}
.video-body{padding:15px}
.video-body small{color:var(--muted)}
/* Sources */
.sources-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.source{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:16px}
.source a{font-weight:800;text-decoration:none;font-size:1.02rem}
.source p{color:var(--muted);margin:6px 0 0}
/* Quiz */
.quiz{background:linear-gradient(135deg,#0d1f3a,#071122);border:1px solid rgba(0,208,255,.3);border-radius:20px;padding:22px}
.quiz-q{margin:14px 0}
.quiz-q p{font-weight:700;margin-bottom:8px}
.quiz-q label{display:block;background:rgba(255,255,255,.05);border:1px solid var(--border);border-radius:10px;padding:10px 12px;margin:6px 0;cursor:pointer}
.quiz-q input{margin-right:9px}
.quiz-result{margin-top:14px;background:rgba(0,208,255,.1);border-radius:12px;padding:14px;display:none}
.quiz-result.show{display:block}
/* Continue */
.continue-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.cont-card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:18px;text-decoration:none;color:var(--text)}
.cont-card:hover{border-color:var(--accent)}
.cont-card b{color:#fff}
.cont-card p{color:var(--muted);margin-top:6px}
/* Footer */
footer{border-top:1px solid var(--border);background:#02040a;margin-top:20px}
.foot{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:20px;padding:32px 0}
.foot a{color:var(--muted);text-decoration:none;display:block;margin:6px 0}
.foot a:hover{color:var(--text)}
.foot-bottom{border-top:1px solid var(--border);padding:14px 0;color:var(--muted);font-size:.88rem;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.search{width:100%;max-width:520px;padding:12px 14px;border-radius:999px;border:1px solid var(--border);background:#0a1220;color:var(--text);font-size:1rem}
.search::placeholder{color:var(--muted2)}
.hidden{display:none !important}
@media(max-width:900px){
  .hero-grid,.live-grid,.value-box{grid-template-columns:1fr}
  .category-grid,.lesson-grid,.video-grid,.sources-grid,.continue-grid,.trust-grid{grid-template-columns:1fr}
  .foot{grid-template-columns:1fr}
  nav.main{display:none}
  nav.main.open{display:flex;flex-direction:column;width:100%;order:3}
  .hamburger{display:block}
  .nav{flex-wrap:wrap}
}
@media(prefers-reduced-motion:reduce){
  *{scroll-behavior:auto !important;transition:none !important;animation:none !important}
}

/* Proof + math + membership notes */
.proof-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.proof-card{background:var(--card);border:1px solid var(--border);border-radius:18px;padding:20px}
.proof-card .big-num{font-size:1.9rem;font-weight:800;color:#7ee7ff;line-height:1;margin:8px 0}
.proof-box{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:18px}
.scam-box{background:rgba(255,180,0,.06);border:1px solid rgba(255,180,0,.35);border-radius:16px;padding:18px}
.scam-box ul{margin:10px 0;padding-left:20px;color:#e8eef5}
.math-table{width:100%;border-collapse:collapse;margin:12px 0;font-size:.94rem}
.math-table th,.math-table td{border:1px solid var(--border);padding:10px 11px;text-align:left;vertical-align:top}
.math-table th{background:rgba(0,208,255,.12)}
.stuck{margin-top:auto;background:rgba(0,208,255,.07);border:1px solid rgba(0,208,255,.25);border-radius:10px;padding:10px 11px;font-size:.88rem;color:#cfe2f2}
@media(max-width:900px){.proof-grid{grid-template-columns:1fr}.math-table{font-size:.86rem}}

/* Gov alerts */
.gov-badge{display:inline-block;background:rgba(0,208,255,.14);border:1px solid rgba(0,208,255,.4);color:#aeeeff;border-radius:999px;padding:3px 9px;font-size:.78rem;font-weight:700;margin-right:6px}
.gov-badge-ftc{background:rgba(245,197,66,.14);border-color:rgba(245,197,66,.5);color:#ffe9a8}
.gov-badge-cisa{background:rgba(0,208,255,.14);border-color:rgba(0,208,255,.5);color:#aeeeff}
.gov-badge-fbi{background:rgba(255,120,120,.14);border-color:rgba(255,120,120,.5);color:#ffc7c7}

/* Threat map */
.threat-map-frame{width:100%;min-height:480px;border:1px solid var(--border);border-radius:16px;background:#071122}

/* Accessibility toolbar and modes */
.a11y-bar{background:#071122;border-bottom:1px solid var(--border);padding:10px 0;font-size:.9rem}
.a11y-bar-inner{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.a11y-label{color:var(--muted);font-weight:600}
.a11y-toggle{border:1px solid var(--border);background:rgba(255,255,255,.05);color:var(--text);border-radius:999px;padding:7px 12px;cursor:pointer;font-weight:600;font-size:.88rem}
.a11y-toggle[aria-pressed="true"]{background:var(--accent);color:#03121a;border-color:var(--accent)}
.a11y-link{color:var(--accent);font-weight:600}
body.sensory{--accent:#4fa8c9;--accent2:#4fa8c9}
body.sensory *{animation:none !important;transition:none !important;box-shadow:none !important;text-shadow:none !important}
body.sensory{font-size:1.06rem;line-height:1.8;background:#0b1220;color:#eef2f5}
body.sensory .hero{background:#0b1220}
body.sensory .hero-card,body.sensory .lesson,body.sensory .cat-card,body.sensory .game-card{box-shadow:none}
body.sensory .lesson .try{background:rgba(255,255,255,.06);border-color:var(--border)}
body.dyslexia,body.dyslexia h1,body.dyslexia h2,body.dyslexia h3{font-family:'Atkinson Hyperlegible',system-ui,sans-serif;letter-spacing:.01em;word-spacing:.08em}
body.dyslexia{line-height:1.7}
body.high-contrast{background:#000;color:#fff}
body.high-contrast a{color:#ffff00}
body.high-contrast .hero,body.high-contrast .hero-card,body.high-contrast .lesson,body.high-contrast .cat-card,body.high-contrast .game-card,body.high-contrast .proof-box,body.high-contrast .proof-card,body.high-contrast .trust-card,body.high-contrast .feed-card,body.high-contrast .source,body.high-contrast .cont-card,body.high-contrast header.site,body.high-contrast .a11y-bar,body.high-contrast footer{background:#000;border-color:#fff;color:#fff}
body.high-contrast .muted,body.high-contrast .small{color:#fff}
body.high-contrast .btn-primary{background:#ffff00;color:#000}
body.large-text{font-size:1.15rem}
body.large-text .lesson,body.large-text .game-card{font-size:1.08rem}

/* Games, tools, feedback */
.game-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.game-card{background:var(--card);border:1px solid var(--border);border-radius:20px;padding:22px;box-shadow:0 12px 30px rgba(0,0,0,.3)}
.game-card h3{margin-bottom:8px}
.game-word{font-size:1.5rem;font-weight:800;background:rgba(0,208,255,.08);border:1px solid rgba(0,208,255,.3);border-radius:12px;padding:14px;text-align:center;letter-spacing:.02em}
.game-example{background:rgba(255,255,255,.04);border:1px solid var(--border);border-radius:12px;padding:14px}
.game-example .from{color:var(--muted);font-size:.88rem}
.game-card input[type="text"],.game-card input[type="email"],.game-card input[type="password"],.game-card textarea,.game-card select{width:100%;max-width:520px;padding:11px 13px;border-radius:10px;border:1px solid var(--border);background:#0a1220;color:var(--text);font-size:1rem;margin:6px 0}
.game-card textarea{resize:vertical}
.game-card progress{width:100%;max-width:320px;height:14px;vertical-align:middle}
.checklist{list-style:none;margin:8px 0;padding:0;display:grid;gap:8px}
.checklist li label{display:block;background:rgba(255,255,255,.04);border:1px solid var(--border);border-radius:10px;padding:10px 12px;cursor:pointer}
.checklist input[type="checkbox"]{margin-right:8px}
@media(max-width:900px){.game-grid{grid-template-columns:1fr}}
@media print{
  header.site,.a11y-bar,.topbar,footer,.hero,.game-card button{display:none !important}
  body{background:#fff;color:#000}
  section.block{display:block !important}
}

/* Dashboard, badges, guided path */
.badge-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.badge-item{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:14px;text-align:center;opacity:.55}
.badge-item.earned{opacity:1;border-color:rgba(0,208,255,.55)}
.badge-item .badge-icon{font-size:1.7rem}
.path-row{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:14px;margin:10px 0}
.path-row progress{width:100%;max-width:420px;height:12px;vertical-align:middle}
.lesson-done{border-color:rgba(0,208,255,.6) !important}
.lesson-tools{margin-top:8px;display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.lesson-step{font-size:.85rem;color:var(--muted);font-weight:600}
.complete-note{background:rgba(0,208,255,.09);border:1px solid rgba(0,208,255,.3);border-radius:10px;padding:10px 12px;margin-top:10px;font-size:.92rem}
@media(max-width:900px){.badge-grid{grid-template-columns:repeat(2,1fr)}}

/* Rahvion Health additions */
:root{--accent-2:#2b7fff;--bg-alt:#0a101c;--ok:#35d99a;--check:#f5c542;--urgent:#ff7a7a}
.hero h1 span,.btn-primary{background-image:linear-gradient(135deg,#00d0ff,#2b7fff)}
.flash{border-radius:14px;padding:14px 16px;margin:18px 0 0;border:1px solid var(--border);background:rgba(0,208,255,.08)}
.flash-check{background:rgba(245,197,66,.1);border-color:rgba(245,197,66,.45)}
.flash-urgent{background:rgba(255,120,120,.12);border-color:rgba(255,120,120,.5)}
.vital-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:16px}
.vital-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:18px;transition:transform .2s,border-color .2s}
.vital-card:hover{transform:translateY(-3px);border-color:rgba(0,208,255,.45)}
.vital-top{display:flex;align-items:center;gap:10px}
.vital-top h3{margin:0;font-size:1rem}
.vital-icon{width:34px;height:34px;flex:0 0 34px;border-radius:10px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;font-weight:800;font-size:.78rem}
.vital-value{font-size:1.8rem;font-weight:800;line-height:1.1;margin:10px 0 2px}
.vital-unit{font-size:.95rem;color:var(--muted);font-weight:600}
.vital-date{color:var(--muted);font-size:.86rem;margin-bottom:10px}
.spark{width:100%;height:48px;display:block;margin-top:10px}
.status-pill{display:inline-block;border-radius:999px;padding:4px 10px;font-size:.8rem;font-weight:700;border:1px solid var(--border)}
.status-ok{background:rgba(53,217,154,.12);color:#8ff0c8;border-color:rgba(53,217,154,.4)}
.status-check{background:rgba(245,197,66,.12);color:#ffe9a8;border-color:rgba(245,197,66,.45)}
.status-urgent{background:rgba(255,122,122,.14);color:#ffc7c7;border-color:rgba(255,122,122,.5)}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:16px 0}
.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:20px;box-shadow:0 12px 30px rgba(0,0,0,.3)}
.card-list{display:grid;gap:14px}
.card progress{width:100%;max-width:420px;height:14px;vertical-align:middle}
.big-num{font-size:2rem;font-weight:800;color:#7ee7ff;line-height:1;margin:6px 0}
.alert-note{background:rgba(0,208,255,.07);border:1px solid rgba(0,208,255,.25);border-radius:14px;padding:14px 16px;margin-top:16px}
.alert-card{margin-bottom:12px}
.alert-urgent{border-color:rgba(255,122,122,.5)}
.form-card label{display:block;font-weight:600;margin:14px 0 6px}
.form-card input,.form-card select,.form-card textarea{width:100%;max-width:560px;padding:11px 13px;border-radius:10px;border:1px solid var(--border);background:#0a1220;color:var(--text);font-size:1rem}
.form-card.wide input,.form-card.wide textarea{max-width:720px}
#trendChart{width:100%;height:auto;background:#0a101c;border:1px solid var(--border);border-radius:12px}
.trend-stats{font-weight:600;margin-top:12px}
.plain-text{background:#0a101c;border:1px solid var(--border);border-radius:12px;padding:16px;white-space:pre-wrap;word-break:break-word;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.88rem;color:#d6e5f2;max-height:520px;overflow:auto}
.summary-card h4{margin:18px 0 6px;font-family:var(--font2)}
body.high-contrast .vital-card,body.high-contrast .card,body.high-contrast .flash{background:#000;border-color:#fff;color:#fff}
body.high-contrast .status-ok,body.high-contrast .status-check,body.high-contrast .status-urgent{background:#000;color:#fff;border-color:#fff}
@media(max-width:900px){.vital-grid{grid-template-columns:repeat(2,1fr)}.two-col{grid-template-columns:1fr}}
@media(max-width:520px){.vital-grid{grid-template-columns:1fr}}
@media print{
  .topbar,header.site,.a11y-bar,footer,.flash,.hero{display:none !important}
  body{background:#fff !important;color:#000 !important}
  .card,.vital-card,.summary-card{background:#fff !important;color:#000 !important;border-color:#999 !important;box-shadow:none !important}
  .muted,.small,.vital-date{color:#333 !important}
  .status-pill{border-color:#333 !important;color:#000 !important;background:#fff !important}
  a{color:#000 !important;text-decoration:none}
  section.block{padding:8px 0}
}
