@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@1,500&display=swap');

:root{
  --bg:#060506;
  --bg-grad:#090909;
  --surface:#151213;
  --surface-alt:#1d181a;
  --text:#fdf6ec;
  --muted:#c1b6ab;
  --accent:#f7a53f;
  --accent-2:#7cc7ff;
  --accent-3:#43f6c7;
  --shadow:rgba(0,0,0,.55);
}

*{box-sizing:border-box}

body{
  font-family:"Inter",-apple-system,system-ui,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
  background:
    radial-gradient(720px 320px at 10% 10%, rgba(247,165,63,.09), transparent 65%),
    radial-gradient(640px 280px at 80% 0%, rgba(67,246,199,.08), transparent 70%),
    var(--bg-grad);
  color:var(--text);
  min-height:100vh;
  letter-spacing:.01em;
  margin:0;
}

main.container{
  width:100%;
  max-width:min(960px, 100vw);
  padding-left:clamp(1rem, 4vw, 1.5rem);
  padding-right:clamp(1rem, 4vw, 1.5rem);
}

h1,h2,h3,h4,h5,h6{
  color:var(--text);
  letter-spacing:.02em;
}

.text-muted,
.card .text-muted{
  color:var(--muted) !important;
}

.navbar{
  background:#0f0d0d !important;
  border-bottom:1px solid rgba(255,255,255,.05);
}
.navbar .navbar-brand{
  color:var(--accent) !important;
  text-transform:uppercase;
  letter-spacing:.12em;
}
.navbar .nav-link{
  color:rgba(255,255,255,.75) !important;
  transition:color .2s ease;
}
.navbar .nav-link:hover{ color:var(--accent-2) !important; }
.navbar .nav-link.nav-link-muted{
  color:rgba(255,255,255,.5) !important;
  font-size:.9rem;
}

a{ color:var(--accent-2); }

.card{
  background:linear-gradient(145deg, rgba(30,27,29,.95) 0%, rgba(22,20,21,.98) 100%);
  border:1px solid rgba(255,255,255,.08);
  border-radius:18px;
  box-shadow:0 18px 45px -26px var(--shadow);
  backdrop-filter:blur(16px);
}
.card + .card{ margin-top:1rem; }
.card .card-title{
  color:var(--accent);
  text-transform:uppercase;
  font-size:.95rem;
  letter-spacing:.15em;
}
.card .card-text,
.card p{
  color:rgba(253,246,236,.92);
}

.badge-pill{
  border-radius:999px;
  padding:.35rem .9rem;
  border:1px solid rgba(255,255,255,.12);
  color:var(--muted);
  background:rgba(255,255,255,.05);
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.18em;
}

