@font-face {
  font-family:Vesper Prose;
  src:url('/fonts/EBGaramond.ttf') format('truetype');
  font-weight:400 800;
  font-display:swap;
}

:root {
  --surface:#fafafa;
  --card:#fff;
  --neutral:#f1f1ef;
  --ink:#141414;
  --muted:#737373;
  --faint:#8b8b88;
  --border:#e3e3e0;
  --accent:#0000bd;
  --paper:#fff;
  --shadow:0 24px 65px -35px #14141435;
  color-scheme:light;
}

@media(prefers-color-scheme:dark) {
  :root:not([data-theme=light]) {
    --surface:#161616;
    --card:#1c1c1c;
    --neutral:#242424;
    --ink:#e8e5df;
    --muted:#a39e98;
    --faint:#8c8780;
    --border:#333330;
    --accent:#8f8fff;
    --paper:#222220;
    --shadow:0 24px 65px -35px #0008;
    color-scheme:dark;
  }
}

:root[data-theme=dark] {
  --surface:#161616;
  --card:#1c1c1c;
  --neutral:#242424;
  --ink:#e8e5df;
  --muted:#a39e98;
  --faint:#8c8780;
  --border:#333330;
  --accent:#8f8fff;
  --paper:#222220;
  --shadow:0 24px 65px -35px #0008;
  color-scheme:dark;
}

* {
  box-sizing:border-box;
}

html {
  scroll-behavior:smooth;
  scroll-padding-top:100px;
  -webkit-text-size-adjust:100%;
}

body {
  margin:0;
  background:var(--surface);
  color:var(--ink);
  font:16px/1.65 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  -webkit-font-smoothing:antialiased;
}

body,button,a,input,textarea,select {
  transition:background-color .25s,color .25s,border-color .25s;
}

button,input,textarea,select {
  font:inherit;
}

button,a {
  -webkit-tap-highlight-color:transparent;
}

button {
  cursor:pointer;
  color:inherit;
}

button:disabled {
  cursor:default;
}

button {
  border:0;
}

a {
  color:inherit;
  text-underline-offset:5px;
}

button:focus-visible,a:focus-visible,select:focus-visible,[tabindex]:focus-visible {
  outline:2px solid var(--accent);
  outline-offset:5px;
}

textarea:focus-visible {
  outline:0;
}

.writing-card:focus-within {
  border-color:var(--accent);
  box-shadow:0 0 0 1px var(--accent);
}

[hidden] {
  display:none!important;
}

button,select {
  touch-action:manipulation;
}

.wrap {
  width:min(1184px,calc(100% - 96px));
  margin-inline:auto;
}

.section {
  padding-block:100px;
}

.eyebrow {
  font-size:11px;
  line-height:1.5;
  font-weight:600;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--muted);
  margin:0 0 18px;
}

h1,h2,h3,h4,p {
  margin-top:0;
}

h1,h2,h3,h4 {
  letter-spacing:-.045em;
  line-height:1.09;
}

h1 {
  font-size:clamp(64px,7.4vw,104px);
  margin-bottom:30px;
  font-weight:650;
}

h2 {
  font-size:clamp(32px,4.1vw,54px);
  font-weight:600;
  margin-bottom:24px;
}

h3 {
  font-size:25px;
  font-weight:600;
}

h4 {
  font-size:24px;
  font-weight:600;
}

.lead {
  font-size:21px;
  line-height:1.65;
  color:var(--muted);
  margin-bottom:30px;
}

.lead-small {
  font-size:21px;
  color:var(--ink)!important;
}

.button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:22px;
  background:var(--ink);
  color:var(--surface);
  border-radius:999px;
  padding:14px 23px;
  text-decoration:none;
  font-size:14px;
  font-weight:550;
  line-height:1.6;
  transition:transform .25s,background .25s;
}

.button:hover {
  transform:translateY(-2px);
}

.quiet-link {
  padding:0;
  background:none;
  border:0;
  color:var(--ink);
  text-decoration:none;
  font-size:13px;
  line-height:1.5;
}

.quiet-link span,.button span {
  display:inline-block;
  transition:transform .2s;
}

.quiet-link:hover span,.button:hover span {
  transform:translate(2px,-2px);
}

.quiet-link:hover {
  text-decoration:underline;
  text-underline-offset:6px;
}

.small-button {
  padding:7px 13px;
  border:1px solid var(--border);
  border-radius:999px;
  font-size:12px;
  background:var(--card);
}

.small-button[aria-pressed=true] {
  background:var(--ink);
  color:var(--surface);
}

.sr-only {
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}

.skip {
  position:absolute;
  top:-100px;
  left:20px;
  padding:12px;
  background:var(--ink);
  color:var(--surface);
  z-index:100;
}

.skip:focus {
  top:20px;
}

.js-only {
  display:none;
}

.js .js-only {
  display:inline-flex;
}

.tiny-dot {
  width:5px;
  height:5px;
  background:var(--accent);
  border-radius:50%;
  display:inline-block;
  flex:none;
}

.little-star {
  color:var(--accent);
  font-size:22px;
  line-height:1;
  vertical-align:middle;
  margin-right:9px;
}

.reading-progress {
  position:fixed;
  inset:0 0 auto;
  height:2px;
  z-index:30;
  pointer-events:none;
}

.reading-progress span {
  display:block;
  background:var(--accent);
  width:100%;
  height:100%;
  transform:scaleX(0);
  transform-origin:left;
}

.top {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:24px;
  height:96px;
  position:relative;
  z-index:10;
}

.mark {
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:25px;
  line-height:1;
  font-weight:650;
  letter-spacing:-.04em;
  text-decoration:none;
}

.ring {
  height:18px;
  width:18px;
  border:2px solid var(--accent);
  border-radius:50%;
}

.top nav {
  display:flex;
  gap:32px;
  margin-left:60px;
}

.top nav a {
  font-size:13px;
  text-decoration:none;
  color:var(--muted);
}

