.hour-portrait{position:relative;isolation:isolate;padding:28px 36px 30px;background:radial-gradient(ellipse at 50% 26%,#6c544417,transparent 52%),#0e0e13;border-color:#c5b2e323;text-align:center;overflow:hidden;margin-bottom:26px}
.hour-portrait>.hour-portrait-top,.hour-portrait>.celestial-scene,.hour-portrait>.hour-portrait-caption{position:relative;z-index:1}
.hour-portrait .celestial-stars{display:none}
.hour-sky{position:absolute;inset:0;z-index:0;overflow:hidden;border-radius:inherit;pointer-events:none;user-select:none;contain:paint}
.hour-sky-star{position:absolute;display:block;width:var(--star-size);height:var(--star-size);border-radius:50%;background:var(--star-color);opacity:.3;box-shadow:0 0 4px color-mix(in srgb,var(--star-color),transparent 65%)}
.hour-sky-breath{animation:hour-star-breathe var(--star-duration) ease-in-out var(--star-delay) infinite}
.hour-sky-twinkle{animation:hour-star-twinkle var(--star-duration) ease-in-out var(--star-delay) infinite}
.hour-sky-meteor{position:absolute;width:76px;height:1px;border-radius:100%;opacity:0;background:linear-gradient(90deg,transparent,#d9d3ed77 70%,#f1eaff);box-shadow:2px 0 5px #d6c9f044;transform:translate3d(0,0,0) rotate(25deg);animation:hour-meteor-pass var(--meteor-cycle) linear var(--meteor-delay) infinite;pointer-events:none}
@keyframes hour-star-breathe{0%,100%{opacity:.16;transform:scale(.8)}50%{opacity:.58;transform:scale(1.18)}}
@keyframes hour-star-twinkle{0%,100%{opacity:.2}27%{opacity:.24}43%{opacity:.65}57%{opacity:.28}76%{opacity:.4}}
/* A short streak occupies less than two percent of each long, staggered cycle. */
@keyframes hour-meteor-pass{0%,98%{opacity:0;transform:translate3d(0,0,0) rotate(25deg)}98.15%{opacity:.55}99.45%{opacity:.38;transform:translate3d(210px,98px,0) rotate(25deg)}100%{opacity:0;transform:translate3d(270px,126px,0) rotate(25deg)}}
@media(prefers-reduced-motion:reduce){.hour-sky-star{animation:none!important;transform:none!important;opacity:.3}.hour-sky-meteor{display:none;animation:none!important}}
.hour-portrait-top{display:flex;justify-content:space-between;align-items:center;gap:15px;text-align:start}.hour-portrait-top .eyebrow{margin:0;letter-spacing:.17em;font-size:.61rem}
.celestial-scene{position:relative;width:100%;height:440px;max-width:850px;margin:0 auto;isolation:isolate;background:radial-gradient(ellipse at 50% 50%,color-mix(in srgb,var(--planet-tint),transparent 90%),transparent 60%);overflow:hidden;border-radius:24px}
.celestial-scene.celestial-sun{background:transparent}.celestial-sun .celestial-stars{display:none}.celestial-sun .celestial-poster{box-shadow:none}
.celestial-globe{display:block;width:100%;height:100%;position:absolute;inset:0;opacity:0;z-index:2;touch-action:pan-y}.celestial-scene[data-render="3d"] .celestial-globe{opacity:1}.celestial-scene[data-render="3d"] .celestial-poster{opacity:0}
.celestial-stars{position:absolute;inset:12%;opacity:.38;background-image:radial-gradient(circle at 12% 20%,#eadcb9 0 .8px,transparent 1.3px),radial-gradient(circle at 81% 29%,#c8c1e5 0 .7px,transparent 1.2px),radial-gradient(circle at 67% 88%,#c8c1e5 0 .6px,transparent 1px),radial-gradient(circle at 24% 76%,#c8c1e5 0 .6px,transparent 1px),radial-gradient(circle at 90% 64%,#eadcb9 0 .7px,transparent 1px)}
.celestial-controls{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:6px;z-index:3;background:#0b0b12b8;border:1px solid #c7b5e122;border-radius:99px;padding:5px;backdrop-filter:blur(10px)}
.celestial-controls button{background:transparent;border-color:transparent;min-height:33px;min-width:35px;padding:6px 11px;font-size:.66rem;color:#d5cada;white-space:nowrap}.celestial-controls button:hover{background:#ffffff10}.celestial-controls button[aria-pressed="true"]{background:#b19bd320;border-color:#c5b1e237;color:#e5d7f7}
.celestial-mode-caption{position:absolute;bottom:5px;width:100%;left:0;z-index:3;font-size:.58rem;color:#938b9f;letter-spacing:.02em}
.celestial-poster{position:absolute;left:50%;top:50%;width:240px;height:240px;transform:translate(-50%,-50%);border-radius:50%;background:var(--planet-texture) 46% 50%/200% 100%;box-shadow:inset -36px -12px 50px #000c,inset 8px 5px 12px #fff2,0 0 60px color-mix(in srgb,var(--planet-tint),transparent 86%);z-index:1}.celestial-saturn .celestial-poster{width:180px;height:180px}.celestial-poster.with-rings:after{content:'';position:absolute;inset:18% -84%;border:22px double #c6ad70ae;border-radius:50%;transform:rotate(-24deg);box-shadow:0 0 0 8px #a994672a,0 0 0 12px #dcc58a25}
.hour-pair-title{font-family:Georgia,'Noto Sans Arabic',serif;font-size:clamp(2rem,4.6vw,3.6rem);line-height:1.15;font-weight:700;letter-spacing:-.04em;max-width:900px;margin:10px auto 17px;color:#fbf9f6;display:flex;justify-content:center;gap:15px;flex-wrap:wrap}.hour-pair-title>span{color:#bba3d9}.hour-pair-subtitle{font-size:.66rem;letter-spacing:.24em;color:#a58bc7;font-weight:900;margin-bottom:18px}.hour-portrait-caption>p:not(.hour-pair-subtitle){font-size:.88rem;color:#c2b8ce}
.hour-time-strip{display:grid;grid-template-columns:1fr 1fr 1fr;max-width:620px;margin:27px auto 17px;padding:19px 10px;border-block:1px solid #c0a8df21;gap:15px}.hour-time-strip small{font-size:.53rem;letter-spacing:.12em;color:#988da5;display:block;margin-bottom:8px}.hour-time-strip b{font-size:1.25rem;color:#e9deef}.hour-time-number b{color:#cfb3ef}.hour-photo-progress{height:3px;background:#b3a5c31a;max-width:620px;border-radius:10px;overflow:hidden;margin:0 auto 8px}.hour-photo-progress i{display:block;height:100%;background:linear-gradient(90deg,#baa1e3,#95d3c2);border-radius:10px;max-width:100%}.hour-countdown-line{display:flex;justify-content:space-between;gap:12px;max-width:620px;margin:0 auto;font-size:.65rem;color:#afa2bd}
.hour-open-report{background:linear-gradient(105deg,#c3a2e9,#a0d4ca);color:#20182a;border:0;width:100%;max-width:620px;margin:22px auto 5px;font-size:.82rem;padding:13px 17px}.hour-body-facts{max-width:650px;margin:20px auto 0;text-align:start;font-size:.68rem}.hour-body-facts summary{cursor:pointer;color:#a99ab8;text-align:center}.hour-body-facts>div{border:1px solid #b7a4cc23;background:#17131d;padding:18px;border-radius:18px;margin-top:14px}.hour-body-facts p{font-size:.72rem;line-height:1.85}.hour-body-facts a{font-size:.7rem;color:#a6cfc4}
.photo-planet-mini{display:inline-block;position:relative;width:38px;height:38px;min-width:38px;border-radius:50%;background:var(--planet-texture) center/200% 100%;box-shadow:inset -9px -2px 12px #000b,inset 2px 1px 3px #fff4,0 0 12px color-mix(in srgb,var(--planet-tint),transparent 88%);vertical-align:middle;isolation:isolate}.photo-planet-mini.with-rings{width:29px;height:29px;min-width:29px;margin-inline:5px}.photo-planet-mini.with-rings:after{content:'';position:absolute;inset:13% -51%;border:4px double #d3bc8d;border-radius:50%;transform:rotate(-25deg);box-shadow:0 0 0 1px #d1b3743b}
.hour-reading-layout{display:grid;grid-template-columns:minmax(0,1.85fr) minmax(270px,1fr);gap:24px;align-items:start}.hour-dossier{display:grid;gap:22px;min-width:0}.hour-dossier-card{padding:29px;background:linear-gradient(140deg,#1c1a23,#111116);border-color:#c9b4e32a}.hour-card-heading{display:flex;align-items:center;gap:13px;margin-bottom:24px}.hour-card-heading h2{margin:0;flex:1;font-size:1.28rem}.hour-card-heading>span:last-child{color:#a38ac5;font-size:1.2rem}.hour-section-number{font-size:.62rem;letter-spacing:.03em;padding:7px;border:1px solid #ab8fd135;border-radius:10px;color:#bca4da}.hour-dossier-card p{font-size:.89rem;line-height:1.94;margin-bottom:22px;color:#bcb6c6}.hour-dossier-card p:last-child{margin-bottom:0}.hour-dossier-card h3{font-size:.85rem;color:#e0d2ec;line-height:1.6;margin:23px 0 10px}.hour-synthesis{font-size:1rem!important;color:#d7cce1!important}.hour-dossier-rule{height:1px;background:linear-gradient(90deg,#c4a1e74a,transparent);margin:25px 0}
.hour-nature-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:22px}.hour-nature-pair>span{padding:14px;border:1px solid #b9a0d72b;border-radius:16px;background:#bda2df08;font-size:.69rem;color:#a79ab5;line-height:1.8}.hour-nature-pair b{display:block;font-size:.9rem;color:#dcc7ed;margin-bottom:5px}
.hour-recommendations{padding:28px;background:#1b1a20;border:1px solid #ffffff15}.hour-recommendations h2{display:flex;align-items:center;gap:11px;font-size:1.45rem;margin-bottom:20px;color:#f8f4fd}.hour-recommendations h2>span{display:grid;place-items:center;width:31px;height:31px;border-radius:10px;background:#77c69e24;color:#86d0af;font-size:1rem}.hour-recommendations.bad h2>span{background:#e0879227;color:#ef9ba7}.hour-recommendations p{font-size:.81rem;line-height:1.85;color:#aea6ba}.hour-recommendations ul{padding:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:21px 24px;margin:24px 0 5px}.hour-recommendations li{position:relative;font-size:.85rem;color:#d7d1de;line-height:1.55;padding-inline-start:21px}.hour-recommendations li:before{content:'';width:7px;height:7px;position:absolute;inset-inline-start:0;top:.52em;border-radius:50%;background:#74bf9c}.hour-recommendations.bad li:before{background:#dc7f8c}
.hour-placement-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0}.hour-placement-grid>div{padding:15px 14px;border:1px solid #c7aceb26;border-radius:17px;background:#b9a4d309}.hour-placement-grid small{display:block;font-size:.54rem;letter-spacing:.09em;color:#aa9ab7;margin-bottom:8px;line-height:1.6}.hour-placement-grid b{display:block;color:#d6bcea;font-size:.91rem;overflow-wrap:anywhere}
.hour-evidence-chips{display:flex;flex-wrap:wrap;gap:7px;margin:20px 0}.hour-evidence-chip{display:inline-flex;padding:5px 9px;font-size:.66rem;line-height:1.5;border:1px solid #b79cd737;border-radius:99px;background:#ad93d40c;color:#c4aedf}.hour-evidence-chip.good{border-color:#8ac7ac45;color:#9ad6b8;background:#6daa8d0d}.hour-evidence-chip.bad{border-color:#cf909b45;color:#e0a2ae;background:#dc8c980c}.hour-mini-method{border-top:1px solid #bba1dd22;padding-top:16px;margin-top:20px}.hour-mini-method summary{cursor:pointer;font-size:.75rem;color:#bc9bdc}.hour-mini-method .data{font-size:.75rem;margin-top:15px}
.hour-contact{display:flex;align-items:center;gap:15px;margin:12px 0;padding:16px 13px;border:1px solid #b198d039;border-radius:17px;background:#b5a0d108}.hour-contact.good{border-color:#8bd0ad36;background:#77ba9710}.hour-contact.bad{border-color:#dd99aa38;background:#d6899e0b}.hour-contact-symbol{font-size:1.3rem;color:#d5b9ed;white-space:nowrap}.hour-contact b{font-size:.8rem;line-height:1.6;display:block}.hour-contact small{font-size:.66rem;line-height:1.6;color:#ada1b9;display:block;margin-top:5px}.hour-reception{margin-top:20px;border-top:1px solid #b79bcf25;padding-top:16px}.hour-reception>p{margin:12px 0 0;font-size:.76rem;line-height:1.9}
.hour-next-ruler{display:flex;gap:22px;align-items:start;padding:22px;border:1px solid #c7ade22a;border-radius:21px;background:linear-gradient(110deg,#bda2e00e,#8ec9ba08)}.hour-next-ruler>.photo-planet-mini{margin-top:18px;transform:scale(1.35);flex-shrink:0}.hour-next-ruler small{font-size:.57rem;letter-spacing:.15em;color:#b19bc6}.hour-next-ruler h3{margin:5px 0;font-size:1.2rem}.hour-next-ruler p{font-size:.75rem;margin:0 0 8px}
.hour-source-note{padding:22px;border:1px solid #b39dcd25;border-radius:20px;font-size:.72rem}.hour-source-note summary{color:#b39acb;cursor:pointer}.hour-source-note p{font-size:.73rem;line-height:1.9;margin-top:18px}.hour-source-note a{display:block;color:#a7cfc3;font-size:.69rem;margin-top:8px}
.hour-schedule{min-width:0}.hour-schedule>.panel{padding:23px;background:#15141b;border-color:#c6addf22}.hour-schedule .eyebrow{font-size:.56rem}.hour-schedule h2{font-size:1.17rem}.hour-schedule p{font-size:.75rem;line-height:1.8}.hour-schedule-section{font-size:.7rem!important;text-transform:uppercase;color:#a58bbf;margin:25px 0 10px!important;letter-spacing:.1em}.photo-hour-timeline{display:grid;gap:5px}.photo-hour-row{display:flex;align-items:center;gap:11px;text-align:start;width:100%;border-radius:17px;padding:13px 9px;background:transparent;border-color:transparent;min-width:0}.photo-hour-row:hover{background:#ffffff06}.photo-hour-row.active{background:linear-gradient(110deg,#ac8bc72a,#7ac5b712);border-color:#b59bdb58}.photo-hour-row .photo-planet-mini{width:30px;height:30px;min-width:30px}.photo-hour-row .photo-planet-mini.with-rings{width:24px;height:24px;min-width:24px}.photo-hour-row>span:nth-last-child(2){flex:1;min-width:0}.photo-hour-row b{display:block;font-size:.8rem;color:#e7ddf1}.photo-hour-row small{display:block;font-size:.63rem;color:#aca0b9;margin-top:4px;line-height:1.55}.hour-row-index{font-size:.61rem;width:16px;flex-shrink:0;color:#91859c}.hour-row-arrow{color:#bca0da;font-size:.8rem}.hour-calendar-export{width:100%;font-size:.72rem;padding:12px;margin-top:20px}.hour-back-now{font-size:.78rem;margin-bottom:20px}.hour-chart-details{margin-top:25px}.hour-chart-details summary{color:#cbb4e3;cursor:pointer;font-size:.86rem}.hour-chart-details .wheel{max-width:620px;margin:25px auto 0}
.hour-home-portrait{padding:22px;display:flex;flex-direction:column;margin-bottom:0}.hour-home-portrait .hour-portrait-top{align-items:start}.hour-home-portrait .hour-portrait-top .eyebrow{font-size:.51rem;line-height:1.7;max-width:125px}.hour-home-portrait .celestial-scene{height:290px}.hour-home-portrait .hour-pair-title{font-size:1.95rem;gap:8px}.hour-home-portrait .hour-pair-subtitle{font-size:.52rem;letter-spacing:.15em}.hour-home-portrait .hour-portrait-caption>p{font-size:.75rem}.hour-home-portrait .hour-time-strip{padding:14px 4px;margin:20px 0 13px;gap:6px}.hour-home-portrait .hour-time-strip b{font-size:.96rem}.hour-home-portrait .hour-time-strip small{font-size:.49rem}.hour-home-portrait .hour-body-facts summary{font-size:.61rem}.hour-home-portrait .hour-countdown-line{font-size:.62rem}.hour-home-portrait .celestial-poster{width:170px;height:170px}.hour-home-portrait .celestial-saturn .celestial-poster{width:120px;height:120px}
@media(max-width:1100px){.hour-reading-layout{grid-template-columns:minmax(0,1.6fr) minmax(255px,1fr);gap:17px}.hour-dossier-card,.hour-recommendations{padding:24px}.hour-schedule>.panel{padding:18px}.hour-card-heading h2{font-size:1.12rem}}
@media(max-width:850px){.hour-reading-layout{grid-template-columns:minmax(0,1fr)}.hour-schedule .photo-hour-timeline{grid-template-columns:1fr 1fr}.hour-schedule-section{grid-column:1/-1}.hour-portrait{padding:22px}.celestial-scene{height:400px}.hour-portrait-top .eyebrow{max-width:180px;font-size:.56rem;line-height:1.7}.hour-pair-title{font-size:2.5rem}}
@media(max-width:520px){.hour-portrait{padding:18px 15px 22px;border-radius:26px}.hour-portrait-top{gap:10px}.hour-portrait-top .eyebrow{max-width:120px;font-size:.48rem;letter-spacing:.12em}.hour-portrait-top .pill{font-size:.55rem;padding:6px 8px}.celestial-scene{height:300px;overflow:visible}.celestial-controls{bottom:26px;padding:4px;gap:3px}.celestial-controls button{font-size:.6rem;padding:6px 8px;min-width:31px;min-height:32px}.celestial-mode-caption{font-size:.49rem;bottom:3px}.hour-pair-title{font-size:2.1rem;display:block;max-width:100%;line-height:1.17;margin-top:18px}.hour-pair-title>span{display:block;font-size:1.15rem;line-height:1.3}.hour-pair-subtitle{font-size:.51rem;letter-spacing:.16em;line-height:1.7;margin-top:14px}.hour-portrait-caption>p:not(.hour-pair-subtitle){font-size:.75rem}.hour-time-strip{padding:15px 0;margin:22px 0 13px;gap:9px}.hour-time-strip small{font-size:.46rem;letter-spacing:.08em}.hour-time-strip b{font-size:1rem}.hour-countdown-line{font-size:.59rem}.celestial-poster{width:175px;height:175px}.celestial-saturn .celestial-poster{width:123px;height:123px}.celestial-poster.with-rings:after{border-width:16px}.hour-dossier{gap:17px}.hour-dossier-card,.hour-recommendations{padding:21px 19px;border-radius:23px}.hour-card-heading{gap:10px;margin-bottom:22px;align-items:start}.hour-card-heading h2{font-size:1.16rem;line-height:1.45}.hour-card-heading>span:last-child{display:none}.hour-section-number{font-size:.53rem;padding:6px;border-radius:8px;margin-top:2px}.hour-dossier-card p{font-size:.84rem;line-height:1.95}.hour-synthesis{font-size:.91rem!important}.hour-dossier-card h3{font-size:.82rem;line-height:1.7}.hour-recommendations h2{font-size:1.35rem}.hour-recommendations p{font-size:.77rem}.hour-recommendations ul{gap:22px 16px}.hour-recommendations li{font-size:.81rem;padding-inline-start:17px}.hour-recommendations li:before{width:6px;height:6px}.hour-nature-pair{gap:8px}.hour-nature-pair>span{padding:12px 10px;font-size:.63rem}.hour-nature-pair b{font-size:.8rem}.hour-placement-grid>div{padding:13px 11px}.hour-placement-grid small{font-size:.49rem;letter-spacing:.06em}.hour-placement-grid b{font-size:.82rem}.hour-contact{gap:11px;padding:14px 11px}.hour-contact-symbol{font-size:1.1rem}.hour-contact b{font-size:.75rem}.hour-contact small{font-size:.6rem}.hour-schedule .photo-hour-timeline{grid-template-columns:1fr}.hour-schedule>.panel{padding:21px}.photo-hour-row{padding:14px 10px;gap:14px}.photo-hour-row b{font-size:.88rem}.photo-hour-row small{font-size:.7rem}.photo-hour-row .photo-planet-mini{width:35px;height:35px;min-width:35px}.photo-hour-row .photo-planet-mini.with-rings{width:27px;height:27px;min-width:27px}.hour-next-ruler{padding:18px;gap:20px}.hour-body-facts summary{font-size:.64rem}.hour-home-portrait .hour-pair-title{font-size:1.85rem}.hour-home-portrait .celestial-scene{height:280px}}
@media(prefers-reduced-motion:reduce){.photo-planet-mini,.celestial-poster{animation:none!important}}
@media print{.celestial-controls,.hour-body-facts,.hour-schedule{display:none!important}.hour-reading-layout{display:block}.hour-dossier-card,.hour-recommendations{break-inside:avoid;margin-bottom:20px}}

/* Animation controls live exclusively in General settings. */
.celestial-settings{margin-bottom:24px}.celestial-settings>p{font-size:.85rem;color:#b8aec4;line-height:1.8}.celestial-settings-list{display:grid;gap:10px;margin-top:20px}.celestial-setting-row{display:grid;grid-template-columns:minmax(85px,1fr) auto;align-items:center;gap:6px 12px;padding:14px;border:1px solid #c7b5e122;border-radius:18px;background:#ffffff03}.celestial-setting-row>strong{font-size:.9rem}.celestial-setting-row .celestial-controls{position:static;transform:none;justify-self:end;backdrop-filter:none}.celestial-setting-row .celestial-mode-caption{position:static;grid-column:1/-1;text-align:end;width:auto;margin-top:3px}.celestial-setting-row .celestial-controls button{min-height:38px}.celestial-scene .celestial-controls,.celestial-scene .celestial-mode-caption{display:none}
@media(max-width:420px){.celestial-setting-row{padding:10px;gap:5px}.celestial-setting-row .celestial-controls button{padding:6px 8px;font-size:.62rem;min-width:30px}}
