/* Splash-only: entrance choreography that nothing else on the site needs.
   Deliberately fixed-dark regardless of prefers-color-scheme/data-theme —
   the splash is a threshold moment (the book's cover), the rest of the
   site is the paper-toned interior (the pages). Colors here are literal
   hex, not the --paper/--ink/--cobalt tokens, so this page's mood doesn't
   drift if those tokens are retuned for the light/dark interior later. */

.splash-body{
  margin:0;height:100vh;overflow:hidden;background:#0C0E11;
  display:flex;align-items:center;justify-content:center;
}
.stage{display:flex;flex-direction:column;align-items:center;text-align:center;}
a.name-link,a.name-link:hover{text-decoration:none;}

.splash-mark{color:#F2F3F5;opacity:0;animation:fadeUp .8s var(--ease) forwards;animation-delay:.1s;}
.splash-mark .mark-peak{stroke:#93A8ED;fill:none;}
.splash-mark .mark-wave{stroke:#5B8CFF;fill:none;}

.splash-name{
  font-family:var(--serif);font-weight:600;letter-spacing:-.02em;line-height:1.05;
  font-size:clamp(40px,9vw,84px);margin:22px 0 0;color:#F2F3F5;
  transition:letter-spacing .4s var(--ease);
}
.name-link:hover .splash-name{letter-spacing:.015em;}
.splash-name .line{display:block;opacity:0;transform:translateY(20px);animation:fadeUp .9s var(--ease) forwards;}
.splash-name .line:first-child{animation-delay:.25s;}
.splash-name .line:last-child{animation-delay:.42s;}

.notfound-code{
  color:#7C848D;
  opacity:0;animation:fadeUp .8s var(--ease) forwards;animation-delay:.1s;
}

.notfound-title{
  font-family:var(--serif);font-weight:600;letter-spacing:-.015em;color:#F2F3F5;
  font-size:clamp(26px,6vw,42px);margin-top:14px;
  opacity:0;animation:fadeUp .9s var(--ease) forwards;animation-delay:.2s;
}

.splash-tagline{
  font-family:var(--mono);font-size:12px;letter-spacing:.08em;color:#7C848D;
  margin-top:16px;opacity:0;animation:fadeUp .8s var(--ease) forwards;animation-delay:.6s;
}

.splash-enter{
  display:inline-block;margin-top:32px;font-size:13px;font-weight:500;color:#F2F3F5;
  border-bottom:1px solid transparent;padding-bottom:3px;
  opacity:0;animation:fadeUp .7s var(--ease) forwards;animation-delay:.85s;
  transition:border-color .2s var(--ease),color .2s var(--ease);
}
a.splash-enter:hover{border-bottom-color:#93A8ED;text-decoration:none;}
.splash-enter .arrow{display:inline-block;transition:transform .2s var(--ease);}
.splash-enter:hover .arrow{transform:translateX(4px);}

@keyframes fadeUp{to{opacity:1;transform:none;}}

@media (prefers-reduced-motion:reduce){
  .splash-mark,.splash-name .line,.splash-tagline,.splash-enter,
  .notfound-code,.notfound-title{
    animation:none!important;opacity:1!important;transform:none!important;
  }
}
