/* Title and original ribbon scene share one centered composition. */
:root {--hero-width:1440px;--hero-scale:1;--hero-x:0px;--hero-y:0px;--visual-y:-24px;--paper:#07090a;--ink:#f5eee8}
* {box-sizing:border-box}
html,body {margin:0;width:100%;height:100%;background:var(--paper)}
.homepage {width:100%;height:100svh;overflow:clip;display:grid;place-items:center}
.hero {position:relative;isolation:isolate;width:min(100vw,var(--hero-width));height:100%;transform:translate(var(--hero-x),var(--hero-y)) scale(var(--hero-scale));display:grid;place-items:center}
.hero-ribbons {position:absolute;left:50%;top:calc(50% + var(--visual-y));width:73.665%;height:86.365%;transform:translate(-50%,-50%);z-index:-1;pointer-events:none;mask-image:radial-gradient(ellipse 65% 65% at 50% 50%,black 35%,transparent 92%)}
#raycast-light {position:relative;width:100%!important;max-width:none!important;height:100%!important;transform:none!important;overflow:hidden}
h1 {transform:translateY(var(--visual-y));margin:0;font-family:'AS Source Han Serif',serif;font-weight:300;font-synthesis:none;font-size:clamp(64px,8.3vw,120px);line-height:1.15;letter-spacing:-.045em;color:var(--ink);text-align:center;text-shadow:0 2px 18px #0003;-webkit-font-smoothing:antialiased;pointer-events:none}

#scattered-keys {position:absolute;left:50%;top:50%;width:1440px;height:900px;transform:translate(-50%,-50%) scale(var(--scatter-scale,1));pointer-events:none;z-index:1}

/* Fill the measured viewport: avoid the original Canvas applying ancestor scale twice. */
#raycast-light canvas {width:100%!important;height:100%!important}

@font-face {font-family:'AS Source Han Sans';src:url('assets/raycast-assistant-keyboard/agent-labels.woff2') format('woff2');font-weight:700;font-display:swap}
.hero-copy {position:relative;transform:translateY(var(--visual-y));text-align:center;display:flex;flex-direction:column;align-items:center;gap:20px}
.hero-copy::before {content:"";position:absolute;inset:-36px -52px;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 50% 50%,#07090a5c 0%,#07090a42 44%,transparent 76%);filter:blur(14px)}
.hero-copy h1 {transform:none}
.hero-focus {position:relative;width:460px;height:56px;flex-shrink:0;margin:0;padding:0;border:0;background:none;color:#ded6d3;text-shadow:0 2px 12px #000b;font-family:'AS Source Han Sans',sans-serif;font-weight:700;font-size:clamp(24px,2.5vw,36px);line-height:1.5;overflow:clip;cursor:pointer;-webkit-font-smoothing:antialiased}
.focus-viewport {display:block;position:absolute;top:50%;left:0;width:100%;height:1.42em;transform:translateY(-50%);overflow:hidden;mask-image:linear-gradient(to bottom,transparent 0%,#000 18%,#000 82%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 18%,#000 82%,transparent 100%)}
.focus-track {height:5.68em;display:flex;flex-direction:column;animation:scope-cycle-three 14.22s cubic-bezier(.77,0,.18,1) infinite;will-change:transform;line-height:1.42}
.focus-track>span {display:block;flex:0 0 1.42em;white-space:nowrap}
/* Original 18s/four-topic timeline minus one 3.78s segment: retain 2.88s holds and .9s moves, including the duplicate-first seam. */
@keyframes scope-cycle-three {
  0%,20.253165% {transform:translateY(0)}
  26.582278%,46.835443% {transform:translateY(-25%)}
  53.164557%,73.417722% {transform:translateY(-50%)}
  79.746835%,100% {transform:translateY(-75%)}
}
.hero-focus[data-paused="true"] .focus-track {animation-play-state:paused}
.hero-focus:focus-visible {outline:1px solid #ded6d3;outline-offset:5px;border-radius:4px}
@media(prefers-reduced-motion:reduce) {.focus-track {animation:none}}
