:root {
  --natal-tools-panel-width: min(340px, 90vw);
  --natal-tools-panel-gap: clamp(14px, 1.5vw, 22px);
}

/* Правое меню совпадает по ширине с панелью профиля и не имеет боковых полей. */
.natal-tools-drawer { padding-inline:0!important; }
.natal-tools-scroll { width:100%; padding-inline:0!important; }
.natal-tool-section,
.natal-tool-section > summary,
.natal-tool-body,
.natal-aspect-table-wrap { box-sizing:border-box; width:100%; }
.natal-tool-body { padding-inline:0!important; }
.natal-table-tabs button { flex:1 1 0; }
#natal-aspect-table-tabs.natal-table-tabs:not([hidden]) {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  width:100%;
}
#natal-aspect-table-tabs.natal-table-tabs button { width:100%; }

/* Анализ карты всегда использует высокую линейку, в том числе на узком экране. */
.natal-analysis-track.is-segmented,
.natal-analysis-track.is-segmented .natal-balance-segment { height: 14px !important; }

.index-shell {
  height: auto;
  min-height: 100vh;
  background: var(--background);
}

.index-layout {
  min-height: calc(100vh - 138px);
  background: var(--background);
}

.index-content {
  min-height: calc(100vh - 166px);
  background: var(--background);
}

.natal-title-track {
  display: flex;
  align-items: center;
  gap: clamp(8px, 1vw, 14px);
  padding-right: 10px;
  background: transparent;
  box-shadow: none;
}

.natal-title-track h1 {
  flex: 0 1 auto;
}

.forecast-base-meta {
  display:flex; min-width:0; align-items:center; gap:2px;
}
.forecast-base-meta { display:flex!important; }
.forecast-base-meta[hidden] { display:none!important; }
.forecast-base-meta time,
.forecast-base-meta span {
  display:flex; box-sizing:border-box; width:max-content; height:34px; min-width:0; padding:0 8px; align-items:center;
  border-radius:0; color:var(--text); background:transparent;
  box-shadow:none;
  font-family:"Oswald",sans-serif;
  font-size:17px;
  font-weight:500;
  line-height:1;
  white-space:nowrap;
}
.forecast-base-meta time { flex:0 0 auto; }
.forecast-base-meta span { flex:0 1 auto; max-width:min(34vw,320px); overflow:hidden; text-overflow:ellipsis; }

.natal-edit-button[hidden],
.forecast-secondary-edit-trigger[hidden] { display:none!important; }

.natal-reading-trigger { margin-left:auto; }
.natal-career-trigger { text-decoration:none; }
.natal-partnership-trigger { display:none!important; text-decoration:none; }
body.is-synastry-page .natal-title-track > .natal-partnership-trigger { display:grid!important; }
body.is-forecast-page .natal-career-trigger { display:none!important; }
body:not(.is-forecast-page) .natal-title-track .natal-career-trigger { margin-left:auto!important; }
body:not(.is-forecast-page) .natal-title-track .natal-reading-trigger { margin-left:0!important; }

.natal-tools-trigger {
  display: grid;
  width: 30px;
  height: 30px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  place-items: center;
  color: var(--text);
  background: var(--surface-deep);
  box-shadow: var(--figma-deep-shadow);
  cursor: pointer;
}

.natal-tools-trigger img {
  width: 18px;
  height: 18px;
  color: currentColor;
  filter: invert(1) brightness(1.8);
}

body:is([data-theme="white"],[data-theme="pink"],[data-theme="beige"],[data-theme="lilac"],[data-theme="blue"]) .natal-tools-trigger img {
  filter: none;
}

.natal-content {
  display: grid;
  align-content: start;
  gap: 16px;
  padding: 0 22px 22px;
  background: var(--background);
}

.profection-table-panel{display:grid;align-content:start;gap:16px;box-sizing:border-box;width:100%;max-width:100%;min-width:0;padding:20px;border-radius:var(--corner-radius);background:var(--surface);box-shadow:var(--control-raised-shadow);overflow:hidden}
.profection-table-panel[hidden]{display:none}
.time-lord-panel>.profection-table-panel{padding:18px 0 0;border-radius:0;background:transparent;box-shadow:none}
.profection-table-header{display:flex;flex-wrap:nowrap;align-items:center;gap:10px;max-width:100%;min-width:0;overflow-x:auto;overflow-y:visible;padding:10px 10px 14px;font:400 14px/1.35 "Oswald",sans-serif}
.profection-table-header>*{max-width:100%;min-width:0}
.profection-table-header h2,.profection-table-header p,.profection-table-summary{margin:0}
.profection-table-heading{min-width:0}
.profection-table-header h2{overflow:hidden;font-size:clamp(18px,1.65vw,24px);font-weight:600;text-overflow:ellipsis;white-space:nowrap}
.profection-table-header p{overflow:hidden;margin-top:4px;color:var(--muted);font-size:13px;text-overflow:ellipsis;white-space:nowrap}
.profection-table-summary{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:8px;min-width:540px;flex:1 0 540px;overflow:visible}
.profection-table-summary>div{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;box-sizing:border-box;height:40px;min-width:0;padding:0 12px;border-radius:var(--corner-radius);background:var(--cut-control-fill);box-shadow:var(--control-inset-shadow)}
.profection-table-summary dt{color:var(--muted);font-size:12px}
.profection-table-summary dd{min-width:0;margin:0;font-size:14px;white-space:nowrap}
.profection-period-fields{display:grid;grid-template-columns:220px 100px 100px 118px;align-items:center;gap:8px;min-width:562px;flex:0 0 562px}
.profection-period-field{display:block;min-width:0;color:var(--muted);font:400 12px/1.2 "Oswald",sans-serif}
.profection-direction-field>span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.profection-period-field[hidden]{display:none!important}
.profection-period-field>.setting-picker,.profection-period-field>.setting-picker>.setting-picker-trigger{width:100%}
.profection-period-field>.setting-picker>.setting-picker-trigger{height:40px;font:500 14px/1 "Oswald",sans-serif}
.profection-calculate{width:100%;height:40px!important;min-height:40px!important;max-height:40px!important;align-self:center;font:500 14px/1 "Oswald",sans-serif}
.profection-objects{position:relative;box-sizing:border-box;width:100%;height:40px;min-width:0;border-radius:var(--corner-radius);background:var(--raised-control-fill);box-shadow:var(--control-raised-shadow)}
.profection-objects>summary{display:flex;align-items:center;box-sizing:border-box;width:100%;height:40px;padding:0 14px;list-style:none;cursor:pointer;white-space:nowrap;font:500 14px/1 "Oswald",sans-serif}
.profection-objects>summary::-webkit-details-marker{display:none}
.profection-objects-panel{position:fixed;z-index:180;box-sizing:border-box;width:258px;padding:12px;border-radius:var(--corner-radius);background:var(--surface);box-shadow:var(--control-raised-shadow)}
.profection-object-bulk{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin-bottom:10px}
.profection-object-bulk button{box-sizing:border-box;height:30px;min-width:0;padding:0 3px;border:0;border-radius:var(--corner-radius);color:var(--text);background:var(--cut-control-fill);box-shadow:var(--control-inset-shadow);font:500 11px/1 "Oswald",sans-serif;white-space:nowrap;cursor:pointer}
.profection-object-buttons{display:grid;grid-template-columns:repeat(5,30px);justify-content:space-between;gap:7px}
.profection-object-button{display:grid;place-items:center;box-sizing:border-box;width:30px;height:30px;padding:0;border:0;border-radius:50%;color:var(--text);background:var(--cut-control-fill);box-shadow:var(--control-inset-shadow);font:21px/1 "Astronomicon",sans-serif;cursor:pointer}
.profection-object-button.is-active{color:var(--accent-text);background:var(--accent);box-shadow:var(--control-raised-shadow)}
.sun-period-picker-controls{display:grid;grid-template-columns:minmax(0,1fr) minmax(82px,.72fr);gap:8px;min-width:0}
.sun-period-picker-trigger{box-sizing:border-box;width:100%;height:var(--sun-standard-control-height,40px);min-width:0;min-height:var(--sun-standard-control-height,40px);max-height:var(--sun-standard-control-height,40px);padding:0 12px;border:0;border-radius:var(--corner-radius);color:var(--text);background:var(--raised-control-fill);box-shadow:var(--control-raised-shadow);font:600 14px/1 "Oswald",sans-serif;cursor:pointer;white-space:nowrap}
.sun-period-picker-panel .sun-date-picker-period-grid{min-height:250px}
.profection-summary-angle{display:inline-flex;align-items:center;gap:8px}
.profection-summary-angle-glyph{font:21px/1 "Astronomicon",sans-serif;color:var(--text)}
.profection-table-status{margin:0;padding:15px;border-radius:var(--corner-radius);background:var(--raised-control-fill);box-shadow:var(--control-raised-shadow);color:var(--muted);font:400 14px/1.4 "Oswald",sans-serif}
.profection-table-wrap{width:100%;max-width:100%;min-width:0;overflow:auto;border-radius:0;background:transparent;box-shadow:none}
.profection-table-wrap[hidden]{display:none}
.profection-table{width:100%;min-width:760px;border-collapse:separate;border-spacing:0;padding:0;background:transparent;font:400 14px/1.35 "Oswald",sans-serif}
.profection-table th,.profection-table td{padding:10px 14px;text-align:left;vertical-align:middle;border-bottom:1px solid color-mix(in srgb,var(--text) 12%,transparent)}
.profection-table th{position:static;background:transparent;font-weight:600}
.profection-table td{background:transparent}
.profection-table tbody tr:last-child td{border-bottom:0}
.profection-table td:nth-child(7),.profection-table th:nth-child(7){text-align:right}
.profection-coordinate,.profection-point,.profection-table td:nth-child(3){display:inline-flex;align-items:center;gap:8px;white-space:nowrap}
.profection-zodiac-glyph,.profection-planet-glyph,.profection-aspect-glyph,.profection-cusp-glyph{color:var(--text);font:21px/1 "Astronomicon",sans-serif;font-weight:400}
.profection-aspect-glyph{color:var(--text)}
body.is-profections-table-page .natal-reading-navigation,
body.is-profections-table-page .natal-reading-panel,
body.is-profections-table-page .forecast-source-method{display:none!important}
body.is-profections-table-page .natal-wheel-stage,
body.is-profections-table-page .natal-reading-trigger{display:none!important}
body.is-profections-table-page .natal-content{padding:10px 22px 22px}
body.is-profections-table-page .profection-table-panel{box-shadow:0 10px 22px color-mix(in srgb,var(--text) 16%,transparent)}

.misc-method-switcher{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;min-width:0;padding:0;border-radius:0;background:transparent;box-shadow:none}
.misc-method-switcher[hidden]{display:none}
.misc-method-switcher button{min-width:0;min-height:var(--sun-standard-control-height,40px);padding:8px 12px;border:0;border-radius:var(--corner-radius);background:var(--raised-control-fill);box-shadow:var(--control-raised-shadow);color:var(--text);font:500 14px/1.15 "Oswald",sans-serif;cursor:pointer}
.misc-method-switcher button[aria-pressed="true"]{background:var(--accent);box-shadow:var(--button-active-shadow);color:var(--accent-text)}
.time-lord-panel{display:grid;align-content:start;gap:16px;box-sizing:border-box;width:100%;min-width:0;padding:20px;border-radius:var(--corner-radius);color:var(--text);background:var(--cut-control-fill);box-shadow:var(--control-inset-shadow);font:400 14px/1.45 "Oswald",sans-serif}
.time-lord-panel[hidden]{display:none}
.time-lord-header h2,.time-lord-header p{margin:0}
.time-lord-header h2{font:600 18px/1.2 "Oswald",sans-serif}
.time-lord-header p{margin-top:6px;color:var(--muted)}
.time-lord-status{margin:0;padding:15px;border-radius:var(--corner-radius);background:var(--raised-control-fill);box-shadow:var(--control-raised-shadow);color:var(--muted);font:400 14px/1.4 "Oswald",sans-serif}
.time-lord-status[hidden]{display:none}
.time-lord-summary{display:flex;gap:10px;min-width:0;margin:0;overflow-x:auto}
.time-lord-summary>div{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;box-sizing:border-box;height:40px;min-width:155px;padding:0 12px;border-radius:var(--corner-radius);background:var(--cut-control-fill);box-shadow:var(--control-inset-shadow);flex:1 0 0}
.time-lord-summary dt{color:var(--muted);font-size:12px}
.time-lord-summary dd{min-width:0;margin:0;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.time-lord-content{display:grid;gap:14px;min-width:0}
.time-lord-content>h3{margin:4px 0 0;font-size:18px}
.time-lord-table-wrap{min-width:0;overflow:auto;border-radius:0;background:transparent;box-shadow:none}
.time-lord-table{width:100%;min-width:720px;border-collapse:separate;border-spacing:0;padding:0;background:transparent;font:400 14px/1.35 "Oswald",sans-serif}
.time-lord-table th,.time-lord-table td{padding:10px 14px;text-align:left;border-bottom:1px solid color-mix(in srgb,var(--text) 12%,transparent)}
.time-lord-table th{position:static;background:transparent;font-weight:600}
.time-lord-table td{background:transparent}
.time-lord-table tr.is-active td{background:color-mix(in srgb,var(--accent) 12%,transparent);font-weight:600}
.time-lord-table tbody tr:last-child td{border-bottom:0}
.firdaria-table-wrap{border-radius:0;background:transparent;box-shadow:none}
.firdaria-table{display:grid;gap:10px;min-width:900px;padding:4px 10px 12px}
.firdaria-table-header,.firdaria-major-row,.firdaria-subperiod-header,.firdaria-subperiod-row{display:grid;grid-template-columns:minmax(280px,1.7fr) minmax(74px,.42fr) minmax(82px,.46fr) minmax(160px,1fr) minmax(160px,1fr);align-items:center;gap:0}
.firdaria-table-header{padding:0 14px;color:var(--text);font-weight:600}
.firdaria-major-row{width:100%;min-height:54px;box-sizing:border-box;padding:0 14px;border:0;border-radius:var(--corner-radius);color:var(--text);background:var(--raised-control-fill);box-shadow:var(--control-raised-shadow);font:500 14px/1.35 "Oswald",sans-serif;text-align:left;cursor:pointer}
.firdaria-major-row>span,.firdaria-table-header>span,.firdaria-subperiod-header>span,.firdaria-subperiod-row>span{min-width:0;padding:10px 14px}
.firdaria-major-row:focus,.firdaria-major-row:focus-visible{outline:0}
.firdaria-major-row.is-active{background:var(--accent);box-shadow:var(--control-raised-shadow);color:var(--accent-text)}
.firdaria-detail-row[hidden]{display:none}
.firdaria-detail-row{padding:4px 14px 8px}
.firdaria-subperiod-table{display:grid;width:100%;font:400 14px/1.25 "Oswald",sans-serif}
.firdaria-subperiod-header{color:var(--muted);font-weight:600}
.firdaria-subperiod-row{border-bottom:1px solid color-mix(in srgb,var(--text) 10%,transparent)}
.firdaria-subperiod-row:last-child{border-bottom:0}
.firdaria-subperiod-row.is-active{border-radius:var(--corner-radius);color:var(--accent-text);background:var(--accent);font-weight:600}
.time-lord-astro-glyph{display:inline-block;margin-right:7px;color:inherit;font:21px/1 "Astronomicon",sans-serif;font-weight:400;vertical-align:-2px}
.time-lord-astro-glyph+.time-lord-astro-separator{margin-left:-3px}
.time-lord-astro-separator{display:inline-block;margin-right:4px;color:inherit;font:500 14px/1 "Oswald",sans-serif;vertical-align:1px}
.time-lord-interpretations{display:grid;gap:12px}
.time-lord-interpretations article,.time-lord-limitations{padding:16px;border-radius:var(--corner-radius);background:var(--raised-control-fill);box-shadow:var(--control-raised-shadow);font:400 14px/1.45 "Oswald",sans-serif}
.time-lord-interpretations h3,.time-lord-interpretations p{margin:0}
.time-lord-interpretations h3{margin-bottom:8px;font:600 16px/1.25 "Oswald",sans-serif}
.time-lord-interpretations p{white-space:pre-line;overflow-wrap:anywhere}
.time-lord-interpretation-label{display:block;margin:12px 0 5px;font-weight:700}
.time-lord-interpretations h3+.time-lord-interpretation-label{margin-top:0}
.time-lord-interpretations small{display:block;margin-top:10px;color:var(--muted)}
.time-lord-limitations p+p{margin-top:6px}
body.is-miscellaneous-page .natal-reading-navigation,
body.is-miscellaneous-page .natal-reading-panel,
body.is-miscellaneous-page .forecast-source-method,
body.is-miscellaneous-page .natal-reading-trigger,
body.is-miscellaneous-page .natal-wheel-stage{display:none!important}
body.is-miscellaneous-page .natal-content{padding:10px 22px 22px}

@media(max-width:1600px){
  .profection-table-panel{padding:14px}
  .time-lord-panel>.profection-table-panel{padding:16px 0 0}
}

@media(max-width:900px){
  .misc-method-switcher{grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media(max-width:520px){
  .profection-table-panel{gap:12px;padding:12px;border-radius:var(--corner-radius)}
  .profection-table-summary{gap:8px}
  .profection-table{min-width:980px;padding:7px;font-size:14px}
  .profection-table th,.profection-table td{padding:9px 11px}
  .profection-table-header{display:flex;flex-wrap:nowrap;padding-inline:4px}
  body.is-miscellaneous-page .natal-content{padding:8px 10px 16px}
  .misc-method-switcher{display:grid;grid-template-columns:1fr;overflow:visible;padding:8px}
  .misc-method-switcher button{width:100%;white-space:normal}
  .time-lord-panel{padding:12px}
  .time-lord-summary{gap:8px}
  .time-lord-table{min-width:680px;padding:7px;font-size:14px}
  .time-lord-table th,.time-lord-table td{padding:9px 11px}
  .misc-method-switcher,.time-lord-panel,.profection-table-panel{max-width:100%;overflow:hidden}
  .time-lord-table-wrap,.profection-table-wrap{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}
}

/* Только главная страница «Натал»: над картой нет длинного выреза. Меню
   находится в верхнем левом углу карты, а данные карты — в отдельном вырезе
   под правой строкой заголовка и действий. */
body.sun-index-natal-layout .topbar {
  display: none;
}

body.sun-index-natal-layout .index-layout {
  margin-top: calc(-1 * clamp(8px, 1vw, 16px));
}

body.sun-index-natal-layout .natal-title-track {
  justify-content: flex-end;
  padding-inline: 0 10px;
  background: transparent;
  box-shadow: none;
}

body.sun-index-natal-layout .natal-title-track > h1 {
  order: 96;
  position: fixed;
  top: clamp(18px, 2vw, 30px);
  left: calc(100vw - clamp(18px, 2vw, 30px) - var(--natal-tools-panel-width) + 8px);
  z-index: 112;
  display: flex;
  height: var(--sun-header-height);
  align-items: center;
  margin-left: 0;
  transform: none;
}

body.sun-index-natal-layout .index-tools-fixed-header {
  display: flex;
  box-sizing: border-box;
  width: 100%;
  height: var(--sun-header-height);
  padding: 0 5px 0 8px;
  align-items: center;
  gap: 8px;
}

body.sun-index-natal-layout .index-tools-fixed-header > h1 {
  min-width: 0;
  margin: 0 auto 0 0;
  color: var(--text);
  font-family: "Oswald", sans-serif;
  font-size: 20px;
  font-weight: 500;
  line-height: 1;
  white-space: nowrap;
}

body.sun-index-natal-layout .index-tools-fixed-header .natal-career-trigger {
  margin-left: auto!important;
}

body.sun-index-natal-layout .index-tools-fixed-header .natal-reading-trigger {
  margin-left: 0!important;
}

body.sun-index-natal-layout #profile-drawer-trigger {
  width: var(--sun-round-button-size);
  min-width: var(--sun-round-button-size);
  max-width: var(--sun-round-button-size);
  height: var(--sun-round-button-size);
  min-height: var(--sun-round-button-size);
  max-height: var(--sun-round-button-size);
  justify-self: center;
}

body.sun-index-natal-layout #profile-drawer-trigger img {
  width: 18px;
  height: 18px;
}

body.sun-index-natal-layout .natal-title-track .natal-career-trigger {
  margin-left: 0 !important;
}

body.sun-index-natal-layout .index-chart-meta-cut {
  position: relative;
  top: auto;
  z-index: 1;
  display: flex;
  box-sizing: border-box;
  width: calc(100% - 6px);
  min-height: 40px;
  margin: 8px 0;
  padding: 3px 8px;
  align-items: center;
  gap: 8px;
  border-radius: var(--corner-radius);
  color: var(--text);
  background: var(--cut-control-fill);
  box-shadow: var(--control-inset-shadow);
}

body.sun-index-natal-layout .natal-tools-drawer {
  grid-template-rows: auto minmax(0, 1fr);
}

/* Пустая нижняя панель не создаёт второй невидимый слой под картой. */
body.sun-index-natal-layout .natal-reading-navigation:not(:has(> :not([hidden]))) {
  display: none!important;
  min-height: 0!important;
}

body.sun-index-natal-layout .natal-wheel-stage,
body.sun-index-natal-layout .natal-tools-scroll,
body.sun-index-natal-layout .natal-tool-section {
  overflow-anchor: none;
}

body.sun-index-natal-layout .natal-tools-scroll {
  scrollbar-gutter: stable;
}

body.sun-index-natal-layout .natal-tools-drawer > .natal-title-track {
  display: grid;
  box-sizing: border-box;
  width: calc(100% - 6px);
  height: auto;
  min-height: 88px;
  margin: 0 0 8px;
  padding: 0;
  grid-template-columns: minmax(0, 1fr) repeat(4, 36px);
  grid-template-rows: var(--sun-standard-control-height) var(--sun-standard-control-height);
  gap: 8px;
  align-items: center;
  background: transparent;
  box-shadow: none;
}

body.sun-index-natal-layout .natal-tools-drawer > .natal-title-track > h1 {
  position: static;
  grid-column: 1;
  grid-row: 1;
  display: flex;
  height: var(--sun-standard-control-height);
  margin: 0;
  align-items: center;
  font-size: 20px;
  transform: none;
}

body.sun-index-natal-layout .natal-tools-drawer > .natal-title-track > .natal-career-trigger { grid-column: 2; grid-row: 1; }
body.sun-index-natal-layout .natal-tools-drawer > .natal-title-track > .natal-reading-trigger { grid-column: 3; grid-row: 1; }
body.sun-index-natal-layout .natal-tools-drawer > .natal-title-track > #profile-drawer-trigger { grid-column: 4; grid-row: 1; }
body.sun-index-natal-layout:is(.is-directions-page,.is-progressions-page) .natal-tools-drawer > .natal-title-track > .direction-aspects-trigger { grid-column: 3; grid-row: 1; }
body.sun-index-natal-layout:is(.is-directions-page,.is-progressions-page) .natal-tools-drawer > .natal-title-track > #profile-drawer-trigger { grid-column: 4; grid-row: 1; }

body.sun-index-natal-layout:is(.is-directions-page,.is-progressions-page) .natal-tools-drawer > .natal-title-track > .direction-aspects-trigger:not([hidden]) {
  display:grid!important;
  box-sizing:border-box;
  width:36px!important;
  min-width:36px!important;
  max-width:36px!important;
  height:36px!important;
  min-height:36px!important;
  max-height:36px!important;
  margin:0!important;
  padding:0!important;
  background:var(--raised-control-fill);
  box-shadow:var(--control-raised-shadow);
}
body.sun-index-natal-layout .natal-tools-drawer > .natal-title-track > .direction-aspects-trigger img {
  width:18px!important;
  height:18px!important;
}

body.sun-index-natal-layout .natal-tools-drawer > .natal-title-track > .forecast-base-meta {
  grid-column: 1 / 3;
  grid-row: 2;
  box-sizing: border-box;
  width: 100%;
  height: var(--sun-standard-control-height);
  min-height: var(--sun-standard-control-height);
  max-height: var(--sun-standard-control-height);
  min-width: 0;
  padding-inline: 8px;
  overflow: hidden;
  border-radius: var(--corner-radius);
  background: var(--cut-control-fill);
  box-shadow: var(--control-inset-shadow);
}

body.sun-index-natal-layout .natal-tools-drawer > .natal-title-track > #natal-edit-trigger { grid-column: 3; grid-row: 2; }
body.sun-index-natal-layout .natal-tools-drawer > .natal-title-track > #natal-now-trigger { grid-column: 4; grid-row: 2; }

body.sun-index-natal-layout .natal-tools-drawer > .natal-title-track > :is(.forecast-base-meta,.forecast-secondary-meta) {
  color:var(--accent-text)!important;
  background:var(--accent)!important;
  box-shadow:var(--control-raised-shadow)!important;
}

body.sun-index-natal-layout .natal-tools-drawer > .natal-title-track > :is(.forecast-base-meta,.forecast-secondary-meta) :is(time,span) {
  color:inherit!important;
}

/* Метаданные карты всегда начинаются с полной даты. Город может сжиматься,
   но дата и время не заезжают под соседние круглые действия. */
body.sun-index-natal-layout .natal-tools-drawer > .natal-title-track > :is(.forecast-base-meta,.forecast-secondary-meta) time {
  flex:0 0 auto!important;
  overflow:visible!important;
}

body.sun-index-natal-layout .natal-tools-drawer > .natal-title-track > :is(.forecast-base-meta,.forecast-secondary-meta) span {
  flex:1 1 auto!important;
  overflow:hidden!important;
  text-overflow:ellipsis;
}

body.sun-index-natal-layout .natal-tools-drawer > .natal-title-track > :is(
  .natal-career-trigger,
  .natal-reading-trigger,
  #profile-drawer-trigger,
  #natal-edit-trigger,
  #natal-now-trigger,
  .forecast-secondary-now-trigger,
  .forecast-secondary-edit-trigger,
  .forecast-calculate
),
body.sun-index-natal-layout .natal-tools-drawer > .natal-title-track .forecast-view-modes button {
  box-sizing:border-box;
  width:36px!important;
  min-width:36px!important;
  max-width:36px!important;
  height:36px!important;
  min-height:36px!important;
  max-height:36px!important;
}

@media (min-width: 601px) {
  body.sun-index-natal-layout .natal-tools-drawer {
    right: 8px;
    width: calc(var(--natal-tools-panel-width) + clamp(18px, 2vw, 30px) - 8px);
  }
}

body.sun-index-natal-layout.profile-drawer-open .natal-tools-drawer {
  visibility: hidden!important;
  pointer-events: none!important;
}

@media (min-width: 601px) {
  html:has(body.sun-design-fixed-layout),
  body.sun-design-fixed-layout {
    height: 100%;
    overflow: hidden;
  }

  body.sun-design-fixed-layout .app-shell {
    box-sizing: border-box;
    height: 100dvh;
    min-height: 100dvh;
    grid-template-rows: minmax(0, 1fr);
    overflow: hidden;
  }

  body.sun-design-fixed-layout .topbar { display: none; }

  body.sun-design-fixed-layout .workspace {
    height: 100%;
    min-height: 0;
    padding: 0;
    grid-template-columns: minmax(0, 1fr) var(--natal-tools-panel-width);
    grid-template-rows: 46px auto minmax(0, 1fr);
    column-gap: var(--natal-tools-panel-gap);
    row-gap: 8px;
    background: var(--background);
    box-shadow: none;
  }

  body.sun-design-fixed-layout .canvas {
    position: relative;
    top: auto;
    box-sizing: border-box;
    height: calc(100dvh - 38px);
    min-height: 0;
    margin-block:0;
    padding: 0;
    overflow: hidden;
    background: var(--cut-control-fill);
    box-shadow: var(--control-inset-shadow);
    grid-column: 1;
    grid-row: 1 / 4;
  }

  body.sun-design-fixed-layout .canvas > .wheel-root {
    transition: none;
  }

  body.sun-design-fixed-layout .control-panel {
    box-sizing: border-box;
    height: 100%;
    min-height: 0;
    padding: 0 12px 10px 0;
    gap: 8px;
    overflow-y: auto;
    overflow-anchor: none;
    scrollbar-gutter: stable;
    scrollbar-width: thin;
    scrollbar-color: var(--muted) transparent;
    grid-column: 2;
    grid-row: 3;
  }

  body.sun-design-fixed-layout .control-panel::-webkit-scrollbar {
    width: 6px;
    height: 6px;
  }

  body.sun-design-fixed-layout .control-panel::-webkit-scrollbar-track { background: transparent; }
  body.sun-design-fixed-layout .control-panel::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: var(--muted);
  }

  body.sun-design-fixed-layout .workspace > .topbar-track {
    display: flex;
    flex: none;
    box-sizing: border-box;
    width: 100%;
    height: 46px;
    min-height: 46px;
    max-height: 46px;
    padding: 3px 5px 3px 8px;
    align-items: center;
    gap: 8px;
    background: transparent;
    box-shadow: none;
    overflow: visible;
    grid-column: 2;
    grid-row: 1;
  }

  body.sun-design-fixed-layout .workspace > .topbar-track h1 {
    margin: 0 auto 0 0;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.14;
    transform: none;
    overflow: visible;
  }

  body.sun-design-fixed-layout .workspace > .topbar-track #profile-drawer-trigger {
    width: 36px;
    min-width: 36px;
    max-width: 36px;
    height: 36px;
    min-height: 36px;
    max-height: 36px;
    margin-left: auto;
    background: var(--cut-control-fill);
    box-shadow: var(--control-inset-shadow);
  }

  body.sun-design-fixed-layout .workspace > .topbar-track #profile-drawer-trigger img {
    width: 18px;
    height: 18px;
  }

  body.sun-design-fixed-layout .menu-section-mode {
    position: relative;
    top: auto;
    z-index: auto;
    padding: 0;
    background: transparent;
    grid-column: 2;
    grid-row: 2;
  }

  body.sun-design-fixed-layout .menu-section-mode button,
  body.sun-design-fixed-layout .menu-section > summary {
    background: var(--cut-control-fill);
    box-shadow: var(--control-inset-shadow)!important;
  }

  body.sun-design-fixed-layout .menu-section-mode button.is-active,
  body.sun-design-fixed-layout .menu-section-mode button[aria-pressed="true"] {
    color: var(--accent-text);
    background: var(--accent);
    box-shadow: var(--control-inset-shadow)!important;
  }

  body.sun-design-fixed-layout.profile-drawer-open .control-panel,
  body.sun-design-fixed-layout.profile-drawer-open .workspace > .topbar-track,
  body.sun-design-fixed-layout.profile-drawer-open .workspace > .menu-section-mode {
    visibility: hidden;
    pointer-events: none;
  }
}

body #design-back-button {
  display: none!important;
}

body:not(.sun-design-fixed-layout) .topbar:has(#design-back-button) {
  grid-template-columns: minmax(0, 1fr) var(--sun-header-edge-button-size);
}

