/* The entrance is deliberately independent of the application's theme. */
[hidden]{display:none!important}
html.entrance-open{background:#060a12;overflow:hidden}
html.entrance-revealing{overflow:hidden}
.entrance-open .app{visibility:hidden;pointer-events:none}
.entrance-open>.bg,.entrance-open #motes{visibility:hidden}
.entrance{--gate-ink:#e7e7e5;--gate-muted:#8895a5;position:fixed;inset:0;z-index:100;color:var(--gate-ink);background:#060a12;overflow:auto;isolation:isolate;font-family:'Familjen Grotesk','Segoe UI',sans-serif;color-scheme:dark}
.entrance::before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(ellipse at 31% 37%,#26445b55,transparent 45%),radial-gradient(ellipse at 75% 43%,#3b254b55,transparent 45%);z-index:-2}
.entrance-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none;opacity:0;transition:opacity .65s}
.entrance.has-canvas .entrance-canvas{opacity:1}
.entrance-layout{position:relative;min-height:100svh;display:grid;grid-template-rows:auto minmax(380px,1fr) auto auto;padding:28px 4.3vw 16px;box-sizing:border-box;gap:0;max-width:1800px;margin:auto}
.entrance-header{display:flex;align-items:center;justify-content:space-between;gap:20px;position:relative;z-index:2}
.entrance-brand{font:600 21px 'Chakra Petch',sans-serif;letter-spacing:-.8px;color:#dedfe2;text-decoration:none}
.entrance-brand b{color:#92b1cb;font-weight:500}.entrance-brand span{color:#9299a6;font-size:17px;font-weight:400}
.entrance-edition{font:10px 'Chakra Petch',sans-serif;letter-spacing:2.3px;color:#91a0b2;text-transform:uppercase;display:flex;align-items:center;gap:18px}
.entrance-edition::before{content:"";width:28px;height:1px;background:#65758b}
.entrance-stage{position:relative;display:flex;align-items:center;justify-content:center;min-width:0;perspective:1000px;overflow:clip;user-select:none}
.entrance-fallback{display:none;position:absolute;width:min(660px,77vw);aspect-ratio:1;left:50%;top:50%;transform:translate(-50%,-50%);opacity:.3;pointer-events:none}
.entrance-fallback img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;filter:grayscale(1) sepia(.2)}
.entrance-fallback img:first-child{clip-path:inset(0 50% 0 0)}
.entrance-fallback img:last-child{clip-path:inset(0 0 0 50%);filter:grayscale(1) sepia(.3) hue-rotate(170deg)}
.entrance.renderer-failed .entrance-fallback{display:block}
.entrance-stage::before{content:"";position:absolute;left:50%;top:13%;height:74%;width:1px;background:linear-gradient(transparent,#b0d6ff77,transparent);box-shadow:0 0 35px 7px #90a9ff16;opacity:0;transition:opacity .6s;pointer-events:none}
.entrance:not(.has-canvas):not(.renderer-failed) .entrance-stage::before{opacity:.65;animation:gate-gather 2.6s ease-in-out infinite}
.entrance:not([hidden]):not(.is-unveiled):not(.exiting) .entrance-header{animation:gate-unveil .9s .1s ease-out backwards}
.entrance:not([hidden]):not(.is-unveiled):not(.exiting) .entrance-title{animation:gate-unveil 1.4s .1s cubic-bezier(.2,.7,.2,1) backwards}
.entrance:not([hidden]):not(.is-unveiled):not(.exiting) .entrance-status,.entrance:not([hidden]):not(.is-unveiled):not(.exiting) .entrance-target{animation:gate-unveil 1.1s .25s ease-out backwards}
.entrance:not([hidden]):not(.is-unveiled):not(.exiting) .entrance-clock{animation:gate-unveil 1.2s .4s cubic-bezier(.2,.7,.2,1) backwards}
.entrance:not([hidden]):not(.is-unveiled):not(.exiting) .entrance-enter,.entrance:not([hidden]):not(.is-unveiled):not(.exiting) .entrance-hint{animation:gate-unveil 1s .65s ease-out backwards}
.entrance:not([hidden]):not(.is-unveiled):not(.exiting) .entrance-schedule,.entrance:not([hidden]):not(.is-unveiled):not(.exiting) .entrance-footer{animation:gate-unveil 1.2s .55s ease-out backwards}
.entrance:not([hidden]):not(.is-unveiled):not(.exiting) .entrance-faction{animation:gate-unveil 1.4s .7s ease-out backwards}
.entrance-core{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;text-align:center;gap:0;padding:35px 10px 28px;will-change:transform;transition:opacity .6s,filter .6s,transform .9s cubic-bezier(.22,.7,.1,1)}
.entrance-status{display:flex;align-items:center;gap:8px;min-height:20px;color:#b0bebf;font-size:10px;letter-spacing:2.1px;text-transform:uppercase;margin-bottom:20px}
.entrance-status i{width:5px;height:5px;border-radius:50%;background:#a3aab3;box-shadow:0 0 14px #9bdac855}
.entrance-status.is-live i{background:#a7dec9;box-shadow:0 0 14px #80debba8;animation:gate-pulse 2.8s ease-in-out infinite}
.entrance-status.is-live{color:#b2d5c8}
.entrance-title{font:400 clamp(27px,3vw,39px) 'Chakra Petch',sans-serif!important;letter-spacing:.34em!important;padding-left:.34em;margin:0!important;color:#f1f0ed;text-shadow:0 2px 28px #02050c}
.entrance-title em{font-style:normal;font-weight:400;color:#b8cadc}
.entrance-target{font-size:10px;letter-spacing:2.6px;text-transform:uppercase;color:#a2afc0;margin:18px 0 5px;min-height:15px;text-shadow:0 2px 10px #000}
.entrance-clock{display:flex;align-items:flex-start;gap:clamp(8px,1.65vw,23px);font-variant-numeric:tabular-nums;font-family:'Chakra Petch',sans-serif;filter:drop-shadow(0 3px 16px #000);margin-bottom:25px}
.entrance-unit{display:flex;flex-direction:column;min-width:clamp(56px,7.7vw,100px)}
.entrance-unit b{font-size:clamp(52px,6.7vw,88px);font-weight:400;line-height:1.16;letter-spacing:-.065em;padding-right:.065em;color:#e3e8ed}
.entrance-unit small{font:9px 'Familjen Grotesk',sans-serif;letter-spacing:2px;text-transform:uppercase;color:#9ba7b9;margin-top:7px}
.entrance-clock>i{font-size:clamp(30px,4vw,52px);line-height:1.9;color:#697588;font-style:normal;font-weight:400}
.entrance-enter{display:inline-flex;align-items:center;gap:24px;color:#d6dde8;border:1px solid #8ba6c54a;background:#0d142245;padding:12px 15px 12px 24px;text-decoration:none;font-size:10px;letter-spacing:2.4px;text-transform:uppercase;transition:background .25s,border-color .25s,box-shadow .25s;border-radius:2px;backdrop-filter:blur(8px)}
.entrance-enter span:last-child{font-size:19px;letter-spacing:0;color:#92adc8;transition:transform .25s}
.entrance-enter:hover{background:#20344c66;border-color:#a8c7e0aa;box-shadow:0 0 40px #5481ad22}.entrance-enter:hover span:last-child{transform:translateX(4px)}
.entrance a:focus-visible,.entrance button:focus-visible{outline:2px solid #b1d4f7;outline-offset:6px}
.entrance-hint{font-size:9px;color:#7d8a9e;letter-spacing:1px;margin-top:17px}
.entrance-faction{position:absolute;top:49%;color:#afbcc8;font-size:11px;letter-spacing:3.5px;text-transform:uppercase;display:flex;flex-direction:column;gap:10px;line-height:1.3;pointer-events:none}
.entrance-faction small{font:8px 'Chakra Petch',sans-serif;letter-spacing:2.3px;color:#778698}
.entrance-faction::after{content:"";display:block;margin-top:3px;width:42px;height:1px;background:linear-gradient(90deg,#9caeae66,transparent)}
.entrance-faction.elyos{left:5%}.entrance-faction.asmodian{right:5%;align-items:flex-end;color:#b4a7c0}.entrance-faction.asmodian::after{transform:rotate(180deg)}
.entrance-schedule{position:relative;z-index:2;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none;margin:0!important;padding:0!important;border-top:1px solid #8da9ca30;background:linear-gradient(0deg,#060b14a6,transparent)}
.entrance-target-sub{font-size:10px;letter-spacing:1.2px;text-transform:uppercase;color:#8f9cae;margin:-13px 0 22px;min-height:14px;text-shadow:0 2px 10px #000}
.entrance-clock.no-days .entrance-unit:first-child,.entrance-clock.no-days .entrance-unit:first-child+i{display:none}
.entrance-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;margin:5px 0;font-size:11px;line-height:1.45;color:#9eabbe;font-variant-numeric:tabular-nums}
.entrance-row>span:first-child{color:#c5cfdc;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.entrance-row>span:last-child{text-align:right;white-space:nowrap}
.entrance-phase.live .entrance-row:first-of-type>span:last-child{color:#a9d9c6}
.entrance-milestone{position:absolute;top:14px;left:0;right:0;display:flex;flex-direction:column;gap:6px;align-items:center;pointer-events:none;z-index:3;animation:gate-unveil .65s ease-out both}
.entrance-milestone strong{font:500 13px 'Chakra Petch',sans-serif;letter-spacing:2px;text-transform:uppercase;color:#cbffe8;text-shadow:0 0 25px #90dbce88}
.entrance-milestone span{font-size:10px;color:#b8c8de;letter-spacing:.7px}
.entrance.phase-celebrating .entrance-status{opacity:0}
.entrance.phase-celebrating .entrance-clock{filter:drop-shadow(0 0 24px #a0e4de55);transition:filter 1s}
.entrance.phase-handoff .entrance-clock{animation:gate-phase-handoff .85s cubic-bezier(.2,.7,.2,1) both}
.entrance[data-transition=intermission] .entrance-milestone strong,.entrance[data-transition=complete] .entrance-milestone strong{color:#d5c6f0;text-shadow:0 0 25px #ae90db66}
@keyframes gate-phase-handoff{from{opacity:.15;transform:translateY(10px);filter:blur(6px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}
@media(min-width:851px) and (max-width:1150px){.entrance-schedule{grid-template-columns:repeat(2,minmax(0,1fr))}.entrance-phase:nth-child(3){border-left:0;padding-left:0}.entrance-phase:nth-child(2),.entrance-phase:nth-child(4){padding-right:0}.entrance-phase:nth-child(3),.entrance-phase:nth-child(4){border-top:1px solid #8da9ca22}}
@media(max-width:850px){.entrance-schedule{grid-template-columns:repeat(2,minmax(0,1fr))}.entrance-phase:nth-child(3){border-left:0;padding-left:0}.entrance-phase:nth-child(2),.entrance-phase:nth-child(4){padding-right:0}.entrance-phase:nth-child(3),.entrance-phase:nth-child(4){border-top:1px solid #8da9ca22}}
.entrance-phase{position:relative;padding:20px 24px 15px;min-width:0}.entrance-phase:first-child{padding-left:0}.entrance-phase:last-child{padding-right:0}
.entrance-phase+.entrance-phase{border-left:1px solid #8da9ca22}
.entrance-phase{--beat:3.8s;--phase-glow:#a0dec8;transition:background .35s}
.entrance-phase:hover,.entrance-phase:focus-within{background:#8ba9c907}
.entrance-phase[data-urgency=approaching]{--beat:2.8s}
.entrance-phase[data-urgency=soon]{--beat:1.8s;--phase-glow:#c7eaff}
.entrance-phase[data-urgency=imminent]{--beat:1.2s;--phase-glow:#ebdcad}
.entrance-progress-wrap{margin-top:13px}
.entrance-progress{position:relative;height:24px;cursor:crosshair;outline:none;touch-action:pan-y}
.entrance-progress-rail{position:absolute;left:0;right:0;top:10px;height:3px;background:#61728d2d;border-radius:3px;overflow:hidden}
.entrance-progress-fill{position:absolute;inset:0 auto 0 0;width:var(--progress-percent,0%);background:linear-gradient(90deg,#659ca688,var(--phase-glow));transition:width 1s linear;overflow:hidden}
.entrance-progress-fill::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 20%,#e7fffac9 50%,transparent 80%);transform:translateX(-100%);animation:gate-flow 4s linear infinite}
.entrance-progress-ticks{position:absolute;inset:18px 0 2px;background:repeating-linear-gradient(90deg,#7691ae4d 0 1px,transparent 1px calc(100% / 24));pointer-events:none;opacity:.6}
.entrance-progress-head{position:absolute;top:9px;left:var(--progress-percent,0%);width:5px;height:5px;border-radius:50%;transform:translateX(-50%);background:var(--phase-glow);box-shadow:0 0 10px 2px #a0dec83b;opacity:0;transition:left 1s linear}
.entrance-phase.live .entrance-progress-head{opacity:1}
.entrance-progress-head::after{content:"";position:absolute;inset:-5px;border:1px solid var(--phase-glow);border-radius:50%;animation:gate-beacon var(--beat) ease-out infinite}
.entrance-phase.next .entrance-progress-head{opacity:.65;--phase-glow:#b7c9e8}
.entrance-phase.done .entrance-progress-fill{background:#70849b}
.entrance-phase:not(.live) .entrance-progress-fill::after{display:none}
.entrance-progress-meta{display:flex;justify-content:space-between;gap:8px;color:#798ba1;font-size:9px;letter-spacing:.3px;line-height:1.5;font-variant-numeric:tabular-nums}
.entrance-phase.live .entrance-progress-meta span:first-child{color:var(--phase-glow)}
.entrance-progress-meta span:last-child{color:#b9c5d5;text-align:right}
.entrance-progress-probe{position:absolute;top:5px;left:var(--probe,0%);width:1px;height:16px;background:#e7efff;opacity:0;pointer-events:none}
.entrance-progress-tip{position:absolute;right:0;bottom:27px;max-width:100%;padding:8px 11px;border:1px solid #a2c4ea33;background:#0b1422f5;box-shadow:0 4px 28px #0009;border-radius:2px;font-size:10px;line-height:1.5;color:#d2e0f2;letter-spacing:.2px;opacity:0;transform:translateY(4px);transition:opacity .2s,transform .2s;pointer-events:none;white-space:normal}
.entrance-progress.inspecting .entrance-progress-tip,.entrance-progress.inspecting .entrance-progress-probe{opacity:1;transform:none}
.entrance-progress:focus-visible{outline:1px solid #b1d4f788;outline-offset:5px;border-radius:1px}
.entrance.launch-near .entrance-clock{filter:drop-shadow(0 0 18px #a0d6ed35)}
.entrance-phase-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.entrance-phase h2{font:400 17px 'Chakra Petch',sans-serif;margin:0;color:#d4dce6;letter-spacing:0;text-transform:none}
.entrance-phase-state{display:flex;align-items:center;gap:6px;font-size:8px;letter-spacing:1.5px;text-transform:uppercase;color:#8290a6;white-space:nowrap}
.entrance-phase.live .entrance-phase-state{color:#a9d9c6}.entrance-phase.live .entrance-phase-state::before{content:"";height:4px;width:4px;background:#a9d9c6;border-radius:50%;box-shadow:0 0 10px #a9d9c6}
.entrance-phase.next .entrance-phase-state{color:#b8cce0}.entrance-phase.done{opacity:.55}
.entrance-time{display:grid;grid-template-columns:32px 1fr;gap:8px;margin:5px 0;font-size:11px;line-height:1.45;color:#9eabbe;font-variant-numeric:tabular-nums}
.entrance-time>span:first-child{font-size:8px;letter-spacing:1px;line-height:1.95;color:#63748b}.entrance-time.local{color:#c5cfdc;margin-top:8px}
.entrance-footer{display:flex;justify-content:space-between;align-items:center;gap:16px;border-top:1px solid #8da9ca17;margin-top:8px;padding-top:13px;color:#697991;font-size:9px;letter-spacing:.4px}
.entrance-footer-right{display:flex;gap:24px;align-items:center}.entrance-motion{appearance:none;border:0;background:none;color:#98a5b7;font:inherit;font-size:9px;padding:3px 0;cursor:pointer}
.entrance-motion:hover{color:#d2deef}
.entrance.exiting{pointer-events:none;overflow:hidden}.entrance.exiting .entrance-core{opacity:0;filter:blur(7px);transform:scale(1.09) translateY(-12px)}
.entrance.exiting .entrance-header,.entrance.exiting .entrance-schedule,.entrance.exiting .entrance-footer,.entrance.exiting .entrance-faction{opacity:0;transition:opacity .45s}
html.entrance-revealing .app{visibility:visible;animation:gate-arrive 1.9s cubic-bezier(.2,.7,.2,1) both}
.entrance.exiting{animation:gate-exit 1.9s ease-in forwards}.entrance.is-still *,.entrance.is-still *::before,.entrance.is-still *::after{animation:none!important;transition:none!important}
@keyframes gate-unveil{from{opacity:0;filter:blur(7px);transform:translateY(13px)}to{opacity:1;filter:blur(0);transform:translateY(0)}}
@keyframes gate-gather{50%{opacity:.25;transform:scaleY(.75)}}
@keyframes gate-flow{to{transform:translateX(100%)}}
@keyframes gate-beacon{0%{opacity:.6;transform:scale(.3)}80%,100%{opacity:0;transform:scale(1.8)}}
@keyframes gate-pulse{50%{box-shadow:0 0 4px #80debb44;opacity:.65}}
@keyframes gate-arrive{from{opacity:0;filter:blur(8px);transform:scale(1.025)}to{opacity:1;filter:blur(0);transform:none}}
@keyframes gate-exit{0%,45%{opacity:1}100%{opacity:0}}
@media(min-width:1600px){.entrance-layout{padding-top:36px;padding-bottom:24px}.entrance-stage{min-height:500px}.entrance-phase{padding-top:24px;padding-bottom:22px}}
@media(max-width:850px){.entrance-layout{padding:22px 25px 15px;grid-template-rows:auto minmax(390px,1fr) auto auto}.entrance-faction.elyos{left:0}.entrance-faction.asmodian{right:0}.entrance-faction{font-size:9px;letter-spacing:2px;top:16%}.entrance-faction small{font-size:7px}.entrance-phase{padding:16px 15px 12px}.entrance-time{font-size:10px;grid-template-columns:28px 1fr;gap:5px}.entrance-phase-top{align-items:flex-start;flex-direction:column;gap:6px}.entrance-phase h2{font-size:16px}.entrance-core{padding-top:58px}.entrance-status{margin-bottom:17px}}
@media(max-width:560px){.entrance-layout{padding:21px 22px 17px;grid-template-rows:auto 400px auto auto;min-height:100svh}.entrance-edition{font-size:8px;letter-spacing:1.3px;gap:7px}.entrance-edition::before{width:12px}.entrance-brand{font-size:19px}.entrance-brand span{font-size:14px}.entrance-title{font-size:29px!important}.entrance-clock{gap:8px;margin-bottom:22px}.entrance-unit{min-width:53px}.entrance-unit b{font-size:53px}.entrance-clock>i{font-size:28px;line-height:2}.entrance-unit small{font-size:8px;letter-spacing:1.4px}.entrance-status{font-size:8px;letter-spacing:1.6px}.entrance-target{font-size:8px;letter-spacing:2px;margin-top:19px}.entrance-faction{top:9%;font-size:8px;letter-spacing:2px}.entrance-faction small{display:none}.entrance-faction::after{width:25px;margin-top:0}.entrance-core{padding-top:40px}.entrance-hint{display:none}.entrance-schedule{grid-template-columns:1fr}.entrance-phase,.entrance-phase:first-child,.entrance-phase:last-child{padding:15px 0 13px}.entrance-phase+.entrance-phase{border-left:0;border-top:1px solid #8da9ca22}.entrance-phase-top{flex-direction:row;align-items:center;margin-bottom:9px}.entrance-time{font-size:11px;grid-template-columns:33px 1fr;margin:3px 0}.entrance-time.local{margin-top:5px}.entrance-footer{align-items:flex-start;font-size:8px;line-height:1.6}.entrance-footer-right{flex-direction:column;align-items:flex-end;gap:4px;flex-shrink:0}.entrance-enter{padding:10px 13px 10px 20px;font-size:9px}.entrance-fallback{width:108vw}}
@media(prefers-reduced-motion:reduce){.entrance *,.entrance *::before,.entrance *::after{animation:none!important;transition:none!important}.entrance.exiting{animation:none;opacity:0}html.entrance-revealing .app{animation:none}}
@media(max-width:560px){.entrance-milestone{top:10px}.entrance-milestone strong{font-size:10px;letter-spacing:1.3px}.entrance-milestone span{font-size:8px}}

@media(max-width:360px){.entrance-clock{gap:5px}.entrance-unit{min-width:46px}.entrance-unit b{font-size:46px}.entrance-clock>i{font-size:26px}}
