/* site-critical.css — above-the-fold */
:root{color-scheme:dark}
html,body{margin:0;padding:0;background:#0a101c;color:#d9e2eb}
img{max-width:100%;height:auto}
.shell{min-height:100vh}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px}
.nav{display:flex;flex-wrap:wrap;gap:8px}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border-radius:12px;text-decoration:none}

:root {
      --bg: #0a101c;
      --paper: rgba(17, 25, 34, 0.88);
      --paper-strong: rgba(17, 25, 34, 0.96);
      --paper-soft: rgba(22, 31, 50, 0.82);
      --ink: #ffffff;
      --muted: #b4c2d8;
      --line: rgba(217, 226, 235, 0.1);
      --line-strong: rgba(217, 226, 235, 0.18);
      --gold: #8ea4dc;
      --gold-soft: rgba(142, 164, 220, 0.14);
      --sage: #263b96;
      --sage-soft: rgba(38, 59, 150, 0.2);
      --night: #111922;
      --cream: #d9e2eb;
      --shadow: 0 22px 60px rgba(2, 10, 23, 0.34);
      --glow: 0 34px 90px rgba(17, 29, 76, 0.35);
      --r-2xl: 38px;
      --r-xl: 30px;
      --r-lg: 22px;
      --r-md: 16px;
    }
body {
      margin: 0;
      color: var(--ink);
      background:
        radial-gradient(circle at 8% 12%, rgba(39, 59, 150, 0.24), transparent 24%),
        radial-gradient(circle at 82% 16%, rgba(217, 226, 235, 0.08), transparent 30%),
        radial-gradient(circle at 50% 75%, rgba(255, 255, 255, 0.04), transparent 28%),
        linear-gradient(180deg, #0a101c 0%, #111922 38%, #1b1d4c 100%);
      font-family: "SF Pro Display", "Avenir Next", "Segoe UI", "Helvetica Neue", sans-serif;
      position: relative;
      overflow-x: hidden;
    }
body::before,
    body::after {
      content: "";
      position: fixed;
      inset: 0;
      pointer-events: none;
      z-index: -1;
    }
/* Single grid — softer at center (matter volume) */
    body::before {
      /* Blueprint клетка — стратегически видима (чертёж сферы) */
      opacity: 0.78;
      background-image:
        linear-gradient(rgba(120, 170, 230, 0.28) 1px, transparent 1px),
        linear-gradient(90deg, rgba(120, 170, 230, 0.28) 1px, transparent 1px);
      background-size: 28px 28px;
      mask-image: none;
      -webkit-mask-image: none;
    }
body::after {
      background:
        radial-gradient(circle at 50% 0%, rgba(255,255,255,.08), transparent 32%),
        radial-gradient(circle at 15% 50%, rgba(39, 59, 150, .1), transparent 28%),
        radial-gradient(circle at 85% 60%, rgba(217, 226, 235, .06), transparent 25%);
    }
.shell {
      width: min(1480px, calc(100vw - 34px));
      margin: 0 auto;
      padding: 18px 0 72px;
    }
.topbar {
      display: grid;
      grid-template-columns: minmax(300px, 380px) minmax(0, 1fr) auto;
      align-items: center;
      gap: 12px;
      padding: 10px 14px;
      position: sticky;
      top: 12px;
      z-index: 40;
      background: linear-gradient(135deg, rgba(10, 16, 28, 0.92), rgba(27, 29, 76, 0.88));
      border: 1px solid rgba(255, 255, 255, 0.1);
      border-radius: 22px;
      box-shadow: 0 18px 42px rgba(3, 11, 22, 0.28);
      backdrop-filter: none;
    }
.brand {
      display: flex;
      align-items: center;
      gap: 12px;
      min-width: 0;
    }
.brand strong {
      display: block;
      font-size: 12px;
      text-transform: uppercase;
      letter-spacing: .08em;
      color: #f5f9ff;
      white-space: nowrap;
    }
.brand span {
      display: block;
      font-size: 13px;
      line-height: 1.2;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
      max-width: 350px;
    }
.brand span, .nav a, .muted { color: var(--muted); }
.nav {
      display: flex;
      justify-content: center;
      align-items: center;
      gap: 6px;
      flex-wrap: nowrap;
      padding: 3px;
      background: rgba(255,255,255,.05);
      border-radius: 999px;
      border: 1px solid rgba(255,255,255,.08);
      overflow-x: auto;
      scrollbar-width: none;
    }
.nav::-webkit-scrollbar { display: none; }
.nav a {
      padding: 7px 9px;
      border-radius: 999px;
      font-size: 11px;
      line-height: 1;
      white-space: nowrap;
      letter-spacing: .01em;
      transition: transform .2s ease, background-color .2s ease, color .2s ease, box-shadow .2s ease;
    }
.nav a:hover,
    .nav a.active {
      background: rgba(255,255,255,.12);
      color: var(--cream);
      box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.1);
      transform: translateY(-1px);
    }
.topbar-actions {
      display: flex;
      align-items: center;
      gap: 8px;
      flex-wrap: nowrap;
    }
.nav-link {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 36px;
      padding: 0 14px;
      border-radius: 999px;
      border: 1px solid rgba(255,255,255,.1);
      background: rgba(255,255,255,.06);
      color: var(--cream);
      font-size: 12px;
      transition: transform .18s ease, background-color .18s ease, border-color .18s ease;
    }
