/* The loading screen, the sweep (0.9.11). Scoped: nothing here reaches the app. */
#corpus-splash{position:fixed;inset:0;z-index:1000;overflow:hidden;display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:min(4vw,18px);transition:opacity .35s ease;
  background:radial-gradient(120% 80% at 50% 40%,#182131 0,#0f141c 55%,#0a0e14 100%)}
#corpus-splash.cs-gone{opacity:0;pointer-events:none}
#corpus-splash .cs-mark{position:relative;z-index:1;width:min(56vw,260px);height:min(56vw,260px)}
#corpus-splash .cs-band{position:absolute;inset:0}
#corpus-splash .cs-svg{display:block;width:100%;height:100%}
#corpus-splash .cs-b0{clip-path:inset(0.00% 0 88.89% 0);animation:cs-tune0 .85s steps(1,end) both}
#corpus-splash .cs-b1{clip-path:inset(11.11% 0 77.78% 0);animation:cs-tune1 .85s steps(1,end) both}
#corpus-splash .cs-b2{clip-path:inset(22.22% 0 66.67% 0);animation:cs-tune2 .85s steps(1,end) both}
#corpus-splash .cs-b3{clip-path:inset(33.33% 0 55.56% 0);animation:cs-tune3 .85s steps(1,end) both}
#corpus-splash .cs-b4{clip-path:inset(44.44% 0 44.44% 0);animation:cs-tune4 .85s steps(1,end) both}
#corpus-splash .cs-b5{clip-path:inset(55.56% 0 33.33% 0);animation:cs-tune5 .85s steps(1,end) both}
#corpus-splash .cs-b6{clip-path:inset(66.67% 0 22.22% 0);animation:cs-tune6 .85s steps(1,end) both}
#corpus-splash .cs-b7{clip-path:inset(77.78% 0 11.11% 0);animation:cs-tune7 .85s steps(1,end) both}
#corpus-splash .cs-b8{clip-path:inset(88.89% 0 0.00% 0);animation:cs-tune8 .85s steps(1,end) both}
@keyframes cs-tune0{0%{opacity:0;transform:none} 24%{opacity:0;transform:translateX(-17.7px)} 29%{opacity:1;transform:translateX(18.1px)} 34%{opacity:1;transform:translateX(-12.2px)} 39%{opacity:1;transform:translateX(0.0px)} 44%{opacity:0.35;transform:translateX(-11.9px)} 49%{opacity:1;transform:translateX(-5.7px)} 54%{opacity:0.35;transform:translateX(-3.0px)} 59%{opacity:0;transform:translateX(-3.4px)} 64%{opacity:1;transform:translateX(0.0px)} 69%{opacity:1;transform:translateX(-2.1px)} 74%{opacity:1;transform:translateX(-2.3px)} 79%{opacity:1;transform:translateX(0.6px)} 84%,100%{opacity:1;transform:none}}
@keyframes cs-tune1{0%{opacity:0;transform:none} 24%{opacity:0;transform:translateX(0.0px)} 29%{opacity:0;transform:translateX(-15.1px)} 34%{opacity:1;transform:translateX(7.7px)} 39%{opacity:1;transform:translateX(5.0px)} 44%{opacity:1;transform:translateX(-4.1px)} 49%{opacity:1;transform:translateX(0.0px)} 54%{opacity:1;transform:translateX(-5.8px)} 59%{opacity:0;transform:translateX(7.2px)} 64%{opacity:0;transform:translateX(2.3px)} 69%{opacity:1;transform:translateX(-4.6px)} 74%{opacity:1;transform:translateX(0.0px)} 79%{opacity:1;transform:translateX(0.8px)} 84%,100%{opacity:1;transform:none}}
@keyframes cs-tune2{0%{opacity:0;transform:none} 24%{opacity:1;transform:translateX(15.4px)} 29%{opacity:1;transform:translateX(6.4px)} 34%{opacity:1;transform:translateX(-9.6px)} 39%{opacity:0;transform:translateX(14.8px)} 44%{opacity:1;transform:translateX(-2.4px)} 49%{opacity:0;transform:translateX(0.0px)} 54%{opacity:0;transform:translateX(4.1px)} 59%{opacity:0;transform:translateX(8.3px)} 64%{opacity:1;transform:translateX(-2.4px)} 69%{opacity:1;transform:translateX(4.6px)} 74%{opacity:1;transform:translateX(-3.0px)} 79%{opacity:1;transform:translateX(0.5px)} 84%,100%{opacity:1;transform:none}}
@keyframes cs-tune3{0%{opacity:0;transform:none} 24%{opacity:1;transform:translateX(0.0px)} 29%{opacity:0.35;transform:translateX(15.2px)} 34%{opacity:0;transform:translateX(0.0px)} 39%{opacity:1;transform:translateX(0.0px)} 44%{opacity:1;transform:translateX(5.2px)} 49%{opacity:0;transform:translateX(0.0px)} 54%{opacity:0.35;transform:translateX(0.0px)} 59%{opacity:0.35;transform:translateX(3.4px)} 64%{opacity:0.35;transform:translateX(-2.6px)} 69%{opacity:1;transform:translateX(-2.2px)} 74%{opacity:1;transform:translateX(0.0px)} 79%{opacity:1;transform:translateX(-0.9px)} 84%,100%{opacity:1;transform:none}}
@keyframes cs-tune4{0%{opacity:0;transform:none} 24%{opacity:0.35;transform:translateX(15.3px)} 29%{opacity:1;transform:translateX(0.0px)} 34%{opacity:1;transform:translateX(-5.4px)} 39%{opacity:0;transform:translateX(4.6px)} 44%{opacity:0.35;transform:translateX(5.4px)} 49%{opacity:0.35;transform:translateX(0.0px)} 54%{opacity:0.35;transform:translateX(8.8px)} 59%{opacity:1;transform:translateX(-6.3px)} 64%{opacity:1;transform:translateX(0.0px)} 69%{opacity:1;transform:translateX(-3.5px)} 74%{opacity:1;transform:translateX(0.0px)} 79%{opacity:1;transform:translateX(1.1px)} 84%,100%{opacity:1;transform:none}}
@keyframes cs-tune5{0%{opacity:0;transform:none} 24%{opacity:0.35;transform:translateX(11.8px)} 29%{opacity:0.35;transform:translateX(16.4px)} 34%{opacity:0;transform:translateX(11.4px)} 39%{opacity:0;transform:translateX(-9.2px)} 44%{opacity:0.35;transform:translateX(0.0px)} 49%{opacity:0.35;transform:translateX(3.0px)} 54%{opacity:1;transform:translateX(-8.1px)} 59%{opacity:0;transform:translateX(7.6px)} 64%{opacity:0.35;transform:translateX(5.3px)} 69%{opacity:1;transform:translateX(2.8px)} 74%{opacity:1;transform:translateX(-0.9px)} 79%{opacity:1;transform:translateX(-1.1px)} 84%,100%{opacity:1;transform:none}}
@keyframes cs-tune6{0%{opacity:0;transform:none} 24%{opacity:0.35;transform:translateX(-16.7px)} 29%{opacity:1;transform:translateX(0.0px)} 34%{opacity:1;transform:translateX(-10.2px)} 39%{opacity:1;transform:translateX(-12.7px)} 44%{opacity:0;transform:translateX(0.0px)} 49%{opacity:1;transform:translateX(0.0px)} 54%{opacity:0;transform:translateX(5.8px)} 59%{opacity:0;transform:translateX(3.7px)} 64%{opacity:0.35;transform:translateX(-4.7px)} 69%{opacity:1;transform:translateX(2.7px)} 74%{opacity:1;transform:translateX(0.0px)} 79%{opacity:1;transform:translateX(-0.8px)} 84%,100%{opacity:1;transform:none}}
@keyframes cs-tune7{0%{opacity:0;transform:none} 24%{opacity:1;transform:translateX(7.6px)} 29%{opacity:0;transform:translateX(0.0px)} 34%{opacity:1;transform:translateX(9.5px)} 39%{opacity:1;transform:translateX(14.7px)} 44%{opacity:1;transform:translateX(-6.7px)} 49%{opacity:1;transform:translateX(-12.1px)} 54%{opacity:0;transform:translateX(0.0px)} 59%{opacity:0;transform:translateX(0.0px)} 64%{opacity:0;transform:translateX(-1.8px)} 69%{opacity:1;transform:translateX(4.7px)} 74%{opacity:1;transform:translateX(0.0px)} 79%{opacity:1;transform:translateX(-0.6px)} 84%,100%{opacity:1;transform:none}}
@keyframes cs-tune8{0%{opacity:0;transform:none} 24%{opacity:1;transform:translateX(18.4px)} 29%{opacity:1;transform:translateX(0.0px)} 34%{opacity:0.35;transform:translateX(17.4px)} 39%{opacity:0;transform:translateX(-11.8px)} 44%{opacity:1;transform:translateX(0.0px)} 49%{opacity:0;transform:translateX(0.0px)} 54%{opacity:1;transform:translateX(-7.0px)} 59%{opacity:1;transform:translateX(-7.3px)} 64%{opacity:1;transform:translateX(0.0px)} 69%{opacity:1;transform:translateX(0.9px)} 74%{opacity:1;transform:translateX(-2.2px)} 79%{opacity:1;transform:translateX(0.0px)} 84%,100%{opacity:1;transform:none}}
/* once tuned, one whole copy: nine clipped copies leave hairline seams where they meet */
#corpus-splash.cs-locked .cs-b0{clip-path:none;animation:none}
#corpus-splash.cs-locked .cs-band:not(.cs-b0){display:none}
#corpus-splash .cs-word{position:relative;z-index:1;letter-spacing:.42em;padding-left:.42em;
  font:600 min(3.6vw,15px)/1 system-ui,sans-serif;color:#e0b64f;opacity:0}
#corpus-splash .cs-status{position:absolute;z-index:3;bottom:calc(34px + env(safe-area-inset-bottom));font:11px system-ui,sans-serif;
  color:#8b94a6;opacity:0;transition:opacity .6s}
#corpus-splash .cs-status.cs-on{opacity:1}
/* half round 14's grain (.07) and scanlines (.3) */
#corpus-splash .cs-grainwrap{position:absolute;inset:0;z-index:2;pointer-events:none;overflow:hidden;opacity:.035;animation:cs-clear .95s ease-out both}
@keyframes cs-clear{0%,55%{opacity:0}85%,100%{opacity:.035}}
#corpus-splash .cs-grain{position:absolute;inset:-160px;background:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E") repeat;background-size:160px;animation:cs-crawl .5s steps(6) infinite}
@keyframes cs-crawl{from{transform:translate(0,0)}to{transform:translate(143px,97px)}}
#corpus-splash .cs-lines{position:absolute;inset:0;z-index:2;pointer-events:none;opacity:.15;
  background:repeating-linear-gradient(0deg,rgba(0,0,0,.55) 0 1px,transparent 1px 3px)}
@media (prefers-reduced-motion:reduce){
  #corpus-splash,#corpus-splash *{animation:none!important;transition:none!important}
  #corpus-splash .cs-word{opacity:1!important}
  #corpus-splash .cs-grainwrap{opacity:.035!important}}
