
/* Base Styles */
* { margin: 0; padding: 0; box-sizing: border-box; -webkit-tap-highlight-color: transparent; }
body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
::-webkit-scrollbar { width: 4px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: rgba(108,92,231,0.3); border-radius: 10px; }
::selection { background: rgba(108,92,231,0.3); }
input, textarea, select { color: white; }
select option { background: #1a1a2e; color: white; }

/* Safe Area */
.safe-bottom { padding-bottom: env(safe-area-inset-bottom, 0px); }

/* Tab Buttons */
.tab-btn { color: rgba(255,255,255,0.4); background: transparent; }
.tab-btn.active { color: white; background: rgba(108,92,231,0.3); box-shadow: 0 0 20px rgba(108,92,231,0.1); }

/* Nav Buttons */
.nav-btn { color: rgba(255,255,255,0.3); }
.nav-btn.active { color: #6c5ce7; }

/* Task Card */
.task-card { transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); }
.task-card:active { transform: scale(0.98); }
.task-card.done { opacity: 0.6; }
.task-card.done .task-text { text-decoration: line-through; text-decoration-color: rgba(108,92,231,0.5); }

/* Custom Checkbox */
.custom-check { width: 24px; height: 24px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.15); display: flex; align-items: center; justify-content: center; cursor: pointer; transition: all 0.3s; flex-shrink: 0; }
.custom-check:hover { border-color: #6c5ce7; }
.custom-check.checked { background: linear-gradient(135deg, #6c5ce7, #fd79a8); border-color: transparent; animation: checkPop 0.3s cubic-bezier(0.4, 0, 0.2, 1); }
.custom-check.checked::after { content: '✓'; color: white; font-size: 14px; font-weight: bold; }

/* Animations */
@keyframes checkPop { 0% { transform: scale(1); } 50% { transform: scale(1.3); } 100% { transform: scale(1); } }
@keyframes fadeInUp { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } }
@keyframes slideIn { from { opacity: 0; transform: translateX(-20px); } to { opacity: 1; transform: translateX(0); } }
@keyframes glow { 0%, 100% { box-shadow: 0 0 5px rgba(108,92,231,0.3); } 50% { box-shadow: 0 0 20px rgba(108,92,231,0.6); } }
@keyframes confetti { 0% { transform: translateY(0) rotate(0deg); opacity: 1; } 100% { transform: translateY(-200px) rotate(720deg); opacity: 0; } }

.animate-fade-in-up { animation: fadeInUp 0.5s ease-out forwards; }
.animate-slide-in { animation: slideIn 0.4s ease-out forwards; }

/* Subject Colors */
.subject-arabic { border-right-color: #e74c3c !important; }
.subject-english { border-right-color: #3498db !important; }
.subject-math { border-right-color: #2ecc71 !important; }
.subject-algebra { border-right-color: #9b59b6 !important; }
.subject-geometry { border-right-color: #1abc9c !important; }
.subject-science { border-right-color: #f39c12 !important; }
.subject-biology { border-right-color: #27ae60 !important; }
.subject-history { border-right-color: #e67e22 !important; }
.subject-philosophy { border-right-color: #8e44ad !important; }
.subject-geology { border-right-color: #d35400 !important; }

/* Stats Card Hover */
.stats-card { transition: all 0.3s; }
.stats-card:hover { transform: translateY(-2px); }

/* Day Card */
.day-card { transition: all 0.3s; }
.day-card:hover { border-color: rgba(108,92,231,0.3); }

/* Modal */
.modal-content.show { transform: translateY(0) !important; }

/* Pomodoro glow */
.timer-active { animation: glow 2s infinite; }

/* Goal progress bar */
.goal-bar { transition: width 1s cubic-bezier(0.4, 0, 0.2, 1); }

/* Haptic feedback simulation */
@keyframes haptic { 0%, 100% { transform: translateX(0); } 25% { transform: translateX(-1px); } 75% { transform: translateX(1px); } }
.haptic { animation: haptic 0.1s; }