.nav-link:hover {
      transform: translateY(-1px);
      background: rgba(255,255,255,.12);
      border-color: rgba(255,255,255,.16);
    }
.nav-link.active {
      background: rgba(255,255,255,.14);
      border-color: rgba(255,255,255,.18);
      box-shadow: inset 0 0 0 1px rgba(255,255,255,.08);
    }
.hero {
      display: grid;
      grid-template-columns: minmax(0, 1.18fr) minmax(320px, .82fr);
      gap: 22px;
      margin-top: 24px;
      align-items: stretch;
    }
.hero.hero-minimal {
      grid-template-columns: 1fr;
    }
.hero.hero-minimal .card {
      min-height: 0;
    }
.card,
    .gallery,
    .footer,
    .section {
      position: relative;
      background: linear-gradient(180deg, var(--paper-strong), rgba(15, 30, 54, 0.88));
      border: 1px solid var(--line);
      border-radius: var(--r-2xl);
      box-shadow: var(--shadow);
      backdrop-filter: none;
      overflow: hidden;
      isolation: isolate;
    }
.card::before,
    .gallery::before,
    .section::before {
      content: "";
      position: absolute;
      inset: 0 0 auto 0;
      height: 1px;
      background: linear-gradient(90deg, transparent, rgba(255,255,255,.74), transparent);
      opacity: .78;
      pointer-events: none;
    }
.card {
      padding: 30px;
      transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease;
    }
.card:hover {
      transform: translateY(-2px);
      box-shadow: var(--glow);
      border-color: rgba(142, 164, 220, 0.18);
    }
.hero-brand {
      margin-bottom: 4px;
    }
.btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 48px;
      padding: 14px 20px;
      border-radius: 999px;
      border: 1px solid var(--line-strong);
      background: rgba(255,255,255,.08);
      color: var(--cream);
      font: inherit;
      cursor: pointer;
      text-decoration: none;
      transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease, border-color .18s ease;
    }
.btn:hover {
      transform: translateY(-1px);
      box-shadow: 0 16px 30px rgba(3, 11, 22, .26);
      border-color: rgba(255, 255, 255, 0.18);
    }
.btn-primary {
      background: linear-gradient(135deg, #263b96 0%, #22317e 46%, #1b1d4c 100%);
      color: #fff;
      border: 1px solid rgba(255, 255, 255, .1);
      box-shadow: 0 18px 34px rgba(17, 29, 76, .32);
    }
.btn-primary:hover {
      background: linear-gradient(135deg, #2d449f 0%, #273b96 46%, #222a66 100%);
    }
.stack .soft:nth-child(2) p,
    .stack .soft:nth-child(2) .kicker {
      color: rgba(217, 226, 235, .82);
    }
.kicker { color: var(--gold); font-size: 11px; text-transform: uppercase; letter-spacing: .12em; }
.card h3 { margin: 10px 0 12px; font-size: clamp(24px, 2.4vw, 30px); letter-spacing: -.02em; }
.card p { color: var(--muted); line-height: 1.7; }
#servicesGrid .card { min-height: 218px; }
.press-body {
      display: grid;
      gap: 14px;
      margin-top: 16px;
    }
.press-body p {
      margin: 0;
      color: rgba(217, 226, 235, .88);
      line-height: 1.72;
      font-size: 16px;
    }
.hero > article.card {
      min-height: 400px;
      background:
        radial-gradient(circle at top right, rgba(39,59,150,.18), transparent 34%),
        linear-gradient(145deg, rgba(10,25,41,.96), rgba(19,41,75,.88));
    }
.hero.hero-minimal > article.card {
      min-height: 300px;
    }
.hero > article.card::after {
      content: "";
      position: absolute;
      right: -72px;
      top: -70px;
      width: 340px;
      height: 340px;
      border-radius: 50%;
      background: radial-gradient(circle, rgba(30,58,138,.22), transparent 64%);
      pointer-events: none;
    }
.hero.hero-minimal > article.card::after {
      width: 240px;
      height: 240px;
      right: -40px;
      top: -40px;
    }
.page-compose .card h3 {
      margin: 8px 0 10px;
      font-size: clamp(18px, 2.2vw, 22px);
      letter-spacing: -0.02em;
    }
.page-compose .card > p {
      color: var(--muted);
      line-height: 1.5;
    }
.about-company .card p {
      color: var(--cream, #f4eee3);
      line-height: 1.55;
      margin: 0 0 12px;
    }
.about-company .card h3 {
      margin: 16px 0 10px;
    }
.about-company .card h3:first-child {
      margin-top: 0;
    }
#origin .section-head p,
    #origin .card p,
    #origin .muted,
    #origin .metric span {
      color: rgba(255,245,232,.76);
    }
#origin .card,
    #origin .gallery {
      background: linear-gradient(180deg, rgba(14,30,53,.94), rgba(16,31,55,.84));
      color: var(--cream);
    }
#press .card,
    #investors .card,
    #courses .card,
    #contacts .card,
    #quantum .card {
      background: linear-gradient(180deg, rgba(14,30,53,.94), rgba(16,31,55,.84));
      color: var(--cream);
    }
