/* prim.css — shared design system for prim.sh */

/* ── Reset + Base ────────────────────────────────────────────────────────── */
*{margin:0;padding:0;box-sizing:border-box}
:root{
  --bg:#0a0a0a;--surface:#111;--border:#1a1a1a;--text:#e0e0e0;--muted:#999;--code-bg:#0d0d0d;
  --green:#00ff88;--blue:#6C8EFF;--red:#FF6B6B;--purple:#B388FF;--orange:#FFB74D;
  --cyan:#4DD0E1;--yellow:#FFD54F;--pink:#FF80AB;--gold:#FFC107;--teal:#80CBC4;
  --magenta:#F50057;--lime:#C6FF00;--coral:#FF3D00;--indigo:#3D5AFE;--violet:#D500F9;
  --azure:#00BCD4;--brown:#795548;--emerald:#00E676;--slate:#607D8B;--white:#fff;
  --wallet:#8BC34A;--mem:#00ACC1;--watch:#78909C;--trace:#AB47BC;
  --browse:#64B5F6;--auth:#FFCA28;--code:#26C6DA;--faucet:#29B6F6;--launch:#FF7043;
  --accent:var(--green);--accent-dim:#00cc6a;--accent-glow:rgba(0,255,136,0.08);
}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--text);font-family:'SF Mono',SFMono-Regular,'Cascadia Code',Consolas,monospace;line-height:1.6;overflow-x:hidden}
a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}

