{"id":160,"date":"2025-10-18T18:18:27","date_gmt":"2025-10-18T18:18:27","guid":{"rendered":"https:\/\/aman360.org\/?page_id=160"},"modified":"2025-10-25T09:05:16","modified_gmt":"2025-10-25T09:05:16","slug":"policy-impact-simulator","status":"publish","type":"page","link":"https:\/\/aman360.org\/ar\/tools\/policy-impact-simulator\/","title":{"rendered":"Policy Impact Simulator"},"content":{"rendered":"\n<!doctype html>\n<html lang=\"ar\" dir=\"rtl\">\n<head>\n<meta charset=\"utf-8\"\/>\n<meta name=\"description\" content=\"\u0645\u062d\u0627\u0643\u064a \u0623\u062b\u0631 \u0627\u0644\u0633\u064a\u0627\u0633\u0627\u062a \u0645\u0646 \u0645\u0646\u0635\u0629 AMAN360 \u064a\u062d\u0627\u0643\u064a \u062a\u0623\u062b\u064a\u0631 \u0627\u0644\u0633\u064a\u0627\u0633\u0627\u062a \u0627\u0644\u0639\u0627\u0645\u0629 \u0639\u0644\u0649 \u0645\u0624\u0634\u0631\u0627\u062a \u0627\u0644\u0645\u062e\u0627\u0637\u0631 \u0648\u0627\u0644\u062c\u0627\u0647\u0632\u064a\u0629 \u0641\u064a \u0627\u0644\u0623\u0631\u062f\u0646 \u0648\u0627\u0644\u062f\u0648\u0644 \u0627\u0644\u0639\u0631\u0628\u064a\u0629.\" \/>\n\n<meta name=\"viewport\" content=\"width=device-width,initial-scale=1\"\/>\n<title>Aman360 \u2022 Policy Impact Simulator<\/title>\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Tajawal:wght@400;600;800&#038;family=Inter:wght@400;600;800&#038;display=swap\" rel=\"stylesheet\">\n<section class=\"tool-description\">\n  <h1>\u0645\u062d\u0627\u0643\u064a \u0623\u062b\u0631 \u0627\u0644\u0633\u064a\u0627\u0633\u0627\u062a \u2013 \u0623\u062f\u0627\u0629 \u062a\u0641\u0627\u0639\u0644\u064a\u0629 \u0645\u0646 AMAN360<\/h1>\n  <p>\n    \u062a\u062a\u064a\u062d \u0647\u0630\u0647 \u0627\u0644\u0623\u062f\u0627\u0629 \u0644\u0644\u0645\u0633\u062a\u062e\u062f\u0645\u064a\u0646 \u062a\u062d\u0644\u064a\u0644 \u062a\u0623\u062b\u064a\u0631 \u0627\u0644\u0633\u064a\u0627\u0633\u0627\u062a \u0627\u0644\u0645\u062e\u062a\u0644\u0641\u0629 \u0639\u0644\u0649 \u0645\u0624\u0634\u0631\u0627\u062a \u0627\u0644\u0627\u0633\u062a\u062c\u0627\u0628\u0629 \u0648\u0627\u0644\u062c\u0627\u0647\u0632\u064a\u0629 \u0627\u0644\u0648\u0637\u0646\u064a\u0629\u060c\n    \u0648\u0630\u0644\u0643 \u0645\u0646 \u062e\u0644\u0627\u0644 \u0646\u0645\u0627\u0630\u062c \u0631\u064a\u0627\u0636\u064a\u0629 \u062a\u0641\u0627\u0639\u0644\u064a\u0629 \u0644\u0642\u064a\u0627\u0633 \u0623\u062b\u0631 \u0627\u0644\u062a\u0645\u0648\u064a\u0644\u060c \u0633\u0631\u0639\u0629 \u0627\u0644\u0627\u0633\u062a\u062c\u0627\u0628\u0629\u060c \u0648\u062c\u0648\u062f\u0629 \u0627\u0644\u0628\u064a\u0627\u0646\u0627\u062a.\n  <\/p>\n<\/section>\n<script type=\"application\/ld+json\">\n{\n  \"@context\": \"https:\/\/schema.org\",\n  \"@type\": \"SoftwareApplication\",\n  \"name\": \"Policy Impact Simulator\",\n  \"applicationCategory\": \"DataAnalysisTool\",\n  \"operatingSystem\": \"Web\",\n  \"url\": \"https:\/\/aman360.org\/ar\/tools\/policy-impact-simulator\/\",\n  \"description\": \"\u0645\u062d\u0627\u0643\u064a \u0623\u062b\u0631 \u0627\u0644\u0633\u064a\u0627\u0633\u0627\u062a \u0623\u062f\u0627\u0629 \u062a\u062d\u0644\u064a\u0644\u064a\u0629 \u062a\u0641\u0627\u0639\u0644\u064a\u0629 \u0644\u0642\u064a\u0627\u0633 \u062a\u0623\u062b\u064a\u0631 \u0627\u0644\u0633\u064a\u0627\u0633\u0627\u062a \u0627\u0644\u0639\u0627\u0645\u0629 \u0639\u0644\u0649 \u0627\u0644\u0645\u062e\u0627\u0637\u0631 \u0648\u0627\u0644\u0627\u0633\u062a\u062c\u0627\u0628\u0629.\",\n  \"creator\": {\n    \"@type\": \"Organization\",\n    \"name\": \"AMAN360\"\n  }\n}\n<\/script>\n\n<script src=\"https:\/\/cdn.jsdelivr.net\/npm\/chart.js@4.4.1\"><\/script>\n<script src=\"https:\/\/cdn.jsdelivr.net\/npm\/html2canvas@1.4.1\/dist\/html2canvas.min.js\"><\/script>\n<style>\n:root{--bg:#0b1224;--panel:#0f1b36;--ink:#e6f0ff;--mut:#9fb3d9;--brand:#22a3ff;--line:#21335d;--chip:#0a1531}\n*{box-sizing:border-box} body{margin:0;background:var(--bg);color:var(--ink);font-family:Tajawal,Inter,system-ui,Segoe UI,Roboto,Arial,sans-serif}\n.container{max-width:1200px;margin:36px auto;padding:0 16px}\n.header{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-bottom:12px}\n.h-title{font-weight:800;font-size:28px}\n.row{display:flex;gap:10px;flex-wrap:wrap}\n.btn{background:var(--brand);color:#00162b;border:none;padding:10px 14px;border-radius:10px;font-weight:700;cursor:pointer}\n.btn.alt{background:#1b2f59;color:var(--ink)}\n.lang,.input,select{background:#0a1330;border:1px solid var(--line);color:var(--ink);border-radius:10px;padding:8px 10px}\n.card{background:linear-gradient(180deg,#0f1b36,#0c1630);border:1px solid var(--line);border-radius:16px;padding:14px}\n.label{color:var(--mut);font-size:13px;margin-bottom:6px}\n.grid{display:grid;gap:14px} @media(min-width:980px){.grid-2{grid-template-columns:1.1fr .9fr}}\n.block{background:#0a1531;border:1px solid var(--line);border-radius:12px;padding:10px}\n.kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}\n.kpi{background:#0a1531;border:1px solid var(--line);border-radius:12px;padding:10px}\n.kpi h3{margin:0;font-size:22px}\n.sep{height:1px;background:var(--line);border:0;margin:10px 0}\n.small{font-size:12px;color:var(--mut)}\n.badge{display:inline-block;background:#12366a;color:#cfe4ff;border:1px solid #1f4c93;padding:3px 8px;border-radius:999px}\n.note{background:#0a1531;border:1px dashed var(--line);padding:10px;border-radius:12px}\n<\/style>\n<\/head>\n<body>\n<div class=\"container\" id=\"capture\">\n  <div class=\"header\">\n    <div class=\"h-title\" id=\"title\">\u0645\u062d\u0627\u0643\u064a \u0623\u062b\u0631 \u0627\u0644\u0633\u064a\u0627\u0633\u0627\u062a<\/div>\n    <div class=\"row\">\n      <select id=\"lang\" class=\"lang\">\n        <option value=\"ar\" selected>\u0627\u0644\u0639\u0631\u0628\u064a\u0629<\/option>\n        <option value=\"en\">English<\/option>\n      <\/select>\n      <button class=\"btn alt\" id=\"btnPng\">PNG<\/button>\n      <button class=\"btn alt\" id=\"btnCsv\">CSV<\/button>\n      <button class=\"btn\" id=\"btnRun\">\u062a\u0634\u063a\u064a\u0644 \u0627\u0644\u0645\u062d\u0627\u0643\u0627\u0629<\/button>\n    <\/div>\n  <\/div>\n\n  <div class=\"grid grid-2\">\n    <!-- Controls -->\n    <div class=\"card\">\n      <div class=\"row\">\n        <div>\n          <div class=\"label\" data-i=\"hazard\">\u0627\u0644\u0633\u064a\u0646\u0627\u0631\u064a\u0648<\/div>\n          <select id=\"hazard\" class=\"input\">\n            <option value=\"flood\">\u0641\u064a\u0636\u0627\u0646\u0627\u062a<\/option>\n            <option value=\"drought\">\u062c\u0641\u0627\u0641<\/option>\n            <option value=\"price\">\u0635\u062f\u0645\u0629 \u0623\u0633\u0639\u0627\u0631\/\u063a\u0630\u0627\u0621<\/option>\n          <\/select>\n        <\/div>\n        <div>\n          <div class=\"label\" data-i=\"baseline\">\u062e\u0637\u0631 \u0623\u0633\u0627\u0633\u064a (0\u2013100)<\/div>\n          <input id=\"baseline\" class=\"input\" type=\"number\" min=\"0\" max=\"100\" value=\"65\" style=\"width:110px\">\n        <\/div>\n        <div>\n          <div class=\"label\" data-i=\"target\">\u0647\u062f\u0641 \u0628\u0639\u062f \u0627\u0644\u0633\u064a\u0627\u0633\u0629 (0\u2013100)<\/div>\n          <input id=\"target\" class=\"input\" type=\"number\" min=\"0\" max=\"100\" value=\"45\" style=\"width:110px\">\n        <\/div>\n      <\/div>\n\n      <div class=\"block\">\n        <div class=\"label\" data-i=\"policies\">\u0631\u0627\u0641\u0639\u0627\u062a \u0627\u0644\u0633\u064a\u0627\u0633\u0629 (0\u2013100)<\/div>\n        <div class=\"row\">\n          <div>\n            <div class=\"label\" data-i=\"fund\">\u0627\u0644\u062a\u0645\u0648\u064a\u0644<\/div>\n            <input type=\"range\" id=\"fund\" min=\"0\" max=\"100\" value=\"55\" class=\"input\" style=\"width:280px\">\n          <\/div>\n          <div>\n            <div class=\"label\" data-i=\"speed\">\u0633\u0631\u0639\u0629 \u0627\u0644\u0627\u0633\u062a\u062c\u0627\u0628\u0629<\/div>\n            <input type=\"range\" id=\"speed\" min=\"0\" max=\"100\" value=\"60\" class=\"input\" style=\"width:280px\">\n          <\/div>\n        <\/div>\n        <div class=\"row\" style=\"margin-top:8px\">\n          <div>\n            <div class=\"label\" data-i=\"coverage\">\u0646\u0637\u0627\u0642 \u0627\u0644\u062a\u063a\u0637\u064a\u0629<\/div>\n            <input type=\"range\" id=\"coverage\" min=\"0\" max=\"100\" value=\"50\" class=\"input\" style=\"width:280px\">\n          <\/div>\n          <div>\n            <div class=\"label\" data-i=\"dataq\">\u062c\u0648\u062f\u0629 \u0627\u0644\u0628\u064a\u0627\u0646\u0627\u062a<\/div>\n            <input type=\"range\" id=\"dataq\" min=\"0\" max=\"100\" value=\"45\" class=\"input\" style=\"width:280px\">\n          <\/div>\n        <\/div>\n        <div class=\"small\" id=\"weightsNote\">Weights: funding 0.35, speed 0.25, coverage 0.25, data quality 0.15<\/div>\n      <\/div>\n\n      <div class=\"block\">\n        <div class=\"label\" data-i=\"presets\">\u0642\u0648\u0627\u0644\u0628 \u062c\u0627\u0647\u0632\u0629<\/div>\n        <div class=\"row\">\n          <button class=\"btn alt\" id=\"p1\">Flood Relief (Cash + WASH)<\/button>\n          <button class=\"btn alt\" id=\"p2\">Drought (Water + Livelihoods)<\/button>\n          <button class=\"btn alt\" id=\"p3\">Price Shock (Safety Nets)<\/button>\n        <\/div>\n      <\/div>\n\n      <div class=\"note small\" data-i=\"formula\">\n        \u064a\u062a\u0645 \u062d\u0633\u0627\u0628 \u0627\u0644\u062e\u0641\u0636 \u0627\u0644\u0645\u062a\u0648\u0642\u0639 \u0644\u0645\u0624\u0634\u0631 \u0627\u0644\u062e\u0637\u0631 \u0639\u0628\u0631 \u0645\u062c\u0645\u0648\u0639 \u0645\u0648\u0632\u0648\u0646 \u0644\u0639\u0646\u0627\u0635\u0631 \u0627\u0644\u0633\u064a\u0627\u0633\u0629 \u062b\u0645 \u0636\u0628\u0637\u0647 \u0628\u0645\u0639\u0627\u0645\u0644 \u0633\u064a\u0646\u0627\u0631\u064a\u0648 (Hazard Factor).\n      <\/div>\n    <\/div>\n\n    <!-- Results -->\n    <div class=\"card\">\n      <div class=\"kpis\">\n        <div class=\"kpi\"><div class=\"label\" data-i=\"risk0\">\u0627\u0644\u062e\u0637\u0631 \u0627\u0644\u0623\u0633\u0627\u0633\u064a<\/div><h3 id=\"kRisk0\">\u2014<\/h3><\/div>\n        <div class=\"kpi\"><div class=\"label\" data-i=\"risk1\">\u0627\u0644\u062e\u0637\u0631 \u0627\u0644\u0645\u062a\u0648\u0642\u0639<\/div><h3 id=\"kRisk1\">\u2014<\/h3><\/div>\n        <div class=\"kpi\"><div class=\"label\" data-i=\"ready\">\u0645\u0624\u0634\u0631 \u0627\u0644\u062c\u0627\u0647\u0632\u064a\u0629<\/div><h3 id=\"kReady\">\u2014<\/h3><\/div>\n      <\/div>\n      <hr class=\"sep\">\n      <canvas id=\"chart\" height=\"170\"><\/canvas>\n      <hr class=\"sep\">\n      <div class=\"small\" id=\"explain\"><\/div>\n    <\/div>\n  <\/div>\n<\/div>\n\n<script>\nconst I18N={\n  ar:{\n    title:\"\u0645\u062d\u0627\u0643\u064a \u0623\u062b\u0631 \u0627\u0644\u0633\u064a\u0627\u0633\u0627\u062a\", hazard:\"\u0627\u0644\u0633\u064a\u0646\u0627\u0631\u064a\u0648\", baseline:\"\u062e\u0637\u0631 \u0623\u0633\u0627\u0633\u064a (0\u2013100)\", target:\"\u0647\u062f\u0641 \u0628\u0639\u062f \u0627\u0644\u0633\u064a\u0627\u0633\u0629 (0\u2013100)\",\n    policies:\"\u0631\u0627\u0641\u0639\u0627\u062a \u0627\u0644\u0633\u064a\u0627\u0633\u0629 (0\u2013100)\", fund:\"\u0627\u0644\u062a\u0645\u0648\u064a\u0644\", speed:\"\u0633\u0631\u0639\u0629 \u0627\u0644\u0627\u0633\u062a\u062c\u0627\u0628\u0629\", coverage:\"\u0646\u0637\u0627\u0642 \u0627\u0644\u062a\u063a\u0637\u064a\u0629\", dataq:\"\u062c\u0648\u062f\u0629 \u0627\u0644\u0628\u064a\u0627\u0646\u0627\u062a\",\n    presets:\"\u0642\u0648\u0627\u0644\u0628 \u062c\u0627\u0647\u0632\u0629\", formula:\"\u064a\u062a\u0645 \u062d\u0633\u0627\u0628 \u0627\u0644\u062e\u0641\u0636 \u0627\u0644\u0645\u062a\u0648\u0642\u0639 \u0644\u0645\u0624\u0634\u0631 \u0627\u0644\u062e\u0637\u0631 \u0639\u0628\u0631 \u0645\u062c\u0645\u0648\u0639 \u0645\u0648\u0632\u0648\u0646 \u0644\u0639\u0646\u0627\u0635\u0631 \u0627\u0644\u0633\u064a\u0627\u0633\u0629 \u062b\u0645 \u0636\u0628\u0637\u0647 \u0628\u0645\u0639\u0627\u0645\u0644 \u0633\u064a\u0646\u0627\u0631\u064a\u0648 (Hazard Factor).\",\n    risk0:\"\u0627\u0644\u062e\u0637\u0631 \u0627\u0644\u0623\u0633\u0627\u0633\u064a\", risk1:\"\u0627\u0644\u062e\u0637\u0631 \u0627\u0644\u0645\u062a\u0648\u0642\u0639\", ready:\"\u0645\u0624\u0634\u0631 \u0627\u0644\u062c\u0627\u0647\u0632\u064a\u0629\",\n    run:\"\u062a\u0634\u063a\u064a\u0644 \u0627\u0644\u0645\u062d\u0627\u0643\u0627\u0629\", png:\"PNG\", csv:\"CSV\",\n    hmap:{flood:\"\u0641\u064a\u0636\u0627\u0646\u0627\u062a\", drought:\"\u062c\u0641\u0627\u0641\", price:\"\u0635\u062f\u0645\u0629 \u0623\u0633\u0639\u0627\u0631\/\u063a\u0630\u0627\u0621\"},\n    explain:(ctx)=>`${ctx.hname}: \u062e\u0641\u0636 \u0645\u062a\u0648\u0642\u0639 \u0628\u0645\u0642\u062f\u0627\u0631 ${ctx.drop} \u0646\u0642\u0637\u0629 (\u0645\u0646 ${ctx.base} \u0625\u0644\u0649 ${ctx.next}) \u0639\u0628\u0631 \u062a\u0645\u0648\u064a\u0644=${ctx.fund}%\u060c \u0633\u0631\u0639\u0629=${ctx.speed}%\u060c \u062a\u063a\u0637\u064a\u0629=${ctx.cov}%\u060c \u062c\u0648\u062f\u0629 \u0628\u064a\u0627\u0646\u0627\u062a=${ctx.dq}%\u060c \u0648\u0645\u0639\u0627\u0645\u0644 \u0633\u064a\u0646\u0627\u0631\u064a\u0648=${ctx.hf}.`\n  },\n  en:{\n    title:\"Policy Impact Simulator\", hazard:\"Scenario\", baseline:\"Baseline risk (0\u2013100)\", target:\"Post-policy target (0\u2013100)\",\n    policies:\"Policy levers (0\u2013100)\", fund:\"Funding\", speed:\"Response speed\", coverage:\"Coverage\", dataq:\"Data quality\",\n    presets:\"Presets\", formula:\"Expected risk reduction = weighted sum of policy levers adjusted by hazard factor.\",\n    risk0:\"Baseline risk\", risk1:\"Projected risk\", ready:\"Readiness index\",\n    run:\"Run simulation\", png:\"PNG\", csv:\"CSV\",\n    hmap:{flood:\"Flood\", drought:\"Drought\", price:\"Food\/price shock\"},\n    explain:(ctx)=>`${ctx.hname}: expected reduction of ${ctx.drop} points (from ${ctx.base} to ${ctx.next}) via funding=${ctx.fund}%, speed=${ctx.speed}%, coverage=${ctx.cov}%, data quality=${ctx.dq}%, hazard factor=${ctx.hf}.`\n  }\n};\n\nconst els={\n  lang:document.getElementById('lang'),\n  title:document.getElementById('title'),\n  hazard:document.getElementById('hazard'),\n  baseline:document.getElementById('baseline'),\n  target:document.getElementById('target'),\n  fund:document.getElementById('fund'),\n  speed:document.getElementById('speed'),\n  coverage:document.getElementById('coverage'),\n  dataq:document.getElementById('dataq'),\n  btnRun:document.getElementById('btnRun'),\n  btnPng:document.getElementById('btnPng'),\n  btnCsv:document.getElementById('btnCsv'),\n  kRisk0:document.getElementById('kRisk0'),\n  kRisk1:document.getElementById('kRisk1'),\n  kReady:document.getElementById('kReady'),\n  chart:document.getElementById('chart'),\n  explain:document.getElementById('explain')\n};\n\nfunction applyLang(){\n  const t=I18N[els.lang.value];\n  document.documentElement.lang=els.lang.value;\n  document.documentElement.dir=(els.lang.value==='ar')?'rtl':'ltr';\n  els.title.textContent=t.title;\n  document.querySelectorAll('[data-i]').forEach(e=>{ e.textContent=t[e.getAttribute('data-i')]; });\n  document.getElementById('p1').textContent = (els.lang.value==='ar')?'\u0625\u063a\u0627\u062b\u0629 \u0641\u064a\u0636\u0627\u0646\u0627\u062a (\u0646\u0642\u062f + WASH)':'Flood Relief (Cash + WASH)';\n  document.getElementById('p2').textContent = (els.lang.value==='ar')?'\u062c\u0641\u0627\u0641 (\u0645\u064a\u0627\u0647 + \u0633\u064f\u0628\u0644 \u0639\u064a\u0634)':'Drought (Water + Livelihoods)';\n  document.getElementById('p3').textContent = (els.lang.value==='ar')?'\u0635\u062f\u0645\u0629 \u0623\u0633\u0639\u0627\u0631 (\u0634\u0628\u0643\u0627\u062a \u0623\u0645\u0627\u0646)':'Price Shock (Safety Nets)';\n  document.getElementById('weightsNote').textContent = (els.lang.value==='ar')\n    ? '\u0627\u0644\u0623\u0648\u0632\u0627\u0646: \u062a\u0645\u0648\u064a\u0644 0.35\u060c \u0633\u0631\u0639\u0629 0.25\u060c \u062a\u063a\u0637\u064a\u0629 0.25\u060c \u062c\u0648\u062f\u0629 \u0628\u064a\u0627\u0646\u0627\u062a 0.15'\n    : 'Weights: funding 0.35, speed 0.25, coverage 0.25, data quality 0.15';\n  run();\n}\n\nconst W={fund:.35, speed:.25, coverage:.25, dataq:.15}; \/\/ \u0645\u062c\u0645\u0648\u0639 = 1\nconst HZ={flood:.95, drought:.85, price:.9}; \/\/ \u0645\u0639\u0627\u0645\u0644 \u0633\u064a\u0646\u0627\u0631\u064a\u0648 (\u0645\u0631\u0648\u0646\u0629 \u0627\u0644\u062a\u062e\u0641\u064a\u0636)\nlet chart;\n\nfunction simulate(){\n  const base = clamp(+els.baseline.value,0,100);\n  const tgt  = clamp(+els.target.value,0,100);\n  const f=+els.fund.value, s=+els.speed.value, c=+els.coverage.value, d=+els.dataq.value;\n  const hazard=els.hazard.value; const hf=HZ[hazard]||0.9;\n  const policyPower = (W.fund*f + W.speed*s + W.coverage*c + W.dataq*d)\/100; \/\/ 0..1\n  const potentialDrop = Math.round( policyPower * 40 * hf ); \/\/ \u0633\u0642\u0641 \u0627\u0644\u062a\u062e\u0641\u064a\u0636 40 \u0646\u0642\u0637\u0629 \u0645\u0636\u0631\u0648\u0628 \u0628\u0645\u0639\u0627\u0645\u0644 \u0633\u064a\u0646\u0627\u0631\u064a\u0648\n  const targetDrop = Math.max(0, base - tgt);\n  const actualDrop = clamp(Math.min(potentialDrop, targetDrop>0?targetDrop:potentialDrop), 0, base);\n  const next = clamp(base - actualDrop, 0, 100);\n  const readiness = clamp(Math.round( (100 - next) * 0.6 + (d) * 0.4 ), 0, 100); \/\/ \u062c\u0627\u0647\u0632\u064a\u0629 = 60% \u0645\u0646 (\u0627\u0646\u062e\u0641\u0627\u0636 \u0627\u0644\u062e\u0637\u0631)\u060c +40% \u0645\u0646 \u062c\u0648\u062f\u0629 \u0627\u0644\u0628\u064a\u0627\u0646\u0627\u062a\n  return {base,next,drop:actualDrop,readiness, f,s,c,d, hf, hazard};\n}\n\nfunction run(){\n  const r = simulate();\n  els.kRisk0.textContent=r.base;\n  els.kRisk1.textContent=r.next;\n  els.kReady.textContent=r.readiness;\n\n  const t=I18N[els.lang.value];\n  const hname=t.hmap[els.hazard.value];\n  els.explain.textContent=t.explain({hname,drop:r.drop,base:r.base,next:r.next,fund:r.f,speed:r.s,cov:r.c,dq:r.d,hf:r.hf});\n\n  const ctx=els.chart.getContext('2d');\n  if(chart) chart.destroy();\n  chart = new Chart(ctx,{\n    type:'bar',\n    data:{\n      labels:[t.risk0,t.risk1,t.ready],\n      datasets:[{data:[r.base,r.next,r.readiness], backgroundColor:['#ef4444','#60a5fa','#22c55e']}]\n    },\n    options:{plugins:{legend:{display:false}}, scales:{y:{grid:{color:'#1d2e57'}, ticks:{color:'#9fb3d9'}}, x:{grid:{display:false}, ticks:{color:'#9fb3d9'}}}}\n  });\n\n  return r;\n}\n\nfunction clamp(v,min,max){return Math.max(min,Math.min(max,v));}\n\n\/\/ presets\ndocument.getElementById('p1').onclick=()=>{els.hazard.value='flood'; els.baseline.value=70; els.target.value=45; els.fund.value=70; els.speed.value=65; els.coverage.value=60; els.dataq.value=50; run();}\ndocument.getElementById('p2').onclick=()=>{els.hazard.value='drought'; els.baseline.value=60; els.target.value=40; els.fund.value=55; els.speed.value=50; els.coverage.value=65; els.dataq.value=55; run();}\ndocument.getElementById('p3').onclick=()=>{els.hazard.value='price'; els.baseline.value=68; els.target.value=48; els.fund.value=60; els.speed.value=70; els.coverage.value=70; els.dataq.value=60; run();}\n\n\/\/ export PNG\ndocument.getElementById('btnPng').onclick=()=>{\n  html2canvas(document.getElementById('capture'),{backgroundColor:'#0b1224',scale:2}).then(canvas=>{\n    const a=document.createElement('a'); a.href=canvas.toDataURL('image\/png'); a.download='aman360-policy-simulator.png'; a.click();\n  });\n};\n\/\/ export CSV\ndocument.getElementById('btnCsv').onclick=()=>{\n  const t=I18N[els.lang.value]; const r=simulate();\n  const rows=[['scenario','baseline','target','next','drop','readiness','funding','speed','coverage','data_quality','hazard_factor'],\n              [els.hazard.value,r.base,+els.target.value,r.next,r.drop,r.readiness,+els.fund.value,+els.speed.value,+els.coverage.value,+els.dataq.value,r.hf]];\n  const csv = rows.map(arr=>arr.join(',')).join('\\n');\n  const blob = new Blob([csv],{type:'text\/csv;charset=utf-8'});\n  const url=URL.createObjectURL(blob); const a=document.createElement('a'); a.href=url; a.download='aman360-policy-sim.csv'; a.click(); URL.revokeObjectURL(url);\n};\n\/\/ run + lang\nels.btnRun.onclick=run;\nels.lang.onchange=applyLang;\n\/\/ reactive sliders\n['baseline','target','fund','speed','coverage','dataq','hazard'].forEach(id=>{\n  document.getElementById(id).addEventListener('input', run);\n});\napplyLang(); run();\n<\/script>\n<\/body>\n<\/html>\n","protected":false},"excerpt":{"rendered":"<p>Aman360 \u2022 Policy Impact Simulator \u0645\u062d\u0627\u0643\u064a \u0623\u062b\u0631 \u0627\u0644\u0633\u064a\u0627\u0633\u0627\u062a \u2013 \u0623\u062f\u0627\u0629 \u062a\u0641\u0627\u0639\u0644\u064a\u0629 \u0645\u0646 AMAN360 \u062a\u062a\u064a\u062d \u0647\u0630\u0647 \u0627\u0644\u0623\u062f\u0627\u0629 \u0644\u0644\u0645\u0633\u062a\u062e\u062f\u0645\u064a\u0646 \u062a\u062d\u0644\u064a\u0644 \u062a\u0623\u062b\u064a\u0631 \u0627\u0644\u0633\u064a\u0627\u0633\u0627\u062a \u0627\u0644\u0645\u062e\u062a\u0644\u0641\u0629 \u0639\u0644\u0649 \u0645\u0624\u0634\u0631\u0627\u062a \u0627\u0644\u0627\u0633\u062a\u062c\u0627\u0628\u0629 \u0648\u0627\u0644\u062c\u0627\u0647\u0632\u064a\u0629 \u0627\u0644\u0648\u0637\u0646\u064a\u0629\u060c \u0648\u0630\u0644\u0643 \u0645\u0646 \u062e\u0644\u0627\u0644 \u0646\u0645\u0627\u0630\u062c \u0631\u064a\u0627\u0636\u064a\u0629 \u062a\u0641\u0627\u0639\u0644\u064a\u0629 \u0644\u0642\u064a\u0627\u0633 \u0623\u062b\u0631 \u0627\u0644\u062a\u0645\u0648\u064a\u0644\u060c \u0633\u0631\u0639\u0629 \u0627\u0644\u0627\u0633\u062a\u062c\u0627\u0628\u0629\u060c \u0648\u062c\u0648\u062f\u0629 \u0627\u0644\u0628\u064a\u0627\u0646\u0627\u062a. \u0645\u062d\u0627\u0643\u064a \u0623\u062b\u0631 \u0627\u0644\u0633\u064a\u0627\u0633\u0627\u062a \u0627\u0644\u0639\u0631\u0628\u064a\u0629English PNG CSV \u062a\u0634\u063a\u064a\u0644 \u0627\u0644\u0645\u062d\u0627\u0643\u0627\u0629 \u0627\u0644\u0633\u064a\u0646\u0627\u0631\u064a\u0648 \u0641\u064a\u0636\u0627\u0646\u0627\u062a\u062c\u0641\u0627\u0641\u0635\u062f\u0645\u0629 \u0623\u0633\u0639\u0627\u0631\/\u063a\u0630\u0627\u0621 \u062e\u0637\u0631 \u0623\u0633\u0627\u0633\u064a (0\u2013100) \u0647\u062f\u0641 \u0628\u0639\u062f [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":148,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"page-with-title","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"class_list":["post-160","page","type-page","status-publish","hentry"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/aman360.org\/ar\/wp-json\/wp\/v2\/pages\/160","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/aman360.org\/ar\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/aman360.org\/ar\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/aman360.org\/ar\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/aman360.org\/ar\/wp-json\/wp\/v2\/comments?post=160"}],"version-history":[{"count":5,"href":"https:\/\/aman360.org\/ar\/wp-json\/wp\/v2\/pages\/160\/revisions"}],"predecessor-version":[{"id":186,"href":"https:\/\/aman360.org\/ar\/wp-json\/wp\/v2\/pages\/160\/revisions\/186"}],"up":[{"embeddable":true,"href":"https:\/\/aman360.org\/ar\/wp-json\/wp\/v2\/pages\/148"}],"wp:attachment":[{"href":"https:\/\/aman360.org\/ar\/wp-json\/wp\/v2\/media?parent=160"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}