@media (max-width: 1080px) {
      .hero, .grid, .metrics { grid-template-columns: 1fr; }
.topbar {
        display: grid;
        grid-template-columns: 1fr;
        align-items: flex-start;
        position: static;
        border-radius: 28px;
        width: 100%;
      }
.card { padding: 24px; }
.topbar-actions { width: 100%; justify-content: flex-start; }
.nav { flex-wrap: nowrap; overflow-x: auto; }
.footer-links-secondary .kicker {
      margin-bottom: 8px;
    }
@media (max-width: 1320px) {
      .brand span {
        max-width: 220px;
      }
.nav a {
        padding: 8px 9px;
      }
body[data-page="services"] h1 {
      font-size: clamp(28px, 3.5vw, 48px);
      max-width: 22ch;
      line-height: 1.08;
    }
body[data-page="services"] .lead {
      max-width: 760px;
      font-size: 16px;
    }
body.lang-gate-open {
      overflow: hidden;
    }
body.lang-gate-open .shell {
      visibility: hidden;
      pointer-events: none;
    }
body[data-page="home"] #homeSphereStage,
    body[data-page="home"] #heroPageCard {
      display: none !important;
    }
    body[data-page="home"] #home-overview {
      display: block !important;
    }
body[data-page="home"] .shell {
      min-height: calc(100vh - 24px);
      display: flex;
      flex-direction: column;
    }
body[data-page="home"] .hero.hero-sphere {
      flex: 1;
      display: grid;
      place-items: center;
      justify-items: center;
      align-content: center;
      margin: 0 auto;
      width: 100%;
      max-width: 100%;
      grid-template-columns: minmax(0, 1fr);
      min-height: 0;
    }
body[data-page="home"] .sphere-stage {
      margin: 0 auto;
      justify-self: center;
      width: min(980px, 100%);
    }
body[data-page="home"] .footer {
      display: none;
    }
body[data-page="home"] .topbar {
      grid-template-columns: auto minmax(0, 1fr);
      gap: 10px;
    }
body[data-page="home"] .brand span {
      max-width: 110px;
    }
body[data-page="home"] .nav .nav-link-entry {
      background: rgba(39, 59, 150, 0.28);
      color: #f4f7fb;
      border: 1px solid rgba(142, 164, 220, 0.22);
    }
.sphere-stage {
      position: relative;
      width: min(980px, 100%);
      display: grid;
      place-items: center;
      padding: 12px;
      gap: 12px;
    }
.sphere-field {
      position: relative;
      width: min(680px, 96vw);
      height: min(600px, 78vh);
      display: grid;
      place-items: center;
      isolation: isolate;
    }
.sphere-field::before {
      content: "";
      position: absolute;
      inset: -6%;
      border-radius: 50%;
      pointer-events: none;
      z-index: 0;
      background: radial-gradient(circle at 50% 50%, rgba(10, 16, 28, 0.35) 0%, transparent 58%);
    }
.sphere-field.is-open,
    .sphere-field:hover,
    .sphere-field:focus-within {
      width: min(760px, 98vw);
      height: min(660px, 84vh);
    }
