/* ─── TOKENS ─────────────────────────────────────────── */
:root {
  --trans: all 0.35s cubic-bezier(0.23, 1, 0.32, 1);
}

[data-theme="dark"] {
  --bg:          #0A0A0A;
  --surface:     #111111;
  --surface2:    #181818;
  --border:      rgba(255,255,255,0.07);
  --border-em:   rgba(255,107,53,0.22);
  --ink:         #FAF7F2;
  --ink-soft:    #C8C0B8;
  --ink-muted:   #666;
  --accent:      #FF6B35;
  --accent-deep: #E8521A;
  --accent-glow: rgba(255,107,53,0.12);
  --card-bg:     #111111;
  --card-shadow: 0 2px 12px rgba(0,0,0,0.4);
  --card-shadow-h:0 20px 56px rgba(0,0,0,0.6), 0 0 0 1px rgba(255,107,53,0.12);
  --nav-bg:      rgba(10,10,10,0.85);
  --tag-bg:      rgba(255,107,53,0.1);
  --tag-color:   #FF6B35;
  --tag-border:  rgba(255,107,53,0.2);
  --prompt-bg:   #161616;
  --prompt-border: rgba(255,255,255,0.1);
  --prompt-focus: rgba(255,107,53,0.4);
  --btn-send-bg: #FF6B35;
  --overlay-grad: linear-gradient(to bottom, transparent 30%, rgba(0,0,0,0.92) 100%);
  --marquee-bg:  #0A0A0A;
  --marquee-text:rgba(250,247,242,0.45);
  --marquee-strong:#FAF7F2;
  --modal-bg:    #111;
  --input-bg:    rgba(255,255,255,0.04);
  --input-border:rgba(255,255,255,0.1);
  --cta-bg:      linear-gradient(135deg, rgba(255,107,53,0.1), rgba(255,107,53,0.04));
  --cta-border:  rgba(255,107,53,0.2);
  --cta-text:    #FAF7F2;
  --toggle-bg:   rgba(255,255,255,0.08);
  --toggle-icon: '☀️';
  --toggle-label:'Day';
}

[data-theme="light"] {
  --bg:          #FAF7F2;
  --surface:     #FFFFFF;
  --surface2:    #F5F0E8;
  --border:      rgba(26,22,18,0.08);
  --border-em:   rgba(212,82,26,0.18);
  --ink:         #1A1612;
  --ink-soft:    #3D3730;
  --ink-muted:   #9B9086;
  --accent:      #D4521A;
  --accent-deep: #B84416;
  --accent-glow: rgba(212,82,26,0.08);
  --card-bg:     #FFFFFF;
  --card-shadow: 0 2px 12px rgba(26,22,18,0.06), 0 1px 3px rgba(26,22,18,0.04);
  --card-shadow-h:0 16px 48px rgba(26,22,18,0.12), 0 4px 12px rgba(26,22,18,0.06);
  --nav-bg:      rgba(250,247,242,0.88);
  --tag-bg:      rgba(212,82,26,0.08);
  --tag-color:   #D4521A;
  --tag-border:  rgba(212,82,26,0.18);
  --prompt-bg:   #FFFFFF;
  --prompt-border:rgba(26,22,18,0.12);
  --prompt-focus: rgba(212,82,26,0.35);
  --btn-send-bg: #1A1612;
  --overlay-grad: linear-gradient(to bottom, transparent 30%, rgba(250,247,242,0.95) 100%);
  --marquee-bg:  #1A1612;
  --marquee-text:rgba(250,247,242,0.45);
  --marquee-strong:#FAF7F2;
  --modal-bg:    #FAF7F2;
  --input-bg:    #FFFFFF;
  --input-border:rgba(26,22,18,0.1);
  --cta-bg:      linear-gradient(135deg, #1A1612, #2a2017);
  --cta-border:  transparent;
  --cta-text:    #FAF7F2;
  --toggle-bg:   rgba(26,22,18,0.06);
  --toggle-icon: '🌙';
  --toggle-label:'Night';
}

/* ─── RESET ──────────────────────────────────────────── */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }

body {
  background: var(--bg);
  color: var(--ink);
  font-family: 'Plus Jakarta Sans', sans-serif;
  min-height: 100vh;
  overflow-x: hidden;
  transition: background 0.35s ease, color 0.35s ease;
}