body.sun-index-natal-layout .natal-tools-drawer :is(.setting-picker-menu, .theme-picker-menu, .zodiac-palette-menu),
body.sun-design-fixed-layout .control-panel :is(.setting-picker-menu, .theme-picker-menu, .zodiac-palette-menu),
body:has(.settings-shell) :is(.setting-picker-menu, .theme-picker-menu, .zodiac-palette-menu, .settings-city-suggestions) {
  border: 0!important;
  background: var(--background)!important;
  box-shadow: var(--control-inset-shadow)!important;
  -webkit-backdrop-filter: none!important;
  backdrop-filter: none!important;
}

body.sun-index-natal-layout .natal-tools-drawer :is(
  #profile-drawer-trigger,
  .natal-time-map-buttons button,
  #natal-time-play,
  .natal-return-period button,
  .natal-return-period output,
  #transit-cusps-toggle,
  .natal-configuration-tabs button,
  .sun-aspect-scope-filter button
) {
  box-shadow: var(--control-inset-shadow)!important;
}

body.sun-index-natal-layout .natal-tools-drawer :is(
  #profile-drawer-trigger,
  .natal-time-map-buttons button,
  #natal-time-play,
  .natal-return-period button,
  .natal-return-period output,
  #transit-cusps-toggle,
  .natal-configuration-tabs button,
  .sun-aspect-scope-filter button
):not(.is-active):not([aria-pressed="true"]) {
  color: var(--text)!important;
  background: var(--cut-control-fill)!important;
}

body.sun-index-natal-layout .natal-tools-drawer .natal-configuration-button,
body.sun-index-natal-layout .natal-tools-drawer .natal-configuration-planet-group {
  color: var(--text)!important;
  background: transparent!important;
  box-shadow: none!important;
}

body.sun-index-natal-layout .natal-tools-drawer .natal-configuration-planet-group.is-conjunction {
  color: var(--accent-text)!important;
  background: var(--accent)!important;
  box-shadow: none!important;
}

@media (max-width: 1024px) {
  body.sun-index-natal-layout .natal-tools-drawer {
    grid-template-rows: auto auto auto;
  }
}

@media (max-width: 600px) {
  body:not(.is-forecast-page) .natal-title-track {
    overflow: visible!important;
  }
}

body.sun-index-natal-layout .index-chart-meta-cut .forecast-base-meta {
  display: flex !important;
}

body.sun-index-natal-layout .index-chart-meta-cut #natal-edit-trigger {
  margin-left: auto;
}

body.sun-index-natal-layout .index-chart-meta-cut .forecast-base-meta time,
body.sun-index-natal-layout .index-chart-meta-cut .forecast-base-meta span {
  height: 34px;
  padding-inline: 4px;
}

body.sun-index-natal-layout #index-menu-button {
  position: absolute;
  top: 16px;
  left: 16px;
  z-index: 7;
  width: var(--sun-standard-round-control-size);
  min-width: var(--sun-standard-round-control-size);
  max-width: var(--sun-standard-round-control-size);
  height: var(--sun-standard-round-control-size);
  min-height: var(--sun-standard-round-control-size);
  max-height: var(--sun-standard-round-control-size);
}

body.sun-index-natal-layout .natal-wheel-stage {
  height: calc(100dvh - 38px);
  min-height: 0;
  margin-block: 8px;
  padding: 0;
  place-items: center;
}

@media (max-width: 600px) {
  body.sun-design-fixed-layout .workspace > .topbar-track { order:-2; }
  body.sun-design-fixed-layout .workspace > .menu-section-mode { order:-1; }
  body.sun-design-fixed-layout .workspace > .canvas { order:0; }
  body.sun-design-fixed-layout .workspace > .control-panel { order:1; }

  body.sun-index-natal-layout .index-chart-meta-cut {
    max-width: none;
    padding-inline: 6px;
    gap: 4px;
  }

  body.sun-index-natal-layout .index-chart-meta-cut .forecast-base-meta time,
  body.sun-index-natal-layout .index-chart-meta-cut .forecast-base-meta span {
    overflow: hidden;
    padding-inline: 2px;
    font-size: 11px;
    text-overflow: ellipsis;
  }

  body.sun-index-natal-layout #index-menu-button {
    top: 10px;
    left: 10px;
  }
}

@media (min-width: 601px) {
  body.sun-index-natal-layout.is-synastry-page .natal-tools-drawer > .natal-title-track {
    display:grid!important;
    height:136px!important;
    min-height:136px!important;
    max-height:136px!important;
    grid-template-columns:minmax(0,1fr) repeat(6,36px);
    grid-template-rows:repeat(3,var(--sun-standard-control-height));
    gap:8px;
    width:calc(100% - 6px)!important;
    margin-left:0!important;
    margin-right:6px!important;
    padding:0!important;
    overflow:visible;
  }
  body.sun-index-natal-layout.is-synastry-page .natal-title-track > h1 {
    display:flex!important;
    position:static!important;
    grid-column:1;
    grid-row:1;
    font-size:20px;
  }
  body.sun-index-natal-layout.is-synastry-page .natal-title-track > .natal-partnership-trigger {
    grid-column:5;
    grid-row:1;
  }
  body.sun-index-natal-layout.is-synastry-page .natal-title-track > .natal-reading-trigger {
    grid-column:6;
    grid-row:1;
  }
  body.sun-index-natal-layout.is-synastry-page .natal-title-track > #profile-drawer-trigger {
    grid-column:7;
    grid-row:1;
    width:36px!important;
    min-width:36px!important;
    max-width:36px!important;
    height:36px!important;
    min-height:36px!important;
    max-height:36px!important;
  }
  body.sun-index-natal-layout.is-synastry-page .natal-title-track > .forecast-base-meta {
    display:flex!important;
    grid-column:1 / 7;
    grid-row:2;
    padding-right:8px;
  }
  body.sun-index-natal-layout.is-synastry-page .natal-title-track > #natal-edit-trigger {
    display:grid!important;
    grid-column:7;
    grid-row:2;
    width:36px!important;
    min-width:36px!important;
    height:36px!important;
    min-height:36px!important;
  }
  body.sun-index-natal-layout.is-synastry-page .natal-title-track > .forecast-secondary-edit-trigger:not([hidden]) {
    display:grid!important;
    grid-column:7;
    grid-row:3;
    width:36px!important;
    min-width:36px!important;
    height:36px!important;
    min-height:36px!important;
  }
  body.sun-index-natal-layout.is-synastry-page .natal-title-track > #natal-now-trigger,
  body.sun-index-natal-layout.is-synastry-page .natal-title-track > .natal-career-trigger,
  body.sun-index-natal-layout.is-synastry-page .forecast-controls > .forecast-field,
  body.sun-index-natal-layout.is-synastry-page .forecast-controls > .forecast-mobile-row-break,
  body.sun-index-natal-layout.is-synastry-page .forecast-controls > .forecast-settings-trigger {
    display:none!important;
  }
  body.sun-index-natal-layout.is-synastry-page .natal-title-track > .forecast-secondary-meta {
    display:flex!important;
    box-sizing:border-box;
    width:100%;
    height:var(--sun-standard-control-height);
    min-height:var(--sun-standard-control-height);
    max-height:var(--sun-standard-control-height);
    min-width:0;
    padding-inline:8px;
    overflow:hidden;
    border-radius:var(--corner-radius);
    background:var(--cut-control-fill);
    box-shadow:var(--control-inset-shadow);
    grid-column:1 / 7;
    grid-row:3;
    padding-right:8px;
  }
  body.sun-index-natal-layout.is-synastry-page .natal-title-track > .forecast-controls {
    display:contents!important;
  }
  body.sun-index-natal-layout.is-synastry-page .forecast-controls > .forecast-calculate {
    display:grid!important;
    grid-column:2;
    grid-row:1;
  }
  body.sun-index-natal-layout.is-synastry-page .natal-title-track .forecast-view-modes:not([hidden]) {
    display:contents!important;
  }
  body.sun-index-natal-layout.is-synastry-page .natal-title-track .forecast-view-modes button[hidden] {
    display:none!important;
  }
  body.sun-index-natal-layout.is-synastry-page .natal-title-track .forecast-view-modes button[data-synastry-view="1"] {
    display:grid!important;
    grid-column:2;
    grid-row:1;
  }
  body.sun-index-natal-layout.is-synastry-page .natal-title-track .forecast-view-modes button[data-synastry-view="2"] {
    display:grid!important;
    grid-column:3;
    grid-row:1;
  }
  body.sun-index-natal-layout.is-synastry-page .natal-title-track .forecast-view-modes button[data-synastry-view="3"] {
    display:grid!important;
    grid-column:4;
    grid-row:1;
  }
}

/* Единая фиксированная геометрия прогнозных карт: те же вырез,
   поля 40 px и кнопки 36 px, что в Натале и Синастрии. */
@media (min-width: 601px) {
  body.sun-index-natal-layout.is-forecast-page:not(.is-synastry-page) .natal-tools-drawer > .natal-title-track {
    display:grid!important;
    box-sizing:border-box;
    width:calc(100% - 6px)!important;
    height:136px!important;
    min-height:136px!important;
    max-height:136px!important;
    margin:0 6px 8px 0!important;
    padding:0!important;
    grid-template-columns:minmax(0,1fr) repeat(6,36px);
    grid-template-rows:repeat(3,var(--sun-standard-control-height));
    gap:8px;
    align-items:center;
    overflow:visible;
  }

  body.sun-index-natal-layout.is-forecast-page:not(.is-synastry-page) .natal-title-track > h1 {
    position:static!important;
    display:flex!important;
    grid-column:1;
    grid-row:1;
    height:var(--sun-standard-control-height);
    min-width:0;
    margin:0;
    align-items:center;
    overflow:visible;
    font-size:18px!important;
    text-overflow:clip;
    white-space:nowrap;
    transform:none;
  }

  body.sun-index-natal-layout.is-forecast-page:not(.is-synastry-page) .natal-title-track > .forecast-base-meta,
  body.sun-index-natal-layout.is-forecast-page:not(.is-synastry-page) .natal-title-track > .forecast-secondary-meta {
    display:flex!important;
    box-sizing:border-box;
    width:100%;
    height:var(--sun-standard-control-height);
    min-height:var(--sun-standard-control-height);
    max-height:var(--sun-standard-control-height);
    min-width:0;
    padding-inline:8px;
    overflow:hidden;
    border-radius:var(--corner-radius);
  }

  body.sun-index-natal-layout.is-forecast-page:not(.is-synastry-page) .natal-title-track > .forecast-base-meta {
    grid-column:1 / 7;
    grid-row:2;
  }

  body.sun-index-natal-layout.is-forecast-page:not(.is-synastry-page) .natal-title-track > .forecast-secondary-meta {
    grid-column:1 / 7;
    grid-row:3;
  }

  body.sun-index-natal-layout.is-forecast-page:not(.is-synastry-page) .natal-title-track > #natal-edit-trigger {
    display:grid!important;
    grid-column:7;
    grid-row:2;
  }

  body.sun-index-natal-layout.is-forecast-page:not(.is-synastry-page) .natal-title-track > .forecast-secondary-edit-trigger:not([hidden]) {
    display:grid!important;
    grid-column:7;
    grid-row:3;
  }

  body.sun-index-natal-layout.is-forecast-page:not(.is-synastry-page) .natal-title-track > .forecast-controls {
    display:contents!important;
  }

  body.sun-index-natal-layout.is-forecast-page:not(.is-synastry-page) .forecast-controls > :is(.forecast-field,.forecast-mobile-row-break),
  body.sun-index-natal-layout.is-forecast-page:not(.is-synastry-page) .natal-title-track > :is(#natal-now-trigger,.natal-career-trigger) {
    display:none!important;
  }

  body.sun-index-natal-layout.is-profections-table-page .forecast-controls > .forecast-field.is-datetime {
    display:none!important;
    grid-column:3 / 7;
    grid-row:1;
    width:100%;
    min-width:0;
  }

  body.sun-index-natal-layout.is-profections-table-page .forecast-field.is-datetime input {
    width:100%;
    height:var(--sun-standard-control-height);
  }

  body.sun-index-natal-layout.is-forecast-page:not(.is-synastry-page) .forecast-controls > .forecast-calculate {
    display:grid!important;
    grid-column:2;
    grid-row:1;
  }

  body.sun-index-natal-layout.is-forecast-page:not(.is-synastry-page) .forecast-controls > .forecast-settings-trigger:not([hidden]) {
    display:grid!important;
    grid-column:3;
    grid-row:1;
  }

  body.sun-index-natal-layout.is-directions-page .forecast-controls > .directions-panel-width-trigger:not([hidden]) {
    display:grid!important;
    grid-column:4;
    grid-row:1;
  }

  body.sun-index-natal-layout.is-forecast-page:not(.is-synastry-page) .natal-title-track .forecast-view-modes:not([hidden]) {
    display:contents!important;
  }

  body.sun-index-natal-layout.is-forecast-page:not(.is-synastry-page) .natal-title-track .forecast-view-modes button[data-forecast-view="forecast"] {
    display:grid!important;
    grid-column:3;
    grid-row:1;
  }

  body.sun-index-natal-layout.is-forecast-page:not(.is-synastry-page) .natal-title-track .forecast-view-modes button[data-forecast-view="side-by-side"] {
    display:grid!important;
    grid-column:4;
    grid-row:1;
  }

  body.sun-index-natal-layout.is-forecast-page:not(.is-synastry-page) .natal-title-track .forecast-view-modes button[data-forecast-view="overlay"] {
    display:grid!important;
    grid-column:5;
    grid-row:1;
  }

  body.sun-index-natal-layout.is-forecast-page:not(.is-synastry-page) .natal-title-track > .natal-reading-trigger {
    grid-column:6;
    grid-row:1;
    margin-left:0!important;
  }

  body.sun-index-natal-layout:is(.is-directions-page,.is-progressions-page) .natal-title-track > .direction-aspects-trigger:not([hidden]) {
    display:grid!important;
    grid-column:6;
    grid-row:1;
    margin-left:0!important;
  }

  body.sun-index-natal-layout.is-forecast-page:not(.is-synastry-page) .natal-title-track > #profile-drawer-trigger {
    grid-column:7;
    grid-row:1;
  }

  body.sun-index-natal-layout.is-forecast-page:not(.is-synastry-page) .natal-title-track > :is(
    #natal-edit-trigger,
    .forecast-secondary-edit-trigger,
    .natal-reading-trigger,
    .direction-aspects-trigger,
    #profile-drawer-trigger,
    .forecast-calculate,
    .forecast-settings-trigger,
    .directions-panel-width-trigger
  ),
  body.sun-index-natal-layout.is-forecast-page:not(.is-synastry-page) .natal-title-track .forecast-view-modes button {
    box-sizing:border-box;
    width:36px!important;
    min-width:36px!important;
    max-width:36px!important;
    height:36px!important;
    min-height:36px!important;
    max-height:36px!important;
    margin:0!important;
  }

  body.sun-index-natal-layout.is-forecast-page:not(.is-synastry-page) .natal-wheel-stage,
  body.sun-index-natal-layout.is-forecast-page:not(.is-synastry-page) .natal-wheel-stage.is-side-by-side {
    box-sizing:border-box;
    height:calc(100dvh - 38px);
    min-height:0;
    margin-block:8px;
    padding:0;
    place-items:center;
    align-content:center;
  }

}

.natal-wheel-stage {
  position: relative;
  display: grid;
  min-height: calc(100vh - 166px);
  box-sizing: border-box;
  padding-top: 5px;
  border-radius: var(--corner-radius);
  align-items: start;
  justify-items: center;
  overflow: hidden;
  background: var(--cut-control-fill);
  box-shadow: var(--control-inset-shadow);
}

.forecast-controls {
  position: relative; z-index: 12; display: flex; min-width: 0; align-items: center; gap: 6px;
}

.forecast-controls[hidden] { display: none; }
.forecast-mobile-row-break { display:none; }
.forecast-database-trigger{box-sizing:border-box;display:grid;place-items:center;flex:0 0 34px;width:34px;min-width:34px;max-width:34px;height:34px;min-height:34px;max-height:34px;padding:0;border:0;border-radius:50%;color:var(--text);background:var(--raised-control-fill);box-shadow:var(--control-raised-shadow);text-decoration:none}
.forecast-database-trigger[hidden]{display:none!important}
.forecast-database-trigger img{display:block;width:17px;height:17px;filter:var(--icon-filter)}
.forecast-field { position: relative; display: block; min-width: 0; color: var(--text); }
.forecast-field[hidden] { display: none; }
.forecast-field input {
  box-sizing: border-box; width: 178px; min-width: 0; height: 30px; padding: 0 12px;
  border: 0;
  border-radius: var(--corner-radius);
  color: var(--text);
  background: transparent;
  box-shadow: none;
  font: 500 13px/1 "Oswald", sans-serif;
  outline: 0;
}
.forecast-field.is-city input { width: 128px; }
.forecast-field input[readonly] { cursor:default; }
@media (min-width:601px) {
  body.is-forecast-page .forecast-field input {
    height:34px;
    padding-inline:8px;
    font-size:17px;
  }
  body.is-forecast-page .forecast-field:not(.is-city) input {
    field-sizing:content;
    width:auto;
    min-width:188px;
    max-width:230px;
  }
  body.is-forecast-page .forecast-field.is-city input {
    field-sizing:content;
    width:auto;
    min-width:72px;
    max-width:min(34vw,320px);
  }
}
body.is-forecast-page .forecast-controls > .natal-now-icon-button {
  position:relative;
  flex:0 0 34px;
  width:34px;
  min-width:34px;
  height:34px;
  min-height:34px;
  margin:0;
  order:initial;
}
.forecast-field input:focus { box-shadow: 0 0 0 2px var(--accent); }
.forecast-calculate {
  display:grid; flex:0 0 46px; width:46px; min-width:46px; max-width:46px; height:30px; min-height:30px; max-height:30px; padding:0; place-items:center;
  border:0; border-radius:var(--corner-radius); color:var(--text); background:var(--accent); box-shadow:var(--control-raised-shadow); cursor:pointer;
}
.forecast-calculate img { width:16px; height:16px; filter:brightness(0) invert(1); }
.forecast-calculate img,.forecast-view-modes img { display:none; }
.forecast-calculate::before,.forecast-view-modes button::before { content:""; display:block; width:18px; height:18px; background:currentColor; -webkit-mask-position:center; -webkit-mask-repeat:no-repeat; -webkit-mask-size:contain; mask-position:center; mask-repeat:no-repeat; mask-size:contain; }
.forecast-calculate::before { -webkit-mask-image:url("/icons/build-chart.svg?v=2026.08.22-forecast-952"); mask-image:url("/icons/build-chart.svg?v=2026.08.22-forecast-952"); }
.forecast-view-modes [data-forecast-view="forecast"]::before { -webkit-mask-image:url("/icons/forecast-view-1.svg?v=2026.08.22-forecast-952"); mask-image:url("/icons/forecast-view-1.svg?v=2026.08.22-forecast-952"); }
.forecast-view-modes [data-forecast-view="side-by-side"]::before { -webkit-mask-image:url("/icons/forecast-view-2.svg?v=2026.08.22-forecast-952"); mask-image:url("/icons/forecast-view-2.svg?v=2026.08.22-forecast-952"); }
.forecast-view-modes [data-forecast-view="overlay"]::before { -webkit-mask-image:url("/icons/forecast-view-3.svg?v=2026.08.22-forecast-952"); mask-image:url("/icons/forecast-view-3.svg?v=2026.08.22-forecast-952"); }
.forecast-settings-trigger,
.directions-panel-width-trigger,
.forecast-view-modes button {
  display:grid; flex:0 0 30px; width:30px; height:30px; min-width:30px; padding:0; place-items:center;
  border:0; border-radius:50%; color:var(--text); background:var(--cut-control-fill); box-shadow:var(--control-inset-shadow); cursor:pointer;
}
.forecast-settings-trigger { color:var(--text); background:var(--raised-control-fill); box-shadow:var(--control-raised-shadow); }
.directions-panel-width-trigger { color:var(--text); background:var(--raised-control-fill); box-shadow:var(--control-raised-shadow); }
.forecast-settings-trigger img,.directions-panel-width-trigger img { display:none; }
.forecast-settings-trigger::before { content:""; width:18px; height:18px; background:currentColor; -webkit-mask:url("/icons/settings.svg?v=2026.08.22-forecast-952") center / contain no-repeat; mask:url("/icons/settings.svg?v=2026.08.22-forecast-952") center / contain no-repeat; }
.directions-panel-width-trigger::before { content:""; width:18px; height:18px; background:currentColor; -webkit-mask:url("/icons/panel-width.svg?v=2026.08.22-forecast-952") center / contain no-repeat; mask:url("/icons/panel-width.svg?v=2026.08.22-forecast-952") center / contain no-repeat; }
.directions-panel-width-trigger[aria-pressed="true"] { color:var(--accent-text); background:var(--accent); box-shadow:var(--control-raised-shadow); }
.directions-panel-width-trigger[hidden] { display:none!important; }
.direction-aspects-trigger { display:grid; flex:0 0 30px; width:30px; height:30px; padding:0; border:0; border-radius:50%; place-items:center; color:var(--text); background:var(--surface-deep); box-shadow:var(--figma-deep-shadow); cursor:pointer; }
.direction-aspects-trigger[hidden] { display:none!important; }
.direction-aspects-trigger img { display:block; width:18px; height:18px; filter:invert(1) brightness(1.8); }
.direction-aspects-trigger[aria-pressed="true"] { color:var(--accent-text); background:var(--accent); }
body:is([data-theme="white"],[data-theme="pink"],[data-theme="beige"],[data-theme="lilac"],[data-theme="blue"]) .direction-aspects-trigger img { filter:none; }
body:is(.is-directions-page,.is-progressions-page) .natal-title-track .natal-reading-trigger { display:none!important; }
body:is(.is-directions-page,.is-progressions-page) .natal-title-track .direction-aspects-trigger { order:98!important; margin-left:auto!important; }
body:is(.is-directions-page,.is-progressions-page) .natal-title-track #profile-drawer-trigger { order:99!important; margin-left:0!important; }
.direction-aspects-panel { box-sizing:border-box; width:100%; min-width:0; max-width:100%; margin:16px 0; padding:16px; border-radius:var(--corner-radius); background:var(--surface); box-shadow:var(--figma-surface-shadow); }
.direction-aspects-panel-header { display:flex; align-items:end; justify-content:space-between; gap:14px; margin:0 0 12px; }
.direction-aspects-panel-header h2 { margin:0; font:600 22px/1 "Oswald",sans-serif; }
.direction-aspects-direction-field { display:grid; grid-template-columns:auto 220px; align-items:center; gap:8px; min-width:0; font:500 14px/1 "Oswald",sans-serif; }
.direction-aspects-direction-field > .setting-picker { width:220px; min-width:0; }
.direction-aspects-direction-field > .setting-picker > .setting-picker-trigger { width:100%; height:40px; font:500 14px/1 "Oswald",sans-serif; }
.direction-aspects-direction-field > .setting-picker > .setting-picker-menu { z-index:180; }
.direction-aspects-status { margin:0; font:400 15px/1.4 "Oswald",sans-serif; }
.direction-aspects-status[hidden],.direction-aspects-table-wrap[hidden] { display:none!important; }
/* Периоды аспектов не должны увеличивать рабочую область карты. Широкая
   таблица остаётся внутри своей области и прокручивается только по горизонтали. */