/* ── Hero ────────────────────────────────────────────────────────────────── */
.hero{display:flex;flex-direction:column;padding:0 2rem 2rem;justify-content:flex-start;align-items:center;text-align:center;position:relative}
.hero::before{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:600px;height:600px;background:radial-gradient(circle,var(--accent-glow) 0%,transparent 70%);pointer-events:none}
.logomark{width:calc(100% + 4rem);margin-left:-2rem;height:auto;display:block;margin-bottom:0.5rem;-webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,0) 0%,rgba(0,0,0,1) 15%,rgba(0,0,0,1) 85%,rgba(0,0,0,0) 100%);mask-image:linear-gradient(to bottom,rgba(0,0,0,0) 0%,rgba(0,0,0,1) 15%,rgba(0,0,0,1) 85%,rgba(0,0,0,0) 100%)}
.img-fade{-webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,0) 0%,rgba(0,0,0,1) 15%,rgba(0,0,0,1) 85%,rgba(0,0,0,0) 100%);mask-image:linear-gradient(to bottom,rgba(0,0,0,0) 0%,rgba(0,0,0,1) 15%,rgba(0,0,0,1) 85%,rgba(0,0,0,0) 100%)}
.hero-hd{position:absolute;top:1.75rem;left:0;right:0;display:flex;justify-content:center;pointer-events:none;z-index:1}
.hero-hd .pill{pointer-events:all;display:inline-flex;align-items:center;gap:0;color:#444;text-decoration:none;font-size:0.8rem;letter-spacing:0.04em;border:1px solid #222;border-radius:20px;padding:0.3rem 1rem;transition:border-color 0.15s}
.hero-hd .pill:hover{border-color:var(--accent)}
.hero-hd .pill .parent{color:#444;transition:color 0.15s}
.hero-hd .pill:hover .parent{color:var(--accent)}
.hero-hd .pill .sep{color:#333;margin:0 0.3em}
.hero-hd .pill .child{color:var(--accent);transition:color 0.15s}
.hero-hd .pill:hover .child{color:#444}
.logo{font-size:3.5rem;font-weight:700;letter-spacing:-0.03em;margin-bottom:0.5rem;margin-top:2.5rem}.logo span{color:var(--accent)}
.tagline{font-size:1.3rem;color:var(--muted);margin-bottom:0.5rem}
.sub{font-size:1rem;color:var(--muted);margin-bottom:3rem;max-width:560px}


/* ── Badges ──────────────────────────────────────────────────────────────── */
.badges{display:flex;gap:1rem;flex-wrap:wrap;justify-content:center;margin-bottom:3rem}
.badge{background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:0.5rem 1rem;font-size:0.85rem;color:var(--muted);box-shadow:0 0 30px color-mix(in srgb,var(--accent) 25%,transparent)}
.badge strong{color:var(--accent)}
.badge.status-testing{background:rgba(0,200,80,0.08);border-color:rgba(0,200,80,0.3);color:#00c850}
.badge.status-live{background:rgba(0,255,100,0.1);border-color:rgba(0,255,100,0.4);color:#00ff64}
.badge.status-built{background:rgba(255,200,0,0.08);border-color:rgba(255,200,0,0.3);color:#ffc800}
.badge.status-building{background:rgba(255,140,0,0.08);border-color:rgba(255,140,0,0.3);color:#ff8c00}
.badge.status-soon{background:var(--surface);border-color:var(--border);color:var(--muted)}


/* ── Layout ──────────────────────────────────────────────────────────────── */
section{max-width:900px;margin:0 auto;padding:4rem 2rem}
h2{font-size:1.8rem;margin-bottom:1.5rem;font-weight:600;text-align:center}h2 span{color:var(--accent)}
h3{font-size:1.1rem;margin-bottom:0.75rem;color:var(--accent)}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem;margin-bottom:2rem}

/* ── Components ──────────────────────────────────────────────────────────── */
.card{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:1.5rem;box-shadow:0 0 30px color-mix(in srgb,var(--accent) 25%,transparent)}
.card p{color:var(--muted);font-size:0.9rem;margin-top:0.5rem}
pre{background:var(--code-bg);border:1px solid var(--border);border-radius:8px;padding:1.5rem;overflow-x:auto;font-size:0.85rem;line-height:1.7;margin:1rem 0;box-shadow:0 0 30px color-mix(in srgb,var(--accent) 25%,transparent)}
.cmd-block{background:var(--code-bg);border:1px solid var(--border);border-radius:8px;padding:1.5rem 2rem;margin-bottom:3rem;text-align:left;max-width:640px;width:100%;position:relative;box-shadow:0 0 30px color-mix(in srgb,var(--accent) 25%,transparent)}
.copy-btn{background:none;border:1px solid var(--border);border-radius:4px;color:var(--muted);font-family:inherit;font-size:0.75rem;padding:0.2rem 0.5rem;cursor:pointer;transition:color 0.15s,border-color 0.15s;white-space:nowrap}
.copy-btn:hover{color:var(--text);border-color:#444}.copy-btn.copied{color:var(--accent);border-color:var(--accent)}
.cmd-block .copy-btn{position:absolute;top:0.75rem;right:0.75rem}
.cmd-block .prompt{color:var(--accent);user-select:none}.cmd-block .comment{color:#444}
.cmd-block code{font-size:0.95rem;line-height:1.8;white-space:pre;display:block;overflow-x:auto}
.manifesto{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:2rem;margin:2rem 0;box-shadow:0 0 30px color-mix(in srgb,var(--accent) 25%,transparent)}
.manifesto p{color:var(--muted);font-size:0.95rem;margin-bottom:1rem}.manifesto p:last-child{margin-bottom:0}
.manifesto strong{color:var(--text)}
.pricing-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:1.5rem 2rem;box-shadow:0 0 30px color-mix(in srgb,var(--accent) 25%,transparent)}
.pricing-table{width:100%;border-collapse:collapse;margin:0.5rem 0}
.pricing-table th{text-align:left;color:var(--accent);padding:0.75rem;border-bottom:1px solid var(--border);font-weight:500}
.pricing-table td{padding:0.75rem;border-bottom:1px solid var(--border);color:var(--muted)}.pricing-table td:first-child{color:var(--text)}
.flow{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin:2rem 0;justify-content:center}
.flow-step{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:1rem 1.25rem;text-align:center;min-width:140px;box-shadow:0 0 30px color-mix(in srgb,var(--accent) 25%,transparent)}
.flow-step .num{color:var(--accent);font-size:1.5rem;font-weight:700}
.flow-step .label{color:var(--muted);font-size:0.85rem;margin-top:0.25rem}
.flow-arrow{color:var(--accent);font-size:1.5rem}

/* ── CTA + Footer ────────────────────────────────────────────────────────── */
.cta-section{text-align:center;padding:4rem 2rem}
.cta-btn{display:inline-block;background:var(--accent);color:#000;padding:0.75rem 2rem;border-radius:6px;font-weight:700;font-size:1rem;font-family:inherit}.cta-btn:hover{background:var(--accent-dim);text-decoration:none}
footer{text-align:center;padding:3rem 2rem;color:var(--muted);font-size:0.85rem;border-top:1px solid var(--border)}
.footer-crumb{font-size:0.9rem;margin-bottom:0.75rem}.footer-crumb a{color:var(--accent)}
footer .links{margin-top:0.5rem;display:flex;flex-wrap:wrap;justify-content:center;gap:0.5rem 1.5rem}
footer .links a{color:var(--muted)}
.copyright{margin-top:1rem;font-size:0.75rem;color:#333}

/* ── Color utilities ─────────────────────────────────────────────────────── */
.g{color:var(--green)}.b{color:var(--blue)}.r{color:var(--red)}.p{color:var(--purple)}.o{color:var(--orange)}.cy{color:var(--cyan)}.y{color:var(--yellow)}.pk{color:var(--pink)}.gl{color:var(--gold)}.t{color:var(--teal)}.m{color:var(--magenta)}.l{color:var(--lime)}.c{color:var(--coral)}.i{color:var(--indigo)}.v{color:var(--violet)}.z{color:var(--azure)}.br{color:var(--brown)}.e{color:var(--emerald)}.s{color:var(--slate)}.w{color:var(--text)}

/* ── Code colorizer classes ──────────────────────────────────────────────── */
.a{color:var(--accent)}.cc{color:#444}.mc{color:var(--muted)}.cm{color:#444}.prompt{color:var(--accent);user-select:none}.flag{color:#555}.str{color:#888}.cont{color:#2d2d2d}

/* ── Multi-color glow (prim.sh branded elements) ────────────────────────── */
@keyframes glow-cycle{
  0%{box-shadow:0 0 30px color-mix(in srgb,var(--green) 25%,transparent)}
  12%{box-shadow:0 0 30px color-mix(in srgb,var(--blue) 25%,transparent)}
  24%{box-shadow:0 0 30px color-mix(in srgb,var(--purple) 25%,transparent)}
  36%{box-shadow:0 0 30px color-mix(in srgb,var(--orange) 25%,transparent)}
  48%{box-shadow:0 0 30px color-mix(in srgb,var(--cyan) 25%,transparent)}
  60%{box-shadow:0 0 30px color-mix(in srgb,var(--pink) 25%,transparent)}
  72%{box-shadow:0 0 30px color-mix(in srgb,var(--gold) 25%,transparent)}
  84%{box-shadow:0 0 30px color-mix(in srgb,var(--coral) 25%,transparent)}
  100%{box-shadow:0 0 30px color-mix(in srgb,var(--green) 25%,transparent)}
}
.glow-multi{animation:glow-cycle 12s ease-in-out infinite}

/* ── Responsive ──────────────────────────────────────────────────────────── */
@media(max-width:600px){.logo{font-size:2.5rem}.flow{flex-direction:column}.flow-arrow{transform:rotate(90deg)}pre{font-size:0.75rem}.principles{grid-template-columns:1fr}}
