/* BULLET - Load. Aim. API. Modern Landing Page Styling */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&family=JetBrains+Mono:wght@400;500;600;700&display=swap');

:root {
  --bg-deep: #06090e;
  --bg-card: rgba(13, 19, 32, 0.75);
  --bg-card-hover: rgba(20, 29, 48, 0.85);
  --border-subtle: rgba(255, 255, 255, 0.08);
  --border-glow: rgba(245, 158, 11, 0.3);
  --amber-primary: #f59e0b;
  --amber-bright: #fbbf24;
  --amber-gold: #fef08a;
  --cyan-telemetry: #06b6d4;
  --cyan-bright: #38bdf8;
  --emerald-success: #10b981;
  --rose-danger: #f43f5e;
  --purple-accent: #a855f7;
  --text-muted: #94a3b8;
  --text-dim: #64748b;
  --font-sans: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --font-mono: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
}

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  scroll-behavior: smooth;
  color-scheme: dark;
  background-color: var(--bg-deep);
  color: #f8fafc;
  font-family: var(--font-sans);
}

body {
  overflow-x: hidden;
  position: relative;
  background: radial-gradient(circle at 50% 0%, rgba(245, 158, 11, 0.08) 0%, transparent 45%),
              radial-gradient(circle at 85% 30%, rgba(6, 182, 212, 0.06) 0%, transparent 40%),
              radial-gradient(circle at 15% 70%, rgba(168, 85, 247, 0.05) 0%, transparent 50%),
              #06090e;
}

/* Background Cyber Grid */
.cyber-grid {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1200px;
  background-image: 
    linear-gradient(to right, rgba(255, 255, 255, 0.03) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(255, 255, 255, 0.03) 1px, transparent 1px);
  background-size: 48px 48px;
  mask-image: radial-gradient(ellipse at 50% 30%, black 20%, transparent 75%);
  -webkit-mask-image: radial-gradient(ellipse at 50% 30%, black 20%, transparent 75%);
  pointer-events: none;
  z-index: 0;
}

