/* 自訂深色捲軸 */
::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-track { background: #0f172a; }
::-webkit-scrollbar-thumb { background: #334155; border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: #475569; }

/* 視圖切換邏輯 */
.view-section { display: none; animation: fadeIn 0.3s ease-in-out; }
.view-section.active { display: block; }
@keyframes fadeIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }

/* 側邊欄按鈕狀態 */
.nav-btn { color: #94a3b8; }
.nav-btn:hover { background-color: #1e293b; color: #e2e8f0; }
.nav-btn.active { background-color: rgba(59, 130, 246, 0.15); color: #60a5fa; border-right: 3px solid #3b82f6; }

/* 3D 立體按鈕樣式 */
.btn-3d {
  border-bottom-style: solid;
  border-bottom-width: 4px;
  transition: transform 0.1s ease-in-out, border-width 0.1s ease-in-out, margin-top 0.1s ease-in-out;
}
.btn-3d:active {
  border-bottom-width: 0px;
  transform: translateY(4px);
  margin-bottom: 4px;
}

/* 地圖節點與呼吸燈 */
.map-node:hover .map-tooltip { opacity: 1; }
@keyframes pulse-glow {
  0%, 100% { box-shadow: 0 0 15px rgba(59, 130, 246, 0.5); transform: scale(1); }
  50% { box-shadow: 0 0 25px rgba(59, 130, 246, 0.9); transform: scale(1.05); }
}
.animate-pulse-glow { animation: pulse-glow 2s infinite; }

/* Modal 與 Checkbox */
#trade-modal:not(.hidden) { display: flex; opacity: 1; }
#trade-modal:not(.hidden) > div { transform: scale(1); }
input[type="checkbox"] { accent-color: #3b82f6; width: 1.25rem; height: 1.25rem; cursor: pointer; }
.check-item.completed span { text-decoration: line-through; color: #64748b; }
input[type="date"]::-webkit-calendar-picker-indicator { filter: invert(1); cursor: pointer; }