/*
Theme Name: ThoughtScour
Theme URI: https://thoughtscour.com
Author: Pablo
Description: Custom minimal theme for ThoughtScour. Dark ink background, orange/blue duotone, Sora + Inter type, ambient animation, shared quiz UI.
Version: 1.0
Text Domain: thoughtscour
*/

:root{
  --ts-bg:#090c14;
  --ts-bg-alt:#0d1220;
  --ts-panel:#111729;
  --ts-panel-border:rgba(255,255,255,.08);

  --ts-orange:#ff7a3d;
  --ts-orange-soft:#ffb37a;
  --ts-orange-dim:rgba(255,122,61,.14);

  --ts-blue:#4dd8ff;
  --ts-blue-soft:#a3ecff;
  --ts-blue-dim:rgba(77,216,255,.14);

  --ts-text:#eef2f9;
  --ts-muted:#8d99b3;
  --ts-muted-2:#5c6785;

  --ts-radius-lg:22px;
  --ts-radius-md:14px;
  --ts-radius-sm:9px;

  --ts-nav-h:72px;

  --ts-ease:cubic-bezier(.16,1,.3,1);
}

*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }

body{
  background:var(--ts-bg) !important;
  color:var(--ts-text);
  font-family:"Inter",-apple-system,BlinkMacSystemFont,sans-serif;
  overflow-x:hidden;
  margin:0;
  padding-top:var(--ts-nav-h);
}
h1,h2,h3,h4{
  font-family:"Sora","Inter",sans-serif;
  letter-spacing:-.02em;
  line-height:1.12;
  color:var(--ts-text);
  text-transform:capitalize;
}
.ts-section-title{ text-align:center; max-width:640px; margin:0 auto 30px; }
.ts-section-title p{ text-align:center; margin:10px auto 0; }
a{ text-decoration:none; color:inherit; }
p{ color:var(--ts-muted); }

/* ---------------- ambient background (fixed, sitewide) ---------------- */
#ts-field{
  position:fixed; inset:0; z-index:0; pointer-events:none; overflow:hidden;
}
.ts-orb{ position:absolute; border-radius:50%; filter:blur(90px); opacity:.55; will-change:transform; }
.ts-orb--o{
  width:520px;height:520px; left:-120px; top:-80px;
  background:radial-gradient(circle,var(--ts-orange) 0%,transparent 70%);
  animation:ts-float-a 22s var(--ts-ease) infinite alternate;
}
.ts-orb--b{
  width:460px;height:460px; right:-140px; top:30%;
  background:radial-gradient(circle,var(--ts-blue) 0%,transparent 70%);
  animation:ts-float-b 26s var(--ts-ease) infinite alternate;
}
.ts-orb--c{
  width:380px;height:380px; left:20%; bottom:-160px;
  background:radial-gradient(circle,var(--ts-orange-soft) 0%,transparent 72%);
  opacity:.35;
  animation:ts-float-a 30s var(--ts-ease) infinite alternate-reverse;
}
@keyframes ts-float-a{ 0%{transform:translate(0,0) scale(1);} 100%{transform:translate(60px,40px) scale(1.08);} }
@keyframes ts-float-b{ 0%{transform:translate(0,0) scale(1);} 100%{transform:translate(-50px,60px) scale(1.05);} }

.ts-radar{
  position:absolute; top:50%; left:50%; width:1100px; height:1100px;
  transform:translate(-50%,-50%);
  background:conic-gradient(from 0deg,transparent 0deg,rgba(77,216,255,.06) 40deg,transparent 90deg);
  animation:ts-spin 18s linear infinite;
  opacity:.5;
}
@keyframes ts-spin{ to{ transform:translate(-50%,-50%) rotate(360deg); } }

@media (prefers-reduced-motion:reduce){ .ts-orb,.ts-radar{ animation:none !important; } }

/* ---------------- layout helpers ---------------- */
.ts-wrap{ position:relative; z-index:1; }
.ts-container{ max-width:1180px; margin:0 auto; padding:0 24px; }