body.sun-index-natal-layout:is(.is-directions-page,.is-progressions-page) .index-content.natal-content { min-width:0; }
body.sun-index-natal-layout:is(.is-directions-page,.is-progressions-page):has(#direction-aspects-panel:not([hidden])) .natal-wheel-stage { contain:inline-size; }
.direction-aspects-table-wrap { box-sizing:border-box; width:100%; min-width:0; max-width:100%; overflow-x:auto!important; overflow-y:auto; overscroll-behavior-inline:contain; scrollbar-gutter:stable both-edges; -webkit-overflow-scrolling:touch; }
.direction-aspects-table { width:max(100%,1120px); min-width:1120px; border-collapse:collapse; font:400 15px/1.3 "Oswald",sans-serif; }
.direction-aspects-table th,.direction-aspects-table td { padding:10px 12px; text-align:left; border-bottom:1px solid color-mix(in srgb,var(--text) 18%,transparent); vertical-align:top; }
.direction-aspects-table th { font-weight:650; white-space:nowrap; }
.direction-aspects-table td { white-space:nowrap; }
.direction-aspects-table tbody tr.is-interactive { cursor:pointer; transition:background-color .16s ease,box-shadow .16s ease; }
.direction-aspects-table tbody tr.is-interactive:hover,.direction-aspects-table tbody tr.is-interactive:focus-visible { background:color-mix(in srgb,var(--accent) 18%,transparent); box-shadow:inset 3px 0 0 var(--accent); outline:none; }
.direction-kind-cell { width:42px; text-align:center!important; }
.direction-kind-arrow { display:inline-block; min-width:24px; font:600 25px/1 "Oswald",sans-serif; }
.direction-aspects-point,.direction-aspect-glyph { display:inline-block; color:var(--text); font:400 22px/1 "Astronomicon",sans-serif; vertical-align:-2px; }
.direction-aspect-glyph { min-width:28px; text-align:center; }
.direction-aspects-point.is-house-number,.direction-house-number { min-width:13px; text-align:center; font-family:"Oswald",sans-serif; font-size:.78em; line-height:1; vertical-align:baseline; }
.direction-aspects-natal { display:inline-flex; align-items:baseline; gap:0; }
.direction-date-cell { font-variant-numeric:tabular-nums; }
.direction-ingresses { margin-top:20px; }
.direction-ingresses h3 { margin:0 0 10px; font:600 19px/1.2 "Oswald",sans-serif; }
.direction-ingresses-table { min-width:620px; }
@media(max-width:760px){.direction-aspects-panel{margin:12px 0;padding:12px}.direction-aspects-panel-header{display:grid;align-items:stretch}.direction-aspects-direction-field{grid-template-columns:1fr}.direction-aspects-direction-field>.setting-picker{width:100%}.direction-aspects-table{min-width:1040px}.direction-aspects-table th,.direction-aspects-table td{padding:8px 10px}}
@media(max-width:760px){.direction-ingresses{margin-top:16px}.direction-ingresses-table{min-width:620px}}
body[data-relief-mode="2"] .forecast-calculate { box-shadow:var(--control-raised-shadow)!important; }
.forecast-settings-trigger[hidden] { display:none; }
.forecast-settings-trigger img,.forecast-view-modes img { width:18px; height:18px; }
.forecast-view-modes img { filter: invert(1) brightness(1.8); }
body:is([data-theme="white"],[data-theme="pink"],[data-theme="beige"],[data-theme="lilac"],[data-theme="blue"]) .forecast-view-modes img { filter: var(--icon-filter); }
.forecast-city-suggestions {
  position: absolute;
  z-index: 20;
  inset: calc(100% + 6px) 0 auto;
  display: grid;
  max-height: 230px;
  padding: 8px;
  overflow: auto;
  border-radius: var(--corner-radius);
  background: var(--raised-control-fill);
  box-shadow: var(--control-raised-shadow);
  gap: 6px;
}
.forecast-city-suggestions[hidden] { display: none; }
.forecast-city-suggestions button {
  display: flex;
  min-height: 42px;
  padding: 7px 13px;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  border: 0;
  border-radius: var(--corner-radius);
  color: var(--text);
  background: var(--cut-control-fill);
  box-shadow: var(--control-inset-shadow);
  font: 500 15px/1.1 "Oswald", sans-serif;
  text-align: left;
}
.forecast-city-suggestions small { min-width: 0; overflow: hidden; color: var(--muted); text-overflow: ellipsis; white-space: nowrap; }
.forecast-view-modes { display:flex; gap:6px; margin-left:24px; }
.forecast-view-modes[hidden], .forecast-minor-list[hidden], .forecast-direction-list[hidden] { display: none; }
.forecast-view-modes button[hidden] { display: none; }
.forecast-view-modes .solar-transits-mode::before{display:none}
.forecast-view-modes .solar-transits-mode{font:600 15px/1 "Oswald",sans-serif}
body.is-synastry-page .forecast-view-modes { margin-left: 12px; }
body.is-synastry-page .forecast-view-modes button::before {
  width:auto;
  height:auto;
  background:none;
  -webkit-mask-image:none;
  mask-image:none;
  content:attr(data-synastry-view);
  font:600 17px/1 "Oswald",sans-serif;
}
body.is-synastry-page .forecast-controls { gap:2px; }
body.is-synastry-page .forecast-field.is-datetime input{width:205px}
body.is-synastry-page .forecast-field.is-city input{padding-left:2px;min-width:60px}
.forecast-minor-list button {
  width:24px; height:24px; min-height:24px; padding:0;
  border: 0;
  border-radius: 50%;
  color: var(--text);
  background: var(--cut-control-fill);
  box-shadow: var(--control-inset-shadow);
  font: 400 17px/1 "Astronomicon", sans-serif;
}
.forecast-direction-list button{height:var(--sun-capsule-height);padding:0 14px;border:0;border-radius:var(--corner-radius);color:var(--text);background:var(--cut-control-fill);box-shadow:var(--control-inset-shadow);font:500 14px/1 "Oswald",sans-serif}
.forecast-view-modes button.is-active,
.forecast-minor-list button.is-active,
.forecast-direction-list button.is-active { color: var(--accent-text); background: var(--accent); box-shadow: var(--control-raised-shadow); }
.forecast-technique-settings { box-sizing:border-box; width:min(760px,calc(100vw - 24px)); padding:18px; border:0; border-radius:var(--corner-radius); color:var(--text); background:var(--surface); box-shadow:var(--figma-surface-shadow); }
.forecast-secondary-editor { box-sizing:border-box; width:min(430px,calc(100vw - 24px)); padding:18px; overflow:visible; border:0; border-radius:var(--corner-radius); color:var(--text); background:var(--surface); box-shadow:var(--figma-surface-shadow); }
.forecast-secondary-editor::backdrop { background:color-mix(in srgb,var(--background) 70%,transparent); }
.forecast-secondary-editor form { display:grid; gap:14px; }
.forecast-secondary-editor header { display:flex; align-items:center; justify-content:space-between; }
.forecast-secondary-editor h2 { margin:0; }
.forecast-secondary-editor header button { width:28px;height:28px;border:0;border-radius:50%;color:var(--text);background:var(--cut-control-fill);box-shadow:var(--control-inset-shadow); }
.forecast-secondary-editor label { display:grid; gap:6px; }
.forecast-secondary-editor input { box-sizing:border-box;width:100%;height:46px;padding:0 14px;border:0;border-radius:var(--corner-radius);color:var(--text);background:var(--raised-control-fill);box-shadow:var(--control-raised-shadow);font:500 16px/1 "Oswald",sans-serif;outline:0; }
.forecast-secondary-editor input:focus { box-shadow:var(--control-raised-shadow),0 0 0 2px var(--accent); }
.forecast-secondary-city-action { display:grid;grid-template-columns:minmax(0,1fr) 46px;align-items:center;gap:10px; }
#forecast-secondary-location { display:grid;width:46px;height:46px;padding:0;place-items:center;border:0;border-radius:50%;color:var(--text);background:var(--raised-control-fill);box-shadow:var(--control-raised-shadow);cursor:pointer; }
#forecast-secondary-location[hidden] { display:none; }
#forecast-secondary-location img { width:20px;height:20px;filter:var(--icon-filter); }
#forecast-secondary-city-field { position:relative; }
.forecast-secondary-city-suggestions { position:absolute;z-index:4;top:74px;left:0;right:56px;display:grid;gap:4px;max-height:210px;padding:8px;overflow:auto;border-radius:var(--corner-radius);background:var(--surface);box-shadow:var(--figma-surface-shadow); }
.forecast-secondary-city-suggestions[hidden] { display:none; }
.forecast-secondary-city-suggestions button { display:grid;gap:2px;padding:9px 12px;border:0;border-radius:var(--corner-radius);text-align:left;color:var(--text);background:var(--surface-deep);box-shadow:var(--figma-deep-shadow);font-family:"Oswald",sans-serif;cursor:pointer; }
.forecast-secondary-city-suggestions strong,.forecast-secondary-city-suggestions small { overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.forecast-secondary-map { display:grid;gap:10px; }
.forecast-secondary-map[hidden] { display:none; }
.forecast-secondary-map-canvas { height:240px;border-radius:var(--corner-radius);overflow:hidden;background:var(--surface-deep);box-shadow:var(--figma-deep-shadow); }
.forecast-secondary-map p { margin:0;color:var(--muted); }
.forecast-secondary-map .sun-secondary-button { min-height:40px;border:0;border-radius:var(--corner-radius);color:var(--text);background:var(--raised-control-fill);box-shadow:var(--control-raised-shadow);font:500 16px/1 "Oswald",sans-serif; }
.forecast-secondary-editor .sun-date-input-wrap { position:relative;display:grid;grid-template-columns:minmax(0,1fr) 46px;align-items:center;gap:10px; }
.forecast-secondary-editor .sun-date-input-wrap > input { padding-right:14px; }
.forecast-secondary-editor .sun-date-picker-trigger { position:static;translate:none;display:grid;box-sizing:border-box;width:46px;height:46px;padding:0;place-items:center;border:0;border-radius:50%;color:var(--text);background:var(--raised-control-fill);box-shadow:var(--control-raised-shadow);cursor:pointer; }
.forecast-secondary-editor .sun-date-picker-trigger img { display:none; }
.forecast-secondary-editor .sun-date-picker-trigger::before { content:"";width:20px;height:20px;background:currentColor;-webkit-mask:url("/icons/calendar.svg?v=2026.08.22-forecast-952") center / contain no-repeat;mask:url("/icons/calendar.svg?v=2026.08.22-forecast-952") center / contain no-repeat; }
.forecast-secondary-editor .sun-date-picker { position:fixed;z-index:3;padding:16px;border:0;border-radius:var(--corner-radius);color:var(--text);background:var(--surface);box-shadow:var(--figma-surface-shadow);font-family:"Oswald",sans-serif; }
.forecast-secondary-editor .sun-date-picker[hidden] { display:none; }
.forecast-secondary-editor .sun-date-picker header { display:grid;grid-template-columns:minmax(0,1fr) 42px 42px;align-items:center;gap:6px;margin-bottom:10px; }
.forecast-secondary-editor .sun-date-picker-heading { min-width:0;display:flex;gap:4px; }
.forecast-secondary-editor .sun-date-picker button { border:0;color:var(--text);background:transparent;font:500 15px/1 "Oswald",sans-serif;cursor:pointer; }
.forecast-secondary-editor .sun-date-picker-period { min-height:36px;padding:0 8px;border-radius:var(--corner-radius);background:var(--surface-deep);box-shadow:var(--figma-deep-shadow);font-size:17px; }
.forecast-secondary-editor .sun-date-picker-nav { width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:var(--surface-deep);box-shadow:var(--figma-deep-shadow);font-size:22px; }
.forecast-secondary-editor .sun-date-picker-week,.forecast-secondary-editor .sun-date-picker-days { display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px; }
.forecast-secondary-editor .sun-date-picker-week[hidden],.forecast-secondary-editor .sun-date-picker-days[hidden] { display:none; }
.forecast-secondary-editor .sun-date-picker-week span { display:grid;min-height:28px;place-items:center;color:var(--muted);font-size:13px; }
.forecast-secondary-editor .sun-date-picker-days button { aspect-ratio:1;display:grid;place-items:center;border-radius:50%; }
.forecast-secondary-editor .sun-date-picker-days button.is-outside { color:var(--muted);opacity:.48; }
.forecast-secondary-editor .sun-date-picker-days button.is-today { box-shadow:inset 0 0 0 2px var(--accent); }
.forecast-secondary-editor .sun-date-picker-days button.is-selected { color:var(--text);background:var(--accent); }
.forecast-secondary-editor .sun-date-picker-period-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;min-height:250px;align-content:center; }
.forecast-secondary-editor .sun-date-picker-period-grid[hidden] { display:none; }
.forecast-secondary-editor .sun-date-picker-period-grid button { min-height:48px;padding:4px;border-radius:var(--corner-radius);background:var(--surface-deep);box-shadow:var(--figma-deep-shadow); }
.forecast-secondary-editor .sun-date-picker footer { display:flex;justify-content:flex-end;margin-top:10px; }
.forecast-secondary-editor .sun-date-picker-today { min-height:40px;padding:0 16px;border-radius:var(--corner-radius);color:var(--text);background:var(--accent); }
.forecast-secondary-editor form > .sun-action-button { min-height:46px;border:0;border-radius:var(--corner-radius);color:var(--text);background:var(--accent);box-shadow:var(--control-raised-shadow);font:500 17px/1 "Oswald",sans-serif; }
.forecast-secondary-editor form > .sun-action-button:active { box-shadow:var(--control-inset-shadow); }
@media (min-width:761px) { .forecast-secondary-edit-trigger { display:none!important; } }
.forecast-technique-settings::backdrop { background:color-mix(in srgb,var(--background) 70%,transparent); }
.forecast-technique-settings > header { display:flex; align-items:center; justify-content:space-between; margin-bottom:12px; }
.forecast-technique-settings h2 { margin:0; font-size:var(--sun-header-font-size); }
.forecast-technique-settings header button { width:28px;height:28px;border:0;border-radius:50%;color:var(--text);background:var(--cut-control-fill);box-shadow:var(--control-inset-shadow);font:700 18px/1 Oswald,sans-serif; }
.forecast-technique-grid { display: grid; margin-top: 10px; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; }
.forecast-technique-grid.is-directions-settings { grid-template-columns:repeat(4,minmax(0,1fr)); }
.forecast-technique-grid label { display: grid; min-width: 0; gap: 5px; font-size: 13px; }
.forecast-technique-grid .forecast-setting-choice { display:grid; min-width:0; margin:0; padding:0; grid-column:span 2; gap:5px; border:0; font-size:13px; }
.forecast-setting-choice legend { margin:0; padding:0; }
.forecast-setting-choice-buttons { display:grid; grid-template-columns:1fr 1fr; gap:9px; }
.forecast-setting-choice-buttons button { width:100%; min-width:0; height:40px; }
.forecast-technique-grid input,
.forecast-technique-grid select {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  min-height: 40px;
  padding: 0 14px;
  border: 0;
  border-radius: var(--corner-radius);
  color: var(--text);
  background: var(--cut-control-fill);
  box-shadow: var(--control-inset-shadow);
  font: 500 14px/1 "Oswald", sans-serif;
}
.forecast-technique-grid input[type="number"]{-moz-appearance:textfield;appearance:textfield}.forecast-technique-grid input[type="number"]::-webkit-inner-spin-button,.forecast-technique-grid input[type="number"]::-webkit-outer-spin-button{-webkit-appearance:none;appearance:none;margin:0}.forecast-technique-grid input[readonly]{cursor:default}.forecast-technique-settings{max-height:calc(100vh - 24px);overflow:visible}.forecast-technique-grid .setting-picker-menu{max-height:none;overflow:visible;padding:4px;gap:0}.forecast-technique-grid .setting-picker-menu button{min-height:24px;padding:2px 10px;line-height:1;font-size:12px}
.forecast-technique-grid button {
  min-height: 40px;
  align-self: end;
  border: 0;
  border-radius: var(--corner-radius);
  color: var(--text);
  background: var(--cut-control-fill);
  box-shadow: var(--control-inset-shadow);
  font: 500 14px/1 "Oswald", sans-serif;
}
.forecast-technique-grid.is-directions-settings label,
.forecast-technique-grid.is-directions-settings > button { width:100%;min-width:0; }
.forecast-technique-grid.is-directions-settings label > .setting-picker,
.forecast-technique-grid.is-directions-settings label > .setting-picker > .setting-picker-trigger { width:100%;min-width:0; }
@media (max-width:760px) {
  .forecast-technique-grid.is-directions-settings { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
.forecast-technique-grid button[aria-pressed="true"] { color: var(--accent-text); background: var(--accent); }
.forecast-technique-apply { width:100%;min-height:40px;margin-top:14px;border:0;border-radius:var(--corner-radius);color:var(--accent-text);background:var(--accent);box-shadow:var(--control-raised-shadow);font:500 16px/1 "Oswald",sans-serif;cursor:pointer; }
.forecast-technique-apply:active { box-shadow:var(--control-inset-shadow); }
.forecast-technique-apply:disabled { cursor:wait;opacity:.65; }
.forecast-minor-list {
  display:grid;
  box-sizing:border-box;
  width:100%;
  max-width:100%;
  min-height:24px;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:2px;
  margin:0 0 8px;
  padding:0;
  background:transparent;
}
.forecast-direction-list{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 8px}
body.is-minor-solar-page .forecast-minor-list[hidden] {
  display:grid;
  visibility:hidden;
}
body.is-minor-solar-page .forecast-minor-list button { justify-self:center; }
body.sun-index-natal-layout.is-minor-solar-page .natal-tools-scroll > .forecast-minor-list {
  width:calc(100% - 6px);
  margin:0 0 8px;
  padding-right:0;
}
body.is-minor-solar-page .natal-content { gap:8px; }
body.is-minor-solar-page .natal-wheel-stage .wheel-root { margin-top:0; }
body.is-forecast-page .natal-wheel-stage { align-content: start; }
body.is-forecast-page .natal-wheel-stage .wheel-root { margin-top:0; }
body.is-synastry-page .natal-wheel-stage:not(.is-side-by-side) {
  min-height: calc(88dvh * var(--wheel-user-zoom-scale, var(--sun-wheel-stored-scale, 1)) + 16px);
  padding: 0;
  place-items: center;
  align-content: center;
}
body.sun-index-natal-layout.is-synastry-page .natal-wheel-stage.is-side-by-side {
  height:calc(100dvh - 38px);
  min-height:0;
  margin-block:8px;
  padding:0;
  place-items:center;
  align-content:center;
}
body.is-forecast-page .natal-chart-datetime { top: 18px; bottom: auto; }

.natal-reading-navigation{position:relative;display:flex;min-height:30px;align-items:center;justify-content:flex-start;gap:10px;width:100%;box-sizing:border-box;padding:0 22px}
.natal-reading-tabs { position:relative; z-index:4; display:flex; gap:6px; pointer-events:auto; }
.natal-reading-navigation>.natal-reading-tabs{position:absolute;left:50%;transform:translateX(-50%)}
.natal-reading-tabs[hidden] { display:none; }
.natal-reading-tabs button,
.natal-reading-trigger {
  flex:0 0 30px; width:30px; height:30px; min-width:30px; padding:0; border:0; border-radius:50%;
  background:var(--cut-control-fill); box-shadow:var(--control-inset-shadow); cursor:pointer;
}
.natal-reading-tabs button[aria-pressed="true"], .natal-reading-trigger[aria-pressed="true"] { background:var(--accent); box-shadow:var(--figma-deep-shadow); }
.natal-reading-panel { box-sizing:border-box; width:100%; padding:22px; border-radius:var(--corner-radius); color:var(--text); background:var(--surface); box-shadow:var(--control-inset-shadow); }
.natal-reading-panel[hidden] { display:none; }
/* SUN-905: the Transit book opens one source-owned annual reading directly
   below the wheel; fast passages only exist inside a calculated slow window. */
.transit-year-reading{box-sizing:border-box;display:grid;width:100%;gap:16px;margin:16px 0 0;padding:22px;border-radius:var(--corner-radius);color:var(--text);background:var(--surface);box-shadow:var(--control-inset-shadow)}
.transit-year-reading[hidden]{display:none!important}
.transit-year-reading-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.transit-year-reading-header h2,.transit-year-reading-header p,.transit-year-section h2,.transit-year-aspect-card h3,.transit-year-aspect-card h4,.transit-year-house-card h3,.transit-year-reading-content p{margin:0}
.transit-year-reading-header h2{font:600 25px/1.15 "Oswald",sans-serif}
.transit-year-reading-header p{margin-top:5px;color:var(--muted);font:500 15px/1.2 "Oswald",sans-serif;font-variant-numeric:tabular-nums}
.transit-year-reading-header button{display:grid;flex:0 0 30px;width:30px;height:30px;padding:0;border:0;place-items:center;color:var(--text);background:transparent;box-shadow:none;font:700 24px/1 "Oswald",sans-serif;cursor:pointer}
.transit-year-reading-status{font:400 16px/1.4 "Oswald",sans-serif}
.transit-year-reading-status[hidden]{display:none!important}
.transit-year-reading-content{display:grid;gap:18px;min-width:0}
.transit-year-section{display:grid;gap:12px;min-width:0}
.transit-year-section>h2{font:600 21px/1.2 "Oswald",sans-serif}
.transit-year-house-card,.transit-year-aspect-card{display:grid;gap:10px;min-width:0;padding:18px;border-radius:var(--corner-radius);background:var(--surface-deep);box-shadow:var(--control-inset-shadow)}
.transit-year-house-card h3,.transit-year-aspect-card h3{display:flex;align-items:center;gap:7px;font:600 20px/1.2 "Oswald",sans-serif}
.transit-year-aspect-card h4{display:flex;align-items:center;gap:6px;font:600 17px/1.25 "Oswald",sans-serif}
.transit-year-astro-symbol,.transit-year-aspect-symbol{display:inline-block;flex:0 0 auto;font:400 24px/1 "Astronomicon",sans-serif;vertical-align:-2px}
.transit-year-aspect-symbol{min-width:24px;text-align:center}
.transit-year-aspect-name{font:500 15px/1.25 "Oswald",sans-serif}
.transit-year-period,.transit-year-exacts{font:500 15px/1.35 "Oswald",sans-serif;font-variant-numeric:tabular-nums}
.transit-year-exacts span{display:inline-block;white-space:nowrap}
.transit-year-loop-badge{justify-self:start;padding:6px 10px;border-radius:var(--corner-radius);background:var(--raised-control-fill);box-shadow:var(--control-raised-shadow);font:500 14px/1.2 "Oswald",sans-serif}
.transit-year-interpretation{min-width:0;padding-top:2px}
.transit-year-interpretation>.natal-object-interpretation-section{margin-top:0}
.transit-year-nested{display:grid;gap:9px;margin-top:8px;padding:14px;border-radius:calc(var(--corner-radius)*.8);background:color-mix(in srgb,var(--surface) 72%,transparent);box-shadow:var(--control-inset-shadow)}
.transit-year-nested>summary{cursor:pointer;font:600 17px/1.2 "Oswald",sans-serif}
.transit-year-nested-content{display:grid;gap:9px;margin-top:10px}
.transit-year-aspect-card.is-nested{padding:14px;background:var(--surface)}
.transit-year-empty{padding:16px;border-radius:var(--corner-radius);background:var(--surface-deep);box-shadow:var(--control-inset-shadow);font:400 15px/1.4 "Oswald",sans-serif}
@media(max-width:760px){.transit-year-reading{gap:13px;margin-top:12px;padding:14px}.transit-year-reading-header h2{font-size:22px}.transit-year-house-card,.transit-year-aspect-card{padding:14px}.transit-year-house-card h3,.transit-year-aspect-card h3{font-size:18px}.transit-year-nested{padding:10px}.transit-year-aspect-card.is-nested{padding:12px}.transit-year-aspect-name{display:block;width:100%;font-size:14px}.transit-year-aspect-card :is(h3,h4){flex-wrap:wrap}}
.forecast-source-method{box-sizing:border-box;display:grid;width:100%;gap:12px;margin-top:14px}
.forecast-source-method[hidden],.forecast-source-method-content[hidden],.forecast-source-method-table-wrap[hidden]{display:none}
.forecast-source-method-trigger{justify-self:start;min-width:190px;height:var(--sun-capsule-height);border:0;border-radius:var(--corner-radius);color:var(--text);background:var(--raised-control-fill);box-shadow:var(--control-raised-shadow);font:500 15px/1 Oswald,sans-serif}
.forecast-source-method-content{display:grid;gap:12px;padding:18px;border-radius:var(--corner-radius);background:var(--surface);box-shadow:var(--control-inset-shadow)}
.forecast-source-method-content>header{display:flex;align-items:end;justify-content:space-between;gap:12px}
.forecast-source-method-content h2,.forecast-source-method-content p{margin:0}
.forecast-source-method-content>header p,.forecast-source-method-status{color:var(--muted)}
.forecast-source-method-input{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:end;gap:10px 12px}
.forecast-source-method-input[hidden]{display:none}
.forecast-source-method-input label{grid-column:1/-1;color:var(--muted);font:500 14px/1.25 Oswald,sans-serif}
.forecast-source-method-input input,.forecast-source-method-input button{box-sizing:border-box;width:100%;height:var(--sun-capsule-height);border:0;border-radius:var(--corner-radius);color:var(--text);font:500 15px/1 Oswald,sans-serif}
.forecast-source-method-input input{padding:0 14px;background:var(--cut-control-fill);box-shadow:var(--control-inset-shadow)}
.forecast-source-method-input button{background:var(--raised-control-fill);box-shadow:var(--control-raised-shadow)}
.forecast-source-method-input p{grid-column:1/-1;color:var(--muted);font:400 13px/1.35 Oswald,sans-serif}
.forecast-source-method-table-wrap{max-width:100%;overflow:auto;border-radius:calc(var(--corner-radius)*.75);background:var(--surface-deep);box-shadow:var(--control-inset-shadow)}
.forecast-source-method-table{width:100%;min-width:920px;border-collapse:separate;border-spacing:0;font:400 14px/1.35 Oswald,sans-serif}
.forecast-source-method-table th,.forecast-source-method-table td{padding:10px 12px;border-bottom:1px solid color-mix(in srgb,var(--text) 12%,transparent);text-align:left;vertical-align:top}
.forecast-source-method-table th{position:sticky;top:0;z-index:1;background:var(--surface-deep);font-weight:600}
.forecast-source-method-table tbody tr:last-child td{border-bottom:0}
.natal-reading-panel > header { display:flex; align-items:center; justify-content:space-between; margin-bottom:16px; }
.natal-reading-panel h2,.natal-reading-panel h3,.natal-reading-panel h4 { margin:0; }
.natal-reading-panel > header button { width:28px;height:28px;border:0;border-radius:50%;color:var(--text);background:var(--cut-control-fill);box-shadow:var(--control-inset-shadow);font:700 20px/1 Oswald,sans-serif; }
#natal-reading-close,
#natal-reading-close:hover,
#natal-reading-close:focus,
#natal-reading-close:focus-visible,
#natal-reading-close:active {
  border:0!important;
  outline:0!important;
  border-radius:0!important;
  color:var(--text)!important;
  background:transparent!important;
  box-shadow:none!important;
  -webkit-tap-highlight-color:transparent;
}
.natal-balance-in-reading[hidden],.natal-reading-content[hidden] { display:none!important; }
.natal-reading-content,.reading-score { display:grid; align-content:start; grid-auto-rows:max-content; gap:14px; }
.reading-score > section,.reading-jones,.reading-chains > section { padding:16px;border-radius:var(--corner-radius);background:var(--surface);box-shadow:var(--control-inset-shadow); }
.reading-four { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:10px; }
.reading-four h4 { margin:8px 0 5px;text-transform:uppercase;font-size:14px; }
.reading-score h3,.reading-score h4,.reading-chains h3 { width:max-content; max-width:100%; padding:6px 10px; border-radius:var(--corner-radius); background:var(--raised-control-fill); box-shadow:var(--control-raised-shadow); }
.natal-reading-panel.is-score-view { padding-top:12px; }
.natal-reading-panel.is-score-view .natal-reading-content,
.natal-reading-panel.is-score-view .reading-score { align-self:start; align-content:start; }
.natal-reading-panel.is-score-view .natal-reading-content { display:block; height:auto; min-height:0; }
.natal-reading-panel.is-score-view .reading-score { display:flex; height:auto; min-height:0; flex-direction:column; justify-content:flex-start; gap:4px; }
.reading-score > .reading-score-section { height:auto; min-height:0; padding-block:10px; align-self:stretch; background:var(--surface); box-shadow:none; }
.reading-score-planets { position:relative; }
.reading-chart-selector { position:relative; z-index:4; display:flex; align-items:center; gap:6px; }
.reading-chart-selector[hidden] { display:none; }
.reading-chart-selector button { width:30px; height:30px; padding:0; border:0; border-radius:50%; color:var(--text); background:var(--cut-control-fill); box-shadow:var(--control-inset-shadow); font:600 15px/1 Oswald,sans-serif; }
.reading-chart-selector button[aria-pressed="true"] { color:var(--accent-text); background:var(--accent); box-shadow:var(--control-raised-shadow); }
.reading-score-planets > #natal-reading-close {
  position:absolute; top:4px; right:-6px; width:28px; height:28px; padding:0; border:0; border-radius:50%;
  color:var(--text); background:transparent; box-shadow:none;
  font:700 20px/1 "Oswald",sans-serif; cursor:pointer;
}
.reading-score-section > h3 { color:var(--text); background:var(--surface); box-shadow:none; }
.reading-score-planets > .reading-four:has(> .reading-score-strength),
.reading-score-aspects > .reading-four:has(> .reading-score-strength) { grid-template-rows:auto auto; }
.reading-score-planets > .reading-four > .reading-score-strength,
.reading-score-aspects > .reading-four > .reading-score-strength {
  display:grid; grid-row:1 / span 2; grid-template-rows:subgrid; align-items:start;
}
.reading-score-label { box-shadow:var(--control-raised-shadow)!important; }
.reading-score-label.is-strength,
.reading-score-label.is-weakness,
.reading-score-label.is-accent { color:var(--accent-text); background:var(--accent)!important; }
.reading-score-label.is-harmonic { background:var(--reading-harmonic-color,var(--accent))!important; }
.reading-score-label.is-tense { background:var(--reading-tense-color,var(--accent))!important; }
.reading-chip { display:inline-flex;align-items:center;gap:5px;margin:3px 5px 3px 0;padding:5px 9px;border-radius:999px;background:var(--raised-control-fill);box-shadow:var(--control-raised-shadow); }
.reading-expectation-chip { border:0; color:inherit; font:inherit; text-align:left; cursor:pointer; }
.reading-expectation-chip:focus,.reading-expectation-chip:focus-visible { outline:0; }
.reading-chip i,.reading-chain-row span { font-family:Astronomicon,sans-serif;font-style:normal; }
.reading-expectation-profile { min-width:0; }
.reading-score-source { margin:4px 0 8px; opacity:.72; font-size:13px; }
.reading-score-interpretation { margin:2px 0 9px; line-height:1.35; }
.reading-score-empty { margin:3px 0 8px; opacity:.72; line-height:1.35; }
.reading-aspect-chip i { font-family:Astronomicon,sans-serif;font-style:normal; }
.reading-jones {
  display:grid; grid-template-columns:minmax(220px,.9fr) minmax(160px,.75fr) minmax(280px,1.35fr); gap:12px; align-items:center;
  padding:8px!important; color:var(--text); background:transparent; box-shadow:none!important;
  font:500 16px/1.2 "Oswald",sans-serif;
}
.reading-jones > * { min-width:0; }
@media (max-width:1100px) and (min-width:601px) {
  .reading-jones { grid-template-columns:minmax(180px,.8fr) minmax(160px,.7fr) minmax(280px,1.2fr); gap:8px; }
}
.reading-jones-variants { display:grid; grid-template-columns:minmax(140px,1fr); gap:10px; }
.reading-jones-variant { display:grid; gap:5px; margin:0; padding:9px; border-radius:calc(var(--corner-radius) * .7); color:var(--text); background:transparent; box-shadow:none; }
.reading-jones-variant svg { width:100%; max-width:290px; min-height:280px; margin:auto; overflow:visible; }
.reading-jones-ring { fill:transparent; stroke:currentColor; stroke-width:3; }
.reading-jones-axis { fill:none; stroke:currentColor; stroke-width:3; stroke-linecap:round; }
.reading-jones-asc { fill:currentColor; font:20px/1 "Astronomicon",sans-serif; }
.reading-jones-dot { fill:var(--accent); stroke:currentColor; stroke-width:1.6; }
.reading-jones-dot.is-leading { fill:var(--text); stroke:var(--accent); stroke-width:2.5; }
.reading-jones-main { display:grid;gap:8px; }.reading-jones-main strong { min-height:64px;padding:10px 14px;display:grid;place-content:center;gap:5px;border-radius:999px;background:var(--raised-control-fill);box-shadow:var(--control-raised-shadow);text-align:center; }
.reading-jones-figure-name { border:0;padding:0;color:inherit;background:transparent;box-shadow:none;font:inherit;font-size:17px;cursor:pointer; }
.reading-jones-figure-name:focus,.reading-jones-figure-name:focus-visible { outline:0;box-shadow:none; }
.reading-jones-occupied { color:var(--text-soft);font-size:13px; }
.reading-jones-main strong,.reading-jones-grid b { color:var(--text); background:var(--raised-control-fill); box-shadow:var(--control-raised-shadow); font:inherit; }
.reading-jones-grid { display:grid;grid-template-columns:max-content minmax(0,1fr);gap:8px 12px;align-content:center;align-items:center;margin-left:20px; }.reading-jones-grid span,.reading-jones-grid b { font:inherit; }.reading-jones-grid b { width:100%;min-height:40px;padding:8px 12px;border-radius:999px;display:flex;align-items:center;justify-self:stretch; }.reading-jones-role { cursor:pointer; }.reading-jones-role:focus,.reading-jones-role:focus-visible { outline:0; }
.reading-jones-astro-symbol { display:inline-block; font:21px/1 "Astronomicon",sans-serif; font-style:normal; vertical-align:-.08em; }
.reading-jones-planet-value { gap:6px; }
.reading-jones-planet-text { min-width:0; }
.reading-chains { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px; }
.reading-chains > section { min-width:0; padding:18px; background:transparent; box-shadow:none; }
.reading-chain-graph { display:block; width:100%; height:300px; margin-top:10px; color:var(--text); overflow:visible; }
.reading-chain-edge { fill:none; stroke:currentColor; opacity:.82; stroke-linecap:round; stroke-linejoin:round; }
.reading-chain-graph marker path { fill:currentColor; }
.reading-chain-node circle { fill:var(--surface); stroke:color-mix(in srgb,var(--text) 36%,transparent); stroke-width:2.2; }
.reading-chain-node text { fill:var(--text); font-family:"Astronomicon",sans-serif; line-height:1; text-anchor:middle; dominant-baseline:middle; }
.reading-chain-node.is-highlighted circle { fill:var(--accent); stroke:var(--text); stroke-width:4; }
.reading-chain-node.is-highlighted text { fill:var(--accent-text); }
.reading-chain-node.is-highlighted[role="button"] { cursor:pointer; }
.reading-chain-node.is-highlighted[role="button"]:focus-visible circle { stroke-width:5; }
.natal-balance-in-reading { position:static!important; display:grid!important; width:100%!important; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px!important; }
.natal-balance-in-reading .natal-analysis-group { min-width:0; gap:6px; }
.natal-balance-in-reading .natal-analysis-group h3 { overflow:hidden; font-size:13px; text-overflow:ellipsis; white-space:nowrap; }
.natal-balance-in-reading .natal-analysis-track { width:100%; height:14px; }
.natal-balance-in-reading #natal-chart-analysis { display:contents; }

.house-links-view { display:grid; gap:14px; align-items:start; }
.house-links-settings { display:block; padding:10px; border-radius:var(--corner-radius); background:var(--surface); box-shadow:var(--control-cut-shadow); }
.house-links-settings-row { display:flex; align-items:center; flex-wrap:nowrap; gap:8px; }
.house-links-settings-row.is-connection { display:flex; align-items:center; flex:0 0 auto; gap:8px; }
.house-links-setting { display:flex; align-items:center; gap:7px; min-width:0; }
.house-links-setting.is-orbs { flex:0 0 auto; }
.house-links-setting-label { color:var(--text); font:500 13px/1 "Oswald",sans-serif; text-transform:uppercase; letter-spacing:.05em; }
.house-links-setting .setting-picker,.house-links-settings-row.is-connection .setting-picker { width:170px; min-width:0; }
.house-links-setting.is-orbs .setting-picker { width:210px; }
.house-links-settings-row.is-connection .setting-picker:last-child { width:180px; }
.house-links-setting .setting-picker-trigger,.house-links-settings-row.is-connection .setting-picker-trigger { min-height:38px; padding-inline:16px 36px; font-size:14px; }
.house-links-setting .setting-picker-menu,.house-links-settings-row.is-connection .setting-picker-menu { z-index:180; }
.house-links-settings-row.is-connection .setting-picker-menu button[data-tooltip] { position:relative; }
.house-links-settings-row.is-connection .setting-picker-menu button[data-tooltip]::after {
  content:attr(data-tooltip); position:absolute; left:calc(100% + 8px); top:50%; z-index:181;
  width:max-content; max-width:290px; padding:8px 11px; border:1px solid color-mix(in srgb,var(--text) 24%,transparent);
  border-radius:calc(var(--corner-radius) * .7); color:var(--text); background:var(--surface);
  box-shadow:none; font:500 12px/1.35 "Oswald",sans-serif; text-align:left; white-space:normal;
  opacity:0; visibility:hidden; pointer-events:none; transform:translateY(-50%);
  transition:opacity .06s linear;
}
.house-links-settings-row.is-connection .setting-picker-menu button[data-tooltip]:hover::after,
.house-links-settings-row.is-connection .setting-picker-menu button[data-tooltip]:focus-visible::after { opacity:1; visibility:visible; }
.house-links-segmented { display:flex; align-items:center; gap:4px; padding:3px; border-radius:var(--corner-radius); background:var(--cut-control-fill); box-shadow:var(--control-cut-shadow); }
.house-links-segmented button,.house-links-toggle { min-height:32px; padding:0 13px; border:0; border-radius:var(--corner-radius); color:var(--text); background:transparent; font:500 14px/1 "Oswald",sans-serif; cursor:pointer; }
.house-links-toggle { background:var(--surface); box-shadow:var(--control-raised-shadow); }
.house-links-segmented button.is-active,.house-links-toggle.is-active { color:var(--accent-text); background:var(--accent); box-shadow:var(--control-raised-shadow); }
.house-links-segmented.is-orbs { flex:1 1 auto; justify-content:space-between; }
.house-links-settings-row.is-connection::before { content:"Соединение"; color:var(--text); font:500 13px/1 "Oswald",sans-serif; text-transform:uppercase; letter-spacing:.05em; }
.house-links-panels { display:grid; grid-template-columns:minmax(0,1.575fr) minmax(240px,.425fr); gap:18px; align-items:start; }
.house-links-tooltip { position:fixed; z-index:1000; width:max-content; max-width:min(520px,calc(100vw - 24px)); padding:10px; border:1px solid color-mix(in srgb,var(--text) 58%,transparent); border-radius:var(--corner-radius); color:var(--text); background:var(--background); box-shadow:none!important; opacity:0; visibility:hidden; pointer-events:none; transform:translateY(4px); transition:opacity .08s linear,transform .08s linear; }
.house-links-tooltip.is-visible { opacity:1; visibility:visible; transform:translateY(0); }
.house-links-tooltip h4 { margin:0 0 7px; font:600 14px/1.25 "Oswald",sans-serif; }
.house-links-tooltip-planet,.house-links-tooltip-aspect { display:inline-block; margin-inline:2px; font:400 21px/1 "Astronomicon",serif; font-style:normal; vertical-align:-.12em; }
.house-links-tooltip-columns { display:grid; grid-template-columns:1fr; gap:8px; }
.house-links-tooltip-column { min-width:0; padding:8px; border-radius:var(--corner-radius); background:var(--surface-deep); }
.house-links-tooltip-column h5 { margin:0 0 5px; font:600 11px/1 "Oswald",sans-serif; text-transform:uppercase; letter-spacing:.04em; }
.house-links-tooltip-column ul { display:grid; grid-template-columns:1fr; gap:4px; margin:0; padding:0; list-style:none; }
.house-links-tooltip-column li { min-width:0; font:500 12px/1.35 "Oswald",sans-serif; white-space:nowrap; }
.house-links-strength-legend { margin:0; color:var(--text-soft); font:500 12px/1.3 "Oswald",sans-serif; }
.house-links-panel { display:grid; min-width:0; gap:10px; }
.house-links-heading { width:max-content; max-width:100%; margin:0; padding:6px 12px; border-radius:var(--corner-radius); color:var(--text); background:var(--raised-control-fill); box-shadow:var(--control-raised-shadow); font:600 15px/1 "Oswald",sans-serif; }
.house-links-tabs { display:flex; flex-wrap:wrap; gap:6px; }
.house-links-tabs button {
  width:auto; min-width:128px; height:30px; min-height:30px; padding:0 14px;
  border:0; border-radius:var(--corner-radius); color:var(--text);
  background:var(--cut-control-fill); box-shadow:var(--control-inset-shadow);
  font:500 14px/1 "Oswald",sans-serif; cursor:pointer;
}
.house-links-tabs button.is-active { color:var(--accent-text); background:var(--accent); box-shadow:var(--control-raised-shadow); }
.house-links-matrix-scroll { max-width:100%; padding:4px; overflow:auto; }
.house-links-matrix {
  display:grid; min-width:520px;
  grid-template-columns:22px repeat(12,minmax(30px,1fr));
  gap:4px;
}
.house-links-axis,.house-links-corner { display:grid; min-height:24px; place-items:center; color:var(--text); font:600 13px/1 "Oswald",sans-serif; }
.house-links-cell {
  display:grid; min-height:32px; padding:2px; place-content:center; place-items:center;
  border-radius:calc(var(--corner-radius) * .55); color:var(--text);
  background:var(--raised-control-fill); box-shadow:var(--control-raised-shadow);
  font:600 12px/1 "Oswald",sans-serif;
}
.house-links-cell[data-house-link-interpretation],
.house-links-triple[data-house-link-interpretation] { cursor:pointer; }
.house-links-cell span { display:block; }
.house-links-cell-strength { margin-top:1px; color:var(--text-soft); font:500 8px/1 "Oswald",sans-serif; }
.house-links-cell.is-harmonic,.house-links-triple.is-harmonic { background:color-mix(in srgb,var(--house-link-harmonic) 24%,var(--surface)); }
.house-links-cell.is-harmonic.strength-2,.house-links-triple.is-harmonic.strength-2 { background:color-mix(in srgb,var(--house-link-harmonic) 42%,var(--surface)); }
.house-links-cell.is-harmonic.strength-3,.house-links-triple.is-harmonic.strength-3 { background:color-mix(in srgb,var(--house-link-harmonic) 62%,var(--surface)); }
.house-links-cell.is-harmonic.strength-4,.house-links-triple.is-harmonic.strength-4 { background:color-mix(in srgb,var(--house-link-harmonic) 82%,var(--surface)); }
.house-links-cell.is-tense,.house-links-triple.is-tense { background:color-mix(in srgb,var(--house-link-tense) 24%,var(--surface)); }
.house-links-cell.is-tense.strength-2,.house-links-triple.is-tense.strength-2 { background:color-mix(in srgb,var(--house-link-tense) 42%,var(--surface)); }
.house-links-cell.is-tense.strength-3,.house-links-triple.is-tense.strength-3 { background:color-mix(in srgb,var(--house-link-tense) 62%,var(--surface)); }
.house-links-cell.is-tense.strength-4,.house-links-triple.is-tense.strength-4 { background:color-mix(in srgb,var(--house-link-tense) 82%,var(--surface)); }
.house-links-cell.is-balanced,.house-links-triple.is-balanced { background:color-mix(in srgb,var(--house-link-harmonic) 35%,var(--house-link-tense)); }
.house-links-cell.is-empty { opacity:.42; box-shadow:none; }
.house-links-cell.is-outside { background:transparent; box-shadow:none; opacity:1; }
.house-links-cell.is-house-axis-focus { color:var(--accent-text); background:var(--accent)!important; box-shadow:var(--control-raised-shadow); }
.house-links-axis.is-house-axis-focus { border-radius:50%; color:var(--accent-text); background:var(--accent); }
.house-links-triples { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.house-links-triple {
  display:grid; width:100%; min-width:0; min-height:44px; padding:6px 8px; place-content:center;
  border-radius:calc(var(--corner-radius) * .65); color:var(--text);
  background:var(--raised-control-fill); box-shadow:var(--control-raised-shadow); text-align:center;
}
.house-links-triple-houses { font:600 15px/1.1 "Oswald",sans-serif; }
.house-links-triple-strength { color:var(--text-soft); font:500 11px/1.2 "Oswald",sans-serif; }
@media (max-width:900px) { .house-links-triples { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:560px) { .house-links-triples { grid-template-columns:1fr; } }
.house-links-empty,.house-links-status { margin:0; color:var(--text-soft); font:500 14px/1.3 "Oswald",sans-serif; }
.talents-capsules { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:10px; align-items:start; }
.talents-temperament { margin-bottom:24px; }
.talents-temperament h3,.talents-list-title { margin:0 0 14px; font-size:22px; }
.talents-temperament-summary { display:flex; align-items:center; gap:12px; margin-bottom:14px; }
.talents-temperament-summary strong { font:600 20px/1.2 "Oswald",sans-serif; }
.talents-temperament-summary button { min-height:36px; padding:0 15px; border:0; border-radius:var(--corner-radius); color:var(--text); background:var(--raised-control-fill); box-shadow:var(--control-raised-shadow); font:500 14px/1 "Oswald",sans-serif; }
.talents-temperament-table-wrap { max-width:100%; overflow-x:auto; }
.talents-temperament-table-wrap[hidden] { display:none; }
.talents-temperament-table { width:100%; min-width:680px; border-collapse:collapse; font-size:14px; }
.talents-temperament-table th,.talents-temperament-table td { padding:7px 10px; border-bottom:1px solid color-mix(in srgb,var(--text) 18%,transparent); text-align:center; }
.talents-temperament-table th:first-child { text-align:left; font-weight:400; }
.talents-temperament-table thead th { color:var(--text-soft); font-weight:600; }
.talents-temperament-table .is-subtotal th,.talents-temperament-table .is-subtotal td { color:var(--accent); font-weight:600; }
.talents-temperament-table .is-overall th,.talents-temperament-table .is-overall td { border-bottom:0; font-weight:700; }
.talent-capsule { min-height:44px; display:flex; align-items:center; justify-content:space-between; gap:14px; padding:0 16px; border-radius:var(--corner-radius); color:var(--text); background:var(--raised-control-fill); box-shadow:var(--control-raised-shadow); font:500 16px/1.15 "Oswald",sans-serif; }
.talent-percent { flex:0 0 auto; min-width:58px; padding:7px 10px; border-radius:999px; text-align:center; color:var(--accent-text); background:var(--accent); box-shadow:var(--control-raised-shadow); }
.talents-status { margin:0; color:var(--text-soft); font:500 14px/1.3 "Oswald",sans-serif; }

.natal-chart-datetime {
  position: absolute;
  top: 18px;
  left: 20px;
  z-index: 5;
  color: var(--text);
  font-size: clamp(14px, 1.25vw, 18px);
  line-height: 1.15;
  pointer-events: none;
}
.forecast-chart-datetime {
  position:absolute; top:18px; right:20px; z-index:5;
  color:var(--text); font-size:clamp(14px,1.25vw,18px); line-height:1.15;
  text-align:right; pointer-events:none;
}
.forecast-chart-datetime[hidden] { display:none; }

/* Дата, время и город живут только в верхней панели. */
.natal-chart-datetime,
.forecast-chart-datetime { display:none!important; }

.natal-balance {
  position: absolute;
  top: 18px;
  right: 20px;
  z-index: 6;
  display: grid;
  width: 140px;
  gap: 9px;
}

.natal-balance[hidden] { display: none; }

.natal-balance-track {
  display: grid;
  width: 100%;
  gap: 4px;
  overflow: visible;
}

.natal-balance-segment {
  position: relative;
  display: block;
  width: 100%;
  height: 6px;
  overflow: visible;
  border-radius: var(--corner-radius);
  background: var(--surface-deep);
  box-shadow: var(--control-inset-shadow);
  cursor: default;
  outline: 0;
}

.natal-balance-segment::before {
  position: absolute;
  top: 0;
  right: 0;
  width: var(--balance-percent);
  height: 100%;
  border-radius: inherit;
  background: var(--balance-color);
  content: "";
}

.natal-balance-track.is-segmented {
  position:relative;
  display: flex;
  height: 6px;
  gap: 0;
  overflow: visible;
  border-radius: var(--corner-radius);
  background: var(--surface-deep);
  box-shadow: var(--control-inset-shadow);
  outline:0;
}

.natal-balance-track.is-segmented::after {
  position:absolute;
  z-index:3;
  inset:-1px;
  border:1px solid var(--text);
  border-radius:var(--corner-radius);
  content:"";
  pointer-events:none;
}

.natal-balance-track.is-segmented .natal-balance-segment {
  width: auto;
  min-width: 0;
  flex: 0 1 auto;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.natal-balance-track.is-segmented .natal-balance-segment::before {
  width: 100%;
  border-radius: 0;
}

.natal-balance-track.is-segmented .natal-balance-segment.is-zero {
  flex: 0 0 10px;
  background: var(--surface-deep);
}

.natal-balance-track.is-segmented .natal-balance-segment.is-zero::before {
  inset: 0;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  border-top: 1px dashed var(--text);
  border-right: 1px dashed var(--text);
  border-bottom: 1px dashed var(--text);
  border-radius: 0 var(--corner-radius) var(--corner-radius) 0;
  background: transparent;
}

.natal-balance-track.is-segmented .natal-balance-segment.is-first-visible,
.natal-balance-track.is-segmented .natal-balance-segment.is-first-visible::before {
  border-radius: var(--corner-radius) 0 0 var(--corner-radius);
}

.natal-balance-track.is-segmented .natal-balance-segment.is-last-visible,
.natal-balance-track.is-segmented .natal-balance-segment.is-last-visible::before {
  border-radius: 0 var(--corner-radius) var(--corner-radius) 0;
}

.natal-balance-segment::after {
  position: absolute;
  top: calc(100% + 6px);
  right: 0;
  z-index: 20;
  width: max-content;
  max-width: 190px;
  padding: 6px 9px;
  border: 1px solid color-mix(in srgb, var(--text) 18%, transparent);
  border-radius: 18px;
  color: var(--text);
  background: color-mix(in srgb, var(--surface-deep) 50%, transparent);
  box-shadow: 0 10px 28px color-mix(in srgb, var(--background) 30%, transparent);
  content: attr(data-balance-tooltip);
  font: 500 12px/1.15 "Oswald", sans-serif;
  opacity: 0;
  pointer-events: none;
  transform: translateY(-2px);
  transition: opacity .12s ease, transform .12s ease;
  white-space: nowrap;
  -webkit-backdrop-filter: blur(14px) saturate(1.15);
  backdrop-filter: blur(14px) saturate(1.15);
}

.natal-balance-segment:hover::after,
.natal-balance-segment:focus-visible::after {
  opacity: 1;
  transform: none;
}

.natal-balance-track.is-segmented .natal-balance-segment.is-first-visible::after {
  right: auto;
  left: 0;
}

.natal-now-button {
  min-height: 50px;
  padding: 0 24px;
  border: 0;
  border-radius: var(--corner-radius);
  color: var(--text);
  background: var(--surface-deep);
  box-shadow: var(--figma-deep-shadow);
  font: 500 18px/1 "Oswald", sans-serif;
  cursor: pointer;
}

.natal-now-button:active {
  box-shadow: var(--control-inset-shadow);
}

.natal-wheel-stage .wheel-root:not(.sun-shared-wheel-size) {
  width: min(calc(88vh * var(--wheel-user-zoom-scale, 1)), var(--wheel-user-zoom, 100%));
  min-width: 0;
  aspect-ratio: 1;
}
@media(min-width:1025px){
  body.is-direction-aspect-table .natal-wheel-stage{place-items:center end;padding-left:calc(var(--direction-matrix-width,250px) + 8px)}
  body.is-direction-aspect-table .natal-wheel-stage .wheel-root{width:min(calc(90vh * var(--wheel-user-zoom-scale, 1)),var(--wheel-user-zoom,calc(100% - 4px)))}
  body.is-direction-aspect-table #natal-aspect-table-section{display:none}
  body.is-direction-aspect-table>.natal-reading-aspect-table,
  body.is-direction-aspect-table .index-content>.natal-reading-aspect-table{position:absolute;z-index:18;left:70px;top:0;bottom:auto;width:var(--direction-matrix-width,max-content);height:var(--direction-matrix-height,auto);max-width:calc(100% - 88px);box-sizing:border-box;padding:4px;background:transparent;border-radius:0;box-shadow:none}
}
.natal-wheel-stage.is-side-by-side { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; padding:5px; }
.natal-wheel-stage.is-side-by-side .wheel-root {
  width:min(100%,calc((100vh - 140px) * var(--wheel-user-zoom-scale,1)));
  max-width:100%;
  justify-self:center;
}

.natal-status {
  position: absolute;
  inset: auto 24px 20px;
  min-height: 1.4em;
  margin: 0;
  color: var(--accent);
  text-align: center;
}

.natal-tools-drawer {
  position: fixed;
  top: 5px;
  right: clamp(18px, 2vw, 30px);
  bottom: 12px;
  z-index: 105;
  display: grid;
  width: var(--natal-tools-panel-width);
  grid-template-rows: auto minmax(0, 1fr);
  padding: 10px;
  border-radius: var(--corner-radius);
  background: var(--background);
  box-shadow: none;
  visibility: hidden;
  pointer-events: none;
  transform: translateX(calc(100% + 24px));
  transition: transform .22s ease;
}

.index-shell .topbar {
  position: relative;
  z-index: 110;
}

.natal-tools-drawer.is-open {
  visibility: visible;
  pointer-events: auto;
  transform: translateX(0);
}

body.natal-tools-open .index-shell {
  padding-right: clamp(18px, 2vw, 30px);
  transition: padding-right .22s ease;
}

.natal-tools-trigger[aria-pressed="true"] {
  color: var(--accent-text);
  background: var(--accent);
}

.natal-tools-header {
  display: flex;
  min-height: 48px;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

.natal-tools-header h2 { margin: 0; font-size: 24px; line-height: 1; }
.natal-tools-scroll { min-height: 0; overflow: auto; padding: 6px 2px 14px; scrollbar-gutter: stable; overflow-anchor:none; scroll-behavior:auto; }
.natal-tool-section { overflow-anchor:none; }
.natal-tool-section { margin: 0 0 8px; }
.natal-drawer-interpretations {
  box-sizing:border-box;
  display:grid;
  min-width:0;
  gap:10px;
  padding:10px 0 0;
}
.natal-drawer-interpretations .natal-reading-navigation {
  min-height:40px;
  padding-inline:0;
  justify-content:center;
}
.natal-drawer-interpretations .natal-reading-navigation > .natal-reading-tabs {
  position:static;
  transform:none;
}
.natal-drawer-interpretations .natal-reading-panel {
  min-width:0;
  padding:14px;
  border-radius:var(--corner-radius);
  box-shadow:none;
}
.natal-drawer-interpretations .reading-four,
.natal-drawer-interpretations .event-health-grid,
.natal-drawer-interpretations .talents-grid {
  grid-template-columns:minmax(0,1fr);
}
.natal-drawer-interpretations :is(.natal-reading-content,.reading-score,.reading-chains) {
  min-width:0;
  max-width:100%;
}
.natal-drawer-interpretations :is(p,h2,h3,h4,button,a,span) {
  overflow-wrap:anywhere;
}
.natal-reading-server-notes {
  box-sizing:border-box;
  width:100%;
  min-width:0;
  max-width:100%;
  padding-top:10px;
  border-top:1px solid color-mix(in srgb, currentColor 16%, transparent);
}
.natal-reading-server-notes[hidden] { display:none!important; }
.natal-reading-server-notes .natal-object-interpretation-section,
.natal-reading-server-notes .natal-interpretation-editor,
.natal-reading-server-notes .natal-interpretation-editor-fields,
.natal-reading-server-notes .natal-interpretation-admin-actions,
.natal-reading-server-notes .natal-interpretation-editor-actions,
.natal-reading-server-notes .natal-interpretation-format-actions {
  box-sizing:border-box;
  min-width:0;
  max-width:100%;
}
.natal-reading-server-notes :is(input,textarea,button,a) { max-width:100%; }
.natal-tool-section summary {
  display: flex;
  min-height: 42px;
  padding: 0 15px;
  align-items: center;
  border-radius: var(--corner-radius);
  background: var(--cut-control-fill);
  box-shadow: var(--control-inset-shadow);
  font-size: 16px;
  cursor: pointer;
  list-style: none;
}
.natal-tool-section summary:focus,
.natal-tool-section summary:focus-visible {
  outline: 0;
}
.natal-tool-section summary::-webkit-details-marker { display: none; }
.natal-tool-section:not([open]) > .natal-tool-body { display: none; }
.natal-tool-body { padding: 8px 3px 2px; }
.natal-object-interpretation {
  min-height: 40px;
  padding: 14px 15px;
  border-radius: var(--corner-radius);
  background: var(--cut-control-fill);
  box-shadow: var(--control-inset-shadow);
}
.natal-object-interpretation h3 { margin: 0 0 8px; font-size: 17px; line-height: 1.2; }
.natal-object-interpretation h4 { margin: 14px 0 5px; font-size: 15px; line-height: 1.25; text-transform: uppercase; }
.natal-object-interpretation p { margin: 0 0 9px; white-space: pre-line; line-height: 1.45; }
.natal-object-interpretation p:last-child { margin-bottom: 0; }
.natal-object-interpretation .natal-object-composition { margin-top: 16px; font-weight: 650; }
.natal-object-interpretation.is-loading { opacity: .72; }
.natal-object-interpretation-section + .natal-object-interpretation-section {
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid color-mix(in srgb, currentColor 16%, transparent);
}
.natal-object-author-tabs { display: flex; flex-wrap: wrap; gap: 7px; margin: 0 0 10px; }
.natal-object-author-tabs button {
  min-height: 34px;
  padding: 0 14px;
  border: 0;
  border-radius: var(--corner-radius);
  background: var(--cut-control-fill);
  box-shadow: var(--control-inset-shadow);
  color: inherit;
  font: inherit;
}
.natal-object-author-tabs button[aria-pressed="true"] { box-shadow: var(--control-raised-shadow); }
.natal-object-source-notice { opacity: .72; font-size: .92em; }
.wheel-progression-interpretation { display:grid;gap:5px;max-width:340px;margin-top:9px;padding-top:9px;border-top:1px solid color-mix(in srgb,currentColor 18%,transparent);font:400 14px/1.4 "Oswald",sans-serif;white-space:normal; }
.wheel-progression-interpretation strong { font-weight:650; }
.wheel-direction-interpretation { display:grid;gap:9px;max-width:420px;max-height:min(62vh,560px);margin-top:9px;padding-top:9px;border-top:1px solid color-mix(in srgb,currentColor 18%,transparent);overflow:auto;font:400 14px/1.42 "Oswald",sans-serif;white-space:normal; }
.wheel-direction-interpretation section { display:grid;gap:4px; }
.wheel-direction-interpretation section+section { padding-top:9px;border-top:1px solid color-mix(in srgb,currentColor 14%,transparent); }
.wheel-direction-interpretation strong { font-weight:650; }
.wheel-direction-interpretation small,.wheel-direction-interpretation em { color:var(--muted);font-size:12px;line-height:1.3; }
.wheel-direction-interpretation p,.wheel-direction-interpretation em { margin:0;white-space:pre-wrap; }
.wheel-object-tooltip:has(.wheel-direction-interpretation) { width:min(430px,calc(100vw - 24px)); }
.natal-object-source-link {
  display: inline-flex;
  margin-top: 2px;
  color: inherit;
  font-size: .9em;
  opacity: .76;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}
.natal-interpretation-admin-actions,
.natal-interpretation-editor-actions,
.natal-interpretation-format-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-top: 14px;
}
.natal-interpretation-admin-actions button,
.natal-interpretation-editor-actions button,
.natal-interpretation-format-actions button,
.natal-interpretation-author-editor button {
  height: 40px;
  min-height: 40px;
  max-height: 40px;
  box-sizing: border-box;
}
.natal-interpretation-admin-actions .is-danger,
.natal-interpretation-editor-actions .is-danger,
.natal-interpretation-author-editor .is-danger {
  color: var(--text);
  opacity: .82;
}
.natal-interpretation-editor {
  margin-top: 12px;
  padding: 14px;
  border-radius: var(--corner-radius);
  background: var(--cut-control-fill);
  box-shadow: var(--control-inset-shadow);
}
.natal-interpretation-editor-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.natal-interpretation-editor-fields label {
  display: grid;
  gap: 6px;
  min-width: 0;
}
.natal-interpretation-editor-fields label.is-wide { grid-column: 1 / -1; }
.natal-interpretation-format-actions {
  grid-column: 1 / -1;
  margin-top: 0;
}
.natal-interpretation-editor-fields label > span {
  font-size: 13px;
  font-weight: 650;
}
.natal-interpretation-editor input,
.natal-interpretation-editor textarea {
  width: 100%;
  min-width: 0;
  min-height: 40px;
  padding: 9px 12px;
  border: 0;
  border-radius: var(--corner-radius);
  background: var(--raised-control-fill);
  box-shadow: var(--control-raised-shadow);
  color: inherit;
  font: inherit;
  box-sizing: border-box;
}
.natal-interpretation-editor input { height: 40px; }
.natal-interpretation-editor textarea {
  min-height: 180px;
  line-height: 1.45;
  resize: vertical;
}
.natal-interpretation-author-editor {
  display: grid;
  grid-template-columns: minmax(160px, 1fr) minmax(220px, 1.5fr) repeat(4, auto);
  align-items: center;
  gap: 8px;
}
.natal-interpretation-editor .natal-interpretation-editor-status {
  margin: 8px 0 0;
  color: var(--text);
  opacity: .82;
  font-size: 13px;
}
@media (max-width: 720px) {
  .natal-interpretation-editor-fields,
  .natal-interpretation-author-editor { grid-template-columns: minmax(0, 1fr); }
}
.natal-balance [data-balance-group] { cursor: pointer; }
.natal-balance [data-balance-group]:focus-visible { outline: none; }
.natal-table-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin: 0 0 7px;
}
.natal-table-tabs[hidden] { display: none; }
.natal-table-tabs button {
  min-width: 0;
  height: 30px;
  padding: 0 11px;
  border: 0;
  border-radius: var(--corner-radius);
  color: var(--text);
  background: var(--cut-control-fill);
  box-shadow: var(--control-inset-shadow);
  font: 500 12px/1 "Oswald", sans-serif;
}
.natal-table-tabs button.is-active {
  color: var(--accent-text);
  background: var(--accent);
  box-shadow: var(--control-raised-shadow);
}
.natal-time-controls { display: grid; gap: 8px; }
.natal-tool-tabs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
#natal-minor-aspects-toggle { width:100%; margin-top:8px; }
#natal-minor-aspects-toggle[aria-pressed="true"] { box-shadow:var(--control-raised-shadow); }
.natal-time-controls button,
.natal-tool-tabs button,
.natal-tool-toggle,
.natal-tool-bulk button {
  min-height: 36px;
  border: 0;
  border-radius: var(--corner-radius);
  color: var(--text);
  background: var(--cut-control-fill);
  box-shadow: var(--control-inset-shadow);
  font: 500 14px/1 "Oswald", sans-serif;
}
.natal-tool-tabs button.is-active,
.natal-tool-toggle[aria-pressed="true"] {
  color: var(--accent-text);
  background: var(--accent);
  box-shadow: var(--control-inset-shadow);
}
.natal-tool-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; margin-top: 8px; }
.natal-tool-grid[hidden],
.natal-tool-bulk[hidden] { display: none; }
#natal-object-controls { grid-template-columns: repeat(5, minmax(0, 1fr)); }
#natal-aspect-controls > .setting-picker {
  width: 100%;
  margin-top: 8px;
}
#natal-aspect-controls > .setting-picker .setting-picker-trigger,
#natal-aspect-controls > .setting-picker.is-open .setting-picker-trigger {
  padding-inline: 14px;
  background: var(--cut-control-fill);
  box-shadow: var(--control-inset-shadow);
}
#natal-aspect-controls > .setting-picker .setting-picker-menu {
  background: var(--raised-control-fill);
  box-shadow: var(--control-raised-shadow);
}
#natal-aspect-types { display: grid; margin-top: 8px; grid-template-columns: repeat(5, var(--sun-round-button-size, 30px)); justify-content: space-between; gap: 6px; }
#natal-aspect-types .natal-tool-toggle:not(.is-symbol-only) { grid-column: 1 / -1; width: 100%; padding-inline: 9px; }
.natal-aspect-scope-block { display: grid; gap: 8px; margin-top: 10px; }
.natal-aspect-scope-block > strong { color: var(--text); font-size: 16px; font-weight: 500; }
.sun-aspect-scope-filter {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 4px;
  height: var(--sun-capsule-height);
  margin-top: 0;
  padding: 4px;
  border-radius: var(--corner-radius);
  background: var(--cut-control-fill);
  box-shadow: var(--control-inset-shadow);
}
.sun-aspect-scope-filter button {
  min-width: 0;
  padding: 0 5px;
  border: 0;
  border-radius: var(--corner-radius);
  color: var(--text);
  background: transparent;
  box-shadow: none;
  font: 500 12px/1.14 "Oswald", sans-serif;
  white-space: nowrap;
}
.sun-aspect-scope-filter button.is-active {
  color: var(--accent-text);
  background: var(--accent);
  box-shadow: var(--control-raised-shadow);
}
.natal-aspect-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.natal-aspect-filters .natal-tool-toggle { min-height: 42px; padding: 5px 9px; line-height: 1.1; }
.natal-scope-map-toggle { box-sizing:border-box; width:100%; margin-top:7px; }
.natal-tool-toggle.is-symbol-only {
  position:relative;
  display: grid;
  width: var(--sun-round-button-size, 30px);
  min-width: var(--sun-round-button-size, 30px);
  max-width: var(--sun-round-button-size, 30px);
  height: var(--sun-round-button-size, 30px);
  min-height: var(--sun-round-button-size, 30px);
  max-height: var(--sun-round-button-size, 30px);
  padding: 0;
  border-radius: 50%;
  place-items: center;
  justify-self: center;
}
.natal-tool-toggle.is-symbol-only .natal-control-symbol {
  position:absolute;
  inset:0;
  display:flex;
  width:auto;
  height:auto;
  margin: 0;
  padding:0;
  align-items:center;
  justify-content:center;
  font-size: 22px;
  font-weight: 400;
  line-height: 1;
  text-align: center;
  text-indent:0;
  transform:none!important;
}
.natal-tool-toggle.is-symbol-only[data-object-names='["Солнце"]'] .natal-control-symbol {
  transform:none;
}
.natal-time-status { min-height: 18px; margin: 0; color: var(--muted); font-size: 13px; font-variant-numeric: tabular-nums; text-align: center; }
.natal-time-units { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
.natal-time-units.is-return-period { display:block; }
.natal-return-period { display:grid; grid-template-columns:42px minmax(92px,1fr) 42px; gap:10px; align-items:center; }
.natal-return-period button,
.natal-return-period output { display:grid; box-sizing:border-box; height:42px; min-width:0; padding:0; place-items:center; border:0; border-radius:var(--corner-radius); color:var(--text); background:var(--raised-control-fill); box-shadow:var(--control-raised-shadow); font:500 18px/1 "Oswald",sans-serif; }
.natal-return-period output { padding-inline:12px; }
.natal-time-map[hidden], .natal-time-actions button[hidden] { display:none!important; }
.natal-time-unit { display:grid; grid-template-columns:minmax(48px,1fr) 28px 28px 28px; gap:3px; align-items:center; justify-content:stretch; font-size:12px; }
.natal-time-unit > span { text-align:left; }
.natal-time-unit:nth-child(even) > span { padding-left:4px; }
.natal-time-unit button { width:28px; min-width:28px; min-height:28px; padding:0; display:grid; place-items:center; border-radius:50%; background:var(--cut-control-fill); box-shadow:var(--control-inset-shadow); font-size:15px; line-height:1; }
.natal-time-unit input { box-sizing:border-box; width:28px; min-width:28px; height:28px; padding:0; border:0; border-radius:50%; color:var(--text); background:var(--cut-control-fill); box-shadow:var(--control-inset-shadow); text-align:center; font:500 13px/1 "Oswald",sans-serif; appearance:textfield; }
.natal-time-unit input::-webkit-inner-spin-button { display: none; }

body.sun-index-natal-layout .natal-time-unit {
  grid-template-columns: 62px 24px 40px 24px;
  gap:4px;
  justify-content: start;
}

body.sun-index-natal-layout .natal-time-status {
  display: none!important;
}

body.sun-index-natal-layout .natal-time-unit button {
  display:grid!important;
  width:24px;
  min-width:24px;
  height:40px;
  min-height:40px;
  padding:0;
  border:0;
  border-radius:0;
  color:var(--text);
  background:transparent;
  box-shadow:none;
  font-size:20px;
  line-height:1;
}

body.sun-index-natal-layout #natal-aspect-types {
  display: none!important;
}

