/* Lightweight context so V1/V2/V3 can read live Tweak values. */

const TWEAK_DEFAULTS = /*EDITMODE-BEGIN*/{
  "accent": "#006DFA",
  "price": 39,
  "productName": "Interview Companion",
  "heroMascot": "questioning",
  "demoSpeed": 1
}/*EDITMODE-END*/;

const TweakCtx = React.createContext(TWEAK_DEFAULTS);
const useTweak = () => React.useContext(TweakCtx);

// Hex utility — darken/lighten via simple rgb math
function shadeHex(hex, amt) {
  const h = hex.replace("#", "");
  const r = parseInt(h.slice(0, 2), 16);
  const g = parseInt(h.slice(2, 4), 16);
  const b = parseInt(h.slice(4, 6), 16);
  const adj = (v) => Math.max(0, Math.min(255, Math.round(v + amt * 255))).toString(16).padStart(2, "0");
  return `#${adj(r)}${adj(g)}${adj(b)}`;
}

// Apply tweak values as CSS variables on the document root
function applyTweakCss(t) {
  const root = document.documentElement;
  root.style.setProperty("--z-blue-600", t.accent);
  root.style.setProperty("--z-blue-700", shadeHex(t.accent, -0.08));
  root.style.setProperty("--z-blue-500", shadeHex(t.accent, 0.04));
  root.style.setProperty("--z-blue-text", shadeHex(t.accent, -0.05));
}

window.TWEAK_DEFAULTS = TWEAK_DEFAULTS;
window.TweakCtx = TweakCtx;
window.useTweak = useTweak;
window.applyTweakCss = applyTweakCss;
window.shadeHex = shadeHex;
