/* Сайт Атласа (atlas3d.si): одна таблица стилей. Тёмная тема — цвета окна Атласа (shell/panel/tokens.css); светлая — фон
   «аврора» сайта bmslabs.ai (слово CEO 12.10.2026): #EEF2F7, три мягких градиента, сетка точек 22 px, зерно. Тему ставит
   theme.js атрибутом data-theme на <html>. */
:root { --bg: #191a1b; --well: #121314; --card: #202122; --text: #bfbfbf; --strong: #ededed; --muted: #8c8c8c; --line: #2a2b2c;
  --accent: #3f7fd0; --link: #48a0c7; --header: rgba(25, 26, 27, .92); --you: #2b2c2e; --wire: #8ab4f8; --wire-dim: #5a7fb0;
  --grid: #2a2b2c; --r: 8px; --r-s: 6px; color-scheme: dark; }
html[data-theme="light"] { --bg: #EEF2F7; --well: #ffffff; --card: rgba(255, 255, 255, .78); --text: #2b2d31; --strong: #141414;
  --muted: #666a71; --line: rgba(20, 20, 20, .12); --accent: #2f6fd0; --link: #1a5fb4; --header: rgba(238, 242, 247, .85);
  --you: #e4e9f1; --wire: #3f6fb8; --wire-dim: #8aa4cc; --grid: rgba(20, 20, 20, .09); color-scheme: light; }
html[data-theme="light"] body { background-image:
    radial-gradient(90rem 60rem at 12% -10%, oklch(0.93 0.05 230 / .9) 0%, transparent 55%),
    radial-gradient(70rem 50rem at 95% 15%, oklch(0.92 0.06 190 / .8) 0%, transparent 55%),
    radial-gradient(80rem 70rem at 50% 115%, oklch(0.90 0.06 280 / .7) 0%, transparent 60%);
  background-attachment: fixed; }
html[data-theme="light"] body::before { content: ""; position: fixed; inset: 0; z-index: -1; pointer-events: none; opacity: .5;
  background-image: radial-gradient(circle, rgba(20, 20, 20, .18) 1.2px, transparent 1.7px),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.05 0'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size: 22px 22px, 140px 140px; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--bg); color: var(--text); font: 16px/1.6 -apple-system, "SF Pro Text", "Segoe UI", system-ui, sans-serif; }
a { color: var(--link); text-decoration: none; }
a:hover { text-decoration: underline; }
.wrap { max-width: 68rem; margin: 0 auto; padding: 0 1.5rem; }
header { border-bottom: 1px solid var(--line); background: var(--header); position: sticky; top: 0; backdrop-filter: blur(8px); }
header .wrap { display: flex; align-items: center; justify-content: space-between; height: 3.5rem; }
.brand { color: var(--strong); font-weight: 600; font-size: 1.1rem; letter-spacing: .01em; }
.brand small { color: var(--muted); font-weight: 400; font-size: .85rem; margin-left: .5rem; }
nav a { color: var(--muted); margin-left: 1.5rem; font-size: .95rem; }
nav a:hover { color: var(--strong); text-decoration: none; }
nav .lang { color: var(--strong); border: 1px solid var(--line); border-radius: 999px; padding: .15rem .6rem; font-size: .85rem; }
nav .theme { margin-left: .6rem; width: 2rem; height: 2rem; border-radius: 50%; border: 1px solid var(--line); background: transparent;
  color: var(--strong); font: inherit; font-size: 1rem; cursor: pointer; vertical-align: middle; }
nav .theme:hover { background: var(--you); }
h1 { color: var(--strong); font-size: clamp(2rem, 4.2vw, 3rem); line-height: 1.12; margin: 0 0 1rem; letter-spacing: -.02em; font-weight: 650; }
h2 { color: var(--strong); font-size: 1.5rem; margin: 0 0 1rem; letter-spacing: -.01em; }
h3 { color: var(--strong); font-size: 1.05rem; margin: 0 0 .4rem; }
p, li { margin: 0 0 .8rem; }
.lead { font-size: 1.2rem; color: var(--text); max-width: 32rem; }
.meta { color: var(--muted); font-size: .95rem; }
.btn { display: inline-block; padding: .65rem 1.1rem; border-radius: var(--r-s); font-weight: 500; color: #fff; background: var(--accent); }
.btn:hover { text-decoration: none; filter: brightness(1.1); }
.btn.ghost { background: transparent; color: var(--strong); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .14); margin-left: .6rem; }
.dl { display: flex; gap: .75rem; flex-wrap: wrap; margin-top: 1.6rem; }
.dl .btn { display: flex; flex-direction: column; align-items: flex-start; gap: .1rem; min-width: 12rem; padding: .7rem 1.1rem; }
.dl .btn small { font-size: .78rem; font-weight: 400; opacity: .8; }
.dl .btn.off { background: var(--card); color: var(--muted); box-shadow: inset 0 0 0 1px var(--line); cursor: default; }
.dl .btn.off:hover { filter: none; }
.contact p { margin: 0 0 .3rem; }
.contact .mail { font-size: 1.35rem; color: var(--strong); }
/* главная */
.hero { display: grid; grid-template-columns: 1.05fr 1fr; gap: 3rem; align-items: center; padding: 5rem 0 4rem; }
.hero .cta { margin-top: 1.6rem; }
.window { background: var(--card); border: 1px solid var(--line); border-radius: var(--r); box-shadow: 0 30px 60px rgba(0, 0, 0, .45); overflow: hidden; }
.window .bar { display: flex; gap: 6px; padding: .6rem .8rem; border-bottom: 1px solid var(--line); background: var(--well); }
.window .bar i { width: 10px; height: 10px; border-radius: 50%; background: var(--line); display: block; }
.window .scene { background: linear-gradient(var(--grid) 1px, transparent 1px), linear-gradient(90deg, var(--grid) 1px, transparent 1px);
  background-size: 28px 28px; background-color: var(--well); padding: 1rem; }
.window svg { width: 100%; height: auto; display: block; fill: none; stroke: var(--wire); stroke-width: 1.5; stroke-linejoin: round; }
.window svg .dim { stroke: var(--wire-dim); } .window svg .mark { stroke: #4fae6f; } .window svg .dot { fill: #4fae6f; stroke: none; }
.window svg .guide { stroke: #c9a200; stroke-dasharray: 4 4; }
.window .chat { padding: .9rem 1rem; display: grid; gap: .6rem; }
.msg { border-radius: var(--r-s); padding: .55rem .8rem; font-size: .9rem; line-height: 1.45; max-width: 90%; }
.msg.you { background: var(--you); color: var(--strong); justify-self: end; }
.msg.atlas { background: transparent; border: 1px solid var(--line); color: var(--text); }
.msg .ok { color: #4fae6f; }
section { padding: 3rem 0; border-top: 1px solid var(--line); }
.cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.card { background: var(--card); border: 1px solid var(--line); border-radius: var(--r); padding: 1.25rem; }
.card p { margin: 0; color: var(--muted); font-size: .95rem; }
.chips { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: .5rem; }
.chips span { border: 1px solid var(--line); border-radius: 999px; padding: .25rem .8rem; font-size: .9rem; color: var(--text); }
.split { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; }
/* документы */
.doc { max-width: 44rem; padding: 3.5rem 0 4rem; }
.doc h2 { font-size: 1.25rem; margin-top: 2rem; margin-bottom: .6rem; }
.doc ul { padding-left: 1.3rem; }
footer { border-top: 1px solid var(--line); padding: 1.5rem 0 2.5rem; color: var(--muted); font-size: .9rem; }
footer .wrap { display: flex; gap: 1.5rem; flex-wrap: wrap; }
footer a { color: var(--muted); }
@media (max-width: 760px) {
  .hero, .split { grid-template-columns: 1fr; gap: 2rem; padding-top: 3rem; }
  .cards { grid-template-columns: 1fr; }
  .brand small { display: none; }
  nav a { margin-left: .9rem; font-size: .9rem; }
  nav a.wide { display: none; }
  .btn.ghost { margin-left: 0; margin-top: .6rem; }
}
