.zhaw-sidebar-host .console-sidebar-card{--zhaw-os-app-accent:#67e4d6;--zhaw-os-app-glow:var(--zhaw-os-app-accent);--zhaw-os-app-depth:color-mix(in srgb, var(--zhaw-os-app-accent) 24%, #071114 76%);--zhaw-os-app-icon:url(/icons/sidebar-apps/dashboard.svg?v=20260521-appicon-d);--console-sidebar-active-dot:var(--zhaw-os-app-accent)}.zhaw-sidebar-host--collapsed .console-brand-header,.zhaw-sidebar-host--docked .console-sidebar-dock-short-brand .console-brand-header{background:0 0!important;border-radius:1.32rem!important;width:3.72rem!important;height:3.72rem!important;padding:0!important;overflow:visible!important}.zhaw-sidebar-host--collapsed .console-brand-mark-shell,.zhaw-sidebar-host--docked .console-sidebar-dock-short-brand .console-brand-mark-shell{background:linear-gradient(135deg,#05352e 0%,#081a2e 54%,#17112c 100%)!important;border-color:#0000!important;border-radius:1.16rem!important;width:3.32rem!important;min-width:3.32rem!important;height:3.32rem!important;min-height:3.32rem!important;box-shadow:0 .36rem .9rem #0919222e!important}.zhaw-sidebar-host--collapsed .console-brand-mark-shell:before,.zhaw-sidebar-host--docked .console-sidebar-dock-short-brand .console-brand-mark-shell:before{background:linear-gradient(135deg,#ffffff2e,#0000 42%)!important}.zhaw-sidebar-host--collapsed .console-sidebar-shell,.zhaw-sidebar-host--docked .console-sidebar-dock-preview .console-sidebar-shell{overflow:visible!important}.zhaw-sidebar-host--collapsed .console-sidebar-viewport-collapsed,.zhaw-sidebar-host--docked .console-sidebar-dock-preview .console-sidebar-viewport-collapsed{--zhaw-sidebar-collapsed-icon-bleed:.72rem;--zhaw-sidebar-collapsed-top-fade:.72rem;--zhaw-sidebar-collapsed-bottom-fade:1.8rem;--zhaw-sidebar-collapsed-mask:linear-gradient(to bottom, transparent 0, #000000c7 calc(var(--zhaw-sidebar-collapsed-top-fade) * .5), #000 var(--zhaw-sidebar-collapsed-top-fade), #000 calc(100% - var(--zhaw-sidebar-collapsed-bottom-fade)), #000000c7 calc(100% - 1.42rem), transparent 100%);box-sizing:border-box;width:calc(100% + (var(--zhaw-sidebar-collapsed-icon-bleed) * 2));margin-inline:calc(var(--zhaw-sidebar-collapsed-icon-bleed) * -1);margin-top:calc(var(--zhaw-sidebar-collapsed-icon-bleed) * -1);margin-bottom:calc(var(--zhaw-sidebar-collapsed-bottom-fade) * -1);-webkit-mask-image:var(--zhaw-sidebar-collapsed-mask);-webkit-mask-image:var(--zhaw-sidebar-collapsed-mask);mask-image:var(--zhaw-sidebar-collapsed-mask);height:calc(100% + var(--zhaw-sidebar-collapsed-bottom-fade))!important;padding-top:var(--zhaw-sidebar-collapsed-icon-bleed)!important;padding-bottom:var(--zhaw-sidebar-collapsed-bottom-fade)!important}.zhaw-sidebar-host .console-sidebar-card[data-sidebar-item-id=dashboard]{--zhaw-os-app-accent:#19d5b0;--zhaw-os-app-glow:#63f4cf;--zhaw-os-app-icon:url(/icons/sidebar-apps/dashboard.svg?v=20260521-appicon-d)}.zhaw-sidebar-host .console-sidebar-card[data-sidebar-item-id=launchpad],.zhaw-launchpad-app[data-sidebar-item-id=launchpad]{--zhaw-os-app-accent:#67e4d6;--zhaw-os-app-glow:#27b7ff;--zhaw-os-app-icon:url(/icons/sidebar-apps/launchpad.svg?v=20260520-launchpad-a)}.zhaw-launchpad-app[data-sidebar-item-id=dashboard]{--zhaw-os-app-accent:#19d5b0;--zhaw-os-app-glow:#63f4cf;--zhaw-os-app-icon:url(/icons/sidebar-apps/dashboard.svg?v=20260521-appicon-d)}.zhaw-sidebar-host .console-sidebar-card[data-sidebar-item-id=projects],.zhaw-launchpad-app[data-sidebar-item-id=projects]{--zhaw-os-app-accent:#35b8f0;--zhaw-os-app-glow:#58dff0;--zhaw-os-app-icon:url(/icons/sidebar-apps/projects.svg?v=20260520-appicon-e)}.zhaw-sidebar-host .console-sidebar-card[data-sidebar-item-id=cron],.zhaw-launchpad-app[data-sidebar-item-id=cron]{--zhaw-os-app-accent:#f7ad25;--zhaw-os-app-glow:#ffe85d;--zhaw-os-app-icon:url(/icons/sidebar-apps/cron.svg?v=20260520-appicon-d)}.zhaw-sidebar-host .console-sidebar-card[data-sidebar-item-id=music],.zhaw-launchpad-app[data-sidebar-item-id=music]{--zhaw-os-app-accent:#78e4d8;--zhaw-os-app-glow:#71dfd2;--zhaw-os-app-icon:url(/icons/sidebar-apps/music.svg?v=20260602-appicon-k)}.zhaw-sidebar-host .console-sidebar-card[data-sidebar-item-id=family],.zhaw-launchpad-app[data-sidebar-item-id=family]{--zhaw-os-app-accent:#f2a65a;--zhaw-os-app-glow:#6ee8d4;--zhaw-os-app-icon:url(/icons/sidebar-apps/family.svg?v=20260629-appicon-c)}.zhaw-sidebar-host .console-sidebar-card[data-sidebar-item-id=equipment],.zhaw-launchpad-app[data-sidebar-item-id=equipment]{--zhaw-os-app-accent:#4fb6d8;--zhaw-os-app-glow:#64e0d8;--zhaw-os-app-icon:url(/icons/sidebar-apps/equipment.svg?v=20260625-equipment-a)}.zhaw-sidebar-host .console-sidebar-card[data-sidebar-item-id=smartBrowser],.zhaw-launchpad-app[data-sidebar-item-id=smartBrowser]{--zhaw-os-app-accent:#2dd4bf;--zhaw-os-app-glow:#7cf8ee;--zhaw-os-app-icon:url(/icons/sidebar-apps/smart-browser.svg?v=20260625-smart-browser-a)}.zhaw-sidebar-host .console-sidebar-card[data-sidebar-item-id=imChannels],.zhaw-launchpad-app[data-sidebar-item-id=imChannels]{--zhaw-os-app-accent:#2fd36f;--zhaw-os-app-glow:#55f38d;--zhaw-os-app-icon:url(/icons/sidebar-apps/im-channels.svg?v=20260521-appicon-f)}.zhaw-sidebar-host .console-sidebar-card[data-sidebar-item-id=skills],.zhaw-launchpad-app[data-sidebar-item-id=skills]{--zhaw-os-app-accent:#8e74f5;--zhaw-os-app-glow:#7a63ea;--zhaw-os-app-icon:url(/icons/sidebar-apps/skills.svg?v=20260520-appicon-e)}.zhaw-sidebar-host .console-sidebar-card[data-sidebar-item-id=audit],.zhaw-launchpad-app[data-sidebar-item-id=audit]{--zhaw-os-app-accent:#57c7bd;--zhaw-os-app-glow:#32d8c6;--zhaw-os-app-icon:url(/icons/sidebar-apps/audit.svg?v=20260520-appicon-g)}.zhaw-sidebar-host .console-sidebar-card[data-sidebar-item-id=settings],.zhaw-launchpad-app[data-sidebar-item-id=settings]{--zhaw-os-app-accent:#879fe8;--zhaw-os-app-glow:#6384df;--zhaw-os-app-icon:url(/icons/sidebar-apps/settings.svg?v=20260520-appicon-d)}.zhaw-sidebar-host .console-sidebar-card[data-sidebar-item-id=troubleshootingTrace],.zhaw-launchpad-app[data-sidebar-item-id=troubleshootingTrace]{--zhaw-os-app-accent:#64e0d8;--zhaw-os-app-glow:#2db8ff;--zhaw-os-app-icon:url(/icons/sidebar-apps/troubleshooting-trace.svg?v=20260520-appicon-e)}.zhaw-sidebar-host .console-sidebar-card-active{background:radial-gradient(circle at 0% 16%, color-mix(in srgb, var(--zhaw-os-app-accent) 18%, transparent), transparent 42%), radial-gradient(circle at 100% 8%, color-mix(in srgb, var(--zhaw-os-app-accent) 12%, transparent), transparent 34%), color-mix(in srgb, var(--color-surface-elevated) 84%, var(--zhaw-os-app-accent) 10%)!important;border-color:#0000!important}.zhaw-sidebar-host .console-sidebar-card-active:hover{background:radial-gradient(circle at 0% 16%, color-mix(in srgb, var(--zhaw-os-app-accent) 22%, transparent), transparent 42%), radial-gradient(circle at 100% 8%, color-mix(in srgb, var(--zhaw-os-app-accent) 15%, transparent), transparent 34%), color-mix(in srgb, var(--color-surface-elevated) 80%, var(--zhaw-os-app-accent) 13%)!important;border-color:#0000!important}.zhaw-sidebar-host .console-sidebar-card-active:before{content:none!important;display:none!important}.zhaw-sidebar-host .console-sidebar-card .console-sidebar-icon-shell{width:3.48rem;height:3.48rem;box-shadow:0 .22rem .42rem color-mix(in srgb, var(--zhaw-os-app-depth) 16%, transparent);border:0 solid #0000;border-radius:1.16rem;transition:transform .18s cubic-bezier(.22,1,.36,1),box-shadow .18s;overflow:hidden;background:var(--zhaw-os-app-icon) center / cover no-repeat!important}.zhaw-sidebar-host .console-sidebar-card .console-sidebar-icon-shell:before,.zhaw-sidebar-host .console-sidebar-card .console-sidebar-icon-shell:after{content:none}.zhaw-sidebar-host .console-sidebar-card .console-sidebar-icon-shell svg{opacity:0;position:absolute}.zhaw-sidebar-host .console-sidebar-card:not(.console-sidebar-card-active):hover .console-sidebar-icon-shell,.zhaw-sidebar-host .console-sidebar-card:not(.console-sidebar-card-active):focus-visible .console-sidebar-icon-shell{box-shadow:0 .3rem .58rem color-mix(in srgb, var(--zhaw-os-app-depth) 18%, transparent);transform:translateY(-1px)}.zhaw-sidebar-host .console-sidebar-card:active .console-sidebar-icon-shell{box-shadow:0 0 1.08rem color-mix(in srgb, var(--zhaw-os-app-glow) 58%, transparent), 0 .46rem 1rem color-mix(in srgb, var(--zhaw-os-app-glow) 34%, transparent);transform:translateY(0)}.zhaw-sidebar-host .console-sidebar-card .console-sidebar-icon-shell-active{box-shadow:0 0 1.08rem color-mix(in srgb, var(--zhaw-os-app-glow) 48%, transparent), 0 .46rem 1.34rem color-mix(in srgb, var(--zhaw-os-app-glow) 34%, transparent), 0 .3rem .72rem color-mix(in srgb, var(--zhaw-os-app-depth) 22%, transparent);border-color:#0000!important}.zhaw-sidebar-host--collapsed .console-sidebar-card,.zhaw-sidebar-host--docked .console-sidebar-dock-preview .console-sidebar-card{width:3.72rem!important;height:3.72rem!important;box-shadow:none!important;background:0 0!important;border-color:#0000!important;padding:0!important;overflow:visible!important}.zhaw-sidebar-host--collapsed .console-sidebar-card:hover,.zhaw-sidebar-host--collapsed .console-sidebar-card-active,.zhaw-sidebar-host--docked .console-sidebar-dock-preview .console-sidebar-card:hover,.zhaw-sidebar-host--docked .console-sidebar-dock-preview .console-sidebar-card-active{box-shadow:none!important;background:0 0!important;border-color:#0000!important}#app .zhaw-sidebar-host--collapsed .console-sidebar-icon-shell,#app .zhaw-sidebar-host--docked .console-sidebar-dock-preview .console-sidebar-icon-shell{width:3.32rem!important;min-width:3.32rem!important;height:3.32rem!important;min-height:3.32rem!important;box-shadow:0 .36rem .9rem color-mix(in srgb, var(--zhaw-os-app-glow) 28%, transparent)!important;border-radius:1.16rem!important;overflow:visible!important}#app .zhaw-sidebar-host--collapsed .console-sidebar-card:hover .console-sidebar-icon-shell,#app .zhaw-sidebar-host--docked .console-sidebar-dock-preview .console-sidebar-card:hover .console-sidebar-icon-shell{box-shadow:0 .36rem .9rem color-mix(in srgb, var(--zhaw-os-app-glow) 34%, transparent)!important}#app .zhaw-sidebar-host--collapsed .console-sidebar-icon-shell-active,#app .zhaw-sidebar-host--docked .console-sidebar-dock-preview .console-sidebar-icon-shell-active{box-shadow:0 0 1.22rem color-mix(in srgb, var(--zhaw-os-app-glow) 58%, transparent), 0 .5rem 1.36rem color-mix(in srgb, var(--zhaw-os-app-glow) 42%, transparent), 0 .36rem .9rem color-mix(in srgb, var(--zhaw-os-app-depth) 18%, transparent)!important}#app .zhaw-sidebar-host--collapsed .console-sidebar-card-active:hover .console-sidebar-icon-shell-active,#app .zhaw-sidebar-host--collapsed .console-sidebar-card-active:focus-visible .console-sidebar-icon-shell-active,#app .zhaw-sidebar-host--docked .console-sidebar-dock-preview .console-sidebar-card-active:hover .console-sidebar-icon-shell-active,#app .zhaw-sidebar-host--docked .console-sidebar-dock-preview .console-sidebar-card-active:focus-visible .console-sidebar-icon-shell-active{transform:translateY(-1px);box-shadow:0 0 1.22rem color-mix(in srgb, var(--zhaw-os-app-glow) 58%, transparent), 0 .5rem 1.36rem color-mix(in srgb, var(--zhaw-os-app-glow) 42%, transparent), 0 .36rem .9rem color-mix(in srgb, var(--zhaw-os-app-depth) 18%, transparent)!important}:root[data-theme=dark] .zhaw-sidebar-host .console-sidebar-card-active{background:radial-gradient(circle at 0% 16%, color-mix(in srgb, var(--zhaw-os-app-accent) 23%, transparent), transparent 42%), radial-gradient(circle at 100% 8%, color-mix(in srgb, var(--zhaw-os-app-accent) 14%, transparent), transparent 34%), color-mix(in srgb, var(--color-surface-panel) 72%, var(--zhaw-os-app-accent) 14%)!important;border-color:#0000!important}:root[data-theme=dark] .zhaw-sidebar-host .console-sidebar-card .console-sidebar-icon-shell{box-shadow:0 .28rem .68rem color-mix(in srgb, var(--zhaw-os-app-glow) 10%, transparent);background:var(--zhaw-os-app-icon) center / cover no-repeat!important;border-color:#0000!important}:root[data-theme=dark] .zhaw-sidebar-host .console-sidebar-card .console-sidebar-icon-shell-active{box-shadow:0 0 1.12rem color-mix(in srgb, var(--zhaw-os-app-glow) 52%, transparent), 0 .48rem 1.38rem color-mix(in srgb, var(--zhaw-os-app-glow) 38%, transparent), 0 .34rem .78rem color-mix(in srgb, var(--zhaw-os-app-depth) 24%, transparent);border-color:#0000!important}@media (prefers-reduced-motion:reduce){.zhaw-sidebar-host .console-sidebar-card:hover .console-sidebar-icon-shell,.zhaw-sidebar-host .console-sidebar-card:focus-visible .console-sidebar-icon-shell{box-shadow:0 0 .72rem color-mix(in srgb, var(--zhaw-os-app-glow) 28%, transparent), 0 .3rem .72rem #07111424}.zhaw-sidebar-host .console-sidebar-card:active .console-sidebar-icon-shell{box-shadow:0 0 1.08rem color-mix(in srgb, var(--zhaw-os-app-glow) 58%, transparent), 0 .46rem 1rem color-mix(in srgb, var(--zhaw-os-app-glow) 34%, transparent)}}@media (width<=63.999rem){.console-shell:has(.zhaw-sidebar-host){grid-template-rows:auto minmax(0,1fr);align-content:stretch}.console-shell-sidebar-track:has(.zhaw-sidebar-host){min-height:0;width:100%!important;height:auto!important}.zhaw-sidebar-host,.zhaw-sidebar-host .zhaw-sidebar-music-boundary{width:100%;height:auto;min-height:0}.zhaw-sidebar-host .console-sidebar-shell{box-sizing:border-box;border-radius:1.35rem;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;max-width:100%;max-height:5.65rem;gap:.58rem!important;width:100%!important;height:auto!important;min-height:0!important;padding:.58rem .68rem!important;display:grid!important;overflow:hidden!important}.zhaw-sidebar-host .console-sidebar-shell>.relative.min-h-0{min-width:0;height:4.08rem;min-height:0;overflow:hidden}.zhaw-sidebar-host .console-sidebar-shell>.relative.min-h-0>.rounded-scrollbar{box-sizing:border-box;scrollbar-width:none;align-items:center;gap:.42rem;display:flex;width:100%!important;height:100%!important;margin:0!important;padding:.18rem .82rem!important;overflow:auto hidden!important;-webkit-mask-image:none!important;mask-image:none!important}.zhaw-sidebar-host .console-sidebar-shell>.relative.min-h-0>.rounded-scrollbar::-webkit-scrollbar{width:0;height:0}.zhaw-sidebar-host .console-sidebar-shell nav.space-y-2{align-items:center;width:max-content;gap:.42rem!important;display:flex!important}.zhaw-sidebar-host .console-sidebar-shell nav.space-y-2>*{margin:0!important}.zhaw-sidebar-host .console-sidebar-card{width:3.72rem!important;height:3.72rem!important;padding:0!important}.zhaw-sidebar-host .console-brand-header{border-radius:1.18rem!important;width:3.72rem!important;height:3.72rem!important;padding:0!important}.zhaw-sidebar-host .console-brand-header-row{justify-content:center!important;gap:0!important}.zhaw-sidebar-host .console-brand-mark-shell{width:3rem!important;min-width:3rem!important;height:3rem!important;min-height:3rem!important;transform:none!important}.zhaw-sidebar-host .console-sidebar-copy,.zhaw-sidebar-host .console-brand-copy,.zhaw-sidebar-host .project-dock-app-copy,.zhaw-sidebar-host .sidebar-dynamic-trigger__copy{display:none!important}.zhaw-sidebar-host .zhaw-sidebar-project-dock-section,.zhaw-sidebar-host .zhaw-sidebar-transient-dock-section{flex:none;display:flex;margin:0!important;padding:0!important}.zhaw-sidebar-host .project-dock-strip,.zhaw-sidebar-host .system-dock-strip{width:max-content;flex-direction:row!important;align-items:center!important;gap:.42rem!important}.zhaw-sidebar-host .project-dock-app{flex:none;background:0 0!important;border-color:#0000!important;justify-content:center!important;align-items:center!important;width:3.72rem!important;height:3.72rem!important;padding:0!important;overflow:visible!important}.zhaw-sidebar-host .sidebar-dynamic-hub{flex:none;justify-content:center;display:flex;width:auto!important}.zhaw-sidebar-host .sidebar-dynamic-trigger:not(.sidebar-dynamic-trigger--compact-clock){border-radius:999px!important;justify-content:center!important;width:3.72rem!important;min-width:3.72rem!important;height:3.72rem!important;min-height:3.72rem!important;padding:0!important}.zhaw-sidebar-host .zhaw-sidebar-project-dock-section:before,.zhaw-sidebar-host .zhaw-sidebar-transient-dock-section:before{content:none}.zhaw-sidebar-host .console-sidebar-shell>.border-t{width:auto;min-width:max-content;border-top:0!important;justify-content:flex-end!important;padding-top:0!important}.zhaw-sidebar-footer{flex-direction:row!important;align-items:center!important;gap:.46rem!important;width:auto!important}}:root{--zhaw-shell-surface-radius:2rem}.zhaw-sidebar-host{height:100%;position:relative}.zhaw-sidebar-host--docked{overflow:visible}.zhaw-sidebar-host--docked .console-sidebar-dock-short-shell{border-radius:1.9rem;transition:filter .26s,transform .22s cubic-bezier(.22,1,.36,1)}.zhaw-sidebar-host--docked .console-sidebar-dock-short-surface{box-shadow:0 0 0 1px color-mix(in srgb, var(--surface-outline-shell) 84%, transparent), 0 .7rem 1.55rem color-mix(in srgb, var(--color-deep-950) 8%, transparent);-webkit-backdrop-filter:blur(calc(16px * var(--zhaw-blur-factor,1))) saturate(1.08);backdrop-filter:blur(calc(16px * var(--zhaw-blur-factor,1))) saturate(1.08);transition:opacity .18s,border-color .22s,box-shadow .26s,background .22s}.zhaw-sidebar-host--docked.zhaw-sidebar-host--connectivity-checking .console-sidebar-dock-short-shell{filter:drop-shadow(0 .45rem 1.05rem color-mix(in srgb, var(--color-deep-950) 10%, transparent))}.zhaw-sidebar-host--docked.zhaw-sidebar-host--connectivity-connected .console-sidebar-dock-short-shell{filter:drop-shadow(0 .32rem .82rem color-mix(in srgb, var(--color-mint-300,#6ee7b7) 18%, transparent)) drop-shadow(0 0 .48rem color-mix(in srgb, var(--color-mint-300,#6ee7b7) 22%, transparent))}.zhaw-sidebar-host--docked.zhaw-sidebar-host--connectivity-disconnected .console-sidebar-dock-short-shell{filter:drop-shadow(0 .32rem .82rem #ef44442e)drop-shadow(0 0 .48rem #ef444438)}.zhaw-sidebar-host--docked .console-sidebar-dock-zone{display:none}@media (width>=64rem){.zhaw-sidebar-host{align-self:flex-start;position:sticky;top:1rem}.zhaw-sidebar-host--docked .console-sidebar-dock-zone{display:block}}.zhaw-sidebar-footer{flex-direction:column;gap:.75rem;width:100%;display:flex}.zhaw-sidebar-footer--collapsed{align-items:center}.zhaw-sidebar-footer--collapsed .console-sidebar-collapse-trigger,.zhaw-sidebar-footer--collapsed .console-sidebar-collapse-trigger:hover{box-shadow:none}.zhaw-sidebar-project-dock-section{margin-top:.58rem;padding-top:.58rem;position:relative}.zhaw-sidebar-project-dock-section:before{content:"";background:color-mix(in srgb, var(--surface-outline-panel) 42%, transparent);border-radius:999px;width:min(42%,4.5rem);height:1px;position:absolute;top:0;left:50%;transform:translate(-50%)}.zhaw-sidebar-project-dock-section--collapsed{justify-content:center;display:flex}.zhaw-sidebar-host--collapsed .console-sidebar-shell nav.space-y-2,.zhaw-sidebar-host--docked .console-sidebar-dock-preview .console-sidebar-shell nav.space-y-2{gap:.44rem!important}.zhaw-sidebar-host--collapsed .console-sidebar-shell nav.space-y-2>*,.zhaw-sidebar-host--docked .console-sidebar-dock-preview .console-sidebar-shell nav.space-y-2>*{margin-top:0!important;margin-bottom:0!important}.zhaw-sidebar-host--collapsed .zhaw-sidebar-project-dock-section,.zhaw-sidebar-host--collapsed .zhaw-sidebar-transient-dock-section,.zhaw-sidebar-host--docked .console-sidebar-dock-preview .zhaw-sidebar-project-dock-section,.zhaw-sidebar-host--docked .console-sidebar-dock-preview .zhaw-sidebar-transient-dock-section{margin-top:.44rem;padding-top:0}.zhaw-sidebar-host--collapsed .zhaw-sidebar-project-dock-section:before,.zhaw-sidebar-host--collapsed .zhaw-sidebar-transient-dock-section:before,.zhaw-sidebar-host--docked .console-sidebar-dock-preview .zhaw-sidebar-project-dock-section:before,.zhaw-sidebar-host--docked .console-sidebar-dock-preview .zhaw-sidebar-transient-dock-section:before{content:none}.zhaw-sidebar-transient-dock-section{margin-top:.58rem;padding-top:.58rem;position:relative}.zhaw-sidebar-transient-dock-section:before{content:"";background:color-mix(in srgb, var(--surface-outline-panel) 42%, transparent);border-radius:999px;width:min(42%,4.5rem);height:1px;position:absolute;top:0;left:50%;transform:translate(-50%)}.zhaw-sidebar-project-dock-section+.zhaw-sidebar-transient-dock-section{margin-top:.44rem;padding-top:0}.zhaw-sidebar-host--collapsed .zhaw-sidebar-project-dock-section+.zhaw-sidebar-transient-dock-section,.zhaw-sidebar-host--docked .console-sidebar-dock-preview .zhaw-sidebar-project-dock-section+.zhaw-sidebar-transient-dock-section{margin-top:.44rem}.zhaw-sidebar-project-dock-section+.zhaw-sidebar-transient-dock-section:before{content:none}.zhaw-sidebar-transient-dock-section--collapsed{justify-content:center;display:flex}.zhaw-sidebar-host [data-sidebar-item-id][draggable=true]{cursor:grab}.zhaw-sidebar-host [data-sidebar-item-id][draggable=true]:active{cursor:grabbing}.zhaw-dock-app-dragging{opacity:.58}.zhaw-sidebar-host--collapsed .console-brand-header{--console-brand-header-collapsed-shadow:none}.zhaw-sidebar-host--collapsed .console-sidebar-shell,.zhaw-sidebar-host--docked .console-sidebar-dock-preview .console-sidebar-shell{border-radius:var(--zhaw-shell-surface-radius);-webkit-backdrop-filter:blur(calc(18px * var(--zhaw-blur-factor,1))) saturate(1.08);backdrop-filter:blur(calc(18px * var(--zhaw-blur-factor,1))) saturate(1.08)}.zhaw-dock-context-menu{z-index:140;background:color-mix(in srgb, var(--color-surface-elevated) 92%, transparent);min-width:10.5rem;box-shadow:0 .9rem 2.2rem color-mix(in srgb, var(--color-deep-950) 18%, transparent), inset 0 0 0 1px color-mix(in srgb, var(--surface-outline-panel) 72%, transparent);-webkit-backdrop-filter:blur(calc(18px * var(--zhaw-blur-factor,1))) saturate(1.08);backdrop-filter:blur(calc(18px * var(--zhaw-blur-factor,1))) saturate(1.08);border-radius:.76rem;padding:.34rem;position:fixed}.zhaw-dock-context-menu button{width:100%;color:var(--color-text-primary);text-align:left;background:0 0;border:0;border-radius:.56rem;align-items:center;padding:.62rem .76rem;font-size:.88rem;font-weight:650;line-height:1.2;display:flex}.zhaw-dock-context-menu button:hover,.zhaw-dock-context-menu button:focus-visible{background:color-mix(in srgb, var(--color-accent-100) 44%, transparent);outline:none}.zhaw-sidebar-host--collapsed .console-brand-mark-shell,.zhaw-sidebar-host--docked .console-sidebar-dock-short-brand .console-brand-mark-shell{transition:filter calc(.22s * var(--desktop-animation-duration-scale,1)) ease, color calc(.22s * var(--desktop-animation-duration-scale,1)) ease}.zhaw-sidebar-host--collapsed.zhaw-sidebar-host--connectivity-checking .console-brand-mark-shell,.zhaw-sidebar-host--docked.zhaw-sidebar-host--connectivity-checking .console-sidebar-dock-short-brand .console-brand-mark-shell{filter:drop-shadow(0 0 .4rem color-mix(in srgb, var(--color-text-secondary) 34%, transparent))}.zhaw-sidebar-host--collapsed.zhaw-sidebar-host--connectivity-connected .console-brand-mark-shell,.zhaw-sidebar-host--docked.zhaw-sidebar-host--connectivity-connected .console-sidebar-dock-short-brand .console-brand-mark-shell{color:color-mix(in srgb, var(--color-mint-300,#6ee7b7) 72%, var(--color-text-primary) 28%);filter:drop-shadow(0 0 .5rem #45c4a0ad)drop-shadow(0 0 1rem #45c4a05c)}.zhaw-sidebar-host--collapsed.zhaw-sidebar-host--connectivity-disconnected .console-brand-mark-shell,.zhaw-sidebar-host--docked.zhaw-sidebar-host--connectivity-disconnected .console-sidebar-dock-short-brand .console-brand-mark-shell{color:color-mix(in srgb, #ef4444 68%, var(--color-text-primary) 32%);filter:drop-shadow(0 0 .5rem #ef444494)drop-shadow(0 0 .95rem #ef444447)}.zhaw-sidebar-host--collapsed .console-brand-header:hover .console-brand-mark-shell,.zhaw-sidebar-host--docked .console-sidebar-dock-short-brand .console-brand-header:hover .console-brand-mark-shell{filter:drop-shadow(0 0 .56rem #45c4a0bd)drop-shadow(0 0 1.1rem #45c4a06b)}.zhaw-connectivity-light.svelte-1ratukx{--zhaw-connectivity-size:1.35rem;--zhaw-sidebar-collapse-button-size:3rem;right:1.05rem;bottom:calc(1rem + (var(--zhaw-sidebar-collapse-button-size) - var(--zhaw-connectivity-size)) / 2);z-index:25;width:var(--zhaw-connectivity-size);height:var(--zhaw-connectivity-size);border:1px solid color-mix(in srgb, #64748b 46%, var(--surface-outline-panel));background:color-mix(in srgb, var(--color-surface-panel) 72%, #64748b 28%);pointer-events:auto;border-radius:999px;place-items:center;display:grid;position:absolute;box-shadow:0 .45rem 1.1rem #0000001f}.zhaw-connectivity-light__dot.svelte-1ratukx{background:#64748b;border-radius:999px;width:.62rem;height:.62rem;box-shadow:0 0 0 .25rem #64748b29,inset 0 0 0 1px #0f172a3d}.zhaw-connectivity-light--connected.svelte-1ratukx .zhaw-connectivity-light__dot:where(.svelte-1ratukx){background:#16a34a;animation:2.2s ease-in-out infinite svelte-1ratukx-zhaw-connectivity-breathe;box-shadow:0 0 0 .25rem #16a34a29}.zhaw-connectivity-light--disconnected.svelte-1ratukx{border-color:color-mix(in srgb, #ef4444 50%, var(--surface-outline-panel));background:radial-gradient(circle at 50% 50%, #ef44442e, transparent 66%), color-mix(in srgb, var(--color-surface-panel) 72%, #ef4444 28%)}.zhaw-connectivity-light--disconnected.svelte-1ratukx .zhaw-connectivity-light__dot:where(.svelte-1ratukx){background:#ef4444;animation:1.45s ease-in-out infinite svelte-1ratukx-zhaw-connectivity-breathe;box-shadow:0 0 0 .25rem #ef44442e}@keyframes svelte-1ratukx-zhaw-connectivity-breathe{0%,to{opacity:.72;transform:scale(.88)}50%{opacity:1;transform:scale(1)}}.zhaw-launchpad{z-index:120;isolation:isolate;--zhaw-launchpad-blur-soft-bg:transparent;--zhaw-launchpad-blur-medium-bg:transparent;--zhaw-launchpad-blur-strong-bg:transparent;--zhaw-launchpad-search-bg:color-mix(in srgb, var(--color-surface-shell) 52%, transparent);--zhaw-launchpad-search-border:color-mix(in srgb, var(--color-mint-200) 44%, #ffffff2e);--zhaw-launchpad-search-glow:color-mix(in srgb, var(--color-mint-300) 30%, transparent);--zhaw-launchpad-search-text:#122a30e6;--zhaw-launchpad-search-muted:#18373e80;background:0 0;flex-direction:column;align-items:center;gap:0;padding:clamp(1rem,3vh,2rem) clamp(1rem,5vw,5rem) 0;display:flex;position:fixed;inset:0;overflow:hidden}:root[data-theme=dark] .zhaw-launchpad{--zhaw-launchpad-blur-soft-bg:transparent;--zhaw-launchpad-blur-medium-bg:transparent;--zhaw-launchpad-blur-strong-bg:transparent;--zhaw-launchpad-search-bg:color-mix(in srgb, var(--color-surface-shell) 76%, transparent);--zhaw-launchpad-search-border:color-mix(in srgb, var(--color-mint-200) 36%, transparent);--zhaw-launchpad-search-glow:color-mix(in srgb, var(--color-mint-300) 32%, transparent);--zhaw-launchpad-search-text:#fffffff5;--zhaw-launchpad-search-muted:#e2f4f2bd}.zhaw-launchpad-blur,.zhaw-launchpad-blur-band{inset-inline:0;pointer-events:none;position:fixed;top:0}.zhaw-launchpad-blur{z-index:0;bottom:0;overflow:hidden}.zhaw-launchpad-blur-band{will-change:backdrop-filter;display:block}.zhaw-launchpad-blur-band--soft{background:var(--zhaw-launchpad-blur-soft-bg);-webkit-backdrop-filter:blur(calc(3px * var(--zhaw-blur-factor,1))) saturate(1.04);backdrop-filter:blur(calc(3px * var(--zhaw-blur-factor,1))) saturate(1.04);bottom:0;-webkit-mask-image:linear-gradient(#0000 0,#ffffff29 1.25rem,#ffffff7a 4.6rem,#ffffffdb 7.8rem,#fff 10.4rem);mask-image:linear-gradient(#0000 0,#ffffff29 1.25rem,#ffffff7a 4.6rem,#ffffffdb 7.8rem,#fff 10.4rem)}.zhaw-launchpad-blur-band--medium{background:var(--zhaw-launchpad-blur-medium-bg);-webkit-backdrop-filter:blur(calc(10px * var(--zhaw-blur-factor,1))) saturate(1.1);backdrop-filter:blur(calc(10px * var(--zhaw-blur-factor,1))) saturate(1.1);bottom:0;-webkit-mask-image:linear-gradient(#0000 0,#ffffff0d 1.7rem,#ffffff52 5.2rem,#ffffffc7 9.4rem,#fff 14rem);mask-image:linear-gradient(#0000 0,#ffffff0d 1.7rem,#ffffff52 5.2rem,#ffffffc7 9.4rem,#fff 14rem)}.zhaw-launchpad-blur-band--strong{background:var(--zhaw-launchpad-blur-strong-bg);-webkit-backdrop-filter:blur(calc(28px * var(--zhaw-blur-factor,1))) saturate(1.16);backdrop-filter:blur(calc(28px * var(--zhaw-blur-factor,1))) saturate(1.16);bottom:0;-webkit-mask-image:linear-gradient(#0000 0,#ffffff08 3.4rem,#fff3 7rem,#ffffff9e 11.8rem,#fff 16.4rem);mask-image:linear-gradient(#0000 0,#ffffff08 3.4rem,#fff3 7rem,#ffffff9e 11.8rem,#fff 16.4rem)}.zhaw-launchpad-search-shell,.zhaw-launchpad-content,.zhaw-launchpad-grid{z-index:2;position:relative}.zhaw-launchpad-search-shell{flex:0 0 2.42rem;align-items:center;width:min(24rem,100vw - 2rem);height:2.42rem;min-height:2.42rem;margin-top:clamp(.42rem,1.6vh,1.1rem);margin-bottom:clamp(2.6rem,6vh,4.1rem);display:flex}.zhaw-launchpad-search{background:linear-gradient(180deg, #ffffff38, transparent 52%), var(--zhaw-launchpad-search-bg);width:100%;height:100%;box-shadow:inset 0 0 0 1px var(--zhaw-launchpad-search-border), inset 0 .05rem .12rem #fff3, 0 0 .62rem var(--zhaw-launchpad-search-glow), 0 .42rem 1rem #09141e24;color:var(--zhaw-launchpad-search-text);text-align:center;-webkit-backdrop-filter:blur(calc(24px * var(--zhaw-blur-factor,1))) saturate(1.22);backdrop-filter:blur(calc(24px * var(--zhaw-blur-factor,1))) saturate(1.22);caret-color:var(--color-mint-200);border:0;border-radius:999px;outline:none;padding:0 3rem;font-size:.92rem;font-weight:700;line-height:1;transition:background .18s,box-shadow .18s}.zhaw-launchpad-search::placeholder{color:var(--zhaw-launchpad-search-muted)}.zhaw-launchpad-search:focus{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--color-mint-200) 72%, white 28%), inset 0 .05rem .12rem #ffffff3d, 0 0 .95rem color-mix(in srgb, var(--color-mint-200) 34%, transparent), 0 .5rem 1.12rem #09141e29}.zhaw-launchpad-search-icon,.zhaw-launchpad-close{z-index:1;width:1.55rem;height:1.55rem;position:absolute}.zhaw-launchpad-search-icon{opacity:.82;left:.86rem}.zhaw-launchpad-search-icon:before{border:.1rem solid var(--zhaw-launchpad-search-muted);content:"";border-radius:999px;width:.5rem;height:.5rem;position:absolute;top:.4rem;left:.4rem}.zhaw-launchpad-search-icon:after{background:var(--zhaw-launchpad-search-muted);content:"";transform-origin:0;border-radius:999px;width:.45rem;height:.1rem;position:absolute;top:1rem;left:.94rem;transform:rotate(45deg)}.zhaw-launchpad-close{opacity:.56;background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;transition:background .16s,opacity .16s,transform .16s cubic-bezier(.22,1,.36,1);display:inline-flex;right:.78rem}.zhaw-launchpad-close:hover,.zhaw-launchpad-close:focus-visible{background:color-mix(in srgb, var(--zhaw-launchpad-search-muted) 14%, transparent);opacity:.92;outline:none;transform:translateY(-1px)}.zhaw-launchpad-close span{border-radius:999px;width:.78rem;height:.78rem;position:relative}.zhaw-launchpad-close span:before,.zhaw-launchpad-close span:after{background:color-mix(in srgb, var(--zhaw-launchpad-search-text) 86%, var(--color-mint-100) 14%);content:"";border-radius:999px;width:.5rem;height:.08rem;position:absolute;top:.36rem;left:.14rem}.zhaw-launchpad-close span:before{transform:rotate(45deg)}.zhaw-launchpad-close span:after{transform:rotate(-45deg)}.zhaw-launchpad-content{--zhaw-launchpad-icon-bleed:1.45rem;box-sizing:border-box;min-height:0;margin-top:calc(-1 * var(--zhaw-launchpad-icon-bleed));width:min(calc(95.4rem + var(--zhaw-launchpad-icon-bleed) + var(--zhaw-launchpad-icon-bleed)), 100%);overscroll-behavior:contain;padding-inline:var(--zhaw-launchpad-icon-bleed);padding-top:var(--zhaw-launchpad-icon-bleed);scrollbar-gutter:stable both-edges;scrollbar-width:none;flex:auto;padding-bottom:4rem;overflow-y:auto}.zhaw-launchpad-content::-webkit-scrollbar{display:none}.zhaw-launchpad-grid{width:min(calc(95.4rem + var(--zhaw-launchpad-icon-bleed) + var(--zhaw-launchpad-icon-bleed)), 100%);grid-template-columns:repeat(auto-fit,minmax(7.2rem,7.2rem));place-content:start center;place-items:start center;gap:clamp(2.2rem,4.8vh,3.2rem) clamp(2.6rem,5.5vw,5.4rem);display:grid}@media (width<=48rem){.zhaw-launchpad{gap:0;padding-top:1.2rem}.zhaw-launchpad-search-shell{flex-basis:2.18rem;width:min(19rem,100vw - 2rem);height:2.18rem;min-height:2.18rem;margin-top:clamp(.9rem,5vh,2.2rem);margin-bottom:1.86rem}.zhaw-launchpad-grid{grid-template-columns:repeat(3,minmax(5.8rem,5.8rem));gap:2.4rem .9rem}.zhaw-launchpad-content{--zhaw-launchpad-icon-bleed:1.12rem}}.zhaw-launchpad-app{--zhaw-os-app-accent:#67e4d6;--zhaw-os-app-glow:var(--zhaw-os-app-accent);--zhaw-os-app-depth:color-mix(in srgb, var(--zhaw-os-app-accent) 24%, #071114 76%);cursor:grab;width:7.2rem;min-height:7.9rem;position:relative}.zhaw-launchpad-app:active{cursor:grabbing}.zhaw-launchpad-app--dragging{opacity:.58}.zhaw-launchpad-app--drag-over .zhaw-launchpad-app-icon,.zhaw-launchpad-app--drag-over .project-app-icon{box-shadow:0 0 1.22rem color-mix(in srgb, var(--color-mint-300) 42%, transparent), 0 1.1rem 2.2rem color-mix(in srgb, var(--color-mint-300) 28%, transparent)}.zhaw-launchpad-app[data-sidebar-item-id=dashboard]{--zhaw-os-app-accent:#22aeea;--zhaw-os-app-glow:#27c9ff}.zhaw-launchpad-app[data-sidebar-item-id=projects]{--zhaw-os-app-accent:#35b8f0;--zhaw-os-app-glow:#58dff0}.zhaw-launchpad-app[data-sidebar-item-id=cron]{--zhaw-os-app-accent:#f7ad25;--zhaw-os-app-glow:#ffe85d}.zhaw-launchpad-app[data-sidebar-item-id=music]{--zhaw-os-app-accent:#78e4d8;--zhaw-os-app-glow:#71dfd2}.zhaw-launchpad-app[data-sidebar-item-id=family]{--zhaw-os-app-accent:#f2a65a;--zhaw-os-app-glow:#6ee8d4}.zhaw-launchpad-app[data-sidebar-item-id=equipment]{--zhaw-os-app-accent:#4fb6d8;--zhaw-os-app-glow:#64e0d8}.zhaw-launchpad-app[data-sidebar-item-id=smartBrowser]{--zhaw-os-app-accent:#2dd4bf;--zhaw-os-app-glow:#7cf8ee}.zhaw-launchpad-app[data-sidebar-item-id=imChannels]{--zhaw-os-app-accent:#2fd36f;--zhaw-os-app-glow:#55f38d}.zhaw-launchpad-app[data-sidebar-item-id=skills]{--zhaw-os-app-accent:#8e74f5;--zhaw-os-app-glow:#7a63ea}.zhaw-launchpad-app[data-sidebar-item-id=audit]{--zhaw-os-app-accent:#57c7bd;--zhaw-os-app-glow:#32d8c6}.zhaw-launchpad-app[data-sidebar-item-id=settings]{--zhaw-os-app-accent:#879fe8;--zhaw-os-app-glow:#6384df}.zhaw-launchpad-app[data-sidebar-item-id=troubleshootingTrace]{--zhaw-os-app-accent:#64e0d8;--zhaw-os-app-glow:#2db8ff}.zhaw-launchpad-app-open{color:#fffffff0;text-align:center;background:0 0;border:0;border-radius:1.45rem;flex-direction:column;align-items:center;gap:.72rem;width:100%;padding:.54rem .28rem .44rem;transition:background .18s,transform .18s cubic-bezier(.22,1,.36,1);display:flex}.zhaw-launchpad-app-open:hover,.zhaw-launchpad-app-open:focus-visible{background:0 0}.zhaw-launchpad-app-icon{background:var(--zhaw-os-app-icon) center / cover no-repeat;border-radius:1.45rem;width:5.7rem;height:5.7rem;transition:transform .18s cubic-bezier(.22,1,.36,1),box-shadow .18s;position:relative;box-shadow:0 .46rem 1.05rem #0711142e}#app .zhaw-launchpad-app-open:hover .zhaw-launchpad-app-icon,#app .zhaw-launchpad-app-open:focus-visible .zhaw-launchpad-app-icon{transform:translateY(-2px);box-shadow:0 0 1.1rem color-mix(in srgb, var(--zhaw-os-app-glow) 42%, transparent), 0 .7rem 1.5rem #07111433!important}#app .zhaw-launchpad-app-open:active .zhaw-launchpad-app-icon{transform:translateY(0);box-shadow:0 0 1.28rem color-mix(in srgb, var(--zhaw-os-app-glow) 62%, transparent), 0 .62rem 1.4rem #07111433!important}.zhaw-launchpad-app-label{width:100%;max-width:100%;box-shadow:none;color:#fffffff5;filter:drop-shadow(0 .045rem .06rem #000000bd)drop-shadow(0 .105rem .18rem #00000085)drop-shadow(0 0 .22rem #0000004d);text-overflow:ellipsis;white-space:nowrap;background:0 0;padding:0;font-size:.78rem;font-weight:600;line-height:1.18;display:block;overflow:hidden}.zhaw-launchpad-empty{color:#ffffffbd;grid-column:1/-1;font-size:.92rem;font-weight:600}@media (width<=48rem){.zhaw-launchpad-app{width:5.8rem;min-height:6.8rem}.zhaw-launchpad-app-icon{border-radius:1.28rem;width:4.7rem;height:4.7rem}}@media (prefers-reduced-motion:reduce){#app .zhaw-launchpad-app-open:hover .zhaw-launchpad-app-icon,#app .zhaw-launchpad-app-open:focus-visible .zhaw-launchpad-app-icon{box-shadow:0 0 .9rem color-mix(in srgb, var(--zhaw-os-app-glow) 30%, transparent), 0 .52rem 1.08rem #07111429!important}#app .zhaw-launchpad-app-open:active .zhaw-launchpad-app-icon{box-shadow:0 0 1.36rem color-mix(in srgb, var(--zhaw-os-app-glow) 58%, transparent), 0 .58rem 1.24rem color-mix(in srgb, var(--zhaw-os-app-glow) 34%, transparent)!important}}.project-app-icon.svelte-bgu8or{--project-app-depth:color-mix(in srgb, var(--project-app-accent) 24%, #071114 76%);background:radial-gradient(circle at 28% 18%, #ffffff57, transparent 38%), linear-gradient(135deg, var(--project-app-accent), color-mix(in srgb, var(--project-app-accent) 62%, #0f172a));box-shadow:0 .22rem .42rem color-mix(in srgb, var(--project-app-depth) 18%, transparent);color:#fff;letter-spacing:0;text-shadow:0 .1rem .26rem #0f172a6b;border-radius:1.16rem;flex:none;place-items:center;font-weight:800;transition:transform .18s cubic-bezier(.22,1,.36,1),box-shadow .18s;display:inline-grid;position:relative;overflow:hidden}.project-app-icon.svelte-bgu8or:after{content:"";z-index:1;border-radius:inherit;opacity:0;pointer-events:none;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--project-app-glow) 26%, transparent);transition:opacity .18s;position:absolute;inset:0}.project-app-icon--image.svelte-bgu8or{background:0 0}.project-app-icon--image.project-app-icon--launchpad.svelte-bgu8or{background:linear-gradient(#fffffffa,#f8fafcf2)}#app .project-app-icon--image.project-app-icon--launchpad.svelte-bgu8or{box-shadow:inset 0 .08rem .16rem #ffffffdb,0 .46rem 1.05rem #0f172a29!important}#app .zhaw-launchpad button:hover .project-app-icon--image.project-app-icon--launchpad.svelte-bgu8or,#app .zhaw-launchpad button:focus-visible .project-app-icon--image.project-app-icon--launchpad.svelte-bgu8or{box-shadow:inset 0 .08rem .16rem #ffffffdb, 0 0 1.08rem color-mix(in srgb, var(--project-app-glow) 34%, transparent), 0 .5rem 1.12rem #0f172a2e!important}.project-app-icon--image.svelte-bgu8or:after{box-shadow:none}.project-app-icon--dock.svelte-bgu8or{width:3.32rem;height:3.32rem;font-size:.92rem}.project-app-icon--dock.svelte-bgu8or:after,.project-app-icon--dock.project-app-icon--active.svelte-bgu8or:after{opacity:0;box-shadow:none}.project-app-icon--launchpad.svelte-bgu8or{border-radius:1.45rem;width:5.7rem;height:5.7rem;font-size:1.08rem}.project-app-icon.svelte-bgu8or img:where(.svelte-bgu8or){object-fit:cover;width:100%;height:100%}#app .zhaw-launchpad button:hover .project-app-icon.svelte-bgu8or,#app .zhaw-launchpad button:focus-visible .project-app-icon.svelte-bgu8or{transform:translateY(-1px);box-shadow:0 0 1.08rem color-mix(in srgb, var(--project-app-glow) 48%, transparent), 0 .46rem 1.34rem color-mix(in srgb, var(--project-app-glow) 34%, transparent), 0 .3rem .72rem #0f172a2e!important}#app .zhaw-launchpad button:hover .project-app-icon.svelte-bgu8or:after,#app .zhaw-launchpad button:focus-visible .project-app-icon.svelte-bgu8or:after{opacity:1}#app .zhaw-launchpad button:hover .project-app-icon--image.svelte-bgu8or:after,#app .zhaw-launchpad button:focus-visible .project-app-icon--image.svelte-bgu8or:after{opacity:0}.project-app-icon--active.svelte-bgu8or{box-shadow:0 0 1.12rem color-mix(in srgb, var(--project-app-glow) 54%, transparent), 0 .48rem 1.32rem color-mix(in srgb, var(--project-app-glow) 40%, transparent), 0 .34rem .78rem color-mix(in srgb, var(--project-app-depth) 24%, transparent)}.project-app-icon--active.svelte-bgu8or:after{opacity:.72}.project-app-icon--image.project-app-icon--active.svelte-bgu8or:after{opacity:0}.project-app-icon--image.project-app-icon--active.svelte-bgu8or{box-shadow:0 0 1.18rem color-mix(in srgb, var(--project-app-glow) 58%, transparent), 0 .5rem 1.36rem color-mix(in srgb, var(--project-app-glow) 42%, transparent), 0 .34rem .78rem color-mix(in srgb, var(--project-app-glow) 24%, transparent)!important}#app .zhaw-launchpad button:active .project-app-icon.svelte-bgu8or{transform:translateY(0);box-shadow:0 0 1.3rem color-mix(in srgb, var(--project-app-glow) 70%, transparent), 0 .52rem 1.18rem color-mix(in srgb, var(--project-app-glow) 40%, transparent)!important}@media (prefers-reduced-motion:reduce){#app .zhaw-launchpad button:hover .project-app-icon.svelte-bgu8or,#app .zhaw-launchpad button:focus-visible .project-app-icon.svelte-bgu8or{box-shadow:0 0 .86rem color-mix(in srgb, var(--project-app-glow) 30%, transparent), 0 .36rem .86rem #0f172a29!important}}@media (width<=48rem){.project-app-icon--launchpad.svelte-bgu8or{border-radius:1.28rem;width:4.7rem;height:4.7rem}}.project-manifest-icon-badge.svelte-d0z0lo{color:#fff;width:1.38rem;height:1.38rem;box-shadow:0 .18rem .45rem color-mix(in srgb, var(--color-primary) 12%, transparent);border:1px solid #ffffffbd;border-radius:.44rem;place-items:center;font-size:.58rem;font-weight:780;line-height:1;display:grid;overflow:hidden}.project-manifest-icon-badge.svelte-d0z0lo img:where(.svelte-d0z0lo){object-fit:cover;width:100%;height:100%}.sidebar-dynamic-source-icon.svelte-10fmhyf{place-items:center;width:1.86rem;height:1.86rem;display:grid;position:relative;overflow:visible}.sidebar-dynamic-source-icon--bubble.svelte-10fmhyf{width:1.64rem;height:1.64rem}.sidebar-dynamic-source-icon__app.project-manifest-icon-badge,.sidebar-dynamic-source-icon__system,.sidebar-dynamic-source-icon__mark.svelte-10fmhyf{grid-area:1/1}.sidebar-dynamic-source-icon__image.svelte-10fmhyf{background:var(--color-surface-elevated);width:1.86rem;height:1.86rem;box-shadow:0 .18rem .45rem color-mix(in srgb, var(--color-primary) 12%, transparent);border-radius:.5rem;grid-area:1/1;display:block;overflow:hidden}.sidebar-dynamic-source-icon__image.svelte-10fmhyf img:where(.svelte-10fmhyf){object-fit:cover;width:100%;height:100%;display:block}.sidebar-dynamic-source-icon--bubble.svelte-10fmhyf .sidebar-dynamic-source-icon__image:where(.svelte-10fmhyf){width:1.64rem;height:1.64rem}.sidebar-dynamic-source-icon__device.svelte-10fmhyf{border:1px solid color-mix(in srgb, var(--color-surface-shell) 82%, white);background:color-mix(in srgb, var(--color-surface-elevated) 92%, white);width:.82rem;height:.82rem;box-shadow:0 .12rem .34rem color-mix(in srgb, var(--color-deep-950) 18%, transparent), inset 0 0 0 1px color-mix(in srgb, var(--color-accent-300) 18%, transparent);color:color-mix(in srgb, var(--color-text-primary) 72%, var(--color-primary));border-radius:.26rem;place-items:center;display:grid;position:absolute;bottom:-.16rem;left:-.16rem}.sidebar-dynamic-source-icon__device--image.svelte-10fmhyf{box-shadow:0 .12rem .32rem color-mix(in srgb, var(--color-deep-950) 20%, transparent);background:0 0;border:0;overflow:hidden}.sidebar-dynamic-source-icon__device-image.svelte-10fmhyf{border-radius:inherit;object-fit:cover;width:100%;height:100%;display:block}.sidebar-dynamic-source-icon--bubble.svelte-10fmhyf .sidebar-dynamic-source-icon__device:where(.svelte-10fmhyf){border-radius:.23rem;width:.72rem;height:.72rem;bottom:-.14rem;left:-.14rem}.sidebar-dynamic-source-icon__device-symbol{border-radius:inherit;width:100%;height:100%;box-shadow:none;background:0 0;place-items:center;display:grid}.sidebar-dynamic-source-icon__device-symbol svg{width:.48rem;height:.48rem;overflow:visible}.sidebar-dynamic-source-icon--bubble .sidebar-dynamic-source-icon__device-symbol svg{width:.42rem;height:.42rem}.sidebar-dynamic-source-icon__device-symbol path{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.1px}.sidebar-dynamic-notice-bubble.svelte-1kf96ih{width:var(--sidebar-dynamic-notice-width,min(16.2rem, calc(100vw - 7.4rem)));pointer-events:none;background:color-mix(in srgb, var(--color-surface-shell) 76%, transparent);min-height:3.36rem;box-shadow:0 1rem 2.2rem color-mix(in srgb, var(--color-deep-950) 20%, transparent);color:var(--color-text-primary);-webkit-backdrop-filter:blur(calc(20px * var(--zhaw-blur-factor,1))) saturate(1.14);backdrop-filter:blur(calc(20px * var(--zhaw-blur-factor,1))) saturate(1.14);transform-origin:0 100%;will-change:opacity, transform, filter;border-radius:1.12rem;grid-template-columns:1.64rem minmax(0,1fr);align-items:center;gap:.62rem;padding:.58rem .72rem;display:grid}.sidebar-dynamic-notice-bubble--enter.svelte-1kf96ih{animation:.22s cubic-bezier(.2,.82,.24,1) both svelte-1kf96ih-sidebar-dynamic-notice-bubble-in}.sidebar-dynamic-notice-bubble--exit.svelte-1kf96ih{animation:.36s cubic-bezier(.44,0,.2,1) both svelte-1kf96ih-sidebar-dynamic-notice-bubble-out}.sidebar-dynamic-notice-bubble__icon.project-manifest-icon-badge{width:1.64rem;height:1.64rem;box-shadow:none;border:0;border-radius:.5rem;font-size:.62rem}.sidebar-dynamic-notice-bubble__mark.svelte-1kf96ih{background:#f59e0b;border-radius:999px;width:.58rem;height:.58rem;margin:0 auto}.sidebar-dynamic-notice-bubble__system-icon{background:linear-gradient(145deg, color-mix(in srgb, #f59e0b 22%, var(--color-surface-elevated)), color-mix(in srgb, #6366f1 14%, var(--color-surface-elevated))), var(--color-surface-elevated);width:1.64rem;height:1.64rem;box-shadow:inset 0 0 0 1px color-mix(in srgb, #f59e0b 28%, var(--surface-outline-panel)), 0 .36rem .82rem #f59e0b1f;color:color-mix(in srgb, #f59e0b 78%, var(--color-text-primary));border-radius:.5rem;place-items:center;display:grid}.sidebar-dynamic-notice-bubble__system-icon--home{background:linear-gradient(145deg, color-mix(in srgb, #14b8a6 22%, var(--color-surface-elevated)), color-mix(in srgb, #22c55e 16%, var(--color-surface-elevated))), var(--color-surface-elevated);box-shadow:inset 0 0 0 1px color-mix(in srgb, #14b8a6 28%, var(--surface-outline-panel)), 0 .36rem .82rem #14b8a61f;color:color-mix(in srgb, #0f766e 78%, var(--color-text-primary))}.sidebar-dynamic-notice-bubble__system-icon svg{width:.98rem;height:.98rem;overflow:visible}.sidebar-dynamic-notice-bubble__system-icon path{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.9px}.sidebar-dynamic-notice-bubble__copy.svelte-1kf96ih{text-align:left;gap:.16rem;min-width:0;display:grid}.sidebar-dynamic-notice-bubble__copy.svelte-1kf96ih strong:where(.svelte-1kf96ih),.sidebar-dynamic-notice-bubble__copy.svelte-1kf96ih span:where(.svelte-1kf96ih){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sidebar-dynamic-notice-bubble__copy.svelte-1kf96ih strong:where(.svelte-1kf96ih){font-size:.78rem;font-weight:820}.sidebar-dynamic-notice-bubble__copy.svelte-1kf96ih span:where(.svelte-1kf96ih){color:var(--color-text-secondary);font-size:.68rem;font-weight:620}@keyframes svelte-1kf96ih-sidebar-dynamic-notice-bubble-in{0%{opacity:0;filter:blur(.35rem);transform:translate(-.72rem,.18rem)scale(.94)}to{opacity:1;filter:blur();transform:translate(0,0)scale(1)}}@keyframes svelte-1kf96ih-sidebar-dynamic-notice-bubble-out{0%{opacity:1;filter:blur();transform:translate(0,0)scale(1)}to{opacity:0;filter:blur(.42rem);transform:translate(-3.85rem,.72rem)scale(.24)}}@media (prefers-reduced-motion:reduce){.sidebar-dynamic-notice-bubble--enter.svelte-1kf96ih,.sidebar-dynamic-notice-bubble--exit.svelte-1kf96ih{animation-duration:1ms}}.sidebar-audio-controls{box-shadow:none;background:0 0;border-radius:1rem;gap:.48rem;margin:.08rem .22rem .32rem;padding:.1rem 0;display:grid}.sidebar-audio-controls__header,.sidebar-audio-control__title-row{justify-content:space-between;align-items:center;gap:.5rem;min-width:0;display:flex}.sidebar-audio-controls__header{width:100%;color:var(--color-text-primary);text-align:left;background:0 0;border:0;padding:0}.sidebar-audio-controls__title{flex:none;font-size:.74rem;font-weight:820}.sidebar-audio-controls__header small,.sidebar-audio-control__title-row small{color:var(--color-text-secondary);font-size:.66rem;font-weight:680}.sidebar-audio-controls__header small{text-align:right;text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.sidebar-audio-controls__activity-icons{flex:none;align-items:center;gap:.18rem;margin-left:auto;display:inline-flex}.sidebar-audio-controls__activity-icon{background:color-mix(in srgb, var(--sidebar-audio-accent,var(--color-accent-500)) 18%, var(--color-surface-muted));width:1.18rem;height:1.18rem;color:var(--sidebar-audio-accent,var(--color-accent-500));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--sidebar-audio-accent,var(--color-accent-500)) 32%, transparent);border-radius:999px;place-items:center;display:grid}.sidebar-audio-controls__activity-icon--music,.sidebar-audio-control--music{--sidebar-audio-accent:var(--color-mint-500)}.sidebar-audio-controls__activity-icon--broadcast,.sidebar-audio-control--broadcast{--sidebar-audio-accent:var(--color-accent-500)}.sidebar-audio-controls__activity-icon--realtime,.sidebar-audio-control--realtime{--sidebar-audio-accent:var(--color-sky-500)}.sidebar-audio-controls__activity-icon svg{width:.78rem;height:.78rem}.sidebar-audio-controls__header>svg{width:.95rem;height:.95rem;color:var(--color-text-secondary);transition:transform .16s}.sidebar-audio-controls__header path,.sidebar-audio-control__mute path,.sidebar-audio-controls__activity-icon path,.sidebar-audio-control__activity-badge path{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round}.sidebar-audio-controls__header path{stroke-width:2px}.sidebar-audio-controls__chevron--expanded{transform:rotate(180deg)}.sidebar-audio-controls__list{gap:.46rem;display:grid}.sidebar-audio-control{border-radius:.72rem;grid-template-columns:2rem minmax(0,1fr);align-items:center;gap:.58rem;margin:0 -.12rem;padding:.1rem .12rem;display:grid;position:relative}.sidebar-audio-control--active{box-shadow:none;background:0 0}.sidebar-audio-control--active:before{content:none}.sidebar-audio-control__mute{background:color-mix(in srgb, var(--color-surface-muted) 58%, transparent);width:2rem;height:2rem;color:var(--color-text-secondary);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--surface-outline-panel) 50%, transparent);border:0;border-radius:999px;place-items:center;display:grid;position:relative}.sidebar-audio-control--active .sidebar-audio-control__mute{color:var(--color-text-primary);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--sidebar-audio-accent,var(--color-accent-500)) 38%, transparent), 0 .48rem 1rem color-mix(in srgb, var(--sidebar-audio-accent,var(--color-accent-500)) 14%, transparent)}.sidebar-audio-control__mute--identity,.sidebar-audio-control--active .sidebar-audio-control__mute--identity{box-shadow:none;background:0 0}.sidebar-audio-control__mute:not(:disabled):hover,.sidebar-audio-control__mute:not(:disabled):focus-visible{color:var(--color-text-primary);background:color-mix(in srgb, var(--color-accent-100) 52%, transparent);outline:none}.sidebar-audio-control__mute:disabled{opacity:.42}.sidebar-audio-control__mute--realtime{color:color-mix(in srgb, var(--color-sky-500) 82%, var(--color-text-secondary))}.sidebar-audio-control__mute--broadcast{color:color-mix(in srgb, var(--color-accent-500) 74%, var(--color-text-secondary))}.sidebar-audio-control__mute--music{color:color-mix(in srgb, var(--color-mint-500) 78%, var(--color-text-secondary))}.sidebar-audio-control__mute svg{width:1.08rem;height:1.08rem}.sidebar-audio-control__project-icon.project-manifest-icon-badge{width:1.72rem;height:1.72rem;box-shadow:none;border:0;border-radius:999px;font-size:.62rem}.sidebar-audio-control__app-icon{border-radius:999px;place-items:center;width:1.72rem;height:1.72rem;display:grid;overflow:hidden}.sidebar-audio-control__app-icon img{object-fit:cover;width:100%;height:100%}.sidebar-audio-control__mute path{stroke-width:1.8px}.sidebar-audio-control__body{gap:.28rem;min-width:0;display:grid}.sidebar-audio-control__title-row strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.76rem;font-weight:780;overflow:hidden}.sidebar-audio-control__meta{flex:none;align-items:center;gap:.34rem;display:inline-flex}.sidebar-audio-control__activity-badge{border:2px solid color-mix(in srgb, var(--color-surface-elevated) 96%, transparent);background:color-mix(in srgb, var(--sidebar-audio-accent,var(--color-accent-500)) 86%, var(--color-surface-elevated));color:#fff;width:.98rem;height:.98rem;box-shadow:0 .28rem .72rem color-mix(in srgb, var(--sidebar-audio-accent,var(--color-accent-500)) 34%, transparent);border-radius:999px;place-items:center;display:grid;position:absolute;bottom:-.12rem;right:-.18rem}.sidebar-audio-control__activity-badge svg{width:.62rem;height:.62rem}.sidebar-audio-control__meta small{flex:none}.sidebar-audio-control input[type=range]{width:100%;accent-color:var(--color-accent-500)}.sidebar-dynamic-item__icon-stack.svelte-l8kt8b{width:1.86rem;height:1.86rem;position:relative}.sidebar-dynamic-item__stacked-icon.project-manifest-icon-badge{width:1.2rem;height:1.2rem;box-shadow:0 .16rem .36rem color-mix(in srgb, var(--color-deep-950) 18%, transparent), inset 0 0 0 1px color-mix(in srgb, var(--color-accent-300) 22%, transparent);border-radius:.42rem;font-size:.46rem;position:absolute}.sidebar-dynamic-item__stacked-icon.project-manifest-icon-badge:first-child{top:0;left:0}.sidebar-dynamic-item__stacked-icon.project-manifest-icon-badge:nth-child(2){top:.18rem;right:0}.sidebar-dynamic-item__stacked-icon.project-manifest-icon-badge:nth-child(3){bottom:0;left:.18rem}.sidebar-dynamic-item__stacked-icon.project-manifest-icon-badge:nth-child(4){bottom:.04rem;right:.05rem}.sidebar-dynamic-item__body.svelte-l8kt8b{gap:.18rem;min-width:0;display:grid}.sidebar-dynamic-item__body.svelte-l8kt8b strong:where(.svelte-l8kt8b),.sidebar-dynamic-item__body.svelte-l8kt8b span:where(.svelte-l8kt8b),.sidebar-dynamic-item__body.svelte-l8kt8b small:where(.svelte-l8kt8b){overflow-wrap:anywhere}.sidebar-dynamic-item__icon.project-manifest-icon-badge{border-radius:.56rem;width:1.86rem;height:1.86rem;font-size:.68rem}.sidebar-dynamic-item__title-row.svelte-l8kt8b{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:.58rem;min-width:0;display:grid}.sidebar-dynamic-item__body.svelte-l8kt8b strong:where(.svelte-l8kt8b){font-size:.84rem;font-weight:780;line-height:1.28}.sidebar-dynamic-item__body.svelte-l8kt8b span:where(.svelte-l8kt8b),.sidebar-dynamic-item__body.svelte-l8kt8b small:where(.svelte-l8kt8b){color:var(--color-text-secondary);font-size:.74rem;line-height:1.35}.sidebar-dynamic-item__title-row.svelte-l8kt8b small:where(.svelte-l8kt8b){color:color-mix(in srgb, var(--color-text-secondary) 68%, transparent);white-space:nowrap;font-size:.64rem;font-weight:650}.sidebar-dynamic-panel .sidebar-dynamic-item,.sidebar-dynamic-panel .sidebar-dynamic-item--dismissible.sidebar-dynamic-item--dragging{box-shadow:none}.sidebar-dynamic-panel .sidebar-dynamic-item:before,.sidebar-dynamic-panel .sidebar-dynamic-item:after{content:none;display:none}.sidebar-dynamic-panel .sidebar-dynamic-item__icon.project-manifest-icon-badge{box-shadow:none;border:0}.sidebar-dynamic-trigger__badge--bump.svelte-1elpxhz{animation:.36s cubic-bezier(.2,.82,.24,1) both svelte-1elpxhz-sidebar-dynamic-badge-count-up}@keyframes svelte-1elpxhz-sidebar-dynamic-badge-count-up{0%{opacity:.76;transform:translateY(.28rem)scale(.84)}58%{opacity:1;transform:translateY(-.08rem)scale(1.14)}to{opacity:1;transform:translate(0,0)scale(1)}}@media (prefers-reduced-motion:reduce){.sidebar-dynamic-trigger__badge--bump.svelte-1elpxhz{animation-duration:1ms}}.sidebar-dynamic-hub{width:100%;position:relative}.sidebar-dynamic-hub--collapsed{justify-content:center;display:flex}.sidebar-dynamic-trigger{background:linear-gradient(145deg, color-mix(in srgb, var(--color-surface-elevated) 88%, transparent), color-mix(in srgb, var(--color-accent-50) 22%, var(--color-surface-elevated))), var(--color-surface-elevated);width:100%;min-height:3.35rem;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--surface-outline-panel) 74%, transparent), 0 .72rem 1.6rem color-mix(in srgb, var(--color-deep-950) 8%, transparent);color:var(--color-text-primary);text-align:left;border:0;border-radius:1.12rem;align-items:center;gap:.72rem;padding:.58rem .72rem;display:flex;position:relative;overflow:visible}.sidebar-dynamic-hub--collapsed .sidebar-dynamic-trigger{border-radius:999px;justify-content:center;width:3.34rem;min-height:3.34rem;padding:0}.sidebar-dynamic-hub--collapsed .sidebar-dynamic-trigger--compact-clock{width:3.56rem;min-height:2.2rem;box-shadow:none;background:0 0;border-radius:.62rem;padding:.08rem 0}.sidebar-dynamic-trigger:hover,.sidebar-dynamic-trigger:focus-visible{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--color-accent-400) 42%, var(--surface-outline-panel)), 0 .88rem 1.9rem color-mix(in srgb, var(--color-accent-400) 14%, transparent);outline:none}.sidebar-dynamic-trigger--compact-clock:hover,.sidebar-dynamic-trigger--compact-clock:focus-visible{box-shadow:none;color:color-mix(in srgb, var(--color-text-primary) 82%, var(--color-accent-500));background:0 0}.sidebar-dynamic-trigger__icon{background:color-mix(in srgb, var(--color-accent-400) 76%, var(--color-surface-elevated));width:1.08rem;height:1.08rem;box-shadow:0 0 0 .34rem color-mix(in srgb, var(--color-accent-100) 62%, transparent);border-radius:999px;flex:none}.sidebar-dynamic-trigger__project-icon.project-manifest-icon-badge{width:1.64rem;height:1.64rem;box-shadow:none;border:0;border-radius:.5rem;flex:none;font-size:.62rem}.sidebar-dynamic-trigger__icon-stack,.sidebar-dynamic-item__icon-stack{--sidebar-dynamic-stack-size:1.86rem;--sidebar-dynamic-stack-radius:.56rem;--sidebar-dynamic-stack-font-size:.68rem;width:var(--sidebar-dynamic-stack-size);height:var(--sidebar-dynamic-stack-size);flex:none;display:block;position:relative;overflow:visible}.sidebar-dynamic-trigger__icon-stack{--sidebar-dynamic-stack-size:1.64rem;--sidebar-dynamic-stack-radius:.5rem;--sidebar-dynamic-stack-font-size:.62rem}.sidebar-dynamic-trigger__stacked-icon.project-manifest-icon-badge,.sidebar-dynamic-item__stacked-icon.project-manifest-icon-badge{width:var(--sidebar-dynamic-stack-size);height:var(--sidebar-dynamic-stack-size);border:1px solid color-mix(in srgb, var(--color-surface-shell) 86%, white);border-radius:var(--sidebar-dynamic-stack-radius);font-size:var(--sidebar-dynamic-stack-font-size);box-shadow:0 .22rem .54rem color-mix(in srgb, var(--color-deep-950) 12%, transparent);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.sidebar-dynamic-trigger__stacked-icon.project-manifest-icon-badge:nth-child(2),.sidebar-dynamic-item__stacked-icon.project-manifest-icon-badge:nth-child(2){transform:translate(calc(.3rem - 50%),calc(.18rem - 50%))}.sidebar-dynamic-trigger__stacked-icon.project-manifest-icon-badge:nth-child(3),.sidebar-dynamic-item__stacked-icon.project-manifest-icon-badge:nth-child(3){transform:translate(calc(-50% - .3rem),calc(.18rem - 50%))}.sidebar-dynamic-trigger__stacked-icon.project-manifest-icon-badge:nth-child(4),.sidebar-dynamic-item__stacked-icon.project-manifest-icon-badge:nth-child(4){transform:translate(calc(.16rem - 50%),calc(-50% - .28rem))}.sidebar-dynamic-trigger__system-icon{background:linear-gradient(145deg, color-mix(in srgb, #f59e0b 22%, var(--color-surface-elevated)), color-mix(in srgb, #6366f1 14%, var(--color-surface-elevated))), var(--color-surface-elevated);width:1.64rem;height:1.64rem;box-shadow:inset 0 0 0 1px color-mix(in srgb, #f59e0b 28%, var(--surface-outline-panel)), 0 .36rem .82rem #f59e0b1f;color:color-mix(in srgb, #f59e0b 78%, var(--color-text-primary));border-radius:.5rem;flex:none;place-items:center;display:grid}.sidebar-dynamic-trigger__system-icon--home{background:linear-gradient(145deg, color-mix(in srgb, #14b8a6 22%, var(--color-surface-elevated)), color-mix(in srgb, #22c55e 16%, var(--color-surface-elevated))), var(--color-surface-elevated);box-shadow:inset 0 0 0 1px color-mix(in srgb, #14b8a6 28%, var(--surface-outline-panel)), 0 .36rem .82rem #14b8a61f;color:color-mix(in srgb, #0f766e 78%, var(--color-text-primary))}.sidebar-dynamic-trigger__system-icon svg{width:.98rem;height:.98rem;overflow:visible}.sidebar-dynamic-trigger__system-icon path{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.9px}.sidebar-dynamic-trigger__clock{justify-items:center;gap:.13rem;min-width:0;line-height:1;display:grid}.sidebar-dynamic-trigger__clock strong,.sidebar-dynamic-trigger__clock small{text-overflow:ellipsis;white-space:nowrap;max-width:3.5rem;overflow:hidden}.sidebar-dynamic-trigger__clock strong{font-size:.78rem;font-weight:820}.sidebar-dynamic-trigger__time{font-variant-numeric:tabular-nums;font-feature-settings:"tnum";grid-template-columns:1.34em .34em 1.34em;justify-content:center;justify-items:center;display:inline-grid}.sidebar-dynamic-trigger__time-separator{align-self:center;width:100%;height:.48em;display:inline-block;position:relative;transform:translateY(.02em)}.sidebar-dynamic-trigger__time-separator:before,.sidebar-dynamic-trigger__time-separator:after{content:"";background:currentColor;border-radius:999px;width:.12em;height:.12em;position:absolute;left:50%;transform:translate(-50%)}.sidebar-dynamic-trigger__time-separator:before{top:0}.sidebar-dynamic-trigger__time-separator:after{bottom:0}.sidebar-dynamic-trigger__clock small{color:var(--color-text-secondary);font-size:.46rem;font-weight:680}.sidebar-dynamic-hub--critical .sidebar-dynamic-trigger__icon{background:#ef4444;box-shadow:0 0 0 .34rem #ef444424}.sidebar-dynamic-hub--warning .sidebar-dynamic-trigger__icon{background:#f59e0b;box-shadow:0 0 0 .34rem #f59e0b24}.sidebar-dynamic-trigger__badge{color:#fff;text-align:center;background:#ef4444;border-radius:999px;min-width:1.14rem;font-size:.66rem;font-weight:800;line-height:1.14rem;position:absolute;top:.28rem;right:.34rem}.sidebar-dynamic-trigger--compact-clock .sidebar-dynamic-trigger__badge{top:-.34rem;right:-.4rem}.sidebar-dynamic-trigger__copy{gap:.16rem;min-width:0;display:grid}.sidebar-dynamic-trigger__copy span,.sidebar-dynamic-trigger__copy small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sidebar-dynamic-trigger__copy span{font-size:.86rem;font-weight:780}.sidebar-dynamic-trigger__copy small{color:var(--color-text-secondary);font-size:.72rem;font-weight:620}.sidebar-dynamic-panel{--sidebar-dynamic-panel-x-inset:.62rem;--sidebar-dynamic-panel-inner-radius:calc(var(--zhaw-shell-surface-radius,2rem) - var(--sidebar-dynamic-panel-x-inset));bottom:var(--sidebar-dynamic-panel-bottom,1rem);left:var(--sidebar-dynamic-panel-left,7.25rem);z-index:var(--zhaw-sidebar-floating-z-index);width:min(22rem,100vw - 7.5rem);max-height:var(--sidebar-dynamic-panel-max-height,calc(100vh - 2rem));isolation:isolate;border-radius:var(--zhaw-shell-surface-radius,2rem);background:color-mix(in srgb, var(--color-surface-shell) 58%, transparent);box-shadow:0 1.35rem 3.4rem color-mix(in srgb, var(--color-deep-950) 20%, transparent), 0 0 1.15rem color-mix(in srgb, var(--color-mint-200) 14%, transparent), inset 0 0 0 1px color-mix(in srgb, var(--color-mint-200) 36%, #fff3), inset 0 .06rem .14rem #ffffff3d;-webkit-backdrop-filter:blur(calc(24px * var(--zhaw-blur-factor,1))) saturate(1.2);backdrop-filter:blur(calc(24px * var(--zhaw-blur-factor,1))) saturate(1.2);transform-origin:0 100%;will-change:opacity, transform, filter;flex-direction:column;display:flex;position:fixed;overflow:hidden}.sidebar-dynamic-notice-bubble-portal{bottom:var(--sidebar-dynamic-notice-bottom,1rem);left:var(--sidebar-dynamic-notice-left,7.25rem);z-index:var(--zhaw-sidebar-floating-z-index);width:var(--sidebar-dynamic-notice-width,min(16.2rem, calc(100vw - 7.4rem)));pointer-events:none;position:fixed}.sidebar-dynamic-panel__clear-icon{width:1.18rem;height:1.18rem;overflow:visible}.sidebar-dynamic-panel__clear-icon path{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.85px}.sidebar-dynamic-panel__clear-bristles{fill:color-mix(in srgb, currentcolor 14%, transparent)}.sidebar-dynamic-panel__clear-sweep{stroke-width:1.45px;opacity:.62}.sidebar-dynamic-panel__list{scrollbar-width:none;min-height:0;padding:.34rem var(--sidebar-dynamic-panel-x-inset) .72rem;flex:auto;align-content:start;align-items:start;gap:.42rem;display:grid;overflow-y:auto}.sidebar-dynamic-panel__list::-webkit-scrollbar{display:none}.sidebar-dynamic-panel__list--ambient{padding-top:1.18rem}.sidebar-dynamic-panel__section{gap:.38rem;min-width:0;display:grid}.sidebar-dynamic-panel__section-heading{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.5rem;min-width:0;margin:.34rem .42rem .08rem;display:grid}.sidebar-dynamic-panel__section-heading h3{min-width:0;color:var(--color-text-secondary);letter-spacing:0;margin:0;font-size:.66rem;font-weight:820}.sidebar-dynamic-panel__group-clear{background:color-mix(in srgb, var(--color-surface-muted) 48%, transparent);width:1.72rem;height:1.72rem;color:var(--color-text-secondary);opacity:0;pointer-events:none;border:0;border-radius:999px;place-items:center;transition:background .16s,color .16s,opacity .14s,transform .16s;display:grid;transform:translateY(.08rem)}.sidebar-dynamic-panel__section:hover .sidebar-dynamic-panel__group-clear,.sidebar-dynamic-panel__section:focus-within .sidebar-dynamic-panel__group-clear{opacity:1;pointer-events:auto;transform:translateY(0)}.sidebar-dynamic-panel__group-clear:hover,.sidebar-dynamic-panel__group-clear:focus-visible{background:color-mix(in srgb, var(--color-accent-100) 64%, transparent);color:var(--color-text-primary);outline:none}.sidebar-dynamic-panel__section-list{gap:.42rem;min-width:0;display:grid}.sidebar-dynamic-panel__bottom{min-width:0;margin-top:auto;padding-top:.58rem;display:grid}.sidebar-dynamic-panel__status-clock{border-radius:var(--sidebar-dynamic-panel-inner-radius);background:color-mix(in srgb, var(--color-surface-elevated) 58%, transparent);min-width:0;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--surface-outline-panel) 42%, transparent), 0 .52rem 1.25rem color-mix(in srgb, var(--color-deep-950) 7%, transparent);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.76rem;padding:.66rem .74rem;display:grid}.sidebar-dynamic-panel__status{grid-template-columns:.52rem minmax(0,1fr);align-items:center;gap:.5rem;min-width:0;display:grid}.sidebar-dynamic-panel__status-dot{background:var(--color-text-secondary);border-radius:999px;width:.52rem;height:.52rem}.sidebar-dynamic-panel__status-clock--connected .sidebar-dynamic-panel__status-dot{background:color-mix(in srgb, var(--color-mint-300,#6ee7b7) 82%, var(--color-text-primary))}.sidebar-dynamic-panel__status-clock--checking .sidebar-dynamic-panel__status-dot{background:#f59e0b}.sidebar-dynamic-panel__status-clock--disconnected .sidebar-dynamic-panel__status-dot{background:#ef4444}.sidebar-dynamic-panel__status strong,.sidebar-dynamic-panel__status small,.sidebar-dynamic-panel__clock strong,.sidebar-dynamic-panel__clock small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.sidebar-dynamic-panel__status strong{font-size:.78rem;font-weight:790}.sidebar-dynamic-panel__status small{color:var(--color-text-secondary);font-size:.66rem;font-weight:650}.sidebar-dynamic-panel__clock{border-left:1px solid color-mix(in srgb, var(--surface-outline-panel) 38%, transparent);text-align:right;min-width:8.15rem;padding-left:.76rem}.sidebar-dynamic-panel__clock strong{font-size:.86rem;font-weight:820}.sidebar-dynamic-panel__clock small{color:var(--color-text-secondary);font-size:.68rem;font-weight:650}.sidebar-dynamic-panel__clock small.sidebar-dynamic-panel__clock-meta{justify-content:flex-end;align-items:center;gap:.36rem;min-width:0;display:flex}.sidebar-dynamic-panel__clock-meta span{flex:none}.sidebar-dynamic-panel__clock-weather{color:var(--color-text-primary);font-weight:760}.sidebar-dynamic-item{color:var(--color-text-primary);text-align:left;touch-action:pan-y;transform:translateX(var(--sidebar-dynamic-item-shift,0));will-change:transform;background:0 0;border:0;border-radius:.82rem;grid-template-columns:1.86rem minmax(0,1fr);align-items:center;gap:.7rem;padding:.62rem;transition:background .15s,box-shadow .15s,opacity .15s,transform .18s;display:grid}.sidebar-dynamic-item:not(:disabled):hover{background:color-mix(in srgb, var(--color-accent-100) 38%, transparent)}#app .sidebar-dynamic-item:not(:disabled):focus-visible,.sidebar-dynamic-panel .sidebar-dynamic-item:not(:disabled):focus-visible{outline-offset:0;background:color-mix(in srgb, var(--color-accent-100) 38%, transparent);outline:none}.sidebar-dynamic-item:disabled{cursor:default}.sidebar-dynamic-item--dragging{opacity:.82;transition:none}.sidebar-dynamic-item--dismissible{cursor:pointer}.sidebar-dynamic-item--dismissible.sidebar-dynamic-item--dragging{box-shadow:0 .72rem 1.8rem color-mix(in srgb, var(--color-deep-950) 10%, transparent), inset 0 0 0 1px color-mix(in srgb, var(--color-accent-300) 28%, transparent)}.sidebar-dynamic-item__mark{background:color-mix(in srgb, var(--color-accent-400) 70%, var(--color-text-secondary));border-radius:999px;width:.5rem;height:.5rem;margin:0 auto}.sidebar-dynamic-item--critical .sidebar-dynamic-item__mark{background:#ef4444}.sidebar-dynamic-item--warning .sidebar-dynamic-item__mark{background:#f59e0b}.sidebar-dynamic-item__body{gap:.18rem;min-width:0;display:grid}.sidebar-dynamic-item__body strong,.sidebar-dynamic-item__body span,.sidebar-dynamic-item__body small{overflow-wrap:anywhere}.sidebar-dynamic-panel .sidebar-dynamic-item__icon.project-manifest-icon-badge{border-radius:.56rem;width:1.86rem;height:1.86rem;font-size:.68rem}.sidebar-dynamic-item__system-icon{background:linear-gradient(145deg, color-mix(in srgb, #f59e0b 20%, var(--color-surface-elevated)), color-mix(in srgb, #6366f1 16%, var(--color-surface-elevated))), var(--color-surface-elevated);width:1.86rem;height:1.86rem;box-shadow:inset 0 0 0 1px color-mix(in srgb, #f59e0b 28%, var(--surface-outline-panel)), 0 .42rem 1rem #f59e0b21;color:color-mix(in srgb, #f59e0b 78%, var(--color-text-primary));border-radius:.56rem;place-items:center;display:grid}.sidebar-dynamic-item__system-icon--home{background:linear-gradient(145deg, color-mix(in srgb, #14b8a6 20%, var(--color-surface-elevated)), color-mix(in srgb, #22c55e 16%, var(--color-surface-elevated))), var(--color-surface-elevated);box-shadow:inset 0 0 0 1px color-mix(in srgb, #14b8a6 28%, var(--surface-outline-panel)), 0 .42rem 1rem #14b8a621;color:color-mix(in srgb, #0f766e 78%, var(--color-text-primary))}.sidebar-dynamic-item__system-icon svg{width:1.08rem;height:1.08rem;overflow:visible}.sidebar-dynamic-item__system-icon path{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.85px}.sidebar-dynamic-item__title-row{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:.58rem;min-width:0;display:grid}.sidebar-dynamic-item__body strong{font-size:.84rem;font-weight:780;line-height:1.28}.sidebar-dynamic-item__body span,.sidebar-dynamic-item__body small{color:var(--color-text-secondary);font-size:.74rem;line-height:1.35}.sidebar-dynamic-item__title-row small{color:color-mix(in srgb, var(--color-text-secondary) 68%, transparent);white-space:nowrap;font-size:.64rem;font-weight:650}@media (width<=48rem){.sidebar-dynamic-panel{width:auto;max-height:calc(100vh - 2rem);bottom:1rem;left:1rem;right:1rem}}.zhaw-sidebar-music-boundary.svelte-xaa6j2{height:100%}.zhaw-sidebar-music-boundary.svelte-xaa6j2 [data-sidebar-item-id=music]{transform-origin:50%;transition:opacity calc(.22s * var(--desktop-animation-duration-scale,1)) ease, transform calc(.26s * var(--desktop-animation-duration-scale,1)) cubic-bezier(.22, 1, .36, 1), filter calc(.22s * var(--desktop-animation-duration-scale,1)) ease, max-height calc(.26s * var(--desktop-animation-duration-scale,1)) cubic-bezier(.22, 1, .36, 1), margin calc(.26s * var(--desktop-animation-duration-scale,1)) cubic-bezier(.22, 1, .36, 1), padding calc(.26s * var(--desktop-animation-duration-scale,1)) cubic-bezier(.22, 1, .36, 1)}.zhaw-sidebar-music-boundary--detaching.svelte-xaa6j2 [data-sidebar-item-id=music]{filter:drop-shadow(0 0 .8rem #f6d31661);transform:translate(.18rem)scale(.96)}.zhaw-sidebar-music-boundary--detached.svelte-xaa6j2 [data-sidebar-item-id=music]{opacity:0;pointer-events:none;filter:blur(.18rem);transform:translate(-.5rem)scale(.72);border-width:0!important;max-height:0!important;margin-top:0!important;margin-bottom:0!important;padding-top:0!important;padding-bottom:0!important}.project-dock-strip{flex-direction:column;gap:.44rem;width:100%;display:flex}.project-dock-strip--collapsed{align-items:center}.project-dock-app{--project-dock-accent:var(--color-accent-500);background:color-mix(in srgb, var(--color-surface-elevated) 88%, transparent);width:100%;min-width:0;color:var(--color-text-primary);text-align:left;cursor:grab;transition:padding calc(.28s * var(--desktop-animation-duration-scale,1)) cubic-bezier(.22, 1, .36, 1), background calc(.22s * var(--desktop-animation-duration-scale,1)) ease, border-color calc(.22s * var(--desktop-animation-duration-scale,1)) ease, box-shadow calc(.22s * var(--desktop-animation-duration-scale,1)) ease;border:1px solid #0000;border-radius:1.55rem;align-items:flex-start;gap:.75rem;padding:1rem;display:flex;position:relative;overflow:hidden}.project-dock-app:not(.project-dock-app--current):hover{border-color:var(--surface-outline-panel);background:color-mix(in srgb, var(--color-surface-elevated) 94%, transparent)}.project-dock-app:active{cursor:grabbing}.project-dock-strip--collapsed .project-dock-app{width:3.72rem;height:3.72rem;box-shadow:none;background:0 0;border-color:#0000;justify-content:center;align-items:center;padding:0;overflow:visible}.project-dock-app--current{border-color:color-mix(in srgb, var(--project-dock-accent) 22%, transparent);background:radial-gradient(circle at 0% 16%, color-mix(in srgb, var(--project-dock-accent) 18%, transparent), transparent 42%), radial-gradient(circle at 100% 8%, color-mix(in srgb, var(--project-dock-accent) 12%, transparent), transparent 34%), color-mix(in srgb, var(--project-dock-accent) 10%, var(--color-surface-elevated) 90%);box-shadow:var(--shadow-soft)}.project-dock-app--current:hover{border-color:color-mix(in srgb, var(--project-dock-accent) 42%, var(--surface-outline-panel));background:radial-gradient(circle at 0% 16%, color-mix(in srgb, var(--project-dock-accent) 22%, transparent), transparent 42%), radial-gradient(circle at 100% 8%, color-mix(in srgb, var(--project-dock-accent) 15%, transparent), transparent 34%), color-mix(in srgb, var(--project-dock-accent) 14%, var(--color-surface-elevated) 86%)}#app .project-dock-strip--collapsed .project-dock-app--current,#app .project-dock-strip--collapsed .project-dock-app--current:hover{background:0 0;border-color:#0000;box-shadow:none!important}#app .project-dock-strip--collapsed .project-dock-app--current .project-app-icon--active{box-shadow:0 0 1.22rem color-mix(in srgb, var(--project-dock-accent) 58%, transparent), 0 .5rem 1.36rem color-mix(in srgb, var(--project-dock-accent) 42%, transparent), 0 .34rem .78rem color-mix(in srgb, var(--project-dock-accent) 24%, transparent)!important}.project-dock-app--dragging{opacity:.56}.project-dock-app--drag-over{box-shadow:0 0 1.05rem color-mix(in srgb, var(--color-mint-300) 32%, transparent), 0 .42rem 1.15rem color-mix(in srgb, var(--color-mint-300) 20%, transparent)}.project-dock-app-copy{flex-direction:column;flex:1;gap:.375rem;min-width:0;padding-top:0;display:flex}.project-dock-app-icon-frame{flex:none;display:inline-flex;position:relative;overflow:visible}#app .project-dock-strip--collapsed .project-dock-app:hover .project-app-icon--dock,#app .project-dock-strip--collapsed .project-dock-app:focus-visible .project-app-icon--dock{transform:translateY(-1px);box-shadow:0 0 1.08rem color-mix(in srgb, var(--project-dock-accent) 48%, transparent), 0 .46rem 1.34rem color-mix(in srgb, var(--project-dock-accent) 34%, transparent), 0 .3rem .72rem color-mix(in srgb, var(--project-dock-accent) 22%, transparent)!important}#app .project-dock-strip--collapsed .project-dock-app--current:hover .project-app-icon--active,#app .project-dock-strip--collapsed .project-dock-app--current:focus-visible .project-app-icon--active{transform:translateY(-1px);box-shadow:0 0 1.22rem color-mix(in srgb, var(--project-dock-accent) 58%, transparent), 0 .5rem 1.36rem color-mix(in srgb, var(--project-dock-accent) 42%, transparent), 0 .34rem .78rem color-mix(in srgb, var(--project-dock-accent) 24%, transparent)!important}#app .project-dock-strip--collapsed .project-dock-app:active .project-app-icon--dock{transform:translateY(0);box-shadow:0 0 1.3rem color-mix(in srgb, var(--project-dock-accent) 70%, transparent), 0 .52rem 1.18rem color-mix(in srgb, var(--project-dock-accent) 40%, transparent)!important}.project-dock-app-label,.project-dock-app-detail{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.project-dock-app-label{color:var(--color-primary);font-size:1rem;font-weight:600;line-height:1.5}.project-dock-app-detail{color:var(--color-secondary);font-size:.92rem;font-weight:400;line-height:1.5}.project-dock-app-status{z-index:2;color:#fff;text-align:center;min-width:1.1rem;height:1.1rem;box-shadow:0 0 0 2px color-mix(in srgb, var(--color-surface-shell) 96%, transparent), 0 .18rem .48rem #0f172a3d;background:#f43f5e;border-radius:999px;place-items:center;padding:0 .28rem;font-size:.68rem;font-weight:800;line-height:1;display:grid;position:absolute;top:-.16rem;right:-.16rem}.project-dock-app-status--running,.project-dock-app-status--waiting,.project-dock-app-status--paused{background:#22c55e}.project-dock-app-status--blocked{background:#f59e0b}.project-dock-app--expanded .project-app-icon--dock{width:3.48rem;height:3.48rem}:root[data-theme=dark] .project-dock-app{background:color-mix(in srgb, var(--color-surface-panel) 72%, transparent)}:root[data-theme=dark] .project-dock-app:not(.project-dock-app--current):hover{border-color:color-mix(in srgb, var(--surface-outline-panel) 78%, transparent);background:color-mix(in srgb, var(--color-surface-elevated) 78%, transparent)}:root[data-theme=dark] .project-dock-app--current{border-color:color-mix(in srgb, var(--project-dock-accent) 34%, transparent);background:radial-gradient(circle at 0% 16%, color-mix(in srgb, var(--project-dock-accent) 23%, transparent), transparent 42%), radial-gradient(circle at 100% 8%, color-mix(in srgb, var(--project-dock-accent) 14%, transparent), transparent 34%), color-mix(in srgb, var(--project-dock-accent) 16%, var(--color-surface-elevated) 84%)}:root[data-theme=dark] .project-dock-app--current:hover{border-color:color-mix(in srgb, var(--project-dock-accent) 48%, var(--surface-outline-panel));background:radial-gradient(circle at 0% 16%, color-mix(in srgb, var(--project-dock-accent) 27%, transparent), transparent 42%), radial-gradient(circle at 100% 8%, color-mix(in srgb, var(--project-dock-accent) 17%, transparent), transparent 34%), color-mix(in srgb, var(--project-dock-accent) 19%, var(--color-surface-elevated) 81%)}:root[data-theme=dark] .project-dock-strip--collapsed .project-dock-app{background:0 0}.system-dock-strip.svelte-1xgioh4{flex-direction:column;gap:.44rem;width:100%;display:flex}.system-dock-strip--collapsed.svelte-1xgioh4{align-items:center}.system-dock-app.svelte-1xgioh4{background:color-mix(in srgb, var(--color-surface-elevated) 88%, transparent);min-width:0;transition:padding calc(.28s * var(--desktop-animation-duration-scale,1)) cubic-bezier(.22, 1, .36, 1), background calc(.22s * var(--desktop-animation-duration-scale,1)) ease, border-color calc(.22s * var(--desktop-animation-duration-scale,1)) ease, box-shadow calc(.22s * var(--desktop-animation-duration-scale,1)) ease;border:1px solid #0000;border-radius:1.55rem;position:relative;overflow:hidden}.system-dock-app.svelte-1xgioh4:not(.console-sidebar-card-active):hover{border-color:var(--surface-outline-panel);background:color-mix(in srgb, var(--color-surface-elevated) 94%, transparent)}.system-dock-app.console-sidebar-card-active.svelte-1xgioh4{border-color:var(--surface-outline-accent);background:radial-gradient(circle at 0% 16%, color-mix(in srgb, var(--zhaw-os-app-accent,var(--color-accent-500)) 18%, transparent), transparent 42%), radial-gradient(circle at 100% 8%, color-mix(in srgb, var(--zhaw-os-app-accent,var(--color-accent-500)) 12%, transparent), transparent 34%), color-mix(in srgb, var(--color-surface-elevated) 84%, var(--zhaw-os-app-accent,var(--color-accent-500)) 10%)}.system-dock-app.console-sidebar-card-active.svelte-1xgioh4:hover{border-color:var(--surface-outline-accent);background:radial-gradient(circle at 0% 16%, color-mix(in srgb, var(--zhaw-os-app-accent,var(--color-accent-500)) 22%, transparent), transparent 42%), radial-gradient(circle at 100% 8%, color-mix(in srgb, var(--zhaw-os-app-accent,var(--color-accent-500)) 15%, transparent), transparent 34%), color-mix(in srgb, var(--color-surface-elevated) 80%, var(--zhaw-os-app-accent,var(--color-accent-500)) 13%)}.system-dock-strip--collapsed.svelte-1xgioh4 .system-dock-app:where(.svelte-1xgioh4){background:0 0;border-color:#0000;overflow:visible}.system-dock-strip--collapsed.svelte-1xgioh4 .system-dock-app.console-sidebar-card-active:where(.svelte-1xgioh4){box-shadow:0 0 1.05rem color-mix(in srgb, var(--zhaw-os-app-glow,var(--color-accent-500)) 34%, transparent), 0 .36rem .82rem color-mix(in srgb, var(--zhaw-os-app-glow,var(--color-accent-500)) 18%, transparent)}.system-dock-strip--collapsed.svelte-1xgioh4 .system-dock-app.console-sidebar-card-active:where(.svelte-1xgioh4) .console-sidebar-icon-shell-active:where(.svelte-1xgioh4){box-shadow:0 0 1.22rem color-mix(in srgb, var(--zhaw-os-app-glow,var(--color-accent-500)) 58%, transparent), 0 .5rem 1.36rem color-mix(in srgb, var(--zhaw-os-app-glow,var(--color-accent-500)) 42%, transparent), 0 .34rem .78rem #0711142e!important}:root[data-theme=dark] .system-dock-app.svelte-1xgioh4{background:color-mix(in srgb, var(--color-surface-panel) 72%, transparent)}:root[data-theme=dark] .system-dock-app.svelte-1xgioh4:not(.console-sidebar-card-active):hover{border-color:color-mix(in srgb, var(--surface-outline-panel) 78%, transparent);background:color-mix(in srgb, var(--color-surface-elevated) 78%, transparent)}:root[data-theme=dark] .system-dock-app.console-sidebar-card-active.svelte-1xgioh4{border-color:color-mix(in srgb, var(--surface-outline-accent) 72%, transparent);background:radial-gradient(circle at 0% 16%, color-mix(in srgb, var(--zhaw-os-app-accent,var(--color-accent-500)) 23%, transparent), transparent 42%), radial-gradient(circle at 100% 8%, color-mix(in srgb, var(--zhaw-os-app-accent,var(--color-accent-500)) 14%, transparent), transparent 34%), color-mix(in srgb, var(--color-surface-panel) 72%, var(--zhaw-os-app-accent,var(--color-accent-500)) 14%)}:root[data-theme=dark] .system-dock-app.console-sidebar-card-active.svelte-1xgioh4:hover{background:radial-gradient(circle at 0% 16%, color-mix(in srgb, var(--zhaw-os-app-accent,var(--color-accent-500)) 27%, transparent), transparent 42%), radial-gradient(circle at 100% 8%, color-mix(in srgb, var(--zhaw-os-app-accent,var(--color-accent-500)) 17%, transparent), transparent 34%), color-mix(in srgb, var(--color-surface-panel) 68%, var(--zhaw-os-app-accent,var(--color-accent-500)) 17%)}.companion-pet{--pet-accent:#45c4a0;--pet-accent-strong:#12906f;--pet-surface:color-mix(in srgb, var(--color-surface-panel) 86%, white 14%);--pet-edge-left:max(0px, env(safe-area-inset-left));--pet-edge-right:max(0px, env(safe-area-inset-right));--pet-edge-top:max(0px, env(safe-area-inset-top));--pet-edge-bottom:max(0px, env(safe-area-inset-bottom));--companion-pet-card-padding:.85rem;--companion-pet-avatar-column:4.75rem;--companion-pet-card-content-height:5.63rem;--companion-pet-card-height:calc(var(--companion-pet-card-content-height) + var(--companion-pet-card-padding) * 2);--companion-pet-card-width:min(21rem, calc(100dvw - var(--pet-edge-left) - var(--pet-edge-right)));right:var(--pet-edge-right);bottom:var(--pet-edge-bottom);z-index:55;box-sizing:border-box;width:var(--companion-pet-card-width);height:var(--companion-pet-card-height);max-width:calc(100dvw - var(--pet-edge-left) - var(--pet-edge-right));max-height:calc(100dvh - var(--pet-edge-top) - var(--pet-edge-bottom));grid-template-columns:var(--companion-pet-avatar-column) minmax(0, 1fr);border:1px solid color-mix(in srgb, var(--pet-accent) 28%, var(--color-border-soft));background:var(--pet-surface);padding:var(--companion-pet-card-padding);box-shadow:0 18px 44px color-mix(in srgb, var(--color-primary) 14%, transparent), inset 0 1px 0 #ffffff57;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;border-radius:1.35rem;align-items:center;gap:.64rem;transition:left .18s,top .18s,box-shadow .18s,border-color .18s;display:grid;position:fixed;overflow:visible}.companion-pet--dragging{cursor:grabbing;border-color:color-mix(in srgb, var(--pet-accent) 52%, var(--color-border-control));box-shadow:0 24px 56px color-mix(in srgb, var(--color-primary) 18%, transparent), inset 0 1px 0 #ffffff57;transition:box-shadow .12s,border-color .12s}.companion-pet button{-webkit-user-select:none;user-select:none}.companion-pet:has(.companion-pet__projects){width:var(--companion-pet-card-width);align-items:center}.companion-pet--state-link{width:var(--companion-pet-card-width);align-items:stretch}.companion-pet--avatar-right{grid-template-columns:minmax(0, 1fr) var(--companion-pet-avatar-column);padding:var(--companion-pet-card-padding)}.companion-pet--avatar-right .companion-pet__avatar{grid-area:1/2}.companion-pet--avatar-right .companion-pet__body{grid-area:1/1}.companion-pet--avatar-right .companion-pet__close{left:.28rem;right:auto}.companion-pet--collapsed{width:auto;max-width:none;height:auto;max-height:none;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;cursor:default;background:0 0;border:0;border-radius:0;grid-template-columns:auto;gap:0;padding:0;overflow:visible}.companion-pet--spark{--pet-accent:#1677ff;--pet-accent-strong:#1d4ed8}.companion-pet--mint{--pet-accent:#45c4a0;--pet-accent-strong:#047857}.companion-pet--amber{--pet-accent:#f97316;--pet-accent-strong:#c2410c}.companion-pet--violet{--pet-accent:#8b5cf6;--pet-accent-strong:#6d28d9}.companion-pet__close{z-index:2;border:1px solid color-mix(in srgb, var(--color-border-control) 72%, transparent);background:color-mix(in srgb, var(--color-surface-shell) 72%, transparent);width:1.55rem;height:1.55rem;color:var(--color-muted);opacity:0;pointer-events:none;visibility:hidden;border-radius:999px;place-items:center;font-size:1rem;line-height:1;transition:opacity .14s,transform .14s,visibility .14s;display:grid;position:absolute;top:-.56rem;right:.28rem;transform:scale(.92)}.companion-pet:hover .companion-pet__close,.companion-pet:focus-within .companion-pet__close{opacity:1;pointer-events:auto;visibility:visible;transform:scale(1)}.companion-pet__close:hover{color:var(--color-primary);border-color:color-mix(in srgb, var(--pet-accent) 42%, var(--color-border-control))}.companion-pet__collapsed-trigger{width:4.75rem;height:4.75rem;color:inherit;cursor:pointer;background:0 0;border:0;align-content:center;place-items:center;gap:.3rem;padding:0;display:grid}.companion-pet__collapsed-trigger .companion-pet__sprite{pointer-events:none}.companion-pet--collapsed .companion-pet__collapsed-trigger{height:auto;min-height:5.55rem}.companion-pet--collapsed .companion-pet__quota{width:min(4.15rem,100%)}.companion-pet__avatar{align-content:center;justify-items:center;gap:.42rem;min-width:0;display:grid;position:relative}.companion-pet__sprite{border:2px solid color-mix(in srgb, var(--pet-accent-strong) 64%, transparent);background:linear-gradient(135deg, #ffffff61, transparent 44%), color-mix(in srgb, var(--pet-accent) 76%, white 24%);width:4.15rem;height:4.15rem;box-shadow:inset -.35rem -.42rem 0 color-mix(in srgb, var(--pet-accent-strong) 20%, transparent), 0 .65rem 1rem color-mix(in srgb, var(--pet-accent) 26%, transparent);border-radius:1.18rem;position:relative}.companion-pet__sprite--remote,.companion-pet__sprite--empty{box-shadow:none;background:0 0;border-color:#0000}.companion-pet__sprite-frame{background-position:0 0;background-repeat:no-repeat;background-size:800% 900%;border-radius:0;display:block;position:absolute;inset:0}.companion-pet__body{width:100%;height:var(--companion-pet-card-content-height);align-content:center;min-width:0;max-width:100%;display:grid;overflow:hidden}.companion-pet__state-link{width:100%;max-width:100%;height:var(--companion-pet-card-content-height);min-width:0;color:inherit;text-align:left;background:0 0;border:0;align-content:center;padding:0;display:grid;overflow:hidden}.companion-pet__state-link:hover .companion-pet__title{color:color-mix(in srgb, var(--pet-accent-strong) 76%, var(--color-primary))}.companion-pet__meta{border:1px solid color-mix(in srgb, var(--pet-accent) 32%, var(--color-border-soft));background:color-mix(in srgb, var(--color-surface-panel) 92%, white 8%);max-width:100%;color:color-mix(in srgb, var(--pet-accent-strong) 88%, var(--color-primary) 12%);opacity:0;pointer-events:none;box-shadow:0 .5rem 1.1rem color-mix(in srgb, var(--color-primary) 14%, transparent);text-align:center;white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;gap:.42rem;padding:.32rem .48rem;font-size:.73rem;font-weight:750;line-height:1;transition:opacity .14s,transform .14s;display:inline-flex;position:absolute;top:-.82rem;left:50%;transform:translate(-50%,.18rem)}.companion-pet__avatar:hover .companion-pet__meta,.companion-pet__avatar:focus-within .companion-pet__meta{opacity:1;transform:translate(-50%)}.companion-pet__status-dot{background:var(--pet-accent);border-radius:999px;width:.5rem;height:.5rem}.companion-pet--status-failed{--pet-accent:#f97316;--pet-accent-strong:#c2410c}.companion-pet--status-interrupted{--pet-accent:#94a3b8;--pet-accent-strong:#475569}.companion-pet__title{max-width:100%;height:1.22rem;color:var(--color-primary);text-overflow:ellipsis;white-space:nowrap;margin-top:.42rem;font-size:.92rem;font-weight:760;line-height:1.32;display:block;overflow:hidden}.companion-pet__detail{max-width:100%;height:2.28rem;color:var(--color-secondary);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin-top:.28rem;font-size:.78rem;line-height:1.45;display:-webkit-box;overflow:hidden}.companion-pet--state-link .companion-pet__title{margin-top:0}.companion-pet--state-link .companion-pet__detail{-webkit-line-clamp:2;line-clamp:2}.companion-pet__projects{box-sizing:border-box;height:100%;max-height:var(--companion-pet-card-content-height);align-content:center;gap:.28rem;margin-top:0;display:grid;position:relative;overflow:hidden}.companion-pet__projects--compact{gap:.2rem}.companion-pet__project{border:1px solid color-mix(in srgb, var(--color-border-soft) 78%, transparent);background:color-mix(in srgb, var(--color-surface-shell) 70%, transparent);height:1.86rem;min-height:0;color:var(--color-primary);text-align:left;border-radius:.6rem;grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:.38rem;padding:.22rem .52rem .22rem .28rem;display:grid;overflow:hidden}.companion-pet__project .companion-pet__project-icon,.companion-pet__conversation .companion-pet__project-icon{border-color:color-mix(in srgb, white 62%, var(--color-border-soft));width:1.16rem;height:1.16rem;box-shadow:none;border-radius:.32rem;font-size:.48rem}.companion-pet__project:hover{border-color:color-mix(in srgb, var(--pet-accent) 48%, var(--color-border-control));background:color-mix(in srgb, var(--pet-accent) 10%, var(--color-surface-shell))}.companion-pet__project--dense{height:1.86rem;min-height:0}.companion-pet__projects--compact .companion-pet__project--dense{border-radius:.54rem;height:1.62rem;padding:.14rem .46rem .14rem .24rem}.companion-pet__projects--compact .companion-pet__project--dense .companion-pet__project-icon{border-radius:.3rem;width:1.08rem;height:1.08rem}.companion-pet__project--dense:not(:has(.companion-pet__project-reminder)){grid-template-columns:auto}.companion-pet__project--single{border-color:color-mix(in srgb, var(--pet-accent) 50%, var(--color-border-soft));background:color-mix(in srgb, var(--pet-accent) 8%, var(--color-surface-panel));height:2.06rem;min-height:0;box-shadow:inset 0 1px 0 #ffffff6b, 0 .7rem 1.4rem color-mix(in srgb, var(--pet-accent) 12%, transparent);border-radius:.64rem;padding:.28rem .56rem .28rem .32rem}.companion-pet__project--failed{border-color:color-mix(in srgb, #f43f5e 42%, var(--color-border-soft))}.companion-pet__project--completed{border-color:color-mix(in srgb, #45c4a0 42%, var(--color-border-soft))}.companion-pet__project--running,.companion-pet__project--waiting{border-color:color-mix(in srgb, #0ea5e9 38%, var(--color-border-soft))}.companion-pet__project-group{max-height:var(--companion-pet-card-content-height);align-content:center;gap:.18rem;min-width:0;display:grid;overflow:hidden}.companion-pet__conversation{border:1px solid color-mix(in srgb, var(--color-border-soft) 76%, transparent);background:color-mix(in srgb, var(--color-surface-shell) 72%, transparent);height:1.62rem;min-height:0;color:var(--color-primary);text-align:left;border-radius:.54rem;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;column-gap:.38rem;padding:.12rem .46rem .12rem .24rem;display:grid;overflow:hidden}.companion-pet__conversation:hover{border-color:color-mix(in srgb, var(--pet-accent) 48%, var(--color-border-control));background:color-mix(in srgb, var(--pet-accent) 10%, var(--color-surface-shell))}.companion-pet__conversation--running,.companion-pet__conversation--waiting{border-color:color-mix(in srgb, #0ea5e9 38%, var(--color-border-soft))}.companion-pet__conversation--completed{border-color:color-mix(in srgb, #45c4a0 42%, var(--color-border-soft))}.companion-pet__conversation--failed{border-color:color-mix(in srgb, #f43f5e 42%, var(--color-border-soft))}.companion-pet__conversation-title{min-width:0;color:var(--color-primary);text-overflow:ellipsis;white-space:nowrap;font-size:.69rem;font-weight:740;line-height:1.12;overflow:hidden}.companion-pet__conversation-unread{background:color-mix(in srgb, var(--pet-accent) 86%, white 14%);width:.42rem;height:.42rem;box-shadow:0 0 0 .16rem color-mix(in srgb, var(--pet-accent) 16%, transparent);border-radius:999px}.companion-pet__conversation-more-badge{background:color-mix(in srgb, var(--pet-accent) 14%, var(--color-surface-panel));min-width:1.18rem;height:1rem;color:color-mix(in srgb, var(--pet-accent-strong) 74%, var(--color-primary));border-radius:999px;place-items:center;font-size:.62rem;font-weight:760;line-height:1;display:inline-grid}.companion-pet__project-reminder{min-width:0;color:color-mix(in srgb, var(--pet-accent-strong) 82%, var(--color-primary) 18%);white-space:nowrap;text-overflow:ellipsis;font-size:.68rem;font-weight:700;line-height:1.18;overflow:hidden}.companion-pet__project--single .companion-pet__project-reminder{max-width:100%;font-size:.72rem;line-height:1.12;display:block}.companion-pet__project--single .companion-pet__project-reminder:before{content:none}.companion-pet__project--dense .companion-pet__project-reminder{line-height:1.12}.companion-pet__projects--compact .companion-pet__project-reminder{font-size:.66rem;line-height:1.08}.companion-pet__projects--with-more .companion-pet__project:last-of-type{padding-right:4.65rem}.companion-pet__project-more{border:1px solid color-mix(in srgb, var(--pet-accent) 22%, var(--color-border-soft));background:color-mix(in srgb, var(--color-surface-panel) 90%, transparent);max-width:46%;height:.86rem;color:var(--color-muted);text-overflow:ellipsis;white-space:nowrap;border-radius:999px;align-items:center;padding:0 .36rem;font-size:.62rem;font-weight:720;line-height:1;display:inline-flex;position:absolute;bottom:.08rem;right:.08rem;overflow:hidden}.companion-pet__quota{border:0;outline:none;justify-self:center;gap:.14rem;width:4.15rem;display:grid;position:relative}.companion-pet__quota-vital{align-items:center;display:grid}.companion-pet__quota-track{background:linear-gradient(#1e293bf0 0%,#030712f5 100%);border:1px solid #0f172ae0;border-radius:.14rem;height:.46rem;position:relative;overflow:hidden;box-shadow:0 1px #ffffff57,0 0 0 1px #00000024,inset 0 1px #fff3,inset 0 -1px #00000070}.companion-pet__quota-track:after{content:"";pointer-events:none;background:linear-gradient(#fff3,#0000 48%),repeating-linear-gradient(90deg,#0000 0 .34rem,#0000005c .34rem .39rem);border-radius:.08rem;position:absolute;inset:1px}.companion-pet__quota-fill{border-radius:inherit;box-shadow:inset 0 1px 0 #ffffff61, inset 0 -1px 0 #00000052, 0 0 .42rem var(--companion-pet-quota-glow);position:absolute;inset:0 auto 0 0}.companion-pet__quota-fill:after{border-radius:inherit;content:"";pointer-events:none;background:linear-gradient(#ffffff4d,#0000 44%),repeating-linear-gradient(90deg,#0000 0 .34rem,#00000042 .34rem .39rem);position:absolute;inset:0}.companion-pet__quota-vital--hp .companion-pet__quota-fill{--companion-pet-quota-glow:#dc262675;background:linear-gradient(90deg,#f97316 0%,#ef4444 44%,#b91c1c 100%)}.companion-pet__quota-vital--mp .companion-pet__quota-fill{--companion-pet-quota-glow:#6366f175;background:linear-gradient(90deg,#22d3ee 0%,#3b82f6 48%,#7c3aed 100%)}.companion-pet__quota-tooltip{z-index:var(--zhaw-top-overlay-z-index);background:linear-gradient(180deg, color-mix(in srgb, var(--color-surface-panel) 94%, white 6%) 0%, color-mix(in srgb, var(--color-surface-panel) 88%, black 12%) 100%);width:min(18.5rem,100dvw - 1rem);color:var(--color-primary);opacity:0;pointer-events:none;text-align:left;visibility:hidden;border:1px solid #0f172a47;border-radius:.42rem;gap:.36rem;padding:.56rem .62rem;transition:opacity .14s,visibility .14s,transform .14s;display:grid;position:fixed;top:0;left:0;transform:translateY(.24rem)scale(.98);box-shadow:0 .85rem 1.65rem #0000002e,inset 0 1px #ffffff57}.companion-pet__quota-tooltip--visible{opacity:1;visibility:visible;transform:translateY(0)scale(1)}.companion-pet__quota-tooltip-title{border-bottom:1px solid color-mix(in srgb, var(--color-border-soft) 78%, transparent);color:color-mix(in srgb, var(--pet-accent-strong) 72%, var(--color-primary));padding-bottom:.32rem;font-size:.72rem;font-weight:850;line-height:1.1}.companion-pet__quota-tooltip-row{grid-template-columns:4.05rem minmax(0,1fr);align-items:baseline;gap:.46rem;font-size:.69rem;line-height:1.28;display:grid}.companion-pet__quota-tooltip-row span{color:var(--color-muted);white-space:nowrap}.companion-pet__quota-tooltip-row strong{min-width:0;color:var(--color-primary);overflow-wrap:anywhere;font-weight:780}.companion-pet__quota-tooltip-row--hp strong{color:#dc2626}.companion-pet__quota-tooltip-row--mp strong{color:#4f46e5}.companion-pet__quota-tooltip-message{border-top:1px solid color-mix(in srgb, var(--color-border-soft) 72%, transparent);color:var(--color-danger);padding-top:.32rem;font-size:.67rem;line-height:1.3}.companion-pet__ambient{height:100%;max-height:var(--companion-pet-card-content-height);align-content:center;gap:.48rem;margin-top:0;display:grid;overflow:hidden}.companion-pet__ambient-row{border:1px solid color-mix(in srgb, var(--pet-accent) 18%, var(--color-border-soft));background:color-mix(in srgb, var(--pet-accent) 7%, var(--color-surface-panel));border-radius:.85rem;grid-template-columns:2.8rem minmax(0,1fr);align-items:start;gap:.45rem;padding:.48rem .58rem;display:grid;position:relative;overflow:hidden}.companion-pet__ambient-row--weather{border-radius:999px;outline:none;grid-template-columns:auto;justify-self:start;align-items:center;width:fit-content;min-width:5.6rem;padding:.38rem .54rem;display:inline-grid}.companion-pet__ambient-row--empty-reminders{grid-template-columns:minmax(0,1fr);align-items:center}.companion-pet__ambient-row--reminders{grid-template-columns:minmax(0,1fr)}.companion-pet__weather-compact{color:color-mix(in srgb, var(--pet-accent-strong) 80%, var(--color-primary));white-space:nowrap;align-items:center;gap:.38rem;font-weight:820;line-height:1;display:inline-flex}.companion-pet__weather-icon{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:1.22rem;height:1.22rem}.companion-pet__weather-temp{color:var(--color-primary);letter-spacing:0;font-size:.82rem}.companion-pet__weather-popover{z-index:4;border:1px solid color-mix(in srgb, var(--pet-accent) 28%, var(--color-border-soft));background:color-mix(in srgb, var(--color-surface-panel) 94%, white 6%);width:max-content;max-width:min(17.5rem,100dvw - 1.25rem);color:var(--color-secondary);opacity:0;pointer-events:none;text-align:left;visibility:hidden;white-space:normal;border-radius:.55rem;padding:.46rem .58rem;font-size:.72rem;font-weight:680;line-height:1.35;transition:opacity .14s,transform .14s,visibility .14s;position:absolute;bottom:calc(100% + .46rem);right:0;transform:translateY(.16rem)scale(.98);box-shadow:0 .8rem 1.7rem #00000029}.companion-pet__ambient-row--weather:hover .companion-pet__weather-popover{opacity:1;visibility:visible;transform:translateY(0)scale(1)}.companion-pet__ambient-label{color:var(--pet-accent-strong);font-size:.72rem;font-weight:800}.companion-pet__ambient-value,.companion-pet__reminders{min-width:0;color:var(--color-secondary);font-size:.75rem;line-height:1.35}.companion-pet__reminders{gap:.24rem;max-height:2.35rem;margin:0;padding:0;list-style:none;display:grid;overflow:hidden}.companion-pet__reminders li{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.companion-pet__music-toggle{z-index:var(--zhaw-top-overlay-control-z-index);border:1px solid color-mix(in srgb, var(--pet-accent) 38%, var(--color-border-soft));border-right-color:color-mix(in srgb, var(--pet-accent) 22%, transparent);border-bottom-color:color-mix(in srgb, var(--pet-accent) 22%, transparent);background:linear-gradient(135deg, #ffffff38, transparent 58%), color-mix(in srgb, var(--color-surface-shell) 90%, var(--pet-accent) 10%);width:2.18rem;height:2.18rem;box-shadow:-.18rem -.18rem .65rem color-mix(in srgb, var(--color-primary) 6%, transparent), inset 0 1px 0 #ffffff57;color:var(--pet-accent-strong);opacity:0;pointer-events:auto;border-radius:1.02rem 0 1.28rem;place-items:center;font-size:.9rem;font-weight:900;line-height:1;transition:opacity .15s,transform .15s,border-color .15s;display:grid;position:absolute;bottom:-1px;right:-1px;transform:translate(.16rem,.16rem)scale(.94)}.companion-pet:hover .companion-pet__music-toggle,.companion-pet:focus-within .companion-pet__music-toggle,.companion-pet__music-toggle:focus-visible{opacity:1;transform:translate(0)scale(1)}.companion-pet__music-toggle:hover{border-color:color-mix(in srgb, var(--pet-accent) 68%, var(--color-border-control))}.companion-pet__music-toggle--detaching{opacity:1;border-color:color-mix(in srgb, #f6d316 72%, var(--color-border-control));background:radial-gradient(circle at 30% 20%, #fffdf357, transparent 42%), color-mix(in srgb, var(--color-surface-shell) 82%, #f6d316 18%);color:#fff8b8;transform:translate(-.18rem,-.18rem)scale(1.07);box-shadow:0 0 0 1px #f6d31652,0 .8rem 1.8rem #f6d31638,inset 0 1px #ffffff6b}.companion-pet--avatar-right .companion-pet__music-toggle{border-right-color:color-mix(in srgb, var(--pet-accent) 38%, var(--color-border-soft));border-left-color:color-mix(in srgb, var(--pet-accent) 22%, transparent);box-shadow:.18rem -.18rem .65rem color-mix(in srgb, var(--color-primary) 6%, transparent), inset 0 1px 0 #ffffff57;border-radius:0 1.02rem 0 1.28rem;left:-1px;right:auto;transform:translate(-.16rem,.16rem)scale(.94)}.companion-pet--avatar-right:hover .companion-pet__music-toggle,.companion-pet--avatar-right:focus-within .companion-pet__music-toggle,.companion-pet--avatar-right .companion-pet__music-toggle:focus-visible{transform:translate(0)scale(1)}.companion-pet--avatar-right .companion-pet__music-toggle--detaching{transform:translate(.18rem,-.18rem)scale(1.07)}.companion-pet--music-card{width:var(--companion-pet-card-width);min-width:var(--companion-pet-card-width);cursor:grab;perspective:900px;transform-origin:100%;transform-style:preserve-3d;grid-template-columns:minmax(0,1fr);align-items:stretch}.companion-pet--music-card .companion-pet-music{backface-visibility:hidden}.companion-pet--card-hidden{opacity:0;pointer-events:none;visibility:hidden}.companion-pet--flip-to-music{backface-visibility:hidden;transform-origin:100%;animation:.28s cubic-bezier(.2,.78,.25,1) companion-pet-flip-to-music}.companion-pet--flip-to-pet{backface-visibility:hidden;transform-origin:0;animation:.28s cubic-bezier(.2,.78,.25,1) companion-pet-flip-to-pet}.companion-pet--music-card .companion-pet__music-return{opacity:1;pointer-events:auto;visibility:visible;transform:scale(1)}.companion-pet--music-controls-left .companion-pet__music-return{left:.28rem;right:auto}.companion-pet--card-hidden .companion-pet__music-return{opacity:0;pointer-events:none;visibility:hidden}@keyframes companion-pet-flip-to-music{0%{opacity:0;transform:perspective(900px)translate(1.05rem)rotateY(-82deg)scale(.985)}58%{opacity:1;transform:perspective(900px)translate(-.12rem)rotateY(8deg)scale(1)}to{opacity:1;transform:perspective(900px)translate(0)rotateY(0)scale(1)}}@keyframes companion-pet-flip-to-pet{0%{opacity:0;transform:perspective(900px)translate(-1.05rem)rotateY(82deg)scale(.985)}58%{opacity:1;transform:perspective(900px)translate(.12rem)rotateY(-8deg)scale(1)}to{opacity:1;transform:perspective(900px)translate(0)rotateY(0)scale(1)}}@media (prefers-reduced-motion:reduce){.companion-pet--flip-to-music,.companion-pet--flip-to-pet{animation:none}}.companion-pet__app-server-toggle{z-index:var(--zhaw-top-overlay-control-z-index);border:1px solid color-mix(in srgb, var(--pet-accent) 38%, var(--color-border-soft));border-bottom-color:color-mix(in srgb, var(--pet-accent) 22%, transparent);border-left-color:color-mix(in srgb, var(--pet-accent) 22%, transparent);background:linear-gradient(45deg, #ffffff38, transparent 58%), color-mix(in srgb, var(--color-surface-shell) 90%, var(--pet-accent) 10%);width:2.18rem;height:2.18rem;box-shadow:.18rem -.18rem .65rem color-mix(in srgb, var(--color-primary) 6%, transparent), inset 0 1px 0 #ffffff57;color:var(--pet-accent-strong);opacity:0;pointer-events:auto;border-radius:0 1.02rem 0 1.28rem;place-items:center;transition:opacity .15s,transform .15s,border-color .15s;display:grid;position:absolute;bottom:-1px;left:-1px;transform:translate(-.16rem,.16rem)scale(.94)}.companion-pet:hover .companion-pet__app-server-toggle,.companion-pet:focus-within .companion-pet__app-server-toggle,.companion-pet__app-server-toggle:focus-visible{opacity:1;transform:translate(0)scale(1)}.companion-pet__app-server-toggle:hover{border-color:color-mix(in srgb, var(--pet-accent) 68%, var(--color-border-control))}.companion-pet__app-server-toggle svg{fill:none;stroke:currentColor;stroke-width:1.9px;stroke-linecap:round;stroke-linejoin:round;width:.98rem;height:.98rem}.companion-pet--avatar-right .companion-pet__app-server-toggle{border-right-color:color-mix(in srgb, var(--pet-accent) 22%, transparent);border-left-color:color-mix(in srgb, var(--pet-accent) 38%, var(--color-border-soft));box-shadow:-.18rem -.18rem .65rem color-mix(in srgb, var(--color-primary) 6%, transparent), inset 0 1px 0 #ffffff57;border-radius:1.02rem 0 1.28rem;left:auto;right:-1px;transform:translate(.16rem,.16rem)scale(.94)}.companion-pet--avatar-right:hover .companion-pet__app-server-toggle,.companion-pet--avatar-right:focus-within .companion-pet__app-server-toggle,.companion-pet--avatar-right .companion-pet__app-server-toggle:focus-visible{transform:translate(0)scale(1)}.companion-pet--app-server-card{width:var(--companion-pet-card-width);min-width:var(--companion-pet-card-width);height:var(--companion-pet-card-height);min-height:var(--companion-pet-card-height);box-sizing:border-box;cursor:grab;perspective:900px;transform-origin:100%;transform-style:preserve-3d;grid-template-columns:minmax(0,1fr);align-items:stretch;padding:.54rem .62rem .5rem;overflow:visible}.companion-pet--app-server-card .companion-pet-app-server{backface-visibility:hidden}.companion-pet--app-server-card .companion-pet__app-server-return{opacity:1;pointer-events:auto;visibility:visible;transform:scale(1)}.companion-pet--app-server-controls-left .companion-pet__app-server-return{left:.28rem;right:auto}.companion-pet--card-hidden .companion-pet__app-server-return{opacity:0;pointer-events:none;visibility:hidden}@media (width<=640px){.companion-pet{--companion-pet-card-padding:.72rem;--companion-pet-avatar-column:3.9rem;--companion-pet-card-content-height:4.93rem}.companion-pet--avatar-right{padding:var(--companion-pet-card-padding)}.companion-pet--collapsed{grid-template-columns:auto;padding:0}.companion-pet__collapsed-trigger{width:4.15rem;height:auto;min-height:4.95rem}.companion-pet__sprite{border-radius:1rem;width:3.45rem;height:3.45rem}}@media (prefers-reduced-motion:reduce){.companion-pet{animation:none}}.companion-pet-app-server__details{z-index:var(--zhaw-top-overlay-z-index);background:linear-gradient(180deg, color-mix(in srgb, var(--color-surface-panel) 94%, white 6%) 0%, color-mix(in srgb, var(--color-surface-panel) 88%, black 12%) 100%);width:min(18.5rem,100dvw - 1rem);max-height:min(13rem,100dvh - 1rem);color:var(--color-primary);pointer-events:none;text-align:left;border:1px solid #0f172a47;border-radius:.42rem;grid-template-rows:auto minmax(0,1fr);gap:.36rem;padding:.56rem .62rem;display:grid;position:absolute;overflow:hidden;box-shadow:0 .85rem 1.65rem #0000002e,inset 0 1px #ffffff57}.companion-pet-app-server__details-times{border-bottom:1px solid color-mix(in srgb, var(--color-border-soft) 78%, transparent);grid-template-columns:repeat(2,minmax(0,1fr));gap:.46rem;margin:0;padding-bottom:.32rem;display:grid}.companion-pet-app-server__details-times div{min-width:0}.companion-pet-app-server__details dt,.companion-pet-app-server__details-bindings span{color:var(--color-muted);font-size:.62rem;font-weight:760}.companion-pet-app-server__details dd{min-width:0;color:var(--color-primary);text-overflow:ellipsis;white-space:nowrap;margin:.08rem 0 0;font-size:.68rem;font-weight:780;overflow:hidden}.companion-pet-app-server__details-bindings{gap:.18rem;min-height:0;display:grid;overflow:hidden}.companion-pet-app-server__details-bindings strong{min-width:0;color:var(--color-primary);text-overflow:ellipsis;white-space:nowrap;font-size:.66rem;font-weight:760;overflow:hidden}.companion-pet-app-server__instance-stack{z-index:2;opacity:0;pointer-events:none;width:min(7.2rem,100% - .2rem);height:1.66rem;transition:opacity .12s,transform .16s;position:absolute;bottom:.12rem;left:.02rem;transform:translateY(.18rem)}.companion-pet-app-server__instance-stack--right{left:auto;right:.02rem}.companion-pet-app-server:hover .companion-pet-app-server__instance-stack:not(.companion-pet-app-server__instance-stack--dismissed){opacity:1;pointer-events:none;transform:translateY(0)}.companion-pet-app-server__instance{z-index:var(--stack-order);width:1.66rem;height:1.66rem;box-shadow:none;color:inherit;cursor:pointer;pointer-events:none;transform:translateX(calc(var(--stack-index) * .46rem));background:0 0;border:1px solid #0000;border-radius:999px;place-items:center;padding:0;transition:width .16s,transform .16s,box-shadow .16s;display:grid;position:absolute;top:0;left:0;overflow:visible}.companion-pet-app-server__instance-label{opacity:0;border:1px solid color-mix(in srgb, var(--color-border-control) 82%, transparent);background:color-mix(in srgb, var(--color-surface-raised) 94%, transparent);max-width:8.6rem;box-shadow:0 .45rem 1.2rem color-mix(in srgb, var(--color-primary) 12%, transparent);color:var(--color-text-primary);pointer-events:none;text-overflow:ellipsis;white-space:nowrap;border-radius:.42rem;padding:.22rem .34rem;font-size:.64rem;font-weight:650;line-height:1.12;transition:opacity .12s,transform .14s;position:absolute;top:1.72rem;left:0;overflow:hidden;transform:translateY(-.1rem)}.companion-pet-app-server__instance-stack--right .companion-pet-app-server__instance{transform:translateX(calc(var(--stack-index) * -.46rem));left:auto;right:0}.companion-pet-app-server__instance-stack--right .companion-pet-app-server__instance-label{left:auto;right:0}.companion-pet-app-server__instance:focus,.companion-pet-app-server__instance:focus-visible{outline:none}.companion-pet-app-server:hover .companion-pet-app-server__instance-stack:not(.companion-pet-app-server__instance-stack--dismissed) .companion-pet-app-server__instance,.companion-pet-app-server:hover .companion-pet-app-server__instance-stack:not(.companion-pet-app-server__instance-stack--dismissed):focus-within .companion-pet-app-server__instance{pointer-events:auto;width:1.66rem;transform:translateX(calc(var(--stack-index) * 1.56rem))}.companion-pet-app-server:hover .companion-pet-app-server__instance-stack--right:not(.companion-pet-app-server__instance-stack--dismissed) .companion-pet-app-server__instance,.companion-pet-app-server:hover .companion-pet-app-server__instance-stack--right:not(.companion-pet-app-server__instance-stack--dismissed):focus-within .companion-pet-app-server__instance{transform:translateX(calc(var(--stack-index) * -1.56rem))}.companion-pet-app-server__instance--active{box-shadow:none}.companion-pet-app-server__instance--active .companion-pet-app-server__instance-icon{filter:drop-shadow(0 0 .32rem color-mix(in srgb, var(--pet-accent) 58%, transparent)) drop-shadow(.12rem .08rem .18rem color-mix(in srgb, var(--color-primary) 18%, transparent))}.companion-pet-app-server__instance-icon{width:1.34rem;height:1.34rem;filter:drop-shadow(.08rem .06rem .14rem color-mix(in srgb, var(--color-primary) 14%, transparent));border-radius:999px;font-size:.48rem;transition:filter .16s,transform .16s}.companion-pet-app-server__instance:hover .companion-pet-app-server__instance-icon{filter:drop-shadow(0 0 .24rem color-mix(in srgb, var(--pet-accent) 36%, transparent)) drop-shadow(.12rem .08rem .18rem color-mix(in srgb, var(--color-primary) 16%, transparent));transform:translateY(-.04rem)}.companion-pet-app-server__instance:hover .companion-pet-app-server__instance-label{opacity:1;transform:translateY(0)}.companion-pet-app-server__instance--active:hover .companion-pet-app-server__instance-icon{filter:drop-shadow(0 0 .32rem color-mix(in srgb, var(--pet-accent) 58%, transparent)) drop-shadow(.12rem .08rem .18rem color-mix(in srgb, var(--color-primary) 18%, transparent))}.companion-pet-app-server__instance-icon--service{background:linear-gradient(135deg,#1677ff,#45c4a0);place-items:center;display:grid;position:relative}.companion-pet-app-server__instance-icon--service span{width:.58rem;height:.34rem;box-shadow:0 .07rem .12rem color-mix(in srgb, var(--color-primary) 16%, transparent);background:#ffffffeb;border-radius:.12rem;position:absolute}.companion-pet-app-server__instance-icon--service span:first-child{transform:translate(-.12rem,-.12rem)}.companion-pet-app-server__instance-icon--service span:last-child{transform:translate(.12rem,.14rem)}.companion-pet-app-server__recycle{z-index:7;background:color-mix(in srgb, var(--color-surface-shell) 88%, var(--pet-accent) 14%);width:1.35rem;height:1.35rem;box-shadow:0 0 0 1px color-mix(in srgb, var(--pet-accent) 34%, transparent), 0 .45rem 1.1rem color-mix(in srgb, var(--pet-accent) 20%, transparent);color:var(--pet-accent);cursor:pointer;opacity:0;pointer-events:none;border:0;border-radius:999px;place-items:center;transition:opacity .16s,transform .16s,box-shadow .16s;display:grid;position:absolute;bottom:.22rem;right:.2rem;transform:translateY(.18rem)scale(.92)}.companion-pet-app-server__recycle--left{left:.2rem;right:auto}.companion-pet-app-server:hover .companion-pet-app-server__recycle:not(:disabled){opacity:1;pointer-events:auto;transform:translateY(0)scale(1)}.companion-pet-app-server__recycle:hover{box-shadow:0 0 0 1px color-mix(in srgb, var(--pet-accent) 62%, transparent), 0 .54rem 1.2rem color-mix(in srgb, var(--pet-accent) 28%, transparent)}.companion-pet-app-server__recycle:disabled{cursor:default;opacity:0}.companion-pet-app-server__recycle svg{fill:currentColor;width:.92rem;height:.92rem}.companion-pet-app-server{height:100%;min-height:0;color:var(--color-primary);grid-template-rows:minmax(0,1fr);display:grid;position:relative;overflow:visible}.companion-pet-app-server__charts{grid-template-rows:repeat(2,minmax(0,1fr));gap:.3rem;min-height:0;display:grid}.companion-pet-app-server__chart{border:1px solid color-mix(in srgb, var(--pet-accent) 18%, var(--color-border-soft));background:color-mix(in srgb, var(--color-surface-shell) 84%, var(--pet-accent) 5%);min-width:0;min-height:0;color:inherit;cursor:inherit;font:inherit;text-align:left;border-radius:.62rem;grid-template-rows:auto minmax(0,1fr);padding:.28rem .38rem .22rem;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff3d}.companion-pet-app-server__chart-head{justify-content:space-between;align-items:center;gap:.42rem;min-width:0;display:flex}.companion-pet-app-server__chart-head span{color:var(--color-muted);font-size:.58rem;font-weight:760}.companion-pet-app-server__chart-head strong{min-width:0;color:var(--color-primary);font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;font-size:.68rem;overflow:hidden}.companion-pet-app-server__chart svg{width:100%;height:100%;min-height:1.58rem;overflow:visible}.companion-pet-app-server__chart line{stroke:color-mix(in srgb, var(--color-border-soft) 68%, transparent);stroke-width:1px}.companion-pet-app-server__chart polyline{fill:none;stroke:var(--pet-accent);stroke-linecap:round;stroke-linejoin:round;stroke-width:2.4px;vector-effect:non-scaling-stroke}.companion-pet-app-server__chart--memory polyline{stroke:#1677ff}.companion-pet-app-server__empty{border:1px dashed color-mix(in srgb, var(--pet-accent) 28%, var(--color-border-soft));color:var(--color-secondary);text-align:center;border-radius:.72rem;align-self:stretch;margin:0;padding:.68rem;font-size:.68rem;line-height:1.35}.companion-pet-app-server__loading{align-self:stretch;gap:.34rem;display:grid}.companion-pet-app-server__loading span{background:linear-gradient(90deg, color-mix(in srgb, var(--color-surface-panel) 72%, transparent), color-mix(in srgb, var(--pet-accent) 10%, var(--color-surface-shell)), color-mix(in srgb, var(--color-surface-panel) 72%, transparent));border-radius:.72rem;min-height:1.72rem;animation:1.1s ease-in-out infinite companion-pet-app-server-pulse;display:block}@keyframes companion-pet-app-server-pulse{0%,to{opacity:.55}50%{opacity:1}}.companion-pet-music{--companion-pet-music-cover-size:calc(var(--companion-pet-card-content-height,5.63rem) - .42rem);grid-template-columns:var(--companion-pet-music-cover-size) minmax(0, 1fr);align-items:center;gap:.68rem;width:100%;min-width:0;height:100%;display:grid}.companion-pet-music__cover{width:var(--companion-pet-music-cover-size);height:var(--companion-pet-music-cover-size);aspect-ratio:1;border:1px solid color-mix(in srgb, var(--pet-accent) 26%, var(--color-border-soft));background:linear-gradient(135deg, color-mix(in srgb, var(--color-deep-950) 88%, black 12%), color-mix(in srgb, var(--pet-accent) 72%, white 28%));color:#fff;background-position:50%;background-size:cover;border-radius:1rem;align-self:center;place-items:center;min-height:0;display:grid;position:relative;overflow:hidden}.companion-pet-music__cover:after{content:"";background:color-mix(in srgb, var(--color-deep-950) 34%, transparent);opacity:0;transition:opacity .15s;position:absolute;inset:0}.companion-pet-music__cover:hover:after,.companion-pet-music__cover:focus-within:after{opacity:1}.companion-pet-music__cover-note{font-size:2rem;font-weight:900;line-height:1}.companion-pet-music__cover-control{z-index:1;border:1px solid color-mix(in srgb, white 58%, var(--pet-accent) 42%);background:radial-gradient(circle at 34% 28%, #fff 0 28%, transparent 29%), color-mix(in srgb, white 88%, var(--pet-accent) 12%);width:2.72rem;height:2.72rem;color:color-mix(in srgb, var(--color-primary) 88%, black 12%);opacity:0;border-radius:999px;place-items:center;font-size:.86rem;font-weight:800;line-height:1;transition:opacity .15s,transform .15s,box-shadow .15s;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,calc(.35rem - 50%))scale(.94);box-shadow:0 .7rem 1.4rem #00000038,inset 0 1px #ffffffb8}.companion-pet-music__cover:hover .companion-pet-music__cover-control,.companion-pet-music__cover-control:focus-visible{opacity:1;transform:translate(-50%,-50%)scale(1)}.companion-pet-music__cover-control:hover{box-shadow:0 .85rem 1.6rem #00000042, 0 0 0 .18rem color-mix(in srgb, var(--pet-accent) 18%, transparent), inset 0 1px 0 #ffffffb8}.companion-pet-music__main{height:var(--companion-pet-music-cover-size);flex-direction:column;justify-content:center;gap:.16rem;min-width:0;display:flex;overflow:hidden}.companion-pet-music__header{align-items:center;min-width:0;min-height:1rem;display:flex}.companion-pet-music__title-block{min-width:0}.companion-pet-music__header h3{color:var(--color-primary);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.76rem;font-weight:850;line-height:1.2;overflow:hidden}.companion-pet-music__progress{color:var(--color-muted);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.28rem;font-size:.55rem;font-weight:750;display:grid}.companion-pet-music__progress button{background:color-mix(in srgb, var(--color-surface-panel) 82%, var(--pet-accent) 18%);cursor:pointer;border:0;border-radius:999px;height:.28rem;padding:0;overflow:hidden}.companion-pet-music__progress i{border-radius:inherit;background:var(--pet-accent-strong);height:100%;display:block}.companion-pet-music__progress button:disabled{cursor:not-allowed;opacity:.58}.companion-pet-music__controls{background:radial-gradient(circle at 50% 0, #ffffff61, transparent 52%), color-mix(in srgb, var(--color-deep-950) 82%, var(--pet-accent) 18%);min-height:2.06rem;box-shadow:0 .42rem 1.05rem color-mix(in srgb, var(--color-deep-950) 18%, transparent), inset 0 1px 0 #ffffff2e;border-radius:1.2rem;justify-content:center;align-items:center;gap:.4rem;padding:.16rem .34rem;display:flex}.companion-pet-music__control{width:1.72rem;height:1.72rem;color:color-mix(in srgb, white 72%, var(--pet-accent) 28%);background:0 0;border:1px solid #0000;border-radius:999px;flex:none;place-items:center;font-size:1.38rem;font-weight:900;line-height:1;transition:background .15s,color .15s,transform .15s;display:grid}.companion-pet-music__control:hover{color:#fff;background:#ffffff24;transform:translateY(-.04rem)scale(1.03)}.companion-pet-music__control--stop{background:linear-gradient(180deg, #ffffff2e, transparent), color-mix(in srgb, white 92%, var(--pet-accent) 8%);width:2.18rem;height:2.18rem;color:color-mix(in srgb, var(--color-deep-950) 82%, var(--pet-accent) 18%);font-size:.78rem;box-shadow:0 .34rem .9rem #00000038,inset 0 1px #ffffffc7}.companion-pet-music__control--stop:hover{color:color-mix(in srgb, var(--color-deep-950) 82%, var(--pet-accent) 18%);background:#fff;transform:translateY(-.05rem)scale(1.04)}.companion-pet-music__controls button:disabled,.companion-pet-music__cover-control:disabled{cursor:not-allowed;opacity:.45}.companion-pet-music__lyrics{min-height:.96rem;color:var(--color-secondary);overflow:hidden}.companion-pet-music__lyrics p{white-space:nowrap;width:max-content;max-width:none;margin:0;font-size:.68rem;line-height:1.18;display:block}.companion-pet-music__lyrics--marquee{-webkit-mask-image:linear-gradient(90deg,#000 0 calc(100% - .64rem),#0000 100%);mask-image:linear-gradient(90deg,#000 0 calc(100% - .64rem),#0000 100%)}.companion-pet-music__lyrics--marquee p{animation:9s linear infinite companion-pet-music-lyric-marquee}@keyframes companion-pet-music-lyric-marquee{0%{transform:translate(0)}to{transform:translateX(calc(-1 * var(--companion-pet-lyric-shift,0px)))}}@media (width<=620px){.companion-pet-music{--companion-pet-music-cover-size:calc(var(--companion-pet-card-content-height,4.93rem) - .34rem);grid-template-columns:var(--companion-pet-music-cover-size) minmax(0, 1fr)}.companion-pet-music__cover{width:var(--companion-pet-music-cover-size);height:var(--companion-pet-music-cover-size)}.companion-pet-music__main{height:var(--companion-pet-music-cover-size)}}@media (prefers-reduced-motion:reduce){.companion-pet-music__lyrics--marquee p{animation:none}}.ha-state-readout{border:1px solid color-mix(in srgb, var(--color-border-soft) 78%, transparent);background:linear-gradient(145deg, color-mix(in srgb, var(--color-surface-panel) 84%, transparent), color-mix(in srgb, var(--color-surface-muted) 42%, transparent));min-width:0;min-height:8.2rem;color:inherit;border-radius:.72rem;gap:.34rem;padding:.68rem;display:grid;box-shadow:inset 0 1px #ffffff7a}button.ha-state-readout{width:100%;font:inherit;text-align:left}.ha-state-readout--selectable{cursor:pointer}.ha-state-readout--selectable:hover{box-shadow:inset 0 1px 0 #ffffff7a, 0 .8rem 1.6rem color-mix(in srgb, var(--color-primary) 8%, transparent);transform:translateY(-1px)}.ha-state-readout--selectable:focus-visible{outline-offset:3px;outline:3px solid #2dd4bf57}.ha-state-readout--selected{border-color:color-mix(in srgb, #2dd4bf 58%, var(--color-border-soft));background:linear-gradient(145deg, color-mix(in srgb, #2dd4bf 18%, var(--color-surface-panel)), color-mix(in srgb, var(--color-surface-panel) 74%, transparent));box-shadow:inset 0 1px #ffffff85,0 0 0 2px #2dd4bf29}.ha-state-readout--active{border-color:color-mix(in srgb, var(--color-accent-500) 38%, var(--color-border-soft));background:linear-gradient(145deg, color-mix(in srgb, var(--color-accent-100) 48%, var(--color-surface-panel)), color-mix(in srgb, var(--color-surface-panel) 72%, transparent))}.ha-state-readout--unknown{background:linear-gradient(145deg, color-mix(in srgb, #f8fafc 54%, var(--color-surface-panel)), color-mix(in srgb, var(--color-surface-muted) 44%, transparent))}.ha-state-readout--offline{color:color-mix(in srgb, var(--color-muted) 92%, var(--color-primary));background:linear-gradient(145deg, color-mix(in srgb, var(--color-surface-muted) 64%, transparent), color-mix(in srgb, var(--color-surface-panel) 52%, transparent))}.ha-state-readout h5{color:var(--color-primary);overflow-wrap:anywhere;margin:0;font-size:.82rem;font-weight:820;line-height:1.25}.ha-state-readout__value{min-width:0;color:var(--color-primary);font-variant-numeric:tabular-nums;align-items:baseline;gap:.24rem;display:flex}.ha-state-readout__value--numeric{white-space:nowrap;flex-wrap:nowrap}.ha-state-readout__value span{overflow-wrap:anywhere;min-width:0;font-size:1.18rem;font-weight:820;line-height:1.12}.ha-state-readout__value--numeric span{overflow-wrap:normal;text-overflow:clip;white-space:nowrap;font-size:clamp(1.45rem,2vw,2rem);font-weight:780;line-height:.98;overflow:hidden}.ha-state-readout__value--compact span{font-size:clamp(1.08rem,1.55vw,1.34rem);line-height:1.02}.ha-state-readout__value--long span{font-size:.92rem;line-height:1.25}.ha-state-readout__value small{color:var(--color-muted);white-space:nowrap;flex:none;font-size:.78rem;font-weight:780;line-height:1}.ha-state-readout__entity-id{color:var(--color-muted);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.66rem;font-weight:680;line-height:1.35;overflow:hidden}.ha-state-readout__meta{color:var(--color-muted);overflow-wrap:anywhere;margin:0;font-size:.66rem;font-weight:680;line-height:1.35;display:inline-flex}.ha-state-readout--compact{border-radius:.58rem;align-content:center;gap:.12rem;min-height:3.75rem;padding:.46rem .55rem}.ha-state-readout--compact .ha-state-readout__meta{display:none}.ha-state-readout--compact h5{color:color-mix(in srgb, var(--color-muted) 88%, transparent);text-overflow:ellipsis;white-space:nowrap;order:2;font-size:.64rem;font-weight:720;line-height:1.16;overflow:hidden}.ha-state-readout--compact .ha-state-readout__value{order:1;align-items:flex-end;gap:.18rem}.ha-state-readout--compact .ha-state-readout__value span{text-overflow:ellipsis;white-space:nowrap;font-size:1.18rem;font-weight:860;line-height:1;overflow:hidden}.ha-state-readout--compact .ha-state-readout__value--numeric span{font-size:1.34rem}.ha-state-readout--compact .ha-state-readout__value small{color:color-mix(in srgb, var(--color-muted) 86%, transparent);font-size:.66rem;font-weight:760}.ha-state-readout--compact .ha-state-readout__value--long span{font-size:.86rem;line-height:1.12}.zhaw-auth-shell{isolation:isolate;--auth-sky-start:#eef8f4fa;--auth-sky-mid:#dceceff5;--auth-sky-end:#f8f8effa;--auth-glow-a:#5ab09f33;--auth-glow-b:#deb86029;--auth-weather-light:#ffffffdb;--auth-card-tint:#f8fcfaa8;--auth-temp-card-tint:#ffffff29;--auth-warm-glow:#ffc4572e;--auth-cool-glow:#8ec7e624;--auth-logo-glow:#5cab9e29;--auth-lower-veil:#eef8f485;--auth-edge-shade:#233e480d;--auth-horizon-glow:#ffffff38;--auth-vertical-veil-start:#ffffff80;--auth-vertical-veil-end:#ffffff42;--auth-atmosphere-highlight-top:#ffffff6b;--auth-atmosphere-highlight-bottom:#ffffff47;--auth-sheen-a:#ffffff4d;--auth-sheen-b:#ffffff29;--auth-star-field:linear-gradient(transparent, transparent);background:radial-gradient(ellipse at 18% 12%, var(--auth-warm-glow) 0%, transparent 34%), radial-gradient(ellipse at 78% 20%, var(--auth-cool-glow) 0%, transparent 38%), radial-gradient(circle at 50% 112%, var(--auth-horizon-glow) 0%, transparent 46%), linear-gradient(180deg, transparent 0%, transparent 54%, var(--auth-lower-veil) 100%), linear-gradient(160deg, var(--auth-sky-start) 0%, var(--auth-sky-mid) 44%, var(--auth-sky-end) 100%), var(--color-app-bg);position:relative;overflow:hidden}.zhaw-auth-shell[data-weather-mood=sun]{--auth-sky-start:#fff8d8f5;--auth-sky-mid:#daf4ebf0;--auth-sky-end:#eff9f6fa;--auth-glow-a:#ffc75d42;--auth-glow-b:#48b8a330;--auth-weather-light:#fff4c1e6;--auth-card-tint:#fffcf1a8;--auth-logo-glow:#ffc75d33}.zhaw-auth-shell[data-weather-mood=rain]{--auth-sky-start:#e1f1f6f7;--auth-sky-mid:#c0e0e9f2;--auth-sky-end:#edf7f4fa;--auth-glow-a:#2a799e33;--auth-glow-b:#5fafa629;--auth-weather-light:#c7e8f2b8;--auth-card-tint:#f2fafca3;--auth-logo-glow:#2a799e2b}.zhaw-auth-shell[data-weather-mood=snow]{--auth-sky-start:#f8fdfffa;--auth-sky-mid:#e1f0f7f7;--auth-sky-end:#fafdf9fa;--auth-glow-a:#94cfe438;--auth-glow-b:#e8f4ed57;--auth-weather-light:#fffffff0;--auth-card-tint:#f9fdffb3;--auth-logo-glow:#94cfe433}.zhaw-auth-shell[data-weather-mood=storm]{--auth-sky-start:#d4e4e4fa;--auth-sky-mid:#acccd4f7;--auth-sky-end:#ebf0e6fa;--auth-glow-a:#25526540;--auth-glow-b:#dcb85b38;--auth-weather-light:#fada7a8c;--auth-card-tint:#eef7f79e;--auth-logo-glow:#dcb85b33}.zhaw-auth-shell:is([data-weather-mood=mist],[data-weather-mood=overcast]){--auth-sky-start:#ebf4f3fa;--auth-sky-mid:#d8e6e8f7;--auth-sky-end:#f7f9f4fa;--auth-glow-a:#6c97a029;--auth-glow-b:#a8beaf2e;--auth-weather-light:#ffffffb8;--auth-card-tint:#f7fbfa9e;--auth-logo-glow:#6c97a026}.zhaw-auth-shell[data-weather-mood=night]{--auth-weather-light:#9cd9ee47;--auth-logo-glow:#70e6d54d;--auth-horizon-glow:#53d6c83d}.zhaw-auth-shell[data-temperature-band=frost],.zhaw-auth-shell[data-temperature-band=cold]{--auth-temp-card-tint:#e2f4ff3d;--auth-lower-veil:#e2f4ff80}.zhaw-auth-shell[data-temperature-band=warm],.zhaw-auth-shell[data-temperature-band=hot]{--auth-temp-card-tint:#ffebbe33;--auth-lower-veil:#fff2cd75}.zhaw-auth-shell[data-time-of-day=night]{--auth-sky-start:#07121ffc;--auth-sky-mid:#112639fa;--auth-sky-end:#040914fc;--auth-glow-a:#3ea9bc47;--auth-glow-b:#926fd233;--auth-weather-light:#7ab8e247;--auth-card-tint:#0a192894;--auth-lower-veil:#030812b8;--auth-edge-shade:#01060e75;--auth-horizon-glow:#36bdb638;--auth-vertical-veil-start:#7eb2e51f;--auth-vertical-veil-end:#0207116b;--auth-atmosphere-highlight-top:#9fd1f62e;--auth-atmosphere-highlight-bottom:#146f7b2e;--auth-sheen-a:#b2e2ff21;--auth-sheen-b:#5dd3c81f;--auth-star-field:radial-gradient(circle at 18% 18%, #edfaff85 0 1px, transparent 1.7px), radial-gradient(circle at 72% 14%, #c5efff6b 0 1px, transparent 1.8px), radial-gradient(circle at 84% 36%, #e2f5ff57 0 1px, transparent 1.6px), radial-gradient(circle at 30% 42%, #b2e7f03d 0 1px, transparent 1.8px)}.zhaw-auth-shell:before{z-index:0;background:linear-gradient(120deg, var(--auth-glow-a) 0%, transparent 34%), linear-gradient(310deg, var(--auth-glow-b) 0%, transparent 32%), radial-gradient(ellipse at 50% 18%, var(--auth-weather-light) 0%, #fff0 58%);content:"";opacity:var(--auth-light-opacity);position:absolute;inset:-18% -8%}.zhaw-auth-shell:after{z-index:0;background:linear-gradient(90deg, var(--auth-edge-shade), transparent 22%, transparent 78%, var(--auth-edge-shade)), linear-gradient(180deg, var(--auth-vertical-veil-start), transparent 34%, var(--auth-vertical-veil-end));content:"";pointer-events:none;position:absolute;inset:0}.zhaw-auth-atmosphere{z-index:0;background:var(--auth-star-field), radial-gradient(ellipse at 18% 18%, var(--auth-sheen-a) 0%, transparent 34%), radial-gradient(ellipse at 82% 76%, var(--auth-sheen-b) 0%, transparent 42%), linear-gradient(to bottom, var(--auth-vertical-veil-start), transparent 38%, var(--auth-vertical-veil-end));opacity:var(--auth-texture-opacity);position:absolute;inset:0}.zhaw-auth-atmosphere:before{background:radial-gradient(ellipse at 50% 10%, var(--auth-atmosphere-highlight-top), transparent 42%), radial-gradient(ellipse at 50% 82%, var(--auth-atmosphere-highlight-bottom), transparent 46%);content:"";pointer-events:none;position:absolute;inset:-12%}.zhaw-auth-atmosphere:after{background:radial-gradient(ellipse at 22% 28%, var(--auth-sheen-a) 0%, transparent 42%), radial-gradient(ellipse at 76% 70%, var(--auth-sheen-b) 0%, transparent 48%);content:"";mix-blend-mode:soft-light;pointer-events:none;position:absolute;inset:0}.zhaw-auth-card{box-shadow:none;background:0 0;border:0;position:relative;-webkit-backdrop-filter:none!important}.zhaw-auth-card:before{content:none}.zhaw-auth-logo-aura{background:radial-gradient(ellipse at 50% 42%, #ffffff85 0%, #ffffff2e 42%, transparent 72%), radial-gradient(ellipse at 50% 58%, var(--auth-logo-glow) 0%, transparent 68%);filter:blur(8px);opacity:.82;border:0;border-radius:999px;width:10.5rem;height:7.25rem;position:absolute;transform:translateY(.5rem)}.zhaw-auth-logo-link{z-index:1;border-radius:1.35rem;transition:transform .26s cubic-bezier(.22,1,.36,1),box-shadow .26s cubic-bezier(.22,1,.36,1);position:relative;box-shadow:0 16px 34px #12212b2e,0 0 0 1px #fff3}.zhaw-auth-logo-link img{background:color-mix(in srgb, var(--color-deep-900) 82%, var(--color-accent-700) 18%);display:block;box-shadow:inset 0 1px #ffffff14}.zhaw-auth-logo-button{cursor:pointer;background:0 0;border:0;padding:0}.zhaw-auth-logo-button:hover,.zhaw-auth-logo-button:focus-visible,.zhaw-auth-logo-button[data-expanded=true]{transform:translateY(-1px)scale(1.025);box-shadow:0 18px 38px #12212b33,0 0 0 1px #ffffff47}.zhaw-auth-logo-button:focus-visible{outline:3px solid color-mix(in srgb, var(--color-accent-300) 42%, transparent);outline-offset:5px}.zhaw-auth-shell[data-weather-mood=rain]{--auth-sky-start:#bcd3defa;--auth-sky-mid:#7ea6bcf5;--auth-sky-end:#dae9e5fa;--auth-glow-a:#1d67923d;--auth-glow-b:#56a2a11f;--auth-weather-light:#bce1ed7a;--auth-card-tint:#ecf7fa94;--auth-logo-glow:#3e8fb038;--auth-lower-veil:#a0c4d457;--auth-edge-shade:#12324424;--auth-horizon-glow:#d6edf02e;--auth-vertical-veil-start:#eef8fa38;--auth-vertical-veil-end:#375b6a29;--auth-atmosphere-highlight-top:#e6f5f93d;--auth-atmosphere-highlight-bottom:#63a1b02e;--auth-sheen-a:#e8f8fc29;--auth-sheen-b:#7ac4cc21}.zhaw-auth-shell[data-weather-mood=storm]{--auth-sky-start:#6f8490fc;--auth-sky-mid:#476172fa;--auth-sky-end:#9fb1acfa;--auth-glow-a:#174b6a52;--auth-glow-b:#d2b55633;--auth-weather-light:#fae0806b;--auth-card-tint:#e5f1f38a;--auth-logo-glow:#e6c4603d;--auth-edge-shade:#0718243d;--auth-lower-veil:#425e6c6b}.zhaw-auth-shell[data-weather-mood=rain][data-time-of-day=night],.zhaw-auth-shell[data-weather-mood=storm][data-time-of-day=night]{--auth-sky-start:#050f1bfc;--auth-sky-mid:#0f263afa;--auth-sky-end:#030812fc;--auth-glow-a:#3497bc3d;--auth-glow-b:#715bae2e;--auth-weather-light:#66abde33;--auth-lower-veil:#020711c7;--auth-edge-shade:#01060e8a;--auth-horizon-glow:#37a0b22e}.zhaw-auth-rain{z-index:1;opacity:0;pointer-events:none;transition:opacity .36s;position:absolute;inset:0;overflow:hidden}.zhaw-auth-rain:before,.zhaw-auth-rain:after,.zhaw-auth-rain__clouds,.zhaw-auth-rain__mist,.zhaw-auth-rain__reflection{content:"";pointer-events:none;display:block;position:absolute}.zhaw-auth-rain:before,.zhaw-auth-rain:after{mix-blend-mode:soft-light;inset:0}.zhaw-auth-rain:before{opacity:calc(.16 + var(--auth-rain-strength,0) * .14);background:radial-gradient(at 24% 18%,#ebf8fc38,#0000 36%),radial-gradient(at 78% 76%,#80becc2e,#0000 42%),linear-gradient(#163d521a,#0000 40%,#12303e24)}.zhaw-auth-rain:after{opacity:calc(.1 + var(--auth-rain-strength,0) * .1);filter:blur(10px);background:radial-gradient(at 50% 6%,#ffffff2e,#0000 34%),linear-gradient(#e6f4f81a,#0000 52%)}.zhaw-auth-rain__clouds{height:34%;opacity:calc(.32 + var(--auth-rain-strength,0) * .3);filter:blur(18px);background:radial-gradient(at 16% 66%,#eff8fc2e,#0000 36%),radial-gradient(at 44% 34%,#dfeef63d,#0000 38%),radial-gradient(at 78% 62%,#b9d8e633,#0000 42%),linear-gradient(#547c922e,#0000 78%);animation:24s ease-in-out infinite alternate zhaw-auth-rain-cloud-drift;top:-8%;left:-18%;right:-18%}.zhaw-auth-rain__mist{height:36%;opacity:calc(.12 + var(--auth-rain-strength,0) * .18);filter:blur(20px);background:radial-gradient(at 26% 38%,#e6f6fa47,#0000 34%),radial-gradient(at 74% 58%,#a8d4e133,#0000 40%),linear-gradient(#0000,#e1f3f62e);bottom:8%;left:-12%;right:-12%}.zhaw-auth-rain__reflection{height:30%;opacity:calc(.2 + var(--auth-rain-strength,0) * .2);background:radial-gradient(at 50% 86%,#ecfafc2e,#0000 54%),linear-gradient(#0000 0%,#d7edf029 44%,#3d687a2e 100%);bottom:0;left:0;right:0;-webkit-mask-image:linear-gradient(#0000,#000000b8 36%,#000000f2);mask-image:linear-gradient(#0000,#000000b8 36%,#000000f2)}.zhaw-auth-shell:is([data-weather-mood=rain],[data-weather-mood=storm]) .zhaw-auth-rain{opacity:calc(.66 + var(--auth-rain-strength,0) * .2)}.zhaw-auth-shell[data-weather-mood=storm] .zhaw-auth-rain:before{opacity:calc(.56 + var(--auth-rain-strength,0) * .28)}@keyframes zhaw-auth-rain-cloud-drift{0%{transform:translate(-1.5rem)}to{transform:translate(1.5rem,.5rem)}}@media (prefers-reduced-motion:reduce){.zhaw-auth-rain__clouds{animation:none!important}}.zhaw-auth-shell{--auth-browser-top:#edf4f4;--auth-top-solid-depth:30px;--auth-top-fade-depth:190px;background:linear-gradient(180deg, var(--auth-browser-top) 0, var(--auth-browser-top) var(--auth-top-solid-depth), color-mix(in srgb, var(--auth-browser-top) 78%, transparent) calc(var(--auth-top-solid-depth) + 72px), transparent var(--auth-top-fade-depth)), radial-gradient(ellipse at 18% 12%, var(--auth-warm-glow) 0%, transparent 34%), radial-gradient(ellipse at 78% 20%, var(--auth-cool-glow) 0%, transparent 38%), radial-gradient(circle at 50% 112%, var(--auth-horizon-glow) 0%, transparent 46%), linear-gradient(180deg, transparent 0%, transparent 54%, var(--auth-lower-veil) 100%), linear-gradient(160deg, var(--auth-sky-start) 0%, var(--auth-sky-mid) 44%, var(--auth-sky-end) 100%), var(--color-app-bg)}:root[data-theme=dark] .zhaw-auth-shell{--auth-browser-top:#0a1218;--auth-sky-start:#0a1218fc;--auth-sky-mid:#101f2afa;--auth-sky-end:#080e16fc;--auth-glow-a:#3c97b338;--auth-glow-b:#6859a429;--auth-weather-light:#72b7dc2e;--auth-card-tint:#09141e99;--auth-logo-glow:#60d8c742;--auth-lower-veil:#030812c2;--auth-edge-shade:#01060e85;--auth-horizon-glow:#2fada62e;--auth-vertical-veil-start:#7eb2e51a;--auth-vertical-veil-end:#02071170;--auth-atmosphere-highlight-top:#9fd1f624;--auth-atmosphere-highlight-bottom:#146f7b29;--auth-sheen-a:#b2e2ff1c;--auth-sheen-b:#5dd3c81a}:root[data-theme=dark] .zhaw-auth-shell[data-weather-mood=sun]{--auth-glow-a:#ffc05726;--auth-glow-b:#46b8a32e;--auth-weather-light:#ffd57a24;--auth-logo-glow:#ffc75d33;--auth-horizon-glow:#3cc4ae29}:root[data-theme=dark] .zhaw-auth-shell:is([data-weather-mood=mist],[data-weather-mood=overcast]){--auth-sky-start:#0b141afc;--auth-sky-mid:#15232bfa;--auth-sky-end:#080e14fc;--auth-glow-a:#65909c29;--auth-glow-b:#77a1971f;--auth-weather-light:#cee6eb1f;--auth-logo-glow:#6c97a033}:root[data-theme=dark] .zhaw-auth-shell[data-weather-mood=rain]{--auth-sky-start:#07121bfc;--auth-sky-mid:#0f2433fa;--auth-sky-end:#050b13fc;--auth-glow-a:#2a85b038;--auth-glow-b:#4a949e24;--auth-weather-light:#7ec4e229;--auth-logo-glow:#3e8fb03d;--auth-horizon-glow:#3294aa29}:root[data-theme=dark] .zhaw-auth-shell[data-weather-mood=storm]{--auth-sky-start:#060e16fc;--auth-sky-mid:#101d2bfa;--auth-sky-end:#04080ffc;--auth-glow-a:#246f9940;--auth-glow-b:#d9b54d24;--auth-weather-light:#fae08029;--auth-logo-glow:#e6c46038;--auth-horizon-glow:#39869b24}:root[data-theme=dark] .zhaw-auth-shell[data-weather-mood=snow]{--auth-sky-start:#0a1219fc;--auth-sky-mid:#12222ffa;--auth-sky-end:#070c13fc;--auth-glow-a:#94cfe42e;--auth-glow-b:#c4dde11f;--auth-weather-light:#e5f4fa29;--auth-logo-glow:#94cfe438}