/* NOISE */
body::after {
  content:''; position:fixed; inset:0;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.025'/%3E%3C/svg%3E");
  pointer-events:none; z-index:1000; opacity:0.5;
}

/* ORB */
.bg-orb {
  position:fixed; border-radius:50%; filter:blur(120px);
  pointer-events:none; z-index:0;
  transition: opacity 0.6s ease;
}
.orb1 { width:600px;height:600px; background:radial-gradient(circle,rgba(255,107,53,0.08) 0%,transparent 70%); top:-200px;right:-100px; animation:orb1 14s ease-in-out infinite; }
.orb2 { width:400px;height:400px; background:radial-gradient(circle,rgba(255,107,53,0.05) 0%,transparent 70%); bottom:20%;left:-100px; animation:orb2 18s ease-in-out infinite; }
[data-theme="light"] .bg-orb { opacity:0.4; }
@keyframes orb1 { 0%,100%{transform:translate(0,0)} 50%{transform:translate(-60px,80px)} }
@keyframes orb2 { 0%,100%{transform:translate(0,0)} 50%{transform:translate(80px,-40px)} }

/* ─── NAV ─────────────────────────────────────────────── */
nav {
  position:sticky; top:0; z-index:200;
  display:flex; align-items:center; justify-content:space-between;
  padding:0 44px; height:62px;
  background: var(--nav-bg);
  backdrop-filter:blur(20px);
  border-bottom:1px solid var(--border);
  transition: var(--trans);
}

.nav-logo { display:flex; align-items:center; gap:10px; text-decoration:none; }
.logo-mark {
  width:30px;height:30px;border-radius:7px;
  background:var(--accent);
  display:flex;align-items:center;justify-content:center;
  font-family:'Fraunces',serif; font-size:15px; font-style:italic; font-weight:600;
  color:white; transition:background 0.35s;
}
.logo-text {
  font-family:'Fraunces',serif; font-size:17px; font-weight:600;
  color:var(--ink); letter-spacing:-0.4px; transition:color 0.35s;
}
.logo-text span { color:var(--accent); }

.nav-links { display:flex;align-items:center;gap:28px;list-style:none; }
.nav-links a {
  font-size:13px;font-weight:500;color:var(--ink-muted);
  text-decoration:none;letter-spacing:0.1px;transition:color 0.2s;
}
.nav-links a:hover { color:var(--ink); }

.nav-right { display:flex;align-items:center;gap:10px; }

/* THEME TOGGLE */
.theme-toggle {
  display:flex; align-items:center; gap:7px;
  padding:6px 12px;
  background:var(--toggle-bg);
  border:1px solid var(--border);
  border-radius:100px; cursor:pointer;
  font-family:'DM Mono',monospace; font-size:11px;
  font-weight:500; color:var(--ink-muted);
  transition:var(--trans);
  user-select:none;
}
.theme-toggle:hover { border-color:var(--accent); color:var(--ink); }
.toggle-track {
  width:28px;height:16px;border-radius:8px;
  background:var(--border);
  position:relative;transition:background 0.3s;
  border:1px solid var(--border);
}
.toggle-thumb {
  position:absolute;top:2px;left:2px;
  width:10px;height:10px;border-radius:50%;
  background:var(--accent);
  transition:transform 0.3s cubic-bezier(0.23,1,0.32,1);
}
[data-theme="light"] .toggle-thumb { transform:translateX(12px); }
[data-theme="light"] .toggle-track { background:var(--accent-glow); }

.btn-ghost {
  padding:7px 15px;border:1px solid var(--border);border-radius:100px;
  background:transparent;color:var(--ink);
  font-family:'Plus Jakarta Sans',sans-serif;font-size:13px;font-weight:600;
  cursor:pointer;transition:var(--trans);
}
.btn-ghost:hover { border-color:var(--accent);color:var(--accent);background:var(--accent-glow); }

.btn-primary {
  padding:7px 18px;border:none;border-radius:100px;
  background:var(--accent);color:white;
  font-family:'Plus Jakarta Sans',sans-serif;font-size:13px;font-weight:700;
  cursor:pointer;transition:var(--trans);
}
.btn-primary:hover { background:var(--accent-deep);transform:translateY(-1px);box-shadow:0 4px 16px rgba(212,82,26,0.3); }

