/* Stable title lettering with a soft pixel breeze at the trailing edge. */
:root{--letter-fill:#ec326e;--letter-outline:#fff6fa;--letter-edge:#83224b;--letter-depth:#bb6985;--frame-paper:#fffafb;--frame-ink:#542b45;--frame-border:#ebb0c3;--frame-edge:#efd0db;--frame-overlay:#b8477425;--frame-caption:#6e3453}
:root[data-theme="dark"]{--letter-fill:#fff0f7;--letter-outline:#7d2853;--letter-edge:#f16697;--letter-depth:#673650;--frame-paper:#271a2d;--frame-ink:#ffe4ed;--frame-border:#743950;--frame-edge:#351d37;--frame-overlay:#37112d85;--frame-caption:#ffe9f0}
.stage-frame{background:var(--frame-paper);border-color:var(--frame-border);box-shadow:10px 14px 0 var(--frame-edge),0 22px 60px #4d132d25;transition:background .3s,border-color .3s,box-shadow .3s}
.stage-bar{color:var(--frame-ink)}.stage-caption{color:var(--frame-caption)}.stage-caption b{color:var(--pink)}.stage-view::after{background:linear-gradient(transparent,var(--frame-overlay))}
.display-title .type-ribbon,.game-lettering .type-ribbon{letter-spacing:-.018em;text-shadow:none;transform:skew(-4deg);transform-origin:left bottom;vertical-align:baseline}
.word-visual{display:inline-block;white-space:nowrap}
.letter-glyph{display:inline-block;position:relative;color:var(--letter-fill);-webkit-text-stroke:.033em var(--letter-outline);paint-order:stroke fill;text-shadow:.022em .025em 0 var(--letter-edge),.04em .047em 0 var(--letter-edge),.068em .075em 0 var(--letter-depth);transform-origin:50% 85%;letter-spacing:inherit}
.type-ribbon.word-art::before{height:.17em;bottom:-.03em;left:-.03em;right:-.04em;background:var(--type-ribbon);transform:rotate(-2deg) skew(-18deg)}
.hero h1 em.word-art::after{left:auto;right:-.15em;top:.08em;bottom:auto;width:.22em;height:.055em;border-radius:0;background:var(--pink);opacity:.8;transform:rotate(-7deg)}
.hero-title .type-ribbon{font-size:1.04em}
.hero-title .hero-opening{font-weight:800;letter-spacing:-.025em}
.hero-title .hero-ending{margin-left:.09em;font-size:.72em}
.display-title .title-lead{letter-spacing:-.015em;font-weight:700}
.section-head h2.display-title{line-height:1.36;letter-spacing:-.03em}
.game-copy h3.game-lettering{line-height:1.52;letter-spacing:-.02em}
.game-title-lead{font-weight:700;letter-spacing:0}.game-title-main{padding-bottom:.12em}
.three-things .feature-word{display:inline-block;text-decoration:none;transform:skew(-3deg)}.three-things .letter-glyph{-webkit-text-stroke:.025em var(--letter-outline);text-shadow:.03em .04em 0 var(--letter-depth);letter-spacing:0}
.launch .letter-glyph{color:#fff0f7;-webkit-text-stroke:.024em #985370;text-shadow:.023em .03em 0 #762c4b,.047em .057em 0 #381627}
.glitch-run .word-visual{display:inline;white-space:normal}.glyph-word{display:inline-block;white-space:nowrap}
.glitch-run .letter-glyph{color:inherit;-webkit-text-stroke:0;text-shadow:none;letter-spacing:inherit}
.glyph-ink{display:inline-block;opacity:1;transform:none}
.title-tail{position:absolute;left:calc(100% - .14em);top:.49em;width:0;height:0;pointer-events:none}
.title-tail i{position:absolute;left:0;top:0;width:clamp(1.5px,.048em,3px);height:1.5px;background:var(--pink);opacity:0;animation:title-edge-breeze var(--tail-duration) linear var(--tail-delay) infinite;animation-play-state:paused;transform-origin:center}
.title-tail i:nth-child(2n){background:#6bbfb1;top:.06em;width:2px;height:2px}
.title-tail i:nth-child(3n){top:-.1em;width:clamp(2px,.075em,4px)}
.title-tail-active .title-tail i{animation-play-state:running}
@keyframes title-edge-breeze{0%,7%{opacity:0;transform:translate3d(0,0,0) rotate(-5deg) scale(.6)}19%{opacity:.32}45%{opacity:.22;transform:translate3d(.28em,calc(var(--tail-rise)*.55),0) rotate(8deg) scale(.85)}73%{opacity:.06;transform:translate3d(.5em,var(--tail-rise),0) rotate(-8deg) scale(.5)}88%,100%{opacity:0;transform:translate3d(.56em,calc(var(--tail-rise)*1.12),0) rotate(4deg) scale(.4)}}
@media(max-width:740px){.hero .hero-title{font-size:clamp(35px,9.8vw,52px);letter-spacing:-.015em}.hero-title .hero-opening{font-size:.85em}.display-title .type-ribbon,.game-lettering .type-ribbon{letter-spacing:-.012em}.letter-glyph{-webkit-text-stroke:.03em var(--letter-outline);text-shadow:.026em .03em 0 var(--letter-edge),.057em .067em 0 var(--letter-depth)}.section-head h2.display-title{font-size:clamp(35px,9.3vw,46px)}.game-copy h3.game-lettering{font-size:clamp(28px,7.8vw,34px)}.title-tail i:nth-child(n+5){display:none}}
@media(prefers-reduced-motion:reduce){.title-tail{display:none}.stage-frame{transition:none}}
