:root{--ink:#142038;--muted:#66748b;--line:#e5eaf2;--blue:#3569e8;--surface:#fff;--canvas:#f6f8fc}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--canvas);-webkit-font-smoothing:antialiased}a{text-decoration:none;color:inherit}button,input{font:inherit}button{cursor:pointer}.page-container{width:min(1180px,calc(100% - 42px));margin:auto}.top-nav{background:#101b32;color:#fff;border-bottom:1px solid #2b3a53}.bar{height:78px;display:flex;justify-content:space-between;align-items:center}.brand{display:flex;align-items:center;gap:11px}.brand img{width:33px;height:33px}.brand strong{font-size:23px;letter-spacing:-.8px}.brand span{border-left:1px solid #5a667c;margin-left:5px;padding-left:16px;font-size:13px;color:#bcc8db}.nav-admin{font-size:13px;color:#d5e2f8;border:1px solid #3a4a67;padding:11px 16px;border-radius:11px}.nav-admin:hover{background:#1d304f}
.intro{background:#101b32;color:#fff;overflow:hidden}.intro-content{min-height:390px;display:flex;align-items:center;justify-content:space-between;position:relative}.intro-text{padding:64px 0 70px;max-width:685px;z-index:2}.eyebrow{font-size:11px;letter-spacing:2.4px;text-transform:uppercase;font-weight:800;color:#b7c8ec}.eyebrow-line{display:inline-block;width:20px;height:2px;background:#83b3ff;vertical-align:middle;margin-right:7px}.intro h1{font-size:clamp(37px,5.2vw,63px);line-height:1.11;letter-spacing:-2.7px;margin:21px 0 20px;font-weight:780}.intro h1 em{font-style:normal;color:#93b2fa}.intro p{font-size:16px;line-height:1.75;color:#b9c5db;max-width:570px;margin:0}.intro-link{display:inline-flex;align-items:center;gap:14px;margin-top:25px;font-size:14px;font-weight:700;color:#fff}.intro-link span{font-size:19px}.intro-art{width:295px;height:300px;position:relative;flex-shrink:0;margin:0 10px}.orbital{position:absolute;width:278px;height:278px;right:0;top:10px;border:1px solid #344a71;border-radius:50%;display:grid;place-items:center;box-shadow:inset 0 0 0 35px rgba(39,65,104,.12),0 0 0 36px rgba(88,127,198,.045)}.orbital:after{content:'';position:absolute;inset:32px;border-radius:50%;border:1px dashed #536a8e}.orbital-inner{display:grid;place-items:center;width:130px;height:130px;background:#1c2e4d;border:1px solid #526f9f;border-radius:36px;box-shadow:0 24px 70px #060c17}.orbital-inner img{width:80px;height:80px}.orbit-tag{position:absolute;border-radius:9px;background:#243756;border:1px solid #425a82;color:#dbe8ff;padding:10px 16px;font-size:12px;box-shadow:0 10px 22px #0a1327}.orbit-tag.first{top:32px;left:-8px}.orbit-tag.second{right:-28px;top:128px}.orbit-tag.third{bottom:17px;left:24px}.orbit-tag.fourth{top:26px;right:0}.orbit-tag.fifth{bottom:22px;right:14px}
.catalog{padding:62px 0 85px;scroll-margin-top:24px}.catalog-title{display:flex;justify-content:space-between;align-items:end;gap:18px;margin-bottom:27px}.eyebrow.dark{color:#71849f}.catalog-title h2{font-size:clamp(26px,3vw,36px);letter-spacing:-1.1px;margin:10px 0 0}.count{font-size:13px;display:inline-grid;place-items:center;min-width:30px;height:30px;background:#e8efff;color:#3866ce;vertical-align:middle;border-radius:10px;letter-spacing:0}.catalog-title>p{max-width:270px;text-align:right;color:var(--muted);font-size:13px;line-height:1.6;margin:0 0 4px}.controls{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:27px}.search-wrap{position:relative;flex:1;max-width:475px}.search-wrap svg{position:absolute;width:19px;height:19px;left:16px;top:50%;transform:translateY(-50%);color:#94a1b5}.search-wrap input{border-radius:13px;border:1px solid #dce4f0;background:#fff;width:100%;height:48px;padding:0 17px 0 47px;color:var(--ink);outline:none;transition:box-shadow .2s}.search-wrap input:focus{border-color:#86a7ff;box-shadow:0 0 0 4px #c5d7ff50}.filters{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.filters button{border:0;background:transparent;padding:12px 15px;font-size:13px;font-weight:650;border-radius:11px;color:#59677e}.filters button.active{background:#142540;color:#fff}.filters button:hover:not(.active){background:#e9edf5}.apps-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.app-card{border:1px solid var(--line);background:#fff;border-radius:24px;overflow:hidden;box-shadow:0 12px 44px #192e5909}.card-cover{height:168px;overflow:hidden;background:#142540;position:relative}.card-banner{width:100%;height:100%;object-fit:cover;display:block}.banner-placeholder{height:100%;background:linear-gradient(115deg,#1d4076 0%,#132947 60%,#172342 100%);display:flex;align-items:center;justify-content:center;position:relative}.banner-waves{position:absolute;inset:-50%;opacity:.28;background:repeating-radial-gradient(ellipse at 45% 40%,transparent 0,transparent 25px,#6285be 26px,#6285be 27px,transparent 28px,transparent 52px);transform:rotate(-24deg)}.banner-mark{position:relative;font-size:76px;font-weight:800;color:#bed3ff70;letter-spacing:-5px}.card-body{padding:25px}.card-heading{display:flex;align-items:center;gap:16px;margin-top:-52px;position:relative}.app-icon{width:76px;height:76px;flex-shrink:0;background:#e8efff;border:5px solid white;border-radius:21px;display:grid;place-items:center;color:#386bdc;font-size:22px;font-weight:850;letter-spacing:-1px;box-shadow:0 8px 22px #17386220;overflow:hidden}.app-icon img{width:100%;height:100%;object-fit:cover}.card-heading>div:last-child{padding-top:24px}.card-heading h3{margin:0 0 4px;font-size:24px;letter-spacing:-.6px}.app-label{font-size:12px;color:#74839c}.app-description{font-size:14px;line-height:1.7;color:#65748d;margin:18px 0 22px;min-height:45px}.smart-button{display:flex;align-items:center;justify-content:center;gap:9px;padding:15px 13px;background:#2b60dd;color:#fff;border-radius:12px;font-weight:750;font-size:14px;text-align:center;transition:background .2s}.smart-button:hover{background:#1749bd}.smart-button svg{width:20px;height:20px}.smart-button span{margin-left:3px}.versions-title,.shots-title{font-size:12px;text-transform:uppercase;font-weight:800;color:#8a99b0;letter-spacing:1px;margin:22px 0 12px;scroll-margin-top:30px}.download-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.option{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:6px;border:1px solid #e2e8f1;background:#fafbfe;border-radius:11px;padding:10px 12px;transition:border-color .2s}.option:hover{border-color:#789af1;background:#f5f8ff}.option-left{display:flex;align-items:center;gap:7px;min-width:0;font-size:12px;font-weight:700}.option-left svg{flex-shrink:0;width:18px;height:18px;color:#3e69c9}.option-left span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.option-right{font-size:11px;text-align:right;flex-shrink:0;color:#3b5c97}.option-right small{display:block;color:#94a0b4;margin-top:2px}.shots-title span{color:#7897d2}.screenshots{display:flex;gap:10px;overflow-x:auto;padding-bottom:3px}.screenshot{border:1px solid #e5ebf5;border-radius:11px;background:#f4f6fa;padding:0;overflow:hidden;flex:0 0 125px;height:110px}.screenshot img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s}.screenshot:hover img{transform:scale(1.05)}.empty-state{grid-column:1/-1;text-align:center;border:1px dashed #cbd6e6;background:#fff;border-radius:22px;padding:55px 20px;color:#7a89a0}.empty-state strong{display:block;font-size:20px;color:#1b2b45;margin-bottom:10px}.notice{border:1px solid #efd99c;background:#fff6da;padding:13px 18px;margin-bottom:14px;border-radius:10px;color:#7d6318}.footer{background:#fff;border-top:1px solid #e6eaf1}.footer-inner{padding:28px 0;display:flex;align-items:center;justify-content:space-between;gap:12px;color:#75839b;font-size:12px}.footer-brand{color:#1d2b45;font-weight:800;font-size:17px}.footer-brand span{font-weight:500;color:#8090ab}.footer p{margin:0}.footer a{font-weight:700;color:#3569e8}.lightbox[hidden]{display:none}.lightbox{position:fixed;inset:0;background:#0a1018ed;z-index:1000;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:65px 24px 30px;color:white}.lightbox img{max-height:80vh;max-width:min(95vw,1100px);object-fit:contain;border-radius:9px}.lightbox-close{position:absolute;right:25px;top:14px;border:0;background:none;color:white;font-size:45px}.lightbox #gallery-caption{font-size:14px;margin-top:16px;color:#dde7f6}.modal-open{overflow:hidden}
@media(max-width:960px){.intro-art{opacity:.5;width:240px}.controls{align-items:stretch;flex-direction:column}.search-wrap{max-width:none}.apps-grid{gap:16px}.download-options{grid-template-columns:1fr}}
@media(max-width:700px){.page-container{width:min(100% - 28px,1180px)}.bar{height:66px}.nav-admin{padding:9px 11px;font-size:11px}.intro-content{min-height:0}.intro-text{padding:59px 0}.intro-art{display:none}.intro h1{letter-spacing:-1.6px}.intro p{font-size:14px}.catalog{padding:40px 0 55px}.catalog-title{display:block}.catalog-title>p{text-align:left;margin:12px 0}.filters{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px}.filters button{white-space:nowrap}.apps-grid{grid-template-columns:1fr}.card-body{padding:18px}.card-cover{height:140px}.card-heading h3{font-size:22px}.download-options{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-inner{flex-direction:column;align-items:flex-start}}
@media(max-width:370px){.download-options{grid-template-columns:1fr}.brand span{display:none}}

@keyframes art-pop{from{opacity:0;transform:scale(.86)}to{opacity:1;transform:scale(1)}}
@keyframes art-fade{from{opacity:0}to{opacity:1}}
@keyframes art-spin{to{transform:rotate(360deg)}}
@keyframes art-counter{to{transform:rotate(-360deg)}}
@keyframes art-float{0%,100%{transform:translateY(-4px)}50%{transform:translateY(6px)}}
@keyframes art-glow{0%,100%{box-shadow:0 24px 70px #060c17}50%{box-shadow:0 28px 95px #10397c}}
.orbital{animation:art-pop .9s cubic-bezier(.22,1,.36,1) both}
.orbital::before{content:"";position:absolute;inset:36px;border:1px dashed #3f5c8f;border-radius:50%;opacity:.6;animation:art-spin 46s linear infinite}
.orbital-inner{animation:art-float 5.5s ease-in-out 1s infinite,art-glow 5.5s ease-in-out 1s infinite}
.orbit-layer{position:absolute;inset:0;animation:art-fade .9s ease-out both,art-spin 38s linear infinite;transform-origin:calc(100% - 139px) 149px}
.orbit-layer .orbit-tag{animation:art-counter 38s linear infinite}
@media (prefers-reduced-motion:reduce){.orbital,.orbital::before,.orbital-inner,.orbit-layer,.orbit-layer .orbit-tag{animation:none}}