/* ─── HERO ────────────────────────────────────────────── */
.hero {
  position:relative;z-index:1;
  padding:72px 44px 52px;
  max-width:1200px;margin:0 auto;
  text-align:center;
}

.hero-eyebrow {
  display:inline-flex;align-items:center;gap:8px;
  padding:5px 13px;border:1px solid var(--border-em);
  border-radius:100px;font-size:10px;font-weight:700;
  color:var(--accent);letter-spacing:1.8px;text-transform:uppercase;
  margin-bottom:28px;background:var(--accent-glow);
  transition:var(--trans);
}
.hero-eyebrow::before {
  content:'';width:5px;height:5px;background:var(--accent);
  border-radius:50%;animation:pulse 2s infinite;
}
@keyframes pulse { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:0.4;transform:scale(0.6)} }

.hero h1 {
  font-family:'Fraunces',serif;
  font-size:clamp(44px,6.5vw,82px);
  font-weight:600;line-height:1.02;letter-spacing:-2.5px;
  color:var(--ink);margin-bottom:20px;
  transition:color 0.35s;
}
.hero h1 em { font-style:italic;color:var(--accent); }

.hero-sub {
  font-size:16px;color:var(--ink-muted);
  max-width:460px;margin:0 auto 36px;line-height:1.7;
  transition:color 0.35s;
}

.hero-btns { display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;margin-bottom:56px; }
.btn-lg {
  padding:13px 28px;border-radius:100px;
  font-family:'Plus Jakarta Sans',sans-serif;font-size:14px;font-weight:700;
  cursor:pointer;transition:var(--trans);
}
.btn-lg.p {
  background:var(--accent);border:none;color:white;
  box-shadow:0 6px 24px var(--accent-glow);
}
.btn-lg.p:hover { background:var(--accent-deep);transform:translateY(-2px);box-shadow:0 10px 32px rgba(212,82,26,0.35); }
.btn-lg.g {
  background:transparent;border:1.5px solid var(--border);color:var(--ink);
}
.btn-lg.g:hover { border-color:var(--accent);color:var(--accent); }

/* STATS */
.hero-stats {
  display:flex;justify-content:center;gap:0;
  border-top:1px solid var(--border);
  transition:border-color 0.35s;
}
.stat {
  flex:1;max-width:180px;padding:28px 0;text-align:center;
  border-right:1px solid var(--border);transition:border-color 0.35s;
}
.stat:last-child { border-right:none; }
.stat-num {
  font-family:'Fraunces',serif;font-size:30px;font-weight:600;
  color:var(--ink);letter-spacing:-1.5px;transition:color 0.35s;
}
.stat-num span { color:var(--accent); }
.stat-label {
  font-size:10px;color:var(--ink-muted);
  text-transform:uppercase;letter-spacing:1.5px;
  margin-top:4px;font-family:'DM Mono',monospace;
  transition:color 0.35s;
}

/* ─── PROMPT BOX ──────────────────────────────────────── */
.prompt-section {
  position:relative;z-index:1;
  max-width:760px;margin:0 auto;
  padding:0 44px 52px;
}

.prompt-label {
  font-size:11px;font-weight:700;
  text-transform:uppercase;letter-spacing:1.5px;
  color:var(--ink-muted);margin-bottom:10px;
  font-family:'DM Mono',monospace;
  transition:color 0.35s;
}

.prompt-box {
  position:relative;
  background:var(--prompt-bg);
  border:1px solid var(--prompt-border);
  border-radius:18px;
  padding:18px 20px 14px;
  box-shadow:0 2px 20px rgba(0,0,0,0.08), 0 0 0 0 var(--prompt-focus);
  transition:var(--trans);
}
.prompt-box:focus-within {
  border-color:var(--accent);
  box-shadow:0 4px 28px rgba(0,0,0,0.1), 0 0 0 3px var(--prompt-focus);
}

.prompt-textarea {
  width:100%;min-height:80px;max-height:240px;
  background:transparent;border:none;outline:none;resize:none;
  font-family:'Plus Jakarta Sans',sans-serif;font-size:15px;
  color:var(--ink);line-height:1.6;
  transition:color 0.35s;
}
.prompt-textarea::placeholder { color:var(--ink-muted); }

.prompt-footer {
  display:flex;align-items:center;justify-content:space-between;
  margin-top:10px;padding-top:10px;
  border-top:1px solid var(--border);
  transition:border-color 0.35s;
}

