.splash{--splash-halo:#f3ebff;z-index:2147483640;background:var(--color-background);opacity:1;visibility:visible;animation:splash-in .36s var(--ease-nodus-out) both;justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow:hidden}.splash[data-leaving=true]{animation:3.2s cubic-bezier(.5,0,.5,1) forwards splash-leave}:where(.dark) .splash{--splash-halo:#291249}@keyframes splash-in{0%{opacity:0}to{opacity:1}}@keyframes splash-leave{0%,78%{opacity:1;transform:scale(1)}to{opacity:0;pointer-events:none;transform:scale(.98)}}.splash:before{content:"";background:radial-gradient(ellipse 60% 50% at 50% 45%, var(--splash-halo) 0%, transparent 70%);pointer-events:none;position:absolute;inset:0}.splash-stage{z-index:2;flex-direction:column;align-items:center;gap:36px;display:flex;position:relative}.splash-lockup{align-items:center;gap:clamp(4px,.6vw,12px);display:inline-flex;transform:translate(-1%)}.splash-mark{aspect-ratio:1;flex-shrink:0;width:clamp(340px,38vw,500px);position:relative}.oloid-canvas-3d{filter:drop-shadow(0 18px 32px #6c63ff2e);width:100%;height:100%;display:block}.oloid-canvas-3d canvas{display:block;width:100%!important;height:100%!important}.splash-wordmark{font-family:var(--font-fraunces,"Fraunces", Georgia, serif);font-optical-sizing:auto;font-variation-settings:"opsz" 144;letter-spacing:-.04em;color:var(--color-foreground);-webkit-user-select:none;user-select:none;align-items:baseline;font-size:clamp(300px,33vw,440px);font-style:italic;font-weight:500;line-height:.82;display:inline-flex}.splash-wordmark .dot{color:var(--color-alert)}.splash-wordmark .letter{clip-path:inset(-50% 120% -40% -25%);opacity:0;will-change:clip-path, opacity, transform;display:inline-block;transform:translateY(.06em)}.splash-wordmark.is-writing .letter{animation:.42s cubic-bezier(.22,.7,.18,1) forwards letter-reveal;animation-delay:calc(var(--i) * .145s)}@keyframes letter-reveal{0%{clip-path:inset(-50% 120% -40% -25%);opacity:0;transform:translateY(.06em)}55%{opacity:1}to{clip-path:inset(-50% -50% -40% -25%);opacity:1;transform:translateY(0)}}.splash-wordmark .dot{opacity:0;transform-origin:50% 65%;will-change:transform, opacity;display:inline-block;transform:scale(.25)translateY(-.18em)}.splash-wordmark.is-dotted .dot{animation:.38s cubic-bezier(.34,1.56,.64,1) forwards dot-pop}@keyframes dot-pop{0%{opacity:0;transform:scale(.25)translateY(-.18em)}55%{opacity:1;transform:scale(1.18)translateY(.04em)}to{opacity:1;transform:scale(1)translateY(0)}}.splash[data-leaving=true] .splash-status{opacity:0;transition:opacity .36s var(--ease-nodus-out), transform .36s var(--ease-nodus-out);transform:translateY(-4px)}.splash[data-leaving=true] .splash-wordmark .dot{animation:.38s cubic-bezier(.36,0,.66,-.56) both dot-unpop}@keyframes dot-unpop{0%{opacity:1;transform:scale(1)translateY(0)}45%{opacity:1;transform:scale(1.18)translateY(.04em)}to{opacity:0;transform:scale(.25)translateY(-.18em)}}.splash[data-leaving=true] .splash-wordmark .letter{animation:.42s cubic-bezier(.82,.3,.78,.3) both letter-unwrite;animation-delay:calc(.38s + (3 - var(--i)) * .145s)}@keyframes letter-unwrite{0%{clip-path:inset(-50% -50% -40% -25%);opacity:1;transform:translateY(0)}45%{opacity:1}to{clip-path:inset(-50% 120% -40% -25%);opacity:0;transform:translateY(.06em)}}.splash-status{font-family:var(--font-mono-jetbrains,var(--font-mono));letter-spacing:.06em;text-transform:uppercase;color:var(--color-muted-foreground);opacity:0;min-width:320px;transition:opacity .48s var(--ease-nodus-out), transform .48s var(--ease-nodus-out);justify-content:center;align-items:center;gap:12px;margin-top:4px;font-size:14px;display:inline-flex;transform:translateY(6px)}.splash.is-ready .splash-status{opacity:1;transform:translateY(0)}.splash-status-dot{background:var(--color-alert);width:8px;height:8px;animation:nodus-pulse 1.6s var(--ease-nodus-in-out) infinite;border-radius:50%}.splash-status-text{animation:splash-status-fade 1.4s var(--ease-nodus-out)}@keyframes nodus-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(.85)}}@keyframes splash-status-fade{0%{opacity:0;filter:blur(2px);transform:translateY(3px)}25%{opacity:1;filter:blur();transform:translateY(0)}to{opacity:1;filter:blur();transform:translateY(0)}}.splash-corner{z-index:3;font-family:var(--font-mono-jetbrains,var(--font-mono));letter-spacing:.08em;text-transform:uppercase;color:var(--color-muted-foreground);align-items:center;gap:8px;font-size:10.5px;display:inline-flex;position:absolute}.splash-corner-tl{top:24px;left:24px}.splash-corner-br{opacity:.7;bottom:24px;right:24px}.splash-corner-glyph{background:var(--color-alert);width:6px;height:6px;animation:nodus-pulse 1.6s var(--ease-nodus-in-out) infinite;border-radius:50%}@media (prefers-reduced-motion:reduce){.splash,.splash[data-leaving=true]{animation:.2s linear both splash-in}.splash[data-leaving=true]{animation:.48s ease-out forwards splash-leave-reduced}@keyframes splash-leave-reduced{to{opacity:0;visibility:hidden}}.splash-status-text{animation:none}.oloid-canvas-3d{filter:none}.splash-wordmark .letter,.splash-wordmark .dot{opacity:1!important;clip-path:none!important;animation:none!important;transform:none!important}.splash-status{opacity:1;transition:none;transform:none}}.soft-splash{z-index:2147483639;background:var(--color-background);opacity:0;pointer-events:auto;will-change:opacity;justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow:hidden}.soft-splash[data-phase=in]{animation:soft-splash-fade-in .28s var(--ease-nodus-out) forwards}.soft-splash[data-phase=hold]{opacity:1}.soft-splash[data-phase=out]{opacity:1;animation:soft-splash-fade-out .38s var(--ease-nodus-in-out) forwards}@keyframes soft-splash-fade-in{0%{opacity:0}to{opacity:1}}@keyframes soft-splash-fade-out{0%{opacity:1}to{opacity:0}}.soft-splash-mark{aspect-ratio:1;filter:drop-shadow(0 12px 24px #6c63ff2e);width:clamp(96px,11vw,144px);animation:soft-splash-mark-rise .52s var(--ease-nodus-out) both}@keyframes soft-splash-mark-rise{0%{opacity:0;transform:translateY(6px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@media (prefers-reduced-motion:reduce){.soft-splash[data-phase=in],.soft-splash[data-phase=hold]{opacity:1;animation:none}.soft-splash[data-phase=out]{opacity:0;animation:none}.soft-splash-mark{opacity:1;animation:none;transform:none}}
