/* ==========================================================================
   Rajasthan Current Affairs — Theme Stylesheet
   Minimal neutral palette + single indigo accent. Light/dark mode.
   ========================================================================== */

:root{
        --rca-bg: 0 0% 100%;
        --rca-surface: 240 20% 98%;
        --rca-border: 220 14% 90%;
        --rca-text: 222 20% 12%;
        --rca-text-muted: 220 9% 42%;
        --rca-accent: 243 75% 59%;
        --rca-accent-hover: 243 75% 52%;
        --rca-accent-fg: 0 0% 100%;
        --rca-success: 152 60% 40%;
        --rca-error: 4 74% 52%;
        --rca-warning: 38 92% 50%;

        --font-body: 'Satoshi', 'Noto Sans Devanagari', 'Segoe UI', system-ui, -apple-system, sans-serif;

        --radius-sm: 6px;
        --radius-md: 10px;
        --radius-lg: 16px;
}

.dark{
        --rca-bg: 224 24% 8%;
        --rca-surface: 224 20% 12%;
        --rca-border: 224 14% 20%;
        --rca-text: 210 20% 96%;
        --rca-text-muted: 216 12% 65%;
        --rca-accent: 243 82% 68%;
        --rca-accent-hover: 243 82% 75%;
        --rca-accent-fg: 224 24% 8%;
}

*, *::before, *::after{ box-sizing: border-box; }

html{ scroll-behavior: smooth; }

body{
        margin: 0;
        font-family: var(--font-body);
        background: hsl(var(--rca-bg));
        color: hsl(var(--rca-text));
        line-height: 1.6;
        -webkit-font-smoothing: antialiased;
        transition: background 0.25s ease, color 0.25s ease;
}

a{ color: inherit; text-decoration: none; }
img{ max-width: 100%; display: block; }
button{ font-family: inherit; cursor: pointer; }

/* ---------- Language toggle: show only the active language ---------- */
body.lang-hi .lang-en-text,
body.lang-hi .lang-en-opt{ display: none; }
body.lang-en .lang-hi-text,
body.lang-en .lang-hi-opt{ display: none; }

/* Special case: rca_text() helper wraps spans inline; ensure they display inline where needed */
.lang-hi-text, .lang-en-text{ display: inline; }

/* ---------- Layout helpers ---------- */
.rca-container{
        max-width: 1160px;
        margin: 0 auto;
        padding: 0 24px;
}

.rca-section-title{
        font-size: 1.375rem;
        font-weight: 700;
        margin: 0 0 20px;
        letter-spacing: -0.01em;
}

.rca-section-head{
        display: flex;
        align-items: baseline;
        justify-content: space-between;
        flex-wrap: wrap;
        gap: 8px;
        margin-bottom: 20px;
}

.rca-link{
        color: hsl(var(--rca-accent));
        font-weight: 600;
        font-size: 0.9rem;
}

/* ---------- Header ---------- */
.rca-header{
        position: sticky;
        top: 0;
        z-index: 50;
        background: hsl(var(--rca-bg) / 0.92);
        backdrop-filter: blur(10px);
        border-bottom: 1px solid hsl(var(--rca-border));
}

.rca-header-inner{
        display: flex;
        align-items: center;
        gap: 20px;
        padding: 14px 24px;
}

.rca-logo{
        display: flex;
        align-items: center;
        gap: 10px;
        font-weight: 800;
        font-size: 1.05rem;
        color: hsl(var(--rca-text));
        white-space: nowrap;
}
.rca-logo svg{ color: hsl(var(--rca-accent)); flex-shrink: 0; }

.rca-nav{ flex: 1; display: flex; justify-content: center; }
.rca-menu{
        list-style: none;
        display: flex;
        gap: 4px;
        margin: 0;
        padding: 0;
}
.rca-menu li a{
        display: block;
        padding: 8px 14px;
        border-radius: var(--radius-sm);
        font-size: 0.92rem;
        font-weight: 500;
        color: hsl(var(--rca-text-muted));
        transition: background 0.15s, color 0.15s;
        white-space: nowrap;
}
.rca-menu li a:hover{
        background: hsl(var(--rca-surface));
        color: hsl(var(--rca-text));
}

.rca-header-actions{
        display: flex;
        align-items: center;
        gap: 10px;
}

.rca-nav-toggle{
        display: none;
        background: none;
        border: none;
        flex-direction: column;
        gap: 4px;
        padding: 6px;
}
.rca-nav-toggle span{
        width: 20px; height: 2px;
        background: hsl(var(--rca-text));
        border-radius: 2px;
}