.prompt-chips { display:flex;gap:6px;flex-wrap:wrap; }
.chip {
  padding:4px 10px;border-radius:6px;
  font-family:'DM Mono',monospace;font-size:10px;font-weight:500;
  color:var(--tag-color);background:var(--tag-bg);
  border:1px solid var(--tag-border);
  cursor:pointer;transition:var(--trans);
  white-space:nowrap;
}
.chip:hover { background:var(--accent);color:white;border-color:var(--accent); }

.prompt-actions { display:flex;align-items:center;gap:10px; }
.char-count {
  font-family:'DM Mono',monospace;font-size:10px;
  color:var(--ink-muted);transition:color 0.35s;
}

.btn-send {
  height:36px;padding:0 18px;border-radius:100px;
  background:var(--btn-send-bg);border:none;
  display:flex;align-items:center;justify-content:center;gap:7px;
  cursor:pointer;transition:var(--trans);
  flex-shrink:0;
  font-family:'Plus Jakarta Sans',sans-serif;font-size:13px;font-weight:700;
  color:white;letter-spacing:0.1px;
}
.btn-send:hover { transform:translateY(-1px);box-shadow:0 4px 16px rgba(0,0,0,0.25);opacity:0.9; }
.btn-send:disabled { opacity:0.35;cursor:not-allowed;transform:none; }
.btn-send svg { width:14px;height:14px;color:white;flex-shrink:0; }

/* ─── MARQUEE ─────────────────────────────────────────── */
.marquee-strip {
  position:relative;z-index:1;
  overflow:hidden;padding:12px 0;
  background:var(--marquee-bg);
  transition:background 0.35s;
}
.marquee-inner {
  display:flex;gap:48px;animation:marquee 32s linear infinite;
  white-space:nowrap;padding-left:48px;
}
@keyframes marquee { 0%{transform:translateX(0)} 100%{transform:translateX(-50%)} }
.mi {
  font-family:'DM Mono',monospace;font-size:11px;
  color:var(--marquee-text);
  display:flex;align-items:center;gap:8px;
}
.mi strong { color:var(--marquee-strong); }
.msep { color:rgba(255,107,53,0.4); }

/* ─── CONTENT ─────────────────────────────────────────── */
.content { position:relative;z-index:1;max-width:1200px;margin:0 auto;padding:44px 44px 80px; }

.filter-bar { display:flex;align-items:center;justify-content:space-between;margin-bottom:32px;gap:16px;flex-wrap:wrap; }
.filter-tabs { display:flex;gap:2px; }
.ftab {
  padding:7px 14px;border-radius:100px;font-size:13px;font-weight:600;
  cursor:pointer;border:none;font-family:'Plus Jakarta Sans',sans-serif;
  transition:var(--trans);background:transparent;color:var(--ink-muted);
}
.ftab.on { background:var(--surface2);color:var(--ink); }
[data-theme="dark"] .ftab.on { background:rgba(255,255,255,0.07); }
.ftab:hover:not(.on) { color:var(--ink); }

.search-wrap {
  display:flex;align-items:center;gap:10px;padding:9px 16px;
  background:var(--surface);border:1px solid var(--border);
  border-radius:10px;box-shadow:0 1px 4px rgba(0,0,0,0.05);
  min-width:220px;transition:var(--trans);
}
.search-wrap:focus-within { border-color:var(--accent); }
.search-wrap svg { color:var(--ink-muted);flex-shrink:0; }
.search-wrap input {
  background:none;border:none;outline:none;
  font-family:'DM Mono',monospace;font-size:12px;
  color:var(--ink);width:100%;
}
.search-wrap input::placeholder { color:var(--ink-muted); }

.sec-header { display:flex;align-items:baseline;justify-content:space-between;margin-bottom:22px; }
.sec-title {
  font-family:'Fraunces',serif;font-size:22px;font-weight:600;
  letter-spacing:-0.8px;color:var(--ink);transition:color 0.35s;
}
.sec-title em { font-style:italic;color:var(--accent); }
.sec-link { font-size:12px;color:var(--accent);text-decoration:none;font-weight:600;font-family:'DM Mono',monospace; }

/* ─── GRID ────────────────────────────────────────────── */
.grid {
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(310px,1fr));
  gap:18px;
}

