:root{--bg-1:#05060f;--bg-2:#0b0a1e;--accent-1:#6366f1;--accent-2:#22d3ee;--accent-3:#a855f7;--text:#e8ecff}*,::before,::after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{background:var(--bg-1);color:var(--text);font-family:'Roboto','Noto Sans','Segoe UI',system-ui,-apple-system,'Helvetica Neue',sans-serif;overflow-x:hidden}.splash{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;overflow:hidden;background:var(--bg-1);animation:splashOut 1s cubic-bezier(.76,0,.24,1) 3.6s forwards}@keyframes splashOut{to{opacity:0;visibility:hidden;transform:scale(1.08);filter:blur(8px)}}.splash__gradient{position:absolute;inset:-25%;background:radial-gradient(circle at 20% 30%,#6366f166,transparent 45%),radial-gradient(circle at 80% 70%,#a855f759,transparent 45%),radial-gradient(circle at 50% 100%,#22d3ee47,transparent 50%),var(--bg-2);filter:blur(50px);animation:gradientFloat 12s ease-in-out infinite alternate}@keyframes gradientFloat{0%{transform:translate3d(-3%,-2%,0) scale(1)}100%{transform:translate3d(3%,3%,0) scale(1.18)}}.splash__grid{position:absolute;inset:0;background-image:linear-gradient(#ffffff0b 1px,transparent 1px),linear-gradient(90deg,#ffffff0b 1px,transparent 1px);background-size:60px 60px;-webkit-mask-image:radial-gradient(circle at center,#000 5%,transparent 70%);mask-image:radial-gradient(circle at center,#000 5%,transparent 70%);animation:gridMove 20s linear infinite,gridIn 2s ease both}@keyframes gridMove{to{background-position:60px 60px}}@keyframes gridIn{from{opacity:0;transform:scale(1.4)}to{opacity:1;transform:scale(1)}}.particles{position:absolute;inset:0;pointer-events:none}.particles span{position:absolute;bottom:-20px;left:var(--x);width:var(--s);height:var(--s);border-radius:50%;background:var(--c);color:var(--c);box-shadow:0 0 12px 2px currentColor;opacity:0;animation:rise var(--t) linear var(--d) infinite}@keyframes rise{0%{transform:translateY(0) scale(.4);opacity:0}10%{opacity:.95}85%{opacity:.55}100%{transform:translateY(-105vh) scale(1.1);opacity:0}}.splash__content{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;text-align:center;padding:24px}.logo{position:relative;width:132px;height:132px;display:grid;place-items:center;margin-bottom:36px;animation:logoIn 1.2s cubic-bezier(.2,.8,.2,1) .15s both}@keyframes logoIn{from{opacity:0;transform:scale(.4) rotate(-90deg)}to{opacity:1;transform:scale(1) rotate(0)}}.logo::before{content:'';position:absolute;inset:-35%;border-radius:50%;background:radial-gradient(circle,#6366f173,transparent 65%);filter:blur(22px);animation:pulse 3s ease-in-out infinite}@keyframes pulse{0%,100%{transform:scale(1);opacity:.7}50%{transform:scale(1.18);opacity:1}}.logo__ring{position:absolute;border-radius:50%;border:2px solid transparent}.logo__ring--1{inset:0;border-top-color:var(--accent-2);border-right-color:var(--accent-2);filter:drop-shadow(0 0 8px var(--accent-2));animation:spin 3s linear infinite}.logo__ring--2{inset:15px;border-bottom-color:var(--accent-1);border-left-color:var(--accent-1);filter:drop-shadow(0 0 8px var(--accent-1));animation:spin 4.2s linear infinite reverse}.logo__ring--3{inset:30px;border-left-color:var(--accent-3);filter:drop-shadow(0 0 8px var(--accent-3));animation:spin 2.2s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.logo__core{position:relative;font-size:42px;font-weight:800;line-height:1;background:linear-gradient(135deg,#fff 20%,var(--accent-2) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;animation:coreGlow 2.4s ease-in-out infinite}@keyframes coreGlow{0%,100%{filter:drop-shadow(0 0 6px #22d3ee80)}50%{filter:drop-shadow(0 0 18px #22d3eef2)}}.title{font-size:clamp(30px,7vw,56px);font-weight:800;letter-spacing:.5em;text-indent:.5em;color:var(--text);text-shadow:0 0 30px #6366f18c;animation:titleIn 1.5s cubic-bezier(.2,.8,.2,1) .5s both}@keyframes titleIn{from{opacity:0;letter-spacing:1.3em;filter:blur(14px)}to{opacity:1;letter-spacing:.5em;filter:blur(0)}}.subtitle{margin-top:14px;font-size:clamp(11px,2vw,14px);letter-spacing:.45em;text-indent:.45em;text-transform:uppercase;color:#e8ecff8c;animation:fadeUp .9s ease 1.15s both}@keyframes fadeUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.progress{width:min(280px,62vw);height:3px;margin-top:46px;border-radius:99px;background:#ffffff14;overflow:hidden;box-shadow:0 0 24px #6366f159;animation:fadeUp .8s ease 1.3s both}.progress__bar{width:100%;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent-1),var(--accent-2),var(--accent-3),var(--accent-1));background-size:250% 100%;transform-origin:left center;animation:load 3.3s cubic-bezier(.65,0,.35,1) .25s both,shimmer 2s linear infinite}@keyframes load{from{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes shimmer{to{background-position:-250% 0}}.page{min-height:100vh;display:grid;place-content:center;gap:12px;text-align:center;padding:40px;background:radial-gradient(circle at 50% 0%,#6366f12e,transparent 60%),var(--bg-1);opacity:0;animation:fadeUp 1s ease 4.3s forwards}.page h2{font-size:clamp(28px,5vw,48px);background:linear-gradient(135deg,#fff,var(--accent-2));-webkit-background-clip:text;background-clip:text;color:transparent}.page p{color:#e8ecff99;letter-spacing:.1em}@media (prefers-reduced-motion: reduce){*,::before,::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
