* { box-sizing: border-box; margin: 0; padding: 0; }
.material-symbols-outlined { font-variation-settings: 'FILL' 0,'wght' 400,'GRAD' 0,'opsz' 24; display:inline-block; line-height:1; }
.velocity-gradient { background: linear-gradient(135deg, #d2f000 0%, #b8d300 100%); }
.chalkboard { background-color: #1a1a1a; background-image: radial-gradient(circle at 2px 2px, rgba(255,255,255,0.04) 1px, transparent 0); background-size: 24px 24px; }
.glass { background: rgba(42,42,42,0.7); backdrop-filter: blur(20px); }
.grid-bg { background-image: linear-gradient(to right, rgba(255,255,255,0.02) 1px, transparent 1px), linear-gradient(to bottom, rgba(255,255,255,0.02) 1px, transparent 1px); background-size: 40px 40px; }
.page { display: none; }
.page.active { display: block; }
.nav-item { transition: all 0.2s; }
.nav-item:hover { color: #d2f000; }
.nav-item.active { color: #d2f000; border-right: 3px solid #d2f000; background: rgba(255,255,255,0.04); }
.btn-primary { background: linear-gradient(135deg,#d2f000,#b8d300); color: #191e00; font-weight: 800; transition: all 0.2s; }
.btn-primary:hover { opacity: 0.9; transform: scale(1.02); }
.btn-primary:active { transform: scale(0.98); }

.btn-secondary { background: rgba(255,255,255,0.05); color: rgba(255,255,255,0.8); border: 1px solid rgba(255,255,255,0.1); font-weight: 700; transition: all 0.2s; }
.btn-secondary:hover { background: rgba(255,255,255,0.1); color: #fff; border-color: rgba(255,255,255,0.2); transform: scale(1.02); }
.btn-secondary:active { transform: scale(0.98); }

.btn-danger { background: rgba(255,51,102,0.1); color: #ff3366; border: 1px solid rgba(255,51,102,0.3); font-weight: 700; transition: all 0.2s; }
.btn-danger:hover { background: rgba(255,51,102,0.2); color: #ff3366; border-color: rgba(255,51,102,0.5); transform: scale(1.02); }
.btn-danger:active { transform: scale(0.98); }

/* Semantic Session Types */
.type-wod { color: #d2f000; }
.border-wod { border-color: #d2f000; }
.bg-wod { background-color: #d2f000; }

.type-openbox { color: #00e5ff; }
.border-openbox { border-color: #00e5ff; }
.bg-openbox { background-color: #00e5ff; }

.type-mobility { color: #ff3366; }
.border-mobility { border-color: #ff3366; }
.bg-mobility { background-color: #ff3366; }
.card { background: #1c1b1b; border-radius: 0.75rem; }
.card-high { background: #2a2a2a; border-radius: 0.75rem; }
.scroll-hide::-webkit-scrollbar { display: none; }
.scroll-hide { -ms-overflow-style: none; scrollbar-width: none; }
input, textarea { outline: none; }
input:focus, textarea:focus { border-color: #d2f000 !important; }
.pulse-dot { animation: pulse 2s infinite; }
@keyframes pulse { 0%,100% { opacity:1; } 50% { opacity:0.4; } }
.fade-in { animation: fadeIn 0.3s ease; }
@keyframes fadeIn { from { opacity:0; transform: translateY(8px); } to { opacity:1; transform:translateY(0); } }
.slide-active { transform: translateX(0) !important; }
::-webkit-scrollbar { width: 4px; }
::-webkit-scrollbar-track { background: #0e0e0e; }
::-webkit-scrollbar-thumb { background: #353534; border-radius: 10px; }

/* User Dropdown Bridge */
.dropdown-bridge::before {
  content: '';
  position: absolute;
  top: -12px;
  left: 0;
  right: 0;
  height: 12px;
  background: transparent;
}
