#awakening{position:fixed;inset:0;z-index:20;background:transparent;pointer-events:none;overflow:hidden}#awakening button{pointer-events:auto}body:not([data-awakening=static]):not([data-awakening=awake]) #world{pointer-events:none}body[data-awakening=boot] #world [data-build],body[data-awakening=dormant] #world [data-build],body[data-awakening=building] #world [data-build]:not(.is-built){opacity:0;visibility:hidden;transform:translateY(14px);filter:blur(5px)}[data-build]{transition:opacity .8s var(--ease),transform .9s var(--ease),filter .7s,var(--unused,visibility) .8s}.is-built{animation:assemble .85s var(--ease) both}#intro-halo{position:absolute;top:43%;left:50%;width:80px;height:80px;transform:translate(-50%,-50%)}#intro-halo .presence{width:80px;height:80px}.intro-word{position:absolute;top:calc(43% - 112px);left:50%;transform:translateX(-50%);font-size:14px;font-weight:400;letter-spacing:.01em;color:#b9b9c4;opacity:0}.word-cursor{display:inline-block;width:1px;height:12px;margin-left:4px;background:#bebed0;vertical-align:-1px}.wake-controls{position:absolute;top:calc(43% + 97px);left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:18px;opacity:0;visibility:hidden;transition:opacity 1.1s,transform 1.1s var(--ease)}.wake-button{border:1px solid #38383f;background:#101014;border-radius:28px;padding:11px 25px;font-size:12px;letter-spacing:.05em;display:flex;gap:28px;align-items:center;white-space:nowrap;box-shadow:inset 0 1px #ffffff08}.wake-button:hover{background:#1a1a20;border-color:#717180;transform:translateY(-2px)}.wake-button span{color:#b8c8da}.wake-caption{font-size:9px;letter-spacing:.12em;color:#9595a1}.intro-skip{position:absolute;bottom:33px;right:clamp(22px,4.8vw,88px);opacity:0}.intro-skip span{margin-left:9px}body[data-awakening=boot] #intro-halo{opacity:0}body[data-awakening=dormant] .intro-word{animation:flicker 2.2s both}body[data-awakening=dormant] .word-cursor{animation:cursor 1.1s step-end infinite}body[data-awakening=dormant] #intro-halo{animation:materialize 2.3s var(--ease) both}body[data-awakening=dormant].wake-ready .wake-controls{opacity:1;visibility:visible}body[data-awakening=dormant] .intro-skip{animation:materialize 1s 1s both}body[data-awakening=building] .intro-word,body[data-awakening=building] .wake-controls{opacity:0;visibility:hidden;transform:translate(-50%,-8px)}body[data-awakening=building] .intro-skip{opacity:.65}.presence.in-flight{position:fixed;z-index:30;pointer-events:none;will-change:transform,width,height;transition:top 1.2s var(--ease),left 1.2s var(--ease),width 1.2s var(--ease),height 1.2s var(--ease)}#eyra-slot{width:32px;height:32px;display:inline-grid;place-items:center;flex:none}#construction{position:absolute;right:clamp(24px,4.8vw,88px);bottom:116px;width:260px;opacity:0;transform:translateY(12px);transition:opacity .45s,transform .6s var(--ease);font:10px/1.9 ui-monospace,Consolas,monospace;color:#858595}body[data-awakening=building] #construction{opacity:1;transform:none}.construction-top{display:flex;justify-content:space-between;letter-spacing:.1em;font-size:8px;color:#666674;margin-bottom:12px}#build-code{min-height:22px;color:#bebeca}#build-code:after{content:"";display:inline-block;width:5px;height:11px;vertical-align:-2px;background:#bcbccd;margin-left:4px;animation:cursor .7s step-end infinite}.construction-progress{height:1px;background:#202027;margin-top:14px;overflow:hidden}.construction-progress i{display:block;background:#abb5c9;height:100%;width:var(--progress,0%);transition:width .5s var(--ease)}.simulation-label{display:block;font:8px/1.5 sans-serif;text-align:right;color:#858592;margin-top:7px}body[data-awakening=awake] #awakening{opacity:0;transition:opacity .7s;visibility:hidden}body[data-awakening=building] .home-context{visibility:hidden!important}body[data-awakening=awake] .home-context{visibility:visible}body[data-awakening=building] .home-scene h1{clip-path:inset(0 100% 0 0)}body[data-awakening=building] .home-scene h1.is-built{clip-path:inset(0);transition:clip-path 1.1s var(--ease)}
@keyframes flicker{0%,8%,14%,21%{opacity:0}10%,17%{opacity:.35}28%{opacity:.7}39%{opacity:.35}55%,100%{opacity:1}}@keyframes materialize{from{opacity:0;filter:blur(5px)}to{opacity:1;filter:blur(0)}}@keyframes assemble{from{opacity:0;transform:translateY(12px);filter:blur(4px)}to{opacity:1;transform:none;filter:blur(0)}}
@media(max-width:760px){#construction{bottom:155px;width:205px;font-size:9px;right:22px}.intro-skip{bottom:24px}.intro-word{top:calc(43% - 95px)}#intro-halo,#intro-halo .presence{width:70px;height:70px}.wake-controls{top:calc(43% + 80px)}}@media(max-height:560px){#construction{bottom:105px}#intro-halo{top:40%}.intro-word{top:calc(40% - 77px)}.wake-controls{top:calc(40% + 70px);gap:10px}}@media(prefers-reduced-motion:reduce){body[data-awakening=dormant] .intro-word,body[data-awakening=dormant] #intro-halo,body[data-awakening=dormant] .intro-skip{opacity:1}body[data-awakening=dormant] #intro-halo{filter:none}}

/* Crisp glyphs throughout the reveal: no blur, scaling or permanent compositing on text. */
body[data-awakening=boot] #world [data-build],body[data-awakening=dormant] #world [data-build],body[data-awakening=building] #world [data-build]:not(.is-built){filter:none;transform:none}
[data-build]{transition:opacity .65s ease,visibility .65s;filter:none;transform:none}.is-built{animation:assemble-clear .75s ease both}
@keyframes assemble-clear{from{opacity:0}to{opacity:1}}
.intro-word{font-size:18px;font-weight:500;color:#e3e9f6;letter-spacing:.035em}.wake-button{font-size:14px;font-weight:550;padding:13px 28px;background:linear-gradient(135deg,#172131,#0c121f);border-color:#bcd7fa50;box-shadow:0 0 35px #a2bdff0a,inset 0 1px #ffffff0d}.wake-caption{font-size:12px;color:#c2cddd;letter-spacing:.07em}.intro-skip{font-size:12px;color:#c4d2e7}.construction-top{font-size:11px;color:#c0cce1}.simulation-label{font-size:11px;color:#c4cddd}#construction{width:280px;font-size:12px;color:#d5dfee}#build-code{color:#e3eafa}.presence.in-flight{transition:none;will-change:transform;transform-origin:0 0}
@media(max-width:760px){#construction{font-size:11px;width:250px}.construction-top,.simulation-label{font-size:10px}.intro-word{font-size:17px}}
