@font-face{font-family:"Public Sans";font-weight:100 900;font-display:swap;src:url(/fonts/public-sans-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Public Sans";font-weight:100 900;font-display:swap;src:url(/fonts/public-sans-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+20A0-20AB,U+20AD-20C4,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"IBM Plex Mono";font-weight:400;font-display:swap;src:url(/fonts/plex-mono-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+2000-206F,U+20AC}

:root{
  /* Y (dev-y.com) */
  --bg:#231f20; --fg:#eeeded; --muted:#d7d6d7; --faint:rgba(238,237,237,.55); --line:rgba(238,237,237,.14);
  --card:#231f20; --field:#322f32; --field-line:rgba(238,237,237,.14);
  --accent:#f0644b; --warn:#ff7a66; --grad:linear-gradient(90deg,#5b5fe8 0%,#b48ad8 50%,#f0644b 100%);
  --sans:"Public Sans",system-ui,-apple-system,"Segoe UI",sans-serif; --mono:"IBM Plex Mono",ui-monospace,monospace;
}
*{box-sizing:border-box;margin:0}
html{background:var(--bg)}
body{min-height:100vh;background:var(--bg);color:var(--fg);font-family:var(--sans);line-height:1.5;-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:0 0 auto;height:2px;background:var(--grad);z-index:10}
main{max-width:632px;margin:0 auto;padding:96px 16px 80px}
.logo{display:block;width:72px;height:72px;margin:0 auto 44px;color:var(--fg)}
h1{font-size:clamp(48px,9vw,88px);line-height:1;font-weight:700;letter-spacing:-.035em;text-align:center;margin:0 -120px 28px}
.lede{font-size:18px;line-height:1.67;color:var(--muted);text-align:center;margin:0 auto 56px}

.card{border:1px solid var(--line);border-radius:24px;background:var(--card);padding:40px}
.prize{position:relative;display:grid;grid-template-columns:minmax(0,46%) 1fr;gap:24px;align-items:center;border:1px solid var(--line);border-radius:24px;padding:24px;margin-bottom:20px}
.prize img{width:100%;height:auto;aspect-ratio:445/232;object-fit:cover;border-radius:14px;display:block}
.kicker{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--faint);margin-bottom:6px}
.sub{font-size:14px;color:var(--muted);margin-bottom:10px}
.prize h2{font-size:clamp(20px,3vw,24px);line-height:1.22;font-weight:700;letter-spacing:-.01em}
.badge{position:absolute;top:-14px;right:20px;transform:rotate(4deg);background:var(--accent);color:#fff;font-family:var(--mono);font-size:13px;line-height:1.2;text-align:center;padding:8px 14px;border-radius:8px;box-shadow:0 6px 18px rgba(0,0,0,.35)}
.badge span{display:block;font-size:10px;letter-spacing:.12em;text-transform:uppercase}
.cond{font-size:14px;line-height:1.6;color:var(--faint);margin:0 4px 28px}

.signup{border:1px solid var(--line);border-radius:24px;padding:40px;margin:0 0 28px}
.consent{display:flex;gap:12px;align-items:flex-start;font-size:14px;line-height:1.55;color:var(--muted);margin-bottom:14px;cursor:pointer}
.consent input{flex:none;width:20px;height:20px;margin-top:2px;accent-color:var(--fg);cursor:pointer}
.consent b{color:var(--fg)}
.consent i{color:var(--faint);font-style:normal}
#email{display:block;width:100%;height:44px;padding:0 14px;margin-bottom:18px;border:0;border-radius:8px;background:var(--field);color:var(--fg);font-family:var(--mono);font-size:13px;text-align:center}
#email::placeholder{color:var(--faint)}
#email:focus{outline:none;box-shadow:0 0 0 1px rgba(238,237,237,.4)}
#email[aria-invalid=true]{box-shadow:0 0 0 1px var(--warn)}
.err{color:var(--warn);font-size:13px;margin:-8px 0 14px}
button{font:inherit;cursor:pointer}
#send{display:block;width:100%;height:44px;margin:22px 0 12px;border:0;border-radius:8px;background:var(--fg);color:var(--bg);font-family:var(--mono);font-size:13px;letter-spacing:.14em;text-transform:uppercase}
#send:hover{background:#fff}
#send[disabled]{opacity:.6;cursor:progress}
.note{font-size:13px;color:var(--muted);text-align:center}
.note b{color:var(--fg)}
.privacy-note{font-size:12px;line-height:1.55;color:var(--faint);margin-top:14px}
.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

.terms{padding:4px 4px 0;font-size:13px;line-height:1.6;color:var(--faint)}
.terms h3{font-family:var(--mono);font-size:11px;font-weight:400;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}
.terms p{margin-bottom:10px}
a,.link{color:var(--fg);text-decoration:underline;text-decoration-color:rgba(238,237,237,.4);text-underline-offset:3px}
a:hover,.link:hover{text-decoration-color:var(--fg)}
.link{background:none;border:0;padding:0;font-size:inherit}

dialog{border:1px solid var(--line);border-radius:24px;padding:36px 32px 28px;max-width:min(560px,calc(100vw - 32px));width:100%;background:var(--bg);color:var(--fg);box-shadow:0 30px 80px rgba(0,0,0,.6)}
dialog::backdrop{background:rgba(20,18,19,.7)}
dialog h2{font-size:22px;font-weight:700;margin:0 72px 12px 0}
dialog p{color:var(--muted);margin-bottom:10px}
.warn{color:var(--warn)}
.close{position:absolute;top:18px;right:18px;background:#403c40;border:0;border-radius:999px;padding:5px 12px;color:var(--fg);font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase}
.share-ok,.resent{color:var(--fg);font-size:14px}
mark{background:#5b5fe8;color:#fff;padding:0 4px;border-radius:3px}

@media (max-width:760px){ h1{margin:0 0 28px} }
@media (max-width:640px){
  main{padding:72px 16px 56px}
  .logo{width:56px;height:56px;margin-bottom:32px}
  h1{font-size:52px}
  .lede{font-size:17px;margin-bottom:40px}
  .prize{grid-template-columns:1fr;gap:16px;padding:16px}
  .badge{top:-12px;right:14px}
  .signup{padding:28px 20px}
}

/* legal pages */
.legal{max-width:720px}
.legal .logo.small{width:48px;height:48px;margin:0 0 32px}
.legal h1{font-size:clamp(30px,5vw,44px);text-align:left;margin:0 0 8px;letter-spacing:-.02em}
.legal h2{font-size:18px;font-weight:800;margin:28px 0 8px}
.legal p,.legal li{color:var(--muted);font-size:16px;margin-bottom:10px}
.legal ul{padding-left:22px;margin-bottom:10px}
.legal .meta{color:var(--faint);font-size:14px;margin-bottom:20px}

/* document modal (privacy policy etc.) */
dialog.doc{max-width:min(760px,calc(100vw - 32px));max-height:calc(100vh - 48px);overflow:auto;padding:40px 36px 32px}
dialog.doc .legal{max-width:none}
dialog.doc h1{font-size:clamp(26px,4vw,36px);text-align:left;margin:0 80px 8px 0;letter-spacing:-.02em}
@media (max-width:640px){ dialog.doc{padding:32px 20px 24px} }
dialog{margin:auto;inset:0;position:fixed}

/* email field white, SEND button in the Y gradient (2026-10-14) */
#email{background:#ffffff;color:#231f20}
#email::placeholder{color:#7a7476}
#email:focus{box-shadow:0 0 0 2px #b48ad8}
#send{background:var(--grad);color:#ffffff;font-weight:600;text-shadow:0 1px 1px rgba(0,0,0,.15)}
#send:hover{background:var(--grad);filter:brightness(1.08)}

/* wider container (2026-10-14) */
main{max-width:780px}
.lede{max-width:720px}
@media (max-width:900px){ h1{margin:0 0 28px} }

/* 2026-10-15: consent is a statement (no checkbox); share box under the terms */
p.consent{display:block;cursor:default}
.share-box{margin:28px 4px 0;font-size:14px;line-height:1.6;color:var(--muted)}
.share-box p{margin-bottom:8px}
.confirmed .link{font-size:inherit}
.confirmed .lede{margin-bottom:18px}
.share-box{margin:0 4px 28px}
