:root { --ink: #05070a; --muted: #5e6878; --white: #ffffff; --dark: #05070a; --dark-soft: #0b1018; --panel: #111827; --purple: #0768fa; --pink: #0768fa; --cyan: #0768fa; --green: #0768fa; --line-dark: rgba(255, 255, 255, 0.16); --container: min(1216px, calc(100% - 64px)); --font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; } *, *::before, *::after { box-sizing: border-box; } html { scroll-behavior: smooth; scroll-padding-top: 0; } body { margin: 0; min-width: 320px; font-family: var(--font); color: var(--ink); background: #f7f9fc; line-height: 1.5; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; } body.home { background: var(--dark); overflow-x: hidden; } a { color: inherit; } button, a, summary { -webkit-tap-highlight-color: transparent; } button, .button { font: inherit; } h1, h2, h3, h4, p, dl, dd { margin: 0; } .home .site { width: 100%; margin: 0; padding: 0; } .container { width: var(--container); margin-inline: auto; } .site-header { position: relative; z-index: 20; height: 85px; color: #fff; background: #05070a; border-bottom: 1px solid rgba(255, 255, 255, 0.18); } .header-inner { height: 100%; display: flex; align-items: center; justify-content: space-between; gap: 24px; } .brand { display: inline-flex; align-items: center; gap: 16px; color: inherit; text-decoration: none; } .brand-mark { position: relative; flex: 0 0 48px; width: 48px; height: 48px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: linear-gradient(145deg, rgba(255, 255, 255, 0.35), transparent 42%), linear-gradient(145deg, #0768fa 6%, #0768fa 55%, #0357d6 100%); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.42), 0 0 24px rgba(7, 104, 250, 0.36); } .brand-logo { flex: 0 0 48px; width: 48px; height: 48px; display: block; border-radius: 14px; object-fit: cover; background: #0768fa; box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.28), 0 10px 28px rgba(7, 104, 250, 0.3); } .brand-mark::before { content: ""; position: absolute; inset: 9px 11px 8px; border: 1.5px solid rgba(255, 255, 255, 0.84); border-radius: 45% 45% 52% 52% / 34% 34% 66% 66%; transform: rotate(3deg); } .brand-mark span, .brand-mark::after { position: relative; z-index: 1; font-size: 10px; line-height: 1; font-weight: 900; letter-spacing: -0.04em; } .brand-copy { display: grid; line-height: 1.1; } .brand-copy strong { font-size: 24px; font-weight: 800; letter-spacing: -0.03em; } .brand-copy small { margin-top: 4px; font-size: 13px; font-weight: 500; color: rgba(255, 255, 255, 0.85); } .main-nav { display: flex; align-items: center; gap: 30px; } .main-nav a { color: rgba(255, 255, 255, 0.9); font-size: 14px; line-height: 1; font-weight: 700; text-decoration: none; transition: color 180ms ease, transform 180ms ease, box-shadow 180ms ease; } .main-nav > a:not(.nav-cta):hover { color: #fff; transform: translateY(-1px); } .main-nav .nav-cta { padding: 17px 27px; border-radius: 12px; color: #fff; background: #0768fa; box-shadow: 0 10px 28px rgba(7, 104, 250, 0.32), inset 0 1px rgba(255, 255, 255, 0.2); } .main-nav .nav-cta:hover { transform: translateY(-2px); box-shadow: 0 14px 34px rgba(7, 104, 250, 0.42), inset 0 1px rgba(255, 255, 255, 0.24); } .menu-toggle { display: none; width: 30px; height: 30px; padding: 4px; border: 0; background: transparent; cursor: pointer; } .menu-toggle span { display: block; width: 19px; height: 1.5px; margin: 4px auto; background: #fff; border-radius: 999px; transition: transform 180ms ease, opacity 180ms ease; } .hero { position: relative; min-height: 720px; overflow: hidden; color: #fff; background: #05070a; } .hero::after { content: ""; position: absolute; inset: 0; pointer-events: none; background-image: linear-gradient(rgba(255, 255, 255, 0.012) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, 0.01) 1px, transparent 1px); background-size: 54px 54px; mask-image: linear-gradient(to bottom, transparent, #000 40%, transparent); } .hero-orb { position: absolute; border-radius: 50%; pointer-events: none; } .hero-orb-one { right: 12px; top: 148px; width: 46px; height: 46px; background: rgba(7, 104, 250, 0.11); } .hero-orb-two { left: calc(50% + 40px); top: 404px; width: 24px; height: 24px; background: rgba(7, 104, 250, 0.52); box-shadow: 0 0 32px rgba(7, 104, 250, 0.3); } .hero-grid { position: relative; z-index: 1; min-height: 720px; display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; padding-block: 72px; } .hero-copy { align-self: start; padding-top: 15px; } .eyebrow { width: fit-content; display: flex; align-items: center; gap: 10px; padding: 8px 16px; border: 1px solid rgba(7, 104, 250, 0.24); border-radius: 999px; color: #0768fa; background: rgba(5, 7, 10, 0.78); font-size: 14px; font-weight: 600; box-shadow: inset 0 0 18px rgba(7, 104, 250, 0.08); } .eyebrow span { width: 8px; height: 8px; border-radius: 50%; background: #0768fa; box-shadow: 0 0 13px rgba(7, 104, 250, 0.7); } .hero h1 { max-width: 590px; margin-top: 32px; color: #f2f6fc; font-size: clamp(46px, 4vw, 54px); line-height: 0.98; letter-spacing: -0.045em; font-weight: 800; } .hero h1 span { display: block; margin-bottom: 12px; font-size: clamp(62px, 5.7vw, 72px); line-height: 0.92; color: #0768fa; white-space: nowrap; } .hero-lead { max-width: 585px; margin-top: 26px; color: #e8eef8; font-size: 20px; line-height: 1.42; } .hero-lead strong { color: #0768fa; font-weight: 700; } .hero-actions { margin-top: 34px; display: flex; align-items: center; gap: 18px; } .button { min-height: 56px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 15px 30px; border: 0; border-radius: 12px; font-size: 17px; line-height: 1; font-weight: 800; text-decoration: none; cursor: pointer; transition: transform 180ms ease, box-shadow 180ms ease, background-color 180ms ease; } .button:hover { transform: translateY(-2px); } .button-primary { color: #fff; background: #0768fa; box-shadow: 0 12px 30px rgba(7, 104, 250, 0.24); } .button-primary:hover { box-shadow: 0 16px 36px rgba(7, 104, 250, 0.34); } .button-outline { color: #f2f6fc; background: rgba(5, 7, 10, 0.32); border: 2px solid rgba(220, 231, 248, 0.38); box-shadow: inset 0 0 20px rgba(255, 255, 255, 0.02); } .button-outline:hover { border-color: rgba(7, 104, 250, 0.75); } .status-panel { align-self: center; padding-top: 2px; } .status-card { min-height: 238px; padding: 31px 32px 27px; border: 1px solid rgba(220, 231, 248, 0.27); border-radius: 16px; background: rgba(17, 24, 39, 0.54); backdrop-filter: blur(12px); box-shadow: inset 0 0 60px rgba(7, 104, 250, 0.06); } .status-title-row, .status-card dl > div { display: flex; align-items: center; justify-content: space-between; gap: 18px; } .status-card h2 { color: #fff; font-size: 22px; line-height: 1.2; letter-spacing: -0.02em; } .online { display: flex; align-items: center; gap: 9px; color: var(--green); font-size: 14px; font-weight: 600; } .online i { width: 8px; height: 8px; border-radius: 50%; background: var(--green); box-shadow: 0 0 12px rgba(7, 104, 250, 0.6); } .status-card dl { margin-top: 25px; display: grid; gap: 22px; } .status-card dt { color: #aab6c8; font-size: 16px; } .status-card dd { color: #fff; font-size: 16px; font-weight: 800; text-align: right; } .status-card dd.cyan { color: #0768fa; } .status-card dd.violet { color: #2b7cff; } .status-points { margin: 31px 0 0; padding: 0; display: grid; gap: 18px; list-style: none; color: #e8eef8; font-size: 16px; } .status-points li { display: grid; grid-template-columns: 18px 1fr; align-items: start; column-gap: 14px; } .status-points .check { color: #0768fa; font-size: 20px; line-height: 1; } .status-points strong { color: #f2f6fc; } .devices, .features, .faq, .cta { position: relative; overflow: hidden; } .devices { min-height: 922px; padding: 87px 0 96px; background: #f7f9fc; } .section-heading { text-align: center; } .section-heading h2 { font-size: 48px; line-height: 1.1; letter-spacing: -0.04em; font-weight: 800; } .section-heading h2 span { color: #0768fa; } .section-heading p { margin-top: 18px; font-size: 20px; } .dark-heading h2 { color: var(--ink); } .dark-heading p { color: #5e6878; } .light-heading h2 { color: #fff; } .light-heading p { color: #e8eef8; } .card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; } .device-grid { margin-top: 64px; } .device-card, .feature-card { min-width: 0; min-height: 280px; padding: 32px; border-radius: 20px; transition: transform 200ms ease, box-shadow 200ms ease, border-color 200ms ease; } .device-card { border: 1px solid #dce7f8; background: #fff; box-shadow: 0 14px 28px rgba(7, 104, 250, 0.11); } .device-card:hover, .feature-card:hover { transform: translateY(-5px); } .device-card:hover { box-shadow: 0 22px 42px rgba(7, 104, 250, 0.16); } .icon-tile { width: 64px; height: 64px; display: grid; place-items: center; border-radius: 16px; color: #fff; font-size: 30px; line-height: 1; font-weight: 500; box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 8px 20px rgba(7, 104, 250, 0.14); } .platform-tile { width: 104px; height: 68px; display: grid; place-items: center; border: 1px solid #dce7f8; border-radius: 16px; background: #f7f9fc; box-shadow: 0 9px 24px rgba(7, 104, 250, 0.1); } .platform-tile-dark { border-color: #05070a; background: #05070a; } .platform-logo { display: block; max-width: 84px; max-height: 52px; object-fit: contain; } .platform-logo-wide { width: 78px; height: 44px; } .platform-logo-symbol { width: 46px; height: 46px; } .platform-logo-android-tv { width: 86px; height: 34px; } .platform-logo-linux { width: 46px; height: 56px; } .platform-attribution { max-width: 920px; margin: 34px auto 0; color: #7a8493; font-size: 12px; line-height: 1.55; text-align: center; } .icon-text { font-size: 20px; font-weight: 800; letter-spacing: -0.06em; } .tile-purple, .tile-green, .tile-magenta, .tile-red, .tile-orange, .tile-blue, .tile-indigo, .tile-violet { background: #0768fa; } .tile-slate { background: #05070a; } .device-card h3, .feature-card h3 { margin-top: 25px; font-size: 24px; line-height: 1.2; letter-spacing: -0.025em; font-weight: 800; } .device-card h3 { color: var(--ink); } .device-card p, .feature-card p { margin-top: 16px; font-size: 16px; line-height: 1.6; } .device-card p { color: #5e6878; } .features { min-height: 948px; padding: 87px 0 96px; color: #fff; background: #0b1018; } .feature-glow { position: absolute; left: -120px; bottom: -160px; width: 420px; height: 420px; border-radius: 50%; background: rgba(7, 104, 250, 0.08); filter: blur(18px); } .feature-grid { position: relative; margin-top: 64px; } .feature-card { border: 1px solid rgba(220, 231, 248, 0.2); background: rgba(17, 24, 39, 0.93); box-shadow: inset 0 0 50px rgba(7, 104, 250, 0.04); } .feature-card:hover { border-color: rgba(7, 104, 250, 0.42); box-shadow: 0 20px 44px rgba(0, 0, 0, 0.2); } .feature-card h3 { color: #fff; } .feature-card p { color: #e8eef8; } .faq { padding: 92px 0 96px; background: #f7f9fc; } .faq-container { max-width: 848px; } .faq-list { margin-top: 62px; display: grid; gap: 16px; } .faq-list details { border: 1px solid #dce7f8; border-radius: 14px; background: #fff; box-shadow: 0 9px 18px rgba(7, 104, 250, 0.1); overflow: clip; transition: box-shadow 180ms ease, border-color 180ms ease; } .faq-list details[open] { border-color: rgba(7, 104, 250, 0.34); box-shadow: 0 12px 24px rgba(7, 104, 250, 0.14); } .faq-list summary { min-height: 80px; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 20px 32px; color: #05070a; font-size: 17px; font-weight: 750; list-style: none; cursor: pointer; } .faq-list summary::-webkit-details-marker { display: none; } .faq-list summary::after { content: "⌄"; flex: 0 0 auto; color: #0357d6; font-size: 23px; line-height: 1; transform: translateY(-3px); transition: transform 180ms ease; } .faq-list details[open] summary::after { transform: rotate(180deg) translateY(2px); } .faq-list details p { padding: 0 32px 25px; color: #5e6878; font-size: 16px; line-height: 1.6; } .cta { min-height: 465px; padding: 91px 0 88px; color: #fff; background: #0768fa; } .cta::before { content: ""; position: absolute; inset: 0; opacity: 0.15; background-image: radial-gradient(circle at 1px 1px, rgba(255, 255, 255, 0.65) 1px, transparent 0); background-size: 42px 42px; mask-image: linear-gradient(to bottom, transparent, #000, transparent); } .cta-shape { position: absolute; border-radius: 50%; background: rgba(255, 255, 255, 0.06); } .cta-shape-one { width: 220px; height: 220px; left: -90px; top: -85px; } .cta-shape-two { width: 330px; height: 330px; right: -145px; bottom: -170px; } .cta-inner { position: relative; z-index: 1; max-width: 850px; text-align: center; } .cta h2 { font-size: 60px; line-height: 1.08; letter-spacing: -0.045em; } .cta p { max-width: 700px; margin: 30px auto 0; color: rgba(255, 255, 255, 0.9); font-size: 20px; line-height: 1.5; } .cta-actions { margin-top: 45px; display: flex; align-items: center; justify-content: center; gap: 24px; } .cta-actions > a:not(.button) { padding: 14px 18px; color: rgba(255, 255, 255, 0.84); font-size: 17px; font-weight: 650; text-decoration: none; } .cta-primary { color: #fff; background: rgba(5, 7, 10, 0.58); box-shadow: 0 16px 32px rgba(5, 7, 10, 0.24); } .site-footer { padding: 64px 0 28px; color: #fff; border-top: 1px solid rgba(7, 104, 250, 0.28); background: #05070a; } .footer-grid { display: grid; grid-template-columns: 1.65fr 0.78fr 1fr; gap: 72px; } .footer-brand .brand-copy strong { color: #fff; } .footer-about > p { max-width: 430px; margin-top: 26px; color: #e8eef8; font-size: 16px; line-height: 1.6; } .footer-socials { margin-top: 25px; display: flex; gap: 16px; } .footer-socials a { padding: 12px 18px; border-radius: 10px; color: #f2f6fc; background: rgba(255, 255, 255, 0.08); font-weight: 700; text-decoration: none; transition: background-color 180ms ease, transform 180ms ease; } .footer-socials a:hover { transform: translateY(-2px); background: rgba(255, 255, 255, 0.13); } .footer-column { display: flex; flex-direction: column; align-items: flex-start; gap: 13px; } .footer-column h3 { position: relative; margin-bottom: 7px; padding-bottom: 12px; font-size: 18px; } .footer-column h3::after { content: ""; position: absolute; left: 0; bottom: 0; width: 32px; height: 2px; background: #0768fa; } .footer-column a { color: #aab6c8; font-size: 15px; text-decoration: none; transition: color 180ms ease, transform 180ms ease; } .footer-column a:hover { color: #fff; transform: translateX(3px); } .footer-banner { margin-top: 64px; padding: 33px 32px 32px; border: 1px solid rgba(220, 231, 248, 0.23); border-radius: 20px; text-align: center; background: rgba(17, 24, 39, 0.82); } .footer-banner h3 { font-size: 24px; line-height: 1.25; } .footer-banner h3 span { color: #0768fa; } .footer-banner p { margin-top: 16px; color: #e8eef8; font-size: 16px; } .footer-banner .button { margin-top: 26px; min-height: 56px; } .footer-bottom { margin-top: 47px; padding-top: 31px; display: flex; align-items: center; justify-content: space-between; gap: 20px; border-top: 1px solid rgba(220, 231, 248, 0.17); color: #aab6c8; font-size: 14px; } .footer-bottom span[aria-label] { color: #0768fa; } /* Юридические документы */ .legal-page { background: #fff; } .legal-page .site-header { position: sticky; top: 0; } .legal-page .main-nav a.active-link { color: #fff; } .legal-main { background: #fff; } .doc-layout { width: min(848px, calc(100% - 40px)); margin: 0 auto; padding: 94px 0 104px; } .doc-layout h1 { margin-bottom: 42px; color: #05070a; font-size: clamp(38px, 5vw, 52px); line-height: 1.08; letter-spacing: -0.045em; } .doc-layout h2 { margin-top: 38px; color: #05070a; font-size: 27px; line-height: 1.25; letter-spacing: -0.025em; } .doc-layout h3 { margin-top: 24px; color: #05070a; font-size: 19px; line-height: 1.35; } .doc-layout p, .doc-layout li { color: #262c36; font-size: 17px; line-height: 1.62; } .doc-layout p { margin-top: 15px; } .doc-layout ul, .doc-layout ol { margin: 15px 0 0; padding-left: 25px; } .doc-layout li + li { margin-top: 9px; } .doc-layout a { color: #0768fa; font-weight: 650; text-decoration-thickness: 1px; text-underline-offset: 3px; } .doc-meta { width: fit-content; margin: -23px 0 33px !important; padding: 7px 12px; border-radius: 999px; color: #0768fa !important; background: rgba(7, 104, 250, 0.08); font-size: 14px !important; font-weight: 700; } .doc-note { margin-top: 32px !important; padding: 20px 22px; border-left: 4px solid #0768fa; border-radius: 0 12px 12px 0; background: #f5f8ff; } .legal-page .site-footer { padding-top: 52px; } @media (max-width: 1100px) { .hero-grid { gap: 42px; } .hero h1 span { white-space: normal; } .card-grid { gap: 22px; } .device-card, .feature-card { padding: 26px; } .footer-grid { gap: 42px; } } @media (max-width: 900px) { :root { --container: min(100% - 40px, 760px); } .site-header { height: 80px; } .menu-toggle { display: block; position: relative; z-index: 3; } .main-nav { position: absolute; top: calc(100% + 1px); left: 20px; right: 20px; display: none; padding: 18px; flex-direction: column; align-items: stretch; gap: 6px; border: 1px solid rgba(255, 255, 255, 0.16); border-radius: 0 0 16px 16px; background: rgba(5, 7, 10, 0.98); box-shadow: 0 18px 40px rgba(0, 0, 0, 0.34); } .menu-open .main-nav { display: flex; } .main-nav a, .main-nav .nav-cta { padding: 14px 16px; border-radius: 10px; text-align: center; } .menu-open .menu-toggle span:nth-child(1) { transform: translateY(5.5px) rotate(45deg); } .menu-open .menu-toggle span:nth-child(2) { opacity: 0; } .menu-open .menu-toggle span:nth-child(3) { transform: translateY(-5.5px) rotate(-45deg); } .hero, .hero-grid { min-height: 0; } .hero-grid { grid-template-columns: 1fr; gap: 72px; padding: 74px 0 90px; } .hero-copy { align-self: auto; padding-top: 0; } .hero h1 { max-width: 720px; } .hero-lead { max-width: 720px; } .status-panel { padding-top: 0; } .devices, .features { min-height: 0; } .card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .footer-grid { grid-template-columns: 1.35fr 0.8fr; } .footer-column:last-child { grid-column: 1 / -1; } } @media (max-width: 640px) { :root { --container: calc(100% - 32px); } .brand { gap: 16px; } .brand-copy strong { font-size: 21px; } .brand-copy small { display: none; } .hero-grid { gap: 94px; padding: 0 0 82px; } .hero-copy { text-align: center; } .eyebrow { margin: 0 auto; transform: translateY(0); } .hero h1 { margin-top: 30px; font-size: 30px; line-height: 1.06; letter-spacing: -0.035em; } .hero h1 span { margin-bottom: 14px; font-size: 36px; line-height: 1; white-space: normal; } .hero-lead { margin-top: 23px; font-size: 19px; line-height: 1.55; } .hero-actions { margin-top: 33px; flex-direction: column; gap: 16px; } .hero-actions .button-primary { align-self: center; } .hero-actions .button-outline { align-self: stretch; } .button { min-height: 52px; padding: 14px 24px; font-size: 16px; } .status-card { min-height: 0; padding: 25px 24px; } .status-card h2 { font-size: 18px; } .online, .status-card dt, .status-card dd { font-size: 14px; } .status-card dl { gap: 20px; } .status-points { font-size: 14px; } .devices, .features, .faq { padding: 74px 0 80px; } .section-heading h2 { font-size: 36px; line-height: 1.08; } .section-heading p { margin-top: 18px; font-size: 17px; line-height: 1.5; } .card-grid { grid-template-columns: 1fr; gap: 22px; } .device-grid, .feature-grid { margin-top: 48px; } .device-card, .feature-card { min-height: 248px; padding: 28px; } .device-card h3, .feature-card h3 { font-size: 22px; } .faq-list { margin-top: 46px; } .faq-list summary { min-height: 72px; padding: 18px 20px; font-size: 16px; } .faq-list details p { padding: 0 20px 22px; font-size: 15px; } .cta { min-height: 0; padding: 78px 0; } .cta h2 { font-size: 43px; } .cta p { margin-top: 24px; font-size: 18px; } .cta-actions { margin-top: 38px; flex-direction: column; gap: 10px; } .site-footer { padding-top: 56px; } .footer-grid { grid-template-columns: 1fr; gap: 42px; } .footer-column:last-child { grid-column: auto; } .footer-banner { margin-top: 50px; padding: 30px 20px; } .footer-banner h3 { font-size: 21px; } .footer-bottom { margin-top: 36px; padding-top: 26px; align-items: flex-start; flex-direction: column; } .doc-layout { width: calc(100% - 40px); padding: 68px 0 76px; } .doc-layout h1 { margin-bottom: 34px; font-size: 36px; } .doc-layout h2 { margin-top: 34px; font-size: 23px; } .doc-layout p, .doc-layout li { font-size: 16px; } .doc-meta { margin-top: -18px !important; } } @media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { transition-duration: 0.001ms !important; animation-duration: 0.001ms !important; animation-iteration-count: 1 !important; } }