body.landing-active #app{visibility:hidden;pointer-events:none}
.landing-page{position:fixed;z-index:1000;inset:0;width:100%;height:100dvh;min-height:100vh;overflow-y:auto;display:grid;place-items:center;padding:24px;color:#f4f7fb;background:radial-gradient(circle at 50% 25%,#173866 0,transparent 38%),linear-gradient(145deg,#07101d,#020509 70%);transition:opacity .22s ease,transform .22s ease}
.landing-page[hidden]{display:none}.landing-page.leaving{opacity:0;transform:scale(1.012)}
.landing-watermark{position:absolute;z-index:1;left:50%;top:50%;width:min(68vw,512px);height:auto;opacity:.1;transform:translate(-50%,-50%);pointer-events:none;user-select:none}
.landing-card{position:relative;z-index:1;width:min(100%,720px);padding:clamp(36px,7vw,72px);overflow:hidden;border:1px solid #ffffff1a;border-radius:24px;background:#09121fd1;box-shadow:0 30px 80px #0008;backdrop-filter:blur(12px);text-align:center}
.landing-card:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(145deg,#0d1b2dcc,#060b13d9);pointer-events:none}
.landing-card>:not(.landing-watermark){position:relative;z-index:2}
.landing-eyebrow{display:inline-block;margin:0 0 20px;color:#7eb6ff;font-size:12px;font-weight:800;letter-spacing:.18em;text-transform:uppercase}
.landing-card h1{margin:0;color:#f4f7fb;font-size:clamp(48px,10vw,104px);font-weight:950;line-height:.88;letter-spacing:-.07em;text-transform:uppercase;overflow-wrap:anywhere;text-shadow:0 4px 18px #0009}
.landing-card h1 .accent{color:#2388ff;text-shadow:0 4px 18px #0009,0 0 30px #1677ff42}
.landing-description{max-width:520px;margin:25px auto 34px;color:#aab5c5;font-size:clamp(16px,2vw,18px);line-height:1.65}
.landing-enter{display:inline-block;min-height:54px;padding:17px 34px;border:1px solid #58a8ff;border-radius:10px;background:#1677ff;color:#fff;font:inherit;font-size:14px;font-weight:900;letter-spacing:.04em;text-transform:uppercase;box-shadow:0 12px 32px #1677ff59;cursor:pointer;transition:transform .2s ease,background .2s ease,box-shadow .2s ease}
.landing-enter:hover{transform:translateY(-3px);background:#3290ff;box-shadow:0 17px 40px #1677ff80}.landing-enter:active{transform:translateY(1px)}.landing-enter:focus-visible{outline:3px solid #fff;outline-offset:4px}.landing-enter:disabled{cursor:wait;opacity:.7}
.landing-details{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px 24px;margin-top:28px;color:#68778c;font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.landing-details i{width:4px;height:4px;border-radius:50%;background:#44607e}
.landing-origin{display:inline-block;margin-top:20px;color:#8ea4bf;font-size:11px;font-weight:850;letter-spacing:.1em;text-decoration:none;text-transform:uppercase;transition:color .2s ease}
.landing-origin:hover{color:#70b4ff;text-decoration:underline;text-underline-offset:4px}.landing-origin:focus-visible{border-radius:3px;outline:3px solid #fff;outline-offset:5px}
.landing-page[data-mode="returning"] .landing-card h1{font-size:clamp(38px,6vw,64px)}
.landing-page[data-mode="returning"] .landing-card h1 .accent{display:block;color:#2388ff;letter-spacing:-.04em;white-space:nowrap}
.landing-page[data-mode="building"] .landing-card h1{font-size:clamp(44px,8vw,82px)}
@media (max-width:500px){.landing-page{padding:14px}.landing-watermark{width:min(94vw,460px)}.landing-card{padding:42px 22px;border-radius:18px}.landing-eyebrow{margin-bottom:18px;font-size:10px}.landing-card h1,.landing-page[data-mode="building"] .landing-card h1{font-size:clamp(48px,15vw,68px)}.landing-page[data-mode="returning"] .landing-card h1{font-size:clamp(42px,13vw,58px)}.landing-description{margin:23px auto 30px;font-size:16px;line-height:1.55}.landing-enter{display:block;width:100%;padding-inline:18px}.landing-details{gap:8px;font-size:10px}.landing-details i{width:3px;height:3px}.landing-origin{margin-top:18px;font-size:10px}}
@media (max-width:360px){.landing-card{padding:34px 18px}.landing-card h1,.landing-page[data-mode="returning"] .landing-card h1,.landing-page[data-mode="building"] .landing-card h1{font-size:clamp(42px,14vw,54px)}.landing-details{font-size:9px}}
@media (prefers-reduced-motion:reduce){.landing-page,.landing-enter{transition:none}.landing-enter:hover{transform:none}}