.btn-primary,
.btn-outline-primary,
.btn-outline-success,
.btn-outline-secondary,
.btn-ghost{
  border-radius:16px;
  padding:.45rem 1.2rem;
  font-weight:600;
  border:1px solid transparent;
  box-shadow:0 10px 25px -18px rgba(0,0,0,.9), inset 0 1px 0 rgba(255,255,255,.2);
  transition:transform .1s ease, box-shadow .1s ease, background .15s ease;
}
.btn-primary{
  background:linear-gradient(180deg, #fbb04a, #d07a1a);
  border-color:#f2992e;
  color:#1f1100;
}
.btn-outline-primary{
  border-color:#f2992e;
  color:#f7a53f;
  background:linear-gradient(180deg, rgba(255,255,255,.1), rgba(0,0,0,.05));
}
.btn-outline-primary:hover,
.btn-ghost:hover,
.btn-outline-success:hover,
.btn-outline-secondary:hover{
  transform:translateY(1px);
  box-shadow:0 6px 18px -14px rgba(0,0,0,.85), inset 0 1px 0 rgba(255,255,255,.12);
}
.btn-outline-primary:active,
.btn-primary:active,
.btn-outline-success:active,
.btn-outline-secondary:active,
.btn-ghost:active{
  transform:translateY(2px);
  box-shadow:0 4px 12px -10px rgba(0,0,0,.9), inset 0 1px 0 rgba(255,255,255,.1);
}
.btn-outline-success{
  border-color:#38d39f;
  color:#38d39f;
  background:linear-gradient(180deg, rgba(56,211,159,.15), rgba(0,0,0,.08));
}
.btn-outline-secondary{
  border-color:rgba(255,255,255,.25);
  color:var(--text);
  background:linear-gradient(180deg, rgba(255,255,255,.15), rgba(0,0,0,.08));
}
.btn-ghost{
  border-color:rgba(255,255,255,.25);
  color:rgba(255,255,255,.85);
  background:linear-gradient(180deg, rgba(255,255,255,.08), rgba(0,0,0,.05));
}

pre{
  white-space:pre-wrap;
  font-size:.9rem;
  line-height:1.55;
  color:var(--text);
  background:rgba(0,0,0,.25);
  border-radius:14px;
  padding:1rem;
  border:1px solid rgba(255,255,255,.04);
}

/* Homepage polish */
.hero{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  justify-content:center;
  padding:6rem 1rem 4rem;
  width:100%;
  background:
    radial-gradient(circle at 15% 20%, rgba(255,165,0,.22), transparent 60%),
    radial-gradient(circle at 85% 35%, rgba(255,215,0,.18), transparent 60%),
    linear-gradient(180deg, #050505 0%, #111013 100%);
}
.hero img{
  width:320px;
  max-width:38vw;
  height:auto;
  filter: drop-shadow(0 8px 16px rgba(0,0,0,.6));
}
.hero-canvas{
  position:relative;
  overflow:hidden;
  min-height:90vh;
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  max-width:min(1040px, 100%);
  margin:0 auto;
  background:
    radial-gradient(circle at 15% 20%, rgba(255,165,0,.15), transparent 55%),
    radial-gradient(circle at 80% 30%, rgba(255,215,0,.12), transparent 60%),
    linear-gradient(145deg, rgba(6,6,6,.98), rgba(15,14,18,.92));
  border-radius:32px;
  margin-top:2rem;
  padding:4rem 1.5rem 3rem;
}
.hero-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(0,0,0,.75), rgba(0,0,0,.65));
}
.hero-content{
  position:relative;
  z-index:1;
  width:min(100%, 820px);
  max-width:820px;
  margin:0 auto;
  padding:2rem 1rem;
}
.hero-logo-shell{
  padding:1.5rem;
  border-radius:24px;
  background:rgba(0,0,0,.4);
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 20px 60px -35px rgba(0,0,0,.8);
}
.hero-tagline{
  font-size:1.8rem;
  font-weight:600;
  letter-spacing:.02em;
  text-transform:none;
  max-width:760px;
  margin:0 auto;
}
.hero-subcopy{
  max-width:640px;
  color:rgba(255,255,255,.78);
  font-size:1.05rem;
  line-height:1.6;
  font-style:italic;
  margin:1rem auto 0;
}
.hero-ticker{
  background:#0a0a0a;
  border-radius:18px;
  padding:.5rem 1rem;
  border:1px solid rgba(255,255,255,.08);
  overflow:hidden;
}
.hero-ticker .ticker{
  display:flex;
  gap:2rem;
  animation:ticker 18s linear infinite;
  white-space:nowrap;
  font-weight:500;
  color:#FFA500;
}
@media (min-width: 992px){
  .hero-tagline{
    white-space:nowrap;
  }
}
.hero-marquee{
  display:flex;
  gap:1.5rem;
  flex-wrap:wrap;
  justify-content:center;
  font-size:.85rem;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--muted);
}
.hero-marquee span{
  padding:.35rem .9rem;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.15);
}
.hero-live{
  border:1px solid rgba(255,255,255,.1);
  border-radius:20px;
  padding:1.5rem;
  background:rgba(0,0,0,.25);
  min-width:260px;
}
.hero-live .live-line{
  font-size:1.05rem;
  margin-bottom:0;
  color:rgba(255,255,255,.88);
}
.cta-row{
  width:100%;
  flex-wrap:wrap;
}
.hero-pillars{
  margin-top:1rem;
}
.pillar-card{
  border:1px solid rgba(255,255,255,.1);
  border-radius:18px;
  padding:1.5rem;
  background:linear-gradient(145deg, rgba(23,21,22,.9), rgba(15,14,15,.95));
  height:100%;
  box-shadow:0 18px 40px -30px rgba(0,0,0,.9);
}
.pillar-card h4{
  margin-bottom:.5rem;
  font-size:1.25rem;
}
.pillar-card p{
  color:rgba(255,255,255,.9);
}
.feature-list{
  list-style:none;
  padding-left:0;
  margin:.5rem 0 .5rem;
  color:rgba(255,255,255,.75);
  font-size:.95rem;
}
.feature-list li{
  margin-bottom:.25rem;
}
.pillar-icon{
  font-size:2rem;
  margin-bottom:.5rem;
}
.stat{
  color:#FFA500;
  font-weight:600;
}
.hover-lift{
  transition:transform .3s ease, box-shadow .3s ease;
}
.hover-lift:hover{
  transform:translateY(-8px);
  box-shadow:0 25px 45px -30px rgba(0,0,0,.8);
}
.hero .lead{
  max-width:720px;
  text-align:center;
  margin-top:1rem;
  opacity:.95;
}
.home-shell{
  width:100%;
  max-width:1100px;
  margin:3rem auto 0;
  padding:0 1.5rem 4rem;
}
.home-shell .row{
  margin-right:0;
  margin-left:0;
}
.quote-rotator{
  background:transparent;
  color:#FFD700;
  font-style:italic;
  font-family:'Playfair Display',serif;
  text-align:center;
  padding:1.5rem 1rem;
  margin-top:3rem;
  max-width:780px;
  margin-left:auto;
  margin-right:auto;
}
.quote-cta{
  display:inline-block;
  margin-top:.5rem;
  color:#FFD700;
}
@keyframes ticker{
  from{ transform:translateX(0); }
  to{ transform:translateX(-50%); }
}
.footer-note{ color:#948a80; font-size:.85rem; }
.microcopy{ color:var(--muted); font-size:.85rem; }
.homepage-footer{
  opacity:.8;
}
.sticky-premium{
  position:fixed;
  left:50%;
  bottom:1.5rem;
  transform:translate(-50%, 120%);
  background:rgba(0,0,0,.85);
  border:1px solid rgba(255,255,255,.12);
  border-radius:999px;
  padding:.75rem 1.5rem;
  display:flex;
  gap:1rem;
  align-items:center;
  box-shadow:0 20px 45px -30px rgba(0,0,0,.9);
  transition:transform .4s ease;
  z-index:20;
  max-width:520px;
  width:calc(100% - 2rem);
}
.sticky-premium.show{
  transform:translate(-50%, 0);
}
.pulse-cta{
  animation:pulse 2s infinite;
}
@keyframes pulse{
  0%{ box-shadow:0 0 0 0 rgba(255,165,0,.5); }
  70%{ box-shadow:0 0 0 15px rgba(255,165,0,0); }
  100%{ box-shadow:0 0 0 0 rgba(255,165,0,0); }
}
.delayed-fade{
  animation:fadeIn 1s ease forwards;
  animation-delay:.8s;
  opacity:0;
}
@keyframes fadeIn{
  to{ opacity:1; }
}
.animate-runner{
  animation:runner 1.2s ease forwards;
  transform:translateX(-40px);
  opacity:0;
}
@keyframes runner{
  to{ transform:translateX(0); opacity:1; }
}

/* Forms */
.form-label, label{
  color: var(--text);
  font-weight:600;
}
.form-control, .form-select{
  background:linear-gradient(180deg, rgba(19,17,18,.95), rgba(9,8,9,.98));
  color:rgba(255,255,255,.92);
  border:1px solid rgba(255,255,255,.08);
  border-radius:14px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08), 0 8px 20px -18px rgba(0,0,0,.8);
  padding:.65rem .9rem;
  caret-color:#45f6c0;
}
.form-control::placeholder{ color:#9a948a; opacity:.85; }
.form-control::selection,
.form-select::selection{
  background:rgba(69,246,192,.25);
}
.form-control:focus, .form-select:focus{
  border-color:var(--accent-2);
  box-shadow:0 0 0 0.12rem rgba(124,199,255,.25), inset 0 1px 0 rgba(255,255,255,.12);
  background:linear-gradient(180deg, rgba(30,28,29,.98), rgba(15,14,15,.99));
  color:rgba(255,255,255,.98);
}
textarea.form-control{ min-height:90px; }
.form-control.input-visual,
.form-select.input-visual{
  background:linear-gradient(180deg, rgba(27,24,25,.98), rgba(10,9,10,.98));
}

.watchlist-panel{
  background:rgba(20,18,19,.9);
  border:1px solid rgba(255,255,255,.1);
}
.watchlist-panel .form-label{
  font-size:.7rem;
  letter-spacing:.18em;
  color:var(--muted);
}
.watchlist-panel input{
  background:#121012;
  border-color:rgba(255,255,255,.1);
  color:var(--text);
}
.watchlist-panel input:focus{
  border-color:var(--accent-2);
}

.wealth-shell{
  display:flex;
  flex-direction:column;
  gap:1.5rem;
}
.section-block{
  border:1px solid rgba(255,255,255,.08);
  border-radius:28px;
  padding:1.5rem;
  background:linear-gradient(145deg, rgba(12,11,12,.95), rgba(5,4,6,.93));
  box-shadow:0 25px 60px -40px rgba(0,0,0,.9);
}
.section-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:1rem;
}
.section-body{
  margin-top:1rem;
}
.section-body.collapsed{
  display:none;
}
.section-block.collapsed > .section-body{ display:none; }
.pump-dump-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:1rem;
}
.pump-card{
  border:1px solid rgba(255,255,255,.12);
  border-radius:18px;
  padding:1rem;
  background:rgba(255,255,255,.02);
}
.pump-card strong,
.level-card strong{
  color:var(--text);
  letter-spacing:.08em;
}
.level-card strong{
  color:var(--accent);
}
.tag-green{ border-color:#2ecc71; color:#2ecc71; }
.tag-red{ border-color:#ff6b6b; color:#ff6b6b; }
.levels-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
  gap:1rem;
}
.level-card{
  border:1px solid rgba(255,255,255,.08);
  border-radius:18px;
  padding:1rem;
  background:rgba(0,0,0,.25);
}


.page-heading{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
}
.eyebrow{
  text-transform:uppercase;
  letter-spacing:.28em;
  font-size:.72rem;
  color:rgba(255,255,255,.7);
}
.ai-output{
  white-space:pre-wrap;
  background:rgba(0,0,0,.25);
  border-radius:16px;
  padding:1rem;
  border:1px solid rgba(255,255,255,.05);
}
.ai-output.ai-text{
  white-space:normal;
  font-size:.95rem;
  line-height:1.6;
  font-family:"Inter",-apple-system,system-ui,sans-serif;
}
.ai-image img{
  width:100%;
  max-width:320px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 12px 30px -18px rgba(0,0,0,.9);
}
.ideas-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:1.2rem;
}
.ideas-grid.collapsed{
  max-height:360px;
  overflow:hidden;
  transition:max-height .3s ease;
}
.idea-card{
  border:1px solid rgba(255,255,255,.08);
  border-radius:18px;
  padding:1rem;
  background:rgba(0,0,0,.3);
  color:rgba(255,255,255,.9);
}
.idea-card strong{
  font-size:1.05rem;
  color:var(--accent);
}
.idea-card .badge{
  background:rgba(255,165,0,.15);
  color:#FFA500;
  border-radius:999px;
}
.is-loading{
  opacity:.75;
}
.reading-panel{
  background:rgba(32,29,33,.65);
  border:1px solid rgba(255,255,255,.08);
  color:rgba(255,255,255,.94);
  max-height:none;
  overflow:visible;
}
.reading-panel.collapsed{
  max-height:0;
  padding-top:0;
  padding-bottom:0;
  overflow:hidden;
  transition:max-height .3s ease;
}
.sizing-table-wrapper{
  transition:max-height .3s ease;
  max-height:none;
  overflow-x:auto;
}
.sizing-table-wrapper.collapsed{
  max-height:0;
  overflow:hidden;
}
.sizing-table-wrapper table{
  min-width:720px;
}
.position-table{
  width:100%;
  font-size:.9rem;
}
.position-table th{
  text-transform:uppercase;
  font-size:.7rem;
  letter-spacing:.2em;
  color:rgba(255,255,255,.7);
}
.position-table td{
  color:rgba(255,255,255,.9);
}
.position-table tr td:first-child{
  font-weight:600;
  color:var(--accent);
}
.metric-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(120px,1fr));
  gap:0.85rem;
}
.metric-chip{
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.12);
  border-radius:14px;
  padding:.75rem 1rem;
  display:flex;
  flex-direction:column;
  gap:.2rem;
}
.metric-chip span{
  font-size:.8rem;
  color:var(--muted);
  letter-spacing:.08em;
  text-transform:uppercase;
}
.metric-chip strong{
  font-size:1.2rem;
  color:var(--text);
}
.metric-row{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:0.75rem;
}
.metric-chip.mini{
  padding:.5rem .75rem;
  width:100%;
}
.metric-chip.mini strong{
  font-size:1rem;
}
.microcard{
  border:1px solid rgba(255,255,255,.12);
  border-radius:16px;
  padding:.9rem 1rem;
  background:rgba(40,36,39,.6);
  color:var(--text);
}
.microcard span{
  font-size:.75rem;
  color:var(--muted);
  text-transform:uppercase;
  letter-spacing:.15em;
}
.microcard strong{
  display:block;
  font-size:1.25rem;
  margin-top:.15rem;
}
.sentiment-row{
  display:flex;
  gap:0.75rem;
  padding:.65rem;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(20,20,22,.55);
  margin-bottom:.65rem;
}
.sentiment-row:last-child{ margin-bottom:0; }
.sentiment-row strong{ color:var(--text); }
.sentiment-row small{ color:var(--muted); }
.sentiment-stream{
  max-height:none;
}
.sentiment-stream.collapsed{
  max-height:210px;
  overflow:hidden;
  transition:max-height .3s ease;
}
.tag-pill{
  padding:.25rem .85rem;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.25);
  font-size:.75rem;
  text-transform:uppercase;
  letter-spacing:.15em;
  color:var(--text);
}
.list-tidy{
  list-style:none;
  padding-left:0;
  margin:0;
  display:flex;
  flex-direction:column;
  gap:.75rem;
}
.list-tidy li{
  padding-bottom:.75rem;
  border-bottom:1px solid rgba(255,255,255,.04);
}
.list-tidy li:last-child{
  border-bottom:none;
  padding-bottom:0;
}
.list-tidy li strong{
  color:var(--text);
}
.list-tidy li small{
  color:var(--muted);
}
.level-card .metric-grid{
  grid-template-columns:repeat(2,minmax(100px,1fr));
}
.sizing-grid .sizing-card{
  min-height:150px;
}
.sizing-grid{
  max-height:900px;
  overflow:hidden;
  transition:max-height .3s ease;
}
.sizing-grid.collapsed{
  max-height:0;
  padding-bottom:0;
}