/* ---------------- nav ---------------- */
#ts-nav{
  position:fixed; top:0; left:0; right:0; z-index:1000; height:var(--ts-nav-h);
  display:flex; align-items:center;
  background:rgba(9,12,20,.72); backdrop-filter:blur(14px);
  border-bottom:1px solid var(--ts-panel-border);
}
#ts-nav .ts-container{ display:flex; align-items:center; justify-content:space-between; width:100%; }
.ts-logo{ font-family:"Sora",sans-serif; font-weight:800; font-size:1.25rem; color:var(--ts-text); display:flex; align-items:center; gap:8px; text-transform:none; }
.ts-logo .ts-logo-thought{ color:var(--ts-blue-soft); }
.ts-nav-links{ display:flex; align-items:center; gap:6px; list-style:none; margin:0; padding:0; }
.ts-nav-links a{ color:var(--ts-muted); font-size:.92rem; font-weight:600; padding:9px 14px; border-radius:999px; transition:color .2s var(--ts-ease), background .2s var(--ts-ease); }
.ts-nav-links a:hover,.ts-nav-links a.is-active{ color:var(--ts-text); background:var(--ts-panel); }
.ts-nav-toggle{ display:none; }

@media (max-width:820px){
  .ts-nav-links{
    position:fixed; top:var(--ts-nav-h); left:0; right:0; flex-direction:column; align-items:stretch; gap:2px;
    background:var(--ts-bg-alt); border-bottom:1px solid var(--ts-panel-border); padding:10px;
    transform:translateY(-8px); opacity:0; pointer-events:none; transition:all .25s var(--ts-ease);
  }
  .ts-nav-links.is-open{ transform:translateY(0); opacity:1; pointer-events:auto; }
  .ts-nav-links a{ padding:12px 14px; text-align:left; }
  .ts-nav-toggle{ display:flex; flex-direction:column; gap:4px; background:none; border:0; cursor:pointer; padding:8px; }
  .ts-nav-toggle span{ width:22px; height:2px; background:var(--ts-text); border-radius:2px; }
}

/* ---------------- footer ---------------- */
#ts-footer{ position:relative; z-index:1; border-top:1px solid var(--ts-panel-border); background:var(--ts-bg-alt); padding:56px 0 28px; margin-top:80px; }
#ts-footer .ts-footer-grid{ display:flex; flex-wrap:wrap; justify-content:space-between; gap:32px; padding-bottom:32px; border-bottom:1px solid var(--ts-panel-border); }
#ts-footer .ts-footer-brand p{ color:var(--ts-muted); max-width:340px; font-size:.92rem; margin-top:10px; }
#ts-footer .ts-footer-links{ display:flex; gap:40px; flex-wrap:wrap; }
#ts-footer .ts-footer-links ul{ list-style:none; margin:0; padding:0; }
#ts-footer .ts-footer-links li{ margin-bottom:10px; }
#ts-footer .ts-footer-links a{ color:var(--ts-muted); font-size:.9rem; }
#ts-footer .ts-footer-links a:hover{ color:var(--ts-blue-soft); }
#ts-footer .ts-footer-bottom{ display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; padding-top:22px; font-size:.8rem; color:var(--ts-muted-2); }
.ts-disclaimer-wrap{ display:flex; justify-content:center; padding:28px 0; border-bottom:1px solid var(--ts-panel-border); }
#ts-footer .ts-disclaimer{ font-size:.86rem; color:var(--ts-muted); max-width:760px; line-height:1.75; text-align:center; margin:0; }
#ts-footer .ts-footer-bottom{ justify-content:center; text-align:center; gap:6px 24px; padding-top:20px; }

/* =========================================================
   SHARED TEST/QUIZ UI
   ========================================================= */
.ts-test-shell{ position:relative; z-index:1; padding:56px 0 100px; }
.ts-eyebrow{
  display:inline-flex; align-items:center; gap:8px; font-size:.78rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
  color:var(--ts-orange-soft); background:var(--ts-orange-dim); border:1px solid rgba(255,122,61,.28); padding:6px 14px; border-radius:999px; margin-bottom:18px;
}
.ts-hero-h1{ font-size:clamp(2.1rem,4.5vw,3.4rem); max-width:820px; }
.ts-hero-sub{ color:var(--ts-muted); max-width:640px; font-size:1.05rem; margin-top:14px; }
.ts-panel{ background:var(--ts-panel); border:1px solid var(--ts-panel-border); border-radius:var(--ts-radius-lg); padding:32px; }