.soul-sphere {
      position: relative;
      z-index: 2;
      width: min(250px, 54vw);
      height: min(250px, 54vw);
      border-radius: 50%;
      border: 0;
      cursor: pointer;
      background:
        radial-gradient(circle at 28% 22%, rgba(255,255,255,.85) 0%, rgba(180,200,240,.4) 14%, #7a94cc 30%, #273b96 58%, #0a101c 100%);
      box-shadow:
        0 0 0 1px rgba(255, 255, 255, 0.14),
        0 0 12px rgba(80,140,220,0.28);
      color: #fff;
      display: grid;
      place-items: center;
      overflow: hidden;
      transition: transform .35s ease, box-shadow .35s ease;
      animation: sphereBreathe 5.5s ease-in-out infinite;
    }
.sphere-field:hover .soul-sphere,
    .sphere-field.is-open .soul-sphere,
    .soul-sphere:hover {
      transform: scale(1.05);
      box-shadow:
        0 0 0 1px rgba(255, 255, 255, 0.28),
        0 0 18px rgba(80,140,220,0.35);
      animation: none;
    }
.soul-sphere-glow {
      position: absolute;
      inset: -18%;
      border-radius: 50%;
      background: conic-gradient(from 0deg, transparent, rgba(142,164,220,.45), transparent 40%, rgba(39,59,150,.35), transparent 75%);
      animation: sphereOrbit 6s linear infinite;
      opacity: 0.55;
      pointer-events: none;
      mix-blend-mode: screen;
    }
.soul-sphere-core {
      position: absolute;
      inset: 16%;
      border-radius: 50%;
      background: radial-gradient(circle at 40% 35%, rgba(255, 255, 255, 0.7), rgba(142,164,220,.2) 40%, transparent 70%);
      animation: spherePulse 2.8s ease-in-out infinite;
      pointer-events: none;
    }
.soul-sphere-equator {
      position: absolute;
      left: 6%;
      right: 6%;
      top: 48%;
      height: 1px;
      background: linear-gradient(90deg, transparent, rgba(255,255,255,.55), transparent);
      box-shadow: 0 0 12px rgba(217,226,235,.45);
      animation: equatorSweep 4s ease-in-out infinite;
      pointer-events: none;
    }
.soul-sphere-wire {
      position: absolute;
      inset: 6%;
      width: auto;
      height: auto;
      pointer-events: none;
      opacity: 0.85;
      animation: sphereOrbit 18s linear infinite;
      mix-blend-mode: screen;
    }
.soul-sphere-label {
      position: relative;
      z-index: 3;
      font-weight: 650;
      letter-spacing: 0.05em;
      font-size: clamp(14px, 2.4vw, 17px);
    }
/* Clean inscribed text — one layer, depth via shadow only */
    .sphere-inscribed-label {
      color: rgba(245, 249, 255, 0.98);
      text-shadow:
        0 -1px 0 rgba(255, 255, 255, 0.45),
        0 2px 6px rgba(6, 10, 22, 0.75);
    }
.orbit-sphere-label.sphere-inscribed-label {
      font-size: clamp(10px, 2.2vw, 12px);
      text-shadow:
        0 -1px 0 rgba(255, 255, 255, 0.4),
        0 2px 5px rgba(6, 10, 20, 0.8);
    }
.sphere-field.is-open .neuro-mesh,
    .sphere-field:hover .neuro-mesh {
      opacity: 0.55;
    }
.orbit-rail {
      position: absolute;
      inset: 0;
      z-index: 5;
      pointer-events: none;
      animation: orbitRailSpin 32s linear infinite;
      animation-play-state: paused;
    }
.sphere-field.is-open .orbit-rail,
    .sphere-field:hover .orbit-rail,
    .sphere-field:focus-within .orbit-rail {
      animation-play-state: running;
    }
.sphere-field.has-brief .orbit-rail,
    .sphere-field:has(.orbit-sphere:hover) .orbit-rail,
    .sphere-field:has(.orbit-sphere:focus) .orbit-rail {
      animation-play-state: paused;
    }
.orbit-sphere {
      position: absolute;
      top: 50%;
      left: 50%;
      width: min(98px, 22vw);
      height: min(98px, 22vw);
      margin: calc(min(98px, 22vw) / -2);
      border: 0;
      border-radius: 50%;
      cursor: pointer;
      color: #f4f7fb;
      font: inherit;
      padding: 0;
      background: transparent;
      opacity: 0;
      pointer-events: none;
      transform:
        rotate(calc(var(--i) * 60deg - 90deg))
        translateX(min(255px, 39vw));
      transition: opacity .3s ease;
    }
.sphere-field.is-open .orbit-sphere,
    .sphere-field:hover .orbit-sphere,
    .sphere-field:focus-within .orbit-sphere {
      opacity: 1;
      pointer-events: auto;
    }
.orbit-sphere-face {
      position: absolute;
      inset: 0;
      border-radius: 50%;
      overflow: hidden;
      display: grid;
      place-items: center;
      background:
        radial-gradient(circle at 30% 24%, rgba(255,255,255,.5), transparent 22%),
        radial-gradient(circle at 50% 58%, #8ea4dc 0%, #273b96 52%, #0a101c 100%);
      box-shadow:
        0 0 0 1px rgba(255,255,255,.16),
        0 0 24px rgba(39,59,150,.45),
        inset 0 -18px 24px rgba(0,0,0,.42),
        inset 0 12px 18px rgba(255,255,255,.08);
      transform: rotate(calc(var(--i) * -60deg + 90deg));
      animation: orbitFaceCounter 32s linear infinite;
      animation-play-state: paused;
      transition: box-shadow .25s ease;
    }
.sphere-field.is-open .orbit-sphere-face,
    .sphere-field:hover .orbit-sphere-face,
    .sphere-field:focus-within .orbit-sphere-face {
      animation-play-state: running;
    }
.sphere-field.has-brief .orbit-sphere-face,
    .sphere-field:has(.orbit-sphere:hover) .orbit-sphere-face,
    .sphere-field:has(.orbit-sphere:focus) .orbit-sphere-face {
      animation-play-state: paused;
    }
.orbit-sphere-glow {
      position: absolute;
      inset: -20%;
      border-radius: 50%;
      background: conic-gradient(from 0deg, transparent, rgba(142,164,220,.55), transparent 40%, rgba(90,210,255,.3), transparent 70%);
      animation: sphereOrbit 5.5s linear infinite;
      opacity: .65;
      mix-blend-mode: screen;
    }
.orbit-sphere-spin {
      position: absolute;
      inset: 10%;
      border-radius: 50%;
      border: 1px dashed rgba(217,226,235,.35);
      animation: sphereOrbit 7s linear infinite reverse;
      pointer-events: none;
    }
.orbit-sphere-label {
      position: relative;
      z-index: 1;
      display: grid;
      place-items: center;
      width: 100%;
      height: 100%;
      padding: 8px;
      font-size: clamp(10px, 2.2vw, 12px);
      font-weight: 650;
      letter-spacing: .02em;
      line-height: 1.15;
    }
.orbit-sphere:hover .orbit-sphere-face,
    .orbit-sphere.is-active .orbit-sphere-face {
      box-shadow:
        0 0 0 1px rgba(255,255,255,.35),
        0 0 42px rgba(90,180,255,.75),
        inset 0 -18px 24px rgba(0,0,0,.35);
      transform: rotate(calc(var(--i) * -60deg + 90deg)) scale(1.08);
      animation-play-state: paused;
    }
.orbit-sphere.is-active .orbit-sphere-face {
      outline: 2px solid rgba(142,164,220,.55);
      outline-offset: 3px;
    }
@media (max-width: 560px) {
      .sphere-field,
      .sphere-field.is-open,
      .sphere-field:hover,
      .sphere-field:focus-within {
        width: min(360px, 96vw);
        height: min(520px, 78vh);
      }
.orbit-sphere {
        width: min(78px, 20vw);
        height: min(78px, 20vw);
        margin: calc(min(78px, 20vw) / -2);
      }
.orbit-sphere {
        transform:
          rotate(calc(var(--i) * 60deg - 90deg))
          translateX(min(150px, 40vw));
      }
.product-deep-body {
      padding: 22px 24px 24px;
      display: flex;
      flex-direction: column;
      gap: 12px;
    }
.product-deep-body h3 {
      margin: 0;
      font-size: clamp(22px, 3vw, 30px);
      letter-spacing: -0.02em;
    }
.product-deep-block .kicker { margin-bottom: 6px; }
.product-deep-cols .kicker { margin-bottom: 6px; }
.game-card-body { padding: 14px 14px 16px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.product-factory-grid > .card {
      display: flex;
      flex-direction: column;
      min-height: 210px;
      height: 100%;
    }
/* Services route card: content fills usable width */
#services .card.span-5 {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
#services .card.span-5 .list {
  margin: 0;
}
#services .card.span-5 .actions {
  margin-top: auto;
}
/* 2026-09-28b: static upright orbit — no spin, labels readable */
    .sphere-halo,
    .sphere-lattice,
    .sphere-scan,
    .sphere-bead,
    .soul-sphere-glow,
    .soul-sphere-equator,
    .soul-sphere-wire,
    .soul-sphere-core,
    .orbit-sphere-glow,
    .orbit-sphere-spin,
    .syn-pulse,
    .neuro-core-node {
      animation: none !important;
    }
.soul-sphere {
      animation: none !important;
    }
.orbit-rail {
      animation: none !important;
      transform: none !important;
    }
.orbit-sphere {
      /* 8 satellites: equal spacing; parent rotate places on ring */
      --orbit-step: 45.0000deg;
      transform:
        rotate(calc(var(--i) * var(--orbit-step) - 90deg))
        translateX(min(255px, 39vw))
        rotate(calc(var(--i) * -1 * var(--orbit-step) + 90deg)) !important;
      opacity: 1 !important;
      pointer-events: auto !important;
    }
.orbit-sphere-face {
      /* face stays identity relative to already-corrected sphere */
      transform: none !important;
      animation: none !important;
      background:
        radial-gradient(circle at 32% 28%, rgba(255,255,255,.28), transparent 26%),
        radial-gradient(circle at 50% 60%, #5b74c8 0%, #1e3278 58%, #070b16 100%) !important;
      box-shadow:
        0 0 0 1px rgba(255,255,255,.28),
        0 8px 22px rgba(2,8,18,.5),
        inset 0 -12px 18px rgba(0,0,0,.55) !important;
    }
.orbit-sphere:hover .orbit-sphere-face,
    .orbit-sphere.is-active .orbit-sphere-face {
      transform: scale(1.06) !important;
      animation: none !important;
    }
.orbit-sphere-glow { display: none !important; }


/* === EVOLUTION_SPHERE_V2 === */
/* Клетка-чертёж видима; центральная сфера крутится; подпись технологичная; без blur-каши */

html, body {
  background-color: #050a14 !important;
}

body::before {
  opacity: 1 !important;
  background-image:
    linear-gradient(rgba(140, 190, 255, 0.38) 1px, transparent 1px),
    linear-gradient(90deg, rgba(140, 190, 255, 0.38) 1px, transparent 1px) !important;
  background-size: 24px 24px !important;
  mask-image: none !important;
  -webkit-mask-image: none !important;
  z-index: 0 !important;
}

body::after {
  /* лёгкий виньет, не затирает клетку в центре */
  opacity: 0.35 !important;
  background:
    radial-gradient(ellipse 70% 60% at 50% 45%, rgba(10, 28, 64, 0.25) 0%, rgba(5, 10, 20, 0.55) 100%) !important;
  z-index: 0 !important;
  pointer-events: none !important;
}

.sphere-stage,
.sphere-field,
#homeSphereStage {
  position: relative;
  z-index: 1;
}

/* Вернуть вращение wireframe сферы (раньше убито static upright) */
.soul-sphere-wire {
  opacity: 0.9 !important;
  visibility: visible !important;
  display: block !important;
  animation: sphereOrbit 22s linear infinite !important;
  filter: none !important;
  mix-blend-mode: normal !important;
}
.soul-sphere-equator {
  opacity: 0.55 !important;
  visibility: visible !important;
  display: block !important;
  animation: equatorSweep 5s ease-in-out infinite !important;
  filter: none !important;
}
.soul-sphere-core {
  opacity: 0.55 !important;
  visibility: visible !important;
  display: block !important;
  animation: spherePulse 3.2s ease-in-out infinite !important;
  filter: none !important;
}
.soul-sphere {
  animation: sphereBreathe 6s ease-in-out infinite !important;
  filter: none !important;
  box-shadow:
    0 0 0 1px rgba(170, 210, 255, 0.35),
    0 0 22px rgba(70, 130, 220, 0.28),
    inset 0 0 28px rgba(30, 70, 140, 0.35) !important;
}

/* Орбитальные узлы читаемы (без кручения текста), лёгкий spin-ring */
.orbit-rail {
  animation: none !important;
}
.orbit-sphere-spin {
  opacity: 0.55 !important;
  visibility: visible !important;
  display: block !important;
  animation: sphereOrbit 14s linear infinite reverse !important;
  filter: none !important;
}
.orbit-sphere-face {
  animation: none !important;
  backdrop-filter: none !important;
  filter: none !important;
}

/* Декор без замыливания — выкл */
.sphere-halo,
.sphere-scan,
.sphere-bead,
.soul-sphere-glow,
.orbit-sphere-glow,
.neuro-mesh,
.syn-pulse {
  opacity: 0 !important;
  visibility: hidden !important;
  animation: none !important;
  filter: none !important;
}
.sphere-lattice {
  opacity: 0.2 !important;
  visibility: visible !important;
  animation: none !important;
  filter: none !important;
}

/* Подпись сферы — нормальный технологический стиль */
.soul-sphere-label.sphere-inscribed-label {
  font-family: "JetBrains Mono", "IBM Plex Mono", "SF Mono", Consolas, "Liberation Mono", monospace !important;
  font-weight: 600 !important;
  font-size: clamp(13px, 2.1vw, 16px) !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: #e8f2ff !important;
  text-shadow: none !important;
  background: rgba(4, 12, 28, 0.72) !important;
  border: 1px solid rgba(140, 190, 255, 0.45) !important;
  border-radius: 2px !important;
  padding: 0.35em 0.7em !important;
  line-height: 1.2 !important;
  backdrop-filter: none !important;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.35) !important;
}
.orbit-sphere-label.sphere-inscribed-label {
  font-family: "JetBrains Mono", "IBM Plex Mono", Consolas, monospace !important;
  font-weight: 550 !important;
  letter-spacing: 0.04em !important;
  text-transform: none !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.65) !important;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
}

