.wedo-loader{--wl-ink:#282a2e;--wl-bg:#edeef0;--wl-muted:#5b6069;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;color:var(--wl-ink);font:12px/1.5 'JetBrains Mono',monospace;box-sizing:border-box}
[data-wedo-theme=dark] .wedo-loader,[data-theme=dark] .wedo-loader{--wl-ink:#e6e7e9;--wl-bg:#252629;--wl-muted:#b3b6bd}
.wedo-loader-mark{display:block;position:relative;width:160px;height:160px;flex:none}
.wedo-loader-letter{position:absolute;display:block;width:48px;height:48px;transform-origin:50% 50%;animation:wedo-loader-w 6s cubic-bezier(.65,0,.35,1) infinite;--wl-x:-12px;--wl-y:-12px;left:31px;top:31px}
.wedo-loader-e{left:81px;--wl-x:12px;animation-name:wedo-loader-e}
.wedo-loader-d{top:81px;--wl-y:12px;animation-name:wedo-loader-e}
.wedo-loader-o{left:81px;top:81px;--wl-x:12px;--wl-y:12px}
.wedo-loader-glyph{display:block;width:48px;height:48px;background:currentColor;mask:var(--wl-mask) center/48px 48px no-repeat;-webkit-mask:var(--wl-mask) center/48px 48px no-repeat;transform:scaleY(-1)}
.wedo-loader-w{--wl-mask:url('./assets/w.svg')}.wedo-loader-e{--wl-mask:url('./assets/e.svg')}.wedo-loader-d{--wl-mask:url('./assets/d.svg')}.wedo-loader-o{--wl-mask:url('./assets/o.svg')}
.wedo-loader-o .wedo-loader-glyph{transform:rotate(-90deg) scaleX(-1)}
.wedo-loader-caption{color:var(--wl-muted);text-align:center}
#session-loading-view,#loading:has(>.wedo-loader){background:#edeef0!important}
[data-wedo-theme=dark] #session-loading-view,[data-wedo-theme=dark] #loading:has(>.wedo-loader){background:#252629!important}
.wedo-loader-adjunct{display:flex;justify-content:center;pointer-events:none;padding:12px}
.wedo-loader-adjunct[hidden]{display:none!important}
@media(prefers-reduced-motion:reduce){.wedo-loader-letter{animation:none!important;transform:none!important}}
@media print{.wedo-loader,.wedo-loader-adjunct{display:none!important}}
.wedo-loader-boot{min-height:100dvh;display:grid;place-items:center;background:#edeef0}[data-wedo-theme=dark] .wedo-loader-boot{background:#252629}
/* Owner correction: three times the original mark, constrained on phones. */
.wedo-loader-mark{width:min(480px,calc(100vw - 32px));height:auto;aspect-ratio:1;container-type:inline-size}
.wedo-loader-letter{width:30%;height:30%;left:19.375%;top:19.375%;--wl-x:-7.5cqw;--wl-y:-7.5cqw}
.wedo-loader-e{left:50.625%;--wl-x:7.5cqw}.wedo-loader-d{top:50.625%;--wl-y:7.5cqw}.wedo-loader-o{left:50.625%;top:50.625%;--wl-x:7.5cqw;--wl-y:7.5cqw}
.wedo-loader-glyph{width:100%;height:100%;mask-size:100% 100%;-webkit-mask-size:100% 100%}
/* All loading screens use the approved dark monochrome appearance from first paint. */
.wedo-loader,[data-wedo-theme] .wedo-loader,[data-theme] .wedo-loader{--wl-ink:#e6e7e9;--wl-bg:#252629;--wl-muted:#b3b6bd}
#session-loading-view,#loading:has(>.wedo-loader),.wedo-loader-boot,[data-wedo-theme] .wedo-loader-boot{background:#252629!important;color:#e6e7e9}
.wedo-loader-adjunct{background:#252629;color:#e6e7e9}
/* Embedded data loading uses a compact symbol, never the full-page brand mark. */
.wedo-loader-adjunct{background:transparent;color:inherit;padding:12px;min-height:48px;box-sizing:border-box}
.wedo-inline-spinner{display:block;width:24px;height:24px;flex:none;animation:wedo-inline-spin .8s linear infinite}
@keyframes wedo-inline-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.wedo-inline-spinner{animation:none}}

/* Geometry changes independently of the fixed-width letter cuts. */
.wedo-loader-letter{transform:none!important;--wl-cut:.5cqw}
.wedo-loader-glyph{mask:none;-webkit-mask:none;transform:none!important;border-radius:0 0 5cqw 5cqw;background:currentColor}
.wedo-loader-w .wedo-loader-glyph{background:linear-gradient(var(--wl-bg),var(--wl-bg)) 33.333% 0/var(--wl-cut) 50% no-repeat,linear-gradient(var(--wl-bg),var(--wl-bg)) 66.667% 0/var(--wl-cut) 25% no-repeat,linear-gradient(var(--wl-bg),var(--wl-bg)) 50% 100%/var(--wl-cut) 25% no-repeat,currentColor}
.wedo-loader-e .wedo-loader-glyph{border-radius:0 0 0 5cqw;background:linear-gradient(var(--wl-bg),var(--wl-bg)) 100% 33.333%/50% var(--wl-cut) no-repeat,linear-gradient(var(--wl-bg),var(--wl-bg)) 100% 66.667%/25% var(--wl-cut) no-repeat,currentColor}
.wedo-loader-d .wedo-loader-glyph{border-radius:0 5cqw 5cqw 0;background:linear-gradient(var(--wl-bg),var(--wl-bg)) 50% 50%/var(--wl-cut) 50% no-repeat,currentColor}
.wedo-loader-o .wedo-loader-glyph{border-radius:5cqw;background:linear-gradient(var(--wl-bg),var(--wl-bg)) 50% 50%/var(--wl-cut) 25% no-repeat,currentColor}
.wedo-loader-w{animation-name:wedo-loader-w}
@keyframes wedo-loader-w{0%,10%,100%{left:19.375%;top:19.375%;width:30%;height:30%}20%,30%{left:4.375%;top:19.375%;width:30%;height:30%}40%,50%{left:4.375%;top:19.375%;width:60%;height:30%}60%,70%{left:19.375%;top:19.375%;width:30%;height:30%}80%,90%{left:4.375%;top:4.375%;width:45%;height:45%}}
.wedo-loader-e{animation-name:wedo-loader-e}
@keyframes wedo-loader-e{0%,10%,100%{left:50.625%;top:19.375%;width:30%;height:30%}20%,30%{left:35.625%;top:19.375%;width:60%;height:30%}40%,50%{left:65.625%;top:19.375%;width:30%;height:30%}60%,70%{left:50.625%;top:4.375%;width:45%;height:45%}80%,90%{left:50.625%;top:19.375%;width:30%;height:30%}}
.wedo-loader-d{animation-name:wedo-loader-d}
@keyframes wedo-loader-d{0%,10%,100%{left:19.375%;top:50.625%;width:30%;height:30%}20%,30%{left:4.375%;top:50.625%;width:60%;height:30%}40%,50%{left:4.375%;top:50.625%;width:30%;height:30%}60%,70%{left:4.375%;top:50.625%;width:45%;height:45%}80%,90%{left:19.375%;top:50.625%;width:30%;height:30%}}
.wedo-loader-o{animation-name:wedo-loader-o}
@keyframes wedo-loader-o{0%,10%,100%{left:50.625%;top:50.625%;width:30%;height:30%}20%,30%{left:65.625%;top:50.625%;width:30%;height:30%}40%,50%{left:35.625%;top:50.625%;width:60%;height:30%}60%,70%{left:50.625%;top:50.625%;width:30%;height:30%}80%,90%{left:50.625%;top:50.625%;width:45%;height:45%}}