body.sun-index-natal-layout .natal-time-unit input {
  width: 40px;
  min-width: 40px;
  height: 40px;
  min-height: 40px;
  font-size: 16px;
}

body.sun-index-natal-layout .natal-tools-scroll {
  box-sizing: border-box;
  padding-right: 6px!important;
  scrollbar-gutter: stable;
  scrollbar-width: thin;
  scrollbar-color: var(--muted) transparent;
}

body.sun-index-natal-layout .natal-tools-scroll::-webkit-scrollbar { width: 6px; }
body.sun-index-natal-layout .natal-tools-scroll::-webkit-scrollbar-track { background: transparent; }
body.sun-index-natal-layout .natal-tools-scroll::-webkit-scrollbar-thumb {
  border-radius: 999px;
  background: var(--muted);
}

body.sun-index-natal-layout .natal-tools-drawer,
body.sun-index-natal-layout .natal-tools-drawer * {
  scrollbar-width: thin;
  scrollbar-color: var(--muted) transparent;
}

body.sun-index-natal-layout .natal-tools-drawer::-webkit-scrollbar,
body.sun-index-natal-layout .natal-tools-drawer *::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}

body.sun-index-natal-layout .natal-tools-drawer::-webkit-scrollbar-track,
body.sun-index-natal-layout .natal-tools-drawer *::-webkit-scrollbar-track {
  background: transparent;
}

