/* The loader is a small vector scene; it paints without the 3D library. */
.is-loading{overflow:hidden}
.site-shell{opacity:1;transition:opacity .75s ease}
.is-loading .site-shell{opacity:0;visibility:hidden}
.site-loader{position:fixed;inset:0;z-index:100;background:#080b10;color:#dce7ef;font-family:Manrope,Arial,sans-serif;overflow:hidden;transition:opacity .65s ease,visibility .65s}
.site-loader[hidden]{display:none}
.loader-top,.loader-bottom{position:absolute;left:4.5vw;right:4.5vw;display:flex;justify-content:space-between;align-items:center}
.loader-top{top:36px}
.loader-wordmark{font-size:23px;font-weight:700;letter-spacing:5px}
.loader-wordmark span{font-size:9px;letter-spacing:0;vertical-align:top;margin-left:3px}
#intro-mode{font-size:9px;letter-spacing:2px;color:#53616e}
.loader-center{position:absolute;left:50%;top:47%;transform:translate(-50%,-50%);width:min(90vw,390px);text-align:center}
.mini-scene{position:relative;height:160px;width:240px;margin:0 auto 27px}
.bird-lift{position:absolute;left:56px;bottom:22px;width:124px;height:112px;transform-origin:50% 80%;will-change:transform}
.bird-bob{width:100%;height:100%;animation:bird-curiosity 3.6s cubic-bezier(.4,0,.2,1) infinite;transform-origin:62% 80%}
.little-bird{display:block;width:124px;height:112px;overflow:visible}
.perch-line{position:absolute;bottom:43px;left:35px;width:170px;height:1px;background:linear-gradient(90deg,transparent,#35516a 35%,#7ba8c2 70%,transparent)}
.bird-shadow{position:absolute;bottom:19px;left:81px;width:78px;height:9px;border-radius:50%;background:#7ecaff0b;filter:blur(5px);animation:shadow-shift 3.6s ease-in-out infinite}
.little-spark{position:absolute;right:44px;bottom:47px;width:4px;height:4px;border-radius:50%;background:#b4e7ff;box-shadow:0 0 9px #70b9ef,0 0 24px #70b9ef40;animation:spark-drift 3.6s ease-in-out infinite}
.spark-trail{position:absolute;right:40px;bottom:45px;width:39px;height:1px;background:linear-gradient(90deg,transparent,#8ac5ed70);animation:spark-trail 3.6s ease-in-out infinite}
.loader-heading{font-size:20px;line-height:1.65;letter-spacing:-.5px;margin:0;font-weight:400}
.loader-heading span{color:#677989}
.loader-status{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:28px;min-height:15px;font-size:9px;color:#667b8d;letter-spacing:1px}
.loading-dots{display:flex;gap:4px}
.loading-dots i{width:3px;height:3px;border-radius:50%;background:#a0cde8;animation:loading-dot 1.3s ease-in-out infinite}
.loading-dots i:nth-child(2){animation-delay:.16s}.loading-dots i:nth-child(3){animation-delay:.32s}
.loader-bottom{bottom:35px}
.loader-bottom>span{font-size:8px;letter-spacing:2px;color:#516171}
.loader-bottom button{padding:11px 17px;background:transparent;border:1px solid #2e3c49;border-radius:30px;color:#b3c5d3;font-size:9px;letter-spacing:1.5px;cursor:pointer}
.loader-bottom button:disabled{opacity:.35;cursor:default}
.loader-bottom button span{margin-left:18px}
.loader-bottom button:focus-visible{outline:2px solid #94c6e4;outline-offset:4px}
.header-actions{display:flex;gap:8px}
.ready .loading-dots{opacity:.45}
.departing .bird-lift{animation:bird-depart .8s cubic-bezier(.45,0,.35,1) forwards}
.departing .bird-bob{animation:none}
.departing .little-spark{animation:spark-depart .65s ease-in forwards}
.departing .loader-heading,.departing .loader-status,.departing .loader-bottom,.departing .loader-top,.departing .perch-line,.departing .bird-shadow,.departing .spark-trail{opacity:0;transition:opacity .35s}
.revealing{opacity:0;visibility:hidden;pointer-events:none}
@keyframes bird-curiosity{0%,12%,100%{transform:translateY(0)}28%{transform:translateY(-3px)}44%{transform:translateY(-12px)}58%{transform:translateY(-4px)}72%{transform:translateY(0)}}
@keyframes shadow-shift{0%,30%,65%,100%{transform:scaleX(1);opacity:.8}47%{transform:scaleX(.65);opacity:.35}}
@keyframes spark-drift{0%,100%{transform:translate(0,0);opacity:.65}18%{transform:translate(-13px,-3px);opacity:1}31%{transform:translate(-18px,0);opacity:.45}45%{transform:translate(7px,-24px);opacity:1}65%{transform:translate(0,-4px);opacity:.7}}
@keyframes spark-trail{0%,100%{opacity:.3;transform:scaleX(.3)}30%{opacity:.7;transform:scaleX(1)}50%,68%{opacity:0}}
@keyframes loading-dot{0%,80%,100%{opacity:.2}40%{opacity:1}}
@keyframes bird-depart{0%{transform:translate(0,0) rotate(0);opacity:1}20%{transform:translate(-5px,4px) rotate(-8deg)}100%{transform:translate(180px,-140px) rotate(-18deg);opacity:0}}
@keyframes spark-depart{to{transform:translate(185px,-155px);opacity:0}}
@media(max-width:600px){.loader-top,.loader-bottom{left:25px;right:25px}.loader-top{top:27px}.loader-wordmark{font-size:20px}.loader-bottom{bottom:28px}.loader-bottom>span{font-size:6px;letter-spacing:1.2px}.loader-heading{font-size:18px}.loader-center{top:44%}#intro-mode{font-size:7px;letter-spacing:1.3px}.header-actions button{padding:10px 12px;font-size:8px}.header-actions button span{margin-left:7px}}
@media(prefers-reduced-motion:reduce){.site-loader *{animation:none!important}.site-loader,.site-shell{transition:opacity .15s}.departing .bird-lift{opacity:0;transition:opacity .15s}}

/* The small loader uses the actual supplied Onuxs artwork, not a replacement mascot. */
.onuxs-mini{width:112px;height:78px;margin:18px auto 0;overflow:visible}
.emblem-left{transform-origin:430px 230px;animation:emblem-left-fold 3.6s ease-in-out infinite}
.emblem-right{transform-origin:570px 230px;animation:emblem-right-fold 3.6s ease-in-out infinite}
.departing .emblem-left{animation:emblem-left-depart .22s ease-in-out infinite alternate}
.departing .emblem-right{animation:emblem-right-depart .22s ease-in-out infinite alternate}
@keyframes emblem-left-fold{0%,12%,75%,100%{transform:rotate(0) scaleX(1)}32%{transform:rotate(-7deg) scaleX(.82)}46%{transform:rotate(4deg) scaleX(.96)}60%{transform:rotate(-3deg) scaleX(.9)}}
@keyframes emblem-right-fold{0%,12%,75%,100%{transform:rotate(0) scaleX(1)}32%{transform:rotate(7deg) scaleX(.82)}46%{transform:rotate(-4deg) scaleX(.96)}60%{transform:rotate(3deg) scaleX(.9)}}
@keyframes emblem-left-depart{from{transform:rotate(3deg) scaleX(1)}to{transform:rotate(-9deg) scaleX(.65)}}
@keyframes emblem-right-depart{from{transform:rotate(-3deg) scaleX(1)}to{transform:rotate(9deg) scaleX(.65)}}
@media(prefers-reduced-motion:reduce){.site-loader .emblem-left,.site-loader .emblem-right{animation:none!important}}

/* Keep the original emblem whole; loading never requires a second tap. */
.site-loader .onuxs-mini{object-fit:contain;width:124px;height:94px;margin:7px auto 0}
.site-loader:focus{outline:none}
