.cover-scene{
  --ink:#18201f;
  --px:0px;
  --py:0px;
  position:fixed;
  inset:0;
  z-index:2;
  overflow:hidden;
  background:#fff;
  color:var(--ink);
  font-family:FusionPixel,ui-monospace,monospace;
  -webkit-font-smoothing:none;
  text-rendering:geometricPrecision;
  touch-action:none;
  overscroll-behavior:none;
  transition:visibility 0s linear 0s;
}
body[data-scene="space"] .cover-scene{
  visibility:hidden;
  pointer-events:none;
  transition-delay:0s;
}
.cover-scene *{box-sizing:border-box}
.cover-scene .cover-world{position:fixed;inset:0;transform-origin:50% 48%;pointer-events:none}
.cover-scene #scene,
.cover-scene #scene+canvas{position:fixed;inset:0;width:100%;height:100%;z-index:90;pointer-events:none}
.cover-scene #scene{display:none}
.cover-scene .field{position:fixed;inset:0;z-index:1;pointer-events:none;overflow:hidden}
.cover-scene .bg{position:absolute;inset:-2%;width:104%;height:104%;object-fit:cover;background:transparent;transform:translate(var(--px),var(--py)) scale(1.12)}
.cover-scene .defs{position:fixed;width:0;height:0;overflow:hidden}
.cover-scene .ui{position:fixed;inset:0;pointer-events:none;z-index:10;text-shadow:0 1px 5px rgba(255,255,255,.9)}
.cover-scene .brand{position:absolute;left:2.35%;top:2.35%;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;font-size:clamp(15px,1.45vw,30px);font-weight:600;letter-spacing:.03em;font-synthesis:none}
.cover-scene .controls{position:absolute;right:2.35%;top:2.55%;display:flex;gap:clamp(12px,2.9vw,56px);align-items:center;pointer-events:auto;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;font-size:clamp(12px,1.15vw,23px);font-weight:600;font-synthesis:none}
.cover-scene .controls button{position:relative;isolation:isolate;border:0;background:none;padding:3px 6px;color:inherit;font:inherit;cursor:pointer;transition:color 90ms linear;outline-offset:4px}
.cover-scene .controls button:before{content:"";position:absolute;z-index:-1;inset:0;background:#202725;transform:scaleX(0);transform-origin:left;transition:transform 110ms steps(3,end)}
.cover-scene .controls button:hover,
.cover-scene .controls button:focus-visible{color:#f3f5f1}
.cover-scene .controls button:hover:before,
.cover-scene .controls button:focus-visible:before{transform:scaleX(1)}
.cover-scene .statement{position:absolute;left:5.4%;top:18.8%;max-width:48%}
.cover-scene h1{margin:0;font-size:clamp(36px,4.75vw,96px);line-height:1.08;letter-spacing:-.035em;font-weight:400;text-transform:uppercase}
.cover-scene h1 span{display:block}
.cover-scene .sub{margin:18px 0 0;font-size:clamp(13px,1.25vw,26px);line-height:1.35;color:#34403b}
.cover-scene .note{position:absolute;left:6.2%;bottom:9.2%;max-width:34%;font-size:clamp(12px,1.25vw,26px);line-height:1.4;color:#3d4844}
.cover-scene .note strong{display:block;margin-bottom:20px;color:#1c2925;font-size:clamp(18px,1.85vw,38px);font-weight:400;letter-spacing:-.035em}
.cover-scene .enter{position:absolute;right:5.6%;bottom:15%;border:0;background:none;padding:0;text-align:right;font:inherit;font-size:clamp(30px,4vw,80px);line-height:1.22;letter-spacing:-.055em;color:#26322f;text-decoration:none;pointer-events:auto;cursor:pointer;transition:color .2s ease,transform .2s ease}
.cover-scene .enter:hover,
.cover-scene .enter:focus-visible{color:#111816;transform:translateY(-3px);outline:none}
.cover-scene .enter strong{display:block;margin-bottom:12px;font:inherit}
.cover-scene .hello-wrap{position:fixed;left:50%;top:50%;width:200px;height:auto;aspect-ratio:582 / 197;transform:translate(calc(-50% + var(--px)),calc(-50% + var(--py)));pointer-events:none;z-index:5;overflow:visible}
.cover-scene .hello-svg{width:100%;height:100%;overflow:visible;filter:drop-shadow(1.1px 0 rgba(0,220,195,.42)) drop-shadow(-1.1px 0 rgba(237,0,255,.32));animation:cover-hello-breathe 4.2s ease-in-out 3.25s infinite}
.cover-scene .hello-stroke{fill:none;stroke:#111816;stroke-width:18;stroke-linecap:round;stroke-linejoin:round}
.cover-scene .hello-svg.is-drawing .hello-stroke:nth-child(1){stroke-dasharray:var(--hello-length);stroke-dashoffset:var(--hello-length);animation:cover-hello-main 8.5s linear infinite}
.cover-scene .hello-svg.is-drawing .hello-stroke:nth-child(2){stroke-dasharray:var(--hello-length);stroke-dashoffset:var(--hello-length);animation:cover-hello-e 8.5s linear infinite}
.cover-scene .hello-svg.is-drawing .hello-stroke:nth-child(3){stroke-dasharray:var(--hello-length);stroke-dashoffset:var(--hello-length);animation:cover-hello-cross 8.5s linear infinite}
.cover-scene .hello-svg.is-drawing .hello-stroke:nth-child(4){stroke-width:0;animation:cover-hello-dot 8.5s linear infinite}
.cover-scene .hello-svg.is-paused .hello-stroke{animation-play-state:paused!important}
.cover-scene .scroll{--kimi-cue-bottom:clamp(22px,3.9506svh,32px);position:fixed;left:50%;bottom:var(--kimi-cue-bottom);z-index:11;display:flex;flex-direction:column;align-items:center;gap:12px;transform:translateX(-50%);color:#334039;line-height:1.25;pointer-events:none;text-shadow:0 1px 10px rgba(255,255,255,.92)}
.cover-scene .cue{width:30px;height:34px;overflow:visible}
.cover-scene .cue path{fill:currentColor;opacity:.2;animation:cover-light-up 2.6s ease-in-out infinite}
.cover-scene .cue path:nth-child(3){animation-delay:.28s}
.cover-scene .cue path:nth-child(2){animation-delay:.46s}
.cover-scene .cue path:nth-child(1){animation-delay:.64s}
.cover-scene .scroll-label{position:relative;font-size:clamp(11px,1.1vw,16px);letter-spacing:.04em;color:#a6aea7}
.cover-scene .scroll-label:after{content:attr(data-text);position:absolute;inset:0;color:#253e31;clip-path:inset(100% 0 0 0);animation:cover-text-up 2.6s ease-in-out infinite}
.cover-scene .kimi-char{display:inline-block;vertical-align:bottom;overflow:hidden;height:1.2em;line-height:1.2}
.cover-scene .kimi-track{display:block;line-height:1.2}
.cover-scene .kimi-track span{display:block;height:1.2em;line-height:1.2;white-space:pre}
@keyframes cover-hello-breathe{
  0%,100%{opacity:.92;transform:scale(1)}
  50%{opacity:1;transform:scale(1.025)}
}
@keyframes cover-hello-main{
  0%{stroke-dashoffset:var(--hello-length)}
  58.8235%,100%{stroke-dashoffset:0}
}
@keyframes cover-hello-e{
  0%,61.1765%{stroke-dashoffset:var(--hello-length)}
  75.2941%,100%{stroke-dashoffset:0}
}
@keyframes cover-hello-cross{
  0%,76.4706%{stroke-dashoffset:var(--hello-length)}
  88.2353%,100%{stroke-dashoffset:0}
}
@keyframes cover-hello-dot{
  0%,88.2353%{stroke-width:0}
  89.4118%,100%{stroke-width:18}
}
@keyframes cover-light-up{
  0%,12%,62%,100%{opacity:.2}
  22%,36%{opacity:1}
}
@keyframes cover-text-up{
  0%,8%{clip-path:inset(100% 0 0 0)}
  20%,34%{clip-path:inset(0)}
  48%,100%{clip-path:inset(0 0 100% 0)}
}
@media(max-width:720px){
  .cover-scene .brand{left:5%;top:3%;font-size:14px}
  .cover-scene .controls{right:5%;top:8%;gap:10px;font-size:11px}
  .cover-scene .statement{left:5%;top:17%;max-width:90%}
  .cover-scene h1{font-size:clamp(30px,7vw,48px);line-height:1.1}
  .cover-scene .note{left:5%;bottom:18%;max-width:48%;font-size:11px}
  .cover-scene .note strong{font-size:15px;margin-bottom:10px}
  .cover-scene .enter{right:5%;bottom:19%;font-size:clamp(20px,4.8vw,32px)}
  .cover-scene .scroll{gap:10px}
}
@media(prefers-reduced-motion:reduce){
  .cover-scene .cue path,
  .cover-scene .scroll-label:after{animation:none}
  .cover-scene .cue path{opacity:1}
}