.topbar {
  backdrop-filter: none !important;
  background: rgba(5, 10, 20, 0.92) !important;
  border-bottom: 1px solid rgba(120, 170, 230, 0.22) !important;
}

@media (prefers-reduced-motion: reduce) {
  .soul-sphere-wire,
  .soul-sphere-equator,
  .soul-sphere-core,
  .soul-sphere,
  .orbit-sphere-spin {
    animation: none !important;
  }
}


/* === EVOLUTION_PLANETS_V4 === */
/* Планеты крутятся. Название фиксировано и читаемо. Синапсы-почтальоны к планетам. */

@keyframes planetSpin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}
@keyframes postmanPulse {
  0% { stroke-dashoffset: 120; opacity: 0.15; }
  30% { opacity: 0.95; }
  100% { stroke-dashoffset: 0; opacity: 0.2; }
}
@keyframes neuronArrive {
  0%, 100% { box-shadow: 0 0 0 1px rgba(170,210,255,.35), 0 0 14px rgba(70,130,220,.25); }
  50% { box-shadow: 0 0 0 1px rgba(200,240,255,.7), 0 0 28px rgba(120,190,255,.55); }
}

body::before {
  opacity: 1 !important;
  mask-image: none !important;
  -webkit-mask-image: none !important;
  background-image:
    linear-gradient(rgba(140, 190, 255, 0.4) 1px, transparent 1px),
    linear-gradient(90deg, rgba(140, 190, 255, 0.4) 1px, transparent 1px) !important;
  background-size: 24px 24px !important;
}

