/* GURI Portal Reveal: no artificial authentication delays or percentages. */
html{background:#070713;color-scheme:dark}
html[data-auth=initializing]{overflow:hidden}
html[data-auth=initializing] #landing,html[data-auth=initializing] #login,html[data-auth=initializing] #workspace{visibility:hidden!important;pointer-events:none!important}
.guri-portal{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;overflow:hidden;background:radial-gradient(ellipse at 50% 48%,#583d8220,transparent 48%),#070713d9;backdrop-filter:blur(4px);color:#eeeaf7;opacity:1;transition:opacity .38s cubic-bezier(.16,1,.3,1);isolation:isolate}
.guri-portal[hidden]{display:none!important}
.portal-core{position:relative;display:flex;flex-direction:column;align-items:center;transform:translateZ(0);animation:portal-arrive .7s cubic-bezier(.16,1,.3,1) both;transition:transform .4s cubic-bezier(.16,1,.3,1),opacity .3s ease-out;will-change:transform,opacity}
#guri-portal .portal-mark{position:relative;display:grid;place-items:center;width:72px;height:72px;border-radius:20px;background:linear-gradient(145deg,#b76bf1,#7436d5);color:white;font-family:Inter,Arial,sans-serif;font-size:53px;font-weight:750;line-height:1;letter-spacing:-5px;padding-right:4px;box-shadow:inset 0 1px 0 #f1d7ff45,0 0 38px #a46cef12;overflow:hidden;animation:portal-mark-sharpen .65s ease-out both}
.portal-mark:after{content:'';position:absolute;inset:-40% -80%;background:linear-gradient(110deg,transparent 38%,#ffffff26 49%,transparent 60%);transform:translateX(-55%);animation:portal-sweep 3.6s cubic-bezier(.16,1,.3,1) infinite;pointer-events:none}
.portal-name{font:650 20px/1.3 Inter,Arial,sans-serif;letter-spacing:.22em;margin:30px 0 7px;padding-left:.22em}.portal-subtitle{font:500 8px/1.5 Inter,Arial,sans-serif;letter-spacing:.38em;color:#aaa0be;padding-left:.38em}
.portal-orbit{position:absolute;top:-39px;width:220px;height:150px;border:1px solid #ba94eb28;border-radius:50%;transform:rotate(-24deg);animation:portal-orbit 15s linear infinite;pointer-events:none}
.portal-orbit:after{content:'';position:absolute;width:4px;height:4px;top:22px;right:28px;border-radius:50%;background:#dec4ff;box-shadow:0 0 9px #d7aaff99}
.portal-beam{width:108px;height:1px;margin-top:33px;background:#b991ed13;overflow:hidden;position:relative}
.portal-beam:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent,#cfadff,transparent);transform:translateX(-110%);animation:portal-beam 1.8s cubic-bezier(.4,0,.2,1) infinite;opacity:.7}
.guri-portal.is-leaving{opacity:0;pointer-events:none}.guri-portal.is-leaving .portal-core{opacity:0;transform:scale(.9)}
html.guri-portal-revealing[data-auth=authenticated] #workspace,html.guri-portal-revealing[data-auth=anonymous] #login{animation:portal-content-reveal .4s cubic-bezier(.16,1,.3,1) both}
@keyframes portal-arrive{from{opacity:0;transform:scale(.93)}to{opacity:1;transform:scale(1)}}
@keyframes portal-mark-sharpen{from{filter:blur(3px)}to{filter:blur(0)}}
@keyframes portal-sweep{0%,30%{transform:translateX(-55%)}65%,100%{transform:translateX(55%)}}
@keyframes portal-orbit{to{transform:rotate(336deg)}}
@keyframes portal-beam{to{transform:translateX(110%)}}
@keyframes portal-content-reveal{from{opacity:.65;filter:blur(2px)}to{opacity:1;filter:blur(0)}}
@media(prefers-reduced-motion:reduce){.guri-portal,.portal-core{transition:none!important}.portal-core,.portal-mark,.portal-mark:after,.portal-orbit,.portal-beam:after,html.guri-portal-revealing #workspace,html.guri-portal-revealing #login{animation:none!important;filter:none!important}.portal-beam:after{transform:none;opacity:.35}}
