.moon-calendar-wrapper{box-sizing:border-box;width:100%;max-width:100%}.moon-calendar-skeleton{-webkit-backdrop-filter:blur(20px);background:linear-gradient(#146155 0%,#2b8778 100%);border:1px solid #dfb76c38;border-radius:1.25rem;justify-content:center;align-items:center;width:100%;height:420px;display:flex}.moon-calendar-spinner{border:2px solid #dfb76c33;border-top-color:#dfb76c;border-radius:9999px;width:2.25rem;height:2.25rem;animation:.8s linear infinite moonCalSpin}@keyframes moonCalSpin{to{transform:rotate(360deg)}}.react-calendar{-webkit-backdrop-filter:blur(20px);box-sizing:border-box;background:radial-gradient(#fff 0%,#ffffff4d 100%);border:.75rem solid #2b8778c7;border-radius:1.25rem;width:100%;max-width:100%;padding:1.5rem;line-height:1.25em;box-shadow:0 8px 32px #00000073,0 0 24px #7209b726}.react-calendar__navigation{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:1.5rem;display:flex}.react-calendar__navigation button{color:#762fa4;cursor:pointer;background:#ffffff3b;border:1px solid #dfb76c40;border-radius:.6rem;outline:none;justify-content:center;align-items:center;min-height:2.5rem;padding:.45rem 1rem;font-size:1.25rem;transition:all .2s;display:flex}.react-calendar__navigation button:hover:enabled{color:#fff;background:#dfb76c33;border-color:#dfb76c;transform:translateY(-1px);box-shadow:0 0 12px #dfb76c59}.react-calendar__navigation button:disabled{opacity:.4;cursor:not-allowed}.react-calendar__navigation__label{text-shadow:0 2px 6px #916aa47d;pointer-events:none;flex-grow:1;letter-spacing:.12em!important;text-transform:uppercase!important;color:#762f99!important;background:0 0!important;border:none!important;font-family:Cormorant Garamond,Georgia,serif!important;font-size:1.8rem!important;font-weight:700!important}.react-calendar__viewContainer{flex-direction:column;display:flex}.react-calendar__month-view__weekdays{border-bottom:1px solid #dfb76c26;grid-template-columns:repeat(7,minmax(0,1fr));margin-bottom:.75rem;padding-bottom:.5rem;display:grid}.react-calendar__month-view__weekdays__weekday{text-align:center;color:#63327a;text-transform:capitalize;letter-spacing:.08em;font-size:.82rem;font-weight:400}.react-calendar__month-view__weekdays__weekday abbr{text-decoration:none}.react-calendar__month-view__days{gap:.5rem;grid-template-columns:repeat(7,minmax(0,1fr))!important;display:grid!important}.react-calendar__tile{text-align:center;cursor:pointer;background:#2c867e78;border:1px solid #dfb76c29;border-radius:.75rem;outline:none;min-width:0;height:7.75rem;padding:.5rem;transition:all .25s ease-in-out;margin-left:0!important;display:block!important;position:relative!important;overflow:visible!important}.react-calendar__tile abbr{color:#ede5d8;z-index:10;text-shadow:0 1px 3px #0009;font-family:inherit;font-size:1.15rem;font-weight:700;text-decoration:none;position:absolute;top:6px;left:8px}.react-calendar__tile:hover:enabled{border-color:#dfb76c8c;transform:translateY(-1px);box-shadow:0 4px 20px #00000059,0 0 15px #dfb76c33;background:#2d103ecc!important}.react-calendar__tile--now{box-shadow:0 0 14px #dfb76c40;background:linear-gradient(135deg,#d0b163 0%,#d59c33 100%)!important;border:1.5px solid #dfb76c!important}.react-calendar__tile--now abbr{color:#dfb76c;font-weight:800}.react-calendar__tile--active{background-image:linear-gradient(135deg,#ebd397 0%,#ca9e4a 100%)!important;border:1.5px solid #dfb76c!important;box-shadow:0 0 20px #dfb76c59!important}.react-calendar__tile--active abbr{color:#fff;font-weight:800}.react-calendar__tile--active:hover:enabled{background:linear-gradient(135deg,#d0b163 0%,#d59c33 100%)!important;border-color:#dfb76c!important}.react-calendar__month-view__days__day--neighboringMonth{opacity:.25;pointer-events:none;background-color:#14061c4d;border-color:#dfb76c0f}.tile-inner{pointer-events:none;flex-direction:column;justify-content:space-between;align-items:center;width:100%;height:100%;display:flex;position:relative}.moon-emoji-wrapper{-webkit-user-select:none;user-select:none;pointer-events:none;justify-content:center;align-items:center;margin:auto 0;display:flex;position:relative}.moon-emoji{filter:drop-shadow(0 2px 8px #dfb76c59);justify-content:center;align-items:center;font-size:1.85rem;line-height:1;display:flex}.moon-age-badge{color:#dfb76c;background:#1c0826e6;border:1px solid #dfb76c4d;border-radius:9999px;padding:.1rem .35rem;font-size:.65rem;font-weight:700;line-height:1;position:absolute;top:-4px;right:-10px;box-shadow:0 2px 6px #0006}.direct-aspect-wrapper{pointer-events:auto;z-index:20;justify-content:center;width:100%;margin-top:.15rem;display:flex;position:relative}.direct-aspect-badge{text-transform:uppercase;letter-spacing:.04em;color:#4c3366;cursor:pointer;white-space:nowrap;background:#ddc36c;border:1px solid #dfb76c52;border-radius:.35rem;padding:.15rem .45rem;font-size:.68rem;font-weight:600;transition:all .2s;display:inline-block;box-shadow:0 1px 4px #0000004d}.direct-aspect-badge:hover{color:#fff;background:#dfb76c4d;border-color:#dfb76c;box-shadow:0 0 8px #dfb76c66}.birthdays-container{pointer-events:auto;flex-direction:column;gap:2px;width:100%;margin-top:auto;display:flex}.birthdays-list{flex-direction:column;gap:2px;width:100%;display:flex}.birthday-item-wrapper{width:100%;position:relative}.birthday-link{text-align:left;text-overflow:ellipsis;white-space:nowrap;background:#7209b759;border:1px solid #dfb76c2e;border-radius:4px;width:100%;font-weight:500;text-decoration:none;transition:all .2s;display:block;overflow:hidden;color:#ede5d8!important;margin:0!important;padding:2px 4px!important;font-size:.72rem!important}.birthday-link:hover{border-color:#dfb76c;transform:translateY(-1px);box-shadow:0 2px 6px #0000004d;color:#dfb76c!important;background:#dfb76c38!important}.more-birthdays{pointer-events:auto;z-index:30;justify-content:center;align-items:center;padding:1px 0;display:flex;position:relative}.more-birthdays-link{color:#dfb76c;font-size:.65rem;font-weight:700;text-decoration:none;transition:all .2s}.more-birthdays-link:hover{color:#f7eedb;text-decoration:underline}.calendar-tooltip-bubble{-webkit-backdrop-filter:blur(16px);color:#ede5d8;z-index:1000;pointer-events:none;text-align:left;background:#14061cf5;border:1px solid #dfb76c73;border-radius:.65rem;margin-top:-8px;padding:.65rem;animation:.18s cubic-bezier(.16,1,.3,1) forwards tooltipFadeIn;display:none;position:absolute;top:0;left:50%;transform:translate(-50%)translateY(-100%);box-shadow:0 10px 30px #000000bf,0 0 15px #dfb76c26}.direct-aspect-wrapper:hover .calendar-tooltip-bubble,.birthday-item-wrapper:hover .calendar-tooltip-bubble,.more-birthdays:hover .calendar-tooltip-bubble{display:block}.calendar-tooltip-bubble:after{content:"";border:6px solid #0000;border-top-color:#dfb76c73;position:absolute;top:100%;left:50%;transform:translate(-50%)}.calendar-tooltip-bubble:before{content:"";z-index:51;border:5px solid #0000;border-top-color:#14061c;position:absolute;top:98%;left:50%;transform:translate(-50%)}.tooltip-title-row{color:#dfb76c;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid #dfb76c33;align-items:center;gap:.35rem;margin-bottom:.35rem;padding-bottom:.3rem;font-size:.72rem;font-weight:700;display:flex}.tooltip-item{color:#ede5d8;white-space:nowrap;text-overflow:ellipsis;padding:.15rem 0;font-family:monospace;font-size:.72rem;overflow:hidden}@keyframes tooltipFadeIn{0%{opacity:0;transform:translate(-50%,6px)scale(.95)}to{opacity:1;transform:translate(-50%)scale(1)}}.react-calendar__tile:hover,.react-calendar__tile:focus-within{z-index:999!important}@media (max-width:640px){.react-calendar{padding:1rem .75rem}.react-calendar__tile{height:5.5rem;padding:.35rem .2rem}.react-calendar__tile abbr{font-size:.95rem;top:4px;left:4px}.moon-emoji{font-size:1.35rem}.moon-age-badge{padding:.05rem .25rem;font-size:.55rem;top:-2px;right:-6px}.direct-aspect-badge{padding:.1rem .3rem;font-size:.58rem}.birthday-link{padding:1px 2px!important;font-size:.62rem!important}.react-calendar__navigation{margin-bottom:1rem}.react-calendar__navigation button{padding:.35rem .65rem;font-size:1rem}.react-calendar__navigation__label{font-size:1.2rem!important}.react-calendar__month-view__weekdays__weekday{font-size:.72rem}}
.todays-aspects-container{-webkit-backdrop-filter:blur(20px);box-sizing:border-box;background:radial-gradient(#fff 0%,#ffffff4d 100%);border:.75rem solid #2b8778c7;border-radius:1.25rem;width:100%;max-width:100%;margin-bottom:2.5rem;padding:1.5rem;box-shadow:0 8px 32px #00000073,0 0 24px #7209b726}.todays-aspects-container h2{letter-spacing:.12em;text-transform:uppercase;color:#762f99;text-shadow:0 2px 6px #916aa47d;text-align:center;margin:0 0 1.5rem;font-family:Cormorant Garamond,Georgia,serif;font-size:1.8rem;font-weight:700}.aspects-filter-bar{-webkit-backdrop-filter:blur(16px);background:#ffffff3b;border:1px solid #dfb76c40;border-radius:.75rem;flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem;margin-bottom:1.5rem;padding:.75rem 1rem;display:flex}.aspects-filter-btn{cursor:pointer;color:#762fa4;background:#fff5;border:1px solid #dfb76c40;border-radius:.5rem;outline:none;justify-content:center;align-items:center;min-width:2.5rem;height:2.25rem;padding:.35rem .75rem;font-size:.95rem;font-weight:700;transition:all .2s;display:inline-flex}.aspects-filter-btn:hover{color:#63327a;background:#dfb76c33;border-color:#dfb76c;transform:translateY(-1px);box-shadow:0 0 12px #dfb76c59}.aspects-filter-btn.active{color:#fff;background:linear-gradient(135deg,#d0b163 0%,#d59c33 100%);border-color:#dfb76c;transform:scale(1.05);box-shadow:0 0 14px #dfb76c59}.aspects-grid{grid-template-columns:1fr;gap:1rem;width:100%;display:grid}@media (min-width:640px){.aspects-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.aspects-grid{grid-template-columns:repeat(4,1fr)}}.aspect-card{text-align:center;-webkit-backdrop-filter:blur(14px);cursor:pointer;background:#2c867e78;border:1px solid #dfb76c40;border-radius:.75rem;outline:none;flex-direction:column;justify-content:center;align-items:center;width:100%;padding:1.15rem .85rem;transition:all .25s ease-in-out;display:flex;box-shadow:0 2px 8px #00000026}.aspect-card:hover{border-color:#dfb76c8c;transform:translateY(-2px);box-shadow:0 4px 20px #00000059,0 0 15px #dfb76c33;background:#2d103ecc!important}.aspect-card-time{color:#ede5d8;flex-direction:column;justify-content:center;align-items:center;gap:.15rem;font-size:.76rem;font-weight:600;line-height:1.25;display:flex}.aspect-time-label{color:#ede5d8;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.aspect-orb-text{color:#ffd166;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.72rem;font-weight:600}.aspect-symbols{letter-spacing:.05em;justify-content:center;align-items:center;gap:.65rem;margin:.45rem 0;font-size:2.15rem;font-weight:700;line-height:1.1;display:flex}.aspect-symbol-op{color:#ffd166;filter:drop-shadow(0 0 6px #ffd16666);font-size:2.25rem;font-weight:800;transition:transform .2s;display:inline-block;transform:scale(1.05)}.aspect-symbol-planet{color:#fff;font-size:2.15rem;transition:color .2s}.aspect-card:hover .aspect-symbol-planet{color:#f7eedb}.aspect-card:hover .aspect-symbol-op{filter:drop-shadow(0 0 10px #ffd166b3);transform:scale(1.15)}.aspect-card-location{justify-content:center;align-items:center;gap:.4rem;font-size:.85rem;line-height:1.2;display:flex}.aspect-sign-symbol{color:#ffd166;font-size:1.05rem;font-weight:700}.aspect-degree-text{color:#ede5d8;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.8rem;font-weight:600}.aspects-empty-state{text-align:center;color:#63327a;background:#ffffff3b;border:1px solid #2b877840;border-radius:.75rem;padding:2.5rem 1rem;font-size:.92rem;font-style:italic}.aspects-loading-state{justify-content:center;align-items:center;padding:3rem 0;display:flex}.aspects-spinner{border:2px solid #dfb76c33;border-top-color:#dfb76c;border-radius:9999px;width:2rem;height:2rem;animation:.8s linear infinite aspectsSpin}@keyframes aspectsSpin{to{transform:rotate(360deg)}}.aspect-modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(16px);background:#08020cd9;justify-content:center;align-items:center;padding:1rem;animation:.2s ease-out aspectModalFadeIn;display:flex;position:fixed;inset:0}@keyframes aspectModalFadeIn{0%{opacity:0}to{opacity:1}}.aspect-modal-dialog{background:linear-gradient(#1c0826fa 0%,#120519fa 100%);border:1px solid #dfb76c59;border-radius:1.5rem;width:100%;max-width:56rem;max-height:90vh;padding:1.5rem;position:relative;overflow-y:auto;box-shadow:0 16px 48px #000000bf,0 0 24px #7209b740}.aspect-modal-close-btn{color:#dfb76c;cursor:pointer;z-index:50;background:#dfb76c1a;border:1px solid #dfb76c4d;border-radius:9999px;justify-content:center;align-items:center;padding:.45rem;transition:all .2s;display:flex;position:absolute;top:1rem;right:1rem}.aspect-modal-close-btn:hover{color:#fff;background:#dfb76c40;border-color:#dfb76c;box-shadow:0 0 12px #dfb76c59}.aspects-section{width:100%}.aspects-section-header{border-bottom:1px solid #2b877840;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1rem;padding:0 .25rem .5rem;display:flex}.aspects-section-title{color:#63327a;letter-spacing:.04em;text-transform:uppercase;margin:0;font-family:Cormorant Garamond,Georgia,serif;font-size:1.35rem;font-weight:700}.aspects-section-actions{align-items:center;gap:.65rem;display:flex}.aspects-section-badge{letter-spacing:.04em;text-transform:uppercase;border-radius:9999px;padding:.25rem .65rem;font-size:.72rem;font-weight:700}.aspects-section-badge.direct{color:#762fa4;background:#dfb76c33;border:1px solid #dfb76c}.aspects-section-badge.ongoing{color:#146155;background:#2b877826;border:1px solid #2b8778}.aspects-sort-toggle{color:#762fa4;cursor:pointer;background:#fff5;border:1px solid #dfb76c59;border-radius:.5rem;align-items:center;gap:.35rem;padding:.3rem .65rem;font-size:.75rem;font-weight:600;transition:all .2s;display:inline-flex}.aspects-sort-toggle:hover{color:#63327a;background:#dfb76c33;border-color:#dfb76c;transform:translateY(-1px)}@media (max-width:640px){.todays-aspects-container{border-width:.5rem;padding:1rem .75rem}}
.starbase-cards-grid{box-sizing:border-box;grid-template-columns:1fr;gap:1.25rem;width:100%;display:grid}@media (min-width:640px){.starbase-cards-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.starbase-cards-grid{grid-template-columns:repeat(4,1fr)}}.starbase-card,.starbase-cards-grid .starbase-card,a.starbase-card{text-align:center;-webkit-backdrop-filter:blur(14px);color:inherit;box-sizing:border-box;flex-direction:column;justify-content:space-between;align-items:center;min-height:290px;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:relative;box-shadow:0 4px 16px #0000002e,0 0 10px #2c867c1f;background:#2c867e78!important;border:1px solid #dfb76c40!important;border-radius:1rem!important;padding:1.5rem 1rem 1.25rem!important}.starbase-card:hover,.starbase-cards-grid .starbase-card:hover,a.starbase-card:hover{transform:translateY(-4px);box-shadow:0 8px 28px #0006,0 0 20px #dfb76c40;background:#2d103ed9!important;border-color:#dfb76c99!important}.starbase-card-top{flex-direction:column;align-items:center;width:100%;display:flex}.starbase-card-avatar{background:#2a1435;border:2.5px solid #dfb76c73;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:7.5rem;height:7.5rem;margin:0 auto;transition:all .3s;display:flex;overflow:hidden;box-shadow:0 4px 14px #0000004d,0 0 12px #dfb76c33}.starbase-card:hover .starbase-card-avatar{border-color:#ffd166;transform:scale(1.05);box-shadow:0 6px 20px #00000073,0 0 18px #dfb76c73}.starbase-card-name{color:#fff;text-align:center;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;width:100%;margin:1rem 0 .4rem;font-family:inherit;font-size:1.15rem;font-weight:700;line-height:1.3;transition:color .2s;display:-webkit-box;overflow:hidden}.starbase-card:hover .starbase-card-name{color:#ffd166}.starbase-card-meta{flex-direction:column;align-items:center;gap:.35rem;width:100%;margin-bottom:.75rem;display:flex}.starbase-card-meta-item{color:#ede5d8;justify-content:center;align-items:center;gap:.4rem;max-width:100%;font-size:.8rem;display:flex}.starbase-card-icon{color:#dfb76c;flex-shrink:0}.starbase-card-vocations{border-top:1px solid #dfb76c33;flex-wrap:wrap;justify-content:center;gap:.35rem;width:100%;margin-top:auto;padding-top:.75rem;display:flex}.starbase-card-vocation-pill{color:#ede5d8;text-overflow:ellipsis;white-space:nowrap;background:#7631a559;border:1px solid #dfb76c4d;border-radius:9999px;max-width:100%;padding:.2rem .6rem;font-size:.72rem;font-weight:600;transition:all .2s;overflow:hidden}.starbase-card:hover .starbase-card-vocation-pill{color:#fff;background:#7631a5a6;border-color:#dfb76c}.starbase-view-all-container{justify-content:center;width:100%;margin-top:1.5rem;display:flex}.starbase-view-all-btn{color:#762fa4;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff3b;border:1px solid #dfb76c59;border-radius:.75rem;align-items:center;gap:.5rem;padding:.6rem 1.5rem;font-size:.95rem;font-weight:700;text-decoration:none;transition:all .25s;display:inline-flex}.starbase-view-all-btn:hover{color:#63327a;background:#dfb76c40;border-color:#dfb76c;transform:translateY(-2px);box-shadow:0 0 16px #dfb76c59}.starbase-birthdays-section{-webkit-backdrop-filter:blur(20px);box-sizing:border-box;background:radial-gradient(#fff 0%,#ffffff4d 100%);border:.75rem solid #2b8778c7;border-radius:1.25rem;flex-direction:column;justify-content:space-between;width:100%;max-width:100%;min-height:220px;margin:2.5rem 0;padding:1.5rem;display:flex;box-shadow:0 8px 32px #00000073,0 0 24px #7209b726}.starbase-birthdays-header{letter-spacing:.12em;text-transform:uppercase;color:#762f99;text-shadow:0 2px 6px #916aa47d;text-align:center;justify-content:center;align-items:center;gap:.6rem;margin-bottom:1.5rem;font-family:Cormorant Garamond,Georgia,serif;font-size:1.8rem;font-weight:700;display:flex;position:relative}.starbase-birthdays-star{color:#dfb76c;filter:drop-shadow(0 0 8px #dfb76c99);font-size:1.4rem}.starbase-birthdays-spinner-inline{border:2px solid #dfb76c33;border-top-color:#dfb76c;border-radius:9999px;width:1rem;height:1rem;margin-left:.5rem;animation:.8s linear infinite starbaseSpin;display:inline-block}@keyframes starbaseSpin{to{transform:rotate(360deg)}}.starbase-birthdays-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));justify-content:center;gap:1rem;width:100%;display:grid}.birthday-person-card{text-align:left;background:#2c867e78;border:1px solid #dfb76c40;border-radius:.75rem;flex-direction:column;justify-content:space-between;height:8.5rem;padding:1rem;text-decoration:none;transition:all .25s ease-in-out;display:flex;box-shadow:0 2px 8px #00000026}.birthday-person-card:hover{border-color:#dfb76c8c;transform:translateY(-2px);box-shadow:0 4px 20px #00000059,0 0 15px #dfb76c33;background:#2d103ecc!important}.birthday-person-name{color:#ede5d8;text-overflow:ellipsis;white-space:nowrap;margin-bottom:.25rem;font-size:1rem;font-weight:700;transition:color .2s;overflow:hidden}.birthday-person-card:hover .birthday-person-name{color:#dfb76c}.birthday-person-year{color:#ffd166;font-size:.8rem;font-weight:600}.birthday-vocations-list{flex-wrap:wrap;align-items:center;gap:.3rem;height:1.5rem;margin-top:.5rem;display:flex;overflow:hidden}.birthday-vocation-pill{color:#ede5d8;text-overflow:ellipsis;white-space:nowrap;background:#7631a540;border:1px solid #dfb76c4d;border-radius:9999px;max-width:100%;padding:.15rem .5rem;font-size:.68rem;font-weight:600;overflow:hidden}.birthday-person-card:hover .birthday-vocation-pill{background:#7631a573;border-color:#dfb76c}.birthday-see-more-card{text-align:center;background:#ffffff3b;border:1.5px dashed #dfb76c73;border-radius:.75rem;flex-direction:column;justify-content:center;align-items:center;height:8.5rem;padding:1rem;text-decoration:none;transition:all .25s;display:flex}.birthday-see-more-card:hover{background:#dfb76c33;border-color:#dfb76c;transform:translateY(-2px);box-shadow:0 0 16px #dfb76c59}.birthday-see-more-text{color:#762fa4;margin-bottom:.25rem;font-size:.95rem;font-weight:700}.birthday-see-more-subtext{color:#63327a;font-size:.75rem;font-weight:500}.starbase-birthdays-empty{text-align:center;color:#63327a;background:#ffffff3b;border:1px solid #2b877840;border-radius:.75rem;width:100%;padding:2.5rem 1rem;font-size:.9rem;font-style:italic}.starbase-birthdays-loading{justify-content:center;align-items:center;width:100%;padding:2.5rem 0;display:flex}.starbase-birthdays-spinner{border:2px solid #dfb76c33;border-top-color:#dfb76c;border-radius:9999px;width:2rem;height:2rem;animation:.8s linear infinite starbaseSpin}@media (max-width:640px){.starbase-birthdays-section{border-width:.5rem;padding:1rem .75rem}}
