:root { color-scheme: dark; }

* { box-sizing: border-box; }

html { min-height: 100%; background: #07070b; }

body.apps-page {
    min-height: 100vh;
    margin: 0;
    color: #f7f4ff;
    background:
        radial-gradient(circle at 18% 8%, rgba(120, 72, 255, .2), transparent 34%),
        radial-gradient(circle at 88% 70%, rgba(33, 195, 255, .13), transparent 31%),
        linear-gradient(145deg, #09080f 0%, #07070b 48%, #07101a 100%);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.apps-ambient { position: fixed; z-index: -1; inset: 0; overflow: hidden; pointer-events: none; }
.apps-ambient span { position: absolute; width: 7px; height: 7px; border-radius: 50%; background: #a886ff; box-shadow: 0 0 20px currentColor; opacity: .42; animation: apps-float 8s ease-in-out infinite; }
.apps-ambient span:nth-child(1) { top: 17%; left: 36%; }
.apps-ambient span:nth-child(2) { top: 61%; right: 12%; animation-delay: -3s; color: #42d6ff; }
.apps-ambient span:nth-child(3) { bottom: 8%; left: 20%; animation-delay: -5s; color: #46e6a3; }

.apps-shell { width: min(1180px, calc(100% - 48px)); margin: 0 auto; padding: 72px 0 80px; }
.apps-hero { max-width: 850px; margin-bottom: 34px; }
.apps-eyebrow,.apps-section-heading > span,.apps-next > div > span { display: block; margin-bottom: 10px; color: #aa86ff; font-size: 12px; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.apps-hero h1 { max-width: 760px; margin: 0; font-size: clamp(38px, 6vw, 72px); line-height: .98; letter-spacing: -.055em; }
.apps-hero > p { max-width: 760px; margin: 22px 0 0; color: #b8b2c4; font-size: clamp(16px, 2vw, 19px); line-height: 1.65; }
.apps-warning { max-width: 760px; margin-top: 24px; padding: 17px 19px; display: flex; gap: 14px; align-items: flex-start; border: 1px solid rgba(255, 190, 66, .28); border-radius: 18px; background: rgba(255, 174, 35, .07); }
.apps-warning > span { width: 34px; height: 34px; flex: 0 0 34px; display: grid; place-items: center; border-radius: 11px; color: #171006; background: #ffbd4a; font-weight: 950; }
.apps-warning strong { color: #ffe0a7; font-size: 14px; }
.apps-warning p { margin: 5px 0 0; color: #bcb2a2; font-size: 13px; line-height: 1.5; }

.apps-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.app-card { min-height: 340px; padding: 26px; display: flex; flex-direction: column; border: 1px solid rgba(255,255,255,.1); border-radius: 24px; background: linear-gradient(145deg, rgba(27,25,35,.92), rgba(14,16,24,.94)); box-shadow: 0 22px 60px rgba(0,0,0,.22), inset 0 1px rgba(255,255,255,.04); }
.app-card--recommended { border-color: rgba(158,112,255,.5); background: radial-gradient(circle at 90% 0, rgba(120,75,255,.2), transparent 38%), linear-gradient(145deg, rgba(29,25,43,.96), rgba(14,16,24,.94)); }
.app-card__top { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.app-card__icon { width: 54px; height: 54px; display: grid; place-items: center; border: 1px solid rgba(173,132,255,.42); border-radius: 17px; color: #fff; background: linear-gradient(145deg,#8251eb,#3c245f); box-shadow: 0 12px 28px rgba(106,60,205,.28); font-size: 23px; font-weight: 950; }
.app-card__icon--android { background: linear-gradient(145deg,#1fbb72,#13563c); border-color: rgba(65,230,151,.38); }
.app-card__icon--windows { background: linear-gradient(145deg,#1aa7f2,#135178); border-color: rgba(64,185,255,.4); }
.app-card__icon--mac { background: linear-gradient(145deg,#de874a,#6d3724); border-color: rgba(255,158,91,.36); }
.app-card__badge { padding: 7px 10px; border: 1px solid rgba(168,132,255,.25); border-radius: 999px; color: #cbb5ff; background: rgba(139,92,246,.1); font-size: 10px; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.app-card__platform { margin-top: 24px; color: #80798e; font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.app-card h2 { margin: 6px 0 0; font-size: 32px; letter-spacing: -.035em; }
.app-card p { margin: 12px 0 24px; color: #aaa4b5; font-size: 14px; line-height: 1.65; }
.app-card__button { min-height: 52px; margin-top: auto; padding: 0 18px; display: flex; align-items: center; justify-content: space-between; border: 1px solid rgba(159,116,255,.43); border-radius: 15px; color: #fff; background: linear-gradient(135deg,#8754ff,#5965ff); box-shadow: 0 13px 30px rgba(94,64,210,.23); font-size: 13px; font-weight: 850; text-decoration: none; transition: 160ms ease; }
.app-card__button:hover { filter: brightness(1.1); transform: translateY(-2px); }
.app-card__alternative { margin-top: 13px; color: #bda8eb; font-size: 12px; text-align: center; text-decoration: none; }
.app-card__alternative:hover { color: #fff; }
.app-card__store-buttons { margin-top: auto; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.app-card__store { min-height: 66px; padding: 10px 13px; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 9px; border: 1px solid transparent; border-radius: 17px; color: #fff; text-decoration: none; box-shadow: 0 13px 30px rgba(0,0,0,.2); transition: 160ms ease; }
.app-card__store--ru { border-color: rgba(106,154,255,.42); background: linear-gradient(135deg,rgba(43,91,211,.96),rgba(90,64,215,.94)); }
.app-card__store--eu { border-color: rgba(116,221,255,.38); background: linear-gradient(135deg,rgba(30,128,189,.96),rgba(80,78,216,.94)); }
.app-card__store:hover { filter: brightness(1.1); transform: translateY(-2px); }
.app-card__store-flag { font-size: 24px; line-height: 1; }
.app-card__store > span:nth-child(2) { min-width: 0; display: flex; flex-direction: column; gap: 1px; }
.app-card__store small { color: rgba(255,255,255,.72); font-size: 9px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.app-card__store strong { font-size: 15px; font-weight: 950; letter-spacing: .03em; }
.app-card__store b { color: rgba(255,255,255,.72); font-size: 14px; }

.apps-visual-guide { margin-top: 44px; scroll-margin-top: 28px; }
.apps-section-heading > p { max-width: 700px; margin: 12px 0 0; color: #9f98aa; font-size: 14px; line-height: 1.6; }
.guide-jump { margin-top: 22px; display: flex; flex-wrap: wrap; gap: 9px; }
.guide-jump a { min-height: 42px; padding: 0 15px; display: inline-flex; align-items: center; border: 1px solid rgba(160,125,255,.3); border-radius: 13px; color: #e8dfff; background: rgba(125,83,230,.1); font-size: 12px; font-weight: 850; text-decoration: none; }
.guide-jump a:hover { border-color: rgba(160,125,255,.62); background: rgba(125,83,230,.19); }
.platform-guide { margin-top: 24px; padding: 25px; scroll-margin-top: 24px; border: 1px solid rgba(255,255,255,.09); border-radius: 25px; background: rgba(16,16,24,.82); }
.platform-guide > header { margin-bottom: 20px; display: flex; align-items: center; gap: 13px; }
.platform-guide > header > span { width: 46px; height: 46px; flex: 0 0 46px; display: grid; place-items: center; border-radius: 14px; background: rgba(132,91,239,.15); font-size: 21px; }
.platform-guide header small { color: #9f80ed; font-size: 9px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.platform-guide h3 { margin: 3px 0 0; font-size: clamp(21px,3vw,30px); letter-spacing: -.035em; }
.guide-steps-real { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; }
.guide-steps-real--compact { grid-template-columns: repeat(3,minmax(0,1fr)); }
.guide-steps-real article { position: relative; min-width: 0; padding: 13px; border: 1px solid rgba(255,255,255,.08); border-radius: 18px; background: rgba(255,255,255,.025); }
.guide-step-number { position: absolute; z-index: 2; top: 20px; left: 20px; width: 30px; height: 30px; display: grid; place-items: center; border: 2px solid rgba(255,255,255,.65); border-radius: 10px; color: #fff; background: #7550df; box-shadow: 0 8px 22px rgba(73,42,160,.42); font-size: 11px; font-weight: 950; }
.guide-steps-real figure,.desktop-guide-row figure { margin: 0; overflow: hidden; border-radius: 14px; background: #e8e7eb; }
.guide-steps-real img { width: 100%; height: 310px; display: block; object-fit: cover; object-position: center top; }
.guide-steps-real figcaption,.desktop-guide-row figcaption { padding: 9px 10px; color: #817b89; background: #f3f1f5; font-size: 9px; font-weight: 750; line-height: 1.35; }
.guide-steps-real h4 { margin: 14px 2px 0; color: #f4f0fb; font-size: 15px; }
.guide-steps-real article > p { margin: 7px 2px 2px; color: #9d96a7; font-size: 11px; line-height: 1.55; }
.guide-steps-real article > p strong { color: #d9cbff; }
.desktop-guide-row { display: grid; grid-template-columns: minmax(0,1.25fr) minmax(280px,.75fr); gap: 18px; align-items: stretch; }
.desktop-guide-row img { width: 100%; height: 360px; display: block; object-fit: cover; object-position: center; }
.desktop-guide-row ol { margin: 0; padding: 0; display: grid; gap: 9px; list-style: none; }
.desktop-guide-row li { padding: 13px; display: grid; grid-template-columns: 34px 1fr; gap: 10px; align-items: center; border: 1px solid rgba(255,255,255,.08); border-radius: 14px; color: #aaa3b2; background: rgba(255,255,255,.025); font-size: 12px; line-height: 1.5; }
.desktop-guide-row li b { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 10px; color: #d9cdff; background: rgba(121,82,224,.17); }
.apps-visual-note { margin: 13px 0 0; color: #777181; font-size: 11px; line-height: 1.55; }
.apps-visual-note a { color: #aa8cff; }

.apps-steps { margin-top: 44px; padding: 32px; border: 1px solid rgba(152,113,246,.24); border-radius: 26px; background: rgba(18,17,26,.78); box-shadow: 0 25px 70px rgba(0,0,0,.2); }
.apps-section-heading h2,.apps-next h2 { margin: 0; font-size: clamp(28px,4vw,42px); letter-spacing: -.04em; }
.apps-steps ol { margin: 28px 0 0; padding: 0; display: grid; gap: 10px; list-style: none; }
.apps-steps li { padding: 16px 18px; display: grid; grid-template-columns: 46px 1fr; gap: 14px; align-items: center; border: 1px solid rgba(255,255,255,.075); border-radius: 16px; background: rgba(255,255,255,.025); }
.apps-steps li > b { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 12px; color: #c7aeff; background: rgba(139,92,246,.15); font-size: 11px; }
.apps-steps strong { font-size: 14px; }
.apps-steps p { margin: 4px 0 0; color: #9891a6; font-size: 12px; line-height: 1.5; }

.apps-help { margin-top: 18px; padding: 30px 32px; border: 1px solid rgba(70,199,255,.18); border-radius: 26px; background: rgba(12,20,29,.74); }
.apps-help__grid { margin-top: 24px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.apps-help__grid article { padding: 18px; border: 1px solid rgba(255,255,255,.075); border-radius: 16px; background: rgba(255,255,255,.025); }
.apps-help__grid b { color: #eef7ff; font-size: 14px; }
.apps-help__grid p { margin: 7px 0 0; color: #94a1ad; font-size: 12px; line-height: 1.55; }

.apps-next { margin-top: 18px; padding: 30px 32px; display: flex; align-items: center; justify-content: space-between; gap: 28px; border: 1px solid rgba(54,223,163,.23); border-radius: 26px; background: linear-gradient(135deg,rgba(18,62,53,.35),rgba(18,18,27,.86)); }
.apps-next p { margin: 10px 0 0; color: #9da8a7; font-size: 13px; }
.apps-next__actions { min-width: 245px; display: grid; gap: 9px; }
.apps-primary,.apps-secondary { min-height: 48px; padding: 0 18px; display: flex; align-items: center; justify-content: center; border-radius: 14px; font-size: 12px; font-weight: 850; text-align: center; text-decoration: none; }
.apps-primary { color: #07150f; background: #43dfa2; }
.apps-secondary { border: 1px solid rgba(255,255,255,.12); color: #eeeaf7; background: rgba(255,255,255,.04); }

@keyframes apps-float { 50% { transform: translateY(-20px) scale(1.35); opacity: .75; } }

@media (min-width: 1101px) { .apps-page .apps-shell { padding-left: 0; } }
@media (max-width: 760px) {
    .apps-shell { width: min(100% - 28px, 620px); padding: 90px 0 48px; }
    .apps-grid { grid-template-columns: 1fr; }
    .app-card { min-height: 320px; padding: 21px; }
    .apps-steps,.apps-help,.apps-next { padding: 23px 19px; }
    .apps-next { align-items: stretch; flex-direction: column; }
    .apps-next__actions { min-width: 0; }
    .platform-guide { padding: 18px 13px; }
    .guide-steps-real,.guide-steps-real--compact { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .guide-steps-real img { height: 265px; }
    .desktop-guide-row { grid-template-columns: 1fr; }
    .desktop-guide-row img { height: auto; }
    .apps-help__grid { grid-template-columns: 1fr; }
}

@media (max-width: 480px) {
    .guide-jump { display: grid; grid-template-columns: 1fr; }
    .guide-steps-real,.guide-steps-real--compact { grid-template-columns: 1fr; }
    .guide-steps-real article { display: grid; grid-template-columns: 118px 1fr; column-gap: 12px; align-items: start; }
    .guide-steps-real figure { grid-row: span 2; }
    .guide-steps-real img { height: 230px; }
    .guide-steps-real h4 { margin-top: 5px; }
    .guide-step-number { top: 18px; left: 18px; }
}

@media (min-width: 761px) and (max-width: 1050px) { .guide-steps-real { grid-template-columns: repeat(2,minmax(0,1fr)); } }

@media (prefers-reduced-motion: reduce) { .apps-ambient span { animation: none; } }
