/* Saliastro — дизайн-система (12.10.2026, v2 «как у Алины»).
   Светлый кремовый лист (почти белый), лаванда и шампанское-золото — акценты, мягкие пастельные уровни дня:
   зелёный — можно, персиковый и розовый — осторожно, лиловый — сильный акцент.
   Колесо карты — «бумажное», как в Sotis/Chronos: белый круг, пастельный пояс знаков; в тёмной теме — контрастное. */
:root{
  --bg:#FDFAF5; --bg-2:#F8F1E7; --surface:#FFFEFC; --surface-2:#FAF5EE; --surface-3:#F4EDE3;
  --ink:#2B2140; --muted:#625775; --faint:#8E84A0;
  --line:rgba(91,58,158,.15); --line-soft:rgba(91,58,158,.08); --line-strong:rgba(91,58,158,.28);
  --lav:#8E6FD0; --lav-strong:#5B3A9E; --lav-deep:#3F2775; --lav-soft:#F2ECFB; --lav-ink:#4B2F8C;
  --gold:#A1722A; --gold-2:#D6AC5E; --gold-soft:#F8EEDC;
  --rose:#C4566F; --rose-soft:#FBE8EB; --mint:#2F8F6C; --mint-soft:#E2F3EA;
  --night:#1F1636; --night-2:#2D2150; --night-ink:#F5F0FF; --night-muted:#BDB2DA; --night-line:rgba(255,255,255,.14);
  /* старые имена — для профи-экранов */
  --amber:#A1722A; --amber-fill:#8E6FD0; --amber-ink:#fff; --amber-soft:#F8EEDC; --lilac:#8E6FD0; --lilac-soft:#F2ECFB;
  --ok:#2F8F6C; --ok-soft:#E2F3EA; --warn:#A8701E; --warn-soft:#FBF0DC; --bad:#C4566F; --bad-soft:#FBE8EB;
  /* уровни −2…+2: заливка клетки, точка/полоса, текст */
  --lv-p2:#BFE6D0; --lv-p1:#DDF2E6; --lv-0:#F1ECF5; --lv-m1:#FCE3D6; --lv-m2:#F8D0D6;
  --lv-p2-ink:#1B5A3E; --lv-p1-ink:#2A5E45; --lv-0-ink:#5E5470; --lv-m1-ink:#8A3E22; --lv-m2-ink:#86213A;
  --dot-p2:#3AA676; --dot-p1:#7CCAA0; --dot-0:#CFC6DC; --dot-m1:#F0A27E; --dot-m2:#E06A7E; --dot-acc:#8E6FD0;
  --tip-bg:#2B2140; --tip-fg:#FBF7FF;
  --shadow:0 1px 2px rgba(60,40,20,.05),0 10px 26px -14px rgba(60,40,90,.22);
  --shadow-lg:0 26px 50px -22px rgba(50,30,80,.36);
  --glow:0 0 0 4px rgba(142,111,208,.2);
  --r-lg:22px; --r:16px; --r-sm:12px;
  --f-display:"Cormorant Garamond","Cormorant",Georgia,"Times New Roman",serif;
  --f-ui:"Manrope","Segoe UI",system-ui,-apple-system,Roboto,sans-serif;
  --f-hand:"Caveat","Segoe Print",cursive;
  --f-mono:"JetBrains Mono",ui-monospace,Consolas,monospace;
  --f-glyph:"Noto Sans Symbols 2","Noto Sans Symbols","Segoe UI Symbol","Apple Symbols",sans-serif;
  /* колесо: бумага (Sotis/Chronos) */
  --w-paper:#FFFFFF; --w-inner:#FFFFFF; --w-line:#E4DCEC; --w-line2:#C9BEDA; --w-tick:#B7AACB; --w-muted:#8C809F; --w-angle:#C4566F; --w-angle2:#6B4FB8;
  --w-planet:#2B2140; --w-plbg:#FFFFFF; --w-planet2:#6B3FB8; --w-plbg2:#EEE6FA; --w-deg:#2E2640; --w-deg2:#4B2F8C;
  --w-ink:#111018; --w-sign:#111018; --w-ring2:#F7F2FD; --w-ring-line:#9C8CC0;
  --w-cusp:#8F84A6; --w-cusp-ink:#3A3050; --w-cusp2:#8A5AD8; --w-cusp2-ink:#5A2CAB; /* куспиды: внутренняя карта — графит, внешняя — фиолетовые */
  /* 15.10 (Алина): натал (внутренний круг) — сиреневый фон, внешний круг — без фона; оси: AC красная, IC салатовая, DC синяя, MC жёлтая */
  --w-ring-in:#EBE1FA; --w-ax-asc:#E2312A; --w-ax-asc-ink:#C42A23; --w-ax-ic:#7CC241; --w-ax-ic-ink:#3F8A12; --w-ax-dsc:#2B67D9; --w-ax-dsc-ink:#2257BC; --w-ax-mc:#EDB400; --w-ax-mc-ink:#A87A00;
  --w-fire:#F5B7AA; --w-earth:#C6E2B8; --w-air:#CBCDF3; --w-water:#B3DEEC;
  --w-fire-g:#A8402F; --w-earth-g:#3E6E2E; --w-air-g:#4F48A8; --w-water-g:#226F8C;
  --w-soft:#1B1724; --w-hard:#E0605A; --w-conj:#C08A2E; --w-minor:#9A86D8; --w-asp-bg:#FFFFFF;
  /* таблицы аспектов: насыщенные цвета + подложка ячейки */
  --at-soft:#17141F; --at-soft-bg:#ECEAF1; --at-hard:#C9271F; --at-hard-bg:#FFE2DE; --at-conj:#8F5A00; --at-conj-bg:#FFEDC2; --at-minor:#5A3BBE; --at-minor-bg:#ECE4FF; --at-line:rgba(91,58,158,.22); --at-head:#3A2B5C;
  --nav-h:64px;
  --fz:1; /* масштаб текста: 16.10.2026 оставлен один, обычный (кнопку «Aa» и выбор в Настройках убрали) */
  color-scheme:light;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#07050C; --bg-2:#0B0813; --surface:#100B1A; --surface-2:#161025; --surface-3:#1C1530; /* 18.10.2026, Павел: темнее — почти чёрный фиолетовый */
    --ink:#F5F0FF; --muted:#CBC1E4; --faint:#9D93BD;
    --line:rgba(180,154,240,.18); --line-soft:rgba(180,154,240,.10); --line-strong:rgba(180,154,240,.34);
    --lav:#B49AF0; --lav-strong:#C3AEF8; --lav-deep:#DCCFFF; --lav-soft:rgba(180,154,240,.16); --lav-ink:#DCCFFF;
    --gold:#E6C27A; --gold-2:#F0D39A; --gold-soft:rgba(230,194,122,.14);
    --rose:#F19AB1; --rose-soft:rgba(241,154,177,.14); --mint:#7FD9AE; --mint-soft:rgba(127,217,174,.13);
    --night:#06040B; --night-2:#120C22;
    --amber:#E6C27A; --amber-fill:#9C80E6; --amber-ink:#fff; --amber-soft:rgba(230,194,122,.14); --lilac:#B49AF0; --lilac-soft:rgba(180,154,240,.16);
    --ok:#7FD9AE; --ok-soft:rgba(127,217,174,.13); --warn:#F0C26E; --warn-soft:rgba(240,194,110,.13); --bad:#F59AAE; --bad-soft:rgba(245,154,174,.14);
    --lv-p2:#1E4A3A; --lv-p1:#1B3730; --lv-0:#251D3B; --lv-m1:#43291F; --lv-m2:#4D1F2E;
    --lv-p2-ink:#BDF0D6; --lv-p1-ink:#A6E3C5; --lv-0-ink:#CFC6E6; --lv-m1-ink:#FFCDB8; --lv-m2-ink:#FFBAC6;
    --dot-p2:#5FD39C; --dot-p1:#93DDB7; --dot-0:#5E537C; --dot-m1:#F7A887; --dot-m2:#FF8A9D; --dot-acc:#B49AF0;
    --tip-bg:#F5F0FF; --tip-fg:#1C1530;
    --shadow:0 12px 30px -14px rgba(0,0,0,.65); --shadow-lg:0 30px 70px -25px rgba(0,0,0,.75); --glow:0 0 0 4px rgba(180,154,240,.25);
    --w-paper:#0E0A18; --w-inner:#0B0814; --w-line:#4A3F6E; --w-line2:#6E6299; --w-tick:#8D82B5; --w-muted:#C9C0E6; --w-angle:#FF8FA8; --w-angle2:#C6B0FF;
    --w-planet:#FFFFFF; --w-plbg:#1A1430; --w-planet2:#E2C9FF; --w-plbg2:#3A2A5E; --w-deg:#EEE8FF; --w-deg2:#E2C9FF; --w-ink:#FFFFFF; --w-sign:#FFFFFF; --w-ring2:#151027; --w-ring-line:#8C7FC0; --w-cusp:#9A90C4; --w-cusp-ink:#EEE8FF; --w-cusp2:#C7A3FF; --w-cusp2-ink:#E4CCFF; --w-ring-in:#221A3E; --w-ax-asc:#FF5A50; --w-ax-asc-ink:#FF8A82; --w-ax-ic:#9BE35E; --w-ax-ic-ink:#B6F08A; --w-ax-dsc:#5C8FFF; --w-ax-dsc-ink:#93B5FF; --w-ax-mc:#FFD23F; --w-ax-mc-ink:#FFE07A;
    --w-fire:#7A3A3A; --w-earth:#355437; --w-air:#3E3F7E; --w-water:#245466;
    --w-fire-g:#FFC2B5; --w-earth-g:#CBEFB9; --w-air-g:#D6D8FF; --w-water-g:#B9ECFF;
    --w-soft:#F1EDFF; --w-hard:#FF8A80; --w-conj:#F5C76E; --w-minor:#C2B0FF; --w-asp-bg:#0B0814; --at-soft:#F4F1FF; --at-soft-bg:rgba(255,255,255,.13); --at-hard:#FF928A; --at-hard-bg:rgba(255,90,80,.22); --at-conj:#FFD57E; --at-conj-bg:rgba(255,190,70,.2); --at-minor:#D2C2FF; --at-minor-bg:rgba(165,135,255,.22); --at-line:rgba(180,154,240,.3); --at-head:#EDE6FF; --moon-lit:#F3E3B8; --moon-dark:#3A2D5C; --moon-ring:rgba(230,194,122,.55);
    color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --bg:#07050C; --bg-2:#0B0813; --surface:#100B1A; --surface-2:#161025; --surface-3:#1C1530; /* 18.10.2026, Павел: темнее — почти чёрный фиолетовый */
  --ink:#F5F0FF; --muted:#CBC1E4; --faint:#9D93BD;
  --line:rgba(180,154,240,.18); --line-soft:rgba(180,154,240,.10); --line-strong:rgba(180,154,240,.34);
  --lav:#B49AF0; --lav-strong:#C3AEF8; --lav-deep:#DCCFFF; --lav-soft:rgba(180,154,240,.16); --lav-ink:#DCCFFF;
  --gold:#E6C27A; --gold-2:#F0D39A; --gold-soft:rgba(230,194,122,.14);
  --rose:#F19AB1; --rose-soft:rgba(241,154,177,.14); --mint:#7FD9AE; --mint-soft:rgba(127,217,174,.13);
  --night:#06040B; --night-2:#120C22;
  --amber:#E6C27A; --amber-fill:#9C80E6; --amber-ink:#fff; --amber-soft:rgba(230,194,122,.14); --lilac:#B49AF0; --lilac-soft:rgba(180,154,240,.16);
  --ok:#7FD9AE; --ok-soft:rgba(127,217,174,.13); --warn:#F0C26E; --warn-soft:rgba(240,194,110,.13); --bad:#F59AAE; --bad-soft:rgba(245,154,174,.14);
  --lv-p2:#1E4A3A; --lv-p1:#1B3730; --lv-0:#251D3B; --lv-m1:#43291F; --lv-m2:#4D1F2E;
  --lv-p2-ink:#BDF0D6; --lv-p1-ink:#A6E3C5; --lv-0-ink:#CFC6E6; --lv-m1-ink:#FFCDB8; --lv-m2-ink:#FFBAC6;
  --dot-p2:#5FD39C; --dot-p1:#93DDB7; --dot-0:#5E537C; --dot-m1:#F7A887; --dot-m2:#FF8A9D; --dot-acc:#B49AF0;
  --tip-bg:#F5F0FF; --tip-fg:#1C1530;
  --shadow:0 12px 30px -14px rgba(0,0,0,.65); --shadow-lg:0 30px 70px -25px rgba(0,0,0,.75); --glow:0 0 0 4px rgba(180,154,240,.25);
  --w-paper:#0E0A18; --w-inner:#0B0814; --w-line:#4A3F6E; --w-line2:#6E6299; --w-tick:#8D82B5; --w-muted:#C9C0E6; --w-angle:#FF8FA8; --w-angle2:#C6B0FF;
  --w-planet:#FFFFFF; --w-plbg:#1A1430; --w-planet2:#E2C9FF; --w-plbg2:#3A2A5E; --w-deg:#EEE8FF; --w-deg2:#E2C9FF; --w-ink:#FFFFFF; --w-sign:#FFFFFF; --w-ring2:#151027; --w-ring-line:#8C7FC0; --w-cusp:#9A90C4; --w-cusp-ink:#EEE8FF; --w-cusp2:#C7A3FF; --w-cusp2-ink:#E4CCFF; --w-ring-in:#221A3E; --w-ax-asc:#FF5A50; --w-ax-asc-ink:#FF8A82; --w-ax-ic:#9BE35E; --w-ax-ic-ink:#B6F08A; --w-ax-dsc:#5C8FFF; --w-ax-dsc-ink:#93B5FF; --w-ax-mc:#FFD23F; --w-ax-mc-ink:#FFE07A;
  --w-fire:#7A3A3A; --w-earth:#355437; --w-air:#3E3F7E; --w-water:#245466;
  --w-fire-g:#FFC2B5; --w-earth-g:#CBEFB9; --w-air-g:#D6D8FF; --w-water-g:#B9ECFF;
  --w-soft:#F1EDFF; --w-hard:#FF8A80; --w-conj:#F5C76E; --w-minor:#C2B0FF; --w-asp-bg:#0B0814; --at-soft:#F4F1FF; --at-soft-bg:rgba(255,255,255,.13); --at-hard:#FF928A; --at-hard-bg:rgba(255,90,80,.22); --at-conj:#FFD57E; --at-conj-bg:rgba(255,190,70,.2); --at-minor:#D2C2FF; --at-minor-bg:rgba(165,135,255,.22); --at-line:rgba(180,154,240,.3); --at-head:#EDE6FF; --moon-lit:#F3E3B8; --moon-dark:#3A2D5C; --moon-ring:rgba(230,194,122,.55);
  color-scheme:dark;
}
/* значки Луны: растущая и полнолуние — насыщенно-жёлтые, убывающая — светлее, тёмная часть диска тёмная */
:root{--moon-wax:#F2B200;--moon-wane:#FBE6A2;--moon-dark:#4A4363;--moon-ring:rgba(120,88,16,.55)}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--moon-wax:#FFC71F;--moon-wane:#FFF0C2;--moon-dark:#1E1832;--moon-ring:rgba(255,214,120,.6)}}
:root[data-theme="dark"]{--moon-wax:#FFC71F;--moon-wane:#FFF0C2;--moon-dark:#1E1832;--moon-ring:rgba(255,214,120,.6)}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;height:100%}
body{margin:0;min-height:100%;background:var(--bg);color:var(--ink);font:400 calc(15.5px*var(--fz))/1.6 var(--f-ui);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(60vmax 40vmax at 8% -10%,rgba(214,172,94,.10),transparent 70%),radial-gradient(55vmax 45vmax at 100% 10%,rgba(142,111,208,.09),transparent 70%),radial-gradient(50vmax 40vmax at 40% 110%,rgba(249,210,214,.18),transparent 70%)}
:root[data-theme="dark"] body::before{background:radial-gradient(60vmax 40vmax at 8% -10%,rgba(230,194,122,.04),transparent 70%),radial-gradient(55vmax 45vmax at 100% 10%,rgba(110,80,200,.10),transparent 70%)}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) body::before{background:radial-gradient(60vmax 40vmax at 8% -10%,rgba(230,194,122,.04),transparent 70%),radial-gradient(55vmax 45vmax at 100% 10%,rgba(110,80,200,.10),transparent 70%)}}
h1,h2,h3,h4{margin:0;text-wrap:balance}
h1{font:500 clamp(32px,4.6vw,48px)/1.06 var(--f-display);letter-spacing:-.01em}
h1 em,h2 em{font-style:italic;color:var(--lav-strong)}
h2{font:500 clamp(25px,3vw,32px)/1.12 var(--f-display);letter-spacing:-.005em}
h3{font:700 calc(16.5px*var(--fz))/1.3 var(--f-ui)}
h4{font:700 calc(14.5px*var(--fz))/1.3 var(--f-ui)}
p{margin:0}
a{color:var(--lav-strong)}
button{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--lav-strong);outline-offset:2px;border-radius:8px}
::selection{background:var(--lav-soft);color:var(--ink)}
.eyebrow{display:inline-flex;align-items:center;gap:.4em;font:600 calc(21px*var(--fz))/1 var(--f-hand);color:var(--gold);transform:rotate(-1.2deg);transform-origin:left center}
.eyebrow::before{content:"";width:14px;height:14px;flex:none;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2c.6 4.6 2.4 6.9 7.5 8-5.1 1.1-6.9 3.4-7.5 8-.6-4.6-2.4-6.9-7.5-8 5.1-1.1 6.9-3.4 7.5-8z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2c.6 4.6 2.4 6.9 7.5 8-5.1 1.1-6.9 3.4-7.5 8-.6-4.6-2.4-6.9-7.5-8 5.1-1.1 6.9-3.4 7.5-8z'/%3E%3C/svg%3E") center/contain no-repeat;opacity:.85}
.label{font:700 calc(11.5px*var(--fz))/1.3 var(--f-ui);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.label.ok{color:var(--mint)} .label.bad{color:var(--rose)}
.muted{color:var(--muted)} .faint{color:var(--faint)} .small{font-size:calc(13.5px*var(--fz))} .tiny{font-size:calc(12px*var(--fz))}
.mono{font-family:var(--f-mono);font-size:calc(12.5px*var(--fz))}
.num{font-variant-numeric:tabular-nums}
.g{font-family:var(--f-glyph);font-variant-emoji:text;font-style:normal}
.ico{width:calc(20px*var(--fz));height:calc(20px*var(--fz));flex:none;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;vertical-align:-4px}
.ico.sm{width:calc(16px*var(--fz));height:calc(16px*var(--fz));vertical-align:-3px}
.ico.xs{width:calc(13px*var(--fz));height:calc(13px*var(--fz));vertical-align:-2px}
.ico.lg{width:calc(26px*var(--fz));height:calc(26px*var(--fz))}
[hidden]{display:none!important}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- оболочка ---------- */
.shell{min-height:100%;display:grid;grid-template-rows:auto 1fr auto}
.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:30;background:color-mix(in srgb,var(--bg) 84%,transparent);backdrop-filter:saturate(1.3) blur(14px);-webkit-backdrop-filter:saturate(1.3) blur(14px);border-bottom:1px solid var(--line-soft)}
.top-in{max-width:1280px;margin:0 auto;padding:10px 16px;display:flex;align-items:center;gap:12px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font:600 calc(24px*var(--fz))/1 var(--f-display);margin-right:auto;letter-spacing:.01em}
.brand-mark{width:32px;height:32px;border-radius:50%;flex:none;background:url(../assets/icons/mark-128.png) center/cover no-repeat;box-shadow:0 0 0 1.5px rgba(214,172,94,.55),0 4px 14px -4px rgba(91,58,158,.55)}
.who{display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:5px 12px 5px 6px;cursor:pointer;max-width:58vw;transition:border-color .15s,box-shadow .15s}
.who:hover{border-color:var(--lav);box-shadow:var(--glow)}
.who .av,.av{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#8E6FD0,#5B3A9E);color:#fff;font:700 calc(12px*var(--fz)) var(--f-ui);flex:none}
.who b{font-weight:700;font-size:calc(14px*var(--fz));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.iconbtn{appearance:none;border:1px solid transparent;background:transparent;border-radius:12px;width:40px;height:40px;display:grid;place-items:center;cursor:pointer;color:var(--ink);transition:background .15s,border-color .15s}
.iconbtn:hover{background:var(--surface);border-color:var(--line)}
.iconbtn.bd{border-color:var(--line);background:var(--surface)}
.main{max-width:1280px;width:100%;margin:0 auto;padding:18px 16px calc(var(--nav-h) + 28px + env(safe-area-inset-bottom,0px))}
/* fill: backwards, не both — анимация с transform, оставшаяся «в силе» после конца, делает .view опорой для position:fixed (рабочий режим карты съёживался до колонки страницы) */
.view{display:grid;grid-template-columns:minmax(0,1fr);gap:22px;animation:viewIn .3s ease backwards;min-width:0}
@keyframes viewIn{from{opacity:.001;transform:translateY(6px)}to{opacity:1;transform:none}}
.nav{position:fixed;left:0;right:0;bottom:0;z-index:40;background:color-mix(in srgb,var(--surface) 94%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom,0px)}
.nav-in{max-width:640px;margin:0 auto;display:grid;grid-template-columns:repeat(5,1fr);height:var(--nav-h)}
.nav a{display:grid;place-items:center;align-content:center;gap:3px;text-decoration:none;color:var(--muted);font:600 calc(11.75px*var(--fz))/1 var(--f-ui);border-radius:12px;margin:6px 4px}
.nav a[aria-current="page"]{color:var(--lav-strong)}
.nav a[aria-current="page"] .ico{stroke:var(--lav-strong)}
@media (min-width:980px){
  .shell{grid-template-columns:calc(64px + 184px*var(--fz)) minmax(0,1fr);grid-template-rows:auto 1fr} /* меню шире с крупным текстом — «Ректификация VIP» не обрезается */
  .top{grid-column:1/-1}
  .nav{position:sticky;top:61px;align-self:start;height:calc(100vh - 61px);border-top:0;border-right:1px solid var(--line-soft);background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;padding:16px 12px}
  .nav-in{display:grid;grid-template-columns:1fr;grid-auto-rows:min-content;height:auto;gap:4px;max-width:none}
  .nav a{display:flex;justify-content:flex-start;gap:12px;font-size:calc(15px*var(--fz));padding:11px 14px;margin:0;transition:background .15s}
  .nav a:hover{background:var(--surface)}
  .nav a[aria-current="page"]{background:var(--surface);box-shadow:var(--shadow);color:var(--ink)}
  .main{padding:26px 30px 60px;max-width:calc(1240px*var(--fz));margin:0} /* крупнее текст — шире страница, клетки не теснятся */
}
.nav a.nav-extra{display:none}
@media (min-width:980px){.nav a.nav-extra{display:flex}.nav a.nav-extra:first-of-type{margin-top:14px}}
/* телефон: в нижней панели гороскоп, сегодня, календарь, карта и «Ещё»; на компьютере — всё списком */
.nav a:not(.nav-m):not(.nav-extra){display:none}
.nav-more{appearance:none;border:0;background:transparent;display:grid;place-items:center;align-content:center;gap:3px;color:var(--muted);font:600 calc(11.75px*var(--fz))/1 var(--f-ui);border-radius:12px;margin:6px 4px;cursor:pointer;padding:0}
.nav-more[aria-current="page"]{color:var(--lav-strong)}
.nav a.nav-hot{position:relative;color:var(--lav-strong)}
.nav a.nav-hot .ico{stroke:var(--gold)}
.nav a.nav-hot .hot-badge{position:absolute;top:2px;right:calc(50% - 22px);font:800 10px/1 var(--f-ui);color:var(--gold)}
@media (min-width:980px){
  .nav{overflow-y:auto;overscroll-behavior:contain}
  .nav a:not(.nav-m):not(.nav-extra){display:flex}
  .nav-more{display:none}
  .nav a.nav-hot{background:linear-gradient(135deg,#9B7FE0 0%,#6A49B5 55%,#4B2F8E 100%);color:#fff;font-weight:800;box-shadow:0 12px 26px -14px rgba(91,58,158,.95),inset 0 0 0 1px rgba(255,226,168,.35);margin-bottom:8px;overflow:hidden}
  .nav a.nav-hot .ico{stroke:#FFE2A8}
  .nav a.nav-hot:hover{background:linear-gradient(135deg,#A68BE8 0%,#7352BF 55%,#553599 100%)}
  .nav a.nav-hot[aria-current="page"]{background:linear-gradient(135deg,#A68BE8 0%,#6A49B5 55%,#4B2F8E 100%);color:#fff;box-shadow:0 14px 30px -12px rgba(91,58,158,1),inset 0 0 0 1.5px rgba(255,226,168,.7)}
  .nav a.nav-hot .hot-badge{position:static;margin-left:auto;font-size:calc(13px*var(--fz));color:#FFE2A8}
  .nav a.nav-hot::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.28) 50%,transparent 65%);transform:translateX(-120%);animation:hotShine 5.5s ease-in-out 1.2s infinite}
}
@keyframes hotShine{0%,70%{transform:translateX(-120%)}100%{transform:translateX(120%)}}
@media (prefers-reduced-motion:reduce){.nav a.nav-hot::after{animation:none;display:none}}
/* окно «Ещё» */
.more-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.more-it{display:flex;align-items:center;gap:10px;padding:14px;border-radius:16px;border:1px solid var(--line);background:var(--surface);text-decoration:none;color:var(--ink);font-size:calc(15px*var(--fz))}
.more-it .ic{color:var(--lav-strong);display:grid;place-items:center}
.more-it.vip{border-color:color-mix(in srgb,var(--vip) 45%,transparent)}
.more-it .vip-badge{margin-left:auto}

/* ---------- блоки ---------- */
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:18px;box-shadow:var(--shadow);min-width:0}
.card.flat{box-shadow:none}
.card.pad-lg{padding:24px}
.card.soft{background:var(--surface-2);box-shadow:none}
.night{background:radial-gradient(700px 300px at 90% -20%,rgba(142,111,208,.45) 0%,transparent 60%),linear-gradient(160deg,var(--night) 0%,var(--night-2) 100%);color:var(--night-ink);border-radius:var(--r-lg);padding:18px;border:1px solid rgba(255,255,255,.06)}
.night .muted,.night .eyebrow{color:var(--night-muted)}
.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.row.sb{justify-content:space-between}
.row.nw{flex-wrap:nowrap}
.stack{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;min-width:0;align-content:start}
.stack.s6{gap:6px} .stack.s18{gap:18px}
.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
@media (max-width:760px){.grid2,.grid3{grid-template-columns:1fr}}
.sec-head{display:grid;gap:6px}
.sec-head p{color:var(--muted);max-width:68ch}
hr.soft{border:0;border-top:1px solid var(--line-soft);margin:4px 0}
.spacer{flex:1}

/* кнопки */
.btn{appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);font:700 calc(14px*var(--fz))/1 var(--f-ui);padding:12px 16px;border-radius:999px;cursor:pointer;min-height:44px;text-decoration:none;white-space:nowrap;transition:transform .12s ease,box-shadow .15s,border-color .15s,background .15s}
.btn:hover{border-color:var(--lav);box-shadow:var(--glow)}
.btn:active{transform:translateY(1px)}
.btn.primary{background:linear-gradient(135deg,#9479D6,#5B3A9E);border-color:transparent;color:#fff;box-shadow:0 8px 20px -10px rgba(91,58,158,.75)}
.btn.primary:hover{filter:brightness(1.06);box-shadow:0 10px 24px -10px rgba(91,58,158,.85),var(--glow)}
.btn.dark{background:var(--ink);border-color:var(--ink);color:var(--bg)}
.btn.ghost{background:transparent;border-color:transparent}
.btn.ghost:hover{background:var(--lav-soft);box-shadow:none}
.btn.sm{min-height:36px;padding:8px 13px;font-size:calc(13px*var(--fz))}
.btn.xs{min-height:30px;padding:6px 10px;font-size:calc(12.5px*var(--fz))}
.btn.block{width:100%}
.night .btn{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.18);color:var(--night-ink)}
.night .btn.primary{background:linear-gradient(135deg,#B49AF0,#7A58C9);color:#fff}
.btn[disabled]{opacity:.5;cursor:not-allowed}
/* «нажми — будет подробнее» */
.more{display:inline-flex;align-items:center;gap:4px;font:700 calc(13px*var(--fz))/1 var(--f-ui);color:var(--lav-strong);white-space:nowrap}
.more::after{content:"›";font-size:calc(18px*var(--fz));line-height:0;transform:translateY(-1px);transition:transform .15s}
.tap{cursor:pointer;transition:transform .14s ease,box-shadow .16s ease,border-color .16s ease,background .16s}
.tap:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);border-color:var(--lav)}
.tap:hover .more::after{transform:translate(3px,-1px)}
.tap:active{transform:translateY(0)}
.chev{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--lav-soft);color:var(--lav-strong);flex:none;transition:transform .15s,background .15s}
.tap:hover .chev{transform:translateX(2px);background:var(--lav);color:#fff}
.hint-click{display:inline-flex;gap:6px;align-items:center;font-size:calc(12.5px*var(--fz));color:var(--muted)}
.hint-click .ico{color:var(--lav)}

/* чипы и переключатели */
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chip{appearance:none;display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font:600 calc(13px*var(--fz))/1.2 var(--f-ui);padding:8px 13px;border-radius:999px;cursor:pointer;min-height:36px;transition:border-color .15s,background .15s,box-shadow .15s}
.chip:hover{border-color:var(--lav)}
.chip[aria-pressed="true"],.chip.on{background:var(--lav-soft);color:var(--lav-ink);border-color:var(--lav);box-shadow:inset 0 0 0 1px var(--lav)}
.chip .ico{width:calc(16px*var(--fz));height:calc(16px*var(--fz))}
.chip.static{cursor:default}
.chip.static:hover{border-color:var(--line)}
.night .chip{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.16);color:var(--night-ink)}
.night .chip[aria-pressed="true"]{background:var(--night-ink);color:var(--night)}
.scrollx{overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.scrollx::-webkit-scrollbar{display:none}
.scrollx .chips{flex-wrap:nowrap;width:max-content}
.tag{display:inline-flex;align-items:center;gap:5px;font:600 calc(12.5px*var(--fz))/1.2 var(--f-ui);padding:5px 10px;border-radius:999px;white-space:nowrap}
.tag.ok{background:var(--mint-soft);color:var(--mint)}
.tag.bad{background:var(--rose-soft);color:var(--rose)}
.tag.acc{background:var(--lav-soft);color:var(--lav-ink)}
.tag.gold{background:var(--gold-soft);color:var(--gold)}
.tag.plain{background:var(--surface-2);color:var(--muted);border:1px solid var(--line-soft)}
.tags{display:flex;flex-wrap:wrap;gap:6px}

/* уровни и баллы */
.lv{display:inline-flex;align-items:center;gap:6px;font:700 calc(12px*var(--fz))/1 var(--f-ui);padding:6px 10px;border-radius:999px;white-space:nowrap}
.lv-2{background:var(--lv-p2);color:var(--lv-p2-ink)} .lv-1{background:var(--lv-p1);color:var(--lv-p1-ink)} .lv0{background:var(--lv-0);color:var(--lv-0-ink)}
.lv-m1{background:var(--lv-m1);color:var(--lv-m1-ink)} .lv-m2{background:var(--lv-m2);color:var(--lv-m2-ink)}
.dots{display:inline-flex;gap:3px;align-items:center}
.dots i{width:7px;height:7px;border-radius:50%;background:var(--line-strong);opacity:.55}
.dots i.on{opacity:1}
.dots.l2 i.on{background:var(--dot-p2)} .dots.l1 i.on{background:var(--dot-p1)} .dots.l0 i.on{background:var(--dot-0)} .dots.lm1 i.on{background:var(--dot-m1)} .dots.lm2 i.on{background:var(--dot-m2)}
.pts{display:inline-flex;align-items:baseline;gap:1px;font:800 calc(15px*var(--fz))/1 var(--f-ui);font-variant-numeric:tabular-nums}
.pts small{font:600 calc(11.5px*var(--fz)) var(--f-ui);color:var(--faint)}
.pts.l2{color:var(--dot-p2)} .pts.l1{color:color-mix(in srgb,var(--dot-p1) 60%,var(--ink))} .pts.l0{color:var(--muted)} .pts.lm1{color:color-mix(in srgb,var(--dot-m1) 75%,var(--ink))} .pts.lm2{color:var(--dot-m2)}
.ring-pts{position:relative;display:grid;place-items:center;flex:none}
.ring-pts svg{display:block}
.ring-pts b{position:absolute;inset:0;display:grid;place-items:center;font:800 calc(24px*var(--fz))/1 var(--f-ui);font-variant-numeric:tabular-nums}
.ring-pts b > span{white-space:nowrap} /* «4/10» одной строкой по центру круга, «/10» на одной линии с цифрой */
.ring-pts b small{font:600 max(9px,.4em) var(--f-ui);color:var(--faint);margin-left:1px}
.bar5{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}
.pbar{position:relative;height:8px;border-radius:5px;background:var(--line-soft);overflow:hidden}
.pbar i{position:absolute;left:0;top:0;bottom:0;border-radius:5px}
.c-l2{background:var(--dot-p2)} .c-l1{background:var(--dot-p1)} .c-l0{background:var(--dot-0)} .c-lm1{background:var(--dot-m1)} .c-lm2{background:var(--dot-m2)}
.f-l2{background:var(--lv-p2);color:var(--lv-p2-ink)} .f-l1{background:var(--lv-p1);color:var(--lv-p1-ink)} .f-l0{background:var(--lv-0);color:var(--lv-0-ink)} .f-lm1{background:var(--lv-m1);color:var(--lv-m1-ink)} .f-lm2{background:var(--lv-m2);color:var(--lv-m2-ink)}

/* поля */
.field{display:grid;gap:6px;min-width:0}
.field > label,.field > .lbl{font:700 calc(13px*var(--fz))/1.2 var(--f-ui);color:var(--muted)}
.input,.select{appearance:none;width:100%;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);font:400 calc(16px*var(--fz))/1.2 var(--f-ui);padding:12px 14px;border-radius:14px;min-height:46px}
.input:focus,.select:focus{outline:none;border-color:var(--lav);box-shadow:var(--glow)}
.select{background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px;background-repeat:no-repeat;padding-right:34px}
.hint{font-size:calc(12.5px*var(--fz));color:var(--muted)}
.err{font-size:calc(12.5px*var(--fz));color:var(--bad)}
.check{display:flex;gap:10px;align-items:flex-start;font-size:calc(14px*var(--fz));cursor:pointer}
.check input{width:18px;height:18px;margin-top:2px;accent-color:var(--lav-strong)}
.ac{position:relative}
.ac-list{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:20;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-lg);max-height:280px;overflow:auto;padding:4px}
.ac-list button{appearance:none;display:block;width:100%;text-align:left;border:0;background:transparent;padding:10px 12px;border-radius:10px;cursor:pointer;font-size:calc(14.5px*var(--fz))}
.ac-list button:hover,.ac-list button[aria-selected="true"]{background:var(--lav-soft)}
.ac-list small{display:block;color:var(--muted);font-size:calc(12.5px*var(--fz))}
.seg{display:inline-flex;background:var(--surface-2);border:1px solid var(--line);border-radius:999px;padding:3px;gap:2px;flex-wrap:wrap}
.seg button{appearance:none;border:0;background:transparent;padding:8px 14px;border-radius:999px;font:700 calc(13px*var(--fz)) var(--f-ui);cursor:pointer;color:var(--muted);transition:background .15s,color .15s}
.seg button:hover{color:var(--ink)}
.seg button[aria-pressed="true"]{background:var(--surface);color:var(--lav-ink);box-shadow:0 1px 3px rgba(60,40,90,.16)}

/* подсказки, шторка, окно */
.nw-tip{position:fixed;z-index:90;max-width:min(calc(320px*var(--fz)),calc(100vw - 16px));background:var(--tip-bg);color:var(--tip-fg);font:500 calc(13px*var(--fz))/1.45 var(--f-ui);padding:9px 12px;border-radius:12px;box-shadow:0 10px 30px rgba(20,10,40,.3);pointer-events:none;white-space:pre-line}
.rtip{position:fixed;z-index:91;width:min(calc(300px*var(--fz)),calc(100vw - 16px));background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-lg),0 0 0 1px rgba(91,58,158,.04);padding:12px 14px;pointer-events:none;display:grid;gap:7px;font-size:calc(13px*var(--fz));line-height:1.4;animation:tipIn .14s ease both}
@keyframes tipIn{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
.rtip .rt-h{display:flex;align-items:center;justify-content:space-between;gap:8px}
.rtip .rt-h b{font:600 calc(18px*var(--fz))/1.1 var(--f-display)}
.rtip .rt-foot{font-size:calc(11.75px*var(--fz));color:var(--lav-strong);font-weight:700}
.scrim{position:fixed;inset:0;background:rgba(30,18,50,.42);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);z-index:70;animation:fade .2s ease both}
@keyframes fade{from{opacity:0}to{opacity:1}}
.sheet{position:fixed;z-index:80;left:0;right:0;bottom:0;max-height:90vh;overflow:auto;background:var(--bg);border-radius:24px 24px 0 0;box-shadow:0 -10px 40px rgba(0,0,0,.25);padding:10px 16px calc(24px + env(safe-area-inset-bottom,0px));animation:up .26s cubic-bezier(.2,.8,.2,1) both;overscroll-behavior:contain}
.sheet::before{content:"";display:block;width:42px;height:5px;border-radius:3px;background:var(--line-strong);margin:0 auto 12px}
@keyframes up{from{transform:translateY(40px);opacity:.3}to{transform:none;opacity:1}}
/* на компьютере и планшете любое окно — по центру экрана (не боковой панелью); центрируем через inset+margin:auto,
   без постоянного transform — иначе всплывашки с position:fixed внутри окна съезжают */
@keyframes pop{from{transform:translateY(14px) scale(.98);opacity:.2}to{transform:none;opacity:1}}
@media (min-width:700px){
  .sheet{inset:0;margin:auto;height:fit-content;width:min(calc(560px*var(--fz)),calc(100vw - 48px));max-height:calc(100vh - 64px);border-radius:26px;padding:22px 24px;animation:pop .24s cubic-bezier(.2,.8,.2,1) both;box-shadow:0 30px 80px -20px rgba(30,18,50,.55);border:1px solid var(--line)}
  .sheet::before{display:none}
  .sheet.modal{width:min(calc(860px*var(--fz)),calc(100vw - 48px));padding:24px 26px}
  .sheet.wide{width:min(calc(720px*var(--fz)),calc(100vw - 48px))}
}
.sheet-head{display:flex;align-items:flex-start;gap:10px;margin-bottom:14px;position:sticky;top:-10px;background:var(--bg);z-index:2;padding-top:4px}
@media (min-width:700px){.sheet-head{top:-22px;padding-top:8px}}
.sheet-head h2{flex:1}
.sheet-nav{display:flex;gap:4px}
/* окно поверх окна (сфера дня над карточкой дня): на телефоне — снизу, на компьютере — по центру */
.pop-scrim{z-index:84;background:rgba(30,18,50,.34)}
.pop{position:fixed;z-index:86;left:0;right:0;bottom:0;max-height:86vh;overflow:auto;background:var(--bg);border:1px solid var(--line);border-radius:24px 24px 0 0;box-shadow:0 -10px 40px rgba(0,0,0,.3);padding:12px 16px calc(22px + env(safe-area-inset-bottom,0px));animation:up .24s cubic-bezier(.2,.8,.2,1) both;overscroll-behavior:contain}
.pop-head{top:-12px}
@keyframes popIn{from{transform:translate(-50%,-47%) scale(.98);opacity:.2}to{transform:translate(-50%,-50%);opacity:1}}
@media (min-width:700px){
  .pop{top:50%;left:50%;right:auto;bottom:auto;width:min(calc(560px*var(--fz)),calc(100vw - 64px));max-height:calc(100vh - 80px);border-radius:24px;transform:translate(-50%,-50%);animation:popIn .22s cubic-bezier(.2,.8,.2,1) both;padding:20px 22px;box-shadow:0 30px 70px -20px rgba(30,18,50,.55)}
  .pop-head{top:-20px;padding-top:6px}
}
.toast{position:fixed;left:50%;bottom:calc(var(--nav-h) + 16px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);z-index:95;background:var(--ink);color:var(--bg);padding:11px 16px;border-radius:14px;font-size:calc(14px*var(--fz));box-shadow:var(--shadow-lg);max-width:calc(100vw - 32px)}

/* аккордеон: подробности свёрнуты */
.acc{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow);overflow:hidden}
.acc + .acc{margin-top:0}
.acc > summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:16px 18px;transition:background .15s}
.acc > summary::-webkit-details-marker{display:none}
.acc > summary:hover{background:var(--surface-2)}
.acc > summary .ac-ic{width:40px;height:40px;border-radius:13px;display:grid;place-items:center;background:var(--lav-soft);color:var(--lav-strong);font:400 calc(18px*var(--fz))/1 var(--f-glyph)}
.acc > summary h3{font:600 calc(22px*var(--fz))/1.15 var(--f-display)}
.acc > summary .ac-sub{font-size:calc(13px*var(--fz));color:var(--muted);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.acc > summary .ac-tw{display:flex;align-items:center;gap:8px;color:var(--lav-strong);font:700 calc(12.5px*var(--fz)) var(--f-ui)}
.acc > summary .ac-tw .ico{transition:transform .2s}
.acc[open] > summary .ac-tw .ico{transform:rotate(180deg)}
.acc[open] > summary{border-bottom:1px solid var(--line-soft)}
.acc .acc-body{padding:6px 18px 16px;animation:accIn .22s ease both}
@keyframes accIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.acc .ac-open{display:none} .acc[open] .ac-open{display:inline} .acc[open] .ac-closed{display:none}

/* ---------- Сегодня ---------- */
.today-hero{display:grid;gap:12px}
.today-hero h1{max-width:22ch}
.daynav{display:flex;align-items:center;gap:6px}
.dayhead{display:grid;grid-template-columns:auto minmax(0,1fr);gap:18px;align-items:center}
@media (max-width:560px){.dayhead{grid-template-columns:1fr}}
.dayhead .hl{font-size:calc(17px*var(--fz));line-height:1.5}
.spheres{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,calc(236px*var(--fz))),1fr));gap:12px}
.sph{appearance:none;text-align:left;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:6px 12px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:14px;color:var(--ink);min-height:96px;box-shadow:var(--shadow);position:relative;overflow:hidden}
.sph::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--dot-0)}
.sph.l2::before{background:var(--dot-p2)} .sph.l1::before{background:var(--dot-p1)} .sph.lm1::before{background:var(--dot-m1)} .sph.lm2::before{background:var(--dot-m2)}
.sph .ic{width:40px;height:40px;border-radius:13px;display:grid;place-items:center;background:var(--surface-2);border:1px solid var(--line-soft);color:var(--lav-strong)}
.sph b{font-weight:700;font-size:calc(15px*var(--fz))}
.sph p{grid-column:2/-1;font-size:calc(13.5px*var(--fz));color:var(--muted);line-height:1.45}
.sph .sph-r{display:grid;justify-items:end;gap:4px}
.sph .sph-foot{grid-column:2/-1;display:flex;justify-content:space-between;align-items:center;gap:8px}
.sph.l2 .ic{background:var(--lv-p2);color:var(--lv-p2-ink);border-color:transparent}
.sph.l1 .ic{background:var(--lv-p1);color:var(--lv-p1-ink);border-color:transparent}
.sph.lm1 .ic{background:var(--lv-m1);color:var(--lv-m1-ink);border-color:transparent}
.sph.lm2 .ic{background:var(--lv-m2);color:var(--lv-m2-ink);border-color:transparent}
.moonline{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;align-items:center}
.moon-disc{width:58px;height:58px}
.alerts{display:grid;gap:8px}
.alert{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:start;background:var(--gold-soft);color:var(--ink);border-radius:14px;padding:11px 13px;font-size:calc(14px*var(--fz));border:1px solid color-mix(in srgb,var(--gold-2) 35%,transparent)}
.alert .ico{color:var(--gold)}
.alert b{font-weight:700}
.reasons{display:grid;gap:0}
.reason{display:grid;grid-template-columns:22px minmax(0,1fr);gap:10px;padding:9px 0;border-bottom:1px solid var(--line-soft);font-size:calc(14px*var(--fz));align-items:start}
.reason:last-child{border-bottom:0}
.reason .s{width:22px;height:22px;border-radius:7px;display:grid;place-items:center;font:800 calc(13px*var(--fz)) var(--f-ui)}
.reason .s.p{background:var(--mint-soft);color:var(--mint)} .reason .s.m{background:var(--rose-soft);color:var(--rose)}
.hours{display:flex;flex-wrap:wrap;gap:8px}
.hour{display:inline-flex;gap:7px;align-items:center;padding:7px 11px;border-radius:999px;background:var(--gold-soft);color:var(--gold);font:700 calc(13px*var(--fz)) var(--f-ui)}
.night .hour{background:rgba(230,194,122,.16);color:#F6DDA6}
/* полоса суток */
.dayline{position:relative;height:34px;border-radius:10px;background:var(--surface-2);border:1px solid var(--line-soft);overflow:hidden}
.dayline .voc{position:absolute;top:0;bottom:0;background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--rose) 30%,transparent) 0 6px,color-mix(in srgb,var(--rose) 12%,transparent) 6px 12px)}
.dayline .best{position:absolute;top:7px;bottom:7px;border-radius:6px;background:var(--gold-2);opacity:.85}
.dayline .evt{position:absolute;top:50%;width:9px;height:9px;margin:-4.5px 0 0 -4.5px;border-radius:50%;border:2px solid var(--surface);box-shadow:0 0 0 1px var(--line)}
.dayline .now{position:absolute;top:0;bottom:0;width:2px;background:var(--lav-strong)}
.tl-scale{display:flex;justify-content:space-between;font:500 calc(11.5px*var(--fz)) var(--f-mono);color:var(--faint);margin-top:4px}
/* события дня */
.evlist{display:grid;gap:0}
.ev{display:grid;grid-template-columns:calc(52px*var(--fz)) calc(48px*var(--fz)) minmax(0,1fr);gap:10px;align-items:start;padding:11px 0;border-bottom:1px solid var(--line-soft)}
.ev:last-child{border-bottom:0}
.ev .tm{font:600 calc(13px*var(--fz))/1.5 var(--f-mono);color:var(--muted)}
.ev .gly{font:400 calc(15px*var(--fz))/1.4 var(--f-glyph);white-space:nowrap}
.ev .gly.ok{color:var(--mint)} .ev .gly.bad{color:var(--rose)} .ev .gly.acc{color:var(--lav-strong)} .ev .gly.n{color:var(--muted)}
.ev b{font-weight:700;font-size:calc(14.5px*var(--fz))}
.ev p{font-size:calc(13.5px*var(--fz));color:var(--muted);margin-top:2px}
.ev .ctx{font-size:calc(12px*var(--fz));color:var(--faint);margin-top:3px}
.ev.compact{grid-template-columns:calc(44px*var(--fz)) minmax(0,1fr);padding:4px 0;border:0;font-size:calc(12.5px*var(--fz));gap:6px}
.ev.compact .tm{font-size:calc(11.75px*var(--fz))}

