/* Calendar studio: quiet monthly overview, focused interactive daily reading. */
.visual [data-page=calendar] .page-heading{padding-bottom:22px}
.visual [data-page=calendar] .page-heading p{display:none}
.visual .calendar-layout{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:32px;grid-template-rows:auto}
.visual .calendar-panel{padding:26px 28px;background:var(--glaze);border:1px solid var(--line);border-radius:28px}
.visual .calendar-detail{grid-column:2;grid-row:auto;padding:28px 28px 24px;border-radius:28px;border:1px solid var(--line);background:var(--glaze);overflow:hidden}
.visual .calendar-detail>.eyebrow{display:none}
.visual .calendar-detail>h2{font-size:18px;margin:0 0 24px;color:var(--ink);font-weight:500}
.visual .calendar-activities[hidden]{display:none}
.visual .calendar-location{gap:8px 12px;margin-bottom:20px}
.visual .calendar-location>.city-note{display:none}
.visual .calendar-location .location-privacy{font-size:11px;max-width:700px;margin:0;color:var(--muted);line-height:1.6}
.visual .calendar-zone{font-size:11px;margin:10px 0 20px}
.visual .calendar-days{gap:5px}
.visual .calendar-days button{min-height:60px;padding:8px 2px 5px;gap:6px;border-radius:50%;aspect-ratio:1;font:400 19px/1.15 Georgia,serif;justify-content:center;align-self:center}
.visual .calendar-days button[data-important=true]:not([aria-pressed=true]){background:transparent;border-color:transparent}
.visual .calendar-days button[aria-pressed=true]{box-shadow:0 6px 18px #34264022}
.visual .calendar-days button[aria-current=date]::before{top:4px;right:calc(50% - 2px);width:3px;height:3px}
.visual .calendar-event-markers{flex-direction:row;justify-content:center;gap:4px;min-height:10px;height:10px}
.visual .calendar-event-symbol,.visual .calendar-event-markers .calendar-moon-marker{position:static;transform:none;pointer-events:none;color:inherit;font:400 11px/1 Georgia,serif}
.visual .calendar-event-markers .symbol-voc{font-size:18px;line-height:8px}
.visual .calendar-event-markers .symbol-retrograde{font-size:10px}
.visual .calendar-event-more{font-size:10px}
.visual .calendar-event-legend{display:flex;gap:8px 12px;flex-wrap:wrap;border-top:0;margin-top:14px;padding:0;font-size:10px;color:var(--muted)}
.visual .calendar-event-legend i{font-style:normal;margin-right:2px;color:var(--ink)}
.visual .calendar-month-events{border-top:1px solid var(--line);margin-top:23px;padding-top:15px}
.visual .calendar-month-events summary{font-size:13px;color:var(--ink);cursor:pointer;min-height:44px;display:flex;align-items:center;justify-content:space-between;list-style:none}
.visual .calendar-month-events summary::after{content:'+';font-size:18px}
.visual .calendar-month-events details[open]>summary::after{content:'−'}
.visual .calendar-month-events button{width:100%;display:grid;grid-template-columns:42px 22px 1fr 12px;gap:8px;align-items:center;text-align:left;min-height:46px;padding:9px 0;font-size:12px;border-radius:0;border:0;border-bottom:1px solid var(--line);background:none;box-shadow:none;color:var(--ink)}
.visual .calendar-month-events button:last-child{border-bottom:0}
.visual .calendar-month-events time{font-size:11px;color:var(--muted)}
.visual .month-event-symbol{font-size:20px;text-align:center}
.visual .calendar-month-events button>span:last-child{font-size:18px;color:var(--muted)}
.visual .lunar-block{border-top:1px solid var(--line);border-bottom:0;padding:22px 0 0;margin:24px 0 0}
.visual .lunar-block>h3{display:none}
.visual .lunar-overview{gap:13px}
.visual .lunar-disc{width:50px;height:50px;flex:0 0 50px}
.visual .lunar-overview strong{font-size:18px;margin:0 0 3px}
.visual .lunar-overview span{font-size:12px}
.visual .lunar-overview small{font-size:10px}
.visual .lunar-events{margin-top:14px}
.visual .lunar-events li{font-size:12px;border:0;padding:6px 0;line-height:1.6;font-weight:400!important}
.visual .lunar-events time{font-size:11px}
.visual .day-extra summary{font-size:11px;cursor:pointer;padding:8px 0;color:var(--muted)}
.visual .voc-rule{border:0;padding:0;margin:12px 0 0}
.visual .voc-rule:empty{display:none}
.visual .voc-window{display:flex;flex-direction:column;gap:5px;border-left:2px solid var(--line);padding-left:12px;font-size:11px;color:var(--muted)}
.visual .voc-window>span{font-size:11px}.visual .voc-window time{font-size:11px;line-height:1.7}
.visual .ph-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}
.visual .ph-heading h3{font-size:13px;font-weight:500;margin:0;color:var(--muted)}
.visual .ph-now{font-size:11px;min-height:36px;padding:6px 11px;border:1px solid var(--line);border-radius:99px;background:transparent;box-shadow:none;color:var(--ink)}
.visual .ph-face{display:grid;grid-template-columns:74px 1fr auto;gap:15px;align-items:center;min-height:130px;padding:16px 0 20px}
.visual .ph-orbit{position:relative;display:grid;place-items:center;width:74px;height:74px;border:1px solid var(--line);border-radius:50%;background:radial-gradient(circle at 35% 30%,#faf5ec60,transparent 70%)}
.visual .ph-orbit::before{content:'';position:absolute;inset:-5px;border:1px solid transparent;border-top-color:var(--active);border-right-color:var(--line);border-radius:50%;transform:rotate(-32deg)}
.visual .ph-orbit::after{content:'';position:absolute;width:4px;height:4px;right:3px;top:4px;background:var(--active);border-radius:50%}
.visual .ph-glyph{font:42px/1 Georgia,serif;color:var(--ink)}
.visual .ph-reading h4{font-size:28px;font-weight:500;margin:7px 0 5px;color:var(--ink);letter-spacing:.04em}
.visual .ph-state{font-size:11px;color:var(--muted)}
.visual .planetary-content[data-follow=live] .ph-state::before{content:'';display:inline-block;width:5px;height:5px;background:var(--active);border-radius:50%;margin-right:6px}
.visual .ph-boundary{font-size:12px;font-variant-numeric:tabular-nums;color:var(--muted);margin:0;line-height:1.6}
.visual .ph-clock{font:400 24px/1.2 Georgia,serif;color:var(--ink);font-variant-numeric:tabular-nums;align-self:center}
.visual .ph-track-shell{position:relative;margin:2px -12px 0}
.visual .ph-needle{position:absolute;z-index:2;top:-5px;left:50%;width:1px;height:13px;background:var(--active);pointer-events:none}
.visual .ph-track{position:relative;overflow-x:auto;scrollbar-width:none;cursor:grab;touch-action:pan-x pan-y;mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
.visual .ph-track::-webkit-scrollbar{display:none}
.visual .ph-track:active{cursor:grabbing}
.visual .ph-track-inner{display:flex;width:max-content;padding:10px calc(50% - 52px);gap:10px}
.visual .ph-slot{flex:0 0 104px;width:104px;min-height:114px;padding:12px 8px;border-radius:19px;border:1px solid var(--line);background:transparent;box-shadow:none;display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--muted);user-select:none}
.visual .ph-slot time{font-size:11px;font-variant-numeric:tabular-nums}
.visual .ph-slot>span{font:25px/1 Georgia,serif;color:var(--ink)}
.visual .ph-slot b{font-size:12px;font-weight:500}
.visual .ph-slot[aria-pressed=true]{background:var(--active);color:var(--on-active);border-color:transparent;box-shadow:inset 0 1px 0 #ffffff50,0 5px 14px #342b4422}
.visual .ph-slot[aria-pressed=true]>span{color:inherit}
.visual .ph-scrub-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:12px}
.visual .ph-scrub-head>span{font-size:11px;color:var(--muted)}
.visual .ph-scrub-head>div{display:flex;gap:4px}
.visual .ph-scrub-head button{font-size:22px;line-height:1;min-width:34px;min-height:34px;padding:2px;border:1px solid var(--line);background:transparent;color:var(--ink);border-radius:50%;box-shadow:none}
.visual .ph-scrub-head button:disabled{color:var(--muted);cursor:default}
.visual .ph-slider-label{display:block;margin:4px 0 14px}
.visual .ph-slider{display:block;appearance:none;-webkit-appearance:none;width:100%;height:32px;margin:0;padding:0;border:0;border-radius:0;box-shadow:none;background:transparent;cursor:ew-resize;accent-color:var(--active)}
.visual .ph-slider::-webkit-slider-runnable-track{height:3px;background:var(--line);border-radius:99px}
.visual .ph-slider::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:16px;height:16px;margin-top:-6px;border-radius:50%;background:var(--active);border:3px solid var(--surface);box-shadow:0 0 0 1px var(--line)}
.visual .ph-slider::-moz-range-track{height:3px;background:var(--line)}
.visual .ph-slider::-moz-range-thumb{width:12px;height:12px;border-radius:50%;background:var(--active);border:3px solid var(--surface)}
.visual .ph-daylight{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:11px}
.visual .ph-daylight b{font-weight:400;color:var(--ink);margin-left:3px}
.visual .planetary-content :focus-visible,.visual .calendar-month-events :focus-visible{outline:2px solid var(--active);outline-offset:3px}
.visual .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:1050px){.visual .calendar-layout{gap:22px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.visual .calendar-panel,.visual .calendar-detail{padding:22px 18px}.visual .ph-face{grid-template-columns:60px 1fr;gap:12px}.visual .ph-orbit{width:60px;height:60px}.visual .ph-clock{grid-column:2;font-size:19px;margin-top:-6px}}
@media(max-width:700px){.visual .calendar-layout{grid-template-columns:1fr;gap:18px}.visual .calendar-detail{grid-column:auto;padding:22px 20px;scroll-margin-top:20px}.visual .calendar-panel{padding:20px 18px}.visual .calendar-days button{min-height:42px;font-size:17px;gap:5px;padding:6px 0;aspect-ratio:auto;height:48px}.visual .calendar-days{gap:5px 2px}.visual .calendar-event-markers{gap:3px;height:8px}.visual .calendar-event-symbol,.visual .calendar-event-markers .calendar-moon-marker{font-size:9px}.visual .calendar-event-legend{font-size:9px;gap:6px 10px}.visual .calendar-month-events{margin-top:18px;padding-top:7px}.visual .ph-face{grid-template-columns:64px 1fr auto;min-height:120px}.visual .ph-orbit{width:64px;height:64px}.visual .ph-clock{grid-column:auto;font-size:21px;margin-top:0}.visual .ph-reading h4{font-size:25px}.visual .calendar-location{margin-bottom:18px}.visual .calendar-location>label{display:none}.visual .calendar-location select{min-width:120px}.visual .calendar-location .location-privacy{font-size:10px}.visual .calendar-detail>h2{font-size:16px;margin-bottom:19px}}
@media(max-width:360px){.visual .calendar-detail{padding:20px 16px}.visual .ph-face{grid-template-columns:55px 1fr;gap:12px}.visual .ph-orbit{width:55px;height:55px}.visual .ph-glyph{font-size:35px}.visual .ph-clock{grid-column:2;font-size:18px;margin-top:-6px}.visual .calendar-event-markers{gap:2px}.visual .ph-slot{min-height:106px}.visual .calendar-panel{padding:18px 12px}}
