.strix-loader{display:inline-flex;position:relative;flex:0 0 auto;align-items:center;justify-content:center;color:var(--lavender,#b5d4ff);vertical-align:middle;isolation:isolate}
.strix-loader>.strix-mark{display:block;width:100%;height:100%;overflow:visible;animation:strix-load-breathe 1.8s ease-in-out infinite;filter:drop-shadow(0 0 6px #b5d4ff44)}
.strix-loader .strix-mark>path:first-child{fill:#08090d;fill-opacity:1;stroke-dasharray:84 190;animation:strix-load-trace 1.8s ease-in-out infinite;stroke-width:2.6}
@keyframes strix-load-trace{0%{stroke-dashoffset:274}100%{stroke-dashoffset:0}}
@keyframes strix-load-breathe{0%,100%{transform:scale(.92);opacity:.65}50%{transform:scale(1.04);opacity:1}}
@keyframes strix-load-light{0%,100%{opacity:.15}50%{opacity:.65}}
.strix-boot{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:22px;background:#030405;color:#b5d4ff;font:13px Inter,system-ui,sans-serif;letter-spacing:.04em}.strix-boot>.strix-loader{width:80px;height:80px}.strix-boot>p{margin:0;color:#98a4b9}.auth-stage>.strix-loader{width:80px!important;height:80px!important}.loading-state>.strix-loader{width:54px!important;height:54px!important}
@media(prefers-reduced-motion:reduce){.strix-loader>.strix-mark,.strix-loader .strix-mark>path{animation:none!important;stroke-dasharray:none!important}}
[data-motion=off] .strix-loader>.strix-mark,[data-motion=off] .strix-loader .strix-mark>path{animation:none!important;stroke-dasharray:none!important}

/* Auth is rendered before the main platform styles finish loading. */
.auth-stage:has(>.strix-loader){min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;text-align:center;background:#030405;color:#98a4b9}
body:has(.desktop-titlebar) .auth-stage:has(>.strix-loader){min-height:calc(100svh - 36px);padding-top:36px}
.loading-state{align-self:stretch;min-width:0;min-height:160px;width:100%;display:flex;flex:1;align-items:center;justify-content:center;flex-direction:column;gap:22px}
#strix-startup{z-index:100;opacity:1;transition:opacity .22s ease;pointer-events:auto}#strix-startup[data-ready=true]{opacity:0;pointer-events:none}#strix-startup .strix-loader{color:#b5d4ff}
@media(prefers-reduced-motion:reduce){#strix-startup{transition:none}}
#strix-startup>.strix-loader{position:absolute;left:50%;top:50%;margin:-40px 0 0 -40px}#strix-startup>p{position:absolute;left:0;right:0;top:calc(50% + 62px);text-align:center}

.strix-loader path:first-child{fill:#08090d;fill-opacity:1}

/* The supplied S stays filled, including its controller cutouts. */
.strix-loader{color:#fff}.strix-loader>.strix-mark{filter:none;animation:strix-load-breathe 2.2s ease-in-out infinite}.strix-loader .strix-mark>path:first-child{fill:currentColor;stroke:none;animation:none;stroke-dasharray:none}.strix-boot,#strix-startup .strix-loader{color:#fff}
@keyframes strix-load-breathe{0%,100%{transform:scale(.96);opacity:.7}50%{transform:scale(1);opacity:1}}
