:root{--bg-deep: #0a0c1c;--bg-mid: #12152c;--bg-top: #1c2140;--surface: rgba(52, 61, 102, .4);--surface-border: rgba(255, 255, 255, .09);--surface-soft: rgba(226, 230, 245, .05);--text-primary: #f8f9fe;--text-secondary: rgba(226, 230, 245, .74);--text-muted: rgba(226, 230, 245, .52);--text-faint: rgba(226, 230, 245, .38);--accent-sun: #F5A93A;--accent-moon: #A9C0F0;--accent-hortcat: #1D9E75;--radius-lg: 22px;--radius-md: 14px;--font-display: "Space Grotesk", system-ui, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, "SFMono-Regular", monospace}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg-deep);color:var(--text-primary);font-family:var(--font-display)}body{position:relative;background:radial-gradient(60% 40% at 18% 8%,rgba(90,105,180,.35) 0%,transparent 60%),radial-gradient(120% 70% at 50% -10%,var(--bg-top) 0%,var(--bg-mid) 46%,var(--bg-deep) 100%)}.stars{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.6;background-repeat:repeat;background-size:360px 320px;background-image:radial-gradient(1.4px 1.4px at 22px 38px,rgba(255,255,255,.55),transparent),radial-gradient(1.2px 1.2px at 140px 90px,rgba(255,255,255,.4),transparent),radial-gradient(1.6px 1.6px at 260px 55px,rgba(255,255,255,.5),transparent),radial-gradient(1.2px 1.2px at 60px 220px,rgba(255,255,255,.35),transparent),radial-gradient(1.4px 1.4px at 320px 180px,rgba(255,255,255,.45),transparent),radial-gradient(1.2px 1.2px at 200px 260px,rgba(255,255,255,.3),transparent)}a{color:var(--accent-moon);text-decoration:none}a:hover{color:#cdd6f4}button{font-family:inherit;cursor:pointer}.page{position:relative;max-width:1180px;margin:0 auto;padding:20px 18px 32px;display:flex;flex-direction:column;gap:18px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.back-link{display:flex;align-items:center;gap:6px;font-size:12.5px;font-weight:500;color:var(--text-secondary)}.back-link:hover{color:var(--accent-hortcat)}.title-block{text-align:center;order:3;width:100%}.title-block h1{margin:0;font-size:26px;font-weight:700;letter-spacing:-.015em}.title-block p{margin:2px 0 0;font-size:12px;color:var(--text-muted)}.location-pill{display:flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--surface-border);border-radius:999px;padding:8px 14px;color:var(--text-primary);font-size:13px;font-weight:500}.location-pill:hover{background:#e2e6f514}.layout{display:flex;flex-direction:column;gap:16px}.card{background:var(--surface);border:1px solid var(--surface-border);border-radius:var(--radius-lg);padding:22px;display:flex;flex-direction:column;gap:16px;backdrop-filter:blur(24px) saturate(140%);-webkit-backdrop-filter:blur(24px) saturate(140%);box-shadow:0 24px 48px -28px #000000a6,inset 0 1px #ffffff12}.eyebrow{font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:var(--text-muted)}.card-title{display:flex;align-items:center;gap:8px;font-size:11.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--text-muted)}.card-icon-title{display:flex;align-items:center;gap:12px;font-size:13px;font-weight:600;letter-spacing:.02em;color:var(--text-secondary)}.title-icon{flex:none;border-radius:50%;object-fit:cover}.sun-title-icon{filter:drop-shadow(0 0 6px rgba(245,169,58,.55))}.moon-title-icon{filter:drop-shadow(0 0 6px rgba(169,192,240,.5))}.hero{flex-direction:row;align-items:center;gap:20px}.moon-icon-wrap{position:relative;flex:none;width:96px;height:96px}.moon-photo-frame{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;overflow:hidden;filter:drop-shadow(0 0 20px rgba(255,255,255,.15))}.moon-photo{display:block;width:100%;height:100%;object-fit:cover;filter:brightness(1.08) contrast(1.05) saturate(.9)}.moon-shadow{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(120% 120% at 50% 50%,#080914f0 55%,#080914db);filter:blur(1.5px)}.hero-info{display:flex;flex-direction:column;gap:6px}.phase-name{font-size:24px;font-weight:700;color:var(--text-primary);letter-spacing:-.01em}.phase-sub{font-size:13.5px;color:var(--text-secondary)}.arc-row{display:flex;flex-direction:column;gap:14px}.times{display:flex;justify-content:space-between;align-items:flex-end}.time-block{display:flex;flex-direction:column;gap:4px}.time-block.right{align-items:flex-end}.time-block .label{font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:var(--text-muted)}.time-block .value{font-family:var(--font-mono);font-size:26px;font-weight:700;color:#fff}.arc-wrap{position:relative}.arc{width:100%;height:52px;display:block;overflow:visible}.arc-horizon{stroke:#e2e6f538;stroke-width:1;stroke-dasharray:3 4}.arc-track{fill:none;stroke:#e2e6f52e;stroke-width:2.5;stroke-linecap:round;transition:opacity .2s}.arc-fill{fill:none;stroke-width:2.5;stroke-linecap:round}.arc-dot-marker{position:absolute;top:0;left:0;width:16px;height:16px;border-radius:50%;transform:translate(-50%,-50%);pointer-events:none;transition:opacity .2s}.sun-dot-marker{background:radial-gradient(circle at 35% 30%,#fffbeb,#fbbf24 55%,#f59e0b);filter:drop-shadow(0 0 6px #fbbf24) drop-shadow(0 0 14px #f59e0b)}.moon-dot-marker{background:#f1f5f9;filter:drop-shadow(0 0 8px rgba(224,242,254,.8))}.sub-row{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-radius:12px;background:var(--surface-soft)}.sub-label{font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:var(--text-muted)}.sub-value{font-family:var(--font-mono);font-size:13px;color:var(--text-secondary)}.tasks-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.zona-select{flex:none;background:var(--surface-soft);border:1px solid var(--surface-border);border-radius:8px;padding:5px 8px;color:var(--text-secondary);font-family:inherit;font-size:11.5px}.zona-select:focus{outline:2px solid var(--accent-moon);outline-offset:1px}.chips{display:flex;flex-wrap:wrap;gap:14px 12px}.chip{display:flex;flex-direction:column;align-items:center;gap:8px;width:76px;flex:none}.chip-icon{width:48px;height:48px;border-radius:14px;background:#9fb4e81f;border:1px solid var(--surface-border);display:flex;align-items:center;justify-content:center}.chip-icon img{width:30px;height:30px;object-fit:contain}.chip-label{font-size:11.5px;font-weight:600;line-height:1.25;color:var(--text-secondary);text-align:center}.chip-accio{font-size:10px;color:var(--text-muted);text-align:center}.chips-status{font-size:12.5px;color:var(--text-muted)}.note{font-size:11px;color:var(--text-faint)}.note a{color:var(--text-muted);text-decoration:underline}.note a:hover{color:var(--accent-hortcat)}.card.calendar{display:none}.calendar-head{display:flex;align-items:center;justify-content:space-between}.month-nav{display:flex;align-items:center;gap:10px}.month-nav button{background:none;border:none;padding:4px;display:flex}#monthLabel{font-family:var(--font-mono);font-size:12px;color:var(--text-secondary);min-width:96px;text-align:center}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.cal-head{display:flex;align-items:center;justify-content:center;height:22px;font-size:10.5px;color:var(--text-muted)}.cal-cell{position:relative;display:flex;align-items:center;justify-content:center;height:34px;border-radius:9px;font-size:12px;color:var(--text-secondary);font-family:var(--font-mono)}.cal-cell.today{background:var(--accent-hortcat);color:var(--bg-deep);font-weight:600}.cal-cell .marker{position:absolute;bottom:3px;left:50%;transform:translate(-50%);width:5px;height:5px;border-radius:50%}.calendar-legend{display:flex;flex-wrap:wrap;gap:12px 16px;font-size:11px;color:var(--text-muted)}.calendar-legend span{display:flex;align-items:center;gap:6px}.dot{width:7px;height:7px;border-radius:50%;display:inline-block}.dot.new{background:#e2e6f559}.dot.first-quarter{background:var(--accent-moon)}.dot.full{background:#fff;box-shadow:0 0 4px #fff9}.dot.last-quarter{background:var(--accent-sun)}.site-footer{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding-top:8px}.footer-brand{display:flex;align-items:center;gap:10px}.brand-logo{display:block;width:72px;height:18px;flex:none;opacity:.85}.footer-brand span:last-child{font-size:11.5px;color:var(--text-faint)}.footer-brand span:last-child a{color:var(--text-faint);text-decoration:underline}.footer-credit{flex-basis:100%;margin:0;text-align:right;font-size:10.5px;color:var(--text-faint)}.footer-credit a{color:var(--text-faint);text-decoration:underline}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#05060f99;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:flex-end;justify-content:center;z-index:20}.modal-backdrop[hidden]{display:none}.modal{width:100%;max-width:420px;background:#171b34;border:1px solid var(--surface-border);border-radius:20px 20px 0 0;padding:20px;display:flex;flex-direction:column;gap:12px;max-height:80vh}.modal-head{display:flex;align-items:center;justify-content:space-between}.modal-head h2{margin:0;font-size:16px;font-weight:600}.modal-close{background:none;border:none;color:var(--text-muted);padding:4px}.modal-close:hover{color:var(--text-primary)}.geoloc-btn{display:flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--surface-border);border-radius:12px;padding:11px 14px;color:var(--text-primary);font-size:13.5px;font-weight:500}.geoloc-btn:hover{background:#e2e6f514}.search-input{background:#e2e6f50f;border:1px solid var(--surface-border);border-radius:12px;padding:11px 14px;color:var(--text-primary);font-family:inherit;font-size:13.5px}.search-input::placeholder{color:var(--text-muted)}.search-input:focus{outline:2px solid var(--accent-moon);outline-offset:1px}.search-status{margin:0;font-size:12px;color:var(--text-muted)}.search-results{list-style:none;margin:0;padding:0;overflow-y:auto;display:flex;flex-direction:column;gap:2px}.search-results li button{width:100%;text-align:left;background:none;border:none;border-radius:10px;padding:10px 12px;color:var(--text-secondary);font-size:13.5px;font-family:inherit}.search-results li button:hover{background:#e2e6f512;color:var(--text-primary)}@media (min-width: 900px){.page{padding:40px 32px 44px;gap:30px}.topbar{flex-wrap:nowrap}.title-block{order:0;width:auto;text-align:center}.layout{display:grid;grid-template-columns:minmax(300px,1fr) minmax(380px,1.15fr);gap:24px;align-items:start}.card.hero{grid-area:hero}.card.sun{grid-area:sun}.card.moon-times{grid-area:moon}.card.tasks{grid-area:tasks}.card.calendar{display:flex;grid-area:calendar}.card.eclipses{grid-area:eclipses}.layout{grid-template-areas:"sun hero" "sun calendar" "moon calendar" "moon tasks" "eclipses eclipses"}.modal-backdrop{align-items:center}.modal{border-radius:20px}}