.rca-lang-toggle, .rca-theme-toggle{
        background: hsl(var(--rca-surface));
        border: 1px solid hsl(var(--rca-border));
        border-radius: 999px;
        width: 38px; height: 34px;
        display: flex; align-items: center; justify-content: center;
        color: hsl(var(--rca-text));
}
.rca-lang-toggle{ width: auto; padding: 0 4px; }
.rca-lang-pill{ display: flex; align-items: center; font-size: 0.72rem; font-weight: 700; gap: 2px; }
.rca-lang-opt{ padding: 4px 8px; border-radius: 999px; }
body.lang-hi .lang-hi-opt{ background: hsl(var(--rca-accent)); color: hsl(var(--rca-accent-fg)); display:inline-block; }
body.lang-en .lang-en-opt{ background: hsl(var(--rca-accent)); color: hsl(var(--rca-accent-fg)); display:inline-block; }
body.lang-hi .lang-en-opt, body.lang-en .lang-hi-opt{ color: hsl(var(--rca-text-muted)); }

.icon-moon{ display: none; }
.dark .icon-sun{ display: none; }
.dark .icon-moon{ display: block; }

.rca-user-chip{
        display: flex; align-items: center; gap: 8px;
        padding: 4px 10px 4px 4px;
        border-radius: 999px;
        background: hsl(var(--rca-surface));
        border: 1px solid hsl(var(--rca-border));
        font-size: 0.85rem;
        font-weight: 600;
}
.rca-avatar{
        width: 26px; height: 26px; border-radius: 50%;
        background: hsl(var(--rca-accent));
        color: hsl(var(--rca-accent-fg));
        display: flex; align-items: center; justify-content: center;
        font-size: 0.8rem; font-weight: 800;
        text-transform: uppercase;
}

/* ---------- Buttons ---------- */
.rca-btn{
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 6px;
        padding: 9px 18px;
        border-radius: var(--radius-sm);
        font-weight: 600;
        font-size: 0.9rem;
        border: 1px solid transparent;
        white-space: nowrap;
        transition: background 0.15s, border-color 0.15s, color 0.15s, transform 0.1s;
}
.rca-btn:active{ transform: scale(0.98); }
.rca-btn-primary{
        background: hsl(var(--rca-accent));
        color: hsl(var(--rca-accent-fg));
}
.rca-btn-primary:hover{ background: hsl(var(--rca-accent-hover)); }
.rca-btn-outline{
        border-color: hsl(var(--rca-border));
        color: hsl(var(--rca-text));
}
.rca-btn-outline:hover{ background: hsl(var(--rca-surface)); }
.rca-btn-ghost{
        color: hsl(var(--rca-text-muted));
}
.rca-btn-ghost:hover{ color: hsl(var(--rca-text)); }
.rca-btn-lg{ padding: 13px 26px; font-size: 1rem; }
.rca-btn-block{ width: 100%; }
.rca-btn:disabled{ opacity: 0.6; cursor: not-allowed; }

/* ---------- Hero ---------- */
.rca-hero{
        padding: 72px 0 56px;
        text-align: center;
        background: linear-gradient(180deg, hsl(var(--rca-surface)) 0%, hsl(var(--rca-bg)) 100%);
        border-bottom: 1px solid hsl(var(--rca-border));
}
.rca-eyebrow{
        display: inline-block;
        font-size: 0.78rem;
        font-weight: 700;
        letter-spacing: 0.04em;
        text-transform: uppercase;
        color: hsl(var(--rca-accent));
        margin-bottom: 14px;
}
.rca-hero-title{
        font-size: clamp(1.75rem, 4vw, 2.75rem);
        font-weight: 800;
        letter-spacing: -0.02em;
        margin: 0 0 16px;
        max-width: 760px;
        margin-inline: auto;
}
.rca-hero-sub{
        font-size: 1.05rem;
        color: hsl(var(--rca-text-muted));
        max-width: 620px;
        margin: 0 auto 30px;
}
.rca-hero-cta{ display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }

/* ---------- Welcome banner ---------- */
.rca-welcome-banner{
        padding: 28px 0;
        border-bottom: 1px solid hsl(var(--rca-border));
        background: hsl(var(--rca-accent) / 0.05);
}
.rca-welcome-content{
        text-align: center;
        font-size: 1.02rem;
        color: hsl(var(--rca-text-muted));
        line-height: 1.7;
        max-width: 800px;
        margin: 0 auto;
}