.top nav a:hover {
  color:var(--ink);
}

.mood-button {
  align-items:center;
  gap:8px;
  font-size:12px;
  padding:8px 13px;
  border:1px solid var(--border);
  border-radius:999px;
  background:none;
}

.mood-button span {
  font-size:18px;
}

.hero {
  position:relative;
  display:grid;
  grid-template-columns:1fr 1.07fr;
  gap:6%;
  align-items:center;
  padding-top:75px;
  padding-bottom:110px;
  min-height:790px;
}

.hero-copy .eyebrow {
  display:flex;
  align-items:center;
  gap:3px;
}

.hero-actions {
  display:flex;
  align-items:center;
  gap:20px;
  flex-wrap:wrap;
}

.availability {
  font-size:12px;
  color:var(--muted);
  line-height:1.7;
  margin:26px 0 0;
}

.availability strong {
  color:var(--ink);
  font-weight:500;
}

.ritual {
  position:relative;
  transform:rotate(1deg);
  margin-top:20px;
}

.ritual-welcome {
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin:0 0 24px;
  padding:0 6px;
  gap:0;
}

.ritual-welcome .eyebrow {
  font-size:9px;
  margin-bottom:9px;
}

.ritual-welcome h2 {
  font-size:30px;
  margin-bottom:8px;
  letter-spacing:-.035em;
}

.ritual-welcome p:last-child {
  font-size:13px;
  max-width:230px;
  color:var(--muted);
  line-height:1.5;
  margin:0;
}

.ritual-welcome img {
  width:190px;
  height:auto;
  flex-shrink:0;
  margin-right:-12px;
  margin-top:-30px;
}

.writing-card {
  background:var(--card);
  padding:23px 26px 18px;
  border:1px solid var(--border);
  border-radius:12px;
  box-shadow:var(--shadow);
  transition:border-color .3s,box-shadow .3s;
  transform:rotate(-1deg);
}

.card-kicker {
  display:flex;
  align-items:center;
  justify-content:space-between;
  font-size:9px;
  letter-spacing:.11em;
  font-weight:600;
  color:var(--muted);
}

textarea {
  display:block;
  resize:vertical;
  width:100%;
  min-height:130px;
  max-height:300px;
  background:none;
  color:var(--ink);
  border:0;
  padding:20px 0 12px;
  font:27px/1.35 'Vesper Prose',Georgia,serif;
  caret-color:var(--accent);
}

textarea::placeholder {
  color:var(--faint);
  opacity:.85;
}

.writing-tools {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  font-size:10px;
  color:var(--muted);
}

.writing-tools button {
  font-size:11px;
}

.constellation {
  padding:15px 14px 0;
  text-align:center;
}

.constellation svg {
  width:100%;
  height:90px;
  overflow:visible;
}

.star-trail {
  fill:none;
  stroke:var(--accent);
  stroke-width:1;
  stroke-dasharray:3 5;
  opacity:.27;
}

.past-stars {
  fill:var(--accent);
  opacity:.28;
}

.star-halo {
  fill:var(--accent);
  opacity:0;
  transition:opacity .5s;
}

.tonight-star {
  stroke:var(--accent);
  fill:var(--surface);
  stroke-width:1.4;
  stroke-dasharray:2 3;
  transform-origin:426px 44px;
  transition:fill .6s;
}

.constellation text {
  fill:var(--muted);
  font:9px -apple-system,BlinkMacSystemFont,sans-serif;
}

.constellation p {
  color:var(--muted);
  font-size:12px;
  margin:8px 0;
}

.ritual.is-lit .star-halo {
  opacity:.11;
}

.ritual.is-lit .tonight-star {
  fill:var(--accent);
  stroke-dasharray:none;
  animation:star-arrives .7s cubic-bezier(.16,1,.3,1);
}

.ritual.is-lit .star-trail {
  stroke-dasharray:none;
  opacity:.5;
}

.ritual.is-lit .past-stars {
  opacity:.8;
}

.demo-note {
  font-size:10px;
  color:var(--muted);
  text-align:center;
  margin:18px 0 0;
}

.scroll-invitation {
  position:absolute;
  bottom:27px;
  left:0;
  right:0;
  text-align:center;
  font-size:11px;
  text-decoration:none;
  letter-spacing:.025em;
  color:var(--muted);
}

.scroll-invitation span {
  display:block;
  color:var(--accent);
  font-size:23px;
  margin-bottom:7px;
}

.section-heading {
  display:grid;
  grid-template-columns:1.15fr 1fr;
  gap:10%;
  align-items:end;
  margin-bottom:45px;
}

.section-heading p:not(.eyebrow) {
  color:var(--muted);
  max-width:420px;
  font-size:16px;
}

.section-heading h2 {
  margin-bottom:0;
}

.invitation {
  display:block;
  color:var(--ink)!important;
  font-size:13px!important;
  margin-top:16px;
}

.studio-section {
  border-top:1px solid var(--border);
}

.studio-demo {
  border:1px solid var(--border);
  border-radius:14px;
  background:var(--card);
  box-shadow:var(--shadow);
  overflow:hidden;
  min-height:600px;
}

.studio-chrome {
  display:flex;
  align-items:center;
  justify-content:space-between;
  background:var(--neutral);
  border-bottom:1px solid var(--border);
  height:46px;
  padding:0 20px;
  font-size:11px;
  color:var(--muted);
}

.window-dots {
  display:flex;
  gap:6px;
  width:85px;
}

.window-dots i {
  width:7px;
  height:7px;
  border-radius:50%;
  border:1px solid var(--faint);
  opacity:.5;
}

.preview-label {
  font-size:9px;
}

.studio-layout {
  display:grid;
  grid-template-columns:205px 1fr;
  min-height:560px;
  transition:grid-template-columns .4s;
}

.studio-sidebar {
  padding:30px 15px 20px;
  background:var(--surface);
  border-right:1px solid var(--border);
  position:relative;
  overflow:hidden;
}