body.sun-index-natal-layout .natal-tools-drawer::-webkit-scrollbar-thumb,
body.sun-index-natal-layout .natal-tools-drawer *::-webkit-scrollbar-thumb {
  border-radius: 999px;
  background: var(--muted);
}
.natal-time-map { display: grid; gap: 8px; }
.natal-time-map-buttons { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.natal-time-map-buttons button.is-active { color: var(--accent-text); background: var(--accent); box-shadow: var(--control-raised-shadow); }
.natal-static-field { display: flex; min-height: 34px; padding: 0 12px; align-items: center; border-radius: 17px; background: var(--cut-control-fill); box-shadow: var(--control-inset-shadow); font-size: 13px; }
.natal-time-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
#natal-time-play,
#natal-time-play[aria-pressed="true"] { color: var(--accent-text); background: var(--accent); box-shadow: var(--control-raised-shadow); }
.natal-orb-correction { display: flex; justify-content: space-between; gap: 12px; }
body.sun-index-natal-layout .natal-orb-correction {
  justify-content: flex-start;
  gap: 6px;
}
.natal-time-controls input[type="range"] { width: 100%; }
.natal-tool-bulk { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; margin-top: 8px; }
.natal-tool-bulk button { min-height: 34px; font-size: 13px; }
#transit-cusps-toggle{width:100%;min-height:40px;margin:0 0 8px;border:0;border-radius:20px;color:var(--text);background:var(--cut-control-fill);box-shadow:var(--control-inset-shadow);font:500 16px/1 "Oswald",sans-serif}
#transit-cusps-toggle[aria-pressed="true"]{color:var(--accent-text);background:var(--accent);box-shadow:var(--control-raised-shadow)}
.natal-tool-toggle { display: flex; padding: 0 14px; align-items: center; justify-content: center; gap: 8px; }
.natal-control-symbol,
.natal-table-symbol { font: 21px/1 "Astronomicon", sans-serif; }
.natal-data-list p > span:first-child { display: flex; min-width: 0; align-items: center; gap: 7px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.natal-tool-link { display:flex; min-height:36px; margin-top:7px; padding:0 12px; align-items:center; justify-content:center; border-radius:var(--corner-radius); color:var(--text); background:var(--cut-control-fill); box-shadow:var(--control-inset-shadow); font-size:14px; text-decoration:none; }
.natal-aspect-table-wrap { max-width:100%; overflow:auto; scrollbar-gutter:stable; border-radius: 0; background:var(--background); box-shadow:none; }
.natal-aspect-matrix {
  display: grid;
  justify-content: stretch;
  width: max-content;
  min-width: calc(100% - 8px);
  margin-left: 8px;
  padding: 0;
  gap: var(--matrix-gap, 0px);
  background:
    linear-gradient(var(--background), var(--background)) 0 0 / 100% var(--matrix-cell-size,22px) no-repeat,
    linear-gradient(var(--background), var(--background)) 0 0 / var(--matrix-cell-size,22px) 100% no-repeat,
    var(--background);
}
.natal-matrix-cell { display:grid; width:var(--matrix-cell-size,22px); height:var(--matrix-cell-size,22px); place-self:center; place-items:center; border:0; border-radius:50%; color:var(--text); background:var(--raised-control-fill); box-shadow:var(--control-raised-shadow); font:var(--matrix-font-size,15px)/1 "Astronomicon",sans-serif; transition:background-color 120ms ease,box-shadow 120ms ease,color 120ms ease; }
body[data-relief-mode="2"] .natal-matrix-cell:not(.is-empty):not(.is-label) { background: var(--cut-control-fill); box-shadow: var(--control-inset-shadow); }
.natal-matrix-cell.is-empty { background: transparent; box-shadow: none; }
.natal-matrix-cell.is-label { z-index: 2; border-radius: 0; background: var(--background); box-shadow: none; font-size:var(--matrix-axis-font-size,20px); }
.natal-matrix-cell.is-cusp-label { font-family:"Astronomicon",sans-serif; font-size:var(--matrix-axis-font-size,20px); font-weight:400; line-height:1; }
.natal-matrix-cell.is-label.is-matrix-axis-focus { border-radius: 50%; color: var(--accent-text); background: var(--accent); }
.natal-matrix-cell.is-column-label { position: sticky; top: 0; z-index: 4; }
.natal-matrix-cell.is-row-label { position: sticky; left: 0; z-index: 3; background: var(--background); box-shadow: none; }
.natal-matrix-cell.is-corner-label { position: sticky; top: 0; left: 0; z-index: 5; }
.natal-matrix-cell[data-tooltip-kind] { cursor: default; }
.natal-matrix-cell[data-tooltip-kind]:not(.is-label):hover,
.natal-matrix-cell[data-tooltip-kind]:not(.is-label):focus-visible,
.natal-matrix-cell.is-matrix-axis-focus { position: relative; isolation: isolate; color: var(--text); background: transparent; box-shadow: none; }
.natal-matrix-cell[data-tooltip-kind]:not(.is-label):hover::before,
.natal-matrix-cell[data-tooltip-kind]:not(.is-label):focus-visible::before,
.natal-matrix-cell.is-matrix-axis-focus::before {
  position: absolute;
  z-index: -1;
  inset: 0;
  border-radius: 50%;
  background: var(--accent);
  box-shadow: var(--control-inset-shadow);
  content: "";
}
body[data-relief-mode="2"] .natal-matrix-cell[data-tooltip-kind]:not(.is-label):hover,
body[data-relief-mode="2"] .natal-matrix-cell[data-tooltip-kind]:not(.is-label):focus-visible,
body[data-relief-mode="2"] .natal-matrix-cell.is-matrix-axis-focus { box-shadow: none; }
.natal-matrix-cell.is-column-label.is-matrix-axis-focus { position: sticky; top: 0; }
.natal-matrix-cell.is-row-label.is-matrix-axis-focus { position: sticky; left: 0; }
.natal-matrix-cell.is-corner-label.is-matrix-axis-focus { position: sticky; top: 0; left: 0; }
.natal-data-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.natal-data-list.is-cosmogram { grid-template-columns: minmax(0, 1fr); }
.natal-coordinate-column { display: grid; min-width: 0; align-content: start; gap: 7px; }
.natal-data-list p { display: grid; min-width: 0; min-height: 36px; margin: 0; padding: 6px 4px; align-items: center; justify-content: start; border-radius: 18px; color: var(--text); background: var(--cut-control-fill); box-shadow: var(--control-inset-shadow); font-size: 13px; cursor: default; }
.natal-coordinate-column.is-planets p { background: var(--background); box-shadow: none; }
.natal-coordinate-column.is-cusps p { background: var(--background); box-shadow: none; }
.natal-coordinate-column.is-planets p { grid-template-columns: 42px max-content; gap: 0; }
.natal-coordinate-column.is-cusps p { grid-template-columns: 24px max-content; gap: 0; }
.natal-coordinate-position { display:grid; min-width:0; grid-template-columns:68px 28px; align-items:center; column-gap:1px; white-space:nowrap; }
.natal-coordinate-column.is-cusps .natal-coordinate-position { grid-template-columns:50px 28px; }
.natal-coordinate-degrees { text-align:right; }
.natal-coordinate-sign { width:28px; min-width:28px; color:var(--text); font:21px/1 "Astronomicon", sans-serif; text-align:center; }
.natal-coordinate-retro { color: var(--chart-retro); font: 21px/1 "Astronomicon", sans-serif; }
.natal-coordinate-object { display:grid; min-width:49px; grid-template-columns:14px 24px 10px; align-items:center; gap:0; }
.natal-coordinate-dignities { display:flex; width:14px; align-items:center; justify-content:flex-start; gap:0; }
.natal-coordinate-dignity { color:var(--accent); font:700 16px/1 "Oswald", sans-serif; text-transform:uppercase; }
.natal-cusp-label { font:21px/1 "Astronomicon",sans-serif; }
.natal-data-list p:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }

.natal-analysis { display: grid; gap: 8px; padding-inline: 4px; }
.natal-analysis-group { display: grid; gap: 6px; }
.natal-analysis-group h3 { margin: 0; color: var(--text); font-size: 12px; font-weight: 500; }
#natal-chart-analysis { display:grid; gap:8px; }
.natal-analysis-track.is-segmented,
.natal-analysis-track.is-segmented .natal-balance-segment { height: 14px; }
.natal-analysis-track .natal-balance-segment::after { top: calc(100% + 4px); }
.natal-configurations { display: grid; gap: 7px; }
.natal-configuration-tabs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; margin-bottom:7px; }
.natal-configuration-tabs[hidden] { display:none; }
.natal-configuration-tabs button { width:100%; min-width:0; min-height:36px; padding:0 8px; border:0; border-radius:var(--corner-radius); color:var(--text); background:var(--cut-control-fill); box-shadow:var(--control-inset-shadow); font:500 14px/1 "Oswald",sans-serif; }
.natal-configuration-tabs button.is-active { background:var(--accent); box-shadow:var(--control-raised-shadow); }
.natal-configuration-button {
  width: 100%; min-height: 36px; padding: 6px 12px; display:flex; align-items:center; gap:10px; border: 0; border-radius: var(--corner-radius);
  color: var(--text); background: var(--raised-control-fill); box-shadow: var(--control-raised-shadow);
  font: 500 14px/1 "Oswald", sans-serif; text-align: left; cursor: pointer;
}
.natal-configuration-button:hover,
.natal-configuration-button:focus,
.natal-configuration-button:focus-visible { border:0; outline:0; outline-offset:0; }
.natal-configuration-name { flex:0 1 auto; }
.natal-configuration-planets { display:flex; min-width:0; align-items:center; gap:5px; }
.natal-configuration-planet-group { position:relative; display:inline-flex; min-height:24px; padding:0 2px; align-items:center; gap:0; border-radius:12px; outline:0; }
.natal-configuration-planet-group.is-conjunction { padding-inline:6px; color:var(--accent-text); background:var(--accent); box-shadow:var(--control-raised-shadow); }
.natal-configuration-planet-glyph { width:18px; font:20px/1 "Astronomicon",sans-serif; text-align:center; }
.natal-configuration-planet-group::after {
  position:absolute; right:0; bottom:calc(100% + 6px); z-index:30; width:max-content; max-width:190px; padding:6px 9px;
  border:1px solid color-mix(in srgb, var(--text) 18%, transparent); border-radius:18px;
  color:var(--text); background:color-mix(in srgb, var(--surface-deep) 50%, transparent);
  box-shadow:0 10px 28px color-mix(in srgb, var(--background) 30%, transparent);
  content:attr(data-configuration-tooltip); font:500 12px/1.15 "Oswald",sans-serif;
  opacity:0; pointer-events:none; translate:0 2px; transition:opacity .12s ease,translate .12s ease; white-space:nowrap;
  -webkit-backdrop-filter:blur(14px) saturate(1.15); backdrop-filter:blur(14px) saturate(1.15);
}
.natal-configuration-planet-group:hover::after,
.natal-configuration-planet-group:focus-visible::after { opacity:1; translate:0; }
.natal-configurations-empty { margin: 2px 4px; color: var(--muted); font-size: 13px; }
.wheel-root.is-configuration-focus .wheel-planet-node,
.wheel-root.is-configuration-focus .wheel-planet-visual,
.wheel-root.is-configuration-focus .wheel-aspect-node {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events:none;
}
.wheel-root.is-configuration-focus .wheel-aspect-node:not(.is-configuration-selected) {
  opacity:0 !important;
  visibility: hidden !important;
  pointer-events:none;
}
.wheel-root.is-configuration-focus .wheel-planet-node.is-configuration-selected,
.wheel-root.is-configuration-focus .wheel-planet-visual.is-configuration-selected,
.wheel-root.is-configuration-focus .wheel-aspect-node.is-configuration-selected {
  opacity: 1 !important;
  visibility: visible !important;
}

.sun-data-tooltip {
  position: fixed;
  z-index: 160;
  width: min(192px, calc(100vw - 16px));
  padding: 10px 12px;
  border-radius: 18px;
  font-size: 12px;
}

.sun-data-tooltip > .wheel-object-tooltip__primary:not(:first-child) {
  margin-top: 6px;
  padding-top: 6px;
  border-top: 0;
}

.sun-data-tooltip .wheel-object-tooltip__aspects { margin-top: 0; padding-top: 0; border-top: 0; }
.sun-data-tooltip .wheel-object-tooltip__aspect-row { grid-template-columns: 17px 17px 17px auto minmax(0, 1fr); gap: 4px; font-size: 11px; }
.natal-reading-aspect-table { display:flex; width:100%; min-width:0; min-height:0; overflow:auto; padding:8px; flex-direction:column; align-items:stretch; justify-content:flex-start; }
.natal-aspect-table-section[open] .natal-tool-body { min-height:0; }
.natal-aspect-table-section .natal-aspect-table-wrap { margin-top:0; }
@media(max-width:1024px){
  body.is-direction-aspect-table #natal-aspect-table-section{display:none}
  body.is-direction-aspect-table .index-content>.natal-reading-aspect-table{position:relative;width:calc(100% - 16px);height:auto;min-height:0;margin:0 8px 8px;padding:8px;justify-content:center;background:transparent;border-radius:0;box-shadow:none}
}
.sun-data-tooltip .wheel-object-tooltip__aspect-glyph,
.sun-data-tooltip .wheel-object-tooltip__aspect-row .planet-glyph { font-size: 17px; }
.wheel-object-tooltip__aspect-row [data-chart-circle]::after {
  content: attr(data-chart-circle);
  margin-inline-start: 1px;
  font: 600 8px/1 "Oswald", sans-serif;
  vertical-align: top;
}

.astro-wheel__svg .is-table-muted,
.astro-wheel__svg .is-object-focus-muted {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events:none;
}
.astro-wheel__svg .wheel-aspect-node.is-table-muted,
.astro-wheel__svg .wheel-aspect-node.is-object-focus-muted {
  opacity:0 !important;
  visibility: hidden !important;
  pointer-events:none;
}
.astro-wheel__svg .is-table-focus,
.astro-wheel__svg .is-object-focus-selected {
  opacity: 1 !important;
  visibility: visible !important;
}
.astro-wheel__svg .wheel-internal-aspect-node {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none;
}
.wheel-root.is-table-object-focus .astro-wheel__svg .wheel-internal-aspect-node.is-table-focus {
  opacity: 1 !important;
  visibility: visible !important;
}
.wheel-root.is-table-object-focus .wheel-planet-visual > line,
.astro-wheel__svg .is-object-focus .wheel-planet-visual > line {
  display: none;
}

@media (max-width: 1100px) {
  body.is-forecast-page .topbar-track {
    height: auto;
    min-height: var(--sun-header-height);
    max-height: none;
    flex-wrap: wrap;
    padding-block: 7px;
    row-gap: 7px;
  }
  body.is-forecast-page .forecast-controls {
    display:contents;
  }
  body.is-forecast-page .forecast-controls[hidden] { display:none; }
  body.is-forecast-page .forecast-field { order:1; }
  body.is-forecast-page .forecast-mobile-row-break { display:block; order:1; flex:0 0 100%; width:100%; height:0; }
  body.is-forecast-page .forecast-settings-trigger,
  body.is-forecast-page .forecast-calculate,
  body.is-forecast-page .natal-reading-trigger,
  body.is-forecast-page .natal-tools-trigger { order:2; margin-left:0; }
}

@media (max-width: 600px) {
  body.is-forecast-page .topbar {
    min-height:94px;
    align-items:start;
    margin-bottom:16px;
  }
  body.is-forecast-page .natal-title-track {
    box-sizing:border-box;
    display:grid; grid-template-columns:auto repeat(5,36px); grid-template-rows:36px 36px;
    min-height:94px; height:94px; max-height:none; padding-block:7px;
    column-gap:6px; row-gap:8px; align-items:center;
  }
  body.is-forecast-page .natal-title-track h1,
  body.is-forecast-page .forecast-secondary-edit-trigger,
  body.is-forecast-page .natal-edit-button,
  body.is-forecast-page .natal-reading-trigger,
  body.is-forecast-page .natal-tools-trigger { order:0; margin-left:0; }
  body.is-forecast-page .forecast-field { display:none!important; }
  body.is-forecast-page .natal-title-track h1 { grid-column:1; grid-row:1; }
  body.is-forecast-page #natal-edit-trigger { grid-column:2; grid-row:1; }
  body.is-forecast-page .forecast-secondary-edit-trigger { grid-column:3; grid-row:1; }
  body.is-forecast-page #natal-now-trigger { grid-column:4; grid-row:1; }
  body.is-forecast-page .natal-reading-trigger { grid-column:5; grid-row:1; }
  body.is-forecast-page #natal-tools-trigger { grid-column:6; grid-row:1; }
  body.is-forecast-page .forecast-mobile-row-break { display:none; }
  body.is-forecast-page .forecast-settings-trigger,
  body.is-forecast-page .forecast-calculate,
  body.is-forecast-page .forecast-view-modes { order:2; }
  body.is-forecast-page .forecast-settings-trigger { grid-column:1; grid-row:2; }
  body.is-forecast-page .forecast-calculate {
    grid-column:2 / 4; grid-row:2; width:78px; min-width:78px; max-width:78px;
    height:36px; min-height:36px; max-height:36px; color:var(--text);
  }
  body.is-forecast-page .forecast-view-modes { grid-column:4 / 7; grid-row:2; display:grid; grid-template-columns:repeat(3,36px); gap:6px; margin-left:0; }
  body.is-forecast-page .forecast-settings-trigger,
  body.is-forecast-page .forecast-view-modes button {
    box-sizing:border-box; flex:0 0 36px; width:36px; min-width:36px; max-width:36px;
    height:36px; min-height:36px; max-height:36px; padding:0; border:0; border-radius:50%;
  }
  body:not(.is-forecast-page) .natal-title-track {
    height: auto;
    min-height: var(--sun-header-height);
    max-height: none;
    flex-wrap: wrap;
    padding-block: 7px;
    row-gap: 7px;
  }
  body:not(.is-forecast-page) .natal-title-track h1 { order: 0; }
  body:not(.is-forecast-page) .natal-reading-trigger,
  body:not(.is-forecast-page) .natal-tools-trigger { order: 1; }
  body:not(.is-forecast-page) .natal-edit-button { order: 2; }
  .forecast-field input { width:150px; }
  .forecast-field.is-city input { width:105px; }
  .forecast-minor-list { width:100%; max-width:100%; grid-template-columns:repeat(12,minmax(0,1fr)); }
  .forecast-technique-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.is-forecast-page .natal-chart-datetime { top: 14px; bottom: auto; left: 14px; }
  .forecast-chart-datetime { top:14px; right:14px; font-size:8px; }
  .natal-content { padding: 0 10px 14px; }
  .natal-wheel-stage { align-self:start; height:auto!important; min-height:0!important; padding:5px 0; }
  .natal-wheel-stage.is-side-by-side { grid-template-columns:minmax(0,1fr); gap:12px; padding:8px 6px 14px; }
  .natal-wheel-stage .wheel-root { width: 100%; }
  .natal-chart-datetime { top: 14px; left: 14px; font-size: 8px; }
  .natal-balance { top: 9px; right: 10px; width: 78px; gap: 3px; }
  .natal-now-button { min-height: 40px; padding: 0 13px; font-size: 14px; }
  .natal-tools-trigger { width: 36px; height: 36px; }
  .natal-tools-trigger img { width: 20px; height: 20px; }
  .natal-reading-tabs { gap:4px; }
  .reading-four,.reading-chains,.reading-jones { grid-template-columns:1fr; }
  .reading-chain-graph { height:300px; }
  .reading-jones-variants { grid-template-columns:minmax(0,1fr); }
  .reading-jones-variant { padding:7px; }
  .reading-jones-grid { grid-template-columns:1fr; }
  .natal-tool-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #natal-object-controls { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .natal-tools-drawer { padding: 12px; }
  .natal-tool-body { padding-inline: 2px; }
  .natal-tool-toggle { min-height: 46px; font-size: 15px; }
  .natal-tool-bulk { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .natal-tool-bulk button { font-size: 14px; }
  .house-links-view { grid-template-columns:1fr; }
  .house-links-settings-row { flex-wrap:wrap; }
  .house-links-panels { grid-template-columns:1fr; }
  .house-links-tooltip-column li { white-space:normal; }
  .natal-time-unit { grid-template-columns:minmax(48px,1fr) 28px 28px 28px; gap:3px; }

  .natal-tools-drawer {
    width: min(var(--natal-tools-panel-width), calc(100vw - 16px));
  }
}

@media (max-width: 520px) {
  .forecast-controls { gap:4px; }
  .forecast-field input { width:132px; font-size:11px; }
  .forecast-field.is-city input { width:84px; }
  .forecast-controls .forecast-calculate { flex-basis:40px; width:40px; min-width:40px; max-width:40px; height:22px; min-height:22px; max-height:22px; padding:0; border-radius:var(--corner-radius); }
  .forecast-technique-grid { grid-template-columns: 1fr; }
  .forecast-technique-grid.is-directions-settings { grid-template-columns:1fr; }
  .forecast-technique-grid .forecast-setting-choice { grid-column:span 1; }
  body.natal-tools-open .index-content { margin-right: 0; }
  .natal-tools-drawer { width: calc(100vw - 16px); }
}

.sun-menu-backdrop {
  position: fixed;
  inset: 0;
  z-index: 180;
  background: rgba(20, 23, 36, .55);
  opacity: 0;
  transition: opacity .2s ease;
}

.sun-menu-backdrop.is-open {
  opacity: 1;
}

.sun-main-menu {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  z-index: 190;
  display: flex;
  width: min(360px, calc(100vw - 32px));
  padding: 22px 16px 18px;
  flex-direction: column;
  overflow-y: auto;
  border-radius: 0 var(--corner-radius) var(--corner-radius) 0;
  background: var(--surface);
  box-shadow: var(--figma-surface-shadow);
  transform: translateX(-105%);
  transition: transform .22s ease;
}

.sun-main-menu.is-open {
  transform: translateX(0);
}

.sun-menu-controls {
  display: flex;
  justify-content: flex-end;
  gap: 6px;
  margin-bottom: 18px;
}

.sun-menu-control {
  flex: 0 0 22px;
  width: 22px;
  height: 22px;
  min-width: 22px;
  min-height: 22px;
  padding: 0;
  aspect-ratio: 1;
  border: 0;
  border-radius: 50%;
  background: var(--surface-deep);
  box-shadow: var(--figma-deep-shadow);
  color: var(--text);
  font: 400 14px/1 "Oswald", sans-serif;
  cursor: pointer;
}

.sun-menu-control[aria-pressed="true"] {
  background: var(--accent);
  color: var(--accent-text);
}

.sun-menu-control img {
  display: block;
  width: 13px;
  height: 13px;
  margin: auto;
  object-fit: contain;
  filter: var(--icon-filter);
}

.sun-menu-control[aria-pressed="true"] img { filter: var(--icon-filter); }

.sun-main-menu-list {
  display: grid;
  gap: 14px;
  padding-inline: 4px;
}

.sun-menu-link,
.sun-menu-group-button,
.sun-menu-group-items a {
  color: var(--text);
  font: inherit;
  text-decoration: none;
}

.sun-menu-link,
.sun-menu-group-button {
  display: grid;
  grid-template-columns: 62px minmax(0, 1fr);
  align-items: center;
  width: 100%;
  min-height: 58px;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  font-size: 19px;
  text-align: left;
  cursor: pointer;
}

.sun-menu-link.is-active {
  box-shadow: none;
}

.sun-menu-symbol {
  display: inline-grid;
  flex: 0 0 54px;
  width: 54px;
  height: 54px;
  min-width: 54px;
  min-height: 54px;
  aspect-ratio: 1;
  border-radius: 50%;
  place-items: center;
  background: var(--surface-deep);
  box-shadow: var(--figma-deep-shadow);
  color: var(--text);
  font-family: Arial, sans-serif;
  font-size: 28px;
  line-height: 1;
}

.sun-menu-symbol img {
  display: block;
  width: 32px;
  height: 32px;
  margin: auto;
  object-fit: contain;
  filter: var(--icon-filter);
}

.sun-menu-link.is-active .sun-menu-symbol img,
.sun-menu-group-items a.is-active .sun-menu-symbol img,
.sun-menu-group-items a[aria-current="page"] .sun-menu-symbol img {
  filter: var(--icon-filter);
}

.sun-menu-group {
  display: grid;
  gap: 10px;
  background: transparent;
}

.sun-menu-group-button {
  position: relative;
  grid-template-columns: 62px minmax(0, 1fr);
}

.sun-menu-group-button::before {
  position: absolute;
  inset: 0 0 0 62px;
  z-index: -1;
  border-radius: var(--corner-radius);
  background: var(--surface-deep);
  box-shadow: var(--figma-deep-shadow);
  content: "";
}

.sun-menu-group-button .sun-menu-text {
  display: flex;
  min-height: 54px;
  padding-inline: 18px;
  align-items: center;
  line-height: 1.1;
}

.sun-menu-group.is-open .sun-menu-group-button {
  box-shadow: none;
}

.sun-menu-group.is-open .sun-menu-group-button::before {
  box-shadow: var(--control-inset-shadow);
}

.sun-menu-group-items {
  display: none;
  gap: 10px;
  padding: 0 12px;
}

.sun-menu-group.is-open .sun-menu-group-items {
  display: grid;
}

.sun-menu-group-items a {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr);
  align-items: center;
  min-height: 46px;
  padding: 0;
  background: transparent;
  box-shadow: none;
  font-size: 17px;
}

.sun-menu-group-items .sun-menu-symbol {
  width: 46px;
  height: 46px;
  min-width: 46px;
  min-height: 46px;
  font-size: 24px;
}

.sun-menu-group-items .sun-menu-symbol img {
  width: 28px;
  height: 28px;
}

.sun-menu-link .sun-menu-text,
.sun-menu-group-items a .sun-menu-text {
  display: flex;
  min-height: 46px;
  padding: 7px 18px;
  align-items: center;
  border-radius: var(--corner-radius);
  background: var(--surface-deep);
  box-shadow: var(--figma-deep-shadow);
  line-height: 1.1;
}

.sun-menu-link.is-active .sun-menu-text {
  box-shadow: var(--control-inset-shadow);
}

.sun-menu-link.is-active .sun-menu-symbol,
.sun-menu-group-items a.is-active .sun-menu-symbol,
.sun-menu-group-items a[aria-current="page"] .sun-menu-symbol,
.sun-menu-group-items a.is-active .sun-menu-text,
.sun-menu-group-items a[aria-current="page"] .sun-menu-text {
  background: var(--accent);
  box-shadow: var(--control-inset-shadow);
  color: var(--accent-text);
}

.sun-main-menu.is-compact {
  width: 86px;
  padding: 14px 6px;
}

.sun-main-menu.is-compact .sun-main-menu-list {
  padding-inline: 0;
  gap: 18px;
}

.sun-main-menu.is-compact .sun-menu-controls {
  display: flex;
  justify-content: flex-start;
  gap: 5px;
  margin-bottom: 12px;
}

.sun-main-menu.is-compact .sun-menu-control {
  flex-basis: 22px;
  width: 22px;
  height: 22px;
  min-width: 22px;
  min-height: 22px;
  font-size: 14px;
}

.sun-main-menu.is-compact .sun-menu-control img {
  width: 13px;
  height: 13px;
}

.sun-main-menu.is-compact .sun-menu-link,
.sun-main-menu.is-compact .sun-menu-group-button,
.sun-main-menu.is-compact .sun-menu-group-items a {
  grid-template-columns: 54px;
  justify-content: center;
  min-height: 48px;
  padding-inline: 0;
  background: transparent;
  box-shadow: none;
}

.sun-main-menu.is-compact .sun-menu-symbol {
  width: 54px;
  height: 54px;
  min-width: 54px;
  min-height: 54px;
  font-size: 28px;
}

.sun-main-menu.is-compact .sun-menu-symbol img {
  width: 32px;
  height: 32px;
}

.sun-main-menu.is-compact .sun-menu-group-button::before {
  display: none;
}

.sun-main-menu.is-compact .sun-menu-link.is-active {
  box-shadow: none;
}

.sun-main-menu.is-compact .sun-menu-link.is-active .sun-menu-symbol,
.sun-main-menu.is-compact .sun-menu-group-items a.is-active .sun-menu-symbol,
.sun-main-menu.is-compact .sun-menu-group-items a[aria-current="page"] .sun-menu-symbol {
  background: var(--accent);
  box-shadow: var(--control-inset-shadow);
  color: var(--accent-text);
}

.sun-main-menu.is-compact .sun-menu-text {
  display: none;
}

.sun-main-menu.is-compact .sun-menu-group-items {
  padding-inline: 0;
}

body.sun-menu-pinned .index-shell {
  width: calc(100% - 360px);
  margin-left: 360px;
}

body.sun-menu-pinned.sun-menu-compact .index-shell {
  width: calc(100% - 86px);
  margin-left: 86px;
}

body.sun-global-menu-pinned .app-shell:not(.index-shell) {
  width: calc(100% - 86px);
  margin-left: 86px;
}

body.sun-global-menu-pinned .login-layout {
  width: calc(100% - 86px);
  margin-left: 86px;
}

.sun-global-menu .sun-main-menu-list {
  align-content: start;
}

body.sun-menu-pinned .sun-menu-backdrop {
  display: none;
}

body:is(.sun-menu-pinned, .sun-global-menu-pinned) .sun-main-menu {
  background: var(--background);
}

body.sun-global-menu-pinned:not(.sun-menu-compact) .app-shell:not(.index-shell),
body.sun-global-menu-pinned:not(.sun-menu-compact) .login-layout {
  width: calc(100% - 360px);
  margin-left: 360px;
}

.sun-menu-link:focus-visible,
.sun-menu-group-button:focus-visible,
.sun-menu-group-items a:focus-visible,
.sun-menu-control:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}

