/* calc.css — ATMA-styled calculator block.
   Default palette mirrors the vatma.ru SEO landings exactly:
   bg #17181B · surface #22242A · border #393C44 · text #F2F1ED
   muted #AAADB6 · accent #9B7DD6 · accent-hover #8568C4 (pastel lavender)
   Themes are applied via data-theme on <html> by calc-theme.js. */

:root{
  --bg:#17181B; --surface:#22242A; --hover:#17181B;
  --border:#393C44; --border-soft:#2c2f37;
  --text:#F2F1ED; --muted:#AAADB6;
  --accent:#9B7DD6; --accent-hover:#8568C4; --on-accent:#fff;
  --err:#ff7a7a; --overlay:rgba(0,0,0,.66); --shadow:rgba(0,0,0,.4);
}
:root[data-theme="midnight"]{
  --bg:#0d1117; --surface:#161b22; --hover:#0d1117;
  --border:#30363d; --border-soft:#21262d;
  --text:#e6edf3; --muted:#8b949e;
  --accent:#9B7DD6; --accent-hover:#8568C4; --on-accent:#fff;
  --err:#ff7a7a; --overlay:rgba(0,0,0,.7); --shadow:rgba(0,0,0,.5);
}
:root[data-theme="graphite"]{
  --bg:#1b1b1d; --surface:#262629; --hover:#1b1b1d;
  --border:#3a3a3f; --border-soft:#2e2e32;
  --text:#ECECEC; --muted:#9a9aa2;
  --accent:#9B7DD6; --accent-hover:#8568C4; --on-accent:#fff;
  --err:#ff7a7a; --overlay:rgba(0,0,0,.66); --shadow:rgba(0,0,0,.45);
}
:root[data-theme="atma-light"]{
  --bg:#FFFFFF; --surface:#F4F3EF; --hover:#ECEAE3;
  --border:#DCDAD2; --border-soft:#E6E4DD;
  --text:#1B1C1F; --muted:#6B6E78;
  --accent:#8A6BCB; --accent-hover:#7657B8; --on-accent:#fff;
  --err:#C2342F; --overlay:rgba(0,0,0,.4); --shadow:rgba(0,0,0,.18);
}

.calc{max-width:720px;margin:28px auto;padding:22px;border-radius:16px;
  background:var(--surface);border:1px solid var(--border);color:var(--text)}
.calc__title{font-size:22px;margin:0 0 16px;font-weight:700}
.calc__form{display:grid;gap:14px}
.calc__form[hidden]{display:none}
@media(min-width:640px){.calc__form{grid-template-columns:1fr 1fr}
  .calc__field--place,.calc__submit{grid-column:1/-1}}
.calc__field{display:grid;gap:6px;position:relative}
.calc__field>span{font-size:13px;color:var(--muted)}
.calc__field input{padding:11px 12px;border-radius:10px;border:1px solid var(--border);
  background:var(--bg);color:var(--text);font-family:inherit;font-size:16px}
.calc__field input:focus{outline:none;border-color:var(--accent)}
.calc__ac{position:absolute;top:100%;left:0;right:0;z-index:20;margin:4px 0 0;padding:0;
  list-style:none;background:var(--surface);border:1px solid var(--border);border-radius:10px;
  max-height:220px;overflow:auto;display:none;box-shadow:0 8px 24px var(--shadow)}
.calc__ac.is-open{display:block}
.calc__ac li{padding:9px 12px;cursor:pointer;font-size:14px}
.calc__ac li:hover,.calc__ac li[aria-selected="true"]{background:var(--hover)}
.calc__submit,.calc__buy{padding:13px 16px;border:0;border-radius:12px;
  background:var(--accent);color:var(--on-accent);font-family:inherit;font-size:16px;font-weight:600;cursor:pointer}
.calc__submit:hover,.calc__buy:hover{background:var(--accent-hover)}
.calc__submit:disabled,.calc__buy:disabled{opacity:.55;cursor:default}
.calc__result{margin-top:18px;display:grid;gap:2px}
.calc__result.is-loading{opacity:.5}
.calc__row{display:grid;grid-template-columns:140px 1fr;gap:10px;padding:8px 0;
  border-bottom:1px solid var(--border-soft)}
.calc__row dt{color:var(--muted);font-size:13px;margin:0}
.calc__row dd{margin:0;font-size:16px;font-weight:600}
.calc__paywall{margin-top:18px;padding-top:16px;border-top:1px solid var(--border)}
.calc__paywall-text{margin:0 0 12px;color:var(--muted);font-size:14px}
.calc__buy{width:100%}
.calc__cross{margin:12px 0 0;font-size:13px;color:var(--muted);text-align:center}
.calc__cross a{color:var(--accent)}
.calc__err{margin-top:12px;color:var(--err);font-size:14px}
/* free preview (≈60% reveal) */
.calc__block{margin-top:14px}
.calc__block h4{margin:0 0 8px;font-size:12px;font-weight:600;letter-spacing:.05em;
  text-transform:uppercase;color:var(--muted)}
.calc__chips{display:flex;flex-wrap:wrap;gap:8px}
.calc__chip{padding:6px 11px;border-radius:999px;border:1px solid var(--border);
  background:var(--bg);font-size:13px}
