* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, system-ui, sans-serif;
  background: #f3f2ef;
  color: #1a1a1a;
  -webkit-font-smoothing: antialiased;
}
.topbar {
  background: #1a1a1a;
  color: #fdfcfb;
  padding: 14px 24px;
  display: flex;
  align-items: baseline;
  gap: 16px;
  flex-wrap: wrap;
}
.brand { font-weight: 700; font-size: 17px; letter-spacing: 0.3px; }
.brand::before { content: '●'; color: #ff6b35; margin-right: 8px; }
.meta { color: #aaa; font-size: 12px; }

.tabs {
  background: white;
  border-bottom: 1px solid #e0e0e0;
  padding: 0 16px;
  display: flex;
  gap: 0;
  position: sticky; top: 0; z-index: 10;
  overflow-x: auto;
}
.tab {
  background: none;
  border: none;
  padding: 14px 20px;
  font-size: 14px;
  font-weight: 600;
  color: #666;
  cursor: pointer;
  border-bottom: 3px solid transparent;
  display: flex; align-items: center; gap: 6px;
  white-space: nowrap;
}
.tab .count { font-weight: 400; color: #999; font-size: 12px; }
.tab.active { color: #1a1a1a; border-bottom-color: #ff6b35; }
.tab:hover:not(.active) { color: #1a1a1a; }

.filters {
  background: white;
  border-bottom: 1px solid #eee;
  padding: 10px 16px;
  display: flex;
  gap: 16px;
  align-items: center;
  flex-wrap: wrap;
  font-size: 13px;
  color: #666;
}
.filters select { font-size: 13px; padding: 4px 6px; border: 1px solid #ccc; border-radius: 4px; background: white; }
.filter-identity { display: none; }
.feed-linkedin ~ .filters .filter-identity,
body:has(.feed-linkedin) .filter-identity { display: inline-flex; }
.visible-count { margin-left: auto; color: #999; }

.feed {
  max-width: 555px;
  margin: 24px auto;
  padding: 0 12px 80px;
}
.feed-instagram { max-width: 470px; }
.feed-facebook { max-width: 590px; background: transparent; }

.card {
  background: white;
  border-radius: 8px;
  box-shadow: 0 0 0 1px rgba(0,0,0,.08), 0 1px 4px rgba(0,0,0,.04);
  margin-bottom: 16px;
  overflow: hidden;
}

/* ======== LinkedIn look ======== */
.li-header { padding: 12px 16px 8px; display: flex; gap: 8px; }
.li-avatar {
  width: 48px; height: 48px; border-radius: 50%;
  display: grid; place-items: center; font-weight: 700; color: white; font-size: 15px; flex-shrink: 0;
}
.li-avatar.dragonfly { background: linear-gradient(135deg, #ff6b35, #c64a17); }
.li-avatar.jj { background: linear-gradient(135deg, #1a1a1a, #444); }
.li-avatar.irving { background: linear-gradient(135deg, #0a66c2, #003e7e); }
.li-author { flex: 1; min-width: 0; }
.li-name { font-weight: 600; font-size: 14px; }
.li-subtitle { font-size: 12px; color: #666; line-height: 1.3; }
.li-time { font-size: 12px; color: #666; }
.li-body { padding: 0 16px 12px; white-space: pre-wrap; line-height: 1.5; font-size: 14px; }
.li-hashtags { padding: 0 16px 12px; color: #0a66c2; font-size: 13px; word-wrap: break-word; line-height: 1.6; }
.li-actions { display: flex; padding: 4px 8px; border-top: 1px solid #eee; gap: 0; }
.li-actions button {
  flex: 1; background: none; border: none; padding: 10px;
  color: #666; font-weight: 600; font-size: 13px; cursor: pointer; border-radius: 4px;
}
.li-actions button:hover { background: #f3f2ef; }

/* ======== Instagram look ======== */
.feed-instagram .card { border: 1px solid #dbdbdb; border-radius: 8px; }
.ig-header { padding: 14px; display: flex; gap: 12px; align-items: center; }
.ig-avatar {
  width: 32px; height: 32px; border-radius: 50%;
  background: linear-gradient(45deg, #f09433, #e6683c, #dc2743, #cc2366, #bc1888);
  display: grid; place-items: center; color: white; font-weight: 700; font-size: 12px;
}
.ig-handle { font-weight: 600; font-size: 14px; }
.ig-actions { padding: 8px 12px; font-size: 22px; display: flex; gap: 14px; }
.ig-actions .bookmark { margin-left: auto; }
.ig-likes { padding: 0 14px; font-weight: 600; font-size: 13px; }
.ig-caption { padding: 6px 14px; line-height: 1.5; word-wrap: break-word; font-size: 14px; white-space: pre-wrap; }
.ig-hashtags { padding: 4px 14px 12px; color: #00376b; font-size: 13px; word-wrap: break-word; line-height: 1.6; }

/* ======== Facebook look ======== */
.feed-facebook .card { border: 1px solid #ced0d4; }
.fb-header { padding: 12px 16px 6px; display: flex; gap: 8px; align-items: flex-start; }
.fb-avatar {
  width: 40px; height: 40px; border-radius: 50%;
  background: linear-gradient(135deg, #1877f2, #0a3a78);
  display: grid; place-items: center; color: white; font-weight: 700; font-size: 14px;
}
.fb-author { flex: 1; }
.fb-name { font-weight: 600; color: #050505; font-size: 14px; }
.fb-time { font-size: 12px; color: #65676b; }
.fb-body { padding: 0 16px 8px; white-space: pre-wrap; line-height: 1.4; font-size: 14px; color: #050505; }
.fb-hashtags { padding: 0 16px 10px; color: #1877f2; font-size: 13px; word-wrap: break-word; line-height: 1.6; }
.fb-actions { display: flex; padding: 2px 8px; border-top: 1px solid #ced0d4; }
.fb-actions button {
  flex: 1; background: none; border: none; padding: 10px;
  color: #65676b; font-weight: 600; font-size: 13px; cursor: pointer; border-radius: 4px;
}
.fb-actions button:hover { background: #f0f2f5; }

/* ======== Image area (shared) ======== */
.image-area {
  background: #1a1a1a; color: #fdfcfb;
  position: relative;
  padding: 32px 24px;
  display: flex; flex-direction: column; justify-content: center; align-items: center;
  text-align: center;
  overflow: hidden;
}
.aspect-191 { aspect-ratio: 1.91 / 1; }
.aspect-45 { aspect-ratio: 4 / 5; min-height: 480px; }
.aspect-11 { aspect-ratio: 1 / 1; }

/* tile (charcoal/orange/off-white quote tile look) */
.tile-bg::before {
  content: '';
  position: absolute; left: 50%; top: 22%;
  width: 56px; height: 1px; background: #ff6b35;
  transform: translateX(-50%);
}
.tile-quote {
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 18px; line-height: 1.45;
  color: #fdfcfb;
  max-width: 90%;
  margin-top: 12px;
  font-weight: 500;
}
.aspect-45 .tile-quote { font-size: 22px; }
.tile-mark {
  position: absolute; bottom: 16px; left: 0; right: 0;
  text-align: center;
  font-size: 9px; letter-spacing: 3px; color: #ff6b35;
  font-weight: 600;
}
.tile-attr {
  position: absolute; bottom: 16px; right: 16px;
  font-size: 10px; color: #888;
  font-style: italic;
}

/* carousel */
.carousel-badge {
  position: absolute; top: 12px; right: 12px;
  background: rgba(255,107,53,0.95); color: white;
  padding: 4px 10px; border-radius: 4px;
  font-size: 11px; font-weight: 600; letter-spacing: 0.5px;
}

/* press tile */
.press-bg { background: #fdfcfb; color: #1a1a1a; }
.press-bg::before { display: none; }
.press-label {
  font-size: 10px; letter-spacing: 3px; color: #ff6b35; margin-bottom: 14px;
  font-weight: 700;
}
.press-content {
  font-family: Georgia, serif;
  font-size: 14px; line-height: 1.5;
  white-space: pre-line;
  max-width: 90%;
}
.press-bg .tile-mark { color: #1a1a1a; }

/* photo placeholder */
.photo-bg {
  background: linear-gradient(135deg, #2a2a2a 0%, #1a1a1a 70%);
  color: #aaa;
}
.photo-bg::before { display: none; }
.photo-icon { font-size: 36px; opacity: 0.4; margin-bottom: 12px; }
.photo-topic {
  font-family: Georgia, serif;
  font-size: 17px; color: #fff;
  max-width: 90%;
}
.photo-note {
  font-size: 11px; color: #888;
  margin-top: 10px;
  font-style: italic;
  max-width: 80%;
}

/* meta strip */
.post-meta {
  padding: 8px 16px 12px;
  font-size: 11px; color: #999;
  border-top: 1px solid #f0f0f0;
  display: flex; gap: 8px; flex-wrap: wrap;
}
.post-meta .pn { font-weight: 600; color: #ff6b35; }
.post-meta .cat { background: #f3f2ef; padding: 2px 6px; border-radius: 3px; }
.post-meta .id { color: #0a66c2; font-weight: 600; }

.foot {
  text-align: center; padding: 24px 12px 40px;
  font-size: 12px; color: #999;
}

@media (max-width: 600px) {
  .feed { padding: 0 4px 60px; margin-top: 12px; }
  .filters { padding: 8px 12px; gap: 8px; }
}