.ts-progress-track{ height:8px; border-radius:999px; background:rgba(255,255,255,.06); overflow:hidden; margin-bottom:28px; }
.ts-progress-fill{ height:100%; width:0%; border-radius:999px; background:linear-gradient(90deg,var(--ts-orange),var(--ts-blue)); transition:width .4s var(--ts-ease); }
.ts-progress-label{ display:flex; justify-content:space-between; font-size:.82rem; color:var(--ts-muted); margin-bottom:10px; }

.ts-question{ display:none; }
.ts-question.is-active{ display:block; animation:ts-q-in .35s var(--ts-ease); }
@keyframes ts-q-in{ from{ opacity:0; transform:translateY(10px);} to{ opacity:1; transform:translateY(0);} }
.ts-q-num{ font-size:.82rem; color:var(--ts-blue-soft); font-weight:700; margin-bottom:8px; }
.ts-q-text{ font-family:"Sora",sans-serif; font-size:1.35rem; font-weight:700; margin-bottom:26px; }

.ts-options{ display:grid; gap:10px; }
.ts-option{
  display:flex; align-items:center; gap:14px; padding:15px 18px; border:1px solid var(--ts-panel-border); border-radius:var(--ts-radius-md);
  background:rgba(255,255,255,.02); cursor:pointer; transition:border-color .2s, background .2s, transform .15s; font-size:.98rem; color:var(--ts-text);
}
.ts-option:hover{ border-color:var(--ts-blue); background:var(--ts-blue-dim); }
.ts-option.is-selected{ border-color:var(--ts-orange); background:var(--ts-orange-dim); }
.ts-option .ts-emoji{ font-size:1.3rem; line-height:1; }
.ts-option .ts-radio{ width:18px; height:18px; border-radius:50%; border:2px solid var(--ts-muted-2); flex-shrink:0; position:relative; }
.ts-option.is-selected .ts-radio{ border-color:var(--ts-orange); }
.ts-option.is-selected .ts-radio::after{ content:""; position:absolute; inset:3px; border-radius:50%; background:var(--ts-orange); }

.ts-nav-buttons{ display:flex; justify-content:space-between; margin-top:32px; gap:12px; }
.ts-btn{ display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:13px 26px; border-radius:999px; font-weight:700; font-size:.92rem; border:1px solid transparent; cursor:pointer; transition:transform .15s, opacity .2s; }
.ts-btn:active{ transform:scale(.97); }
.ts-btn:disabled{ opacity:.35; cursor:not-allowed; }
.ts-btn--primary{ background:linear-gradient(90deg,var(--ts-orange),var(--ts-orange-soft)); color:#160b05; }
.ts-btn--ghost{ background:transparent; border-color:var(--ts-panel-border); color:var(--ts-muted); }
.ts-btn--ghost:hover{ color:var(--ts-text); border-color:var(--ts-blue); }

.ts-result{ display:none; }
.ts-result.is-active{ display:block; animation:ts-q-in .4s var(--ts-ease); }
.ts-result-score{ display:flex; align-items:baseline; gap:14px; margin:18px 0 6px; }
.ts-result-score .ts-num{ font-family:"Sora",sans-serif; font-size:3.4rem; font-weight:800; }
.ts-band{ display:inline-block; padding:6px 16px; border-radius:999px; font-weight:700; font-size:.85rem; margin-bottom:18px; }
.ts-band--low{ background:rgba(77,216,255,.14); color:var(--ts-blue-soft); }
.ts-band--mod{ background:rgba(255,179,122,.16); color:var(--ts-orange-soft); }
.ts-band--high{ background:rgba(255,122,61,.2); color:var(--ts-orange); }

.ts-disclaimer-box{ border:1px dashed var(--ts-panel-border); border-radius:var(--ts-radius-md); padding:16px 18px; font-size:.82rem; color:var(--ts-muted); margin-top:24px; }

.ts-faq-item{ border-bottom:1px solid var(--ts-panel-border); }
.ts-faq-q{ display:flex; justify-content:space-between; align-items:center; gap:16px; padding:20px 4px; cursor:pointer; font-family:"Sora",sans-serif; font-weight:700; font-size:1.02rem; }
.ts-faq-q::after{ content:"+"; font-size:1.4rem; color:var(--ts-muted); transition:transform .2s; }
.ts-faq-item.is-open .ts-faq-q::after{ transform:rotate(45deg); }
.ts-faq-a{ max-height:0; overflow:hidden; transition:max-height .3s var(--ts-ease); color:var(--ts-muted); font-size:.94rem; }
.ts-faq-item.is-open .ts-faq-a{ max-height:400px; padding-bottom:20px; }

.ts-test-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:20px; }
.ts-test-card{ background:var(--ts-panel); border:1px solid var(--ts-panel-border); border-radius:var(--ts-radius-lg); padding:26px; transition:transform .2s var(--ts-ease), border-color .2s; display:block; }
.ts-test-card:hover{ transform:translateY(-4px); border-color:var(--ts-blue); }
.ts-test-card h3{ font-size:1.2rem; margin-bottom:8px; }
.ts-test-card p{ color:var(--ts-muted); font-size:.9rem; }
.ts-test-card .ts-card-meta{ margin-top:16px; font-size:.78rem; color:var(--ts-blue-soft); font-weight:700; }

