/* Shared by the HTML boot splash, React boot, and auth. Bundled for offline native use. */
:root { --brand-cream:#FBF8F3; --brand-ink:#0F0F0F; --brand-orange:#F56714; --brand-gray:#E5E0DA; }
.kaizen-launch { position:relative; min-height:100dvh; width:100%; overflow:hidden; background:var(--brand-ink); color:var(--brand-cream); font-family:'Hind',system-ui,sans-serif; }
.kaizen-launch--fixed { position:fixed; inset:0; min-height:0; height:100%; z-index:50; }
.kaizen-launch__photo { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 44%; opacity:.84; }
.kaizen-launch__shade { position:absolute; inset:0; background:linear-gradient(180deg,transparent 30%,rgb(15 15 15 / .12) 46%,rgb(15 15 15 / .96) 100%); }
.kaizen-launch__brand { position:absolute; bottom:calc(env(safe-area-inset-bottom,0px) + 76px); left:max(24px,env(safe-area-inset-left,0px)); width:min(65vw,290px); }
.kaizen-launch__logo { display:block; width:100%; height:auto; }
.kaizen-launch__horizontal { aspect-ratio:821 / 150; }
.kaizen-launch__stacked { aspect-ratio:633 / 370; }
.kaizen-launch__type { display:block; width:100%; height:100%; }
.kaizen-launch__symbol { position:absolute; display:block; pointer-events:none; }
.kaizen-launch__logo { position:relative; }
.kaizen-launch__horizontal .kaizen-launch__symbol { left:0; top:6%; width:19.488%; height:85.333%; }
.kaizen-launch__stacked .kaizen-launch__symbol { left:28.278%; top:0; width:43.444%; height:59.459%; }
/* The auth artwork stays still; only the fixed loading surface builds and retracts the mark. */
.kaizen-launch__symbol img { position:absolute; inset:0; width:100%; height:100%; transform-origin:center bottom; }
.kaizen-launch--fixed .kaizen-launch__symbol img { animation-duration:2.4s; animation-iteration-count:infinite; animation-fill-mode:both; animation-delay:var(--brand-motion-elapsed, 0ms); will-change:transform; }
.kaizen-launch__symbol img:nth-child(1) { clip-path:inset(0 80% 0 0); }
.kaizen-launch__symbol img:nth-child(2) { clip-path:inset(0 53.333% 0 26.667%); }
.kaizen-launch__symbol img:nth-child(3) { clip-path:inset(0 26.667% 0 53.333%); }
.kaizen-launch__symbol img:nth-child(4) { clip-path:inset(0 0 0 80%); }
.kaizen-launch--fixed .kaizen-launch__symbol img:nth-child(1) { animation-name:kaizen-bar-spring-1; }
.kaizen-launch--fixed .kaizen-launch__symbol img:nth-child(2) { animation-name:kaizen-bar-spring-2; }
.kaizen-launch--fixed .kaizen-launch__symbol img:nth-child(3) { animation-name:kaizen-bar-spring-3; }
.kaizen-launch--fixed .kaizen-launch__symbol img:nth-child(4) { animation-name:kaizen-bar-spring-4; }
.brand-content-loader__bar { animation-duration:2.4s; animation-iteration-count:infinite; animation-fill-mode:both; animation-delay:var(--brand-content-clock, 0ms); transform-origin:center bottom; will-change:transform; }
.brand-content-loader__bar--1 { animation-name:kaizen-bar-spring-1; clip-path:inset(0 80% 0 0); }
.brand-content-loader__bar--2 { animation-name:kaizen-bar-spring-2; clip-path:inset(0 53.333% 0 26.667%); }
.brand-content-loader__bar--3 { animation-name:kaizen-bar-spring-3; clip-path:inset(0 26.667% 0 53.333%); }
.brand-content-loader__bar--4 { animation-name:kaizen-bar-spring-4; clip-path:inset(0 0 0 80%); }
@keyframes kaizen-bar-spring-1 {
  0%,2% { transform:scaleY(0); animation-timing-function:cubic-bezier(.38,0,.2,1); }
  16% { transform:scaleY(1.06); animation-timing-function:cubic-bezier(.2,.8,.3,1); }
  20% { transform:scaleY(.985); animation-timing-function:cubic-bezier(.2,.8,.3,1); }
  24%,83% { transform:scaleY(1); }
  83% { animation-timing-function:cubic-bezier(.55,0,.8,.45); }
  90%,100% { transform:scaleY(0); }
}
@keyframes kaizen-bar-spring-2 {
  0%,6% { transform:scaleY(0); animation-timing-function:cubic-bezier(.38,0,.2,1); }
  20% { transform:scaleY(1.06); animation-timing-function:cubic-bezier(.2,.8,.3,1); }
  24% { transform:scaleY(.985); animation-timing-function:cubic-bezier(.2,.8,.3,1); }
  28%,76% { transform:scaleY(1); }
  76% { animation-timing-function:cubic-bezier(.55,0,.8,.45); }
  84%,100% { transform:scaleY(0); }
}
@keyframes kaizen-bar-spring-3 {
  0%,10% { transform:scaleY(0); animation-timing-function:cubic-bezier(.38,0,.2,1); }
  24% { transform:scaleY(1.06); animation-timing-function:cubic-bezier(.2,.8,.3,1); }
  28% { transform:scaleY(.985); animation-timing-function:cubic-bezier(.2,.8,.3,1); }
  32%,69% { transform:scaleY(1); }
  69% { animation-timing-function:cubic-bezier(.55,0,.8,.45); }
  77%,100% { transform:scaleY(0); }
}
@keyframes kaizen-bar-spring-4 {
  0%,14% { transform:scaleY(0); animation-timing-function:cubic-bezier(.38,0,.2,1); }
  28% { transform:scaleY(1.06); animation-timing-function:cubic-bezier(.2,.8,.3,1); }
  33% { transform:scaleY(.985); animation-timing-function:cubic-bezier(.2,.8,.3,1); }
  37.5%,62.5% { transform:scaleY(1); }
  62.5% { animation-timing-function:cubic-bezier(.55,0,.8,.45); }
  70%,100% { transform:scaleY(0); }
}
.kaizen-launch__stacked { display:none; }
.kaizen-launch__track { display:none; width:100%; height:2px; margin-top:17px; background:rgb(251 248 243 / .25); overflow:hidden; }
.kaizen-launch__bar { height:100%; width:5%; background:var(--brand-orange); transition:width .3s ease-out; }
.kaizen-launch__status { visibility:hidden; margin:17px 0 0; font-size:11px; color:var(--brand-gray); letter-spacing:0; width:min(78vw,320px); max-width:none; min-height:14px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; text-align:center; }
@media (min-width:700px) {
 .kaizen-launch__photo { left:30%; width:70%; object-position:center 38%; }
 .kaizen-launch__shade { background:linear-gradient(90deg,var(--brand-ink) 0%,var(--brand-ink) 22%,rgb(15 15 15 / .9) 37%,rgb(15 15 15 / .05) 75%); }
 .kaizen-launch__brand { left:max(6%,env(safe-area-inset-left,0px)); bottom:50%; transform:translateY(50%); width:clamp(230px,24vw,320px); }
 .kaizen-launch__horizontal { display:none; }.kaizen-launch__stacked { display:block; }
 .kaizen-launch__track { width:75%; margin:25px auto 0; }
 .kaizen-launch__status { text-align:center; }
}
@media (min-width:700px) and (orientation:portrait) {
 .kaizen-launch__photo { left:16%; width:84%; object-position:65% center; }
 .kaizen-launch__shade { background:linear-gradient(90deg,var(--brand-ink),rgb(15 15 15 / .88) 38%,rgb(15 15 15 / .1) 90%); }
 .kaizen-launch__brand { left:5%; width:min(40%,320px); }
}
/* Status text only once genuinely slow (or an explicit React message). */
.kaizen-launch--slow .kaizen-launch__status, .kaizen-launch__status--shown { visibility:visible; }
@media (prefers-reduced-motion:reduce) { .kaizen-launch__bar { transition:none; } .kaizen-launch--fixed .kaizen-launch__symbol img, .brand-content-loader__bar { animation:none; transform:scaleY(1); } }
.post-login-launch { position:fixed; inset:0; z-index:10000; opacity:1; transition:opacity .48s cubic-bezier(.22,1,.36,1); pointer-events:auto; }
.post-login-launch--leaving { opacity:0; pointer-events:none; }
/* The HTML launch node stays above React during a cold start. Match sign-in's
   dark surface, rather than briefly showing photographic artwork or chrome. */
#inline-splash { z-index:10000; transition:opacity .22s cubic-bezier(.22,1,.36,1) !important; }
#inline-splash .kaizen-launch__photo, #inline-splash .kaizen-launch__shade, #inline-splash .kaizen-launch__type { display:none; }
#inline-splash .kaizen-launch__brand { left:50%; top:50%; bottom:auto; width:64px; transform:translate(-50%,-50%); }
#inline-splash .kaizen-launch__horizontal { display:block; width:64px; height:52px; aspect-ratio:auto; }
#inline-splash .kaizen-launch__horizontal .kaizen-launch__symbol { inset:0; width:100%; height:100%; }
#inline-splash .kaizen-launch__stacked { display:none; }
#inline-splash .kaizen-launch__status { position:absolute; left:50%; transform:translateX(-50%); width:min(78vw,320px); }
.kaizen-launch--signing-in { background:var(--brand-ink); }
.kaizen-launch--signing-in .kaizen-launch__photo, .kaizen-launch--signing-in .kaizen-launch__shade, .kaizen-launch--signing-in .kaizen-launch__type { display:none; }
.kaizen-launch--signing-in .kaizen-launch__brand { left:50%; top:50%; bottom:auto; width:64px; transform:translate(-50%,-50%); }
.kaizen-launch--signing-in .kaizen-launch__horizontal { display:block; width:64px; height:52px; aspect-ratio:auto; }
.kaizen-launch--signing-in .kaizen-launch__horizontal .kaizen-launch__symbol { inset:0; width:100%; height:100%; }
.kaizen-launch--signing-in .kaizen-launch__stacked { display:none; }
.kaizen-launch--signing-in .kaizen-launch__status { position:absolute; left:50%; transform:translateX(-50%); width:min(78vw,320px); }
@media (prefers-reduced-motion:reduce) { .post-login-launch, #inline-splash { transition:none !important; } }
