:root{--splash-base:#f7f9ff;--splash-card:rgba(255,255,255,.78);--splash-text:#10254a;--splash-muted:#7185a3;--splash-line:#dbe5f1;--splash-blue:#2d7cf0;--splash-mint:#22c89f}
html[data-theme="dark"]{--splash-base:#07111d;--splash-card:rgba(8,25,40,.82);--splash-text:#f5f9ff;--splash-muted:#9eb1c8;--splash-line:#20394e;--splash-blue:#3792ff;--splash-mint:#24d1a2}
html,body,#app{margin:0;min-width:100%;min-height:100%;background:var(--splash-base)}
.app-splash{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;overflow:hidden;box-sizing:border-box;width:100vw;height:100dvh;min-height:100vh;padding:calc(24px + env(safe-area-inset-top)) 22px calc(25px + env(safe-area-inset-bottom));background:var(--splash-base);color:var(--splash-text);font-family:Inter,"Noto Sans Bengali","Hind Siliguri",system-ui,sans-serif;isolation:isolate}
.app-splash:before{content:"";position:absolute;inset:0;z-index:-4;pointer-events:none;background:radial-gradient(circle at 8% 28%,rgba(61,132,244,.16),transparent 30%),radial-gradient(circle at 91% 77%,rgba(34,200,159,.20),transparent 33%),linear-gradient(180deg,#f8faff 0%,#f6f9ff 48%,#eefaf6 100%)}
.app-splash:after{content:"";position:absolute;z-index:-3;width:560px;height:560px;right:-330px;bottom:-250px;border-radius:50%;background:radial-gradient(circle,rgba(37,204,165,.16),rgba(37,204,165,.05) 48%,transparent 73%);filter:blur(8px);pointer-events:none}
.splash-shell{position:relative;width:min(420px,100%);min-height:620px;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;text-align:center;padding:54px 28px 118px;border:1px solid rgba(213,224,240,.84);border-radius:38px;background:linear-gradient(155deg,rgba(255,255,255,.86),rgba(255,255,255,.58));box-shadow:0 30px 90px rgba(34,75,131,.12),inset 0 1px 0 rgba(255,255,255,.95);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);overflow:hidden;animation:splash-card-in .7s cubic-bezier(.2,.8,.2,1) both}
.splash-shell:before{content:"";position:absolute;inset:18px;border-radius:30px;background:radial-gradient(circle at 50% 20%,rgba(67,139,244,.11),transparent 31%),radial-gradient(circle at 83% 70%,rgba(34,200,159,.08),transparent 34%);pointer-events:none;z-index:-1}
.splash-shell:after{content:"";position:absolute;left:-5%;right:-5%;bottom:-2px;height:126px;z-index:0;pointer-events:none;background:radial-gradient(115% 72% at 8% 100%,rgba(121,188,244,.24) 0 42%,transparent 43%),radial-gradient(95% 72% at 91% 100%,rgba(58,211,170,.22) 0 45%,transparent 46%),linear-gradient(180deg,transparent 0 34%,rgba(214,239,248,.60) 35% 100%);opacity:.9}
.splash-brand{position:relative;z-index:2;display:grid;justify-items:center;width:100%}
.splash-logo-wrap{position:relative;width:190px;height:190px;margin:0 0 22px;display:grid;place-items:center}
.splash-logo-wrap:before,.splash-logo-wrap:after{content:"";position:absolute;border-radius:50%;pointer-events:none}
.splash-logo-wrap:before{inset:4px;border:1px solid rgba(79,145,239,.20);box-shadow:0 0 0 25px rgba(72,137,238,.035),0 0 0 48px rgba(72,137,238,.022);animation:splash-orbit-breathe 3.6s ease-in-out infinite}
.splash-logo-wrap:after{width:7px;height:7px;top:14px;left:50%;margin-left:-3.5px;background:var(--splash-mint);box-shadow:-75px 59px 0 -1px var(--splash-blue),76px 58px 0 -1px var(--splash-mint);animation:splash-orbit-dot 6s linear infinite;transform-origin:3px 81px}
.splash-logo-glow{position:absolute;inset:20px;border-radius:50%;background:radial-gradient(circle,rgba(49,118,235,.28) 0%,rgba(36,196,155,.11) 48%,transparent 74%);filter:blur(13px);animation:splash-halo 2.8s ease-in-out infinite}
.splash-logo{position:relative;width:140px;height:140px;border-radius:40px;display:grid;place-items:center;background:linear-gradient(145deg,rgba(255,255,255,.99),rgba(245,249,255,.95));border:1px solid rgba(201,216,238,.92);box-shadow:0 24px 60px rgba(42,80,137,.18),0 9px 24px rgba(36,73,128,.08),inset 0 1px 0 rgba(255,255,255,.98);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);animation:splash-logo-float 3.2s ease-in-out infinite}
.splash-logo:before{content:"";position:absolute;inset:10px;border-radius:32px;border:1px solid rgba(77,122,186,.10);box-shadow:inset 0 0 0 1px rgba(255,255,255,.58)}
.splash-logo img{position:relative;z-index:2;width:112px;height:112px;object-fit:contain;display:block;border-radius:24px;filter:drop-shadow(0 12px 18px rgba(13,32,61,.13))}
.splash-kicker,.splash-brand p{display:none!important}
.splash-brand h1{margin:4px 0 0;font-family:Inter,"Noto Sans Bengali",sans-serif;font-size:31px;line-height:1.05;font-weight:800;letter-spacing:-.048em;background:linear-gradient(90deg,#10254a 0 46%,#2486ef 62%,#21bfa0 100%);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:none;position:relative}
.splash-brand h1:after{content:"";display:block;width:36px;height:3px;margin:10px auto 0;border-radius:999px;background:linear-gradient(90deg,var(--splash-blue),var(--splash-mint));box-shadow:0 0 14px rgba(40,142,231,.22)}
.splash-progress{position:relative;z-index:2;width:min(286px,82%);height:5px;margin:48px auto 18px;overflow:visible;border-radius:999px;background:rgba(172,193,220,.38);box-shadow:inset 0 1px 2px rgba(50,78,114,.08)}
.splash-progress span{position:relative;display:block;width:58%;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--splash-blue),#36aeea 48%,var(--splash-mint));box-shadow:0 0 15px rgba(49,132,240,.22);animation:splash-progress-breathe 2.2s ease-in-out infinite}
.splash-progress span:after{content:"";position:absolute;right:-4px;top:50%;width:10px;height:10px;margin-top:-5px;border-radius:50%;background:#fff;box-shadow:0 0 0 5px rgba(48,199,161,.10),0 0 18px rgba(45,202,161,.55);animation:splash-progress-head 1.8s ease-in-out infinite}
.splash-status{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;gap:10px;color:#61799a;font-size:12px;font-weight:700;letter-spacing:-.01em;min-height:26px}
.splash-status i{width:8px;height:8px;border-radius:50%;background:var(--splash-mint);box-shadow:0 0 0 7px rgba(34,200,159,.10),0 0 18px rgba(34,200,159,.24);animation:splash-status-dot 1.5s ease-in-out infinite}
.splash-foot{position:fixed;left:20px;right:20px;bottom:calc(24px + env(safe-area-inset-bottom));display:flex;justify-content:center;align-items:center;gap:13px;color:#6f86a4;font-size:10px;font-weight:700;letter-spacing:.035em;z-index:10000}
.splash-foot b{color:#3e6ea5}.splash-foot span:nth-child(2),.splash-foot span:nth-child(4){opacity:.38;font-weight:400}
html[data-theme="dark"] .app-splash,.app-splash.splash-dark{--splash-base:#07111d;--splash-text:#f5f9ff;background:#07111d;color:#f5f9ff}
html[data-theme="dark"] .app-splash:before,.app-splash.splash-dark:before{background:radial-gradient(circle at 10% 28%,rgba(45,126,229,.25),transparent 31%),radial-gradient(circle at 91% 78%,rgba(20,179,135,.22),transparent 35%),linear-gradient(180deg,#06101b 0%,#071321 50%,#07231f 100%)}
html[data-theme="dark"] .app-splash:after,.app-splash.splash-dark:after{background:radial-gradient(circle,rgba(22,182,140,.18),rgba(22,182,140,.05) 48%,transparent 72%)}
html[data-theme="dark"] .splash-shell,.app-splash.splash-dark .splash-shell{background:linear-gradient(155deg,rgba(12,31,49,.90),rgba(7,22,36,.78));border-color:rgba(72,111,147,.33);box-shadow:0 32px 95px rgba(0,0,0,.43),0 0 60px rgba(24,104,169,.08),inset 0 1px 0 rgba(255,255,255,.04)}
html[data-theme="dark"] .splash-shell:before,.app-splash.splash-dark .splash-shell:before{background:radial-gradient(circle at 50% 20%,rgba(47,128,225,.13),transparent 33%),radial-gradient(circle at 83% 72%,rgba(25,179,136,.10),transparent 36%)}
html[data-theme="dark"] .splash-shell:after,.app-splash.splash-dark .splash-shell:after{background:radial-gradient(115% 72% at 8% 100%,rgba(32,84,127,.42) 0 42%,transparent 43%),radial-gradient(95% 72% at 91% 100%,rgba(15,103,82,.42) 0 45%,transparent 46%),linear-gradient(180deg,transparent 0 34%,rgba(9,42,55,.76) 35% 100%);opacity:.9}
html[data-theme="dark"] .splash-logo-wrap:before,.app-splash.splash-dark .splash-logo-wrap:before{border-color:rgba(62,148,246,.27);box-shadow:0 0 0 25px rgba(55,146,255,.035),0 0 0 48px rgba(37,209,162,.020)}
html[data-theme="dark"] .splash-logo-glow,.app-splash.splash-dark .splash-logo-glow{background:radial-gradient(circle,rgba(48,135,244,.33) 0%,rgba(31,205,157,.13) 48%,transparent 74%)}
html[data-theme="dark"] .splash-logo,.app-splash.splash-dark .splash-logo{background:linear-gradient(145deg,rgba(17,37,57,.96),rgba(8,23,36,.94));border-color:rgba(78,120,157,.46);box-shadow:0 30px 80px rgba(0,0,0,.48),0 0 42px rgba(36,126,213,.13),inset 0 1px 0 rgba(255,255,255,.06)}
html[data-theme="dark"] .splash-logo:before,.app-splash.splash-dark .splash-logo:before{border-color:rgba(128,173,223,.10);box-shadow:inset 0 0 0 1px rgba(255,255,255,.025)}
html[data-theme="dark"] .splash-logo img,.app-splash.splash-dark .splash-logo img{filter:brightness(1.65) grayscale(1) drop-shadow(0 12px 20px rgba(0,0,0,.32))}
html[data-theme="dark"] .splash-brand h1,.app-splash.splash-dark .splash-brand h1{background:linear-gradient(90deg,#f6f9ff 0 46%,#48a4ff 63%,#25d1a2 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
html[data-theme="dark"] .splash-progress,.app-splash.splash-dark .splash-progress{background:#193145;box-shadow:inset 0 1px 2px rgba(0,0,0,.30)}
html[data-theme="dark"] .splash-status,.app-splash.splash-dark .splash-status{color:#9fb4cb}
html[data-theme="dark"] .splash-foot,.app-splash.splash-dark .splash-foot{color:#71879f}
html[data-theme="dark"] .splash-foot b,.app-splash.splash-dark .splash-foot b{color:#a2bedc}
@keyframes splash-card-in{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}
@keyframes splash-halo{0%,100%{transform:scale(.94);opacity:.58}50%{transform:scale(1.08);opacity:1}}
@keyframes splash-logo-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
@keyframes splash-orbit-breathe{0%,100%{transform:scale(.97);opacity:.64}50%{transform:scale(1.02);opacity:1}}
@keyframes splash-orbit-dot{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@keyframes splash-progress-breathe{0%,100%{width:52%;filter:saturate(.95)}50%{width:66%;filter:saturate(1.08)}}
@keyframes splash-progress-head{0%,100%{transform:scale(.9);opacity:.7}50%{transform:scale(1.1);opacity:1}}
@keyframes splash-status-dot{0%,100%{opacity:.55;transform:scale(.9)}50%{opacity:1;transform:scale(1.08)}}
@supports(padding:max(0px)){.app-splash{padding-top:max(calc(24px + env(safe-area-inset-top)),24px);padding-bottom:max(calc(25px + env(safe-area-inset-bottom)),25px)}}
@media(max-width:420px){.splash-shell{width:min(390px,100%);min-height:590px;padding:48px 20px 108px;border-radius:34px}.splash-logo-wrap{width:174px;height:174px;margin-bottom:18px}.splash-logo{width:130px;height:130px;border-radius:37px}.splash-logo:before{inset:9px;border-radius:29px}.splash-logo img{width:104px;height:104px;border-radius:22px}.splash-brand h1{font-size:29px}.splash-progress{margin-top:43px}.splash-shell:after{height:114px}}
@media(max-width:360px){.app-splash{padding-inline:16px}.splash-shell{min-height:560px;padding-inline:16px}.splash-logo-wrap{width:162px;height:162px}.splash-logo{width:120px;height:120px}.splash-logo img{width:96px;height:96px}.splash-brand h1{font-size:27px}.splash-status{font-size:11px}.splash-foot{font-size:9px;gap:9px}}
@media(max-height:700px){.splash-shell{min-height:520px;padding-top:34px;padding-bottom:88px}.splash-logo-wrap{width:150px;height:150px;margin-bottom:12px}.splash-logo{width:112px;height:112px;border-radius:32px}.splash-logo img{width:90px;height:90px}.splash-brand h1{font-size:26px}.splash-progress{margin-top:30px}.splash-shell:after{height:92px}}
@media(prefers-reduced-motion:reduce){.splash-shell,.splash-logo-wrap:before,.splash-logo-wrap:after,.splash-logo-glow,.splash-logo,.splash-progress span,.splash-progress span:after,.splash-status i{animation:none!important}.splash-progress span{width:60%!important}}