.mark.small {
  font-size:19px;
  padding-left:12px;
}

.mark.small .ring {
  width:13px;
  height:13px;
  border-width:1.5px;
}

.book-name {
  font-size:17px;
  font-weight:600;
  margin:19px 0 32px;
  padding:0 12px;
  letter-spacing:-.025em;
  white-space:nowrap;
}

.studio-tabs {
  display:grid;
  gap:6px;
}

.studio-tab {
  display:flex;
  align-items:center;
  gap:12px;
  padding:10px 13px;
  font-size:12px;
  text-align:left;
  background:none;
  border-radius:8px;
  white-space:nowrap;
}

.studio-tab span {
  width:14px;
  font-size:16px;
  color:var(--muted);
}

.studio-tab:hover {
  background:var(--neutral);
}

.studio-tab[aria-selected=true] {
  background:var(--ink);
  color:var(--surface);
}

.studio-tab[aria-selected=true] span {
  color:inherit;
}

.sidebar-bottom {
  position:absolute;
  left:26px;
  bottom:24px;
  display:flex;
  align-items:center;
  gap:7px;
  font-size:9px;
  color:var(--muted);
  white-space:nowrap;
}

.studio-content {
  min-width:0;
}

.studio-panel {
  position:relative;
  min-height:560px;
  animation:panel-in .4s ease both;
  outline-offset:-4px!important;
}

.editor-tools {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:18px 28px;
  color:var(--muted);
  font-size:9px;
  letter-spacing:.08em;
}

.editor-tools>div {
  display:flex;
  gap:9px;
  align-items:center;
}

.editor-tools select {
  background:var(--card);
  color:var(--ink);
  border:1px solid var(--border);
  font-size:11px;
  border-radius:99px;
  padding:6px 10px;
  max-width:150px;
}

.prose {
  font-family:'Vesper Prose',Georgia,serif;
}

.editor-prose {
  max-width:525px;
  margin:12px auto 40px;
  padding:0 28px;
  font-size:21px;
  line-height:1.5;
}

.chapter-label {
  font:9px/1.5 -apple-system,sans-serif;
  letter-spacing:.15em;
  color:var(--muted);
  margin-bottom:20px;
}

.editor-prose h3 {
  font-family:inherit;
  font-size:36px;
  font-weight:500;
  letter-spacing:-.025em;
  margin-bottom:25px;
}

.editor-prose p {
  margin-bottom:17px;
}

.your-opening {
  position:relative;
}

.your-opening::before {
  content:'';
  position:absolute;
  left:-15px;
  top:8px;
  height:19px;
  width:2px;
  background:var(--accent);
}

.inline-discovery {
  font:italic 17px/1.5 'Vesper Prose',Georgia,serif;
  border:0;
  border-bottom:1px dashed var(--accent);
  padding:0 0 2px;
  background:none;
  color:var(--ink);
}

.inline-discovery span {
  color:var(--accent);
}

.panel-foot {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  padding:0 20px 20px;
  color:var(--muted);
  font-size:10px;
}

.studio-demo.focused .studio-layout {
  grid-template-columns:0 1fr;
}

.studio-demo.focused .studio-sidebar {
  padding-inline:0;
  visibility:hidden;
}

.studio-demo.focused .editor-prose {
  max-width:650px;
}

.panel-intro {
  padding:35px 36px 10px;
}

.panel-intro .eyebrow {
  margin-bottom:12px;
  font-size:9px;
}

.panel-intro h3 {
  font-size:31px;
  margin-bottom:12px;
}

.panel-intro p:last-child:not(.eyebrow) {
  font-size:12px;
  color:var(--muted);
}

.plot-cards {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
  margin:18px 32px;
}

.plot-card {
  text-align:left;
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:8px;
  padding:19px 16px;
  min-height:174px;
  transform:rotate(-2deg);
  transition:transform .3s,border-color .3s;
}

.plot-card:nth-child(2) {
  transform:translateY(14px) rotate(2deg);
}

.plot-card:nth-child(3) {
  transform:rotate(-1deg);
}

.plot-card:hover,.plot-card[aria-pressed=true] {
  transform:translateY(-5px) rotate(0);
  border-color:var(--ink);
}

.plot-card[aria-pressed=true]::before {
  content:'';
  display:block;
  width:5px;
  height:5px;
  background:var(--accent);
  border-radius:50%;
  position:absolute;
  right:12px;
  top:12px;
}

.plot-card>span {
  display:block;
  font-size:8px;
  color:var(--muted);
  letter-spacing:.06em;
  margin-bottom:18px;
}

.plot-card strong {
  display:block;
  font-size:17px;
  font-weight:550;
  line-height:1.3;
  letter-spacing:-.025em;
}

.plot-card small {
  display:block;
  font-size:10px;
  color:var(--muted);
  margin-top:17px;
}

.plot-detail {
  display:flex;
  align-items:baseline;
  gap:10px;
  margin:36px 38px 0;
  max-width:445px;
  font-size:13px;
  line-height:1.7;
  color:var(--muted);
  position:relative;
  z-index:1;
}

.panel-character {
  position:absolute;
  bottom:5px;
  right:10px;
  width:150px;
  height:auto;
  opacity:.9;
}

.wiki-choices {
  display:flex;
  gap:12px;
  margin:20px 36px;
  flex-wrap:wrap;
}

.wiki-choice {
  display:flex;
  align-items:center;
  gap:8px;
  padding:5px 9px 5px 5px;
  border-radius:99px;
  background:var(--surface);
  border:1px solid var(--border);
  font-size:10px;
}

.wiki-choice[aria-pressed=true] {
  border-color:var(--ink);
}

.avatar {
  display:inline-grid;
  place-items:center;
  width:28px;
  height:28px;
  background:var(--neutral);
  border-radius:50%;
  font-size:12px;
}

