body{margin:0;padding:0;background-color:#050505;color:#fff;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;overflow:hidden}body:after{content:"";position:fixed;bottom:0;left:0;width:100%;height:200px;background:linear-gradient(to top,#000000e6,#000000b3,#0006,#0003,#0000000d,#0000);pointer-events:none;z-index:5;transition:height .5s ease,opacity .3s ease}body.reduced-gradient:after{height:120px}body.ui-hidden:after{opacity:0}canvas{display:block;width:100vw;height:100vh;position:absolute;top:0;left:0;z-index:0}#ui-overlay{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:10}.nav-back{pointer-events:auto}.nav-back a{color:#ffffffb3;text-decoration:none;font-weight:500;font-size:1.1rem;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:#0009;border-radius:50%;border:1px solid rgba(255,255,255,.2);transition:all .2s}.nav-back a:hover{color:#fff;opacity:.8}.theme-toggle{position:absolute;top:20px;right:340px;pointer-events:auto}.legend{position:absolute;top:20px;right:20px;background:#0a0a0fd9;padding:1.5rem;border-radius:12px;border:1px solid rgba(255,255,255,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);pointer-events:auto;max-width:300px;transition:all .3s ease}.legend.collapsed .legend-content{display:none}.legend-header{display:flex;justify-content:space-between;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none}.legend-header h2{margin:0;font-size:1.2rem;font-weight:600;color:#eee}.toggle-icon{margin-left:10px;transition:transform .3s ease}.legend.collapsed .toggle-icon{transform:rotate(-90deg)}.legend-content{margin-top:1rem}.legend-item{display:flex;align-items:center;margin-bottom:.5rem;font-size:.9rem;color:#ccc;cursor:pointer;transition:color .2s}.legend-item:hover{color:#fff}.color-dot{width:12px;height:12px;border-radius:50%;margin-right:10px;display:inline-block}.color-dot.high{background-color:#0f8;box-shadow:0 0 8px #0f88}.color-dot.med-high{background-color:#0ff;box-shadow:0 0 8px #0ff8}.color-dot.med-low{background-color:#0cf;box-shadow:0 0 8px #0cf8}.color-dot.low{background-color:#f05;box-shadow:0 0 8px #f058}.tooltip{position:absolute;background:#0a0a0ad9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.2);padding:6px 12px;border-radius:8px;pointer-events:none;z-index:1000;font-size:.9rem;box-shadow:0 4px 12px #00000080;transition:opacity .2s ease;transform:translate(20px,-50%)}.tooltip.hidden{opacity:0}.tooltip-header{display:flex;align-items:center;gap:8px;margin-bottom:8px;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:4px}.company-logo-sm{width:24px;height:24px;object-fit:contain;border-radius:4px;background:#ffffff1a}.company-logo-lg{width:48px;height:48px;object-fit:contain;border-radius:6px;background:#ffffff1a}.info-header{display:flex;align-items:center;gap:12px;margin-bottom:16px}.info-panel{position:absolute;bottom:20px;right:60px;width:320px;background:#0a0a0ae6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);padding:24px;border-radius:12px;z-index:1000;box-shadow:0 8px 32px #0009}#ui-svg-layer{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:900}.info-panel.hidden{transform:translateY(20px);opacity:0;pointer-events:none}.info-panel h2{margin:0;font-size:1.8rem;font-weight:700;background:linear-gradient(to right,#fff,#aaa);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.info-metric{display:flex;justify-content:space-between;align-items:center;margin-bottom:.8rem;border-bottom:1px solid rgba(255,255,255,.05);padding-bottom:.8rem}.info-metric .label{color:#888;font-size:.9rem;text-transform:uppercase;letter-spacing:1px}.info-metric .value{color:#fff;font-size:1.1rem;font-weight:500}.info-desc{margin-top:1.5rem;font-size:.95rem;line-height:1.6;color:#ccc}.camera-controls{position:absolute;bottom:20px;left:20px;pointer-events:auto;z-index:50;display:flex;flex-direction:column;gap:10px}.camera-controls button{width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.2);background:#0009;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.camera-controls button:hover{opacity:.8;transform:scale(1.1)}.camera-controls svg{width:20px;height:20px}.controls-hint{position:absolute;bottom:30px;left:50%;transform:translate(-50%);text-align:center;color:#ffffff80;font-size:.8rem;pointer-events:none;z-index:50}.camera-controls-right{position:absolute;bottom:20px;right:20px;pointer-events:auto;z-index:50;display:flex;flex-direction:column;gap:10px}.help-btn{width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.2);background:#0009;color:#fff;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;font-size:1.2rem}.help-btn:hover{opacity:.8;transform:scale(1.1)}.shortcuts-modal{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#0a0a0ae6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);padding:24px;border-radius:12px;z-index:2000;color:#fff;min-width:300px;box-shadow:0 10px 40px #000c;pointer-events:auto}.shortcuts-modal.hidden{display:none}.shortcuts-modal h3{margin-top:0;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:12px;margin-bottom:16px}.shortcut-row{display:flex;justify-content:space-between;margin-bottom:10px;font-size:.9rem;color:#ccc}.key-badge{background:#ffffff26;padding:2px 8px;border-radius:4px;font-family:monospace;color:#fff;border:1px solid rgba(255,255,255,.1)}.controls-hint button,.controls-hint select{pointer-events:auto}#loading-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#000;display:flex;justify-content:center;align-items:center;z-index:100;transition:opacity .5s}.loader{color:#fff;font-size:1.2rem;animation:pulse 1.5s infinite}@keyframes pulse{0%{opacity:.5}50%{opacity:1}to{opacity:.5}}.company-logo-sm.hidden,.company-logo-lg.hidden{display:none!important}.tooltip.is-group .tooltip-header{border-bottom:none;margin-bottom:0;padding-bottom:0}.tooltip.is-group .tooltip-data{display:none}.settings-section{margin-bottom:4px}.settings-section-title{font-size:.75rem;text-transform:uppercase;letter-spacing:1.5px;color:#888;margin-bottom:6px}.settings-hint{font-size:.8rem;color:#666;margin-bottom:10px;display:flex;align-items:center;gap:6px}.settings-select{width:100%;padding:8px 28px 8px 10px;border-radius:6px;border:1px solid rgba(255,255,255,.15);background:#ffffff12;color:#fff;font-family:inherit;font-size:.9rem;outline:none;cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23888'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}.settings-select:focus{border-color:#ffffff4d}.settings-select option{background:#1a1a1a;color:#fff}.settings-toggle-btn{display:flex;align-items:center;gap:10px;padding:8px 14px;border-radius:6px;border:1px solid rgba(255,255,255,.15);background:#ff323226;color:#f66;cursor:pointer;font-family:inherit;font-size:.9rem;width:100%;transition:all .2s}.settings-toggle-btn.active{background:#00ff8826;border-color:#00ff884d;color:#0f8}.settings-toggle-btn .toggle-indicator{width:10px;height:10px;border-radius:50%;background:currentColor;box-shadow:0 0 6px currentColor;flex-shrink:0}#settings-btn.active{border-color:#00c8ff99;box-shadow:0 0 10px #00c8ff4d;color:#0cf}
