body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{box-sizing:border-box;margin:0;padding:0}#root,body,html{height:100%}#root,body,html{overscroll-behavior:none}body{background-color:#1a1a1a}.App{box-sizing:border-box;color:#fff;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;max-width:100vw;min-height:100vh;overscroll-behavior:none}.app-header{background-color:#2a2a2a;border-bottom:2px solid #3a3a3a;box-shadow:0 2px 4px #0000004d;flex-shrink:0;justify-content:space-between;padding:12px 20px;position:-webkit-sticky;position:sticky;top:0;width:100%;z-index:2000}.app-header,.header-left{align-items:center;display:flex}.header-left{gap:15px}.header-soderblom-link{align-items:center;cursor:pointer;display:inline-flex;flex-shrink:0;line-height:0;transition:opacity .2s ease}.header-soderblom-link:hover{opacity:.85}.header-soderblom-logo{height:36px;object-fit:contain;width:auto}.header-slash{align-items:center;color:#5a5a5a;display:inline-flex;flex-shrink:0;height:36px;justify-content:center;margin:0 6px;-webkit-user-select:none;user-select:none}.header-slash-svg{height:36px;width:auto}.header-pill{align-items:center;background-color:#ffffff0f;border:1px solid #3a3a3a;border-radius:6px;color:inherit;display:inline-flex;flex-shrink:0;gap:10px;height:36px;justify-content:flex-start;min-width:200px;overflow:visible;padding:0 8px 0 6px;text-decoration:none;transition:min-width .5s cubic-bezier(.4,0,.2,1)}.header-pill:hover{min-width:395px}.header-pill:hover .header-logo{opacity:.85}.header-logo{height:28px;object-fit:contain;width:auto}.app-title,.header-logo{transition:opacity .2s ease}.app-title{color:#e0e0e0;cursor:pointer;font-size:24px;font-weight:600;margin:0}.header-pill .app-title{align-items:center;display:flex;font-size:20px;line-height:36px;margin:0;padding:0}.header-pill:hover .app-title{opacity:.9}.rt-container{margin-left:4px;vertical-align:bottom}.rt-container,.rt-letter-wrapper{display:inline-block;position:relative}.rt-letter-wrapper{transition:margin-right .5s cubic-bezier(.4,0,.2,1)}.rt-letter{display:inline-block;position:relative;z-index:2}.rt-expanded-left,.rt-expanded-right{display:inline-block;left:100%;opacity:0;pointer-events:none;position:absolute;transform:translateX(-10px) scaleX(0);transform-origin:left center;transition:opacity .5s cubic-bezier(.4,0,.2,1),transform .5s cubic-bezier(.4,0,.2,1);white-space:nowrap}.rt-expanded-left.rt-visible,.rt-expanded-right.rt-visible{opacity:1;transform:translateX(0) scaleX(1)}.header-pill:hover .rt-letter-wrapper:first-of-type{margin-right:10px}.teaching-tool-text{display:inline-block;letter-spacing:-.03em;margin-left:6px;transition:transform .5s cubic-bezier(.4,0,.2,1),margin-left .5s cubic-bezier(.4,0,.2,1)}.teaching-tool-text.shifted{margin-left:-14px;transform:translateX(155px)}.rt-letter-wrapper:last-child{display:inline-block;transition:transform .5s cubic-bezier(.4,0,.2,1)}.header-pill:hover .rt-letter-wrapper:last-child{transform:translateX(70px)}.header-right{align-items:center;display:flex;gap:15px;position:relative}.development-notice{color:#999;font-size:11px;line-height:1.3;text-align:left;transition:opacity .3s ease}.header-pill:hover~.development-notice{opacity:0}.development-notice-text{display:flex;flex-direction:column;line-height:1.2}.github-container,.github-link{position:relative}.github-link{align-items:center;border:2px solid #0000;border-radius:4px;color:#ccc;display:inline-flex;gap:8px;justify-content:center;padding:6px 8px;text-decoration:none;transition:all .3s ease}.github-link:hover{background-color:#ffffff1a;border-color:#fff;color:#fff}.github-icon{flex-shrink:0;height:24px;transition:transform .3s ease;width:24px}.github-hover-text{background-color:initial;border-radius:4px;color:#fff;font-size:12px;opacity:0;padding:4px 8px;pointer-events:none;position:absolute;right:calc(100% + 8px);transform:translateX(20px);transition:opacity .3s ease,transform .3s ease;white-space:nowrap}.github-link:hover .github-hover-text{opacity:1;transform:translateX(0)}.user-guide-link{align-items:center;border:2px solid #0000;border-radius:4px;color:#6cf;display:inline-flex;font-size:14px;font-weight:500;justify-content:center;padding:6px 12px;text-decoration:underline;text-underline-offset:4px;transition:all .3s ease}.user-guide-link:hover{background-color:#66ccff1a;color:#9df;text-decoration-thickness:2px}.app-body{display:flex;flex:1 1;flex-direction:column;min-height:0}.main-container{box-sizing:border-box;display:flex;flex:1 1;gap:20px;max-width:100vw;min-height:calc(100vh - 64px);overflow-x:hidden;padding:20px}.app-footer{background-color:#2a2a2a;border-top:1px solid #3a3a3a;flex-shrink:0;padding:12px 20px}.footer-nav{align-items:center;display:flex;flex-wrap:wrap;gap:4px 8px;justify-content:center}.footer-link{color:#999;font-size:13px;text-decoration:none;transition:color .2s ease}.footer-link:hover{color:#6cf}.footer-sep{color:#5a5a5a;font-size:12px;-webkit-user-select:none;user-select:none}.left-panel{max-width:100%;min-width:0;width:100%}.left-panel,.right-panel{display:flex;flex:1 1;flex-direction:column;gap:20px}.display-row{align-items:flex-start;align-items:stretch;display:flex;gap:20px;max-width:100%;min-width:0;width:100%}.skinny-plot{align-items:center;align-self:stretch;background-color:#2a2a2a;border:2px solid #6cf;border-radius:8px;display:flex;flex-direction:column;min-width:320px;padding:10px;width:320px}.skinny-plot h3{color:#e0e0e0;font-size:14px;margin-bottom:8px;text-align:center}.skinny-plot-content{background-color:#1a1a1a;border-radius:4px;flex:1 1;overflow:hidden;width:100%}.skinny-plot-placeholder{color:#666;font-size:12px;text-align:center;text-orientation:mixed;writing-mode:vertical-rl}.spectral-row{align-items:stretch;display:flex;gap:20px;max-width:100%;min-width:0;width:100%}.display-box{align-items:center;align-self:stretch;background-color:#2a2a2a;border:2px solid #3a3a3a;border-radius:8px;display:flex;flex:1 0 auto;flex-direction:column;justify-content:flex-start;min-width:0;padding:20px}.display-box h2{color:#e0e0e0;font-size:24px;margin-bottom:20px}.placeholder-circle{background:radial-gradient(circle at 40% 40%,#555,#222);border:2px solid #444;border-radius:50%;height:200px;width:200px}.true-color{border-color:#f96}.ir-color{border-color:#6cf}.geo-values-display{background-color:#1a1a1a;border:1px solid #3a3a3a;border-radius:4px;margin-top:15px;padding:10px;width:100%}.geo-values-display p{margin:5px 0}.hover-geo-values-display{background-color:#1a1a1a;border:1px solid #6cf;border-radius:4px;box-sizing:border-box;font-size:14px;margin-top:15px;min-height:100px;padding:10px;width:100%}.hover-geo-values-display p{color:#e0e0e0;margin:4px 0}.hover-geo-values-display strong{color:#6cf}.spectral-plot{background-color:#2a2a2a;border:2px solid #4a9d4a;border-radius:8px;box-sizing:border-box;display:flex;flex:1 1 auto;flex-direction:column;height:100%;min-width:0;overflow:hidden;padding:20px}.spectral-plot>div{box-sizing:border-box;max-width:100%;min-width:0;width:100%}.spectral-plot h2{color:#e0e0e0;font-size:24px;margin-bottom:15px}.plot-placeholder{align-items:center;background-color:#1a1a1a;border:1px dashed #4a4a4a;border-radius:4px;display:flex;height:calc(100% - 50px);justify-content:center}.plot-placeholder p{color:#666;font-size:14px}.control-box{background-color:#2a2a2a;border:2px solid #3a3a3a;border-radius:8px;display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden;padding:20px}.control-box h2{color:#e0e0e0;flex-shrink:0;font-size:20px;margin-bottom:15px}.sliders-box{border-color:#6cf;flex:0 0 auto}.sliders-box,.toggles-box{max-width:300px;min-width:250px}.toggles-box{align-self:stretch;border-color:#4a9d4a;flex:1 1 auto}.slider-group{flex-shrink:0;gap:15px}.slider-group,.slider-group label{display:flex;flex-direction:column}.slider-group label{color:#ccc;font-size:14px;gap:5px}.slider-group input[type=range]{-webkit-appearance:none;background:#3a3a3a;border-radius:5px;height:6px;outline:none;width:100%}.slider-group input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:#007acc;border-radius:50%;cursor:pointer;height:16px;width:16px}.slider-group input[type=range]::-moz-range-thumb{background:#007acc;border:none;border-radius:50%;cursor:pointer;height:16px;width:16px}.slider-group span{color:#007acc;font-weight:700}.case-toggle-group{margin-top:5px}.case-toggle-options{display:flex;flex-direction:column;gap:8px}.case-toggle-label span{font-weight:400}.toggle-group{display:flex;flex-direction:column;flex-shrink:0;gap:12px}.toggle-label{align-items:center;color:#ccc;cursor:pointer;display:flex;font-size:14px;gap:10px}.toggle-label input[type=checkbox]{accent-color:#007acc;cursor:pointer;height:18px;width:18px}.toggle-label:hover{color:#fff}.composite-selector{flex:0 0 auto;flex-shrink:0}.composite-selector,.geo-values-box{background-color:#2a2a2a;border:2px solid #6cf;border-radius:8px;display:flex;flex-direction:column;max-width:250px;min-width:200px;padding:20px}.geo-values-box{box-sizing:border-box;overflow:hidden}.geo-values-box h3{color:#e0e0e0;flex-shrink:0;font-size:18px;margin-bottom:15px}.geo-values-scroll{flex:1 1;min-height:0;overflow-x:hidden;overflow-y:auto}.geo-values-scroll::-webkit-scrollbar{width:8px}.geo-values-scroll::-webkit-scrollbar-track{background:#1a1a1a;border-radius:4px}.geo-values-scroll::-webkit-scrollbar-thumb{background:#6cf;border-radius:4px}.geo-values-scroll::-webkit-scrollbar-thumb:hover{background:#5be}.geo-values-box p{color:#ccc;font-size:14px;margin:5px 0}.composite-selector h3{color:#e0e0e0;font-size:18px;margin-bottom:15px}.radio-group{align-items:flex-start;display:flex;flex-direction:column;gap:12px}.radio-label{align-items:center;color:#ccc;cursor:pointer;display:flex;font-size:14px;gap:10px;justify-content:flex-start;width:100%}.radio-label input[type=radio]{accent-color:#007acc;cursor:pointer;flex-shrink:0;height:18px;margin:0;padding:0;width:18px}.radio-label:hover{color:#fff}.radio-label span{-webkit-user-select:none;user-select:none}.atmospheric-components-section{display:flex;flex:0 1 auto;flex-direction:column;margin-top:20px;min-height:0;overflow:hidden}.atmospheric-components-header{color:#e0e0e0;flex-shrink:0;font-size:16px;font-weight:600;margin-bottom:12px}.atmospheric-components-content{display:block;flex:0 0 auto;min-height:120px;overflow-x:hidden;overflow-y:auto;visibility:visible}.atmospheric-components-content::-webkit-scrollbar{width:8px}.atmospheric-components-content::-webkit-scrollbar-track{background:#2a2a2a;border-radius:4px}.atmospheric-components-content::-webkit-scrollbar-thumb{background:#4a9d4a;border-radius:4px}.atmospheric-components-content::-webkit-scrollbar-thumb:hover{background:#5aad5a}.point-atmospheric-options{border-bottom:1px solid #3a3a3a;margin-bottom:15px;padding-bottom:15px}.point-atmospheric-options:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.point-atmospheric-header{color:#e0e0e0;font-size:14px;font-weight:600;margin-bottom:8px}.loading-indicator{align-items:center;background-color:#1a1a1af2;border:2px solid #6cf;border-radius:8px;box-shadow:0 4px 12px #000000b3;display:flex;flex-direction:column;justify-content:center;left:50%;max-width:none;min-width:150px;padding:20px 30px;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);width:auto;z-index:1001}.loading-indicator p{color:#6cf;font-size:16px;font-weight:500;margin-bottom:0;margin-top:15px;white-space:nowrap}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #66ccff4d;border-radius:50%;border-top-color:#6cf;height:40px;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.clickable-image-container{align-items:flex-start;cursor:crosshair;display:flex;justify-content:center;position:relative;width:100%}.clickable-image{border-radius:4px;display:block;pointer-events:none;-webkit-user-select:none;user-select:none}.click-marker{filter:drop-shadow(0 0 2px rgba(0,0,0,.8));pointer-events:none;position:absolute;transform:translate(-50%,-50%);z-index:10}.user-guide{background-color:#1a1a1a;color:#fff;min-height:100vh;padding:20px}.user-guide-content{background-color:#2a2a2a;border:2px solid #3a3a3a;border-radius:8px;margin:0 auto;max-width:1200px;padding:40px 20px}.user-guide h1{color:#e0e0e0;font-size:32px;margin-bottom:30px}.user-guide section{margin-bottom:40px}.user-guide h2{border-bottom:2px solid #444;color:#e0e0e0;font-size:24px;margin-bottom:15px;margin-top:30px;padding-bottom:10px}.user-guide p{line-height:1.6}.user-guide p,.user-guide ul{color:#ccc;font-size:16px;margin-bottom:15px}.user-guide ul{line-height:1.8;margin-left:20px}.user-guide ul ul{margin-bottom:8px;margin-top:8px}.user-guide li{margin-bottom:8px}.user-guide a{color:#4a9eff;text-decoration:underline}.user-guide a:hover{color:#6bb0ff}.tooltip-trigger{color:inherit!important;cursor:help;display:inline-block;position:relative;text-align:inherit;transition:all .2s ease}.tooltip-trigger-blue:hover{background-color:#6cf3;border-radius:4px;margin:-2px -4px;padding:2px 4px}.tooltip-trigger-green:hover{background-color:#4a9d4a33;border-radius:4px;margin:-2px -4px;padding:2px 4px}.tooltip-content{animation:tooltipFadeIn .2s ease;background-color:#1a1a1a;border-radius:6px;box-shadow:0 4px 12px #000000b3;color:#e0e0e0;font-size:14px;line-height:1.5;max-width:350px;padding:12px 16px;pointer-events:none}.tooltip-blue{border:2px solid #6cf}.tooltip-green{border:2px solid #4a9d4a}@keyframes tooltipFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.tooltip-blue strong{color:#6cf}.tooltip-blue strong,.tooltip-green strong{display:block;font-size:15px;margin-bottom:6px}.tooltip-green strong{color:#4a9d4a}.splash-overlay{align-items:center;background-color:#1a1a1a;cursor:pointer;display:flex;height:100vh;justify-content:center;left:0;opacity:1;pointer-events:auto;position:fixed;top:0;transition:opacity 3s ease-out;visibility:visible;width:100vw;will-change:opacity;z-index:9999}.splash-overlay.splash-overlay-fading{opacity:0;pointer-events:none;transition:opacity 3s ease-out;visibility:visible}.splash-content{align-items:center;display:flex;flex-direction:column;gap:30px;justify-content:center;padding:40px;text-align:center;width:100%}.splash-content,.splash-logos{box-sizing:border-box;max-width:100vw;overflow:visible}.splash-logos{--gap:60px;--gap-left-middle:135px;--base-size:min(calc((50vw - var(--gap-left-middle))/2.7),calc((50vw - var(--gap))/2));--left-logo-size:calc(var(--base-size)*1.7);--right-logo-size:var(--base-size);height:auto;margin:0;min-height:200px;padding:0;position:relative;width:100vw}.splash-logo{aspect-ratio:1/1;display:block;filter:brightness(.95);height:auto;object-fit:contain;object-position:center;width:100%}.splash-logo-left{max-height:var(--left-logo-size);max-width:var(--left-logo-size);right:calc(50vw + var(--base-size)/2 + var(--gap-left-middle)/2);transform:translateY(-50%);width:var(--left-logo-size)}.splash-logo-left,.splash-logo-middle{aspect-ratio:1/1!important;height:auto;object-fit:contain!important;object-position:center!important;overflow:visible;position:absolute;top:50%}.splash-logo-middle{left:50vw;max-height:150px;max-height:var(--base-size,150px);max-width:150px;max-width:var(--base-size,150px);min-height:50px;min-width:50px;transform:translate(-50%,-50%);width:150px;width:var(--base-size,150px);z-index:10}.splash-logo-right{aspect-ratio:1/1!important;height:auto;left:calc(50vw + var(--base-size)/2 + var(--gap)/2);max-height:var(--base-size);max-width:var(--base-size);object-fit:contain!important;object-position:center!important;overflow:visible;position:absolute;top:50%;transform:translateY(-50%);width:var(--base-size)}.splash-loading-label{color:#e0e0e0;font-size:18px;font-weight:500;letter-spacing:.5px}.splash-clarifier{color:#999;font-size:14px;line-height:1.5;margin-top:50px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.splash-skip-hint{bottom:30px;color:#666;font-size:12px;font-style:italic;position:absolute;right:30px}@media (max-width:768px){.splash-logos{gap:20px}.splash-logo,.splash-logos img{height:120px!important;width:120px!important}.splash-logos img{max-height:120px!important}.splash-content{gap:20px;padding:20px}.splash-loading-label{font-size:16px}.splash-clarifier{font-size:12px;max-width:90%}.splash-skip-hint{bottom:20px;font-size:11px;right:20px}}
/*# sourceMappingURL=main.70d855ef.css.map*/