.soul-sphere-wire {
  opacity: 1 !important;
  visibility: visible !important;
  display: block !important;
  animation: planetSpin 18s linear infinite !important;
  filter: none !important;
  mix-blend-mode: normal !important;
  transform-origin: 50% 50% !important;
}
.soul-sphere-wire ellipse,
.soul-sphere-wire circle {
  stroke: rgba(210, 230, 255, 0.8) !important;
  stroke-width: 0.95 !important;
}
.soul-sphere-core {
  opacity: 0.65 !important;
  visibility: visible !important;
  display: block !important;
  animation: planetSpin 26s linear infinite reverse !important;
  filter: none !important;
}
.soul-sphere-equator {
  opacity: 0.65 !important;
  visibility: visible !important;
  display: block !important;
  animation: equatorSweep 5s ease-in-out infinite !important;
  filter: none !important;
}
.soul-sphere {
  animation: neuronArrive 5.5s ease-in-out infinite !important;
  filter: none !important;
}
.soul-sphere-label.sphere-inscribed-label {
  position: relative !important;
  z-index: 6 !important;
  animation: none !important;
  transform: none !important;
  font-family: "JetBrains Mono", "IBM Plex Mono", Consolas, monospace !important;
  font-weight: 600 !important;
  font-size: clamp(12px, 2vw, 15px) !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: #eaf3ff !important;
  text-shadow: none !important;
  background: rgba(4, 12, 28, 0.82) !important;
  border: 1px solid rgba(150, 195, 255, 0.5) !important;
  border-radius: 2px !important;
  padding: 0.32em 0.65em !important;
}

