.auth-logo-sculpture{--logo-depth:1.5px;position:relative;display:block;isolation:isolate;width:100%;height:100%}.auth-logo-face{position:absolute;inset:0;z-index:2;display:block;width:100%;height:100%;-o-object-fit:contain;object-fit:contain}.auth-logo-depth,.auth-logo-reflection{position:absolute;inset:0;-webkit-mask:url(/Halden_HUB.png) center/contain no-repeat;mask:url(/Halden_HUB.png) center/contain no-repeat}.auth-logo-cast{position:absolute;inset:0;z-index:0;width:100%;height:100%;transform:translateY(16px);filter:brightness(0) blur(12px);opacity:.18}.auth-logo-depth{z-index:1;transform:translateY(var(--logo-depth));background:color-mix(in srgb,var(--hub-cyan) 32%,var(--hub-room-base));opacity:.8}.auth-logo-reflection{z-index:3;overflow:hidden}.auth-logo-reflection>i{position:absolute;left:-90%;top:-40%;width:70%;height:180%;transform:rotate(-28deg);background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--hub-paper) 6%,transparent) 24%,color-mix(in srgb,var(--hub-paper) 32%,transparent) 48%,color-mix(in srgb,var(--hub-paper) 8%,transparent) 62%,transparent)}@media (prefers-reduced-transparency:reduce){.auth-logo-face{opacity:1;filter:none}.auth-logo-depth,.auth-logo-reflection{display:none}}@media (forced-colors:active){.auth-logo-face{opacity:1;filter:none}.auth-logo-cast,.auth-logo-depth,.auth-logo-reflection{display:none}}@media (max-width:767px){.auth-logo-sculpture{--logo-depth:1px}}.auth-ceremony .auth-logo-sculpture{--logo-depth:1px}.studio-login{--auth-arrival:1200ms;--auth-ease:cubic-bezier(.32,.72,0,1)}.auth-threshold-frame{animation:auth-logo-arrive var(--auth-arrival) var(--auth-ease) backwards}.auth-logo-reflection>i{animation:auth-logo-catchlight 1.4s cubic-bezier(.77,0,.175,1) both}.auth-submit{transition:transform var(--hub-fast,.14s) var(--hub-ease,cubic-bezier(.23,1,.32,1)),background-color var(--hub-fast,.14s) ease}.auth-submit:active:not(:disabled){transform:scale(.98)}.auth-ceremony{--auth-night:var(--hub-room-base,#0b2032);--auth-paper:var(--hub-paper,#edf4f3);--auth-cyan:var(--hub-cyan,#b8edeb);--auth-green:var(--hub-accent,#b7e493);--auth-ease:cubic-bezier(.32,.72,0,1);position:fixed;inset:0;z-index:250;width:100%;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;overflow:clip;isolation:isolate;color:var(--auth-paper);background:transparent;font-family:var(--studio-font,system-ui)}.auth-ceremony::backdrop{background:transparent}.auth-ceremony[open][data-closing=true]{animation:auth-ceremony-release .2s cubic-bezier(.23,1,.32,1) both}.auth-entry-cover[open]{display:grid;place-items:center;background:var(--auth-night);animation:auth-cross-threshold var(--auth-ceremony-duration) var(--auth-ease) both}.auth-entry-seam{position:absolute;inset:0 auto 0 50%;width:1px;background:linear-gradient(transparent,var(--auth-cyan) 28%,var(--auth-green) 72%,transparent);opacity:.7}.auth-entry-greeting{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;width:min(680px,calc(100% - 48px));padding:32px;text-align:center;background:var(--auth-night);animation:auth-greeting-arrive var(--auth-ceremony-duration) var(--auth-ease) both}.auth-departure-copy>span:not(.auth-logo-sculpture),.auth-entry-greeting>span:not(.auth-logo-sculpture){display:block;max-width:100%;color:var(--auth-paper);font:560 clamp(56px,7.3vw,96px)/1.1 var(--studio-display,var(--studio-font,system-ui));font-stretch:95%;font-optical-sizing:auto;letter-spacing:-.025em;text-wrap:balance}.auth-departure-copy p,.auth-entry-greeting p{margin:18px 0 0;color:var(--auth-cyan);font:17px/1.5 var(--studio-font,system-ui)}.auth-ceremony .auth-ceremony-logo{width:148px;height:148px;margin-bottom:36px}.auth-ceremony .auth-logo-reflection>i{animation:auth-logo-catchlight var(--auth-ceremony-duration) cubic-bezier(.77,0,.175,1) both}.auth-ceremony-skip{position:absolute;z-index:4;left:50%;bottom:max(28px,env(safe-area-inset-bottom));display:flex;align-items:center;gap:10px;min-height:40px;padding:8px 14px;border:0;border-radius:12px;transform:translateX(-50%);background:color-mix(in srgb,var(--auth-paper) 7%,transparent);color:var(--hub-muted);font:13px/1.4 var(--studio-font,system-ui);cursor:pointer}.auth-ceremony-skip kbd{padding:2px 5px;border:1px solid color-mix(in srgb,var(--auth-paper) 24%,transparent);border-radius:4px;font:11px/1.2 var(--studio-font,system-ui)}.auth-ceremony-skip:focus-visible{outline:2px solid var(--auth-green);outline-offset:4px}.studio-logout-button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:36px;padding:8px 12px;border-radius:10px;color:var(--workspace-muted,var(--hub-muted,#bdd0da));background:transparent;font:500 12px/1.25 var(--studio-font,system-ui);transition:background-color var(--hub-fast,.14s) ease,color var(--hub-fast,.14s) ease}.studio-logout-button:focus-visible{outline:2px solid var(--workspace-accent,var(--hub-accent,#b7e493));outline-offset:3px}.studio-logout-button:disabled{cursor:wait}.auth-departure-pane{position:absolute;inset:0;background:var(--auth-night)}.auth-departure-left{right:50%;animation:auth-door-left var(--auth-ceremony-duration) var(--auth-ease) both}.auth-departure-right{left:50%;animation:auth-door-right var(--auth-ceremony-duration) var(--auth-ease) both}.auth-departure-pane:after{content:"";position:absolute;top:0;bottom:0;width:1px;background:var(--auth-cyan);animation:auth-door-edge var(--auth-ceremony-duration) var(--auth-ease) both}.auth-departure-left:after{right:0}.auth-departure-right:after{left:0}.auth-departure-copy{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;text-align:center;animation:auth-signoff-copy var(--auth-ceremony-duration) var(--auth-ease) both}.auth-departure-seam{position:absolute;z-index:1;top:0;bottom:0;left:50%;width:1px;background:linear-gradient(transparent,var(--auth-cyan) 16%,transparent 28%,transparent 74%,var(--auth-green) 88%,transparent);animation:auth-seam-close var(--auth-ceremony-duration) var(--auth-ease) both}@keyframes auth-logo-arrive{0%{opacity:.35;transform:translateY(16px) scale(.97)}}@keyframes auth-ceremony-release{0%{opacity:1}to{opacity:0}}@keyframes auth-logo-catchlight{0%,12%{transform:translateX(0) rotate(-28deg);opacity:0}28%{opacity:.85}85%,to{transform:translateX(380%) rotate(-28deg);opacity:0}}@keyframes auth-cross-threshold{0%{opacity:0;clip-path:inset(12% 18% 12% 18% round 40px)}28%,to{opacity:1;clip-path:inset(0 0 0 0 round 0)}}@keyframes auth-greeting-arrive{0%,8%{opacity:0;transform:translateY(16px)}34%,to{opacity:1;transform:translateY(0)}}@keyframes auth-door-left{0%{transform:translateX(-100%)}40%,to{transform:translateX(0)}}@keyframes auth-door-right{0%{transform:translateX(100%)}40%,to{transform:translateX(0)}}@keyframes auth-signoff-copy{0%,18%{opacity:0;transform:translateY(12px)}46%,to{opacity:1;transform:translateY(0)}}@keyframes auth-door-edge{0%,28%{opacity:1}48%,to{opacity:0}}@keyframes auth-seam-close{0%,26%{opacity:0;transform:scaleY(.65)}60%,to{opacity:.45;transform:scaleY(1)}}@media (max-width:767px){.auth-ceremony .auth-ceremony-logo{width:112px;height:112px;margin-bottom:28px}.auth-departure-copy>span:not(.auth-logo-sculpture),.auth-entry-greeting>span:not(.auth-logo-sculpture){font-size:clamp(44px,12.8vw,64px)}.auth-departure-copy p,.auth-entry-greeting p{font-size:15px}}@media (hover:hover) and (pointer:fine){.auth-submit:hover:not(:disabled){background:color-mix(in srgb,var(--auth-green) 88%,var(--auth-paper))}.auth-console-bottom button:hover,.auth-pin-heading button:hover{color:var(--auth-green)}.studio-logout-button:hover{color:var(--workspace-text,var(--hub-text));background:color-mix(in srgb,var(--workspace-accent,var(--hub-cyan)) 10%,transparent)}.auth-ceremony-skip:hover{background:color-mix(in srgb,var(--auth-paper) 14%,transparent);color:var(--auth-paper)}}@media (prefers-reduced-motion:reduce){.auth-departure-copy,.auth-departure-pane,.auth-departure-pane:after,.auth-departure-seam,.auth-entry-cover,.auth-entry-greeting,.auth-logo-reflection>i,.auth-threshold-frame{animation:none}.auth-submit,.studio-logout-button{transition:none}.auth-submit:active:not(:disabled){transform:none}.auth-ceremony[open][data-closing=true]{animation:none}}body[data-studio-input=keyboard] :is(.auth-submit,.studio-logout-button){transition:none}