/* показ дня (окно, «Сегодня») */
.dd{display:grid;gap:18px;min-width:0}
.dd-top{display:grid;grid-template-columns:auto minmax(0,1fr);gap:18px;align-items:center}
@media (max-width:520px){.dd-top{grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:start}.dd-top .ring-pts{transform:scale(.86);transform-origin:left top;margin-right:-10px;margin-bottom:-12px}}
.dd-title{font:600 clamp(28px,3.4vw,36px)/1.05 var(--f-display)}
.dd .hl{font-size:calc(16px*var(--fz));line-height:1.5;color:var(--ink)}
.dd-tags{display:flex;flex-wrap:wrap;gap:10px 22px}
.dd-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:22px;align-items:start}
@media (max-width:860px){.dd-grid{grid-template-columns:1fr}}
.sheet.modal .dd-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}
@media (max-width:979px){.sheet .dd-grid,.sheet.modal .dd-grid{grid-template-columns:minmax(0,1fr)}}
.more-ev > summary{list-style:none;margin-top:6px;width:max-content}
.more-ev > summary::-webkit-details-marker{display:none}
.more-ev[open] > summary .ico{transform:rotate(180deg)}
details > summary.more{list-style:none}
details > summary.more::-webkit-details-marker{display:none}
/* неделя полоской на «Сегодня» */
.wstrip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}
@media (max-width:700px){.wstrip{grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:minmax(104px,1fr);overflow-x:auto;scrollbar-width:none;padding-bottom:4px}.wstrip::-webkit-scrollbar{display:none}}
.ws{appearance:none;display:grid;gap:5px;justify-items:start;text-align:left;border:1px solid var(--line);background:var(--surface);border-radius:14px;padding:9px 10px;color:var(--ink);font:inherit;position:relative;overflow:hidden;min-height:calc(96px*var(--fz))}
.ws::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--dot-0)}
.ws.l2::before{background:var(--dot-p2)} .ws.l1::before{background:var(--dot-p1)} .ws.lm1::before{background:var(--dot-m1)} .ws.lm2::before{background:var(--dot-m2)}
.ws.sel{border-color:var(--lav-strong);box-shadow:0 0 0 2px var(--lav-strong)}
.ws .ws-d{font:600 calc(12px*var(--fz)) var(--f-ui);color:var(--muted)} .ws .ws-d b{font:700 calc(15px*var(--fz)) var(--f-ui);color:var(--ink)}
.ws .ws-t{font:600 calc(17px*var(--fz))/1.1 var(--f-display)}
.ws .pts{position:absolute;right:9px;top:10px;font-size:calc(13px*var(--fz))}
.ws.load{min-height:96px;animation:pulse 1.2s ease-in-out infinite;background:var(--surface-2)}

/* ---------- Календарь ---------- */
.cal-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.cal-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.cal-head h2{min-width:8ch;text-align:center}
.cal-layout{display:grid;grid-template-columns:minmax(0,1fr) calc(360px*var(--fz));gap:18px;align-items:stretch}
/* две колонки — пока календарю хватает ширины; порог растёт с размером текста (смотрим ширину самой области, а не экрана) */
#calBody{container:calbody/inline-size}
@container calbody (max-width:1060px){.cal-layout{grid-template-columns:minmax(0,1fr) calc(320px*var(--fz))}}
@container calbody (max-width:860px){.cal-layout{grid-template-columns:1fr}}
/* календарь и панель дня — одной высоты: недели тянутся, если панель выше; кнопка «Подробнее о дне» — внизу панели */
.cal-layout > .card{display:flex;flex-direction:column}
.cal-layout .cal{flex:1 0 auto;grid-template-rows:min-content;grid-auto-rows:auto} /* недели — по содержимому; лишняя высота (если панель выше) делится между ними поровну */
.cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}
.cal .wd{font:700 calc(11.5px*var(--fz)) var(--f-ui);letter-spacing:.1em;color:var(--muted);text-align:center;padding:4px 0;text-transform:uppercase}
.cday{appearance:none;position:relative;border:1px solid var(--line);border-radius:14px;min-height:calc(108px*var(--fz));display:flex;flex-direction:column;align-items:stretch;gap:4px;padding:9px 8px 7px;cursor:pointer;font:400 calc(12px*var(--fz))/1.25 var(--f-ui);text-align:left;color:var(--ink);background:var(--surface);transition:transform .12s ease,box-shadow .15s,border-color .15s;overflow:hidden}
.cday::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--dot-0)}
.cday.l2{background:color-mix(in srgb,var(--lv-p2) 55%,var(--surface))} .cday.l2::before{background:var(--dot-p2)}
.cday.l1{background:color-mix(in srgb,var(--lv-p1) 60%,var(--surface))} .cday.l1::before{background:var(--dot-p1)}
.cday.lm1{background:color-mix(in srgb,var(--lv-m1) 60%,var(--surface))} .cday.lm1::before{background:var(--dot-m1)}
.cday.lm2{background:color-mix(in srgb,var(--lv-m2) 60%,var(--surface))} .cday.lm2::before{background:var(--dot-m2)}
.cday:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);border-color:var(--lav);z-index:2}
.cday.today{border-color:var(--lav-strong);box-shadow:var(--glow)}
.cday.sel{border-color:var(--lav-strong);box-shadow:0 0 0 2px var(--lav-strong)}
.cday .cd-h{display:flex;align-items:center;justify-content:space-between;gap:4px}
.cday .cd-n{font:800 calc(15px*var(--fz))/1 var(--f-ui)}
.cday .cd-p{font:800 calc(13px*var(--fz))/1 var(--f-ui);font-variant-numeric:tabular-nums;padding:3px 6px;border-radius:8px;background:var(--surface);border:1px solid var(--line-soft)}
.cday .cd-t{font:700 calc(12px*var(--fz))/1.2 var(--f-ui);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cday .cd-m{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:calc(11.75px*var(--fz));min-width:0}
.cday .cd-m > span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cday .cd-m .g{color:var(--lav-strong);font-size:calc(13px*var(--fz))}
.cday .cd-k{display:flex;gap:4px;flex-wrap:wrap;align-items:center;font:700 calc(11.25px*var(--fz)) var(--f-ui);color:var(--muted)}
.cday .cd-k .k{padding:2px 5px;border-radius:6px;background:var(--surface);border:1px solid var(--line-soft);max-width:100%;hyphens:auto;overflow-wrap:break-word}
.cday .cd-k .k.r{color:var(--rose)} .cday .cd-k .k.e{color:var(--lav-strong)}
.cday .cd-voc{height:4px;border-radius:3px;background:var(--line-soft);position:relative;overflow:hidden;margin-top:auto;flex:none}
.cday .cd-voc i{position:absolute;top:0;bottom:0;background:linear-gradient(90deg,var(--rose),var(--lav))}
.cday .cd-ph{width:14px;height:14px;flex:none}
.cday.out{opacity:.38}
.cday.load{color:transparent;animation:pulse 1.2s ease-in-out infinite}
.cday.load *{visibility:hidden}
@keyframes pulse{50%{opacity:.5}}
@media (max-width:700px){
  .cal{gap:4px}
  .cday{min-height:64px;padding:5px 4px 4px;border-radius:10px;gap:2px}
  .cday .cd-t,.cday .cd-m span:not(.g),.cday .cd-k{display:none}
  .cday .cd-n{font-size:calc(13px*var(--fz))}
  .cday .cd-p{font-size:calc(11.5px*var(--fz));padding:2px 4px}
  .cday .cd-h{flex-direction:column;align-items:flex-start;gap:3px}
}
.legend{display:flex;flex-wrap:wrap;gap:12px;font-size:calc(12.5px*var(--fz));color:var(--muted);align-items:center}
.legend span{display:inline-flex;gap:6px;align-items:center}
.legend i{width:12px;height:12px;border-radius:4px;display:inline-block}
/* панель дня справа */
.dpanel{display:flex;min-width:0}
.dpanel > .card{flex:1;display:flex;flex-direction:column;justify-content:space-between;gap:14px;min-width:0} /* лишняя высота — поровну между блоками, кнопка — внизу */
@media (max-width:1020px){.dpanel{scroll-margin-top:72px}}
.dp-head{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;align-items:center}
.dp-head h3{font:600 calc(24px*var(--fz))/1.1 var(--f-display)}
.sbars5{display:grid;gap:4px}
.sb5{appearance:none;border:0;background:transparent;display:grid;grid-template-columns:calc(22px*var(--fz)) calc(92px*var(--fz)) minmax(0,1fr) calc(28px*var(--fz)) calc(18px*var(--fz));gap:8px;align-items:center;padding:5px 6px;border-radius:10px;cursor:pointer;font:600 calc(13px*var(--fz)) var(--f-ui);text-align:left;color:var(--ink)}
.sb5:hover{background:var(--lav-soft)}
.sb5 .ico{width:calc(16px*var(--fz));height:calc(16px*var(--fz));color:var(--lav-strong)}
.sb5 .pts{justify-self:end;font-size:calc(13.5px*var(--fz))}
.sb5 .sb5-q{display:grid;place-items:center}
.sb5 .sb5-q .ico{width:17px;height:17px;color:var(--faint);transition:color .15s}
.sb5:hover .sb5-q .ico,.sb5:focus-visible .sb5-q .ico{color:var(--lav-strong)}
/* неделя карточками */
.week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}
@media (max-width:1100px){.week{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:640px){.week{grid-template-columns:repeat(2,minmax(0,1fr))}}
.wk{appearance:none;position:relative;display:grid;gap:7px;align-content:start;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:13px 12px 12px;min-height:200px;cursor:pointer;color:var(--ink);box-shadow:var(--shadow);overflow:hidden;font:inherit}
.wk::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:var(--dot-0)}
.wk.l2::before{background:var(--dot-p2)} .wk.l1::before{background:var(--dot-p1)} .wk.lm1::before{background:var(--dot-m1)} .wk.lm2::before{background:var(--dot-m2)}
.wk.sel{border-color:var(--lav-strong);box-shadow:0 0 0 2px var(--lav-strong),var(--shadow)}
.wk .wk-d{display:flex;align-items:baseline;gap:6px}
.wk .wk-d small{font:700 calc(11.5px*var(--fz)) var(--f-ui);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.wk .wk-d b{font:600 calc(26px*var(--fz))/1 var(--f-display)}
.wk .wk-t{font:600 calc(21px*var(--fz))/1.1 var(--f-display)}
.wk .wk-now{position:absolute;right:10px;top:12px;font:800 calc(10.75px*var(--fz)) var(--f-ui);letter-spacing:.08em;text-transform:uppercase;background:var(--lav-soft);color:var(--lav-ink);padding:3px 7px;border-radius:999px}
/* дела: что когда делать */
.acts{display:grid;gap:6px}
.act{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;border:1px solid var(--line-soft);background:var(--surface);border-radius:14px;padding:8px 10px;color:var(--ink);transition:border-color .15s,background .15s}
.act:hover{border-color:var(--lav)}
.act.on{border-color:var(--lav);background:var(--lav-soft)}
.act-main{appearance:none;border:0;background:transparent;display:grid;grid-template-columns:36px minmax(0,1fr);gap:10px;align-items:center;text-align:left;cursor:pointer;padding:0;color:inherit;font:inherit;min-width:0}
.act-main:hover b{color:var(--lav-strong)}
.act .ic{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:var(--surface-2);color:var(--lav-strong)}
@media (max-width:520px){.act{grid-template-columns:1fr}.act .days{justify-content:flex-start}}
.act b{font-size:calc(14px*var(--fz))}
.act .days{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}
.dchip{appearance:none;border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:5px 8px;display:inline-flex;gap:6px;align-items:center;font:700 calc(12.5px*var(--fz)) var(--f-ui);cursor:pointer;color:var(--ink);white-space:nowrap}
.dchip:hover{border-color:var(--lav);background:var(--lav-soft)}
.dchip .pts{font-size:calc(12px*var(--fz))}
/* тепловая карта сфер по дням */
.heat-wrap{overflow-x:auto}
.heat{border-collapse:separate;border-spacing:2px;font:600 calc(11.5px*var(--fz)) var(--f-ui);min-width:640px;width:100%}
.heat th{font:700 calc(11.5px*var(--fz)) var(--f-ui);color:var(--muted);padding:2px 4px;text-align:left;white-space:nowrap}
.heat th.d{text-align:center;font-weight:600;min-width:20px}
.heat th.d.we{color:var(--rose)}
.heat td{height:calc(24px*var(--fz));border-radius:5px;text-align:center;cursor:pointer;font-variant-numeric:tabular-nums;transition:outline-color .1s;outline:1.5px solid transparent;outline-offset:-1px}
.heat td:hover{outline-color:var(--lav-strong)}
.heat td.today{box-shadow:inset 0 0 0 1.5px var(--lav-strong)}
/* фон: долгие транзиты */
.gantt{display:grid;gap:4px;min-width:0}
.gantt .gr{display:grid;grid-template-columns:minmax(150px,calc(300px*var(--fz))) minmax(0,1fr);gap:10px;align-items:center;font-size:calc(12.5px*var(--fz))}
.gantt .gl-l{display:flex;gap:6px;align-items:center;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.gantt .gl-l .g{font-size:calc(14px*var(--fz))}
.gantt .gb{position:relative;height:calc(16px*var(--fz));border-radius:8px;background:var(--line-soft)}
.gantt .gb i{position:absolute;top:2px;bottom:2px;border-radius:6px;cursor:help}
.gantt .gb em{position:absolute;top:50%;width:9px;height:9px;margin:-4.5px 0 0 -4.5px;transform:rotate(45deg);border-radius:2px;border:1.5px solid var(--surface)}
.gantt .gb .nowl{position:absolute;top:-4px;bottom:-4px;width:2px;background:var(--lav-strong);border-radius:2px}
.gantt .gaxis{display:grid;grid-template-columns:minmax(150px,calc(300px*var(--fz))) minmax(0,1fr);gap:10px;font:600 calc(11.25px*var(--fz)) var(--f-ui);color:var(--faint)}
.gantt .gaxis div{position:relative;height:14px}
.gantt .gaxis div span{position:absolute;transform:translateX(-50%);white-space:nowrap}
.lt-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,calc(260px*var(--fz))),1fr));gap:12px}
.lt{display:grid;gap:6px;padding:14px;border-radius:16px;background:var(--surface);border:1px solid var(--line);position:relative;overflow:hidden}
.lt h4{display:flex;gap:8px;align-items:center;font-size:calc(14px*var(--fz))}
.lt h4 .g{flex:none}
.lt .lt-bar{display:block;height:3px;border-radius:2px;background:var(--c,var(--dot-0));opacity:.8;margin-top:4px}
.lt .when{font:500 calc(11.75px*var(--fz)) var(--f-mono);color:var(--muted);margin-top:4px}
.lt p{font-size:calc(13px*var(--fz));color:var(--muted)}
/* ход недели по часам */
.tone{width:100%;display:block}
.tone-wrap{position:relative;overflow-x:auto}

