@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;700;800&display=swap'); /* ================================ LIGHT MODE (Default - Beyaz) ================================ */ :root { /* Primary Colors */ --turkcell-yellow: #ffc107; --turkcell-yellow-glow: #ffd54f; --turkcell-blue: #1a237e; --turkcell-blue-dark: #0a0e35; --turkcell-blue-light: #283593; /* Light Mode Theme Colors */ --bg-primary: #f8fafc; --bg-secondary: #ffffff; --bg-gradient-1: #e3f2fd; --bg-gradient-2: #fff8e1; --glass-bg: rgba(255, 255, 255, 0.75); --glass-border: rgba(26, 35, 126, 0.15); --glass-blur: blur(20px); --text-primary: #1a237e; --text-secondary: #546e7a; --text-muted: #90a4ae; --card-shadow: 0 8px 32px rgba(26, 35, 126, 0.12); --card-shadow-hover: 0 16px 48px rgba(26, 35, 126, 0.18); --success-color: #4caf50; --success-bg: rgba(76, 175, 80, 0.1); --error-color: #f44336; --error-bg: rgba(244, 67, 54, 0.1); --button-text: #0b144a; --input-bg: rgba(26, 35, 126, 0.05); --input-border: rgba(26, 35, 126, 0.2); --input-focus-shadow: rgba(255, 193, 7, 0.25); /* Floating orbs for light mode */ --orb-1-color: rgba(26, 35, 126, 0.08); --orb-2-color: rgba(255, 193, 7, 0.12); --orb-1-opacity: 0.6; --orb-2-opacity: 0.4; /* Animation & Transition */ --transition-fast: 0.2s ease; --transition-medium: 0.3s cubic-bezier(0.4, 0, 0.2, 1); --transition-slow: 0.5s cubic-bezier(0.4, 0, 0.2, 1); } /* ================================ DARK MODE (Mevcut Lacivert Tasarım) ================================ */ [data-theme="dark"] { --bg-primary: #0a0e35; --bg-secondary: #1a237e; --bg-gradient-1: #1a237e; --bg-gradient-2: #ffc107; --glass-bg: rgba(26, 35, 126, 0.4); --glass-border: rgba(255, 193, 7, 0.3); --text-primary: #ffffff; --text-secondary: #e0e6ed; --text-muted: #90a4ae; --card-shadow: 0 8px 32px rgba(0, 0, 0, 0.6); --card-shadow-hover: 0 16px 48px rgba(0, 0, 0, 0.7); --success-bg: rgba(76, 175, 80, 0.2); --error-bg: rgba(244, 67, 54, 0.2); --button-text: #0b144a; --input-bg: rgba(255, 255, 255, 0.05); --input-border: rgba(255, 255, 255, 0.2); --input-focus-shadow: rgba(255, 193, 7, 0.3); /* Floating orbs for dark mode */ --orb-1-color: var(--turkcell-blue); --orb-2-color: var(--turkcell-yellow); --orb-1-opacity: 0.6; --orb-2-opacity: 0.2; } /* ================================ Global Transition for Theme Change ================================ */ *, *::before, *::after { transition: background-color var(--transition-medium), border-color var(--transition-medium), box-shadow var(--transition-medium), color var(--transition-fast); } body { margin: 0; font-family: 'Outfit', sans-serif; background: var(--bg-primary); color: var(--text-primary); display: flex; justify-content: center; align-items: center; min-height: 100vh; overflow-x: hidden; transition: background var(--transition-slow); } /* Hareketli Arka Plan - Tema Uyumlu */ body::before, body::after { content: ''; position: fixed; width: 600px; height: 600px; border-radius: 50%; filter: blur(120px); z-index: -1; animation: float 12s infinite ease-in-out; transition: background var(--transition-slow), opacity var(--transition-slow); } body::before { background: var(--orb-1-color); top: -150px; left: -150px; opacity: var(--orb-1-opacity); } body::after { background: var(--orb-2-color); bottom: -150px; right: -150px; opacity: var(--orb-2-opacity); animation-delay: -6s; } @keyframes float { 0%, 100% { transform: translate(0, 0); } 50% { transform: translate(60px, 40px); } } .App { text-align: center; padding: 40px 20px; min-height: 100vh; display: flex; flex-direction: column; align-items: center; justify-content: center; width: 100%; box-sizing: border-box; } /* Glassmorphism Container */ .container { position: relative; max-width: 900px; width: 100%; padding: 48px; border-radius: 24px; color: var(--text-primary); background: var(--glass-bg); backdrop-filter: var(--glass-blur); -webkit-backdrop-filter: var(--glass-blur); border: 1px solid var(--glass-border); box-shadow: var(--card-shadow); z-index: 10; overflow: visible; transition: transform var(--transition-medium), box-shadow var(--transition-medium); animation: fadeInUp 0.6s ease-out; } .container:hover { box-shadow: var(--card-shadow-hover); } /* Entrance Animations */ @keyframes fadeInUp { from { opacity: 0; transform: translateY(30px); } to { opacity: 1; transform: translateY(0); } } @keyframes slideInLeft { from { opacity: 0; transform: translateX(-50px); } to { opacity: 1; transform: translateX(0); } } @keyframes slideInRight { from { opacity: 0; transform: translateX(50px); } to { opacity: 1; transform: translateX(0); } } @keyframes scaleIn { from { opacity: 0; transform: scale(0.8); } to { opacity: 1; transform: scale(1); } } @keyframes bounceIn { 0% { opacity: 0; transform: scale(0.3); } 50% { transform: scale(1.05); } 70% { transform: scale(0.9); } 100% { opacity: 1; transform: scale(1); } } /* Typography */ h1 { font-size: 2.8em; font-weight: 800; background: linear-gradient(135deg, var(--text-primary) 30%, var(--turkcell-yellow) 100%); background-clip: text; -webkit-background-clip: text; -webkit-text-fill-color: transparent; margin-bottom: 20px; text-shadow: 0 4px 20px rgba(255, 193, 7, 0.3); animation: slideInLeft 0.6s ease-out 0.1s both; } .subtitle { font-size: 1.1em; color: var(--text-secondary); margin-bottom: 32px; font-weight: 300; letter-spacing: 0.5px; animation: slideInLeft 0.6s ease-out 0.2s both; } /* Inputs & Selects */ .speaker-input, .role-select, .phone-input, .form-group input, .form-group select { width: 100%; padding: 16px; border-radius: 12px; border: 1px solid var(--input-border); background: var(--input-bg); color: var(--text-primary); font-family: inherit; font-size: 1em; transition: all var(--transition-medium); box-sizing: border-box; } .speaker-input:focus, .role-select:focus, .phone-input:focus, .form-group input:focus { outline: none; border-color: var(--turkcell-yellow); background: var(--glass-bg); box-shadow: 0 0 0 4px var(--input-focus-shadow); transform: translateY(-2px); } .speaker-input::placeholder { color: var(--text-muted); } /* Buttons */ .controls { display: flex; flex-wrap: wrap; justify-content: center; gap: 20px; margin-top: 32px; } .button { flex: 1 1 200px; padding: 16px 24px; font-size: 1.1em; font-weight: 700; cursor: pointer; border-radius: 14px; border: none; transition: all var(--transition-medium); color: var(--button-text); background: linear-gradient(180deg, var(--turkcell-yellow-glow), var(--turkcell-yellow)); box-shadow: 0 4px 20px rgba(255, 193, 7, 0.4); text-transform: uppercase; letter-spacing: 0.5px; position: relative; overflow: hidden; } .button::after { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(rgba(255, 255, 255, 0.4), transparent); opacity: 0; transition: opacity 0.3s ease; } .button:hover { transform: translateY(-3px) scale(1.02); box-shadow: 0 8px 30px rgba(255, 193, 7, 0.6); } .button:hover::after { opacity: 1; } .stop-button { background: linear-gradient(135deg, var(--error-color), #b71c1c); color: white; box-shadow: 0 4px 15px rgba(244, 67, 54, 0.4); } /* Lacivert Buton (Emotion vb için) */ .emotion-button { background: linear-gradient(135deg, var(--turkcell-blue-light), var(--turkcell-blue)); color: var(--turkcell-yellow); border: 1px solid var(--turkcell-yellow); box-shadow: 0 4px 15px rgba(26, 35, 126, 0.5); } .button.recording { animation: pulse-glow 2s infinite; } @keyframes pulse-glow { 0% { box-shadow: 0 0 0 0 rgba(255, 193, 7, 0.7); } 70% { box-shadow: 0 0 0 20px rgba(255, 193, 7, 0); } 100% { box-shadow: 0 0 0 0 rgba(255, 193, 7, 0); } } /* Results */ .result { margin-top: 30px; padding: 20px; border-radius: 16px; background: var(--glass-bg); border: 1px solid var(--glass-border); font-weight: 600; font-size: 1.1em; animation: slideUp 0.5s ease-out; backdrop-filter: blur(10px); } .result-success, .result-SUCCESS { background: var(--success-bg); border-color: rgba(76, 175, 80, 0.5); color: var(--success-color); } .result-error, .result-FAILURE { background: var(--error-bg); border-color: rgba(244, 67, 54, 0.5); color: var(--error-color); } @keyframes slideUp { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } } /* Logo */ .logo { width: 150px; height: 150px; object-fit: cover; border-radius: 50%; box-shadow: 0 0 40px rgba(255, 193, 7, 0.3); margin-bottom: 24px; border: 4px solid var(--turkcell-yellow); background: white; padding: 5px; transition: transform var(--transition-slow), box-shadow var(--transition-slow); animation: bounceIn 0.8s ease-out; } .logo:hover { transform: scale(1.08) rotate(5deg); box-shadow: 0 0 60px rgba(255, 193, 7, 0.6); } /* User Info Badge */ .user-info { position: absolute; top: 20px; left: 20px; background: var(--glass-bg); backdrop-filter: blur(15px); -webkit-backdrop-filter: blur(15px); padding: 12px 20px; border-radius: 12px; border: 1px solid var(--glass-border); color: var(--text-primary); font-size: 0.9em; text-align: left; box-shadow: var(--card-shadow); display: flex; flex-direction: column; gap: 4px; } .logout-button { background: var(--error-bg); color: var(--error-color); border: 1px solid rgba(244, 67, 54, 0.3); padding: 6px 12px; border-radius: 8px; margin-top: 8px; font-size: 0.8em; transition: all var(--transition-fast); cursor: pointer; } .logout-button:hover { background: rgba(244, 67, 54, 0.3); transform: translateY(-1px); } /* Tabs */ .tabs { background: var(--input-bg); padding: 6px; border-radius: 16px; display: inline-flex; gap: 0; border: 1px solid var(--glass-border); } .tab-button { background: transparent; color: var(--text-secondary); border: none; padding: 10px 24px; border-radius: 12px; font-weight: 500; cursor: pointer; transition: all 0.3s ease; } .tab-button.active { background: var(--turkcell-yellow); color: var(--turkcell-blue-dark); font-weight: 700; box-shadow: 0 4px 15px rgba(255, 193, 7, 0.3); } /* Modern Sidebar */ .modern-sidebar { background: rgba(10, 14, 53, 0.95); border-right: 1px solid var(--turkcell-yellow); backdrop-filter: blur(30px); } .modern-sidebar-toggle { background: linear-gradient(135deg, var(--turkcell-yellow), var(--turkcell-yellow-glow)); color: var(--turkcell-blue-dark); box-shadow: 0 0 20px rgba(255, 193, 7, 0.4); } .sidebar-header { border-bottom: 1px solid rgba(255, 255, 255, 0.1); } .info-item, .usage-item, .recommendation-card, .package-info { background: rgba(255, 255, 255, 0.05); border: 1px solid rgba(255, 255, 255, 0.1); color: var(--text-primary); } .info-item:hover, .recommendation-card:hover { background: rgba(255, 255, 255, 0.1); border-color: var(--turkcell-yellow); } .section-title, .package-name, .rec-title { color: var(--turkcell-yellow); } .info-label, .usage-label, .rec-desc { color: var(--text-secondary); } .info-value, .usage-text { color: white; } /* Popup */ .popup-content { background: var(--turkcell-blue-dark); border: 1px solid var(--turkcell-yellow); color: white; } .popup-header { border-bottom: 1px solid rgba(255, 255, 255, 0.1); } .popup-header h2 { color: var(--turkcell-yellow); } .popup-footer { background: rgba(0, 0, 0, 0.2); border-top: 1px solid rgba(255, 255, 255, 0.1); } .close-button { color: var(--text-secondary); } .close-button:hover { background: rgba(255, 255, 255, 0.1); color: white; } /* ================================ VERIFICATION FORM - Modern Design ================================ */ .verification-form { width: 100%; display: flex; flex-direction: column; gap: 32px; margin-top: 20px; } .form-section { display: flex; flex-direction: column; gap: 24px; animation: slideInLeft 0.6s ease-out 0.3s both; } .input-group { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; width: 100%; } .input-group:nth-child(1) { animation: slideInLeft 0.5s ease-out 0.4s both; } .input-group:nth-child(2) { animation: slideInLeft 0.5s ease-out 0.5s both; } .input-label { font-size: 0.9em; font-weight: 600; color: var(--text-secondary); text-transform: uppercase; letter-spacing: 1px; } .modern-input { font-size: 1.2em !important; padding: 18px 24px !important; text-align: center; letter-spacing: 2px; font-weight: 500; } /* Role Toggle - Modern Button Group */ .role-toggle { display: flex; gap: 12px; width: 100%; } .role-option { flex: 1; display: flex; align-items: center; justify-content: center; gap: 10px; padding: 16px 20px; border-radius: 14px; border: 2px solid var(--glass-border); background: var(--input-bg); color: var(--text-secondary); font-size: 1em; font-weight: 600; cursor: pointer; transition: all var(--transition-medium); } .role-option:hover { border-color: var(--turkcell-yellow); background: var(--glass-bg); transform: translateY(-2px); } .role-option.active { background: linear-gradient(135deg, var(--turkcell-yellow-glow), var(--turkcell-yellow)); border-color: var(--turkcell-yellow); color: var(--button-text); box-shadow: 0 4px 20px rgba(255, 193, 7, 0.4); } .role-option.active:hover { transform: translateY(-2px) scale(1.02); } .role-icon { font-size: 1.3em; } /* Action Buttons Section */ .action-buttons { display: flex; align-items: center; justify-content: center; gap: 20px; flex-wrap: wrap; } .action-button { flex: 0 1 200px; display: flex; align-items: center; justify-content: center; gap: 12px; padding: 18px 28px; font-size: 1.1em; } .action-button svg { font-size: 1.2em; } .record-btn { background: linear-gradient(135deg, var(--turkcell-blue-light), var(--turkcell-blue)); color: white; border: 2px solid var(--turkcell-yellow); box-shadow: 0 4px 20px rgba(26, 35, 126, 0.4); } .record-btn:hover { box-shadow: 0 8px 30px rgba(26, 35, 126, 0.6); } .stop-btn { background: linear-gradient(135deg, #f44336, #b71c1c); color: white; border: none; } .upload-btn { background: var(--glass-bg); border: 2px dashed var(--glass-border); color: var(--text-primary); box-shadow: none; } .upload-btn:hover { border-color: var(--turkcell-yellow); border-style: solid; background: var(--input-bg); } .divider-text { color: var(--text-muted); font-size: 0.9em; font-weight: 500; text-transform: uppercase; letter-spacing: 1px; } /* Status Section */ .status { margin-top: 24px; padding: 16px 24px; background: var(--input-bg); border-radius: 12px; border: 1px solid var(--glass-border); color: var(--text-secondary); font-size: 0.95em; } .status span { color: var(--turkcell-yellow); font-weight: 600; } /* Responsive adjustments */ @media (max-width: 600px) { .role-toggle { flex-direction: column; } .action-buttons { flex-direction: column; } .action-button { width: 100%; flex: none; } .divider-text { margin: 8px 0; } } /* ================================ EMOTION VERIFICATION PAGE ================================ */ /* Modern Sidebar Toggle Button */ .modern-sidebar-toggle { position: fixed; top: 80px; left: 20px; z-index: 100; display: flex; align-items: center; gap: 10px; padding: 12px 20px; background: linear-gradient(135deg, var(--turkcell-yellow-glow), var(--turkcell-yellow)); border: none; border-radius: 14px; color: var(--button-text); font-weight: 700; font-size: 0.95em; cursor: pointer; box-shadow: 0 4px 20px rgba(255, 193, 7, 0.4); transition: all var(--transition-medium); animation: slideInLeft 0.5s ease-out 0.6s both; } .modern-sidebar-toggle:hover { transform: translateX(5px) scale(1.02); box-shadow: 0 6px 25px rgba(255, 193, 7, 0.5); } .toggle-text { font-size: 0.9em; } /* Sidebar Overlay */ .sidebar-overlay { position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: rgba(0, 0, 0, 0.5); backdrop-filter: blur(5px); z-index: 200; animation: fadeIn 0.3s ease-out; } @keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } } /* Modern Sidebar */ .modern-sidebar { position: fixed; top: 0; left: -400px; width: 380px; height: 100vh; background: var(--glass-bg); backdrop-filter: blur(25px); -webkit-backdrop-filter: blur(25px); border-right: 1px solid var(--glass-border); z-index: 300; transition: left var(--transition-medium); overflow-y: auto; box-shadow: 4px 0 30px rgba(0, 0, 0, 0.3); } .modern-sidebar.open { left: 0; } .sidebar-header { display: flex; justify-content: space-between; align-items: center; padding: 24px; border-bottom: 1px solid var(--glass-border); background: var(--input-bg); } .header-content { display: flex; align-items: center; gap: 12px; } .header-icon { font-size: 1.8em; } .sidebar-header h3 { margin: 0; color: var(--text-primary); font-size: 1.2em; } .close-btn { background: none; border: none; color: var(--text-secondary); font-size: 1.5em; cursor: pointer; padding: 8px; border-radius: 8px; transition: all var(--transition-fast); } .close-btn:hover { background: var(--error-bg); color: var(--error-color); } .sidebar-content { padding: 20px; display: flex; flex-direction: column; gap: 24px; } /* Info Sections */ .info-section { background: var(--input-bg); border-radius: 16px; padding: 20px; border: 1px solid var(--glass-border); } .section-title { margin: 0 0 16px 0; color: var(--turkcell-yellow); font-size: 1em; font-weight: 600; } .info-grid { display: flex; flex-direction: column; gap: 12px; } .info-item { display: flex; justify-content: space-between; align-items: center; padding: 10px 14px; background: var(--glass-bg); border-radius: 10px; border: 1px solid var(--glass-border); } .info-label { color: var(--text-secondary); font-size: 0.85em; } .info-value { color: var(--text-primary); font-weight: 600; } /* Package Info */ .package-info { text-align: center; padding: 16px; background: linear-gradient(135deg, var(--turkcell-blue), var(--turkcell-blue-dark)); border-radius: 12px; color: white; } .package-name { font-size: 1.3em; font-weight: 700; color: var(--turkcell-yellow); margin-bottom: 4px; } .package-price { font-size: 1.1em; margin-bottom: 12px; opacity: 0.9; } .package-features { font-size: 0.9em; line-height: 1.8; opacity: 0.85; } /* Usage Stats */ .usage-stats { display: flex; flex-direction: column; gap: 16px; } .usage-item { display: flex; flex-direction: column; gap: 8px; } .usage-header { display: flex; align-items: center; gap: 8px; } .usage-icon { font-size: 1.1em; } .usage-label { flex: 1; color: var(--text-secondary); font-size: 0.9em; } .usage-text { color: var(--text-primary); font-weight: 600; font-size: 0.85em; } .usage-bar { height: 8px; background: var(--input-bg); border-radius: 4px; overflow: hidden; } .usage-fill { height: 100%; border-radius: 4px; transition: width 0.5s ease-out; } .usage-fill.internet { background: linear-gradient(90deg, #4FC3F7, #0288D1); } .usage-fill.minutes { background: linear-gradient(90deg, #81C784, #388E3C); } .usage-fill.sms { background: linear-gradient(90deg, #FFB74D, #F57C00); } /* Recommendations */ .recommendations { display: flex; flex-direction: column; gap: 12px; } .recommendation-card { background: var(--glass-bg); border: 1px solid var(--glass-border); border-radius: 12px; padding: 16px; transition: all var(--transition-medium); } .recommendation-card:hover { border-color: var(--turkcell-yellow); transform: translateY(-2px); box-shadow: 0 4px 15px rgba(255, 193, 7, 0.2); } .rec-title { font-weight: 700; color: var(--text-primary); margin-bottom: 4px; } .rec-price { color: var(--turkcell-yellow); font-weight: 600; font-size: 1.1em; margin-bottom: 8px; } .rec-desc { color: var(--text-secondary); font-size: 0.85em; margin-bottom: 12px; } .rec-button { background: linear-gradient(135deg, var(--turkcell-yellow-glow), var(--turkcell-yellow)); border: none; color: var(--button-text); padding: 8px 16px; border-radius: 8px; font-weight: 600; cursor: pointer; transition: all var(--transition-fast); } .rec-button:hover { transform: scale(1.05); } /* Emojis Grid */ .emojis-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(100px, 1fr)); gap: 16px; margin: 24px 0; animation: fadeInUp 0.6s ease-out 0.4s both; } .emoji-card { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 20px 16px; background: var(--glass-bg); border: 2px solid var(--glass-border); border-radius: 16px; cursor: pointer; transition: all var(--transition-medium); } .emoji-card:hover { transform: translateY(-4px) scale(1.05); border-color: var(--turkcell-yellow); box-shadow: 0 8px 25px rgba(255, 193, 7, 0.2); } .emoji-card.active { background: linear-gradient(135deg, rgba(255, 193, 7, 0.2), rgba(255, 213, 79, 0.1)); border-color: var(--turkcell-yellow); box-shadow: 0 0 30px rgba(255, 193, 7, 0.4); animation: pulse-glow 2s infinite; } .emoji-icon { font-size: 2.5em; margin-bottom: 8px; transition: transform var(--transition-medium); } .emoji-card:hover .emoji-icon { transform: scale(1.2); } .emoji-card.active .emoji-icon { animation: bounce 0.6s ease infinite; } @keyframes bounce { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-8px); } } .emoji-label { font-size: 0.9em; font-weight: 600; color: var(--text-secondary); } .emoji-card.active .emoji-label { color: var(--turkcell-yellow); } /* Active Emotion Badge */ .active-emotion-badge { display: inline-flex; align-items: center; gap: 12px; padding: 16px 28px; background: linear-gradient(135deg, var(--turkcell-yellow-glow), var(--turkcell-yellow)); border-radius: 50px; margin: 20px 0; box-shadow: 0 4px 25px rgba(255, 193, 7, 0.5); animation: scaleIn 0.5s ease-out; } .emotion-title { color: var(--button-text); font-weight: 500; font-size: 0.95em; } .emotion-value { color: var(--button-text); font-weight: 800; font-size: 1.3em; } /* Recommendations Section (Main Content) */ .recommendations-section { margin-top: 32px; animation: fadeInUp 0.6s ease-out 0.5s both; } .recommendations-title { color: var(--text-primary); font-size: 1.5em; margin-bottom: 20px; background: linear-gradient(135deg, var(--text-primary) 30%, var(--turkcell-yellow) 100%); background-clip: text; -webkit-background-clip: text; -webkit-text-fill-color: transparent; } .recommendations-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 20px; } /* Audio Player */ .audio-player-container { margin: 20px 0; padding: 16px; background: var(--input-bg); border-radius: 14px; border: 1px solid var(--glass-border); } .custom-audio { width: 100%; height: 40px; border-radius: 8px; } /* Upload Button Style */ .upload-button { background: var(--glass-bg) !important; border: 2px dashed var(--glass-border) !important; color: var(--text-primary) !important; } .upload-button:hover { border-color: var(--turkcell-yellow) !important; border-style: solid !important; } /* File Info */ .file-info { margin-top: 16px; padding: 16px 20px; background: var(--input-bg); border-radius: 12px; border: 1px solid var(--glass-border); color: var(--text-secondary); } .file-info strong { color: var(--turkcell-yellow); } /* Responsive Sidebar */ @media (max-width: 480px) { .modern-sidebar { width: 100%; left: -100%; } .modern-sidebar-toggle { padding: 10px 14px; font-size: 0.85em; } .toggle-text { display: none; } .emojis-grid { grid-template-columns: repeat(3, 1fr); gap: 10px; } .emoji-card { padding: 14px 10px; } .emoji-icon { font-size: 2em; } }