/* ---------- THEME TOKENS ---------- */
:root{
  --bg: #f6f8fb;
  --card-bg: rgba(255,255,255,0.72);
  --muted: #6b7280;
  --accent: #6d28d9;
  --accent-2: #a21caf;
  --glass-blur: 8px;
  --radius: 14px;
  --text: #0f172a;
}

/* Base typography */
html,body{
  height:100%;
  font-family: 'Inter', system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
  background: radial-gradient(1200px 600px at 10% 10%, rgba(162,28,175,0.06), transparent),
              radial-gradient(900px 500px at 90% 90%, rgba(79,70,229,0.04), transparent),
              var(--bg);
  color:var(--text);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  font-size:16px;
  line-height:1.6;
  margin:0;
}

/* Hero */
.site-hero{
  padding:3rem 1.25rem 2.5rem;
  text-align:center;
  border-bottom-left-radius:28px;
  border-bottom-right-radius:28px;
  margin-bottom:1.5rem;
  background: linear-gradient(180deg, rgba(255,255,255,0.36), rgba(255,255,255,0.22));
  backdrop-filter: blur(var(--glass-blur));
  box-shadow: 0 8px 48px rgba(15,23,42,0.06);
}

.top-nav{
  display:flex;
  justify-content:space-between;
  align-items:center;
  max-width:1100px;
  margin:0 auto 1.25rem;
  gap:1rem;
  padding:0 0.5rem;
}

.logo{
  display:flex;
  align-items:center;
  gap:0.75rem;
  color:var(--text);
  text-decoration:none;
  font-weight:600;
}
.site-title{
  font-family: 'Playfair Display', serif;
  font-size:1.1rem;
  color:var(--text);
}

/* Search and theme */
.search-input{
  padding:0.5rem 0.75rem;
  border-radius:999px;
  border:1px solid rgba(15,23,42,0.06);
  width:220px;
  transition:box-shadow .18s, transform .12s;
}
.search-input:focus{
  outline:none;
  box-shadow:0 6px 24px rgba(99,102,241,0.12);
  transform:translateY(-1px);
}

.icon-btn{
  background:transparent;
  border:none;
  cursor:pointer;
  font-size:1.05rem;
  margin-right:0.5rem;
}

/* Hero text */
.hero-title{
  margin:0 auto 0.5rem;
  font-family: 'Playfair Display', serif;
  font-size:2.4rem;
  letter-spacing:-0.02em;
  color:var(--text);
}
.hero-subtitle{
  margin:0;
  color:var(--muted);
  font-size:1.05rem;
}

/* Grid and cards */
.content-grid{
  max-width:1100px;
  margin:0 auto;
  padding:0 1rem 3rem;
}

.posts-grid{
  display:grid;
  grid-template-columns: repeat(auto-fit,minmax(260px,1fr));
  gap:1.25rem;
  margin-top:1.5rem;
}

/* Glass card */
.card{
  background:var(--card-bg);
  border-radius:var(--radius);
  padding:1.25rem;
  box-shadow: 0 6px 30px rgba(15,23,42,0.06);
  backdrop-filter: blur(var(--glass-blur));
  border:1px solid rgba(255,255,255,0.5);
  transition: transform .22s cubic-bezier(.2,.9,.3,1), box-shadow .22s;
  opacity:0;
  transform: translateY(20px);
  animation: fadeInUp 0.7s forwards;
}
.card:hover{
  transform: translateY(-6px);
  box-shadow: 0 16px 48px rgba(15,23,42,0.12);
}

.featured-card{
  display:flex;
  gap:1rem;
  align-items:stretch;
  padding:0;
  overflow:hidden;
}
.featured-card .cover{
  width:220px;
  min-width:160px;
  background-size:cover;
  background-position:center;
  border-top-left-radius:var(--radius);
  border-bottom-left-radius:var(--radius);
  filter: saturate(1.05);
  transform-origin:center;
}
.featured-card .card-body{
  padding:1.25rem 1.5rem;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.featured-card h2{ margin:0 0 0.4rem; font-size:1.15rem; font-family:'Playfair Display', serif; }
.muted{ color:var(--muted); }

/* Buttons */
.btn{
  display:inline-block;
  background: linear-gradient(90deg,var(--accent),var(--accent-2));
  color:white;
  padding:0.6rem 1rem;
  border-radius:10px;
  text-decoration:none;
  font-weight:600;
  transition: transform .12s, box-shadow .12s;
  box-shadow: 0 8px 28px rgba(99,102,241,0.12);
}
.btn.ghost{
  background:transparent;
  color:var(--text);
  border:1px solid rgba(15,23,42,0.06);
  box-shadow:none;
}

/* Floating random button */
.floating-btn{
  position:fixed;
  right:1.5rem;
  bottom:1.5rem;
  z-index:999;
  border:none;
  padding:0.75rem 1rem;
  border-radius:999px;
  background:linear-gradient(90deg,var(--accent),var(--accent-2));
  color:white;
  box-shadow:0 10px 36px rgba(162,28,175,0.14);
  cursor:pointer;
  font-weight:600;
  transform:translateY(0);
  transition: transform .16s, box-shadow .16s;
}
.floating-btn:hover{ transform:translateY(-4px); box-shadow:0 16px 48px rgba(162,28,175,0.2); }

/* Highlight for random */
.card.highlight{ box-shadow: 0 0 0 5px rgba(162,28,175,0.12), 0 20px 60px rgba(15,23,42,0.12); transform:translateY(-8px) scale(1.02); }

/* Animations */
@keyframes fadeInUp{
  to{ opacity:1; transform:none; }
}

/* Responsive tweaks */
@media (max-width:720px){
  .featured-card{ flex-direction:column; }
  .featured-card .cover{ width:100%; min-height:160px; border-radius:var(--radius)  var(--radius) 0 0; }
  .top-nav{ gap:0.5rem; }
  .search-input{ display:none; }
}

/* Dark theme support */
[data-theme="dark"]{
  --bg:#071025;
  --card-bg: rgba(7,16,37,0.6);
  --muted:#9aa6bf;
  --text:#e6eef8;
}

/* Focus outlines for accessibility */
a:focus, button:focus, .icon-btn:focus{
  outline:3px solid rgba(99,102,241,0.18);
  outline-offset:3px;
}
