/* Base & Global Styles */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

html.no-theme-transition,
html.no-theme-transition *,
html.no-theme-transition *::before,
html.no-theme-transition *::after {
  transition: none !important;
  animation: none !important;
}

body {
    font-family: 'Onest', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Helvetica Neue', Arial, sans-serif;
    background: var(--light-bg);
    min-height: 100vh;
    padding: 10px;
    color: var(--light-text);
}

/* Enhanced emoji rendering support */
.emoji-btn, .stat-emoji, .day-emojis, .emoji-input, .emoji-grid .emoji-btn {
    font-family: 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji', 'Android Emoji', 'EmojiSymbols', sans-serif;
    font-feature-settings: 'liga' off, 'clig' off;
    text-rendering: optimizeQuality;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Prevent background scroll when a modal is open (mobile-friendly) */
body.modal-open {
    overflow: hidden;
    touch-action: none;
}

/* Custom Scrollbar */
::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-track { background: var(--light-bg); border-radius: 4px; }
::-webkit-scrollbar-thumb { background: var(--light-border); border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: var(--light-text-secondary); }
* { scrollbar-width: thin; scrollbar-color: var(--light-border) var(--light-bg); }