.wiki-entry {
  border-top:1px solid var(--border);
  margin:28px 36px 0;
  padding-top:28px;
  max-width:570px;
}

.wiki-entry .eyebrow {
  font-size:9px;
}

.wiki-entry h4 {
  margin:0 0 15px;
}

.wiki-entry>p:not(.eyebrow) {
  font-size:14px;
  color:var(--muted);
}

.wiki-detail {
  border-left:2px solid var(--accent);
  padding-left:15px;
}

.panel-caption {
  margin:25px 36px;
  font-size:11px;
  color:var(--muted);
}

.notes-layout {
  display:grid;
  grid-template-columns:190px 1fr;
  gap:22px;
  padding:20px 36px 40px;
}

.note-list {
  display:flex;
  flex-direction:column;
  gap:8px;
}

.note-list button {
  display:flex;
  flex-direction:column;
  gap:7px;
  padding:13px;
  text-align:left;
  background:none;
  border:1px solid transparent;
  border-radius:6px;
}

.note-list button[aria-pressed=true] {
  border-color:var(--border);
  background:var(--surface);
}

.note-list strong {
  font-size:11px;
  font-weight:500;
}

.note-list span {
  font-size:9px;
  color:var(--muted);
}

.note-paper {
  border:1px solid var(--border);
  padding:25px 23px;
  transform:rotate(1deg);
  min-height:280px;
}

.note-paper .eyebrow {
  font-size:8px;
}

.note-paper h4 {
  font-size:20px;
}

.note-paper>p:last-of-type {
  font-size:13px;
  color:var(--muted);
}

.note-pencil {
  font-size:27px;
  color:var(--muted);
}

.under-demo {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  margin-top:20px;
}

.under-demo p {
  font-size:11px;
  color:var(--muted);
  margin:0;
}

.moment-section {
  position:relative;
  display:grid;
  grid-template-columns:260px 1fr;
  gap:55px;
  align-items:center;
  padding:50px 60px 115px;
}

.moment-section>img {
  width:100%;
  height:auto;
}

.moment-section>div:not(.margin-note) {
  max-width:540px;
}

.moment-section h2 {
  font-size:36px;
}

.moment-section p:not(.eyebrow) {
  font-size:15px;
  color:var(--muted);
}

.margin-note {
  position:absolute;
  right:0;
  top:30px;
  transform:rotate(9deg);
  font:italic 18px/1.2 'Vesper Prose',Georgia,serif;
  color:var(--muted);
}

.margin-note svg {
  display:block;
  width:85px;
  fill:none;
  stroke:var(--muted);
  stroke-width:1;
}

.book-section {
  border-block:1px solid var(--border);
  background:var(--neutral);
}

.pro-badge {
  display:inline-block;
  border:1px solid var(--border);
  border-radius:99px;
  padding:3px 8px;
  font-size:9px;
  margin-left:9px;
  white-space:nowrap;
  letter-spacing:.04em;
}

.book-controls {
  display:flex;
  justify-content:center;
  align-items:center;
  gap:12px;
  margin:45px 0 10px;
}

.js .book-controls {
  display:flex;
}

.book-controls button {
  background:transparent;
  border:1px solid transparent;
  border-radius:99px;
  padding:9px 17px;
  font-size:12px;
  color:var(--muted);
}

.book-controls button[aria-pressed=true] {
  background:var(--ink);
  color:var(--surface);
}

.book-controls>span {
  color:var(--muted);
}

.book-stage {
  display:grid;
  place-items:center;
  min-height:520px;
  position:relative;
  padding:30px 75px;
}

.draft-sheet {
  width:390px;
  min-height:455px;
  background:var(--card);
  border:1px solid var(--border);
  padding:35px 38px;
  box-shadow:var(--shadow);
  transform:rotate(-3deg);
  animation:draft-in .65s both;
}

.draft-heading {
  font-size:8px;
  display:flex;
  justify-content:space-between;
  color:var(--muted);
  border-bottom:1px solid var(--border);
  padding-bottom:15px;
  margin-bottom:35px;
  letter-spacing:.1em;
}

.draft-sheet h3 {
  font:16px/1.5 monospace;
  letter-spacing:0;
  margin-bottom:22px;
}

.draft-sheet>p {
  font:12px/1.75 monospace;
  margin-bottom:15px;
}

.draft-cursor {
  display:inline-block;
  height:15px;
  width:2px;
  background:var(--accent);
  animation:caret 1.5s step-end infinite;
}

.book-spread {
  display:grid;
  grid-template-columns:1fr 1fr;
  width:min(100%,720px);
  min-height:465px;
  box-shadow:0 25px 45px -25px #14141450;
  transform:rotate(-1deg);
  animation:book-opens .8s cubic-bezier(.2,.8,.2,1) both;
  perspective:1000px;
}

.book-page {
  position:relative;
  min-height:465px;
  background:#fff;
  color:#292722;
  padding:24px 35px 50px;
  font-family:'Vesper Prose',Georgia,serif;
}

.left-page {
  border-radius:2px 0 0 2px;
  box-shadow:inset -14px 0 17px -17px #1118;
  border-right:1px solid #e4e2df;
}

.right-page {
  border-radius:0 2px 2px 0;
  box-shadow:inset 13px 0 17px -17px #1116;
}

.running-head {
  display:block;
  text-align:center;
  font-size:8px;
  letter-spacing:.14em;
}

.chapter-number {
  text-align:center;
  font-size:9px;
  letter-spacing:.18em;
  margin-top:48px;
}

.book-page h3 {
  font-family:inherit;
  text-align:center;
  font-size:29px;
  font-weight:500;
  letter-spacing:-.015em;
  line-height:1.15;
  margin:14px 0 32px;
}

.printed-prose {
  font-size:16px;
  line-height:1.4;
  text-align:justify;
  hyphens:auto;
}

.printed-prose p {
  margin:0;
}

.printed-prose p+p {
  text-indent:1em;
}

