:root {
    /* Color Palette */
    --primary-color: #8A2BE2;
    --secondary-color: #00A8CC;
    --accent-color: #FF9900;
    --danger-color: #e53e3e;

    /* Light Mode */
    --bg-light: #F8F7F4; /* Base color for the pattern to sit on */
    --header-bg-light: #FFFBF5; /* Warm, creamy off-white */
    --card-bg-light: #FFFFFF;
    --text-primary-light: #1c1c1c;
    --text-secondary-light: #6C757D;
    --border-light: #F0EBE3;
    --pattern-color-light: #EAE8E1; /* A visible but soft pattern color */

    /* Dark Mode */
    --bg-dark: #121212;
    --header-bg-dark: #1A1A1A;
    --card-bg-dark: #1E1E1E;
    --text-primary-dark: #E0E0E0;
    --text-secondary-dark: #A0A0A0;
    --border-dark: #2A2A2A;
    --pattern-color-dark: #2A2A2A; /* Visible dark pattern */

    /* General */
    --font-sans: 'Inter', sans-serif;
    --font-kaithi: 'Noto Sans Kaithi', sans-serif;
    --border-radius: 12px;
    --shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
    --shadow-strong: 0 6px 20px rgba(0, 0, 0, 0.07);
    --transition: all 0.3s ease;
}

/* Base & Typography */
* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html { scroll-behavior: smooth; }
body {
    font-family: var(--font-sans);
    transition: background-color 0.3s, color 0.3s;
}

.light-mode {
    background-color: var(--bg-light);
    color: var(--text-primary-light);
    background-image: conic-gradient(var(--pattern-color-light) 90deg, transparent 90deg);
    background-size: 25px 25px; /* Controls the size of the squares */
}

.dark-mode {
    background-color: var(--bg-dark);
    color: var(--text-primary-dark);
    background-image: conic-gradient(var(--pattern-color-dark) 90deg, transparent 90deg);
    background-size: 25px 25px;
}
.container {
    max-width: 800px;
    margin: 0 auto;
    padding: 0 24px;
}

/* Header */
.site-header {
    padding: 16px 0;
    border-bottom: 1px solid;
    position: sticky;
    top: 0;
    z-index: 100;
    transition: var(--transition);
}
/* --- NEW DISTINCT HEADER COLOR --- */
.light-mode .site-header { background-color: var(--header-bg-light); border-color: var(--border-light); box-shadow: 0 2px 10px rgba(0,0,0,0.05); }
.dark-mode .site-header { background-color: var(--header-bg-dark); border-color: var(--border-dark); }

.site-header .container { display: flex; justify-content: space-between; align-items: center; }
.logo { font-size: 1.5rem; font-weight: 700; }
.header-actions { display: flex; align-items: center; gap: 16px; }
.header-actions a, .header-actions button { font-size: 1.5rem; background: none; border: none; cursor: pointer; transition: var(--transition); }
.light-mode .header-actions a, .light-mode .header-actions button { color: var(--text-secondary-light); }
.dark-mode .header-actions a, .dark-mode .header-actions button { color: var(--text-secondary-dark); }
.header-actions a:hover, .header-actions button:hover { color: var(--primary-color); }

/* Main Converter Section */
.converter-section { margin-top: 48px; margin-bottom: 64px; }
.input-wrapper { position: relative; margin-bottom: 32px; }

#devanagari-input {
    width: 100%;
    min-height: 150px;
    padding: 16px;
    border-radius: var(--border-radius);
    font-size: 1.1rem;
    resize: vertical;
    border: 1px solid;
    transition: var(--transition);
    box-shadow: var(--shadow);
}
.light-mode #devanagari-input { background-color: var(--card-bg-light); border-color: var(--border-light); color: var(--text-primary-light); }
.dark-mode #devanagari-input { background-color: var(--card-bg-dark); border-color: var(--border-dark); color: var(--text-primary-dark); }
#devanagari-input:focus { outline: none; border-color: var(--primary-color); box-shadow: 0 0 0 3px rgba(138, 43, 226, 0.2), var(--shadow-strong); }

.clear-btn { position: absolute; top: 12px; right: 12px; background: none; border: none; font-size: 1.25rem; cursor: pointer; opacity: 0.5; transition: var(--transition); }
.clear-btn:hover { opacity: 1; }

.output-wrapper { margin-top: 32px; }
.output-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 16px; }
.output-title { font-size: 1rem; font-weight: 500; text-transform: uppercase; letter-spacing: 1px; }
.light-mode .output-title { color: var(--text-secondary-light); }
.dark-mode .output-title { color: var(--text-secondary-dark); }

.controls { display: flex; align-items: center; gap: 8px; }
.controls button { background: none; border: none; font-size: 1.25rem; cursor: pointer; transition: var(--transition); }
.light-mode .controls button { color: var(--text-secondary-light); }
.dark-mode .controls button { color: var(--text-secondary-dark); }
.controls button:hover { color: var(--primary-color); }
.controls .separator { width: 1px; height: 20px; margin: 0 8px; }
.light-mode .controls .separator { background-color: var(--border-light); }
.dark-mode .controls .separator { background-color: var(--border-dark); }

