/**
 * Tam Le global colour bridge.
 * Feature styles consume the legacy variables below while their values come
 * from the central palette managed by Tam Le Core.
 */
:root,
html[data-tam-theme="dark"] {
    --bg: var(--tam-color-bg);
    --bg-2: var(--tam-color-bg-deep);
    --card: var(--tam-color-surface);
    --card-deep: var(--tam-color-surface-raised);
    --gold: var(--tam-color-accent-strong);
    --gold-2: var(--tam-color-accent);
    --gold-light: color-mix(in srgb, var(--tam-color-accent) 72%, white);
    --white: var(--tam-color-text);
    --text-2: var(--tam-color-text-soft);
    --muted: var(--tam-color-muted);
    --line: color-mix(in srgb, var(--tam-color-accent) 16%, transparent);
    --line-strong: color-mix(in srgb, var(--tam-color-accent) 34%, transparent);
}

html[data-tam-theme="light"] {
    --bg: var(--tam-color-bg);
    --bg-2: var(--tam-color-bg-deep);
    --card: var(--tam-color-surface);
    --card-deep: var(--tam-color-surface-raised);
    --gold: var(--tam-color-accent);
    --gold-2: var(--tam-color-accent-strong);
    --gold-light: var(--tam-color-accent-strong);
    --white: var(--tam-color-text);
    --text-2: var(--tam-color-text-soft);
    --muted: var(--tam-color-muted);
    --line: color-mix(in srgb, var(--tam-color-accent) 16%, transparent);
    --line-strong: color-mix(in srgb, var(--tam-color-accent) 36%, transparent);
}

html[data-tam-admin-theme] {
    --tam-admin-bg: var(--tam-color-bg);
    --tam-admin-bg-deep: var(--tam-color-bg-deep);
    --tam-admin-surface: var(--tam-color-surface);
    --tam-admin-surface-raised: var(--tam-color-surface-raised);
    --tam-admin-surface-soft: color-mix(in srgb, var(--tam-color-surface-raised) 82%, var(--tam-color-accent));
    --tam-admin-gold: var(--tam-color-accent);
    --tam-admin-gold-strong: var(--tam-color-accent-strong);
    --tam-admin-gold-hover: color-mix(in srgb, var(--tam-color-accent) 72%, var(--tam-color-text));
    --tam-admin-text: var(--tam-color-text);
    --tam-admin-text-soft: var(--tam-color-text-soft);
    --tam-admin-muted: var(--tam-color-muted);
    --tam-admin-border: color-mix(in srgb, var(--tam-color-accent) 42%, transparent);
    --tam-admin-border-soft: color-mix(in srgb, var(--tam-color-accent) 18%, transparent);
    --tam-admin-focus: 0 0 0 2px var(--tam-color-bg-deep), 0 0 0 4px var(--tam-color-accent);
}

/* Common surfaces are deliberately token-driven so custom colours also reach
   feature screens which previously carried their own hard-coded background. */
html[data-tam-theme] body { background-color: var(--tam-color-bg); color: var(--tam-color-text-soft); }
html[data-tam-theme] :where(h1,h2,h3,h4,h5,h6) { color: var(--tam-color-text); }
html[data-tam-theme] :where(a,.text-link) { --tam-link-color: var(--tam-color-accent); }

body.wp-admin .tam-color-settings { max-width: 1180px; margin-top: 24px; }
body.wp-admin .tam-color-settings__hero { display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:20px;padding:30px 32px;border:1px solid var(--tam-admin-border);border-radius:18px;background:linear-gradient(135deg,var(--tam-admin-bg-deep),var(--tam-admin-surface-raised));box-shadow:var(--tam-admin-shadow); }
body.wp-admin .tam-color-settings__hero span { color:var(--tam-admin-gold);font-size:11px;font-weight:750;letter-spacing:.14em; }
body.wp-admin .tam-color-settings__hero h1 { margin:5px 0 7px;color:var(--tam-admin-text); }
body.wp-admin .tam-color-settings__hero p { margin:0;color:var(--tam-admin-text-soft); }
body.wp-admin .tam-color-settings__grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px; }
body.wp-admin .tam-color-settings__panel { padding:24px;border:1px solid var(--tam-admin-border-soft);border-radius:16px;background:var(--tam-admin-surface);box-shadow:var(--tam-admin-shadow); }
body.wp-admin .tam-color-settings__preview { display:grid;gap:7px;min-height:130px;padding:22px;border-radius:13px;background:var(--preview-bg);color:var(--preview-soft);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--preview-accent) 30%,transparent); }
body.wp-admin .tam-color-settings__preview span { color:var(--preview-accent);font-size:11px;font-weight:700;text-transform:uppercase; }
body.wp-admin .tam-color-settings__preview strong { color:var(--preview-text);font-size:28px; }
body.wp-admin .tam-color-settings__preview p { margin:0;color:var(--preview-soft); }
body.wp-admin .tam-color-settings__preview i { display:block;width:72px;height:5px;margin-top:8px;border-radius:9px;background:var(--preview-accent); }
body.wp-admin .tam-color-settings__fields { display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0; }
body.wp-admin .tam-color-settings__fields label { display:grid;grid-template-columns:38px 1fr;align-items:center;gap:4px 10px;padding:10px;border:1px solid var(--tam-admin-border-soft);border-radius:10px;background:var(--tam-admin-bg-deep); }
body.wp-admin .tam-color-settings__fields label > span { grid-column:1/-1;font-weight:600; }
body.wp-admin .tam-color-settings__fields input[type="color"] { width:38px;height:32px;padding:2px;cursor:pointer; }
body.wp-admin .tam-color-settings__fields code { color:var(--tam-admin-muted);background:transparent; }
@media(max-width:900px){body.wp-admin .tam-color-settings__grid{grid-template-columns:1fr}}
@media(max-width:600px){body.wp-admin .tam-color-settings__hero{align-items:flex-start;flex-direction:column;padding:22px}body.wp-admin .tam-color-settings__fields{grid-template-columns:1fr}}