.orbit-rail {
  animation: none !important;
  animation-play-state: paused !important;
  transform: none !important;
}
.orbit-sphere {
  --orbit-step: 45deg;
  opacity: 1 !important;
  pointer-events: auto !important;
  transform:
    rotate(calc(var(--i) * var(--orbit-step) - 90deg))
    translateX(min(255px, 39vw))
    rotate(calc(var(--i) * -1 * var(--orbit-step) + 90deg)) !important;
  animation: none !important;
}
.orbit-sphere-face.orbit-planet-body {
  position: absolute !important;
  inset: 8% !important;
  background:
    radial-gradient(circle at 30% 24%, rgba(255,255,255,.55), transparent 22%),
    radial-gradient(circle at 50% 58%, #8ea4dc 0%, #273b96 52%, #0a101c 100%) !important;
  animation: planetSpin 14s linear infinite !important;
  animation-delay: calc(var(--i) * -1.7s) !important;
  filter: none !important;
  backdrop-filter: none !important;
  box-shadow:
    0 0 0 1px rgba(255,255,255,.22),
    inset 0 -14px 20px rgba(0,0,0,.45) !important;
  overflow: hidden !important;
}
.orbit-sphere-glow {
  opacity: 0 !important;
  visibility: hidden !important;
  animation: none !important;
}
.orbit-sphere-spin {
  opacity: 0.85 !important;
  visibility: visible !important;
  display: block !important;
  inset: 6% !important;
  border: 1px dashed rgba(200, 225, 255, 0.55) !important;
  animation: planetSpin 9s linear infinite reverse !important;
  filter: none !important;
  z-index: 1 !important;
}
.orbit-sphere > .orbit-sphere-label {
  position: absolute !important;
  inset: 0 !important;
  z-index: 4 !important;
  display: grid !important;
  place-items: center !important;
  margin: 0 !important;
  padding: 0.25em !important;
  animation: none !important;
  transform: none !important;
  font-family: "JetBrains Mono", "IBM Plex Mono", Consolas, monospace !important;
  font-weight: 600 !important;
  font-size: clamp(10px, 2vw, 12px) !important;
  letter-spacing: 0.03em !important;
  line-height: 1.15 !important;
  color: #f3f8ff !important;
  text-align: center !important;
  text-shadow: 0 1px 3px rgba(0,0,0,.85) !important;
  background: transparent !important;
  border: none !important;
  pointer-events: none !important;
}
.orbit-sphere:hover .orbit-sphere-face.orbit-planet-body,
.orbit-sphere.is-active .orbit-sphere-face.orbit-planet-body {
  animation-duration: 7s !important;
  box-shadow:
    0 0 0 1px rgba(220,240,255,.7),
    0 0 22px rgba(120,190,255,.55),
    inset 0 -14px 20px rgba(0,0,0,.45) !important;
}

.neuro-mesh.synapse-postmen {
  opacity: 1 !important;
  visibility: visible !important;
  display: block !important;
  pointer-events: none !important;
  z-index: 2 !important;
  filter: none !important;
}
.neuro-mesh.synapse-postmen .neuro-links path {
  stroke: rgba(142, 184, 240, 0.35) !important;
  stroke-width: 1.2 !important;
}
.neuro-mesh.synapse-postmen .syn-pulse {
  opacity: 1 !important;
  visibility: visible !important;
  display: block !important;
  stroke: rgba(180, 220, 255, 0.95) !important;
  stroke-width: 2.2 !important;
  stroke-dasharray: 28 90 !important;
  animation: postmanPulse 2.8s linear infinite !important;
  filter: none !important;
}
.neuro-mesh.synapse-postmen .syn-pulse.p1 { animation-delay: 0s !important; }
.neuro-mesh.synapse-postmen .syn-pulse.p2 { animation-delay: 0.35s !important; }
.neuro-mesh.synapse-postmen .syn-pulse.p3 { animation-delay: 0.7s !important; }
.neuro-mesh.synapse-postmen .syn-pulse.p4 { animation-delay: 1.05s !important; }
.neuro-mesh.synapse-postmen .syn-pulse.p5 { animation-delay: 1.4s !important; }
.neuro-mesh.synapse-postmen .syn-pulse.p6 { animation-delay: 1.75s !important; }

.sphere-halo,
.sphere-scan,
.sphere-bead,
.soul-sphere-glow {
  opacity: 0 !important;
  visibility: hidden !important;
  animation: none !important;
  filter: none !important;
}

@media (prefers-reduced-motion: reduce) {
  .soul-sphere-wire,
  .soul-sphere-core,
  .soul-sphere-equator,
  .soul-sphere,
  .orbit-sphere-face,
  .orbit-sphere-spin,
  .neuro-mesh .syn-pulse {
    animation: none !important;
  }
}

/* PRESS_FEED_CRITICAL_20260930 */
#press .press-feed{display:flex;flex-direction:column;gap:12px;margin:0 0 18px}
#press .press-feed-card{
  appearance:none;-webkit-appearance:none;display:block;width:100%;
  text-align:left;cursor:pointer;color:inherit;box-sizing:border-box;
  border:1px solid rgba(217,226,235,.14);border-radius:16px;
  background:linear-gradient(180deg, rgba(18,24,40,.95), rgba(8,12,22,.98));
  padding:16px 16px 14px;margin:0;box-shadow:0 10px 28px rgba(2,8,18,.28);
}
#press .press-feed-card h3{margin:0 0 8px;font-size:18px;font-weight:500;letter-spacing:-.02em;color:#f4f7fb}
#press .press-feed-card p{margin:0;font-size:14px;line-height:1.45;color:#b4c2d8}
#press .press-feed-meta{display:flex;justify-content:space-between;gap:10px;margin:0 0 8px;font:500 12px/1.2 system-ui,sans-serif;color:#8ea4dc}
#press .press-feed-more{margin-top:10px;font:500 12px/1 system-ui;color:#8ea4dc}
#press .press-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}
#press .press-comments{margin-top:18px;padding-top:14px;border-top:1px solid rgba(217,226,235,.12)}
#press .press-comments-list{display:flex;flex-direction:column;gap:10px;margin:10px 0 14px}
#press .press-comment{padding:12px 14px;border-radius:12px;border:1px solid rgba(217,226,235,.12);background:rgba(12,18,30,.7)}
#press .press-comment-form{display:grid;gap:10px}
#press .press-comment-form input,#press .press-comment-form textarea{
  width:100%;box-sizing:border-box;border-radius:12px;border:1px solid rgba(217,226,235,.18);
  background:rgba(8,12,22,.9);color:#e8eef8;padding:10px 12px;font:14px/1.4 system-ui,sans-serif
}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}