/* Responsive tweaks */
@media (max-width: 992px){
  .hero-canvas{
    min-height:auto;
    margin-top:1rem;
    padding:3rem 1.25rem 2.5rem;
  }
  .hero-content{
    padding:1.5rem .5rem;
  }
  .hero-tagline{
    font-size:1.45rem;
    white-space:normal;
  }
  .hero-subcopy{
    font-size:1rem;
  }
  .hero-logo-shell img{
    max-width:60vw;
  }
  .home-shell{
    padding:0 1rem 3rem;
  }
  .hero-live{
    width:100%;
  }
  .hero-marquee{
    gap:.65rem;
  }
  .page-heading{
    flex-direction:column;
    align-items:flex-start;
  }
  .ideas-grid{
    grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
  }
  .sentiment-row{
    flex-direction:column;
    align-items:flex-start;
  }
  .sticky-premium{
    position:static;
    transform:none;
    border-radius:28px;
    margin-top:2rem;
    width:100%;
  }
  .sticky-premium.show{
    transform:none;
  }
}
@media (max-width: 768px){
  .hero{
    padding:4.5rem .75rem 3rem;
  }
  .hero-canvas{
    padding:2.75rem 1rem 2.25rem;
    border-radius:24px;
    overflow:visible;
  }
  .hero-content{
    padding:1rem 0.25rem;
  }
  .hero-logo-shell{
    margin:0 auto;
  }
  .home-shell{
    padding:0 .85rem 3rem;
    margin-top:2.5rem;
  }
  .cta-row{
    flex-direction:column;
    align-items:stretch;
  }
  .cta-row .btn{
    width:100%;
  }
  .hero-live,
  .hero-ticker,
  .hero-marquee{
    align-self:stretch;
    text-align:left;
  }
  .hero-live{
    min-width:0;
  }
  .pillar-card{
    padding:1.35rem;
  }
}

