/* LemonTheory — waitlist page.
   Minimal, editorial, YC-launch elegant: one narrow column, generous whitespace,
   restrained type, a single yellow accent used sparingly. Theme tokens are scoped
   by [data-theme] on <html>. */

*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{
  font-family:'Geist',system-ui,-apple-system,sans-serif;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  background:var(--bg);
  color:var(--ink);
}
::selection{background:#FFE000;color:#17150F;}

/* ---- theme tokens ---- */
[data-theme="light"]{
  --bg:#FBFAF6;--ink:#17150F;--muted:#6E6A5E;--faint:#9A9588;
  --line:#EAE6D9;--field-bg:#FFFFFF;--field-line:#DED9CC;
  --accent:#FFE000;--btn-fg:#17150F;
}
[data-theme="dark"]{
  --bg:#100E08;--ink:#F6F3EA;--muted:#9A968B;--faint:#73705F;
  --line:#26241A;--field-bg:#1A180F;--field-line:#322F22;
  --accent:#FFE000;--btn-fg:#17150F;
}

a{color:inherit;text-decoration:none;transition:opacity .15s ease;}
a:hover{opacity:.7;}
button{font-family:inherit;cursor:pointer;transition:filter .15s ease,opacity .15s ease;}

/* ---- layout ---- */
.wrap{max-width:600px;margin:0 auto;padding:0 28px;}

.top{display:flex;align-items:center;justify-content:space-between;padding:30px 0 0;}
.brand{display:flex;align-items:center;gap:9px;font-weight:600;font-size:16px;letter-spacing:-0.01em;}
.brand .dot{width:11px;height:11px;border-radius:3px;background:var(--accent);}
.theme{display:flex;gap:2px;}
.theme button{border:none;background:transparent;color:var(--faint);font-size:14px;line-height:1;padding:6px 7px;border-radius:7px;}
.theme button:hover{color:var(--ink);}

.hero{padding:104px 0 0;}
.eyebrow{font-family:'Geist Mono',monospace;font-size:11px;letter-spacing:1.6px;color:var(--faint);text-transform:uppercase;margin:0 0 26px;}
h1{font-size:clamp(38px,6vw,56px);line-height:1.04;letter-spacing:-0.035em;font-weight:600;margin:0 0 22px;}
.sub{font-size:18px;line-height:1.55;color:var(--muted);margin:0 0 40px;max-width:460px;}

/* ---- form ---- */
form{display:flex;flex-direction:column;gap:10px;max-width:420px;}
.field{
  width:100%;padding:14px 15px;border:1px solid var(--field-line);border-radius:10px;
  background:var(--field-bg);font-family:inherit;font-size:15px;color:var(--ink);outline:none;
  transition:border-color .15s ease;
}
.field::placeholder{color:var(--faint);}
.field:focus{border-color:var(--ink);}
.btn{
  width:100%;padding:14px 20px;background:var(--accent);color:var(--btn-fg);
  border:1px solid var(--accent);border-radius:10px;font-weight:600;font-size:15px;
}
.btn:hover{filter:brightness(.95);}
.note{font-family:'Geist Mono',monospace;font-size:11px;letter-spacing:.4px;color:var(--faint);margin:14px 0 0;max-width:420px;}
.error{font-family:'Geist Mono',monospace;font-size:12px;letter-spacing:.3px;color:#C9542F;margin:12px 0 0;display:none;}

/* ---- done state ---- */
.done{display:none;max-width:420px;}
.done-row{display:flex;align-items:center;gap:11px;font-size:15px;color:var(--ink);margin:0 0 24px;}
.done-row .check{flex:none;width:22px;height:22px;border-radius:6px;background:var(--accent);color:#17150F;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;}
.share{font-family:'Geist Mono',monospace;font-size:11px;letter-spacing:.6px;color:var(--muted);}
.share .row{display:flex;gap:8px;margin-top:12px;}
.share .link{flex:1;padding:11px 13px;border:1px solid var(--field-line);border-radius:9px;background:var(--field-bg);color:var(--muted);font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.share .copy{padding:11px 16px;background:transparent;color:var(--ink);border:1px solid var(--field-line);border-radius:9px;font-family:'Geist Mono',monospace;font-size:12px;letter-spacing:.5px;}
.share .copy:hover{border-color:var(--ink);}

/* ---- taste (quiet, text-only) ---- */
.section{padding:96px 0 0;}
.kicker{font-family:'Geist Mono',monospace;font-size:11px;letter-spacing:1.6px;color:var(--faint);text-transform:uppercase;margin:0 0 22px;}
.patterns{border-top:1px solid var(--line);}
.pattern{display:flex;align-items:baseline;gap:14px;padding:18px 0;border-bottom:1px solid var(--line);}
.pattern .mark{flex:none;width:6px;height:6px;border-radius:50%;background:var(--accent);transform:translateY(-2px);}
.pattern .name{font-size:16px;font-weight:500;letter-spacing:-0.01em;}
.pattern .desc{font-size:13.5px;color:var(--muted);margin-top:3px;}
.coming{font-family:'Geist Mono',monospace;font-size:11.5px;letter-spacing:.4px;color:var(--faint);margin:22px 0 0;}

/* ---- manifesto ---- */
.manifesto{padding:96px 0;}
.manifesto p{font-size:23px;line-height:1.45;letter-spacing:-0.02em;color:var(--ink);margin:0;max-width:500px;}
.manifesto .quiet{color:var(--faint);}

/* ---- footer ---- */
.foot{border-top:1px solid var(--line);padding:26px 0 40px;font-family:'Geist Mono',monospace;font-size:11.5px;letter-spacing:.6px;color:var(--faint);display:flex;gap:8px;flex-wrap:wrap;}
.foot strong{color:var(--muted);font-weight:600;}

@media (max-width:520px){
  .hero{padding:72px 0 0;}
  h1{font-size:40px;}
  .manifesto p{font-size:20px;}
}