.dropcap::first-letter {
  float:left;
  font-size:46px;
  line-height:.78;
  padding:5px 4px 0 0;
}

.right-page .printed-prose {
  padding-top:40px;
}

.scene-break {
  text-align:center;
  font-size:11px;
  margin:21px 0;
}

.folio {
  position:absolute;
  bottom:20px;
  left:0;
  right:0;
  text-align:center;
  font-size:10px;
}

.book-companion {
  position:absolute;
  right:-15px;
  bottom:2px;
  width:185px;
  height:auto;
  transform:rotate(7deg);
  transition:transform .6s;
}

.book-stage[data-format=print] .book-companion {
  transform:rotate(0) translateY(-10px);
}

.book-note {
  max-width:900px;
  margin:25px auto 0;
}

.share-section {
  display:grid;
  grid-template-columns:1fr 1fr;
  align-items:center;
  gap:12%;
  min-height:760px;
}

.share-copy>p:not(.eyebrow) {
  color:var(--muted);
  max-width:425px;
  font-size:15px;
}

.share-copy .button {
  margin-top:15px;
}

.share-copy .demo-note {
  text-align:left;
  font-size:10px!important;
  margin-top:12px;
}

.reader-scene {
  position:relative;
  min-height:520px;
  display:grid;
  place-items:center;
}

.invitation-letter {
  position:relative;
  width:340px;
  height:350px;
  padding:50px 30px;
  background:var(--card);
  border:1px solid var(--border);
  box-shadow:var(--shadow);
  text-align:center;
  transform:rotate(6deg);
  animation:letter-in .5s both;
}

.letter-stamp {
  position:absolute;
  right:20px;
  top:17px;
  border:1px dashed var(--border);
  padding:4px 8px;
  font-size:17px;
  font-weight:600;
}

.invitation-letter>p:first-of-type {
  font-size:10px;
  color:var(--muted);
  margin:12px 0 25px;
}

.invitation-letter h3 {
  font:32px/1.2 'Vesper Prose',Georgia,serif;
  letter-spacing:-.02em;
}

.letter-note {
  font:18px/1.5 'Vesper Prose',Georgia,serif;
  color:var(--muted);
}

.letter-signature {
  font:italic 14px/1.4 'Vesper Prose',Georgia,serif;
}

.envelope-line {
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:46px;
  border-top:1px solid var(--border);
  background:var(--surface);
  clip-path:polygon(0 0,50% 65%,100% 0,100% 100%,0 100%);
}

.share-character {
  position:absolute;
  width:155px;
  height:auto;
  left:-45px;
  bottom:0;
  transform:rotate(-8deg);
  pointer-events:none;
}

.phone-reader {
  width:280px;
  min-height:520px;
  background:var(--card);
  border:1px solid var(--border);
  border-radius:30px;
  box-shadow:var(--shadow);
  padding:32px 27px;
  animation:reader-in .6s cubic-bezier(.2,.8,.2,1) both;
}

.phone-title {
  font-size:11px;
  font-weight:600;
  display:block;
  text-align:center;
  margin-bottom:40px;
}

.phone-chapter {
  display:block;
  font-size:8px;
  letter-spacing:.17em;
  color:var(--muted);
  margin-bottom:15px;
}

.phone-reader h3 {
  font:30px/1.1 'Vesper Prose',Georgia,serif;
  letter-spacing:-.03em;
  margin-bottom:23px;
}

.reader-rule {
  display:block;
  width:23px;
  height:1px;
  background:var(--accent);
  margin-bottom:25px;
}

.phone-reader p {
  font:17px/1.5 'Vesper Prose',Georgia,serif;
  margin-bottom:17px;
}

.reader-continue {
  font-size:10px;
  background:none;
  border-bottom:1px solid var(--border);
  padding:0 0 5px;
}

.js .actual-reader {
  display:flex;
  justify-content:center;
  margin:18px auto 0;
  font-size:11px;
}

.freedom-section {
  display:grid;
  grid-template-columns:1fr 1.1fr;
  gap:13%;
  align-items:center;
  border-top:1px solid var(--border);
}

.freedom-section p:not(.eyebrow) {
  color:var(--muted);
  font-size:15px;
}

.freedom-art {
  min-height:290px;
  display:grid;
  place-items:center;
}

.folder {
  width:275px;
  height:195px;
  position:relative;
  transform:rotate(-7deg);
  transition:transform .5s;
}

.folder-tab {
  position:absolute;
  top:0;
  width:95px;
  height:25px;
  border:1px solid var(--border);
  border-bottom:0;
  background:var(--neutral);
  border-radius:9px 9px 0 0;
}

.folder::before {
  content:'';
  position:absolute;
  inset:20px 0 0;
  background:var(--neutral);
  border:1px solid var(--border);
  border-radius:0 9px 9px 9px;
}

.folder-page {
  position:absolute;
  left:22px;
  right:22px;
  top:-20px;
  height:175px;
  padding:24px;
  background:var(--card);
  border:1px solid var(--border);
  transform:rotate(6deg);
  transition:transform .5s;
}

.folder-page>span:first-child {
  font-size:9px;
  color:var(--muted);
}

.folder-lines {
  font:23px/1.35 'Vesper Prose',Georgia,serif;
  display:block;
  margin-top:12px;
}

.folder-front {
  position:absolute;
  inset:76px -4px -6px;
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:9px;
  display:flex;
  align-items:end;
  justify-content:space-between;
  padding:24px;
  font-size:10px;
  letter-spacing:.13em;
}

.folder-front>span {
  font-size:22px;
  color:var(--accent);
}

.freedom-section:hover .folder-page,.freedom-section:focus-within .folder-page {
  transform:rotate(1deg) translateY(-20px);
}

.download-status {
  font-size:11px!important;
  min-height:18px;
  margin:13px 0 0;
}

.ai-section {
  display:grid;
  grid-template-columns:230px 1fr;
  gap:65px;
  align-items:center;
  padding:15px 75px 100px;
}