.card {
  background:var(--card-bg);border:1px solid var(--border);
  border-radius:16px;overflow:hidden;cursor:pointer;
  transition:var(--trans);box-shadow:var(--card-shadow);
  animation:cardIn 0.5s ease both;
}
.card:nth-child(1){animation-delay:.05s}.card:nth-child(2){animation-delay:.10s}
.card:nth-child(3){animation-delay:.15s}.card:nth-child(4){animation-delay:.20s}
.card:nth-child(5){animation-delay:.25s}.card:nth-child(6){animation-delay:.30s}
.card:nth-child(7){animation-delay:.35s}.card:nth-child(8){animation-delay:.40s}
.card:nth-child(9){animation-delay:.45s}
@keyframes cardIn { from{opacity:0;transform:translateY(16px)} to{opacity:1;transform:translateY(0)} }
.card:hover { transform:translateY(-5px);box-shadow:var(--card-shadow-h);border-color:var(--border-em); }
.card.feat { grid-column:span 2; }
.card-prev { width:100%;aspect-ratio:4/3;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center; }
.card.feat .card-prev { aspect-ratio:16/7; }

/* DARK previews */
[data-theme="dark"] .p1 { background:linear-gradient(145deg,#0f0c29,#302b63,#24243e); }
[data-theme="dark"] .p2 { background:linear-gradient(145deg,#0a0a0a,#1a1a1a); }
[data-theme="dark"] .p3 { background:linear-gradient(145deg,#0d1117,#161b22); }
[data-theme="dark"] .p4 { background:linear-gradient(145deg,#1a0a00,#2d1500); }
[data-theme="dark"] .p5 { background:linear-gradient(145deg,#000814,#001d3d); }
[data-theme="dark"] .p6 { background:linear-gradient(145deg,#0a0a0a,#141414); }
[data-theme="dark"] .p7 { background:linear-gradient(145deg,#09090b,#18181b); }
[data-theme="dark"] .p8 { background:linear-gradient(145deg,#050510,#0d0d2b); }
[data-theme="dark"] .p9 { background:#fafaf5; }

/* LIGHT previews */
[data-theme="light"] .p1 { background:linear-gradient(145deg,#F0EBE3,#E8DDD0); }
[data-theme="light"] .p2 { background:linear-gradient(145deg,#EEF2F7,#E2EAF4); }
[data-theme="light"] .p3 { background:linear-gradient(145deg,#F4F0EC,#EBE5DD); }
[data-theme="light"] .p4 { background:linear-gradient(145deg,#FFF5EE,#FFE8D6); }
[data-theme="light"] .p5 { background:linear-gradient(145deg,#F0F4F0,#E4EDE4); }
[data-theme="light"] .p6 { background:linear-gradient(145deg,#F5F0FF,#EDE5FF); }
[data-theme="light"] .p7 { background:linear-gradient(145deg,#FFF9F0,#FFF0D6); }
[data-theme="light"] .p8 { background:linear-gradient(145deg,#F0F7FF,#E0EEFF); }
[data-theme="light"] .p9 { background:linear-gradient(145deg,#FAF7F2,#F2ECE3); }

.badge {
  position:absolute;padding:5px 10px;
  border-radius:6px;font-family:'DM Mono',monospace;font-size:10px;
  backdrop-filter:blur(10px);box-shadow:0 2px 8px rgba(0,0,0,0.1);
}
[data-theme="dark"] .badge {
  background:rgba(0,0,0,0.65);border:1px solid rgba(255,255,255,0.1);
}
[data-theme="light"] .badge {
  background:rgba(255,255,255,0.85);border:1px solid rgba(26,22,18,0.08);
}
.badge.tl { top:12px;left:12px;color:var(--ink-soft); }
.badge.tr { top:12px;right:12px;color:var(--accent);max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }

.overlay {
  position:absolute;inset:0;
  background:var(--overlay-grad);
  opacity:0;transition:opacity 0.3s;
  display:flex;align-items:flex-end;padding:18px;
}
.card:hover .overlay { opacity:1; }
.ov-btns { display:flex;gap:8px; }
.ov-btn {
  padding:7px 14px;border-radius:100px;
  font-family:'Plus Jakarta Sans',sans-serif;font-size:12px;font-weight:700;
  cursor:pointer;border:none;transition:var(--trans);
}
.ov-btn.v { background:var(--ink);color:var(--bg); }
.ov-btn.v:hover { background:var(--accent);color:white; }
.ov-btn.l { background:rgba(128,128,128,0.15);color:var(--ink);border:1px solid rgba(128,128,128,0.2); }

.card-info { padding:15px 17px 17px; }
.tags { display:flex;gap:5px;flex-wrap:wrap;margin-bottom:8px; }
.tag {
  padding:3px 8px;border-radius:4px;
  font-family:'DM Mono',monospace;font-size:10px;font-weight:500;
  color:var(--tag-color);background:var(--tag-bg);border:1px solid var(--tag-border);
  transition:var(--trans);
}
.card-title {
  font-family:'Fraunces',serif;font-size:15px;font-weight:600;
  color:var(--ink);margin-bottom:11px;line-height:1.35;
  letter-spacing:-0.3px;transition:color 0.35s;
}
.card-meta { display:flex;align-items:center;justify-content:space-between; }
.author { display:flex;align-items:center;gap:8px; }
.av {
  width:24px;height:24px;border-radius:50%;
  font-size:10px;font-weight:700;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
}
.author-name { font-size:12px;color:var(--ink-muted);font-weight:500;transition:color 0.35s; }
.cstats { display:flex;gap:12px; }
.cstat {
  display:flex;align-items:center;gap:4px;
  font-size:12px;color:var(--ink-muted);
  font-family:'DM Mono',monospace;transition:color 0.35s;
}
.cstat svg { width:12px;height:12px; }

/* MINI UI ELEMENTS */
.mcard {
  background:white;border-radius:10px;
  border:1px solid rgba(26,22,18,0.08);
  box-shadow:0 2px 12px rgba(26,22,18,0.08);
}
[data-theme="dark"] .mcard {
  background:rgba(255,255,255,0.04);
  border:1px solid rgba(255,255,255,0.08);
  box-shadow:none;
}

/* ─── CTA ─────────────────────────────────────────────── */
.cta {
  margin-top:52px;padding:44px 52px;border-radius:20px;
  background:var(--cta-bg);border:1px solid var(--cta-border);
  display:flex;align-items:center;justify-content:space-between;
  gap:28px;flex-wrap:wrap;position:relative;overflow:hidden;
  transition:var(--trans);
}
.cta::before {
  content:'';position:absolute;top:-80px;right:-80px;
  width:320px;height:320px;
  background:radial-gradient(circle,rgba(212,82,26,0.15) 0%,transparent 70%);
  pointer-events:none;
}
.cta-text h2 {
  font-family:'Fraunces',serif;font-size:28px;font-weight:600;
  letter-spacing:-1px;margin-bottom:8px;color:var(--cta-text);
}
.cta-text h2 em { font-style:italic;color:#E8693A; }
.cta-text p { font-size:13px;color:rgba(250,247,242,0.55);font-weight:400;line-height:1.6;max-width:420px; }
[data-theme="dark"] .cta-text h2 { color:#FAF7F2; }
[data-theme="dark"] .cta-text p { color:rgba(250,247,242,0.45); }
.btn-cta {
  padding:13px 30px;border-radius:100px;
  background:#FF6B35;border:none;color:white;
  font-family:'Plus Jakarta Sans',sans-serif;font-size:14px;font-weight:700;
  cursor:pointer;transition:var(--trans);white-space:nowrap;
  box-shadow:0 4px 20px rgba(255,107,53,0.35);
}
.btn-cta:hover { transform:translateY(-2px);box-shadow:0 8px 28px rgba(255,107,53,0.45); }

/* ─── FOOTER ──────────────────────────────────────────── */
footer {
  position:relative;z-index:1;max-width:1200px;margin:0 auto;
  padding:28px 44px;border-top:1px solid var(--border);
  display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;
  transition:border-color 0.35s;
}
footer p { font-size:12px;color:var(--ink-muted);font-family:'DM Mono',monospace;transition:color 0.35s; }
footer p strong { color:var(--accent); }
.foot-links { display:flex;gap:22px; }
.foot-links a { font-size:12px;color:var(--ink-muted);text-decoration:none;font-family:'DM Mono',monospace;transition:color 0.2s; }
.foot-links a:hover { color:var(--ink); }

/* ─── MODAL ───────────────────────────────────────────── */
.modal-bg {
  position:fixed;inset:0;
  background:rgba(10,10,10,0.6);backdrop-filter:blur(16px);
  z-index:500;display:flex;align-items:center;justify-content:center;
  opacity:0;pointer-events:none;transition:opacity 0.3s;
}
.modal-bg.open { opacity:1;pointer-events:all; }
.modal {
  background:var(--modal-bg);border:1px solid var(--border);
  border-radius:20px;width:90%;max-width:540px;
  padding:40px;position:relative;
  box-shadow:0 32px 80px rgba(0,0,0,0.3);
  transform:scale(0.96) translateY(16px);
  transition:all 0.3s cubic-bezier(0.23,1,0.32,1);
}
.modal-bg.open .modal { transform:scale(1) translateY(0); }
.modal h3 {
  font-family:'Fraunces',serif;font-size:22px;font-weight:600;
  letter-spacing:-0.8px;margin-bottom:8px;color:var(--ink);
}
.modal h3 em { font-style:italic;color:var(--accent); }
.modal > p { font-size:13px;color:var(--ink-muted);margin-bottom:24px;line-height:1.6; }
.mf { margin-bottom:14px; }
.mf label {
  display:block;font-size:10px;font-weight:700;
  text-transform:uppercase;letter-spacing:1.2px;
  color:var(--ink-muted);margin-bottom:7px;
  font-family:'DM Mono',monospace;
}
.mf input, .mf textarea {
  width:100%;padding:10px 14px;
  background:var(--input-bg);border:1px solid var(--input-border);
  border-radius:10px;color:var(--ink);
  font-family:'DM Mono',monospace;font-size:13px;
  outline:none;transition:border-color 0.2s;resize:vertical;
}
.mf input:focus, .mf textarea:focus { border-color:var(--accent); }
.m-actions { display:flex;gap:10px;justify-content:flex-end;margin-top:22px; }
.m-close {
  position:absolute;top:18px;right:18px;
  width:30px;height:30px;border-radius:50%;
  background:rgba(128,128,128,0.1);border:none;cursor:pointer;
  color:var(--ink-muted);font-size:16px;
  display:flex;align-items:center;justify-content:center;transition:var(--trans);
}
.m-close:hover { background:rgba(128,128,128,0.2);color:var(--ink); }

/* ─── TOAST ───────────────────────────────────────────── */
.toast {
  position:fixed;bottom:28px;right:28px;
  padding:13px 18px;background:var(--surface2);
  border:1px solid var(--border-em);
  border-radius:12px;font-size:13px;font-weight:600;color:var(--ink);
  display:flex;align-items:center;gap:10px;
  transform:translateY(80px);opacity:0;
  transition:all 0.4s cubic-bezier(0.23,1,0.32,1);z-index:9999;
  box-shadow:0 8px 24px rgba(0,0,0,0.15);
}
.toast.show { transform:translateY(0);opacity:1; }

/* AI RESPONSE AREA */
.ai-response {
  margin-top:12px;padding:14px 18px;
  background:var(--accent-glow);
  border:1px solid var(--border-em);
  border-radius:12px;
  font-size:14px;color:var(--ink);line-height:1.6;
  display:none;animation:fadeUp 0.3s ease;
}
.ai-response.show { display:block; }
@keyframes fadeUp { from{opacity:0;transform:translateY(8px)} to{opacity:1;transform:translateY(0)} }
.ai-response-header {
  display:flex;align-items:center;gap:8px;
  margin-bottom:8px;font-size:11px;font-weight:700;
  text-transform:uppercase;letter-spacing:1.5px;
  color:var(--accent);font-family:'DM Mono',monospace;
}
.ai-dot { width:6px;height:6px;border-radius:50%;background:var(--accent);animation:pulse 1.5s infinite; }

/* RESPONSIVE */
@media(max-width:900px){
  nav { padding:0 20px; }
  .nav-links { display:none; }
  .hero,.prompt-section,.content,footer { padding-left:20px;padding-right:20px; }
  .card.feat { grid-column:span 1; }
  .cta { padding:28px 24px; }
}

/* ─── SHARED KEYFRAMES ───────────────────────────────── */
@keyframes blink { 0%,100%{opacity:1} 50%{opacity:0} }
@keyframes shake { 0%,100%{transform:translateX(0)} 20%,60%{transform:translateX(-6px)} 40%,80%{transform:translateX(6px)} }