.output-card { padding: 24px; border-radius: var(--border-radius); box-shadow: var(--shadow-strong); min-height: 100px; }
.light-mode .output-card { background-color: var(--card-bg-light); }
.dark-mode .output-card { background-color: var(--card-bg-dark); }
#kaithi-output { font-family: var(--font-kaithi); line-height: 1.8; word-break: break-all; }

.details-wrapper { margin-top: 24px; }
.details-title { font-size: 0.9rem; text-transform: uppercase; letter-spacing: 1px; margin-bottom: 8px; }
.light-mode .details-title { color: var(--text-secondary-light); }
.dark-mode .details-title { color: var(--text-secondary-dark); }
.details-card { padding: 16px; border-radius: var(--border-radius); }
.light-mode .details-card { background-color: #f1f3f5; }
.dark-mode .details-card { background-color: #2c2c2c; }
#conversion-details { font-family: monospace; font-size: 0.875rem; white-space: pre-wrap; word-break: break-all; }

/* About Section */
.language-toggle { display: flex; justify-content: center; margin-bottom: 32px; gap: 12px; background-color: var(--card-bg-light); padding: 6px; border-radius: 50px; width: fit-content; margin-left: auto; margin-right: auto; }
.light-mode .language-toggle { background-color: #f0f0f0; }
.dark-mode .language-toggle { background-color: var(--border-dark); }
.language-toggle button { padding: 8px 24px; border: none; border-radius: 50px; cursor: pointer; font-weight: 500; background-color: transparent; transition: var(--transition); }
.light-mode .language-toggle button { color: var(--text-secondary-light); }
.dark-mode .language-toggle button { color: var(--text-secondary-dark); }
.language-toggle button.active { background-color: var(--accent-color); color: white; box-shadow: 0 2px 4px rgba(0,0,0,0.1); }

.about-header { text-align: center; margin-bottom: 48px; }
.about-header h1 { color: var(--primary-color); font-size: 3rem; font-family: var(--font-kaithi); }
.about-header p { font-style: italic; font-size: 1.1rem; margin-top: 8px; }

.info-card { padding: 24px; border-radius: var(--border-radius); margin-bottom: 24px; border: 1px solid; box-shadow: var(--shadow); border-left: 4px solid var(--primary-color); }
.light-mode .info-card { background-color: var(--card-bg-light); border-color: var(--border-light); }
.dark-mode .info-card { background-color: var(--card-bg-dark); border-color: var(--border-dark); }
.info-card.danger { border-left-color: var(--danger-color); }
.info-card-header { display: flex; align-items: center; gap: 12px; margin-bottom: 16px; }
.info-card-header i { font-size: 1.5rem; color: var(--primary-color); }
.info-card.danger .info-card-header i, .info-card.danger .info-card-header h3 { color: var(--danger-color); }
.info-card-header h3 { font-size: 1.25rem; }
.info-card hr { border: none; height: 1px; margin-bottom: 16px; opacity: 0.5; }
.light-mode .info-card hr { background-color: var(--border-light); }
.dark-mode .info-card hr { background-color: var(--border-dark); }
.info-card p, .info-card a { line-height: 1.7; }
.info-card a { color: var(--primary-color); text-decoration: none; font-weight: 500; }
.info-card a:hover { text-decoration: underline; }

/* Footer */
.site-footer-bottom { text-align: center; padding: 24px; margin-top: 48px; font-size: 0.9rem; }
.light-mode .site-footer-bottom { color: var(--text-secondary-light); }
.dark-mode .site-footer-bottom { color: var(--text-secondary-dark); }

/* Utilities & Animations */
.hidden { display: none !important; }

[data-tooltip] { position: relative; }
[data-tooltip]::after { content: attr(data-tooltip); position: absolute; bottom: 125%; left: 50%; transform: translateX(-50%); background-color: #333; color: white; padding: 4px 8px; border-radius: 4px; font-size: 0.8rem; white-space: nowrap; opacity: 0; visibility: hidden; transition: opacity 0.2s, visibility 0.2s; }
[data-tooltip]:hover::after { opacity: 1; visibility: visible; }

.toast { position: fixed; bottom: 20px; left: 50%; transform: translateX(-50%); background-color: #333; color: white; padding: 12px 24px; border-radius: 8px; box-shadow: 0 4px 10px rgba(0,0,0,0.2); z-index: 1000; opacity: 0; visibility: hidden; transition: opacity 0.3s, visibility 0.3s, bottom 0.3s; }
.toast.show { opacity: 1; visibility: visible; bottom: 30px; }

@media (max-width: 600px) {
    .output-header { flex-direction: column; align-items: flex-start; gap: 16px; }
    .controls { width: 100%; justify-content: flex-end; }
}