.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:28px;height:32px;padding:0;border:0;background:none;color:var(--theme-toggle-fg);cursor:pointer;-webkit-tap-highlight-color:transparent}.theme-toggle:focus-visible{outline:2px solid var(--theme-toggle-focus);outline-offset:-2px}.theme-toggle svg{display:block;width:15px;height:15px;overflow:visible}.theme-toggle :is(.tt-moon,.tt-sun,.tt-rays){transform-box:view-box;transform-origin:8px 8px}.theme-toggle .tt-moon{transform:rotate(0deg) scale(1);opacity:1;transition:transform .4s ease .1s,opacity .3s ease .1s}.theme-toggle .tt-sun{transform:rotate(-90deg) scale(.4);opacity:0;transition:transform .3s ease,opacity .2s ease}.theme-toggle .tt-rays{transform:scale(.4);transition:transform .3s ease}.theme-toggle[aria-checked=true] .tt-moon{transform:rotate(90deg) scale(.4);opacity:0;transition:transform .3s ease,opacity .2s ease}.theme-toggle[aria-checked=true] .tt-sun{transform:rotate(0deg) scale(1);opacity:1;transition:transform .4s ease .1s,opacity .3s ease .1s}.theme-toggle[aria-checked=true] .tt-rays{transform:scale(1);transition:transform .5s ease .15s}.theme-toggle:not([data-ready]) :is(.tt-moon,.tt-sun,.tt-rays){transition:none}@property --theme-reveal{syntax:"<length>";inherits:false;initial-value:0}html.theme-revealing::view-transition-new(root),html.theme-revealing::view-transition-old(root){animation:none;mix-blend-mode:normal}html.theme-revealing::view-transition-new(root){clip-path:inset(calc(var(--theme-y, 50vh) - var(--theme-reveal)) calc(100% - var(--theme-x, 50vw) - var(--theme-reveal)) calc(100% - var(--theme-y, 50vh) - var(--theme-reveal)) calc(var(--theme-x, 50vw) - var(--theme-reveal)));animation:theme-reveal .5s ease-in-out forwards}@keyframes theme-reveal{0%{--theme-reveal:0px}to{--theme-reveal:150vmax}}html.theme-revealing :not(.theme-toggle,.theme-toggle *),html.theme-revealing :not(.theme-toggle,.theme-toggle *):after,html.theme-revealing :not(.theme-toggle,.theme-toggle *):before{transition:none!important}html.theme-revealing .theme-toggle{view-transition-name:udk-theme-toggle}html.theme-revealing::view-transition-group(udk-theme-toggle),html.theme-revealing::view-transition-new(udk-theme-toggle),html.theme-revealing::view-transition-old(udk-theme-toggle){animation:none;mix-blend-mode:normal}html.theme-revealing::view-transition-old(udk-theme-toggle){display:none}@media (prefers-reduced-motion:reduce){.theme-toggle :is(.tt-moon,.tt-sun,.tt-rays){transition:none}}.landing{height:100dvh;width:100%;min-width:0;display:flex;flex-direction:column}.landing header{display:flex!important;flex-shrink:0}.landing main{flex:none;height:calc(100dvh - 70px)}.landing .tile,.landing main{min-height:0;min-width:0;overflow:hidden}.landing .tile{flex:1;flex-direction:column;align-items:stretch;justify-content:flex-start;border:1px solid var(--line-color);background:var(--bg-color);cursor:default}.landing #glcanvas{width:100%;height:100%}.landing .bar-controls{position:relative;top:auto;right:auto;translate:none;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end;height:auto;min-height:48px;padding:12px}.landing .bar-login{min-width:0;overflow-wrap:anywhere}.landing .landing-content{position:relative;z-index:1;flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;gap:24px;padding:clamp(20px,5vw,60px);text-align:center;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}.landing .landing-content>:first-child{margin-top:auto}.landing .landing-content>:last-child{margin-bottom:auto}.landing h1{background-color:var(--bg-color);padding:12px 20px;max-width:22ch;font-size:clamp(2rem,1.2rem + 4vw,3.5rem);font-weight:800;letter-spacing:-1px;line-height:1.1;overflow-wrap:anywhere;text-wrap:balance}.landing .landing-signin{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;min-height:56px;min-width:44px;max-width:100%;padding:16px 32px;background:var(--text-color);color:var(--bg-color);background:light-dark(var(--bg-color),var(--text-color));color:light-dark(var(--text-color),var(--bg-color));border:1px solid var(--line-color);text-decoration:none;text-transform:uppercase;font-size:.85rem;font-weight:600;letter-spacing:2px;overflow-wrap:anywhere}.landing .landing-signin:focus-visible,.landing .landing-signin:hover{background:var(--bg-color);color:var(--text-color);background:light-dark(var(--text-color),var(--bg-color));color:light-dark(var(--bg-color),var(--text-color))}.landing a:focus-visible,.landing button:focus-visible{outline:2px solid var(--focus-color);outline-offset:3px}.landing p[role=alert]{overflow-wrap:anywhere}@media (max-width:768px){.landing main{height:calc(100dvh - 60px);padding:10px 16px}}