/* =========================================================
   HOMEPAGE — neon signature mark, stat graphs, image panels
   ========================================================= */
.ts-home-hero{
  position:relative; padding:90px 0 60px;
  display:grid; grid-template-columns:1.1fr .9fr; gap:40px; align-items:center;
}
@media (max-width:900px){ .ts-home-hero{ grid-template-columns:1fr; } }

.ts-mark-wrap{
  position:relative; display:flex; align-items:center; justify-content:center;
  min-height:360px;
}
.ts-mark-glow{
  position:absolute; width:320px; height:320px; border-radius:50%;
  background:radial-gradient(circle, rgba(77,216,255,.28), rgba(255,122,61,.18) 55%, transparent 75%);
  filter:blur(30px);
  animation:ts-mark-pulse 6s ease-in-out infinite;
}
@keyframes ts-mark-pulse{ 0%,100%{ transform:scale(1); opacity:.8;} 50%{ transform:scale(1.08); opacity:1;} }
.ts-mark{ position:relative; width:300px; height:300px; }
.ts-mark path.ts-mark-ring{
  fill:none; stroke-width:2.4; stroke-linecap:round;
  stroke:url(#ts-mark-grad);
  filter:drop-shadow(0 0 10px rgba(77,216,255,.55)) drop-shadow(0 0 18px rgba(255,122,61,.35));
}
.ts-mark .ts-mark-phi{
  stroke:var(--ts-orange-soft); stroke-width:2.6; stroke-linecap:round;
  filter:drop-shadow(0 0 8px rgba(255,122,61,.6));
}
.ts-mark .ts-mark-smear{ opacity:.65; mix-blend-mode:screen; }

.ts-stat-row{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:36px; }
.ts-stat-card{
  background:var(--ts-panel); border:1px solid var(--ts-panel-border); border-radius:var(--ts-radius-md);
  padding:18px 20px;
}
.ts-stat-card .ts-stat-num{
  font-family:"Sora",sans-serif; font-weight:800; font-size:1.8rem;
  background:linear-gradient(90deg,var(--ts-blue-soft),var(--ts-orange-soft));
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.ts-stat-card .ts-stat-label{ font-size:.78rem; color:var(--ts-muted); margin-top:4px; }

.ts-graph-panel{ margin-top:14px; }
.ts-graph-title{ font-size:.86rem; color:var(--ts-muted); margin-bottom:14px; }
.ts-bar-row{ display:flex; align-items:center; gap:14px; margin-bottom:14px; }
.ts-bar-row:last-child{ margin-bottom:0; }
.ts-bar-label{ width:150px; font-size:.86rem; color:var(--ts-text); flex-shrink:0; }
.ts-bar-track{ flex:1; height:10px; border-radius:999px; background:rgba(255,255,255,.06); overflow:hidden; }
.ts-bar-fill{
  height:100%; border-radius:999px; width:0%;
  background:linear-gradient(90deg,var(--ts-orange),var(--ts-blue));
  box-shadow:0 0 12px rgba(77,216,255,.45);
  transition:width 1.1s var(--ts-ease);
}
.ts-bar-pct{ width:44px; text-align:right; font-size:.82rem; color:var(--ts-muted); font-weight:700; }

.ts-media-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:8px; }
.ts-media-card{
  position:relative; border-radius:var(--ts-radius-md); overflow:hidden; aspect-ratio:4/5;
  border:1px solid var(--ts-panel-border);
  background:linear-gradient(160deg, rgba(255,122,61,.16), rgba(77,216,255,.16));
}
.ts-media-card img{ width:100%; height:100%; object-fit:cover; display:block; opacity:.9; }
.ts-media-card .ts-media-tag{
  position:absolute; left:12px; bottom:12px; font-size:.72rem; font-weight:700;
  padding:5px 12px; border-radius:999px; background:rgba(9,12,20,.72); backdrop-filter:blur(6px);
  color:var(--ts-blue-soft);
}
@media (max-width:760px){ .ts-media-grid,.ts-stat-row{ grid-template-columns:1fr 1fr; } }

/* pulsating glow border, used on select panels */
.ts-panel--glow{
  position:relative;
  animation:ts-glow-pulse 3.2s ease-in-out infinite;
}
@keyframes ts-glow-pulse{
  0%,100%{ box-shadow:0 0 0 1px rgba(77,216,255,.25), 0 0 18px rgba(77,216,255,.12); border-color:rgba(77,216,255,.3); }
  50%{ box-shadow:0 0 0 1px rgba(255,122,61,.35), 0 0 30px rgba(255,122,61,.22); border-color:rgba(255,122,61,.4); }
}
@media (prefers-reduced-motion:reduce){ .ts-panel--glow{ animation:none; } }

/* icons used in stat cards / section headers */
.ts-icon{ width:22px; height:22px; flex-shrink:0; }
.ts-icon path,.ts-icon circle,.ts-icon line{ stroke:url(#ts-mark-grad); }
.ts-stat-card{ display:flex; flex-direction:column; gap:8px; }
.ts-stat-icon{ width:26px; height:26px; }

/* testimonials */
.ts-testimonial-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.ts-testimonial{
  background:var(--ts-panel); border:1px solid var(--ts-panel-border); border-radius:var(--ts-radius-lg);
  padding:26px; display:flex; flex-direction:column; gap:14px;
}
.ts-testimonial-quote-mark{ font-family:"Sora",sans-serif; font-size:2.2rem; color:var(--ts-orange-soft); line-height:1; }
.ts-testimonial p{ font-size:.94rem; color:var(--ts-text); line-height:1.6; }
.ts-testimonial-meta{ display:flex; align-items:center; gap:10px; margin-top:auto; }
.ts-testimonial-avatar{
  width:36px; height:36px; border-radius:50%; flex-shrink:0;
  background:linear-gradient(135deg,var(--ts-orange),var(--ts-blue));
  display:flex; align-items:center; justify-content:center; font-weight:700; font-size:.8rem; color:#0a0d16;
}
.ts-testimonial-name{ font-size:.86rem; font-weight:700; color:var(--ts-text); }
.ts-testimonial-role{ font-size:.76rem; color:var(--ts-muted); }
@media (max-width:820px){ .ts-testimonial-grid{ grid-template-columns:1fr; } }

/* strip default WP content spacing so widgets/blocks sit flush inside .ts-wrap */
.site-main > *{ margin:0; }

@media (max-width:600px){
  .ts-panel{ padding:22px; }
  .ts-q-text{ font-size:1.12rem; }
}
