  :root{
    --bg: #0a0c16;
    --bg-deep: #05060c;
    --ink: #eee9dc;
    --ink-dim: #a9a6b8;
    --brass: #c9a15a;
    --brass-soft: #c9a15a33;
    --teal: #4a8b82;
    --line: #ffffff14;
    --serif: 'Lora', Georgia, serif;
    --sans: 'Space Grotesk', sans-serif;
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{background:var(--bg);color:var(--ink);font-family:var(--serif);line-height:1.6;overflow-x:hidden;}

  #bg-video{
    position:fixed;top:0;left:0;width:100%;height:100%;
    object-fit:cover;z-index:-2;pointer-events:none;
    filter:brightness(0.75) saturate(1.05);
  }
  #bg-overlay{
    position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1;
    background:
      linear-gradient(to bottom, rgba(5,6,12,0.55) 0%, rgba(5,6,12,0.35) 20%, rgba(5,6,12,0.55) 60%, rgba(5,6,12,0.85) 100%);
    pointer-events:none;
  }

  header{
    position:fixed;top:0;left:0;right:0;z-index:50;
    display:flex;align-items:center;justify-content:space-between;
    padding:22px 5vw;
    background:linear-gradient(to bottom, rgba(5,6,12,0.85), transparent);
    backdrop-filter:blur(2px);
  }
  .logo{font-family:var(--sans);font-weight:600;font-size:1.15rem;letter-spacing:0.02em;display:flex;align-items:center;gap:10px;}
  .logo svg{width:22px;height:22px;}
  nav.auth{display:flex;gap:14px;align-items:center;}
  .btn-ghost{font-family:var(--sans);font-size:0.85rem;color:var(--ink-dim);background:none;border:none;cursor:pointer;padding:9px 14px;transition:color .25s ease;}
  .btn-ghost:hover{color:var(--ink);}
  .btn-solid{font-family:var(--sans);font-size:0.85rem;font-weight:500;color:#0a0c16;background:var(--brass);border:none;border-radius:3px;padding:10px 20px;cursor:pointer;transition:transform .25s ease, box-shadow .25s ease;}
  .btn-solid:hover{transform:translateY(-1px);box-shadow:0 6px 20px var(--brass-soft);}

  .hero{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;text-align:center;padding:0 6vw;z-index:1;}
  .hero-inner{max-width:720px;position:relative;z-index:2;}
  .eyebrow-free{font-family:var(--serif);font-style:italic;color:var(--ink-dim);font-size:1rem;margin-bottom:18px;opacity:0;animation:riseIn 1.1s ease 0.2s forwards;}
  h1{font-family:var(--sans);font-weight:600;font-size:clamp(2.4rem, 6vw, 4.4rem);line-height:1.08;letter-spacing:-0.01em;opacity:0;animation:riseIn 1.1s ease 0.4s forwards;}
  h1 .accent{color:var(--brass);}
  .hero p.sub{font-family:var(--serif);font-size:1.15rem;color:var(--ink-dim);max-width:480px;margin:26px auto 0;opacity:0;animation:riseIn 1.1s ease 0.65s forwards;}
  .hero-cta{margin-top:38px;display:flex;gap:16px;justify-content:center;opacity:0;animation:riseIn 1.1s ease 0.9s forwards;}
  .btn-primary{font-family:var(--sans);font-weight:500;font-size:0.95rem;background:var(--brass);color:#0a0c16;border:none;padding:14px 30px;border-radius:3px;cursor:pointer;transition:transform .25s ease, box-shadow .25s ease;}
  .btn-primary:hover{transform:translateY(-2px);box-shadow:0 10px 30px var(--brass-soft);}
  .btn-secondary{font-family:var(--sans);font-weight:500;font-size:0.95rem;background:transparent;color:var(--ink);border:1px solid var(--line);padding:14px 30px;border-radius:3px;cursor:pointer;transition:border-color .25s ease, background .25s ease;}
  .btn-secondary:hover{border-color:var(--brass);background:#ffffff08;}
  @keyframes riseIn{from{opacity:0;transform:translateY(16px);}to{opacity:1;transform:translateY(0);}}

  .wheel-wrap{position:absolute;top:50%;left:50%;width:min(70vw, 620px);height:min(70vw, 620px);transform:translate(-50%,-50%) scale(0.9);opacity:0;z-index:1;animation:wheelIn 1.6s cubic-bezier(.16,1,.3,1) 0.1s forwards;}
  @keyframes wheelIn{from{opacity:0;transform:translate(-50%,-50%) scale(0.85) rotate(-25deg);}to{opacity:0.55;transform:translate(-50%,-50%) scale(1) rotate(0deg);}}
  .wheel-wrap svg{width:100%;height:100%;animation:slowSpin 240s linear infinite;}
  @keyframes slowSpin{to{transform:rotate(360deg);}}

  section{position:relative;z-index:1;padding:140px 6vw;max-width:1100px;margin:0 auto;}
  .reveal{opacity:0;transform:translateY(24px);transition:opacity .9s ease, transform .9s ease;}
  .reveal.visible{opacity:1;transform:translateY(0);}

  .section-head{max-width:560px;margin-bottom:64px;}
  .section-head .kicker{font-family:var(--serif);font-style:italic;color:var(--brass);font-size:1rem;margin-bottom:14px;}
  .section-head h2{font-family:var(--sans);font-weight:600;font-size:clamp(1.8rem,3.4vw,2.6rem);line-height:1.15;}
  .section-head.center{margin:0 auto 64px;text-align:center;}

  .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:44px;}
  .step{border-top:1px solid var(--line);padding-top:24px;}
  .step .num{font-family:var(--serif);font-style:italic;color:var(--brass);font-size:1.6rem;display:block;margin-bottom:14px;}
  .step h3{font-family:var(--sans);font-weight:600;font-size:1.15rem;margin-bottom:10px;}
  .step p{color:var(--ink-dim);font-size:0.98rem;}

  /* Sky / orbital animation section */
  .sky-section{max-width:100%;padding:0;}
  .sky-frame{
    position:relative;width:100%;aspect-ratio:16/8;
    background:radial-gradient(ellipse at 50% 40%, rgba(16,20,43,0.55) 0%, rgba(5,6,12,0.8) 75%);
    border-top:1px solid var(--line);border-bottom:1px solid var(--line);
    overflow:hidden;
  }
  .sky-frame canvas{position:absolute;inset:0;width:100%;height:100%;}
  .sky-caption{
    position:absolute;left:6vw;bottom:36px;max-width:420px;z-index:2;
  }
  .sky-caption .kicker{font-family:var(--serif);font-style:italic;color:var(--brass);font-size:0.95rem;margin-bottom:10px;}
  .sky-caption h3{font-family:var(--sans);font-weight:600;font-size:1.5rem;margin-bottom:10px;}
  .sky-caption p{color:var(--ink-dim);font-size:0.95rem;}
  .sky-badge{
    position:absolute;top:36px;right:6vw;z-index:2;
    font-family:var(--sans);font-size:0.75rem;color:var(--ink-dim);
    border:1px solid var(--line);padding:6px 12px;border-radius:20px;
    display:flex;align-items:center;gap:8px;
  }
  .sky-badge .dot{width:6px;height:6px;border-radius:50%;background:var(--teal);animation:pulse 2s ease-in-out infinite;}
  @keyframes pulse{0%,100%{opacity:1;}50%{opacity:0.3;}}

  /* Bi-wheel comparison */
  .biwheel{display:grid;grid-template-columns:1fr auto 1fr;gap:40px;align-items:start;}
  .biwheel-chart{aspect-ratio:1;border-radius:50%;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at center, #ffffff05, transparent 70%);overflow:hidden;}
  .biwheel-chart svg{width:96%;height:96%;}
  .biwheel-label{text-align:center;font-family:var(--sans);font-size:0.8rem;color:var(--ink-dim);margin-top:16px;letter-spacing:0.02em;}
  .biwheel-divider{display:flex;flex-direction:column;align-items:center;gap:10px;padding-top:120px;}
  .biwheel-divider .line{width:1px;height:70px;background:var(--line);}
  .biwheel-divider span{font-family:var(--sans);font-size:0.75rem;color:var(--brass);}
  .chart-legend{
    display:flex;gap:22px;justify-content:center;flex-wrap:wrap;
    margin-top:44px;font-family:var(--sans);font-size:0.78rem;color:var(--ink-dim);
  }
  .chart-legend .item{display:flex;align-items:center;gap:8px;}
  .chart-legend .swatch{width:16px;height:2px;border-radius:2px;}

  .biwheel-chart svg .layer-rings,
  .biwheel-chart svg .layer-houses{
    transform-box: view-box;
    transform-origin: 150px 150px;
    transition: opacity .25s linear, transform .25s linear;
    opacity: 0;
  }
  .biwheel-chart svg .sign-icon,
  .biwheel-chart svg .planet-item,
  .biwheel-chart svg .aspect-item{
    transform-box: fill-box;
    transform-origin: center;
    transition: opacity .3s ease-out, transform .3s ease-out;
    opacity: 0;
  }

  .chart-scroll-stage{ position:relative; height: 340vh; }
  .chart-sticky{
    position: sticky; top: 0; height: 100vh;
    display:flex; flex-direction:column; align-items:center; justify-content:center;
    padding: 0 6vw;
  }
  .chart-sticky .biwheel{ width:100%; max-width:1000px; }

  .transit-list{margin-top:50px;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);}
  .transit-item{background:var(--bg);padding:22px;}
  .transit-item .planets{font-family:var(--sans);font-size:0.85rem;color:var(--ink);margin-bottom:6px;}
  .transit-item .aspect{font-family:var(--sans);font-size:0.75rem;color:var(--brass);}

  /* Testimonials */
  .testimonials{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);}
  .testimonial{background:var(--bg);padding:36px 30px;}
  .testimonial p{font-family:var(--serif);font-style:italic;font-size:1.02rem;color:var(--ink);margin-bottom:20px;}
  .testimonial .who{font-family:var(--sans);font-size:0.8rem;color:var(--ink-dim);}
  .testimonial .who .name{color:var(--brass);}

  .quote-section{text-align:center;}
  blockquote{font-family:var(--serif);font-style:italic;font-size:clamp(1.3rem,2.6vw,1.8rem);max-width:640px;margin:0 auto;line-height:1.5;}
  blockquote cite{display:block;margin-top:22px;font-style:normal;font-family:var(--sans);font-size:0.85rem;color:var(--ink-dim);}

  .cta-final{text-align:center;padding-bottom:200px;}
  .cta-final h2{font-family:var(--sans);font-weight:600;font-size:clamp(2rem,4vw,3rem);margin-bottom:26px;}
  .cta-final p{color:var(--ink-dim);max-width:460px;margin:0 auto 36px;}

  footer{position:relative;z-index:1;border-top:1px solid var(--line);padding:36px 6vw;display:flex;justify-content:space-between;font-family:var(--sans);font-size:0.8rem;color:var(--ink-dim);}

  @media (max-width:760px){
    footer{flex-direction:column;gap:10px;text-align:center;}
    .steps{grid-template-columns:1fr;}
    .biwheel{grid-template-columns:1fr;}
    .biwheel-divider{flex-direction:row;}
    .biwheel-divider .line{width:70px;height:1px;}
    .transit-list, .testimonials{grid-template-columns:1fr;}
    section{padding:90px 6vw;}
    .sky-caption{left:6vw;right:6vw;bottom:24px;}
  }
  @media (prefers-reduced-motion: reduce){
    *{animation-duration:0.01ms !important; transition-duration:0.01ms !important;}
  }

  /* Preços */
  .pricing{display:grid;grid-template-columns:repeat(2,1fr);gap:32px;max-width:900px;margin:0 auto;}
  .price-card{border:1px solid var(--line);border-radius:8px;padding:40px 32px;position:relative;background:#ffffff05;display:flex;flex-direction:column;}
  .price-card.featured{border-color:var(--brass);background:linear-gradient(180deg,#c9a15a10,#ffffff05);}
  .price-badge{position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:var(--brass);color:#0a0c16;font-family:var(--sans);font-size:0.72rem;font-weight:600;letter-spacing:0.03em;padding:5px 16px;border-radius:20px;text-transform:uppercase;}
  .price-header h3{font-family:var(--sans);font-weight:600;font-size:1.3rem;margin-bottom:8px;}
  .price-desc{color:var(--ink-dim);font-size:0.92rem;min-height:44px;}
  .price-amount{font-family:var(--sans);font-weight:600;font-size:2.6rem;margin:24px 0;color:var(--ink);display:flex;align-items:baseline;gap:2px;}
  .price-amount .currency{font-size:1.2rem;font-weight:500;margin-right:2px;color:var(--ink-dim);}
  .price-amount .cents{font-size:1.4rem;}
  .price-amount .period{font-family:var(--serif);font-style:italic;font-size:0.85rem;color:var(--ink-dim);margin-left:10px;font-weight:400;}
  .price-features{list-style:none;margin:0 0 28px;flex-grow:1;}
  .price-features li{font-size:0.92rem;color:var(--ink-dim);padding:9px 0;border-top:1px solid var(--line);}
  .price-features li:first-child{border-top:none;}
  .price-cta{width:100%;}
  .price-note{margin-top:16px;font-size:0.78rem;color:var(--brass);text-align:center;}
  .pricing-footnote{text-align:center;color:var(--ink-dim);font-size:0.8rem;margin-top:32px;}

  /* FAQ */
  .faq{max-width:720px;margin:0 auto;}
  .faq-item{border-bottom:1px solid var(--line);padding:22px 0;}
  .faq-item summary{font-family:var(--sans);font-weight:500;font-size:1.02rem;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;}
  .faq-item summary::-webkit-details-marker{display:none;}
  .faq-item summary::after{content:'+';font-size:1.3rem;color:var(--brass);margin-left:16px;transition:transform .25s ease;}
  .faq-item[open] summary::after{transform:rotate(45deg);}
  .faq-item p{margin-top:14px;color:var(--ink-dim);font-size:0.95rem;max-width:640px;}

  @media (max-width:760px){
    .pricing{grid-template-columns:1fr;}
    .price-card{padding:32px 24px;}
  }

/* ---- Blog ---- */
body.blog-page{background:var(--bg-deep);}
.blog-topbar{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:22px 5vw;background:rgba(5,6,12,0.92);backdrop-filter:blur(6px);border-bottom:1px solid var(--line);}
.blog-topbar .logo{font-family:var(--sans);font-weight:600;font-size:1.1rem;display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;}
.blog-topbar .logo svg{width:20px;height:20px;}
.blog-topbar nav a{font-family:var(--sans);font-size:0.85rem;color:var(--ink-dim);text-decoration:none;margin-left:22px;transition:color .2s ease;}
.blog-topbar nav a:hover{color:var(--ink);}
.blog-topbar nav a.btn-solid{color:#0a0c16;background:var(--brass);padding:9px 18px;border-radius:3px;margin-left:22px;}

.blog-wrap{max-width:700px;margin:0 auto;padding:150px 6vw 100px;}
.blog-kicker{font-family:var(--serif);font-style:italic;color:var(--brass);font-size:0.95rem;margin-bottom:16px;}
.blog-title{font-family:var(--sans);font-weight:600;font-size:clamp(1.9rem,4vw,2.6rem);line-height:1.15;margin-bottom:18px;}
.blog-lead{font-family:var(--serif);font-size:1.1rem;color:var(--ink-dim);margin-bottom:44px;padding-bottom:32px;border-bottom:1px solid var(--line);}
.blog-body h2{font-family:var(--sans);font-weight:600;font-size:1.35rem;margin:40px 0 16px;}
.blog-body p{margin-bottom:20px;color:var(--ink);}
.blog-body{font-size:1.02rem;}
.blog-cta{margin-top:56px;padding:36px;text-align:center;border:1px solid var(--brass-soft);border-radius:8px;background:#c9a15a0d;}
.blog-cta p{color:var(--ink-dim);margin-bottom:18px;}

.blog-index-head{max-width:700px;margin:0 auto 56px;}
.blog-index-list{max-width:700px;margin:0 auto;display:flex;flex-direction:column;gap:1px;background:var(--line);border:1px solid var(--line);}
.post-card{background:var(--bg-deep);padding:28px 30px;text-decoration:none;display:block;transition:background .2s ease;}
.post-card:hover{background:#ffffff06;}
.post-card .post-date{font-family:var(--sans);font-size:0.75rem;color:var(--brass);margin-bottom:8px;}
.post-card h2{font-family:var(--sans);font-weight:600;font-size:1.15rem;color:var(--ink);margin-bottom:8px;}
.post-card p{color:var(--ink-dim);font-size:0.92rem;}

@media (max-width:760px){
  .blog-wrap, .blog-index-head, .blog-index-list{padding-left:0;padding-right:0;}
}

/* ---- Cadastro / Login ---- */
body.auth-page{background:var(--bg-deep);min-height:100vh;display:flex;flex-direction:column;}
.auth-wrap{flex:1;display:flex;align-items:center;justify-content:center;padding:150px 6vw 80px;}
.auth-card{width:100%;max-width:480px;border:1px solid var(--line);border-radius:8px;padding:44px;background:#ffffff05;}
.auth-card h1{font-family:var(--sans);font-weight:600;font-size:1.6rem;margin-bottom:8px;}
.auth-card .auth-sub{color:var(--ink-dim);font-size:0.92rem;margin-bottom:8px;}
.auth-plano-badge{display:inline-block;font-family:var(--sans);font-size:0.75rem;color:var(--brass);border:1px solid var(--brass-soft);padding:5px 12px;border-radius:20px;margin-bottom:24px;}
.campo{margin-bottom:18px;}
.campo label{display:block;font-family:var(--sans);font-size:0.82rem;color:var(--ink-dim);margin-bottom:7px;}
.campo input, .campo select{width:100%;background:#ffffff08;border:1px solid var(--line);border-radius:4px;padding:11px 13px;color:var(--ink);font-family:var(--sans);font-size:0.92rem;}
.campo input:focus, .campo select:focus{outline:none;border-color:var(--brass);}
.campo-linha{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.campo-checkbox{display:flex;align-items:flex-start;gap:9px;font-size:0.82rem;color:var(--ink-dim);}
.campo-checkbox input{width:auto;margin-top:3px;}
.campo-ajuda{font-size:0.76rem;color:var(--ink-dim);margin-top:6px;opacity:0.8;}
.local-busca{display:flex;gap:8px;}
.local-busca input{flex:1;}
.local-status{font-size:0.82rem;margin-top:8px;min-height:18px;}
.local-status.ok{color:var(--teal);}
.local-status.erro{color:#b8654f;}
.auth-submit{width:100%;margin-top:8px;}
.auth-erro{background:#b8654f1a;border:1px solid #b8654f55;color:#e8b3a3;padding:12px 14px;border-radius:4px;font-size:0.85rem;margin-bottom:18px;display:none;}
.auth-erro.visivel{display:block;}
.auth-sucesso{text-align:center;}
.auth-sucesso .resumo-mapa{margin:24px 0;padding:20px;border:1px solid var(--brass-soft);border-radius:6px;background:#c9a15a0d;text-align:left;font-size:0.9rem;color:var(--ink-dim);}
.auth-sucesso .resumo-mapa strong{color:var(--ink);}
.auth-footer-link{text-align:center;margin-top:22px;font-size:0.85rem;color:var(--ink-dim);}
.auth-footer-link a{color:var(--brass);text-decoration:none;}

/* ---- Área do cliente (conta.html) ---- */
.conta-wrap{max-width:1100px;margin:0 auto;padding:150px 6vw 100px;}
.conta-head{margin-bottom:56px;}
.conta-head h1{font-family:var(--sans);font-weight:600;font-size:clamp(1.8rem,3.4vw,2.4rem);margin-bottom:10px;}
.conta-head p{color:var(--ink-dim);font-family:var(--serif);}
.conta-loading, .conta-erro{text-align:center;padding:120px 6vw;color:var(--ink-dim);}
.conta-secao-titulo{font-family:var(--sans);font-weight:600;font-size:1.1rem;margin:56px 0 24px;text-align:center;}
.blog-topbar .conta-user{display:flex;align-items:center;gap:16px;}
.blog-topbar .conta-user span{font-family:var(--sans);font-size:0.85rem;color:var(--ink-dim);}

/* ---- Relatório interpretado (área da conta) ---- */
.relatorio-bloco{max-width:760px;margin:0 auto 56px;}
.relatorio-cabecalho{display:flex;align-items:baseline;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:22px;}
.relatorio-cabecalho h3{font-family:var(--sans);font-weight:600;font-size:1.3rem;color:var(--brass);}
.relatorio-pdf-link{border:1px solid var(--line);border-radius:20px;white-space:nowrap;}
.relatorio-pdf-link:hover{border-color:var(--brass-soft);}
.relatorio-area{margin-bottom:28px;}
.relatorio-area h4{font-family:var(--sans);font-weight:600;font-size:0.95rem;color:var(--ink);margin-bottom:8px;letter-spacing:0.01em;}
.relatorio-area p{color:var(--ink-dim);font-size:0.98rem;line-height:1.75;}
.relatorio-carregando, .relatorio-aviso{color:var(--ink-dim);font-family:var(--sans);font-size:0.9rem;padding:28px 0;text-align:center;}

/* ---- Indicador de carregamento animado (geração da IA) ---- */
.carregando-spinner{width:22px;height:22px;margin:0 auto 14px;border:2px solid var(--line);border-top-color:var(--brass);border-radius:50%;animation:mv-girar 0.8s linear infinite;}
@keyframes mv-girar{to{transform:rotate(360deg);}}
.carregando-texto{transition:opacity .3s ease;}

/* ---- Histórico de leituras ---- */
.historico-lista{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px;}
.historico-item{font-family:var(--sans);font-size:0.82rem;color:var(--ink-dim);background:none;border:1px solid var(--line);border-radius:20px;padding:8px 16px;cursor:pointer;transition:color .2s ease, border-color .2s ease;}
.historico-item:hover{color:var(--ink);border-color:var(--brass-soft);}
.historico-item.ativo{color:var(--brass);border-color:var(--brass);}

/* ---- Paywall e upsell (Frente 6 — pagamento) ---- */
.paywall-wrap{max-width:900px;margin:0 auto;padding:150px 6vw 100px;text-align:center;}
.paywall-wrap h1{font-family:var(--sans);font-weight:600;font-size:clamp(1.8rem,3.4vw,2.2rem);margin-bottom:14px;}
.paywall-wrap > p{color:var(--ink-dim);font-family:var(--serif);max-width:560px;margin:0 auto 48px;}
.upsell-banner{max-width:760px;margin:0 auto 56px;border:1px solid var(--brass-soft);border-radius:6px;padding:18px 22px;display:flex;align-items:center;justify-content:space-between;gap:16px;background:#c9a15a0d;font-size:0.88rem;color:var(--ink-dim);}
.upsell-banner a{color:var(--brass);text-decoration:none;font-family:var(--sans);font-weight:500;white-space:nowrap;}
@media (max-width:640px){ .upsell-banner{flex-direction:column;align-items:flex-start;} }

/* ---- Gerenciar assinatura (cancelamento) ---- */
.conta-gerenciar-plano{max-width:760px;margin:40px auto 0;display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:0.85rem;color:var(--ink-dim);border-top:1px solid var(--line);padding-top:24px;}
.conta-plano-msg{max-width:760px;margin:10px auto 0;font-family:var(--sans);font-size:0.82rem;text-align:right;display:none;}
.conta-plano-msg.visivel{display:block;}
.conta-plano-msg.erro{color:#e8b3a3;}
.conta-plano-msg.sucesso{color:#9fc9a0;}

/* ---- Painel administrativo ---- */
.admin-wrap{max-width:1000px;}
.admin-busca{margin-bottom:24px;}
.admin-busca input{width:100%;max-width:420px;background:#ffffff08;border:1px solid var(--line);border-radius:4px;padding:11px 13px;color:var(--ink);font-family:var(--sans);font-size:0.92rem;}
.admin-busca input:focus{outline:none;border-color:var(--brass);}
.admin-table{width:100%;border-collapse:collapse;font-size:0.88rem;margin-bottom:12px;}
.admin-table th{text-align:left;font-family:var(--sans);font-weight:600;color:var(--ink-dim);padding:10px 12px;border-bottom:1px solid var(--line);}
.admin-table td{padding:10px 12px;border-bottom:1px solid var(--line);color:var(--ink);}
.admin-tag{font-family:var(--sans);font-size:0.75rem;padding:3px 10px;border-radius:12px;background:#ffffff0d;color:var(--ink-dim);}
.admin-tag-ok{color:var(--teal);background:#4a8b821a;}
.admin-tag-alerta{color:#e8b3a3;background:#b8654f1a;}
.admin-detalhe{margin-top:32px;padding-top:28px;border-top:1px solid var(--line);}
.admin-detalhe h3{font-family:var(--sans);font-weight:600;font-size:1.2rem;margin-bottom:6px;}
.admin-detalhe-linha{color:var(--ink-dim);font-size:0.88rem;margin-bottom:6px;}
.admin-acoes{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 10px;}
.admin-acoes button{font-size:0.82rem;padding:9px 16px;}
#resultadoAcao{font-size:0.85rem;color:var(--brass);min-height:20px;margin-bottom:10px;}
#resultadoAcao code{background:#ffffff10;padding:2px 8px;border-radius:4px;}

/* ---- Numerologia ---- */
.numero-convencao{display:inline-block;font-family:var(--sans);font-size:0.78rem;color:var(--brass);border:1px solid var(--brass-soft);padding:6px 14px;border-radius:20px;margin-bottom:10px;}
.numero-grupos{max-width:900px;margin:0 auto 48px;display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);}
.numero-grupo{background:var(--bg-deep);padding:28px 30px;}
.numero-grupo h3{font-family:var(--sans);font-weight:600;font-size:0.85rem;color:var(--ink-dim);margin-bottom:18px;letter-spacing:0.02em;text-transform:uppercase;}
.numero-grupo-missao{grid-column:1/-1;text-align:center;border-top:1px solid var(--line);}
.numero-item{display:flex;align-items:baseline;justify-content:space-between;padding:10px 0;border-top:1px solid var(--line);}
.numero-item:first-child{border-top:none;}
.numero-grupo-missao .numero-item{justify-content:center;gap:14px;border-top:none;}
.numero-item .numero-label{font-family:var(--serif);color:var(--ink-dim);font-size:0.95rem;}
.numero-item .numero-valor{font-family:var(--sans);font-weight:600;font-size:1.3rem;color:var(--ink);}
.numero-carmica{max-width:760px;margin:0 auto 48px;text-align:center;font-family:var(--serif);color:var(--ink-dim);}
.numero-carmica strong{color:var(--brass);font-family:var(--sans);font-size:1.4rem;}
.numero-calculo{max-width:760px;margin:0 auto 56px;}
.numero-calculo summary{font-family:var(--sans);font-size:0.9rem;color:var(--brass);cursor:pointer;list-style:none;padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.numero-calculo summary::-webkit-details-marker{display:none;}
.numero-calculo summary::after{content:'ver detalhes +';float:right;color:var(--ink-dim);font-size:0.8rem;}
.numero-calculo[open] summary::after{content:'ocultar −';}
.numero-calculo-corpo{padding:24px 0 8px;font-family:var(--sans);font-size:0.82rem;color:var(--ink-dim);}
.numero-calculo-corpo h4{font-family:var(--sans);font-size:0.8rem;color:var(--ink);text-transform:uppercase;letter-spacing:0.02em;margin:22px 0 12px;}
.numero-calculo-corpo h4:first-child{margin-top:0;}
.numero-letras{line-height:2.2;}
.numero-letras .letra{display:inline-block;margin:2px;padding:3px 7px;border:1px solid var(--line);border-radius:4px;}
.numero-letras .letra .l{color:var(--ink);}
.numero-letras .letra .v{color:var(--brass);font-size:0.75em;margin-left:3px;}
.numero-piramide-linha{text-align:center;letter-spacing:3px;padding:3px 0;}

/* ---- Espelho (chat) ---- */
.espelho-intro{max-width:760px;margin:0 auto 24px;text-align:center;font-family:var(--serif);color:var(--ink-dim);font-size:0.95rem;}
.espelho-wrap{max-width:760px;margin:0 auto 64px;border:1px solid var(--line);background:var(--bg-deep);}
.espelho-mensagens{min-height:120px;max-height:420px;overflow-y:auto;padding:24px;display:flex;flex-direction:column;gap:14px;}
.espelho-msg{font-family:var(--sans);font-size:0.92rem;line-height:1.5;padding:12px 16px;border-radius:10px;max-width:80%;white-space:pre-wrap;}
.espelho-msg-usuario{align-self:flex-end;background:var(--brass-soft);color:var(--ink);}
.espelho-msg-espelho{align-self:flex-start;background:var(--bg);color:var(--ink-dim);border:1px solid var(--line);}
.espelho-digitando{opacity:0.6;font-style:italic;}
.espelho-input-linha{display:flex;gap:10px;padding:16px;border-top:1px solid var(--line);}
.espelho-input{flex:1;background:var(--bg);border:1px solid var(--line);color:var(--ink);padding:10px 14px;border-radius:6px;font-family:var(--sans);font-size:0.92rem;}
.espelho-input:focus{outline:none;border-color:var(--brass);}
.espelho-input:disabled{opacity:0.6;}
.espelho-botao{background:var(--brass);color:var(--bg-deep);border:none;padding:10px 20px;border-radius:6px;font-family:var(--sans);font-weight:600;font-size:0.88rem;cursor:pointer;}
.espelho-botao:disabled{opacity:0.5;cursor:default;}

/* ---- Shell da área logada (sidebar) — conta.html, numerologia.html, admin.html ---- */
body.app-page{background:var(--bg);}
.app-sidebar{
  position:fixed;top:0;left:0;bottom:0;width:240px;
  background:var(--bg-deep);border-right:1px solid var(--line);
  display:flex;flex-direction:column;overflow-y:auto;z-index:60;
  transition:transform .25s ease;
}
.sidebar-topo{display:flex;align-items:center;justify-content:space-between;padding:22px 20px;border-bottom:1px solid var(--line);}
.sidebar-logo{font-family:var(--sans);font-weight:600;font-size:1.05rem;display:flex;align-items:center;gap:9px;color:var(--ink);text-decoration:none;}
.sidebar-logo svg{width:19px;height:19px;flex-shrink:0;}
.sidebar-fechar{display:none;background:none;border:none;color:var(--ink-dim);font-size:1.1rem;cursor:pointer;padding:4px 8px;}
.sidebar-nav{flex:1;padding:18px 12px;display:flex;flex-direction:column;gap:2px;}
.sidebar-link{
  font-family:var(--sans);font-size:0.9rem;color:var(--ink-dim);text-decoration:none;
  display:flex;align-items:center;gap:12px;padding:11px 14px;border-radius:6px;
  transition:background .2s ease,color .2s ease;
}
.sidebar-link:hover{background:#ffffff08;color:var(--ink);}
.sidebar-link.ativo{background:var(--brass-soft);color:var(--brass);}
.sidebar-link-icone{width:18px;height:18px;flex-shrink:0;display:flex;align-items:center;justify-content:center;}
.sidebar-link-icone svg{width:100%;height:100%;}
.sidebar-secao-label{font-family:var(--sans);font-size:0.72rem;text-transform:uppercase;letter-spacing:0.06em;color:var(--ink-dim);opacity:0.6;margin:18px 14px 6px;}
.sidebar-em-breve{cursor:default;opacity:0.5;}
.sidebar-em-breve:hover{background:none;color:var(--ink-dim);}
.sidebar-badge{margin-left:auto;font-size:0.68rem;border:1px solid var(--line);border-radius:10px;padding:2px 8px;white-space:nowrap;}
.sidebar-rodape{padding:16px 14px 20px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:2px;}
.sidebar-usuario{font-family:var(--sans);font-size:0.85rem;color:var(--ink-dim);padding:6px 14px 10px;}
.sidebar-link-rodape{
  font-family:var(--sans);font-size:0.88rem;color:var(--ink-dim);text-decoration:none;
  background:none;border:none;text-align:left;cursor:pointer;padding:9px 14px;border-radius:6px;
  transition:background .2s ease,color .2s ease;
}
.sidebar-link-rodape:hover{background:#ffffff08;color:var(--ink);}

.app-main{margin-left:240px;min-height:100vh;}
.app-main .conta-wrap,
.app-main .paywall-wrap{padding-top:56px;}
.app-main .conta-loading,
.app-main .conta-erro{padding-top:140px;}

.sidebar-toggle{
  display:none;position:fixed;top:16px;left:16px;z-index:70;
  background:var(--bg-deep);border:1px solid var(--line);border-radius:6px;
  color:var(--ink);font-family:var(--sans);font-size:0.85rem;font-weight:600;
  align-items:center;gap:8px;padding:9px 14px;cursor:pointer;
}
.sidebar-toggle svg{width:17px;height:17px;}
.sidebar-overlay{display:none;position:fixed;inset:0;background:rgba(5,6,12,0.7);z-index:59;}

@media (max-width:900px){
  .app-sidebar{transform:translateX(-100%);}
  .sidebar-fechar{display:block;}
  .app-main{margin-left:0;}
  .app-main .conta-wrap,
  .app-main .paywall-wrap{padding-top:88px;}
  .sidebar-toggle{display:flex;}
  body.sidebar-aberta .app-sidebar{transform:translateX(0);box-shadow:0 0 40px rgba(0,0,0,0.5);}
  body.sidebar-aberta .sidebar-overlay{display:block;}
  body.sidebar-aberta{overflow:hidden;}
}

/* ---- Radar Astral + Meu Céu de Hoje (radar-astral.html) — Fase 2, ver ROADMAP_V2.md ---- */
.radar-secao{max-width:760px;margin:0 auto 56px;}
.radar-secao-intro{color:var(--ink-dim);font-size:0.95rem;margin-bottom:24px;text-align:center;}

.ceuhoje-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);}
.ceuhoje-item{background:var(--bg);padding:18px 20px;}
.ceuhoje-item .planets{font-family:var(--sans);font-size:0.85rem;color:var(--ink);margin-bottom:6px;}
.ceuhoje-item .aspect{font-family:var(--sans);font-size:0.75rem;color:var(--brass);}
.radar-vazio{text-align:center;color:var(--ink-dim);padding:24px 0;font-size:0.95rem;}

.radar-grupo-titulo{font-family:var(--sans);font-weight:600;font-size:0.9rem;color:var(--ink-dim);text-transform:uppercase;letter-spacing:0.06em;margin:32px 0 14px;}
.radar-evento{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:12px 0;border-top:1px solid var(--line);}
.radar-evento:first-child{border-top:none;}
.radar-evento-par{font-family:var(--sans);font-size:0.92rem;color:var(--ink);}
.radar-evento-par .aspecto{color:var(--ink-dim);}
.radar-evento-datas{font-family:var(--serif);font-size:0.82rem;color:var(--ink-dim);text-align:right;white-space:nowrap;}
.radar-evento.status-ativo .radar-evento-par{color:var(--brass);}
.radar-evento-retrogrado{font-size:0.78rem;color:var(--teal);margin-left:6px;}

/* ---- Ciclos numerológicos pessoais (Fase 4) — js/ciclos.js ---- */
.ciclos-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);}
.ciclo-card{background:var(--bg-deep);padding:22px 22px 20px;}
.ciclo-rotulo{font-family:var(--sans);font-size:0.72rem;text-transform:uppercase;letter-spacing:0.06em;color:var(--ink-dim);margin-bottom:10px;}
.ciclo-linha{display:flex;align-items:baseline;gap:12px;margin-bottom:8px;}
.ciclo-numero{font-family:var(--sans);font-weight:600;font-size:2rem;color:var(--brass);line-height:1;}
.ciclo-titulo{font-family:var(--sans);font-weight:600;font-size:0.95rem;color:var(--ink);}
.ciclo-texto{color:var(--ink-dim);font-size:0.9rem;line-height:1.6;}
.ciclos-link{display:block;text-align:right;font-family:var(--sans);font-size:0.82rem;color:var(--brass);text-decoration:none;margin-top:12px;}
.ciclos-link:hover{text-decoration:underline;}
.ciclo-ano-detalhe{margin-top:28px;padding:24px 26px;border:1px solid var(--brass-soft);border-radius:6px;background:#c9a15a0d;}
.ciclo-ano-detalhe h3{font-family:var(--sans);font-weight:600;font-size:1.05rem;color:var(--brass);margin-bottom:10px;}
.ciclo-ano-detalhe p{color:var(--ink-dim);font-size:0.95rem;line-height:1.75;}
.ciclo-ano-detalhe .ciclo-proximo{margin-top:12px;font-size:0.85rem;font-style:italic;}
.ciclos-semana{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:var(--line);border:1px solid var(--line);}
.ciclo-dia{background:var(--bg);padding:12px 4px;text-align:center;font-family:var(--sans);}
.ciclo-dia .dsem{font-size:0.68rem;color:var(--ink-dim);text-transform:uppercase;letter-spacing:0.04em;}
.ciclo-dia .dnum{font-size:1.3rem;font-weight:600;color:var(--ink);margin:4px 0 2px;}
.ciclo-dia .dpal{font-size:0.68rem;color:var(--brass);}
.ciclo-dia .ddata{font-size:0.65rem;color:var(--ink-dim);opacity:0.7;margin-top:2px;}
.ciclo-dia.hoje{background:var(--brass-soft);}
.ciclos-meses{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;}
.ciclo-mes{border:1px solid var(--line);border-radius:6px;padding:10px 12px;font-family:var(--sans);font-size:0.8rem;color:var(--ink-dim);display:flex;align-items:baseline;gap:6px;flex-wrap:wrap;}
.ciclo-mes strong{color:var(--brass);font-size:0.95rem;}
.ciclo-mes span{width:100%;font-size:0.7rem;opacity:0.8;}
.ciclo-mes.atual{border-color:var(--brass);color:var(--ink);background:#c9a15a0d;}
.ciclos-nota{font-size:0.78rem;color:var(--ink-dim);opacity:0.8;margin-top:18px;text-align:center;}
@media (max-width:760px){
  .ciclos-grid{grid-template-columns:1fr;}
  .ciclos-meses{grid-template-columns:repeat(2,1fr);}
  .ciclo-dia .dpal{display:none;}
}

/* ---- Assistente de IA (Fase 5) — assistente.html ---- */
.assistente-layout{display:grid;grid-template-columns:240px 1fr;gap:24px;align-items:start;max-width:1000px;margin:0 auto 64px;}
.assistente-lateral{display:flex;flex-direction:column;gap:12px;}
.assistente-nova{width:100%;}
.assistente-lista-vazia{font-family:var(--sans);font-size:0.82rem;color:var(--ink-dim);opacity:0.7;padding:8px 2px;}
.assistente-conversa{display:flex;align-items:stretch;border:1px solid var(--line);border-radius:6px;overflow:hidden;}
.assistente-conversa.ativa{border-color:var(--brass);background:var(--brass-soft);}
.assistente-conversa-abrir{flex:1;min-width:0;background:none;border:none;text-align:left;padding:10px 12px;cursor:pointer;color:var(--ink);font-family:var(--sans);display:flex;flex-direction:column;gap:3px;}
.assistente-conversa-abrir .titulo{font-size:0.84rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.assistente-conversa-abrir .data{font-size:0.7rem;color:var(--ink-dim);}
.assistente-conversa-apagar{background:none;border:none;border-left:1px solid var(--line);color:var(--ink-dim);cursor:pointer;padding:0 10px;font-size:0.75rem;}
.assistente-conversa-apagar:hover{color:#e8b3a3;}
.assistente-chat{margin:0;max-width:none;}
.assistente-mensagens{min-height:320px;max-height:60vh;}
.assistente-msg-ia{white-space:normal;color:var(--ink);}
.assistente-msg-ia p{margin:0 0 10px;}
.assistente-msg-ia p:last-child{margin-bottom:0;}
.assistente-msg-ia ul{margin:4px 0 10px 18px;}
.assistente-msg-ia strong{color:var(--brass);font-weight:600;}
.assistente-vazio{font-family:var(--serif);color:var(--ink-dim);font-size:0.95rem;text-align:center;padding:20px 10px 0;}
.assistente-sugestoes{display:flex;flex-wrap:wrap;gap:8px;padding:0 24px 16px;}
.assistente-sugestoes:empty{display:none;}
.assistente-sugestao{font-family:var(--sans);font-size:0.8rem;color:var(--ink-dim);background:none;border:1px solid var(--line);border-radius:16px;padding:8px 14px;cursor:pointer;text-align:left;transition:border-color .2s ease,color .2s ease;}
.assistente-sugestao:hover{border-color:var(--brass);color:var(--ink);}
.assistente-aviso{margin:0 16px 12px;}
.assistente-input{resize:vertical;min-height:44px;font-family:var(--sans);line-height:1.4;}
.assistente-rodape{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:0 16px 14px;font-family:var(--sans);font-size:0.72rem;color:var(--ink-dim);opacity:0.8;}
@media (max-width:900px){
  .assistente-layout{grid-template-columns:1fr;}
  .assistente-lateral{order:2;}
}

/* ---- Diário (Fase 6) — diario.html ---- */
.diario-form{max-width:760px;margin:0 auto 48px;border:1px solid var(--line);border-radius:8px;padding:28px 30px;background:#ffffff05;}
.diario-form h2{font-family:var(--sans);font-weight:600;font-size:1.05rem;margin-bottom:18px;}
.diario-form textarea{width:100%;background:#ffffff08;border:1px solid var(--line);border-radius:4px;padding:11px 13px;color:var(--ink);font-family:var(--serif);font-size:0.98rem;line-height:1.6;resize:vertical;}
.diario-form textarea:focus{outline:none;border-color:var(--brass);}
.diario-humores{display:flex;flex-wrap:wrap;gap:6px;}
.diario-humor-opcao{font-family:var(--sans);font-size:0.78rem;color:var(--ink-dim);background:none;border:1px solid var(--line);border-radius:16px;padding:7px 11px;cursor:pointer;transition:all .2s ease;}
.diario-humor-opcao:hover{border-color:var(--brass-soft);color:var(--ink);}
.diario-humor-opcao.ativo{border-color:var(--brass);color:var(--brass);background:var(--brass-soft);}
.diario-form-acoes{display:flex;gap:12px;align-items:center;margin-top:6px;}
.diario-mensagem{display:none;font-family:var(--sans);font-size:0.85rem;margin-bottom:12px;}
.diario-mensagem.visivel{display:block;}
.diario-mensagem.erro{color:#e8b3a3;}
.diario-mensagem.sucesso{color:#9fc9a0;}
.diario-privacidade{font-size:0.78rem;color:var(--ink-dim);margin-top:16px;opacity:0.85;}
.diario-privacidade a{color:var(--brass);}
.diario-entrada{border-top:1px solid var(--line);padding:18px 0;}
.diario-entrada header{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:8px;}
.diario-data{font-family:var(--sans);font-size:0.88rem;color:var(--ink);text-transform:capitalize;}
.diario-humor{font-family:var(--sans);font-size:0.72rem;border:1px solid var(--line);border-radius:12px;padding:3px 10px;color:var(--ink-dim);}
.diario-humor.humor-4,.diario-humor.humor-5{color:#9fc9a0;border-color:#9fc9a055;}
.diario-humor.humor-1,.diario-humor.humor-2{color:#e8b3a3;border-color:#e8b3a355;}
.diario-texto{color:var(--ink);font-size:0.98rem;line-height:1.7;margin-bottom:10px;}
.diario-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px;}
.diario-tags span{font-family:var(--sans);font-size:0.75rem;color:var(--brass);}
.diario-contexto{display:flex;flex-wrap:wrap;gap:6px;}
.diario-contexto span{font-family:var(--sans);font-size:0.7rem;color:var(--ink-dim);background:#ffffff08;border-radius:10px;padding:3px 9px;}
.diario-acoes{display:flex;gap:4px;margin-top:8px;}
.diario-acoes .btn-ghost{font-size:0.78rem;padding:5px 10px;}
@media (max-width:640px){ .diario-form{padding:22px 18px;} .diario-form .campo-linha{grid-template-columns:1fr;} }

/* ---- Minha Jornada (Fase 6) — jornada.html ---- */
.jornada-numeros{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-bottom:8px;}
.jornada-numeros div{background:var(--bg-deep);padding:18px 14px;text-align:center;}
.jornada-numeros strong{display:block;font-family:var(--sans);font-weight:600;font-size:1.6rem;color:var(--brass);}
.jornada-numeros span{font-family:var(--sans);font-size:0.72rem;color:var(--ink-dim);}
.jornada-grafico{width:100%;height:auto;display:block;}
.jornada-grafico .guia{stroke:var(--line);stroke-width:1;}
.jornada-grafico .rotulo{fill:var(--ink-dim);font-family:var(--sans);font-size:10px;}
.jornada-grafico .linha{fill:none;stroke:var(--brass);stroke-width:2;stroke-linejoin:round;}
.jornada-grafico circle{fill:var(--brass);}
.jornada-tags span em{font-style:normal;color:var(--ink-dim);font-size:0.7rem;margin-left:2px;}
.jornada-linha{position:relative;padding-left:22px;border-left:1px solid var(--line);}
.jornada-item{position:relative;padding:0 0 26px;}
.jornada-marca{position:absolute;left:-28px;top:6px;width:11px;height:11px;border-radius:50%;background:var(--bg);border:2px solid var(--ink-dim);}
.tipo-diario .jornada-marca{border-color:var(--brass);}
.tipo-leitura .jornada-marca{border-color:var(--teal);}
.tipo-conversa .jornada-marca{border-color:#9b8fd1;}
.tipo-marco .jornada-marca{background:var(--brass);border-color:var(--brass);}
.jornada-meta{display:flex;gap:10px;font-family:var(--sans);font-size:0.72rem;color:var(--ink-dim);margin-bottom:4px;}
.jornada-tipo{text-transform:uppercase;letter-spacing:0.05em;}
.jornada-titulo{font-family:var(--sans);font-weight:600;font-size:0.95rem;color:var(--ink);margin-bottom:4px;}
.jornada-titulo a{color:var(--ink);text-decoration:none;}
.jornada-titulo a:hover{color:var(--brass);}
.jornada-resumo{color:var(--ink-dim);font-size:0.9rem;line-height:1.6;margin-bottom:6px;}
.jornada-mais{display:block;margin:8px auto 0;}
.sidebar-link-rodape.ativo{color:var(--brass);}
@media (max-width:760px){ .jornada-numeros{grid-template-columns:repeat(2,1fr);} }

/* ---- Configurações (Fase 6) — configuracoes.html ---- */
.config-bloco{max-width:760px;margin:0 auto 40px;border:1px solid var(--line);border-radius:8px;padding:26px 30px;background:#ffffff05;}
.config-bloco h2{font-family:var(--sans);font-weight:600;font-size:1.05rem;margin-bottom:8px;}
.config-bloco h3{font-family:var(--sans);font-weight:600;font-size:0.92rem;margin:26px 0 6px;}
.config-ajuda{color:var(--ink-dim);font-size:0.88rem;margin-bottom:14px;}
.config-ajuda a{color:var(--brass);}
.config-opcao{display:flex;gap:12px;align-items:flex-start;padding:12px 0;border-top:1px solid var(--line);cursor:pointer;font-size:0.9rem;color:var(--ink-dim);}
.config-opcao input{margin-top:5px;accent-color:var(--brass);width:16px;height:16px;flex-shrink:0;}
.config-opcao strong{color:var(--ink);font-family:var(--sans);font-weight:600;}
.config-status{font-family:var(--sans);font-size:0.8rem;color:var(--brass);min-height:20px;margin-top:8px;}
.config-botoes{display:flex;flex-wrap:wrap;gap:10px;align-items:center;}
.config-input{background:#ffffff08;border:1px solid var(--line);border-radius:4px;padding:11px 13px;color:var(--ink);font-family:var(--sans);font-size:0.9rem;width:140px;}
.config-perigo{border-color:#b8654f88;color:#e8b3a3;}
.config-perigo:hover{border-color:#e8b3a3;background:#b8654f1a;}

/* ---- Métricas do admin (Fase 6) ---- */
.admin-secao{font-family:var(--sans);font-weight:600;font-size:1.15rem;margin:8px 0 18px;color:var(--brass);}
.admin-subtitulo{font-family:var(--sans);font-weight:600;font-size:0.88rem;color:var(--ink-dim);text-transform:uppercase;letter-spacing:0.05em;margin:30px 0 12px;}
.admin-cartoes{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);}
.admin-cartoes div{background:var(--bg-deep);padding:16px 12px;text-align:center;}
.admin-cartoes strong{display:block;font-family:var(--sans);font-size:1.5rem;color:var(--ink);}
.admin-cartoes span{font-family:var(--sans);font-size:0.72rem;color:var(--ink-dim);}
.admin-grafico{width:100%;height:auto;display:block;}
.admin-grafico rect{fill:var(--brass);opacity:0.85;}
.admin-grafico text{fill:var(--ink-dim);font-family:var(--sans);font-size:10px;}
#metricas{margin-bottom:48px;}

/* ---- Ouvir e Compartilhar (Fase 7) — js/audio.js, js/compartilhar.js ---- */
.acoes-conteudo{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;margin:-8px 0 18px;}
.botao-ouvir,.botao-compartilhar{font-family:var(--sans);font-size:0.78rem;color:var(--ink-dim);background:none;border:1px solid var(--line);border-radius:16px;padding:6px 14px;cursor:pointer;transition:all .2s ease;}
.botao-ouvir:hover,.botao-compartilhar:hover{border-color:var(--brass);color:var(--ink);}
.botao-ouvir.tocando{border-color:var(--brass);color:var(--brass);}
.botao-compartilhar:disabled{opacity:0.6;cursor:default;}

/* ---- Tarot do Dia (Fase 7) — tarot.html ---- */
.tarot-destaque{max-width:820px;margin:0 auto 56px;display:grid;grid-template-columns:230px 1fr;gap:36px;align-items:start;}
.tarot-carta{width:220px;height:360px;border:1px solid var(--brass);border-radius:12px;background:linear-gradient(160deg,#1a1530,#0a0c16);display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:22px 14px;box-shadow:0 12px 40px #00000066,inset 0 0 0 6px #c9a15a14;}
.tarot-carta.pequena{width:150px;height:246px;padding:14px 10px;margin:10px auto 14px;}
.tarot-numeral{font-family:var(--serif);font-size:1.3rem;color:var(--brass);letter-spacing:0.1em;}
.tarot-carta.pequena .tarot-numeral{font-size:1rem;}
.tarot-simbolo{width:110px;height:110px;fill:none;stroke:var(--brass);stroke-width:1.2;opacity:0.85;}
.tarot-carta.pequena .tarot-simbolo{width:76px;height:76px;}
.tarot-nome-carta{font-family:var(--sans);font-weight:600;font-size:0.95rem;color:var(--ink);text-align:center;}
.tarot-carta.pequena .tarot-nome-carta{font-size:0.8rem;}
.tarot-texto h3{font-family:var(--sans);font-weight:600;font-size:1.5rem;color:var(--brass);margin-bottom:10px;}
.tarot-texto p{color:var(--ink-dim);line-height:1.75;margin-top:14px;}
.tarot-pergunta{font-style:italic;color:var(--ink) !important;border-left:2px solid var(--brass);padding-left:14px;}
.tarot-acoes{justify-content:flex-start;margin:18px 0 0;}
.tarot-tiragem{max-width:900px;margin:0 auto 64px;display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.tarot-posicao{text-align:center;}
.tarot-posicao h4{font-family:var(--sans);font-weight:600;font-size:0.95rem;margin-bottom:8px;}
.tarot-posicao p{color:var(--ink-dim);font-size:0.86rem;line-height:1.65;text-align:left;}
@media (max-width:760px){
  .tarot-destaque{grid-template-columns:1fr;justify-items:center;}
  .tarot-tiragem{grid-template-columns:1fr;}
}

/* ---- Sinastria (Fase 7) — sinastria.html ---- */
.sinastria-item{display:flex;align-items:stretch;border:1px solid var(--line);border-radius:6px;margin-bottom:8px;overflow:hidden;}
.sinastria-abrir{flex:1;background:none;border:none;text-align:left;padding:12px 16px;cursor:pointer;color:var(--ink);display:flex;flex-direction:column;gap:4px;font-family:var(--sans);}
.sinastria-abrir strong{font-size:0.92rem;}
.sinastria-abrir span{font-size:0.75rem;color:var(--ink-dim);}
.sinastria-abrir:hover{background:#ffffff06;}
.sinastria-aspectos{margin-left:18px;line-height:2;}

/* ---- Retrospectiva (Fase 7) — retrospectiva.html ---- */
.retro-seletor{max-width:300px;margin:0 auto 28px;}
.retro-andamento{text-align:center;font-style:italic;}
.retro-numeros{grid-template-columns:repeat(4,1fr);}
.retro-meses{display:flex;gap:10px;align-items:flex-end;height:150px;padding:10px 0;}
.retro-mes{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;font-family:var(--sans);font-size:0.72rem;color:var(--ink-dim);gap:4px;}
.retro-barra{width:100%;max-width:46px;background:var(--brass);opacity:0.8;border-radius:3px 3px 0 0;}
.retro-mes em{font-style:normal;color:var(--ink);}
.retro-ciclos{grid-template-columns:repeat(3,1fr);}
@media (max-width:760px){ .retro-numeros{grid-template-columns:repeat(2,1fr);} }

/* ---- Biblioteca (Fase 7) — biblioteca.html (pública) ---- */
.biblioteca-wrap{max-width:1000px;margin:0 auto;padding:0 6vw 100px;}
.biblioteca-busca{width:100%;background:#ffffff08;border:1px solid var(--line);border-radius:6px;padding:13px 16px;color:var(--ink);font-family:var(--sans);font-size:0.95rem;margin-bottom:16px;}
.biblioteca-busca:focus{outline:none;border-color:var(--brass);}
.biblioteca-abas{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px;}
.biblioteca-aba{font-family:var(--sans);font-size:0.82rem;color:var(--ink-dim);background:none;border:1px solid var(--line);border-radius:18px;padding:8px 16px;cursor:pointer;}
.biblioteca-aba.ativa{color:var(--brass);border-color:var(--brass);background:var(--brass-soft);}
.biblioteca-grade{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);}
.biblioteca-item{background:var(--bg-deep);padding:24px 24px 26px;}
.biblioteca-cat{font-family:var(--sans);font-size:0.68rem;text-transform:uppercase;letter-spacing:0.07em;color:var(--brass);margin-bottom:8px;}
.biblioteca-item h2{font-family:var(--sans);font-weight:600;font-size:1.1rem;margin-bottom:4px;}
.biblioteca-sub{font-family:var(--serif);font-style:italic;font-size:0.82rem;color:var(--ink-dim);margin-bottom:12px;}
.biblioteca-item p{color:var(--ink-dim);font-size:0.92rem;line-height:1.7;}
.biblioteca-vazio{text-align:center;color:var(--ink-dim);padding:40px 0;}

.config-aviso{border-left:2px solid var(--brass);padding-left:12px;color:var(--ink);}