/* ---------- Explore grid ---------- */
.rca-explore{ padding: 56px 0; }
.rca-explore-grid{
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 16px;
}
.rca-explore-card{
        padding: 24px;
        border: 1px solid hsl(var(--rca-border));
        border-radius: var(--radius-lg);
        background: hsl(var(--rca-surface));
        transition: transform 0.15s, border-color 0.15s;
}
.rca-explore-card:hover{
        transform: translateY(-3px);
        border-color: hsl(var(--rca-accent));
}
.rca-explore-icon{ display: flex; align-items: center; justify-content: center; width: 48px; height: 48px; border-radius: 12px; background: hsl(var(--rca-accent) / 0.1); color: hsl(var(--rca-accent)); margin-bottom: 14px; }
.rca-explore-icon svg{ width: 28px; height: 28px; }
.rca-explore-card h3{ margin: 0 0 6px; font-size: 1.02rem; }
.rca-explore-card p{ margin: 0; font-size: 0.88rem; color: hsl(var(--rca-text-muted)); }

/* ---------- Cards / grid ---------- */
.rca-latest{ padding: 40px 0 72px; }
.rca-listing{ padding: 40px 0 72px; }
.rca-grid{
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 18px;
}
.rca-card{
        display: flex;
        flex-direction: column;
        padding: 20px;
        border: 1px solid hsl(var(--rca-border));
        border-radius: var(--radius-lg);
        background: hsl(var(--rca-bg));
        transition: transform 0.15s, box-shadow 0.15s, border-color 0.15s;
}
.rca-card:hover{
        transform: translateY(-2px);
        border-color: hsl(var(--rca-accent));
        box-shadow: 0 8px 24px -12px hsl(var(--rca-text) / 0.15);
}
.rca-card-top{
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin-bottom: 12px;
}
.rca-badge{
        font-size: 0.7rem;
        font-weight: 700;
        padding: 4px 10px;
        border-radius: 999px;
        background: hsl(var(--rca-accent) / 0.12);
        color: hsl(var(--rca-accent));
        white-space: nowrap;
}
.rca-badge-weekly{ background: hsl(200 80% 50% / 0.12); color: hsl(200 80% 42%); }
.rca-badge-monthly{ background: hsl(280 65% 55% / 0.12); color: hsl(280 65% 48%); }
.rca-badge-fasttrack{ background: hsl(30 90% 50% / 0.14); color: hsl(30 90% 40%); }
.rca-badge-general{ background: hsl(160 50% 42% / 0.14); color: hsl(160 50% 34%); }

.rca-card-date, .rca-quiz-count{ font-size: 0.76rem; color: hsl(var(--rca-text-muted)); }
.rca-card-title{ font-size: 1.02rem; font-weight: 700; margin: 0 0 8px; line-height: 1.4; }
.rca-card-summary{ font-size: 0.88rem; color: hsl(var(--rca-text-muted)); margin: 0 0 14px; flex: 1; }
.rca-card-cta{ font-size: 0.85rem; font-weight: 700; color: hsl(var(--rca-accent)); margin-top: auto; }

.rca-empty{ color: hsl(var(--rca-text-muted)); padding: 40px 0; text-align: center; }
.rca-notice{
        background: hsl(var(--rca-warning) / 0.12);
        border: 1px solid hsl(var(--rca-warning) / 0.35);
        color: hsl(var(--rca-text));
        padding: 12px 16px;
        border-radius: var(--radius-sm);
        margin-bottom: 24px;
        font-size: 0.9rem;
}
.rca-notice a{ color: hsl(var(--rca-accent)); font-weight: 700; }

/* ---------- Pagination ---------- */
.rca-pagination{ display: flex; justify-content: center; gap: 6px; margin-top: 36px; flex-wrap: wrap; }
.rca-pagination .page-numbers{
        padding: 8px 13px;
        border-radius: var(--radius-sm);
        border: 1px solid hsl(var(--rca-border));
        font-size: 0.85rem;
        font-weight: 600;
}
.rca-pagination .page-numbers.current{
        background: hsl(var(--rca-accent));
        color: hsl(var(--rca-accent-fg));
        border-color: hsl(var(--rca-accent));
}

