/* ========================================== */
/* CareConnect Ultra — Dual Theme Edition     */
/* ========================================== */

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;500;600;700&family=DM+Sans:wght@300;400;500;600;700&display=swap');

:root {
    --bg-primary: #060a10;
    --bg-secondary: #0a1018;
    --glass-border: rgba(255, 255, 255, 0.06);
    --accent-green: #10b981;
    --accent-green-glow: rgba(16, 185, 129, 0.35);
    --accent-purple: #8b5cf6;
    --accent-purple-glow: rgba(139, 92, 246, 0.3);
    --accent-peach: #ffbba6;
    --accent-gold: #fbbf24;
    --accent-cyan: #22d3ee;
    --text-primary: #f1f5f9;
    --text-secondary: #94a3b8;
    --text-muted: #64748b;
    --font-display: 'Playfair Display', Georgia, serif;
    --font-body: 'DM Sans', 'Poppins', sans-serif;
}

* { margin: 0; padding: 0; box-sizing: border-box; }

body, body * { cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 28 28'%3E%3Cpath d='M4 24C4 24 6 14 14 8C22 2 26 2 26 2C26 2 24 12 16 18C8 24 4 24 4 24Z' fill='%2310b981' fill-opacity='0.85' stroke='%23065f46' stroke-width='1'/%3E%3Cpath d='M4 24C10 16 18 10 26 2' stroke='%23065f46' stroke-width='0.8' fill='none'/%3E%3C/svg%3E") 4 24, auto; }
a, button, .mood-btn, .filter-tag, .form-tag, .pomo-tab, .cell, .resource-card, .help-btn, .primary-btn, .peer-card, .nav-links li, .profile-pic, .breathe-circle, .journal-mood-btn, #theme-icon { cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath d='M4 28C4 28 6 16 16 9C26 2 30 2 30 2C30 2 28 14 18 21C8 28 4 28 4 28Z' fill='%238b5cf6' fill-opacity='0.9' stroke='%235b21b6' stroke-width='1'/%3E%3Cpath d='M4 28C12 18 20 10 30 2' stroke='%235b21b6' stroke-width='0.8' fill='none'/%3E%3C/svg%3E") 4 28, pointer; }

body { font-family: var(--font-body); background: var(--bg-primary); color: var(--text-primary); min-height: 100vh; overflow-x: hidden; position: relative; transition: background 0.5s ease, color 0.5s ease; }

/* ========================================== */
/* ✨ CLASSY LIGHT PINK THEME (☀️)           */
/* ========================================== */
body.light-pink-theme {
    --bg-primary: #fdf2f8; 
    --bg-secondary: #fce7f3;
    --glass-border: rgba(219, 39, 119, 0.2);
    --accent-green: #db2777; 
    --accent-green-glow: rgba(219, 39, 119, 0.35);
    --accent-purple: #be185d;
    --accent-purple-glow: rgba(190, 24, 93, 0.3);
    --text-primary: #4c1d95; 
    --text-secondary: #831843;
    --text-muted: #9d174d;
}
body.light-pink-theme .glass-panel { background: rgba(255, 255, 255, 0.65); border: 1px solid rgba(219, 39, 119, 0.2); box-shadow: 0 8px 32px rgba(219,39,119,0.1); }
body.light-pink-theme .glass-inner { background: rgba(255, 255, 255, 0.85); border: 1px solid rgba(219, 39, 119, 0.15); box-shadow: 0 4px 16px rgba(0,0,0,0.05); }
body.light-pink-theme .auth-bg { background-image: linear-gradient(180deg, rgba(253,242,248,0.7) 0%, rgba(252,231,243,0.85) 100%), url('1.jpeg'); }
body.light-pink-theme .welcome-title, body.light-pink-theme .welcome-sub { color: #4c1d95; text-shadow: 0 2px 10px rgba(255,255,255,0.9); font-weight: 500; }
body.light-pink-theme .glass-input, body.light-pink-theme .glass-textarea { background: rgba(255,255,255,0.9); color: #4c1d95; border-color: rgba(219,39,119,0.3); }
body.light-pink-theme .glass-input::placeholder, body.light-pink-theme .glass-textarea::placeholder { color: #9d174d; opacity: 0.7;}
body.light-pink-theme .falling-stars, body.light-pink-theme .falling-sparks, body.light-pink-theme .falling-fireflies { filter: invert(0.4) sepia(1) hue-rotate(300deg) saturate(4); opacity: 0.4; } 
body.light-pink-theme #waterfall-bg .bg-overlay { background: linear-gradient(180deg, rgba(253,242,248, 0.8) 0%, rgba(252,231,243, 0.9) 100%); }
body.light-pink-theme .timer-display { background: radial-gradient(circle, rgba(255,255,255,0.8), rgba(255,255,255,0.5)); box-shadow: 0 0 30px rgba(219,39,119,0.2); }
body.light-pink-theme .cell { background: rgba(255,255,255,0.9); border-color: rgba(219,39,119,0.2); box-shadow: 0 4px 10px rgba(0,0,0,0.05); }
body.light-pink-theme .help-btn { color: var(--accent-green); border-color: var(--accent-green); }

/* ========================================== */
/* 🌊 BACKGROUND & ANIMATIONS                 */
/* ========================================== */
#waterfall-bg { position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: 0; pointer-events: none; overflow: hidden; opacity: 0; transition: opacity 2s ease; }
#waterfall-bg.active { opacity: 1; }
#waterfall-bg .bg-layer { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-size: cover; background-position: center; opacity: 0; transition: opacity 3s ease-in-out; }
#waterfall-bg .bg-layer.visible { opacity: 1; }
#waterfall-bg .bg-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(180deg, rgba(6, 10, 16, 0.7) 0%, rgba(6, 10, 16, 0.6) 30%, rgba(6, 10, 16, 0.75) 70%, rgba(6, 10, 16, 0.9) 100%); z-index: 1; transition: background 0.5s; }

body::after { content: ''; position: fixed; top: -150%; left: 0; width: 100%; height: 300%; z-index: 3; pointer-events: none; background-image: radial-gradient(4px 4px at 10% 10%, rgba(255,255,255,1), transparent), radial-gradient(3px 3px at 20% 30%, rgba(255,255,255,0.9), transparent), radial-gradient(5px 5px at 40% 20%, rgba(255,255,255,1), transparent), radial-gradient(3px 3px at 60% 40%, rgba(255,255,255,0.8), transparent), radial-gradient(4px 4px at 80% 15%, rgba(255,255,255,1), transparent), radial-gradient(3px 3px at 90% 50%, rgba(255,255,255,0.9), transparent); background-size: 500px 500px; animation: starFall 15s linear infinite; opacity: 1; transition: filter 0.5s; }
body::before { content: ''; position: fixed; top: -150%; left: 0; width: 100%; height: 300%; z-index: 4; pointer-events: none; background-image: radial-gradient(6px 6px at 15% 15%, rgba(251,191,36,1), transparent), radial-gradient(7px 7px at 35% 45%, rgba(139,92,246,1), transparent), radial-gradient(5px 5px at 55% 25%, rgba(34,211,238,1), transparent), radial-gradient(6px 6px at 75% 65%, rgba(16,185,129,1), transparent), radial-gradient(5px 5px at 85% 35%, rgba(251,191,36,1), transparent); background-size: 400px 400px; animation: sparkFall 12s linear infinite; opacity: 1; transition: filter 0.5s; }

@keyframes starFall { 0% { transform: translateY(0); } 100% { transform: translateY(50%); } }
@keyframes sparkFall { 0% { transform: translateY(0) translateX(0); } 100% { transform: translateY(50%) translateX(60px); } }

#waterfall-bg .water-flow { position: absolute; top: -100%; left: 0; width: 100%; height: 300%; z-index: 2; background: repeating-linear-gradient(180deg, transparent 0px, transparent 40px, rgba(16, 185, 129, 0.015) 40px, rgba(16, 185, 129, 0.03) 42px, transparent 42px, transparent 80px, rgba(34, 211, 238, 0.01) 80px, rgba(34, 211, 238, 0.025) 81px, transparent 81px, transparent 130px, rgba(139, 92, 246, 0.012) 130px, rgba(139, 92, 246, 0.02) 131px, transparent 131px); animation: waterFall 8s linear infinite; }
#waterfall-bg .water-flow-2 { position: absolute; top: -100%; left: 0; width: 100%; height: 300%; z-index: 2; background: repeating-linear-gradient(175deg, transparent 0px, transparent 60px, rgba(255, 255, 255, 0.012) 60px, rgba(255, 255, 255, 0.02) 61px, transparent 61px, transparent 110px, rgba(16, 185, 129, 0.01) 110px, rgba(16, 185, 129, 0.018) 111.5px, transparent 111.5px); animation: waterFall2 12s linear infinite; }
#waterfall-bg .mist { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 3; background-image: radial-gradient(1.5px 1.5px at 15% 25%, rgba(16,185,129,0.5), transparent), radial-gradient(1px 1px at 35% 55%, rgba(34,211,238,0.4), transparent), radial-gradient(1px 1px at 55% 15%, rgba(139,92,246,0.3), transparent), radial-gradient(1.5px 1.5px at 75% 45%, rgba(16,185,129,0.4), transparent), radial-gradient(1px 1px at 90% 75%, rgba(255,187,166,0.3), transparent), radial-gradient(2px 2px at 25% 80%, rgba(16,185,129,0.6), transparent), radial-gradient(1px 1px at 60% 90%, rgba(34,211,238,0.35), transparent), radial-gradient(1.5px 1.5px at 45% 35%, rgba(139,92,246,0.25), transparent), radial-gradient(1px 1px at 80% 10%, rgba(16,185,129,0.3), transparent), radial-gradient(1px 1px at 10% 60%, rgba(255,187,166,0.25), transparent); animation: mistFloat 25s ease-in-out infinite alternate; }
@keyframes waterFall { 0% { transform: translateY(-33.33%); } 100% { transform: translateY(0%); } }
@keyframes waterFall2 { 0% { transform: translateY(-33.33%) translateX(-5px); } 100% { transform: translateY(0%) translateX(5px); } }
@keyframes mistFloat { 0% { opacity: 0.6; transform: translateY(0) scale(1); } 50% { opacity: 1; transform: translateY(-15px) scale(1.03); } 100% { opacity: 0.7; transform: translateY(5px) scale(0.98); } }

/* ===== GLASS PANELS ===== */
.glass-panel { background: linear-gradient(135deg, rgba(255,255,255,0.04), rgba(255,255,255,0.01)); backdrop-filter: blur(20px) saturate(1.3); -webkit-backdrop-filter: blur(20px) saturate(1.3); border: 1px solid var(--glass-border); border-radius: 24px; box-shadow: 0 8px 32px rgba(0,0,0,0.5), 0 2px 8px rgba(0,0,0,0.3), inset 0 1px 0 rgba(255,255,255,0.06); position: relative; z-index: 10; transition: background 0.5s, box-shadow 0.5s, border 0.5s; }
.glass-inner { background: linear-gradient(145deg, rgba(13,19,32,0.85), rgba(8,12,20,0.65)); border: 1px solid rgba(255,255,255,0.04); border-radius: 16px; padding: 1.5rem; box-shadow: 0 4px 16px rgba(0,0,0,0.3), inset 0 1px 0 rgba(255,255,255,0.04); transition: transform 0.4s cubic-bezier(0.4,0,0.2,1), box-shadow 0.4s ease, border-color 0.3s, background 0.5s; }
.glass-inner:hover { transform: translateY(-2px); box-shadow: 0 8px 24px rgba(0,0,0,0.5), inset 0 1px 0 rgba(255,255,255,0.06); }

/* ===== AUTH BG ===== */
.auth-bg { background-image: linear-gradient(180deg, rgba(6,10,16,0.65) 0%, rgba(15,10,5,0.55) 40%, rgba(30,18,5,0.65) 70%, rgba(6,10,16,0.8) 100%), url('1.jpeg'); background-size: cover; background-position: center; background-attachment: fixed; min-height: 100vh; display: flex; justify-content: center; align-items: center; flex-direction: column; position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: 99999; transition: opacity 1.2s ease, visibility 1.2s ease, background 0.5s; }
.auth-bg.hidden { opacity: 0; visibility: hidden; pointer-events: none; }
#welcome-screen { text-align: center; transition: opacity 0.8s ease; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 100%; z-index: 100000; }
.welcome-title { font-family: var(--font-body); font-weight: 300; font-size: 1.8rem; color: rgba(255,255,245,0.85); letter-spacing: 6px; text-transform: uppercase; text-shadow: 0 2px 15px rgba(0,0,0,0.6), 0 0 30px rgba(0,0,0,0.3); margin-bottom: 5px; height: 35px; border-right: 2px solid var(--accent-green); animation: blinkCursor 0.7s infinite; padding-right: 5px; display: inline-block;} 
@keyframes blinkCursor { 50% { border-color: transparent; } }
.welcome-logo { font-family: var(--font-display); font-size: 5.5rem; color: var(--accent-green); font-weight: 700; opacity: 0; transform: scale(0.5) translateY(30px); animation: welcomeLogoReveal 1.5s cubic-bezier(0.175,0.885,0.32,1.275) 1.5s forwards; margin: 15px 0; text-shadow: 0 0 40px var(--accent-green-glow); letter-spacing: -1px; }
.welcome-sub { font-family: var(--font-body); font-size: 1rem; color: rgba(255,248,230,0.8); letter-spacing: 4px; text-transform: uppercase; font-weight: 300; opacity: 0; animation: welcomeFadeUp 1s ease 2.2s forwards; }
@keyframes welcomeLogoReveal { 0% { opacity: 0; transform: scale(0.5) translateY(30px); } 60% { opacity: 1; transform: scale(1.05) translateY(-5px); } 100% { opacity: 1; transform: scale(1) translateY(0); } }
@keyframes welcomeFadeUp { 0% { opacity: 0; transform: translateY(15px); } 100% { opacity: 1; transform: translateY(0); } }

#auth-section { min-height: 100vh; display: none; justify-content: center; align-items: center; padding: 20px; width: 100%; }
.auth-box { width: 100%; max-width: 420px; padding: 2.5rem; text-align: left; animation: authBoxReveal 0.8s cubic-bezier(0.4,0,0.2,1) forwards; opacity: 0; transform: translateY(20px); }
@keyframes authBoxReveal { to { opacity: 1; transform: translateY(0); } }
.auth-box h2 { font-family: var(--font-display); text-align: center; margin-bottom: 5px; font-size: 2rem; color: var(--accent-green); font-weight: 600; }
.auth-box p.subtitle { text-align: center; color: var(--text-secondary); font-size: 0.9rem; margin-bottom: 28px; font-weight: 300; }

/* ===== NAVIGATION ===== */
.top-nav { display: flex; justify-content: space-between; align-items: center; padding: 0.8rem 2rem; margin: 0.8rem 2rem; position: relative; z-index: 10000; animation: navSlideDown 0.8s ease forwards; opacity: 0; transform: translateY(-20px); border: 1px solid rgba(16,185,129,0.08); }
@keyframes navSlideDown { to { opacity: 1; transform: translateY(0); } }
.logo { font-family: var(--font-display); font-size: 1.6rem; font-weight: 700; color: var(--accent-green); text-shadow: 0 0 25px var(--accent-green-glow); }
.nav-links { display: flex; list-style: none; gap: 0.3rem; }
.nav-links li { padding: 0.5rem 1rem; border-radius: 12px; transition: all 0.4s; color: var(--text-secondary); font-size: 0.82rem; font-weight: 500; position: relative; overflow: hidden; border: 1px solid transparent; }
.nav-links li:hover { color: var(--accent-green); background: rgba(16,185,129,0.08); }
.nav-links li.active { color: var(--accent-green); background: rgba(16,185,129,0.1); font-weight: 600;}
.profile-pic { width: 42px; height: 42px; border-radius: 50%; display: flex; justify-content: center; align-items: center; font-weight: 700; font-size: 0.95rem; box-shadow: 0 0 15px rgba(196,181,253,0.3); }

/* ===== CONTENT & TABS ===== */
.content-area { padding: 0 2rem 2rem 2rem; max-width: 1100px; margin: 0 auto; position: relative; z-index: 10; }
.tab-content { display: none; padding: 2.5rem; animation: tabReveal 0.6s cubic-bezier(0.4,0,0.2,1); }
.tab-content.active { display: block; }
@keyframes tabReveal { 0% { opacity: 0; transform: translateY(15px) scale(0.99); } 100% { opacity: 1; transform: translateY(0) scale(1); } }
.fade-in-text { opacity: 0; transform: translateY(25px); animation: textReveal 0.8s cubic-bezier(0.4,0,0.2,1) forwards; }
@keyframes textReveal { to { opacity: 1; transform: translateY(0); } }
.fade-in-text:nth-child(1) { animation-delay: 0.05s; } .fade-in-text:nth-child(2) { animation-delay: 0.15s; } .fade-in-text:nth-child(3) { animation-delay: 0.25s; } .fade-in-text:nth-child(4) { animation-delay: 0.35s; }
.tab-header h2 { font-family: var(--font-display); font-size: 2.2rem; font-weight: 600; color: var(--text-primary); transition: color 0.5s; }
.tab-header p { color: var(--text-secondary); transition: color 0.5s; }

/* ===== UTILITIES ===== */
.text-center { text-align: center; } .text-left { text-align: left; } .flex-between { display: flex; justify-content: space-between; align-items: center; } .flex { display: flex; align-items: center; }
.mt-2 { margin-top: 0.5rem; } .mt-3 { margin-top: 1rem; } .mt-4 { margin-top: 1.5rem; } .mb-2 { margin-bottom: 0.5rem; } .w-100 { width: 100%; }

/* ===== BUTTONS & INPUTS ===== */
.primary-btn { background: linear-gradient(135deg, var(--accent-green), #059669); color: #fff; border: none; padding: 0.8rem 1.5rem; border-radius: 14px; font-weight: 600; transition: transform 0.3s; }
.primary-btn:hover { transform: translateY(-3px); box-shadow: 0 8px 25px var(--accent-green-glow); }
.help-btn { background: transparent; border: 1px solid var(--text-muted); color: var(--text-primary); padding: 0.5rem 1rem; border-radius: 12px; transition: 0.3s; }
.help-btn:hover { border-color: var(--accent-green); color: var(--accent-green); }
.glass-input, .glass-textarea { width: 100%; background: rgba(0,0,0,0.3); border: 1px solid rgba(255,255,255,0.07); border-radius: 12px; padding: 0.9rem 1rem; color: #fff; outline: none; margin-bottom: 10px; transition: 0.3s; }
.glass-input:focus, .glass-textarea:focus { border-color: var(--accent-green); box-shadow: 0 0 15px var(--accent-green-glow); }
.input-group label { display: block; margin-bottom: 8px; font-size: 0.8rem; color: var(--text-secondary); font-weight: 500; text-transform: uppercase; }

/* ===== BURN ROOM ANIMATION (🔥) ===== */
.burn-room-container { max-width: 600px; margin: 0 auto; padding: 2.5rem; background: radial-gradient(circle at center, rgba(30,0,0,0.6) 0%, rgba(10,0,0,0.8) 100%); border: 1px solid rgba(239, 68, 68, 0.3); border-radius: 20px; position: relative; overflow: hidden; box-shadow: inset 0 0 50px rgba(239, 68, 68, 0.1), 0 10px 30px rgba(0,0,0,0.5); transition: all 0.5s; }
.burn-room-container:hover { box-shadow: inset 0 0 80px rgba(239, 68, 68, 0.2), 0 10px 40px rgba(0,0,0,0.6); border-color: rgba(239, 68, 68, 0.5); }
.burn-icon { font-size: 2.5rem; color: #ef4444; margin-bottom: 10px; filter: drop-shadow(0 0 15px rgba(239, 68, 68, 0.6)); animation: flicker 2s infinite alternate; }
@keyframes flicker { 0% { transform: scale(1); opacity: 0.8; } 50% { transform: scale(1.05); opacity: 1; } 100% { transform: scale(0.95); opacity: 0.9; } }
.burn-input { background: rgba(0,0,0,0.5) !important; border-color: rgba(239, 68, 68, 0.3) !important; color: #fca5a5 !important; }
.burn-input:focus { border-color: #ef4444 !important; box-shadow: 0 0 20px rgba(239, 68, 68, 0.3) !important; }
.burn-btn { font-size: 1.1rem; letter-spacing: 1px; text-transform: uppercase; box-shadow: 0 0 20px rgba(239, 68, 68, 0.4); }
.burn-btn:hover { box-shadow: 0 0 30px rgba(239, 68, 68, 0.6), 0 0 10px #f97316; }
.fire-overlay { position: absolute; bottom: -20px; left: 0; width: 100%; height: 100%; display: none; justify-content: center; align-items: flex-end; background: radial-gradient(circle at bottom, rgba(239,68,68,0.5) 0%, transparent 70%); z-index: 10; pointer-events: none; }

@keyframes burnUp {
    0% { opacity: 1; transform: translateY(0) scale(1); filter: hue-rotate(0deg); }
    50% { opacity: 0.8; transform: translateY(-20px) scale(1.2); filter: hue-rotate(20deg); text-shadow: 0 0 20px #ef4444; }
    100% { opacity: 0; transform: translateY(-50px) scale(0.5); filter: grayscale(1); }
}

/* ===== SOUND ICON CSS (🎧) ===== */
.sound-icon { padding: 10px 15px; border-radius: 12px; background: rgba(0,0,0,0.2); border: 1px solid rgba(255,255,255,0.05); transition: 0.3s; }
.sound-icon.active { background: rgba(255,255,255,0.1); box-shadow: 0 0 15px rgba(255,255,255,0.2); }
.opacity-50 { opacity: 0.5; }

/* ===== COMPONENTS ===== */
.zen-grid { display: flex; flex-direction: column; gap: 2rem; }
.mood-btn { background: rgba(255,255,255,0.02); border: 1px solid rgba(255,255,255,0.06); color: var(--text-secondary); transition: 0.3s; border-radius: 16px; display: flex; flex-direction: column; align-items: center; }
.mood-btn:hover { transform: scale(1.1) translateY(-4px); border-color: var(--accent-green); color: var(--text-primary); }
.breathe-circle { width: 150px; height: 150px; border: 2px solid var(--accent-green); border-radius: 50%; margin: 2rem auto; display: flex; justify-content: center; align-items: center; transition: all 4s ease-in-out; }
.breathe-text { font-size: 1.5rem; color: var(--accent-green); font-weight: 600; transition: opacity 0.3s; }

.filter-tag { padding: 0.45rem 1.1rem; border-radius: 10px; background: rgba(255,255,255,0.03); border: 1px solid rgba(255,255,255,0.06); font-size: 0.82rem; color: var(--text-secondary); transition: 0.3s; }
.filter-tag.active { background: var(--accent-purple); color: #fff; border-color: transparent; }
.avatar { width: 45px; height: 45px; border-radius: 50%; display: flex; justify-content: center; align-items: center; font-weight: 700; font-size: 0.85rem; }
.tag { font-size: 0.72rem; background: rgba(255,255,255,0.05); padding: 4px 10px; border-radius: 8px; margin-right: 5px; color: var(--text-secondary); }
.reply-box { background: rgba(0,0,0,0.2); padding: 15px; border-radius: 14px; margin-top:10px; }
.form-tag { padding: 0.35rem 0.9rem; border-radius: 10px; background: rgba(255,255,255,0.04); font-size: 0.8rem; border: 1px solid rgba(255,255,255,0.07); color: var(--text-secondary); transition: 0.3s; }
.form-tag.selected { background: var(--accent-purple) !important; color: #fff !important; }

.peers-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 1.5rem; }
.peer-card { display: flex; flex-direction: column; align-items: center; transition: transform 0.4s; }
.peer-avatar { width: 68px; height: 68px; border-radius: 50%; display: flex; justify-content: center; align-items: center; font-size: 1.3rem; font-weight: 700; }
.resources-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 1.5rem; }
.resource-card { display: flex; justify-content: space-between; align-items: center; padding: 18px; transition: 0.4s; border-left: 4px solid transparent;}
.resource-card:hover { transform: translateY(-4px); border-left: 4px solid var(--accent-green); }

.pomodoro-tabs { display: flex; justify-content: center; gap: 10px; margin-bottom: 20px; flex-wrap: wrap; }
.pomo-tab { background: transparent; border: 1px solid var(--glass-border); color: var(--text-secondary); padding: 8px 20px; border-radius: 12px; transition: 0.3s; }
.pomo-tab.active { background: var(--accent-purple); color: #fff; }
.timer-display { width: 220px; height: 220px; margin: 2rem auto; border-radius: 50%; display: flex; flex-direction: column; justify-content: center; align-items: center; border: 3px solid var(--accent-green); transition: 0.4s; }
.timer-display.running { border-color: var(--accent-gold) !important; box-shadow: 0 0 40px rgba(251,191,36,0.3) !important; }
.tic-tac-toe { display: grid; grid-template-columns: repeat(3, 72px); gap: 8px; justify-content: center; }
.cell { width: 72px; height: 72px; background: rgba(0,0,0,0.2); border: 1px solid rgba(255,255,255,0.07); border-radius: 14px; display: flex; align-items: center; justify-content: center; font-size: 2.5rem; font-weight: bold; color: var(--text-primary); cursor:pointer;}

.journal-mood-btn { border: none; border-radius: 10px; padding: 5px 10px; font-size: 1.5rem; transition: 0.3s; background: transparent; }
.journal-mood-btn.selected { background: rgba(139,92,246,0.25) !important; }
.profile-tag { background: rgba(255,255,255,0.04); padding: 6px 18px; border-radius: 10px; font-size: 0.82rem; border: 1px solid rgba(255,255,255,0.07); color: var(--text-secondary); }

/* ===== TOAST & CHAT ===== */
.toast { visibility: hidden; min-width: 260px; background: var(--bg-secondary); backdrop-filter: blur(20px); border-left: 4px solid var(--accent-green); color: var(--text-primary); text-align: left; border-radius: 8px; padding: 16px 20px; position: fixed; z-index: 100000; right: 30px; bottom: 30px; box-shadow: 0 8px 30px rgba(0,0,0,0.3); transform: translateY(100px); opacity: 0; transition: all 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55); font-weight: 500; font-family: var(--font-body); display: flex; align-items: center; }
.toast.show { visibility: visible; transform: translateY(0); opacity: 1; }
.toast i { font-size: 1.2rem; color: var(--accent-green); margin-right: 10px; }

.noti-dropdown { position: absolute; top: 55px; right: 0; width: 290px; display: none; z-index: 9999; background: var(--bg-secondary); border: 1px solid rgba(16,185,129,0.15); box-shadow: 0 15px 40px rgba(0,0,0,0.7); border-radius: 16px; padding: 15px; }
.chat-popup { position: fixed; bottom: 20px; right: 20px; width: 340px; height: 420px; z-index: 99999; display: flex; flex-direction: column; background: var(--bg-secondary); border: 1px solid rgba(16,185,129,0.15); box-shadow: 0 15px 40px rgba(0,0,0,0.7); border-radius: 20px; padding: 1.5rem; animation: chatReveal 0.4s; }
@keyframes chatReveal { from { opacity: 0; transform: translateY(20px) scale(0.95); } to { opacity: 1; transform: translateY(0) scale(1); } }
::-webkit-scrollbar { width: 5px; } ::-webkit-scrollbar-thumb { background: rgba(16,185,129,0.3); border-radius: 10px; }