@media (max-width: 576px){
  main.container{
    padding-left:1rem;
    padding-right:1rem;
  }
  .hero-logo-shell{
    padding:1rem;
  }
  .hero-tagline{
    font-size:1.2rem;
  }
  .hero-subcopy{
    font-size:.95rem;
  }
  .hero-ticker .ticker{
    font-size:.9rem;
    animation-duration:26s;
  }
  .quote-rotator{
    padding:1rem .25rem;
  }
  .metric-row{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .ideas-grid{
    grid-template-columns:1fr;
  }
  .microcard strong{
    font-size:1.1rem;
  }
  .sentiment-row{
    gap:.4rem;
  }
  .sizing-table-wrapper{
    overflow-x:auto;
  }
}
.input-visually-hidden,
.sr-only{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  clip-path:inset(50%);
  border:0;
}
.btn-upload{
  min-width:200px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.35rem;
}
.btn-pressable{
  border:1px solid rgba(255,255,255,.3);
  background:linear-gradient(180deg, rgba(255,255,255,.18), rgba(0,0,0,.05));
  color:var(--text);
  border-radius:14px;
  box-shadow:0 8px 20px -14px rgba(0,0,0,.9), inset 0 1px 0 rgba(255,255,255,.2);
  transition:background .15s ease, transform .1s ease, box-shadow .1s ease;
}
.btn-pressable:hover{
  background:linear-gradient(180deg, rgba(255,255,255,.25), rgba(0,0,0,.08));
  color:var(--text);
}
.btn-pressable:active{
  transform:translateY(2px);
  box-shadow:0 4px 14px -10px rgba(0,0,0,.9), inset 0 1px 0 rgba(255,255,255,.15);
}