/* ---------- Page hero (category / static pages) ---------- */
.rca-page-hero{
        padding: 48px 0 32px;
        border-bottom: 1px solid hsl(var(--rca-border));
        background: hsl(var(--rca-surface));
}
.rca-page-title{ font-size: clamp(1.5rem, 3vw, 2rem); font-weight: 800; margin: 0 0 10px; }
.rca-page-sub{ color: hsl(var(--rca-text-muted)); margin: 0; max-width: 640px; }
.rca-404{ text-align: center; }
.rca-404 .rca-btn{ margin-top: 16px; }

/* ---------- Single post ---------- */
.rca-single{ padding: 40px 0 80px; }
.rca-single-inner{ max-width: 760px; }
.rca-back-link{ display: inline-block; margin-bottom: 20px; color: hsl(var(--rca-text-muted)); font-weight: 600; font-size: 0.88rem; }
.rca-single-meta{ display: flex; align-items: center; gap: 12px; margin-bottom: 14px; }
.rca-single-title{ font-size: clamp(1.5rem, 3vw, 2.1rem); font-weight: 800; line-height: 1.3; margin: 0 0 24px; }
.rca-single-content{ font-size: 1.02rem; }
.rca-single-content p{ margin: 0 0 16px; }
.rca-tags{ display: flex; gap: 8px; flex-wrap: wrap; margin-top: 30px; padding-top: 20px; border-top: 1px solid hsl(var(--rca-border)); }
.rca-tag{ font-size: 0.8rem; color: hsl(var(--rca-text-muted)); background: hsl(var(--rca-surface)); padding: 4px 10px; border-radius: 999px; }

/* ---------- Auth pages ---------- */
.rca-auth-page{ padding: 60px 0 100px; }
.rca-auth-box{ max-width: 420px; }
.rca-form{ display: flex; flex-direction: column; gap: 6px; margin-top: 24px; }
.rca-form label{ font-size: 0.85rem; font-weight: 600; margin-top: 10px; }
.rca-form input{
        padding: 11px 14px;
        border-radius: var(--radius-sm);
        border: 1px solid hsl(var(--rca-border));
        background: hsl(var(--rca-bg));
        color: hsl(var(--rca-text));
        font-size: 0.95rem;
}
.rca-form input:focus{ outline: none; border-color: hsl(var(--rca-accent)); box-shadow: 0 0 0 3px hsl(var(--rca-accent) / 0.15); }
.rca-form button{ margin-top: 18px; }
.rca-auth-switch{ margin-top: 20px; font-size: 0.88rem; color: hsl(var(--rca-text-muted)); }
.rca-auth-switch a{ color: hsl(var(--rca-accent)); font-weight: 700; }
.rca-alert{ padding: 10px 14px; border-radius: var(--radius-sm); font-size: 0.88rem; margin-top: 16px; }
.rca-alert-error{ background: hsl(var(--rca-error) / 0.1); color: hsl(var(--rca-error)); border: 1px solid hsl(var(--rca-error) / 0.3); }

/* ---------- My Progress ---------- */
.rca-stats-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-bottom: 44px; }
.rca-stat-card{
        padding: 22px;
        text-align: center;
        border: 1px solid hsl(var(--rca-border));
        border-radius: var(--radius-lg);
        background: hsl(var(--rca-surface));
}
.rca-stat-value{ display: block; font-size: 1.8rem; font-weight: 800; color: hsl(var(--rca-accent)); }
.rca-stat-label{ font-size: 0.82rem; color: hsl(var(--rca-text-muted)); }

.rca-history-table-wrap{ overflow-x: auto; border: 1px solid hsl(var(--rca-border)); border-radius: var(--radius-md); }
.rca-history-table{ width: 100%; border-collapse: collapse; font-size: 0.9rem; }
.rca-history-table th, .rca-history-table td{ padding: 12px 16px; text-align: left; border-bottom: 1px solid hsl(var(--rca-border)); }
.rca-history-table th{ font-size: 0.78rem; text-transform: uppercase; letter-spacing: 0.03em; color: hsl(var(--rca-text-muted)); }
.rca-history-table tr:last-child td{ border-bottom: none; }
.rca-pct-badge{ font-weight: 700; padding: 3px 10px; border-radius: 999px; font-size: 0.82rem; }
.rca-pct-good{ background: hsl(var(--rca-success) / 0.14); color: hsl(var(--rca-success)); }
.rca-pct-mid{ background: hsl(var(--rca-warning) / 0.16); color: hsl(30 90% 38%); }
.rca-pct-low{ background: hsl(var(--rca-error) / 0.12); color: hsl(var(--rca-error)); }

