/* Global Styles & Utilities */
.glass-nav {
    background: rgba(5, 5, 5, 0.85);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.glass-panel {
    background: rgba(255, 255, 255, 0.03);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
    transition: background 0.3s ease, border-color 0.3s ease;
}
.grid-bg {
    background-size: 50px 50px;
    background-image: linear-gradient(to right, rgba(255, 255, 255, 0.03) 1px, transparent 1px),
                      linear-gradient(to bottom, rgba(255, 255, 255, 0.03) 1px, transparent 1px);
    mask-image: radial-gradient(circle at center, black 40%, transparent 100%);
}
.text-gradient-teal {
    background: linear-gradient(135deg, #43a9c8 0%, #2dd4bf 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
.sensation-marker {
    animation: popIn 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}
@keyframes popIn { from { transform: scale(0); transform-origin: center; } to { transform: scale(1); transform-origin: center; } }
.body-part { transition: fill 0.2s; cursor: pointer; }
.body-part:hover { fill: rgba(67, 169, 200, 0.2); }
.ifs-node {
    cursor: grab;
    transition: transform 0.1s;
}
.ifs-node:active { cursor: grabbing; transform: scale(0.95); }
.breath-circle { transition: all 4s ease-in-out; }
.breath-inhale { transform: scale(1.5); background-color: rgba(45, 212, 191, 0.4); }
.breath-hold { transform: scale(1.5); border-color: white; }
.breath-exhale { transform: scale(1); background-color: rgba(45, 212, 191, 0.1); }