/* HOME_DESK_MOBILE_20260930 */
.home-desk{margin-top:8px}
.home-desk-card{padding:22px 22px 18px}
.home-desk-lead{margin:0 0 16px;color:#b4c2d8;line-height:1.5}
.home-desk-doors{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 16px}
.home-desk-search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:stretch;margin:0 0 12px}
.home-desk-search input{
  width:100%;box-sizing:border-box;border-radius:12px;border:1px solid rgba(217,226,235,.18);
  background:rgba(8,12,22,.9);color:#e8eef8;padding:12px 14px;font:15px/1.3 system-ui,sans-serif
}
.home-desk-results{display:flex;flex-direction:column;gap:8px;margin:0 0 12px}
.home-desk-hit{
  display:flex;flex-direction:column;gap:4px;padding:12px 14px;border-radius:12px;
  border:1px solid rgba(217,226,235,.12);background:rgba(12,18,30,.72);color:inherit;text-decoration:none
}
.home-desk-hit strong{font-weight:600;color:#f4f7fb}
.home-desk-hit span{font-size:13px;color:#9aabc4}
.home-desk-cap{margin:0;font-size:13px;line-height:1.45}
#productLaneSwitch[hidden]{display:none !important}
.nav-toggle{
  display:none;appearance:none;border:0;background:transparent;width:42px;height:42px;
  border-radius:12px;align-items:center;justify-content:center;flex-direction:column;gap:5px;cursor:pointer
}
.nav-toggle span{display:block;width:18px;height:2px;border-radius:2px;background:#dce7ff}
@media (max-width:900px){
  .nav-toggle{display:inline-flex}
  .topbar{flex-wrap:wrap;gap:10px}
  .nav{
    display:none;width:100%;flex-direction:column;align-items:stretch;gap:4px;
    padding:8px 0 4px;border-top:1px solid rgba(217,226,235,.1)
  }
  .nav.is-open{display:flex}
  .nav a{padding:12px 10px}
  .home-desk-search{grid-template-columns:1fr}
  .home-desk-doors .btn{flex:1 1 calc(50% - 10px);text-align:center}
  .hero-page-card .actions{display:flex;flex-wrap:wrap;gap:10px}
  .hero-page-card .actions .btn{flex:1 1 auto}
  .press-feed-card{padding:14px}
  .game-card-rail{grid-template-columns:1fr !important}
}
@media (max-width:560px){
  .home-desk-doors .btn{flex:1 1 100%}
  .brand span{display:none}
}

.home-desk-brand{margin:0 0 12px}.home-desk-brand .kubit-hero-logo{width:min(220px,70vw);height:auto}

/* combat-sharp-nav */
.topbar, .nav, .nav a {
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  filter: none !important;
  text-shadow: none !important;
}
.nav a {
  opacity: 1 !important;
}
.nav a.active, .nav a:focus-visible {
  outline: 1px solid rgba(77, 107, 254, 0.9);
  outline-offset: 2px;
  box-shadow: none !important;
}


.brand { display: flex; align-items: center; gap: 0.65rem; }
.lang-planet-btn {
  display: inline-grid; place-items: center;
  width: 2.1rem; height: 2.1rem; margin-left: 0.15rem;
  border-radius: 999px; border: 1px solid rgba(120, 200, 255, 0.35);
  background: rgba(8, 20, 40, 0.55); color: #9fd6ff;
  cursor: pointer; transition: transform .18s ease, border-color .18s ease, color .18s ease;
}
.lang-planet-btn:hover { transform: translateY(-1px); border-color: rgba(160, 230, 255, 0.7); color: #dff4ff; }
.lang-planet-btn:focus-visible { outline: 2px solid rgba(120, 200, 255, 0.7); outline-offset: 2px; }