/* Glassmorphism Classes */
.glass-panel {
  background: var(--bg-card);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid var(--border-subtle);
  border-radius: 16px;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.glass-panel:hover {
  border-color: rgba(245, 158, 11, 0.25);
  box-shadow: 0 12px 40px -10px rgba(0, 0, 0, 0.6), 0 0 20px -5px rgba(245, 158, 11, 0.15);
}

.glass-nav {
  background: rgba(8, 12, 20, 0.85);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-bottom: 1px solid var(--border-subtle);
}

/* Gradients */
.gradient-text {
  background: linear-gradient(135deg, #ffffff 0%, #fef08a 40%, #f59e0b 80%, #d97706 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.gradient-telemetry {
  background: linear-gradient(135deg, #ffffff 0%, #38bdf8 50%, #06b6d4 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.btn-primary {
  background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);
  color: #06090e;
  font-weight: 700;
  border-radius: 10px;
  padding: 12px 24px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  white-space: nowrap;
  transition: all 0.2s ease;
  box-shadow: 0 0 20px rgba(245, 158, 11, 0.35);
  border: 1px solid #fde047;
  text-decoration: none;
  cursor: pointer;
}

.btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 0 30px rgba(245, 158, 11, 0.55);
  background: linear-gradient(135deg, #fbbf24 0%, #f59e0b 100%);
}

.btn-secondary {
  background: rgba(255, 255, 255, 0.05);
  color: #f8fafc;
  font-weight: 600;
  border-radius: 10px;
  padding: 12px 22px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  white-space: nowrap;
  transition: all 0.2s ease;
  border: 1px solid var(--border-subtle);
  text-decoration: none;
  cursor: pointer;
}

.btn-secondary:hover {
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(255, 255, 255, 0.2);
  transform: translateY(-2px);
}

.btn-fire {
  background: linear-gradient(135deg, #ef4444 0%, #dc2626 50%, #b91c1c 100%);
  color: white;
  font-weight: 800;
  letter-spacing: 0.05em;
  border: 1px solid #f87171;
  box-shadow: 0 0 25px rgba(239, 68, 68, 0.4);
  transition: all 0.15s cubic-bezier(0.4, 0, 0.2, 1);
  cursor: pointer;
}

.btn-fire:hover {
  box-shadow: 0 0 35px rgba(239, 68, 68, 0.7);
  transform: scale(1.02);
}

.btn-fire:active {
  transform: scale(0.97);
}

/* Cartridge Glow */
.bullet-glow {
  filter: drop-shadow(0 0 15px rgba(245, 158, 11, 0.45));
}

/* Reticle Radar Pulse */
@keyframes pulse-radar {
  0% { transform: scale(0.95); opacity: 0.8; }
  50% { transform: scale(1.05); opacity: 1; }
  100% { transform: scale(0.95); opacity: 0.8; }
}

.radar-pulse {
  animation: pulse-radar 3s infinite ease-in-out;
}

/* Method Badges */
.badge-method {
  font-family: var(--font-mono);
  font-size: 11px;
  font-weight: 800;
  padding: 4px 8px;
  border-radius: 6px;
  display: inline-block;
  letter-spacing: 0.05em;
}

.badge-get { background: rgba(16, 185, 129, 0.15); color: #34d399; border: 1px solid rgba(16, 185, 129, 0.3); }
.badge-post { background: rgba(245, 158, 11, 0.15); color: #fbbf24; border: 1px solid rgba(245, 158, 11, 0.3); }
.badge-put { background: rgba(59, 130, 246, 0.15); color: #60a5fa; border: 1px solid rgba(59, 130, 246, 0.3); }
.badge-delete { background: rgba(239, 68, 68, 0.15); color: #f87171; border: 1px solid rgba(239, 68, 68, 0.3); }

.font-mono {
  font-family: var(--font-mono);
}

::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}
::-webkit-scrollbar-track {
  background: #06090e;
}
::-webkit-scrollbar-thumb {
  background: #1e293b;
  border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
  background: #334155;
}

@keyframes bar-expand {
  0% { width: 0%; opacity: 0.2; }
  100% { opacity: 1; }
}

.animate-waterfall {
  animation: bar-expand 0.6s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

.shimmer {
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.08), transparent);
  background-size: 200% 100%;
  animation: shimmer 2.5s infinite;
}

@keyframes shimmer {
  0% { background-position: -200% 0; }
  100% { background-position: 200% 0; }
}

/* ==============================================================================
   LIGHT MODE THEME SYSTEM (Identical to BULLET Desktop & Web IDE)
   ============================================================================== */

html.light {
  color-scheme: light;
  --bg-deep: #f8fafc;
  --bg-card: rgba(255, 255, 255, 0.90);
  --bg-card-hover: #ffffff;
  --border-subtle: #e2e8f0;
  --border-glow: rgba(217, 119, 6, 0.35);
  --text-muted: #475569;
  --text-dim: #64748b;
  background-color: #f8fafc;
  color: #0f172a;
}

html.light body {
  background: radial-gradient(circle at 50% 0%, rgba(245, 158, 11, 0.12) 0%, transparent 45%),
              radial-gradient(circle at 85% 30%, rgba(6, 182, 212, 0.08) 0%, transparent 40%),
              radial-gradient(circle at 15% 70%, rgba(168, 85, 247, 0.06) 0%, transparent 50%),
              #f8fafc;
  color: #0f172a;
}

/* Light Mode Cyber Grid */
html.light .cyber-grid {
  background-image: 
    linear-gradient(to right, rgba(0, 0, 0, 0.05) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(0, 0, 0, 0.05) 1px, transparent 1px);
  mask-image: radial-gradient(ellipse at 50% 30%, black 30%, transparent 75%);
  -webkit-mask-image: radial-gradient(ellipse at 50% 30%, black 30%, transparent 75%);
}

/* Light Mode Glass Navigation & Panels */
html.light .glass-nav {
  background: rgba(255, 255, 255, 0.92);
  border-bottom: 1px solid #e2e8f0;
  box-shadow: 0 4px 20px -2px rgba(0, 0, 0, 0.04);
}

html.light .glass-nav a {
  color: #475569;
}

html.light .glass-nav a:hover {
  color: #b45309;
}

html.light .glass-panel {
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid #e2e8f0;
  box-shadow: 0 4px 25px -4px rgba(0, 0, 0, 0.06), 0 2px 8px -2px rgba(0, 0, 0, 0.04);
}

html.light .glass-panel:hover {
  border-color: rgba(217, 119, 6, 0.4);
  box-shadow: 0 14px 35px -5px rgba(0, 0, 0, 0.10), 0 0 15px rgba(245, 158, 11, 0.15);
}

/* Light Mode Buttons */
html.light .btn-secondary {
  background: #ffffff;
  color: #0f172a;
  border: 1px solid #cbd5e1;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

html.light .btn-secondary:hover {
  background: #f1f5f9;
  border-color: #94a3b8;
  color: #0f172a;
}

/* Light Mode Theme Toggle Button */
html.light #theme-toggle-btn {
  background: #ffffff;
  border-color: #cbd5e1;
  color: #334155;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

html.light #theme-toggle-btn:hover {
  background: #f1f5f9;
  border-color: #94a3b8;
}

/* Light Mode Gradients & Text */
html.light .gradient-text {
  background: linear-gradient(135deg, #0f172a 0%, #78350f 45%, #b45309 85%, #d97706 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

html.light .gradient-telemetry {
  background: linear-gradient(135deg, #0f172a 0%, #0369a1 50%, #0e7490 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

html.light .text-white {
  color: #0f172a !important;
}

html.light .text-slate-100,
html.light .text-slate-200 {
  color: #0f172a !important;
}

html.light .text-slate-300,
html.light .text-slate-400 {
  color: #334155 !important;
}

html.light .text-slate-500 {
  color: #64748b !important;
}

html.light .text-slate-600 {
  color: #475569 !important;
}

/* Accessible High-Contrast Accents in Light Mode */
html.light .text-amber-400,
html.light .text-amber-300 {
  color: #b45309 !important;
}

html.light .text-cyan-400,
html.light .text-cyan-300 {
  color: #0e7490 !important;
}

html.light .text-emerald-400,
html.light .text-emerald-300 {
  color: #047857 !important;
}

html.light .text-rose-400,
html.light .text-rose-300 {
  color: #be123c !important;
}

html.light .text-purple-400,
html.light .text-purple-300 {
  color: #7e22ce !important;
}

/* Light Mode Background Surfaces */
html.light .bg-slate-950,
html.light .bg-slate-900 {
  background-color: #ffffff !important;
}

html.light .bg-slate-950\/90,
html.light .bg-slate-950\/80,
html.light .bg-slate-950\/70,
html.light .bg-slate-900\/90,
html.light .bg-slate-900\/80,
html.light .bg-slate-900\/70,
html.light .bg-slate-900\/60,
html.light .bg-slate-900\/40 {
  background-color: rgba(255, 255, 255, 0.95) !important;
}

html.light .bg-slate-800 {
  background-color: #f1f5f9 !important;
}

html.light .bg-slate-800\/80,
html.light .bg-slate-800\/60,
html.light .bg-slate-800\/50,
html.light .bg-slate-800\/40 {
  background-color: #e2e8f0 !important;
}

html.light .border-slate-800,
html.light .border-slate-700 {
  border-color: #e2e8f0 !important;
}

html.light .border-slate-800\/80,
html.light .border-slate-800\/70,
html.light .border-slate-800\/60 {
  border-color: #cbd5e1 !important;
}

html.light .border-slate-900,
html.light .border-slate-900\/80 {
  border-color: #e2e8f0 !important;
}

/* Light Mode Badges & Pills */
html.light .bg-amber-500\/10,
html.light .bg-amber-500\/20,
html.light .bg-amber-950\/60,
html.light .bg-amber-950\/40 {
  background-color: #fef3c7 !important;
  color: #b45309 !important;
}

html.light .border-amber-500\/20,
html.light .border-amber-500\/30,
html.light .border-amber-500\/40 {
  border-color: #f59e0b !important;
}

html.light .bg-cyan-500\/10,
html.light .bg-cyan-500\/20 {
  background-color: #e0f2fe !important;
  color: #0369a1 !important;
}

html.light .border-cyan-500\/20,
html.light .border-cyan-500\/30 {
  border-color: #38bdf8 !important;
}

html.light .bg-emerald-500\/10,
html.light .bg-emerald-500\/20 {
  background-color: #d1fae5 !important;
  color: #047857 !important;
}

html.light .border-emerald-500\/20,
html.light .border-emerald-500\/30 {
  border-color: #10b981 !important;
}

html.light .bg-rose-500\/10,
html.light .bg-rose-500\/20 {
  background-color: #ffe4e6 !important;
  color: #be123c !important;
}

html.light .border-rose-500\/40 {
  border-color: #f43f5e !important;
}

html.light .bg-purple-500\/10,
html.light .bg-purple-500\/20 {
  background-color: #f3e8ff !important;
  color: #7e22ce !important;
}

html.light .border-purple-500\/30 {
  border-color: #c084fc !important;
}

/* Comparison Table in Light Mode */
html.light thead.bg-slate-950 {
  background-color: #f1f5f9 !important;
  color: #475569 !important;
  border-bottom-color: #cbd5e1 !important;
}

html.light tbody tr:hover {
  background-color: #f8fafc !important;
}

html.light tbody tr {
  border-color: #e2e8f0 !important;
}

html.light td.bg-amber-500\/5,
html.light th.bg-amber-500\/10 {
  background-color: #fefce8 !important;
  border-color: #fef08a !important;
}

/* Top Announcement Banner in Light Mode */
html.light .bg-gradient-to-r.from-amber-950\/60 {
  background: linear-gradient(to right, #fef3c7, #f1f5f9, #ffe4e6) !important;
  border-bottom-color: #fcd34d !important;
}

/* Mobile Dropdown in Light Mode */
html.light #mobile-menu {
  background-color: rgba(255, 255, 255, 0.98) !important;
  border-bottom-color: #e2e8f0 !important;
}

/* Simulator Controls in Light Mode */
html.light #simulator-preset {
  background-color: #ffffff !important;
  color: #0f172a !important;
  border-color: #cbd5e1 !important;
}

html.light #simulator-url {
  color: #0f172a !important;
}

/* Keep Code & Terminal Blocks Pristine & Legible */
html.light pre,
html.light pre code {
  background-color: #090d16 !important;
  color: #f8fafc !important;
  border-color: #1e293b !important;
}

html.light pre code .text-slate-200,
html.light pre code .text-slate-300,
html.light pre code .text-slate-400 {
  color: #cbd5e1 !important;
}

/* Call to Action in Light Mode */
html.light section .glass-panel.bg-gradient-to-b {
  background: linear-gradient(to bottom, #ffffff, #f8fafc) !important;
  border-color: #fcd34d !important;
}

/* Footer in Light Mode */
html.light footer {
  background-color: #f1f5f9 !important;
  border-top-color: #e2e8f0 !important;
}

html.light footer .text-slate-200 {
  color: #0f172a !important;
}

html.light footer .text-slate-400,
html.light footer .text-slate-500 {
  color: #475569 !important;
}

html.light footer .border-slate-900\/80 {
  border-top-color: #cbd5e1 !important;
}

