:root{color-scheme:dark;--ink:#e5ecfa;--muted:#92a1bc;--line:#ffffff16;--accent:#b8ccff}*{box-sizing:border-box}html,body{margin:0;background:#030617;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;overflow:hidden;overscroll-behavior:none;width:100%;height:100%;touch-action:manipulation}button,input,select{font:inherit;-webkit-tap-highlight-color:transparent}button{border:0;background:none;color:inherit;cursor:pointer;touch-action:manipulation}button:focus-visible,a:focus-visible{outline:2px solid #a9c7ff;outline-offset:3px}button:hover{color:white}button[hidden],[hidden]{display:none!important}#sky{position:fixed;inset:0;width:100%;height:100%;touch-action:manipulation;outline:0}header{position:fixed;top:max(12px,env(safe-area-inset-top));left:18px;right:18px;display:flex;align-items:center;justify-content:space-between;gap:12px;pointer-events:none}header>*{pointer-events:auto}.brand{font-size:10px;letter-spacing:2px;font-weight:500;padding:10px 0;color:#c4d1eb;display:flex;align-items:center;gap:6px;text-shadow:0 1px 8px #000}.brand span{font-size:24px;line-height:1}.timebar{display:flex;gap:9px;align-items:center;justify-content:flex-end;margin-left:auto;text-shadow:0 1px 8px #000}#timeBtn{display:flex;flex-direction:column;gap:3px;text-align:right;padding:5px 0}#dateLabel{font-size:7px;letter-spacing:1px;color:#a6b6d0}#clockLabel{font-size:11px;font-weight:400}.live{font-size:7px;letter-spacing:.7px;color:#9bc9b0;padding:5px 0}.live.off{color:#e4c48c}.hudbutton{width:36px;height:36px;font-size:22px;color:#bbcbe7}#viewLabel{position:fixed;left:50%;bottom:calc(96px + env(safe-area-inset-bottom));transform:translateX(-50%);display:flex;align-items:center;gap:8px;pointer-events:none;white-space:nowrap;text-shadow:0 1px 8px #000}#heading{font-size:9px;letter-spacing:1.4px;color:#becde5}#field{font-size:8px;color:#7086a9}.zoom{position:fixed;right:18px;top:48%;display:flex;flex-direction:column;gap:10px}.zoom button{width:34px;height:34px;font-size:21px;color:#9fb5d7;background:#0c143233;border-radius:50%;border:1px solid #ffffff0b}.bottom{position:fixed;left:18px;right:18px;bottom:calc(13px + env(safe-area-inset-bottom))}nav{display:flex;align-items:center;justify-content:space-between;pointer-events:none}nav button{pointer-events:auto;width:64px;height:58px;border-radius:18px;background:#08112766;border:1px solid #ffffff0b;backdrop-filter:blur(10px);color:#93a8ca;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}nav button span{font-size:25px;line-height:1}nav button small{font-size:8px;letter-spacing:.5px}nav button.active{color:#d5e0ff;background:#30436a55;border-color:#99b6ec3b}#sensorPrompt{position:fixed;left:50%;bottom:calc(130px + env(safe-area-inset-bottom));transform:translateX(-50%);width:max-content;max-width:90%;padding:12px 24px 14px;background:#101a30e8;border:1px solid #a8c2ff2a;border-radius:18px;backdrop-filter:blur(12px);text-align:center;box-shadow:0 8px 30px #0005}#sensorPrompt small{display:block;color:#a6b5cc;font-size:10px;margin-top:9px}#dismissSensors{position:absolute;top:3px;right:5px;font-size:18px;color:#778da9}.eyebrow{font-size:8px;letter-spacing:2px;color:#8ba2c8}.icon{width:40px;height:40px;border-radius:50%;border:1px solid var(--line);font-size:24px;color:#b4c5e6;flex:none}.action{border:1px solid #94afff40;border-radius:12px;background:#7f9ee21c;padding:12px 16px;font-size:12px;color:#d0deff}.wide{width:100%}#detail{position:fixed;right:22px;top:85px;width:290px;background:#101a2dea;border:1px solid var(--line);border-radius:20px;padding:22px;backdrop-filter:blur(20px)}#detail .close{position:absolute;right:11px;top:6px;font-size:25px;color:#99aecf}h2{font-size:25px;font-weight:400;letter-spacing:-.5px;margin:8px 0 0}#detail p{font-size:12px;line-height:1.7;color:var(--muted);margin:10px 0}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0}.stats span{font-size:8px;letter-spacing:.6px;color:var(--muted)}.stats strong{display:block;font-size:16px;font-weight:400;margin-top:5px;color:var(--ink)}.detail-actions{display:flex;gap:8px}.detail-actions button{flex:1;padding:11px 5px;font-size:11px}#scrim{position:fixed;inset:0;background:#0205126b;backdrop-filter:blur(4px)}#panel{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:linear-gradient(135deg,#15213a,#0b1325);border:1px solid #ffffff18;border-radius:24px;width:min(470px,94vw);max-height:82dvh;display:flex;flex-direction:column;box-shadow:0 30px 120px #0008}.panelhead{display:flex;align-items:center;justify-content:space-between;padding:24px 25px 16px;gap:15px}#panelContent{padding:0 25px 28px;overflow:auto;overscroll-behavior:contain;touch-action:pan-y}input,select{width:100%;padding:13px;border:1px solid #ffffff20;border-radius:12px;background:#050c1c77;color:#e2e9f8;outline:none;font-size:16px;touch-action:manipulation}input:focus{border-color:#9ab9fa}input[type=checkbox]{width:20px;height:20px;accent-color:#93acf1}input[type=range]{padding:10px 0;accent-color:#93acf1;touch-action:pan-x}.filters{display:flex;gap:6px;flex-wrap:wrap;margin:16px 0}.filters button{border:1px solid var(--line);border-radius:20px;padding:8px 12px;font-size:11px;color:#9cacc7}.filters button.active{color:#d5dfff;background:#809ee22b;border-color:#92b0ec55}.object{display:flex;align-items:center;text-align:left;gap:14px;padding:16px 0;width:100%;border-bottom:1px solid var(--line)}.orb{width:34px;height:34px;flex:none;border-radius:50%;background:radial-gradient(circle at 30% 30%,#dce5ff,#708ac9 45%,#182442);box-shadow:0 0 24px #809de022}.object strong{font-size:14px;font-weight:500;display:block}.object small{color:var(--muted);font-size:11px;display:block;margin-top:5px}.object .alt{margin-left:auto;color:#9cafd0;font-size:11px;white-space:nowrap}.note{font-size:12px;line-height:1.8;color:#91a1bc}.sectionlabel{font-size:10px;text-transform:uppercase;letter-spacing:1.5px;color:#7f94b6;margin:24px 0 7px}.row{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding:17px 0;font-size:13px}.row small{display:block;color:#899bb8;font-size:11px;line-height:1.6;margin-top:4px}.row label{flex:1}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}.formgrid label{font-size:11px;color:var(--muted)}.formgrid input{margin-top:8px}.event{border-left:1px solid #8ba8e855;padding:4px 0 4px 18px;margin:22px 0}.event strong{font-weight:500;font-size:14px}.event p{font-size:12px;color:var(--muted);margin:7px 0}a{color:#a4c1ff}.night{filter:sepia(1) saturate(3) hue-rotate(305deg)}#toast{position:fixed;left:50%;bottom:calc(150px + env(safe-area-inset-bottom));transform:translateX(-50%);max-width:90vw;width:max-content;font-size:11px;background:#17223beb;border:1px solid #ffffff20;border-radius:12px;padding:12px 16px;pointer-events:none;opacity:0;transition:opacity .3s}#toast.show{opacity:1}#loading{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:20px;background:#060919;font-size:65px;color:#afc7ff}#loading span{font-size:12px;letter-spacing:2px}@media(max-width:700px){.zoom{display:none}#detail{top:auto;bottom:calc(114px + env(safe-area-inset-bottom));left:14px;right:14px;width:auto;padding:18px 20px}#detail h2{font-size:23px}#detail .stats{margin:13px 0}#panel{top:auto;bottom:0;transform:translateX(-50%);max-height:85dvh;border-radius:24px 24px 0 0;width:100%}#panelContent{padding-bottom:calc(24px + env(safe-area-inset-bottom))}.panelhead{padding-top:24px}header{left:16px;right:16px}.brand{font-size:9px;letter-spacing:1.5px}#fullscreenBtn{display:none}}@media(max-height:450px){#viewLabel{bottom:75px}nav button{height:43px;width:54px}nav button small{display:none}.bottom{bottom:8px}#detail{max-height:75dvh;overflow:auto;top:55px;bottom:auto;left:auto;width:280px}#sensorPrompt{bottom:100px}}

#targetArrow{position:fixed;z-index:2;width:56px;height:56px;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;border-radius:50%;color:#d2e2ff;background:#0b193060;border:1px solid #a7c4ff24;touch-action:manipulation;filter:drop-shadow(0 0 8px #829bdf44)}#targetArrowIcon{pointer-events:none}#targetChip{position:fixed;left:50%;bottom:calc(126px + env(safe-area-inset-bottom));transform:translateX(-50%);display:flex;align-items:center;max-width:calc(100vw - 40px);background:#0c162acc;border:1px solid #a6bfff20;border-radius:16px;padding:8px 4px 8px 15px;z-index:2;backdrop-filter:blur(8px)}#targetInfo{text-align:left;max-width:calc(100vw - 105px);padding:3px 0}#targetInfo strong{display:block;font-size:12px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#targetInfo small{display:block;font-size:9px;margin-top:5px;color:#91a9cf}#clearTarget{width:36px;height:36px;font-size:22px;color:#91a9cf}#detail{z-index:3}#scrim{z-index:4}#panel{z-index:5}#toast{z-index:6}#loading{z-index:7}@media(max-height:450px){#targetChip{bottom:76px;left:20px;transform:none}}

#alignmentHint{position:fixed;z-index:5;top:calc(env(safe-area-inset-top) + 73px);left:50%;transform:translateX(-50%);max-width:85vw;padding:8px 12px;border-radius:16px;background:#151e38d9;color:#bbc9e8;text-align:center;font-size:11px;pointer-events:none}

#alignmentHint{pointer-events:auto;z-index:3;font-size:11px;border:1px solid #bccaff22;line-height:1.5;white-space:normal;min-width:220px}
.brand{letter-spacing:1.1px;font-size:8px}.brand span{font-size:21px}
#planetWalk{position:fixed;left:12px;right:12px;bottom:calc(94px + env(safe-area-inset-bottom));z-index:2;background:#071127d9;border:1px solid #b5caff1c;border-radius:18px;padding:10px 9px 8px;backdrop-filter:blur(12px)}
.walk-title{display:flex;align-items:center;gap:10px;padding:0 6px 7px;color:#b6c6e4;font-size:8px;letter-spacing:1.2px}.walk-title small{font-size:9px;letter-spacing:0;color:#8197bb}.walk-title button{margin-left:auto;width:25px;height:23px;font-size:22px;color:#98aaca}
#planetRow{display:flex;gap:5px;overflow-x:auto;overscroll-behavior:contain;touch-action:pan-x;scrollbar-width:none;padding-bottom:2px}#planetRow::-webkit-scrollbar{display:none}.planet-stop{flex:0 0 57px;min-height:78px;border-radius:12px;display:flex;align-items:center;flex-direction:column;gap:5px;padding:8px 2px 5px;border:1px solid transparent}.planet-stop[aria-pressed=true]{background:#90acff18;border-color:#c1d3ff52}.planet-stop strong{font-size:9px;font-weight:400;color:#d1dcf0}.planet-stop small{font-size:8px;color:#8198bc}.planet-disc{display:block;position:relative;width:24px;height:24px;border-radius:50%;background:radial-gradient(circle at 30% 28%,#ffffffa6,var(--planet-color) 43%,#0b1126 95%);box-shadow:0 0 14px #9abfff10}.planet-disc.sun{box-shadow:0 0 14px #ffdc8c42}.planet-disc.saturn:after{content:'';position:absolute;left:-7px;right:-7px;top:7px;height:7px;border:3px solid #c8b786ab;border-radius:50%;transform:rotate(-24deg)}
body.planet-walk #viewLabel{bottom:calc(210px + env(safe-area-inset-bottom))}body.planet-walk #targetChip{bottom:calc(237px + env(safe-area-inset-bottom))}body.planet-walk #detail{bottom:calc(225px + env(safe-area-inset-bottom))}
@media(min-width:701px){#planetWalk{width:620px;left:50%;right:auto;transform:translateX(-50%)}#planetRow{justify-content:space-between}body.planet-walk #detail{bottom:auto}}
@media(max-height:450px){#planetWalk{left:10px;right:80px;bottom:63px;padding-top:6px}.planet-stop{min-height:56px;padding:4px 1px}.planet-stop small{display:none}.walk-title{padding-bottom:2px}body.planet-walk #viewLabel{bottom:165px}body.planet-walk #targetChip{bottom:190px}}

#skyCredit{position:fixed;left:8px;right:8px;bottom:calc(2px + env(safe-area-inset-bottom));text-align:center;font-size:9px;line-height:11px;color:#8797b5;z-index:1;pointer-events:auto}#skyCredit a{color:inherit;text-decoration:none}

/* Textured thumbnails use the same credited material maps as the sky renderer. */
.planet-disc{width:40px;height:30px;border-radius:0;background-color:transparent;background-size:contain;background-position:center;background-repeat:no-repeat;box-shadow:none}.planet-disc.saturn:after{display:none}.planet-disc.sun{box-shadow:none}.surface-orb{border-radius:0;box-shadow:none;width:40px}

/* Crisp HUD text: no diffuse text shadows or blurred backplates. */
header{z-index:2;top:max(12px,calc(env(safe-area-inset-top) + 8px));gap:10px;left:max(16px,env(safe-area-inset-left));right:max(16px,env(safe-area-inset-right))}
.brand{font-size:10px;font-weight:600;letter-spacing:1px;text-shadow:none;white-space:nowrap;color:#d5e2f7}
.timebar{gap:4px;padding:2px 5px 2px 10px;border:1px solid #bfd4ff26;border-radius:13px;background:#080f21ed;text-shadow:none;box-shadow:0 2px 8px #0003;flex-shrink:0}
#timeBtn{min-height:44px;justify-content:center;gap:1px;padding:3px 0;white-space:nowrap}
#dateLabel{font-size:12px;line-height:1.35;font-weight:600;letter-spacing:.25px;color:#d7e3f7}
#clockLabel{font-size:14px;line-height:1.35;font-weight:600;font-variant-numeric:tabular-nums;color:#f4f7ff}
.live{font-size:10px;font-weight:600;letter-spacing:.2px;min-width:44px;min-height:44px;padding:5px;color:#b0e1c2}
#viewLabel{bottom:calc(82px + env(safe-area-inset-bottom));gap:10px;max-width:calc(100vw - 32px);padding:0 11px 0 5px;border:1px solid #8fcfcf40;border-radius:24px;background:#080f21ed;text-shadow:none;z-index:1;box-shadow:0 2px 8px #0003}
#compassReadout{display:flex;align-items:center;gap:7px;min-height:44px;padding:3px 0;pointer-events:auto}
#compassDial{flex:none;color:#95ded8}
#compassNeedle{transform-origin:16px 16px}
#heading{font-size:13px;line-height:1.25;letter-spacing:.2px;font-weight:600;font-variant-numeric:tabular-nums;color:#eff6ff}
#field{font-size:10px;line-height:1.3;color:#b4c5df;font-variant-numeric:tabular-nums;border-left:1px solid #ffffff26;padding-left:10px}
#viewLabel.unaligned{border-color:#dfbd7759}
#viewLabel.unaligned #compassDial,#viewLabel.unaligned #heading{color:#edcc8d}
#viewLabel.unaligned #compassNeedle{visibility:hidden}
body.planet-walk #viewLabel{bottom:calc(224px + env(safe-area-inset-bottom))}
body.planet-walk #targetChip{bottom:calc(276px + env(safe-area-inset-bottom))}
#targetChip{bottom:calc(134px + env(safe-area-inset-bottom))}
@media(max-width:360px){.brand{font-size:9px;letter-spacing:.5px;gap:4px}.brand span{font-size:18px}header{gap:6px}.timebar{padding-left:8px}#viewLabel{gap:7px;padding-right:9px}#heading{font-size:12px}#field{padding-left:7px}}
@media(max-height:450px){#viewLabel{bottom:calc(60px + env(safe-area-inset-bottom))}#targetChip{bottom:calc(112px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%)}body.planet-walk #viewLabel{bottom:calc(164px + env(safe-area-inset-bottom))}body.planet-walk #targetChip{bottom:calc(216px + env(safe-area-inset-bottom))}}

/* Related sky controls share one flow; no independent bottom offsets. */
#skyDock{position:fixed;left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));bottom:calc(2px + env(safe-area-inset-bottom));display:flex;flex-direction:column;align-items:center;gap:8px;max-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 86px);pointer-events:none;z-index:3}
#skyDock>*{flex-shrink:0;pointer-events:auto}
#skyDock #viewLabel,#skyDock #targetChip,#skyDock #sensorPrompt,#skyDock #planetWalk,#skyDock #alignmentHint,#skyDock #toast,#skyDock .bottom,#skyDock #skyCredit{position:relative;inset:auto;transform:none;margin:0;max-width:100%}
#skyDock .bottom{width:100%;max-width:620px;padding:0 5px}
#skyDock #skyCredit{width:100%;max-width:700px;pointer-events:auto}
#skyDock #viewLabel{pointer-events:none}
#skyDock #compassReadout{pointer-events:auto}
#skyDock #targetChip{width:max-content}
#skyDock #targetInfo{min-width:0;max-width:none}
#skyDock #clearTarget{flex-shrink:0}
#skyDock #planetWalk{width:min(620px,100%)}
#skyDock #detail{position:relative;inset:auto;transform:none;margin:0;width:min(390px,100%);padding:18px 20px;max-height:44dvh;min-height:0;flex-shrink:1;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y}
#skyDock #sensorPrompt{width:max-content;min-height:0;flex-shrink:1;overflow-y:auto;touch-action:pan-y}
#skyDock #toast{width:max-content;text-align:center;white-space:normal;opacity:1;transition:none;pointer-events:none;max-height:16dvh;overflow:auto;font-size:12px;line-height:1.4;padding:10px 14px;background:#17223bf5}
#skyDock #alignmentHint{width:max-content;min-width:0;font-size:11px;padding:8px 12px}
body.panel-open #skyDock,body.panel-open .zoom{visibility:hidden;pointer-events:none}
#panelNotice{flex:none;max-height:20dvh;overflow:auto;margin:0 20px 12px;padding:10px 14px;border:1px solid #a8c2ff30;border-radius:12px;background:#243657;color:#e1ebff;font-size:12px;line-height:1.5}
#panelContent{min-height:0}
@media(max-height:450px){#skyDock{gap:6px;max-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 76px)}#skyDock #detail{max-height:45dvh}#skyDock #planetWalk{padding:6px 9px}#skyDock #skyCredit{font-size:8px;line-height:10px}}
