@import url('https://fonts.googleapis.com/css2?family=Bodoni+Moda:ital,wght@1,600;1,700&display=swap');

/* ── Global quote typography ── */
.quote-block blockquote,
.quote-block p,
.intro-quote,
.trad-lede,
.s2-quote-text {
  font-family: 'Bodoni Moda', Georgia, serif !important;
  font-style: italic !important;
  line-height: 1.75 !important;
}

/* Gradient text for all quote elements */
.quote-block blockquote,
.quote-block p,
.intro-quote,
.trad-lede {
  font-size: 20px !important;
  font-weight: 700 !important;
  background: linear-gradient(135deg, #6D28D9, #9B72E8, #C5A8F5) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
}

[data-theme="dark"] .quote-block blockquote,
[data-theme="dark"] .quote-block p,
[data-theme="dark"] .intro-quote,
[data-theme="dark"] .trad-lede {
  background: linear-gradient(135deg, #B09AE8, #D4C3F5, #EDE0FF) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
}

/* ── Nav icon buttons (search + dark mode toggle + bookmark) ── */
.nav-icon-btn{
  width:32px;height:32px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
  border:1px solid rgba(255,255,255,.18);
  color:rgba(255,255,255,.55);background:transparent;cursor:pointer;
  text-decoration:none;transition:all .15s;
}
.nav-icon-btn:hover{border-color:rgba(255,255,255,.45);color:#fff;}
nav.scrolled .nav-icon-btn{border-color:rgba(100,75,180,.2);color:rgba(26,21,53,0.65);}
nav.scrolled .nav-icon-btn:hover{border-color:rgba(100,75,180,.4);color:#1A1535;}

/* Bookmark button active (saved) state */
.nav-bookmark-btn.active{color:rgba(139,92,246,.9);border-color:rgba(109,40,217,.3);}
nav.scrolled .nav-bookmark-btn.active{color:#6D28D9;border-color:rgba(109,40,217,.4);}
.nav-bookmark-btn.active:hover{color:#5B21B6;}
[data-theme="dark"] nav.scrolled .nav-bookmark-btn.active{color:rgba(160,139,222,.9);border-color:rgba(139,92,246,.4);}

/* ── Hamburger (hidden on desktop) ── */
.nav-hamburger{
  display:none;
  width:32px;height:32px;border-radius:50%;
  align-items:center;justify-content:center;flex-shrink:0;
  border:1px solid rgba(255,255,255,.18);
  color:rgba(255,255,255,.55);background:transparent;cursor:pointer;
  transition:all .15s;
}
.nav-hamburger:hover{border-color:rgba(255,255,255,.45);color:#fff;}
nav.scrolled .nav-hamburger{border-color:rgba(100,75,180,.2);color:rgba(26,21,53,0.65);}
nav.scrolled .nav-hamburger:hover{border-color:rgba(100,75,180,.4);color:#1A1535;}
[data-theme="dark"] nav.scrolled .nav-hamburger{border-color:rgba(110,85,190,.3);color:rgba(135,125,195,.7);}

/* ── Mobile nav ── */
@media(max-width:760px){
  .nav-hamburger{display:flex;}

  nav{
    flex-wrap:wrap;
    align-items:center!important;
    padding:14px 24px!important;
    gap:10px!important;
  }

  /* Hide full link list + CTA by default */
  nav .links{
    display:none!important;
    order:10;
    width:100%;
    flex-direction:column;
    gap:0;
    border-top:1px solid rgba(255,255,255,.07);
    padding-top:10px;
    margin-top:4px;
  }
  nav .links a{
    font-size:15px!important;
    padding:11px 4px!important;
    color:rgba(255,255,255,.75)!important;
    border-bottom:1px solid rgba(255,255,255,.05);
    display:block;
    text-decoration:none;
  }
  nav .links a:last-child{border-bottom:none;}
  nav .cta-nav{display:none!important;}

  /* Open state */
  nav.nav-open .links{display:flex!important;}
  nav.nav-open .cta-nav{
    display:block!important;
    order:11;
    width:100%;
    text-align:center;
    margin:10px 0 4px;
    padding:10px 20px!important;
    border-radius:8px;
    font-size:14px!important;
  }

  /* Scrolled + open */
  nav.scrolled.nav-open .links{border-color:rgba(100,75,180,.12);}
  nav.scrolled .links a{color:rgba(26,21,53,.7)!important;}
  nav.scrolled.nav-open .links a:hover{color:#1A1535!important;}

  /* Dark + scrolled + open */
  [data-theme="dark"] nav.scrolled .links a{color:rgba(130,120,190,.75)!important;}
  [data-theme="dark"] nav.scrolled.nav-open .links{border-color:rgba(110,85,190,.15);}

  /* Filter strip top must clear the collapsed nav */
  .filter-strip{top:56px!important;}

  /* Hide ⌘K hint on mobile */
  .search-shortcut,.search-kbd{display:none!important;}

  /* Push hero CTA clear of ASK RAI widget */
  .acts{padding-bottom:20px;}

  /* Ease padding on content sections */
  .researchers-main,
  .phenomena-main,
  .theories-main,
  .cases-main,
  .search-main{padding-left:16px!important;padding-right:16px!important;}

  /* ── Fix inner-page hero overlap on mobile ──
     align-items:flex-end pushes content upward on short viewports, causing
     the tag ("CLINICAL EVIDENCE") to collide with the back link
     ("← Research Domains"). Switch to flex-start + padding-top so content
     always starts safely below the nav and the back link. */
  .hero{
    align-items:flex-start!important;
    padding-top:108px!important;
  }
  .hero-back{
    top:66px!important;
    left:28px!important;
  }
}

/* ── Dark mode: universal overrides ── */
[data-theme="dark"] body{
  background:linear-gradient(to bottom,#0C0A1A,#100D22)!important;
  color:rgba(237,232,224,.85)!important;
}
[data-theme="dark"] main{background:linear-gradient(to bottom,#0C0A1A,#100D22)!important;}

/* Scrolled nav → dark */
[data-theme="dark"] nav.scrolled{
  background:rgba(10,8,22,.96)!important;
  border-bottom-color:rgba(110,85,190,.18)!important;
}
[data-theme="dark"] nav.scrolled .links a{color:rgba(135,125,195,.6)!important;}
[data-theme="dark"] nav.scrolled .links a:hover{color:rgba(237,232,224,.9)!important;}
[data-theme="dark"] nav.scrolled .logo{
  background:linear-gradient(135deg,#A08BDE,#C5B0F0)!important;
  -webkit-background-clip:text!important;
  -webkit-text-fill-color:transparent!important;
  background-clip:text!important;
}

/* Index page sections — opaque dark backgrounds so fixed canvas doesn't bleed through */
[data-theme="dark"] .s3,
[data-theme="dark"] .s-tools{background:#0E0C20!important;}
[data-theme="dark"] .s-tech{background:#04030A!important;}
[data-theme="dark"] .s4{background:#0C0A1A!important;}
[data-theme="dark"] .s5{background:#07050F!important;}
[data-theme="dark"] .s-stats{background:#0C0A1A!important;border-color:rgba(110,85,190,.1)!important;}
[data-theme="dark"] .stat{border-color:rgba(110,85,190,.12)!important;}
[data-theme="dark"] .stat-l{color:rgba(145,135,200,.4)!important;}
[data-theme="dark"] .dc{background:#130E25!important;border-color:rgba(110,85,190,.12)!important;}
[data-theme="dark"] .dc h3{color:rgba(237,232,224,.9)!important;}
[data-theme="dark"] .dc p{color:rgba(180,172,225,.65)!important;}
[data-theme="dark"] .dc-refs{color:rgba(120,95,190,.4)!important;}
[data-theme="dark"] .tool-card{background:#130E25!important;border-color:rgba(110,85,190,.1)!important;}
[data-theme="dark"] .tool-card h3{color:rgba(237,232,224,.9)!important;}
[data-theme="dark"] .tool-card p{color:rgba(180,172,225,.6)!important;}
[data-theme="dark"] .s2-quote-text{background:linear-gradient(135deg,#B09AE8,#D4C3F5,#EDE0FF)!important;-webkit-background-clip:text!important;-webkit-text-fill-color:transparent!important;background-clip:text!important}
[data-theme="dark"] .sh2 h2{color:rgba(237,232,224,.92)!important;}
[data-theme="dark"] .sh2 p{color:rgba(160,150,210,.6)!important;}
[data-theme="dark"] .s3h h2{color:rgba(237,232,224,.92)!important;}
[data-theme="dark"] .s3h p{color:rgba(160,150,210,.6)!important;}

/* Content sections on non-index pages */
[data-theme="dark"] .section,
[data-theme="dark"] .section-sm{color:rgba(237,232,224,.8);}

/* White cards → dark */
[data-theme="dark"] .stat,
[data-theme="dark"] .tool-card,
[data-theme="dark"] .card,
[data-theme="dark"] .dc,
[data-theme="dark"] .pillar,
[data-theme="dark"] .feature,
[data-theme="dark"] .quote-block,
[data-theme="dark"] .case-card,
[data-theme="dark"] .tradition-card,
[data-theme="dark"] .evidence-item{
  background:rgba(14,12,28,.9)!important;
  border-color:rgba(110,85,190,.18)!important;
}
[data-theme="dark"] .tool-card:hover,
[data-theme="dark"] .dc:hover,
[data-theme="dark"] .stat:hover,
[data-theme="dark"] .case-card:hover{
  background:rgba(18,15,35,.95)!important;
  border-color:rgba(110,85,190,.32)!important;
}

/* Card text */
[data-theme="dark"] .tool-card h3,
[data-theme="dark"] .dc h3,
[data-theme="dark"] .pillar h4,
[data-theme="dark"] .stat-n,
[data-theme="dark"] .case-title{color:rgba(237,232,224,.9)!important;}
[data-theme="dark"] .tool-card p,
[data-theme="dark"] .dc p,
[data-theme="dark"] .dc-refs,
[data-theme="dark"] .pillar p,
[data-theme="dark"] .stat-l,
[data-theme="dark"] .tool-tag,
[data-theme="dark"] .case-body,
[data-theme="dark"] .case-location-year{color:rgba(180,172,225,.82)!important;}

/* Quote / descriptive text */
[data-theme="dark"] .s2i p,
[data-theme="dark"] .s2-quote-text,
[data-theme="dark"] .s2-quote-attr,
[data-theme="dark"] .sh2 p,
[data-theme="dark"] .s5i .lead,
[data-theme="dark"] .s5-foot,
[data-theme="dark"] .cta-block p,
[data-theme="dark"] .hero-desc{color:rgba(165,158,215,.78)!important;}

/* Section borders */
[data-theme="dark"] .cta-block{border-color:rgba(110,85,190,.12)!important;}

/* Index chat section */
[data-theme="dark"] .mode-btn{background:rgba(14,12,28,.8)!important;border-color:rgba(110,85,190,.2)!important;color:rgba(130,120,190,.65)!important;}
[data-theme="dark"] .mode-btn:hover,[data-theme="dark"] .mode-btn.active{background:rgba(22,18,42,.9)!important;border-color:rgba(110,85,190,.4)!important;color:rgba(237,232,224,.85)!important;}
[data-theme="dark"] .starter-btn{background:rgba(14,12,28,.8)!important;border-color:rgba(110,85,190,.18)!important;color:rgba(130,120,190,.65)!important;}
[data-theme="dark"] .starter-btn:hover{background:rgba(22,18,42,.9)!important;border-color:rgba(110,85,190,.35)!important;color:rgba(237,232,224,.85)!important;}
[data-theme="dark"] .chat-input-row{background:rgba(14,12,28,.85)!important;border-color:rgba(110,85,190,.22)!important;}
[data-theme="dark"] .chat-input-row textarea{color:rgba(237,232,224,.85)!important;}
[data-theme="dark"] .chat-input-row textarea::placeholder{color:rgba(110,100,165,.4)!important;}
[data-theme="dark"] .msg.ai .msg-body{background:rgba(22,18,42,.8)!important;border-color:rgba(110,85,190,.14)!important;color:rgba(220,215,240,.82)!important;}
[data-theme="dark"] .msg.user .msg-body{background:rgba(100,75,180,.18)!important;color:rgba(237,232,224,.85)!important;}

/* Common heading text */
[data-theme="dark"] h1:not([class]),
[data-theme="dark"] h2:not([class]),
[data-theme="dark"] h3:not([class]),
[data-theme="dark"] h4:not([class]){color:rgba(237,232,224,.9);}

/* Footer */
[data-theme="dark"] .footer{
  border-color:rgba(110,85,190,.1)!important;
  color:rgba(110,100,165,.35)!important;
}
[data-theme="dark"] .footer a{color:rgba(110,100,165,.55)!important;}

/* Page-specific: case deep-dive */
[data-theme="dark"] .case-detail-body,
[data-theme="dark"] .summary-block,
[data-theme="dark"] .timeline-list,
[data-theme="dark"] .evidence-list,
[data-theme="dark"] .counter-list,
[data-theme="dark"] .sources-list{background:rgba(14,12,28,.85);border-color:rgba(110,85,190,.16);}
[data-theme="dark"] .ev-item,
[data-theme="dark"] .counter-arg,
[data-theme="dark"] .counter-resp,
[data-theme="dark"] .source-item{background:rgba(10,8,22,.7);border-color:rgba(110,85,190,.12);}
[data-theme="dark"] .timeline-event-text,
[data-theme="dark"] .ev-detail,
[data-theme="dark"] .ev-claim{color:rgba(145,135,200,.7);}
[data-theme="dark"] .section-label{color:rgba(115,105,175,.65);}

/* Page-specific: all content cards missing dark overrides */
[data-theme="dark"] .step-card,
[data-theme="dark"] .q-block,
[data-theme="dark"] .argument,
[data-theme="dark"] .bottom-line,
[data-theme="dark"] .domain-card,
[data-theme="dark"] .fc,
[data-theme="dark"] .rc,
[data-theme="dark"] .method-step,
[data-theme="dark"] .ph-item,
[data-theme="dark"] .study,
[data-theme="dark"] .theory,
[data-theme="dark"] .tier-chip,
[data-theme="dark"] .unknown-card,
[data-theme="dark"] .event,
[data-theme="dark"] .callout{
  background:rgba(14,12,28,.9)!important;
  border-color:rgba(110,85,190,.16)!important;
}
[data-theme="dark"] .step-card:hover,
[data-theme="dark"] .domain-card:hover,
[data-theme="dark"] .argument:hover{
  background:rgba(18,15,35,.95)!important;
  border-color:rgba(110,85,190,.28)!important;
}
[data-theme="dark"] .step-num{color:rgba(139,92,246,.35)!important;}
[data-theme="dark"] .step-body h3,
[data-theme="dark"] .q-block h3,
[data-theme="dark"] .q-block h4,
[data-theme="dark"] .argument h3,
[data-theme="dark"] .argument h4,
[data-theme="dark"] .domain-card h3,
[data-theme="dark"] .theory h3,
[data-theme="dark"] .study h3,
[data-theme="dark"] .unknown-card h3{color:rgba(237,232,224,.9)!important;}
[data-theme="dark"] .step-body p,
[data-theme="dark"] .q-block p,
[data-theme="dark"] .argument p,
[data-theme="dark"] .domain-card p,
[data-theme="dark"] .bottom-line,
[data-theme="dark"] .theory p,
[data-theme="dark"] .study p,
[data-theme="dark"] .unknown-card p{color:rgba(180,172,225,.75)!important;}
[data-theme="dark"] .callout p,[data-theme="dark"] .callout strong{color:rgba(200,192,240,.85)!important;}
[data-theme="dark"] .falsify-card.strengthen{background:rgba(100,75,180,.08)!important;border-color:rgba(110,85,190,.2)!important;}
[data-theme="dark"] .falsify-card.weaken{background:rgba(80,40,100,.1)!important;border-color:rgba(110,85,190,.18)!important;}
[data-theme="dark"] .falsify-card.strengthen h4{color:rgba(160,139,222,.85)!important;}
[data-theme="dark"] .falsify-card.weaken h4{color:rgba(180,150,230,.75)!important;}
[data-theme="dark"] .falsify-card li{color:rgba(160,150,210,.7)!important;}

/* Page-specific: search */
[data-theme="dark"] .search-box{background:rgba(10,8,22,.9);border-color:rgba(110,85,190,.25);}
[data-theme="dark"] .search-input{background:transparent;color:rgba(237,232,224,.9);}
[data-theme="dark"] .search-input::placeholder{color:rgba(110,100,165,.45);}
[data-theme="dark"] .result-group-label{color:rgba(115,105,175,.6);}
[data-theme="dark"] .result-item{background:rgba(14,12,28,.85);border-color:rgba(110,85,190,.16);color:rgba(145,135,200,.75);}
[data-theme="dark"] .result-item:hover{background:rgba(18,15,35,.9);border-color:rgba(110,85,190,.3);}
[data-theme="dark"] .result-item mark{background:rgba(110,85,200,.25);color:rgba(237,232,224,.9);}

/* Inner research pages — text color overrides for hardcoded dark-ink values */
[data-theme="dark"] .lede{color:rgba(175,168,222,.82)!important;}
[data-theme="dark"] .theory-name,
[data-theme="dark"] .study-title,
[data-theme="dark"] .rc-name,
[data-theme="dark"] .fc h3,
[data-theme="dark"] .ev-text h4,
[data-theme="dark"] .ph-text h4,
[data-theme="dark"] .case h3{color:rgba(237,232,224,.9)!important;}
[data-theme="dark"] .theory-author,
[data-theme="dark"] .theory-implication,
[data-theme="dark"] .fc p,
[data-theme="dark"] .rc-desc,
[data-theme="dark"] .ev-text p,
[data-theme="dark"] .ph-text p,
[data-theme="dark"] .case p,
[data-theme="dark"] .study p,
[data-theme="dark"] .highlight,
[data-theme="dark"] .step-text p,
[data-theme="dark"] .cta-block p,
[data-theme="dark"] .quote-block cite{color:rgba(175,168,222,.78)!important;}
[data-theme="dark"] .quote-block blockquote{color:rgba(220,215,240,.86)!important;}
[data-theme="dark"] .step-text h4{color:rgba(237,232,224,.9)!important;}
[data-theme="dark"] .theory-implication strong,
[data-theme="dark"] .highlight strong{color:rgba(237,232,224,.88)!important;}
[data-theme="dark"] .stat-l{color:rgba(145,135,200,.6)!important;}
[data-theme="dark"] .footer{color:rgba(110,100,165,.45)!important;}
[data-theme="dark"] .footer a{color:rgba(125,115,180,.6)!important;}
[data-theme="dark"] .theory-implication{background:rgba(100,75,180,.1)!important;border-color:rgba(110,85,190,.2)!important;}
[data-theme="dark"] .highlight{background:rgba(100,75,180,.08)!important;border-color:rgba(110,85,190,.2)!important;}
[data-theme="dark"] .ev-item{background:rgba(14,12,28,.8)!important;border-color:rgba(110,85,190,.14)!important;}
[data-theme="dark"] .ph-item{background:rgba(14,12,28,.8)!important;border-color:rgba(110,85,190,.14)!important;}

/* ── Dark mode: matrix table sticky column ── */
[data-theme="dark"] .matrix-table-wrap{background-color:#13102A!important;background:linear-gradient(to right,#13102A 30%,rgba(19,16,42,0)),linear-gradient(to right,rgba(19,16,42,0),#13102A 70%) 0 100%,radial-gradient(farthest-side at 0 50%,rgba(110,85,190,.15),transparent),radial-gradient(farthest-side at 100% 50%,rgba(110,85,190,.15),transparent) 0 100%!important;background-repeat:no-repeat!important;background-size:40px 100%,40px 100%,14px 100%,14px 100%!important;background-attachment:local,local,scroll,scroll!important;}
[data-theme="dark"] .matrix-table th:first-child,[data-theme="dark"] .matrix-table td:first-child{background:#13102A!important;box-shadow:2px 0 8px rgba(0,0,0,.3)!important;}
[data-theme="dark"] .matrix-table tbody tr:hover td{background:rgba(100,75,180,.08)!important;}
[data-theme="dark"] .matrix-table tbody tr:hover td:first-child{background:rgba(100,75,180,.12)!important;}
[data-theme="dark"] .matrix-table td{color:rgba(180,172,225,.75)!important;}
[data-theme="dark"] .matrix-table th{color:rgba(140,130,200,.5)!important;}
[data-theme="dark"] .matrix-table td:first-child{color:rgba(200,192,240,.85)!important;}

/* ── Eliminate 300ms tap delay on all interactive elements ──
   touch-action:manipulation tells the browser this element doesn't use
   double-tap zoom, so taps fire immediately instead of after 300ms delay. */
a,
button,
.researcher-card,
.phenom-card,
.theory-card,
.modal-overlay{
  touch-action:manipulation;
}
