/* MowzResearch — Apple Glass Dark Theme */
:root {
  --bg: #000000;
  --surface: rgba(255,255,255,0.06);
  --surface-hover: rgba(255,255,255,0.10);
  --glass: rgba(255,255,255,0.08);
  --glass-border: rgba(255,255,255,0.12);
  --text: #f5f5f7;
  --text-secondary: rgba(255,255,255,0.6);
  --text-tertiary: rgba(255,255,255,0.4);
  --accent: #0a84ff;
  --accent-glow: rgba(10,132,255,0.3);
  --green: #30d158;
  --orange: #ff9f0a;
  --red: #ff453a;
  --purple: #bf5af2;
  --blur: 20px;
  --radius: 16px;
  --radius-sm: 10px;
}

* { margin:0; padding:0; box-sizing:border-box; }
html,body {
  height:100%;
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",Roboto,sans-serif;
  background:var(--bg);
  color:var(--text);
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
body { padding-top:56px; }

/* ── Glass surfaces ─────────────────────────────── */
.glass-surface {
  background:var(--glass);
  backdrop-filter:blur(var(--blur));
  -webkit-backdrop-filter:blur(var(--blur));
  border:1px solid var(--glass-border);
  border-radius:var(--radius);
}
.glass-header {
  position:fixed;top:0;left:0;right:0;
  height:56px;z-index:100;
  background:rgba(0,0,0,0.85);
  backdrop-filter:blur(30px);
  border-bottom:1px solid rgba(255,255,255,0.08);
  display:flex;align-items:center;padding:0 16px;gap:12px;
}
.glass-header .logo { font-size:24px; }
.glass-header h1 { font-size:18px;font-weight:600;flex:1; }
.icon-btn {
  background:none;border:none;color:var(--text-secondary);
  font-size:20px;padding:8px;border-radius:8px;cursor:pointer;
}
.icon-btn:hover { background:var(--surface-hover); }

/* ── Search ─────────────────────────────────────── */
.search-container { padding:12px 16px; }
.search-bar {
  display:flex;align-items:center;gap:10px;
  padding:0 14px;height:48px;
}
.search-icon { color:var(--text-tertiary);font-size:18px; }
.search-bar input {
  flex:1;background:none;border:none;outline:none;
  color:var(--text);font-size:16px;
  caret-color:var(--accent);
}
.search-bar input::placeholder { color:var(--text-tertiary); }
.hidden { display:none!important; }

.source-chips {
  display:flex;gap:8px;padding:10px 0;overflow-x:auto;
  scrollbar-width:none;-ms-overflow-style:none;
}
.source-chips::-webkit-scrollbar { display:none; }
.chip {
  padding:6px 14px;border-radius:20px;font-size:13px;font-weight:500;
  background:var(--surface);color:var(--text-secondary);
  white-space:nowrap;cursor:pointer;transition:all 0.2s;
  border:1px solid transparent;
}
.chip:hover { background:var(--surface-hover); }
.chip.active {
  background:var(--accent);color:#fff;
  border-color:var(--accent);box-shadow:0 0 12px var(--accent-glow);
}

/* ── Results ────────────────────────────────────── */
.results-container { padding:0 16px 100px; }
.results-list { display:flex;flex-direction:column;gap:10px; }

.result-card {
  padding:14px 16px;cursor:pointer;
  transition:all 0.2s;
  animation:fadeIn 0.3s ease-out;
}
.result-card:hover { background:var(--surface-hover);transform:translateY(-1px); }
.result-card h3 {
  font-size:15px;font-weight:600;line-height:1.4;
  margin-bottom:6px;color:var(--text);
}
.result-meta {
  display:flex;flex-wrap:wrap;gap:6px;align-items:center;
  font-size:12px;color:var(--text-secondary);margin-bottom:8px;
}
.result-meta span { display:inline-flex;align-items:center;gap:3px; }
.result-meta .citations {
  background:var(--accent);color:#fff;padding:1px 6px;
  border-radius:8px;font-weight:600;font-size:11px;
}
.result-source {
  display:inline-block;padding:2px 8px;border-radius:6px;
  font-size:10px;font-weight:600;text-transform:uppercase;
}
.source-pubmed { background:#2563eb20;color:#60a5fa; }
.source-openalex { background:#8b5cf620;color:#a78bfa; }
.source-trials { background:#10b98120;color:#34d399; }
.source-drugs { background:#f59e0b20;color:#fbbf24; }
.source-arxiv { background:#ef444420;color:#f87171; }
.result-links { display:flex;gap:8px;margin-top:8px;flex-wrap:wrap; }
.result-links a {
  color:var(--accent);text-decoration:none;font-size:12px;
  padding:3px 8px;border-radius:6px;background:var(--accent-glow);
}
.result-links a:hover { background:var(--accent);color:#fff; }

@keyframes fadeIn { from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none} }

/* ── Welcome ────────────────────────────────────── */
.welcome-card {
  text-align:center;padding:32px 24px;margin-top:12px;
}
.welcome-icon { font-size:48px;margin-bottom:12px; }
.welcome-card h2 { font-size:24px;font-weight:700;margin-bottom:8px; }
.welcome-card p { color:var(--text-secondary);margin-bottom:20px; }
.quick-actions { display:grid;grid-template-columns:1fr 1fr;gap:10px; }
.action-btn {
  padding:14px;font-size:14px;font-weight:500;cursor:pointer;
  transition:all 0.2s;border:1px solid var(--glass-border);
  background:var(--glass);color:var(--text);border-radius:var(--radius-sm);
}
.action-btn:hover { background:var(--surface-hover);transform:translateY(-1px); }
.action-btn.primary {
  background:var(--accent);color:#fff;border-color:var(--accent);
}
.text-btn {
  background:none;border:none;color:var(--accent);cursor:pointer;
  font-size:13px;padding:6px 10px;
}

/* ── Loading ────────────────────────────────────── */
.loading { text-align:center;padding:40px; }
.spinner {
  width:32px;height:32px;margin:0 auto 16px;
  border:3px solid var(--surface);border-top:3px solid var(--accent);
  border-radius:50%;animation:spin 0.8s linear infinite;
}
@keyframes spin { to{transform:rotate(360deg)} }

/* ── Side Menu ──────────────────────────────────── */
.side-menu {
  position:fixed;top:0;left:-280px;width:280px;height:100%;
  z-index:200;transition:left 0.3s ease;
  padding:16px;overflow-y:auto;
  background:rgba(0,0,0,0.95);backdrop-filter:blur(40px);
  border-right:1px solid var(--glass-border);
}
.side-menu.open { left:0; }
.menu-header { display:flex;justify-content:space-between;align-items:center;margin-bottom:16px; }
.menu-header h3 { font-size:18px; }
.menu-item {
  width:100%;text-align:left;padding:12px 16px;
  border:none;background:none;color:var(--text-secondary);
  font-size:15px;cursor:pointer;border-radius:var(--radius-sm);
  display:flex;align-items:center;gap:10px;
}
.menu-item:hover,.menu-item.active { background:var(--surface-hover);color:var(--text); }
.source-icon { font-size:18px;width:24px;text-align:center; }
.menu-divider { height:1px;background:var(--glass-border);margin:10px 0; }
.menu-overlay {
  position:fixed;inset:0;background:rgba(0,0,0,0.5);z-index:190;
  opacity:0;pointer-events:none;transition:opacity 0.3s;
}
.menu-overlay.open { opacity:1;pointer-events:auto; }

/* ── Modal ──────────────────────────────────────── */
.modal {
  position:fixed;inset:0;z-index:300;
  display:flex;align-items:flex-end;justify-content:center;
  background:rgba(0,0,0,0.6);backdrop-filter:blur(8px);
}
.modal-content {
  width:100%;max-width:500px;max-height:80vh;overflow-y:auto;
  padding:20px;border-radius:20px 20px 0 0;
}
.modal-header { display:flex;justify-content:space-between;align-items:flex-start;gap:12px; }
.modal-header h3 { font-size:16px;font-weight:600;line-height:1.4;flex:1; }
.modal-body { margin:16px 0;font-size:14px;line-height:1.6;color:var(--text-secondary); }
.modal-body .label { color:var(--text-tertiary);font-size:12px;display:block;margin-top:12px; }
.modal-body .value { color:var(--text);font-size:14px;display:block;margin-top:4px; }
.modal-actions { display:flex;gap:8px;margin-top:16px;flex-wrap:wrap; }
.modal-actions .action-btn { flex:1;min-width:100px;text-align:center; }

/* ── Section header ─────────────────────────────── */
.section-header {
  display:flex;justify-content:space-between;align-items:center;
  padding:12px 0;
}
.section-header h3 { font-size:16px;font-weight:600; }

/* ── Search suggestion ──────────────────────────── */
.suggest-chips { display:flex;gap:6px;flex-wrap:wrap;padding:8px 0; }
.suggest-chip {
  padding:6px 12px;border-radius:16px;font-size:12px;
  background:var(--surface);color:var(--text-secondary);
  cursor:pointer;border:1px solid var(--glass-border);
}
.suggest-chip:hover { background:var(--surface-hover);color:var(--text); }
