html { background-color:#050910 }
body:not(.capture) #hello h1 { animation:none; margin-inline:0; max-width:100%; }
#hello h1 { min-height:1.32em; line-height:1.32; }
#hello .entry-terminal { display:none }
#hello .entry-typing .entry-label {
  position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap;
}
#hello .entry-typing .entry-terminal {
  display:inline-grid; grid-template-areas:"word"; vertical-align:baseline;
  text-align:start; font-family:ui-monospace,"IBM Plex Sans Thai",monospace;
  font-size:clamp(2.6rem,min(12vw,16vh),9rem); letter-spacing:-.055em;
  line-height:1.32; color:#e9f0fa; white-space:nowrap; padding-inline-end:.12em;
}
#hello .entry-terminal > span { grid-area:word; color:inherit }
#hello .entry-measure { visibility:hidden }
#hello .entry-typed::after {
  content:""; display:inline-block; width:.026em; min-width:2px; height:.82em;
  margin-inline-start:.075em; vertical-align:-.03em; background:#dbc39e;
  animation:entry-cursor 1.08s steps(1,end) infinite;
}
@keyframes entry-cursor { 0%,60%,100%{opacity:1} 61%,99%{opacity:.12} }
@media (prefers-reduced-motion:no-preference) {
  html.entry-arrival::after {
    content:""; position:fixed; inset:0; z-index:9999; pointer-events:none;
    background:#050910; opacity:0; visibility:hidden;
    animation:entry-reveal 1.3s cubic-bezier(.24,.66,.28,1) backwards;
  }
  @keyframes entry-reveal { from{visibility:visible;opacity:.93} to{visibility:visible;opacity:0} }
}