.ai-section img {
  width:100%;
  height:auto;
}

.ai-section h2 {
  font-size:36px;
}

.ai-section p:not(.eyebrow) {
  font-size:15px;
  color:var(--muted);
}

.small-note {
  font-size:12px;
}

.plans {
  border-top:1px solid var(--border);
}

.plans h2 {
  font-size:40px;
}

.plan-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  border-top:1px solid var(--border);
  gap:0;
}

.plan {
  padding:40px 40px 10px 0;
}

.plan+.plan {
  padding-left:60px;
  border-left:1px solid var(--border);
}

.plan .eyebrow {
  display:block;
  font-size:9px;
}

.plan h3 {
  font-size:28px;
  margin-bottom:12px;
}

.plan-subtitle {
  font-size:13px;
  color:var(--muted);
  min-height:45px;
}

.plan ul {
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  gap:11px;
  font-size:13px;
}

.plan li {
  display:flex;
  gap:11px;
}

.plan li::before {
  content:'✓';
  color:var(--accent);
}

.closing {
  text-align:center;
  position:relative;
  padding:40px 0 100px;
}

.closing>img {
  width:210px;
  height:auto;
  margin:0 auto 22px;
}

.closing h2 {
  font-size:clamp(42px,6vw,72px);
}

.closing>p:not(.eyebrow) {
  color:var(--muted);
}

.closing .button {
  margin-top:10px;
}

footer {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  border-top:1px solid var(--border);
  padding-top:27px;
  padding-bottom:max(30px,env(safe-area-inset-bottom));
  color:var(--muted);
  font-size:11px;
}

footer .mark {
  color:var(--ink);
  font-size:20px;
}

footer .ring {
  width:14px;
  height:14px;
}

dialog {
  background:var(--surface);
  color:var(--ink);
  border:1px solid var(--border);
  border-radius:16px;
  width:min(1100px,calc(100% - 40px));
  max-height:90vh;
  padding:24px 28px;
  box-shadow:0 30px 100px #0004;
}

dialog::backdrop {
  background:#1119;
  backdrop-filter:blur(8px);
}

.dialog-header {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
}

.dialog-header h2 {
  font-size:24px;
  margin-bottom:16px;
}

.dialog-header .eyebrow {
  margin-bottom:5px;
  font-size:9px;
}

.capture-tabs {
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-bottom:20px;
}

.capture-tabs button {
  background:none;
  border:1px solid var(--border);
  border-radius:99px;
  padding:6px 13px;
  font-size:11px;
}

.capture-tabs button[aria-pressed=true] {
  background:var(--ink);
  color:var(--surface);
}

#capture-image {
  display:block;
  width:100%;
  max-height:62vh;
  object-fit:contain;
  border-radius:8px;
}

.dialog-footer {
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:center;
  font-size:11px;
  color:var(--muted);
  margin-top:17px;
}

.dialog-footer p {
  margin:0;
}

.dialog-footer a {
  white-space:nowrap;
}

.reveal-ready {
  opacity:.12;
  transform:translateY(25px);
  transition:opacity .8s,transform .8s;
}

.reveal-ready.is-visible {
  opacity:1;
  transform:translateY(0);
}

[data-your-words] {
  overflow-wrap:anywhere;
}

