/* The original logo entrance, adapted to NEXO. No simulated progress percentages. */
.nexo-is-starting,.nexo-is-starting body{overflow:hidden}
.nexo-loading{--nexo-load-ink:#16273d;font-family:Pretendard,system-ui,sans-serif;text-align:center;box-sizing:border-box}
.nexo-startup{position:fixed;inset:0;z-index:10000;background:#111e30;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 24px;transition:opacity .18s ease,visibility .18s ease}
.nexo-startup.is-ready{opacity:0;visibility:hidden;pointer-events:none}
.nexo-load-mark{display:block;position:relative;flex:none;width:88px;height:88px;margin:0 auto 24px;border-radius:26%;overflow:hidden;animation:nexo-mark-in .65s cubic-bezier(.16,1,.3,1) both}
.nexo-load-mark svg{display:block;width:100%;height:100%}
.nexo-load-mark:after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 25%,#ffffff25 46%,#ffffff55 50%,transparent 72%);transform:translateX(-140%);animation:nexo-mark-sweep 2.6s .3s ease-in-out infinite}
.nexo-load-stroke{stroke-dasharray:1;stroke-dashoffset:0;animation:nexo-link-in .7s .1s cubic-bezier(.16,1,.3,1) backwards}
.nexo-load-stroke.mint{animation-delay:.2s}
.nexo-load-cross{animation:nexo-cross-in .2s .4s both}
.nexo-load-word{display:block;font-size:38px;line-height:1.15;font-weight:650;letter-spacing:.16em;padding-left:.16em;animation:nexo-word-in .55s .16s both}
.nexo-load-ko{font-size:14px;letter-spacing:.3em;margin:12px 0 0;color:#c8d3e3;animation:nexo-word-in .55s .24s both}
.nexo-load-family{font-size:10px;letter-spacing:.22em;color:#889db8;margin:18px 0 0;animation:nexo-word-in .55s .32s both}
.nexo-load-track{width:140px;height:2px;margin:30px auto 17px;background:#ffffff20;border-radius:2px;overflow:hidden}
.nexo-load-track:after{content:"";display:block;width:45%;height:100%;border-radius:inherit;background:#97f0d3;animation:nexo-loading-pass 1.5s ease-in-out infinite}
.nexo-load-message{font-size:13px;line-height:1.65;color:#c8d3e3;margin:0;overflow-wrap:anywhere}
.nexo-load-retry{margin-top:16px;padding:9px 15px;color:#fff;border:1px solid #ffffff45;border-radius:8px;background:transparent;font:inherit;font-size:13px;cursor:pointer}
.nexo-load-retry[hidden]{display:none}
dialog.nexo-loading{border:1px solid #e0e6ef;border-radius:20px;width:min(300px,calc(100vw - 48px));max-height:calc(100dvh - 48px);padding:28px 24px;color:var(--nexo-load-ink);background:#fff;box-shadow:0 16px 60px #112a4625;overflow:auto}
dialog.nexo-loading::backdrop{background:#111e3029}
dialog.nexo-loading .nexo-load-mark{width:48px;height:48px;margin-bottom:16px}
dialog.nexo-loading .nexo-load-word{font-size:22px;letter-spacing:.12em}
dialog.nexo-loading .nexo-load-track{width:100px;background:#e8edf5;margin:21px auto 14px}
dialog.nexo-loading .nexo-load-track:after{background:#225be4}
dialog.nexo-loading .nexo-load-message{color:#52637b;font-size:14px}
@keyframes nexo-mark-in{from{opacity:0;transform:scale(.84)}to{opacity:1;transform:scale(1)}}
@keyframes nexo-word-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes nexo-link-in{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes nexo-cross-in{from{opacity:0}to{opacity:1}}
@keyframes nexo-mark-sweep{0%{transform:translateX(-140%)}45%,100%{transform:translateX(140%)}}
@keyframes nexo-loading-pass{0%{transform:translateX(-110%)}100%{transform:translateX(325%)}}
@media(prefers-reduced-motion:reduce){.nexo-loading,.nexo-loading *,.nexo-loading *:after{animation:none!important;transition:none!important}.nexo-load-track:after{transform:none;margin:auto}.nexo-load-mark:after{display:none}}
