/* Shared Saturn palette, public calendar only; com_form remains data authority. */
body.sl-stage-moon-calendar #tm-main .moon-calendar-overview { display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, 370px); gap: clamp(28px, 5vw, 70px); align-items: center; margin-block: 18px 38px; }
body.sl-stage-moon-calendar #tm-main .moon-calendar-overview__copy { min-width: 0; }
body.sl-stage-moon-calendar #tm-main .moon-calendar-overview .sl-mooncal-title { margin-bottom: 22px; font-size: clamp(42px, 5vw, 68px); line-height: 1.03; }
body.sl-stage-moon-calendar #tm-main .moon-calendar-overview__lead { max-width: 52ch; color: var(--sl-muted); font: 400 18px/1.65 var(--sl-yoo-font-body, Arsenal, Arial, sans-serif); margin: 0 0 25px; }
body.sl-stage-moon-calendar #tm-main .moon-calendar-overview__phase { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); align-items: center; gap: 20px 12px; padding: 24px; border: 1px solid var(--sl-line); border-radius: 16px; background: var(--sl-surface); }
body.sl-stage-moon-calendar #tm-main .moon-calendar-overview__image { grid-column: 1 / 3; grid-row: 1; width: 100%; height: 154px; object-fit: contain; }
body.sl-stage-moon-calendar #tm-main .moon-calendar-overview__phase .sl-mooncal-phase { display: contents; }
body.sl-stage-moon-calendar #tm-main .moon-calendar-overview__phase .sl-mooncal-phase > .moon-calendar-overview__summary { grid-column: 3 / 5; grid-row: 1; text-align: left !important; }
body.sl-stage-moon-calendar #tm-main .moon-calendar-overview__phase .moon-calendar-overview__summary h3 { font: 400 26px/1.15 var(--sl-yoo-font-heading, "Playfair Display", Georgia, serif); }
body.sl-stage-moon-calendar #tm-main .moon-calendar-overview__phase .sl-mooncal-phase > :not(.moon-calendar-overview__summary) { grid-row: 2; grid-column: 1 / 3; }
body.sl-stage-moon-calendar #tm-main .moon-calendar-overview__phase .sl-mooncal-phase > :last-child { grid-column: 3 / 5; }
body.sl-stage-moon-calendar #tm-main .moon-calendar-overview__phase .sl-mooncal-phase button { width: 100%; padding-inline: 9px; }
body.sl-stage-moon-calendar #tm-main .moon-calendar-overview__phase .sl-mooncal-phase button svg { width: 18px; }
body.sl-stage-moon-calendar #tm-main .moon-calendar-overview__date { grid-column: 1 / -1; grid-row: 3; min-width: 0; padding: 0; }
body.sl-stage-moon-calendar #tm-main .moon-calendar-overview__date #transit_form { margin: 0; text-align: left; }
body.sl-stage-moon-calendar #tm-main .moon-calendar-overview__date .uk-form-label { position: static; float: none; width: auto; margin: 0 0 8px; }
body.sl-stage-moon-calendar #tm-main .moon-calendar-overview__date h5 { font: 400 14px/1.4 var(--sl-yoo-font-body, Arsenal, Arial, sans-serif); color: var(--sl-muted); text-transform: none; }
body.sl-stage-moon-calendar #tm-main .moon-calendar-overview__date .uk-form-controls { margin-left: 0; }
body.sl-stage-moon-calendar #tm-main .moon-calendar-overview__date .period_picker_input { display: flex; min-height: 48px; padding: 8px 12px; box-sizing: border-box; align-items: center; border: 1px solid var(--sl-line); border-radius: 10px; background: var(--sl-raised); color: var(--sl-text); font: 400 16px/1.4 var(--sl-yoo-font-body, Arsenal, Arial, sans-serif); text-transform: none; }
body.sl-stage-moon-calendar #tm-main .moon-calendar-overview__date .icon_calendar { filter: brightness(0) invert(1); }
html[data-theme="light"] body.sl-stage-moon-calendar #tm-main .moon-calendar-overview__date .icon_calendar { filter: none; }
body.sl-stage-moon-calendar #tm-main .moon-calendar-overview .moon-calendar-overview__tools { display: flex; padding: 0; margin: 0 0 16px; border: 0; background: transparent; }
body.sl-stage-moon-calendar #tm-main .moon-calendar-overview__actions { display: flex; flex-wrap: wrap; gap: 12px; }
body.sl-stage-moon-calendar #tm-main .moon-calendar-overview__share { max-width: 100%; }
body.sl-stage-moon-calendar #tm-main .moon-calendar-overview__share summary { display: flex; align-items: center; gap: 10px; min-height: 44px; cursor: pointer; color: var(--sl-text); font: 600 16px/1.4 var(--sl-yoo-font-body, Arsenal, Arial, sans-serif); }
body.sl-stage-moon-calendar #tm-main .moon-calendar-overview__share summary img { filter: brightness(0) invert(1); }
html[data-theme="light"] body.sl-stage-moon-calendar #tm-main .moon-calendar-overview__share summary img { filter: none; }
body.sl-stage-moon-calendar #tm-main .moon-calendar-navigation { display: flex; flex-wrap: wrap; gap: 8px 24px; padding-block: 12px; margin-bottom: 38px; border-block: 1px solid var(--sl-line); }
body.sl-stage-moon-calendar #tm-main .moon-calendar-navigation__link { display: inline-flex; align-items: center; min-height: 44px; color: var(--sl-text); font: 600 16px/1.4 var(--sl-yoo-font-body, Arsenal, Arial, sans-serif); text-underline-offset: 4px; }
body.sl-stage-moon-calendar #tm-main .moon-calendar-navigation__link[aria-current="location"] { color: var(--sl-copper); text-decoration: underline; text-decoration-thickness: 2px; }
body.sl-stage-moon-calendar #tm-main .moon-calendar-navigation__target:focus-visible { outline: 2px solid var(--sl-focus); outline-offset: 5px; }
body.sl-stage-moon-calendar #tm-main :is(.moon-calendar-overview,.moon-calendar-navigation) :is(a,button,summary,.period_picker_input):focus-visible { outline: 2px solid var(--sl-focus); outline-offset: 4px; }
body.sl-stage-moon-calendar #tm-main :is(#sl-mooncal-day,#sl-mooncal-sign,#sl-mooncal-events) { scroll-margin-top: 132px; }
body.sl-stage-moon-calendar #tm-main .sl-mooncal-context.moon-calendar-context { grid-template-columns: repeat(2, minmax(0, 1fr)); }
body.sl-stage-moon-calendar #tm-main .moon-calendar-context > .moon-calendar-overview__image-origin { display: none; }
body.sl-stage-moon-calendar #tm-main .moon-calendar-context > :nth-child(2) { grid-column: 1; grid-row: 1; }
body.sl-stage-moon-calendar #tm-main .moon-calendar-context > :nth-child(3) { grid-column: 2; grid-row: 1; }
body.sl-stage-moon-calendar #tm-main .moon-calendar-context .uk-card-body form button { min-height: 44px; padding-inline: 10px; border-radius: 8px; }
body.sl-stage-moon-calendar #tm-main .moon-calendar-context .uk-card-body form button:focus-visible { outline: 2px solid var(--sl-focus); outline-offset: 3px; }
body.sl-stage-moon-calendar #tm-main .moon-calendar-progress > div > svg { display: none; }
body.sl-stage-moon-calendar #tm-main .moon-calendar-progress__dates > div { color: var(--sl-text) !important; font: 400 16px/1.5 var(--sl-yoo-font-body, Arsenal, Arial, sans-serif); font-variant-numeric: tabular-nums; }
body.sl-stage-moon-calendar #tm-main .moon-calendar-progress__track { height: 6px; margin-top: 20px; overflow: hidden; border-radius: 4px; background: var(--sl-line); }
body.sl-stage-moon-calendar #tm-main .moon-calendar-progress__track > span { display: block; height: 100%; background: var(--sl-copper); }
body.sl-stage-moon-calendar #tm-main .moon-calendar-progress__status { margin: 12px 0 0; font: 400 16px/1.5 var(--sl-yoo-font-body, Arsenal, Arial, sans-serif); }
body.sl-stage-moon-calendar #tm-main .moon-calendar-progress__status strong { color: var(--sl-text); margin-inline: 5px; font-variant-numeric: tabular-nums; }
@media (max-width: 420px) {
  /* The native CAPTCHA is 300px. Centre it across the narrow card padding;
     never crop, scale or replace the interactive provider frame. */
  body.sl-stage-moon-calendar #tm-main #regloginformstart .smart-captcha { margin-inline: calc((100% - 300px) / 2); }
}
@media (max-width: 760px) {
  body.sl-stage-moon-calendar #tm-main .moon-calendar-overview { grid-template-columns: 1fr; gap: 24px; }
  /* com_form sets every mobile H1 to 20px !important; override only this approved hero. */
  body.sl-stage-moon-calendar #tm-main .moon-calendar-overview .sl-mooncal-title { font-size: clamp(36px, 9vw, 56px) !important; line-height: 1.03 !important; font-weight: 400 !important; }
  body.sl-stage-moon-calendar #tm-main .moon-calendar-overview__phase { max-width: 420px; width: 100%; box-sizing: border-box; padding: 20px; }
  body.sl-stage-moon-calendar #tm-main .moon-calendar-overview__summary h3 { font-size: 24px !important; }
  body.sl-stage-moon-calendar #tm-main .sl-mooncal-context.moon-calendar-context { grid-template-columns: 1fr; }
  body.sl-stage-moon-calendar #tm-main .moon-calendar-context > :nth-child(n+2) { grid-column: 1; grid-row: auto; }
}
body.sl-stage-moon-calendar #tm-main { padding-block: clamp(24px, 4vw, 56px) 88px; }
body.sl-stage-moon-calendar #tm-main > .uk-container { max-width: 1120px; }
body.sl-stage-moon-calendar #tm-main > .uk-container > .uk-margin-medium-bottom { margin-bottom: 24px; }
body.sl-stage-moon-calendar #tm-main .uk-breadcrumb { margin: 0; }
body.sl-stage-moon-calendar #tm-main .uk-breadcrumb :is(a, span) { color: var(--sl-muted); font: 400 14px/1.4 var(--sl-yoo-font-body, Arsenal, Arial, sans-serif); text-transform: none; }
body.sl-stage-moon-calendar #tm-main .sl-mooncal-title {
  max-width: 17ch;
  margin: 0 0 26px;
  color: var(--sl-text);
  font: 400 clamp(38px, 5vw, 62px)/1.08 var(--sl-yoo-font-heading, "Playfair Display", Georgia, serif);
  letter-spacing: -.025em;
  text-wrap: balance;
}
body.sl-stage-moon-calendar #tm-main .sl-mooncal-tools {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: end;
  gap: 15px;
  margin: 0 0 30px;
  padding: 20px;
  border: 1px solid var(--sl-line);
  border-radius: 14px;
  background: var(--sl-surface);
}
body.sl-stage-moon-calendar #tm-main .sl-mooncal-tools > * { width: auto !important; min-width: 0; margin: 0; padding: 0; }
body.sl-stage-moon-calendar #tm-main .sl-mooncal-tools #transit_form { margin: 0; text-align: left; }
body.sl-stage-moon-calendar #tm-main .sl-mooncal-tools #transit_form .uk-form-label { position: static; float: none; width: auto; margin: 0 0 8px; color: var(--sl-muted); }
body.sl-stage-moon-calendar #tm-main .sl-mooncal-tools #transit_form h5 { color: var(--sl-muted); font: 600 14px/1.4 var(--sl-yoo-font-body, Arsenal, Arial, sans-serif); }
body.sl-stage-moon-calendar #tm-main .sl-mooncal-tools #transit_form .uk-form-controls { margin-left: 0; }
body.sl-stage-moon-calendar #tm-main #periodpicker,
body.sl-stage-moon-calendar #tm-main .period_picker_show {
  box-sizing: border-box;
  min-height: 48px;
  padding: 10px 15px;
  border: 1px solid var(--sl-line);
  border-radius: 10px;
  background: var(--sl-raised);
  color: var(--sl-text);
  font: 500 16px/1.4 var(--sl-yoo-font-body, Arsenal, Arial, sans-serif);
}
body.sl-stage-moon-calendar #tm-main #periodpicker { width: min(100%, 300px); }
body.sl-stage-moon-calendar #tm-main .sl-mooncal-tools .period_picker_input {
  box-sizing: border-box;
  display: flex;
  min-height: 48px;
  align-items: center;
  justify-content: flex-start;
  border: 1px solid var(--sl-line);
  border-radius: 10px;
  background: var(--sl-raised);
  color: var(--sl-text);
  font: 500 16px/1.4 var(--sl-yoo-font-body, Arsenal, Arial, sans-serif);
  text-align: left;
  text-transform: none;
}
body.sl-stage-moon-calendar #tm-main .sl-mooncal-tools .period_picker_input .period_button_text { padding-inline: 14px; }
body.sl-stage-moon-calendar #tm-main .sl-mooncal-tools .period_picker_input .period_button_content_body { color: var(--sl-text); }
body.sl-stage-moon-calendar #tm-main .sl-mooncal-tools .period_picker_input .icon_calendar { filter: brightness(0) invert(1); opacity: .72; }
html[data-theme="light"] body.sl-stage-moon-calendar #tm-main .sl-mooncal-tools .period_picker_input .icon_calendar { filter: none; }
body.sl-stage-moon-calendar #tm-main .sl-mooncal-tools .period_picker_input:focus-visible { outline: 2px solid var(--sl-focus); outline-offset: 3px; }
body.sl-stage-moon-calendar #tm-main .sl-mooncal-tools > :has(> a[uk-toggle]) a {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  padding: 10px 17px;
  border: 1px solid var(--sl-line);
  border-radius: 10px;
  background: transparent;
  color: var(--sl-text);
  font: 600 14px/1.25 var(--sl-yoo-font-body, Arsenal, Arial, sans-serif);
  text-transform: none;
}
body.sl-stage-moon-calendar #tm-main .sl-mooncal-tools > :has(> a[uk-toggle]) br { display: none; }
body.sl-stage-moon-calendar #tm-main .sl-mooncal-tools .ya-share2 { min-height: 42px; }
body.sl-stage-moon-calendar #tm-main .sl-mooncal-tools > :has(.ya-share2):not(:has(.ya-share2 > *)) { display: none; }
/* periodpicker appends its popup to body, outside #tm-main. Scope the original
   plugin's controls without changing its date value or submit callback. */