.draft-sheet [data-your-words],.printed-prose [data-your-words],.phone-reader [data-your-words] {
  display:-webkit-box;
  -webkit-line-clamp:5;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

.editor-prose [data-your-words] {
  display:-webkit-box;
  -webkit-line-clamp:5;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

@keyframes star-arrives {
  0% {
    transform:scale(.5) rotate(-50deg);
  }
  65% {
    transform:scale(1.2) rotate(8deg);
  }
  100% {
    transform:scale(1) rotate(0);
  }
}

@keyframes panel-in {
  from {
    opacity:.2;
    transform:translateY(7px);
  }
  to {
    opacity:1;
    transform:translateY(0);
  }
}

@keyframes book-opens {
  from {
    opacity:0;
    transform:rotate(2deg) translateY(20px) scale(.92);
  }
  to {
    opacity:1;
    transform:rotate(-1deg) translateY(0) scale(1);
  }
}

@keyframes draft-in {
  from {
    opacity:.2;
    transform:rotate(-6deg) translateY(15px);
  }
  to {
    opacity:1;
    transform:rotate(-3deg) translateY(0);
  }
}

@keyframes reader-in {
  from {
    opacity:0;
    transform:translateY(20px) rotate(3deg);
  }
  to {
    opacity:1;
    transform:translateY(0) rotate(0);
  }
}

@keyframes letter-in {
  from {
    opacity:0;
    transform:rotate(1deg);
  }
  to {
    opacity:1;
    transform:rotate(6deg);
  }
}

@keyframes caret {
  50% {
    opacity:0;
  }
}

@media(min-width:1500px) {
  .hero {
    padding-top:100px;
    padding-bottom:150px;
    min-height:870px;
  }
}

@media(max-width:1050px) {
  .wrap {
    width:calc(100% - 64px);
  }
  .top nav {
    margin-left:0;
    gap:20px;
  }
  .hero {
    gap:5%;
    padding-top:50px;
    min-height:730px;
  }
  .ritual-welcome img {
    width:145px;
  }
  .ritual-welcome h2 {
    font-size:25px;
  }
  .ritual-welcome p:last-child {
    font-size:12px;
  }
  .hero-actions {
    gap:17px;
  }
  .hero-actions .quiet-link {
    font-size:12px;
  }
  .studio-layout {
    grid-template-columns:180px 1fr;
  }
  .studio-sidebar {
    padding-inline:10px;
  }
  .sidebar-bottom {
    left:20px;
    font-size:8px;
  }
  .plot-cards {
    margin-inline:23px;
    gap:8px;
  }
  .plot-card {
    padding:16px 12px;
  }
  .plot-card strong {
    font-size:15px;
  }
  .notes-layout {
    grid-template-columns:145px 1fr;
    padding-inline:25px;
    gap:15px;
  }
  .book-stage {
    padding-inline:20px;
  }
  .book-companion {
    width:135px;
    right:-16px;
    bottom:-10px;
  }
  .share-section {
    gap:7%;
  }
  .moment-section {
    padding-inline:20px;
    gap:35px;
    grid-template-columns:200px 1fr;
  }
  .margin-note {
    display:none;
  }
  .ai-section {
    padding-inline:20px;
    grid-template-columns:200px 1fr;
    gap:40px;
  }
}

@media(max-width:760px) {
  html {
    scroll-padding-top:30px;
  }
  .wrap {
    width:calc(100% - 40px);
  }
  .top {
    height:78px;
    gap:15px;
  }
  .top .mark {
    font-size:24px;
  }
  .top nav {
    display:none;
  }
  .mood-button {
    font-size:11px;
    padding:6px 11px;
  }
  .section {
    padding-block:65px;
  }
  .hero {
    grid-template-columns:1fr;
    gap:52px;
    padding-top:40px;
    padding-bottom:100px;
    min-height:auto;
  }
  .hero-copy {
    max-width:520px;
  }
  .hero-copy .eyebrow {
    font-size:9px;
    letter-spacing:.1em;
  }
  h1 {
    font-size:clamp(60px,12vw,88px);
    margin-bottom:24px;
  }
  .lead {
    font-size:19px;
    line-height:1.65;
  }
  .hero-actions {
    gap:19px;
  }
  .button {
    font-size:12px;
    padding:13px 18px;
    gap:16px;
  }
  .hero-actions .quiet-link {
    font-size:12px;
  }
  .availability {
    margin-top:23px;
  }
  .ritual {
    transform:none;
    margin:0 5px;
  }
  .ritual-welcome {
    padding:0 8px;
    margin-bottom:18px;
  }
  .ritual-welcome img {
    width:150px;
  }
  .ritual-welcome h2 {
    font-size:26px;
  }
  .ritual-welcome .eyebrow {
    font-size:8px;
  }
  .ritual-welcome p:last-child {
    font-size:12px;
    max-width:170px;
  }
  .writing-card {
    padding:20px 20px 16px;
    transform:rotate(-1deg);
  }
  textarea {
    font-size:26px;
    min-height:130px;
  }
  .constellation {
    padding:10px 6px 0;
  }
  .constellation svg {
    height:auto;
  }
  .constellation p {
    font-size:11px;
  }
  .demo-note {
    font-size:9px;
  }
  .scroll-invitation {
    bottom:20px;
    font-size:10px;
  }
  .section-heading {
    grid-template-columns:1fr;
    gap:18px;
    margin-bottom:30px;
  }
  .section-heading p:not(.eyebrow) {
    font-size:15px;
    max-width:none;
    margin-bottom:0;
  }
  h2 {
    font-size:35px;
  }
  .eyebrow {
    font-size:10px;
    margin-bottom:16px;
  }
  .studio-demo {
    border-radius:10px;
    min-height:auto;
  }
  .studio-chrome {
    padding-inline:13px;
    height:40px;
    font-size:10px;
  }
  .preview-label {
    font-size:8px;
  }
  .window-dots {
    width:60px;
  }
  .window-dots i {
    width:5px;
    height:5px;
  }
  .studio-layout {
    grid-template-columns:1fr;
    min-height:auto;
  }
  .studio-sidebar {
    border-right:0;
    border-bottom:1px solid var(--border);
    padding:9px 8px;
    background:var(--surface);
  }
  .studio-sidebar .mark,.book-name,.sidebar-bottom {
    display:none;
  }
  .studio-tabs {
    grid-template-columns:repeat(4,1fr);
    gap:3px;
  }
  .studio-tab {
    padding:9px 4px;
    gap:4px;
    justify-content:center;
    font-size:10px;
    border-radius:6px;
    white-space:normal;
    line-height:1.3;
  }
  .studio-tab span {
    display:none;
  }
  .studio-panel {
    min-height:540px;
  }
  .editor-tools {
    padding:17px 17px 7px;
    font-size:8px;
  }
  .editor-tools select {
    font-size:10px;
    max-width:115px;
    padding:5px 8px;
  }
  .small-button {
    padding:5px 10px;
    font-size:10px;
  }
  .editor-prose {
    padding-inline:26px;
    margin:26px auto 25px;
    font-size:20px;
    line-height:1.5;
  }
  .editor-prose h3 {
    font-size:30px;
    margin-bottom:20px;
  }
  .chapter-label {
    font-size:8px;
  }
  .panel-foot {
    font-size:9px;
  }
  .studio-demo.focused .studio-layout {
    grid-template-columns:1fr;
  }
  .studio-demo.focused .studio-sidebar {
    display:none;
  }
  .panel-intro {
    padding:28px 22px 5px;
  }
  .panel-intro h3 {
    font-size:27px;
  }
  .panel-intro .eyebrow {
    font-size:8px;
  }
  .plot-cards {
    grid-template-columns:1fr;
    margin:15px 22px;
    gap:10px;
  }
  .plot-card,.plot-card:nth-child(2),.plot-card:nth-child(3) {
    transform:none;
    min-height:0;
    padding:14px 17px;
    display:grid;
    grid-template-columns:1fr auto;
    gap:7px;
  }
  .plot-card strong {
    font-size:16px;
    grid-row:2;
  }
  .plot-card strong br {
    display:none;
  }
  .plot-card>span {
    font-size:8px;
    margin:0;
  }
  .plot-card small {
    font-size:9px;
    margin:0;
    align-self:end;
    grid-row:2;
    max-width:95px;
  }
  .plot-card:hover,.plot-card[aria-pressed=true] {
    transform:translateX(3px);
  }
  .plot-detail {
    margin:23px 24px;
    padding-bottom:15px;
    font-size:12px;
  }
  .panel-character {
    display:none;
  }
  .wiki-choices {
    margin:16px 22px;
    gap:7px;
  }
  .wiki-choice {
    font-size:9px;
  }
  .wiki-entry {
    margin:25px 22px 0;
    padding-top:25px;
  }
  .wiki-entry h4 {
    font-size:23px;
  }
  .wiki-entry>p:not(.eyebrow) {
    font-size:13px;
  }
  .panel-caption {
    margin:25px 22px;
    font-size:10px;
  }
  .notes-layout {
    display:block;
    padding:12px 20px 28px;
  }
  .note-list {
    flex-direction:row;
    gap:4px;
    margin-bottom:18px;
  }
  .note-list button {
    padding:8px;
    flex:1;
    min-width:0;
  }
  .note-list strong {
    font-size:9px;
    line-height:1.45;
  }
  .note-list span {
    display:none;
  }
  .note-paper {
    min-height:250px;
    padding:23px 20px;
  }
  .under-demo {
    align-items:start;
    flex-direction:column;
    gap:11px;
    margin-top:18px;
  }
  .under-demo p {
    font-size:10px;
  }
  .under-demo .quiet-link {
    font-size:11px;
  }
  .moment-section {
    grid-template-columns:1fr;
    gap:15px;
    padding:0 5px 65px;
  }
  .moment-section>img {
    width:190px;
    margin:auto;
  }
  .moment-section h2 {
    font-size:30px;
  }
  .moment-section p:not(.eyebrow) {
    font-size:14px;
  }
  .pro-badge {
    font-size:8px;
    margin:10px 0 0;
    display:table;
  }
  .book-controls {
    margin:30px 0 0;
    gap:5px;
  }
  .book-controls button {
    font-size:11px;
    padding:9px 14px;
  }
  .book-stage {
    min-height:450px;
    padding:30px 0 40px;
  }
  .draft-sheet {
    width:270px;
    min-height:350px;
    padding:25px;
  }
  .draft-sheet>p {
    font-size:10px;
  }
  .draft-heading {
    margin-bottom:25px;
  }
  .draft-sheet h3 {
    font-size:14px;
  }
  .book-companion {
    width:100px;
    right:-9px;
    bottom:-10px;
  }
  .book-spread {
    min-height:350px;
    transform:rotate(0);
    width:100%;
    animation:panel-in .6s both;
  }
  .book-page {
    padding:18px 16px 35px;
    min-height:350px;
  }
  .running-head {
    font-size:5px;
    letter-spacing:.11em;
  }
  .chapter-number {
    margin-top:28px;
    font-size:7px;
  }
  .book-page h3 {
    font-size:22px;
    margin:13px 0 22px;
  }
  .printed-prose {
    font-size:12px;
    line-height:1.35;
    text-align:left;
    hyphens:none;
  }
  .dropcap::first-letter {
    font-size:32px;
    padding-top:3px;
  }
  .right-page .printed-prose {
    padding-top:30px;
  }
  .scene-break {
    margin:13px 0;
    font-size:8px;
  }
  .folio {
    font-size:8px;
    bottom:15px;
  }
  .book-note {
    margin-top:20px;
  }
  .share-section {
    grid-template-columns:1fr;
    gap:35px;
    min-height:0;
  }
  .share-copy>p:not(.eyebrow) {
    font-size:14px;
  }
  .share-copy .lead-small {
    font-size:19px!important;
  }
  .reader-scene {
    min-height:425px;
    margin-top:5px;
  }
  .invitation-letter {
    width:min(275px, calc(100% - 24px));
    height:325px;
    padding:48px 22px;
  }
  .share-character {
    width:115px;
    left:0;
    bottom:0;
  }
  .phone-reader {
    width:260px;
  }
  .freedom-section {
    grid-template-columns:1fr;
    gap:35px;
  }
  .freedom-art {
    min-height:240px;
    order:2;
  }
  .folder {
    width:250px;
    height:180px;
  }
  .freedom-section p:not(.eyebrow) {
    font-size:14px;
  }
  .ai-section {
    grid-template-columns:1fr;
    gap:20px;
    padding:0 5px 65px;
  }
  .ai-section img {
    width:190px;
    margin:auto;
  }
  .ai-section h2 {
    font-size:30px;
  }
  .ai-section p:not(.eyebrow) {
    font-size:14px;
  }
  .plans h2 {
    font-size:33px;
  }
  .plan-grid {
    grid-template-columns:1fr;
  }
  .plan,.plan+.plan {
    padding:30px 0;
    border-left:0;
  }
  .plan+.plan {
    border-top:1px solid var(--border);
  }
  .plan-subtitle {
    min-height:0;
    margin-bottom:23px;
  }
  .plan ul {
    font-size:12px;
  }
  .closing {
    padding:0 0 70px;
  }
  .closing h2 {
    font-size:46px;
  }
  .closing>img {
    width:175px;
  }
  .closing .eyebrow {
    font-size:9px;
  }
  .closing p:not(.eyebrow) {
    font-size:14px;
  }
  .closing .availability {
    font-size:11px!important;
  }
  footer {
    flex-wrap:wrap;
    font-size:10px;
    gap:20px;
  }
  footer .mark {
    margin-right:auto;
  }
  dialog {
    width:calc(100% - 22px);
    padding:20px 15px;
  }
  .dialog-header h2 {
    font-size:21px;
  }
  .capture-tabs {
    gap:5px;
  }
  .capture-tabs button {
    font-size:9px;
    padding:6px 9px;
  }
  .dialog-footer {
    flex-direction:column;
    align-items:start;
    font-size:10px;
    gap:10px;
  }
}

@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto;
  }
  *,*::before,*::after {
    animation:none!important;
    transition:none!important;
  }
  .reveal-ready {
    opacity:1;
    transform:none;
  }
  .button:hover {
    transform:none;
  }
}