.sun-main-menu.is-compact .sun-menu-link:focus-visible,
.sun-main-menu.is-compact .sun-menu-group-button:focus-visible,
.sun-main-menu.is-compact .sun-menu-group-items a:focus-visible {
  outline: none;
}

.sun-menu-tooltip {
  position: fixed;
  z-index: 420;
  display: flex;
  min-height: 36px;
  max-width: min(240px, calc(100vw - 20px));
  padding: 7px 14px;
  align-items: center;
  border: 1px solid color-mix(in srgb, var(--text) 18%, transparent);
  border-radius: 18px;
  background: color-mix(in srgb, var(--surface-deep) 50%, transparent);
  box-shadow: 0 10px 28px color-mix(in srgb, var(--background) 30%, transparent);
  color: var(--text);
  font: 400 13px/1.3 "Oswald", sans-serif;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  -webkit-backdrop-filter: blur(14px) saturate(1.15);
  backdrop-filter: blur(14px) saturate(1.15);
  transition: opacity .14s ease, visibility .14s ease;
}

.sun-menu-tooltip.is-visible {
  opacity: 1;
  visibility: visible;
}

body.sun-menu-open {
  overflow: hidden;
}

@media (max-width: 520px) {
  .sun-main-menu {
    width: calc(100vw - 18px);
    padding: 20px 16px;
  }

  body.sun-menu-pinned .index-shell,
  body.sun-menu-pinned.sun-menu-compact .index-shell {
    width: calc(100% - 86px);
    margin-left: 86px;
  }

  body.sun-global-menu-pinned.sun-menu-compact .app-shell:not(.index-shell) {
    width: calc(100% - 86px);
    margin-left: 86px;
  }

  body.sun-global-menu-pinned.sun-menu-compact .login-layout {
    width: calc(100% - 86px);
    margin-left: 86px;
  }
}

@media (max-width: 1024px) {
  .index-shell { min-height: 0; }
  .index-layout,
  .index-content { min-height: 0; }
  .natal-wheel-stage { min-height: auto; }

  .natal-chart-datetime { font-size: 11px; }
  .natal-balance { width: 110px; gap: 5px; }
  .natal-balance-track.is-segmented,
  .natal-balance-segment { height: 5px; }

  body.natal-tools-open .index-shell { padding-right:14px!important; }
  .index-shell,
  .index-layout,
  .index-content { box-sizing:border-box; }
  .index-content { width:100%; }

  .natal-tools-drawer {
    position: relative;
    inset: auto;
    z-index: 1;
    display: none;
    width: auto;
    margin: 16px 22px 22px;
    padding: 14px;
    visibility: hidden;
    transform: none;
  }

  .natal-tools-drawer.is-open {
    display: grid;
    visibility: visible;
  }

  .natal-tools-scroll { overflow: visible; }

  body:is(.sun-menu-pinned, .sun-global-menu-pinned) .natal-tools-drawer { margin-left: 80px; }

  .sun-main-menu.is-compact {
    width: 58px;
    padding: 10px 4px;
  }

  .sun-main-menu.is-compact .sun-menu-controls {
    gap: 3px;
    margin-bottom: 9px;
  }

  .sun-main-menu.is-compact .sun-menu-control {
    flex-basis: 15px;
    width: 15px;
    height: 15px;
    min-width: 15px;
    min-height: 15px;
    font-size: 10px;
  }

  .sun-main-menu.is-compact .sun-menu-control img {
    width: 9px;
    height: 9px;
  }

  .sun-main-menu.is-compact .sun-main-menu-list {
    gap: 12px;
  }

  .sun-main-menu.is-compact .sun-menu-link,
  .sun-main-menu.is-compact .sun-menu-group-button,
  .sun-main-menu.is-compact .sun-menu-group-items a {
    grid-template-columns: 36px;
    min-height: 36px;
  }

  .sun-main-menu.is-compact .sun-menu-symbol {
    width: 36px;
    height: 36px;
    min-width: 36px;
    min-height: 36px;
    font-size: 19px;
  }

  .sun-main-menu.is-compact .sun-menu-symbol img {
    width: 22px;
    height: 22px;
  }

  body.sun-menu-pinned.sun-menu-compact .index-shell,
  body.sun-global-menu-pinned.sun-menu-compact .app-shell:not(.index-shell),
  body.sun-global-menu-pinned.sun-menu-compact .login-layout {
    width: calc(100% - 58px);
    margin-left: 58px;
  }

  body.sun-global-menu-pinned:not(.sun-menu-compact) .app-shell:not(.index-shell),
  body.sun-global-menu-pinned:not(.sun-menu-compact) .login-layout {
    width: 100%;
    margin-left: 0;
  }
}

@media (max-width: 600px) {
  .forecast-base-meta { display:none!important; }
  .natal-chart-datetime,
  .forecast-chart-datetime:not([hidden]) { display:block!important; }

  .natal-chart-datetime { top: 14px; left: 14px; font-size: 8px; }
  .natal-balance { top: 9px; right: 10px; width: 78px; gap: 3px; }
  .natal-balance-track.is-segmented,
  .natal-balance-segment { height: 4px; }
}

@media (max-width: 560px) {
  body.natal-tools-open .index-shell { padding-right:18px!important; }
}

/* На телефоне верхняя строка карты содержит только действия. Дата, время и
   город остаются внутри круглой карты; все кнопки идут одной строкой. */
@media (max-width: 600px) {
  body.is-forecast-page .topbar {
    min-height:44px!important;
    height:44px!important;
    align-items:center!important;
  }

  body.is-forecast-page .topbar-track.natal-title-track {
    display:flex!important;
    position:static!important;
    width:100%;
    height:44px!important;
    min-height:44px!important;
    max-height:44px!important;
    padding:2px 4px!important;
    gap:4px!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scrollbar-width:none;
  }

  body.is-forecast-page .topbar-track.natal-title-track::-webkit-scrollbar { display:none; }

  body.is-forecast-page .forecast-base-meta,
  body.is-forecast-page .forecast-secondary-meta,
  body.is-forecast-page .forecast-field,
  body.is-forecast-page .forecast-mobile-row-break { display:none!important; }

  body.is-forecast-page .forecast-controls:not([hidden]) { display:contents!important; }

  body.is-forecast-page .natal-title-track .natal-edit-button,
  body.is-forecast-page .natal-title-track .natal-tools-trigger,
  body.is-forecast-page .natal-title-track .forecast-settings-trigger,
  body.is-forecast-page .natal-title-track .forecast-calculate,
  body.is-forecast-page .natal-title-track .forecast-view-modes button {
    flex:0 0 40px!important;
    width:40px!important;
    min-width:40px!important;
    height:40px!important;
    min-height:40px!important;
  }

  body.is-forecast-page .natal-title-track .forecast-database-trigger {
    flex:0 0 34px!important;
    width:34px!important;
    min-width:34px!important;
    max-width:34px!important;
    height:34px!important;
    min-height:34px!important;
    max-height:34px!important;
  }

  body.is-forecast-page .natal-title-track .forecast-view-modes {
    display:flex!important;
    flex:0 0 auto!important;
    margin:0!important;
    gap:4px!important;
  }

  body.is-forecast-page .natal-title-track .forecast-view-modes[hidden],
  body.is-forecast-page .forecast-controls[hidden] { display:none!important; }

  body.is-forecast-page .natal-title-track .natal-reading-trigger { margin-left:auto!important; }
}

/* SUN-432: единая шапка двойных карт без наложений. */
.forecast-secondary-meta {
  display:flex;
  min-width:0;
  align-items:center;
  gap:2px;
}
.forecast-secondary-meta[hidden] { display:none!important; }
.forecast-secondary-meta time,
.forecast-secondary-meta span {
  display:flex;
  box-sizing:border-box;
  height:34px;
  min-width:0;
  padding:0 8px;
  align-items:center;
  color:var(--text);
  background:transparent;
  box-shadow:none;
  font:500 17px/1 "Oswald",sans-serif;
  white-space:nowrap;
}
.forecast-secondary-inline-datetime { display:none; }
.forecast-secondary-meta span {
  max-width:180px;
  overflow:hidden;
  text-overflow:ellipsis;
}

@media (min-width: 761px) {
  body.is-forecast-page .topbar-track.natal-title-track {
    display:flex!important;
    box-sizing:border-box;
    width:100%;
    height:56px!important;
    min-height:56px!important;
    max-height:56px!important;
    flex-wrap:nowrap!important;
    gap:6px;
    padding:0 10px;
    overflow:hidden;
  }
  body.is-forecast-page .natal-title-track > h1 { flex:0 0 auto; font-size:clamp(24px,2.2vw,38px); }
  body.is-forecast-page .forecast-base-meta,
  body.is-forecast-page .forecast-secondary-meta { flex:0 1 auto; overflow:hidden; }
  body.is-forecast-page .forecast-base-meta time,
  body.is-forecast-page .forecast-secondary-meta time { flex:0 1 auto; }
  body.is-forecast-page .forecast-base-meta span,
  body.is-forecast-page .forecast-secondary-meta span { flex:0 1 auto; max-width:110px; }
  body.is-forecast-page .forecast-controls { display:flex!important; flex:0 0 auto; margin-left:auto; }
  body.is-forecast-page .forecast-controls[hidden] { display:none!important; }
  body.is-forecast-page .forecast-field,
  body.is-forecast-page .forecast-mobile-row-break { display:none!important; }
  body.is-forecast-page .natal-edit-button,
  body.is-forecast-page .natal-tools-trigger,
  body.is-forecast-page .forecast-settings-trigger,
  body.is-forecast-page .forecast-calculate,
  body.is-forecast-page .forecast-view-modes button {
    flex:0 0 36px!important;
    width:36px!important;
    min-width:36px!important;
    height:36px!important;
    min-height:36px!important;
    margin:0!important;
  }
  body.is-forecast-page .forecast-secondary-edit-trigger:not([hidden]) { display:grid!important; }
  body.is-forecast-page .forecast-view-modes { display:flex; flex:0 0 auto; gap:4px; margin:0; }
  body.is-forecast-page .forecast-view-modes[hidden] { display:none!important; }
  body.is-forecast-page .natal-reading-trigger { margin-left:0!important; }
}

@media (max-width: 1180px) and (min-width: 761px) {
  body.is-forecast-page .natal-title-track > h1 { display:none; }
  body.is-forecast-page .forecast-base-meta span,
  body.is-forecast-page .forecast-secondary-meta span { max-width:72px; }
  body.is-forecast-page .forecast-base-meta time,
  body.is-forecast-page .forecast-base-meta span,
  body.is-forecast-page .forecast-secondary-meta time,
  body.is-forecast-page .forecast-secondary-meta span { padding-inline:4px; font-size:15px; }
}

@media (max-width: 760px) {
  body.is-forecast-page .topbar { min-height:136px!important; align-items:start!important; }
  body.is-forecast-page .topbar-track.natal-title-track {
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 36px minmax(0,1fr) 36px;
    grid-template-rows:40px 36px 36px;
    width:100%;
    height:136px!important;
    min-height:136px!important;
    max-height:136px!important;
    gap:4px;
    padding:6px 8px;
    overflow:hidden;
  }
  body.is-forecast-page .natal-title-track > h1 { display:none!important; }
  body.is-forecast-page .forecast-base-meta { grid-column:1; grid-row:1; display:flex!important; }
  body.is-forecast-page #natal-edit-trigger { grid-column:2; grid-row:1; }
  body.is-forecast-page .forecast-secondary-meta { grid-column:3; grid-row:1; display:flex!important; }
  body.is-forecast-page .forecast-secondary-edit-trigger { grid-column:4; grid-row:1; }
  body.is-forecast-page .forecast-base-meta time,
  body.is-forecast-page .forecast-secondary-meta time { flex:1 1 auto; padding:0 3px; font-size:clamp(10px,2.7vw,13px); overflow:hidden; }
  body.is-forecast-page .forecast-base-meta span,
  body.is-forecast-page .forecast-secondary-meta span { flex:0 1 34%; padding:0 3px; font-size:clamp(10px,2.7vw,13px); overflow:hidden; text-overflow:ellipsis; }
  body.is-forecast-page .forecast-controls {
    position:static!important;
    grid-column:1 / 5;
    grid-row:3;
    display:flex!important;
    height:36px;
    align-items:center;
    gap:4px;
  }
  body.is-forecast-page .forecast-controls[hidden] { display:none!important; }
  body.is-forecast-page .forecast-field,
  body.is-forecast-page .forecast-mobile-row-break { display:none!important; }
  body.is-forecast-page .natal-title-track .natal-edit-button,
  body.is-forecast-page .natal-title-track .natal-tools-trigger,
  body.is-forecast-page .forecast-settings-trigger,
  body.is-forecast-page .forecast-calculate,
  body.is-forecast-page .forecast-view-modes button {
    flex:0 0 40px!important;
    width:40px!important;
    min-width:40px!important;
    height:40px!important;
    min-height:40px!important;
    margin:0!important;
  }
  body.is-forecast-page .forecast-secondary-edit-trigger:not([hidden]) { display:grid!important; }
  body.is-forecast-page #natal-now-trigger { grid-column:1; grid-row:2; }
  body.is-forecast-page .natal-reading-trigger { grid-column:2; grid-row:2; margin-left:0!important; }
  body.is-forecast-page #natal-tools-trigger { grid-column:3; grid-row:2; }
  body.is-forecast-page .forecast-view-modes { display:flex; gap:4px; margin-left:auto; }
  body.is-forecast-page .forecast-view-modes[hidden] { display:none!important; }
}

/* Синастрия: пять самостоятельных методов находятся отдельной строкой. */
@media (min-width: 601px) {
  body.sun-index-natal-layout.is-synastry-page .natal-tools-drawer > .natal-title-track {
    height:184px!important;
    min-height:184px!important;
    max-height:184px!important;
    grid-template-columns:minmax(0,1fr) repeat(6,36px)!important;
    grid-template-rows:repeat(4,var(--sun-standard-control-height))!important;
  }
  body.sun-index-natal-layout.is-synastry-page .natal-title-track .forecast-view-modes button[data-synastry-view] {
    display:grid!important;
    grid-row:auto!important;
    grid-column:auto!important;
  }
  body.sun-index-natal-layout.is-synastry-page .natal-title-track .forecast-view-modes:not([hidden]) {
    display:flex!important;
    grid-column:1 / -1!important;
    grid-row:2!important;
    align-items:center;
    gap:4px!important;
    width:max-content!important;
    margin:0!important;
  }
  body.sun-index-natal-layout.is-synastry-page .natal-title-track > .forecast-base-meta { grid-row:3!important; }
  body.sun-index-natal-layout.is-synastry-page .natal-title-track > #natal-edit-trigger { grid-row:3!important; }
  body.sun-index-natal-layout.is-synastry-page .natal-title-track > .forecast-secondary-meta { grid-row:4!important; }
  body.sun-index-natal-layout.is-synastry-page .natal-title-track > .forecast-secondary-edit-trigger:not([hidden]) { grid-row:4!important; }
}

@media (max-width: 600px) {
  body.sun-index-natal-layout.is-synastry-page .natal-title-track .forecast-view-modes:not([hidden]) {
    display:grid!important;
    grid-template-columns:repeat(6,36px)!important;
    gap:4px!important;
    width:max-content!important;
    margin-top:4px!important;
    order:6!important;
  }
}

@media (max-width: 600px) {
  :root { --sun-header-edge-button-size:36px; --sun-round-button-size:36px; }
  #sun-menu-pin,
  #sun-global-pin { display:none!important; }
  .sun-menu-controls { display:none!important; }
  .index-shell .back-button,
  .index-shell .profile-button { width:36px; height:36px; }
  .index-shell .back-button img,
  .index-shell .profile-button img { width:20px; height:20px; }
}

body.sun-index-natal-layout #natal-tools-trigger,
#sun-menu-pin,
#sun-menu-close,
#sun-global-pin,
#sun-global-close {
  display: none!important;
}

.forecast-secondary-city-suggestions {
  z-index: 30;
}

#natal-time-play[hidden] {
  display: none !important;
}
body.is-progressions-page #natal-time-play {
  display: none !important;
}

@media (max-width: 1024px) {
  body.sun-index-natal-layout .natal-tools-drawer {
    order: 2;
    position: relative;
    inset: auto;
    width: 100%;
    margin: 4px 0 0;
    visibility: visible;
    transform: none;
  }
}

/* Финальный приоритет над компактными медиа-правилами общей панели. */
body.is-miscellaneous-page .profection-table-panel .profection-direction-field>.setting-picker>.setting-picker-trigger,
body.is-profections-table-page .profection-table-panel .profection-direction-field>.setting-picker>.setting-picker-trigger{
  box-sizing:border-box!important;
  height:40px!important;
  min-height:40px!important;
  max-height:40px!important;
}

@media (min-width: 601px) {
  html:has(body.sun-index-natal-layout),
  body.sun-index-natal-layout {
    height: 100%;
    overflow: hidden;
  }

  html:has(body.sun-index-natal-layout.is-miscellaneous-page),
  body.sun-index-natal-layout.is-miscellaneous-page,
  html:has(body.sun-index-natal-layout.is-directions-page),
  body.sun-index-natal-layout.is-directions-page {
    height: auto;
    min-height: 100%;
    overflow-x: hidden;
    overflow-y: auto;
    scrollbar-gutter: stable;
  }

  body.sun-index-natal-layout.is-miscellaneous-page .index-shell,
  body.sun-index-natal-layout.is-miscellaneous-page .index-content,
  body.sun-index-natal-layout.is-directions-page .index-shell,
  body.sun-index-natal-layout.is-directions-page .index-content {
    height: auto;
    min-height: 100dvh;
    overflow: visible;
  }

  body.sun-index-natal-layout .index-shell {
    box-sizing: border-box;
    height: 100dvh;
    min-height: 100dvh;
    overflow: hidden;
  }

  body.sun-index-natal-layout.sun-index-reading-open .index-shell {
    height: auto;
    min-height: 100dvh;
    overflow: visible;
  }

  body.sun-index-natal-layout.sun-index-reading-open .index-content {
    height: auto;
    min-height: 100dvh;
    overflow: visible;
  }

  html:has(body.sun-index-natal-layout.sun-index-reading-open),
  body.sun-index-natal-layout.sun-index-reading-open {
    height: auto;
    min-height: 100%;
    overflow-y: auto;
    overflow-x: hidden;
    scrollbar-gutter: stable;
  }

  #index-menu-button { display: none!important; }

  body.sun-index-natal-layout .natal-tools-drawer {
    top: 8px;
    bottom: 8px;
  }

  body.sun-index-natal-layout .sun-main-menu.is-compact .sun-menu-symbol,
  body.sun-index-natal-layout .sun-main-menu.is-compact .sun-menu-control {
    box-sizing:border-box;
    flex-basis:36px;
    width:36px;
    min-width:36px;
    max-width:36px;
    height:36px;
    min-height:36px;
    max-height:36px;
  }

  body.sun-index-natal-layout .sun-main-menu.is-compact {
    top:20px;
    bottom:8px;
    height:auto;
    padding-top:0;
  }

  body.sun-index-natal-layout .sun-main-menu.is-compact .sun-menu-controls {
    justify-content:flex-end;
  }

  body.sun-index-natal-layout .sun-main-menu.is-compact :is(
    .sun-menu-link,
    .sun-menu-group-button,
    .sun-menu-group-items a
  ) {
    justify-content:end;
  }

  .sun-main-menu.is-compact .sun-menu-controls {
    justify-content: center;
  }

  .sun-main-menu.is-compact #sun-menu-view,
  .sun-main-menu.is-compact #sun-global-view {
    flex-basis: 36px;
    width: 36px;
    min-width: 36px;
    max-width: 36px;
    height: 36px;
    min-height: 36px;
    max-height: 36px;
  }

  .sun-main-menu.is-compact #sun-menu-view img,
  .sun-main-menu.is-compact #sun-global-view img {
    width: 22px;
    height: 22px;
  }
}

/* На телефоне и планшете карта и инструменты образуют один непрерывный поток.
   Явные mobile-значения нужны Safari: базовая .app-shell использует 100dvh и
   иначе оставляет между картой и следующей панелью пустой экран. */
@media (max-width: 1024px) {
  html {
    min-height: 0;
    background: var(--background);
  }

  body {
    min-height: 0;
    background: var(--background);
  }

  body .app-shell.index-shell,
  body .index-layout,
  body .index-content {
    height: auto;
    min-height: 0 !important;
  }

  body .app-shell.index-shell,
  body .index-layout,
  body .index-content {
    padding-bottom: 0;
    background: var(--background);
  }

  body .index-content.natal-content {
    background: var(--background) !important;
  }

  body .natal-tools-drawer {
    box-sizing: border-box;
    width: 100%;
    margin: 4px 0 0;
    min-height: 100dvh;
    grid-template-rows: auto auto;
    align-content: start;
    border-radius: var(--corner-radius);
    background: var(--surface-deep);
    box-shadow: none;
  }

  body .natal-tools-header,
  body .natal-tools-scroll {
    background: transparent;
  }

  body .natal-tools-header {
    padding-inline: 10px;
    border-radius: var(--corner-radius) var(--corner-radius) 0 0;
  }

  body .natal-tools-scroll {
    padding-inline: 10px;
    border-radius: 0 0 var(--corner-radius) var(--corner-radius);
  }

  body:is(.sun-menu-pinned, .sun-global-menu-pinned) .natal-tools-drawer {
    width: calc(100% - 58px);
    margin-right: 0;
    margin-left: 58px;
  }

  body:is(.sun-menu-pinned, .sun-global-menu-pinned) .index-layout {
    box-sizing: border-box;
    width: calc(100% - 58px);
    margin-left: 58px;
  }

  .sun-main-menu {
    position: fixed !important;
    top: 0;
    bottom: 0;
    height: 100dvh;
    max-height: 100dvh;
    border-radius: 0;
    background: var(--background);
    padding-block: 10px;
    overflow-y: auto;
    overscroll-behavior-y: contain;
    -webkit-overflow-scrolling: touch;
    will-change: transform;
  }

  .sun-menu-controls {
    margin-bottom: 8px;
  }

  .sun-main-menu-list,
  .sun-menu-group,
  .sun-menu-group-items {
    gap: 6px;
  }

  .sun-menu-link,
  .sun-menu-group-button {
    min-height: 42px;
    grid-template-columns: 44px minmax(0, 1fr);
    font-size: 16px;
  }

  .sun-menu-symbol {
    width: 40px;
    height: 40px;
    min-width: 40px;
    min-height: 40px;
    font-size: 22px;
  }

  .sun-menu-symbol img {
    width: 24px;
    height: 24px;
  }

  .sun-menu-link .sun-menu-text,
  .sun-menu-group-button .sun-menu-text,
  .sun-menu-group-items a .sun-menu-text {
    min-height: 40px;
    padding-block: 4px;
  }

  .sun-menu-group-button::before {
    left: 44px;
  }

  .sun-menu-group-items a {
    min-height: 36px;
    grid-template-columns: 40px minmax(0, 1fr);
    font-size: 15px;
  }

  .sun-menu-group-items .sun-menu-symbol {
    width: 34px;
    height: 34px;
    min-width: 34px;
    min-height: 34px;
    font-size: 19px;
  }

  .sun-menu-group-items .sun-menu-symbol img {
    width: 20px;
    height: 20px;
  }
}

/* SUN-270: единая верхняя строка карты на ПК, планшетах и телефонах. */
@media (min-width: 761px) {
  .natal-title-track {
    min-height: 56px;
    height: 56px;
    flex-wrap: nowrap!important;
  }

  .natal-title-track h1 { font-size:clamp(28px,3vw,44px); }
  .forecast-base-meta { flex:0 1 auto; }
  .natal-reading-trigger { margin-left:auto!important; }
  .natal-title-track .natal-reading-trigger { margin-left:auto!important; }

  .index-shell .back-button,
  .index-shell .profile-button {
    width:56px;
    height:56px;
  }

  .index-shell .back-button img,
  .index-shell .profile-button img {
    width:27px;
    height:27px;
  }
}

@media (max-width: 1024px) {
  html,
  body,
  body .app-shell.index-shell,
  body .index-layout,
  body .index-content,
  body .index-content.natal-content {
    background:var(--surface)!important;
  }

}

@media (max-width: 600px) {
  /* На смартфоне название техники не дублирует саму карту. */
  .natal-title-track > h1 { display:none!important; }

  .natal-wheel-stage { box-sizing:border-box; width:100%; max-width:100%; overflow:hidden; }
  .natal-wheel-stage .wheel-root,
  body.is-direction-aspect-table .natal-wheel-stage .wheel-root {
    box-sizing:border-box;
    width:calc(100% - 8px)!important;
    max-width:calc(100% - 8px)!important;
    margin-inline:auto;
  }

  .index-shell .topbar {
    min-height:44px!important;
    align-items:center!important;
    margin-bottom:12px;
  }

  body:not(.is-forecast-page) .natal-title-track,
  body.is-forecast-page .natal-title-track {
    display:flex;
    height:44px;
    min-height:44px;
    max-height:44px;
    flex-wrap:nowrap;
    gap:4px;
    padding:0 8px;
    overflow:hidden;
  }

  .natal-title-track h1 {
    flex:0 0 auto;
    max-width:58px;
    font-size:clamp(18px,4.7vw,25px);
  }

  .forecast-base-meta {
    display:flex!important;
    flex:0 1 126px;
    gap:2px;
    overflow:hidden;
  }

  .forecast-base-meta time,
  .forecast-base-meta span {
    height:28px;
    padding:0 3px;
    border-radius:14px;
    font-family:"Oswald",sans-serif;
    font-size:clamp(8px,2.15vw,10px);
    font-weight:500;
    line-height:1;
    overflow:hidden;
    text-overflow:ellipsis;
  }

  .forecast-base-meta time { width:auto; flex:0 1 88px; }
  .forecast-base-meta span { width:auto; flex:0 1 36px; }

  .natal-title-track .natal-edit-button,
  .natal-title-track .natal-tools-trigger {
    box-sizing:border-box;
    flex:0 0 36px!important;
    width:36px!important;
    min-width:36px!important;
    height:36px!important;
    min-height:36px!important;
    margin:0!important;
    padding:0;
  }

  .natal-title-track .natal-edit-button img,
  .natal-title-track .natal-tools-trigger img {
    width:20px;
    height:20px;
  }

  .natal-reading-trigger { margin-left:auto!important; }

  body:not(.is-forecast-page) .natal-title-track h1,
  body:not(.is-forecast-page) .natal-title-track .forecast-base-meta,
  body:not(.is-forecast-page) .natal-title-track #natal-edit-trigger,
  body:not(.is-forecast-page) .natal-title-track #natal-now-trigger,
  body:not(.is-forecast-page) .natal-title-track .natal-reading-trigger,
  body:not(.is-forecast-page) .natal-title-track #natal-tools-trigger {
    order:initial;
  }

  body.is-forecast-page .natal-title-track h1,
  body.is-forecast-page .natal-title-track .forecast-base-meta,
  body.is-forecast-page .natal-title-track #natal-edit-trigger,
  body.is-forecast-page .natal-title-track .forecast-secondary-edit-trigger,
  body.is-forecast-page .natal-title-track #natal-now-trigger,
  body.is-forecast-page .natal-title-track .natal-reading-trigger,
  body.is-forecast-page .natal-title-track #natal-tools-trigger {
    position:static;
    grid-column:auto;
    grid-row:auto;
    order:initial;
  }

  body.is-forecast-page .topbar {
    min-height:88px!important;
    align-items:start!important;
  }

  body.is-forecast-page .natal-title-track {
    position:relative;
    height:88px;
    min-height:88px;
    max-height:88px;
    padding-bottom:44px;
    overflow:visible;
  }

  body.is-forecast-page .forecast-controls {
    position:absolute;
    left:8px;
    right:8px;
    bottom:6px;
    z-index:2;
    display:flex!important;
    height:36px;
    align-items:center;
    gap:6px;
  }

  body.is-forecast-page .forecast-controls[hidden] { display:none!important; }
  body.is-forecast-page .forecast-view-modes[hidden] { display:none!important; }
  body.is-forecast-page .forecast-field,
  body.is-forecast-page .forecast-mobile-row-break { display:none!important; }
  body.is-forecast-page .forecast-settings-trigger { margin-left:0; }
  body.is-forecast-page .forecast-view-modes { margin-left:auto; }

  .forecast-base-meta { display:none!important; }
  .natal-chart-datetime,
  .forecast-chart-datetime:not([hidden]) { display:block!important; }
  .natal-title-track .natal-reading-trigger { margin-left:auto!important; }
}

@media (max-width: 560px) {
  body.natal-tools-open .index-shell { padding-right:18px!important; }
}

/* Итоговая мобильная геометрия прогнозных страниц: без даты и города в
   шапке, только одна непрерывная строка управляющих кнопок. */
@media (max-width: 600px) {
  body.is-forecast-page .topbar {
    min-height:44px!important;
    height:44px!important;
    align-items:center!important;
  }
  body.is-forecast-page .topbar-track.natal-title-track {
    display:flex!important;
    position:static!important;
    width:100%;
    height:44px!important;
    min-height:44px!important;
    max-height:44px!important;
    padding:2px 4px!important;
    gap:4px!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scrollbar-width:none;
  }
  body.is-forecast-page .topbar-track.natal-title-track::-webkit-scrollbar { display:none; }
  body.is-forecast-page .forecast-base-meta,
  body.is-forecast-page .forecast-secondary-meta,
  body.is-forecast-page .forecast-field,
  body.is-forecast-page .forecast-mobile-row-break { display:none!important; }
  body.is-forecast-page .forecast-controls:not([hidden]) { display:contents!important; }
  body.is-forecast-page .natal-title-track .natal-edit-button,
  body.is-forecast-page .natal-title-track .natal-tools-trigger,
  body.is-forecast-page .natal-title-track .forecast-settings-trigger,
  body.is-forecast-page .natal-title-track .forecast-calculate,
  body.is-forecast-page .natal-title-track .forecast-view-modes button {
    flex:0 0 40px!important;
    width:40px!important;
    min-width:40px!important;
    height:40px!important;
    min-height:40px!important;
  }
  body.is-forecast-page .natal-title-track .forecast-view-modes {
    display:flex!important;
    flex:0 0 auto!important;
    margin:0!important;
    gap:4px!important;
  }
  body.is-forecast-page .natal-title-track .forecast-view-modes[hidden],
  body.is-forecast-page .forecast-controls[hidden] { display:none!important; }
  body.is-forecast-page .natal-title-track .natal-edit-button { order:1!important; }
  body.is-forecast-page .natal-title-track .natal-now-icon-button { order:2!important; }
  body.is-forecast-page .natal-title-track .forecast-database-trigger { order:3!important; }
  body.is-forecast-page .natal-title-track .forecast-calculate { order:4!important; }
  body.is-forecast-page .natal-title-track .forecast-settings-trigger { order:5!important; }
  body.is-forecast-page .natal-title-track .forecast-view-modes { order:6!important; }
  body.is-forecast-page .natal-title-track .natal-career-trigger { order:97!important; }
  body.is-forecast-page .natal-title-track .natal-partnership-trigger { order:97!important; }
  body.is-forecast-page .natal-title-track .natal-reading-trigger { order:98!important; margin-left:auto!important; }
body.is-forecast-page .natal-title-track #natal-tools-trigger { order:99!important; }
}

