.ap-welcome { position:fixed; inset:0; z-index:30000; display:grid; place-items:center; overflow:hidden; color:#edf4fc; background:#071729; font-family:Inter,'Segoe UI',sans-serif; isolation:isolate; animation:ap-welcome-open .32s ease-out both; }
.ap-welcome-active { overflow:hidden!important; }
.ap-welcome-scene { position:absolute; inset:0; z-index:-3; background:url('/shared/assets/site-cover.jpg') 62% center/cover; opacity:.17; animation:ap-welcome-scene 2s ease-out both; }
.ap-welcome::before { content:''; position:absolute; inset:0; z-index:-2; background:radial-gradient(ellipse at 50% 32%,#183b5766,transparent 65%),linear-gradient(0deg,#071729 0%,#07172944 55%,#071729b3 100%); }
.ap-welcome-grid { position:absolute; inset:-10%; z-index:-1; opacity:.08; background-image:linear-gradient(#8eb5d8 1px,transparent 1px),linear-gradient(90deg,#8eb5d8 1px,transparent 1px); background-size:70px 70px; transform:perspective(500px) rotateX(55deg) translateY(35%); mask-image:linear-gradient(transparent 20%,#000 80%); }
.ap-welcome-light { position:absolute; inset:-50%; z-index:-1; background:linear-gradient(115deg,transparent 43%,#f5822112 48%,#ffe3b931 50%,#f582210d 52%,transparent 57%); animation:ap-welcome-light 1.65s .1s ease-in-out both; }
.ap-welcome-content { position:relative; display:flex; flex-direction:column; align-items:center; text-align:center; width:calc(100% - 48px); max-width:900px; transform:translateY(-14px); }
.ap-welcome-emblem { position:relative; width:118px; height:118px; display:grid; place-items:center; margin-bottom:28px; animation:ap-welcome-rise .55s .08s both; }
.ap-welcome-emblem span { position:absolute; inset:0; border:1px solid #6a9fcd44; border-radius:50%; box-shadow:0 0 60px #439cdd1a,inset 0 0 30px #54a9dc0e; }
.ap-welcome-emblem i { position:absolute; inset:-7px; border:2px solid transparent; border-top-color:#ffab56; border-right-color:#ffab5644; border-radius:50%; animation:ap-welcome-orbit 1.7s cubic-bezier(.2,.65,.2,1) both; }
.ap-welcome-emblem svg { width:76px; height:76px; stroke:#a6cfea; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.ap-welcome-emblem .ap-welcome-route { stroke:#ff9c43; stroke-dasharray:100; stroke-dashoffset:100; animation:ap-welcome-draw .75s .2s forwards; }
.ap-welcome-eyebrow { margin:0 0 13px; color:#adc7dc; font-size:12px; letter-spacing:.3em; text-transform:uppercase; animation:ap-welcome-rise .55s .14s both; }
.ap-welcome h1 { margin:0; color:#f5f8ff; font-size:clamp(28px,5vw,60px); letter-spacing:.025em; font-weight:800; line-height:1.15; animation:ap-welcome-rise .55s .22s both; }
.ap-welcome h1 span { color:#ffa447; }
.ap-welcome-rule { margin:26px 0; height:2px; width:150px; background:linear-gradient(90deg,transparent,#f58221,transparent); transform-origin:center; animation:ap-welcome-rule .8s .3s both; }
.ap-welcome-logo { width:125px; height:auto; filter:brightness(0) invert(1); opacity:.83; animation:ap-welcome-rise .5s .3s both; }
.ap-welcome-status { display:flex; align-items:center; gap:8px; margin:26px 0 0; color:#b4ccd9; font-size:12px; letter-spacing:.035em; animation:ap-welcome-rise .4s .55s both; }
.ap-welcome-status span { display:grid; place-items:center; width:18px; height:18px; border:1px solid #6dd9bc55; border-radius:50%; color:#88e2c9; background:#73d8b60c; font-size:11px; }
.ap-welcome-enter { position:absolute; bottom:max(28px,env(safe-area-inset-bottom)); min-height:44px; padding:10px 18px; border:1px solid #85add32b; border-radius:30px; background:#0a2134aa; color:#b9d4e9; font:500 12px Inter,'Segoe UI',sans-serif; letter-spacing:.05em; cursor:pointer; animation:ap-welcome-rise .4s .6s both; }
.ap-welcome-enter span { display:inline-block; margin-left:14px; color:#ffac55; }
.ap-welcome-enter:hover, .ap-welcome-enter:focus-visible { border-color:#e9984b; outline:2px solid #ffad5544; outline-offset:4px; }
.ap-welcome.is-leaving { animation:ap-welcome-close .15s ease-in both; }
@keyframes ap-welcome-open { from { opacity:0; } to { opacity:1; } }
@keyframes ap-welcome-close { to { opacity:0; } }
@keyframes ap-welcome-rise { from { opacity:0; translate:0 12px; } to { opacity:1; translate:0 0; } }
@keyframes ap-welcome-scene { from { transform:scale(1.06); } to { transform:scale(1); } }
@keyframes ap-welcome-orbit { from { transform:rotate(-105deg); opacity:0; } 20% { opacity:1; } to { transform:rotate(260deg); opacity:1; } }
@keyframes ap-welcome-draw { to { stroke-dashoffset:0; } }
@keyframes ap-welcome-rule { from { scale:.08 1; opacity:0; } to { scale:1 1; opacity:1; } }
@keyframes ap-welcome-light { from { transform:translateX(-40%); } to { transform:translateX(40%); } }
@media (max-width:600px) { .ap-welcome-content { width:calc(100% - 32px); } .ap-welcome h1 { font-size:clamp(27px,8vw,43px); } .ap-welcome-emblem { width:102px; height:102px; margin-bottom:26px; } .ap-welcome-grid { background-size:50px 50px; } }
@media (prefers-reduced-motion:reduce) { .ap-welcome, .ap-welcome * { animation:none!important; } }
