.insight-modal{position:fixed;inset:0;display:none;align-items:center;justify-content:center;z-index:2000;font-family:Poppins,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Ubuntu,'Helvetica Neue',Arial,'Noto Sans',sans-serif}
.insight-modal.is-open{display:flex}
.insight-modal__overlay{position:absolute;inset:0;background:rgba(0,0,0,.6)}
.insight-modal__dialog{position:relative;background:#fff;border-radius:16px;max-width:960px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 24px 70px rgba(15,23,42,.35)}
.insight-modal__close{position:absolute;top:12px;right:16px;background:transparent;border:none;font-size:24px;line-height:1;cursor:pointer;color:#4b5563;z-index:2}
.insight-modal__close:hover{color:#111827}
.insight-modal__hero{height:260px;background:#e5e7eb;background-size:cover;background-position:center}
.insight-modal__header{padding:18px 24px 0}
.insight-modal__category{margin:0 0 8px;font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#FF3B30}
.insight-modal__header h2{margin:0 0 10px;font-size:1.6rem;font-weight:700;color:#111827;line-height:1.25}
.insight-modal__meta{margin:0 0 10px;font-size:.9rem;color:#6b7280}
.insight-modal__engagement{display:flex;align-items:center;gap:20px;margin:12px 24px 0;padding:12px 0;border-top:1px solid #e5e7eb;border-bottom:1px solid #e5e7eb}
.insight-modal__stat{display:flex;align-items:center;gap:6px;color:#6b7280;font-size:0.85rem}
.insight-modal__stat-icon{font-size:1rem}
.insight-modal__stat-value{font-weight:600;color:#111827}
.insight-modal__body{padding:0 24px 20px}
.insight-modal__excerpt{margin:0 0 14px;font-size:1rem;line-height:1.6;color:#374151}
.insight-modal__tags{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}
.insight-modal__tag{display:inline-flex;align-items:center;justify-content:center;padding:6px 10px;border-radius:999px;background:#f1f5f9;border:1px solid rgba(15,23,42,.08);color:#475569;font-size:.8rem;line-height:1}
.insight-modal__content{color:#374151;line-height:1.8;font-size:1rem}
.insight-modal__content p{margin:0 0 14px}
.insight-modal__loading{display:flex;align-items:center;gap:12px;font-size:1.05rem;color:#333;margin:0}
.insight-modal__loading-text{color:#666;font-size:.9rem;font-style:italic;margin:0}
.insight-modal__spinner{width:22px;height:22px;border:3px solid #f3f3f3;border-top:3px solid #007bff;border-radius:50%;animation:insight-modal-spin 1s linear infinite}
@keyframes insight-modal-spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}
.insight-modal__footer{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:flex-start;padding:0 24px 22px}
.insight-modal__footer .btn{margin:0}

.no-scroll{overflow:hidden}

@media (max-width: 768px){
  .insight-modal{align-items:flex-start;justify-content:center}
  .insight-modal__dialog{max-width:100%;width:100%;height:100vh;max-height:100vh;border-radius:0}
  .insight-modal__hero{height:180px}
  .insight-modal__header{padding:16px 16px 0}
  .insight-modal__engagement{margin:12px 16px 0;flex-wrap:wrap;gap:12px}
  .insight-modal__stat{font-size:0.8rem}
  .insight-modal__body{padding:0 16px 18px}
  .insight-modal__footer{padding:0 16px 18px;flex-direction:column;align-items:stretch}
  .insight-modal__footer .btn{width:100%;text-align:center;justify-content:center}
  .insight-modal__header h2{font-size:1.25rem !important}
  .insight-modal__excerpt{font-size:.95rem}
  .insight-modal__content{font-size:.95rem}
}

@media (max-width: 480px){
  .insight-modal__hero{height:150px}
  .insight-modal__header h2{font-size:1.1rem !important}
  .insight-modal__excerpt{font-size:.9rem}
  .insight-modal__content{font-size:.9rem}
}

.insight-modal__dialog{-webkit-overflow-scrolling:touch}

@supports (height: 100dvh){
  @media (max-width: 768px){
    .insight-modal__dialog{height:100dvh;max-height:100dvh}
  }
}

@media (max-width: 768px){
  .insight-modal__dialog{padding-bottom:env(safe-area-inset-bottom)}
  .insight-modal__close{top:calc(12px + env(safe-area-inset-top));right:calc(16px + env(safe-area-inset-right));width:44px;height:44px;font-size:28px;display:flex;align-items:center;justify-content:center}
}
