/* Public-site palette and typography from the supplied redesign. */
:root,
html.dark {
    color-scheme: dark;
    --tpz-cream: #faf6f0;
    --tpz-cream-ink: #1c1814;
    --tpz-bg: #0d110f;
    --tpz-surface: #151a17;
    --tpz-surface-2: #151a17;
    --tpz-border: #232a26;
    --tpz-green: #3fbf7a;
    --tpz-green-dark: #1e7a47;
    --tpz-green-dim: rgba(63, 191, 122, 0.12);
    --tpz-green-glow: rgba(63, 191, 122, 0.28);
    --tpz-green-border: rgba(63, 191, 122, 0.35);
    --tpz-text: #faf6f0;
    --tpz-muted: #8d9891;
    --tpz-subtle: #657169;
    --tpz-body: rgba(250, 246, 240, 0.82);
    --tpz-headline-grad: linear-gradient(135deg, #faf6f0 0%, #c9bdb0 100%);
    --tpz-btn-bg: #151a17;
    --tpz-hero-bg: linear-gradient(180deg, var(--tpz-surface) 0%, transparent 100%);
    --tpz-mesh: var(--tpz-bg);
    --tpz-grid-line: rgba(250, 246, 240, 0.015);
    --tpz-input-bg: var(--tpz-surface-2);
    --tpz-input-color: var(--tpz-text);
    --tpz-placeholder: var(--tpz-muted);
    --nav-mobile-bg: linear-gradient(145deg, rgba(21, 26, 23, 0.98), rgba(13, 17, 15, 0.98));
    --nav-modal-bg: linear-gradient(145deg, var(--tpz-surface-2), var(--tpz-bg));
    --nav-dropdown-bg: var(--tpz-surface-2);
    --t-bg: var(--tpz-bg);
    --t-card: var(--tpz-surface-2);
    --t-raised: var(--tpz-surface-2);
    --t-border: var(--tpz-border);
    --t-text: var(--tpz-text);
    --t-muted: var(--tpz-muted);
    --t-green: var(--tpz-green);
    --t-green-d: var(--tpz-green-dark);
    --t-green-dim: var(--tpz-green-dim);
    --t-green-glow: var(--tpz-green-glow);
    --bg: #0d110f;
    --soft: #151a17;
    --ink: #faf6f0;
    --muted: #a8b3ac;
    --line: #232a26;
    --green: #3fbf7a;
    --lime: var(--tpz-green);
    --cream: #faf6f0;
    --cream-ink: #1c1814;
}

html:not(.dark) {
    --tpz-cream: #faf6f0;
    --tpz-cream-ink: #1c1814;
    --tpz-bg: #f0e8de;
    --tpz-surface: #faf6f0;
    --tpz-surface-2: #efe6db;
    --tpz-border: #e4d9cc;
    --tpz-green: #1e7a47;
    --tpz-green-dark: #155e35;
    --tpz-green-dim: rgba(30, 122, 71, 0.08);
    --tpz-green-glow: rgba(30, 122, 71, 0.18);
    --tpz-green-border: rgba(30, 122, 71, 0.3);
    --tpz-text: #1c1814;
    --tpz-muted: #534b43;
    --tpz-subtle: #c9bdb0;
    --tpz-body: rgba(28, 24, 20, 0.85);
    --tpz-btn-bg: #faf6f0;
    --tpz-mesh: #f0e8de;
    --tpz-grid-line: rgba(60, 40, 20, 0.05);
    --tpz-input-bg: #faf6f0;
    --tpz-input-color: #1c1814;
    --tpz-placeholder: #9a8d80;
    --nav-mobile-bg: rgba(250, 246, 240, 0.98);
    --nav-modal-bg: linear-gradient(145deg, #faf6f0, #f0e8de);
    --nav-dropdown-bg: #faf6f0;
    --t-bg: #f0e8de;
    --t-card: #faf6f0;
    --t-raised: #efe6db;
    --t-border: #e4d9cc;
    --t-text: #1c1814;
    --t-muted: #534b43;
    --t-green: #1e7a47;
    --t-green-d: #155e35;
    --t-green-dim: rgba(30, 122, 71, 0.08);
    --t-green-glow: rgba(30, 122, 71, 0.18);
    --bg: #f0e8de;
    --soft: #faf6f0;
    --ink: #1c1814;
    --muted: #534b43;
    --line: #e4d9cc;
    --green: #1e7a47;
    --lime: var(--tpz-green);
    --cream: #faf6f0;
    --cream-ink: #1c1814;
}

body {
    color-scheme: dark;
}

html:not([data-game-page]) body {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
}

html:not(.dark) body {
    color-scheme: light;
}

html:not([data-game-page]) body,
html:not([data-game-page]) body * {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
}

input,
select,
textarea,
button {
    color-scheme: inherit;
}

.settings-card,
.tp-section,
.tpzn-item,
.tpzn-push-card {
    border-color: var(--tpz-border) !important;
    background-color: var(--tpz-surface) !important;
}

.settings-input,
.tpzn-tabs,
.tpzn-tab,
.tp-act-item {
    border-color: var(--tpz-border) !important;
    background-color: var(--tpz-surface-2) !important;
    color: var(--tpz-text) !important;
}

.settings-input::placeholder {
    color: var(--tpz-muted) !important;
}
