/* PERFIL VIVO — Hub de temas + página de tema (Fase 1, 2026-09-19, só UI).
   Diário antigo (css/diario.css) não muda — este arquivo é só a casca
   nova (Hub, página de tema, botão voltar circular, skeleton). */

.pv-hub{padding:20px 20px 8px;}
.pv-hub-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px;}
.pv-hub-card{
  position:relative;
  display:flex;flex-direction:column;align-items:flex-start;gap:8px;
  background:var(--surface);border:1px solid var(--pv-card-border);border-radius:14px;
  padding:16px;text-align:left;cursor:pointer;color:var(--text);
  transition:border-color 0.2s;
}
.pv-hub-card:hover{border-color:var(--accent);}
.pv-hub-card-icon{color:var(--accent);}
.pv-hub-card-title{font-family:var(--font-heading);font-size:var(--font-size-lg);}
.pv-hub-card-count{font-size:var(--font-size-sm,13px);color:var(--text-muted);}
/* Indicador discreto de reflexões salvas (2026-09-20) — só um ponto, sem
   número/texto (pedido explícito da usuária: "sem texto extra"). */
.pv-hub-card-reflection-dot{position:absolute;top:14px;right:14px;width:7px;height:7px;border-radius:50%;background:var(--accent);}

/* Coluna de leitura (2026-09-19) — max-width pra legibilidade (~70-75
   caracteres por linha); em telas estreitas o próprio viewport já limita,
   isso só entra em jogo em telas largas/desktop. */
.pv-theme-page{padding:20px 20px 8px;max-width:680px;margin:0 auto;}
.pv-theme-header{display:flex;align-items:center;gap:14px;margin-bottom:20px;}
.pv-back-circle{
  width:44px;height:44px;flex-shrink:0;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:var(--surface);border:1px solid var(--pv-card-border);
  color:var(--text);cursor:pointer;
}
.pv-back-circle:hover{border-color:var(--accent);color:var(--accent);}
.pv-theme-title{font-family:var(--font-heading);font-size:var(--font-size-xl,22px);color:var(--text);}
.pv-theme-subtitle{font-size:var(--font-size-sm,13px);color:var(--text-muted);margin-top:2px;}

.pv-question-block{padding:18px 0;border-bottom:1px solid var(--pv-card-border);}
.pv-question-block:last-child{border-bottom:none;}
.pv-question-title{font-family:var(--font-heading);font-size:var(--font-size-md);color:var(--text);margin-bottom:8px;}
.pv-question-answer{margin-bottom:12px;}

/* Blocos de resposta (2026-09-19) — pvFormatAnswerHTML (js/journal.js)
   quebra a resposta em parágrafos de ~2 frases + um callout final; aqui só
   o layout. .pv-term destaca planeta/signo/casa citados no texto. */
.pv-answer-block{font-size:var(--font-size-md);color:var(--text-muted);line-height:1.6;margin:0 0 14px;}
.pv-answer-block:last-child{margin-bottom:0;}
/* Tema Liberdade (js/liberdade.js): a 1ª frase é o veredito. */
.pv-answer-verdict{color:var(--text);font-weight:600;}
.pv-answer-insight{
  margin-top:6px;padding:14px 16px;border-radius:12px;
  background:var(--accent-dim);border:1px solid rgba(var(--accent-rgb),0.2);
  font-size:var(--font-size-md);line-height:1.6;color:var(--text);font-weight:600;
}
.pv-term{color:var(--accent);font-weight:500;}

/* Bloco RESUMO (2026-09-19) — bullets curtos, comportamentais, sem termo
   astrológico (o texto corrido acima já é o "porquê"; isso é só o "o quê").
   Mesmo padrão de bullet-com-ponto de .citation-list
   (css/mapa-sinastria-interpretacao.css), reaproveitado aqui. */
.pv-answer-summary{margin-top:16px;}
.pv-answer-summary-title{font-family:var(--font-heading);font-size:var(--font-size-sm,13px);font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:0.04em;margin-bottom:10px;}
.pv-answer-summary-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px;}
.pv-answer-summary-list li{position:relative;padding-left:18px;font-size:var(--font-size-md);color:var(--text);line-height:1.5;}
.pv-answer-summary-list li::before{content:'';position:absolute;left:0;top:8px;width:5px;height:5px;border-radius:50%;background:var(--accent);}

.pv-ask-orbita-btn{
  display:inline-flex;align-items:center;gap:6px;margin-top:14px;
  padding:12px 22px;border:none;border-radius:12px;
  background:linear-gradient(135deg,var(--gradient-start) 0%,var(--gradient-mid1) 33%,var(--gradient-mid2) 66%,var(--gradient-end) 100%);
  color:var(--color-white);font-family:var(--font-body);font-size:var(--font-size-sm,13px);font-weight:600;
  cursor:pointer;transition:transform 0.15s ease-out;
}
.pv-ask-orbita-btn:active{transform:scale(0.97);}

/* Clique-pra-gerar (2026-09-19) — botão que dispara pvGenerateAnswer()
   pra UMA pergunta por vez; abrir o tema não chama IA nenhuma sozinho. */
.pv-generate-btn{margin-top:4px;padding:10px 16px;border-radius:999px;border:1px solid var(--pv-card-border);background:var(--surface);color:var(--accent);font-size:var(--font-size-sm,13px);cursor:pointer;}
.pv-generate-btn:hover{border-color:var(--accent);}

.pv-skeleton-bar{height:14px;border-radius:7px;background:linear-gradient(90deg,var(--pv-card-border) 25%,var(--surface2) 50%,var(--pv-card-border) 75%);background-size:200% 100%;animation:pv-shimmer 1.2s ease-in-out infinite;}
.pv-skeleton-bar+.pv-skeleton-bar{margin-top:10px;}
.pv-skeleton-bar.pv-skeleton-line{width:100%;}
.pv-skeleton-bar.pv-skeleton-line-short{width:75%;}
@keyframes pv-shimmer{0%{background-position:200% 0;}100%{background-position:-200% 0;}}

