/* ==========================================================================
   GLOBAL RESET & BASE
   ========================================================================== */
* { margin: 0; padding: 0; box-sizing: border-box; }

body {
    background-color: var(--bg-main);
    color: var(--ink);
    font-family: var(--font-sans);
    font-size: 14px;
    line-height: 1.5;
    overflow-x: hidden;
    min-height: 100vh;
}

h1, h2, h3, h4, .brand-title {
    font-family: var(--font-sans);
    font-weight: 600;
    letter-spacing: -0.01em;
    text-wrap: balance;
}

button, input, select, textarea { font-family: inherit; font-size: inherit; color: inherit; }
:focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; }
.mono { font-family: var(--font-mono); }
.num { font-variant-numeric: tabular-nums; }

::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: var(--line-strong); border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: var(--ink-3); }

.hide { display: none !important; }
.text-muted { color: var(--ink-3); }

/* Surface panel (formerly glassmorphism; class name kept for existing markup) */
.glass-panel {
    background: var(--surface);
    border: 1px solid var(--line);
    box-shadow: var(--shadow-sm);
}

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(8px); }
    to { opacity: 1; transform: translateY(0); }
}


/* ==========================================================================
   BRAND LOGO (shared by the auth screen and the app header)
   ========================================================================== */
/* Official logo artwork (public/brand, extracted from the brand guidelines).
   Light theme uses "electric blue and deep blue on white"; dark theme uses
   "electric blue and white on deep blue". Never recolour or distort it. */
.brand-logo { display: block; width: auto; }
.logo-for-dark { display: none; }
:root[data-theme="dark"] .logo-for-light { display: none; }
:root[data-theme="dark"] .logo-for-dark { display: block; }
.brand-logo-wrap { display: flex; justify-content: center; margin-bottom: 18px; font-size: 0; }
