/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.hidden{display:none}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--night:#07101f;--ink:#f5f0df;--muted:#99a8bd;--line:#ffffff1f;--gold:#f4cb70;--green:#76d9ab;--serif:Georgia, "Times New Roman", serif;--sans:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}*{box-sizing:border-box}html{background:var(--night);scroll-behavior:smooth}body{background:var(--night);min-width:320px;color:var(--ink);font-family:var(--sans);margin:0}button,input{font:inherit}button{color:inherit}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.loading-shell{background:var(--night);min-height:100svh}.app-shell{background:radial-gradient(circle at 50% 32%, #122443 0, #091528 32%, var(--night) 70%);min-height:100svh;position:relative;overflow:hidden}.stars{opacity:.35;pointer-events:none;background-image:radial-gradient(circle,#fff 0 1px,#0000 1.5px);background-size:83px 83px;position:absolute;inset:0}.stars-one{transform:rotate(11deg)scale(1.2)}.stars-two{opacity:.16;background-size:137px 137px;transform:translate(31px,19px)}.topbar{z-index:2;justify-content:space-between;align-items:center;width:min(1120px,100% - 40px);margin:0 auto;padding:26px 0;display:flex;position:relative}.offline-banner{z-index:3;width:min(620px,100% - 32px);color:var(--gold);text-align:left;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#322716d1;border:1px solid #f4cb7047;border-radius:14px;align-items:center;gap:10px;margin:-9px auto 17px;padding:10px 14px;display:flex;position:relative}.offline-banner>span{font-size:11px;animation:2s ease-in-out infinite offline-pulse}.offline-banner strong,.offline-banner small{display:block}.offline-banner strong{font-size:11px}.offline-banner small{color:#d1c5aa;margin-top:2px;font-size:9px;line-height:1.4}.offline-banner.is-ready{color:var(--green);background:#123027d6;border-color:#76d9ab47}.offline-banner.is-ready small{color:#bdd8cc}.offline-banner.is-warning{color:#f0aa91;background:#3a1f19db;border-color:#eb947657}.offline-banner.is-warning small{color:#dcc0b6}@keyframes offline-pulse{0%,to{opacity:.45}50%{opacity:1}}.install-card{z-index:2;text-align:left;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:linear-gradient(120deg,#122d2ecc,#081323d1);border:1px solid #76d9ab33;border-radius:18px;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;width:min(720px,100% - 32px);margin:0 auto 18px;padding:14px 16px;display:grid;position:relative}.install-card img{border-radius:13px;box-shadow:0 7px 20px #0000003d}.install-card .eyebrow{color:var(--green);margin-bottom:2px;font-size:8px}.install-card h2{font-family:var(--serif);margin:0;font-size:20px;font-weight:400}.install-card small{max-width:470px;color:var(--muted);margin-top:3px;font-size:9px;line-height:1.4;display:block}.install-card button{min-height:39px;color:var(--green);cursor:pointer;background:#76d9ab1f;border:1px solid #76d9ab5c;border-radius:999px;padding:0 15px;font-size:10px;font-weight:700}:is(.install-card button:hover,.install-card button:focus-visible){background:#76d9ab33;outline:none;box-shadow:0 0 0 3px #76d9ab0f}.brand{color:var(--ink);font-family:var(--serif);letter-spacing:.01em;align-items:center;gap:11px;font-size:18px;text-decoration:none;display:inline-flex}.brand-mark{width:32px;height:32px;color:var(--gold);border:1px solid #f4cb706b;border-radius:50%;place-items:center;font-size:22px;display:grid;box-shadow:0 0 20px #f4cb701a}.topbar-actions{align-items:center;gap:8px;display:flex}.location-pill,.mode-pill,.language-pill,.icon-button{border:1px solid var(--line);cursor:pointer;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff0e}.language-pill{color:var(--muted);border-radius:999px;padding:9px 11px;font-size:10px;font-weight:700}.location-pill{color:#d9e0ea;border-radius:999px;align-items:center;gap:8px;padding:10px 14px;font-size:14px;display:inline-flex}.mode-pill{color:var(--muted);border-radius:999px;align-items:center;gap:7px;padding:10px 13px;font-size:12px;display:inline-flex}.mode-pill.is-active{color:var(--gold);background:#f4cb701a;border-color:#f4cb706b}:is(.location-pill:hover,.location-pill:focus-visible,.mode-pill:hover,.mode-pill:focus-visible,.language-pill:hover,.language-pill:focus-visible,.icon-button:hover,.icon-button:focus-visible){background:#ffffff1a;border-color:#f4cb7080;outline:none}.dashboard{z-index:1;text-align:center;width:min(860px,100% - 32px);margin:24px auto 0;position:relative}.moon-stage{place-items:center;width:230px;height:230px;margin:0 auto -4px;display:grid;position:relative}.moon-orbit{border:1px solid #f4cb7021;border-radius:50%;position:absolute;inset:12px;box-shadow:inset 0 0 50px #f4cb7009}.moon-glyph{z-index:1;filter:drop-shadow(0 0 25px #f4cb7033);font-size:132px;line-height:1;position:relative}.tiny-star{color:var(--gold);position:absolute}.star-a{font-size:13px;top:32px;right:10px}.star-b{font-size:32px;bottom:42px;left:3px}.eyebrow{color:var(--gold);letter-spacing:.18em;text-transform:uppercase;margin:0 0 9px;font-size:11px;font-weight:700}.phase-block h1{font-family:var(--serif);letter-spacing:-.035em;margin:0;font-size:clamp(42px,7vw,68px);font-weight:400;line-height:1.02}.illumination{color:#c4cedb;font-family:var(--serif);margin:12px 0 28px;font-size:22px}.phase-explanation{text-align:left;background:#040a1561;border:1px solid #f4cb7029;border-radius:18px;width:min(620px,100%);margin:-8px auto 18px}.phase-explanation summary{cursor:pointer;justify-content:space-between;align-items:center;gap:16px;padding:14px 17px;list-style:none;display:flex}.phase-explanation summary::-webkit-details-marker{display:none}.phase-explanation summary small,.phase-explanation summary strong{display:block}.phase-explanation summary small{color:var(--gold);letter-spacing:.14em;text-transform:uppercase;margin-bottom:2px;font-size:8px;font-weight:700}.phase-explanation summary strong{font-family:var(--serif);font-size:19px;font-weight:400}.explanation-toggle{border:1px solid var(--line);width:28px;height:28px;color:var(--gold);border-radius:50%;flex:none;place-items:center;transition:transform .2s;display:grid}.phase-explanation[open] .explanation-toggle{transform:rotate(45deg)}.explanation-body{border-top:1px solid #ffffff12;grid-template-columns:135px 1fr;align-items:center;gap:20px;padding:2px 18px 18px;display:grid}.sun-moon-diagram{color:var(--gold);justify-content:center;align-items:center;gap:7px;display:flex}.sun-moon-diagram span:first-child{font-size:31px}.sun-moon-diagram span:last-child{color:#7b8aa0;font-size:20px}.sun-moon-diagram b{color:#e7edf5;filter:drop-shadow(0 0 10px #f4cb702e);font-size:36px;font-weight:400}.sun-moon-diagram i{color:#596a82;font-size:12px;font-style:normal}.explanation-copy p{color:#c8d2df;margin:12px 0 0;font-size:11px;line-height:1.55}.explanation-copy strong{color:var(--gold);font-family:var(--serif);margin-top:12px;font-size:17px;font-weight:400;display:block}.explanation-copy small{color:#75849a;margin-top:10px;font-size:9px;line-height:1.5;display:block}.phase-explanation summary:focus-visible{outline:2px solid var(--gold);outline-offset:2px;border-radius:18px}.visibility-card{text-align:left;background:#060d1980;border:1px solid #99a8bd33;border-radius:22px;align-items:center;gap:12px;max-width:100%;padding:12px 18px;display:inline-flex}.visibility-card.is-visible{border-color:#76d9ab42}.status-dot{background:#8895a8;border-radius:50%;flex:none;width:9px;height:9px;box-shadow:0 0 14px #8895a88c}.is-visible .status-dot{background:var(--green);box-shadow:0 0 14px #76d9abb8}.visibility-card small,.visibility-card strong,.visibility-card span{display:block}.visibility-card small{color:var(--muted);margin-bottom:2px;font-size:11px}.visibility-card strong{font-size:14px;font-weight:600}.visibility-timing{color:var(--gold);margin-top:4px;font-size:11px}.visibility-caution{max-width:360px;color:var(--muted);margin-top:3px;font-size:10px;line-height:1.35}.direction-block{text-align:left;justify-content:center;align-items:center;gap:20px;margin:34px auto;display:flex}.direction-arrow{width:58px;height:58px;color:var(--gold);background:#f4cb700d;border:1px solid #f4cb703d;border-radius:50%;flex:none;place-items:center;font-size:28px;display:grid}.direction-main{font-family:var(--serif);margin:0 0 5px;font-size:25px}.technical-line{color:var(--muted);margin:0;font-size:13px}.is-sabino-mode{background:radial-gradient(circle at 50% 35%,#233151 0,#111a35 32%,#07101f 72%)}.sabino-card{text-align:left;background:radial-gradient(circle at 15% 30%,#f4cb7021,#0000 35%),linear-gradient(135deg,#262c4feb,#0c1a30eb);border:1px solid #f4cb704d;border-radius:28px;align-items:center;gap:28px;margin:26px 0 4px;padding:28px 30px;display:flex;position:relative;overflow:hidden;box-shadow:0 22px 60px #0000002e}.sabino-card:after{content:"";border:1px solid #f4cb701f;border-radius:50%;width:180px;height:180px;position:absolute;bottom:-110px;right:-80px;box-shadow:0 0 0 24px #f4cb7006,0 0 0 52px #f4cb7005}.sabino-character{flex:none;place-items:center;width:145px;height:145px;animation:3.2s ease-in-out infinite sabino-float;display:grid;position:relative}.sabino-character:before{content:"";border:1px dashed #f4cb7030;border-radius:50%;position:absolute;inset:4px}.sabino-moon{z-index:1;filter:drop-shadow(0 0 20px #f4cb7042);font-size:94px;line-height:1;position:relative}.sabino-face{z-index:2;color:#2a221fb8;font-family:var(--serif);font-size:22px;font-weight:700;position:absolute;top:70px;left:72px;transform:translate(-50%)}.sabino-sparkle{color:var(--gold);position:absolute}.sparkle-one{font-size:17px;animation:1.8s ease-in-out infinite sabino-twinkle;top:6px;right:9px}.sparkle-two{font-size:35px;animation:2.3s ease-in-out infinite reverse sabino-twinkle;bottom:13px;left:7px}.sabino-story{z-index:1;flex:1;position:relative}.sabino-story h2{font-family:var(--serif);letter-spacing:-.025em;margin:0;font-size:clamp(31px,5vw,48px);font-weight:400;line-height:1.03}.sabino-story>p:not(.eyebrow){color:#d5deeb;max-width:590px;margin:13px 0 16px;font-size:15px;line-height:1.55}.sabino-facts{flex-wrap:wrap;gap:7px;display:flex}.sabino-facts span{color:#b9c6d7;background:#ffffff09;border:1px solid #ffffff1c;border-radius:999px;padding:7px 10px;font-size:10px}.sabino-facts span.is-time-sensitive{color:var(--gold);background:#f4cb7012;border-color:#f4cb7047}.sabino-actions{flex-wrap:wrap;align-items:center;gap:14px;margin-top:18px;display:flex}.sabino-listen{color:var(--gold);cursor:pointer;background:#f4cb701f;border:1px solid #f4cb7066;border-radius:999px;align-items:center;gap:8px;padding:11px 15px;font-size:12px;font-weight:700;display:inline-flex}:is(.sabino-listen:hover,.sabino-listen:focus-visible){background:#f4cb7030;outline:none;box-shadow:0 0 0 3px #f4cb7012}.sabino-exit{color:var(--muted);cursor:pointer;background:0 0;border:0;border-bottom:1px solid #99a8bd40;padding:7px 0;font-size:10px}:is(.sabino-exit:hover,.sabino-exit:focus-visible){border-color:var(--gold);color:var(--gold);outline:none}.sabino-voice-note{color:var(--muted);margin-top:11px;font-size:10px;display:block}@keyframes sabino-float{0%,to{transform:translateY(0)rotate(-1deg)}50%{transform:translateY(-8px)rotate(1deg)}}@keyframes sabino-twinkle{0%,to{opacity:.35;transform:scale(.8)}50%{opacity:1;transform:scale(1.15)}}.compass-panel{text-align:left;background:radial-gradient(circle at 15%,#f4cb7013,#0000 38%),#040a1580;border:1px solid #f4cb702e;border-radius:20px;margin:0 0 14px;padding:22px}.compass-heading{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:19px;display:flex}.compass-heading h2{font-family:var(--serif);margin:0;font-size:27px;font-weight:400}.sensor-status{border:1px solid var(--line);color:var(--muted);letter-spacing:.1em;text-transform:uppercase;border-radius:999px;padding:6px 10px;font-size:9px;font-weight:700}.sensor-status.is-active{color:var(--green);background:#76d9ab0f;border-color:#76d9ab4d}.compass-onboarding,.compass-active{align-items:center;gap:22px;display:flex}.compass-onboarding p{color:#aebacc;max-width:510px;margin:0 0 13px;font-size:13px;line-height:1.55}.compass-preview{width:86px;height:86px;color:var(--gold);background:#f4cb700a;border:1px solid #f4cb7033;border-radius:50%;flex:none;place-items:center;display:grid;position:relative}.compass-preview:before{content:"";border:1px dashed #ffffff1f;border-radius:50%;position:absolute;inset:10px}.compass-preview span{font-size:30px;transform:rotate(38deg)}.compass-preview i{background:var(--gold);width:25px;height:25px;color:var(--night);font-family:var(--serif);border-radius:50%;place-items:center;font-size:17px;font-style:normal;display:grid;position:absolute;top:8px;right:9px}.compass-button{color:var(--gold);cursor:pointer;background:#f4cb701a;border:1px solid #f4cb705c;border-radius:999px;padding:10px 14px;font-size:12px;font-weight:700}:is(.compass-button:hover,.compass-button:focus-visible){background:#f4cb702b;outline:none;box-shadow:0 0 0 3px #f4cb7012}.compass-dial{background:radial-gradient(circle,#f4cb7012,#0000 60%);border:1px solid #f4cb7042;border-radius:50%;flex:none;width:150px;height:150px;position:relative;box-shadow:inset 0 0 0 12px #ffffff04}.compass-dial:before,.compass-dial:after{content:"";background:#ffffff1a;position:absolute}.compass-dial:before{width:1px;top:11px;bottom:11px;left:50%}.compass-dial:after{height:1px;top:50%;left:11px;right:11px}.compass-cardinals{z-index:1;transform:rotate(var(--compass-heading));transition:transform .18s ease-out;position:absolute;inset:0}.cardinal{color:#7f8fa5;font-size:9px;font-weight:700;position:absolute}.cardinal.north{color:var(--gold);top:8px;left:50%;transform:translate(-50%)}.cardinal.east{top:50%;right:9px;transform:translateY(-50%)}.cardinal.south{bottom:7px;left:50%;transform:translate(-50%)}.cardinal.west{top:50%;left:9px;transform:translateY(-50%)}.facing-marker{z-index:4;color:var(--green);filter:drop-shadow(0 0 7px #76d9ab80);font-size:15px;position:absolute;top:-10px;left:50%;transform:translate(-50%)}.moon-needle{z-index:3;transform:rotate(var(--moon-bearing));justify-content:center;transition:transform .18s ease-out;display:flex;position:absolute;inset:17px}.moon-needle:before{content:"";background:linear-gradient(var(--gold), #f4cb700d);width:2px;height:50%}.moon-needle span{width:28px;height:28px;color:var(--gold);font-family:var(--serif);transform:rotate(calc(-1 * var(--moon-bearing)));background:#172238;border:1px solid #f4cb7066;border-radius:50%;place-items:center;font-size:20px;display:grid;position:absolute;top:-8px}.compass-guidance strong,.compass-guidance span,.compass-guidance small{display:block}.compass-guidance strong{font-family:var(--serif);margin-bottom:8px;font-size:clamp(24px,4vw,34px);font-weight:400;line-height:1.1}.compass-guidance span{color:var(--muted);font-size:12px}.compass-guidance small{color:var(--gold);margin-top:9px;font-size:10px}.altitude-guidance{background:#f4cb7009;border:1px solid #f4cb702b;border-radius:14px;align-items:center;gap:12px;margin-top:14px;padding:11px 13px;display:flex}.altitude-guidance.is-aligned{background:#76d9ab0e;border-color:#76d9ab57}.altitude-track{border-left:1px solid #ffffff29;flex:none;width:30px;height:72px;position:relative}.altitude-track:before,.altitude-track:after{content:"";background:#ffffff38;width:5px;height:1px;position:absolute;left:-3px}.altitude-track:before{top:0}.altitude-track:after{bottom:0}.altitude-phone,.altitude-moon{line-height:1;transition:bottom .18s ease-out;position:absolute;left:6px;transform:translateY(50%)}.altitude-phone{color:var(--green)!important;font-size:12px!important}.altitude-moon{left:17px;color:var(--gold)!important;font-size:18px!important}.altitude-copy b{color:#eef5ff;margin-bottom:3px;font-size:13px;display:block}.altitude-copy span{font-size:10px;line-height:1.35}.compass-guidance small.holding-tip{color:var(--muted)}.compass-stop-button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-bottom:1px solid #99a8bd47;margin-top:15px;padding:8px 0;font-size:11px}:is(.compass-stop-button:hover,.compass-stop-button:focus-visible){border-color:var(--gold);color:var(--gold);outline:none}.event-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.event-grid article{border:1px solid var(--line);text-align:left;background:#ffffff09;border-radius:16px;align-items:center;gap:15px;padding:18px 20px;display:flex}.event-grid article.is-next-event{background:#f4cb700e;border-color:#f4cb7047}.event-icon{border-radius:50%;flex:none;place-items:center;width:42px;height:42px;font-size:21px;display:grid}.event-icon.rise{color:var(--gold);background:#f4cb701a}.event-icon.set{color:#b8b7ed;background:#b8b7ed17}.event-grid small,.event-grid strong{display:block}.event-grid small{color:var(--muted);margin-bottom:4px;font-size:11px}.event-grid strong{font-family:var(--serif);font-size:24px;font-weight:400}.event-grid article:last-child strong{font-size:18px;line-height:1.1}.moon-glyph-small{filter:drop-shadow(0 0 10px #f4cb701f);place-items:center;min-width:42px;font-size:34px;line-height:1;display:inline-grid}.event-distance{color:var(--muted);margin-top:3px;font-size:10px;display:block}.event-date{color:var(--gold);text-transform:capitalize;margin-top:4px;font-size:10px;display:block}.viewing-plan{text-align:left;background:radial-gradient(circle at 85% 10%,#f4cb7017,#0000 35%),#040a1585;border:1px solid #f4cb7033;border-radius:20px;margin-top:14px;padding:22px}.viewing-plan-heading{justify-content:space-between;align-items:flex-end;gap:14px;display:flex}.viewing-plan-heading h2{font-family:var(--serif);margin:0;font-size:27px;font-weight:400}.viewing-plan-heading>span{color:var(--green);text-transform:uppercase;border:1px solid #76d9ab40;border-radius:999px;padding:6px 9px;font-size:9px}.invitation-panel{text-align:left;background:linear-gradient(125deg,#132445b8,#050b17b8);border:1px solid #7ea4db33;border-radius:20px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px 22px;margin-top:14px;padding:20px 22px;display:grid}.invitation-panel h2{font-family:var(--serif);margin:0;font-size:27px;font-weight:400}.invitation-panel div>p:last-child{max-width:520px;color:var(--muted);margin:7px 0 0;font-size:11px;line-height:1.55}.invitation-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.invitation-actions button{min-height:40px;color:var(--ink);font:inherit;cursor:pointer;background:#f4cb7017;border:1px solid #f4cb7047;border-radius:999px;padding:0 14px;font-size:10px}.invitation-actions button:first-child{background:var(--gold);color:#101827;font-weight:700}.invitation-actions button:hover{border-color:#f4cb709e;transform:translateY(-1px)}.invitation-panel>small{color:var(--green);grid-column:1/-1;font-size:10px}.best-window{align-items:baseline;gap:13px;margin:18px 0;display:flex}.best-window strong{color:var(--gold);font-family:var(--serif);font-size:34px;font-weight:400}.best-window span,.no-window{color:var(--muted);font-size:12px}.journey-label{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin:18px 0 10px;font-size:10px}.journey-line{grid-template-columns:repeat(3,1fr);gap:8px;display:grid;position:relative}.journey-line:before{content:"";background:#f4cb7033;height:1px;position:absolute;top:15px;left:16%;right:16%}.journey-line>div{text-align:center;position:relative}.journey-line i{z-index:1;width:31px;height:31px;color:var(--gold);background:#111c30;border:1px solid #f4cb7040;border-radius:50%;place-items:center;margin:0 auto 6px;font-style:normal;display:grid;position:relative}.journey-line small,.journey-line strong,.journey-line span{display:block}.journey-line small{color:var(--muted);font-size:9px}.journey-line strong{font-family:var(--serif);margin-top:2px;font-size:18px;font-weight:400}.journey-line span{color:var(--gold);font-size:9px}.plan-note{color:#74839a;margin-top:14px;font-size:9px;display:block}.sky-panel{text-align:left;background:radial-gradient(circle at 12%,#76d9ab12,#0000 38%),#040a1580;border:1px solid #76d9ab2e;border-radius:20px;margin-top:14px;padding:22px}.sky-heading{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:19px;display:flex}.sky-heading h2{font-family:var(--serif);margin:0;font-size:27px;font-weight:400}.weather-status{border:1px solid var(--line);color:var(--muted);letter-spacing:.1em;text-transform:uppercase;border-radius:999px;padding:6px 10px;font-size:9px;font-weight:700}.weather-status.is-ready{color:var(--green);background:#76d9ab0f;border-color:#76d9ab4d}.sky-onboarding,.sky-result{align-items:center;gap:22px;display:flex}.sky-onboarding p{color:#d7dfe8;font-family:var(--serif);margin:0 0 5px;font-size:20px}.sky-onboarding small{max-width:560px;color:var(--muted);font-size:10px;line-height:1.55;display:block}.sky-preview,.sky-symbol{background:#76d9ab09;border:1px solid #76d9ab33;border-radius:50%;flex:none;place-items:center;width:92px;height:92px;display:grid;position:relative}.sky-preview span{color:#7789a1;font-size:44px}.sky-preview i{color:var(--gold);font-family:var(--serif);filter:drop-shadow(0 0 9px #f4cb7040);font-size:31px;font-style:normal;position:absolute;top:11px;right:8px}.sky-button{color:var(--green);cursor:pointer;background:#76d9ab14;border:1px solid #76d9ab57;border-radius:999px;margin-top:13px;padding:10px 14px;font-size:12px;font-weight:700}:is(.sky-button:hover,.sky-button:focus-visible){background:#76d9ab24;outline:none;box-shadow:0 0 0 3px #76d9ab0f}.sky-button:disabled{cursor:wait;opacity:.62}.sky-symbol span{font-size:37px}.sky-symbol.is-clear{color:var(--gold);border-color:#f4cb7057;box-shadow:inset 0 0 26px #f4cb7014}.sky-symbol.is-good{color:#b8b7ed}.sky-symbol.is-variable{color:#a7b5c7}.sky-symbol.is-poor{color:#93a5d1;border-color:#93a5d147}.sky-summary{flex:1}.sky-moment{color:var(--green);letter-spacing:.1em;text-transform:uppercase;margin-bottom:4px;font-size:9px;font-weight:700;display:block}.sky-summary>strong{font-family:var(--serif);font-size:clamp(25px,4vw,35px);font-weight:400;line-height:1.1;display:block}.sky-summary>p{color:var(--muted);margin:7px 0 14px;font-size:12px}.weather-metrics{flex-wrap:wrap;gap:8px;display:flex}.weather-metrics>span{border:1px solid var(--line);background:#ffffff06;border-radius:10px;min-width:90px;padding:9px 12px}.weather-metrics small,.weather-metrics b{display:block}.weather-metrics small{color:var(--muted);text-transform:uppercase;margin-bottom:2px;font-size:8px}.weather-metrics b{font-family:var(--serif);font-size:16px;font-weight:400}.weather-actions{flex-wrap:wrap;align-items:center;gap:15px;margin-top:13px;display:flex}.weather-actions button,.weather-actions a{color:var(--muted);cursor:pointer;background:0 0;border:0;border-bottom:1px solid #99a8bd3d;padding:0;font-size:9px;text-decoration:none}:is(.weather-actions button:hover,.weather-actions button:focus-visible,.weather-actions a:hover,.weather-actions a:focus-visible){border-color:var(--green);color:var(--green);outline:none}.calendar-panel{border:1px solid var(--line);text-align:left;background:#040a156b;border-radius:20px;margin-top:14px;padding:20px}.calendar-heading{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:17px;display:flex}.calendar-heading h2{font-family:var(--serif);margin:0;font-size:27px;font-weight:400}.calendar-heading div>small{color:var(--muted);margin-top:4px;font-size:9px;display:block}.calendar-heading>span{border:1px solid var(--line);color:var(--muted);text-transform:uppercase;border-radius:999px;padding:6px 10px;font-size:10px}.moon-calendar{grid-template-columns:repeat(7,minmax(78px,1fr));gap:8px;display:grid}.moon-day{color:inherit;text-align:center;cursor:pointer;background:#ffffff07;border:1px solid #0000;border-radius:13px;justify-items:center;gap:7px;padding:13px 6px;display:grid}.moon-day.is-today{background:#f4cb7011;border-color:#f4cb704d}.moon-day.is-selected{background:#76d9ab12;border-color:#76d9ab6b;box-shadow:0 0 0 2px #76d9ab09}.moon-day:focus-visible{outline:2px solid var(--green);outline-offset:2px}.moon-day small{color:var(--muted);text-transform:capitalize;font-size:10px}.moon-day strong{font-family:var(--serif);font-size:16px;font-weight:400}.moon-day>span:last-child{color:#6f7f95;text-transform:capitalize;font-size:9px}.moon-day .moon-glyph-small{min-width:auto;font-size:29px}.moon-day-detail{background:#76d9ab09;border:1px solid #76d9ab2e;border-radius:15px;margin-top:14px;padding:16px}.day-detail-heading{justify-content:space-between;align-items:flex-end;gap:14px;margin-bottom:13px;display:flex}.day-detail-heading small,.day-detail-heading strong{text-transform:capitalize;display:block}.day-detail-heading small{color:var(--muted);font-size:10px}.day-detail-heading strong{font-family:var(--serif);margin-top:3px;font-size:22px;font-weight:400}.day-detail-heading>span{color:var(--gold);font-size:11px}.day-detail-events{grid-template-columns:repeat(3,1fr) minmax(150px,1.5fr);gap:8px;display:grid}.day-detail-events>div{background:#ffffff09;border-radius:11px;padding:10px}.day-detail-events small,.day-detail-events strong,.day-detail-events span{display:block}.day-detail-events small{color:var(--muted);font-size:9px}.day-detail-events strong{font-family:var(--serif);margin-top:3px;font-size:17px;font-weight:400}.special-events{text-align:left;background:radial-gradient(circle at 90% 5%,#b8b7ed14,#0000 32%),#040a157a;border:1px solid #b8b7ed33;border-radius:20px;margin-top:14px;padding:21px}.special-heading{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:16px;display:flex}.special-heading h2{font-family:var(--serif);margin:0;font-size:27px;font-weight:400}.special-heading div>small{color:var(--muted);margin-top:4px;font-size:9px;display:block}.special-heading>span{color:#b8b7ed;text-transform:uppercase;border:1px solid #b8b7ed38;border-radius:999px;padding:6px 10px;font-size:9px}.special-grid{grid-template-columns:repeat(2,1fr);gap:9px;display:grid}.special-grid article{background:#ffffff06;border:1px solid #ffffff14;border-radius:14px;align-items:flex-start;gap:13px;min-width:0;padding:14px;display:flex}.special-icon{width:38px;height:38px;color:var(--gold);font-family:var(--serif);border:1px solid #f4cb7033;border-radius:50%;flex:none;place-items:center;font-size:22px;display:grid}.special-icon.is-new{color:#8594a9}.special-icon.is-eclipse{color:#b8b7ed}.special-grid article>div{min-width:0}.special-grid small,.special-grid strong,.special-grid time{display:block}.special-grid small{color:var(--green);margin-bottom:2px;font-size:9px}.special-grid strong{font-family:var(--serif);font-size:19px;font-weight:400}.special-grid time{color:var(--gold);text-transform:capitalize;margin-top:3px;font-size:10px}.special-grid p{color:var(--muted);margin:7px 0 0;font-size:9px;line-height:1.45}.special-note{color:#708097;margin-top:12px;font-size:8px;line-height:1.5;display:block}.day-detail-events span{color:var(--gold);font-size:9px}.day-detail-events .is-best{background:#f4cb700f}.day-detail-events .is-best strong{color:var(--gold);font-size:15px}.dashboard-footer{color:#718198;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin:20px 0 0;font-size:11px;display:flex}.dashboard-footer button{color:#9faec1;cursor:pointer;background:0 0;border:0;border-radius:50%;width:28px;height:28px;padding:0}:is(.dashboard-footer button:hover,.dashboard-footer button:focus-visible){background:#ffffff14;outline:none}.trust-line{z-index:1;color:#586a82;letter-spacing:.08em;text-align:center;text-transform:uppercase;margin:28px auto 22px;font-size:10px;position:relative}.dashboard-placeholder{min-height:70vh;color:var(--muted);place-content:center;display:grid}.dashboard-placeholder span{font-size:80px}.chooser-backdrop{z-index:20;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#01050cb8;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.chooser{background:linear-gradient(#111f36 0%,#0a1628 100%);border:1px solid #ffffff26;border-radius:24px;flex-direction:column;width:min(560px,100%);max-height:min(720px,100svh - 40px);padding:28px;display:flex;box-shadow:0 28px 90px #0000008c}.chooser-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.chooser h1{font-family:var(--serif);margin:0;font-size:clamp(30px,6vw,42px);font-weight:400;line-height:1.05}.chooser-copy{color:#aebacc;margin:15px 0 20px;font-size:14px;line-height:1.55}.icon-button{border-radius:50%;flex:none;width:36px;height:36px;font-size:23px;line-height:1}.search-field{color:var(--muted);background:#ffffff0b;border:1px solid #ffffff29;border-radius:12px;align-items:center;gap:10px;padding:0 14px;display:flex}.search-field:focus-within{border-color:#f4cb708c;box-shadow:0 0 0 3px #f4cb7014}.search-field input{width:100%;color:var(--ink);background:0 0;border:0;outline:0;padding:13px 0}.search-field input::placeholder{color:#6f7d91}.location-list{border-top:1px solid var(--line);margin-top:14px;overflow-y:auto}.location-row{border:0;border-bottom:1px solid var(--line);cursor:pointer;text-align:left;background:0 0;justify-content:space-between;align-items:center;width:100%;padding:14px 4px;display:flex}:is(.location-row:hover,.location-row:focus-visible){color:var(--gold);outline:none}.location-row strong,.location-row small{display:block}.location-row strong{font-family:var(--serif);font-size:18px;font-weight:400}.location-row small{color:var(--muted);margin-top:3px;font-size:11px}.privacy-note,.empty-state{color:#708097;font-size:11px;line-height:1.5}.privacy-note{text-align:center;margin:16px 0 0}.empty-state{padding:24px 4px}.section-label{color:#74849b;letter-spacing:.14em;text-transform:uppercase;margin:0 0 7px;font-size:9px;font-weight:700}.saved-places{margin-bottom:16px}.saved-place{border-top:1px solid var(--line);align-items:stretch;display:flex}.saved-place:last-child{border-bottom:1px solid var(--line)}.saved-place.is-current{background:#76d9ab0a}.saved-place-main{cursor:pointer;text-align:left;background:0 0;border:0;flex:1;justify-content:space-between;align-items:center;gap:12px;min-width:0;padding:11px 4px;display:flex}:is(.saved-place-main:hover,.saved-place-main:focus-visible){color:var(--gold);outline:none}.saved-place-main strong,.saved-place-main small{display:block}.saved-place-main strong{font-family:var(--serif);font-size:17px;font-weight:400}.saved-place-main small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:10px;overflow:hidden}.saved-place.is-current .saved-place-main>span:last-child{color:var(--green)}.remove-place{color:#6f7e93;cursor:pointer;background:0 0;border:0;width:36px}:is(.remove-place:hover,.remove-place:focus-visible){color:#f3a1a1;outline:none}.custom-toggle{border:0;border-top:1px solid var(--line);color:#c9d2df;cursor:pointer;background:0 0;justify-content:space-between;align-items:center;width:100%;margin-top:12px;padding:12px 0;font-size:13px;display:flex}:is(.custom-toggle:hover,.custom-toggle:focus-visible){color:var(--gold);outline:none}.custom-location-form{border:1px solid var(--line);background:#ffffff06;border-radius:14px;gap:12px;padding:14px;display:grid}.custom-location-form label{color:var(--muted);gap:6px;font-size:10px;display:grid}.custom-location-form input{width:100%;color:var(--ink);background:#00000029;border:1px solid #ffffff24;border-radius:9px;outline:0;padding:11px 12px}.custom-location-form input:focus{border-color:#f4cb708c;box-shadow:0 0 0 3px #f4cb7012}.coordinate-fields{grid-template-columns:1fr 1fr;gap:10px;display:grid}.primary-button{color:var(--gold);cursor:pointer;background:#f4cb701a;border:1px solid #f4cb705c;border-radius:10px;padding:11px 14px;font-weight:700}:is(.primary-button:hover,.primary-button:focus-visible){background:#f4cb7029;outline:none}.form-error{color:#f3a1a1;margin:0;font-size:11px}@media (max-width:620px){.topbar{width:calc(100% - 28px);padding:18px 0}.brand{font-size:15px}.brand-mark{width:29px;height:29px}.location-pill{max-width:50vw}.topbar-actions{gap:5px}.language-pill{padding:8px;font-size:9px}.mode-pill{justify-content:center;width:38px;height:38px;padding:0}.mode-pill span:last-child{clip:rect(0, 0, 0, 0);width:1px;height:1px;position:absolute;overflow:hidden}.location-pill span:nth-child(2){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dashboard{margin-top:2px}.install-card{grid-template-columns:auto 1fr}.install-card button{grid-column:1/-1;width:100%}.moon-stage{width:190px;height:190px}.moon-glyph{font-size:112px}.illumination{margin-bottom:22px}.phase-explanation{margin-bottom:16px}.explanation-body{grid-template-columns:1fr;gap:0}.sun-moon-diagram{padding-top:18px}.direction-block{margin:26px auto}.direction-main{font-size:22px}.sabino-card{text-align:center;border-left:0;border-right:0;border-radius:0;margin-left:-16px;margin-right:-16px;padding:20px 18px 24px;display:block}.sabino-character{width:112px;height:112px;margin:-4px auto 5px}.sabino-moon{font-size:76px}.sabino-face{font-size:18px;top:54px;left:56px}.sabino-story>p:not(.eyebrow){font-size:14px}.sabino-facts,.sabino-actions{justify-content:center}.compass-panel{border-left:0;border-right:0;border-radius:0;margin-left:-16px;margin-right:-16px;padding:20px 16px}.compass-onboarding{align-items:flex-start;gap:16px}.compass-preview{width:68px;height:68px}.compass-preview span{font-size:24px}.compass-preview i{top:4px;right:4px}.compass-active{gap:17px}.compass-dial{width:128px;height:128px}.compass-guidance strong{font-size:23px}.altitude-guidance{padding:9px 10px}.event-grid{grid-template-columns:1fr}.event-grid article{padding:15px 17px}.viewing-plan{border-left:0;border-right:0;border-radius:0;margin-left:-16px;margin-right:-16px;padding:20px 16px}.invitation-panel{border-left:0;border-right:0;border-radius:0;grid-template-columns:1fr;margin-left:-16px;margin-right:-16px;padding:20px 16px}.invitation-actions{justify-content:flex-start}.invitation-actions button{flex:150px}.best-window{display:block}.sky-panel{border-left:0;border-right:0;border-radius:0;margin-left:-16px;margin-right:-16px;padding:20px 16px}.sky-onboarding,.sky-result{align-items:flex-start;gap:16px}.sky-preview,.sky-symbol{width:70px;height:70px}.sky-preview span{font-size:34px}.sky-preview i{font-size:26px;top:5px;right:2px}.sky-symbol span{font-size:29px}.sky-summary>strong{font-size:23px}.weather-metrics>span{min-width:76px;padding:8px 9px}.calendar-panel{border-left:0;border-right:0;border-radius:0;margin-left:-16px;margin-right:-16px;padding:18px 0 18px 16px}.calendar-heading{padding-right:16px}.moon-calendar{scroll-snap-type:x proximity;grid-template-columns:repeat(7,82px);padding-right:16px;overflow-x:auto}.moon-day{scroll-snap-align:start}.moon-day-detail{margin-right:16px}.day-detail-heading{align-items:flex-start}.day-detail-events{grid-template-columns:repeat(3,1fr)}.day-detail-events .is-best{grid-column:1/-1}.special-events{border-left:0;border-right:0;border-radius:0;margin-left:-16px;margin-right:-16px;padding:18px 16px}.special-heading{align-items:flex-start}.special-grid{grid-template-columns:1fr}.chooser-backdrop{align-items:end;padding:0}.chooser{border-radius:24px 24px 0 0;max-height:90svh;padding:24px 20px 20px}.trust-line{padding:0 20px;line-height:1.6}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.sabino-character,.sabino-sparkle,.offline-banner>span{animation:none!important}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}
