/* Shared by the native welcome and optional isolated React component. */
[data-cadushi-animated-grid]{--grid-gap:3px;display:grid;grid-template-columns:repeat(var(--grid-cols,8),minmax(0,1fr));gap:var(--grid-gap);width:min(100%,calc(var(--grid-cols,8)*(var(--grid-cell-size,4rem) + var(--grid-gap)) - var(--grid-gap)));pointer-events:none;user-select:none;contain:layout paint;}
.cadushi-grid-cell{display:block;aspect-ratio:1;background:var(--grid-from);border-radius:50%;animation:cadushi-grid-animation var(--grid-duration,2s) ease-in var(--grid-delay,0s) infinite alternate;animation-play-state:paused;}
[data-grid-running="true"]>.cadushi-grid-cell{animation-play-state:running;}
@keyframes cadushi-grid-animation{from{border-radius:50%;background:var(--grid-from);}to{border-radius:0%;background:var(--grid-to);}}
/* Mobile phase: eight original visual rows plus exactly two matching rows. */
.cadushi-login-page>.cadushi-welcome-grid{display:none;}
.cadushi-welcome-grid>.cadushi-grid-symbol-cell{position:relative;overflow:hidden;}
.cadushi-grid-currency{position:absolute;inset:0;width:100%;height:100%;border-radius:inherit;object-fit:contain;pointer-events:none;animation:cadushi-grid-currency var(--grid-duration,2s) ease-in var(--grid-delay,0s) infinite alternate;animation-play-state:paused;}
[data-grid-running="true"] .cadushi-grid-currency{animation-play-state:running;}
@keyframes cadushi-grid-currency{from{opacity:1;transform:scale(1);}to{opacity:0;transform:scale(1.41421356);}}
@media(max-width:600px){
 .cadushi-login-page{isolation:isolate;}
 .cadushi-login-page .cadushi-login-shell{background:transparent;}
 .cadushi-login-page>.cadushi-welcome-grid{display:grid;position:absolute;top:0;left:0;width:100vw;grid-template-columns:repeat(6,minmax(0,1fr));max-width:none;z-index:-1;opacity:1;mask-image:linear-gradient(to bottom,rgba(0,0,0,.55) 0%,rgba(0,0,0,.38) var(--grid-fade-start,80%),transparent var(--grid-fade-end,100%));-webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,.55) 0%,rgba(0,0,0,.38) var(--grid-fade-start,80%),transparent var(--grid-fade-end,100%));}
}
@media(prefers-reduced-motion:reduce){.cadushi-grid-cell{animation:none;border-radius:25%;}}
@media(prefers-reduced-motion:reduce),(forced-colors:active){.cadushi-grid-currency{animation:none;display:none;}}
@media(forced-colors:active){.cadushi-grid-cell{animation:none;background:CanvasText;opacity:.2;}}

/* Separate alpha mask: the four already-white symbols receive exactly1.3x
   effective alpha. Background paint, morph easing and fade anchors stay shared. */
.cadushi-welcome-symbols {display:none;}
@media(max-width:600px) {
 .cadushi-login-page>.cadushi-welcome-symbols {display:block;position:absolute;top:0;left:0;width:100vw;z-index:-1;pointer-events:none;user-select:none;--grid-duration:2s;mask-image:linear-gradient(to bottom,rgba(0,0,0,.715) 0%,rgba(0,0,0,.494) var(--grid-fade-start,80%),transparent var(--grid-fade-end,100%));-webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,.715) 0%,rgba(0,0,0,.494) var(--grid-fade-start,80%),transparent var(--grid-fade-end,100%));}
 .cadushi-welcome-symbols>.cadushi-grid-cell {position:absolute;background:transparent!important;overflow:hidden;}
}
