body.isa-app-theme{
  margin:0;
  font-family: var(--isa-font-family, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif);
  font-size: var(--isa-font-size, 15px);
  font-weight: var(--isa-font-weight, 500);
  line-height: var(--isa-line-height, 1.7);
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  background: radial-gradient(1200px circle at 20% 10%, rgba(99,102,241,.18), transparent 40%),
              radial-gradient(1000px circle at 90% 0%, rgba(217,70,239,.18), transparent 40%),
              linear-gradient(180deg, var(--isa-theme-bg, #0b1222), #070b14 60%);
  color: var(--isa-theme-text, #f8fafc);
  min-height: 100vh;
}

.isa-theme-topbar{
  position: sticky;
  top: 0;
  z-index: 100;
  background: rgba(2, 6, 23, .55);
  border-bottom: 1px solid rgba(255,255,255,.06);
}

/* Root performance fix: disable expensive blur when Performance/Lite mode is enabled */
body.isa-app-theme:not(.isa-perf-mode):not(.isa-ui-lite) .isa-theme-topbar{
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}
.isa-theme-topbar-inner{
  max-width: 1160px;
  margin: 0 auto;
  padding: 14px 14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 10px;
}
.isa-theme-brand{
  display:flex;
  align-items:center;
  gap: 10px;
  font-weight: 900;
  letter-spacing: .2px;
}
.isa-theme-dot{
  width: 12px;
  height: 12px;
  border-radius: 99px;
  background: linear-gradient(135deg, var(--isa-theme-primary), var(--isa-theme-secondary));
  box-shadow: 0 10px 20px rgba(0,0,0,.35);
}
.isa-theme-title{
  font-size: 14px;
  opacity: .95;
}
.isa-theme-actions{display:flex; gap: 10px; align-items:center;}
.isa-theme-link{
  color: var(--isa-theme-text);
  text-decoration: none;
  font-weight: 800;
  font-size: 12px;
  opacity: .85;
  padding: 8px 10px;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.04);
}
.isa-theme-link:hover{opacity:1}

.isa-theme-main{
  padding: 24px 14px 36px;
}

.isa-theme-app-shell{
  max-width: 1160px;
  margin: 0 auto;
}
.isa-theme-app-container{
  border-radius: 28px;
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(2, 6, 23, .35);
  box-shadow: 0 25px 60px rgba(0,0,0,.45);
  padding: 18px;
}

@media (min-width: 768px){
  .isa-theme-main{padding: 36px 18px 44px;}
  .isa-theme-app-container{padding: 22px;}
}

@media (max-width: 640px){
  .isa-theme-main{padding: 14px 10px 26px;}
  .isa-theme-app-container{
    border-radius: 20px;
    padding: 12px;
  }
}

.isa-theme-footer{
  padding: 24px 14px 40px;
  color: var(--isa-theme-text-muted);
  opacity: .85;
}
.isa-theme-footer-inner{
  max-width: 1160px;
  margin: 0 auto;
  text-align:center;
  font-weight: 700;
  font-size: 12px;
}

.isa-theme-app-container > *:first-child{margin-top:0}
.isa-theme-app-container > *:last-child{margin-bottom:0}

/* ---------------------------------
   Fallback pages (archives/search)
   - Avoid heavy the_content loops
   - Keep it clean + fast
---------------------------------- */
.isa-theme-postlist{display:grid; gap:14px}
.isa-theme-postitem{
  padding: 14px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(2, 6, 23, .22);
}
.isa-theme-posttitle{margin: 0 0 6px; font-size: 16px; line-height: 1.35; font-weight: 900}
.isa-theme-posttitle a{color: var(--isa-theme-text); text-decoration: none}
.isa-theme-posttitle a:hover{opacity:.95; text-decoration: underline}
.isa-theme-postexcerpt{color: var(--isa-theme-text-muted); font-weight: 650; font-size: 13px; margin: 0}
.isa-theme-readmore{
  display: inline-block;
  margin-top: 8px;
  padding: 8px 10px;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.04);
  color: var(--isa-theme-text);
  text-decoration: none;
  font-weight: 850;
  font-size: 12px;
}
.isa-theme-readmore:hover{opacity:1}

/* Pagination */
.navigation.pagination{margin-top: 18px}
.navigation.pagination .page-numbers{
  display:inline-block;
  margin: 0 4px;
  padding: 8px 10px;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.04);
  color: var(--isa-theme-text);
  text-decoration:none;
  font-weight: 850;
  font-size: 12px;
}
.navigation.pagination .page-numbers.current{background: rgba(255,255,255,.10)}

/* Mobile: reduce expensive blur */
@media (max-width: 640px){
  .isa-theme-topbar{
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }
}
