*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:#fff;color:#0d2b6b;font-family:Inter,DM Sans,system-ui,sans-serif}.gpx-shell{align-items:center;background:radial-gradient(circle at 50% 24%,#f8fbff,#fff 48%);display:grid;grid-template-columns:minmax(0,1fr);justify-content:center;min-height:100svh;padding:3rem 1.5rem;transition:grid-template-columns .28s cubic-bezier(.23,1,.32,1),padding .28s cubic-bezier(.23,1,.32,1)}.gpx-hero{align-items:center;display:flex;flex-direction:column;justify-content:center;max-width:42rem;min-height:calc(100svh - 6rem);margin-inline:auto;text-align:center;transition:opacity .22s ease,transform .28s cubic-bezier(.23,1,.32,1);width:100%}.gpx-app-icon{border-radius:1.5rem;box-shadow:0 1.25rem 3.5rem #0d2b6b2e;height:9rem;margin-bottom:1.8rem;object-fit:cover;width:9rem}.gpx-hero h1{color:#0d2b6b;font-family:DM Sans,Inter,system-ui,sans-serif;font-size:clamp(2rem,4vw,3.125rem);font-weight:700;letter-spacing:-.045em;line-height:1.05;margin:0}.gpx-company,.gpx-tagline{color:#7c8190;font-size:.78rem;font-weight:700;letter-spacing:.08em;margin:0;text-transform:uppercase}.gpx-company{margin-top:1.1rem}.gpx-tagline{margin-top:.4rem}.gpx-action-area{align-items:center;display:flex;flex-direction:column;margin-top:clamp(3.25rem,8vh,5.5rem);width:min(100%,25rem)}.gpx-description{color:#757b89;font-size:clamp(.78rem,1.8vw,.95rem);font-weight:600;letter-spacing:.07em;line-height:1.7;margin:0 0 1.5rem;text-transform:uppercase}.gpx-primary-action{align-items:center;background:linear-gradient(135deg,#0d2b6b,#194ca7);border:0;border-radius:1rem;box-shadow:0 1rem 2rem #0d2b6b38;color:#fff;cursor:pointer;display:flex;gap:1rem;padding:1.1rem 1.35rem;text-align:left;transition:transform .16s cubic-bezier(.23,1,.32,1),box-shadow .16s cubic-bezier(.23,1,.32,1);width:100%}.gpx-primary-action:hover{box-shadow:0 1.25rem 2.5rem #0d2b6b47;transform:translateY(-2px)}.gpx-primary-action:active{transform:scale(.97)}.gpx-primary-action:focus-visible{outline:3px solid #75a7ff;outline-offset:4px}.gpx-action-icon{align-items:center;background:#ffffff2e;border-radius:999px;display:inline-flex;flex:0 0 auto;font-size:1.25rem;height:2.75rem;justify-content:center;width:2.75rem}.gpx-action-copy{display:flex;flex-direction:column;gap:.22rem}.gpx-action-copy strong{font-size:1rem;letter-spacing:.045em;text-transform:uppercase}.gpx-action-copy small{color:#ffffffbf;font-size:.81rem}.gpx-capacity,.gpx-notice{color:#979dac;font-size:.78rem;margin:1rem 0 0}.gpx-notice{color:#0d2b6b;font-weight:600;max-width:22rem}@media(min-width:960px){.gpx-shell--catalog-open{grid-template-columns:minmax(0,4fr) minmax(16rem,1fr);gap:1rem;padding:1.25rem}.gpx-shell--catalog-open .gpx-hero{max-width:42rem}}.gpx-catalog{display:none;opacity:0;pointer-events:none;transform:translate(2rem);transition:opacity .22s ease,transform .28s cubic-bezier(.23,1,.32,1),visibility .28s;visibility:hidden}.gpx-shell--catalog-open .gpx-catalog{align-self:stretch;background:linear-gradient(165deg,#0b2a68,#061b45);border:1px solid rgba(103,153,255,.3);border-radius:1.25rem;box-shadow:-1rem 1rem 2.8rem #0d2b6b29;color:#fff;display:flex;flex-direction:column;max-height:calc(100svh - 2.5rem);min-height:0;opacity:1;overflow:hidden;padding:1.15rem;pointer-events:auto;transform:translate(0);visibility:visible}.gpx-catalog-header{align-items:flex-start;display:flex;justify-content:space-between;gap:.75rem}.gpx-catalog-eyebrow{color:#92b8ff;font-size:.62rem;font-weight:700;letter-spacing:.1em;margin:0;text-transform:uppercase}.gpx-catalog h2{color:#fff;font-family:DM Sans,Inter,system-ui,sans-serif;font-size:clamp(1.05rem,1.4vw,1.32rem);letter-spacing:-.035em;line-height:1.1;margin:.35rem 0 0}.gpx-catalog-close{align-items:center;background:#ffffff1a;border:1px solid rgba(255,255,255,.18);border-radius:999px;color:#fff;cursor:pointer;display:inline-flex;flex:0 0 auto;font-size:1.25rem;height:2rem;justify-content:center;line-height:1;width:2rem}.gpx-catalog-close:focus-visible{outline:3px solid #92b8ff;outline-offset:3px}.gpx-catalog-summary{color:#ffffffad;font-size:.75rem;line-height:1.45;margin:1rem 0}.gpx-catalog-list{display:grid;gap:.55rem;min-height:0;overflow-y:auto;padding-right:.28rem;scrollbar-color:rgba(146,184,255,.72) transparent;scrollbar-width:thin}.gpx-catalog-list::-webkit-scrollbar{width:.38rem}.gpx-catalog-list::-webkit-scrollbar-thumb{background:#92b8ffb8;border-radius:999px}.gpx-profile-card{align-items:center;background:#ffffff1a;border:1px solid rgba(255,255,255,.15);border-radius:.85rem;display:flex;gap:.7rem;padding:.72rem}.gpx-profile-card--placeholder{background:#ffffff0b;border-style:dashed;opacity:.7}.gpx-profile-mark{align-items:center;background:#92b8ff2e;border-radius:.6rem;color:#fff;display:inline-flex;flex:0 0 auto;font-size:.64rem;font-weight:700;height:2.35rem;justify-content:center;letter-spacing:.03em;width:2.35rem}.gpx-profile-copy{display:grid;gap:.1rem;min-width:0}.gpx-profile-copy strong{font-size:.8rem;line-height:1.15}.gpx-profile-copy small,.gpx-profile-copy em{color:#ffffffa3;font-size:.66rem;font-style:normal;line-height:1.3}.gpx-profile-copy em{color:#a8c7ff;font-weight:700}.gpx-catalog-footer{border-top:1px solid rgba(255,255,255,.14);color:#ffffff9e;font-size:.66rem;line-height:1.38;margin-top:.9rem;padding-top:.8rem}@media(max-width:959px){.gpx-shell{display:flex;overflow:hidden;position:relative}.gpx-shell--catalog-open .gpx-hero{opacity:.32;pointer-events:none;transform:translateY(-9vh) scale(.96)}.gpx-catalog{background:linear-gradient(165deg,#0b2a68,#061b45);border:1px solid rgba(103,153,255,.32);border-bottom:0;border-radius:1.4rem 1.4rem 0 0;bottom:0;box-shadow:0 -1rem 3rem #0d2b6b38;color:#fff;display:flex;flex-direction:column;height:min(76svh,42rem);left:0;max-height:none;padding:1.25rem;position:fixed;right:0;transform:translateY(105%);z-index:10}.gpx-shell--catalog-open .gpx-catalog{opacity:1;pointer-events:auto;transform:translateY(0);visibility:visible}}@media(max-width:420px){.gpx-shell{padding:2rem 1.25rem}.gpx-app-icon{height:7.5rem;margin-bottom:1.4rem;width:7.5rem}.gpx-action-area{margin-top:3.25rem}}@media(prefers-reduced-motion:reduce){.gpx-primary-action{transition:none}}
