/* Epiphani Alerts design system: modern luxury, light and dark, gold accent. Shared by site, app, share pages. */
:root{
  --bg:#F7F5F0; --surface:#FFFFFF; --surface-2:#F1EEE6; --ink:#16161A; --ink-2:#4A463F; --muted:#6B6458;
  --line:#E4DED2; --gold:#80591F; --gold-2:#B88A3E; --gold-3:#A37835; --control-line:#8A8985; --gold-ink:#5E4318; --accent-bg:#F4EAD7;
  --ok:#1E7A46; --ok-bg:#E3F3E9; --warn:#8A5A00; --warn-bg:#FBF0D9; --err:#9B2C1F; --err-bg:#FBE9E7;
  --hero:#0E0E10; --hero-ink:#F5EFE3; --hero-gold:#E9D9B6;
  --radius:16px; --shadow:0 1px 2px rgba(20,18,12,.05),0 8px 28px rgba(20,18,12,.07);
  --font:-apple-system,BlinkMacSystemFont,"SF Pro Text","Inter",system-ui,"Segoe UI",sans-serif;
  --display:-apple-system,BlinkMacSystemFont,"SF Pro Display","Inter",system-ui,sans-serif;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#0C0C0E; --surface:#16161A; --surface-2:#1E1E23; --ink:#F3EFE7; --ink-2:#CFC8BA; --muted:#A39B8C;
  --line:#2B2A2F; --gold:#D9B26A; --gold-2:#E9C886; --gold-3:#D9B26A; --control-line:#706E6C; --gold-ink:#F1DCAE; --accent-bg:#2A2216;
  --ok:#7FD8A2; --ok-bg:#12291C; --warn:#F2C46B; --warn-bg:#2B2210; --err:#FF9C8C; --err-bg:#2E1512;
  --hero:#050506; --shadow:0 1px 2px rgba(0,0,0,.4),0 10px 30px rgba(0,0,0,.35); color-scheme:dark;
}}
:root[data-theme="dark"]{
  --bg:#0C0C0E; --surface:#16161A; --surface-2:#1E1E23; --ink:#F3EFE7; --ink-2:#CFC8BA; --muted:#A39B8C;
  --line:#2B2A2F; --gold:#D9B26A; --gold-2:#E9C886; --gold-3:#D9B26A; --control-line:#706E6C; --gold-ink:#F1DCAE; --accent-bg:#2A2216;
  --ok:#7FD8A2; --ok-bg:#12291C; --warn:#F2C46B; --warn-bg:#2B2210; --err:#FF9C8C; --err-bg:#2E1512;
  --hero:#050506; --shadow:0 1px 2px rgba(0,0,0,.4),0 10px 30px rgba(0,0,0,.35); color-scheme:dark;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:400 16px/1.55 var(--font);-webkit-font-smoothing:antialiased}
a{color:inherit}
img{max-width:100%}
.wrap{max-width:1120px;margin:0 auto;padding:0 20px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 20px;border-radius:12px;border:1px solid transparent;background:var(--ink);color:var(--bg);font:600 15px var(--font);text-decoration:none;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,background .12s}
.btn:hover{transform:translateY(-1px);box-shadow:var(--shadow)}
.btn:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.btn.gold{background:linear-gradient(135deg,var(--gold-2),var(--gold-3));color:#140F06}
.btn.ghost{background:transparent;color:var(--ink);border-color:var(--control-line)}
.btn.small{min-height:34px;padding:0 12px;font-size:13px;border-radius:9px}
.btn.danger{background:var(--err-bg);color:var(--err);border-color:transparent}
.eyebrow{font:600 12px var(--font);letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.muted{color:var(--muted)}
h1,h2,h3{font-family:var(--display);letter-spacing:-.02em;line-height:1.12;margin:0 0 .4em;text-wrap:balance}
p{text-wrap:pretty}
input::placeholder,textarea::placeholder{color:var(--muted)}
.theme-toggle{position:fixed;right:16px;bottom:16px;z-index:50;width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:var(--surface);color:var(--ink);font-size:20px;cursor:pointer;box-shadow:var(--shadow)}

/* ---------- marketing site ---------- */
.nav{position:sticky;top:0;z-index:20;backdrop-filter:saturate(1.6) blur(14px);-webkit-backdrop-filter:saturate(1.6) blur(14px);background:color-mix(in srgb,var(--bg) 80%,transparent);border-bottom:1px solid var(--line)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;height:60px}
.logo{display:flex;align-items:center;gap:10px;font:700 17px var(--display);text-decoration:none;letter-spacing:-.01em}
.logo svg{width:28px;height:28px}
.nav nav{display:flex;gap:22px;align-items:center}
.nav nav a{text-decoration:none;color:var(--ink-2);font-size:15px}
.nav nav a.btn{color:var(--bg)}
.hero{background:radial-gradient(1200px 500px at 70% -10%,#3A2A12 0%,transparent 60%),var(--hero);color:var(--hero-ink);padding:96px 0 84px;overflow:hidden}
.hero h1{font-size:clamp(40px,6.4vw,76px);font-weight:700;max-width:13ch}
.hero h1 em{font-style:normal;background:linear-gradient(135deg,#F1DCAE,#C99A4C);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero p.lede{font-size:clamp(18px,2.1vw,22px);color:#D8CFBF;max-width:40ch;margin:18px 0 30px}
.hero .grid{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center}
.omnibox{display:flex;gap:8px;background:#17161A;border:1px solid #3A3328;border-radius:16px;padding:8px;max-width:560px}
.omnibox input{text-overflow:ellipsis;flex:1;min-width:0;background:transparent;border:0;color:#F5EFE3;font:16px var(--font);padding:10px 12px}
.omnibox input::placeholder{color:#A39B8C}
.hero .chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.hero .chips button{background:#1D1B1F;color:#E9D9B6;border:1px solid #3A3328;border-radius:999px;padding:7px 12px;font:13px var(--font);cursor:pointer}
.demo-card{background:#141317;border:1px solid #2E2A24;border-radius:22px;padding:22px;box-shadow:0 30px 80px rgba(0,0,0,.45)}
.demo-card .row{display:flex;justify-content:space-between;align-items:center;padding:14px 0;border-bottom:1px solid #26231F}
.demo-card .row:last-child{border:0}
.pill{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;flex:none;font:600 12px var(--font);padding:4px 10px;border-radius:999px;background:var(--accent-bg);color:var(--gold-ink)}
.hero .pill{background:#2A2216;color:#F1DCAE}
.pill.ok{background:var(--ok-bg);color:var(--ok)}
.pill.warn{background:var(--warn-bg);color:var(--warn)}
.pill.err{background:var(--err-bg);color:var(--err)}
section.band{padding:88px 0}
section.band h2{font-size:clamp(30px,4vw,46px);max-width:20ch}
.types{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:36px}
.type{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow)}
.type .ico{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:var(--accent-bg);color:var(--gold);font-size:20px;margin-bottom:14px}
.type h3{font-size:19px}
.type p{margin:0;color:var(--ink-2);font-size:15px}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:32px}
.steps .n{font:700 44px var(--display);color:var(--gold)}
.compare{width:100%;border-collapse:collapse;margin-top:28px;font-size:15px;background:var(--surface);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}
.compare th,.compare td{padding:13px 14px;border-bottom:1px solid var(--line);text-align:left}
.compare th{font:600 13px var(--font);color:var(--muted);text-transform:uppercase;letter-spacing:.06em;background:var(--surface-2)}
.compare td.yes{color:var(--ok);font-weight:600}
.compare tr td:nth-child(2){background:color-mix(in srgb,var(--accent-bg) 55%,transparent);font-weight:600}
.prices{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:32px}
.price{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:24px;display:flex;flex-direction:column;gap:10px}
.price.feature{border:2px solid var(--gold);box-shadow:var(--shadow)}
.price .amt{font:700 38px var(--display)}
.price ul{padding-left:18px;margin:6px 0 12px;color:var(--ink-2);font-size:15px;flex:1}
.faq details{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:16px 20px;margin:10px 0}
.faq summary{font-weight:600;cursor:pointer}
footer.site{padding:44px 0 80px;border-top:1px solid var(--line);color:var(--muted);font-size:14px}
footer.site .wrap{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
.ext-band{background:var(--surface-2)}
.ext-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.browser{background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);overflow:hidden}
.browser .bar{height:36px;background:var(--surface-2);display:flex;align-items:center;gap:6px;padding:0 12px}
.browser .bar i{width:10px;height:10px;border-radius:50%;background:var(--line);display:block}
.popup .btn,.popup .pill{pointer-events:none}
.popup{margin:18px;margin-left:auto;width:300px;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:16px;font-size:14px}

/* ---------- share page ---------- */
body.share .share-card{max-width:720px;padding:40px 20px 80px}
.brand{display:block;margin-bottom:10px;font:700 15px var(--display);text-decoration:none;color:var(--gold)}
.big{font:700 34px var(--display);margin:8px 0}
.big .muted{display:block;font:500 15px var(--font);margin-top:4px}
.spark{width:100%;height:160px;color:var(--gold);background:var(--surface);border:1px solid var(--line);border-radius:14px;margin:12px 0}
.timeline{list-style:none;padding:0}
.timeline li{padding:12px 0;border-bottom:1px solid var(--line)}
.timeline time{display:inline-block;min-width:130px;color:var(--muted);font-size:14px}
.cta-box{margin-top:36px;padding:26px;border-radius:var(--radius);background:var(--accent-bg)}

@media (max-width:900px){
  .hero .grid,.ext-grid{grid-template-columns:1fr}
  .types{grid-template-columns:1fr 1fr}
  .prices{grid-template-columns:1fr 1fr}
}
@media (max-width:700px){
  .nav nav a:not(.btn){display:none}
  .hero{padding:64px 0 56px}
  .types{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;padding-bottom:8px;margin-right:-20px}
  .type{flex:0 0 78%;scroll-snap-align:start}
  .steps{grid-template-columns:1fr}
  .prices{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;margin-right:-20px}
  .price{flex:0 0 82%;scroll-snap-align:start}
  .compare{display:block;overflow-x:auto;white-space:nowrap}
  section.band{padding:60px 0}
  .omnibox{flex-direction:column}
  .omnibox .btn{width:100%}
  .types,.prices{padding-bottom:36px;margin-bottom:-28px}
}
@media (pointer:coarse),(max-width:760px){
  .btn.small,.hero .chips button{min-height:44px}
  .nav .btn.small{padding:0 16px}
}