/* "Ver detalhes técnicos" (2026-09-19) — citação técnica dos dados de casa
   já extraídos (lib/themes/extract-trabalho-data.js), não prosa nova. O
   accordion em si (.tech-accordion*) já é global, vem de
   css/mapa-sinastria-interpretacao.css — aqui só o layout interno. */
.pv-tech-details{margin-bottom:8px;}
.pv-tech-house-block{margin-bottom:16px;}
.pv-tech-house-block:last-child{margin-bottom:0;}
.pv-tech-house-title{font-family:var(--font-heading);font-size:var(--font-size-md);color:var(--text);margin-bottom:4px;}
.pv-tech-house-domain{font-size:var(--font-size-sm,13px);color:var(--text-muted);line-height:1.5;margin-bottom:10px;}
.pv-tech-row{font-size:var(--font-size-sm,13px);color:var(--text);padding:4px 0;}
.pv-tech-aspects{color:var(--text-muted);padding-bottom:8px;margin-bottom:6px;border-bottom:1px solid var(--pv-card-border);}
.pv-tech-aspects:last-child{border-bottom:none;margin-bottom:0;}

/* "Suas reflexões" (2026-09-20) — reflexões do Diário mapeadas pra este
   tema, só leitura, recolhida por padrão. Mesmo padrão visual do accordion
   de dados técnicos acima (borda superior fina + toggle discreto), toggle
   próprio (não .tech-accordion-toggle) porque este seta aria-expanded. */
.pv-reflections-section{margin-top:20px;}
.pv-reflections-toggle{display:flex;align-items:center;width:100%;gap:10px;background:none;border:none;border-top:1px solid var(--border);padding:14px 0;font-family:var(--font-body);font-size:13px;color:var(--text-dim);cursor:pointer;}
.pv-reflections-panel{padding-top:4px;}
.pv-reflections-panel[hidden]{display:none;}
.pv-reflection-item{padding:12px 0;border-bottom:1px solid var(--pv-card-border);}
.pv-reflection-item:last-child{border-bottom:none;}
.pv-reflection-date{font-size:var(--font-size-sm,13px);color:var(--text-muted);margin-bottom:4px;}
.pv-reflection-content{font-size:var(--font-size-sm,13px);color:var(--text);line-height:1.6;white-space:pre-wrap;}
.pv-reflection-open-diario{margin-top:8px;background:none;border:none;padding:0;font-size:12px;color:var(--accent);cursor:pointer;}

/* Ações do card de resposta (Perguntar à Órbita, Compartilhar, Fixar) —
   botão secundário pill. Faixa de código/pastas de conexão removida em
   2026-09-28 (Compartilhar virou link público). */

.pv-answer-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.pv-share-answer-btn{
  margin-top:14px;padding:10px 16px;border-radius:999px;border:1px solid var(--pv-card-border);
  background:transparent;color:var(--text-muted);font-size:var(--font-size-sm,13px);cursor:pointer;
}
.pv-share-answer-btn:hover{border-color:var(--accent);color:var(--accent);}
.pv-share-answer-btn[data-shared="1"]{border-color:var(--accent);color:var(--accent);}


/* Perguntas livres + fixadas (2026-09-26, js/custom-questions.js) — mesmo
   visual dos blocos de pergunta; o campo reaproveita .jrn-note-input
   (escondido por padrão lá, por isso o display aqui). */
.ctq-ask{padding:18px 0;}
.ctq-input{display:block;margin-bottom:10px;}
.ctq-remove-btn{margin-top:4px;}

/* Guardados (2026-09-27, js/theme-highlights.js) — trechos do chat guardados
   num tema; mesmo ritmo visual dos blocos de pergunta. */
.th-section{padding:18px 0 4px;}
.th-item{padding:10px 0;border-bottom:1px solid var(--border);}
.th-item:last-child{border-bottom:none;}
.th-meta{font-size:11px;color:var(--text-muted);margin-bottom:4px;}
.th-text{font-size:var(--font-size-md,14px);line-height:1.55;color:var(--text);white-space:pre-wrap;}
.th-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px;}

/* "Isso é você?" (2026-09-28, js/content-feedback.js) — discreto, abaixo das
   ações da resposta; mesmo pill de .pv-share-answer-btn, menor. */
.cfb{margin-top:14px;padding-top:12px;border-top:1px dashed var(--pv-card-border);}
.cfb-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap;}
.cfb-label{font-size:var(--font-size-sm,13px);color:var(--text-muted);margin-right:4px;}
.cfb-opt{
  padding:6px 12px;border-radius:999px;border:1px solid var(--pv-card-border);
  background:transparent;color:var(--text-muted);font-size:var(--font-size-sm,13px);cursor:pointer;
}
.cfb-opt:hover{border-color:var(--accent);color:var(--accent);}
.cfb-opt.selected{border-color:var(--accent);color:var(--accent);font-weight:600;}
.cfb-reason{margin-top:10px;}
.cfb-reason[hidden],.cfb-thanks[hidden]{display:none;}
.cfb-reason-input{
  display:block;width:100%;box-sizing:border-box;padding:10px 12px;border-radius:10px;
  border:1px solid var(--pv-card-border);background:transparent;color:var(--text);
  font:inherit;font-size:var(--font-size-md,14px);resize:vertical;
}
.cfb-reason .pv-share-answer-btn{margin-top:8px;}
.cfb-thanks{margin-top:8px;font-size:var(--font-size-sm,13px);color:var(--text-muted);}