/* ---------- Карта (колесо как в Sotis/Chronos) ---------- */
.chart-layout{display:grid;grid-template-columns:minmax(0,1fr) clamp(calc(320px*var(--fz)),30%,calc(430px*var(--fz)));gap:18px;align-items:start} /* колесу — всё, что остаётся */
@media (max-width:1100px){.chart-layout{grid-template-columns:1fr}}
.wheel-card{background:var(--w-paper);border:1px solid var(--line);border-radius:var(--r-lg);padding:14px;box-shadow:var(--shadow);display:grid;gap:12px;min-width:0}
.wheel-box{position:relative;max-width:640px;width:100%;margin-inline:auto}
.wheel-box .nw{width:100%;height:auto;display:block}
.nw .nw-pl{cursor:pointer}
.nw .nw-pl:focus{outline:none}
.nw .nw-pl:hover .pl-bg,.nw .nw-pl:focus .pl-bg{stroke:var(--lav);stroke-width:2}
.nw .nw-asp{cursor:help}
.nw .nw-asp:hover .al{stroke-width:3!important;opacity:1!important}
.nw text{user-select:none}
.wheel-info{position:absolute;left:0;top:0;font-size:calc(12px*var(--fz));line-height:1.35;background:color-mix(in srgb,var(--surface) 88%,transparent);border:1px solid var(--line);border-radius:10px;padding:6px 9px;max-width:46%}
.wheel-legend{display:flex;flex-wrap:wrap;gap:10px 14px;font-size:calc(12px*var(--fz));color:var(--muted);align-items:center;justify-content:center}
.wheel-legend span{display:inline-flex;gap:6px;align-items:center}
.wheel-legend i{width:18px;height:3px;border-radius:2px;display:inline-block}
/* перемотка времени (как в Chronos/Sotis): дата и время печатаются цифрами, шаг ‹ единица ›, ползунки */
.timebar{display:grid;gap:10px;padding:12px;border-radius:16px;background:var(--surface-2);border:1px solid var(--line-soft)}
.tb-main{display:flex;flex-wrap:wrap;gap:8px 10px;align-items:center;justify-content:center}
.tb-dt{display:flex;gap:6px;align-items:center}
.tb-fld{position:relative;display:inline-flex}
.tb-in{appearance:none;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);font:600 calc(15px*var(--fz))/1 var(--f-mono);padding:9px 10px;border-radius:10px;min-height:40px;letter-spacing:.02em;cursor:ns-resize}
.tb-in:focus{outline:none;border-color:var(--lav);box-shadow:var(--glow);cursor:text}
.tb-in.bad{border-color:var(--rose);box-shadow:0 0 0 3px var(--rose-soft)}
.tb-in.drag{border-color:var(--lav-strong);background:var(--lav-soft);user-select:none} body.tb-dragging,body.tb-dragging *{cursor:ns-resize!important;user-select:none}
.tb-date{width:calc(154px*var(--fz));padding-right:calc(42px*var(--fz))} .tb-time{width:calc(116px*var(--fz))}
.tb-cal{position:absolute;right:3px;top:3px;bottom:3px;width:calc(34px*var(--fz));border:0;border-radius:8px;background:var(--lav-soft);color:var(--lav-strong);cursor:pointer;display:grid;place-items:center}
.tb-cal:hover{background:var(--lav);color:#fff}
.tb-step{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--line-strong);border-radius:999px;background:var(--surface);padding:3px}
.tb-arrow{appearance:none;border:0;width:36px;height:34px;border-radius:999px;background:var(--lav-soft);color:var(--lav-strong);cursor:pointer;display:grid;place-items:center;touch-action:manipulation;user-select:none}
.tb-arrow:hover{background:var(--lav);color:#fff}
.tb-units{display:inline-flex;gap:1px}
.tb-units button{appearance:none;border:0;background:transparent;padding:7px 8px;border-radius:999px;font:700 calc(12.5px*var(--fz)) var(--f-ui);color:var(--muted);cursor:pointer;min-height:32px}
.tb-units button:hover{color:var(--ink);background:var(--surface-2)}
.tb-units button[aria-pressed="true"]{background:var(--ink);color:var(--surface)}
.tb-acts{display:inline-flex;gap:6px;flex-wrap:wrap}
.timebar .tb-play[aria-pressed="true"]{background:var(--lav);color:#fff;border-color:var(--lav)}
.tb-sl{display:grid;grid-template-columns:repeat(auto-fit,minmax(calc(270px*var(--fz)),1fr));gap:8px 22px;padding:2px 4px 0}
.tb-sl .tb-srow{display:grid;grid-template-columns:calc(62px*var(--fz)) auto minmax(0,1fr) auto calc(58px*var(--fz));gap:6px;align-items:center;font:700 calc(12px*var(--fz)) var(--f-ui);color:var(--muted)}
.tb-sa{appearance:none;border:1px solid var(--line);width:calc(28px*var(--fz));height:calc(28px*var(--fz));border-radius:50%;background:var(--surface);color:var(--lav-strong);cursor:pointer;display:grid;place-items:center;padding:0;touch-action:manipulation;user-select:none;transition:background .15s,color .15s,border-color .15s}
.tb-sa:hover{background:var(--lav);border-color:var(--lav);color:#fff}
.tb-sa:active{transform:scale(.94)}
.tb-sl input[type=range]{width:100%;min-width:0;accent-color:var(--lav-strong);cursor:pointer;height:24px;margin:0;background:transparent}
.tb-sl output{font:600 calc(12.5px*var(--fz)) var(--f-mono);color:var(--ink);text-align:right;white-space:nowrap}
@media (max-width:560px){.tb-units button{padding:7px 6px;font-size:calc(12px*var(--fz))}.tb-date{width:calc(148px*var(--fz))}.tb-time{width:calc(108px*var(--fz))}.tb-sl{grid-template-columns:1fr}}
/* календарь-всплывашка */
.calpop{position:fixed;z-index:90;width:calc(304px*var(--fz));background:var(--surface);border:1px solid var(--line-strong);border-radius:16px;box-shadow:var(--shadow-lg);padding:10px;display:grid;gap:8px}
.cp-head{display:grid;grid-template-columns:36px minmax(0,1fr) calc(82px*var(--fz)) 36px;gap:6px;align-items:center}
.cp-head .iconbtn{width:36px;height:36px}
.cp-head .select,.cp-head .input{min-height:36px;padding:6px 8px;font-size:calc(14px*var(--fz));border-radius:10px}
.cp-head .select{padding-right:26px}
.cp-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;text-align:center}
.cp-grid b{font:700 calc(11.5px*var(--fz)) var(--f-ui);color:var(--faint);padding:4px 0}
.cp-grid button{appearance:none;border:1px solid transparent;background:transparent;border-radius:9px;height:calc(34px*var(--fz));font:600 calc(13.5px*var(--fz)) var(--f-ui);color:var(--ink);cursor:pointer}
.cp-grid button:hover{background:var(--lav-soft)}
.cp-grid button.td{border-color:var(--lav)}
.cp-grid button.sel{background:var(--lav-strong);color:#fff}
.cp-foot{display:flex;gap:8px;align-items:center;justify-content:space-between}
/* поле даты с кнопкой календаря */
.dfield{position:relative;display:block}
.dfield .input{padding-right:46px;width:100%}
.dcal{position:absolute;right:5px;top:5px;bottom:5px;width:36px;border:0;border-radius:10px;background:var(--lav-soft);color:var(--lav-strong);cursor:pointer;display:grid;place-items:center}
.dcal:hover{background:var(--lav);color:#fff}
/* лента со стрелками (вкладки профи, дни) */
.hs{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:6px}
.hs-track{overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;min-width:0}
.hs-track::-webkit-scrollbar{display:none}
.hs.fl .hs-track{-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 28px);mask-image:linear-gradient(90deg,transparent 0,#000 28px)}
.hs.fr .hs-track{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent 100%);mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent 100%)}
.hs.fl.fr .hs-track{-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 28px,#000 calc(100% - 28px),transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 28px,#000 calc(100% - 28px),transparent 100%)}
.hs-track.dragging{cursor:grabbing;user-select:none}
.hs-track.dragging *{pointer-events:none}
.hs-btn{appearance:none;width:36px;height:36px;border-radius:50%;border:1px solid var(--line);background:var(--surface);color:var(--ink);display:grid;place-items:center;cursor:pointer;box-shadow:var(--shadow);transition:opacity .15s,background .15s}
.hs-btn:hover:not(:disabled){background:var(--lav);color:#fff;border-color:var(--lav)}
.hs-btn:disabled{opacity:.25;cursor:default;box-shadow:none}
.hs.noov .hs-btn{display:none}
.hs-track .chips{flex-wrap:nowrap;width:max-content;padding:3px 2px}
.rect-banner{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:10px 12px;border-radius:14px;background:var(--gold-soft);font-size:calc(13.5px*var(--fz))}
/* позиции справа (как список в Sotis) */
.poslist{display:grid;gap:0;font-size:calc(13.5px*var(--fz))}
.pos{display:grid;grid-template-columns:calc(26px*var(--fz)) minmax(0,1fr) auto auto;gap:8px;align-items:center;padding:6px 4px;border-bottom:1px solid var(--line-soft);border-radius:8px;cursor:pointer}
.pos:hover{background:var(--lav-soft)}
.pos:last-child{border-bottom:0}
.pos .g{font-size:calc(16px*var(--fz));text-align:center;color:var(--lav-strong)}
.pos .dg{font:600 calc(12.5px*var(--fz)) var(--f-mono);white-space:nowrap}
.pos .phs{font:700 calc(11.5px*var(--fz)) var(--f-ui);color:var(--muted);min-width:28px;text-align:right}
.pos .r{color:var(--rose);font:800 calc(11px*var(--fz)) var(--f-ui);margin-left:3px}
.pos.tr .g{color:var(--w-planet2)}
.big3{display:grid;gap:12px}
.b3{display:grid;grid-template-columns:52px minmax(0,1fr);gap:12px;align-items:start}
.b3 .gl{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:var(--lav-soft);border:1px solid var(--line);font:400 calc(22px*var(--fz))/1 var(--f-glyph);color:var(--lav-strong)}
.b3 .gl small{font:400 calc(15px*var(--fz)) var(--f-glyph);color:var(--gold);margin-left:2px}
.b3 b{font-size:calc(16px*var(--fz))}
.b3 p{font-size:calc(14px*var(--fz));color:var(--muted)}
.items{display:grid;gap:4px}
.item{display:grid;grid-template-columns:40px minmax(0,1fr);gap:12px;align-items:start;padding:12px 0;border-bottom:1px solid var(--line-soft)}
.item:last-child{border-bottom:0}
.item .gl{width:40px;height:40px;border-radius:13px;display:grid;place-items:center;background:var(--surface-2);border:1px solid var(--line-soft);font:400 calc(16px*var(--fz))/1 var(--f-glyph);color:var(--lav-strong)}
.item.plus .gl{background:var(--mint-soft);color:var(--mint);border-color:transparent}
.item.minus .gl{background:var(--rose-soft);color:var(--rose);border-color:transparent}
.item h4{margin-bottom:2px}
.item p{font-size:calc(14px*var(--fz));color:var(--muted)}
.item .why{font:500 calc(11.75px*var(--fz)) var(--f-mono);color:var(--faint);margin-top:4px}
.todo{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;align-items:start;font-size:calc(14px*var(--fz));margin-top:6px;color:var(--ink)}
.todo::before{content:"→";color:var(--gold);font-weight:800}
.night .todo{color:var(--night-ink)}
.elem-bars{display:grid;gap:6px}
.elem-bars .eb{display:grid;grid-template-columns:calc(70px*var(--fz)) minmax(0,1fr) calc(40px*var(--fz));gap:8px;align-items:center;font-size:calc(12.5px*var(--fz))}

/* ---------- Пара ---------- */
.pairpick{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:10px;align-items:center}
@media (max-width:560px){.pairpick{grid-template-columns:1fr}}
.chart-hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:18px;align-items:center}
@media (max-width:860px){.chart-hero{grid-template-columns:1fr}}
.ring{width:150px;height:150px}
.sbars{display:grid;gap:10px}
.sbar{display:grid;grid-template-columns:calc(120px*var(--fz)) minmax(0,1fr) calc(44px*var(--fz));gap:10px;align-items:center;font-size:calc(14px*var(--fz))}
.sbar .bar{height:10px;border-radius:5px;background:var(--line-soft);overflow:hidden}
.sbar .bar i{display:block;height:100%;border-radius:5px;background:linear-gradient(90deg,#E9A0B4,#9C80E6)}

/* ---------- Спросить ---------- */
.ask-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:18px;align-items:start}
@media (max-width:1060px){.ask-layout{grid-template-columns:1fr}}
.ask-side{position:sticky;top:76px;display:grid;gap:12px}
@media (max-width:1060px){.ask-side{position:static}}
.qcards{display:grid;grid-template-columns:repeat(auto-fill,minmax(calc(210px*var(--fz)),1fr));gap:10px}
.qcard{appearance:none;display:grid;grid-template-columns:38px minmax(0,1fr);gap:10px;align-items:center;text-align:left;border:1px solid var(--line);background:var(--surface);border-radius:16px;padding:11px 12px;cursor:pointer;color:var(--ink);font:inherit;box-shadow:var(--shadow)}
.qcard .ic{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:var(--lav-soft);color:var(--lav-strong)}
.qcard b{font-size:calc(13.5px*var(--fz));line-height:1.3;display:block}
.qcard small{display:block;font-size:calc(12px*var(--fz));color:var(--muted);margin-top:2px}
.chat{display:grid;gap:12px;align-content:start;min-height:120px}
.msg{max-width:min(680px,92%);padding:12px 15px;border-radius:18px;font-size:calc(15px*var(--fz));line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}
.msg.me{justify-self:end;background:linear-gradient(135deg,#9479D6,#6A49B5);color:#fff;border-bottom-right-radius:6px}
.msg.ai{justify-self:start;background:var(--surface);border:1px solid var(--line);border-bottom-left-radius:6px;box-shadow:var(--shadow)}
.msg.ai b{font-weight:700}
.msg .src{display:block;margin-top:8px;font:500 calc(11.75px*var(--fz)) var(--f-mono);color:var(--faint)}
.msg .viz{white-space:normal;margin-top:12px;display:grid;gap:10px}
.viz-bars{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:3px;align-items:end;height:84px;padding-top:6px}
.viz-bars button{appearance:none;border:0;padding:0;border-radius:5px 5px 2px 2px;cursor:pointer;position:relative;min-height:6px}
.viz-bars button.top::after{content:"★";position:absolute;left:50%;top:-14px;transform:translateX(-50%);font-size:calc(11px*var(--fz));color:var(--gold)}
.viz-axis{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:3px;font:600 calc(10.75px*var(--fz)) var(--f-ui);color:var(--faint);text-align:center}
.composer{position:sticky;bottom:calc(var(--nav-h) + 10px + env(safe-area-inset-bottom,0px));display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;background:color-mix(in srgb,var(--bg) 92%,transparent);padding-top:8px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:5}
@media (min-width:980px){.composer{bottom:16px}}
.composer textarea{resize:none;min-height:50px;max-height:160px;font:400 calc(16px*var(--fz))/1.4 var(--f-ui);border-radius:18px}
.composer .btn{border-radius:16px;min-width:52px}
.think{display:inline-flex;align-items:center;gap:10px;white-space:normal;color:var(--muted);font-size:calc(14px*var(--fz))}
.think-orb{width:calc(34px*var(--fz));height:calc(34px*var(--fz));flex:none}
.think-spin{transform-origin:20px 20px;animation:thinkSpin 1.6s linear infinite}
.think-spin2{transform-origin:20px 20px;animation:thinkSpin 2.6s linear infinite reverse}
@keyframes thinkSpin{to{transform:rotate(360deg)}}
.think-txt{font-style:italic}
.think-fade{animation:thinkTxt .35s ease both}
@keyframes thinkTxt{from{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}
.msg.thinking-msg{background:linear-gradient(110deg,var(--surface) 30%,var(--lav-soft) 50%,var(--surface) 70%);background-size:220% 100%;animation:thinkGlow 2.2s linear infinite}
@keyframes thinkGlow{from{background-position:120% 0}to{background-position:-120% 0}}
.msg.msg-in{animation:msgIn .45s cubic-bezier(.2,.8,.2,1) both}
@keyframes msgIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.think-spin,.think-spin2,.msg.thinking-msg,.msg.msg-in,.think-fade{animation:none}}
.typing{display:inline-flex;gap:4px}
.typing i{width:7px;height:7px;border-radius:50%;background:var(--muted);animation:blink 1.2s infinite}
.typing i:nth-child(2){animation-delay:.2s}.typing i:nth-child(3){animation-delay:.4s}
@keyframes blink{0%,80%,100%{opacity:.25}40%{opacity:1}}
.minisph{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;text-align:center}
.minisph div{display:grid;gap:3px;justify-items:center;font:600 calc(11px*var(--fz)) var(--f-ui);color:var(--muted)}
.minisph .mc{width:100%;height:46px;border-radius:8px;display:grid;place-items:end center;padding-bottom:4px;font:800 calc(12px*var(--fz)) var(--f-ui);position:relative;overflow:hidden;background:var(--line-soft)}
.minisph .mc i{position:absolute;left:0;right:0;bottom:0;border-radius:6px}
.minisph .mc b{position:relative}

/* ---------- Профи ---------- */
.pro-tabs{position:sticky;top:61px;z-index:10;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:6px 0}
.ctrl{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;align-items:end}
.asp-grid{border-collapse:collapse;font:400 calc(12px*var(--fz)) var(--f-mono)}
.asp-grid td,.asp-grid th{width:calc(31px*var(--fz));height:calc(31px*var(--fz));text-align:center;border:1px solid var(--at-line);padding:0}
.asp-grid th{font:400 calc(15.5px*var(--fz)) var(--f-glyph);color:var(--at-head);background:var(--surface-3)}
.asp-grid td.d{background:var(--surface-3);font:400 calc(14.5px*var(--fz)) var(--f-glyph);color:var(--ink)}
.asp-grid td .a{font:700 calc(15px*var(--fz)) var(--f-glyph);display:block;line-height:1}
.asp-grid td .o{font-size:calc(10.5px*var(--fz));font-weight:600;color:var(--ink);opacity:.72}
.asp-grid td.soft{background:var(--at-soft-bg)} .asp-grid td.soft .a{color:var(--at-soft)}
.asp-grid td.hard{background:var(--at-hard-bg)} .asp-grid td.hard .a{color:var(--at-hard)}
.asp-grid td.conj{background:var(--at-conj-bg)} .asp-grid td.conj .a{color:var(--at-conj)}
.asp-grid td.minor{background:var(--at-minor-bg)} .asp-grid td.minor .a{color:var(--at-minor)}
.asp-grid td[data-tip]{cursor:help}
.asp-grid td[data-tip]:hover{outline:2px solid var(--lav-strong);outline-offset:-2px}
/* списки аспектов: значок аспекта цветом характера, полоска слева */
.asp-row td:first-child{box-shadow:inset 3px 0 0 var(--asp-c,transparent)}
.asp-row .g .ag,.ag{font-weight:700}
.asp-soft{--asp-c:var(--at-soft)} .asp-hard{--asp-c:var(--at-hard)} .asp-conj{--asp-c:var(--at-conj)} .asp-minor{--asp-c:var(--at-minor)}
.asp-soft .ag{color:var(--at-soft)} .asp-hard .ag{color:var(--at-hard)} .asp-conj .ag{color:var(--at-conj)} .asp-minor .ag{color:var(--at-minor)}
.tbl-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r);background:var(--surface)}
.tbl{border-collapse:collapse;width:100%;font-size:calc(13.5px*var(--fz));min-width:520px}
.tbl th,.tbl td{text-align:left;padding:9px 12px;border-bottom:1px solid var(--line-soft);vertical-align:top}
.tbl th{font:700 calc(11.5px*var(--fz)) var(--f-ui);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);background:var(--surface-2)}
.tbl tr:last-child td{border-bottom:0}
.tbl tr.cur td{background:var(--gold-soft)}
.split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
@media (max-width:900px){.split{grid-template-columns:1fr}}
.toggles{display:flex;flex-wrap:wrap;gap:6px}
.tg{appearance:none;border:1px solid var(--line);background:var(--surface);border-radius:10px;min-width:calc(36px*var(--fz));height:calc(34px*var(--fz));padding:0 8px;cursor:pointer;font:400 calc(15px*var(--fz)) var(--f-glyph);color:var(--muted)}
.tg[aria-pressed="true"]{background:var(--lav-soft);color:var(--lav-ink);border-color:var(--lav)}
.tg.t{font:700 calc(12px*var(--fz)) var(--f-ui)}
.acg-map{position:relative;width:100%;border-radius:var(--r);overflow:hidden;background:#0F1736}
.acg-map > svg{display:block;width:100%;height:auto}
.firdar{display:grid;gap:6px}
.fd{display:grid;grid-template-columns:calc(120px*var(--fz)) minmax(0,1fr);gap:10px;align-items:center;font-size:calc(13.5px*var(--fz))}
.fd-bar{position:relative;height:22px;border-radius:8px;background:var(--line-soft);overflow:hidden}
.fd-bar i{position:absolute;top:0;bottom:0;display:grid;place-items:center;font:400 calc(12px*var(--fz)) var(--f-glyph);color:#fff;border-right:1px solid rgba(255,255,255,.4)}
.empty{display:grid;gap:10px;justify-items:start;padding:24px;border:1px dashed var(--line-strong);border-radius:var(--r-lg);background:var(--surface-2)}
details.card > summary{cursor:pointer;font-weight:700;list-style:none;display:flex;align-items:center;gap:8px}
details.card > summary::-webkit-details-marker{display:none}
details.card > summary::after{content:"";margin-left:auto;width:8px;height:8px;border-right:2px solid var(--lav-strong);border-bottom:2px solid var(--lav-strong);transform:rotate(45deg);transition:transform .2s}
details.card[open] > summary::after{transform:rotate(-135deg)}

/* ---------- анкета ---------- */
.onb{max-width:580px;margin:0 auto;display:grid;gap:18px;padding-top:12px}
.onb .night{display:grid;gap:12px}
.form{display:grid;gap:14px}
.form .two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}
@media (max-width:420px){.form .two{grid-template-columns:1fr}}
.conj{display:grid;place-items:center;padding:40px 0}
.conj svg{width:180px;height:180px}
@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}}
a.more{text-decoration:none}
@media (max-width:560px){.wheel-card{padding:8px;border-radius:18px}.pos{padding:5px 2px}.timebar{padding:8px;gap:8px}}
/* ректификация */
.revs{display:grid;gap:8px}
.rev{display:grid;grid-template-columns:150px 136px minmax(150px,1.1fr) 132px minmax(120px,1fr) 40px;gap:8px;align-items:center}
.rev .input,.rev .select{min-height:40px;padding:8px 10px;font-size:calc(14px*var(--fz));border-radius:12px}
.rev .select{padding-right:30px}
.rev-h{font:700 calc(11.5px*var(--fz)) var(--f-ui);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
@media (max-width:900px){.rev{grid-template-columns:1fr 1fr;padding:10px;border:1px solid var(--line-soft);border-radius:14px;background:var(--surface-2)}.rev [data-f="label"]{grid-column:1/2}.rev-h{display:none}}
.rc-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px}
.rc{appearance:none;display:grid;gap:6px;text-align:left;border:1px solid var(--line);background:var(--surface);border-radius:16px;padding:12px 13px;color:var(--ink);font:inherit;box-shadow:var(--shadow)}
.rc.sel{border-color:var(--lav-strong);box-shadow:0 0 0 2px var(--lav-strong)}
.rc .rc-t{font:600 calc(30px*var(--fz))/1 var(--f-display)}
.pro-panel > .card > .row h3{font:600 calc(20px*var(--fz))/1.1 var(--f-display)}

/* ---------- 3-я волна (12.10.2026): два круга, машина времени, VIP, фирдарии, обычная карта ---------- */
:root{--dyn-up:#93D4B3;--dyn-down:#F3AEBC;--dyn-up-bg:rgba(147,212,179,.13);--dyn-down-bg:rgba(243,174,188,.14);--dyn-up-ink:#3E9470;--dyn-down-ink:#C3607A;--vip:#B8860B;--vip-2:#E9C46A;--vip-ink:#5A3E00}
:root[data-theme="dark"]{--dyn-up:#79C7A1;--dyn-down:#E896A8;--dyn-up-bg:rgba(121,199,161,.1);--dyn-down-bg:rgba(232,150,168,.1);--dyn-up-ink:#9BE0BE;--dyn-down-ink:#F5B3C2;--vip:#F2C14E;--vip-2:#FFE08A;--vip-ink:#2A1C00}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--dyn-up:#79C7A1;--dyn-down:#E896A8;--dyn-up-bg:rgba(121,199,161,.1);--dyn-down-bg:rgba(232,150,168,.1);--dyn-up-ink:#9BE0BE;--dyn-down-ink:#F5B3C2;--vip:#F2C14E;--vip-2:#FFE08A;--vip-ink:#2A1C00}}
/* подпись кругов */
.ring-key{display:inline-flex;align-items:center;gap:6px;font:600 calc(12px*var(--fz)) var(--f-ui);color:var(--muted);flex-wrap:wrap}
.ring-key i{width:14px;height:14px;border-radius:50%;display:inline-block;border:2px solid var(--w-ink);margin-left:6px}
.ring-key i.rk-in{background:var(--w-paper)} .ring-key i.rk-out{background:var(--w-ring2);border-color:var(--w-planet2)}
/* «Профи»: шапка карты, выделенные моменты (Начало соляра/лунара…) */
.wc-top,.wc-body{align-content:start}
.wc-top{padding-bottom:8px;box-shadow:none;border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom:0}
.wc-body{border-top-left-radius:0;border-top-right-radius:0;border-top:0;margin-top:-12px;padding-top:4px}
.pro-panel{gap:12px}
.ph-title{min-width:0;display:grid}
.ph-title h3{font:600 calc(20px*var(--fz))/1.15 var(--f-display);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ph-title .tiny{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.moments{display:flex;flex-wrap:wrap;gap:8px}
.moment{display:grid;gap:2px;padding:9px 13px;border-radius:14px;background:var(--surface-2);border:1px solid var(--line-soft);min-width:0}
.moment .mo-l{font:800 calc(11.5px*var(--fz))/1.2 var(--f-ui);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.moment .mo-d{font:700 calc(17px*var(--fz))/1.2 var(--f-mono);color:var(--ink);white-space:nowrap}
.moment .mo-d span{color:var(--lav-strong)}
.moment .mo-p{font-size:calc(12px*var(--fz));color:var(--muted)}
.moment.mo-key{background:linear-gradient(135deg,var(--gold-soft),color-mix(in srgb,var(--gold-soft) 40%,var(--surface)));border:1.5px solid var(--gold-2);box-shadow:0 6px 18px -12px rgba(161,114,42,.7)}
.moment.mo-key .mo-l{color:var(--gold)}
.moment.mo-key .mo-d{font-size:calc(19px*var(--fz))}
.tb-more{border:1px dashed var(--line-strong);border-radius:14px;padding:8px 12px;background:var(--surface-2)}
.tb-more > summary{cursor:pointer;font:700 calc(13px*var(--fz)) var(--f-ui);color:var(--lav-ink);list-style:none;display:flex;gap:8px;align-items:center}
.tb-more > summary::-webkit-details-marker{display:none}
/* «Две карты»: колёса на одном уровне — общие строки сетки (subgrid) */
.split{gap:14px;align-items:start}
.split > [data-slot-host]{display:contents}
.split .pro-panel{grid-row:span 4;display:grid;grid-template-rows:subgrid;gap:14px;align-content:start}
.split .wc-body{margin-top:-14px}
/* динамика рядом с колесом и строки транзитов */
.spark{width:100%;height:auto;display:block;cursor:pointer}
.spark .sp-d:hover rect:first-child{fill:var(--lav-soft)}
.trlist{display:grid;gap:4px}
.trrow{appearance:none;display:grid;grid-template-columns:calc(64px*var(--fz)) minmax(0,1fr) auto;gap:8px;align-items:center;text-align:left;border:1px solid var(--line-soft);background:var(--surface);border-radius:12px;padding:7px 9px;cursor:pointer;color:var(--ink);font:inherit;border-left:4px solid var(--dot-0);transition:background .15s,border-color .15s}
.trrow:hover{background:var(--lav-soft);border-color:var(--lav)}
.trrow .g{font-size:calc(16px*var(--fz));letter-spacing:1px}
.trrow .dg{font:600 calc(12px*var(--fz)) var(--f-mono);white-space:nowrap}
.trrow.soft{border-left-color:var(--dyn-up)} .trrow.soft .g{color:var(--dyn-up-ink)}
.trrow.hard{border-left-color:var(--dyn-down)} .trrow.hard .g{color:var(--dyn-down-ink)}
.trrow.conj{border-left-color:var(--gold-2)} .trrow.conj .g{color:var(--gold)}
.tr-tbl .tr-click{cursor:pointer;transition:background .12s}
.tr-tbl .tr-click:hover td,.tr-tbl .tr-click:focus td{background:var(--lav-soft)}
.tr-tbl .tr-click td:first-child{border-left:4px solid transparent}
.tr-tbl .tr-click.soft td:first-child{border-left-color:var(--dyn-up)} .tr-tbl .tr-click.hard td:first-child{border-left-color:var(--dyn-down)} .tr-tbl .tr-click.conj td:first-child{border-left-color:var(--gold-2)}
.tr-tbl .tr-click.soft .tr-gl{color:var(--dyn-up-ink)} .tr-tbl .tr-click.hard .tr-gl{color:var(--dyn-down-ink)} .tr-tbl .tr-click.conj .tr-gl{color:var(--gold)}
.tr-tbl .tr-click.on td{font-weight:600}
.tr-tbl .tr-more{color:var(--lav-strong);width:28px;vertical-align:middle}
.tr-gl{font-size:calc(16px*var(--fz))}
/* окно «что значит транзит» */
.trx-head{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;align-items:center}
.trx-g{font:400 calc(30px*var(--fz))/1 var(--f-glyph);padding:12px 14px;border-radius:16px;background:var(--surface-2);border:1px solid var(--line);white-space:nowrap}
.trx-g.soft{color:var(--dyn-up-ink);background:var(--dyn-up-bg)} .trx-g.hard{color:var(--dyn-down-ink);background:var(--dyn-down-bg)} .trx-g.conj{color:var(--gold);background:var(--gold-soft)}
.trx-t{font:600 calc(22px*var(--fz))/1.15 var(--f-display)}
.trx-sum{display:grid;gap:6px;padding:14px 16px;border-radius:16px;border:1.5px solid var(--line)}
.trx-sum p{font-size:calc(15px*var(--fz))}
.trx-sum.soft{background:var(--dyn-up-bg);border-color:color-mix(in srgb,var(--dyn-up) 45%,transparent)}
.trx-sum.hard{background:var(--dyn-down-bg);border-color:color-mix(in srgb,var(--dyn-down) 45%,transparent)}
.trx-sum.conj{background:var(--gold-soft);border-color:color-mix(in srgb,var(--gold-2) 55%,transparent)}
.trx details > summary{cursor:pointer;font-weight:700}
/* VIP: ректификация в меню и её страница */
.vip-badge{display:inline-flex;align-items:center;font:800 calc(11px*var(--fz))/1 var(--f-ui);letter-spacing:.08em;padding:4px 7px;border-radius:999px;background:linear-gradient(135deg,var(--vip-2),var(--vip));color:var(--vip-ink);box-shadow:0 2px 8px -3px rgba(184,134,11,.8)}
.vip-badge.lg{font-size:calc(12px*var(--fz));padding:6px 11px}
.nav a.nav-vip{position:relative;background:linear-gradient(135deg,color-mix(in srgb,var(--vip-2) 22%,transparent),transparent);border:1px solid color-mix(in srgb,var(--vip) 45%,transparent);color:var(--ink)}
.nav a.nav-vip .ico{stroke:var(--vip)}
.nav a.nav-vip .vip-badge{margin-left:auto}
.nav a.nav-vip[aria-current="page"]{background:linear-gradient(135deg,color-mix(in srgb,var(--vip-2) 40%,var(--surface)),var(--surface));box-shadow:0 8px 22px -12px rgba(184,134,11,.7)}
.btn.vip-btn{border-color:color-mix(in srgb,var(--vip) 60%,transparent);background:linear-gradient(135deg,color-mix(in srgb,var(--vip-2) 22%,var(--surface)),var(--surface))}
.btn.vip-btn .ico{stroke:var(--vip)}
.vip-hero{display:grid;grid-template-columns:auto minmax(0,1fr);gap:18px;align-items:start;padding:22px;border-radius:var(--r-lg);background:radial-gradient(600px 220px at 100% 0%,rgba(233,196,106,.28),transparent 70%),linear-gradient(160deg,var(--night),var(--night-2));color:var(--night-ink);border:1px solid color-mix(in srgb,var(--vip) 50%,transparent);box-shadow:0 18px 40px -24px rgba(184,134,11,.8)}
.vip-hero h1{font-size:clamp(28px,4vw,40px)}
.vip-hero p{color:var(--night-muted);max-width:70ch}
.vip-hero .tag.gold{background:rgba(233,196,106,.16);color:#F6D98E}
.vip-mark{width:64px;height:64px;border-radius:20px;display:grid;place-items:center;background:linear-gradient(135deg,var(--vip-2),var(--vip));color:#3A2600}
.vip-mark .ico{stroke:#3A2600;width:34px;height:34px}
.vip-paid{font:800 calc(12px*var(--fz)) var(--f-ui);letter-spacing:.12em;text-transform:uppercase;color:#F6D98E}
.vip-note{color:#F6D98E;opacity:.85}
.vip-lock{justify-items:center;text-align:center}
@media (max-width:560px){.vip-hero{grid-template-columns:1fr;padding:18px}.vip-mark{width:52px;height:52px}}
/* фирдарии: раскрывающиеся периоды и подпериоды */
.fd-bar{height:28px}
.fd-bar i{font-size:calc(14px*var(--fz));cursor:pointer;transition:filter .15s}
.fd-bar i:hover{filter:brightness(1.12)}
.fd-bar i.cur{box-shadow:inset 0 0 0 2.5px #fff,0 0 0 2px var(--ink);z-index:1}
/* Фирдарии — схема на один экран (16.10, Алина): строки — большие периоды, в строке — их подпериоды; годовые — полосой внизу.
   Прошлое приглушено, сейчас — подсвечено (период — сиреневым, подпериод — золотым). Не влезает по высоте — fdFit: .tight / .tight2 */
.fd-scheme{display:grid;gap:8px;padding:14px 16px;container:fdscheme / inline-size}
.fds-top{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 12px}
.fds-top .fd-nodes{align-self:center;margin:0}
.fds-bars{position:relative;display:grid;gap:4px}
.fds-bars .fd-bar{height:calc(24px*var(--fz))}
.fds-bars .fd-bar2{height:calc(18px*var(--fz))}
.fds-bars .fd-bar2 i{font-size:calc(11px*var(--fz));cursor:pointer}
.fds-nowl{position:absolute;top:-4px;bottom:-4px;width:3px;margin-left:-1.5px;border-radius:2px;background:var(--ink);box-shadow:0 0 0 1.5px var(--surface);z-index:2}
.fds-ticks{position:relative;height:calc(13px*var(--fz));margin-top:-3px;font:600 calc(10.5px*var(--fz))/1 var(--f-mono);color:var(--muted)}
.fds-ticks span{position:absolute;top:0;transform:translateX(-50%)}
.fds-ticks span:first-child{transform:none}
.fds-ticks span:last-child{transform:translateX(-100%)}
.fds-grid{display:grid;gap:4px}
.fds-r,.fds-year{display:grid;grid-template-columns:calc(212px*var(--fz)) minmax(0,1fr);gap:4px;align-items:stretch}
.fds-h{appearance:none;font:inherit;color:var(--ink);text-align:left;cursor:pointer;display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto;column-gap:8px;align-items:center;padding:3px 8px 3px 3px;border:1px solid var(--line);border-radius:10px;background:var(--surface);min-width:0}
.fds-h .fd-sw{width:calc(32px*var(--fz));height:calc(32px*var(--fz));border-radius:8px;font-size:calc(17px*var(--fz));background:var(--fc);grid-row:1 / span 2}
.fds-hn{display:flex;align-items:baseline;gap:6px;min-width:0}
.fds-hn b{font-size:calc(13.5px*var(--fz));line-height:1.2;white-space:nowrap}
.fds-hn small{font-size:calc(11.5px*var(--fz));color:var(--muted);white-space:nowrap}
.fds-hd{font-size:calc(10.5px*var(--fz));line-height:1.25;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fds-subs{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;min-width:0}
.fds-c{appearance:none;font:inherit;color:var(--ink);text-align:left;cursor:pointer;display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto;column-gap:6px;align-items:center;padding:3px 6px 3px 3px;border:1px solid var(--line-soft);border-radius:9px;background:var(--surface);min-width:0}
.fds-c .g{grid-row:1 / span 2;width:calc(24px*var(--fz));height:calc(24px*var(--fz));border-radius:7px;display:grid;place-items:center;background:var(--fc);color:#fff;font:400 calc(14px*var(--fz))/1 var(--f-glyph)}
.fds-cn{font:700 calc(12.5px*var(--fz))/1.2 var(--f-ui);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.fds-cd{font-size:calc(10.5px*var(--fz));line-height:1.25;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.fds-c:hover,.fds-h:hover{background:var(--lav-soft);border-color:var(--lav)}
.fds-c:focus-visible,.fds-h:focus-visible{outline:2px solid var(--lav);outline-offset:1px}
.fds-r.past .fds-h,.fds-c.past,.fds-y.past{opacity:.5}
.fds-r.past .fds-h:hover,.fds-c.past:hover{opacity:1}
.fds-r.cur .fds-h{border-color:var(--lav);box-shadow:0 0 0 1.5px var(--lav);background:var(--lav-soft)}
.fds-c.cur,.fds-y.cur{border-color:var(--gold-2);box-shadow:0 0 0 1.5px var(--gold-2);background:var(--gold-soft)}
.fds-none{grid-column:1 / -1;align-self:center;padding:0 8px;font-size:calc(12px*var(--fz));line-height:1.3;color:var(--muted)}
.fds-year{align-items:center;padding-top:6px;border-top:1px solid var(--line-soft)}
.fds-yl{display:grid;font:700 calc(12.5px*var(--fz))/1.25 var(--f-ui);cursor:help;padding-left:3px}
.fds-yl small{font-weight:500;font-size:calc(10.5px*var(--fz));color:var(--muted)}
.fds-ys{display:grid;grid-template-columns:repeat(auto-fit,minmax(calc(66px*var(--fz)),1fr));gap:4px;min-width:0}
.fds-y{display:flex;align-items:center;gap:4px;min-width:0;padding:2px 4px 2px 2px;border:1px solid var(--line-soft);border-radius:8px;background:var(--surface);cursor:help}
.fds-y .g{flex:none;width:calc(20px*var(--fz));height:calc(20px*var(--fz));border-radius:6px;display:grid;place-items:center;background:var(--fc);color:#fff;font:400 calc(12px*var(--fz))/1 var(--f-glyph)}
.fds-y .mono{font-size:calc(10px*var(--fz));white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.fds-hint{margin:0}
/* не влезает по высоте (fdFit): .tight — строки плотнее; .tight2 — без второй полосы и подсказки; .tight3 — подпериоды без названий, шапка периода уже */
.fd-scheme.tight{gap:5px;padding-top:10px;padding-bottom:10px}
.fd-scheme.tight .fds-grid{gap:3px}
.fd-scheme.tight .fds-c{padding:2px 5px 2px 2px;column-gap:5px}
.fd-scheme.tight .fds-c .g{width:calc(20px*var(--fz));height:calc(20px*var(--fz));border-radius:6px;font-size:calc(12.5px*var(--fz))}
.fd-scheme.tight .fds-cn{font-size:calc(12px*var(--fz));line-height:1.1}
.fd-scheme.tight .fds-cd,.fd-scheme.tight .fds-hd{line-height:1.1}
.fd-scheme.tight .fds-h{padding-top:2px;padding-bottom:2px}
.fd-scheme.tight .fds-h .fd-sw{width:calc(26px*var(--fz));height:calc(26px*var(--fz));font-size:calc(15px*var(--fz))}
.fd-scheme.tight .fds-hn b{font-size:calc(13px*var(--fz));line-height:1.1}
.fd-scheme.tight2 .fd-bar2,.fd-scheme.tight2 .fds-hint{display:none}
.fd-scheme.tight3 .fds-cn,.fd-scheme.tight3 .fds-hd{display:none}
.fd-scheme.tight3 .fds-c{grid-template-rows:auto}
.fd-scheme.tight3 .fds-c .g{grid-row:auto}
.fd-scheme.tight3 .fds-r,.fd-scheme.tight3 .fds-year{grid-template-columns:calc(150px*var(--fz)) minmax(0,1fr)}
/* .narrow (fdFit: дата в клетке не помещается) — значок и название сверху, дата во всю ширину под ними; у шапки периода — без дат */
.fd-scheme.narrow .fds-r,.fd-scheme.narrow .fds-year{grid-template-columns:calc(168px*var(--fz)) minmax(0,1fr)}
.fd-scheme.narrow .fds-hd{display:none}
.fd-scheme.narrow .fds-hn{flex-wrap:wrap;row-gap:0}
.fd-scheme.narrow .fds-c{row-gap:1px}
.fd-scheme.narrow .fds-c .g{grid-row:1;width:calc(18px*var(--fz));height:calc(18px*var(--fz));border-radius:5px;font-size:calc(11.5px*var(--fz))}
.fd-scheme.narrow .fds-cd{grid-column:1 / -1}
/* .narrow-h — шапка периода сжата до значка и возраста (название — в подсказке и в окне), годовые — подписью над полосой */
.fd-scheme.narrow-h .fds-r{grid-template-columns:calc(56px*var(--fz)) minmax(0,1fr)}
.fd-scheme.narrow-h .fds-year{grid-template-columns:minmax(0,1fr)}
.fd-scheme.narrow-h .fds-yl{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 8px}
.fd-scheme.narrow-h .fds-h{grid-template-columns:minmax(0,1fr);justify-items:center;row-gap:1px;padding:2px}
.fd-scheme.narrow-h .fds-h .fd-sw{grid-row:auto;width:calc(20px*var(--fz));height:calc(20px*var(--fz));border-radius:6px;font-size:calc(12.5px*var(--fz))}
.fd-scheme.narrow-h .fds-hn b{display:none}
.fd-scheme.narrow-h .fds-hn small{font-size:calc(9.5px*var(--fz));line-height:1.1}
.fd-scheme.narrow-h .fds-ys{grid-template-columns:repeat(auto-fit,minmax(calc(44px*var(--fz)),1fr))}
.fd-scheme.narrow-h .fds-y{flex-direction:column;gap:1px;padding:2px}
.fd-scheme.narrow-h .fds-none,.fd-scheme.tight .fds-none{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* .narrow-y — год двумя цифрами */
.fds-cd .ds,.fd-scheme.narrow-y .fds-cd .dl{display:none}
.fd-scheme.narrow-y .fds-cd .ds{display:inline}
/* .noname — плитка «значок сверху, дата под ним» без названия */
.fd-scheme.noname .fds-cn{display:none}
.fd-scheme.noname .fds-c{grid-template-columns:minmax(0,1fr);justify-items:center}
.fd-scheme.noname .fds-c .g{grid-row:auto;width:calc(18px*var(--fz));height:calc(18px*var(--fz));border-radius:5px;font-size:calc(11.5px*var(--fz))}
.fd-scheme.noname .fds-c{padding:2px;row-gap:1px}
.fd-scheme.noname .fds-cd{grid-column:auto;text-align:center;max-width:100%}
/* телефон (или .narrow-s на узкой карточке): шапка периода над подпериодами, подпериоды в 4 колонки */
.fd-scheme.narrow-s .fds-r,.fd-scheme.narrow-s .fds-year{grid-template-columns:minmax(0,1fr)}
.fd-scheme.narrow-s .fds-h{grid-template-columns:auto minmax(0,1fr);justify-items:stretch}
.fd-scheme.narrow-s .fds-h .fd-sw{grid-row:1 / span 2;width:calc(32px*var(--fz));height:calc(32px*var(--fz))}
.fd-scheme.narrow-s .fds-hn b,.fd-scheme.narrow-s .fds-hd{display:block}
.fd-scheme.narrow-s .fds-subs{grid-template-columns:repeat(4,minmax(0,1fr))}
.fd-scheme.narrow-s .fds-r{gap:3px;margin-bottom:4px}
@container fdscheme (max-width:620px){.fds-r,.fds-year,.fd-scheme.tight3 .fds-r,.fd-scheme.tight3 .fds-year,.fd-scheme.narrow .fds-r,.fd-scheme.narrow .fds-year{grid-template-columns:minmax(0,1fr)}.fds-hd,.fd-scheme.narrow .fds-hd{display:block}.fds-subs{grid-template-columns:repeat(4,minmax(0,1fr))}.fds-r{gap:3px;margin-bottom:4px}.fds-ticks [data-a="70"]{display:none}.fds-bars .fd-bar2 i{font-size:0}}
.fd-sw{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;color:#fff;font:400 calc(20px*var(--fz)) var(--f-glyph)}
.fd-sn{display:grid;min-width:0;font-weight:700;font-size:calc(14px*var(--fz))}
.fd-sn small{font-size:calc(12.5px*var(--fz));color:var(--muted);font-weight:500}
.fd-dt{white-space:nowrap}
/* «Сейчас» под схемой: слева период, справа текущий подпериод */
.fd-now-g{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:18px;align-items:start}
.fd-now-g > .stack > p,.fd-now-g h3{color:var(--night-ink)}
@media (max-width:900px){.fd-now-g{grid-template-columns:minmax(0,1fr)}}
.fd-now .muted,.fd-now .label{color:var(--night-muted)}
.fd-now .tag.acc{background:rgba(255,255,255,.16);color:#fff}
/* окно периода: подпериоды списком */
.fd-plist{display:grid;gap:5px}
.fd-pli{appearance:none;font:inherit;color:var(--ink);text-align:left;cursor:pointer;display:grid;grid-template-columns:calc(58px*var(--fz)) minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:7px 12px;border:1px solid var(--line-soft);border-radius:12px;background:var(--surface-2)}
.fd-pli .g{font-size:calc(16px*var(--fz));color:var(--lav-strong)}
.fd-pli:hover{background:var(--lav-soft);border-color:var(--lav)}
.fd-pli.cur{border-color:var(--gold-2);background:var(--gold-soft)}
.fd-pli.past{opacity:.7}
@media (max-width:640px){.fd-pli{grid-template-columns:calc(50px*var(--fz)) minmax(0,1fr)}.fd-pli .fd-dt,.fd-pli .tag{grid-column:2}}
/* астрокарта: обычная карта мира */
.acg-map{height:clamp(360px,58vh,600px);background:var(--surface-2);border:1px solid var(--line);isolation:isolate;z-index:0}
.acg-map > svg{height:100%;width:100%}
.acg-map.leaflet-container{font-family:var(--f-ui);background:#AAD3DF}
.acg-map.dark .leaflet-tile-pane{filter:invert(1) hue-rotate(180deg) brightness(.92) contrast(.88) saturate(.7)}
.acg-map.dark.leaflet-container{background:#1b2230}
.acg-loading{display:grid;place-items:center;height:100%;color:var(--muted);font-size:calc(14px*var(--fz))}
.acg-lab span{display:inline-flex;align-items:baseline;gap:2px;padding:2px 6px 2px 5px;border-radius:999px;color:#fff;font:400 calc(14px*var(--fz))/1.2 var(--f-glyph);box-shadow:0 2px 6px rgba(0,0,0,.3);white-space:nowrap;cursor:pointer;transform:translate(-50%,-50%)}
.acg-lab span small{font:800 calc(10.5px*var(--fz)) var(--f-ui);letter-spacing:.04em}
.acg-pt i{display:block;width:18px;height:18px;border-radius:50%;border:3px solid #fff;box-shadow:0 1px 6px rgba(0,0,0,.45)}
.acg-pt.birth i{background:#E5A92E} .acg-pt.here i{background:#2F6FD6}
.leaflet-tooltip.acg-tt{font:600 calc(13px*var(--fz)) var(--f-ui)}
.acg-style button{padding:7px 11px;font-size:calc(12.5px*var(--fz))}
.tap-row{cursor:pointer;border-radius:10px;transition:background .12s}
.tap-row:hover{background:var(--lav-soft)}
/* «Сегодня»: лента дней-слайдер и список дней */
.dslider{display:grid;gap:8px}
.wstrip.dstrip{display:flex;gap:8px;width:max-content;padding:4px 2px 8px;grid-template-columns:none}
.dstrip .ws{width:calc(136px*var(--fz));flex:none}
.dstrip .ws.today{border-color:var(--gold-2)}
.dstrip .ws .ws-today{position:absolute;right:8px;bottom:8px;font:800 calc(10.75px*var(--fz)) var(--f-ui);font-style:normal;color:var(--gold);text-transform:uppercase;letter-spacing:.06em}
.dsl-range{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:0 46px}
.dsl-range input{width:100%;accent-color:var(--lav-strong);cursor:pointer;height:26px;margin:0}
@media (max-width:640px){.dsl-range{padding:0 4px}.dstrip .ws{width:118px}.daynav{flex-wrap:wrap}}
.dl-list{display:grid;gap:4px}
.dl-week{font:800 calc(11.5px*var(--fz)) var(--f-ui);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding:10px 4px 2px}
.dl-row{appearance:none;display:grid;grid-template-columns:calc(64px*var(--fz)) auto minmax(0,1fr) auto;gap:12px;align-items:center;text-align:left;border:1px solid var(--line-soft);background:var(--surface);border-radius:12px;padding:8px 12px;cursor:pointer;color:var(--ink);font:inherit;border-left:4px solid var(--dot-0)}
.dl-row:hover{background:var(--lav-soft)}
.dl-row.l2{border-left-color:var(--dot-p2)} .dl-row.l1{border-left-color:var(--dot-p1)} .dl-row.lm1{border-left-color:var(--dot-m1)} .dl-row.lm2{border-left-color:var(--dot-m2)}
.dl-row.sel{box-shadow:0 0 0 2px var(--lav-strong)}
.dl-row.today .dl-d b{color:var(--gold)}
.dl-d{display:grid;line-height:1.15} .dl-d b{font:700 calc(15px*var(--fz)) var(--f-mono)} .dl-d small{font-size:calc(12px*var(--fz));color:var(--muted)}
.dl-t{display:grid;font:600 calc(17px*var(--fz))/1.15 var(--f-display)} .dl-t small{font:500 calc(12px*var(--fz)) var(--f-ui);color:var(--muted)}

[data-amean],[data-acities],[data-spark],[data-dyn="moments"]{min-width:0}
@media (max-width:440px){.top-in{gap:6px;padding:10px 12px}.brand{font-size:calc(21px*var(--fz));gap:8px}.brand-mark{width:26px;height:26px}.who{max-width:42vw;padding:4px 10px 4px 5px}.top .iconbtn{width:36px;height:36px}}
.shell{grid-template-columns:minmax(0,1fr)}
@media (min-width:980px){.shell{grid-template-columns:calc(64px + 184px*var(--fz)) minmax(0,1fr)}}

/* ---------- 4-я волна (12.10.2026, вечер): крупный текст, большое колесо, крутить мышью ---------- */
/* размер текста в шапке: «Aa» — обычный → крупный → очень крупный */
/* «Карта»: страница во всю ширину, колесо — почти на всю область (по высоте экрана), справа машина времени и транзиты */
.main[data-page="chart"]{max-width:1880px}
.main[data-page="chart"] #portrait{max-width:1240px}
.chart-side{display:grid;gap:14px;align-content:start;min-width:0}
.tb-card{display:grid;gap:8px;padding:14px;border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);min-width:0}
.tb-card-h{display:grid;gap:4px}
.tb-card .timebar{padding:10px;background:var(--surface-2)}
.tb-card .rect-banner{margin-top:4px}
/* в колонке справа шаг перемотки — во всю ширину, единицы делят её поровну (английские «hour», «year» не распирают колонку) */
.tb-card .tb-step{width:100%}
.tb-card .tb-units{flex:1;min-width:0;justify-content:space-between}
.tb-card .tb-units button{flex:1 1 0;min-width:0;padding:7px 2px}
@media (min-width:1101px){
  .chart-layout > .wheel-card{position:sticky;top:72px}
  .chart-layout .wheel-box{max-width:none;width:min(100%,max(440px,calc(100vh - 215px)))}
}
/* колесо крутится: зажать круг мышью — «рука», при вращении — «сжатая рука»; планеты по-прежнему нажимаются */
.scrub .nw{cursor:grab;touch-action:pan-y}
.scrub .nw .nw-pl{cursor:pointer}
body.scrubbing,body.scrubbing *{cursor:grabbing!important;user-select:none}
.scrub-badge{position:fixed;z-index:92;display:grid;gap:2px;justify-items:start;padding:10px 16px;border-radius:16px;background:color-mix(in srgb,var(--tip-bg) 92%,transparent);color:var(--tip-fg);box-shadow:0 14px 34px -12px rgba(20,10,40,.55);pointer-events:none;text-align:left}
.scrub-badge b{font:700 calc(18px*var(--fz))/1.2 var(--f-mono);letter-spacing:.02em}
.scrub-badge span{font:600 calc(12.5px*var(--fz))/1.2 var(--f-ui);opacity:.85}

/* ===== Гороскоп ===== */
.horo-signs{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}
@media (max-width:1100px){.horo-signs{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:560px){.horo-signs{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}}
.hsign{appearance:none;position:relative;display:grid;justify-items:center;gap:3px;padding:12px 6px 10px;border:1px solid var(--line);border-radius:16px;background:var(--surface);color:var(--ink);cursor:pointer;transition:transform .15s,border-color .15s,box-shadow .15s,background .15s;font:inherit}
.hsign:hover{transform:translateY(-2px);border-color:var(--lav);box-shadow:var(--shadow)}
.hsign .g{font:400 calc(30px*var(--fz))/1 var(--f-glyph);color:var(--lav-strong)}
.hsign b{font:700 calc(14px*var(--fz))/1.15 var(--f-ui)}
.hsign small{font:500 calc(11.5px*var(--fz))/1 var(--f-mono);color:var(--muted)}
.hsign .me{position:absolute;top:6px;right:8px;font-style:normal;color:var(--gold);font-size:calc(14px*var(--fz))}
.hsign[aria-pressed="true"]{background:linear-gradient(150deg,#9479D6,#5B3A9E);border-color:transparent;color:#fff;box-shadow:0 12px 26px -14px rgba(91,58,158,.9)}
.hsign[aria-pressed="true"] .g{color:#FFE2A8}
.hsign[aria-pressed="true"] small{color:rgba(255,255,255,.8)}
.hsign[aria-pressed="true"] .me{color:#FFE2A8}
.horo-people{gap:6px}
/* 16.10 (Алина): знак — по Асценденту; ★ — Асцендент, ☉ — Солнце */
.hsign .me.sun{color:var(--muted);font-family:var(--f-glyph)}
.hsign[aria-pressed="true"] .me.sun{color:rgba(255,255,255,.85)}
.horo-asc{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:start;padding:12px 16px;border-radius:16px;background:var(--gold-soft,#FFF6E0);border:1px solid color-mix(in srgb,var(--gold-2,#D9A441) 45%,transparent)}
.horo-asc .ha-ic{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--surface);color:var(--gold-2,#B07A12);font:800 calc(18px*var(--fz))/1 var(--f-ui);box-shadow:var(--shadow)}
.horo-asc b{font:700 calc(15px*var(--fz))/1.3 var(--f-ui)}
.horo-asc p{margin:0;line-height:1.5;font-size:calc(14px*var(--fz))}
.horo-asc .ha-me{display:flex;flex-wrap:wrap;gap:8px 10px;align-items:center}
.horo-asc .ha-me .btn .g{font-family:var(--f-glyph)}
/* «Периоды»: фильтры, карточки периодов (раскрываются), «для тебя» по дому, даты, что делать / чего избегать */
.hp-filter{gap:6px}
.hp-list{display:grid;gap:8px}
.hp-item{border:1px solid var(--line-soft);border-radius:16px;background:var(--surface-2);overflow:hidden}
.hp-item.now{border-color:color-mix(in srgb,var(--lav-strong) 55%,transparent);background:var(--lav-soft)}
.hp-item > summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px 12px;align-items:center;padding:10px 14px}
.hp-item > summary::-webkit-details-marker{display:none}
.hp-g{position:relative;width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:var(--surface);border:1px solid var(--line-soft)}
.hp-g .g{font:400 calc(22px*var(--fz))/1 var(--f-glyph);color:var(--lav-strong)}
.hp-g i{position:absolute;right:2px;bottom:0;font:700 calc(11px*var(--fz))/1 var(--f-glyph);font-style:normal;color:var(--bad,#C9271F)}
.hp-g.ecl{background:linear-gradient(135deg,var(--surface) 50%,var(--lav-soft) 50%)}
.hp-t{display:grid;gap:2px;min-width:0}
.hp-t b{font:700 calc(15px*var(--fz))/1.3 var(--f-ui)}
.hp-t small{font:500 calc(12.5px*var(--fz))/1.2 var(--f-mono);color:var(--muted)}
.hp-tags{display:flex;flex-wrap:wrap;gap:4px;justify-content:flex-end}
.hp-st.now{background:var(--lav-strong);color:#fff;border-color:transparent}
.hp-st.shadow{background:var(--surface-3,var(--surface));color:var(--muted)}
.hp-st.soon{background:var(--gold-soft,#FFF0C8);color:var(--ink)}
.hp-body{display:grid;gap:10px;padding:2px 14px 14px 66px}
.hp-you{margin:0;line-height:1.55}
.hp-you .label{display:block;margin-bottom:3px}
.hp-you2{margin:0;line-height:1.5;font-size:calc(14px*var(--fz))}
.hp-dates{gap:6px}
.hp-da{display:grid;grid-template-columns:repeat(auto-fit,minmax(calc(220px*var(--fz)),1fr));gap:8px 18px}
.hp-da ul{margin:4px 0 0;padding-left:18px;display:grid;gap:2px;font-size:calc(14px*var(--fz))}
@media (max-width:640px){.hp-item > summary{grid-template-columns:auto minmax(0,1fr)}.hp-tags{grid-column:1/-1;justify-content:flex-start}.hp-body{padding:2px 12px 12px}}
.horo-layout{display:grid;grid-template-columns:minmax(0,1fr) calc(330px*var(--fz));gap:18px;align-items:start}
@media (max-width:1100px){.horo-layout{grid-template-columns:1fr}}
.horo-side{position:sticky;top:76px;display:grid;gap:14px}
@media (max-width:1100px){.horo-side{position:static}}
.horo-card{display:grid;gap:16px;padding:20px}
.horo-top{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}
.horo-id{display:flex;gap:14px;align-items:center}
.horo-glyph{font:400 calc(54px*var(--fz))/1 var(--f-glyph);color:var(--lav-strong);width:calc(72px*var(--fz));height:calc(72px*var(--fz));display:grid;place-items:center;border-radius:50%;background:radial-gradient(circle at 35% 30%,var(--gold-soft),var(--lav-soft));box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--gold) 45%,transparent)}
.horo-id h2{font:600 calc(32px*var(--fz))/1 var(--f-display);margin:0}
.horo-nav{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 10px;border-radius:14px;background:var(--surface-2);border:1px solid var(--line-soft)}
.horo-nav b{font:700 calc(15px*var(--fz)) var(--f-ui);min-width:0}
.horo-nav .horo-share{margin-left:auto}
.horo-body{display:grid;gap:16px;min-height:120px;position:relative}
.horo-body.fade-in{animation:viewIn .35s ease both}
.horo-day{display:grid;gap:16px}
.hd-score{display:flex;gap:16px;align-items:center}
.hd-title{font:600 calc(26px*var(--fz))/1.1 var(--f-display)}
.hd-sph,.hw-best{display:grid;gap:8px}
.hsr{display:grid;grid-template-columns:calc(26px*var(--fz)) calc(112px*var(--fz)) minmax(0,1fr) auto;gap:10px;align-items:center;font-size:calc(14px*var(--fz))}
.hsr .ic{color:var(--lav-strong);display:grid;place-items:center}
.hsr .nm{font-weight:600}
.hsr .small{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.hd-text .lead{font-size:calc(16.5px*var(--fz));line-height:1.6;margin:0 0 6px}
.hd-facts .tag{background:var(--surface-2);border:1px solid var(--line)}
.hd-facts .tag.ok{background:color-mix(in srgb,var(--lv-p2) 50%,var(--surface));border-color:transparent}
.hd-facts .tag.bad{background:color-mix(in srgb,var(--lv-m1) 55%,var(--surface));border-color:transparent}
.hd-facts .tag.acc{background:var(--lav-soft);border-color:transparent}
.hd-tips{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:10px}
.htip{border-radius:14px;padding:12px 14px;display:grid;gap:6px;border:1px solid var(--line)}
.htip.ok{background:color-mix(in srgb,var(--lv-p2) 35%,var(--surface))}
.htip.bad{background:color-mix(in srgb,var(--lv-m1) 40%,var(--surface))}
.htip p{margin:0}
.hblock{display:grid;gap:6px;padding:14px 16px;border-radius:16px;background:var(--surface-2);border:1px solid var(--line-soft)}
.hblock h4{display:flex;gap:10px;align-items:center;font:700 calc(15.5px*var(--fz))/1.3 var(--f-ui);margin:0}
.hblock h4 .g{font:400 calc(20px*var(--fz))/1 var(--f-glyph);color:var(--lav-strong);width:1.3em;text-align:center;flex:none}
.hblock p{margin:0;line-height:1.55}
.hw-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.hwd{appearance:none;display:grid;justify-items:center;gap:4px;padding:10px 2px;border-radius:14px;border:1px solid var(--line);background:var(--surface);cursor:pointer;font:inherit;color:var(--ink)}
.hwd:hover{border-color:var(--lav);box-shadow:var(--shadow)}
.hwd .wd{font:700 calc(12px*var(--fz)) var(--f-ui);color:var(--muted);text-transform:uppercase}
.hwd .dt{font:600 calc(12.5px*var(--fz)) var(--f-mono)}
.hwd .g{font:400 calc(15px*var(--fz)) var(--f-glyph);color:var(--muted)}
@media (max-width:560px){.hw-days{gap:3px}.hwd{padding:8px 0}.hwd .ring-pts{transform:scale(.82)}}
.hm-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}
.hm-grid .wdh{font:700 calc(11.5px*var(--fz)) var(--f-ui);color:var(--muted);text-align:center;text-transform:uppercase;padding-bottom:2px}
.hmd{appearance:none;position:relative;display:grid;grid-template-rows:auto 1fr;justify-items:center;align-items:center;min-height:calc(54px*var(--fz));border-radius:12px;border:1px solid var(--line-soft);cursor:pointer;font:inherit;color:var(--ink);padding:4px 2px}
.hmd .n{font:600 calc(11.5px*var(--fz)) var(--f-mono);color:var(--muted);justify-self:start;padding-left:5px}
.hmd b{font:800 calc(17px*var(--fz)) var(--f-ui)}
.hmd i{position:absolute;right:5px;top:3px;font-style:normal;font-size:calc(10px*var(--fz));color:var(--lav-strong)}
.hmd.l2{background:color-mix(in srgb,var(--lv-p2) 70%,var(--surface))} .hmd.l1{background:color-mix(in srgb,var(--lv-p1) 60%,var(--surface))} .hmd.l0{background:var(--surface)}
.hmd.lm1{background:color-mix(in srgb,var(--lv-m1) 60%,var(--surface))} .hmd.lm2{background:color-mix(in srgb,var(--lv-m2) 65%,var(--surface))}
.hmd.now{outline:2px solid var(--lav-strong);outline-offset:1px}
.hmd:hover{border-color:var(--lav-strong)}
.hy-wrap{display:grid;gap:10px}
.hy-bars{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:6px;height:calc(170px*var(--fz));align-items:end}
.hyb{appearance:none;border:0;background:transparent;cursor:pointer;display:grid;grid-template-rows:1fr auto auto;justify-items:center;height:100%;padding:0;font:inherit;color:var(--ink)}
.hyb i{display:none;width:72%;border-radius:8px 8px 4px 4px;align-self:end;transition:height .3s}
.hy-bars[data-ys="overall"] .hyb i[data-s="overall"],.hy-bars[data-ys="love"] .hyb i[data-s="love"],.hy-bars[data-ys="money"] .hyb i[data-s="money"],.hy-bars[data-ys="career"] .hyb i[data-s="career"],.hy-bars[data-ys="energy"] .hyb i[data-s="energy"]{display:block}
.hyb b{display:none;font:800 calc(12.5px*var(--fz)) var(--f-ui);margin-top:4px}
.hy-bars[data-ys="overall"] .hyb b[data-s="overall"],.hy-bars[data-ys="love"] .hyb b[data-s="love"],.hy-bars[data-ys="money"] .hyb b[data-s="money"],.hy-bars[data-ys="career"] .hyb b[data-s="career"],.hy-bars[data-ys="energy"] .hyb b[data-s="energy"]{display:block}
.hyb span{font:600 calc(11px*var(--fz)) var(--f-ui);color:var(--muted);text-transform:uppercase}
.hyb:hover i{filter:brightness(1.05);box-shadow:0 0 0 2px var(--lav-strong)}
.horo-me .dp-head{display:flex;gap:12px;align-items:center}
.horo-conj{position:absolute;inset:0;display:grid;place-items:center;background:var(--surface);z-index:3;border-radius:14px;animation:fade .2s ease both;min-height:200px}
.horo-conj svg{width:min(220px,60%);height:auto}
.horo-conj .c1{fill:none;stroke:var(--line-strong);stroke-width:1.2}
.horo-conj .c2{fill:none;stroke:var(--gold);stroke-width:1;stroke-dasharray:2 4;opacity:.7}
.horo-conj .zr{transform-origin:100px 100px;animation:zr var(--dur) cubic-bezier(.3,.7,.2,1) both}
.horo-conj text{font:400 18px var(--f-glyph);fill:var(--muted)}
.horo-conj text.on{fill:var(--gold);font-size:24px;filter:drop-shadow(0 0 6px rgba(214,172,94,.8))}
@keyframes zr{from{transform:rotate(calc(var(--to) + 220deg));opacity:.3}to{transform:rotate(var(--to));opacity:1}}

/* ===== Нумерология ===== */
.nf-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) auto;gap:12px;align-items:start}
@media (max-width:760px){.nf-grid{grid-template-columns:1fr}}
.nf-grid .btn{height:calc(46px*var(--fz));margin-top:calc(25px*var(--fz))}
@media (max-width:760px){.nf-grid .btn{margin-top:0}}
.ntabs{justify-self:start}
.numbody{display:grid;gap:16px}
.numbody.fade-in{animation:viewIn .35s ease both}
.nn-1{--nc:#E0605A} .nn-2{--nc:#E59A3A} .nn-3{--nc:#D4B21E} .nn-4{--nc:#4EA86B} .nn-5{--nc:#2FA5A0} .nn-6{--nc:#3D7FD6} .nn-7{--nc:#6B52C8} .nn-8{--nc:#A1458F} .nn-9{--nc:#C4566F} .nn-m{--nc:#A1722A}
.nbadge{flex:none;display:grid;place-items:center;width:calc(50px*var(--fz));height:calc(50px*var(--fz));border-radius:50%;font:800 calc(22px*var(--fz))/1 var(--f-ui);color:#fff;background:radial-gradient(circle at 32% 28%,color-mix(in srgb,var(--nc,#8E6FD0) 55%,#fff),var(--nc,#8E6FD0) 70%);box-shadow:0 8px 18px -10px var(--nc,#8E6FD0),inset 0 0 0 2px rgba(255,255,255,.35)}
.nbadge.lg{width:calc(74px*var(--fz));height:calc(74px*var(--fz));font-size:calc(32px*var(--fz))}
.nbadge.sm{width:calc(36px*var(--fz));height:calc(36px*var(--fz));font-size:calc(16px*var(--fz))}
.nn-m.nbadge{background:radial-gradient(circle at 32% 28%,#FFE6B0,#B8862B 70%);color:#3B2600}
.nmain{display:grid;gap:12px}
.ngrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,calc(260px*var(--fz))),1fr));gap:10px}
.ntile{appearance:none;text-align:left;display:flex;gap:14px;align-items:flex-start;padding:16px;border-radius:18px;border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);color:var(--ink);font:inherit;cursor:pointer;transition:transform .15s,border-color .15s}
.ntile:hover{transform:translateY(-2px);border-color:var(--lav)}
.ntile.static{cursor:default}.ntile.static:hover{transform:none;border-color:var(--line)}
.ntile.ghost{cursor:default;background:var(--surface-2);box-shadow:none;border-style:dashed}
.ntile.ghost .nbadge{background:var(--line);color:var(--muted);box-shadow:none}
.ntile .ntxt{display:grid;gap:5px;min-width:0}
.ntile .ntxt b{font:600 calc(20px*var(--fz))/1.15 var(--f-display)}
.ntile .ntxt small{font-size:calc(14px*var(--fz));line-height:1.5;color:var(--ink)}
.ntile.big{padding:20px;background:linear-gradient(140deg,var(--surface) 40%,var(--lav-soft))}
.ntile.big .nbadge{width:calc(84px*var(--fz));height:calc(84px*var(--fz));font-size:calc(38px*var(--fz))}
.ntile.big .ntxt b{font-size:calc(28px*var(--fz))}
.ntile.big .ntxt small{font-size:calc(15.5px*var(--fz))}
.nletters{display:grid;gap:10px}
.nword{display:flex;flex-wrap:wrap;gap:4px;align-items:center}
.nword span{display:grid;justify-items:center;min-width:calc(28px*var(--fz));padding:4px 3px;border-radius:8px;background:var(--surface-2);border:1px solid var(--line-soft)}
.nword span.v{background:var(--lav-soft);border-color:color-mix(in srgb,var(--lav) 50%,transparent)}
.nword b{font:700 calc(15px*var(--fz)) var(--f-ui)} .nword i{font:600 calc(11.5px*var(--fz)) var(--f-mono);font-style:normal;color:var(--muted)}
.nword em{font:700 calc(14px*var(--fz)) var(--f-mono);font-style:normal;margin-left:6px;color:var(--lav-strong)}
.sq-wrap{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:18px;align-items:start}
@media (max-width:900px){.sq-wrap{grid-template-columns:1fr}}
.sq{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.sqc{appearance:none;text-align:left;display:grid;gap:4px;align-content:start;min-height:calc(120px*var(--fz));padding:12px;border-radius:14px;border:1px solid var(--line);background:var(--surface);cursor:pointer;font:inherit;color:var(--ink)}
.sqc:hover{border-color:var(--lav-strong)}
.sqc .dg{font:800 calc(22px*var(--fz))/1 var(--f-mono);color:var(--lav-strong);letter-spacing:.04em;overflow-wrap:anywhere}
.sqc b{font:700 calc(13.5px*var(--fz)) var(--f-ui)}
.sqc small{font-size:calc(12.5px*var(--fz));line-height:1.4;color:var(--muted)}
.sqc.l0{background:var(--surface-2)} .sqc.l0 .dg{color:var(--faint)}
.sqc.l3,.sqc.l4{background:color-mix(in srgb,var(--lv-p2) 40%,var(--surface))}
.nline{grid-template-columns:calc(150px*var(--fz)) minmax(0,1fr) calc(30px*var(--fz))}
.nline .nl-t{grid-column:1/-1;font-size:calc(12.5px*var(--fz));color:var(--muted);margin-top:-4px}
.nyear{display:grid;gap:14px}
.nmonths{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:5px}
@media (max-width:760px){.nmonths{grid-template-columns:repeat(6,minmax(0,1fr))}}
.nm{display:grid;justify-items:center;gap:3px;padding:8px 2px;border-radius:12px;border:1px solid var(--line-soft);background:var(--surface)}
.nm.now{outline:2px solid var(--lav-strong)}
.nm span{font:700 calc(11px*var(--fz)) var(--f-ui);text-transform:uppercase;color:var(--muted)}
.nm b{font:800 calc(20px*var(--fz)) var(--f-ui);color:var(--nc)}
.nm small{font-size:calc(11px*var(--fz));color:var(--muted)}
.ndays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.ndays .wdh{font:700 calc(11.5px*var(--fz)) var(--f-ui);color:var(--muted);text-align:center;text-transform:uppercase}
.nd{display:grid;grid-template-rows:auto 1fr;padding:4px 6px;min-height:calc(46px*var(--fz));border-radius:10px;background:color-mix(in srgb,var(--nc) 14%,var(--surface));border:1px solid color-mix(in srgb,var(--nc) 30%,transparent)}
.nd span{font:600 calc(11px*var(--fz)) var(--f-mono);color:var(--muted)}
.nd b{font:800 calc(17px*var(--fz)) var(--f-ui);color:var(--nc);justify-self:center}
.nd.now{outline:2px solid var(--lav-strong);outline-offset:1px}
.npair{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:14px;align-items:center}
@media (max-width:760px){.npair{grid-template-columns:1fr}}
.np-mid{display:grid;justify-items:center;gap:6px;text-align:center}
.np-mid b{font-size:calc(12.5px*var(--fz));color:var(--muted)}

/* ===== Небо и Луна ===== */
.sky-now{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,1fr);gap:14px}
@media (max-width:1100px){.sky-now{grid-template-columns:minmax(0,1fr)}}
.sky-moon .tag,.hd-facts .tag{white-space:normal}
.sky-moon{display:flex;gap:16px;align-items:center}
.sky-moon > svg{flex:none}
.sky-moon .stack{min-width:0}
@media (max-width:560px){.sky-moon{align-items:flex-start}.sky-moon > svg{width:64px;height:64px}}
.sm-t{font:600 calc(22px*var(--fz))/1.15 var(--f-display)}
.sky-li{display:grid;grid-template-columns:calc(22px*var(--fz)) minmax(0,1fr) auto;gap:4px 8px;align-items:center;font-size:calc(14px*var(--fz))}
.sky-li .g{font:400 calc(16px*var(--fz)) var(--f-glyph);color:var(--lav-strong);grid-row:span 2}
.sky-li b{font:700 calc(13px*var(--fz)) var(--f-mono)}
.sky-li small{grid-column:2/-1;color:var(--muted);font-size:calc(12px*var(--fz))}
.sky-body{display:grid;gap:14px}
.sky-body.fade-in{animation:viewIn .35s ease both}
.mc-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}
.mc-grid .wdh{font:700 calc(11.5px*var(--fz)) var(--f-ui);color:var(--muted);text-align:center;text-transform:uppercase}
.mcd{appearance:none;position:relative;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto auto;gap:2px 4px;align-items:center;justify-items:start;min-height:calc(78px*var(--fz));padding:6px 7px 9px;border-radius:12px;border:1px solid var(--line-soft);background:var(--surface);cursor:pointer;font:inherit;color:var(--ink);text-align:left}
.mcd:hover{border-color:var(--lav-strong)}
.mcd .n{font:700 calc(12.5px*var(--fz)) var(--f-mono);color:var(--muted)}
.mcd svg{grid-row:1/3;grid-column:2;justify-self:end}
.mcd .sg{font:400 calc(15px*var(--fz)) var(--f-glyph);color:var(--lav-strong);grid-column:1/-1}
.mcd .ldn{font:600 calc(11px*var(--fz)) var(--f-ui);color:var(--gold);grid-column:1/-1}
.mcd .ldn::before{content:"☾ "}
.mcd .vb{position:absolute;bottom:4px;height:4px;min-width:3px;border-radius:2px;background:var(--dot-m2);opacity:.9}
.mcd .pmk{position:absolute;top:5px;left:calc(50% - 6px);font-size:calc(11px*var(--fz));color:var(--lav-strong)}
.mcd.ph{background:color-mix(in srgb,var(--lav-soft) 70%,var(--surface))}
.mcd.now{outline:2px solid var(--lav-strong);outline-offset:1px}
.bad-t{color:color-mix(in srgb,var(--dot-m2) 60%,var(--ink))}
.sky-feed{display:grid;gap:6px}
.sf-m{font:600 calc(22px*var(--fz))/1.1 var(--f-display);margin:12px 0 2px}
.sf-it{display:grid;grid-template-columns:calc(64px*var(--fz)) calc(64px*var(--fz)) minmax(0,1fr);gap:10px;align-items:start;padding:10px 12px;border-radius:14px;border:1px solid var(--line-soft);background:var(--surface);border-left:4px solid var(--line)}
.sf-it.moon{border-left-color:var(--lilac)} .sf-it.planet{border-left-color:var(--at-soft)} .sf-it.retro{border-left-color:var(--at-hard)} .sf-it.ecl{border-left-color:var(--gold)}
.sf-it.big{background:color-mix(in srgb,var(--gold-soft) 60%,var(--surface))}
.sf-d{display:grid;line-height:1.2}.sf-d b{font:700 calc(14px*var(--fz)) var(--f-mono)}.sf-d small{font:500 calc(12px*var(--fz)) var(--f-mono);color:var(--muted)}
.sf-g{font:400 calc(18px*var(--fz))/1.2 var(--f-glyph);color:var(--lav-strong);white-space:nowrap}
.sf-g sup{font:800 calc(10px*var(--fz)) var(--f-ui)}
.sf-it h4{margin:0 0 2px;font:700 calc(15px*var(--fz))/1.3 var(--f-ui)}
.sf-it p{margin:0;font-size:calc(14px*var(--fz));line-height:1.5;color:var(--muted)}
@media (max-width:560px){.sf-it{grid-template-columns:calc(56px*var(--fz)) minmax(0,1fr)}.sf-g{grid-row:2;grid-column:1}}
.rt-axis{position:relative;height:18px;margin-left:calc(130px*var(--fz))}
.rt-axis span{position:absolute;font:600 calc(11px*var(--fz)) var(--f-mono);color:var(--muted);transform:translateX(-2px);white-space:nowrap}
.rt-list{display:grid;gap:8px}
.rt-row{display:grid;grid-template-columns:calc(130px*var(--fz)) minmax(0,1fr);gap:0;align-items:center}
.rt-n{font-size:calc(14px*var(--fz))}
.rt-n .g{font-family:var(--f-glyph);color:var(--lav-strong)}
.rt-track{position:relative;height:18px;border-radius:9px;background:var(--surface-2);border:1px solid var(--line-soft)}
.rt-track i{position:absolute;top:2px;bottom:2px;border-radius:6px}
.rt-track i.sh{background:color-mix(in srgb,var(--at-hard) 22%,transparent)}
.rt-track i.rt{background:var(--lilac)} .rt-track i.rt.fast{background:var(--at-hard)}
.rt-track .nowl{position:absolute;top:-4px;bottom:-4px;width:2px;background:var(--gold);border-radius:1px}
.item.past{opacity:.55}

/* ===== Аккаунт: кнопка в шапке, окно входа, карточка в настройках ===== */
.acct-slot{display:inline-flex;align-items:center}
.acct-login{gap:6px;padding:8px 14px}
@media (max-width:440px){.acct-login span{display:none}.acct-login{padding:8px 10px}}
.acct-btn{appearance:none;position:relative;border:0;background:transparent;padding:2px;border-radius:50%;cursor:pointer;display:grid;place-items:center}
.acct-btn:hover .acct-av{box-shadow:0 0 0 2px var(--lav)}
.acct-av{position:relative;display:inline-grid;place-items:center;border-radius:50%;overflow:hidden;flex:none;background:linear-gradient(135deg,#9479D6,#5B3A9E);color:#fff;font:700 calc(13px*var(--fz))/1 var(--f-ui)}
.acct-av img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.acct-ini{letter-spacing:.02em}
.sync-dot{position:absolute;right:0;bottom:0;width:11px;height:11px;border-radius:50%;border:2px solid var(--bg);background:var(--dot-0)}
.sync-dot.s-ok{background:var(--dot-p2)} .sync-dot.s-saving,.sync-dot.s-dirty{background:var(--amber-fill);animation:pulse 1.2s infinite} .sync-dot.s-offline,.sync-dot.s-error{background:var(--dot-m2)}
.login{display:grid;gap:14px}
.lg-prov{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
@media (max-width:420px){.lg-prov{grid-template-columns:1fr}}
.lg-btn{appearance:none;display:flex;align-items:center;gap:10px;padding:11px 14px;border-radius:14px;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);font:700 calc(14.5px*var(--fz))/1.1 var(--f-ui);cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .15s;text-align:left}
.lg-btn:hover{border-color:var(--lav-strong);box-shadow:var(--shadow);transform:translateY(-1px)}
.lg-btn.busy{opacity:.6;pointer-events:none}
.lg-ic{display:inline-grid;place-items:center;width:calc(24px*var(--fz));height:calc(24px*var(--fz));flex:none}
.lg-ic svg{width:100%;height:100%;display:block}
.lg-ic.sm{width:calc(18px*var(--fz));height:calc(18px*var(--fz))}
.lg-or{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:calc(13px*var(--fz))}
.lg-or::before,.lg-or::after{content:"";flex:1;height:1px;background:var(--line)}
.lg-tabs{justify-self:start}
.pwf{position:relative;display:block}
.pwf .input{padding-right:46px}
.pwf .iconbtn{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:36px;height:36px;border:0;background:transparent}
.lg-err{margin:0;padding:9px 12px;border-radius:12px;background:color-mix(in srgb,var(--lv-m2) 45%,var(--surface));color:var(--ink)}
.lg-note{display:flex;gap:8px;align-items:center;margin:0;padding:10px 12px;border-radius:12px;background:var(--lav-soft)}
.btn.busy{position:relative;color:transparent!important}
.btn.busy::after{content:"";position:absolute;width:18px;height:18px;border-radius:50%;border:2px solid rgba(255,255,255,.5);border-top-color:#fff;animation:thinkSpin .8s linear infinite}
.btn.danger{color:var(--bad);border-color:color-mix(in srgb,var(--bad) 40%,transparent)}
.btn.danger:hover{background:color-mix(in srgb,var(--bad) 10%,var(--surface))}
.acct-card h3{display:flex;gap:8px;align-items:center}
.lg-tag{background:var(--surface-2);border:1px solid var(--line);gap:6px}
.lg-tag .x{appearance:none;border:0;background:transparent;padding:0 0 0 2px;cursor:pointer;color:var(--muted);display:inline-grid;place-items:center}
.lg-tag .x:hover{color:var(--bad)}
.acc-pw summary{cursor:pointer;color:var(--lav-strong);font-weight:700;display:inline-flex;gap:6px;align-items:center}

/* телефон: в шапке тесно — тема и настройки есть в «Ещё» → «Настройки» */
@media (max-width:560px){.top .theme-tg,.top .set-lnk{display:none}}

/* ===== 14.10: «Чья карта» с карандашом и городом проживания ===== */
.who-list{display:grid;gap:10px}
.who-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 10px;align-items:center;border:1px solid var(--line);background:var(--surface);border-radius:18px;padding:8px 10px 8px 8px}
.who-row.on{border-color:var(--lav-strong);box-shadow:0 0 0 1px var(--lav-strong) inset}
.who-pick{appearance:none;border:0;background:transparent;color:var(--ink);font:inherit;text-align:left;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:4px;border-radius:12px;cursor:pointer;min-height:52px}
.who-pick:hover{background:var(--lav-soft)}
.who-pick .ic{width:40px;height:40px;border-radius:13px;display:grid;place-items:center;background:var(--night);color:#FFD8A6;font-weight:700}
.who-n{display:grid;gap:2px;min-width:0}
.who-n b{font-weight:700;font-size:calc(15.5px*var(--fz));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.who-n small{color:var(--muted);font-size:calc(12.5px*var(--fz));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.who-ok{color:var(--lav-strong);display:grid}
.who-side{display:flex;align-items:center;gap:6px;justify-content:flex-end;min-width:0}
@media (max-width:620px){.who-row{grid-template-columns:minmax(0,1fr)}.who-side{justify-content:space-between;padding:0 4px 2px 56px}}
.home-chip{display:inline-flex;align-items:center;gap:6px;min-width:0;max-width:100%}
.home-btn{appearance:none;display:inline-flex;align-items:center;gap:6px;min-height:36px;max-width:100%;border:1px dashed var(--line-strong);background:var(--surface-2);color:var(--ink);border-radius:999px;padding:4px 12px 4px 9px;font:600 calc(13px*var(--fz)) var(--f-ui);cursor:pointer}
.home-btn > span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.home-btn small{color:var(--muted);font-weight:600}
.home-btn .ico{flex:none;color:var(--lav-strong)}
.home-btn:hover{border-style:solid;border-color:var(--lav);background:var(--lav-soft)}
.home-ac{margin:0;min-width:min(260px,62vw)}
.home-ac .input{min-height:38px;padding:6px 12px}
.loc-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}
.loc-bar .tiny{color:var(--muted)}
.cal-loc{margin-left:auto;min-width:0;max-width:100%}
.sky-loc{margin:2px 0 6px}
@media (max-width:700px){.cal-loc{margin-left:0}}

/* ===== 14.10: Профи → Карта: окошко данных над картой, большое колесо + таблица аспектов справа, динамика под картой ===== */
.pro-panel .pp-label{font:600 calc(20px*var(--fz))/1.1 var(--f-display)}
.pro-data{display:grid;gap:10px}
.pd-row{display:flex;flex-wrap:wrap;gap:10px 12px;align-items:flex-end}
.pd-row > .field{margin:0;min-width:0}
.pd-who{flex:1 1 150px;max-width:220px}
.pd-name{flex:1 1 140px;max-width:200px}
.pd-date{flex:1 1 170px;max-width:210px}
.pd-time{flex:0 1 150px}
.pd-row > .field > label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pd-city{flex:2 1 220px}
.pd-go{flex:0 0 auto}
.pd-go .btn{min-height:44px}
.pd-opts{padding-top:10px;border-top:1px solid var(--line-soft)}
.pd-opts > .field{flex:0 1 220px}
.pd-opts .check{align-self:center}
.pd-disp{padding:12px 14px}
.pd-disp > summary{cursor:pointer;font:700 calc(13.5px*var(--fz)) var(--f-ui);color:var(--lav-ink);list-style:none;display:flex;gap:8px;align-items:center}
.pd-disp .pd-hint{font-weight:500;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pd-disp > summary::-webkit-details-marker{display:none}
.pd-disp > summary b{font:600 calc(18px*var(--fz))/1.1 var(--f-display);color:var(--ink)}
.pd-disp-b{margin-top:10px;gap:8px}
.pd-disp-b .label{margin-top:2px}
.pd-disp .toggles{gap:5px}
.pd-disp .toggles .tg{min-width:calc(34px*var(--fz));min-height:calc(32px*var(--fz));padding:2px 6px;font-size:calc(15px*var(--fz))}
.pd-disp .toggles .tg.t{font-size:calc(12.5px*var(--fz))}
/* «Что показывать» по разделам (16.10, Алина): внутренний круг — сиреневая метка (как круг натала на колесе),
   внешний — фиолетовая обводка (как его куспиды), куспиды — графитовая; у каждого раздела свои быстрые наборы справа */
.pd-grp{display:grid;gap:7px;padding:9px 10px 10px;border:1px solid var(--line-soft);border-radius:12px;background:var(--surface-2);min-width:0}
.pd-gh{display:flex;align-items:flex-start;gap:6px;min-width:0}
.pd-gt{display:grid;flex:1 0 auto;max-width:100%}
.pd-gh b{font:700 calc(13.5px*var(--fz))/1.25 var(--f-ui);color:var(--ink);white-space:nowrap}
.pd-gl{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:calc(12px*var(--fz));line-height:1.25;color:var(--muted)}
.pd-gl:empty{display:none}
.pd-qs{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:1px;flex:0 1 auto;min-width:0}
.pd-gh .pd-dot{margin-top:calc(2.5px*var(--fz))}
/* кнопки разделов — сеткой: в колонке справа по 8 в ряд (16 точек — две строки) */
.pd-grp .toggles{display:grid;grid-template-columns:repeat(auto-fill,minmax(calc(30px*var(--fz)),1fr));gap:4px}
.pd-disp .pd-grp .toggles .tg{min-width:0;min-height:calc(30px*var(--fz));padding:0 2px;border-radius:8px}
.pd-sub .toggles{flex:1;min-width:calc(170px*var(--fz))}
.pd-q{appearance:none;border:0;background:none;padding:3px 6px;border-radius:7px;font:700 calc(12px*var(--fz))/1.2 var(--f-ui);color:var(--lav-strong);cursor:pointer;white-space:nowrap}
.pd-q:hover{background:var(--lav-soft)}
.pd-q:focus-visible{outline:2px solid var(--lav);outline-offset:1px}
.pd-dot{width:13px;height:13px;border-radius:50%;flex:none}
.pd-dot.in{background:var(--w-ring-in);box-shadow:inset 0 0 0 2px var(--w-ring-line)}
.pd-dot.out{background:var(--w-paper);box-shadow:inset 0 0 0 2px var(--w-cusp2)}
.pd-dot.cu{background:var(--w-paper);box-shadow:inset 0 0 0 2px var(--w-cusp)}
.pd-dot.asp{display:none}
.pd-grp.off .pd-qs{display:none}
.pd-grp .pd-none{margin:0;line-height:1.4}
.pd-sub{display:flex;align-items:center;gap:6px 8px;flex-wrap:wrap}
.pd-disp .tg:disabled{opacity:.3;cursor:not-allowed}
/* Карта: колесо и динамика под ним — слева, таблица аспектов и «Что показывать» — справа; всё видно разом */
.pro-main{display:grid;grid-template-columns:minmax(0,1fr) minmax(calc(300px*var(--fz)),clamp(330px,32%,calc(470px*var(--fz))));gap:16px;align-items:start}
.pro-main .pro-wheel{gap:8px;padding:12px 14px}
.pro-main .pro-wheel .wheel-box{max-width:none;width:min(100%,max(420px,calc(100vh - 330px)))}
.pro-side{display:grid;gap:12px;align-content:start;min-width:0}
.pro-asp{align-content:start}
.pro-asp .tbl-wrap{overflow-x:auto}
.pro-asp{--ag:calc(32px*var(--fz))}
.pro-asp .asp-grid td,.pro-asp .asp-grid th{width:calc(var(--ag)*.94);height:var(--ag)}
.pro-asp .asp-grid th{font-size:calc(var(--ag)*.53)}
.pro-asp .asp-grid td .a{font-size:calc(var(--ag)*.51)}
.pro-asp .asp-grid td .o{font-size:calc(var(--ag)*.32)}
@media (min-width:1101px){.pro-panel:not(.compact) .pro-side{position:sticky;top:calc(var(--pro-stick,72px) + 6px);max-height:calc(100vh - var(--pro-stick,72px) - 12px);overflow:auto;scrollbar-width:thin}}
@media (max-width:1100px){.pro-main{grid-template-columns:minmax(0,1fr)}}
.pro-panel.compact .pro-main{grid-template-columns:minmax(0,1fr)}
.pro-panel.compact .pro-main .pro-wheel .wheel-box{width:100%}
/* динамика — прямо под колесом, как в Chronos: две строки кругов и ряд шагов */
.pro-dyn{display:grid;gap:6px;padding-top:8px;border-top:1px solid var(--line-soft)}
.pdy-head{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline}
.pdy-head b{font:600 calc(17px*var(--fz))/1.1 var(--f-display)}
.pdy-row{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:center;padding:5px 10px;border-radius:12px;border:1px solid var(--line-soft);background:var(--surface-2)}
.pdy-row > .pdy-what{flex:1 1 150px}
.pdy-row > .pdy-when{flex:0 1 auto;margin-left:auto}
.pdy-row.on{border-color:var(--lav-strong);background:var(--lav-soft)}
.pdy-row[hidden]{display:none}
.pdy-chk{display:inline-flex;align-items:center;cursor:pointer}
.pdy-chk input{width:20px;height:20px;accent-color:var(--lav-strong);margin:0;cursor:pointer}
.pdy-chk input:disabled{opacity:.35;cursor:default}
.pdy-ring{display:inline-flex;align-items:center;white-space:nowrap}
.pdy-ring i{width:14px;height:14px;border-radius:50%;display:inline-block;border:2px solid var(--w-ink)}
.pdy-ring i.rk-in{background:var(--w-paper)} .pdy-ring i.rk-out{background:var(--w-ring2);border-color:var(--w-planet2)}
.pdy-what{display:flex;align-items:center;gap:8px;font-weight:700;font-size:calc(14px*var(--fz));min-width:0}
.pdy-sub{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pdy-when{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;justify-content:flex-end;min-width:0}
.pdy-d{font:600 calc(14px*var(--fz)) var(--f-mono);white-space:nowrap}
.pdy-d span{color:var(--lav-strong)}
.pdy-pl{color:var(--muted);font-size:calc(12px*var(--fz))}
.pdy-dt{display:inline-flex;gap:6px;align-items:center}
.pdy-dt .dfield{width:calc(146px*var(--fz))}
.pdy-dt .input{min-height:34px;padding:4px 10px;font:600 calc(14px*var(--fz)) var(--f-mono)}
.pdy-dt .dfield .input{padding-right:40px}
.pdy-dt .dcal{width:30px}
.pdy-dt .pdy-tm{width:calc(100px*var(--fz))}
.pdy-over{width:auto;min-width:150px;min-height:34px;padding-top:4px;padding-bottom:4px;font-weight:700}
.pdy-steps{display:flex;flex-wrap:wrap;gap:6px 8px;align-items:center}
.pdy-steps .btn.sm{min-height:36px}
.pdy-arr{min-width:44px;justify-content:center;font-weight:800}
.pdy-arr:active{transform:scale(.96)}
.pdy-units button{min-width:calc(46px*var(--fz))}
.pdy-nav{display:inline-flex;gap:6px;align-items:center;min-width:0;max-width:100%}
@media (max-width:640px){.pdy-nav{display:flex;flex:1 1 100%}.pdy-nav .pdy-units{flex:1;min-width:0;display:flex}.pdy-nav .pdy-units button{min-width:0;flex:1;padding-inline:4px}}
.pdy-off{font-size:calc(12.5px*var(--fz));color:var(--lav-ink);font-weight:700;white-space:nowrap}
/* наведение: таблица аспектов ⇄ колесо */
.nw .nw-asp{transition:opacity .12s}
.nw.has-hl .nw-asp{opacity:.13}
.nw.has-hl .nw-asp.hl{opacity:1}
.nw .nw-asp.hl .al{stroke-width:3.6px;opacity:1}
.nw .nw-asp.hl circle{stroke-width:2px}
.nw.has-hl .nw-pl.hl .pl-bg{fill:var(--hl-pl);stroke:var(--lav-strong);stroke-width:2px}
.asp-grid td.hl{outline:3px solid var(--lav-strong);outline-offset:-3px;position:relative;z-index:1}
.asp-grid th.hl{background:var(--lav-soft);color:var(--lav-ink)}
:root{--hl-pl:#F1E9FF}
:root[data-theme="dark"]{--hl-pl:#4A3878}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--hl-pl:#4A3878}}
@media (max-width:640px){
  .pdy-row{padding:7px 9px}
  .pdy-row > .pdy-when{margin-left:0;justify-content:flex-start}
  .pd-who,.pd-name,.pd-date,.pd-time,.pd-city{flex:1 1 100%;max-width:none}
  .pd-go,.pd-go .btn{width:100%}
  .pd-opts > .field{flex:1 1 100%}
}

/* ===== 14.10: диспозиторы графом ===== */
.disp-graph{padding:4px 0 6px}
.disp-svg{display:block;margin:0 auto;max-width:none;height:auto}
.disp-svg g[data-tip]{cursor:help}
.disp-lines{display:grid;gap:6px;margin-top:10px;font:400 calc(17px*var(--fz)) var(--f-glyph)}
.disp-lines .da{margin:0 6px;color:var(--lav);font:600 calc(14px*var(--fz)) var(--f-ui)}
.disp-lines .dh{font:800 calc(13px*var(--fz)) var(--f-ui);color:var(--muted);background:var(--surface-3);border:1px solid var(--line);border-radius:7px;padding:1px 6px}
.seg.sm button{min-height:34px;padding:4px 12px;font-size:calc(13px*var(--fz))}

/* ===== 14.10: фирдарии — все подпериоды ===== */
.fd-bar2{height:24px}
.fd-bar2 i{font-size:calc(11.5px*var(--fz))}
.fd-nodes{font-size:calc(13.5px*var(--fz))}
.fd-s3{display:grid;gap:3px}
.fd-s3r{display:grid;grid-template-columns:calc(78px*var(--fz)) minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:5px 9px;border-radius:9px;font-size:calc(13px*var(--fz));background:var(--surface)}
.fd-s3r .g{font-size:calc(14px*var(--fz));color:var(--lav-strong)}
.fd-s3r .mono{font-size:calc(12px*var(--fz));white-space:nowrap}
.fd-s3r.cur{background:var(--gold-soft);box-shadow:inset 0 0 0 1.5px var(--gold-2)}
@media (max-width:640px){.fd-s3r{grid-template-columns:auto minmax(0,1fr)}.fd-s3r .mono{grid-column:1 / -1}}

/* ===== 14.10: транзиты — дома в скобках ===== */
.tr-hl{display:block;margin-top:3px;font-size:calc(12.5px*var(--fz));color:var(--ink);font-family:var(--f-ui)}
.tr-hl .hb{color:var(--muted);font-weight:600}
.trx-houses p{margin:0}
.trx-houses .trx-sum2{font-weight:600}
/* телефон: ничто не распирает страницу вбок — широкие таблицы и схемы листаются внутри своих рамок */
#proBody,#proBody > *,.cal-top > *{min-width:0}
.cal-loc .home-chip,.cal-loc .home-btn{max-width:100%}
/* телефон: переключатели-«пилюли» с длинными подписями переносятся аккуратной плашкой на всю ширину, а не бесформенным пузырём */
@media (max-width:640px){
  .seg{display:flex;width:100%;border-radius:16px}
  .seg button{flex:1 1 auto;border-radius:12px;text-align:center}
  .seg.sm{width:auto}
}

/* ===== 14.10 (вечер): диспозиторы как в Sotis — свободная схема, серые стрелки, пунктирный кружок у планеты в своём знаке ===== */
:root{--disp-arrow:#8A8496}
:root[data-theme="dark"]{--disp-arrow:#B4ABCB}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--disp-arrow:#B4ABCB}}
.disp-sels{gap:8px}
.disp-sels .select{width:auto;min-width:150px;min-height:38px;padding-top:4px;padding-bottom:4px}
.disp-svg.sotis{display:block;margin:0 auto;max-width:100%;height:auto} /* 16.10: схема по месту — целиком в окне */
.disp-svg .dn{cursor:help;outline:none}
.disp-svg .dn:hover circle,.disp-svg .dn:focus circle{fill:var(--lav-soft)}
.disp-read{gap:10px}
.disp-key{border:1.5px solid var(--line);border-radius:16px;padding:12px 14px;display:grid;gap:6px;background:var(--surface-2)}
.disp-key.gold{border-color:color-mix(in srgb,var(--gold-2) 60%,transparent);background:var(--gold-soft)}
.disp-key.rose{border-color:color-mix(in srgb,var(--rose) 55%,transparent)}
.disp-key > b{font:600 calc(17px*var(--fz))/1.25 var(--f-display)}
.disp-key p{font-size:calc(14.5px*var(--fz));line-height:1.5}
.disp-li{display:grid;grid-template-columns:minmax(calc(84px*var(--fz)),auto) minmax(0,1fr);gap:10px;align-items:baseline;padding:7px 0;border-bottom:1px solid var(--line-soft)}
.disp-li:last-child{border-bottom:0}
.disp-li p{font-size:calc(14px*var(--fz));line-height:1.45}
.dl-g{font:400 calc(17px*var(--fz)) var(--f-glyph);white-space:nowrap;color:var(--ink)}
.dl-g .da{color:var(--muted);margin:0 3px;font:600 calc(12px*var(--fz)) var(--f-ui)}
.dl-g i{font-style:normal;color:var(--muted);font-size:.8em;margin-left:4px}
.disp-more > summary{cursor:pointer}
@media (max-width:560px){.disp-li{grid-template-columns:1fr;gap:2px}}

/* ===== 14.10 (вечер): расшифровка подпериодов фирдарий ===== */
.fd-pers{color:inherit;opacity:.92;border-left:3px solid var(--lav-strong);padding-left:10px}
.fd-da{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 2px}
.fd-da .tag{white-space:normal;text-align:left;line-height:1.35;padding:5px 10px}
.fd-cursub{display:grid;gap:6px;padding:12px 14px;border-radius:14px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);margin:6px 0 10px}
.fd-cursub p{color:var(--night-ink)}
.fd-cursub .label{color:var(--gold-2)}

/* ===== 14.10 (вечер): Профи → Соляр — прогноз на год с вопросами ===== */
.solar-head .sol-y{font:600 calc(22px*var(--fz))/1.1 var(--f-display);white-space:nowrap}
.solar-head .select.sm{width:auto;min-height:36px;padding-top:4px;padding-bottom:4px}
.solar-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:16px;align-items:start}
@media (max-width:1000px){.solar-grid{grid-template-columns:1fr}}
.solar-grid .wheel-box{max-width:620px}
.sol-main{gap:10px}
.sol-ind{display:grid;gap:3px;padding:10px 12px;border-radius:14px;background:var(--surface-2);border:1px solid var(--line-soft)}
.sol-ind b{font:600 calc(16.5px*var(--fz))/1.25 var(--f-display);color:var(--ink)}
.sol-ind p{font-size:calc(14.5px*var(--fz));line-height:1.5}
.sol-wait{display:flex;gap:10px;align-items:center;color:var(--muted);padding:10px 2px}
.spin{width:18px;height:18px;border-radius:50%;border:2.5px solid var(--line);border-top-color:var(--lav-strong);animation:nspin 0.9s linear infinite;display:inline-block}
@keyframes nspin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion: reduce){.spin{animation-duration:3s}}
.sol-sph{display:grid;grid-template-columns:repeat(auto-fill,minmax(calc(215px*var(--fz)),1fr));gap:10px}
.sol-tile{display:grid;gap:6px;text-align:left;padding:12px 14px;border-radius:16px;border:1.5px solid var(--line);background:var(--surface);cursor:pointer;color:var(--ink);font:inherit}
.sol-tile:hover,.sol-tile.on{border-color:var(--lav-strong);box-shadow:0 0 0 3px var(--lav-soft)}
.sol-tile .st-h{display:flex;align-items:center;gap:8px}
.sol-tile .st-h b{flex:1;font:700 calc(14.5px*var(--fz)) var(--f-ui)}
.sol-tile .st-h em{font:700 calc(22px*var(--fz))/1 var(--f-display);font-style:normal}
.sol-tile .st-h em small{font-size:.55em;color:var(--muted)}
.sol-tile .st-bar{height:7px;border-radius:9px;background:var(--surface-3);overflow:hidden}
.sol-tile .st-bar i{display:block;height:100%;border-radius:9px;background:var(--gold-2)}
.sol-tile.hi .st-bar i{background:var(--dyn-up)} .sol-tile.lo .st-bar i{background:var(--dyn-down)}
.sol-tile .st-v{color:var(--muted);font-size:calc(12.5px*var(--fz))}
.sol-tile .st-m{color:var(--lav-ink);font-size:calc(12px*var(--fz));font-weight:700}
.sol-det{margin-top:12px;padding:14px 16px;border-radius:18px;background:var(--surface-2);border:1px solid var(--line);display:grid;gap:8px}
.sol-det h4{font:600 calc(19px*var(--fz))/1.2 var(--f-display)}
.sol-lines{margin:0;padding-left:18px;display:grid;gap:4px;font-size:calc(14px*var(--fz));line-height:1.45}
.sa-bars{display:flex;gap:4px;align-items:flex-end;height:calc(90px*var(--fz));padding:6px 0 0}
.sa-bars .sb-m{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;gap:3px;cursor:help;min-width:0}
.sa-bars .sb-m i{display:block;width:100%;max-width:34px;border-radius:6px 6px 2px 2px;background:var(--gold-2)}
.sa-bars .sb-m.hi i{background:var(--dyn-up)} .sa-bars .sb-m.lo i{background:var(--dyn-down)}
.sa-bars .sb-m small{font-size:calc(10.5px*var(--fz));color:var(--muted);white-space:nowrap}
.sol-heat{border-collapse:separate;border-spacing:3px;width:100%;min-width:640px;font-size:calc(13px*var(--fz))}
.sol-heat th{font-weight:700;text-align:left;white-space:nowrap;padding:2px 8px 2px 0;color:var(--ink)}
.sol-heat thead th{text-align:center;color:var(--muted);font-size:calc(11.5px*var(--fz));padding:0}
.sol-heat thead th small{display:block;font-size:.85em;opacity:.7}
.sol-heat td{text-align:center;border-radius:8px;padding:6px 0;font:700 calc(13px*var(--fz)) var(--f-mono);cursor:help;background:var(--surface-3)}
.sol-heat td.hi{background:var(--dyn-up-bg);color:var(--dyn-up-ink);box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--dyn-up) 60%,transparent)}
.sol-heat td.lo{background:var(--dyn-down-bg);color:var(--dyn-down-ink);box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--dyn-down) 60%,transparent)}
.sol-heat tr.tot th,.sol-heat tr.tot td{font-size:calc(14px*var(--fz))}
.sol-ev{display:grid;gap:4px;max-height:360px;overflow:auto;padding-right:4px}
.sol-ev .se{display:grid;grid-template-columns:calc(118px*var(--fz)) calc(56px*var(--fz)) minmax(0,1fr);gap:8px;align-items:baseline;padding:6px 10px;border-radius:10px;background:var(--surface-2);font-size:calc(13.5px*var(--fz))}
.sol-ev .se .g{font-family:var(--f-glyph);font-size:1.1em}
.sol-ev .se.soft{border-left:4px solid var(--dyn-up)} .sol-ev .se.hard{border-left:4px solid var(--dyn-down)} .sol-ev .se.conj{border-left:4px solid var(--gold-2)} .sol-ev .se.retro{border-left:4px solid var(--lav-strong)} .sol-ev .se.ecl{border-left:4px solid var(--ink)}
.solar-ask{gap:10px}
.sa-chips{display:flex;flex-wrap:wrap;gap:6px}
.sa-form{display:flex;gap:8px}
.sa-form .input{flex:1;min-width:0}
.sa-list{display:grid;gap:8px}
.sa-q{justify-self:end;max-width:85%;padding:9px 14px;border-radius:16px 16px 4px 16px;background:var(--lav-soft);color:var(--lav-ink)}
.sa-a{padding:12px 14px;border-radius:16px 16px 16px 4px;background:var(--surface-2);border:1px solid var(--line-soft);display:grid;gap:8px;font-size:calc(14.5px*var(--fz));line-height:1.5}
.sa-a ul{margin:0;padding-left:18px;display:grid;gap:3px}
.sa-verdict{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.sa-verdict.hi b{color:var(--dyn-up-ink)} .sa-verdict.lo b{color:var(--dyn-down-ink)}
.sa-sec{display:grid;gap:3px}
.sa-a .dots i{animation:ndot 1.2s ease-in-out infinite}
.sa-a .dots i:nth-child(2){animation-delay:.2s} .sa-a .dots i:nth-child(3){animation-delay:.4s}
@keyframes ndot{0%,100%{opacity:.25}50%{opacity:1}}
@media (max-width:560px){.sa-form{flex-direction:column}.sol-ev .se{grid-template-columns:1fr auto}.sol-ev .se span:last-child{grid-column:1/-1}}

/* ===== 14.10 (вечер): «Пара» — как вывести в плюс, как повысить процент, все аспекты ===== */
.pair-fix{margin-top:6px;padding:8px 10px;border-radius:12px;background:var(--gold-soft);border:1px solid color-mix(in srgb,var(--gold-2) 45%,transparent)}
.pair-fix .label{color:var(--warn)}
.pair-fix p{font-size:calc(14px*var(--fz));line-height:1.45}
.pair-raise{gap:10px}
.pr-item{display:grid;gap:4px;padding:10px 12px;border-radius:14px;background:var(--surface-2);border:1px solid var(--line-soft)}
.pr-item .bar{height:7px;border-radius:8px;background:var(--surface-3);overflow:hidden}
.pr-item .bar i{display:block;height:100%;background:linear-gradient(90deg,var(--rose),var(--lilac))}
.pr-item p{font-size:calc(14px*var(--fz));line-height:1.45}
.pair-grid .asp-grid th.corner{font:600 calc(10px*var(--fz)) var(--f-ui);color:var(--muted);min-width:calc(70px*var(--fz));white-space:normal;line-height:1.2}
.pa-list{display:grid;gap:4px}
.pa-row{display:grid;grid-template-columns:calc(70px*var(--fz)) minmax(0,1fr);gap:10px;padding:8px 10px;border-radius:12px;border-left:4px solid var(--line)}
.pa-row.plus{border-left-color:var(--dyn-up);background:var(--dyn-up-bg)} .pa-row.minus{border-left-color:var(--dyn-down);background:var(--dyn-down-bg)}
.pa-row .g{font:400 calc(17px*var(--fz)) var(--f-glyph);white-space:nowrap}
.pa-row .pa-fix{color:var(--warn);margin-top:3px}
.pa-more > summary{cursor:pointer}

/* ===== 14.10 (вечер): календарь — красота и спорт ===== */
.linkbtn{background:none;border:0;padding:2px 0;color:var(--lav-ink);font:700 calc(12.5px*var(--fz)) var(--f-ui);cursor:pointer;display:inline-flex;align-items:center;gap:4px}
.linkbtn:hover{text-decoration:underline}
.bty-row{gap:6px}
.bty-chips{display:flex;flex-wrap:wrap;gap:5px}
.bty-c{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:999px;font:700 calc(12.5px*var(--fz)) var(--f-ui);border:1px solid var(--line)}
.bty-c.ok{background:var(--dyn-up-bg);color:var(--dyn-up-ink);border-color:color-mix(in srgb,var(--dyn-up) 55%,transparent)}
.bty-c.no{background:var(--dyn-down-bg);color:var(--dyn-down-ink);border-color:color-mix(in srgb,var(--dyn-down) 55%,transparent)}
.cday .cd-k .k.b{background:var(--dyn-up-bg);color:var(--dyn-up-ink);border-color:color-mix(in srgb,var(--dyn-up) 55%,transparent)}
.bty-list{display:grid;gap:6px}
.bty-i{padding:9px 12px;border-radius:12px;border:1px solid var(--line-soft);background:var(--surface-2);display:grid;gap:3px}
.bty-i.ok{border-left:4px solid var(--dyn-up)} .bty-i.no{border-left:4px solid var(--dyn-down)}
.bty-i .okc{color:var(--dyn-up-ink)} .bty-i .noc{color:var(--dyn-down-ink)}
.bty-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}
@media (max-width:900px){.bty-grid{grid-template-columns:1fr}}
.chip-bty[aria-pressed="false"]{border-style:dashed}
.cday .cd-k .k.b{font-size:calc(10.5px*var(--fz));white-space:nowrap;overflow:hidden;text-overflow:ellipsis;hyphens:none;overflow-wrap:normal;padding:1px 5px}

/* ===== 14.10 (вечер): нумерология — матрица судьбы, чакры, выбор года, расшифровка совместимости ===== */
:root{--mx-fill:#FBF7FF;--mx-line:#B7A5DA;--mx-line2:#D9CEEE;--mx-love:#D9667E;--mx-a:#B79BEA;--mx-b:#8FB4F0;--mx-c:#F2A3A3;--mx-d:#F2A3A3;--mx-e:#F3D27A}
:root[data-theme="dark"]{--mx-fill:#1E1733;--mx-line:#7E6BB0;--mx-line2:#4A3F6E;--mx-love:#F08AA0;--mx-a:#6E52B0;--mx-b:#3F63A8;--mx-c:#A84A55;--mx-d:#A84A55;--mx-e:#A8862E}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--mx-fill:#1E1733;--mx-line:#7E6BB0;--mx-line2:#4A3F6E;--mx-love:#F08AA0;--mx-a:#6E52B0;--mx-b:#3F63A8;--mx-c:#A84A55;--mx-d:#A84A55;--mx-e:#A8862E}}
.mx-top{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:16px;align-items:start}
@media (max-width:980px){.mx-top{grid-template-columns:1fr}}
.mx-dia{display:grid;gap:8px;justify-items:center}
.mx-svg{width:100%;max-width:560px;height:auto;display:block}
.mx-pt{cursor:pointer;outline:none}
.mx-pt circle{fill:var(--surface);stroke:var(--mx-line);stroke-width:1.6}
.mx-pt text{fill:var(--ink)}
.mx-pt.main circle{stroke-width:2.4}
.mx-pt.main.a circle,.mx-pt.main.b circle{fill:var(--mx-a);stroke:var(--mx-a)}
.mx-pt.main.c circle,.mx-pt.main.d circle{fill:var(--mx-c);stroke:var(--mx-c)}
.mx-pt.main.e circle{fill:var(--mx-e);stroke:var(--mx-e)}
.mx-pt.anc circle{fill:var(--surface-2);stroke:var(--mx-line)}
.mx-pt.lm circle{stroke:var(--mx-love);stroke-width:2}
.mx-pt:hover circle,.mx-pt:focus circle{stroke:var(--lav-strong);stroke-width:3}
.mx-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(calc(250px*var(--fz)),1fr));gap:10px}
.mx-card{display:grid;gap:5px;padding:12px 14px;border-radius:16px;border:1px solid var(--line);background:var(--surface);align-content:start}
.mx-card p{font-size:calc(14px*var(--fz));line-height:1.45}
.mx-h{display:flex;gap:10px;align-items:center}
.mx-h b{display:block;font:700 calc(15px*var(--fz)) var(--f-ui)}
.mx-h small{display:block;color:var(--muted);font-size:calc(12px*var(--fz))}
.mx-an{color:var(--lav-ink)}
.mx-b{display:inline-grid;place-items:center;min-width:calc(34px*var(--fz));height:calc(34px*var(--fz));padding:0 6px;border-radius:50%;background:var(--lav-soft);color:var(--lav-ink);font:800 calc(15px*var(--fz)) var(--f-ui);border:1.5px solid color-mix(in srgb,var(--lav-strong) 40%,transparent);cursor:pointer}
.mx-b.lg{min-width:calc(52px*var(--fz));height:calc(52px*var(--fz));font-size:calc(22px*var(--fz))}
.okc{color:var(--dyn-up-ink);font-weight:800} .noc{color:var(--dyn-down-ink);font-weight:800}
.mx-pur{display:grid;gap:10px}
.mx-pu{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:start;padding:10px 12px;border-radius:14px;background:var(--surface-2)}
.mx-pu p{font-size:calc(14px*var(--fz));line-height:1.45}
.mx-years{display:grid;gap:5px}
.mx-yr{display:grid;grid-template-columns:auto calc(118px*var(--fz)) minmax(0,1fr);gap:10px;align-items:center;padding:6px 10px;border-radius:12px;background:var(--surface-2);font-size:calc(14px*var(--fz))}
.mx-yr.now{background:var(--lav-soft);box-shadow:inset 0 0 0 1.5px var(--lav-strong)}
.mx-years.all{max-height:420px;overflow:auto;margin-top:8px}
.mx-years.all .mx-yr{grid-template-columns:auto calc(60px*var(--fz)) minmax(0,1fr)}
.ch-tbl{width:100%;border-collapse:separate;border-spacing:0 5px}
.ch-tbl thead th{font:700 calc(12px*var(--fz)) var(--f-ui);color:var(--muted);text-transform:uppercase;letter-spacing:.06em;text-align:center}
.ch-tbl tbody th{text-align:left;padding:8px 12px;border-radius:12px 0 0 12px;background:color-mix(in srgb,var(--chc,var(--lav-strong)) 14%,var(--surface));border-left:5px solid var(--chc,var(--lav-strong));cursor:pointer;min-width:calc(200px*var(--fz))}
.ch-tbl tbody th b{display:block;font:700 calc(15px*var(--fz)) var(--f-ui)}
.ch-tbl tbody th small{display:block;color:var(--muted);font-size:calc(12px*var(--fz))}
.ch-tbl td{text-align:center;background:color-mix(in srgb,var(--chc,var(--lav-strong)) 8%,var(--surface));padding:6px}
.ch-tbl td:last-child{border-radius:0 12px 12px 0}
.ch-tbl tr.tot th{background:var(--surface-3);border-left-color:var(--ink)}
.ch-tbl tr.tot td{background:var(--surface-3)}
.ch-dot{display:none}
.ch-line{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:3px}
.ch-seg{display:grid;gap:3px;justify-items:center;font-size:calc(11px*var(--fz));color:var(--muted);cursor:help}
.ch-seg i{display:block;width:100%;height:12px;border-radius:6px;background:var(--chc);opacity:.45}
.ch-seg.now i{opacity:1;box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--chc)}
.ch-seg.now b,.ch-seg.now small{color:var(--ink);font-weight:800}
.ch-seg small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.ch-now{padding:12px 14px;border-radius:16px;border-left:5px solid var(--chc);background:color-mix(in srgb,var(--chc) 10%,var(--surface));display:grid;gap:5px}
@media (max-width:640px){.ch-line{grid-template-columns:repeat(6,minmax(0,1fr))}.mx-yr{grid-template-columns:auto 1fr}.mx-yr span:last-child{grid-column:1/-1}}
.ny-nav{gap:8px;align-items:center;flex-wrap:wrap}
.ny-y{font:600 calc(24px*var(--fz))/1 var(--f-display);min-width:3.2em;text-align:center}
.nmonths button.nm{font:inherit;color:inherit;cursor:pointer;border:1px solid var(--line-soft)}
.npair-txt{display:grid;gap:6px;padding:12px 14px;border-radius:14px;background:var(--surface-2)}
.npair-txt p,.npair-txt li{font-size:calc(14.5px*var(--fz));line-height:1.5}
.npair-txt ul{margin:0;padding-left:18px}

/* ===== 14.10 (вечер): Небо и Луна — расшифровка ретро и затмений, листание лет ===== */
.sk-ynav{gap:8px;align-items:center;margin-bottom:6px}
.sk-y{font:600 calc(22px*var(--fz))/1 var(--f-display);min-width:5.2em;text-align:center}
.rt-btn{background:none;border:0;padding:0;text-align:left;cursor:pointer;color:var(--ink);font:inherit;display:inline-flex;gap:4px;align-items:center}
.rt-btn:hover{color:var(--lav-ink);text-decoration:underline}
.rt-track i.rt{cursor:pointer}
.sk-l{margin:0;padding-left:18px;display:grid;gap:3px;font-size:calc(14px*var(--fz));line-height:1.45}
.sk-l.ok li::marker{color:var(--dyn-up-ink)} .sk-l.no li::marker{color:var(--dyn-down-ink)}
.sk-per{display:grid;gap:2px;padding:8px 10px;border-radius:12px;background:var(--surface-2)}
.sk-per.now{background:var(--lav-soft);box-shadow:inset 0 0 0 1.5px var(--lav-strong)}
.sk-per small{color:var(--muted)}
.sk-pers{border-left:3px solid var(--lav-strong);padding-left:10px}
/* затмения (18.10.2026, баг Павла): <details class="item"> в новом Chrome раскладывался сеткой пункта — заголовок падал в колонку значка 40 px
   (слово на строку), а раскрытый текст — во вторую колонку поверх; теперь сам блок обычный, сетка «значок + текст» — только у заголовка */
details.item.sk-ecl{display:block;padding:12px 10px;margin-inline:-10px;border-radius:16px}
.sk-ecl > summary{list-style:none;display:grid;grid-template-columns:40px minmax(0,1fr);gap:12px;align-items:start;cursor:pointer}
.sk-ecl > summary::-webkit-details-marker{display:none}
.sk-ecl[open]{background:var(--surface-2);border-radius:16px}
.sk-ecl-b{display:grid;gap:8px;padding:12px 4px 4px 52px}
.sk-ecl-b .grid2{gap:12px}
@media (max-width:560px){.sk-ecl-b{padding-left:0}}
button.tag{cursor:pointer;border:0}
.wheel-card{grid-template-columns:minmax(0,1fr)}
.numbody .more{white-space:normal;line-height:1.35;flex-wrap:wrap}
.pro-dyn{grid-template-columns:minmax(0,1fr)}
.pdy-row > .pdy-what{min-width:0}
.pdy-what .pdy-over{min-width:0;max-width:100%;flex:0 1 auto;text-overflow:ellipsis}

/* ---------- 15.10 (список Алины): шапка карты с инструментами, свёрнутые данные, рабочий режим, цифры домов, подсказка аспекта, «наверх» ---------- */
.pro-wheel .ph-head{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;justify-content:space-between}
.pro-wheel .ph-t{min-width:0;flex:1 1 220px}
.ph-tools{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;justify-content:flex-end}
.ph-tools .btn.sm{min-height:34px;padding:6px 12px}
.check.sm{font-size:calc(13px*var(--fz));font-weight:600;align-items:center;gap:7px;white-space:nowrap}
.check.sm input{margin-top:0}
/* окошко данных свёрнуто в строку */
.pd-sum{display:grid;gap:8px;padding:10px 14px}
.pd-sum-t{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:center;min-width:0;font-size:calc(14px*var(--fz))}
.pd-sum-t .mono{font:600 calc(13.5px*var(--fz)) var(--f-mono)}
.pd-sum .btn.sm{min-height:34px}
.pro-panel.compact .pd-sum .pd-savebtn .lbl{display:none}
.pro-panel.compact .pd-sum{padding:8px 12px}
/* таблица аспектов: текстовые заголовки (оси, куспиды), маленькие цифры домов в правом нижнем углу значка */
.asp-grid th{position:relative}
.asp-grid th.t{font:800 calc(var(--ag,31px)*.34) var(--f-ui);letter-spacing:-.02em}
.asp-grid th .hn{position:absolute;right:1px;bottom:0;font:700 max(calc(9.5px*var(--fz)),calc(var(--ag,31px)*.3))/1 var(--f-ui);color:var(--lav-ink);letter-spacing:-.03em;white-space:nowrap;pointer-events:none}
.asp-grid tr:first-child th .hn{position:static;display:block;text-align:right;margin:-1px 1px 1px 0}
.asp-grid tr:first-child th{vertical-align:top;padding-top:2px}
.asp-grid tr.cu th{background:var(--surface-2)}
.asp-grid td[data-ak]{cursor:pointer}
.pro-own-h{margin-top:12px;padding-top:10px;border-top:1px solid var(--line-soft)}
.pro-own-h h3{font:600 calc(17px*var(--fz))/1.15 var(--f-display)}
.pro-numleg{margin-top:8px;line-height:1.4}
/* динамика: строки кругов — в одну строку (без кружка, только галочка) */
@media (min-width:641px){
  .pdy-row{flex-wrap:nowrap}
  .pdy-row > .pdy-what{flex:1 1 auto}
  .pdy-row > .pdy-when{flex:0 0 auto;flex-wrap:nowrap}
  .pdy-when .pdy-pl{max-width:11ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .pdy-what .pdy-over{max-width:min(210px,100%)}
}
.pro-panel.compact .pdy-dt .dfield{width:calc(132px*var(--fz))}
.pro-panel.compact .pdy-dt .pdy-tm{width:calc(92px*var(--fz))}
.pro-panel.compact .pdy-when .pdy-pl{display:none}
@media (min-width:641px){.pdy-what .pdy-over{min-width:calc(118px*var(--fz))}}
/* рабочий режим: панель на весь экран, колесо + динамика слева, таблица аспектов справа — крупно.
   16.10: шапка карты (название, «Космограмма», «Карта 2», «Выйти») — закреплённая полоса сверху во всю ширину, кнопка «Выйти» видна всегда;
   высоту полосы fit() кладёт в --wbar */
body.pro-working{overflow:hidden}
.pro-panel.work{position:fixed;inset:0;z-index:60;background:var(--bg);overflow:auto;padding:calc(var(--wbar,58px) + 10px) 14px 14px;margin:0;display:block !important;grid-row:auto !important}
.pro-panel.work > .pp-label,.pro-panel.work > .pro-data,.pro-panel.work > [data-dyn="pos"]{display:none}
.pro-panel.work .pro-wheel .ph-head{position:fixed;top:0;left:0;right:0;z-index:3;padding:10px 16px;background:var(--bg);border-bottom:1px solid var(--line);box-shadow:0 8px 20px -16px rgba(30,18,50,.55)}
.pro-panel.work .ph-work{min-height:40px;padding:8px 16px}
.ph-work .kb{font:700 calc(11px*var(--fz))/1 var(--f-ui);padding:3px 6px;border-radius:6px;background:rgba(255,255,255,.24);letter-spacing:.02em}
@media (hover:none){.ph-work .kb{display:none}}
.pro-panel.work .pro-main,.pro-panel.compact.work .pro-main{grid-template-columns:minmax(0,1fr) min-content;gap:14px;align-items:start;min-height:calc(100vh - var(--wbar,58px) - 24px)}
.pro-panel.work .pdy-head .tiny{display:none}
.pro-panel.work .pro-side .pd-disp{min-width:calc(300px*var(--fz))}
.pro-panel.work .pro-main .pro-wheel .wheel-box{width:auto}
.pro-panel.work .pro-side{position:static;max-height:calc(100vh - var(--wbar,58px) - 24px);overflow:auto;max-width:56vw;scrollbar-width:thin}
/* правая колонка — по ширине таблицы аспектов при клетках --ag (раньше колонка была по min-content и клетки сжимались до ~19 px);
   заголовок и подписи в ширину колонки не вмешиваются, а переносятся под неё */
@media (min-width:1101px){
  .pro-panel.work .pro-asp{grid-template-columns:max-content;min-width:min-content}
  .pro-panel.work .pro-asp > :not(.tbl-wrap){contain:inline-size}
  .pro-panel.work .pro-asp .asp-grid{width:max-content}
  .pro-panel.work .pro-asp .tbl-wrap{overflow:clip}
}
.pro-panel.work .ph-title h3{font-size:calc(22px*var(--fz))}
/* 16.10 (Алина): космограмма — выбором в строке карты (какой круг без домов), «Что показывать» — там же, под строкой;
   в рабочем режиме строки карты нет: выбор космограммы — в полосе сверху, «Что показывать» — под таблицей аспектов */
.pd-cosmo{display:inline-flex;align-items:center;gap:6px;margin:0;font:600 calc(13px*var(--fz)) var(--f-ui);color:var(--muted);white-space:nowrap}
.pd-cosmo-l{display:inline-flex;align-items:center;gap:5px}
.pd-cosmo .ico{width:16px;height:16px;color:var(--lav-strong)}
.pd-cosmo .select.sm{width:auto;min-height:34px;padding:4px 30px 4px 10px;font-size:calc(13.5px*var(--fz));border-radius:10px;background-position:calc(100% - 15px) 50%,calc(100% - 10px) 50%}
.pd-cosmo.on .select.sm{border-color:var(--lav-strong);background-color:var(--lav-soft);color:var(--lav-ink);font-weight:700}
.ph-cosmo{display:none}
.pro-panel.work .ph-cosmo{display:inline-flex}
.pd-r1{display:flex;flex-wrap:wrap;gap:8px 10px;align-items:center;min-width:0}
/* «Карта» не в рабочем режиме: шапки над колесом нет (название уже в строке карты) — колесо крупнее; «Рабочий режим» и подпись — в строке карты */
.pro-panel:not(.compact):not(.work) .pro-wheel > .ph-head{display:none}
.pd-psub{margin:-4px 0 0;line-height:1.3}
.pd-psub[hidden]{display:none}
@media (max-width:1499px){.pro-panel:not(.compact) .pd-r1 .pd-savebtn .lbl{display:none}}
.pd-r2{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:flex-start;padding-top:8px;border-top:1px solid var(--line-soft);min-width:0}
.pro-data .pd-r2 > .pd-disp{flex:1 1 300px;min-width:0;margin:0;padding:0;border:0;border-radius:0;background:none;box-shadow:none}
.pro-data .pd-r2 > .pd-disp > summary{min-height:34px}
.pro-data .pd-r2 > .pd-cosmo{flex:0 0 auto;margin-left:auto}
/* на широком экране космограмма — справа в строке «Что показывать», а раскрытый блок занимает всю ширину под ними */
@media (min-width:700px){
  .pro-data .pd-r2{display:block;position:relative}
  .pro-data .pd-r2 > .pd-cosmo{position:absolute;top:8px;right:0}
  .pro-data .pd-r2 > .pd-disp > summary{padding-right:calc(300px*var(--fz))}
}
.pro-data .pd-disp > summary b{font:700 calc(14px*var(--fz)) var(--f-ui)}
.pro-data .pd-disp > summary::after{content:'';width:8px;height:8px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(45deg) translateY(-2px);margin-left:2px;flex:none;transition:transform .15s}
.pro-data .pd-disp[open] > summary::after{transform:rotate(-135deg) translateY(-2px)}
@media (min-width:900px){
  .pro-data .pd-disp-b{display:grid;grid-template-columns:repeat(auto-fit,minmax(calc(230px*var(--fz)),1fr));gap:10px;align-items:start}
  .pro-data .pd-disp-b > .row,.pro-data .pd-disp-b > a{grid-column:1/-1}
}
.pro-panel.work .pro-side .pd-disp{background:var(--surface)}
/* «Две карты» в рабочем режиме — обе сразу, рядом; у каждой колонка: шапка, колесо, динамика, ниже таблица аспектов */
.split.work{position:fixed;inset:0;z-index:60;margin:0;padding:10px 12px 12px;background:var(--bg);grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;overflow:hidden}
.split.work .pro-panel.work{position:relative;inset:auto;z-index:auto;padding:0 4px 8px 0;overflow:auto;max-height:calc(100vh - 22px);scrollbar-width:thin}
.split.work .pro-panel.work .pro-wheel .ph-head{position:sticky;top:0;left:auto;right:auto;z-index:3;margin:-12px -14px 0;padding:10px 14px;border-radius:var(--r-lg) var(--r-lg) 0 0;background:var(--w-paper);box-shadow:none}
.split.work .pro-panel.work .pro-main{grid-template-columns:minmax(0,1fr);min-height:0}
.split.work .pro-panel.work .pro-side{position:static;max-width:none;max-height:none;overflow:visible}
.split.work .pro-panel.work .ph-title h3{font-size:calc(18px*var(--fz));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.split.work .pro-panel.work .ph-head{flex-wrap:nowrap}
.split.work .pro-panel.work .ph-t{flex:1 1 0;min-width:0}
.split.work .pro-panel.work .ph-tools{flex-wrap:nowrap}
@media (max-width:1700px){.split.work .ph-cosmo .pd-cosmo-l > span{display:none}}
.split.work .pro-panel.work .pro-main .pro-wheel .wheel-box{width:auto}
.split.work .pro-panel.compact .pdy-dt .dfield{width:calc(152px*var(--fz))}
.split.work .pro-panel.compact .pdy-when .pdy-pl{display:inline}
@media (max-width:900px){.split.work{grid-template-columns:1fr;overflow:auto}.split.work .pro-panel.work{max-height:none;overflow:visible}}
@media (max-width:1100px){.pro-panel.work .pro-main,.pro-panel.compact.work .pro-main{grid-template-columns:minmax(0,1fr)}.pro-panel.work .pro-side{max-width:none;max-height:none}}
/* короткая подсказка по нажатию на аспект */
.asp-card{position:fixed;z-index:93;width:min(calc(430px*var(--fz)),calc(100vw - 16px));max-height:calc(100vh - 16px);overflow:auto;overscroll-behavior:contain;background:var(--surface);color:var(--ink);border:1px solid var(--line-strong);border-radius:18px;box-shadow:var(--shadow-lg);padding:12px 14px 14px;display:grid;gap:8px;font-size:calc(13.5px*var(--fz));line-height:1.45;animation:fade .14s ease-out}
.asp-card .ac-h{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:start}
.asp-card .ac-gl{display:inline-flex;gap:3px;align-items:center;padding:6px 9px;border-radius:12px;background:var(--surface-2);font:400 calc(18px*var(--fz))/1 var(--f-glyph);white-space:nowrap}
.asp-card .ac-gl .g.t{font:800 calc(12px*var(--fz)) var(--f-ui)}
.asp-card .ac-gl.soft{background:var(--at-soft-bg)} .asp-card .ac-gl.hard{background:var(--at-hard-bg)} .asp-card .ac-gl.conj{background:var(--at-conj-bg)}
.asp-card .ac-t{display:grid;gap:2px;min-width:0}
.asp-card .ac-t b{font:600 calc(17px*var(--fz))/1.2 var(--f-display)}
.asp-card .ac-t small{color:var(--muted);font-size:calc(12px*var(--fz))}
.asp-card .ac-who{margin:0}
.asp-card .ac-who .g{font-family:var(--f-glyph)}
.asp-card .hb{color:var(--lav-ink);font-weight:600;font-size:calc(12.5px*var(--fz))}
.asp-card .ac-sum{margin:0;padding:8px 10px;border-radius:12px;background:var(--surface-2)}
.asp-card .ac-sum.soft{background:var(--at-soft-bg)} .asp-card .ac-sum.hard{background:var(--at-hard-bg)} .asp-card .ac-sum.conj{background:var(--at-conj-bg)}
.asp-card .ac-houses{margin:0}
.asp-card .btn.sm{justify-self:start;min-height:32px}
.asp-card .ac-gives{display:grid;gap:5px;padding:10px 12px;border-radius:14px;background:var(--surface-2);border-left:3px solid var(--line-strong)}
.asp-card .ac-gives.soft{border-left-color:var(--lav-strong)} .asp-card .ac-gives.hard{border-left-color:var(--at-hard)} .asp-card .ac-gives.conj{border-left-color:var(--at-conj)}
.asp-card .ac-gives .label{margin:0}
.asp-card .ac-gives p{margin:0}
.asp-card .ac-tip{color:var(--ink-2,var(--ink));font-size:calc(13px*var(--fz))}
.asp-card .ac-syn{margin:0;padding:8px 10px;border-radius:12px;background:var(--lav-soft)}
.asp-card .ac-kind{margin:0;color:var(--muted);font-size:calc(12.5px*var(--fz))}
/* кнопка «наверх» */
.to-top{position:fixed;right:18px;bottom:calc(22px + env(safe-area-inset-bottom,0px));z-index:45;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--surface);color:var(--lav-strong);border:1px solid var(--line-strong);box-shadow:var(--shadow);cursor:pointer;opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity .2s,transform .2s}
.to-top.on{opacity:1;transform:none;pointer-events:auto}
.to-top:hover{background:var(--lav-soft)}
.to-top .ico{width:24px;height:24px}
body.pro-working .to-top{display:none}
@media (max-width:979px){.to-top{bottom:calc(var(--nav-h) + 16px + env(safe-area-inset-bottom,0px));right:14px;width:44px;height:44px}}
/* соляр: планеты по домам и все аспекты */
.sol-ph{display:grid;grid-template-columns:repeat(auto-fill,minmax(calc(300px*var(--fz)),1fr));gap:10px 18px}
.sol-ph .sp{display:grid;grid-template-columns:calc(34px*var(--fz)) minmax(0,1fr);gap:10px;align-items:start;padding:10px 12px;border-radius:14px;background:var(--surface-2)}
.sol-ph .sp-g{width:calc(34px*var(--fz));height:calc(34px*var(--fz));border-radius:11px;display:grid;place-items:center;background:var(--lav-soft);color:var(--lav-ink);font:400 calc(19px*var(--fz))/1 var(--f-glyph)}
.sol-ph .sp-b{display:grid;gap:2px;min-width:0}
.sol-ph .sp-b b{font:600 calc(16.5px*var(--fz))/1.2 var(--f-display)}
.sol-ph .sp-b p{margin:4px 0 0;line-height:1.45}
.sol-asp{display:flex;flex-wrap:wrap;gap:16px 26px;align-items:flex-start}
.sol-asp .asp-grid{--ag:calc(30px*var(--fz))}
.sol-asp .asp-grid td,.sol-asp .asp-grid th{width:calc(var(--ag)*.94);height:var(--ag)}
/* настройки: таблица орбисов */
#orbCard{scroll-margin-top:84px}
.orb-tbl{min-width:0}
.orb-tbl td,.orb-tbl th{padding:5px 8px;vertical-align:middle}
.orb-tbl .orb-a{white-space:nowrap;font-weight:600}
.orb-tbl .orb-a .g{display:inline-block;min-width:1.4em;font-size:calc(17px*var(--fz));color:var(--lav-strong)}
.orb-tbl .orb-in{width:calc(74px*var(--fz));min-height:34px;padding:4px 10px;font:600 calc(14px*var(--fz)) var(--f-mono);text-align:center}
.orb-tbl .orb-in.ch{border-color:var(--lav-strong);background:var(--lav-soft);color:var(--lav-ink)}
.orb-tbl .orb-in.bad{border-color:var(--coral,#E0605A)}
/* 16.10: страница «Карта» — кнопка «Рабочий режим» справа сверху над колесом (открывает эту карту в Профи на весь экран) */
.ch-head{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;justify-content:space-between}
.ch-head #wInfo{flex:1 1 260px;min-width:0}
.ch-head .ch-work{min-height:34px;padding:6px 12px;margin-left:auto}
/* ---------- 17.10 (Алина): куспид — подсказка при наведении, соединение — значок ☌, зум колеса, телефон: крупнее карта, две карты лёжа рядом ---------- */
.nw .nw-cusp{cursor:help}
.nw .nw-cusp:hover .cl{stroke:var(--lav-strong);stroke-width:2.6px}
.nw .nw-cusp.ax:hover .cl{stroke-width:5px}
.nw .nw-conj{cursor:pointer}
.nw .nw-conj .cb{transition:stroke-width .12s}
.nw .nw-conj:hover .cb,.nw .nw-asp.nw-conj.hl .cb{stroke-width:2.6px}
.nw .nw-asp{cursor:pointer}
/* зум: два пальца — крупнее, приближенную карту двигают пальцем; кнопки «+ − 1:1» в углу (на телефоне и планшете) */
.nw-zoomable{overflow:hidden;touch-action:pan-y}
.nw-zoomable.zoomed{touch-action:none}
.nw-zoomable.zoomed > svg.nw{transform:translate(var(--zx,0px),var(--zy,0px)) scale(var(--zs,1));transform-origin:0 0}
.nw-zc{position:absolute;top:2px;right:2px;z-index:2;display:none;flex-direction:column;gap:6px}
.nw-zc button{width:40px;height:40px;border-radius:12px;border:1px solid var(--line-strong);background:var(--surface);color:var(--lav-ink);font:700 22px/1 var(--f-ui);display:grid;place-items:center;box-shadow:var(--shadow);cursor:pointer;padding:0;opacity:.92}
.nw-zc button[data-nwz="0"]{font-size:12.5px;letter-spacing:-.02em}
.nw-zc button[hidden]{display:none}
.nw-zc button:active{background:var(--lav-soft)}
@media (pointer:coarse),(max-width:699px){.nw-zc{display:flex}}
/* аспекты списком на «Карте» — нажать, как на колесе */
.pos[data-asprow]{cursor:pointer}
.pos[data-asprow]:hover,.pos[data-asprow]:focus-visible{background:var(--lav-soft)}
/* телефон, обычная «Карта»: колесо от края до края экрана */
@media (max-width:699px){
  .chart-layout > .wheel-card{margin-inline:-16px;padding:8px 0 12px;border-radius:0;border-inline:0}
  .chart-layout > .wheel-card > .ch-head,.chart-layout > .wheel-card > .wheel-legend{padding-inline:12px}
  .chart-layout .wheel-box{max-width:none}
  .pro-panel:not(.work) .pro-main .pro-wheel{margin-inline:-16px;padding-inline:0;border-radius:0;border-inline:0}
  .pro-panel:not(.work) .pro-main .pro-wheel > :not([data-dyn="wheel"]){margin-inline:10px}
  .pro-panel:not(.work) .pro-main .pro-wheel .wheel-box{width:100%}
}
/* телефон стоя, рабочий режим: колесо во всю ширину, полоса сверху — в одну строку */
@media (max-width:699px){
  .pro-panel.work{padding:calc(var(--wbar,52px) + 2px) 0 14px}
  .pro-panel.work .pro-wheel .ph-head{padding:6px 10px;flex-wrap:nowrap;gap:8px}
  .pro-panel.work .pro-wheel .ph-t{flex:1 1 0;min-width:0}
  .pro-panel.work .ph-title h3{font-size:calc(17px*var(--fz));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .pro-panel.work .ph-title .tiny{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .pro-panel.work .ph-tools{flex-wrap:nowrap;gap:6px}
  .pro-panel.work .ph-cosmo .pd-cosmo-l > span{display:none}
  .pro-panel.work .ph-cosmo .select.sm{max-width:88px;text-overflow:ellipsis}
  .pro-panel.work .ph-work{min-height:38px;padding:6px 12px}
  .pro-panel.work .pro-wheel{padding:0 0 10px;border:0;border-radius:0;box-shadow:none;background:transparent;gap:8px}
  .pro-panel.work .pro-wheel > .pro-dyn,.pro-panel.work .pro-wheel > [data-dyn="info"]{margin-inline:8px}
  .pro-panel.work .pro-main .pro-wheel .wheel-box{width:100% !important;max-width:none}
  .pro-panel.work .pro-side{padding-inline:8px}
  .split.work{padding:0 0 12px}
  .split.work .pro-panel.work{padding:0 0 10px}
  .split.work .pro-panel.work .pro-wheel .ph-head{margin:0;border-radius:0;background:var(--bg);border-bottom:1px solid var(--line)}
}
/* телефон лёжа, рабочий режим: колесо во всю высоту экрана; одна карта — слева колесо, справа динамика и таблица;
   «Две карты» — обе рядом, у каждой колонка со своей шапкой (17.10, Алина: «при повороте экрана пусть сразу две карты рядом») */
@media (orientation:landscape) and (max-height:559px){
  .pro-panel.work{padding:calc(var(--wbar,44px) + 4px) 8px 8px}
  .pro-panel.work .pro-wheel .ph-head{padding:4px 12px;flex-wrap:nowrap;gap:8px}
  .pro-panel.work .pro-wheel .ph-t{flex:1 1 0;min-width:0}
  .pro-panel.work .ph-title h3{font-size:calc(16px*var(--fz));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .pro-panel.work .ph-title .tiny{display:none}
  .pro-panel.work .ph-tools{flex-wrap:nowrap;gap:6px}
  .pro-panel.work .ph-cosmo .pd-cosmo-l > span{display:none}
  .pro-panel.work .ph-cosmo .select.sm{max-width:120px;text-overflow:ellipsis}
  .pro-panel.work .ph-work{min-height:34px;padding:4px 12px}
  .pro-panel.work .pro-main,.pro-panel.compact.work .pro-main{grid-template-columns:var(--wcol,340px) minmax(0,1fr);gap:10px;min-height:0}
  .pro-panel.work .pro-wheel{padding:0;border:0;box-shadow:none;background:transparent;gap:8px}
  .pro-panel.work .pro-main .pro-wheel .wheel-box{max-width:none}
  .pro-panel.work .pro-side{max-width:none;max-height:none;overflow:visible}
  .split.work{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0 6px;overflow:hidden}
  .split.work .pro-panel.work{max-height:100vh;max-height:100dvh;overflow:auto;padding:0 2px 10px}
  .split.work .pro-panel.work .pro-main{grid-template-columns:minmax(0,1fr)}
  .split.work .pro-panel.work .pro-wheel .ph-head{margin:0;padding:4px 8px;border-radius:0;background:var(--bg);border-bottom:1px solid var(--line)}
  .split.work .pro-panel.work .ph-title h3{font-size:calc(14.5px*var(--fz))}
  .split.work .pro-panel.work .ph-cosmo{display:none}
  .split.work .pro-panel.work .pro-main .pro-wheel .wheel-box{margin-inline:auto}
}

/* ===== 17.10.2026: тарифы (js/plans.js) — карточки, сравнение, замки, оплата; плюс новая форма входа ===== */
:root{--pl-plus:var(--mint);--pl-plus-soft:var(--mint-soft);--pl-pro:var(--lav-strong);--pl-pro-soft:var(--lav-soft)}
.pl-badge{display:inline-flex;align-items:center;gap:4px;font:800 calc(11.5px*var(--fz))/1 var(--f-ui);letter-spacing:.06em;text-transform:uppercase;padding:5px 9px;border-radius:999px;background:var(--surface-2);color:var(--muted);border:1px solid var(--line)}
.pl-badge.pl-b-plus{background:var(--pl-plus-soft);color:var(--pl-plus);border-color:color-mix(in srgb,var(--pl-plus) 35%,transparent)}
.pl-badge.pl-b-pro{background:var(--pl-pro-soft);color:var(--lav-ink);border-color:color-mix(in srgb,var(--pl-pro) 35%,transparent)}
.pl-badge.pl-b-vip{background:linear-gradient(135deg,var(--vip-2),var(--vip));color:var(--vip-ink);border-color:transparent}
.pl-beta{display:flex;gap:10px;align-items:flex-start;padding:12px 16px;border-radius:var(--r);background:var(--gold-soft);border:1px solid color-mix(in srgb,var(--gold) 30%,transparent);color:var(--ink);font-size:calc(14px*var(--fz));margin-bottom:14px}
.pl-beta .ico{color:var(--gold);flex:none;margin-top:1px}
.pl-ctrl{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;margin:6px 0 16px}
.pl-save{font:800 calc(11px*var(--fz))/1 var(--f-ui);color:var(--mint);margin-left:4px}
.pl-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;align-items:stretch;padding-top:8px}
@media (max-width:1180px){.pl-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.pl-grid{grid-template-columns:minmax(0,1fr)}}
.pl-card{position:relative;display:flex;flex-direction:column;gap:8px;padding:22px 20px 20px;border-radius:var(--r-lg);transition:transform .2s,box-shadow .2s}
.pl-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}
.pl-card.pl-plus{border-top:4px solid var(--pl-plus)}
.pl-card.pl-pro{border:1px solid color-mix(in srgb,var(--pl-pro) 55%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--pl-pro) 35%,transparent),var(--shadow)}
.pl-card.pl-vip{background:radial-gradient(420px 200px at 100% 0%,rgba(233,196,106,.28),transparent 70%),linear-gradient(160deg,var(--night),var(--night-2));color:var(--night-ink);border:1px solid color-mix(in srgb,var(--vip) 60%,transparent);box-shadow:0 18px 40px -22px rgba(184,134,11,.85)}
.pl-card.pl-vip .pl-tag,.pl-card.pl-vip .pl-sub,.pl-card.pl-vip .pl-price span,.pl-card.pl-vip .pl-inc{color:var(--night-muted)}
.pl-card.pl-vip .pl-feat li::before{color:#F2C14E}
.pl-card.pl-cur{outline:2px solid var(--mint);outline-offset:2px}
.pl-card.pl-want{animation:plWant 1.6s ease-out 1}
@keyframes plWant{0%{box-shadow:0 0 0 0 rgba(142,111,208,.6)}100%{box-shadow:0 0 0 18px rgba(142,111,208,0)}}
.pl-ribbon{position:absolute;top:-11px;right:16px;font:800 calc(11px*var(--fz))/1 var(--f-ui);letter-spacing:.06em;text-transform:uppercase;padding:6px 10px;border-radius:999px;background:linear-gradient(135deg,#9479D6,#5B3A9E);color:#fff;box-shadow:0 6px 14px -6px rgba(91,58,158,.7)}
.pl-ribbon.gold{background:linear-gradient(135deg,var(--vip-2),var(--vip));color:var(--vip-ink)}
.pl-name b{font:600 calc(26px*var(--fz))/1.1 var(--f-display)}
.pl-name .vip-badge.lg{font-size:calc(14px*var(--fz));padding:7px 12px}
.pl-tag{margin:0;color:var(--muted)}
.pl-price{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin-top:6px}
.pl-price b{font:600 calc(36px*var(--fz))/1 var(--f-display);letter-spacing:-.01em}
.pl-price span{color:var(--muted);font-size:calc(14px*var(--fz))}
.pl-sub{margin:0;color:var(--muted);min-height:1.3em}
.pl-inc{margin:6px 0 0;font-weight:700;color:var(--muted)}
.pl-feat{list-style:none;margin:0;padding:0;display:grid;gap:7px;flex:1;align-content:start}
.pl-feat li{display:grid;grid-template-columns:18px minmax(0,1fr);gap:6px;font-size:calc(14px*var(--fz));line-height:1.35}
.pl-feat li::before{content:"✓";font-weight:800;color:var(--mint)}
.pl-act{margin-top:10px;display:grid}
.pl-act .btn{justify-content:center;width:100%}
.pl-mine{background:var(--mint-soft);border-color:color-mix(in srgb,var(--mint) 40%,transparent);color:var(--mint);cursor:default}
.pl-incl{display:inline-flex;gap:6px;align-items:center;justify-content:center;padding:10px 0}
.pl-card.pl-vip .pl-incl{color:var(--night-muted)}
.btn.pl-vip-go{background:linear-gradient(135deg,var(--vip-2),var(--vip));border-color:transparent;color:var(--vip-ink);box-shadow:0 10px 24px -10px rgba(184,134,11,.9)}
.btn.pl-vip-go .ico{stroke:var(--vip-ink)}
.btn.pl-vip-go:hover{filter:brightness(1.05)}
.pl-cmp{margin-top:18px}
.pl-table{width:100%;border-collapse:separate;border-spacing:0;min-width:560px;font-size:calc(14px*var(--fz))}
.pl-table th,.pl-table td{padding:10px;border-bottom:1px solid var(--line-soft);text-align:center;vertical-align:middle}
.pl-table th[scope="row"]{text-align:left;font-weight:600;color:var(--ink)}
.pl-table thead th{font:800 calc(12.5px*var(--fz))/1.2 var(--f-ui);color:var(--muted);text-transform:uppercase;letter-spacing:.05em;background:var(--surface)}
.pl-table .pl-yes{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--mint-soft);color:var(--mint)}
.pl-table .pl-no{color:var(--faint)}
.pl-table td:last-child,.pl-table th.pl-th-vip{background:color-mix(in srgb,var(--vip-2) 10%,transparent)}
.pl-trow-price th,.pl-trow-price td{border-bottom:0;font-size:calc(15px*var(--fz))}
.pl-bottom{margin-top:16px;align-items:start}
.pl-code{flex-wrap:nowrap}
.pl-code .input{flex:1;min-width:0;text-transform:uppercase;letter-spacing:.06em;font-family:var(--f-mono)}
.pl-faq details{border-top:1px solid var(--line-soft);padding:10px 0}
.pl-faq details:first-of-type{border-top:0}
.pl-faq summary{cursor:pointer;font-weight:700}
.pl-faq details p{margin:8px 0 0;color:var(--muted)}
/* замок на платном */
.pl-lock{max-width:720px;border:1px dashed var(--line-strong);background:radial-gradient(500px 160px at 100% 0%,var(--lav-soft),transparent 70%),var(--surface)}
.pl-lock.pl-lock-vip{background:radial-gradient(500px 160px at 100% 0%,rgba(233,196,106,.22),transparent 70%),var(--surface);border-color:color-mix(in srgb,var(--vip) 50%,transparent)}
.pl-lock.compact{max-width:none}
.pl-lock-h{display:flex;align-items:center;gap:10px}
.pl-lock-ic{width:40px;height:40px;border-radius:14px;display:grid;place-items:center;background:var(--lav-soft);color:var(--lav-strong)}
.pl-lock-vip .pl-lock-ic{background:linear-gradient(135deg,var(--vip-2),var(--vip));color:var(--vip-ink)}
.pl-lock h3{margin:0}
/* текущий тариф */
.pl-now{display:flex;gap:12px;align-items:center;padding:12px 14px;border-radius:var(--r);border:1px solid var(--line);background:var(--surface);color:var(--ink);text-decoration:none;flex-wrap:wrap;margin-bottom:12px}
.pl-now > .stack{flex:1}
.pl-now-ic{width:40px;height:40px;border-radius:14px;display:grid;place-items:center;flex:none;background:var(--lav-soft);color:var(--lav-strong)}
.pl-now.pl-b-plus .pl-now-ic{background:var(--pl-plus-soft);color:var(--pl-plus)}
.pl-now.pl-b-vip{border-color:color-mix(in srgb,var(--vip) 50%,transparent);background:linear-gradient(135deg,color-mix(in srgb,var(--vip-2) 16%,var(--surface)),var(--surface))}
.pl-now.pl-b-vip .pl-now-ic{background:linear-gradient(135deg,var(--vip-2),var(--vip));color:var(--vip-ink)}
.pl-set .pl-now{margin-bottom:0}
.pl-wait{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:14px 16px;border-radius:var(--r);background:var(--lav-soft);border:1px solid var(--line);margin-bottom:14px}
.pl-wait > span:not(.pl-spin){flex:1;min-width:220px}
.pl-wait.ok{background:var(--mint-soft);border-color:color-mix(in srgb,var(--mint) 35%,transparent)}
.pl-wait.ok > .ico{color:var(--mint)}
.pl-wait.bad{background:var(--bad-soft);border-color:color-mix(in srgb,var(--bad) 30%,transparent)}
.pl-spin{width:22px;height:22px;border-radius:50%;border:3px solid color-mix(in srgb,var(--lav) 30%,transparent);border-top-color:var(--lav-strong);animation:thinkSpin .8s linear infinite;flex:none}
/* окно оплаты */
.pay-top{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.pay-price{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.pay-price b{font:600 calc(38px*var(--fz))/1 var(--f-display)}
.pay-price span{color:var(--muted)}
.pay-price small{flex-basis:100%;color:var(--mint);font-weight:700}
.pay-methods{display:grid;gap:8px}
.pay-m{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:12px 14px;border-radius:14px;border:1px solid var(--line-strong);background:var(--surface);cursor:pointer;transition:border-color .15s,box-shadow .15s}
.pay-m:hover{border-color:var(--lav)}
.pay-m:has(input:checked){border-color:var(--lav-strong);box-shadow:inset 0 0 0 1px var(--lav-strong),var(--glow)}
.pay-m input{width:18px;height:18px;accent-color:var(--lav-strong);margin:0}
.pay-ic{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;background:var(--lav-soft);color:var(--lav-strong)}
.pay-t{display:grid;gap:3px;min-width:0}
.pay-t small{color:var(--muted);font-size:calc(12.5px*var(--fz))}
.pay-via{font:700 calc(11.5px*var(--fz))/1 var(--f-ui);color:var(--faint);white-space:nowrap}
@media (max-width:420px){.pay-m{grid-template-columns:auto auto minmax(0,1fr)}.pay-via{grid-column:3}}
.pay-go{width:100%;justify-content:center;min-height:50px;font-size:calc(15px*var(--fz))}
.pay-safe{display:flex;gap:6px;align-items:center;margin:0}
/* меню: «Тарифы» и замки */
.nav a.nav-plans .ico{stroke:var(--gold)}
.nav-lock{display:inline-grid;place-items:center;margin-left:auto;color:var(--faint)}
.nav-lock .ico{stroke:currentColor}
.more-it.plans .ic{color:var(--gold)}
.more-it .nav-lock{margin-left:auto}
.acct-plan{position:absolute;left:50%;bottom:-7px;transform:translateX(-50%);font:800 9px/1 var(--f-ui);letter-spacing:.04em;padding:3px 5px;border-radius:999px;background:var(--lav-strong);color:#fff;white-space:nowrap;box-shadow:0 0 0 2px var(--bg)}
.acct-plan.pl-b-plus{background:var(--mint)}
.acct-plan.pl-b-vip{background:linear-gradient(135deg,var(--vip-2),var(--vip));color:var(--vip-ink)}
/* вход: ключ доступа, «в прошлый раз», сила пароля, код */
.lg-why{margin:0}
.lg-pk{appearance:none;display:flex;align-items:center;gap:12px;width:100%;padding:12px 14px;border-radius:16px;border:1px solid color-mix(in srgb,var(--lav-strong) 45%,transparent);background:linear-gradient(135deg,var(--lav-soft),var(--surface));color:var(--ink);font:inherit;text-align:left;cursor:pointer;transition:box-shadow .15s,transform .15s}
.lg-pk:hover{box-shadow:var(--glow);transform:translateY(-1px)}
.lg-pk.busy{opacity:.6;pointer-events:none}
.lg-pk-ic{width:40px;height:40px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,#9479D6,#5B3A9E);color:#fff;flex:none}
.lg-pk-ic .ico{stroke:#fff}
.lg-pk-t{display:grid;gap:3px;flex:1;min-width:0}
.lg-pk-t b{font-size:calc(15px*var(--fz))}
.lg-pk-t small{color:var(--muted);font-size:calc(12.5px*var(--fz))}
.lg-btn{position:relative}
.lg-last{margin-left:auto;font:800 calc(10px*var(--fz))/1 var(--f-ui);letter-spacing:.04em;text-transform:uppercase;padding:4px 6px;border-radius:999px;background:var(--mint-soft);color:var(--mint);white-space:nowrap}
.pw-meter{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;height:5px;margin-top:2px}
.pw-meter i{border-radius:3px;background:var(--line)}
.pw-meter[data-s="0"] i:nth-child(1){background:var(--bad)}
.pw-meter[data-s="1"] i:nth-child(1){background:var(--warn)}
.pw-meter[data-s="2"] i:nth-child(-n+2){background:var(--mint)}
.pw-meter[data-s="3"] i{background:var(--mint)}
.lg-code{font:700 calc(26px*var(--fz))/1 var(--f-mono);letter-spacing:.5em;text-align:center;padding-left:.5em}
.lg-links{display:flex;flex-wrap:wrap;gap:6px 14px;justify-content:space-between}
.lg-link{appearance:none;border:0;background:transparent;padding:2px 0;color:var(--lav-strong);font:700 calc(13px*var(--fz)) var(--f-ui);cursor:pointer;display:inline-flex;gap:6px;align-items:center}
.lg-link:hover{text-decoration:underline}
.lg-err.info{background:var(--lav-soft)}
.pk-hero{width:64px;height:64px;border-radius:20px;display:grid;place-items:center;background:linear-gradient(135deg,#9479D6,#5B3A9E);margin:0 auto}
.pk-hero .ico{stroke:#fff;width:34px;height:34px}
.pk-list{display:grid;gap:8px}
.pk-row{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}
.pk-row > .stack{flex:1}
.pk-ic{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:var(--lav-soft);color:var(--lav-strong);flex:none}
/* «Натальная карта» → сферы жизни по домам (18.10.2026, Алина): работа, бизнес, деньги, брак, дети, дом, машина, здоровье */
.life-sec .life-intro{max-width:900px}
.life{display:grid;gap:16px;padding-top:8px}
.life-main{display:grid;gap:6px;padding:14px 16px;border-radius:var(--r);background:var(--lav-soft)}
.life-main p{font-size:calc(15.5px*var(--fz));color:var(--ink)}
.life-main .life-tone{font-size:calc(13.5px*var(--fz));font-weight:600}
.life-tone.soft{color:var(--mint)} .life-tone.hard{color:var(--rose)} .life-tone.mix{color:var(--gold)}
.life-cols{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:24px;align-items:start}
@media (max-width:860px){.life-cols{grid-template-columns:minmax(0,1fr)}}
.life-ruler{display:grid;grid-template-columns:44px minmax(0,1fr);gap:12px;align-items:start}
.lr-g{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:var(--surface-2);border:1px solid var(--line-soft);font:400 calc(22px*var(--fz))/1 var(--f-glyph);color:var(--lav-strong)}
.life-notes{color:var(--gold);font-weight:600}
.life-ruler p.small{color:var(--ink)}
.life-asps{display:grid;gap:0;margin-top:4px}
.life-asps > .tiny{margin-bottom:2px}
.life-asp{display:grid;grid-template-columns:calc(58px*var(--fz)) minmax(0,1fr);gap:8px;align-items:start;padding:8px 0;border-top:1px solid var(--line-soft)}
.life-asp .g{font:400 calc(16px*var(--fz))/1.4 var(--f-glyph);white-space:nowrap}
.life-asp.s .g{color:var(--mint)} .life-asp.h .g{color:var(--rose)} .life-asp.c .g{color:var(--gold)}
.life-asp b{font-size:calc(14px*var(--fz))}
.life-asp p{color:var(--muted);margin-top:2px}
.life-ten{display:grid;grid-template-columns:28px minmax(0,1fr);gap:8px;align-items:start;padding:4px 0}
.life-ten .g{font:400 calc(18px*var(--fz))/1.3 var(--f-glyph);color:var(--lav-strong)}
.life-ten p{color:var(--muted)}
.life-adv{display:grid;gap:8px;padding:14px 16px;border-radius:var(--r);background:var(--mint-soft)}
.life-adv ul{margin:0;padding-left:18px;display:grid;gap:6px;font-size:calc(14px*var(--fz))}
.life-adv li.caution{color:var(--rose)}
.life-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px}
.life-tile{display:grid;grid-template-columns:40px minmax(0,1fr);gap:10px;align-items:center;padding:12px 14px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface)}
.life-tile .lt-ic{width:40px;height:40px;border-radius:13px;display:grid;place-items:center;background:var(--lav-soft);color:var(--lav-strong)}
.life-tile b{display:block;font-size:calc(14.5px*var(--fz))}
.life-tile small{display:block;color:var(--muted);font-size:calc(12.5px*var(--fz));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* строка-замок вместо закрытой тарифом части (аспекты, расшифровки) */
.pl-lockline{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;padding:10px 12px;border-radius:var(--r-sm);border:1px dashed var(--line-strong);background:var(--surface-2);font-size:calc(13px*var(--fz));color:var(--muted)}
.pl-lockline .ico{color:var(--lav-strong)}
.pl-lockline a{color:var(--lav-strong);font-weight:700;text-decoration:none;margin-left:auto}
.pl-lockline a:hover{text-decoration:underline}
/* пробный период (18.10.2026): предложение под замком, плашка «Пробный до …», заметки на вкладках */
.pl-trial-off{display:flex;flex-wrap:wrap;gap:8px 10px;align-items:center;padding:10px 12px;border-radius:var(--r-sm);background:var(--gold-soft);border:1px solid color-mix(in srgb,var(--gold) 30%,transparent);font-size:calc(13.5px*var(--fz));color:var(--ink)}
.pl-trial-off > span{flex:1 1 220px;min-width:0}
.pl-trial-off > .ico{color:var(--gold);flex:none}
.pl-trial-bar{align-items:center;flex-wrap:wrap}
.pl-trial-bar > span{flex:1 1 240px;min-width:0}
.pl-now.pl-b-trial{border-color:color-mix(in srgb,var(--gold) 40%,transparent);background:linear-gradient(135deg,var(--gold-soft),var(--surface))}
.pl-now.pl-b-trial .pl-now-ic{background:var(--gold-soft);color:var(--gold)}
.tr-note{display:flex;gap:6px;align-items:center;color:var(--muted);margin:0}
.tr-note .ico{color:var(--gold);flex:none}
/* лучшие часы: «подробнее» (18.10.2026, Алина) — каждое окно раскрывается */
.hrs{display:grid;gap:8px}
.hr-d{border:1px solid var(--line);border-radius:var(--r);background:var(--surface);overflow:hidden}
.hr-d > summary{list-style:none;cursor:pointer;display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:6px 8px 6px 6px}
.hr-d > summary::-webkit-details-marker{display:none}
.hr-d > summary:hover{background:var(--surface-2)}
.hr-more{margin-left:auto;display:inline-flex;align-items:center;gap:4px;color:var(--lav-strong);font:700 calc(12.5px*var(--fz)) var(--f-ui)}
.hr-more .ico{transition:transform .2s}
.hr-d[open] > summary .hr-more .ico{transform:rotate(180deg)}
.hr-d[open] > summary{border-bottom:1px solid var(--line-soft)}
.hr-body{display:grid;gap:12px;padding:12px 14px 14px}
.hr-sec{display:grid;gap:4px}
.hr-sec p{color:var(--ink)}
.hr-sec p.muted{color:var(--muted)}
.hr-moon{display:flex;gap:6px;align-items:flex-start}
.hr-moon svg{flex:none;margin-top:2px}
.hr-how > summary{cursor:pointer;color:var(--muted);display:inline-flex;gap:6px;align-items:center;list-style:none}
.hr-how > summary::-webkit-details-marker{display:none}
.hr-how p{margin-top:6px}
/* замок тарифа у разделов в нижней панели телефона — значком в углу, как ★ у гороскопа (на компьютере — справа в строке) */
@media (max-width:979px){.nav a.nav-m{position:relative}.nav a.nav-m .nav-lock{position:absolute;top:3px;right:calc(50% - 22px);margin:0}}
/* «Натальная карта» в нижней панели телефона — в две строки по центру */
@media (max-width:979px){.nav a > span{text-align:center;line-height:1.08}}
@media (max-width:700px){.life-sec .acc > summary .ac-sub{white-space:normal}}

/* ===== 18.10.2026 (Павел): «Аспекты и орбисы» как в ZET — 27 аспектов × 16 планет и точек ===== */
.orb-mode{max-width:440px}
.orb-wrap{max-height:72vh;overflow:auto;border:1px solid var(--line);border-radius:12px}
.orb-z{border-collapse:separate;border-spacing:0;font-size:calc(13px*var(--fz))}
.orb-z th,.orb-z td{padding:2px;text-align:center}
.orb-z thead th{position:sticky;top:0;z-index:2;background:var(--surface);font:400 calc(16px*var(--fz)) var(--f-glyph);color:var(--lav-strong);border-bottom:1px solid var(--line);padding:7px 2px}
.orb-z thead th.t{font:700 calc(10.5px*var(--fz)) var(--f-ui);white-space:nowrap}
.orb-z .oz-a{position:sticky;left:0;z-index:1;background:var(--surface);text-align:left;white-space:nowrap;padding:2px 8px 2px 6px}
.orb-z thead .oz-a{z-index:3;font:700 calc(12px*var(--fz)) var(--f-ui);color:var(--muted)}
.orb-z .oz-a label{display:flex;align-items:center;gap:6px;cursor:pointer}
.orb-z .oz-a .g{display:inline-block;min-width:1.7em;text-align:center;font:400 calc(16px*var(--fz)) var(--f-glyph);color:var(--lav-strong)}
.orb-z .oz-ang{font:600 calc(12.5px*var(--fz)) var(--f-mono);color:var(--ink)}
.orb-z tr:not(.on) .oz-ang,.orb-z tr:not(.on) .g{color:var(--muted)}
.orb-z .oz-in{width:calc(40px*var(--fz));height:calc(28px*var(--fz));border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--ink);text-align:center;font:500 calc(12.5px*var(--fz)) var(--f-mono);padding:0}
.orb-z tr.on .oz-in{background:var(--surface-2);font-weight:700}
.orb-z .oz-in.ch{border-color:var(--lav-strong);background:var(--lav-soft);color:var(--lav-ink)}
.orb-z .oz-in.bad{border-color:var(--coral,#E0605A)}
.orb-z .oz-in:focus{outline:2px solid var(--lav);outline-offset:0}
.orb-z input[type=checkbox].ch{outline:2px solid var(--lav-strong);outline-offset:1px}
.orb-z tbody tr:hover td,.orb-z tbody tr:hover th{background:var(--lav-soft)}
.pd-disp .toggles .tg.tg-num,.pd-disp .pd-grp .toggles .tg.tg-num{font:700 calc(11px*var(--fz)) var(--f-ui)}
.pd-more > summary{cursor:pointer;color:var(--lav-strong);font-weight:700;margin:2px 0 6px}
.asp-grid td .a{white-space:nowrap}
.orb-z .oz-n{font:500 calc(11.5px*var(--fz)) var(--f-ui);color:var(--muted);max-width:11em;overflow:hidden;text-overflow:ellipsis}
@media (max-width:700px){.orb-z .oz-n{display:none}}
/* планета у куспида — действует на два дома (18.10.2026) */
.cz-note{color:var(--lav-ink);background:var(--lav-soft);border-radius:8px;padding:6px 9px;margin-top:4px}
.cz-tag{font:700 calc(11px*var(--fz)) var(--f-ui);vertical-align:middle;margin-left:4px}
/* подсказки событий (18.10.2026): дети, брак, развод, смена работы, доход */
.ht-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}
.ht{display:inline-flex;align-items:center;gap:3px;border-radius:999px;padding:2px 9px;font:700 calc(11.5px*var(--fz))/1.4 var(--f-ui);white-space:nowrap;border:1px solid transparent}
.ht.lv1{opacity:.75;font-weight:600}
.ht-child{background:#FDE7EF;color:#A2345C;border-color:#F6C6D6}
.ht-marriage{background:#EEE8FB;color:#5B3FA8;border-color:#D9CDF5}
.ht-divorce{background:#FDE9E4;color:#A6402B;border-color:#F5CBBF}
.ht-job{background:#FFF1D9;color:#8A5A00;border-color:#F3D9A6}
.ht-income{background:#E3F4EA;color:#23714A;border-color:#BFE3CD}
:root[data-theme="dark"] .ht-child{background:#3A1F2B;color:#F5B5CB;border-color:#5A2F42}
:root[data-theme="dark"] .ht-marriage{background:#2A2245;color:#CBBDF7;border-color:#3F336A}
:root[data-theme="dark"] .ht-divorce{background:#3B2420;color:#F4B8A8;border-color:#5C3730}
:root[data-theme="dark"] .ht-job{background:#3A2E14;color:#F1CF85;border-color:#584520}
:root[data-theme="dark"] .ht-income{background:#17352A;color:#9EDDB8;border-color:#25503F}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .ht-child{background:#3A1F2B;color:#F5B5CB;border-color:#5A2F42}:root:not([data-theme="light"]) .ht-marriage{background:#2A2245;color:#CBBDF7;border-color:#3F336A}:root:not([data-theme="light"]) .ht-divorce{background:#3B2420;color:#F4B8A8;border-color:#5C3730}:root:not([data-theme="light"]) .ht-job{background:#3A2E14;color:#F1CF85;border-color:#584520}:root:not([data-theme="light"]) .ht-income{background:#17352A;color:#9EDDB8;border-color:#25503F}}
.ht-list{display:grid;gap:8px}
.ht-row{display:grid;grid-template-columns:minmax(120px,max-content) minmax(0,1fr);gap:10px;align-items:start;padding:8px 0;border-top:1px solid var(--line-soft)}
.ht-row:first-child{border-top:0}
.ht-row > .ht{justify-self:start;margin-top:2px}
.ht-b{display:grid;gap:3px;min-width:0}
.ht-b b{font-weight:700}
.ht-b .g{font-family:var(--f-glyph);color:var(--lav-strong)}
.ht-lv{color:var(--muted)}
@media (max-width:560px){.ht-row{grid-template-columns:1fr}}
.ht-more > summary{cursor:pointer;color:var(--lav-strong);font-weight:700}
.ht-dots{display:flex;gap:2px;justify-content:center;margin-top:2px}
.ht-dots i{width:7px;height:7px;border-radius:50%}
.htd-child{background:#E06C93}.htd-marriage{background:#8A6BD6}.htd-divorce{background:#D9694F}.htd-job{background:#D9A23A}.htd-income{background:#3FA36E}
/* поиск по сайту (18.10.2026): окно поверх страницы, Ctrl+K или «/» */
.srch-ov{position:fixed;inset:0;z-index:300;background:rgba(18,13,32,.42);display:flex;justify-content:center;align-items:flex-start;padding:min(12vh,90px) 16px 16px;backdrop-filter:blur(2px)}
.srch{width:min(640px,100%);max-height:min(76vh,640px);display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:0 24px 60px rgba(18,13,32,.28);overflow:hidden}
.srch-top{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--line)}
.srch-top .ico{width:20px;height:20px;stroke:var(--muted);fill:none;stroke-width:2;flex:none}
.srch-top input{flex:1;min-width:0;border:0;outline:0;background:transparent;color:var(--ink);font:500 17px var(--f-ui)}
.srch-x{appearance:none;border:1px solid var(--line);background:var(--surface-2);color:var(--muted);border-radius:7px;font:700 11px var(--f-ui);padding:3px 7px;cursor:pointer}
.srch-res{overflow:auto;padding:6px}
.srch-it{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:10px;align-items:center;padding:9px 10px;border-radius:10px;text-decoration:none;color:var(--ink)}
.srch-it.on,.srch-it:hover{background:var(--lav-soft)}
.srch-g{font:400 18px var(--f-glyph);color:var(--lav-strong);text-align:center}
.srch-b{display:grid;gap:2px;min-width:0}
.srch-b b{font:700 14.5px var(--f-ui)}
.srch-b small{color:var(--muted);font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.srch-grp{font:700 10.5px var(--f-ui);text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}
.srch-hint{color:var(--muted);font-size:14px;padding:14px 10px;margin:0}
@media (max-width:560px){.srch-ov{padding-top:12px}.srch-grp{display:none}.srch-it{grid-template-columns:24px minmax(0,1fr)}}
/* демо-режим (18.10.2026): полоса над шапкой */
.demo-bar{position:fixed;z-index:70;left:50%;transform:translateX(-50%);bottom:14px;width:max-content;max-width:min(980px,calc(100vw - 24px));display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:9px 14px;border-radius:16px;background:linear-gradient(90deg,#3A2A6E,#5B3FA8);color:#fff;font-size:13.5px;box-shadow:0 12px 30px rgba(18,13,32,.35)}
@media (max-width:979px){.demo-bar{bottom:calc(var(--nav-h) + 10px + env(safe-area-inset-bottom,0px));padding:8px 10px;gap:6px 8px}.demo-t{display:none}}
body.demo-on .main{padding-bottom:120px}
.demo-tag{font:800 12px var(--f-ui);text-transform:uppercase;letter-spacing:.06em;background:rgba(255,255,255,.18);border-radius:999px;padding:3px 10px;white-space:nowrap}
.demo-t{flex:1 1 260px;min-width:0;opacity:.92}
.demo-act{display:flex;flex-wrap:wrap;gap:6px}
.demo-bar .btn{background:rgba(255,255,255,.14);color:#fff;border-color:rgba(255,255,255,.28)}
.demo-bar .btn.primary{background:#FFD8A6;color:#2A1B4F;border-color:#FFD8A6}
.demo-bar .btn.ghost{background:transparent}
/* вход в кабинет (18.10.2026) */
.auth{max-width:620px;margin:0 auto;display:grid;gap:16px;padding-top:6px}
.auth-top{display:flex;align-items:center;gap:10px;padding:4px 0}
.auth-top .brand{margin-right:0}
.auth-hero{display:grid;gap:10px}
.auth-hero h1{font:600 calc(32px*var(--fz))/1.1 var(--f-display);margin:0}
.auth-hero p{margin:0;color:#D6D4EC}
.auth-trial{display:flex;gap:8px;align-items:flex-start;background:rgba(255,255,255,.08);border-radius:10px;padding:8px 10px;font-size:14px}
.auth-tabs{justify-self:start}
.auth-tabs button{display:inline-flex;align-items:center;gap:6px}
.auth-me{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:12px}
.auth-me .av{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--night);color:#FFD8A6;font:700 16px var(--f-ui)}
.auth-demo{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}
.search-btn{flex:none}
/* вход поверх кабинета (18.10.2026, Павел): меню на месте, на месте раздела — его пример на выдуманной Анне (размыт), поверх — окно входа */
.gate{position:relative;min-height:calc(100vh - 150px);display:grid;justify-items:center;align-items:start;padding:28px 0 40px}
.gate-bg{position:absolute;inset:-6px;overflow:hidden;border-radius:20px;pointer-events:none}
.gate-bg iframe{width:100%;height:100%;min-height:1100px;border:0;filter:blur(1.2px) saturate(.95);opacity:.8;pointer-events:none;background:transparent}
.gate-veil{position:absolute;inset:0;background:linear-gradient(180deg,color-mix(in srgb,var(--bg) 10%,transparent) 0%,color-mix(in srgb,var(--bg) 35%,transparent) 60%,var(--bg) 100%)}
.gate-acts{display:flex;flex-wrap:wrap;gap:8px}
.gate-acts .btn{flex:1 1 180px;justify-content:center}
.gate-back{justify-self:start;margin-top:4px}
.gate-card{position:relative;z-index:2;width:min(520px,100%);margin-top:clamp(20px,12vh,140px);display:grid;gap:12px;box-shadow:0 24px 70px rgba(18,13,32,.28);border-color:var(--line-strong)}
.gate-card h2{font:600 calc(28px*var(--fz))/1.12 var(--f-display);margin:0}
.gate-ey{display:inline-flex;align-items:center;gap:6px;font:700 calc(12px*var(--fz)) var(--f-ui);text-transform:uppercase;letter-spacing:.05em;color:var(--lav-strong)}
.gate-card .auth-trial{background:var(--lav-soft);color:var(--lav-ink)}
.gate-foot{display:flex;flex-wrap:wrap;gap:8px 14px;justify-content:space-between;align-items:center;border-top:1px solid var(--line-soft);padding-top:10px}
.gate-foot a{display:inline-flex;gap:6px;align-items:center}
@media (max-width:560px){.gate{padding-top:8px}.gate-card{padding:16px}}
/* сам пример внутри окна входа: только раздел */
.embed .top,.embed .nav,.embed .demo-bar,.embed .to-top{display:none !important}
.embed .shell{grid-template-columns:minmax(0,1fr) !important;grid-template-rows:1fr !important}
.embed body{overflow:hidden}
.embed .main{padding-top:18px}
/* ключевые даты соляра с описанием (18.10.2026, Павел) */
.sol-ev{max-height:520px}
.sol-ev .se{align-items:start}
.sol-ev .se-b{display:grid;gap:3px;min-width:0}
.sol-ev .se-b b{font-weight:700}
.sol-ev .se-b small{color:var(--muted);font-size:calc(12.5px*var(--fz));line-height:1.45}
.sol-ev .se-b .ht-tags{margin-top:2px}
.sol-ev .se-click{cursor:pointer}
.sol-ev .se-click:hover{background:var(--lav-soft)}
/* «Две карты»: момент включения соляра и карта солярного дня (18.10.2026, Павел) */
.chip.static.hot{background:var(--lav-soft);border-color:var(--lav);color:var(--lav-ink)}
.chip.static.hot b{color:var(--lav-ink)}
.sd-acts{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-top:8px}
@keyframes sdFlash{0%{box-shadow:0 0 0 0 rgba(142,111,208,.55)}100%{box-shadow:0 0 0 14px rgba(142,111,208,0)}}
.sd-flash > *{animation:sdFlash .9s ease-out 1}
/* гость (18.10.2026, Павел): пункты меню без входа — выделены «без входа», остальные — приглушены со значком входа */
.nav-free{display:inline-flex;align-items:center;margin-left:auto;padding:2px 7px;border-radius:999px;background:var(--mint-soft);color:var(--mint);font:800 calc(10.5px*var(--fz))/1.3 var(--f-ui);white-space:nowrap;letter-spacing:.01em}
.nav-auth{display:inline-grid;place-items:center;margin-left:auto;color:var(--faint)}
.nav-auth .ico{stroke:currentColor}
.nav a .hot-badge + .nav-free,.nav a .vip-badge + .nav-auth{margin-left:6px}
.nav a.nav-needauth{opacity:.6;transition:opacity .15s}
.nav a.nav-needauth:hover,.nav a.nav-needauth:focus-visible,.nav a.nav-needauth[aria-current="page"]{opacity:1}
.nav-legend{display:none}
@media (min-width:980px){
  .nav a.nav-open:not(.nav-hot){box-shadow:inset 3px 0 0 var(--mint)}
  .nav-legend{display:grid;gap:6px;margin-top:14px;padding:12px;border:1px dashed var(--line-strong);border-radius:12px;font-size:calc(12.5px*var(--fz));line-height:1.35;color:var(--muted)}
  .nav-legend p{margin:0;display:flex;gap:6px;align-items:center}
  .nav-legend .nav-free,.nav-legend .nav-auth{margin-left:0;flex:none}
  .nav-legend .btn{justify-content:center;margin-top:4px}
}
@media (max-width:979px){
  .nav a{position:relative}
  .nav a .nav-free{position:absolute;top:4px;left:calc(50% - 24px);width:9px;height:9px;padding:0;font-size:0;border-radius:50%;background:var(--mint);box-shadow:0 0 0 2px var(--surface)}
  .nav a .nav-auth{position:absolute;top:3px;right:calc(50% - 22px);margin:0}
  .nav a.nav-needauth{opacity:.55}
}
.more-it .nav-free,.more-it .nav-auth{margin-left:auto}
.more-it .vip-badge + .nav-auth{margin-left:6px}
.more-it.nav-needauth{opacity:.65}
.more-it.nav-open{box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--mint) 45%,transparent)}
.more-leg{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:12px}
.more-leg .nav-free{margin-left:0}
@media (min-width:980px){
  .shell.is-guest{grid-template-columns:calc(64px + 222px*var(--fz)) minmax(0,1fr)}
  .is-guest .nav{overflow-x:hidden}
  .is-guest .nav a > span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .is-guest .nav a{gap:10px}
}
@media (min-width:980px){.is-guest .nav-in{grid-template-columns:minmax(0,1fr)}.is-guest .nav a{min-width:0}.is-guest .nav-legend{min-width:0}}
/* «Ещё» на телефоне: тесно — «без входа» точкой (как в нижней панели), подпись — внизу окна */
.more-it .nav-free{font-size:0;width:9px;height:9px;padding:0;border-radius:50%;background:var(--mint);flex:none}
.free-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--mint);flex:none}