/* ---------- Quiz ---------- */
.rca-quiz-page{ padding: 40px 0 80px; }
.rca-quiz-container{ max-width: 720px; }
.rca-quiz-header{ margin-bottom: 28px; }
.rca-quiz-header .rca-badge{ margin-bottom: 12px; }

.rca-quiz-progress{ display: flex; align-items: center; gap: 12px; margin-bottom: 24px; font-size: 0.85rem; color: hsl(var(--rca-text-muted)); font-weight: 600; }
.rca-quiz-bar{ flex: 1; height: 6px; border-radius: 999px; background: hsl(var(--rca-border)); overflow: hidden; }
.rca-quiz-bar-fill{ height: 100%; background: hsl(var(--rca-accent)); transition: width 0.3s ease; }

.rca-quiz-question-card{
        padding: 28px;
        border: 1px solid hsl(var(--rca-border));
        border-radius: var(--radius-lg);
        background: hsl(var(--rca-surface));
}
.rca-quiz-question-text{ font-size: 1.1rem; font-weight: 700; margin: 0 0 20px; line-height: 1.5; }
.rca-quiz-options{ display: flex; flex-direction: column; gap: 10px; }
.rca-quiz-option{
        display: flex;
        align-items: center;
        gap: 12px;
        padding: 13px 16px;
        border: 1.5px solid hsl(var(--rca-border));
        border-radius: var(--radius-md);
        background: hsl(var(--rca-bg));
        text-align: left;
        font-size: 0.95rem;
        transition: border-color 0.15s, background 0.15s;
}
.rca-quiz-option:not(:disabled):hover{ border-color: hsl(var(--rca-accent)); }
.rca-quiz-option-letter{
        width: 26px; height: 26px; border-radius: 50%;
        background: hsl(var(--rca-border));
        color: hsl(var(--rca-text-muted));
        display: flex; align-items: center; justify-content: center;
        font-size: 0.78rem; font-weight: 700; flex-shrink: 0;
}
.rca-quiz-option.is-correct{ border-color: hsl(var(--rca-success)); background: hsl(var(--rca-success) / 0.08); }
.rca-quiz-option.is-correct .rca-quiz-option-letter{ background: hsl(var(--rca-success)); color: white; }
.rca-quiz-option.is-wrong{ border-color: hsl(var(--rca-error)); background: hsl(var(--rca-error) / 0.08); }
.rca-quiz-option.is-wrong .rca-quiz-option-letter{ background: hsl(var(--rca-error)); color: white; }
.rca-quiz-option:disabled{ cursor: default; }

.rca-quiz-explanation{
        margin-top: 18px;
        padding: 14px 16px;
        border-radius: var(--radius-md);
        background: hsl(var(--rca-accent) / 0.08);
        border: 1px solid hsl(var(--rca-accent) / 0.25);
        font-size: 0.88rem;
}
.rca-quiz-explanation strong{ color: hsl(var(--rca-accent)); }

.rca-quiz-footer{ display: flex; justify-content: flex-end; margin-top: 22px; }

.rca-quiz-result{ text-align: center; padding: 30px 20px; }
.rca-quiz-result-score{ font-size: 3rem; font-weight: 800; color: hsl(var(--rca-accent)); margin: 10px 0; }
.rca-quiz-result-actions{ display: flex; gap: 12px; justify-content: center; margin-top: 26px; flex-wrap: wrap; }

/* ---------- Footer ---------- */
.rca-footer{
        border-top: 1px solid hsl(var(--rca-border));
        padding: 44px 0;
        background: hsl(var(--rca-surface));
        margin-top: 40px;
}
.rca-footer-inner{ text-align: center; }
.rca-footer-brand{ display: flex; align-items: center; justify-content: center; gap: 8px; font-weight: 800; margin-bottom: 12px; }
.rca-footer-brand svg{ color: hsl(var(--rca-accent)); }
.rca-footer-tagline{ color: hsl(var(--rca-text-muted)); font-size: 0.88rem; max-width: 480px; margin: 0 auto 20px; }
.rca-footer-links{ display: flex; justify-content: center; gap: 20px; flex-wrap: wrap; margin-bottom: 20px; font-size: 0.88rem; font-weight: 600; }
.rca-social-links{ display: flex; justify-content: center; gap: 16px; margin-bottom: 20px; }
.rca-social-links a{ display: flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 50%; background: hsl(var(--rca-border)); color: hsl(var(--rca-text-muted)); transition: background 0.15s, color 0.15s, transform 0.15s; }
.rca-social-links a:hover{ background: hsl(var(--rca-accent)); color: hsl(var(--rca-accent-fg)); transform: translateY(-2px); }
.rca-footer-copy{ font-size: 0.78rem; color: hsl(var(--rca-text-muted)); margin: 0; }

