/* --- MODULAR LAB STYLES --- */
#lab_3d_container, #lab_orbit_container, #lab_lie_container, #lab_penrose_container {
    background: radial-gradient(circle at center, #0b1120 0%, #000000 100%);
}

.lab-node {
    transition: fill 0.2s ease, stroke 0.2s ease;
    stroke-width: 1px;
}

.lab-link {
    stroke-linecap: round;
    mix-blend-mode: screen;
}

/* --- MASTER TELEMETRY TOGGLE --- */
#btn_telemetry_toggle {
    display: inline-block; /* Required so CSS transform works */
    color: #0f0; 
    font-size: 16px;
    cursor: pointer;
    transition: transform 0.2s ease, text-shadow 0.2s ease;
    user-select: none;
    text-shadow: 0 0 5px #0f0;
    line-height: 1;
}

#btn_telemetry_toggle:hover {
    transform: scale(1.3);
    text-shadow: 0 0 12px #0f0;
}

/* --- UNIVERSAL DYNAMIC HUD --- */
.telemetry-hud {
    position: fixed; 
    bottom: 20px; 
    left: 50%; 
    transform: translateX(-50%); 
    background: rgba(0, 15, 0, 0.85); 
    padding: 10px;
    border: 1px solid #0f0; 
    border-radius: 4px;
    width: calc(100% - 30px);
    max-width: 280px;
    z-index: 9999; 
    box-shadow: 0 0 20px rgba(0,255,0,0.2);
    font-family: 'Courier New', monospace; 
    color: #0f0; 
    pointer-events: none; 
}

.telemetry-hud h1 { 
    font-size: 12px; 
    margin: 0 0 10px 0; 
    color: #fff; 
    text-shadow: 0 0 5px #0f0; 
    text-align: center; 
}

.telemetry-hud .control-group { 
    margin-bottom: 8px; 
    border-bottom: 1px solid #030; 
    padding-bottom: 6px;
}

.telemetry-hud label { 
    font-size: 9px; 
    text-transform: uppercase; 
    letter-spacing: 1px; 
    display: block; 
    margin-bottom: 4px;
}

.telemetry-hud .val { 
    color: #fff; 
    float: right; 
}

.telemetry-hud .hud-bar { 
    width: 100%; 
    height: 4px; 
    background: #003300; 
    margin-top: 4px; 
    border-radius: 2px; 
}

.telemetry-hud .hud-bar div { 
    height: 100%; 
    background: #0f0; 
    width: 0%; 
    transition: width 0.2s ease-out; 
}

#hud_stats { 
    font-size: 9px; 
    color: #666; 
    text-align: center; 
    margin-top: 8px;
}