.calc__chan{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.calc__chan li{display:grid;gap:2px}
.calc__chan b{font-size:15px;font-weight:600}
.calc__chan span{font-size:13px;color:var(--muted)}
.calc__fade{margin-top:14px;display:grid;gap:9px;height:96px;overflow:hidden;
  -webkit-mask-image:linear-gradient(180deg,#000 0,#000 22%,transparent 100%);
          mask-image:linear-gradient(180deg,#000 0,#000 22%,transparent 100%)}
.calc__skel{height:12px;border-radius:6px;background:var(--border-soft)}
.calc__skel:nth-child(2){width:90%}.calc__skel:nth-child(3){width:78%}
.calc__skel:nth-child(4){width:85%}.calc__skel:nth-child(5){width:62%}
/* paid thank-you */
.calc__thanks{display:grid;justify-items:center;text-align:center;gap:14px;padding:18px 8px}
.calc__thanks-badge{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;
  background:var(--accent);color:var(--on-accent)}
.calc__thanks-badge svg{width:32px;height:32px}
.calc__thanks-title{margin:0;font-size:24px;font-weight:700}
.calc__thanks-text{margin:0;color:var(--muted);font-size:15px;max-width:420px}
.calc__thanks-btn{width:auto;display:inline-block;text-decoration:none;margin-top:6px}
/* full paid report + bodygraph */
.calc__report{margin-top:6px}
.calc__report-head{margin-bottom:14px}
.calc__report-type{display:inline-block;font-size:20px;font-weight:700;color:var(--accent)}
.calc__report-prof{color:var(--text);font-weight:600}
.calc__report-head p{margin:6px 0 0;color:var(--muted);font-size:14px}
.calc__bg{display:grid;justify-items:center;gap:10px;margin:16px 0;padding:16px;
  background:#FBFAF8;border:1px solid var(--border);border-radius:14px}
.calc__bg-mount{width:100%;display:grid;justify-items:center}
.bg-svg{width:100%;max-width:320px;height:auto;display:block}
/* canonical hdkit chart: report data only toggles .bg-on / .bg-gate-on.
   Force every gate half-channel white by default so a missing fill attr in the
   (30-day cached) SVG can never render a black bar; activated gates win via the
   equal-specificity .bg-gate-on rule placed after. */
.bg-svg path[id^="Gate"]{fill:#fff}
.bg-svg path.bg-gate-on{fill:#2a2a2a;stroke:#2a2a2a}
.calc__bg .bg-on>path:first-of-type{fill:var(--accent)}
/* Distinct per-center colors (id selectors override the generic rule above and
   the dark-theme #000 override; brand palette applies in both themes). */
.calc__bg #Head.bg-on>path:first-of-type{fill:#fee066}
.calc__bg #Ajna.bg-on>path:first-of-type{fill:#94cf48}
.calc__bg #Throat.bg-on>path:first-of-type{fill:#caa652}
.calc__bg #G.bg-on>path:first-of-type{fill:#fae380}
.calc__bg #Ego.bg-on>path:first-of-type{fill:#f73a34}
.calc__bg #Spleen.bg-on>path:first-of-type{fill:#caa652}
.calc__bg #Sacral.bg-on>path:first-of-type{fill:#fb3739}
.calc__bg #SolarPlexus.bg-on>path:first-of-type{fill:#caa652}
.calc__bg #Root.bg-on>path:first-of-type{fill:#caa652}
.calc__bg-legend{display:flex;gap:16px;font-size:12px;color:#6B6E78}
.calc__bg-legend span{display:inline-flex;align-items:center;gap:6px}
.calc__bg-sw{width:13px;height:13px;border-radius:4px;border:2px solid #c9c6bd;
  background:#fff}
.calc__bg-sw--on{background:var(--accent);border-color:var(--accent)}
.calc__item{padding:10px 0;border-bottom:1px solid var(--border-soft)}
.calc__item b{font-size:15px}
.calc__item p{margin:4px 0 0;font-size:14px}
.calc__lead{margin:6px 0 0;font-size:15px;font-weight:600}
.calc__text{margin:6px 0 0;font-size:14px;white-space:pre-line}
.calc__sub{margin:6px 0 0;font-size:14px}
.calc__sub b{color:var(--accent);font-weight:600}
.calc__tag{display:inline-block;font-size:11px;padding:1px 8px;border-radius:999px;
  border:1px solid var(--border);color:var(--muted);margin-left:6px;vertical-align:middle}
.calc__report-muted{color:var(--muted);font-size:13px}
.calc__report-cross{margin:0;font-size:15px;font-weight:600}
.calc__deep{margin-top:10px;background:var(--bg);border:1px solid var(--border);
  border-radius:10px;padding:12px 14px}
.calc__deep summary{cursor:pointer;font-weight:600;font-size:14px}
.calc__deep p{margin:8px 0 0;color:var(--muted);font-size:14px;white-space:pre-line}
/* variables — 4 arrows */
.calc__vars{display:grid;gap:10px;grid-template-columns:1fr}
@media(min-width:560px){.calc__vars{grid-template-columns:1fr 1fr}}
.calc__var{background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:12px 14px}
.calc__var-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.calc__var-head b{font-size:14px}
.calc__var-arrow{color:var(--accent);font-size:18px;line-height:1}
.calc__var-sub{margin:4px 0 0;font-size:12px;color:var(--muted)}
.calc__var-val{margin:8px 0 0;font-size:18px;font-weight:700;color:var(--accent)}
.calc__var-meta{margin:4px 0 0;font-size:12px;color:var(--muted)}
.calc__warn{margin-top:14px;padding:11px 13px;border-radius:10px;font-size:13px;
  background:rgba(155,125,214,.08);border:1px solid var(--accent);color:var(--text)}
.calc__report-loading{color:var(--muted);font-size:15px;text-align:center;padding:24px 0}
.calc__cards{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}
.calc__card-tab{padding:9px 14px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--muted);font-family:inherit;font-size:14px;cursor:pointer}
.calc__card-tab:hover{color:var(--text)}
.calc__card-tab.is-active{border-color:var(--accent);color:var(--text);background:var(--accent-soft,rgba(155,125,214,.12))}
.calc__report-actions{margin-top:18px;display:flex;flex-wrap:wrap;gap:10px;justify-content:center;align-items:center}
.calc__report-pdf{width:auto;display:inline-block}
.calc__report-saved{flex-basis:100%;margin:0;color:var(--muted);font-size:13px;text-align:center}
.calc__edit{padding:13px 16px;border:1px solid var(--border);border-radius:12px;
  background:var(--surface);color:var(--text);font-family:inherit;font-size:15px;font-weight:600;cursor:pointer}
.calc__edit:hover{border-color:var(--accent);color:var(--accent)}
.calc__delcard{color:var(--muted)}
.calc__delcard:hover{border-color:var(--err);color:var(--err)}
.calc__delcard:disabled{opacity:.5;cursor:default}
.calc__addcard{width:auto;display:inline-block}
.calc__edit-bar{margin-top:14px;display:flex;justify-content:center}
@media print{
  body{background:#fff;color:#000}
  .crumbs,header,section:not(#hd-calc),footer,.calc__form,#calc-paywall,#calc-auth,
  .calc__report-actions,.calc__edit-bar,.calc__bg-legend{display:none !important}
  #hd-calc{border:0;margin:0;padding:0;background:#fff;color:#000}
  .calc__report,.calc__item,.calc__item b,.calc__report-type,.calc__report-cross{color:#000}
  .calc__lead,.calc__text,.calc__sub,.calc__sub b{color:#000}
  .calc__deep summary{display:none !important}
  .calc__deep > p{display:block !important;color:#333}
  .calc__deep{page-break-inside:avoid;background:#fff;border:0;padding:0;margin:6px 0 0}
  .calc__bg{background:#fff;border-color:#000}
  .bg-svg path.bg-gate-on{fill:#000;stroke:#000}
  .calc__bg .bg-on>path:first-of-type{fill:#000}
}
/* ===== tabs (Моя карта / Совместимость / Окружение / Прогноз) ===== */
.calc__tabs{display:flex;gap:6px;margin:0 0 18px;padding:4px;border-radius:12px;
  background:var(--bg);border:1px solid var(--border);
  overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.calc__tabs::-webkit-scrollbar{display:none}
/* Each tab is a self-contained chip with its own surface + explicit colour, so
   labels stay visible regardless of inherited/page-level color overrides. */
.calc .calc__tabs .calc__tab{flex:1 0 auto;white-space:nowrap;padding:9px 12px;
  border:1px solid var(--border);border-radius:9px;background:var(--surface);
  color:var(--text);opacity:.72;
  font-family:inherit;font-size:14px;font-weight:600;cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;gap:6px;
  transition:opacity .15s,background .15s}
.calc .calc__tabs .calc__tab:hover{opacity:1}
.calc .calc__tabs .calc__tab.is-active{background:var(--accent);color:var(--on-accent);
  border-color:var(--accent);opacity:1;box-shadow:0 1px 3px var(--shadow)}
.calc__tab[hidden]{display:none}
.calc__tab-badge{min-width:18px;height:18px;padding:0 5px;border-radius:999px;
  background:var(--accent);color:var(--on-accent);font-size:11px;font-weight:700;
  display:inline-flex;align-items:center;justify-content:center}
.calc__panel[hidden]{display:none}
.calc__panel-lead{margin:0 0 16px;color:var(--muted);font-size:14px;line-height:1.5}
/* ===== compatibility — two mini-forms ===== */
.calc__pair{display:grid;gap:14px;margin-bottom:16px}
@media(min-width:560px){.calc__pair{grid-template-columns:1fr 1fr}}
.calc__pair.is-me{grid-template-columns:1fr;max-width:480px}
.calc__mini[hidden]{display:none}
.calc__mini{position:relative;display:grid;gap:9px;padding:14px;border-radius:14px;
  background:var(--bg);border:1px solid var(--border)}
.calc__mini-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.calc__mini-head b{font-size:15px}
.calc__mini-pick{padding:5px 10px;border:1px solid var(--border);border-radius:999px;
  background:var(--surface);color:var(--muted);font-family:inherit;font-size:12px;cursor:pointer}
.calc__mini-pick:hover{color:var(--text);border-color:var(--accent)}
.calc__mini-in{padding:10px 11px;border-radius:10px;border:1px solid var(--border);
  background:var(--surface);color:var(--text);font-family:inherit;font-size:16px;width:100%}
.calc__mini-in:focus{outline:none;border-color:var(--accent)}
.calc__mini-city{position:relative;display:grid}
.calc__mini-picker{position:absolute;top:54px;left:14px;right:14px;z-index:25;margin:0;padding:0;
  list-style:none;background:var(--surface);border:1px solid var(--border);border-radius:10px;
  max-height:230px;overflow:auto;box-shadow:0 8px 24px var(--shadow)}
.calc__mini-picker li{padding:9px 12px;cursor:pointer;display:grid;gap:2px}
.calc__mini-picker li:hover{background:var(--hover)}
.calc__mini-picker b{font-size:14px}
.calc__mini-picker span{font-size:12px;color:var(--muted)}
.calc__mini-pick-empty{color:var(--muted);font-size:13px;cursor:default}
/* ===== compatibility layout: calculator left, Окружение aside right ===== */
.calc__compat-wrap{display:grid;gap:18px}
@media(min-width:880px){.calc__compat-wrap{grid-template-columns:minmax(0,1fr) minmax(240px,320px);align-items:start}}
.calc__compat-main{min-width:0}
.calc__compat-aside{padding:16px;border-radius:16px;background:var(--surface);
  border:1px solid var(--border-soft)}
@media(min-width:880px){.calc__compat-aside{position:sticky;top:16px}}
.calc__aside-title{display:flex;align-items:center;gap:8px;margin:0 0 8px;font-size:16px}
.calc__aside-title--tap{cursor:pointer;user-select:none}
.calc__aside-title--tap:hover{color:var(--accent)}
.calc__aside-title--tap .calc__aside-title-t{text-decoration:underline;
  text-decoration-style:dotted;text-underline-offset:3px}
.calc__people-lead{margin:0 0 14px;color:var(--muted);font-size:13px;line-height:1.5}
/* aside list scrolls on its own so a long Окружение never stretches the page */
.calc__compat-aside #people-list{max-height:60vh;overflow-y:auto;padding-right:4px}
/* ===== Окружение people list ===== */
.calc__people{display:grid;gap:10px}
.calc__person{display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:12px 14px;border-radius:12px;background:var(--bg);border:1px solid var(--border)}
.calc__person-info{display:grid;gap:2px;min-width:0}
.calc__person-info b{font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.calc__person-info span{font-size:12px;color:var(--muted)}
.calc__person-act{display:flex;gap:6px;flex:0 0 auto}
.calc__person-btn{padding:6px 10px;border:1px solid var(--border);border-radius:8px;
  background:var(--surface);color:var(--text);font-family:inherit;font-size:13px;cursor:pointer}
.calc__person-btn:hover{border-color:var(--accent)}
.calc__person-del{color:var(--muted);font-size:16px;line-height:1;padding:6px 10px}
.calc__people-empty{margin:6px 0 0;color:var(--muted);font-size:14px;text-align:center}
/* ===== Окружение popup (tap the heading) ===== */
body.calc-modal-open{overflow:hidden}
.calc__people-modal{position:fixed;inset:0;z-index:1200;display:flex;
  align-items:flex-end;justify-content:center;background:rgba(0,0,0,.5);
  -webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}
.calc__people-modal[hidden]{display:none}
@media(min-width:560px){.calc__people-modal{align-items:center}}
.calc__people-modal-card{display:flex;flex-direction:column;width:100%;
  max-width:520px;max-height:88vh;background:var(--surface);
  border:1px solid var(--border);border-radius:18px 18px 0 0;overflow:hidden}
@media(min-width:560px){.calc__people-modal-card{border-radius:18px}}
.calc__people-modal-head{display:flex;align-items:center;gap:12px;flex:0 0 auto;
  padding:14px 16px;border-bottom:1px solid var(--border-soft)}
.calc__people-modal-head b{font-size:16px}
.calc__people-back{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;
  border:1px solid var(--border);border-radius:10px;background:var(--bg);
  color:var(--text);font-family:inherit;font-size:14px;cursor:pointer}
.calc__people-back:hover{border-color:var(--accent)}
.calc__back-i{width:16px;height:16px;fill:none;stroke:currentColor;
  stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.calc__people-modal-list{padding:16px;overflow-y:auto}
/* ===== connection result ===== */
.calc__conn-people{display:flex;align-items:center;justify-content:center;gap:14px;margin:6px 0 4px}
.calc__conn-person{display:grid;gap:2px;text-align:center}
.calc__conn-person b{font-size:16px}
.calc__conn-person span{font-size:12px;color:var(--muted)}
.calc__conn-vs{color:var(--muted);font-size:18px;font-weight:700}
.calc__conn-match{--m:var(--accent);margin:14px 0;padding:16px 18px;border-radius:16px;
  background:var(--bg);border:1px solid var(--border)}
.calc__conn-match-top{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.calc__conn-match-pct{font-size:34px;font-weight:800;line-height:1;color:var(--m)}
.calc__conn-match-top b{font-size:16px;font-weight:700;color:var(--text)}
.calc__conn-match-bar{height:8px;border-radius:999px;background:var(--border);overflow:hidden;margin:12px 0 10px}
.calc__conn-match-bar i{display:block;height:100%;border-radius:999px;background:var(--m);transition:width .5s ease}
.calc__conn-match p{margin:0;font-size:14px;line-height:1.55;color:var(--muted)}
.calc__conn-match[data-band="perfect"]{--m:#2B9E6B}
.calc__conn-match[data-band="strong"]{--m:#9B7DD6}
.calc__conn-match[data-band="good"]{--m:#2F86FA}
.calc__conn-match[data-band="workable"]{--m:#F5A623}
.calc__conn-match[data-band="challenging"]{--m:var(--muted)}
.calc__conn-summary{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:6px 0 14px}
.calc__conn-stat{padding:5px 11px;border-radius:999px;font-size:13px;font-weight:600;
  border:1px solid var(--border);color:var(--text)}
.calc__conn-stat[data-cat="electromagnetic"]{border-color:#F5A623;color:#F5A623}
.calc__conn-stat[data-cat="companionship"]{border-color:#2B9E6B;color:#2B9E6B}
.calc__conn-stat[data-cat="dominance"]{border-color:var(--accent);color:var(--accent)}
.calc__conn-stat[data-cat="compromise"]{border-color:#2F86FA;color:#2F86FA}
.calc__conn-total{margin-left:auto;font-size:13px;color:var(--muted)}
.calc__conn-verdict{margin:0 0 14px;padding:13px 15px;border-radius:12px;
  background:var(--bg);border:1px solid var(--border);
  font-size:14px;line-height:1.55;color:var(--text)}
.calc__conn-channels{display:grid;gap:24px}
.calc__conn-group{display:grid;gap:10px}
.calc__conn-group-head{display:flex;align-items:center;gap:9px;margin-bottom:-2px}
.calc__conn-group-head h4{margin:0;font-size:16px;letter-spacing:-.01em}
.calc__conn-group-n{font-size:12px;font-weight:700;min-width:22px;height:22px;
  display:inline-flex;align-items:center;justify-content:center;border-radius:999px;
  background:var(--border);color:var(--text)}
.calc__conn-group[data-cat="electromagnetic"] .calc__conn-group-n{background:#F5A623;color:#1a1a1a}
.calc__conn-group[data-cat="companionship"] .calc__conn-group-n{background:#2B9E6B;color:#fff}
.calc__conn-group[data-cat="dominance"] .calc__conn-group-n{background:var(--accent);color:#fff}
.calc__conn-group[data-cat="compromise"] .calc__conn-group-n{background:#2F86FA;color:#fff}
.calc__conn-group-intro{margin:0 0 2px;font-size:13px;color:var(--muted);line-height:1.55}
.calc__conn-chan-bridge{margin-top:8px;display:flex;align-items:center;gap:9px;flex-wrap:wrap;
  padding:8px 11px;border-radius:10px;border:1px dashed #F5A623;
  background:rgba(245,166,35,.08);font-size:12.5px}
.calc__conn-chan-bridge b{color:var(--text)}
.calc__conn-bridge-plus{color:#F5A623;font-weight:700;font-size:14px}
.calc__conn-chan{padding:12px 14px;border-radius:12px;background:var(--bg);
  border:1px solid var(--border);border-left:3px solid var(--border)}
.calc__conn-chan[data-cat="electromagnetic"]{border-left-color:#F5A623}
.calc__conn-chan[data-cat="companionship"]{border-left-color:#2B9E6B}
.calc__conn-chan[data-cat="dominance"]{border-left-color:var(--accent)}
.calc__conn-chan[data-cat="compromise"]{border-left-color:#2F86FA}
.calc__conn-chan-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.calc__conn-chan-head b{font-size:15px}
.calc__conn-badge{font-size:11px;padding:2px 9px;border-radius:999px;border:1px solid var(--border);
  color:var(--muted);flex:0 0 auto}
.calc__conn-chan-meta{margin-top:4px;font-size:12px;color:var(--muted)}
.calc__conn-chan-hint{margin-top:6px;font-size:13px}
.calc__conn-chan-sum{margin-top:9px;font-size:13.5px;line-height:1.5}
.calc__conn-chan-rich{margin-top:9px;display:grid;gap:7px}
.calc__conn-chan-row{font-size:13px;line-height:1.5}
.calc__conn-chan-row b{display:block;font-size:11px;text-transform:uppercase;
  letter-spacing:.04em;color:var(--muted);margin-bottom:1px}
.calc__conn-chan-row[data-d="strength"] b{color:#2B9E6B}
.calc__conn-chan-row[data-d="risk"] b{color:var(--accent)}
/* composite bodygraph — A / B / both / spark gate fills + legend swatches */
.bg-svg path.bg-gate-both{fill:#2B9E6B;stroke:#2B9E6B}
.bg-svg path.bg-gate-a{fill:#2a2a2a;stroke:#2a2a2a}
.bg-svg path.bg-gate-b{fill:#2F86FA;stroke:#2F86FA}
.bg-svg path.bg-gate-spark{fill:#F5A623;stroke:#F5A623}
/* channel two-tone: upper half black, lower half red — overrides owner tints
   above (equal specificity, placed later) for both solo and composite charts. */
.bg-svg path.bg-gate-top{fill:#2a2a2a;stroke:#2a2a2a}
.bg-svg path.bg-gate-bottom{fill:#f80000;stroke:#f80000}
/* compatibility: channel lines from the pairing are two-tone — green upper half,
   blue lower half (more specific than the solo black/red rule, so only the
   composite chart is recoloured). */
.calc__bg--conn .bg-svg path.bg-gate-top{fill:#22b35e;stroke:#22b35e}
.calc__bg--conn .bg-svg path.bg-gate-bottom{fill:#2f86fa;stroke:#2f86fa}
.calc__bg-sw--a{background:#9B7DD6;border-color:#9B7DD6}
.calc__bg-sw--b{background:#2F86FA;border-color:#2F86FA}
.calc__bg-sw--both{background:#2B9E6B;border-color:#2B9E6B}
.calc__bg-sw--spark{background:#F5A623;border-color:#F5A623}
/* daily transits: channels today's sky completes, drawn green over natal base */
.bg-svg path.bg-gate-transit{fill:#22b35e;stroke:#22b35e}
.calc__bg-sw--natal{background:#2a2a2a;border-color:#2a2a2a}
.calc__bg-sw--today{background:#22b35e;border-color:#22b35e}
/* auth modal */
.calc__modal{position:fixed;inset:0;display:grid;place-items:center;
  background:var(--overlay);z-index:50;padding:20px}
.calc__modal[hidden]{display:none}
.calc__modal-box{width:100%;max-width:380px;background:var(--surface);border:1px solid var(--border);
  border-radius:16px;padding:22px;display:grid;gap:12px}
.calc__modal-box h3{margin:0;font-size:19px}
.calc__modal-box p{margin:0;color:var(--muted);font-size:14px}
.calc__modal-box input{padding:11px 12px;border-radius:10px;border:1px solid var(--border);
  background:var(--bg);color:var(--text);font-family:inherit;font-size:16px}
.calc__modal-box button{padding:12px 16px;border:0;border-radius:12px;background:var(--accent);
  color:var(--on-accent);font-family:inherit;font-size:15px;font-weight:600;cursor:pointer}
.calc__modal-box button:hover{background:var(--accent-hover)}
.calc__modal-box .calc__modal-close{background:none;border:0;color:var(--muted);font-size:14px;
  font-weight:400;cursor:pointer;justify-self:end;padding:4px}
.calc__modal-box .calc__modal-close:hover{background:none;color:var(--text)}
.calc__modal-p{margin:0;color:var(--muted);font-size:13px}
.calc__modal-p a{color:var(--accent)}
.calc__modal-note{margin:0;color:var(--muted);font-size:11px;line-height:1.45}
.calc__modal-note a{color:var(--accent)}

/* top nav (calc-account.js) */
.calc-nav{position:sticky;top:0;z-index:40;display:flex;align-items:center;justify-content:space-between;
  gap:12px;padding:10px 20px;background:var(--surface);border-bottom:1px solid var(--border)}
.calc-nav__brand{display:flex;align-items:center;gap:8px;color:var(--text);min-width:0;text-decoration:none}
.calc-nav__logo{display:inline-block;flex:none;width:28px;height:28px;background:var(--accent);
  -webkit-mask:url(/calc/atma-logo.png) center/contain no-repeat;mask:url(/calc/atma-logo.png) center/contain no-repeat}
.calc-nav__name{font-weight:800;letter-spacing:.04em;font-size:18px;color:var(--text)}
.calc-nav__page{color:var(--muted);font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.calc-nav__actions{display:flex;align-items:center;gap:8px;flex:none}
.calc-nav__lang{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:38px;
  padding:0 10px;border-radius:10px;border:1px solid var(--border);background:var(--bg);color:var(--text);
  font-family:inherit;font-size:13px;font-weight:700;letter-spacing:.04em;cursor:pointer}
.calc-nav__lang:hover{border-color:var(--accent);color:var(--accent)}
.calc-nav__icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;padding:0;
  border-radius:10px;border:1px solid var(--border);background:var(--bg);color:var(--text);cursor:pointer}
.calc-nav__icon:hover{border-color:var(--accent);color:var(--accent)}
.calc-nav__icon.is-auth{border-color:var(--accent);color:var(--accent)}

/* system switcher (calc-nav.js) */
.calc-nav__switch{position:relative;display:flex;min-width:0}
button.calc-nav__page{display:inline-flex;align-items:center;gap:5px;border:0;background:none;
  font-family:inherit;cursor:pointer;padding:4px 7px;border-radius:9px;line-height:1.2}
button.calc-nav__page:hover{background:var(--bg)}
.calc-nav__page-sep{color:var(--muted);flex:none}
.calc-nav__page-label{color:var(--muted);font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
button.calc-nav__page:hover .calc-nav__page-label,
button.calc-nav__page[aria-expanded="true"] .calc-nav__page-label{color:var(--text)}
.calc-nav__caret{flex:none;color:var(--muted);transition:transform .15s ease}
button.calc-nav__page[aria-expanded="true"] .calc-nav__caret{transform:rotate(180deg)}
.calc-nav__menu{position:absolute;top:calc(100% + 6px);left:0;z-index:60;margin:0;padding:6px;
  list-style:none;min-width:210px;background:var(--surface);border:1px solid var(--border);
  border-radius:12px;box-shadow:0 12px 28px rgba(0,0,0,.18)}
.calc-nav__menu[hidden]{display:none}
.calc-nav__menu a{display:block;padding:9px 12px;border-radius:8px;color:var(--text);
  text-decoration:none;font-size:14px;white-space:nowrap}
.calc-nav__menu a:hover{background:var(--bg)}
.calc-nav__menu a.is-current{color:var(--accent);font-weight:700}

@media(max-width:520px){.calc-nav__page{display:none}button.calc-nav__page{display:inline-flex}
  .calc-nav{padding:10px 14px}}

/* account modal (calc-account.js) */
.calc__acct-tabs{display:flex;gap:6px}
.calc__acct .calc__acct-tab{flex:1;padding:9px 10px;border-radius:10px;border:1px solid var(--border);
  background:var(--bg);color:var(--muted);font-family:inherit;font-size:14px;font-weight:600;cursor:pointer}
.calc__acct .calc__acct-tab:hover{background:var(--bg);color:var(--text)}
.calc__acct .calc__acct-tab.is-active{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}
.calc__acct-note{margin:0;color:var(--accent);font-size:14px;font-weight:600}
.calc__acct .calc__acct-ghost{background:var(--bg);color:var(--muted);border:1px solid var(--border)}
.calc__acct .calc__acct-ghost:hover{background:var(--bg);color:var(--text);border-color:var(--accent)}
.calc__consent{display:flex;gap:9px;align-items:flex-start;color:var(--muted);font-size:12.5px;line-height:1.5}
.calc__consent input{flex:none;width:18px;height:18px;padding:0;margin-top:1px;accent-color:var(--accent)}
.calc__consent a{color:var(--accent)}

/* vatma cross-sell (calc-account.js) */
.calc__vatma{background:var(--bg);border:1px solid var(--accent);border-radius:14px;padding:14px;display:grid;gap:6px}
.calc__vatma-title{font-weight:700;font-size:15px;color:var(--text)}
.calc__vatma-text{color:var(--muted);font-size:13px;line-height:1.5}
.calc__vatma-btn{margin-top:4px;justify-self:start;display:inline-block;padding:10px 16px;border-radius:10px;
  background:var(--accent);color:var(--on-accent);font-weight:600;font-size:14px}
.calc__vatma-btn:hover{background:var(--accent-hover)}
.calc__finish{background:var(--bg);border:1px solid var(--border);border-radius:14px;padding:14px;display:grid;gap:6px}
.calc__finish-title{font-weight:700;font-size:15px;color:var(--text)}
.calc__finish-text{color:var(--muted);font-size:13px;line-height:1.5}
.calc__finish-btn{margin-top:4px;justify-self:start;padding:10px 16px;border:0;border-radius:10px;
  background:var(--accent);color:var(--on-accent);font-family:inherit;font-weight:600;font-size:14px;cursor:pointer}
.calc__finish-btn:hover{background:var(--accent-hover)}
.calc__buys{display:grid;gap:8px;margin-bottom:4px}
.calc__buys-title{font-weight:700;font-size:14px;color:var(--text)}
.calc__buys-item{display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:11px 13px;border-radius:11px;border:1px solid var(--border);background:var(--surface);
  color:var(--text);font-size:14px;font-weight:600;text-decoration:none}
.calc__buys-item:hover{border-color:var(--accent);background:var(--hover)}
.calc__buys-group{display:grid;gap:4px}
.calc__buys-exp{width:100%;cursor:pointer;font-family:inherit;text-align:left}
.calc__buys-count{display:inline-block;min-width:18px;padding:0 5px;margin-left:4px;
  border-radius:9px;background:var(--accent-soft,rgba(155,125,214,.14));color:var(--accent);
  font-size:12px;font-weight:700;font-style:normal;text-align:center}
.calc__buys-arrow{display:inline-flex;color:var(--muted);transition:transform .18s ease}
.calc__buys-exp.is-open .calc__buys-arrow{transform:rotate(180deg)}
.calc__buys-list{display:grid;gap:4px;padding-left:10px}
.calc__buys-list[hidden]{display:none}
.calc__buys-sub{display:block;padding:9px 12px;border-radius:10px;border:1px solid var(--border);
  background:var(--bg);color:var(--text);font-size:13px;text-decoration:none}
.calc__buys-sub:hover{border-color:var(--accent);background:var(--hover)}

/* shared compatibility component (cmp-*) — used by matrix/astro/numerology/bazi */
.cmp{display:grid;gap:16px}
.cmp-head{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.cmp-score{flex:none;width:88px;height:88px;border-radius:50%;display:grid;place-items:center;
  background:conic-gradient(var(--accent) calc(var(--p,70)*1%),var(--border) 0);position:relative}
.cmp-score::after{content:"";position:absolute;inset:7px;border-radius:50%;background:var(--surface)}
.cmp-score b{position:relative;z-index:1;font-size:26px;font-weight:800;color:var(--text)}
.cmp-score b span{font-size:13px;font-weight:600;color:var(--muted)}
.cmp-headtext{flex:1;min-width:160px}
.cmp-label{font-size:18px;font-weight:700;margin:0 0 4px}
.cmp-lead{font-size:14px;line-height:1.55;color:var(--muted);margin:0}
.cmp-pair{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap}
.cmp-person{display:grid;gap:2px;text-align:center}
.cmp-person b{font-size:15px}
.cmp-person span{font-size:12px;color:var(--muted)}
.cmp-x{color:var(--muted);font-size:18px;font-weight:700}
.cmp-block{display:grid;gap:8px}
.cmp-block h4{margin:0;font-size:15px}
.cmp-bars{display:grid;gap:10px}
.cmp-bar__row{display:grid;grid-template-columns:120px 1fr 36px;align-items:center;gap:10px}
.cmp-bar__lbl{font-size:13px;color:var(--muted)}
.cmp-bar__track{height:9px;border-radius:6px;background:var(--border);overflow:hidden}
.cmp-bar__track i{display:block;height:100%;border-radius:6px;background:var(--accent)}
.cmp-bar__n{font-size:13px;text-align:right;color:var(--text);font-weight:600}
.cmp-sphere{display:grid;gap:7px}
.cmp-sphere__head{display:flex;align-items:center;justify-content:space-between}
.cmp-sphere__head b{font-size:14px}
.cmp-sphere__n{font-size:13px;font-weight:700;color:var(--accent)}
.cmp-sphere p{margin:2px 0 0;font-size:13px;line-height:1.5;color:var(--muted)}
.cmp-list{display:grid;gap:6px;margin:0;padding:0;list-style:none}
.cmp-list li{font-size:14px;line-height:1.5;color:var(--text);padding-left:16px;position:relative}
.cmp-list li::before{content:"";position:absolute;left:0;top:8px;width:7px;height:7px;border-radius:50%;
  background:var(--accent)}
.cmp-list--warn li::before{background:#E0533D}
.cmp-list--ok li::before{background:#2B9E6B}
.cmp-card{border:1px solid var(--border);border-radius:12px;padding:12px 14px;background:var(--bg)}
.cmp-card b{display:block;font-size:14px;margin-bottom:4px}
.cmp-card p{margin:0;font-size:13px;color:var(--muted);line-height:1.5}
.cmp-detail{display:grid;gap:10px}
.cmp-detail__row b{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.04em;
  color:var(--muted);margin-bottom:2px}
.cmp-detail__row p{margin:0;font-size:13.5px;line-height:1.55;color:var(--text)}
.cmp-detail__row[data-d="strength"] b{color:#2B9E6B}
.cmp-detail__row[data-d="risk"] b{color:#E0533D}
.cmp-chips{display:flex;flex-wrap:wrap;gap:8px}
.cmp-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--border);
  border-radius:999px;background:var(--surface);font-size:13px}
@media(max-width:480px){.cmp-bar__row{grid-template-columns:96px 1fr 30px}}
.calc__buys-go{color:var(--accent);font-weight:600;font-size:13px;white-space:nowrap}

/* ── AI consultant widget (calc-ai.js) ───────────────────────────────── */
.calc-ai{margin-top:20px;border:1px solid var(--border);border-radius:14px;
  background:var(--surface);overflow:hidden}
.calc-ai__head{padding:14px 16px;border-bottom:1px solid var(--border-soft)}
.calc-ai__head h4{margin:0 0 3px;font-size:15px;color:var(--text)}
.calc-ai__head p{margin:0;font-size:13px;color:var(--muted);line-height:1.45}
.calc-ai__body{padding:14px 16px;display:grid;gap:13px}
.calc-ai__loading,.calc-ai__empty{margin:0;color:var(--muted);font-size:14px;
  text-align:center;padding:12px 0}
.calc-ai__log{display:grid;gap:12px;max-height:460px;overflow-y:auto;padding:2px}
.calc-ai__row{display:flex;align-items:flex-start;gap:8px;max-width:92%;justify-self:start}
.calc-ai__avatar{flex:0 0 auto;width:28px;height:28px;border-radius:50%;margin-top:1px;
  display:grid;place-items:center;background:var(--bg);border:1px solid var(--border);
  color:var(--accent)}
.calc-ai__avatar svg{width:17px;height:17px;display:block}
.calc-ai__msg{padding:10px 13px;border-radius:15px;font-size:15px;line-height:1.5;
  max-width:92%;word-wrap:break-word}
.calc-ai__msg--user{justify-self:end;background:var(--accent);color:var(--on-accent);
  border-bottom-right-radius:5px}
.calc-ai__msg--ai{background:var(--bg);border:1px solid var(--border);
  color:var(--text);border-bottom-left-radius:5px}
.calc-ai__msg--err{border-color:var(--err);color:var(--err);background:transparent}
.calc-ai__msg.is-typing{color:var(--muted)}
.calc-ai__p{margin:0 0 6px}.calc-ai__p:last-child{margin-bottom:0}
.calc-ai__li{margin:0 0 4px;padding-left:2px}
.calc-ai__chips{display:flex;flex-wrap:wrap;gap:7px}
.calc-ai__chips[hidden]{display:none}
.calc-ai__chip{padding:7px 12px;border-radius:999px;border:1px solid var(--border);
  background:var(--bg);color:var(--muted);font:inherit;font-size:13px;cursor:pointer;
  transition:color .15s,border-color .15s}
.calc-ai__chip:hover{color:var(--text);border-color:var(--accent)}
/* GPT-style composer: a rounded pill with the send icon inside the field */
.calc-ai__composer{display:flex;align-items:flex-end;gap:6px;border:1px solid var(--border);
  border-radius:24px;background:var(--bg);padding:6px 6px 6px 16px;
  transition:border-color .15s}
.calc-ai__composer:focus-within{border-color:var(--accent)}
.calc-ai__ta{flex:1;min-width:0;border:none;background:transparent;resize:none;
  font:inherit;font-size:16px;line-height:1.45;color:var(--text);
  padding:8px 0;min-height:24px;max-height:140px;overflow-y:auto}
.calc-ai__ta::placeholder{color:var(--muted)}
.calc-ai__ta:focus{outline:none}
.calc-ai__send{flex:0 0 auto;width:38px;height:38px;padding:0;border:none;border-radius:50%;
  background:var(--accent);color:var(--on-accent);cursor:pointer;display:grid;
  place-items:center;transition:opacity .15s,transform .1s}
.calc-ai__send:hover:not(:disabled){transform:translateY(-1px)}
.calc-ai__send:disabled{opacity:.35;cursor:default}
.calc-ai__send svg{width:19px;height:19px;display:block}
.calc-ai__meta{margin:2px 2px 0;font-size:12px;color:var(--muted);text-align:right;min-height:14px}
.calc-ai__locked{display:grid;gap:11px;justify-items:start}
.calc-ai__locked p{margin:0;color:var(--muted);font-size:14px}
.calc-ai__unlock{width:auto;padding:11px 18px}
/* ===== daily transits tab ===== */
.calc-tr{display:grid;gap:14px}
.calc-tr--need{gap:12px;justify-items:start;color:var(--muted);font-size:14px}
.calc-tr__loading,.calc-tr__err{margin:0;color:var(--muted);font-size:14px}
.calc-tr__head{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.calc-tr__head h4{margin:0;font-size:18px;color:var(--text)}
.calc-tr__date{font-size:13px;color:var(--muted);white-space:nowrap}
.calc-tr__summary{margin:0;font-size:14px;line-height:1.55;color:var(--text)}
.calc-tr__how{padding:12px 14px;border-radius:12px;background:var(--bg);border:1px solid var(--border)}
.calc-tr__how-t{display:block;font-size:13px;color:var(--text);margin-bottom:7px}
.calc-tr__how-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.calc-tr__how-list li{position:relative;padding-left:16px;font-size:13px;line-height:1.45;color:var(--muted)}
.calc-tr__how-list li::before{content:"";position:absolute;left:1px;top:7px;width:6px;height:6px;
  border-radius:50%;background:var(--accent)}
.calc-tr__weather{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.calc-tr__cell{display:grid;gap:3px;padding:12px;border-radius:12px;
  background:var(--bg);border:1px solid var(--border)}
.calc-tr__cell.is-yours{border-color:var(--accent)}
.calc-tr__cell-l{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.calc-tr__cell-g{font-size:20px;color:var(--accent);font-weight:700}
.calc-tr__cell-n{font-style:normal;font-size:13px;color:var(--text)}
.calc-tr__cell-key{font-size:12px;line-height:1.4;color:var(--muted);margin-top:2px}
.calc-tr__sec{display:grid;gap:2px}
.calc-tr__h5{margin:0;font-size:14px;color:var(--text)}
.calc-tr__h5-sub{margin:0;font-size:12px;color:var(--muted)}
.calc-tr__chans{display:grid;gap:8px}
.calc-tr__chan-row{padding:11px 12px;border-radius:12px;background:var(--surface);
  border:1px solid var(--border)}
.calc-tr__chan-row--electromagnetic{border-left:3px solid var(--accent)}
.calc-tr__chan-row--transit{border-left:3px solid var(--border-soft)}
.calc-tr__chan-top{display:flex;align-items:baseline;justify-content:space-between;gap:8px}
.calc-tr__chan-top b{font-size:14px;color:var(--text)}
.calc-tr__chan-badge{font-size:11px;font-weight:700;padding:1px 8px;border-radius:999px;white-space:nowrap}
.calc-tr__chan-badge--p{color:var(--on-accent);background:var(--accent)}
.calc-tr__chan-badge--c{color:var(--muted);background:var(--bg);border:1px solid var(--border)}
.calc-tr__chan-sub{font-size:12px;color:var(--muted);margin-top:2px}
.calc-tr__chan-via{font-size:13px;color:var(--text);margin-top:4px}
.calc-tr__none{margin:0;font-size:13px;color:var(--muted)}
.calc-tr__list{list-style:none;margin:0;padding:0;display:grid;gap:1px;
  border-radius:12px;overflow:hidden;border:1px solid var(--border)}
.calc-tr__p{padding:9px 12px;background:var(--bg);font-size:13px}
.calc-tr__p.is-yours{background:var(--hover)}
.calc-tr__p-head{display:grid;grid-template-columns:auto 46px 1fr auto;align-items:center;gap:10px}
.calc-tr__p-key{margin:4px 0 0;font-size:12px;line-height:1.45;color:var(--muted)}
.calc-tr__p-name{color:var(--muted)}
.calc-tr__p-gate{color:var(--accent);font-weight:700}
.calc-tr__p-gname{color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.calc-tr__p-badge{font-size:11px;font-weight:700;color:var(--on-accent);background:var(--accent);
  padding:1px 7px;border-radius:999px}
.calc-tr__refresh{justify-self:start;width:auto;padding:8px 16px;border:1px solid var(--border);
  border-radius:9px;background:var(--surface);color:var(--text);font-family:inherit;
  font-size:13px;font-weight:600;cursor:pointer}
.calc-tr__refresh:hover{border-color:var(--accent)}
@media(max-width:480px){.calc-tr__weather{grid-template-columns:1fr}
  .calc-tr__p-head{grid-template-columns:auto 42px 1fr auto}}

/* ===== forecast tab (Прогноз / Forecast) ===== */
.calc-fc__top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 12px}
.calc-fc__date{color:var(--muted);font-size:13px}
.calc-fc__refresh{padding:7px 13px;border:1px solid var(--border);border-radius:9px;
  background:var(--surface);color:var(--text);font-family:inherit;font-size:13px;font-weight:600;cursor:pointer}
.calc-fc__refresh:hover{border-color:var(--accent)}
.calc-fc__loading,.calc-fc__err{color:var(--muted);font-size:14px;padding:14px 0}
.calc-fc__sec{margin:22px 0 12px}
.calc-fc__sec:first-child{margin-top:0}
.calc-fc__h{font-size:18px;margin:0 0 3px;font-weight:700}
.calc-fc__h-sub{margin:0;color:var(--muted);font-size:13px}
.calc-fc__h5{font-size:15px;font-weight:700;margin:18px 0 8px}
.calc-fc__headline{margin:0 0 14px;font-size:15px;font-weight:600;color:var(--accent)}
/* moon phase card */
.calc-fc__moon{display:grid;gap:10px;padding:16px;border-radius:14px;
  background:var(--bg);border:1px solid var(--border)}
.calc-fc__moon-main{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 12px}
.calc-fc__moon-label{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.04em}
.calc-fc__moon-name{font-size:20px;font-weight:700}
.calc-fc__moon-illum,.calc-fc__moon-sign{color:var(--muted);font-size:13px}
.calc-fc__moon-text{margin:0;font-size:14px;line-height:1.55;color:var(--text)}
/* retrogrades */
.calc-fc__retro{display:grid;gap:10px}
.calc-fc__retro-none{margin:0;color:var(--muted);font-size:14px}
.calc-fc__retro-row{padding:13px 14px;border-radius:12px;background:var(--bg);
  border:1px solid var(--border);border-left:3px solid var(--accent)}
.calc-fc__retro-head{display:flex;align-items:center;gap:8px;margin-bottom:5px}
.calc-fc__retro-head b{font-size:15px}
.calc-fc__retro-sign{color:var(--muted);font-size:13px;font-style:normal}
.calc-fc__retro-text{margin:0;font-size:14px;line-height:1.55;color:var(--text)}
.calc-fc__rx{padding:1px 7px;border-radius:999px;background:var(--accent);color:var(--on-accent);
  font-size:11px;font-weight:700;letter-spacing:.02em}
/* planets grid */
.calc-fc__planets{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.calc-fc__pl{display:flex;align-items:center;gap:7px;padding:10px 12px;border-radius:11px;
  background:var(--bg);border:1px solid var(--border)}
.calc-fc__pl.is-rx{border-color:var(--accent)}
.calc-fc__pl-name{font-weight:600;font-size:14px;flex:1 0 auto}
.calc-fc__pl-sign{font-size:13px;color:var(--text)}
.calc-fc__pl-deg{font-size:12px;color:var(--muted)}
/* personal quality + transits */
.calc-fc__quality{padding:14px 15px;border-radius:13px;background:var(--bg);
  border:1px solid var(--border);border-left:4px solid var(--accent);margin:0 0 14px}
.calc-fc__quality--harmonious{border-left-color:#6FB58A}
.calc-fc__quality--tense{border-left-color:#D98A6A}
.calc-fc__quality--mixed{border-left-color:#C7A85C}
.calc-fc__quality-l{display:block;color:var(--muted);font-size:12px;text-transform:uppercase;
  letter-spacing:.04em;margin-bottom:4px}
.calc-fc__quality-t{margin:0;font-size:14px;line-height:1.55}
.calc-fc__trs{display:grid;gap:9px}
.calc-fc__tr{padding:12px 14px;border-radius:12px;background:var(--bg);
  border:1px solid var(--border);border-left:3px solid var(--border)}
.calc-fc__tr--harmonious{border-left-color:#6FB58A}
.calc-fc__tr--tense{border-left-color:#D98A6A}
.calc-fc__tr--neutral{border-left-color:var(--muted)}
.calc-fc__tr-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:5px 8px;margin-bottom:5px}
.calc-fc__tr-head b{font-size:14px}
.calc-fc__tr-asp{font-size:13px;color:var(--accent);font-weight:600}
.calc-fc__tr-nat{font-size:14px;font-weight:600}
.calc-fc__tr-text{margin:0;font-size:13px;line-height:1.5;color:var(--muted)}
/* need-chart prompt */
.calc-fc__need{padding:18px;border-radius:13px;background:var(--bg);border:1px solid var(--border);text-align:center}
.calc-fc__need p{margin:0 0 12px;font-size:14px;color:var(--text);line-height:1.55}
.calc-fc__go{max-width:280px;margin:0 auto;display:block}

/* ── Небо сегодня — landing banner ───────────────────────── */
.sky-today{margin:0 0 22px}
.sky-today__inner{display:block;text-decoration:none;color:inherit;
  padding:16px 18px;border-radius:15px;
  background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 14%,var(--surface)),var(--surface));
  border:1px solid var(--border);transition:border-color .15s,transform .15s,box-shadow .15s}
.sky-today__inner:hover{border-color:var(--accent);transform:translateY(-1px);
  box-shadow:0 4px 16px var(--shadow)}
.sky-today__head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:10px}
.sky-today__title{font-size:15px;font-weight:700;color:var(--text);letter-spacing:.2px}
.sky-today__date{font-size:12px;color:var(--muted)}
.sky-today__row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px}
.sky-today__phase,.sky-today__moon,.sky-today__retro{font-size:13px;line-height:1.4}
.sky-today__phase{font-weight:600;color:var(--accent)}
.sky-today__moon{color:var(--text)}
.sky-today__retro{color:var(--muted)}
.sky-today__more{display:inline-block;margin-top:12px;font-size:13px;font-weight:600;color:var(--accent)}

/* Mobile hero compression — lift the calculator form into the first screen
   so search visitors immediately see a working tool (behavioral/dwell win). */
@media(max-width:640px){
  header h1{font-size:25px;line-height:1.22;margin:0 0 6px}
  header p{font-size:14.5px;line-height:1.45;margin:8px 0 0}
}
