:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:#ffffffde;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;background-color:#242424;font-family:Avenir,Helvetica,Arial,sans-serif;font-size:16px;font-weight:400;line-height:24px}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}body{min-width:320px;min-height:100vh;margin:0;overflow:hidden}#bg{touch-action:none;display:block;position:fixed;inset:0}button{touch-action:manipulation}:focus-visible{outline-offset:2px;outline:2px solid #ffb020e6}#bg:focus-visible{outline-offset:-3px}#view-overlay{z-index:5;pointer-events:none;position:fixed;inset:0}#loading-overlay{z-index:30;color:#ffffff80;letter-spacing:.12em;text-transform:uppercase;pointer-events:none;background:#000;justify-content:center;align-items:center;font-size:13px;transition:opacity .4s;animation:1.6s ease-in-out infinite loading-pulse;display:flex;position:fixed;inset:0}#loading-overlay.loading-overlay-hidden{opacity:0}@keyframes loading-pulse{0%,to{opacity:.4}50%{opacity:.9}}@media (prefers-reduced-motion:reduce){#loading-overlay{opacity:.7;animation:none}#loading-overlay,.grid-hint{transition:none}}.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}body.no-webgl #page-intro{clip:auto;white-space:normal;width:auto;max-width:560px;height:auto;margin:0 auto;padding:48px 24px;position:static;overflow:visible}body.no-webgl{background:#0b0b10;overflow:auto}body.no-webgl #bg{display:none}body.no-webgl #page-intro h1{line-height:1.2}.webgl-note{color:#ffb020}.moon-hud{bottom:max(24px, calc(env(safe-area-inset-bottom) + 8px));left:max(24px, calc(env(safe-area-inset-left) + 8px));right:max(24px, calc(env(safe-area-inset-right) + 8px));z-index:5;pointer-events:none;flex-direction:column;align-items:center;gap:10px;display:flex;position:fixed}.time-control{pointer-events:auto;align-items:center;width:min(280px,100vw - 48px);display:flex}.time-control input{cursor:pointer;appearance:none;background:0 0;flex:1;min-width:0;height:28px;margin:0}.time-control input::-webkit-slider-runnable-track{background:#ffffff29;border-radius:1px;height:2px}.time-control input::-moz-range-track{background:#ffffff29;border-radius:1px;height:2px}.time-control input::-webkit-slider-thumb{-webkit-appearance:none;background:#ffffff8c;border:none;border-radius:50%;width:12px;height:12px;margin-top:-5px;transition:background .15s}.time-control input::-moz-range-thumb{background:#ffffff8c;border:none;border-radius:50%;width:12px;height:12px;transition:background .15s}.time-control input:hover::-webkit-slider-thumb{background:#fff}.time-control input:active::-webkit-slider-thumb{background:#fff}.time-control input:focus-visible::-webkit-slider-thumb{background:#fff}.time-control input:hover::-moz-range-thumb{background:#fff}.time-control input:active::-moz-range-thumb{background:#fff}.time-control input:focus-visible::-moz-range-thumb{background:#fff}.moon-label{color:#fff9;letter-spacing:.12em;text-transform:uppercase;text-align:center;pointer-events:none;font-size:13px}.back-button{top:76px;left:max(24px, calc(env(safe-area-inset-left) + 8px));pointer-events:auto;color:#ffffffd9;cursor:pointer;background:#ffffff14;border:1px solid #ffffff26;border-radius:6px;padding:8px 14px;font-size:13px;position:fixed}.back-button:hover{background:#ffffff26}.reset-button{top:76px;right:max(24px, calc(env(safe-area-inset-right) + 8px));pointer-events:auto;color:#ffffffd9;cursor:pointer;background:#ffffff14;border:1px solid #ffffff26;border-radius:6px;padding:8px 14px;font-size:13px;position:fixed}.reset-button:hover{background:#ffffff26}.location-button{pointer-events:auto;color:#fff;cursor:pointer;background:#ffffff1f;border:1px solid #ffffff40;border-radius:999px;align-items:center;gap:7px;padding:8px 18px;font-size:13px;display:inline-flex}.location-button:hover{background:#fff3}.location-button:disabled{cursor:default;opacity:.6}.location-button[hidden]{display:none}.location-button svg{flex:none;width:15px;height:15px}.sky-compass{pointer-events:none;flex-direction:column;align-items:center;gap:6px;display:flex}.sky-compass[hidden]{display:none}.sky-compass-ring{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#14141873;border:1px solid #ffffff2e;border-radius:50%;width:160px;height:160px;transition:border-color .25s,box-shadow .25s;position:relative}.sky-compass-ring.is-aligned{border-color:#fffae3b3;box-shadow:0 0 16px #fff7d659}.sky-compass-ring.is-bearing-only:before{content:"";background:#ffffff26;height:1px;position:absolute;top:50%;left:12%;right:12%}.sky-compass-ring.is-bearing-only.is-aligned{box-shadow:none;border-color:#fff6}.sky-compass-crosshair{border:1px solid #ffffff59;border-radius:50%;width:16px;height:16px;margin:-8px 0 0 -8px;position:absolute;top:50%;left:50%}.sky-compass-marker,.sky-compass-north{line-height:1;transition:opacity .2s;position:absolute;top:50%;left:50%}.sky-compass-marker{font-size:22px}.sky-compass-north{letter-spacing:.1em;color:#ffffff73;font-size:11px}.sky-compass-marker.is-beyond-rim,.sky-compass-north.is-beyond-rim{opacity:.45}.sky-compass-hint{color:#ffffffbf;letter-spacing:.08em;text-transform:uppercase;text-align:center;min-height:16px;font-size:12px}.sky-compass-caveat{color:#ffffff59;letter-spacing:.06em;text-align:center;font-size:10px}@media (prefers-reduced-motion:reduce){.sky-compass-ring,.sky-compass-marker,.sky-compass-north{transition:none}}#app-nav{top:max(20px, env(safe-area-inset-top));z-index:10;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);touch-action:manipulation;background:#1414188c;border:1px solid #ffffff1a;border-radius:999px;flex-wrap:nowrap;justify-content:center;align-items:center;gap:8px;max-width:calc(100vw - 24px);padding:6px;display:flex;position:fixed;left:50%;transform:translate(-50%)}#app-nav button{letter-spacing:.04em;color:#ffffffa6;cursor:pointer;background:0 0;border:none;border-radius:999px;padding:7px 16px;font-family:inherit;font-size:13px}#app-nav button:hover{color:#ffffffe6}#app-nav button.active{color:#fff;background:#ffffff26}#grid-nav{border-left:1px solid #ffffff26;align-items:center;gap:4px;margin-left:8px;padding-left:12px;display:flex;position:relative}#grid-nav[hidden]{display:none}#grid-nav button:not(#grid-label){color:#ffffffa6;cursor:pointer;background:0 0;border:none;padding:4px 8px;font-family:inherit;font-size:15px}#grid-nav button:not(#grid-label):hover{color:#fff}#grid-label{color:#fffc;text-align:center;white-space:nowrap;cursor:pointer;background:0 0;border:none;border-radius:999px;min-width:9ch;padding:4px 8px;font-family:inherit;font-size:13px}#grid-label:hover{color:#fff;background:#ffffff1f}#grid-label.active{color:#fff;background:#ffffff26}#grid-label:after{content:"▾";opacity:.6;margin-left:4px;font-size:10px}#date-picker{z-index:30;color:#ffffffd9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#141418f2;border:1px solid #ffffff1f;border-radius:14px;width:264px;padding:14px;position:fixed;box-shadow:0 12px 32px #00000073}#date-picker[hidden]{display:none}.date-picker-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.date-picker-title{letter-spacing:.02em;color:#fff;font-size:13px;font-weight:600}.date-picker-nav{color:#ffffffa6;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-family:inherit;font-size:15px;display:flex}.date-picker-nav:hover{color:#fff;background:#ffffff1a}.date-picker-weekdays{grid-template-columns:repeat(7,1fr);margin-bottom:2px;display:grid}.date-picker-weekdays span{text-align:center;color:#fff6;text-transform:uppercase;letter-spacing:.04em;font-size:10px}.date-picker-days{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.date-picker-grid-month,.date-picker-grid-year{grid-template-columns:repeat(3,1fr);gap:4px;display:grid}.date-picker-cell{color:#ffffffbf;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;padding:6px 0;font-family:inherit;font-size:12px;position:relative}.date-picker-grid-day .date-picker-cell{padding:6px 0}.date-picker-cell:hover{color:#fff;background:#ffffff1a}.date-picker-cell:focus-visible{outline-offset:1px;outline:2px solid #ffb02099}.date-picker-cell-outside{color:#ffffff40}.date-picker-cell.is-today:after{content:"";background:#ffb020;border-radius:50%;width:3px;height:3px;margin-left:-1.5px;position:absolute;bottom:3px;left:50%}.date-picker-cell.is-selected{color:#ffb020;background:#ffb0202e;border-color:#ffb02066}.date-picker-today{color:#fff9;cursor:pointer;background:0 0;border:1px solid #ffffff26;border-radius:999px;width:100%;margin-top:10px;padding:6px 0;font-family:inherit;font-size:12px;display:block}.date-picker-today:hover{color:#fff;border-color:#ffffff4d}.date-picker-today[hidden]{display:none}.grid-hint{bottom:max(24px, calc(env(safe-area-inset-bottom) + 8px));z-index:6;pointer-events:none;color:#ffffffb3;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#141418bf;border:1px solid #ffffff1f;border-radius:999px;padding:7px 16px;font-size:12px;transition:opacity .4s;position:fixed;left:50%;transform:translate(-50%)}.grid-hint-hidden{opacity:0}#chrome-buttons{top:max(20px, env(safe-area-inset-top));right:max(20px, calc(env(safe-area-inset-right) + 8px));z-index:10;touch-action:manipulation;gap:8px;display:flex;position:fixed}.icon-button{pointer-events:auto;color:#ffffffb3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer;background:#1414188c;border:1px solid #ffffff26;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:16px;line-height:1;display:flex}.icon-button:hover{color:#fff;background:#ffffff26}.icon-button[hidden]{display:none}.icon-button svg{width:1.125em;height:1.125em}.icon-button.active{color:#ffb020;background:#ffb0202e;border-color:#ffb02066}#rings-button.active{color:#fffaf0;background:radial-gradient(circle,#fffae366,#fffae31f);border-color:#fffae399;box-shadow:0 0 8px #fff7d666}#about-overlay{z-index:20;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}#about-overlay[hidden]{display:none}#about-card{color:#fffc;background:#141418f2;border:1px solid #ffffff1f;border-radius:14px;max-width:480px;max-height:min(80vh,640px);padding:28px;font-size:14px;line-height:1.6;position:relative;overflow-y:auto}#about-card h2{color:#fff;margin:0 0 12px;font-size:18px}#about-card h3{letter-spacing:.08em;text-transform:uppercase;color:#ffffff80;margin:20px 0 8px;font-size:13px}#about-card p{margin:0}#about-card .about-byline{color:#ffffff80;margin-top:8px;font-size:13px}#about-card ul{margin:0;padding-left:18px}#about-card li{margin-bottom:8px}#about-card a{color:#ffb020}#about-close{color:#fff9;cursor:pointer;background:0 0;border:none;padding:4px;font-size:22px;line-height:1;position:absolute;top:14px;right:14px}#about-close svg{width:18px;height:18px;display:block}#about-close:hover{color:#fff}@media (width<=480px){#app-nav{top:max(16px, env(safe-area-inset-top));gap:4px;padding:5px}#app-nav button{padding:6px 11px;font-size:12px}#grid-nav{margin-left:4px;padding-left:8px}#grid-label{min-width:7ch;font-size:12px}.back-button,.reset-button{padding:7px 12px;font-size:12px;top:100px}.back-button{left:max(16px, calc(env(safe-area-inset-left) + 8px))}.reset-button{right:max(16px, calc(env(safe-area-inset-right) + 8px))}.moon-hud{bottom:max(16px, calc(env(safe-area-inset-bottom) + 8px));left:max(16px, calc(env(safe-area-inset-left) + 8px));right:max(16px, calc(env(safe-area-inset-right) + 8px))}.moon-label{font-size:12px}.sky-compass-ring{width:136px;height:136px}#chrome-buttons{top:max(16px, env(safe-area-inset-top));right:max(16px, calc(env(safe-area-inset-right) + 8px));gap:6px}.icon-button{width:32px;height:32px;font-size:14px}#about-card{padding:22px;font-size:13px}}@media (width<=370px){#app-nav{gap:2px;padding:4px}#app-nav button{padding:5px 8px;font-size:11px}#grid-nav{gap:2px;margin-left:2px;padding-left:6px}#grid-nav button:not(#grid-label){padding:4px}#grid-label{min-width:0;padding:4px;font-size:11px}.moon-label{font-size:11px}}
