:root {
  --bg: #0e0e10;
  --ink: #ece9e3;
  --dim: #8a857c;
  --accent: #c8a24a;
  --line: #262528;
}
* { box-sizing: border-box; }
html, body { margin: 0; background: var(--bg); color: var(--ink); }
body {
  font: 17px/1.6 Georgia, "Times New Roman", serif;
  -webkit-font-smoothing: antialiased;
  padding: 0 20px;
}
.wrap { max-width: 680px; margin: 0 auto; padding: 64px 0 120px; }
h1 { font-size: 40px; line-height: 1.1; margin: 0 0 12px; letter-spacing: -0.5px; }
.sub { color: var(--dim); font-size: 18px; margin: 0 0 36px; }
label { display: block; color: var(--dim); font-size: 14px; margin: 18px 0 6px; font-family: system-ui, sans-serif; }
input[type=text], input[type=email], input[type=date], textarea {
  width: 100%; padding: 13px 14px; background: #161618; color: var(--ink);
  border: 1px solid var(--line); border-radius: 8px; font: 16px system-ui, sans-serif;
}
textarea { min-height: 84px; line-height: 1.5; resize: vertical; display: block; }
input:focus, textarea:focus { outline: none; border-color: var(--accent); }
button {
  margin-top: 22px; padding: 13px 22px; background: var(--accent); color: #161208;
  border: 0; border-radius: 8px; font: 600 16px system-ui, sans-serif; cursor: pointer;
}
button:disabled { opacity: .5; cursor: default; }
.muted { color: var(--dim); font-size: 14px; font-family: system-ui, sans-serif; }
.casting { color: var(--accent); font-family: system-ui, sans-serif; letter-spacing: 2px; text-transform: uppercase; font-size: 13px; }
.type-label { color: var(--accent); font-size: 15px; font-family: system-ui, sans-serif; letter-spacing: 1px; text-transform: uppercase; margin-bottom: 8px; }
.hook { font-size: 23px; line-height: 1.4; margin: 0 0 8px; }
.fragment { border-top: 1px solid var(--line); padding-top: 20px; margin-top: 28px; }
.fragment h3 { font-family: system-ui, sans-serif; font-size: 13px; text-transform: uppercase; letter-spacing: 1px; color: var(--dim); margin: 0 0 8px; }
.reading p { margin: 0 0 18px; }
.reading { white-space: pre-wrap; }
.questions { border-top: 1px solid var(--line); margin-top: 28px; padding-top: 20px; }
.questions li { margin: 0 0 14px; color: var(--ink); }
.bridge { margin-top: 30px; color: var(--dim); font-style: italic; }
.cta { display: inline-block; margin-top: 18px; text-decoration: none; }
.err { color: #d9655a; font-family: system-ui, sans-serif; font-size: 14px; margin-top: 12px; }
.gate { border-top: 1px solid var(--line); margin-top: 32px; padding-top: 24px; }
.hidden { display: none; }
.cursor::after { content: "▍"; color: var(--accent); animation: blink 1s steps(1) infinite; }
@keyframes blink { 50% { opacity: 0; } }