/* SUN-565: единая шапка всех страниц с картами. */
@media (min-width: 601px) {
  .natal-title-track > h1,
  body.is-forecast-page .natal-title-track > h1,
  .forecast-base-meta time,
  .forecast-base-meta span,
  .forecast-secondary-meta time,
  .forecast-secondary-meta span {
    font-size: 17px!important;
  }

  .natal-title-track > h1,
  body.is-forecast-page .natal-title-track > h1 { font-weight:500; }
  .natal-title-track .forecast-controls { order:50; }
  .natal-title-track .natal-career-trigger { order:97!important; }
  .natal-title-track .natal-reading-trigger { order:98!important; margin-left:auto!important; }
  .natal-title-track #natal-tools-trigger { order:99!important; }
}

@media (max-width: 600px) {
  body.sun-menu-pinned .index-shell,
  body.sun-menu-pinned.sun-menu-compact .index-shell,
  body.sun-global-menu-pinned .app-shell:not(.index-shell),
  body.sun-global-menu-pinned .login-layout,
  body:is(.sun-menu-pinned, .sun-global-menu-pinned) .index-layout,
  body:is(.sun-menu-pinned, .sun-global-menu-pinned) .natal-tools-drawer {
    box-sizing:border-box!important;
    width:100%!important;
    margin-left:0!important;
  }

  .natal-content,
  body .index-content.natal-content { width:100%!important; padding-inline:0!important; }
  .natal-wheel-stage,
  .natal-wheel-stage .wheel-root,
  body.is-direction-aspect-table .natal-wheel-stage .wheel-root {
    width:100%!important;
    max-width:100%!important;
    margin-inline:0!important;
  }

  body.is-return-page .topbar { height:84px!important; min-height:84px!important; align-items:start!important; }
  body.is-return-page .topbar-track.natal-title-track {
    display:grid!important;
    grid-template-columns:repeat(5,36px) minmax(0,1fr) 36px 36px;
    grid-template-rows:36px 36px;
    height:84px!important;
    min-height:84px!important;
    max-height:84px!important;
    gap:4px!important;
    padding:4px!important;
    overflow:hidden!important;
  }
  body.is-return-page .natal-title-track #natal-edit-trigger { grid-column:1; grid-row:1; }
  body.is-return-page .natal-title-track .forecast-secondary-edit-trigger { grid-column:2; grid-row:1; }
  body.is-return-page .natal-title-track .natal-now-icon-button { grid-column:3; grid-row:1; }
  body.is-return-page .natal-title-track .forecast-calculate { grid-column:1; grid-row:2; }
  body.is-return-page .natal-title-track .forecast-settings-trigger { grid-column:2; grid-row:2; }
  body.is-return-page .natal-title-track .forecast-view-modes { grid-column:3 / 6; grid-row:2; }
  body.is-return-page .natal-title-track .natal-reading-trigger { grid-column:7; grid-row:1; margin-left:0!important; }
  body.is-return-page .natal-title-track #natal-tools-trigger { grid-column:8; grid-row:1; }

}

@media (min-width: 1025px) {
  body.is-direction-aspect-table .index-content.natal-content { position:relative; }
  body.is-direction-aspect-table .natal-wheel-stage {
    box-sizing:border-box;
    grid-template-columns:minmax(0,46fr) minmax(0,54fr);
    column-gap:12px;
    padding-left:8px!important;
    align-items:start!important;
    justify-items:center!important;
  }
  body.is-direction-aspect-table .natal-wheel-stage .wheel-root {
    grid-column:2;
    width:min(calc(90vh * var(--wheel-user-zoom-scale, 1)),var(--wheel-user-zoom,100%))!important;
    max-width:100%!important;
    min-width:0;
  }
  body.is-direction-aspect-table .index-content > .natal-reading-aspect-table {
    left:8px!important;
    top:var(--direction-matrix-top,0px)!important;
    width:var(--direction-half-size,50%)!important;
    max-width:var(--direction-half-size,50%)!important;
    height:var(--direction-wheel-size,auto)!important;
    max-height:var(--direction-wheel-size,none)!important;
    display:grid;
    place-items:center;
    overflow:hidden;
    align-content:center;
  }
  body.is-direction-aspect-table .index-content > .natal-reading-aspect-table .natal-aspect-table-wrap {
    width:100%;
    height:100%;
    display:grid;
    place-items:center;
    overflow-x:auto;
    overflow-y:hidden;
    background:transparent;
  }
  body.is-direction-aspect-table .natal-aspect-matrix,
  body.is-direction-aspect-table .natal-matrix-cell.is-label,
  body.is-direction-aspect-table .natal-matrix-cell.is-row-label {
    background:transparent!important;
  }
  body.is-direction-aspect-table .natal-aspect-matrix {
    --matrix-gap:1px;
    background-image:none!important;
  }
  body.is-direction-aspect-table .natal-matrix-cell {
    position:relative;
  }
  body.is-direction-aspect-table .natal-matrix-cell:not(.is-label) {
    background:transparent!important;
    box-shadow:none!important;
  }
  body.is-direction-aspect-table .natal-matrix-cell:not(.is-label)::after {
    content:"";
    position:absolute;
    inset:0 calc(-1 * var(--matrix-gap)) calc(-1 * var(--matrix-gap)) 0;
    border-right:1px dashed color-mix(in srgb,var(--text) 18%,transparent);
    border-bottom:1px dashed color-mix(in srgb,var(--text) 18%,transparent);
    border-radius:0;
    pointer-events:none;
  }
  body.is-direction-aspect-table .natal-matrix-cell.is-column-label:not(.is-corner-label) {
    border-bottom:1px dashed color-mix(in srgb,var(--text) 18%,transparent);
  }
  body.is-direction-aspect-table .natal-matrix-cell.is-row-label:not(.is-corner-label) {
    border-right:1px dashed color-mix(in srgb,var(--text) 18%,transparent);
  }
  body.is-direction-aspect-table .natal-matrix-cell.is-last-column::after {
    border-right:1px dashed color-mix(in srgb,var(--text) 18%,transparent);
  }
  body.is-direction-aspect-table .natal-matrix-cell.is-last-row::after {
    border-bottom:1px dashed color-mix(in srgb,var(--text) 18%,transparent);
  }
  body.is-direction-aspect-table .natal-matrix-cell.is-corner-label {
    border:0!important;
  }
}

@media (max-width: 600px) {
  body.is-direction-aspect-table .index-content > .natal-reading-aspect-table,
  body.is-direction-aspect-table .index-content > .natal-reading-aspect-table .natal-aspect-table-wrap {
    overflow-x:auto!important;
    overflow-y:hidden!important;
  }
  #natal-aspect-table-tabs.natal-table-tabs:not([hidden]) {
    display:flex!important;
    width:100%;
    margin:0 0 8px;
    flex-direction:row!important;
    flex-wrap:nowrap;
    align-items:center;
    justify-content:center;
    gap:4px;
  }
  #natal-aspect-table-tabs.natal-table-tabs button {
    flex:1 1 0;
    width:auto;
    min-width:0;
    margin:0;
    white-space:nowrap;
  }
  .natal-aspect-table-wrap {
    width:100%;
    margin-inline:auto;
    overflow:auto!important;
  }
  .natal-aspect-matrix {
    margin-inline:auto!important;
  }
}

/* SUN-571: правая панель является постоянной частью каждой страницы карты.
   В альбомной ориентации она закреплена справа, в портретной идёт сразу после
   карты. Кнопка открытия больше не участвует в геометрии. */
body.sun-index-natal-layout .natal-tools-drawer {
  display: grid!important;
  visibility: visible!important;
  pointer-events: auto!important;
  transform: none!important;
}

body.sun-index-natal-layout.is-miscellaneous-page .natal-tools-drawer{display:none!important}

@media (min-width:1025px) {
  body.sun-index-natal-layout .index-content {
    box-sizing:border-box;
    min-width:0;
    margin-right:calc(var(--natal-tools-panel-width) + var(--natal-tools-panel-gap));
  }

  body.sun-index-natal-layout .profection-table-panel,
  body.sun-index-natal-layout .time-lord-panel,
  body.sun-index-natal-layout .misc-method-switcher {
    max-width:100%;
    min-width:0;
  }

  body.sun-index-natal-layout .profection-table-wrap,
  body.sun-index-natal-layout .time-lord-table-wrap {
    max-width:100%;
    overflow-x:auto;
  }

  body.sun-index-natal-layout.is-miscellaneous-page .index-content{margin-right:0}
}

body.sun-index-natal-layout #natal-tools-trigger {
  display: none!important;
}

body.sun-index-natal-layout .forecast-calculate[hidden] {
  display: none!important;
}

@media (min-width: 601px) {
  body.sun-index-natal-layout.is-progressions-page .forecast-controls > .forecast-settings-trigger:not([hidden]) {
    grid-column: 2;
  }
}

/* Все таблицы аспектов используют эталонную геометрию index. */
body.sun-index-natal-layout .natal-aspect-table-wrap {
  --matrix-cell-size: 30px;
  --matrix-font-size: 19px;
  --matrix-axis-font-size: 24px;
}

body.sun-index-natal-layout .natal-matrix-cell,
body.sun-index-natal-layout.is-direction-aspect-table .natal-matrix-cell {
  font-size: var(--matrix-font-size, 15px)!important;
}

body.sun-index-natal-layout .natal-matrix-cell.is-label,
body.sun-index-natal-layout .natal-matrix-cell.is-cusp-label {
  font-size: var(--matrix-axis-font-size, 20px)!important;
}

/* Только Дирекции: расширенная панель чуть шире и ближе к правому краю.
   Дополнительные 40px панели сдвигают центр рабочей области карты на 20px
   влево без отдельной трансформации и без изменения масштаба круга. */
@media (min-width:1025px) {
  body.sun-index-natal-layout.is-directions-page.directions-panel-expanded {
    --natal-tools-panel-width: min(600px, 44vw);
  }

  body.sun-index-natal-layout.is-directions-page.directions-panel-expanded .natal-tools-drawer {
    right:2px;
  }

  body.sun-index-natal-layout.is-directions-page.directions-panel-expanded .natal-aspect-table-wrap {
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scrollbar-gutter:stable;
  }

  body.sun-index-natal-layout.is-directions-page.directions-panel-expanded .natal-aspect-matrix {
    width:max-content;
    min-width:100%;
    margin-left:0;
  }
}

@media (max-width:1024px) {
  body.sun-index-natal-layout .directions-panel-width-trigger { display:none!important; }
}


@media (max-width: 1024px) and (orientation: landscape) {
  :root { --natal-tools-panel-width: min(300px, 38vw); }

  html:has(body.sun-index-natal-layout),
  body.sun-index-natal-layout {
    height: 100%;
    overflow: hidden;
  }

  body.sun-index-natal-layout .index-shell {
    box-sizing: border-box;
    width: calc(100% - var(--natal-tools-panel-width) - 8px)!important;
    height: 100dvh;
    min-height: 100dvh!important;
    margin-right: calc(var(--natal-tools-panel-width) + 8px);
    overflow: hidden;
  }

  body.sun-index-natal-layout:is(.sun-menu-pinned, .sun-global-menu-pinned) .index-shell {
    width: calc(100% - var(--natal-tools-panel-width) - 66px)!important;
  }

  body.sun-index-natal-layout .natal-tools-drawer {
    position: fixed!important;
    top: 8px!important;
    right: 8px!important;
    bottom: 8px!important;
    left: auto!important;
    width: var(--natal-tools-panel-width)!important;
    height: auto!important;
    min-height: 0!important;
    margin: 0!important;
    grid-template-rows: auto minmax(0, 1fr)!important;
    overflow: hidden;
  }

  body.sun-index-natal-layout .natal-tools-scroll {
    min-height: 0;
    overflow-y: auto;
  }
}

@media (max-width: 1024px) and (orientation: portrait) {
  html:has(body.sun-index-natal-layout),
  body.sun-index-natal-layout {
    height: auto;
    min-height: 100%;
    overflow-x: hidden;
    overflow-y: auto;
  }

  body.sun-index-natal-layout .index-shell {
    width: 100%!important;
    height: auto!important;
    min-height: 0!important;
    margin: 0!important;
    overflow: visible!important;
  }

  body.sun-index-natal-layout .natal-tools-drawer {
    position: relative!important;
    inset: auto!important;
    order: 2;
    width: 100%!important;
    height: auto!important;
    min-height: 0!important;
    margin: 4px 0 0!important;
    grid-template-rows: auto auto!important;
    overflow: visible;
  }

  body.sun-index-natal-layout .natal-tools-scroll {
    overflow: visible;
  }
}

/* Финальная общая геометрия заголовка карты: внутренние тени текста остаются
   внутри полей, а внешние тени полей и кнопок имеют безопасный край. */
@media (max-width: 1024px) {
  body.sun-index-natal-layout:not(.is-forecast-page) .natal-tools-drawer > .natal-title-track,
  body.sun-index-natal-layout.is-synastry-page .natal-tools-drawer > .natal-title-track,
  body.sun-index-natal-layout.is-forecast-page:not(.is-synastry-page) .natal-tools-drawer > .natal-title-track {
    width: calc(100% - 28px)!important;
    margin-right: 14px!important;
    margin-left: 14px!important;
    overflow: visible!important;
  }
}

@media (max-width: 760px) {
  body.sun-index-natal-layout.is-profections-table-page .forecast-controls > .forecast-field.is-datetime {
    display:none!important;
    flex:1 1 auto;
    width:auto;
    min-width:0;
    order:0;
  }

  body.sun-index-natal-layout.is-profections-table-page .forecast-field.is-datetime input {
    width:100%;
    height:36px;
  }
}

/* Профиль в правой панели является вырезом, а не отдельной объёмной кнопкой. */
body.sun-index-natal-layout .natal-tools-drawer > .natal-title-track > #profile-drawer-trigger {
  background: var(--cut-control-fill);
  box-shadow: var(--control-inset-shadow);
}
.natal-formula-section{display:grid;gap:18px}.natal-formula-note,.natal-formula-loading{margin:0;padding:13px 16px;border-radius:var(--corner-radius);background:var(--raised-control-fill);box-shadow:var(--control-cut-shadow);font:500 14px/1.45 system-ui,sans-serif}.natal-formula-source>h3{margin:0 0 12px;font:600 20px/1.2 "Oswald",sans-serif}.natal-formula-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.natal-formula-card{min-width:0;border:0;border-radius:var(--corner-radius);background:var(--raised-control-fill);box-shadow:var(--control-raised-shadow);overflow:hidden}.natal-formula-card summary{display:grid;min-height:64px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 11px 9px 16px;cursor:pointer;list-style:none;font:600 15px/1.25 "Oswald",sans-serif}.natal-formula-card summary::-webkit-details-marker{display:none}.natal-formula-card summary strong{display:grid;min-width:64px;height:46px;padding:0 10px;place-items:center;border-radius:999px;background:color-mix(in srgb,var(--accent) 24%,var(--raised-control-fill));font:650 18px/1 "Oswald",sans-serif}.natal-formula-body{padding:0 16px 16px}.natal-formula-body p{margin:0 0 9px;font:400 14px/1.45 system-ui,sans-serif}.natal-formula-status{padding:.55rem .72rem;border-radius:14px;background:rgba(126,111,115,.08)}.natal-formula-status.is-confirmed{background:var(--sun-capsule-active-bg);color:var(--sun-text)}.natal-formula-evidence{display:flex;flex-wrap:wrap;gap:6px}.natal-formula-evidence span{padding:5px 8px;border-radius:999px;background:var(--surface);font:600 12px/1 "Oswald",sans-serif}.natal-formula-evidence .is-miss{color:var(--text-soft)}
@media(max-width:1180px){.natal-formula-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:980px){.natal-formula-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.natal-formula-grid{grid-template-columns:1fr}}

/* SUN-816: общая компактная шапка карт и безопасная геометрия нижних
   модулей. Desktop остаётся на прежнем фиксированном расположении. */
@media (max-width:1024px) {
  body.sun-index-natal-layout {
    --sun-chart-side-gutter: clamp(10px, 2.4vw, 16px);
    overflow-x:hidden!important;
  }

  body.sun-index-natal-layout.sun-compact-chart-header .topbar {
    position:relative;
    z-index:30;
    display:flex!important;
    box-sizing:border-box;
    width:calc(100% - (2 * var(--sun-chart-side-gutter)));
    min-width:0;
    min-height:44px;
    height:44px;
    margin:8px var(--sun-chart-side-gutter) 0;
    padding:2px 0;
    align-items:center;
    gap:4px;
    overflow:visible;
    background:transparent;
    box-shadow:none;
  }

  body.sun-index-natal-layout.sun-compact-chart-header #index-menu-button {
    position:static!important;
    inset:auto!important;
    z-index:auto!important;
    flex:0 0 36px;
    width:36px;
    min-width:36px;
    height:36px;
    min-height:36px;
    margin:0!important;
  }

  body.sun-index-natal-layout.sun-compact-chart-header .topbar > .natal-title-track {
    position:static!important;
    display:flex!important;
    box-sizing:border-box;
    flex:1 1 auto;
    width:auto!important;
    min-width:0;
    height:40px!important;
    min-height:40px!important;
    max-height:40px!important;
    margin:0!important;
    padding:2px!important;
    align-items:center;
    gap:4px!important;
    overflow:hidden!important;
    border-radius:var(--corner-radius);
    background:var(--cut-control-fill);
    box-shadow:var(--control-inset-shadow);
  }

  body.sun-index-natal-layout.sun-compact-chart-header .natal-title-track > .forecast-controls {
    position:static!important;
    inset:auto!important;
    min-width:0;
    margin:0!important;
  }

  body.sun-index-natal-layout.sun-compact-chart-header .natal-reading-navigation,
  body.sun-index-natal-layout.sun-compact-chart-header .natal-reading-panel {
    position:relative!important;
    inset:auto!important;
    z-index:auto!important;
    min-width:0;
  }

  body.sun-index-natal-layout.sun-compact-chart-header.is-forecast-page:not(.is-synastry-page) .topbar {
    height:auto!important;
    min-height:44px!important;
    align-items:flex-start!important;
  }

  body.sun-index-natal-layout.sun-compact-chart-header.is-forecast-page:not(.is-synastry-page) .topbar > .natal-title-track {
    height:auto!important;
    min-height:40px!important;
    max-height:none!important;
    flex-wrap:wrap!important;
    overflow:visible!important;
  }

  body.sun-index-natal-layout.sun-compact-chart-header.is-forecast-page:not(.is-synastry-page) .natal-title-track > .forecast-controls:not([hidden]) {
    display:contents!important;
  }

  body.sun-index-natal-layout.sun-compact-chart-header.is-synastry-page .topbar {
    height:184px!important;
    min-height:184px!important;
    align-items:flex-start!important;
  }

  body.sun-index-natal-layout.sun-compact-chart-header.is-synastry-page .topbar > .natal-title-track {
    display:grid!important;
    grid-template-columns:minmax(0,1fr) repeat(6,36px)!important;
    grid-template-rows:40px 36px 40px 40px!important;
    height:176px!important;
    min-height:176px!important;
    max-height:176px!important;
    gap:4px!important;
    padding:4px!important;
    overflow:hidden!important;
  }

  body.sun-index-natal-layout.sun-compact-chart-header.is-synastry-page .natal-title-track > h1 {
    grid-column:1 / 4!important;
    grid-row:1!important;
    max-width:none;
  }

  body.sun-index-natal-layout.sun-compact-chart-header.is-synastry-page .natal-title-track > .forecast-controls {
    display:contents!important;
  }

  body.sun-index-natal-layout.sun-compact-chart-header.is-synastry-page .forecast-calculate {
    grid-column:4!important;
    grid-row:1!important;
  }
  body.sun-index-natal-layout.sun-compact-chart-header.is-synastry-page .natal-partnership-trigger {
    grid-column:5!important;
    grid-row:1!important;
  }
  body.sun-index-natal-layout.sun-compact-chart-header.is-synastry-page .natal-reading-trigger {
    grid-column:6!important;
    grid-row:1!important;
  }
  body.sun-index-natal-layout.sun-compact-chart-header.is-synastry-page #profile-drawer-trigger {
    grid-column:7!important;
    grid-row:1!important;
  }

  body.sun-index-natal-layout.sun-compact-chart-header.is-synastry-page .natal-title-track .forecast-view-modes:not([hidden]) {
    display:flex!important;
    grid-column:1 / -1!important;
    grid-row:2!important;
    width:max-content!important;
    margin:0!important;
    gap:4px!important;
  }

  body.sun-index-natal-layout.sun-compact-chart-header.is-synastry-page .forecast-base-meta,
  body.sun-index-natal-layout.sun-compact-chart-header.is-synastry-page .forecast-secondary-meta {
    display:flex!important;
    box-sizing:border-box;
    width:100%;
    min-width:0;
    height:40px;
    padding-inline:6px;
    overflow:hidden;
    border-radius:var(--corner-radius);
    background:var(--cut-control-fill);
    box-shadow:var(--control-inset-shadow);
  }
  body.sun-index-natal-layout.sun-compact-chart-header.is-synastry-page .forecast-base-meta {
    grid-column:1 / 7!important;
    grid-row:3!important;
  }
  body.sun-index-natal-layout.sun-compact-chart-header.is-synastry-page #natal-edit-trigger {
    grid-column:7!important;
    grid-row:3!important;
  }
  body.sun-index-natal-layout.sun-compact-chart-header.is-synastry-page .forecast-secondary-meta {
    grid-column:1 / 7!important;
    grid-row:4!important;
  }
  body.sun-index-natal-layout.sun-compact-chart-header.is-synastry-page .forecast-secondary-edit-trigger:not([hidden]) {
    display:grid!important;
    grid-column:7!important;
    grid-row:4!important;
  }

  body.sun-index-natal-layout.sun-compact-chart-header .natal-title-track > h1 {
    position:static!important;
    display:flex!important;
    order:-20!important;
    flex:1 1 auto;
    min-width:38px;
    max-width:150px;
    height:36px!important;
    margin:0 2px 0 8px!important;
    align-items:center;
    overflow:hidden!important;
    font-size:17px!important;
    line-height:1!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
    transform:none!important;
  }

  body.sun-index-natal-layout.sun-compact-chart-header .natal-title-track > :is(
    #natal-edit-trigger,
    .forecast-secondary-edit-trigger,
    #natal-now-trigger,
    .natal-career-trigger,
    .natal-partnership-trigger,
    .natal-reading-trigger,
    .direction-aspects-trigger,
    #profile-drawer-trigger,
    .forecast-calculate,
    .forecast-settings-trigger,
    .directions-panel-width-trigger
  ),
  body.sun-index-natal-layout.sun-compact-chart-header .natal-title-track .forecast-view-modes button {
    position:static!important;
    box-sizing:border-box;
    flex:0 0 32px!important;
    width:32px!important;
    min-width:32px!important;
    max-width:32px!important;
    height:32px!important;
    min-height:32px!important;
    max-height:32px!important;
    margin:0!important;
    padding:0!important;
  }

  body.sun-index-natal-layout .natal-aspect-table-wrap {
    box-sizing:border-box;
    width:calc(100% - 16px)!important;
    max-width:calc(100% - 16px)!important;
    margin-inline:8px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    overscroll-behavior-inline:contain;
    touch-action:pan-x pan-y;
    scrollbar-gutter:stable;
    -webkit-overflow-scrolling:touch;
  }

  body.sun-index-natal-layout .natal-aspect-matrix {
    width:max-content!important;
    min-width:max-content!important;
    max-width:none!important;
    margin-inline:0!important;
  }

  body.sun-index-natal-layout .natal-tool-body,
  body.sun-index-natal-layout .natal-time-controls,
  body.sun-index-natal-layout .natal-data-list,
  body.sun-index-natal-layout .natal-configurations,
  body.sun-index-natal-layout .natal-tool-tabs,
  body.sun-index-natal-layout .natal-tool-bulk,
  body.sun-index-natal-layout .natal-tool-grid {
    box-sizing:border-box;
    max-width:100%;
    min-width:0;
  }
}

@media (max-width:1024px) and (orientation:portrait) {
  body.sun-index-natal-layout {
    --sun-chart-shell-left:8px;
    --sun-chart-shell-right:14px;
  }
  body.sun-index-natal-layout:is(.sun-menu-pinned,.sun-global-menu-pinned) {
    --sun-chart-shell-left:66px;
  }

  body.sun-index-natal-layout .natal-wheel-stage,
  body.sun-index-natal-layout .natal-reading-navigation,
  body.sun-index-natal-layout .natal-reading-panel,
  body.sun-index-natal-layout .transit-year-reading,
  body.sun-index-natal-layout .forecast-source-method,
  body.sun-index-natal-layout .solar-transit-calendar,
  body.sun-index-natal-layout .natal-tools-drawer {
    box-sizing:border-box!important;
    width:calc(100% - (2 * var(--sun-chart-side-gutter)))!important;
    max-width:calc(100% - (2 * var(--sun-chart-side-gutter)))!important;
    margin-right:var(--sun-chart-side-gutter)!important;
    margin-left:var(--sun-chart-side-gutter)!important;
  }

  body.sun-index-natal-layout .natal-tools-drawer {
    margin-top:8px!important;
    width:calc(100% - (var(--sun-chart-shell-left) + var(--sun-chart-shell-right) + (2 * var(--sun-chart-side-gutter))))!important;
    max-width:calc(100% - (var(--sun-chart-shell-left) + var(--sun-chart-shell-right) + (2 * var(--sun-chart-side-gutter))))!important;
    margin-right:calc(var(--sun-chart-shell-right) + var(--sun-chart-side-gutter))!important;
    margin-left:calc(var(--sun-chart-shell-left) + var(--sun-chart-side-gutter))!important;
  }

  body.sun-index-natal-layout .natal-tools-scroll,
  body.sun-index-natal-layout .natal-tool-section,
  body.sun-index-natal-layout .natal-tool-section > summary {
    box-sizing:border-box;
    width:100%!important;
    max-width:100%!important;
    min-width:0;
  }
}

@media (max-width:560px) and (orientation:portrait) {
  body.sun-index-natal-layout {
    --sun-chart-shell-left:14px;
    --sun-chart-shell-right:18px;
  }
}

@media (max-width:600px) {
  body.sun-index-natal-layout .natal-chart-datetime,
  body.sun-index-natal-layout .forecast-chart-datetime,
  body.sun-index-natal-layout .forecast-chart-datetime:not([hidden]) {
    display:none!important;
  }

  body.sun-index-natal-layout.sun-compact-chart-header .forecast-base-meta,
  body.sun-index-natal-layout.sun-compact-chart-header .forecast-secondary-meta {
    display:none!important;
  }

  body.sun-index-natal-layout.sun-compact-chart-header.is-synastry-page .topbar {
    height:158px!important;
    min-height:158px!important;
    align-items:flex-start!important;
  }

  body.sun-index-natal-layout.sun-compact-chart-header.is-synastry-page .topbar > .natal-title-track {
    display:grid!important;
    grid-template-columns:minmax(0,1fr) repeat(5,32px)!important;
    grid-template-rows:32px 32px 32px 32px!important;
    height:150px!important;
    min-height:150px!important;
    max-height:150px!important;
    gap:4px!important;
    padding:4px!important;
    overflow:hidden!important;
  }

  body.sun-index-natal-layout.sun-compact-chart-header.is-synastry-page .natal-title-track > h1 {
    grid-column:1 / 3!important;
    grid-row:1!important;
    max-width:none;
  }

  body.sun-index-natal-layout.sun-compact-chart-header.is-synastry-page .forecast-calculate {
    grid-column:3!important;
    grid-row:1!important;
  }
  body.sun-index-natal-layout.sun-compact-chart-header.is-synastry-page .natal-partnership-trigger {
    grid-column:4!important;
    grid-row:1!important;
  }
  body.sun-index-natal-layout.sun-compact-chart-header.is-synastry-page .natal-reading-trigger {
    grid-column:5!important;
    grid-row:1!important;
  }
  body.sun-index-natal-layout.sun-compact-chart-header.is-synastry-page #profile-drawer-trigger {
    grid-column:6!important;
    grid-row:1!important;
  }

  body.sun-index-natal-layout.sun-compact-chart-header.is-synastry-page .natal-title-track .forecast-view-modes:not([hidden]) {
    display:flex!important;
    grid-column:1 / -1!important;
    grid-row:2!important;
    width:max-content!important;
    margin:0!important;
    gap:4px!important;
  }

  body.sun-index-natal-layout.sun-compact-chart-header.is-synastry-page .forecast-base-meta,
  body.sun-index-natal-layout.sun-compact-chart-header.is-synastry-page .forecast-secondary-meta {
    display:flex!important;
    box-sizing:border-box;
    width:100%;
    min-width:0;
    height:32px;
    padding-inline:6px;
    overflow:hidden;
    border-radius:var(--corner-radius);
    background:var(--cut-control-fill);
    box-shadow:var(--control-inset-shadow);
  }

  body.sun-index-natal-layout.sun-compact-chart-header.is-synastry-page .forecast-base-meta {
    grid-column:1 / 6!important;
    grid-row:3!important;
  }
  body.sun-index-natal-layout.sun-compact-chart-header.is-synastry-page #natal-edit-trigger {
    grid-column:6!important;
    grid-row:3!important;
  }
  body.sun-index-natal-layout.sun-compact-chart-header.is-synastry-page .forecast-secondary-meta {
    grid-column:1 / 6!important;
    grid-row:4!important;
  }
  body.sun-index-natal-layout.sun-compact-chart-header.is-synastry-page .forecast-secondary-edit-trigger:not([hidden]) {
    display:grid!important;
    grid-column:6!important;
    grid-row:4!important;
  }

  body.sun-index-natal-layout.sun-compact-chart-header.is-synastry-page :is(.forecast-base-meta,.forecast-secondary-meta) time,
  body.sun-index-natal-layout.sun-compact-chart-header.is-synastry-page :is(.forecast-base-meta,.forecast-secondary-meta) span {
    min-width:0;
    padding-inline:3px;
    overflow:hidden;
    font-size:12px!important;
    text-overflow:ellipsis;
  }
}

/* SUN-821 final: узкие расчётные блоки и квадратные области должны иметь
   приоритет над прежними компактными правилами SUN-816. */
@media (max-width:900px) {
  .house-links-panels { grid-template-columns:minmax(0,1fr)!important; gap:16px; overflow:hidden; }
  .house-links-panel.is-doubles { grid-row:1; }
  .house-links-panel.is-triples { grid-row:2; }
  .house-links-matrix-scroll { box-sizing:border-box; width:100%; min-width:0; overflow-x:auto; overflow-y:hidden; }
}