body.sl-stage-moon-calendar .period_picker_box {
  border: 1px solid var(--sl-line);
  border-radius: 12px;
  background: var(--sl-surface);
  color: var(--sl-text);
  box-shadow: 0 18px 42px rgba(0, 0, 0, .36);
  font: 14px/1.4 var(--sl-yoo-font-body, Arsenal, Arial, sans-serif);
}
body.sl-stage-moon-calendar .period_picker_box * { color: var(--sl-text); }
body.sl-stage-moon-calendar .period_picker_box :is(.period_picker_head_title, .period_picker_year, .period_picker_first_letters_table th, .period_picker_gray_period) { color: var(--sl-muted); }
body.sl-stage-moon-calendar .period_picker_box .period_picker_days table table.period_picker_first_letters_table th { color: var(--sl-muted); }
body.sl-stage-moon-calendar .period_picker_box :is(.period_picker_years_selector, .period_picker_submit_dates, .period_picker_submit_dates .input_box) { background: var(--sl-raised); }
body.sl-stage-moon-calendar .period_picker_box .period_picker_years { border-radius: 7px; overflow: hidden; }
body.sl-stage-moon-calendar .period_picker_box .period_picker_days table table td:hover,
body.sl-stage-moon-calendar .period_picker_box .periodpicker_item:hover { background: var(--sl-raised); }
body.sl-stage-moon-calendar .period_picker_box .period_picker_days table table td.period_picker_holiday { color: var(--sl-copper-bright, var(--sl-copper)); }
body.sl-stage-moon-calendar .period_picker_box .period_picker_days table table td.period_picker_selected,
body.sl-stage-moon-calendar .period_picker_box .periodpicker_item.active { border-radius: 5px; background: var(--sl-copper); color: #211811; }
html[data-theme="light"] body.sl-stage-moon-calendar .period_picker_box .period_picker_days table table td.period_picker_selected,
html[data-theme="light"] body.sl-stage-moon-calendar .period_picker_box .periodpicker_item.active { color: #fff; }
body.sl-stage-moon-calendar .period_picker_box .period_picker_submit_dates { border-top: 1px solid var(--sl-line); }
body.sl-stage-moon-calendar .period_picker_box .period_picker_submit_dates::before { border: 0; }
body.sl-stage-moon-calendar .period_picker_box .period_picker_submit_dates .input_box { border: 1px solid var(--sl-line); border-radius: 7px; }
body.sl-stage-moon-calendar .period_picker_box .period_picker_submit_dates input.input_control { color: var(--sl-text); font: 14px/1.4 var(--sl-yoo-font-body, Arsenal, Arial, sans-serif); }
body.sl-stage-moon-calendar .period_picker_box .period_picker_show.period_picker_ok {
  min-width: 74px;
  border: 1px solid var(--sl-copper);
  border-radius: 8px;
  background: var(--sl-copper);
  color: #211811;
  font: 700 13px/1.3 var(--sl-yoo-font-body, Arsenal, Arial, sans-serif);
  text-transform: none;
}
body.sl-stage-moon-calendar .period_picker_box .period_picker_show.period_picker_ok span { color: inherit; }
html[data-theme="light"] body.sl-stage-moon-calendar .period_picker_box .period_picker_show.period_picker_ok { color: #fff; }
body.sl-stage-moon-calendar .period_picker_box :is(.period_picker_close, .xdsoft_navigate) { filter: brightness(0) invert(1); }
html[data-theme="light"] body.sl-stage-moon-calendar .period_picker_box :is(.period_picker_close, .xdsoft_navigate) { filter: none; }
body.sl-stage-moon-calendar .period_picker_box .periodpicker_timepicker_dialog { border-color: var(--sl-line); background: var(--sl-surface); box-shadow: none; }
body.sl-stage-moon-calendar .period_picker_box .periodpicker_timepicker::before,
body.sl-stage-moon-calendar .period_picker_box .periodpicker_timepicker::after { box-shadow: none; }
body.sl-stage-moon-calendar .period_picker_box .periodpicker_timepicker .periodpicker_timepicker_sliders > div > div > div { color: var(--sl-muted); }
body.sl-stage-moon-calendar .period_picker_box .periodpicker_timepicker .periodpicker_timepicker_sliders > div > div > div.active { color: var(--sl-text); }
html[data-theme="light"] body.sl-stage-moon-calendar .period_picker_box .periodpicker_timepicker .periodpicker_timepicker_sliders > div > div > div.active { color: #fff; }
body.sl-stage-moon-calendar .period_picker_box .periodpicker_timepicker .periodpicker_timepicker_center::before,
body.sl-stage-moon-calendar .period_picker_box .periodpicker_timepicker .periodpicker_timepicker_center::after { border-top-color: var(--sl-line); }
body.sl-stage-moon-calendar .period_picker_box :is(button, a, input, [tabindex]):focus-visible { outline: 2px solid var(--sl-focus); outline-offset: 2px; }
body.sl-stage-moon-calendar #tm-main .sl-mooncal-phase {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 20px;
  margin: 0 0 28px;
  padding: 24px;
  border: 1px solid var(--sl-line);
  border-radius: 16px;
  background: var(--sl-surface);
}
body.sl-stage-moon-calendar #tm-main .sl-mooncal-phase > * { width: auto !important; min-width: 0; margin: 0; padding: 0; }
body.sl-stage-moon-calendar #tm-main .sl-mooncal-phase > :first-child { grid-column: 2; grid-row: 1; text-align: center; color: var(--sl-muted); }
body.sl-stage-moon-calendar #tm-main .sl-mooncal-phase > :nth-child(2) { grid-column: 1; grid-row: 1; }
body.sl-stage-moon-calendar #tm-main .sl-mooncal-phase > :nth-child(3) { grid-column: 3; grid-row: 1; }
body.sl-stage-moon-calendar #tm-main .sl-mooncal-phase h3 { margin: 0 0 4px; color: var(--sl-text); font: 400 clamp(26px, 3vw, 38px)/1.18 var(--sl-yoo-font-heading, "Playfair Display", Georgia, serif); }
body.sl-stage-moon-calendar #tm-main .sl-mooncal-phase form { margin: 0; }
body.sl-stage-moon-calendar #tm-main .sl-mooncal-phase button {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 9px 14px;
  border: 1px solid var(--sl-line);
  border-radius: 10px;
  background: var(--sl-raised);
  color: var(--sl-text);
  font: 600 14px/1.2 var(--sl-yoo-font-body, Arsenal, Arial, sans-serif);
  text-transform: none;
}
body.sl-stage-moon-calendar #tm-main .sl-mooncal-phase button:hover { border-color: var(--sl-copper); background: var(--sl-surface); }
body.sl-stage-moon-calendar #tm-main .sl-mooncal-phase button:focus-visible,
body.sl-stage-moon-calendar #tm-main .sl-mooncal-tools :is(a, input, button):focus-visible { outline: 2px solid var(--sl-focus); outline-offset: 3px; }
body.sl-stage-moon-calendar #tm-main .sl-mooncal-phase button[aria-label="Предыдущий день"] .sl-mooncal-nav-label { order: 2; }
body.sl-stage-moon-calendar #tm-main .sl-mooncal-day { margin: 0 0 26px; }
body.sl-stage-moon-calendar #tm-main .sl-mooncal-day > * { width: 100%; min-width: 0; padding-left: 0; }
body.sl-stage-moon-calendar #tm-main .sl-mooncal-day .uk-card { border: 0; background: transparent; box-shadow: none; }
body.sl-stage-moon-calendar #tm-main .sl-mooncal-day .uk-card-body { max-width: 72ch; margin-inline: auto; padding: 0; color: var(--sl-text); font-size: 17px; line-height: 1.7; text-align: left; }
body.sl-stage-moon-calendar #tm-main .sl-mooncal-day .uk-card-body h4 { margin-top: 25px; color: var(--sl-text); font: 400 28px/1.25 var(--sl-yoo-font-heading, "Playfair Display", Georgia, serif); }
body.sl-stage-moon-calendar #tm-main .sl-mooncal-progress { margin: 0 0 28px; padding: 16px 20px; border: 1px solid var(--sl-line); border-radius: 14px; background: var(--sl-surface); }
body.sl-stage-moon-calendar #tm-main .sl-mooncal-progress > * { width: 100%; padding: 0; }
body.sl-stage-moon-calendar #tm-main .sl-mooncal-progress svg { display: block; width: 100%; max-width: 100%; height: auto; }
body.sl-stage-moon-calendar #tm-main .sl-mooncal-progress :is(p, div) { color: var(--sl-muted); }
body.sl-stage-moon-calendar #tm-main .sl-mooncal-context { display: grid; grid-template-columns: minmax(170px, 250px) minmax(0, 1fr); gap: 20px 28px; align-items: start; margin: 0 0 40px; }
body.sl-stage-moon-calendar #tm-main .sl-mooncal-context > * { width: 100% !important; min-width: 0; margin: 0; padding: 0; }
body.sl-stage-moon-calendar #tm-main .sl-mooncal-context > :first-child { grid-column: 1; grid-row: 1 / span 2; }
body.sl-stage-moon-calendar #tm-main .sl-mooncal-context > :nth-child(2) { grid-column: 2; grid-row: 1; }
body.sl-stage-moon-calendar #tm-main .sl-mooncal-context > :nth-child(3) { grid-column: 2; grid-row: 2; }
body.sl-stage-moon-calendar #tm-main .sl-mooncal-context img { display: block; width: min(100%, 250px) !important; height: auto; margin-inline: auto; }
body.sl-stage-moon-calendar #tm-main .sl-mooncal-context .uk-card { border: 1px solid var(--sl-line); border-radius: 14px; background: var(--sl-surface); box-shadow: none; }
body.sl-stage-moon-calendar #tm-main .sl-mooncal-context .uk-card-header { padding: 18px 22px 0; border: 0; }
body.sl-stage-moon-calendar #tm-main .sl-mooncal-context .uk-card-header h4 { margin: 0; color: var(--sl-text); font: 400 25px/1.25 var(--sl-yoo-font-heading, "Playfair Display", Georgia, serif); }
body.sl-stage-moon-calendar #tm-main .sl-mooncal-context .uk-card-body { height: auto !important; padding: 16px 22px 22px; color: var(--sl-text); line-height: 1.6; }
body.sl-stage-moon-calendar #tm-main .sl-mooncal-context .uk-card-body h4 { color: var(--sl-text); font: 400 20px/1.3 var(--sl-yoo-font-heading, "Playfair Display", Georgia, serif); }
body.sl-stage-moon-calendar #tm-main .sl-mooncal-context .uk-card-body form { margin: 3px 0 18px; }
body.sl-stage-moon-calendar #tm-main .sl-mooncal-context .uk-card-body form button { color: var(--sl-copper); text-transform: none; }
body.sl-stage-moon-calendar #tm-main .sl-mooncal-auth { max-width: 700px; margin: 55px auto 0; }
body.sl-stage-moon-calendar #tm-main .sl-mooncal-auth > * { width: 100% !important; padding: 0; }
body.sl-stage-moon-calendar #tm-main .sl-mooncal-auth #auth_reg { color: var(--sl-text); font: 400 clamp(28px, 3vw, 38px)/1.2 var(--sl-yoo-font-heading, "Playfair Display", Georgia, serif); }
body.sl-stage-moon-calendar #tm-main .sl-mooncal-auth .uk-card { border: 1px solid var(--sl-line); border-radius: 14px; background: var(--sl-surface); }
body.sl-stage-moon-calendar #tm-main .sl-mooncal-auth .uk-form-label { color: var(--sl-muted); }
body.sl-stage-moon-calendar #tm-main .sl-mooncal-auth :is(input[type="text"], input[type="password"]) { color: var(--sl-text); background: var(--sl-raised); border: 1px solid var(--sl-line); border-radius: 10px; }
/* Same native form, switcher and benefits; no credential/consent lifecycle changes. */
body.sl-stage-moon-calendar #tm-main .calendar-account { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); align-items: start; gap: 48px; max-width: none; margin-top: 64px; }
body.sl-stage-moon-calendar #tm-main .calendar-account > :is(.calendar-account__entry, .calendar-account__benefits) { min-width: 0; margin-top: 0; }
body.sl-stage-moon-calendar #tm-main .calendar-account .calendar-account__title { margin: 0 0 24px; color: var(--sl-text); font: 400 36px/1.25 var(--sl-yoo-font-heading, "Playfair Display", Georgia, serif); text-align: left !important; text-transform: none; }
body.sl-stage-moon-calendar #tm-main .calendar-account__title::before,
body.sl-stage-moon-calendar #tm-main .calendar-account__title::after,
body.sl-stage-moon-calendar #tm-main .calendar-account__title > span::before,
body.sl-stage-moon-calendar #tm-main .calendar-account__title > span::after { display: none; }
body.sl-stage-moon-calendar #tm-main .calendar-account__entry > .uk-card { box-shadow: none; }
body.sl-stage-moon-calendar #tm-main .calendar-account__entry > .uk-card > .uk-card-body { padding: 28px; color: var(--sl-text); }
body.sl-stage-moon-calendar #tm-main .calendar-account form { font: 400 16px/1.55 var(--sl-yoo-font-body, Arsenal, Arial, sans-serif); text-align: left; text-transform: none; letter-spacing: normal; }
body.sl-stage-moon-calendar #tm-main .calendar-account #registerform > .uk-grid > :is(.uk-width-1-4, .uk-width-3-4) { width: 100%; text-align: left; }
body.sl-stage-moon-calendar #tm-main .calendar-account #registerform .uk-width-1-4 { margin-top: 16px; }
body.sl-stage-moon-calendar #tm-main .calendar-account .uk-form-label { display: block; color: var(--sl-text); font: 600 16px/1.45 var(--sl-yoo-font-body, Arsenal, Arial, sans-serif); text-align: left; text-transform: none; letter-spacing: normal; }
body.sl-stage-moon-calendar #tm-main .calendar-account :is(input[type="text"], input[type="password"]) { box-sizing: border-box; width: 100%; min-height: 48px; font: 400 16px/1.5 var(--sl-yoo-font-body, Arsenal, Arial, sans-serif); }
body.sl-stage-moon-calendar #tm-main .calendar-account :is(input[type="submit"], button[type="submit"]) { min-height: 48px; padding: 12px 18px; color: var(--sl-button-ink, #1d110d); background: var(--sl-accent); font: 700 16px/1.4 var(--sl-yoo-font-body, Arsenal, Arial, sans-serif); text-transform: none; letter-spacing: normal; }
body.sl-stage-moon-calendar #tm-main .calendar-account [uk-tab] a { min-height: 44px; box-sizing: border-box; display: inline-flex; align-items: center; color: var(--sl-muted); font: 600 16px/1.4 var(--sl-yoo-font-body, Arsenal, Arial, sans-serif); text-transform: none; letter-spacing: normal; }
body.sl-stage-moon-calendar #tm-main .calendar-account [uk-tab] .uk-active a { color: var(--sl-copper); border-color: var(--sl-copper); }
body.sl-stage-moon-calendar #tm-main .calendar-account :is(input, button, a):focus-visible { outline: 2px solid var(--sl-focus); outline-offset: 3px; }
body.sl-stage-moon-calendar #tm-main .calendar-account .control-group { color: var(--sl-text); font: 400 16px/1.55 var(--sl-yoo-font-body, Arsenal, Arial, sans-serif); text-transform: none; letter-spacing: normal; }
body.sl-stage-moon-calendar #tm-main .calendar-account__benefits .uk-list { width: 100%; max-width: 65ch; margin: 0; }
body.sl-stage-moon-calendar #tm-main .calendar-account__benefits .el-item { margin: 0; padding-block: 16px; border-bottom: 1px solid var(--sl-line); }
body.sl-stage-moon-calendar #tm-main .calendar-account__benefits .el-content { color: var(--sl-text); font: 400 18px/1.6 var(--sl-yoo-font-body, Arsenal, Arial, sans-serif); text-transform: none; letter-spacing: normal; }
/* Preserve native auth actions and provider artwork; only their presentation changes. */
body.sl-stage-moon-calendar #tm-main .calendar-account [uk-tab] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
body.sl-stage-moon-calendar #tm-main .calendar-account [uk-tab] > li { min-width: 0; }
body.sl-stage-moon-calendar #tm-main .calendar-account [uk-tab] a { justify-content: center; height: 100%; padding-inline: 8px; text-align: center; }
body.sl-stage-moon-calendar #tm-main .calendar-account .slogin-buttons { gap: 10px; margin-block: 20px; }
body.sl-stage-moon-calendar #tm-main .calendar-account .slogin-buttons > div { padding: 0; margin: 0; }
body.sl-stage-moon-calendar #tm-main .calendar-account .slogin-buttons a[title] { display: inline-flex; align-items: center; justify-content: center; gap: 10px; box-sizing: border-box; min-height: 48px; padding: 10px 14px; border: 1px solid var(--sl-line); border-radius: 12px; color: var(--sl-text); background: var(--sl-raised); font: 600 16px/1.4 var(--sl-yoo-font-body, Arsenal, Arial, sans-serif); text-decoration: none; }
body.sl-stage-moon-calendar #tm-main .calendar-account .slogin-buttons a[title]::after { content: attr(title); }
body.sl-stage-moon-calendar #tm-main .calendar-account .slogin-buttons a[title] > :is(.vkontakteslogin, .yandexslogin) { flex: none; width: 24px; height: 24px; margin: 0; background-size: contain; background-repeat: no-repeat; border-radius: 4px; }
body.sl-stage-moon-calendar #tm-main .calendar-account .slogin-buttons a[title]:hover { background: var(--sl-surface); border-color: var(--sl-copper); }
body.sl-stage-moon-calendar #tm-main .calendar-account .smart-captcha { width: 300px; max-width: none; margin-inline: auto; }
body.sl-stage-v2.sl-stage-moon-calendar .site-footer__managed :is(#module-462, #module-463) .payment_footer { padding: 0; background: transparent; }
html:not([data-theme="light"]) body.sl-stage-moon-calendar .site-footer__managed .payment_footer img { filter: brightness(0) invert(1) sepia(1); opacity: .8; }
@media (max-width: 760px) {
  /* Native com_form H1 mobile rules are important; override only these reading roles. */
  body.sl-stage-moon-calendar #tm-main .calendar-account .calendar-account__title { font-size: 28px !important; line-height: 1.25 !important; font-weight: 400 !important; }
}
@media (max-width: 960px) {
  body.sl-stage-moon-calendar #tm-main .calendar-account { grid-template-columns: 1fr; gap: 40px; }
  body.sl-stage-moon-calendar #tm-main .calendar-account__entry { max-width: 580px; }
  body.sl-stage-moon-calendar #tm-main .calendar-account__benefits .el-content { font-size: 16px; }
}
@media (max-width: 420px) {
  body.sl-stage-moon-calendar #tm-main .calendar-account__entry > .uk-card > .uk-card-body { padding: 20px; }
  body.sl-stage-moon-calendar #tm-main .calendar-account .slogin-buttons > div { width: 100%; }
  body.sl-stage-moon-calendar #tm-main .calendar-account .slogin-buttons a[title] { width: 100%; }
}
@media (max-width: 760px) {
  body.sl-stage-moon-calendar #tm-main .sl-mooncal-tools { grid-template-columns: 1fr; padding: 16px; }
  body.sl-stage-moon-calendar #tm-main .sl-mooncal-tools > * { width: 100% !important; }
  body.sl-stage-moon-calendar #tm-main .sl-mooncal-phase { grid-template-columns: 1fr 1fr; gap: 15px; padding: 20px; }
  body.sl-stage-moon-calendar #tm-main .sl-mooncal-phase > :first-child { grid-column: 1 / -1; grid-row: 1; }
  body.sl-stage-moon-calendar #tm-main .sl-mooncal-phase > :nth-child(2) { grid-column: 1; grid-row: 2; }
  body.sl-stage-moon-calendar #tm-main .sl-mooncal-phase > :nth-child(3) { grid-column: 2; grid-row: 2; }
  body.sl-stage-moon-calendar #tm-main .sl-mooncal-phase button { width: 100%; padding-inline: 8px; }
  body.sl-stage-moon-calendar #tm-main .sl-mooncal-context { grid-template-columns: 1fr; gap: 18px; }
  body.sl-stage-moon-calendar #tm-main .sl-mooncal-context > * { grid-column: 1 !important; grid-row: auto !important; }
  body.sl-stage-moon-calendar #tm-main .sl-mooncal-context img { width: min(55%, 200px) !important; }
}
@media (max-width: 420px) {
  body.sl-stage-moon-calendar #tm-main { padding-top: 22px; }
  body.sl-stage-moon-calendar #tm-main > .uk-container { padding-inline: 18px; }
  body.sl-stage-moon-calendar #tm-main .sl-mooncal-title { font-size: 37px; }
  body.sl-stage-moon-calendar #tm-main .sl-mooncal-nav-label { font-size: 12px; }
}
@media (max-width: 360px) {
  body.sl-stage-moon-calendar .period_picker_box.visible { box-sizing: border-box; width: calc(100vw - 12px) !important; min-width: 0; left: 6px !important; padding-inline: 12px; }
  body.sl-stage-moon-calendar .period_picker_box .period_picker_submit_dates { margin-inline: 12px; }
}
