*{box-sizing:border-box}html,body{height:100%;margin:0;overflow:hidden}body{background:var(--bg);color:var(--text)}a{color:var(--accent);text-underline-offset:3px}button,input,select{font:inherit}button,select{cursor:pointer}button{color:inherit;touch-action:manipulation}button:disabled{opacity:.4;cursor:not-allowed}button,input,select,summary{outline-offset:3px}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,canvas:focus-visible,a:focus-visible{outline:2px solid var(--accent)}svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}[hidden]{display:none!important}.icon-library{position:absolute;width:0;height:0;overflow:hidden}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.skip-link{position:fixed;z-index:20;top:8px;left:8px;transform:translateY(-150%);padding:10px 14px;background:var(--panel);border:1px solid var(--accent)}.skip-link:focus{transform:none}
.sky-app{position:relative;display:grid;grid-template-columns:250px minmax(0,1fr);height:100dvh;min-height:0}.sidebar{min-width:0;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#38505c transparent;padding:18px;border-right:1px solid var(--line);background:linear-gradient(180deg,#101b24,#0b151d)}.sidebar-header{position:relative;margin-bottom:24px}.brand{display:block;color:var(--text);text-decoration:none;text-align:center}.brand img{display:block;width:200px;max-width:100%;height:auto;margin:0 auto}.brand h1{font-size:14px;font-weight:500;letter-spacing:.3px;margin:4px 0 0}.sidebar-close{display:none!important}.eyebrow,.section-kicker{display:block;color:var(--muted);font-size:10px;font-weight:650;letter-spacing:1.4px;line-height:1.6}.text-button{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:8px 0;border:0;background:none;color:var(--muted);font-size:12px}.text-button:hover{color:var(--accent)}.sidebar-help{display:flex;justify-content:space-between;border-top:1px solid var(--line);margin-top:20px;padding-top:6px}
.sidebar-counter{display:flex;justify-content:center;margin-top:12px}.sidebar-counter a{display:inline-flex;align-items:center;min-height:44px}.sidebar-counter img{display:block;border:0}
summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer}summary::-webkit-details-marker{display:none}.settings>summary>svg{width:16px;height:16px;transform:rotate(90deg)}.settings[open]>summary>svg{transform:rotate(-90deg)}.settings summary #location-summary{display:block;font-size:16px;margin-top:3px}.settings form{margin-top:18px}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:13px;min-width:0}.field label,.find-star>label{font-size:12px;color:var(--muted)}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.field-row .field{margin-bottom:0}.field input,.field select,.find-star select{width:100%;min-width:0;max-width:100%;min-height:40px;border:1px solid var(--line);background:#0a151e;border-radius:6px;padding:8px;color:var(--text);font-size:12px}.field input:hover,.field select:hover,.find-star select:hover{border-color:#506b79}.field input[type=datetime-local]{padding:8px 5px}.field label #time-zone-label{display:block;font-size:10px;margin-top:2px}.field-hint{font-size:10px;line-height:1.6;color:var(--muted);margin:6px 0 12px}.section-rule{height:1px;background:var(--line);margin:18px 0}.primary-button{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:44px;padding:10px;border:1px solid var(--accent);border-radius:6px;color:#0a211c;background:var(--accent);font-size:13px;font-weight:650}.primary-button:hover{background:#b1f1d6}.primary-button svg{width:17px;height:17px}.time-actions{display:grid;grid-template-columns:1fr 1.5fr 1fr;gap:5px;margin-top:8px}.time-actions button{display:flex;align-items:center;justify-content:center;gap:4px;min-height:40px;border:1px solid var(--line);border-radius:6px;background:transparent;font-size:11px;color:var(--muted)}.time-actions button:hover{background:var(--panel-raised);color:var(--text)}.time-actions svg{width:14px;height:14px}.form-error{font-size:12px;color:var(--error);border-left:2px solid var(--error);padding-left:10px}.display-settings{padding-top:18px;border-top:1px solid var(--line);margin-top:20px}.display-settings h2{margin:0 0 8px}.check-row{display:flex;gap:9px;align-items:center;min-height:36px;font-size:12px;color:#d1dee4;cursor:pointer}.check-row input{width:15px;height:15px;accent-color:var(--accent);margin:0}.magnitude-field{margin:14px 0 0}.magnitude-field label{display:flex;justify-content:space-between}.magnitude-field output{font-variant-numeric:tabular-nums}.magnitude-field input[type=range]{accent-color:var(--accent);padding:0;min-height:28px;border:0;background:none}.range-caption{display:flex;justify-content:space-between;font-size:10px;color:var(--faint)}.find-star{margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}.find-star select{margin-top:8px}
.map-panel{position:relative;min-width:0;min-height:0;background:var(--bg)}.map-viewport{position:absolute;inset:0;overflow:hidden;isolation:isolate;background:radial-gradient(ellipse at center,#101e2a,#080f16 72%)}canvas{display:block;width:100%;height:100%;position:absolute;inset:0;touch-action:none;cursor:grab}canvas:active{cursor:grabbing}.map-observation{position:absolute;top:16px;left:16px;max-width:calc(100% - 92px);display:flex;flex-direction:column;align-items:flex-start;gap:8px;pointer-events:none;z-index:1}#observation-label{color:#b7c8d1;font-size:11px;font-variant-numeric:tabular-nums;text-shadow:0 1px 4px #000;line-height:1.5}.map-metadata{position:absolute;bottom:16px;font-size:11px;line-height:1.5;color:#adc1cc;font-variant-numeric:tabular-nums;pointer-events:none;text-shadow:0 1px 4px #000}.map-statistics{left:16px;display:flex;flex-direction:column;max-width:calc(100% - 128px);gap:3px}.map-statistics span+span{font-size:10px;color:var(--faint)}.map-scale{right:16px}.map-message{position:absolute;left:20px;right:20px;top:38%;padding:16px;background:var(--panel);border:1px solid var(--line);text-align:center;color:var(--muted);font-size:13px}.map-tools{position:absolute;right:16px;top:16px;display:flex;flex-direction:column;gap:10px}.tool-group{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:8px;background:#0e1b25d9;overflow:hidden}.tool-group button{display:grid;place-items:center;width:42px;height:42px;border:0;background:none;color:#c3d4de}.tool-group button+button{border-top:1px solid var(--line)}.tool-group button:hover{background:#1f3542;color:var(--accent)}.tool-group button:focus-visible{outline-offset:-4px}.tool-group svg{width:18px;height:18px}.sidebar-toggle{display:none;pointer-events:auto;align-items:center;gap:6px;min-height:42px;padding:6px 10px;border:1px solid var(--line);border-radius:6px;background:#0e1b25e6;color:var(--text);font-size:12px}.map-viewport:fullscreen{width:100vw;height:100dvh}.no-script{position:absolute;top:30%;left:10%;right:10%;background:var(--panel);padding:20px;text-align:center}
.star-card{position:relative;width:100%;padding:16px 0;margin:0 0 20px;border-top:1px solid #385447;border-bottom:1px solid var(--line)}.card-close{position:absolute;right:-6px;top:8px;width:32px;height:32px;display:grid;place-items:center;background:none;border:0;border-radius:5px;color:var(--muted)}.card-close:hover{background:var(--panel-raised);color:var(--text)}.card-close svg{width:17px;height:17px}.star-card .section-kicker{font-size:8px;color:var(--accent);padding-right:24px}.star-card h2{font-size:20px;line-height:1.25;font-weight:550;margin:6px 20px 4px 0;overflow-wrap:anywhere}#star-designation{font-size:10px;color:var(--muted);margin:0}dl{display:grid;grid-template-columns:1fr 1fr;gap:12px 8px;border-top:1px solid var(--line);padding-top:12px;margin:14px 0 8px}dt{font-size:9px;color:var(--muted)}dd{font-size:12px;margin:3px 0 0;font-variant-numeric:tabular-nums}.star-visibility{font-size:10px;color:var(--accent);margin:10px 0 0}.center-star{font-size:11px}.object-card figure{margin:12px 0 8px}.object-card img{display:block;width:100%;height:110px;object-fit:contain;background:var(--bg)}.object-card figcaption{font-size:10px;line-height:1.4;color:var(--muted);margin-top:5px}.object-card #object-description{font-size:12px;line-height:1.5;margin:10px 0}.object-article-line{font-size:12px;margin:8px 0 0}.object-article-line a{display:inline-block;min-height:40px;padding:8px 0}.object-article-line span{display:block;font-size:10px;color:var(--muted)}.link-notice{border-left:2px solid var(--accent);padding-left:10px}
dialog{max-width:660px;max-height:calc(100dvh - 32px);width:calc(100% - 32px);border:1px solid var(--line);border-radius:12px;background:var(--panel);color:var(--text);padding:22px 28px;box-shadow:0 20px 100px #0008}dialog::backdrop{background:#02070bbd}.dialog-header{display:flex;align-items:center;justify-content:space-between}.icon-button{width:40px;height:40px;display:grid;place-items:center;background:var(--panel);border:1px solid var(--line);border-radius:6px;color:var(--muted);font-size:24px}.icon-button:hover{color:var(--accent)}dialog h2{font-weight:550;font-size:25px;line-height:1.25;margin:14px 0 20px}dialog h3{font-size:16px;margin:22px 0 10px}dialog p{font-size:13px;line-height:1.8;color:#bfced5}dialog .offline-note{color:var(--accent);border-top:1px solid var(--line);padding-top:14px}
@media(min-width:1600px){.sky-app{grid-template-columns:280px minmax(0,1fr)}.sidebar{padding:22px}}
@media(max-width:640px){.sky-app{grid-template-columns:minmax(0,1fr)}.sidebar{display:none;position:absolute;inset:0 auto 0 0;width:min(300px,100%);z-index:5;box-shadow:12px 0 36px #0008}.sky-app[data-sidebar-open="true"] .sidebar{display:block}.sidebar-close{display:grid!important;position:absolute;right:-8px;top:-8px}.sidebar-header{padding-top:20px}.sidebar-toggle{display:inline-flex}.map-observation{top:10px;left:10px;max-width:calc(100% - 72px)}.map-tools{top:10px;right:10px;gap:8px}.map-metadata{bottom:10px;font-size:10px}.map-statistics{left:10px;max-width:calc(100% - 94px)}.map-scale{right:10px}.field input,.field select,.find-star select{font-size:16px}.time-actions button{min-height:44px}}
@media(max-width:350px){.sidebar-toggle span{display:none}.map-tools{right:7px}.tool-group button{width:36px;height:38px}#observation-label{font-size:10px}.map-statistics{max-width:calc(100% - 84px)}}
@media(max-width:640px){.tool-group button{width:44px;height:44px}}
@media(max-height:500px){.map-tools{top:auto;bottom:10px;flex-direction:row;align-items:flex-end;gap:6px}.map-statistics{max-width:calc(100% - 170px)}.map-observation{max-width:calc(100% - 24px)}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.star-range{margin:10px 0}.star-range input{font-variant-numeric:tabular-nums}.view-indicator{position:absolute;right:3px;bottom:2px;font-size:8px;line-height:1}.tool-group button{position:relative}.tool-group button[aria-pressed="true"]{box-shadow:inset 0 0 0 1px currentColor;color:var(--accent)}
.sky-app[data-view="map"]{grid-template-columns:minmax(0,1fr)}.sky-app[data-view="map"] .sidebar,.sky-app[data-view="map"] .sidebar-toggle{display:none!important}
.sky-app[data-view="tool"] .brand{display:none}
html[data-night="true"]{--bg:#000;--panel:#000;--panel-raised:#180000;--line:#600000;--text:#f00000;--muted:#d00000;--faint:#b00000;--accent:#ff0000;--error:#ff0000}
html[data-night="true"] .sidebar,html[data-night="true"] .map-viewport,html[data-night="true"] .tool-group,html[data-night="true"] .sidebar-toggle,html[data-night="true"] input,html[data-night="true"] select{background:#000!important}
html[data-night="true"] body *{color:var(--text)!important;border-color:#600000!important;text-shadow:none!important}
html[data-night="true"] #sky-canvas,html[data-night="true"] .brand img,html[data-night="true"] .object-card img,html[data-night="true"] .sidebar-counter img{filter:url(#night-red)}
html[data-night="true"] input{accent-color:#ff0000}html[data-night="true"] dialog::backdrop{background:#000e}
html[data-night="true"] .primary-button{background:#000!important;color:#f00000!important}
html[data-night="true"] button,html[data-night="true"] button:hover{background:#000!important}
.star-card #star-physics{grid-template-columns:1fr;gap:4px}.star-card #star-physics dd{max-width:100%;text-align:left;line-height:1.5}.star-card #star-physics>div{display:block;padding-block:5px}#star-sources a{display:block;margin-block:4px;overflow-wrap:anywhere}
.object-dialog{max-width:560px;padding:24px;overflow:auto;overscroll-behavior:contain}.object-dialog .object-card{padding:0;margin:0;border:0}.object-dialog .card-close{top:-8px;right:-8px;width:44px;height:44px}.object-dialog .object-card h2{font-size:24px;margin:6px 40px 12px 0}.object-dialog .object-card img{height:clamp(140px,32dvh,300px)}.object-dialog .object-card figcaption{font-size:11px}.object-dialog .object-card #object-description{font-size:14px;line-height:1.6}.object-dialog dt{font-size:11px}.object-dialog dd{font-size:13px}.object-dialog .field-hint{font-size:12px}
.solar-actions{display:flex;flex-wrap:wrap;gap:4px 14px}.solar-actions .text-button{min-height:44px}
html[data-night="true"] input[type="checkbox"]{appearance:none;border:1px solid #c00000;border-radius:2px;background:#000}html[data-night="true"] input[type="checkbox"]:checked{background:#f00000!important;box-shadow:inset 0 0 0 3px #000}html[data-night="true"] input::-webkit-calendar-picker-indicator{filter:url(#night-red)}
