.boot-loader{--p:0;--velvet-deep:oklch(20% .08 20);--velvet:oklch(38% .16 24);--velvet-lit:oklch(52% .2 27);z-index:100;color:var(--gold-1);pointer-events:auto;position:fixed;inset:0;overflow:hidden}.boot-loader[data-state=leaving]{pointer-events:none}.boot-curtain{z-index:1;will-change:transform;background:linear-gradient(180deg, oklch(0% 0 0/.5), transparent 22%, transparent 68%, oklch(0% 0 0/.6)), repeating-linear-gradient(90deg, var(--velvet-deep) 0, var(--velvet) 3.4%, var(--velvet-lit) 5%, var(--velvet) 6.6%, var(--velvet-deep) 10%);width:51%;transition:transform 1.2s cubic-bezier(.68,0,.24,1);position:absolute;top:0;bottom:0}.boot-curtain:after{content:"";background:repeating-linear-gradient(90deg, var(--gold-2) 0 3px, var(--gold-3) 3px 6px);height:12px;box-shadow:0 -2px 0 var(--gold-1);position:absolute;bottom:0;left:0;right:0}.boot-curtain-left{transform-origin:0;left:0;box-shadow:inset -40px 0 50px -20px oklch(0% 0 0/.7)}.boot-curtain-right{transform-origin:100%;right:0;box-shadow:inset 40px 0 50px -20px oklch(0% 0 0/.7)}.boot-loader[data-state=leaving] .boot-curtain-left{transform:translate(-100%)scaleX(.7)}.boot-loader[data-state=leaving] .boot-curtain-right{transform:translate(100%)scaleX(.7)}.boot-valance{z-index:3;will-change:transform;background:linear-gradient(180deg, var(--velvet-deep), var(--velvet) 70%, var(--velvet-lit));height:clamp(52px,10vh,100px);filter:drop-shadow(0 4px 0 var(--gold-2));transition:transform .9s cubic-bezier(.6,0,.3,1) .15s;position:absolute;top:0;left:0;right:0;-webkit-mask:radial-gradient(circle at 50% 0,#000 70%,#0000 71%) 0 100%/clamp(70px,9vw,120px) 34px repeat-x,linear-gradient(#000,#000) 0 0/100% calc(100% - 22px) no-repeat;mask:radial-gradient(circle at 50% 0,#000 70%,#0000 71%) 0 100%/clamp(70px,9vw,120px) 34px repeat-x,linear-gradient(#000,#000) 0 0/100% calc(100% - 22px) no-repeat}.boot-loader[data-state=leaving] .boot-valance{transform:translateY(-110%)}.boot-loader:before{content:"";z-index:2;pointer-events:none;background:radial-gradient(45% 55% at 50% 52%,oklch(85% .12 80/.22),#0000 70%);transition:opacity .4s;position:absolute;inset:0}.boot-loader:after{content:"";z-index:3;pointer-events:none;opacity:0;will-change:opacity, transform;background:linear-gradient(#0000,oklch(95% .08 88) 30%,oklch(90% .12 85) 70%,#0000);width:4px;margin-left:-2px;position:absolute;top:6%;bottom:0;left:50%;box-shadow:0 0 18px 6px oklch(85% .13 80/.6)}.boot-loader[data-state=diving]:after{animation:.75s ease-in forwards boot-seam-flare}.boot-loader[data-state=leaving]:after{animation:.6s ease-out forwards boot-seam-spill}.boot-loader[data-state=leaving]:before{opacity:0}.boot-star{z-index:4;pointer-events:none;mix-blend-mode:screen;width:0;height:0;animation:.5s ease-out both boot-star-in;position:absolute;top:50%;left:50%}.boot-rider{will-change:transform, opacity;animation-name:boot-orbit;animation-timing-function:linear;animation-iteration-count:infinite;position:absolute;top:0;left:0}.boot-beam,.boot-glitter,.boot-star-head{width:var(--size);height:var(--size);margin:calc(var(--size) / -2) 0 0 calc(var(--size) / -2);display:block;position:absolute}.boot-beam{background:radial-gradient(circle,#eef6ff 0 12%,#8fc0ffb8 28%,#4d9bff40 52%,#4d9bff00 70%);border-radius:50%}.boot-glitter{background:radial-gradient(circle, #f2f8ff 0 22%, var(--tint) 45%, transparent 72%);opacity:0;will-change:transform, opacity;border-radius:50%;animation:ease-out infinite boot-glitter}.boot-glitter-glint{background:radial-gradient(circle, #f6faff 0 10%, transparent 30%), linear-gradient(0deg, transparent 42%, var(--tint) 50%, transparent 58%), linear-gradient(90deg, transparent 42%, var(--tint) 50%, transparent 58%);border-radius:0}.boot-star-head{--size:46px;will-change:transform;background:radial-gradient(circle,#f8fbff 0 6%,#d6e8ffee 12%,#7fb4ff88 24%,#4d9bff2c 44%,#4d9bff00 70%);animation:.9s ease-in-out infinite alternate boot-head}.boot-star-head:before,.boot-star-head:after{content:"";background:linear-gradient(90deg,#d8e8ff00,#e7f1ffdd,#f8fbff,#e7f1ffdd,#d8e8ff00);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.boot-star-head:before{width:40px;height:1.5px}.boot-star-head:after{background:linear-gradient(#d8e8ff00,#e7f1ffdd,#f8fbff,#e7f1ffdd,#d8e8ff00);width:1.5px;height:30px}.boot-stage{z-index:5;text-align:center;text-shadow:0 2px 12px oklch(0% 0 0/.7);flex-direction:column;justify-content:center;align-items:center;padding:0 24px;transition:opacity .35s;display:flex;position:absolute;inset:0}.boot-loader[data-state=leaving] .boot-stage,.boot-loader[data-state=leaving] .boot-star{opacity:0}.boot-eyebrow{font-family:var(--font-caps);letter-spacing:.42em;color:var(--gold-2);font-size:11px}.boot-title{font-family:var(--font-display);background:linear-gradient(180deg, var(--gold-1), var(--gold-2) 60%, var(--gold-3));color:#0000;filter:drop-shadow(0 2px 8px oklch(0% 0 0/.6));-webkit-background-clip:text;background-clip:text;margin-top:10px;font-size:clamp(28px,5vw,48px);line-height:1.1}.boot-bar{background:oklch(78% .12 80/.25);width:min(220px,56vw);height:1px;margin-top:20px;position:relative;overflow:hidden}.boot-bar span{background:linear-gradient(90deg, var(--gold-3), var(--gold-1));transform-origin:0;transform:scaleX(var(--p));position:absolute;inset:0}@keyframes boot-star-in{0%{opacity:0}}@keyframes boot-head{0%{transform:scale(.88)rotate(0)}to{transform:scale(1.12)rotate(12deg)}}@keyframes boot-glitter{0%{opacity:0;transform:translate(calc(var(--x) * .4), calc(var(--y) * .4)) scale(.3)}20%{opacity:1;transform:translate(var(--x), var(--y)) scale(1)}to{opacity:0;transform:translate(calc(var(--x) * 1.7), calc(var(--y) * 1.7 + 12px)) scale(.35)}}@keyframes boot-seam-flare{0%,55%{opacity:0;transform:scaleY(.3)}to{opacity:1;transform:scaleY(1)}}@keyframes boot-seam-spill{0%{opacity:1;transform:scaleY(1)}to{opacity:0;transform:scaleX(14)}}@media (prefers-reduced-motion:reduce){.boot-curtain,.boot-valance,.boot-stage{transition-duration:.15s;transition-delay:0s}}.intro-show{z-index:90;color:var(--gold-1);background:#000;transition:opacity .9s,visibility 0s linear .9s;position:fixed;inset:0;overflow:hidden}.intro-show[data-state=leaving]{opacity:0;visibility:hidden;pointer-events:none}body:has(>.intro-show[data-state=playing])>:not(.intro-show):not(.boot-loader):not(main){content-visibility:hidden}body:has(>.intro-show[data-state=playing]) main>:not(#top){content-visibility:hidden}body:has(>.intro-show[data-state=playing]) #egypt-wonderland>:not(.egypt-canvas){content-visibility:hidden}body:has(>.intro-show[data-state=playing]) .egypt-canvas{visibility:hidden}.intro-show video{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity 1.4s,transform 6s cubic-bezier(.2,.7,.2,1);position:absolute;inset:0;transform:scale(1.06)}.intro-show[data-state=playing] video{opacity:1;transform:none}.intro-show[data-state=closing] video,.intro-show[data-state=leaving] video{opacity:0;transition:opacity .35s;transform:none}@media (aspect-ratio<=1){.intro-show video{object-fit:contain}}.intro-shade{pointer-events:none;background:radial-gradient(at 50% 45%,#0000 45%,#0000008c 100%),linear-gradient(#0000 68%,#000000b3),linear-gradient(#00000073,#0000 22%);position:absolute;inset:0}.intro-title{left:max(5%, env(safe-area-inset-left));bottom:max(34px, calc(env(safe-area-inset-bottom) + 18px));pointer-events:none;max-width:min(46vw,32rem);padding-left:1.1rem;position:absolute}.intro-title:after{content:"";background:linear-gradient(to bottom, transparent, var(--gold-1) 18%, var(--gold-2) 82%, transparent);width:2px;box-shadow:0 0 12px var(--gold-2);transform-origin:50% 100%;position:absolute;top:.3rem;bottom:.3rem;left:0;transform:scaleY(0)}.intro-title:before{content:"";z-index:-1;opacity:0;background:radial-gradient(at 40% 60%,#0009,#0000 68%);position:absolute;inset:-70% -35% -60% -45%}.intro-title>*{margin:0;padding-bottom:.12em;overflow:hidden}.intro-title>*>span{opacity:0;text-shadow:0 2px 18px #000c;display:inline-block;transform:translateY(105%)}.intro-show:not([data-state=waiting]) .intro-title:after{animation:.7s cubic-bezier(.2,.7,.2,1) 1.1s forwards intro-rule}.intro-show:not([data-state=waiting]) .intro-title:before{animation:1s 1.1s forwards intro-fade}.intro-show:not([data-state=waiting]) .intro-title>*>span{animation:.9s cubic-bezier(.2,.8,.2,1) 1.4s forwards intro-rise}.intro-show:not([data-state=waiting]) .intro-title h2>span{animation-delay:1.55s}.intro-show:not([data-state=waiting]) .intro-place>span{animation-delay:1.75s}.intro-eyebrow,.intro-place,.intro-turn,.intro-btn{font-family:var(--font-caps);text-transform:uppercase}.intro-eyebrow{letter-spacing:.55em;color:var(--gold-1);font-size:clamp(.6rem,.9vw,.75rem)}.intro-title h2{font-family:var(--font-display);font-size:clamp(1.2rem,min(3.2vw,5.5vh),2.6rem);font-weight:700;line-height:1.05}.intro-title h2>span{background:linear-gradient(100deg, var(--gold-3) 0%, var(--gold-1) 30%, #fff8dc 45%, var(--gold-1) 60%, var(--gold-2) 100%);color:#0000;text-shadow:none;filter:drop-shadow(0 2px 10px #000000b3);-webkit-background-clip:text;background-clip:text}.intro-place{letter-spacing:.45em;color:var(--gold-1);font-size:clamp(.62rem,1vw,.8rem)}.intro-place b{font-weight:inherit;color:var(--gold-2)}.intro-place i{vertical-align:middle;background:linear-gradient(90deg, var(--gold-2), var(--gold-1));transform-origin:0;width:clamp(22px,3vw,44px);height:1px;margin-right:.9em;display:inline-block;transform:scaleX(0)}.intro-show:not([data-state=waiting]) .intro-place i{animation:.8s 2.2s forwards intro-draw}.intro-controls{right:max(5%, env(safe-area-inset-right));bottom:max(34px, calc(env(safe-area-inset-bottom) + 18px));opacity:0;gap:.75rem;transition:opacity .6s,transform .6s;display:flex;position:absolute;transform:translateY(10px)}.intro-show[data-state=playing] .intro-controls{opacity:1;transition-delay:.9s;transform:none}.intro-show[data-state=playing][data-idle=true] .intro-controls:not(:focus-within){opacity:0;transition-delay:0s;transform:translateY(10px)}.intro-show[data-idle=true]{cursor:none}.intro-btn{border:1px solid color-mix(in oklab, var(--gold-2) 55%, transparent);-webkit-backdrop-filter:blur(12px)saturate(1.3);backdrop-filter:blur(12px)saturate(1.3);color:var(--gold-1);letter-spacing:.28em;cursor:pointer;background:#0c09166b;border-radius:999px;align-items:center;gap:.6rem;padding:.8rem 1.35rem;font-size:.68rem;transition:border-color .3s,box-shadow .3s,transform .3s,color .3s;display:inline-flex;position:relative;overflow:hidden;box-shadow:inset 0 1px #fff0c81f,0 10px 30px -12px #000c}.intro-btn svg{flex-shrink:0;width:15px;height:15px;transition:transform .3s}.intro-btn:before{content:"";pointer-events:none;background:linear-gradient(110deg,#0000 30%,#fff4d259 50%,#0000 70%);transition:transform .7s;position:absolute;inset:0;transform:translate(-120%)}.intro-btn:hover,.intro-btn:focus-visible{border-color:var(--gold-1);color:#fff8dc;box-shadow:inset 0 1px 0 #fff0c833, 0 0 22px -4px color-mix(in oklab, var(--gold-2) 70%, transparent), 0 14px 34px -12px #000000d9;outline:none;transform:translateY(-2px)}.intro-btn:hover:before,.intro-btn:focus-visible:before{transform:translate(120%)}.intro-btn[aria-pressed=true]{border-color:var(--gold-1)}.intro-btn-gold{border-color:var(--gold-1);background:linear-gradient(180deg, var(--gold-1), var(--gold-2) 60%, var(--gold-3));color:var(--primary-foreground);font-weight:600;animation:2.6s ease-in-out 2s infinite intro-glow}.intro-btn-gold:hover,.intro-btn-gold:focus-visible{color:var(--primary-foreground)}.intro-btn-gold:hover svg,.intro-btn-gold:focus-visible svg{transform:translate(4px)}.intro-progress{background:#fff0c81f;height:2px;position:absolute;bottom:0;left:0;right:0}.intro-progress span{transform-origin:0;background:linear-gradient(90deg, var(--gold-3), var(--gold-1));height:100%;box-shadow:0 0 12px var(--gold-2);transition:transform .25s linear;display:block;transform:scaleX(0)}.intro-turn{display:none}@media (orientation:portrait) and (pointer:coarse){.intro-turn{white-space:nowrap;letter-spacing:.25em;color:var(--gold-1);opacity:0;align-items:center;gap:.6rem;margin:0;font-size:.6rem;display:flex;position:absolute;top:62%;left:50%;transform:translate(-50%)}.intro-show[data-state=playing] .intro-turn{animation:1s 7.5s forwards intro-fade}.intro-turn svg{width:18px;height:18px;animation:2.4s ease-in-out infinite intro-turn}}@media (width<=640px){.intro-title{bottom:calc(max(34px, calc(env(safe-area-inset-bottom) + 18px)) + 3.6rem);max-width:90vw}.intro-controls{justify-content:center;gap:.5rem;left:5%;right:5%}.intro-btn{letter-spacing:.2em;padding:.75rem .95rem;font-size:.6rem}}@media (width<=1180px){.intro-btn:not(.intro-btn-gold) span{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}@keyframes intro-rise{to{opacity:1;transform:none}}@keyframes intro-rule{to{transform:scaleY(1)}}@keyframes intro-draw{to{transform:scaleX(1)}}@keyframes intro-fade{to{opacity:1}}@keyframes intro-glow{0%,to{box-shadow:0 0 0 1px var(--gold-3), 0 10px 30px -10px var(--gold-2)}50%{box-shadow:0 0 0 1px var(--gold-1), 0 0 28px -2px var(--gold-2)}}@keyframes intro-turn{0%,20%{transform:rotate(0)}55%,80%{transform:rotate(90deg)}to{transform:rotate(0)}}@media (prefers-reduced-motion:reduce){.intro-show video{transition:opacity .6s;transform:none}.intro-btn-gold,.intro-turn svg{animation:none}.intro-title>*>span{transform:none}.intro-show:not([data-state=waiting]) .intro-title>*>span{animation-name:intro-fade}}.intro-hero-wait{opacity:0;pointer-events:none;background:#f4d48c29;width:min(220px,50vw);height:1px;transition:opacity .4s;position:absolute;top:50%;left:50%;translate:-50%}.intro-hero-wait[data-shown=true]{opacity:1}.intro-hero-wait span{transform-origin:0;background:linear-gradient(90deg, color-mix(in oklab, var(--gold-1) 40%, transparent), var(--gold-1));transition:transform .3s ease-out;position:absolute;inset:0;transform:scaleX(0);box-shadow:0 0 10px #f4d48c8c}
