:root{--pj-bg:#0b1220;--pj-card:rgba(255,255,255,.04);--pj-border:rgba(255,255,255,.08);--pj-muted:rgba(255,255,255,.7);--pj-strong:rgba(255,255,255,.92);--pj-accent:#3b82f6;}
body{background:var(--pj-bg);color:var(--pj-strong);}
a{color:#c7ddff;}a:hover{color:#fff;}
.pj-topbar{background:rgba(255,255,255,.03);border-bottom:1px solid var(--pj-border);}
.pj-brand{color:#fff;text-decoration:none;font-weight:800;letter-spacing:.2px;}
.pj-brand:hover{color:#fff;}
.pj-shield{color:var(--pj-accent);font-weight:900;margin-right:6px;}
.pj-muted{color:var(--pj-muted);}
.pj-card{background:var(--pj-card);border:1px solid var(--pj-border);border-radius:14px;}
.pj-badge{border:1px solid var(--pj-border);color:#fff;background:rgba(59,130,246,.15);}
.pj-footer{border-top:1px solid var(--pj-border);background:rgba(255,255,255,.02);}
.pj-footer-link{text-decoration:none;}
.table-dark{--bs-table-bg:rgba(255,255,255,.02);--bs-table-border-color:var(--pj-border);}
.form-control,.form-select{background:rgba(255,255,255,.03)!important;border-color:var(--pj-border)!important;color:#fff!important;}
.form-control::placeholder{color:rgba(255,255,255,.45);}
.btn-primary{background:var(--pj-accent);border-color:var(--pj-accent);}
.btn-outline-light{border-color:rgba(255,255,255,.25);}
.breadcrumb{--bs-breadcrumb-divider-color:rgba(255,255,255,.35);--bs-breadcrumb-item-active-color:rgba(255,255,255,.88);--bs-breadcrumb-item-color:rgba(199,221,255,.9);}
.breadcrumb a{text-decoration:none;color:rgba(199,221,255,.92);}
.breadcrumb a:hover{color:#fff;}
.breadcrumb .breadcrumb-item.active{color:rgba(255,255,255,.92);}
.pj-rulebar{height:10px;background:rgba(255,255,255,.08);border-radius:999px;overflow:hidden;}
.pj-rulebar>div{height:100%;background:rgba(59,130,246,.75);}
.pj-alert{background:rgba(255,255,255,.04);border:1px solid var(--pj-border);border-radius:12px;}
.text-muted {
  color: #d1d5db !important; /* Tailwind slate-300 shade */
  opacity: 1 !important;
}
.form-text {
 color: #d1d5db !important; /* Tailwind slate-300 shade */
  opacity: 1 !important;
}
/* Fix: show select options on Windows/Chrome (avoid white-on-white) */
.form-select option,
.form-select optgroup {
  color: #000 !important;
  background: #fff !important;
}
/* -----------------------------------------------------------
   Public Journal (PropPilot Recaps) — Survival-first KPI blocks
   Milestone 2: information architecture + clarity of sources
   ----------------------------------------------------------- */
.pj-kpi{background:rgba(255,255,255,.03);border:1px solid var(--pj-border);border-radius:12px;padding:12px;height:100%;}
.pj-kpi-label{font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.65);margin-bottom:4px;}
.pj-kpi-value{font-size:1.25rem;font-weight:800;line-height:1.1;}
.pj-kpi-sub{font-size:.85rem;color:var(--pj-muted);margin-top:4px;}
.pj-kpi-bar{height:8px;background:rgba(255,255,255,.08);border-radius:999px;overflow:hidden;margin-top:8px;}
.pj-kpi-bar>div{height:100%;background:rgba(59,130,246,.75);}
.pj-pill{display:inline-flex;align-items:center;gap:.4rem;border:1px solid var(--pj-border);border-radius:999px;padding:.2rem .6rem;background:rgba(255,255,255,.03);}
.pj-pill strong{font-weight:800;}

/* -----------------------------------------------------------
   Milestone 3: Comments (PropPilot recaps) — moderated + clean
   ----------------------------------------------------------- */
.pj-comments{margin-top:14px;}
.pj-comment-item{background:rgba(255,255,255,.02);border:1px solid var(--pj-border);border-radius:12px;padding:12px;margin-bottom:10px;}
.pj-comment-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:6px;}
.pj-comment-author{font-weight:700;}
.pj-comment-type{font-size:.75rem;letter-spacing:.05em;text-transform:uppercase;color:rgba(255,255,255,.65);}
.pj-comment-date{font-size:.85rem;color:rgba(255,255,255,.55);}
.pj-comment-text{color:rgba(255,255,255,.86);font-size:.95rem;line-height:1.35;}
.pj-comment-hint{font-size:.85rem;color:rgba(255,255,255,.65);}
.pj-comment-form .form-label{font-weight:700;}
.pj-comment-form .form-text{color:rgba(255,255,255,.65)!important;}
.pj-divider-soft{border-top:1px solid rgba(255,255,255,.08);}

/* -----------------------------------------------------------
   Blog: Table of Contents + FAQ accordion (Markdown-only)
   ----------------------------------------------------------- */
.pp-toc-list{list-style:none;padding-left:0;margin:0;}
.pp-toc-list li{margin:.2rem 0;}
.pp-toc-l3{margin-left:1rem;font-size:.95em;opacity:.95;}
.pp-toc a{text-decoration:none;}
.pp-toc a:hover{text-decoration:underline;}

.pp-faq-item{background:rgba(255,255,255,.02);border:1px solid var(--pj-border);border-radius:12px;padding:10px 12px;margin-bottom:10px;}
.pp-faq-item summary{cursor:pointer;font-weight:800;list-style:none;}
.pp-faq-item summary::-webkit-details-marker{display:none;}
.pp-faq-item[open] summary{margin-bottom:8px;}
.pp-faq-answer{padding-top:4px;}
.pp-faq-answer p:last-child{margin-bottom:0;}

/* Blog reading improvements */
.pp-article{
  max-width: 780px;
}

.pj-content{
  font-size: 1.02rem;
  line-height: 1.75;
}

.pj-content h2,
.pj-content h3{
  margin-bottom: 1.5rem;
}

.pj-content h2{ margin-top: 2rem; }
.pj-content h3{ margin-top: 1.5rem; }

/* Sticky TOC sidebar */
.pp-sidebar{ top: 88px; }
@media (max-width: 991.98px){
  .pp-sidebar{ position: static; top: auto; }
}

.pp-toc.pj-card{
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.10);
}

.pp-toc a{ color: rgba(199,221,255,.92); }
.pp-toc a:hover{ color: #fff; text-decoration: none; }
.pp-toc-list{ padding-left: 1rem; }
.pp-toc-l3{ margin-left: 1rem; opacity: .9; font-size: .95em; }

/* Tables: rounded, padded, subtle header */
.pp-table{
  border-collapse: separate;
  border-spacing: 0;
  overflow: hidden;
  border-radius: 8px;
  border: 1px solid rgba(255,255,255,.10);
}

.pp-table th,
.pp-table td{
  padding: .75rem .85rem;
  border-color: rgba(255,255,255,.08);
}

.pp-table thead th{
  background: rgba(255,255,255,.06);
  border-bottom: 1px solid rgba(255,255,255,.10);
  font-weight: 800;
}

.pp-table tbody tr{
  transition: background .15s ease;
}
.pp-table tbody tr:hover{
  background: rgba(59,130,246,.10);
}

/* FAQ accordion polish */
.pp-faq-item summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
}

.pp-faq-item summary::after{
  content:"+";
  font-weight:900;
  opacity:.9;
}

.pp-faq-item[open] summary::after{
  content:"–";
}

.pp-faq-answer{
  overflow:hidden;
  animation: ppFaqIn .18s ease-out;
}

@keyframes ppFaqIn{
  from{opacity:0;transform:translateY(-4px);}
  to{opacity:1;transform:translateY(0);}
}

/* Topbar: subtle glass effect for public journals */
.pj-topbar{
  position: sticky;
  top: 0;
  z-index: 1030;
  background: rgba(10, 18, 32, .72);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(255,255,255,.10);
}


/* Public Proof verification */
.pj-verified-pill{background:rgba(16,185,129,.15);border:1px solid rgba(16,185,129,.35);color:rgba(209,250,229,.95);} 
.pj-failed-pill{background:rgba(239,68,68,.12);border:1px solid rgba(239,68,68,.35);color:rgba(254,226,226,.95);} 
.pj-unverified-pill{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);color:rgba(255,255,255,.85);} 
.pj-fingerprint{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1.05rem;letter-spacing:.3px;}
.pj-code{max-height:360px;overflow:auto;background:rgba(0,0,0,.25);border:1px solid var(--pj-border);border-radius:12px;color:rgba(255,255,255,.88);font-size:.86rem;line-height:1.35;}
details summary{cursor:pointer;}
