body { background-color: #000; color: white; font-family: -apple-system, sans-serif; height: 100svh; width: 100vw; overflow: hidden; }
.safe-bottom { padding-bottom: env(safe-area-inset-bottom); }
.loader { border: 3px solid rgba(255,255,255,0.3); border-top: 3px solid #3b82f6; border-radius: 50%; width: 24px; height: 24px; animation: spin 1s linear infinite; }
@keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }
.no-scrollbar::-webkit-scrollbar { display: none; }
.toggle-checkbox:checked { right: 0; border-color: #3b82f6; }
.toggle-checkbox:checked + .toggle-label { background-color: #3b82f6; }

/* 强制隐藏，防止 Tailwind 加载延迟导致界面遮挡 */
.hidden { display: none !important; }
/* 滑动删除核心 CSS */
.delete-layer { visibility: hidden; transition: visibility 0s linear 0.2s; }
.swipe-item.swiping .delete-layer, .swipe-item.open .delete-layer { visibility: visible; transition-delay: 0s; }

/* 🟢 编辑输入框样式 */
.edit-input { background: transparent; border: 1px solid transparent; color: inherit; width: 100%; font-family: inherit; font-size: inherit; padding: 2px 4px; border-radius: 4px; transition: all 0.2s; }
.edit-input:focus { background: rgba(255, 255, 255, 0.1); border-color: rgba(59, 130, 246, 0.5); outline: none; }
.edit-input::placeholder { color: #4b5563; }

/* 批量选择模式 CSS */
.check-circle { width: 22px; height: 22px; border-radius: 50%; border: 2px solid #6b7280; transition: all 0.2s ease; display: flex; align-items: center; justify-content: center; }
.check-circle.checked { background-color: #3b82f6; border-color: #3b82f6; }
.check-circle.checked::after { content: '✓'; font-size: 14px; color: white; font-weight: bold; }

.swipe-content { transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1); }
.editing .swipe-content { transform: translateX(40px) !important; }
.editing .swipe-item { pointer-events: auto; }

.selection-indicator { position: absolute; left: 16px; top: 50%; transform: translateY(-50%) translateX(-40px); z-index: 20; opacity: 0; transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); pointer-events: none; }
.editing .selection-indicator { transform: translateY(-50%) translateX(0); opacity: 1; pointer-events: auto; }
.editing .delete-layer { display: none !important; }

#batchActionBar { transition: transform 0.3s ease-in-out; transform: translateY(100%); }
#batchActionBar.active { transform: translateY(0); }