@media (max-width:760px) {
  .reading-chains > section { padding-inline:10px; }
  .reading-chains h3 { box-sizing:border-box; width:auto; min-width:max-content; max-width:none; padding-inline:14px; font-size:14px; white-space:nowrap; }
  .talents-capsules { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  .talent-capsule { min-width:0; min-height:42px; gap:6px; padding-inline:9px; font-size:13px; }
  .talent-name { min-width:0; overflow-wrap:normal; text-wrap:pretty; }
  .talent-percent { min-width:42px; padding:6px 7px; font-size:13px; }
  .talents-temperament-table-wrap { width:100%; max-width:100%; overflow-x:auto; }
  .talents-temperament-table { width:100%; min-width:0; table-layout:fixed; font-size:11px; }
  .talents-temperament-table th,.talents-temperament-table td { padding:6px 3px; overflow-wrap:anywhere; }
  .talents-temperament-table th:first-child { width:38%; }
  .natal-formula-card summary { grid-template-columns:minmax(0,1fr) 56px; gap:8px; padding:8px 9px 8px 12px; font-size:13px; line-height:1.3; }
  .natal-formula-card summary > span { min-width:0; overflow-wrap:normal; text-wrap:pretty; }
  .natal-formula-card summary strong { box-sizing:border-box; min-width:56px; width:56px; height:42px; padding:0 5px; font-size:16px; }
}

@media (max-width:600px) {
  .reading-score-planets > .reading-four,
  .reading-score-aspects > .reading-four { grid-template-columns:minmax(0,1fr)!important; }
  .reading-score-planets > .reading-four > .reading-score-strength,
  .reading-score-aspects > .reading-four > .reading-score-strength { display:contents!important; }
  .reading-score-planets > .reading-four > .is-strong > .is-harmonic,
  .reading-score-aspects > .reading-four > .is-strong > .is-harmonic { order:1; }
  .reading-score-planets > .reading-four > .is-weak > .is-harmonic,
  .reading-score-aspects > .reading-four > .is-weak > .is-harmonic { order:2; }
  .reading-score-planets > .reading-four > .is-strong > .is-tense,
  .reading-score-aspects > .reading-four > .is-strong > .is-tense { order:3; }
  .reading-score-planets > .reading-four > .is-weak > .is-tense,
  .reading-score-aspects > .reading-four > .is-weak > .is-tense { order:4; }
  .reading-chains > section { padding-inline:2px; }
  .reading-chain-graph { height:300px; }
  .talents-capsules { grid-template-columns:minmax(0,1fr); }
  .talent-capsule { min-height:44px; padding-inline:16px; font-size:16px; }
  .talent-percent { min-width:58px; padding:7px 10px; font-size:16px; }
}

@media (min-width:601px) and (max-width:1024px) {
  body.sun-index-natal-layout.sun-compact-chart-header .index-content > .topbar { position:relative!important; display:block!important; box-sizing:border-box; width:100%!important; margin:8px 0 0!important; padding:2px 0!important; }
  body.sun-index-natal-layout.sun-compact-chart-header .topbar > .natal-title-track { box-sizing:border-box!important; width:100%!important; min-width:0!important; padding-left:48px!important; }
  body.sun-index-natal-layout.sun-compact-chart-header #index-menu-button { position:absolute!important; top:4px!important; left:6px!important; z-index:2!important; }
  body.sun-index-natal-layout.sun-compact-chart-header:is(.sun-menu-pinned,.sun-global-menu-pinned) #index-menu-button { left:calc(-1 * (var(--sun-round-button-size) + 8px))!important; }
  body.sun-index-natal-layout.sun-compact-chart-header:is(.sun-menu-pinned,.sun-global-menu-pinned) .topbar > .natal-title-track { padding-left:12px!important; }
}

@media (min-width:601px) and (max-width:1024px) and (orientation:portrait) {
  /* In portrait the tools drawer is below the chart.  The shared desktop rule
     must not subtract a non-existent side panel from the wheel width. */
  body.sun-index-natal-layout .natal-wheel-stage .wheel-root.sun-shared-wheel-size {
    width:min(
      calc(100% - 12px),
      calc(88dvh * var(--wheel-user-zoom-scale, var(--sun-wheel-stored-scale,1)))
    )!important;
    max-width:calc(100% - 12px)!important;
  }
}

@media (min-width:601px) and (max-width:1024px) and (orientation:landscape) {
  body.sun-index-natal-layout .natal-wheel-stage { box-sizing:border-box; min-height:0!important; height:calc(100dvh - 60px)!important; place-items:center!important; align-content:center!important; }
  body.sun-index-natal-layout .natal-wheel-stage .wheel-root.sun-shared-wheel-size { width:min(calc(100% - 12px),calc((100dvh - 76px) * var(--wheel-user-zoom-scale,1)))!important; max-width:calc(100% - 12px)!important; }
}

/* SUN-836: в Дирекциях и Прогрессиях дата второй карты вводится прямо в
   строке; после неё стоят только База данных и Здесь и сейчас. */
.natal-time-actions[hidden] { display:none!important; }

@media (min-width:601px) {
  body.sun-index-natal-layout:is(.is-directions-page,.is-progressions-page)
  .natal-tools-drawer > .natal-title-track > .forecast-secondary-meta {
    grid-column:1 / 6!important;
    grid-row:3!important;
  }

  body.sun-index-natal-layout:is(.is-directions-page,.is-progressions-page)
  .forecast-secondary-meta > time,
  body.sun-index-natal-layout:is(.is-directions-page,.is-progressions-page)
  .forecast-secondary-meta > span { display:none!important; }

  body.sun-index-natal-layout:is(.is-directions-page,.is-progressions-page)
  .forecast-secondary-meta > .forecast-secondary-inline-datetime:not([hidden]) {
    display:block!important;
    box-sizing:border-box;
    width:100%;
    min-width:0;
    height:40px;
    padding:0 16px;
    border:0;
    border-radius:var(--corner-radius);
    color:inherit;
    background:transparent;
    box-shadow:none;
    outline:0;
    font:500 17px/1 "Oswald",sans-serif;
  }

  body.sun-index-natal-layout:is(.is-directions-page,.is-progressions-page)
  .natal-tools-drawer > .natal-title-track > .forecast-database-trigger:not([hidden]) {
    display:grid!important;
    grid-column:6!important;
    grid-row:3!important;
    box-sizing:border-box;
    width:36px!important;
    min-width:36px!important;
    max-width:36px!important;
    height:36px!important;
    min-height:36px!important;
    max-height:36px!important;
    margin:0!important;
  }

  body.sun-index-natal-layout:is(.is-directions-page,.is-progressions-page)
  .natal-tools-drawer > .natal-title-track > .forecast-secondary-now-trigger:not([hidden]) {
    display:grid!important;
    grid-column:7!important;
    grid-row:3!important;
  }

  body.sun-index-natal-layout:is(.is-directions-page,.is-progressions-page)
  .natal-tools-drawer > .natal-title-track > .forecast-secondary-edit-trigger { display:none!important; }

  body.sun-index-natal-layout:is(.is-directions-page,.is-progressions-page)
  .forecast-controls > .forecast-settings-trigger:not([hidden]) {
    grid-column:2!important;
    grid-row:1!important;
  }

  body.sun-index-natal-layout.is-directions-page
  .forecast-controls > .directions-panel-width-trigger:not([hidden]) {
    grid-column:3!important;
    grid-row:1!important;
  }

  body.sun-index-natal-layout.is-progressions-page .forecast-view-modes {
    display:none!important;
  }
}
.page-interpretation-editor{margin-top:14px;padding-top:12px;border-top:1px solid color-mix(in srgb,currentColor 18%,transparent)}
.page-interpretation-editor-trigger,.page-interpretation-editor-actions button{min-height:42px;border:0;border-radius:22px;padding:0 22px;background:var(--raised-control-fill);box-shadow:var(--control-raised-shadow);color:var(--text);font:inherit;font-weight:650;cursor:pointer}
.page-interpretation-editor-form{display:grid;gap:10px}.page-interpretation-editor-form[hidden]{display:none}
.page-interpretation-editor-form textarea{box-sizing:border-box;width:100%;min-height:180px;resize:vertical;border:0;border-radius:20px;padding:16px 18px;background:var(--cut-control-fill);box-shadow:var(--control-inset-shadow);color:var(--text);caret-color:var(--text);font:inherit;line-height:1.45;outline:0}.page-interpretation-editor-form textarea:focus{outline:0;box-shadow:var(--control-inset-shadow)}
.page-interpretation-editor-actions{display:flex;flex-wrap:wrap;gap:10px}.page-interpretation-editor-status{min-height:1.4em;margin:0;opacity:.8}
.page-interpretation-placement-editor{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:10px;align-items:end}.page-interpretation-placement-editor label{display:grid;gap:6px}.page-interpretation-placement-editor select{min-height:42px;border:0;border-radius:22px;padding:0 42px 0 18px;background:var(--cut-control-fill);box-shadow:var(--control-inset-shadow);color:var(--text);font:inherit}.page-interpretation-placement-actions{display:flex;flex-wrap:wrap;gap:8px}.page-interpretation-placement-actions button{min-height:42px;border:0;border-radius:22px;padding:0 18px;background:var(--raised-control-fill);box-shadow:var(--control-raised-shadow);color:var(--text);font:inherit;font-weight:650;cursor:pointer}.career-admin-placement-zone{display:grid;gap:14px;margin:14px 0}.career-admin-placement-zone:empty{display:none}@media(max-width:760px){.page-interpretation-placement-editor{grid-template-columns:1fr}}

/* SUN-904: on phones and tablets the chart header is moved above the wheel.
   Keep the same compact grid that is used in the desktop tools drawer instead
   of letting old flex rules stretch the two dates across an empty panel. */
@media (max-width:1024px) {
  body.sun-index-natal-layout.sun-compact-chart-header:is(
    :not(.is-forecast-page),
    .is-synastry-page,
    .is-return-page,
    .is-directions-page,
    .is-progressions-page
  ) .index-content > .topbar {
    display:block!important;
    box-sizing:border-box;
    width:calc(100% - (2 * var(--sun-chart-side-gutter)))!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    margin:8px var(--sun-chart-side-gutter) 0!important;
    padding:0!important;
    overflow:visible!important;
  }

  body.sun-index-natal-layout.sun-compact-chart-header:is(
    :not(.is-forecast-page),
    .is-synastry-page,
    .is-return-page,
    .is-directions-page,
    .is-progressions-page
  ) #index-menu-button {
    position:absolute!important;
    top:4px!important;
    left:6px!important;
    z-index:2!important;
    inset-block-end:auto!important;
    right:auto!important;
    margin:0!important;
  }

  body.sun-index-natal-layout.sun-compact-chart-header:is(.sun-menu-pinned,.sun-global-menu-pinned):is(
    :not(.is-forecast-page),
    .is-synastry-page,
    .is-return-page,
    .is-directions-page,
    .is-progressions-page
  ) #index-menu-button {
    left:calc(-1 * (var(--sun-round-button-size) + 8px))!important;
  }

  body.sun-index-natal-layout.sun-compact-chart-header:is(
    :not(.is-forecast-page),
    .is-synastry-page,
    .is-return-page,
    .is-directions-page,
    .is-progressions-page
  ) .topbar > .natal-title-track {
    position:static!important;
    display:grid!important;
    box-sizing:border-box!important;
    width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:4px 4px 4px 48px!important;
    grid-template-columns:minmax(0,1fr) repeat(6,32px)!important;
    grid-auto-flow:row!important;
    gap:4px!important;
    align-items:center!important;
    overflow:hidden!important;
    border-radius:var(--corner-radius);
    background:var(--cut-control-fill);
    box-shadow:var(--control-inset-shadow);
  }

  body.sun-index-natal-layout.sun-compact-chart-header:is(.sun-menu-pinned,.sun-global-menu-pinned):is(
    :not(.is-forecast-page),
    .is-synastry-page,
    .is-return-page,
    .is-directions-page,
    .is-progressions-page
  ) .topbar > .natal-title-track {
    padding-left:4px!important;
  }

  body.sun-index-natal-layout.sun-compact-chart-header:not(.is-forecast-page) .topbar > .natal-title-track {
    height:92px!important;
    min-height:92px!important;
    max-height:92px!important;
    grid-template-rows:repeat(2,40px)!important;
    gap:4px!important;
  }

  body.sun-index-natal-layout.sun-compact-chart-header:is(
    .is-return-page,
    .is-directions-page,
    .is-progressions-page
  ) .topbar > .natal-title-track {
    height:136px!important;
    min-height:136px!important;
    max-height:136px!important;
    grid-template-rows:repeat(3,40px)!important;
  }

  body.sun-index-natal-layout.sun-compact-chart-header.is-synastry-page .topbar > .natal-title-track {
    height:184px!important;
    min-height:184px!important;
    max-height:184px!important;
    padding:0 0 0 48px!important;
    grid-template-rows:repeat(4,40px)!important;
    gap:8px!important;
  }

  body.sun-index-natal-layout.sun-compact-chart-header:is(.sun-menu-pinned,.sun-global-menu-pinned).is-synastry-page .topbar > .natal-title-track {
    padding-left:0!important;
  }

  body.sun-index-natal-layout.sun-compact-chart-header:is(
    :not(.is-forecast-page),
    .is-synastry-page,
    .is-return-page,
    .is-directions-page,
    .is-progressions-page
  ) .natal-title-track > h1 {
    position:static!important;
    display:flex!important;
    grid-column:1!important;
    grid-row:1!important;
    box-sizing:border-box;
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    height:40px!important;
    margin:0 4px!important;
    align-items:center;
    overflow:hidden!important;
    font-size:clamp(15px,2.6vw,18px)!important;
    line-height:1!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
    transform:none!important;
  }

  body.sun-index-natal-layout.sun-compact-chart-header:is(
    :not(.is-forecast-page),
    .is-synastry-page,
    .is-return-page,
    .is-directions-page,
    .is-progressions-page
  ) .natal-title-track > :is(.forecast-base-meta,.forecast-secondary-meta):not([hidden]) {
    display:flex!important;
    box-sizing:border-box;
    width:100%!important;
    min-width:0!important;
    height:40px!important;
    min-height:40px!important;
    max-height:40px!important;
    margin:0!important;
    padding-inline:10px!important;
    align-items:center;
    overflow:hidden!important;
    border-radius:var(--corner-radius);
    color:var(--accent-text)!important;
    background:var(--accent)!important;
    box-shadow:var(--control-raised-shadow)!important;
  }

  body.sun-index-natal-layout.sun-compact-chart-header:is(
    :not(.is-forecast-page),
    .is-synastry-page,
    .is-return-page,
    .is-directions-page,
    .is-progressions-page
  ) .natal-title-track > :is(.forecast-base-meta,.forecast-secondary-meta) :is(time,span) {
    display:block!important;
    min-width:0;
    padding-inline:2px;
    overflow:hidden!important;
    font-size:clamp(12px,2.4vw,16px)!important;
    text-overflow:ellipsis;
    white-space:nowrap;
  }

  body.sun-index-natal-layout.sun-compact-chart-header:is(
    :not(.is-forecast-page),
    .is-synastry-page,
    .is-return-page,
    .is-directions-page,
    .is-progressions-page
  ) .natal-title-track > :is(.forecast-base-meta,.forecast-secondary-meta) time {
    flex:0 0 auto!important;
  }

  body.sun-index-natal-layout.sun-compact-chart-header:is(
    :not(.is-forecast-page),
    .is-synastry-page,
    .is-return-page,
    .is-directions-page,
    .is-progressions-page
  ) .natal-title-track > :is(.forecast-base-meta,.forecast-secondary-meta) span {
    flex:1 1 auto!important;
  }

  body.sun-index-natal-layout.sun-compact-chart-header:is(
    :not(.is-forecast-page),
    .is-synastry-page,
    .is-return-page,
    .is-directions-page,
    .is-progressions-page
  ) .natal-title-track > :is(
    #natal-edit-trigger,
    .forecast-secondary-edit-trigger,
    #natal-now-trigger,
    .forecast-database-trigger,
    .forecast-secondary-now-trigger,
    .natal-career-trigger,
    .natal-partnership-trigger,
    .natal-reading-trigger,
    .direction-aspects-trigger,
    #profile-drawer-trigger
  ):not([hidden]),
  body.sun-index-natal-layout.sun-compact-chart-header:is(
    :not(.is-forecast-page),
    .is-synastry-page,
    .is-return-page,
    .is-directions-page,
    .is-progressions-page
  ) .forecast-controls > :is(
    .forecast-calculate,
    .forecast-settings-trigger,
    .directions-panel-width-trigger
  ):not([hidden]),
  body.sun-index-natal-layout.sun-compact-chart-header:is(
    :not(.is-forecast-page),
    .is-synastry-page,
    .is-return-page,
    .is-directions-page,
    .is-progressions-page
  ) .natal-title-track .forecast-view-modes button:not([hidden]) {
    position:static!important;
    display:grid!important;
    box-sizing:border-box!important;
    width:32px!important;
    min-width:32px!important;
    max-width:32px!important;
    height:32px!important;
    min-height:32px!important;
    max-height:32px!important;
    margin:0!important;
    padding:0!important;
    place-items:center;
  }

  /* Natal: title/actions, then one date row. */
  body.sun-index-natal-layout.sun-compact-chart-header:not(.is-forecast-page) .natal-title-track > h1 { grid-column:1 / 5!important; }
  body.sun-index-natal-layout.sun-compact-chart-header:not(.is-forecast-page) .natal-title-track > .natal-career-trigger:not([hidden]) { grid-column:5!important; grid-row:1!important; }
  body.sun-index-natal-layout.sun-compact-chart-header:not(.is-forecast-page) .natal-title-track > .natal-reading-trigger:not([hidden]) { grid-column:6!important; grid-row:1!important; }
  body.sun-index-natal-layout.sun-compact-chart-header:not(.is-forecast-page) .natal-title-track > #profile-drawer-trigger:not([hidden]) { grid-column:7!important; grid-row:1!important; }
  body.sun-index-natal-layout.sun-compact-chart-header:not(.is-forecast-page) .natal-title-track > .forecast-base-meta { grid-column:1 / 6!important; grid-row:2!important; }
  body.sun-index-natal-layout.sun-compact-chart-header:not(.is-forecast-page) .natal-title-track > #natal-edit-trigger:not([hidden]) { grid-column:6!important; grid-row:2!important; }
  body.sun-index-natal-layout.sun-compact-chart-header:not(.is-forecast-page) .natal-title-track > #natal-now-trigger:not([hidden]) { grid-column:7!important; grid-row:2!important; }

  /* Returns, Directions and Progressions: title/actions plus both date rows. */
  body.sun-index-natal-layout.sun-compact-chart-header:is(.is-return-page,.is-directions-page,.is-progressions-page) .natal-title-track > .forecast-controls:not([hidden]),
  body.sun-index-natal-layout.sun-compact-chart-header.is-synastry-page .natal-title-track > .forecast-controls:not([hidden]) {
    display:contents!important;
  }

  body.sun-index-natal-layout.sun-compact-chart-header:is(.is-return-page,.is-directions-page,.is-progressions-page) .natal-title-track > .forecast-base-meta,
  body.sun-index-natal-layout.sun-compact-chart-header.is-synastry-page .natal-title-track > .forecast-base-meta {
    grid-column:1 / 7!important;
    grid-row:2!important;
  }

  body.sun-index-natal-layout.sun-compact-chart-header:is(.is-return-page,.is-directions-page,.is-progressions-page) .natal-title-track > #natal-edit-trigger:not([hidden]),
  body.sun-index-natal-layout.sun-compact-chart-header.is-synastry-page .natal-title-track > #natal-edit-trigger:not([hidden]) {
    grid-column:7!important;
    grid-row:2!important;
  }

  body.sun-index-natal-layout.sun-compact-chart-header:is(.is-return-page,.is-directions-page,.is-progressions-page) .natal-title-track > .forecast-secondary-meta:not([hidden]),
  body.sun-index-natal-layout.sun-compact-chart-header.is-synastry-page .natal-title-track > .forecast-secondary-meta:not([hidden]) {
    grid-column:1 / 7!important;
    grid-row:3!important;
  }

  body.sun-index-natal-layout.sun-compact-chart-header.is-return-page .natal-title-track > .forecast-secondary-edit-trigger:not([hidden]) {
    grid-column:7!important;
    grid-row:3!important;
  }

  body.sun-index-natal-layout.sun-compact-chart-header.is-return-page .natal-title-track .forecast-view-modes:not([hidden]) {
    display:contents!important;
  }

  body.sun-index-natal-layout.sun-compact-chart-header.is-return-page .natal-title-track .forecast-view-modes button[data-forecast-view="forecast"] { grid-column:2!important; grid-row:1!important; }
  body.sun-index-natal-layout.sun-compact-chart-header.is-return-page .natal-title-track .forecast-view-modes button[data-forecast-view="side-by-side"] { grid-column:3!important; grid-row:1!important; }
  body.sun-index-natal-layout.sun-compact-chart-header.is-return-page .natal-title-track .forecast-view-modes button[data-forecast-view="overlay"] { grid-column:4!important; grid-row:1!important; }
  body.sun-index-natal-layout.sun-compact-chart-header.is-synastry-page .natal-title-track > .natal-partnership-trigger:not([hidden]) { grid-column:5!important; grid-row:1!important; }
  body.sun-index-natal-layout.sun-compact-chart-header:is(.is-return-page,.is-synastry-page) .natal-title-track > .natal-reading-trigger:not([hidden]) { grid-column:6!important; grid-row:1!important; }
  body.sun-index-natal-layout.sun-compact-chart-header:is(.is-return-page,.is-synastry-page) .natal-title-track > #profile-drawer-trigger:not([hidden]) { grid-column:7!important; grid-row:1!important; }

  body.sun-index-natal-layout.sun-compact-chart-header.is-synastry-page .natal-title-track .forecast-view-modes:not([hidden]) {
    display:flex!important;
    grid-column:1 / -1!important;
    grid-row:2!important;
    width:max-content!important;
    max-width:100%;
    margin:0!important;
    gap:4px!important;
    overflow:hidden;
  }
  body.sun-index-natal-layout.sun-compact-chart-header.is-synastry-page .natal-title-track > .forecast-base-meta { grid-row:3!important; }
  body.sun-index-natal-layout.sun-compact-chart-header.is-synastry-page .natal-title-track > #natal-edit-trigger:not([hidden]) { grid-row:3!important; }
  body.sun-index-natal-layout.sun-compact-chart-header.is-synastry-page .natal-title-track > .forecast-secondary-meta:not([hidden]) { grid-row:4!important; }
  body.sun-index-natal-layout.sun-compact-chart-header.is-synastry-page .natal-title-track > .forecast-secondary-edit-trigger:not([hidden]) { grid-column:7!important; grid-row:4!important; }

  body.sun-index-natal-layout.sun-compact-chart-header:is(.is-directions-page,.is-progressions-page) .natal-title-track > h1 { grid-column:1 / 4!important; }
  body.sun-index-natal-layout.sun-compact-chart-header:is(.is-directions-page,.is-progressions-page) .forecast-controls > .forecast-settings-trigger:not([hidden]) { grid-column:4!important; grid-row:1!important; }
  body.sun-index-natal-layout.sun-compact-chart-header.is-directions-page .forecast-controls > .directions-panel-width-trigger:not([hidden]) { grid-column:5!important; grid-row:1!important; }
  body.sun-index-natal-layout.sun-compact-chart-header.is-progressions-page .forecast-controls > .forecast-settings-trigger:not([hidden]) { grid-column:5!important; }
  body.sun-index-natal-layout.sun-compact-chart-header:is(.is-directions-page,.is-progressions-page) .natal-title-track > .direction-aspects-trigger:not([hidden]) { grid-column:6!important; grid-row:1!important; }
  body.sun-index-natal-layout.sun-compact-chart-header:is(.is-directions-page,.is-progressions-page) .natal-title-track > #profile-drawer-trigger:not([hidden]) { grid-column:7!important; grid-row:1!important; }

  body.sun-index-natal-layout.sun-compact-chart-header:is(.is-directions-page,.is-progressions-page) .natal-title-track > .forecast-secondary-edit-trigger { display:none!important; }
  body.sun-index-natal-layout.sun-compact-chart-header:is(.is-directions-page,.is-progressions-page) .natal-title-track > .forecast-database-trigger:not([hidden]) { grid-column:6!important; grid-row:3!important; }
  body.sun-index-natal-layout.sun-compact-chart-header:is(.is-directions-page,.is-progressions-page) .natal-title-track > .forecast-secondary-now-trigger:not([hidden]) { grid-column:7!important; grid-row:3!important; }
  body.sun-index-natal-layout.sun-compact-chart-header:is(.is-directions-page,.is-progressions-page) .forecast-secondary-meta > :is(time,span) { display:none!important; }
  body.sun-index-natal-layout.sun-compact-chart-header:is(.is-directions-page,.is-progressions-page) .forecast-secondary-meta > .forecast-secondary-inline-datetime:not([hidden]) {
    display:block!important;
    box-sizing:border-box;
    width:100%!important;
    min-width:0;
    height:40px!important;
    padding:0 4px!important;
    border:0;
    color:inherit;
    background:transparent;
    box-shadow:none;
    outline:0;
    font:500 clamp(12px,2.4vw,16px)/1 "Oswald",sans-serif;
  }
}

/* SUN-909: финальная геометрия компактной шапки Дирекций.
   Даты остаются на одном левом краю, а в верхнем ряду нет
   кнопок из Натала. */
@media (max-width:1024px) {
  body.sun-index-natal-layout.sun-compact-chart-header.is-directions-page .index-content > .topbar {
    width:min(calc(100% - (2 * var(--sun-chart-side-gutter))),380px)!important;
    margin-right:auto!important;
    margin-left:var(--sun-chart-side-gutter)!important;
  }

  body.sun-index-natal-layout.sun-compact-chart-header.is-directions-page
  .natal-title-track > :is(#natal-career-trigger,#natal-partnership-trigger) {
    display:none!important;
  }

  body.sun-index-natal-layout.sun-compact-chart-header.is-directions-page
  .natal-title-track > #directions-panel-width-trigger:not([hidden]) {
    display:grid!important;
    grid-column:5!important;
    grid-row:1!important;
  }

  body.sun-index-natal-layout.sun-compact-chart-header.is-directions-page
  .natal-title-track > .forecast-base-meta {
    grid-column:1 / 6!important;
    grid-row:2!important;
  }

  body.sun-index-natal-layout.sun-compact-chart-header.is-directions-page
  .natal-title-track > .forecast-secondary-meta:not([hidden]) {
    grid-column:1 / 5!important;
    grid-row:3!important;
    justify-content:flex-start!important;
  }

  body.sun-index-natal-layout.sun-compact-chart-header.is-directions-page
  .natal-title-track > .forecast-secondary-meta > :is(time,span) {
    display:none!important;
  }

body.sun-index-natal-layout.sun-compact-chart-header.is-directions-page
  .natal-title-track > .forecast-secondary-meta > .forecast-secondary-inline-datetime:not([hidden]) {
    display:block!important;
    width:100%!important;
    padding:0 2px!important;
    text-align:left!important;
  }

  /* Both dates use the same vertical text box.  The shared mobile rule had
     changed the first <time> back to a block with a 28px line box, while the
     second native input remained vertically centred in its 40px capsule. */
  body.sun-index-natal-layout.sun-compact-chart-header.is-directions-page
  .natal-title-track > .forecast-base-meta > time {
    display:flex!important;
    box-sizing:border-box!important;
    height:100%!important;
    min-height:0!important;
    padding:0 2px!important;
    align-items:center!important;
    line-height:1!important;
  }

  body.sun-index-natal-layout.sun-compact-chart-header.is-directions-page
  .natal-title-track > .forecast-secondary-meta > .forecast-secondary-inline-datetime:not([hidden]) {
    line-height:normal!important;
  }
}

/* SUN-912: в компактной шапке Дирекций нет отдельного вдавленного
   контейнера. В альбомной ориентации шапка занимает всю доступную ширину,
   сохраняя боковые отступы страницы. */
@media (max-width:1024px) {
  body.sun-index-natal-layout.sun-compact-chart-header.is-directions-page
  .topbar > .natal-title-track {
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }

  /* Кнопка является прямым потомком .natal-title-track. Старый селектор
     ожидал её внутри .forecast-controls и оставлял кнопку во второй строке
     поверх даты. */
  body.sun-index-natal-layout.sun-compact-chart-header.is-directions-page
  .natal-title-track > .forecast-settings-trigger:not([hidden]) {
    display:grid!important;
    grid-column:4!important;
    grid-row:1!important;
  }
}

@media (max-width:1024px) and (orientation:landscape) {
  body.sun-index-natal-layout.sun-compact-chart-header.is-directions-page
  .index-content > .topbar {
    width:calc(100% - (2 * var(--sun-chart-side-gutter)))!important;
    margin-right:var(--sun-chart-side-gutter)!important;
    margin-left:var(--sun-chart-side-gutter)!important;
  }
}

/* SUN-916: на телефоне шапка, карта и нижняя панель используют одну ширину.
   Сохранённое состояние закреплённого меню не должно резервировать невидимую
   колонку или выталкивать кнопку меню за край экрана. */
@media (max-width:600px) {
  body.sun-index-natal-layout.sun-compact-chart-header.is-directions-page
  .index-content > .topbar {
    width:calc(100% - (2 * var(--sun-chart-side-gutter)))!important;
    margin-right:var(--sun-chart-side-gutter)!important;
    margin-left:var(--sun-chart-side-gutter)!important;
  }

  body.sun-index-natal-layout.sun-compact-chart-header.is-directions-page:is(.sun-menu-pinned,.sun-global-menu-pinned)
  #index-menu-button {
    left:4px!important;
  }

  body.sun-index-natal-layout.sun-compact-chart-header.is-directions-page:is(.sun-menu-pinned,.sun-global-menu-pinned)
  .topbar > .natal-title-track {
    padding-left:44px!important;
  }

  body.sun-index-natal-layout:is(.sun-menu-pinned,.sun-global-menu-pinned) {
    --sun-chart-shell-left:8px;
  }

  body.sun-index-natal-layout .natal-tools-scroll {
    padding-right:0!important;
    padding-left:0!important;
  }
}

/* SUN-952: таблица периодов Прогрессий растёт под картой. У неё должна
   оставаться прокрутка всей страницы, как у Дирекций, а не фиксированная
   высота рабочей области. */
@media (min-width:601px) {
  html:has(body.sun-index-natal-layout.is-progressions-page),
  body.sun-index-natal-layout.is-progressions-page {
    height: auto;
    min-height: 100%;
    overflow-x: hidden;
    overflow-y: auto;
    scrollbar-gutter: stable;
  }

  body.sun-index-natal-layout.is-progressions-page .index-shell,
  body.sun-index-natal-layout.is-progressions-page .index-content {
    height: auto;
    min-height: 100dvh;
    overflow: visible;
  }
}

@media (max-width:1024px) and (orientation:landscape) {
  html:has(body.sun-index-natal-layout.is-progressions-page),
  body.sun-index-natal-layout.is-progressions-page {
    height: auto !important;
    min-height: 100%;
    overflow-x: hidden !important;
    overflow-y: auto !important;
  }

  body.sun-index-natal-layout.is-progressions-page .index-shell,
  body.sun-index-natal-layout.is-progressions-page .index-content {
    height: auto !important;
    min-height: 100dvh !important;
    overflow: visible !important;
  }
}
