.navbar{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.5rem;background:#131630f2;border-bottom:1px solid var(--color-border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);position:sticky;top:0;z-index:100}.navbar__logo{font-family:var(--font-heading);font-size:1.35rem;font-weight:700;color:var(--color-text);display:flex;align-items:center;gap:.5rem}.navbar__logo span{color:var(--color-accent)}.navbar__links{display:flex;align-items:center;gap:1rem}.navbar__links a{color:var(--color-text-muted);font-size:.9rem;font-weight:500;transition:color .2s}.navbar__links a:hover,.navbar__links a.active{color:var(--color-text)}.navbar__user{display:flex;align-items:center;gap:.75rem;font-size:.9rem;color:var(--color-text-muted)}@media (max-width: 640px){.navbar{flex-wrap:wrap;gap:.5rem}.navbar__links{order:3;width:100%;justify-content:center}}.landing{min-height:100vh}.landing__hero{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:6rem 1.5rem 4rem;min-height:80vh}.landing__icon{font-size:4rem;margin-bottom:1.5rem}.landing__title{font-size:clamp(2rem,5vw,3.5rem);font-weight:700;margin-bottom:1rem}.landing__title span{background:linear-gradient(135deg,var(--color-primary),var(--color-accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.landing__subtitle{font-size:1.15rem;color:var(--color-text-muted);max-width:560px;margin-bottom:2.5rem}.landing__actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.landing__features{padding:4rem 1.5rem;background:var(--color-surface);border-top:1px solid var(--color-border)}.landing__features h2{text-align:center;font-size:1.75rem;margin-bottom:2.5rem}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;max-width:900px;margin:0 auto}.feature-card{text-align:center;padding:2rem 1.5rem;border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-bg)}.feature-card__icon{font-size:2.5rem;margin-bottom:1rem}.feature-card h3{margin-bottom:.5rem;font-size:1.1rem}.feature-card p{font-size:.9rem;color:var(--color-text-muted)}.auth-page{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - 60px);padding:2rem 1rem}.auth-form{width:100%;max-width:400px}.auth-form h1{font-size:1.75rem;margin-bottom:.5rem}.auth-form p{color:var(--color-text-muted);margin-bottom:1.5rem;font-size:.95rem}.auth-form .btn{width:100%;margin-top:.5rem}.auth-form__footer{text-align:center;margin-top:1.25rem;font-size:.9rem;color:var(--color-text-muted)}.auth-form__footer a{font-weight:600}.auth-error{background:#ef44441a;border:1px solid var(--color-danger);border-radius:var(--radius);padding:.625rem 1rem;color:var(--color-danger);font-size:.85rem;margin-bottom:1rem}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:2rem}.calendar-grid__header{padding:.5rem;text-align:center;font-size:.75rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase}.calendar-grid__day{min-height:80px;padding:.35rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:4px;font-size:.8rem;position:relative;cursor:default}.calendar-grid__day--empty{background:transparent;border-color:transparent}.calendar-grid__day--today{border-color:var(--color-primary)}.calendar-grid__day-number{font-weight:600;font-size:.75rem;color:var(--color-text-muted);margin-bottom:.25rem}.calendar-grid__day--today .calendar-grid__day-number{color:var(--color-primary)}.calendar-grid__dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin:1px;cursor:pointer}.calendar-grid__event-name{font-size:.65rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:1px 3px;border-radius:2px;margin-bottom:1px;cursor:pointer}.calendar-controls{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem;margin-bottom:1.5rem}.calendar-controls__nav{display:flex;align-items:center;gap:.75rem}.calendar-controls__nav h2{font-size:1.25rem;min-width:200px;text-align:center}.calendar-controls__view{display:flex;gap:.35rem}.calendar-controls__view button{padding:.35rem .75rem;border:1px solid var(--color-border);background:transparent;color:var(--color-text-muted);border-radius:var(--radius);font-size:.82rem;cursor:pointer;font-family:var(--font-body);transition:all .2s}.calendar-controls__view button.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}@media (max-width: 640px){.calendar-grid__day{min-height:50px;padding:.2rem}.calendar-grid__event-name{display:none}}.event-card{display:flex;gap:1rem;padding:1rem 1.25rem;border-radius:var(--radius-lg);background:var(--color-surface);border:1px solid var(--color-border);transition:border-color .2s,transform .15s}.event-card:hover{border-color:var(--color-primary);transform:translateY(-2px)}.event-card__color-bar{width:4px;border-radius:2px;flex-shrink:0}.event-card__body{flex:1;min-width:0}.event-card__header{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-bottom:.35rem}.event-card__name{font-weight:600;font-size:1rem}.event-card__date{font-size:.8rem;color:var(--color-text-muted)}.event-card__description{font-size:.88rem;color:var(--color-text-muted);margin-bottom:.75rem}.event-card__actions{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.event-card__reminder{display:flex;align-items:center;gap:.5rem;font-size:.82rem;color:var(--color-text-muted)}.event-card__reminder select{padding:.25rem .5rem;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);color:var(--color-text);font-size:.8rem}.event-filter{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.event-filter__chip{padding:.35rem .85rem;border-radius:999px;border:1.5px solid var(--color-border);background:transparent;color:var(--color-text-muted);font-size:.82rem;font-weight:500;cursor:pointer;transition:all .2s;font-family:var(--font-body)}.event-filter__chip:hover{border-color:var(--color-primary);color:var(--color-text)}.event-filter__chip--active{border-color:var(--color-primary);background:#6366f126;color:var(--color-primary)}.calendar-page{padding:2rem 1.5rem;max-width:1100px;margin:0 auto}.calendar-page h1{font-size:1.75rem;margin-bottom:1.5rem}.event-list{display:flex;flex-direction:column;gap:.75rem}.calendar-page__year-nav{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.calendar-page__year-nav h2{font-size:1.25rem;min-width:60px;text-align:center}.calendar-months-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem}@media (max-width: 640px){.calendar-page{padding:1rem}.calendar-months-grid{grid-template-columns:1fr}}.profile-page{padding:2rem 1.5rem;max-width:800px;margin:0 auto}.profile-page h1{font-size:1.75rem;margin-bottom:.5rem}.profile-page__subtitle{color:var(--color-text-muted);margin-bottom:2rem}.profile-section{margin-bottom:2rem}.profile-section h2{font-size:1.2rem;margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.profile-info{display:grid;grid-template-columns:auto 1fr;gap:.5rem 1rem;font-size:.95rem}.profile-info dt{color:var(--color-text-muted);font-weight:500}.profile-subscriptions{display:flex;flex-direction:column;gap:.75rem}:root{--color-bg: #0b0d17;--color-surface: #131630;--color-surface-hover: #1a1e3a;--color-border: #252a4a;--color-text: #e2e8f0;--color-text-muted: #94a3b8;--color-primary: #6366f1;--color-primary-hover: #818cf8;--color-accent: #f1c40f;--color-danger: #ef4444;--event-eclipse: #e74c3c;--event-meteor: #3498db;--event-lunar: #f1c40f;--event-conjunction: #9b59b6;--event-equinox: #2ecc71;--radius: 8px;--radius-lg: 12px;--font-body: "Inter", system-ui, sans-serif;--font-heading: "Space Grotesk", "Inter", system-ui, sans-serif}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth}body{font-family:var(--font-body);background-color:var(--color-bg);color:var(--color-text);line-height:1.6;min-height:100vh}h1,h2,h3,h4{font-family:var(--font-heading);line-height:1.2}a{color:var(--color-primary);text-decoration:none}a:hover{color:var(--color-primary-hover)}img{max-width:100%;display:block}.container{max-width:1200px;margin:0 auto;padding:0 1rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1.25rem;border:none;border-radius:var(--radius);font-family:var(--font-body);font-size:.9rem;font-weight:600;cursor:pointer;transition:background-color .2s,transform .1s}.btn:active{transform:scale(.97)}.btn--primary{background:var(--color-primary);color:#fff}.btn--primary:hover{background:var(--color-primary-hover)}.btn--outline{background:transparent;border:1.5px solid var(--color-primary);color:var(--color-primary)}.btn--outline:hover{background:#6366f11a}.btn--danger{background:var(--color-danger);color:#fff}.btn--danger:hover{background:#dc2626}.btn--small{padding:.375rem .75rem;font-size:.8rem}.btn:disabled{opacity:.5;cursor:not-allowed}.form-group{display:flex;flex-direction:column;gap:.35rem;margin-bottom:1rem}.form-group label{font-size:.85rem;font-weight:500;color:var(--color-text-muted)}.form-group input,.form-group select{padding:.625rem .875rem;border:1.5px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text);font-size:.95rem;font-family:var(--font-body);transition:border-color .2s}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--color-primary)}.error-msg{color:var(--color-danger);font-size:.85rem;margin-top:.25rem}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.5rem}.badge{display:inline-block;padding:.2rem .6rem;border-radius:999px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.stars-bg{position:relative;overflow:hidden}.stars-bg:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(1px 1px at 10% 20%,rgba(255,255,255,.6) 0%,transparent 100%),radial-gradient(1px 1px at 30% 65%,rgba(255,255,255,.5) 0%,transparent 100%),radial-gradient(1.5px 1.5px at 55% 15%,rgba(255,255,255,.7) 0%,transparent 100%),radial-gradient(1px 1px at 70% 45%,rgba(255,255,255,.4) 0%,transparent 100%),radial-gradient(1px 1px at 85% 80%,rgba(255,255,255,.5) 0%,transparent 100%),radial-gradient(1.5px 1.5px at 20% 90%,rgba(255,255,255,.6) 0%,transparent 100%),radial-gradient(1px 1px at 45% 50%,rgba(255,255,255,.3) 0%,transparent 100%),radial-gradient(1px 1px at 90% 25%,rgba(255,255,255,.4) 0%,transparent 100%);pointer-events:none;z-index:0}.stars-bg>*{position:relative;z-index:1}.toggle{position:relative;display:inline-block;width:44px;height:24px}.toggle input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;top:0;right:0;bottom:0;left:0;background:var(--color-border);border-radius:999px;transition:background .2s}.toggle-slider:before{content:"";position:absolute;height:18px;width:18px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:transform .2s}.toggle input:checked+.toggle-slider{background:var(--color-primary)}.toggle input:checked+.toggle-slider:before{transform:translate(20px)}.empty-state{text-align:center;padding:3rem 1rem;color:var(--color-text-muted)}.empty-state h3{margin-bottom:.5rem;color:var(--color-text)}.spinner{display:inline-block;width:28px;height:28px;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-screen{display:flex;align-items:center;justify-content:center;min-height:60vh}