/* ---------- Responsive ---------- */
@media (max-width: 900px){
        .rca-explore-grid{ grid-template-columns: repeat(2, 1fr); }
        .rca-grid{ grid-template-columns: repeat(2, 1fr); }
        .rca-stats-grid{ grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 720px){
        .rca-nav-toggle{ display: flex; }
        .rca-nav{
                display: none;
                position: absolute;
                top: 100%; left: 0; right: 0;
                background: hsl(var(--rca-bg));
                border-bottom: 1px solid hsl(var(--rca-border));
                padding: 10px 24px 16px;
        }
        .rca-nav.is-open{ display: block; }
        .rca-menu{ flex-direction: column; }
        .rca-header-actions .rca-user-name{ display: none; }
        .rca-explore-grid{ grid-template-columns: 1fr; }
        .rca-grid{ grid-template-columns: 1fr; }
        .rca-stats-grid{ grid-template-columns: 1fr; }
        .rca-hero{ padding: 52px 0 40px; }
        .rca-history-table th, .rca-history-table td{ padding: 10px 12px; font-size: 0.82rem; }
}

/* ---------- Auth page: keep it in English, fit the viewport on mobile ---------- */
/* The PHP layer forces body.lang-en on login/register pages, so all the
 * bilingual spans (header, footer) collapse to English here. */
body.rca-auth{ background: hsl(var(--rca-surface)); }
body.rca-auth .rca-main{ min-height: calc(100vh - 64px); display: flex; align-items: center; }
body.rca-auth .rca-auth-page{ width: 100%; padding: 32px 0; }
body.rca-auth .rca-auth-box{
        margin: 0 auto;
        background: hsl(var(--rca-bg));
        border: 1px solid hsl(var(--rca-border));
        border-radius: var(--radius-lg);
        padding: 28px 24px;
        box-shadow: 0 4px 24px -12px hsl(var(--rca-text) / 0.1);
}
body.rca-auth .rca-page-title{ font-size: 1.5rem; }
body.rca-auth .rca-form{ margin-top: 18px; }

@media (max-width: 720px){
        /* Compact the header so it doesn't overflow on a 320px screen. */
        .rca-header-inner{ padding: 8px 12px; gap: 8px; }
        .rca-logo-text{ font-size: 0.82rem; max-width: 130px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
        .rca-header-actions{ gap: 4px; }
        .rca-lang-toggle, .rca-theme-toggle{ width: 32px; height: 30px; }
        .rca-lang-pill{ font-size: 0.68rem; }
        .rca-lang-opt{ padding: 3px 6px; }
        .rca-user-chip{ padding: 2px 8px 2px 2px; }
        .rca-avatar{ width: 22px; height: 22px; font-size: 0.7rem; }
        .rca-btn{ padding: 8px 12px; font-size: 0.82rem; }

        /* Auth page on mobile: fit the form inside the viewport so the user
         * does not have to scroll. */
        body.rca-auth .rca-main{ min-height: calc(100vh - 56px); align-items: flex-start; }
        body.rca-auth .rca-auth-page{ padding: 16px 0 24px; }
        body.rca-auth .rca-auth-box{ max-width: 100%; padding: 20px 16px; border-radius: var(--radius-md); }
        body.rca-auth .rca-page-title{ font-size: 1.25rem; margin-bottom: 6px; }
        body.rca-auth .rca-page-sub{ font-size: 0.85rem; }
        body.rca-auth .rca-form{ gap: 4px; margin-top: 14px; }
        body.rca-auth .rca-form label{ font-size: 0.78rem; margin-top: 8px; }
        body.rca-auth .rca-form input{ padding: 10px 12px; font-size: 0.95rem; }
        body.rca-auth .rca-form button{ margin-top: 14px; padding: 12px 18px; }
        body.rca-auth .rca-alert{ padding: 8px 12px; font-size: 0.82rem; margin-top: 12px; }
        body.rca-auth .rca-auth-switch{ font-size: 0.82rem; margin-top: 14px; }
}

@media (max-width: 380px){
        /* Very narrow phones: hide the brand text, keep the icon. */
        .rca-logo-text{ display: none; }
        .rca-header-actions .rca-btn{ padding: 6px 10px; font-size: 0.78rem; }
}
