.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;left:0;top:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:transparent}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{width:1600px;height:1600px;-webkit-transform-origin:0 0}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{max-width:none!important;max-height:none!important;width:auto;padding:0}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{-ms-touch-action:pinch-zoom;touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{-ms-touch-action:none;touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4)}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{width:0;height:0;-moz-box-sizing:border-box;box-sizing:border-box;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{position:relative;z-index:800;pointer-events:visiblePainted;pointer-events:auto}.leaflet-top,.leaflet-bottom{position:absolute;z-index:1000;pointer-events:none}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;-webkit-transition:opacity .2s linear;-moz-transition:opacity .2s linear;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1);-moz-transition:-moz-transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{-webkit-transition:none;-moz-transition:none;transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-popup-pane,.leaflet-control{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{background:#ddd;outline-offset:1px}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{border:2px dotted #38f;background:#ffffff80}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:12px;font-size:.75rem;line-height:1.5}.leaflet-bar{box-shadow:0 1px 5px #000000a6;border-radius:4px}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;display:block;text-align:center;text-decoration:none;color:#000}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-bottom:none}.leaflet-bar a.leaflet-disabled{cursor:default;background-color:#f4f4f4;color:#bbb}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:700 18px Lucida Console,Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{box-shadow:0 1px 5px #0006;background:#fff;border-radius:5px}.leaflet-control-layers-toggle{background-image:url(/lib/images/layers.png);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(/lib/images/layers-2x.png);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{padding:6px 10px 6px 6px;color:#333;background:#fff}.leaflet-control-layers-scrollbar{overflow-y:scroll;overflow-x:hidden;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:13px;font-size:1.08333em}.leaflet-control-layers-separator{height:0;border-top:1px solid #ddd;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(/lib/images/marker-icon.png)}.leaflet-container .leaflet-control-attribution{background:#fff;background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{padding:0 5px;color:#333;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{display:inline!important;vertical-align:baseline!important;width:1em;height:.6669em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{border:2px solid #777;border-top:none;line-height:1.1;padding:2px 5px 1px;white-space:nowrap;-moz-box-sizing:border-box;box-sizing:border-box;background:#fffc;text-shadow:1px 1px #fff}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{border:2px solid rgba(0,0,0,.2);background-clip:padding-box}.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:12px}.leaflet-popup-content{margin:13px 24px 13px 20px;line-height:1.3;font-size:13px;font-size:1.08333em;min-height:1px}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-top:-1px;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;pointer-events:auto;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;color:#333;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{position:absolute;top:0;right:0;border:none;text-align:center;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;color:#757575;text-decoration:none;background:transparent}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{width:24px;margin:0 auto;-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=.70710678,M12=.70710678,M21=-.70710678,M22=.70710678)}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{position:absolute;padding:6px;background-color:#fff;border:1px solid #fff;border-radius:3px;color:#222;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;box-shadow:0 1px 3px #0006}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{position:absolute;pointer-events:none;border:6px solid transparent;background:transparent;content:""}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{bottom:0;margin-bottom:-12px;border-top-color:#fff}.leaflet-tooltip-bottom:before{top:0;margin-top:-12px;margin-left:-6px;border-bottom-color:#fff}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{top:50%;margin-top:-6px}.leaflet-tooltip-left:before{right:0;margin-right:-12px;border-left-color:#fff}.leaflet-tooltip-right:before{left:0;margin-left:-12px;border-right-color:#fff}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.capability-score.score-positive{color:#28a745!important;font-weight:700}.capability-score.score-negative{color:#dc3545!important;font-weight:700}.capability-score{transition:color .3s ease}*{margin:0;padding:0;box-sizing:border-box}:root{font-family:var(--font-family-primary);line-height:1.6;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html,body{height:100%;width:100%;overflow-x:hidden;margin:0;padding:0}body{position:relative;background:linear-gradient(110deg,#000,#0a0a1f,#1a1a3e 40%,#2d2d5f,#1a1a3e 60%,#0a0a1f,#000);color:var(--text-primary);min-height:100vh}body:before{content:"";position:fixed;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(ellipse at center,rgba(255,255,255,.05) 0%,transparent 30%);transform:rotate(25deg);pointer-events:none;z-index:0}#root{position:relative;z-index:1;min-height:100vh;width:100%}.app-container{position:relative;z-index:2;min-height:100vh;padding-top:70px}.main-content{position:relative;z-index:1;padding:2rem;min-height:calc(100vh - 200px)}button{font-family:inherit;cursor:pointer;outline:none;border:none;background:none}a{color:var(--accent-blue);text-decoration:none}a:hover{text-decoration:underline}*:focus{outline:2px solid var(--accent-blue);outline-offset:2px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--accent-blue);outline-offset:2px;box-shadow:0 0 0 4px #3b82f626}button:focus:not(:focus-visible),a:focus:not(:focus-visible){outline:none}@media (prefers-contrast: high){*:focus{outline-width:3px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}:root{--astro-red-darkest: #0a0000;--astro-red-darker: #1a0000;--astro-red-dark: #330000;--astro-red-medium: #4d0000;--astro-red-surface: #660000;--astro-red-text-primary: #ff6666;--astro-red-text-secondary: #cc4444;--astro-red-text-muted: #993333;--astro-red-text-bright: #ff9999;--astro-red-accent: #ff3333;--astro-red-accent-hover: #ff5555;--astro-red-accent-active: #ff7777;--astro-red-accent-dim: #aa2222;--astro-red-border-subtle: #440000;--astro-red-border-normal: #660000;--astro-red-border-strong: #880000;--astro-red-focus: #ff6666;--astro-red-focus-shadow: rgba(255, 102, 102, .25);--astro-red-shadow: rgba(0, 0, 0, .5);--astro-red-glow: rgba(255, 51, 51, .1)}body.red-mode{--primary-bg: var(--astro-red-darkest);--secondary-bg: var(--astro-red-darker);--tertiary-bg: var(--astro-red-dark);--surface-bg: var(--astro-red-surface);--border-color: var(--astro-red-border-normal);--text-primary: var(--astro-red-text-primary);--text-secondary: var(--astro-red-text-secondary);--text-muted: var(--astro-red-text-muted);--accent-primary: var(--astro-red-accent);--accent-secondary: var(--astro-red-accent-dim);--accent-green: var(--astro-red-accent);--accent-yellow: var(--astro-red-accent-hover);--accent-red: var(--astro-red-accent);--accent-blue: var(--astro-red-accent);--link-color: var(--astro-red-text-bright);--link-hover: var(--astro-red-accent-hover);background:linear-gradient(110deg,var(--astro-red-darkest) 0%,var(--astro-red-darker) 25%,var(--astro-red-dark) 50%,var(--astro-red-darker) 75%,var(--astro-red-darkest) 100%);color:var(--astro-red-text-primary);transition:background-color .5s ease,color .5s ease}body.red-mode:before,body.red-mode:after{opacity:.1;filter:hue-rotate(0deg) saturate(0) brightness(.3)}body.red-mode *:focus-visible{outline:2px solid var(--astro-red-focus)!important;outline-offset:2px!important;box-shadow:0 0 0 4px var(--astro-red-focus-shadow)!important}body.red-mode button:focus-visible,body.red-mode .nav-button:focus-visible,body.red-mode .nav-tab:focus-visible{outline:2px solid var(--astro-red-accent-hover)!important;box-shadow:0 0 0 4px var(--astro-red-focus-shadow)!important}body.red-mode input:focus-visible,body.red-mode select:focus-visible,body.red-mode textarea:focus-visible{outline:2px solid var(--astro-red-accent)!important;border-color:var(--astro-red-accent)!important;background:var(--astro-red-dark)!important}body.red-mode h1,body.red-mode h2,body.red-mode h3,body.red-mode h4,body.red-mode h5,body.red-mode h6{color:var(--astro-red-text-bright);text-shadow:0 0 10px var(--astro-red-glow)}body.red-mode p,body.red-mode span,body.red-mode div,body.red-mode li,body.red-mode td,body.red-mode th{color:var(--astro-red-text-primary)}body.red-mode .text-muted,body.red-mode .text-secondary{color:var(--astro-red-text-secondary)!important}body.red-mode a{color:var(--astro-red-text-bright)!important;text-decoration:underline;text-decoration-color:var(--astro-red-accent-dim)}body.red-mode a:hover{color:var(--astro-red-accent-hover)!important;text-decoration-color:var(--astro-red-accent)}body.red-mode button,body.red-mode .btn,body.red-mode .button{background:var(--astro-red-dark)!important;border:1px solid var(--astro-red-border-strong)!important;color:var(--astro-red-text-primary)!important;transition:all .2s ease}body.red-mode button:hover,body.red-mode .btn:hover,body.red-mode .button:hover{background:var(--astro-red-medium)!important;border-color:var(--astro-red-accent)!important;color:var(--astro-red-text-bright)!important;box-shadow:0 2px 8px var(--astro-red-shadow)}body.red-mode button:active,body.red-mode .btn:active{background:var(--astro-red-surface)!important}body.red-mode .btn-primary{background:var(--astro-red-medium)!important;border-color:var(--astro-red-accent)!important;color:var(--astro-red-text-bright)!important}body.red-mode .btn-primary:hover{background:var(--astro-red-surface)!important;border-color:var(--astro-red-accent-hover)!important}body.red-mode .nav-tab{background:var(--astro-red-darker)!important;border-color:var(--astro-red-border-subtle)!important;color:var(--astro-red-text-secondary)!important}body.red-mode .nav-tab:hover{background:var(--astro-red-dark)!important;border-color:var(--astro-red-border-normal)!important;color:var(--astro-red-text-primary)!important}body.red-mode .nav-tab.active{background:var(--astro-red-medium)!important;border-color:var(--astro-red-accent)!important;color:var(--astro-red-text-bright)!important;box-shadow:inset 0 -2px 0 var(--astro-red-accent)}body.red-mode .card,body.red-mode .object-card,body.red-mode .location-card,body.red-mode .telescope-card,body.red-mode .feature-card,body.red-mode .forecast-day,body.red-mode .panel{background:var(--astro-red-darker)!important;border:1px solid var(--astro-red-border-subtle)!important;color:var(--astro-red-text-primary)!important;box-shadow:0 2px 4px var(--astro-red-shadow)}body.red-mode .card:hover,body.red-mode .object-card:hover,body.red-mode .location-card:hover,body.red-mode .telescope-card:hover{border-color:var(--astro-red-border-normal)!important;background:var(--astro-red-dark)!important;box-shadow:0 4px 8px var(--astro-red-shadow)}body.red-mode input,body.red-mode select,body.red-mode textarea{background:var(--astro-red-darker)!important;border:1px solid var(--astro-red-border-normal)!important;color:var(--astro-red-text-primary)!important}body.red-mode input::placeholder,body.red-mode textarea::placeholder{color:var(--astro-red-text-muted)!important;opacity:.7}body.red-mode input:hover,body.red-mode select:hover,body.red-mode textarea:hover{border-color:var(--astro-red-accent-dim)!important;background:var(--astro-red-dark)!important}body.red-mode input[type=checkbox],body.red-mode input[type=radio]{accent-color:var(--astro-red-accent)!important;filter:hue-rotate(0deg)!important}body.red-mode input[type=checkbox]:checked,body.red-mode input[type=radio]:checked{background:var(--astro-red-accent)!important;border-color:var(--astro-red-accent)!important}body.red-mode .modal,body.red-mode .modal-overlay,body.red-mode .dialog,body.red-mode .popup{background:#000000e6!important}body.red-mode .modal-content,body.red-mode .dialog-content,body.red-mode .popup-content{background:var(--astro-red-darker)!important;border:1px solid var(--astro-red-border-strong)!important;color:var(--astro-red-text-primary)!important;box-shadow:0 10px 40px #000c}body.red-mode .modal-header,body.red-mode .dialog-header{background:var(--astro-red-dark)!important;border-bottom:1px solid var(--astro-red-border-normal)!important;color:var(--astro-red-text-bright)!important}body.red-mode .dropdown,body.red-mode .dropdown-menu,body.red-mode .tooltip,body.red-mode .popover{background:var(--astro-red-dark)!important;border:1px solid var(--astro-red-border-strong)!important;color:var(--astro-red-text-primary)!important;box-shadow:0 4px 12px var(--astro-red-shadow)}body.red-mode .dropdown-item:hover,body.red-mode .dropdown-menu li:hover{background:var(--astro-red-medium)!important;color:var(--astro-red-text-bright)!important}body.red-mode table{background:var(--astro-red-darker)!important;border-color:var(--astro-red-border-subtle)!important}body.red-mode th{background:var(--astro-red-dark)!important;border-color:var(--astro-red-border-normal)!important;color:var(--astro-red-text-bright)!important}body.red-mode td{background:var(--astro-red-darker)!important;border-color:var(--astro-red-border-subtle)!important;color:var(--astro-red-text-primary)!important}body.red-mode tr:hover td{background:var(--astro-red-dark)!important}body.red-mode .chart,body.red-mode canvas,body.red-mode svg{filter:hue-rotate(0deg) saturate(.8) brightness(.9)}body.red-mode .chart-label,body.red-mode .axis-label{color:var(--astro-red-text-secondary)!important;fill:var(--astro-red-text-secondary)!important}body.red-mode .alert,body.red-mode .notification,body.red-mode .toast{background:var(--astro-red-dark)!important;border:1px solid var(--astro-red-accent)!important;color:var(--astro-red-text-primary)!important}body.red-mode .alert-success{background:var(--astro-red-dark)!important;border-color:var(--astro-red-accent-dim)!important}body.red-mode .alert-error,body.red-mode .alert-danger{background:var(--astro-red-medium)!important;border-color:var(--astro-red-accent)!important;color:var(--astro-red-text-bright)!important}body.red-mode ::-webkit-scrollbar{background:var(--astro-red-darkest)}body.red-mode ::-webkit-scrollbar-track{background:var(--astro-red-darker)}body.red-mode ::-webkit-scrollbar-thumb{background:var(--astro-red-border-strong);border:1px solid var(--astro-red-darker)}body.red-mode ::-webkit-scrollbar-thumb:hover{background:var(--astro-red-accent-dim)}body.red-mode img:not(.no-red-filter){filter:brightness(.7) sepia(1) hue-rotate(320deg) saturate(2);opacity:.9}body.red-mode .telescope-image,body.red-mode .object-image{filter:brightness(.6) contrast(1.1) sepia(1) hue-rotate(320deg) saturate(1.5)}body.red-mode code,body.red-mode pre{background:var(--astro-red-darkest)!important;border:1px solid var(--astro-red-border-subtle)!important;color:var(--astro-red-text-secondary)!important}body.red-mode .badge,body.red-mode .pill,body.red-mode .tag{background:var(--astro-red-dark)!important;border:1px solid var(--astro-red-border-normal)!important;color:var(--astro-red-text-primary)!important}body.red-mode .progress{background:var(--astro-red-darker)!important;border:1px solid var(--astro-red-border-subtle)!important}body.red-mode .progress-bar{background:var(--astro-red-accent)!important}body.red-mode .star,body.red-mode .rating{color:var(--astro-red-accent)!important;filter:none!important}body.red-mode .sr-only-focusable:focus{background:var(--astro-red-accent)!important;color:var(--astro-red-darkest)!important;font-weight:700}body.red-mode.high-contrast{--astro-red-text-primary: #ffaaaa;--astro-red-text-bright: #ffcccc;--astro-red-border-strong: #aa0000}body.red-mode .card,body.red-mode .modal{contain:layout style}body.red-mode *{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme: dark){body.red-mode-loading{background:var(--astro-red-darkest)!important}}@media (max-width: 768px){body.red-mode{--astro-red-text-primary: #ff7777;--astro-red-text-bright: #ffaaaa}body.red-mode button,body.red-mode .nav-tab{min-height:44px;min-width:44px}}.icon-pulse{animation:iconPulse 2s ease-in-out infinite}@keyframes iconPulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.9}}.icon-spin{animation:iconSpin 3s linear infinite}.icon-spin-slow{animation:iconSpin 6s linear infinite}@keyframes iconSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.icon-float{animation:iconFloat 3s ease-in-out infinite}@keyframes iconFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.icon-twinkle{animation:iconTwinkle 2s ease-in-out infinite}@keyframes iconTwinkle{0%,to{opacity:.7;transform:scale(1);filter:brightness(1)}50%{opacity:1;transform:scale(1.15);filter:brightness(1.3) drop-shadow(0 0 8px currentColor)}}.icon-glow{animation:iconGlow 2s ease-in-out infinite}@keyframes iconGlow{0%,to{filter:drop-shadow(0 0 3px currentColor)}50%{filter:drop-shadow(0 0 10px currentColor) drop-shadow(0 0 20px currentColor)}}.icon-orbit{animation:iconOrbit 4s linear infinite}@keyframes iconOrbit{0%{transform:rotate(0) translate(12px) rotate(0)}to{transform:rotate(360deg) translate(12px) rotate(-360deg)}}.icon-blink{animation:iconBlink 3s ease-in-out infinite}@keyframes iconBlink{0%,90%,to{opacity:1}95%{opacity:.2}}.icon-wave{animation:iconWave 2s ease-in-out infinite;transform-origin:center bottom}@keyframes iconWave{0%,to{transform:rotate(0)}25%{transform:rotate(-8deg)}75%{transform:rotate(8deg)}}.icon-bounce{animation:iconBounce 2s ease-in-out infinite}@keyframes iconBounce{0%,to{transform:translateY(0)}25%{transform:translateY(-10px)}50%{transform:translateY(0)}75%{transform:translateY(-5px)}}.icon-flash{animation:iconFlash 3s ease-in-out infinite}@keyframes iconFlash{0%,to{opacity:.5;filter:brightness(.8)}50%{opacity:1;filter:brightness(1.5) drop-shadow(0 0 10px gold)}}.icon-sparkle{animation:iconSparkle 1.5s ease-in-out infinite}@keyframes iconSparkle{0%,to{transform:scale(1) rotate(0);filter:brightness(1)}50%{transform:scale(1.2) rotate(180deg);filter:brightness(1.5) drop-shadow(0 0 10px gold)}}.icon-shooting{animation:iconShooting 3s ease-in-out infinite}@keyframes iconShooting{0%{transform:translate(0);opacity:0}10%{opacity:1}90%{transform:translate(20px,20px);opacity:1}to{transform:translate(25px,25px);opacity:0}}.icon-radar{animation:iconRadar 2s linear infinite}@keyframes iconRadar{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.icon-moon-phase{animation:iconMoonPhase 8s steps(8) infinite}@keyframes iconMoonPhase{0%{content:"🌑"}12.5%{content:"🌒"}25%{content:"🌓"}37.5%{content:"🌔"}50%{content:"🌕"}62.5%{content:"🌖"}75%{content:"🌗"}87.5%{content:"🌘"}to{content:"🌑"}}.nav-icon-animated{display:inline-block;transition:all .3s ease}.nav-button:hover .nav-icon-animated{transform:scale(1.2)}.nav-button.active .nav-icon-animated{animation-duration:1s;filter:drop-shadow(0 0 5px var(--accent-blue))}.red-mode-icon{display:inline-block;transition:all .3s ease}.red-mode-btn.active .red-mode-icon{animation:flashlightBeam 2s ease-in-out infinite}@keyframes flashlightBeam{0%,to{filter:drop-shadow(0 0 5px #ff0000) drop-shadow(0 0 10px #ff0000);transform:scale(1)}50%{filter:drop-shadow(0 0 10px #ff0000) drop-shadow(0 0 20px #ff0000) drop-shadow(0 0 30px #ff0000);transform:scale(1.1)}}.iss-icon{display:inline-block;animation:satelliteOrbit 10s linear infinite}@keyframes satelliteOrbit{0%{transform:rotate(0) translate(15px) rotate(0)}to{transform:rotate(360deg) translate(15px) rotate(-360deg)}}.telescope-icon{display:inline-block;animation:telescopeScan 3s ease-in-out infinite;transform-origin:center bottom}@keyframes telescopeScan{0%,to{transform:rotate(-15deg)}50%{transform:rotate(15deg)}}.rocket-launch{animation:rocketLaunch 3s ease-in-out infinite}@keyframes rocketLaunch{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-15px) scale(1.05)}}.icon-gold{color:gold}.icon-blue{color:#3b82f6}.icon-purple{color:#9333ea}.icon-cyan{color:#06b6d4}.icon-red{color:#ef4444}.icon-green{color:#10b981}.icon-orange{color:#f97316}.icon-hover-grow:hover{transform:scale(1.2);transition:transform .2s ease}.icon-hover-glow:hover{filter:drop-shadow(0 0 10px currentColor);transition:filter .2s ease}.icon-sm{font-size:.875rem}.icon-md{font-size:1.25rem}.icon-lg{font-size:1.5rem}.icon-xl{font-size:2rem}.icon-2xl{font-size:2.5rem}.moon-phase-display{display:inline-block;font-size:2rem;filter:drop-shadow(0 0 10px rgba(255,255,255,.5))}.moon-phase-display.full-moon{animation:moonGlow 3s ease-in-out infinite}@keyframes moonGlow{0%,to{filter:drop-shadow(0 0 10px rgba(255,255,255,.5))}50%{filter:drop-shadow(0 0 20px rgba(255,255,255,.8)) drop-shadow(0 0 30px rgba(255,255,200,.6))}}.icon-aperture-pulse{animation:aperturePulse 2.5s ease-in-out infinite}@keyframes aperturePulse{0%,to{transform:scale(1);filter:brightness(1)}50%{transform:scale(1.1);filter:brightness(1.3) drop-shadow(0 0 8px rgba(255,149,0,.5))}}.icon-focal-zoom{animation:focalZoom 3s ease-in-out infinite}@keyframes focalZoom{0%,to{transform:scale(1);opacity:1}25%{transform:scale(1.2);opacity:.8}50%{transform:scale(.9);opacity:1}75%{transform:scale(1.1);opacity:.9}}.icon-fratio-spark{animation:fratioSpark 2.8s ease-in-out infinite;position:relative}@keyframes fratioSpark{0%,to{transform:scale(1);filter:brightness(1)}20%{transform:scale(1.15);filter:brightness(1.5) drop-shadow(0 0 10px rgba(255,255,0,.7))}40%{transform:scale(.95);filter:brightness(.9)}60%{transform:scale(1.08);filter:brightness(1.2)}}.icon-mount-target{animation:mountTarget 3.5s linear infinite;transform-origin:center}@keyframes mountTarget{0%{transform:rotate(0) scale(1);filter:hue-rotate(0deg)}25%{transform:rotate(90deg) scale(1.05);filter:hue-rotate(90deg)}50%{transform:rotate(180deg) scale(1);filter:hue-rotate(180deg)}75%{transform:rotate(270deg) scale(1.05);filter:hue-rotate(270deg)}to{transform:rotate(360deg) scale(1);filter:hue-rotate(360deg)}}.icon-smart-glow{animation:smartGlow 2s ease-in-out infinite}@keyframes smartGlow{0%,to{transform:scale(1);filter:drop-shadow(0 0 0 rgba(0,255,255,0))}50%{transform:scale(1.08);filter:drop-shadow(0 0 12px rgba(0,255,255,.8)) brightness(1.2)}}.icon-camera-shutter{animation:cameraShutter 3s ease-in-out infinite}@keyframes cameraShutter{0%,85%,to{transform:scale(1);filter:brightness(1)}5%,10%{transform:scale(1.2);filter:brightness(1.8) drop-shadow(0 0 8px rgba(255,255,255,.8))}15%{transform:scale(.9);filter:brightness(.7)}}.icon-ai-pulse{animation:aiPulse 2.2s ease-in-out infinite}@keyframes aiPulse{0%,to{transform:scale(1);filter:hue-rotate(0deg) brightness(1)}33%{transform:scale(1.1);filter:hue-rotate(120deg) brightness(1.3)}66%{transform:scale(1.05);filter:hue-rotate(240deg) brightness(1.1)}}.icon-premium-sparkle{animation:premiumSparkle 1.8s ease-in-out infinite}@keyframes premiumSparkle{0%,to{transform:scale(1) rotate(0);filter:brightness(1) drop-shadow(0 0 0 rgba(255,215,0,0))}25%{transform:scale(1.3) rotate(45deg);filter:brightness(1.5) drop-shadow(0 0 8px rgba(255,215,0,.9))}50%{transform:scale(.9) rotate(90deg);filter:brightness(1.2) drop-shadow(0 0 4px rgba(255,215,0,.6))}75%{transform:scale(1.2) rotate(135deg);filter:brightness(1.4) drop-shadow(0 0 6px rgba(255,215,0,.8))}}.icon-build-effect{animation:buildEffect 4s ease-in-out infinite}@keyframes buildEffect{0%,to{transform:scale(1) rotate(0);filter:brightness(1)}25%{transform:scale(1.1) rotate(-5deg);filter:brightness(1.2)}50%{transform:scale(1.05) rotate(0);filter:brightness(1.1) drop-shadow(0 0 6px rgba(255,165,0,.6))}75%{transform:scale(1.1) rotate(5deg);filter:brightness(1.2)}}.star-rating-container{display:flex;flex-direction:column;gap:.25rem}.star-rating-row{display:flex;align-items:center;justify-content:space-between;padding:.25rem .5rem;border-radius:4px;background:#0000001a;transition:all .3s ease;animation:fadeInUp .4s ease-out forwards;opacity:0;transform:translateY(10px);font-size:.85rem}.star-rating-row:hover{background:#ffd7001a;transform:translateY(-2px);box-shadow:0 4px 12px #ffd70033}.star-rating-row:nth-child(1){animation-delay:.1s}.star-rating-row:nth-child(2){animation-delay:.2s}.star-rating-row:nth-child(3){animation-delay:.3s}.star-rating-row:nth-child(4){animation-delay:.4s}.star-rating-row:nth-child(5){animation-delay:.5s}.star-rating-row:nth-child(6){animation-delay:.6s}.star-rating-row:nth-child(7){animation-delay:.7s}.star-rating-row:nth-child(8){animation-delay:.8s}.star-rating-row:nth-child(9){animation-delay:.9s}.star-rating-row:nth-child(10){animation-delay:1s}@keyframes fadeInUp{to{opacity:1;transform:translateY(0)}}.object-type-name{display:flex;align-items:center;gap:.3rem;font-weight:500;color:#e2e8f0;min-width:100px;font-size:.85rem}.object-type-icon{font-size:1rem;display:inline-block}.star-rating-display{display:flex;align-items:center;gap:.5rem}.star-container{display:flex;gap:1px;align-items:center}.star{font-size:1rem;color:#4a5568;position:relative;transition:all .3s ease;animation:starFadeIn .6s ease-out forwards;opacity:0;transform:scale(0)}.star.filled{color:gold;text-shadow:0 0 8px rgba(255,215,0,.4)}.star.half-filled{background:linear-gradient(90deg,gold 50%,#4a5568 50%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.star:nth-child(1){animation-delay:.2s}.star:nth-child(2){animation-delay:.4s}.star:nth-child(3){animation-delay:.6s}.star:nth-child(4){animation-delay:.8s}.star:nth-child(5){animation-delay:1s}@keyframes starFadeIn{0%{opacity:0;transform:scale(0) rotate(-180deg)}50%{opacity:1;transform:scale(1.2) rotate(-90deg)}to{opacity:1;transform:scale(1) rotate(0)}}.numeric-score{font-size:.75rem;color:#a0aec0;font-weight:400;min-width:35px;text-align:right}.star-rating-row:hover .star.filled{color:orange;text-shadow:0 0 12px rgba(255,165,0,.6);animation:starPulse 1s ease-in-out infinite}@keyframes starPulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.performance-excellent .object-type-name{color:#48bb78}.performance-good .object-type-name{color:#68d391}.performance-average .object-type-name{color:#f6e05e}.performance-poor .object-type-name{color:#fc8181}.performance-excellent:hover .star.filled,.performance-good:hover .star.filled{animation:starSparkle 2s ease-in-out infinite}@keyframes starSparkle{0%,to{transform:scale(1);filter:brightness(1)}25%{transform:scale(1.1) rotate(5deg);filter:brightness(1.3) drop-shadow(0 0 8px #FFD700)}50%{transform:scale(1.05);filter:brightness(1.1)}75%{transform:scale(1.1) rotate(-5deg);filter:brightness(1.3) drop-shadow(0 0 8px #FFD700)}}._errorBoundary_ov7ll_5{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0a0a0f,#1a1a3e);padding:2rem}._errorContent_ov7ll_23{text-align:center;max-width:600px;background:#14141ecc;padding:3rem;border-radius:16px;border:1px solid rgba(255,255,255,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}._errorIcon_ov7ll_43{font-size:4rem;margin-bottom:1rem;animation:_pulse_ov7ll_1 2s ease-in-out infinite}._errorTitle_ov7ll_55{color:#fff;margin-bottom:1rem;font-size:2rem}._errorMessage_ov7ll_67{color:#b0b0c0;margin-bottom:2rem;line-height:1.6}._errorDetails_ov7ll_79{text-align:left;margin:2rem 0;padding:1rem;background:#0000004d;border-radius:8px;border:1px solid rgba(255,0,0,.2)}._errorDetails_ov7ll_79 summary{color:#ef4444;cursor:pointer;margin-bottom:1rem;font-weight:500}._errorStack_ov7ll_111{color:#fbbf24;font-size:.85rem;overflow-x:auto;white-space:pre-wrap;word-break:break-word;margin:.5rem 0}._errorActions_ov7ll_129{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}._resetButton_ov7ll_143,._homeButton_ov7ll_145{padding:.75rem 1.5rem;border-radius:8px;font-size:1rem;cursor:pointer;transition:all .3s ease;border:1px solid}._resetButton_ov7ll_143{background:#3b82f6;color:#fff;border-color:#3b82f6}._resetButton_ov7ll_143:hover{background:#2563eb;transform:translateY(-2px);box-shadow:0 4px 12px #3b82f64d}._homeButton_ov7ll_145{background:transparent;color:#3b82f6;border-color:#3b82f6}._homeButton_ov7ll_145:hover{background:#3b82f61a;transform:translateY(-2px)}@keyframes _pulse_ov7ll_1{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.8}}._spinnerContainer_1b85s_3{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh;gap:2rem}._spinner_1b85s_3{position:relative;width:80px;height:80px}._planet_1b85s_33{position:absolute;width:20px;height:20px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 20px #667eea80}._orbit_1b85s_57{position:absolute;width:80px;height:80px;border:2px solid rgba(102,126,234,.3);border-radius:50%;animation:_rotate_1b85s_1 2s linear infinite}._orbit_1b85s_57:before{content:"";position:absolute;width:8px;height:8px;background:#667eea;border-radius:50%;top:-4px;left:50%;transform:translate(-50%)}@keyframes _rotate_1b85s_1{0%{transform:rotate(0)}to{transform:rotate(360deg)}}._loadingText_1b85s_117{color:#888;font-size:1rem;animation:_pulse_1b85s_1 1.5s ease-in-out infinite}@keyframes _pulse_1b85s_1{0%,to{opacity:.5}50%{opacity:1}}:root{--color-primary: #4fc3f7;--color-primary-dark: #29b6f6;--color-secondary: #ffd700;--color-accent: #ff6b6b;--color-success: #4caf50;--color-warning: #ff9800;--color-error: #f44336;--color-info: #2196f3;--color-bg-primary: #0a0a0f;--color-bg-secondary: #1a1a2e;--color-bg-tertiary: #16213e;--color-bg-card: rgba(30, 30, 50, .6);--color-bg-overlay: rgba(0, 0, 0, .9);--color-text-primary: #ffffff;--color-text-secondary: #b0b0b0;--color-text-muted: #808080;--color-text-accent: var(--color-primary);--color-border-primary: rgba(255, 255, 255, .1);--color-border-secondary: rgba(79, 195, 247, .3);--color-border-accent: rgba(255, 215, 0, .3);--gradient-primary: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--gradient-cosmic: linear-gradient(135deg, #0a0a0f 0%, #1a1a2e 50%, #0f3460 100%);--gradient-hero: linear-gradient(180deg, rgba(10, 10, 15, 0) 0%, rgba(10, 10, 15, 1) 100%);--gradient-surface: linear-gradient(180deg, #111111 0%, #000000 100%);--font-family-primary: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--font-family-mono: "Courier New", monospace;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--font-size-5xl: 3rem;--font-weight-light: 300;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--spacing-3xl: 4rem;--spacing-4xl: 6rem;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 1.5rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .5);--shadow-md: 0 4px 6px rgba(0, 0, 0, .5);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .5);--shadow-xl: 0 20px 25px rgba(0, 0, 0, .5);--shadow-glow: 0 0 20px rgba(79, 195, 247, .3);--shadow-card: 0 4px 20px rgba(0, 0, 0, .3);--transition-fast: .15s ease;--transition-base: .3s ease;--transition-slow: .5s ease;--z-base: 0;--z-content: 1;--z-elevated: 10;--z-dropdown: 100;--z-sticky: 200;--z-overlay: 300;--z-modal: 400;--z-tooltip: 500;--z-toast: 600;--z-skiplink: 100000;--max-width-xs: 320px;--max-width-sm: 640px;--max-width-md: 768px;--max-width-lg: 1024px;--max-width-xl: 1280px;--max-width-2xl: 1536px;--header-height: 60px;--nav-height: 60px;--container-max: 1024px;--container-padding: var(--spacing-lg);--grid-gap: var(--spacing-lg);--card-min-width: 280px;--card-max-width: 1fr;--touch-min: 48px;--button-padding-x: var(--spacing-lg);--button-padding-y: .75rem;--color-score-excellent: #4caf50;--color-score-good: #a4d65e;--color-score-average: #ffe033;--color-score-poor: #ff9800;--color-score-very-poor: #f44336;--color-bortle-1: #000000;--color-bortle-2: #1a1a1a;--color-bortle-3: #333333;--color-bortle-4: #4d4d4d;--color-bortle-5: #666666;--color-bortle-6: #808080;--color-bortle-7: #999999;--color-bortle-8: #b3b3b3;--color-bortle-9: #cccccc;--primary-bg: var(--color-bg-primary);--secondary-bg: rgba(20, 20, 30, .8);--tertiary-bg: #0a0a0a;--surface-bg: #111111;--bg-primary: var(--color-bg-primary);--card-bg: var(--color-bg-card);--border-color: var(--color-border-primary);--text-primary: var(--color-text-primary);--text-secondary: var(--color-text-secondary);--text-muted: var(--color-text-muted);--accent-primary: #ffffff;--accent-secondary: #a8a8a8;--accent-blue: var(--color-primary);--accent-green: #4ade80;--accent-yellow: var(--color-secondary);--accent-red: var(--color-accent);--accent-purple: #9333ea;--link-color: #6db3f2;--link-hover: #8fc4f4;--nasa-blue: #ffffff;--nasa-red: #888888;--font-family: var(--font-family-primary);--font-mono: var(--font-family-mono);--space-xs: var(--spacing-xs);--space-sm: var(--spacing-sm);--space-md: var(--spacing-md);--space-lg: var(--spacing-lg);--space-xl: var(--spacing-xl);--space-xxl: var(--spacing-2xl);--space-2xl: var(--spacing-2xl);--text-xs: var(--font-size-xs);--text-sm: var(--font-size-sm);--text-base: var(--font-size-base);--text-lg: var(--font-size-lg);--text-xl: var(--font-size-xl);--text-2xl: var(--font-size-2xl);--text-3xl: 1.75rem;--primary-color: var(--color-primary);--primary-hover: var(--color-primary-dark);--red-primary: #1a0000;--red-secondary: #330000;--red-tertiary: #4d0000;--red-surface: #660000;--red-text: #ff6666;--red-text-secondary: #cc4444;--red-accent: #ff3333;--red-text-bright: #ff9999;--red-border: #660000}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;scroll-behavior:smooth}body{margin:0;padding:0;font-family:var(--font-family-primary);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--color-text-primary);background-color:var(--color-bg-primary);min-height:100vh;overflow-x:hidden}#root{min-height:100vh;display:flex;flex-direction:column}h1,h2,h3,h4,h5,h6{margin:0;font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);color:var(--color-text-primary)}h1{font-size:var(--font-size-4xl)}h2{font-size:var(--font-size-3xl)}h3{font-size:var(--font-size-2xl)}h4{font-size:var(--font-size-xl)}h5{font-size:var(--font-size-lg)}h6{font-size:var(--font-size-base)}p{margin:0 0 var(--spacing-md) 0;line-height:var(--line-height-relaxed)}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-secondary);text-decoration:underline}ul,ol{margin:0;padding:0;list-style:none}li{margin:0;padding:0}img{max-width:100%;height:auto;display:block}input,textarea,select,button{font-family:inherit;font-size:inherit;line-height:inherit;color:inherit}input,textarea,select{width:100%;padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:var(--radius-md);transition:all var(--transition-fast)}input:focus,textarea:focus,select:focus{border-color:var(--color-primary)}button{cursor:pointer;padding:var(--spacing-sm) var(--spacing-lg);background-color:var(--color-primary);color:var(--color-text-primary);border:none;border-radius:var(--radius-md);font-weight:var(--font-weight-medium);transition:all var(--transition-fast);display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm)}button:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-lg)}button:disabled{opacity:.5;cursor:not-allowed}table{width:100%;border-collapse:collapse}th,td{padding:var(--spacing-sm);text-align:left;border-bottom:1px solid var(--color-border-primary)}th{font-weight:var(--font-weight-semibold);background-color:var(--color-bg-secondary)}code{font-family:var(--font-family-mono);font-size:var(--font-size-sm);padding:.2em .4em;background-color:var(--color-bg-secondary);border-radius:var(--radius-sm)}pre{font-family:var(--font-family-mono);font-size:var(--font-size-sm);padding:var(--spacing-md);background-color:var(--color-bg-secondary);border-radius:var(--radius-md);overflow-x:auto}::selection{background-color:var(--color-primary);color:var(--color-bg-primary)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--color-bg-secondary)}::-webkit-scrollbar-thumb{background:var(--color-border-secondary);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-primary)}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}@media (hover: none){button:hover:not(:disabled),a:hover{transform:none!important}}@media (hover: none) and (pointer: coarse){[class*=card]:hover,[class*=Card]:hover,[class*=button]:hover,[class*=Button]:hover,[class*=link]:hover,[class*=Link]:hover,[class*=Group]:hover,[class*=Phase]:hover{transform:none!important;box-shadow:none!important}}.page-container{position:fixed;top:var(--header-height, 60px);bottom:var(--nav-height, 60px);left:0;right:0;overflow-y:auto;background:linear-gradient(180deg,#0a0a0f,#1a1a2e);-webkit-overflow-scrolling:touch}.content-container{max-width:var(--container-max);margin:0 auto;padding:var(--container-padding)}.page-header{padding:var(--space-lg);background:#0000004d;border-bottom:1px solid rgba(255,255,255,.1);margin-bottom:var(--space-xl)}.page-title{font-size:var(--text-3xl);color:#fff;margin:0;display:flex;align-items:center;gap:var(--space-sm);font-weight:600}.page-title-icon{font-size:2rem}.card{background:#0000004d;border:1px solid rgba(79,195,247,.2);border-radius:var(--radius-lg);padding:var(--space-lg);transition:var(--transition-base)}.card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-md);padding-bottom:var(--space-md);border-bottom:1px solid rgba(255,255,255,.1)}.card-title{font-size:var(--text-xl);color:var(--color-primary, #4fc3f7);margin:0;display:flex;align-items:center;gap:var(--space-sm)}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(var(--card-min-width),var(--card-max-width)));gap:var(--grid-gap);margin-bottom:var(--space-xl)}.card-compact{padding:var(--space-md)}.card-interactive{cursor:pointer}.card-interactive:active{transform:scale(.98)}.section{margin-bottom:var(--space-xl)}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-lg)}.section-title{font-size:var(--text-xl);color:var(--color-primary, #4fc3f7);margin:0;display:flex;align-items:center;gap:var(--space-sm)}.section-content{padding:var(--space-lg);background:#ffffff05;border-radius:var(--radius-lg)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--button-padding-y) var(--button-padding-x);min-height:var(--touch-min);min-width:var(--touch-min);font-size:var(--text-base);font-weight:500;border:none;border-radius:var(--radius-md);cursor:pointer;transition:var(--transition-fast);-webkit-tap-highlight-color:transparent;white-space:nowrap}.btn-primary{background:var(--color-primary, #4fc3f7);color:#fff}.btn-primary:hover{background:var(--color-primary-dark, #29b6f6);transform:translateY(-1px)}.btn-primary:active{transform:scale(.98)}.btn-secondary{background:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.2)}.btn-secondary:hover{background:#ffffff26}.btn-group{display:flex;gap:var(--space-md);flex-wrap:wrap}.tab-nav{display:flex;gap:var(--space-sm);padding:var(--space-lg);background:#0003;border-bottom:1px solid rgba(255,255,255,.1);overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.tab-btn{display:flex;align-items:center;gap:var(--space-sm);padding:.75rem 1.25rem;min-height:var(--touch-min);background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-md);color:#ffffffb3;cursor:pointer;transition:var(--transition-fast);white-space:nowrap;font-size:var(--text-sm)}.tab-btn:hover{background:#ffffff1a;color:#fff}.tab-btn.active{background:var(--color-primary, #4fc3f7);color:#fff;border-color:var(--color-primary, #4fc3f7)}.tab-content{padding:var(--space-lg);animation:fadeIn var(--transition-base)}.form-group{margin-bottom:var(--space-lg)}.form-label{display:block;margin-bottom:var(--space-sm);color:#fffc;font-size:var(--text-sm)}.form-input,.form-select{width:100%;padding:var(--space-md);min-height:var(--touch-min);background:#0000004d;border:1px solid rgba(255,255,255,.2);border-radius:var(--radius-md);color:#fff;font-size:var(--text-base);transition:var(--transition-fast)}.form-input:focus,.form-select:focus{border-color:var(--color-primary, #4fc3f7)}@media (max-width: 767px){:root{--container-padding: var(--space-md);--grid-gap: var(--space-md)}.card-grid{grid-template-columns:1fr}.page-title{font-size:var(--text-2xl)}}@media (min-width: 768px) and (max-width: 1023px){.card-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.card-grid{grid-template-columns:repeat(3,1fr)}.card-grid.grid-2{grid-template-columns:repeat(2,1fr)}.card-grid.grid-4{grid-template-columns:repeat(4,1fr)}}.text-center{text-align:center}.text-right{text-align:right}.text-muted{color:#fff9}.text-small{font-size:var(--text-sm)}.text-large{font-size:var(--text-lg)}.mt-0{margin-top:0}.mt-1{margin-top:var(--space-sm)}.mt-2{margin-top:var(--space-md)}.mt-3{margin-top:var(--space-lg)}.mt-4{margin-top:var(--space-xl)}.mb-0{margin-bottom:0}.mb-1{margin-bottom:var(--space-sm)}.mb-2{margin-bottom:var(--space-md)}.mb-3{margin-bottom:var(--space-lg)}.mb-4{margin-bottom:var(--space-xl)}.p-0{padding:0}.p-1{padding:var(--space-sm)}.p-2{padding:var(--space-md)}.p-3{padding:var(--space-lg)}.p-4{padding:var(--space-xl)}.hidden{display:none}.block{display:block}.flex{display:flex}.grid{display:grid}.gap-1{gap:var(--space-sm)}.gap-2{gap:var(--space-md)}.gap-3{gap:var(--space-lg)}.gap-4{gap:var(--space-xl)}.rounded{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.skeleton{background:linear-gradient(90deg,#ffffff0d 25%,#ffffff1a,#ffffff0d 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.app-header{position:fixed;top:0;left:0;right:0;height:var(--header-height);background:linear-gradient(180deg,#0a0a0ff2,#0a0a0fcc);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--color-border-primary);z-index:var(--z-sticky);display:flex;align-items:center;justify-content:space-between;padding:0 var(--spacing-lg)}.header-version{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-family:var(--font-family-mono)}.header-datetime{display:flex;gap:var(--spacing-md);align-items:center}.datetime-picker{display:flex;gap:var(--spacing-sm);align-items:center}.datetime-label{color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);white-space:nowrap}.header-datetime input,.datetime-picker input{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-sm);background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:var(--radius-sm);color:var(--color-text-primary);white-space:nowrap}.header-left{justify-self:start}.header-center{justify-self:center;display:flex;align-items:center;text-align:center;position:absolute;left:50%;transform:translate(-50%)}.header-right{justify-self:end;display:flex;align-items:center;gap:var(--spacing-md);padding-right:var(--spacing-sm);height:100%}.red-mode-btn{display:flex;align-items:center;gap:var(--spacing-xs);padding:12px var(--spacing-md);min-height:44px;min-width:44px;background:var(--color-bg-secondary);color:var(--color-text-primary);border:1px solid var(--color-border-primary);border-radius:var(--radius-md);font-size:.9rem;font-weight:500;cursor:pointer;transition:all .3s ease;white-space:nowrap}.red-mode-btn:hover{background:var(--color-bg-tertiary);border-color:var(--color-accent);color:var(--color-accent)}.red-mode-btn.active{background:#fc3d2126;border-color:var(--color-accent);color:var(--color-accent)}.bottom-nav{position:fixed;bottom:0;left:0;right:0;height:var(--nav-height);background:var(--color-bg-secondary);border-top:1px solid var(--color-border-primary);display:flex;justify-content:space-around;align-items:center;z-index:var(--z-sticky);padding:0 var(--spacing-sm)}.nav-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-sm);color:var(--color-text-secondary);text-decoration:none;transition:all var(--transition-fast);cursor:pointer;border-radius:var(--radius-md)}.nav-item:hover{background:#4fc3f71a;color:var(--color-primary)}.nav-item.active{color:var(--color-primary);background:#4fc3f726}.nav-icon{font-size:var(--font-size-xl);margin-bottom:var(--spacing-xs)}.nav-text{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.btn{padding:var(--spacing-sm) var(--spacing-lg);background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast);display:inline-flex;align-items:center;gap:var(--spacing-sm)}.btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-lg);background:color-mix(in srgb,var(--color-primary) 85%,white)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:var(--color-bg-secondary);border:1px solid var(--color-border-secondary)}.btn-secondary:hover:not(:disabled){background:var(--color-bg-tertiary)}.btn-danger{background:var(--color-error)}.btn-success{background:var(--color-success)}.btn-large{padding:var(--spacing-md) var(--spacing-xl);font-size:var(--font-size-lg)}.btn-small{padding:var(--spacing-xs) var(--spacing-md);font-size:var(--font-size-sm)}.card{background:var(--color-bg-card);border-radius:var(--radius-lg);padding:var(--spacing-lg);border:1px solid var(--color-border-primary);transition:all var(--transition-base)}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-card);border-color:var(--color-border-secondary)}.card-header{margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--color-border-primary)}.card-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.card-body{color:var(--color-text-secondary)}.modal-overlay{position:fixed;inset:0;background:var(--color-bg-overlay);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);padding:var(--spacing-lg)}.modal-content{background:var(--color-bg-secondary);border-radius:var(--radius-xl);max-width:var(--max-width-md);width:100%;max-height:90vh;overflow-y:auto;padding:var(--spacing-xl);position:relative}.modal-close{position:absolute;top:var(--spacing-md);right:var(--spacing-md);background:transparent;border:none;color:var(--color-text-secondary);font-size:var(--font-size-2xl);cursor:pointer;padding:var(--spacing-sm);transition:all var(--transition-fast)}.modal-close:hover{color:var(--color-text-primary);transform:rotate(90deg)}.loading-spinner{display:inline-block;width:40px;height:40px;border:3px solid var(--color-border-primary);border-top-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-3xl);gap:var(--spacing-md)}.loading-text{color:var(--color-text-secondary);font-size:var(--font-size-lg)}.info-bar{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md);background:var(--color-bg-secondary);border-radius:var(--radius-md);margin-bottom:var(--spacing-lg);flex-wrap:wrap;gap:var(--spacing-md)}.info-item{display:flex;align-items:center;gap:var(--spacing-sm)}.info-label{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.info-value{color:var(--color-text-primary);font-weight:var(--font-weight-semibold)}.toast-container{position:fixed;top:calc(var(--header-height) + var(--spacing-lg));right:var(--spacing-lg);z-index:var(--z-toast);display:flex;flex-direction:column;gap:var(--spacing-md)}.toast{padding:var(--spacing-md) var(--spacing-lg);background:var(--color-bg-secondary);border-radius:var(--radius-md);border-left:4px solid var(--color-primary);box-shadow:var(--shadow-lg);min-width:300px;animation:slideIn .3s ease}.toast-success{border-left-color:var(--color-success)}.toast-error{border-left-color:var(--color-error)}.toast-warning{border-left-color:var(--color-warning)}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.badge{display:inline-flex;align-items:center;padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-bg-tertiary);color:var(--color-text-primary);border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.badge-primary{background:var(--color-primary)}.badge-success{background:var(--color-success)}.badge-warning{background:var(--color-warning)}.badge-danger{background:var(--color-error)}.grid{display:grid;gap:var(--spacing-lg)}.grid-cols-1{grid-template-columns:repeat(1,1fr)}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}@media (max-width: 768px){.grid-cols-2,.grid-cols-3,.grid-cols-4{grid-template-columns:repeat(1,1fr)}}@media (min-width: 769px) and (max-width: 1024px){.grid-cols-3,.grid-cols-4{grid-template-columns:repeat(2,1fr)}}.page{position:fixed;top:var(--header-height);bottom:var(--nav-height);left:0;right:0;overflow-y:auto;padding:var(--spacing-lg);display:none}.page.active{display:block}.page-container{max-width:var(--max-width-xl);margin:0 auto}.page-header{margin-bottom:var(--spacing-xl)}.page-title{font-size:var(--font-size-3xl);margin-bottom:var(--spacing-md);background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}#home-page{padding:0;overflow-x:hidden}.hero-section{min-height:60vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-2xl) var(--spacing-lg);text-align:center}.equipment-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.objects-container{display:flex;flex-direction:column;gap:var(--spacing-lg)}.weather-dashboard{display:grid;gap:var(--spacing-lg)}.about-content{max-width:800px;margin:0 auto;line-height:1.6}@media (max-width: 768px){.page{padding:var(--spacing-md)}.page-title{font-size:var(--font-size-2xl)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.8}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-5px)}60%{transform:translateY(-3px)}}@keyframes twinkle{0%,to{opacity:1}50%{opacity:.3}}@keyframes wave{0%,to{transform:rotate(0)}25%{transform:rotate(5deg)}75%{transform:rotate(-5deg)}}@keyframes flash{0%,50%,to{opacity:1}25%,75%{opacity:.5}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.05s!important;scroll-behavior:auto!important}}
