.planner-astro-band {
  --astro-navy:#18334f;
  --astro-gold:#a78a48;
  --astro-paper:#f6eedb;
  --astro-label:58px;
  --astro-sign:44px;
  --astro-pin-half:14px;
  color:var(--astro-navy);
  margin:8px 0 16px;
  padding:10px 10px 8px;
  border:1px solid #bda775;
  border-radius:12px;
  background:linear-gradient(180deg,#fbf5e8,var(--astro-paper));
  box-shadow:inset 0 0 0 3px #ffffff55;
}
.planner-astro-band[hidden] {display:none !important;}
.astro-band-heading {display:flex;align-items:baseline;justify-content:space-between;gap:8px;flex-wrap:wrap;padding:0 2px 4px;}
.astro-band-heading h3 {margin:0;font:600 14px/1.3 Georgia,'Times New Roman',serif;color:var(--astro-navy);}
.astro-date {font-size:10px;line-height:1.4;color:#675639;font-variant-numeric:tabular-nums;}
.astro-scroll-hint {display:none;font-size:10px;margin:0 2px 4px;color:#675639;}
.astro-scroller {max-width:100%;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scrollbar-color:#aa8f53 #efe2c4;scrollbar-width:thin;-webkit-overflow-scrolling:touch;}
.astro-strip {width:max(100%,calc(var(--astro-label) + 12 * var(--astro-sign) + 2 * var(--astro-pin-half)));}
.astro-row {display:grid;grid-template-columns:var(--astro-label) minmax(0,1fr);}
.astro-row-name {position:sticky;left:0;z-index:2;display:flex;align-items:center;gap:4px;padding:0 6px;background:var(--astro-paper);font-size:10px;line-height:1.1;font-weight:600;white-space:nowrap;}
.astro-sign-row .astro-row-name {background:#fbf5e8;}
.astro-track {padding-inline:var(--astro-pin-half);min-width:0;}
.astro-signs {display:grid;grid-template-columns:repeat(12,minmax(0,1fr));padding-bottom:5px;}
.astro-sign {
  display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:3px;
  min-width:0;min-height:59px;width:100%;padding:3px 1px 2px;
  margin:0;border:0;border-radius:7px;background:none;color:var(--astro-navy);
  cursor:pointer;font:inherit;touch-action:pan-x pan-y;
}
.astro-medallion {display:block;width:40px;height:40px;border-radius:50%;background-size:300% 400%;background-repeat:no-repeat;box-shadow:0 0 0 1px #89723e88,0 2px 3px #513f2524;flex-shrink:0;}
.astro-sign-label {font:600 9px/1.2 Georgia,'Times New Roman',serif;white-space:nowrap;}
.astro-sign:hover {background:#dacba64d;}
.astro-planet-row {height:24px;}
.astro-planet-row .astro-track {background:#18334f04;}
.astro-planet-row:nth-child(odd) .astro-track {background:#bca77913;}
.astro-planet-row:last-child {border-bottom:1px solid #bda77577;}
.astro-axis {
  position:relative;height:24px;min-width:0;
  background-image:linear-gradient(90deg,#a78a4866 1px,transparent 1px);
  background-size:calc(100% / 12) 100%;border-right:1px solid #a78a4866;
}
.astro-position {
  position:absolute;top:0;transform:translateX(-50%);z-index:1;
  display:flex;align-items:center;justify-content:center;
  width:28px;height:24px;min-height:24px;min-width:24px;
  padding:0;margin:0;border:1px solid #85682e;border-radius:12px;
  background:#fbf5e8;color:var(--astro-navy);font:600 17px/1 Georgia,serif;
  cursor:pointer;touch-action:pan-x pan-y;box-shadow:0 1px 2px #17314e20;
}
.astro-sun {background:#cfad56;color:#18334f;}
.astro-moon {background:#fffdf5;color:#18334f;}
.astro-mars {color:#a24936;}
.astro-position:hover {background:#ebdcae;}
.astro-sign:focus-visible,.astro-position:focus-visible,.astro-scroller:focus-visible {outline:2px solid #9a3e2d;outline-offset:2px;z-index:3;}
.astro-detail {display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;min-height:26px;padding:7px 3px 4px;font-size:11px;line-height:1.45;color:#51482f;}
.astro-detail-title {color:var(--astro-navy);font-weight:600;}
.astro-position-list {display:flex;flex-wrap:wrap;gap:4px 12px;list-style:none;padding:0;margin:0;font-variant-numeric:tabular-nums;}
.astro-footer {display:flex;align-items:baseline;justify-content:space-between;gap:5px 14px;flex-wrap:wrap;padding:3px 3px 0;color:#675639;font-size:9px;line-height:1.4;}
.astro-sources a {color:#5d481f;text-decoration:underline;text-underline-offset:2px;}
@media(max-width:600px) {
  .planner-astro-band {--astro-sign:62px;--astro-label:72px;padding:8px 7px;}
  .astro-scroll-hint {display:block;}
  .astro-medallion {width:48px;height:48px;}
  .astro-sign {min-height:67px;}
}
@media(max-width:480px) {
  .planner-astro-band {--astro-label:68px;--astro-sign:60px;margin-bottom:12px;border-radius:9px;}
  .astro-band-heading h3 {font-size:13px;}
  .astro-date {font-size:9px;}
  .astro-row-name {font-size:9px;}
  .astro-footer {font-size:9px;}
}
@media(prefers-reduced-motion:reduce) {.astro-scroller {scroll-behavior:auto;}}

/* Append after band CSS. This is a responsive, circular two-scale clock.
   The actual liturgical wheel remains live in its centre; no duplicated IDs. */
.planner-astro-band {min-width:0;max-width:100%;overflow:hidden;}
.astro-scroller {width:100%;max-width:100%;min-width:0;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;}
.astro-combined-frame {width:100%;min-width:0;max-width:640px;margin-inline:auto;padding-bottom:3px;}
.astro-combined-clock {position:relative;width:100%;aspect-ratio:1;isolation:isolate;background:radial-gradient(circle at 50% 50%,#fffdf766,transparent 73%);}
.astro-clock-drawing {position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;}
.astro-zodiac-annulus{stroke:#baa477;stroke-width:1.2;}
.astro-zodiac-stars{stroke:none;pointer-events:none;}
.astro-ecliptic-ring {fill:none;stroke:#d8c087;stroke-width:.8;stroke-opacity:.75;}
.astro-display-track {fill:none;stroke:#9277412b;stroke-width:.5;stroke-dasharray:2 5;}
.astro-degree-major {stroke:#d8c087;stroke-width:1.2;}
.astro-degree-minor {stroke:#d8c08766;stroke-width:.7;}
.astro-degree-label {fill:#e5d8ba;font:9px Georgia,serif;font-variant-numeric:tabular-nums;}
.astro-ring-name{fill:#f2e5c7;font:600 14px Georgia,serif;letter-spacing:.35px;pointer-events:auto;cursor:pointer;paint-order:stroke;stroke:#364e69;stroke-width:2.3px;stroke-linejoin:round;}
.astro-ring-name:hover,.astro-ring-name[aria-pressed='true']{fill:#fffaf0;text-decoration:underline;}
.astro-ring-name:focus-visible{outline:none;fill:#183950;text-decoration:underline;}
@media(max-width:480px){.astro-ring-name{font-size:22px;letter-spacing:.1px;}}
.astro-clock-leader {stroke-width:.7;stroke-opacity:.5;}
.astro-clock-leader.is-selected {stroke-width:1.8;stroke-opacity:1;}
.astro-longitude-anchor {stroke:#fff9eb;stroke-width:.6;}
.astro-clock-sign {
  position:absolute;z-index:2;transform:translate(-50%,-50%);
  display:flex;flex-direction:column;align-items:center;gap:3px;
  width:74px;min-width:0;height:64px;min-height:0;padding:4px 0 0;
  margin:0;border:0;border-radius:9px;background:none;color:#18334f;
  cursor:pointer;font:inherit;touch-action:manipulation;
}
.astro-combined-clock .astro-medallion {position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:42px;height:42px;border-radius:50%;background-size:300% 400%;background-repeat:no-repeat;box-shadow:0 0 0 1px #8b743caa,0 2px 4px #46361524;}
.astro-combined-frame.is-small .astro-medallion {width:34px;height:34px;}
.astro-combined-frame.is-small .astro-clock-sign-name {display:none;}
.astro-combined-frame.is-small .astro-degree-label {display:none;}
.astro-combined-frame.is-small .astro-clock-sign {width:60px;height:55px;gap:2px;}
.astro-clock-sign-name {position:absolute;left:50%;top:calc(50% + 25px);transform:translateX(-50%);white-space:nowrap;font:600 10px/1.2 Georgia,serif;color:#344461;}
.astro-clock-sign[data-half='upper'] .astro-clock-sign-name {top:auto;bottom:calc(50% + 25px);}
.astro-clock-sign:hover,.astro-clock-sign[aria-pressed='true'] {background:#b8a06e20;}
.astro-clock-sign[aria-pressed='true'] .astro-medallion {box-shadow:0 0 0 2px #965137,0 2px 4px #46361524;}
.astro-clock-body {
  position:absolute;z-index:3;transform:translate(-50%,-50%);
  display:flex;align-items:center;justify-content:center;
  width:32px;height:32px;min-width:0;min-height:0;padding:0;margin:0;
  border:1px solid var(--astro-body-colour,#7e6d41);border-radius:50%;
  background:#faf3e1;color:var(--astro-body-colour,#18334f);
  font:600 20px/1 Georgia,'Times New Roman',serif;box-shadow:0 1px 3px #17314e22;
  cursor:pointer;touch-action:manipulation;transition:left .9s ease-out,top .9s ease-out;
}
.astro-clock-body.astro-sun {background:#ead39a;color:#795c16;}
.astro-clock-body.astro-moon {background:#fffdf7;color:#4e647c;}
.astro-clock-body:hover,.astro-clock-body[aria-pressed='true'] {box-shadow:0 0 0 2px #fcf8e9,0 0 0 3px var(--astro-body-colour),0 2px 5px #17314e33;z-index:4;}
.astro-year-centre {position:absolute;left:50%;top:50%;width:52%;height:52%;transform:translate(-50%,-50%);z-index:2;border-radius:50%;background:#fffdf7;box-shadow:0 0 0 1px #b39a6355,0 2px 8px #45341818;}
.astro-year-centre>#calendar-year-wheel,.astro-year-centre>#calendar-large-wheel {width:100%;max-width:none;min-width:0;height:auto;padding:0;margin:0;float:none;}
.astro-year-centre svg {display:block;width:100%!important;max-width:none;height:auto!important;border-radius:50%;}
.astro-year-centre [hidden] {display:none!important;}
.astro-clock-legend {display:flex;justify-content:center;align-items:center;gap:3px;flex-wrap:wrap;padding:2px 3px;}
.astro-clock-key {display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:2px 7px;min-width:0;min-height:44px;border:1px solid transparent;border-radius:6px;background:none;color:#394655;font:11px/1.2 Georgia,serif;white-space:nowrap;cursor:pointer;touch-action:manipulation;}
.astro-key-glyph {color:var(--astro-body-colour);font:18px/1 Georgia,serif;}
.astro-clock-key:hover,.astro-clock-key[aria-pressed='true'] {background:#ece1c388;border-color:#b99e62;}
.astro-clock-sign:focus-visible,.astro-clock-body:focus-visible,.astro-clock-key:focus-visible {outline:2px solid #953f2d;outline-offset:3px;z-index:5;}
.astro-detail {font-size:11px;min-height:24px;}
.astro-footer {font-size:10px;}
.calendar-has-combined-clock .calendar-wheel-layout {display:block;margin-top:12px;}
.calendar-has-combined-clock .calendar-wheel-layout>div {max-width:none;}
@media(max-width:480px) {
  .astro-combined-clock .astro-medallion {width:34px;height:34px;}
  .astro-clock-sign {width:60px;height:55px;gap:2px;}
  .astro-clock-sign-name {display:none;}
  .astro-degree-label {display:none;}
  .astro-clock-key {font-size:10px;padding-inline:5px;}
  .astro-scroll-hint {display:none;}
  .planner-astro-band {padding-inline:5px;}
  .astro-year-centre .wheel-centre-kicker {font-size:12px;}
}
@media(prefers-reduced-motion:reduce) {.astro-clock-body {transition:none;}}

/* Celestial glyphs retain a generous transparent touch target. */
.astro-clock-body,.astro-clock-body.astro-sun,.astro-clock-body.astro-moon{width:38px;height:38px;min-width:38px;min-height:38px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;color:var(--astro-body-colour);font-size:24px;text-shadow:0 1px 2px #17314e,1px 0 2px #17314e,-1px 0 2px #17314e;}
.astro-clock-body:hover,.astro-clock-body[aria-pressed='true']{background:transparent;box-shadow:none;filter:brightness(1.18);text-shadow:0 0 4px #17314e,0 0 8px #c4a76555;}
@media(max-width:480px){.astro-clock-body,.astro-clock-body.astro-sun,.astro-clock-body.astro-moon{font-size:18px;}}

@media(min-width:700px){
 .astro-combined-clock .astro-medallion{width:60px;height:60px;}
 .astro-clock-sign{width:78px;height:78px;}
 .astro-clock-sign-name{top:calc(50% + 34px);font-size:10px;}
 .astro-clock-sign[data-half='upper'] .astro-clock-sign-name{bottom:calc(50% + 34px);}
}

.astro-clock-sign-name{display:inline-flex;align-items:center;gap:3px;color:#6e5a34;}
.astro-combined-clock .astro-clock-sign-name{display:none;}
.astro-zodiac-key{margin:4px 5px 0;border-top:1px solid #c6ae7366;padding-top:8px;}
.astro-zodiac-key>summary{cursor:pointer;font:600 12px Georgia,serif;color:#51482f;padding:5px 0;}
.astro-zodiac-index{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:2px 6px;}
.astro-sign-key{display:flex;align-items:center;gap:5px;min-height:36px;border:0;background:transparent;color:#6e5a34;font:11px Georgia,serif;padding:4px 2px;cursor:pointer;}
.astro-sign-key:hover,.astro-sign-key[aria-pressed='true']{background:#eadbb955;border-radius:5px;}
.astro-clock-key .astro-key-glyph{color:#5f604f;}
.astro-combined-clock .astro-clock-body{ text-shadow:0 1px 2px #17314e,1px 0 2px #17314e,-1px 0 2px #17314e;}
@media(max-width:480px){.astro-zodiac-index{grid-template-columns:repeat(3,minmax(0,1fr));}.astro-sign-key{min-height:44px;}}
#calendar-expanded .astro-sign-key{display:flex;border:0;background:transparent;padding:4px 2px;min-height:36px;color:#6e5a34;font:11px Georgia,serif;box-shadow:none;}
.astro-zodiac-glyph{display:block;flex:none;width:15px;height:15px;color:inherit;}
.astro-combined-clock svg.astro-medallion-cutout{overflow:visible;border-radius:0;background:none;box-shadow:none;filter:drop-shadow(0 1px 2px #46361524);}
.astro-clock-sign[aria-pressed='true'] svg.astro-medallion-cutout{box-shadow:none;filter:drop-shadow(0 0 2px #965137);}
@media(max-width:480px){.astro-clock-sign-name{display:none;}}
/* Calendar dialog controls inherit their own restrained instrument styling. */
#calendar-expanded .astro-clock-sign{padding:0;margin:0;border:0;background:transparent;box-shadow:none;border-radius:50%;}
#calendar-expanded .astro-clock-sign:hover,#calendar-expanded .astro-clock-sign[aria-pressed='true']{background:#b8a06e20;}
#calendar-expanded .astro-clock-body,#calendar-expanded .astro-clock-body.astro-sun,#calendar-expanded .astro-clock-body.astro-moon{width:38px;height:38px;min-width:38px;min-height:38px;padding:0;margin:0;border:0;border-radius:0;background:transparent;box-shadow:none;color:var(--astro-body-colour);font:400 24px/1 Georgia,'Times New Roman',serif;}
#calendar-expanded .astro-clock-body:hover,#calendar-expanded .astro-clock-body[aria-pressed='true']{background:transparent;box-shadow:none;filter:brightness(1.18);}
#calendar-expanded .astro-clock-key{border:1px solid transparent;background:none;font:11px/1.2 Georgia,serif;min-height:44px;padding:2px 7px;color:#394655;}
#calendar-expanded .astro-clock-key:hover,#calendar-expanded .astro-clock-key[aria-pressed='true']{background:#ece1c388;border-color:#b99e62;}
@media(max-width:480px){#calendar-expanded .astro-clock-body{font-size:18px;}#calendar-expanded .astro-clock-key{font-size:10px;padding-inline:5px;}}
/* One instrument presentation for every country edition. */
dialog.calendar-has-combined-clock:is(#calendar-expanded,#year-dialog){width:min(720px,94vw);max-height:90vh;overflow:auto;box-sizing:border-box;padding:16px;border:1px solid #c6ae73;border-radius:14px;background:#faf7ee;color:#243551;}
dialog.calendar-has-combined-clock::backdrop{background:#0b2045a6;}
.calendar-has-combined-clock .calendar-expanded-header,.calendar-has-combined-clock .dialog-head{display:flex;justify-content:space-between;align-items:center;gap:10px;position:sticky;top:-16px;background:#faf7ee;padding:12px 0;margin-bottom:8px;z-index:6;}
.calendar-has-combined-clock .calendar-expanded-header h2,.calendar-has-combined-clock .dialog-head h2{margin:0;color:#243551;font:26px/1.2 Georgia,serif;}
.calendar-has-combined-clock .wheel-month{font:11px system-ui;fill:#6d624c;}
.calendar-has-combined-clock .wheel-centre-kicker{font:10px system-ui;letter-spacing:1.2px;fill:#806329;}
.calendar-has-combined-clock .wheel-centre-date{font:25px Georgia,serif;fill:#173c6c;}
.calendar-has-combined-clock .wheel-centre-season{font:15px Georgia,serif;fill:#173c6c;}
.calendar-has-combined-clock .wheel-event{cursor:pointer;}
@media(max-width:480px){
 dialog.calendar-has-combined-clock:is(#calendar-expanded,#year-dialog){padding:14px;}
 .calendar-has-combined-clock .calendar-expanded-header,.calendar-has-combined-clock .dialog-head{top:-14px;}
 .calendar-has-combined-clock .calendar-expanded-header h2,.calendar-has-combined-clock .dialog-head h2{font-size:22px;}
 .astro-year-centre .wheel-centre-date{font-size:34px;}
 .astro-year-centre .wheel-centre-season{font-size:22px;}
 .astro-year-centre .wheel-centre-kicker{font-size:12px;}
}

.astro-ecliptic-ring{stroke:#c7af76;}
.astro-degree-major{stroke:#d8c18a;}
.astro-degree-minor{stroke:#d8c18a55;}
.astro-degree-label{fill:#d1c29e;}
@media(max-width:480px){.astro-clock-legend{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px;justify-content:normal;}.astro-clock-key{justify-content:center;gap:4px;}.astro-clock-key:nth-child(5){grid-column:1;}}

/* Keep small lettering legible when the vector calendar is resized. */
.calendar-has-combined-clock .wheel-month{font:500 14px system-ui,sans-serif;paint-order:stroke;stroke:#fffdf7;stroke-width:3px;stroke-linejoin:round}
.calendar-has-combined-clock .wheel-centre-kicker{font:500 12px system-ui,sans-serif;letter-spacing:.7px}
.calendar-has-combined-clock .wheel-centre-date{font-size:30px}
.calendar-has-combined-clock .wheel-centre-season{font-size:18px}
@media(max-width:480px){
 .calendar-has-combined-clock .wheel-month{font-size:14px}
 .calendar-has-combined-clock .wheel-centre-kicker{font-size:18px;letter-spacing:.25px}
 .calendar-has-combined-clock .wheel-centre-date{font-size:34px}
 .calendar-has-combined-clock .wheel-centre-season{font-size:22px}
}

.astro-combined-clock .astro-clock-body.astro-sun,#calendar-expanded .astro-clock-body.astro-sun{font-size:29px;font-weight:600}
@media(max-width:480px){.astro-combined-clock .astro-clock-body.astro-sun,#calendar-expanded .astro-clock-body.astro-sun{font-size:23px}}

.calendar-has-combined-clock .wheel-centre-year{font:17px Georgia,serif;letter-spacing:.6px;fill:#806329}
@media(max-width:480px){.calendar-has-combined-clock .wheel-centre-year{font-size:23px}}

/* Reserve the finished instrument while the first sky positions load. */
.planner-astro-band[aria-busy='true'] .astro-detail{opacity:.7}
.astro-clock-legend{min-height:44px}
@media(max-width:480px){.astro-clock-legend{min-height:88px}}

/* Date navigation belongs to the instrument, directly below its planet key. */
.astro-combined-frame>.calendar-date-reset{width:min(100%,310px);margin:10px auto 12px;padding-top:10px;border-top:1px solid #c6ae7366;box-sizing:border-box;gap:8px}
.astro-combined-frame>.calendar-date-reset .calendar-today-button{flex:none;min-height:40px}
.astro-combined-frame>.calendar-date-reset input[type=date]{min-height:40px}
@media(max-width:480px){.astro-combined-frame>.calendar-date-reset{width:100%;padding-inline:6px}.calendar-expanded-controls:has(>.calendar-date-reset){flex-wrap:wrap}}

/* Reserve final geometry while the one calibrated zodiac is prepared. */
.astro-clock-pending{border-radius:50%;background:radial-gradient(circle,transparent 50%,#435e78 51%,#344b64 70%);box-shadow:inset 0 0 0 2px #b7a16d}

/* Phone reading takes priority over the manuscript centre decoration. */
@media(max-width:600px){
 .wheel-earth-centre,.large-wheel-earth-centre,.prototype-earth{display:none}
 .wheel-centre-scale,.prototype-copy-scale,.medallion-day,.medallion-month{transform:none}
}
