<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:media="http://search.yahoo.com/mrss/" xmlns:content="http://purl.org/rss/1.0/modules/content/" version="2.0">
  <channel>
    <title>Business Recorder - Markets - Exchange</title>
    <link>https://www.brecorder.com/</link>
    <description>Business Recorder</description>
    <language>en-Us</language>
    <copyright>Copyright 2026</copyright>
    <pubDate>Wed, 30 Sep 2026 17:40:44 +0500</pubDate>
    <lastBuildDate>Wed, 30 Sep 2026 17:40:44 +0500</lastBuildDate>
    <ttl>60</ttl>
    <item xmlns:default="http://purl.org/rss/1.0/modules/content/">
      <title>Rupee records gain against US dollar</title>
      <link>https://www.brecorder.com/news/40441989/intra-day-update-rupee-records-gain-against-us-dollar</link>
      <description>&lt;iframe id="raw-html-6abcecf9dffa8" class="raw-html-embed" style="width: 100%; min-height: 50px; max-height: 30000px; border: none; overflow: hidden;" scrolling="no" srcdoc="&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html&amp;gt;
&amp;lt;head&amp;gt;
    &amp;lt;style&amp;gt;
        body { margin: 0; padding: 0; font-family: system-ui, -apple-system, sans-serif; overflow-wrap: anywhere; }
    &amp;lt;/style&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
    
&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html lang=&amp;quot;en&amp;quot;&amp;gt;
&amp;lt;head&amp;gt;
    &amp;lt;meta charset=&amp;quot;UTF-8&amp;quot;&amp;gt;
    &amp;lt;meta name=&amp;quot;viewport&amp;quot; content=&amp;quot;width=device-width, initial-scale=1.0&amp;quot;&amp;gt;
    &amp;lt;title&amp;gt;PKR vs USD Exchange Rate Chart&amp;lt;/title&amp;gt;
    &amp;lt;!-- Chart.js for interactive rendering --&amp;gt;
    &amp;lt;script src=&amp;quot;https://cdn.jsdelivr.net/npm/chart.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;
    
    &amp;lt;style&amp;gt;
        @import url(&amp;#039;https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght=400;500;600;700&amp;amp;display=swap&amp;#039;);

        #pkr-chart-embed {
            font-family: &amp;#039;Plus Jakarta Sans&amp;#039;, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, sans-serif;
            max-width: 1000px;
            width: 100%;
            margin: 24px auto;
            background-color: #ffffff;
            border: 1px solid #e2e8f0;
            border-radius: 20px;
            padding: 24px;
            box-shadow: 0 10px 25px -5px rgba(15, 23, 42, 0.05), 0 8px 10px -6px rgba(15, 23, 42, 0.05);
            color: #0f172a;
            box-sizing: border-box;
        }

        #pkr-chart-embed * { box-sizing: border-box; margin: 0; padding: 0; }

        #pkr-chart-embed .chart-header {
            display: flex;
            flex-direction: column;
            gap: 20px;
            margin-bottom: 20px;
            width: 100%;
        }

        #pkr-chart-embed .top-row {
            display: flex;
            flex-direction: row;
            justify-content: space-between;
            align-items: flex-start;
            gap: 20px;
        }

        #pkr-chart-embed .calculator-area {
            display: flex;
            flex-direction: column;
            gap: 8px;
            align-items: flex-start;
        }

        #pkr-chart-embed .main-title {
            font-size: 22px;
            font-weight: 700;
            color: #0f172a;
            letter-spacing: -0.025em;
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            gap: 10px;
        }

        #pkr-chart-embed .currency-badge {
            font-size: 11px;
            font-weight: 600;
            color: #4f46e5;
            background-color: rgba(79, 70, 229, 0.08);
            padding: 3px 10px;
            border-radius: 9999px;
            border: 1px solid rgba(79, 70, 229, 0.15);
            text-transform: uppercase;
        }

        #pkr-chart-embed .calculator-title {
            font-size: 10px;
            font-weight: 700;
            color: #64748b;
            text-transform: uppercase;
            letter-spacing: 0.05em;
        }

        #pkr-chart-embed .converter {
            display: flex;
            align-items: center;
            background: #f8fafc;
            border: 1px solid #e2e8f0;
            border-radius: 12px;
            padding: 4px;
            gap: 6px;
        }

        #pkr-chart-embed .converter-group {
            display: flex;
            align-items: center;
            background: #ffffff;
            border-radius: 8px;
            padding: 6px 10px;
            box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
            border: 1px solid #e2e8f0;
        }

        #pkr-chart-embed .converter-input {
            border: none;
            outline: none;
            width: 90px;
            font-family: inherit;
            font-weight: 700;
            color: #0f172a;
            font-size: 14px;
            text-align: right;
            background: transparent;
        }

        #pkr-chart-embed .converter-input.pkr-field { width: 120px; }

        #pkr-chart-embed .converter-label {
            font-size: 11px;
            font-weight: 700;
            color: #64748b;
            margin-left: 6px;
        }

        #pkr-chart-embed .equals-sign { color: #94a3b8; font-weight: 600; font-size: 16px; }

        #pkr-chart-embed .rate-badge-container {
            display: flex;
            flex-direction: column;
            align-items: flex-end;
            gap: 6px;
        }

        #pkr-chart-embed .rate-label-sub { text-align: right; }
        #pkr-chart-embed .rate-label-sub span:first-child { display: block; font-size: 9px; text-transform: uppercase; font-weight: 700; color: #64748b; }
        #pkr-chart-embed .rate-label-sub span:last-child { display: block; font-size: 12px; color: #334155; font-weight: 600; }

        #pkr-chart-embed .rate-badge {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            background: linear-gradient(135deg, #4f46e5, #3b82f6);
            color: #ffffff;
            font-weight: 700;
            font-size: 14px;
            padding: 8px 14px;
            border-radius: 12px;
            box-shadow: 0 8px 16px -3px rgba(79, 70, 229, 0.25);
        }

        #pkr-chart-embed .pulse-dot { width: 8px; height: 8px; border-radius: 50%; background-color: #ffffff; animation: pkrPulse 1.5s infinite; }

        @keyframes pkrPulse {
            0% { transform: scale(0.95); opacity: 0.6; }
            50% { transform: scale(1.15); opacity: 1; }
            100% { transform: scale(0.95); opacity: 0.6; }
        }

        #pkr-chart-embed .toolbar {
            display: flex;
            justify-content: space-between;
            align-items: center;
            flex-wrap: wrap;
            gap: 12px;
            margin-bottom: 16px;
            padding-bottom: 12px;
            border-bottom: 1px solid #f1f5f9;
        }

        #pkr-chart-embed .timeframe-selector {
            display: flex;
            gap: 4px;
            background: #f1f5f9;
            padding: 3px;
            border-radius: 10px;
        }

        #pkr-chart-embed .tf-btn {
            border: none;
            background: transparent;
            font-family: inherit;
            font-size: 12px;
            font-weight: 600;
            color: #64748b;
            padding: 5px 12px;
            border-radius: 7px;
            cursor: pointer;
            transition: all 0.2s ease;
        }

        #pkr-chart-embed .tf-btn.active {
            background: #ffffff;
            color: #4f46e5;
            box-shadow: 0 1px 3px rgba(0,0,0,0.1);
        }

        #pkr-chart-embed .stats-row {
            display: flex;
            gap: 16px;
            flex-wrap: wrap;
        }

        #pkr-chart-embed .stat-item {
            font-size: 12px;
            color: #64748b;
        }

        #pkr-chart-embed .stat-item strong {
            color: #0f172a;
            font-weight: 700;
        }

        #pkr-chart-embed .chart-canvas-container { position: relative; width: 100%; height: 380px; }

        @media (max-width: 768px) {
            #pkr-chart-embed .chart-canvas-container { height: 300px; }
            #pkr-chart-embed .top-row { flex-direction: column; align-items: flex-start; }
            #pkr-chart-embed .rate-badge-container { align-items: flex-start; }
            #pkr-chart-embed .rate-label-sub { text-align: left; }
            #pkr-chart-embed .toolbar { flex-direction: column; align-items: flex-start; }
        }
    &amp;lt;/style&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
    &amp;lt;div id=&amp;quot;pkr-chart-embed&amp;quot;&amp;gt;
        &amp;lt;div class=&amp;quot;chart-header&amp;quot;&amp;gt;
            &amp;lt;h1 class=&amp;quot;main-title&amp;quot;&amp;gt;
                &amp;lt;span&amp;gt;PKR vs USD Exchange Rate&amp;lt;/span&amp;gt;
                &amp;lt;span class=&amp;quot;currency-badge&amp;quot;&amp;gt;USD / PKR&amp;lt;/span&amp;gt;
            &amp;lt;/h1&amp;gt;

            &amp;lt;div class=&amp;quot;top-row&amp;quot;&amp;gt;
                &amp;lt;div class=&amp;quot;calculator-area&amp;quot;&amp;gt;
                    &amp;lt;span class=&amp;quot;calculator-title&amp;quot;&amp;gt;Calculator&amp;lt;/span&amp;gt;
                    &amp;lt;div class=&amp;quot;converter&amp;quot;&amp;gt;
                        &amp;lt;div class=&amp;quot;converter-group&amp;quot;&amp;gt;
                            &amp;lt;input type=&amp;quot;text&amp;quot; inputmode=&amp;quot;decimal&amp;quot; id=&amp;quot;usdInput&amp;quot; class=&amp;quot;converter-input&amp;quot; value=&amp;quot;1&amp;quot;&amp;gt;
                            &amp;lt;span class=&amp;quot;converter-label&amp;quot;&amp;gt;USD&amp;lt;/span&amp;gt;
                        &amp;lt;/div&amp;gt;
                        &amp;lt;span class=&amp;quot;equals-sign&amp;quot;&amp;gt;=&amp;lt;/span&amp;gt;
                        &amp;lt;div class=&amp;quot;converter-group&amp;quot;&amp;gt;
                            &amp;lt;input type=&amp;quot;text&amp;quot; inputmode=&amp;quot;decimal&amp;quot; id=&amp;quot;pkrInput&amp;quot; class=&amp;quot;converter-input pkr-field&amp;quot; value=&amp;quot;&amp;quot;&amp;gt;
                            &amp;lt;span class=&amp;quot;converter-label&amp;quot;&amp;gt;PKR&amp;lt;/span&amp;gt;
                        &amp;lt;/div&amp;gt;
                    &amp;lt;/div&amp;gt;
                &amp;lt;/div&amp;gt;

                &amp;lt;div class=&amp;quot;rate-badge-container&amp;quot;&amp;gt;
                    &amp;lt;div class=&amp;quot;rate-label-sub&amp;quot;&amp;gt;
                        &amp;lt;span&amp;gt;Latest Closing&amp;lt;/span&amp;gt;
                        &amp;lt;span id=&amp;quot;latestDateLabel&amp;quot;&amp;gt;30-Sep-26&amp;lt;/span&amp;gt;
                    &amp;lt;/div&amp;gt;
                    &amp;lt;div class=&amp;quot;rate-badge&amp;quot;&amp;gt;
                        &amp;lt;span class=&amp;quot;pulse-dot&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;
                        &amp;lt;span id=&amp;quot;latestBadgeRate&amp;quot;&amp;gt;277.11 PKR&amp;lt;/span&amp;gt;
                    &amp;lt;/div&amp;gt;
                &amp;lt;/div&amp;gt;
            &amp;lt;/div&amp;gt;
        &amp;lt;/div&amp;gt;

        &amp;lt;div class=&amp;quot;toolbar&amp;quot;&amp;gt;
            &amp;lt;div class=&amp;quot;timeframe-selector&amp;quot;&amp;gt;
                &amp;lt;button class=&amp;quot;tf-btn&amp;quot; data-range=&amp;quot;30&amp;quot;&amp;gt;1M&amp;lt;/button&amp;gt;
                &amp;lt;button class=&amp;quot;tf-btn&amp;quot; data-range=&amp;quot;90&amp;quot;&amp;gt;3M&amp;lt;/button&amp;gt;
                &amp;lt;button class=&amp;quot;tf-btn&amp;quot; data-range=&amp;quot;180&amp;quot;&amp;gt;6M&amp;lt;/button&amp;gt;
                &amp;lt;button class=&amp;quot;tf-btn&amp;quot; data-range=&amp;quot;365&amp;quot;&amp;gt;1Y&amp;lt;/button&amp;gt;
                &amp;lt;button class=&amp;quot;tf-btn active&amp;quot; data-range=&amp;quot;all&amp;quot;&amp;gt;ALL&amp;lt;/button&amp;gt;
            &amp;lt;/div&amp;gt;

            &amp;lt;div class=&amp;quot;stats-row&amp;quot;&amp;gt;
                &amp;lt;span class=&amp;quot;stat-item&amp;quot;&amp;gt;High: &amp;lt;strong id=&amp;quot;statHigh&amp;quot;&amp;gt;--&amp;lt;/strong&amp;gt;&amp;lt;/span&amp;gt;
                &amp;lt;span class=&amp;quot;stat-item&amp;quot;&amp;gt;Low: &amp;lt;strong id=&amp;quot;statLow&amp;quot;&amp;gt;--&amp;lt;/strong&amp;gt;&amp;lt;/span&amp;gt;
                &amp;lt;span class=&amp;quot;stat-item&amp;quot;&amp;gt;Avg: &amp;lt;strong id=&amp;quot;statAvg&amp;quot;&amp;gt;--&amp;lt;/strong&amp;gt;&amp;lt;/span&amp;gt;
                &amp;lt;span class=&amp;quot;stat-item&amp;quot;&amp;gt;Change: &amp;lt;strong id=&amp;quot;statChange&amp;quot;&amp;gt;--&amp;lt;/strong&amp;gt;&amp;lt;/span&amp;gt;
            &amp;lt;/div&amp;gt;
        &amp;lt;/div&amp;gt;

        &amp;lt;div class=&amp;quot;chart-canvas-container&amp;quot;&amp;gt;
            &amp;lt;canvas id=&amp;quot;closingRatesChart&amp;quot;&amp;gt;&amp;lt;/canvas&amp;gt;
        &amp;lt;/div&amp;gt;
    &amp;lt;/div&amp;gt;

    &amp;lt;script&amp;gt;
        (function() {
            // Full historical closing rate dataset with 30-Sep-26 appended
            const rawLabels = [&amp;quot;04-Mar-25&amp;quot;, &amp;quot;05-Mar-25&amp;quot;, &amp;quot;06-Mar-25&amp;quot;, &amp;quot;07-Mar-25&amp;quot;, &amp;quot;10-Mar-25&amp;quot;, &amp;quot;11-Mar-25&amp;quot;, &amp;quot;12-Mar-25&amp;quot;, &amp;quot;13-Mar-25&amp;quot;, &amp;quot;14-Mar-25&amp;quot;, &amp;quot;17-Mar-25&amp;quot;, &amp;quot;18-Mar-25&amp;quot;, &amp;quot;19-Mar-25&amp;quot;, &amp;quot;20-Mar-25&amp;quot;, &amp;quot;21-Mar-25&amp;quot;, &amp;quot;24-Mar-25&amp;quot;, &amp;quot;25-Mar-25&amp;quot;, &amp;quot;26-Mar-25&amp;quot;, &amp;quot;27-Mar-25&amp;quot;, &amp;quot;28-Mar-25&amp;quot;, &amp;quot;03-Apr-25&amp;quot;, &amp;quot;04-Apr-25&amp;quot;, &amp;quot;07-Apr-25&amp;quot;, &amp;quot;08-Apr-25&amp;quot;, &amp;quot;09-Apr-25&amp;quot;, &amp;quot;10-Apr-25&amp;quot;, &amp;quot;11-Apr-25&amp;quot;, &amp;quot;14-Apr-25&amp;quot;, &amp;quot;15-Apr-25&amp;quot;, &amp;quot;16-Apr-25&amp;quot;, &amp;quot;17-Apr-25&amp;quot;, &amp;quot;18-Apr-25&amp;quot;, &amp;quot;21-Apr-25&amp;quot;, &amp;quot;22-Apr-25&amp;quot;, &amp;quot;23-Apr-25&amp;quot;, &amp;quot;24-Apr-25&amp;quot;, &amp;quot;25-Apr-25&amp;quot;, &amp;quot;28-Apr-25&amp;quot;, &amp;quot;29-Apr-25&amp;quot;, &amp;quot;30-Apr-25&amp;quot;, &amp;quot;02-May-25&amp;quot;, &amp;quot;05-May-25&amp;quot;, &amp;quot;06-May-25&amp;quot;, &amp;quot;07-May-25&amp;quot;, &amp;quot;08-May-25&amp;quot;, &amp;quot;09-May-25&amp;quot;, &amp;quot;12-May-25&amp;quot;, &amp;quot;13-May-25&amp;quot;, &amp;quot;14-May-25&amp;quot;, &amp;quot;15-May-25&amp;quot;, &amp;quot;16-May-25&amp;quot;, &amp;quot;19-May-25&amp;quot;, &amp;quot;20-May-25&amp;quot;, &amp;quot;21-May-25&amp;quot;, &amp;quot;22-May-25&amp;quot;, &amp;quot;23-May-25&amp;quot;, &amp;quot;26-May-25&amp;quot;, &amp;quot;27-May-25&amp;quot;, &amp;quot;29-May-25&amp;quot;, &amp;quot;30-May-25&amp;quot;, &amp;quot;02-Jun-25&amp;quot;, &amp;quot;03-Jun-25&amp;quot;, &amp;quot;04-Jun-25&amp;quot;, &amp;quot;05-Jun-25&amp;quot;, &amp;quot;10-Jun-25&amp;quot;, &amp;quot;11-Jun-25&amp;quot;, &amp;quot;12-Jun-25&amp;quot;, &amp;quot;13-Jun-25&amp;quot;, &amp;quot;16-Jun-25&amp;quot;, &amp;quot;17-Jun-25&amp;quot;, &amp;quot;18-Jun-25&amp;quot;, &amp;quot;19-Jun-25&amp;quot;, &amp;quot;20-Jun-25&amp;quot;, &amp;quot;23-Jun-25&amp;quot;, &amp;quot;24-Jun-25&amp;quot;, &amp;quot;25-Jun-25&amp;quot;, &amp;quot;26-Jun-25&amp;quot;, &amp;quot;27-Jun-25&amp;quot;, &amp;quot;30-Jun-25&amp;quot;, &amp;quot;02-Jul-25&amp;quot;, &amp;quot;03-Jul-25&amp;quot;, &amp;quot;04-Jul-25&amp;quot;, &amp;quot;07-Jul-25&amp;quot;, &amp;quot;08-Jul-25&amp;quot;, &amp;quot;09-Jul-25&amp;quot;, &amp;quot;10-Jul-25&amp;quot;, &amp;quot;11-Jul-25&amp;quot;, &amp;quot;14-Jul-25&amp;quot;, &amp;quot;15-Jul-25&amp;quot;, &amp;quot;16-Jul-25&amp;quot;, &amp;quot;17-Jul-25&amp;quot;, &amp;quot;18-Jul-25&amp;quot;, &amp;quot;21-Jul-25&amp;quot;, &amp;quot;22-Jul-25&amp;quot;, &amp;quot;23-Jul-25&amp;quot;, &amp;quot;24-Jul-25&amp;quot;, &amp;quot;25-Jul-25&amp;quot;, &amp;quot;28-Jul-25&amp;quot;, &amp;quot;29-Jul-25&amp;quot;, &amp;quot;30-Jul-25&amp;quot;, &amp;quot;31-Jul-25&amp;quot;, &amp;quot;01-Aug-25&amp;quot;, &amp;quot;04-Aug-25&amp;quot;, &amp;quot;05-Aug-25&amp;quot;, &amp;quot;06-Aug-25&amp;quot;, &amp;quot;07-Aug-25&amp;quot;, &amp;quot;08-Aug-25&amp;quot;, &amp;quot;11-Aug-25&amp;quot;, &amp;quot;12-Aug-25&amp;quot;, &amp;quot;13-Aug-25&amp;quot;, &amp;quot;15-Aug-25&amp;quot;, &amp;quot;18-Aug-25&amp;quot;, &amp;quot;19-Aug-25&amp;quot;, &amp;quot;20-Aug-25&amp;quot;, &amp;quot;21-Aug-25&amp;quot;, &amp;quot;22-Aug-25&amp;quot;, &amp;quot;25-Aug-25&amp;quot;, &amp;quot;26-Aug-25&amp;quot;, &amp;quot;27-Aug-25&amp;quot;, &amp;quot;28-Aug-25&amp;quot;, &amp;quot;29-Aug-25&amp;quot;, &amp;quot;01-Sep-25&amp;quot;, &amp;quot;02-Sep-25&amp;quot;, &amp;quot;03-Sep-25&amp;quot;, &amp;quot;04-Sep-25&amp;quot;, &amp;quot;05-Sep-25&amp;quot;, &amp;quot;08-Sep-25&amp;quot;, &amp;quot;09-Sep-25&amp;quot;, &amp;quot;10-Sep-25&amp;quot;, &amp;quot;11-Sep-25&amp;quot;, &amp;quot;12-Sep-25&amp;quot;, &amp;quot;15-Sep-25&amp;quot;, &amp;quot;16-Sep-25&amp;quot;, &amp;quot;17-Sep-25&amp;quot;, &amp;quot;18-Sep-25&amp;quot;, &amp;quot;19-Sep-25&amp;quot;, &amp;quot;21-Sep-25&amp;quot;, &amp;quot;22-Sep-25&amp;quot;, &amp;quot;23-Sep-25&amp;quot;, &amp;quot;24-Sep-25&amp;quot;, &amp;quot;25-Sep-25&amp;quot;, &amp;quot;26-Sep-25&amp;quot;, &amp;quot;29-Sep-25&amp;quot;, &amp;quot;30-Sep-25&amp;quot;, &amp;quot;01-Oct-25&amp;quot;, &amp;quot;02-Oct-25&amp;quot;, &amp;quot;03-Oct-25&amp;quot;, &amp;quot;06-Oct-25&amp;quot;, &amp;quot;07-Oct-25&amp;quot;, &amp;quot;08-Oct-25&amp;quot;, &amp;quot;09-Oct-25&amp;quot;, &amp;quot;10-Oct-25&amp;quot;, &amp;quot;13-Oct-25&amp;quot;, &amp;quot;14-Oct-25&amp;quot;, &amp;quot;15-Oct-25&amp;quot;, &amp;quot;16-Oct-25&amp;quot;, &amp;quot;17-Oct-25&amp;quot;, &amp;quot;20-Oct-25&amp;quot;, &amp;quot;21-Oct-25&amp;quot;, &amp;quot;22-Oct-25&amp;quot;, &amp;quot;23-Oct-25&amp;quot;, &amp;quot;24-Oct-25&amp;quot;, &amp;quot;27-Oct-25&amp;quot;, &amp;quot;28-Oct-25&amp;quot;, &amp;quot;29-Oct-25&amp;quot;, &amp;quot;30-Oct-25&amp;quot;, &amp;quot;31-Oct-25&amp;quot;, &amp;quot;03-Nov-25&amp;quot;, &amp;quot;04-Nov-25&amp;quot;, &amp;quot;05-Nov-25&amp;quot;, &amp;quot;06-Nov-25&amp;quot;, &amp;quot;07-Nov-25&amp;quot;, &amp;quot;10-Nov-25&amp;quot;, &amp;quot;11-Nov-25&amp;quot;, &amp;quot;12-Nov-25&amp;quot;, &amp;quot;13-Nov-25&amp;quot;, &amp;quot;14-Nov-25&amp;quot;, &amp;quot;17-Nov-25&amp;quot;, &amp;quot;18-Nov-25&amp;quot;, &amp;quot;19-Nov-25&amp;quot;, &amp;quot;20-Nov-25&amp;quot;, &amp;quot;21-Nov-25&amp;quot;, &amp;quot;24-Nov-25&amp;quot;, &amp;quot;25-Nov-25&amp;quot;, &amp;quot;26-Nov-25&amp;quot;, &amp;quot;27-Nov-25&amp;quot;, &amp;quot;28-Nov-25&amp;quot;, &amp;quot;01-Dec-25&amp;quot;, &amp;quot;02-Dec-25&amp;quot;, &amp;quot;03-Dec-25&amp;quot;, &amp;quot;04-Dec-25&amp;quot;, &amp;quot;05-Dec-25&amp;quot;, &amp;quot;08-Dec-25&amp;quot;, &amp;quot;09-Dec-25&amp;quot;, &amp;quot;10-Dec-25&amp;quot;, &amp;quot;11-Dec-25&amp;quot;, &amp;quot;12-Dec-25&amp;quot;, &amp;quot;15-Dec-25&amp;quot;, &amp;quot;16-Dec-25&amp;quot;, &amp;quot;17-Dec-25&amp;quot;, &amp;quot;18-Dec-25&amp;quot;, &amp;quot;19-Dec-25&amp;quot;, &amp;quot;22-Dec-25&amp;quot;, &amp;quot;23-Dec-25&amp;quot;, &amp;quot;24-Dec-25&amp;quot;, &amp;quot;26-Dec-25&amp;quot;, &amp;quot;29-Dec-25&amp;quot;, &amp;quot;30-Dec-25&amp;quot;, &amp;quot;31-Dec-25&amp;quot;, &amp;quot;02-Jan-26&amp;quot;, &amp;quot;05-Jan-26&amp;quot;, &amp;quot;06-Jan-26&amp;quot;, &amp;quot;07-Jan-26&amp;quot;, &amp;quot;08-Jan-26&amp;quot;, &amp;quot;09-Jan-26&amp;quot;, &amp;quot;12-Jan-26&amp;quot;, &amp;quot;13-Jan-26&amp;quot;, &amp;quot;14-Jan-26&amp;quot;, &amp;quot;15-Jan-26&amp;quot;, &amp;quot;16-Jan-26&amp;quot;, &amp;quot;19-Jan-26&amp;quot;, &amp;quot;20-Jan-26&amp;quot;, &amp;quot;21-Jan-26&amp;quot;, &amp;quot;22-Jan-26&amp;quot;, &amp;quot;23-Jan-26&amp;quot;, &amp;quot;26-Jan-26&amp;quot;, &amp;quot;27-Jan-26&amp;quot;, &amp;quot;28-Jan-26&amp;quot;, &amp;quot;29-Jan-26&amp;quot;, &amp;quot;30-Jan-26&amp;quot;, &amp;quot;02-Feb-26&amp;quot;, &amp;quot;03-Feb-26&amp;quot;, &amp;quot;04-Feb-26&amp;quot;, &amp;quot;06-Feb-26&amp;quot;, &amp;quot;09-Feb-26&amp;quot;, &amp;quot;10-Feb-26&amp;quot;, &amp;quot;11-Feb-26&amp;quot;, &amp;quot;12-Feb-26&amp;quot;, &amp;quot;13-Feb-26&amp;quot;, &amp;quot;16-Feb-26&amp;quot;, &amp;quot;17-Feb-26&amp;quot;, &amp;quot;18-Feb-26&amp;quot;, &amp;quot;20-Feb-26&amp;quot;, &amp;quot;23-Feb-26&amp;quot;, &amp;quot;24-Feb-26&amp;quot;, &amp;quot;25-Feb-26&amp;quot;, &amp;quot;26-Feb-26&amp;quot;, &amp;quot;27-Feb-26&amp;quot;, &amp;quot;02-Mar-26&amp;quot;, &amp;quot;03-Mar-26&amp;quot;, &amp;quot;04-Mar-26&amp;quot;, &amp;quot;05-Mar-26&amp;quot;, &amp;quot;06-Mar-26&amp;quot;, &amp;quot;09-Mar-26&amp;quot;, &amp;quot;10-Mar-26&amp;quot;, &amp;quot;11-Mar-26&amp;quot;, &amp;quot;12-Mar-26&amp;quot;, &amp;quot;13-Mar-26&amp;quot;, &amp;quot;16-Mar-26&amp;quot;, &amp;quot;17-Mar-26&amp;quot;, &amp;quot;18-Mar-26&amp;quot;, &amp;quot;19-Mar-26&amp;quot;, &amp;quot;24-Mar-26&amp;quot;, &amp;quot;25-Mar-26&amp;quot;, &amp;quot;26-Mar-26&amp;quot;, &amp;quot;27-Mar-26&amp;quot;, &amp;quot;30-Mar-26&amp;quot;, &amp;quot;31-Mar-26&amp;quot;, &amp;quot;01-Apr-26&amp;quot;, &amp;quot;02-Apr-26&amp;quot;, &amp;quot;03-Apr-26&amp;quot;, &amp;quot;04-Apr-26&amp;quot;, &amp;quot;06-Apr-26&amp;quot;, &amp;quot;07-Apr-26&amp;quot;, &amp;quot;08-Apr-26&amp;quot;, &amp;quot;09-Apr-26&amp;quot;, &amp;quot;10-Apr-26&amp;quot;, &amp;quot;13-Apr-26&amp;quot;, &amp;quot;14-Apr-26&amp;quot;, &amp;quot;14-Apr-26&amp;quot;, &amp;quot;15-Apr-26&amp;quot;, &amp;quot;16-Apr-26&amp;quot;, &amp;quot;17-Apr-26&amp;quot;, &amp;quot;20-Apr-26&amp;quot;, &amp;quot;21-Apr-26&amp;quot;, &amp;quot;22-Apr-26&amp;quot;, &amp;quot;23-Apr-26&amp;quot;, &amp;quot;24-Apr-26&amp;quot;, &amp;quot;27-Apr-26&amp;quot;, &amp;quot;28-Apr-26&amp;quot;, &amp;quot;29-Apr-26&amp;quot;, &amp;quot;30-Apr-26&amp;quot;, &amp;quot;04-May-26&amp;quot;, &amp;quot;05-May-26&amp;quot;, &amp;quot;06-May-26&amp;quot;, &amp;quot;07-May-26&amp;quot;, &amp;quot;08-May-26&amp;quot;, &amp;quot;11-May-26&amp;quot;, &amp;quot;12-May-26&amp;quot;, &amp;quot;13-May-26&amp;quot;, &amp;quot;14-May-26&amp;quot;, &amp;quot;15-May-26&amp;quot;, &amp;quot;18-May-26&amp;quot;, &amp;quot;19-May-26&amp;quot;, &amp;quot;20-May-26&amp;quot;, &amp;quot;21-May-26&amp;quot;, &amp;quot;22-May-26&amp;quot;, &amp;quot;25-May-26&amp;quot;, &amp;quot;29-May-26&amp;quot;, &amp;quot;01-Jun-26&amp;quot;, &amp;quot;02-Jun-26&amp;quot;, &amp;quot;03-Jun-26&amp;quot;, &amp;quot;04-Jun-26&amp;quot;, &amp;quot;05-Jun-26&amp;quot;, &amp;quot;08-Jun-26&amp;quot;, &amp;quot;09-Jun-26&amp;quot;, &amp;quot;10-Jun-26&amp;quot;, &amp;quot;11-Jun-26&amp;quot;, &amp;quot;12-Jun-26&amp;quot;, &amp;quot;15-Jun-26&amp;quot;, &amp;quot;16-Jun-26&amp;quot;, &amp;quot;17-Jun-26&amp;quot;, &amp;quot;18-Jun-26&amp;quot;, &amp;quot;19-Jun-26&amp;quot;, &amp;quot;22-Jun-26&amp;quot;, &amp;quot;23-Jun-26&amp;quot;, &amp;quot;24-Jun-26&amp;quot;, &amp;quot;29-Jun-26&amp;quot;, &amp;quot;30-Jun-26&amp;quot;, &amp;quot;02-Jul-26&amp;quot;, &amp;quot;03-Jul-26&amp;quot;, &amp;quot;06-Jul-26&amp;quot;, &amp;quot;07-Jul-26&amp;quot;, &amp;quot;08-Jul-26&amp;quot;, &amp;quot;09-Jul-26&amp;quot;, &amp;quot;10-Jul-26&amp;quot;, &amp;quot;13-Jul-26&amp;quot;, &amp;quot;14-Jul-26&amp;quot;, &amp;quot;15-Jul-26&amp;quot;, &amp;quot;16-Jul-26&amp;quot;, &amp;quot;17-Jul-26&amp;quot;, &amp;quot;20-Jul-26&amp;quot;, &amp;quot;21-Jul-26&amp;quot;, &amp;quot;22-Jul-26&amp;quot;, &amp;quot;23-Jul-26&amp;quot;, &amp;quot;24-Jul-26&amp;quot;, &amp;quot;27-Jul-26&amp;quot;, &amp;quot;28-Jul-26&amp;quot;, &amp;quot;29-Jul-26&amp;quot;, &amp;quot;30-Jul-26&amp;quot;, &amp;quot;03-Aug-26&amp;quot;, &amp;quot;04-Aug-26&amp;quot;, &amp;quot;05-Aug-26&amp;quot;, &amp;quot;06-Aug-26&amp;quot;, &amp;quot;07-Aug-26&amp;quot;, &amp;quot;10-Aug-26&amp;quot;, &amp;quot;11-Aug-26&amp;quot;, &amp;quot;12-Aug-26&amp;quot;, &amp;quot;13-Aug-26&amp;quot;, &amp;quot;17-Aug-26&amp;quot;, &amp;quot;18-Aug-26&amp;quot;, &amp;quot;20-Aug-26&amp;quot;, &amp;quot;21-Aug-26&amp;quot;, &amp;quot;24-Aug-26&amp;quot;, &amp;quot;25-Aug-26&amp;quot;, &amp;quot;27-Aug-26&amp;quot;, &amp;quot;28-Aug-26&amp;quot;, &amp;quot;31-Aug-26&amp;quot;, &amp;quot;01-Sep-26&amp;quot;, &amp;quot;02-Sep-26&amp;quot;, &amp;quot;03-Sep-26&amp;quot;, &amp;quot;04-Sep-26&amp;quot;, &amp;quot;07-Sep-26&amp;quot;, &amp;quot;08-Sep-26&amp;quot;, &amp;quot;09-Sep-26&amp;quot;, &amp;quot;10-Sep-26&amp;quot;, &amp;quot;11-Sep-26&amp;quot;, &amp;quot;14-Sep-26&amp;quot;, &amp;quot;15-Sep-26&amp;quot;, &amp;quot;16-Sep-26&amp;quot;, &amp;quot;17-Sep-26&amp;quot;, &amp;quot;18-Sep-26&amp;quot;, &amp;quot;21-Sep-26&amp;quot;, &amp;quot;22-Sep-26&amp;quot;, &amp;quot;23-Sep-26&amp;quot;, &amp;quot;24-Sep-26&amp;quot;, &amp;quot;25-Sep-26&amp;quot;, &amp;quot;28-Sep-26&amp;quot;, &amp;quot;29-Sep-26&amp;quot;, &amp;quot;30-Sep-26&amp;quot;];
            
            const rawData = [279.77, 279.87, 279.82, 279.97, 280.07, 279.95, 279.97, 280.05, 280.21, 280.17, 280.27, 280.21, 280.22, 280.26, 280.37, 280.42, 280.26, 280.22, 280.16, 280.56, 280.47, 280.57, 280.73, 280.78, 280.56, 280.47, 280.60, 280.57, 280.46, 280.62, 280.72, 280.87, 280.77, 280.97, 281.07, 280.97, 281.07, 281.02, 280.97, 281.06, 281.22, 281.37, 281.47, 281.52, 281.71, 281.57, 281.67, 281.72, 281.61, 281.66, 281.77, 281.92, 281.97, 282.06, 281.97, 282.06, 282.17, 282.07, 282.02, 281.97, 282.12, 282.22, 282.17, 282.21, 282.47, 282.67, 282.96, 283.17, 283.41, 283.55, 283.64, 283.70, 283.87, 283.77, 283.72, 283.67, 283.72, 283.76, 283.95, 283.86, 283.97, 284.22, 284.36, 284.47, 284.56, 284.46, 284.72, 284.67, 284.96, 284.97, 284.87, 284.95, 284.97, 284.76, 284.22, 283.45, 283.21, 283.05, 282.95, 282.87, 282.72, 282.66, 282.57, 282.67, 282.56, 282.47, 282.45, 282.42, 282.22, 282.06, 282.01, 281.96, 281.95, 281.92, 281.90, 281.87, 281.86, 281.83, 281.80, 281.77, 281.75, 281.72, 281.71, 281.67, 281.65, 281.62, 281.61, 281.60, 281.56, 281.55, 281.52, 281.51, 281.50, 281.47, 281.46, 281.45, 281.46, 281.42, 281.43, 281.41, 281.37, 281.35, 281.32, 281.31, 281.27, 281.26, 281.25, 281.22, 281.21, 281.20, 281.17, 281.16, 281.15, 281.12, 281.11, 281.10, 281.07, 281.06, 281.05, 281.03, 281.02, 281.01, 280.97, 280.96, 280.92, 280.91, 280.90, 280.87, 280.86, 280.85, 280.82, 280.81, 280.78, 280.77, 280.76, 280.72, 280.71, 280.67, 280.66, 280.66, 280.65, 280.62, 280.61, 280.57, 280.56, 280.55, 280.52, 280.51, 280.47, 280.46, 280.45, 280.42, 280.41, 280.40, 280.37, 280.36, 280.32, 280.31, 280.30, 280.27, 280.26, 280.25, 280.22, 280.21, 280.20, 280.17, 280.16, 280.15, 280.12, 280.11, 280.10, 280.07, 280.06, 280.05, 280.02, 280.01, 280.00, 279.97, 279.96, 279.95, 279.92, 279.91, 279.90, 279.87, 279.86, 279.85, 279.82, 279.81, 279.80, 279.77, 279.76, 279.75, 279.72, 279.71, 279.70, 279.67, 279.66, 279.65, 279.62, 279.61, 279.60, 279.57, 279.56, 279.55, 279.52, 279.51, 279.50, 279.47, 279.46, 279.45, 279.42, 279.41, 279.40, 279.37, 279.36, 279.35, 279.32, 279.31, 279.30, 279.27, 279.26, 279.25, 279.22, 279.21, 279.20, 279.17, 279.16, 279.15, 279.12, 279.11, 279.10, 279.07, 279.06, 279.05, 279.02, 279.01, 279.00, 278.97, 278.96, 278.95, 278.92, 278.91, 278.90, 278.87, 278.86, 278.85, 278.82, 278.81, 278.80, 278.77, 278.76, 278.75, 278.72, 278.71, 278.70, 278.67, 278.66, 278.65, 278.62, 278.61, 278.60, 278.57, 278.56, 278.55, 278.52, 278.51, 278.50, 278.47, 278.46, 278.45, 278.42, 278.41, 278.40, 278.37, 278.36, 278.35, 278.32, 278.31, 278.30, 278.27, 278.26, 278.25, 278.22, 278.21, 278.20, 278.17, 278.16, 278.15, 278.12, 278.11, 278.10, 278.07, 278.06, 278.05, 278.02, 278.01, 278.00, 277.95, 277.95, 277.92, 277.91, 277.90, 277.87, 277.86, 277.85, 277.82, 277.81, 277.80, 277.77, 277.76, 277.75, 277.72, 277.71, 277.70, 277.67, 277.66, 277.65, 277.62, 277.61, 277.57, 277.56, 277.55, 277.52, 277.51, 277.50, 277.47, 277.46, 277.45, 277.42, 277.41, 277.40, 277.37, 277.36, 277.35, 277.32, 277.31, 277.30, 277.27, 277.26, 277.25, 277.22, 277.21, 277.20, 277.17, 277.16, 277.15, 277.12, 277.11];

            const currentExchangeRate = rawData[rawData.length - 1];
            const currentExchangeDate = rawLabels[rawLabels.length - 1];

            // DOM Elements
            const usdInput = document.getElementById(&amp;#039;usdInput&amp;#039;);
            const pkrInput = document.getElementById(&amp;#039;pkrInput&amp;#039;);
            const badgeEl = document.getElementById(&amp;#039;latestBadgeRate&amp;#039;);
            const dateLabelEl = document.getElementById(&amp;#039;latestDateLabel&amp;#039;);

            const statHighEl = document.getElementById(&amp;#039;statHigh&amp;#039;);
            const statLowEl = document.getElementById(&amp;#039;statLow&amp;#039;);
            const statAvgEl = document.getElementById(&amp;#039;statAvg&amp;#039;);
            const statChangeEl = document.getElementById(&amp;#039;statChange&amp;#039;);

            const formatCurrency = (val, maxDecimals = 2, minDecimals = 2) =&amp;gt; {
                if (isNaN(val) || val === null) return &amp;#039;--&amp;#039;;
                return val.toLocaleString(&amp;#039;en-US&amp;#039;, {
                    minimumFractionDigits: minDecimals,
                    maximumFractionDigits: maxDecimals
                });
            };

            const parseCurrency = (valStr) =&amp;gt; {
                if (!valStr) return NaN;
                return parseFloat(valStr.toString().replace(/,/g, &amp;#039;&amp;#039;));
            };

            // Set Initial Values in UI
            dateLabelEl.textContent = currentExchangeDate;
            badgeEl.textContent = formatCurrency(currentExchangeRate) + &amp;#039; PKR&amp;#039;;
            pkrInput.value = formatCurrency(currentExchangeRate);

            usdInput.addEventListener(&amp;#039;input&amp;#039;, (e) =&amp;gt; {
                const val = parseCurrency(e.target.value);
                if (isNaN(val)) {
                    pkrInput.value = &amp;#039;&amp;#039;;
                } else {
                    pkrInput.value = formatCurrency(val * currentExchangeRate);
                }
            });

            pkrInput.addEventListener(&amp;#039;input&amp;#039;, (e) =&amp;gt; {
                const val = parseCurrency(e.target.value);
                if (isNaN(val)) {
                    usdInput.value = &amp;#039;&amp;#039;;
                } else {
                    usdInput.value = formatCurrency(val / currentExchangeRate, 4, 2);
                }
            });

            usdInput.addEventListener(&amp;#039;blur&amp;#039;, (e) =&amp;gt; {
                const val = parseCurrency(e.target.value);
                if (!isNaN(val)) {
                    e.target.value = formatCurrency(val, 2, 0);
                }
            });

            pkrInput.addEventListener(&amp;#039;blur&amp;#039;, (e) =&amp;gt; {
                const val = parseCurrency(e.target.value);
                if (!isNaN(val)) {
                    e.target.value = formatCurrency(val, 2, 2);
                }
            });

            const ctx = document.getElementById(&amp;#039;closingRatesChart&amp;#039;).getContext(&amp;#039;2d&amp;#039;);
            
            // Create gradient fill
            const gradient = ctx.createLinearGradient(0, 0, 0, 350);
            gradient.addColorStop(0, &amp;#039;rgba(79, 70, 229, 0.25)&amp;#039;);
            gradient.addColorStop(1, &amp;#039;rgba(79, 70, 229, 0.0)&amp;#039;);

            let chartInstance = new Chart(ctx, {
                type: &amp;#039;line&amp;#039;,
                data: {
                    labels: rawLabels,
                    datasets: [{
                        label: &amp;#039;USD to PKR&amp;#039;,
                        data: rawData,
                        borderColor: &amp;#039;#4f46e5&amp;#039;,
                        borderWidth: 2,
                        backgroundColor: gradient,
                        fill: true,
                        tension: 0.3,
                        pointRadius: 0,
                        pointHoverRadius: 6,
                        pointHoverBackgroundColor: &amp;#039;#4f46e5&amp;#039;,
                        pointHoverBorderColor: &amp;#039;#ffffff&amp;#039;,
                        pointHoverBorderWidth: 2
                    }]
                },
                options: {
                    responsive: true,
                    maintainAspectRatio: false,
                    interaction: {
                        intersect: false,
                        mode: &amp;#039;index&amp;#039;
                    },
                    plugins: {
                        legend: { display: false },
                        tooltip: {
                            backgroundColor: &amp;#039;#0f172a&amp;#039;,
                            titleFont: { family: &amp;#039;Plus Jakarta Sans&amp;#039;, size: 12, weight: &amp;#039;bold&amp;#039; },
                            bodyFont: { family: &amp;#039;Plus Jakarta Sans&amp;#039;, size: 13 },
                            padding: 10,
                            cornerRadius: 8,
                            displayColors: false,
                            callbacks: {
                                label: function(context) {
                                    return &amp;#039;Rate: &amp;#039; + formatCurrency(context.parsed.y) + &amp;#039; PKR&amp;#039;;
                                }
                            }
                        }
                    },
                    scales: {
                        x: {
                            grid: { display: false },
                            ticks: {
                                font: { family: &amp;#039;Plus Jakarta Sans&amp;#039;, size: 11 },
                                color: &amp;#039;#64748b&amp;#039;,
                                maxTicksLimit: 8,
                                maxRotation: 0
                            }
                        },
                        y: {
                            grid: { color: &amp;#039;#f1f5f9&amp;#039; },
                            ticks: {
                                font: { family: &amp;#039;Plus Jakarta Sans&amp;#039;, size: 11 },
                                color: &amp;#039;#64748b&amp;#039;,
                                callback: function(value) {
                                    return value.toFixed(1);
                                }
                            }
                        }
                    }
                }
            });

            function updateRangeStats(labels, data) {
                if (!data || data.length === 0) return;

                const high = Math.max(...data);
                const low = Math.min(...data);
                const avg = data.reduce((a, b) =&amp;gt; a + b, 0) / data.length;
                const startVal = data[0];
                const endVal = data[data.length - 1];
                const change = endVal - startVal;
                const changePct = (change / startVal) * 100;

                statHighEl.textContent = formatCurrency(high);
                statLowEl.textContent = formatCurrency(low);
                statAvgEl.textContent = formatCurrency(avg);

                const sign = change &amp;gt;= 0 ? &amp;#039;+&amp;#039; : &amp;#039;&amp;#039;;
                statChangeEl.textContent = `${sign}${formatCurrency(change)} (${sign}${changePct.toFixed(2)}%)`;
                statChangeEl.style.color = change &amp;gt; 0 ? &amp;#039;#10b981&amp;#039; : (change &amp;lt; 0 ? &amp;#039;#ef4444&amp;#039; : &amp;#039;#64748b&amp;#039;);
            }

            // Timeframe filtering handler
            function setTimeframe(rangeCount) {
                let slicedLabels = rawLabels;
                let slicedData = rawData;

                if (rangeCount !== &amp;#039;all&amp;#039;) {
                    const count = parseInt(rangeCount, 10);
                    slicedLabels = rawLabels.slice(-count);
                    slicedData = rawData.slice(-count);
                }

                chartInstance.data.labels = slicedLabels;
                chartInstance.data.datasets[0].data = slicedData;

                // Adjust Y axis dynamic scaling
                const minVal = Math.min(...slicedData);
                const maxVal = Math.max(...slicedData);
                const padding = (maxVal - minVal) * 0.1 || 1;
                
                chartInstance.options.scales.y.min = Math.floor((minVal - padding) * 10) / 10;
                chartInstance.options.scales.y.max = Math.ceil((maxVal + padding) * 10) / 10;

                chartInstance.update();
                updateRangeStats(slicedLabels, slicedData);
            }

            // Setup timeframe button listeners
            document.querySelectorAll(&amp;#039;#pkr-chart-embed .tf-btn&amp;#039;).forEach(btn =&amp;gt; {
                btn.addEventListener(&amp;#039;click&amp;#039;, (e) =&amp;gt; {
                    document.querySelectorAll(&amp;#039;#pkr-chart-embed .tf-btn&amp;#039;).forEach(b =&amp;gt; b.classList.remove(&amp;#039;active&amp;#039;));
                    e.target.classList.add(&amp;#039;active&amp;#039;);
                    setTimeframe(e.target.getAttribute(&amp;#039;data-range&amp;#039;));
                });
            });

            // Initial range load
            setTimeframe(&amp;#039;all&amp;#039;);
        })();
    &amp;lt;/script&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;
    &amp;lt;script&amp;gt;
        function reportHeight() {
            var h = document.documentElement.scrollHeight;
            window.parent.postMessage({ type: &amp;#039;raw-html-resize&amp;#039;, id: &amp;#039;raw-html-6abcecf9dffa8&amp;#039;, height: h }, &amp;#039;*&amp;#039;);
        }
        window.addEventListener(&amp;#039;load&amp;#039;, reportHeight);
        if (window.ResizeObserver) {
            new ResizeObserver(reportHeight).observe(document.body);
        }
    &amp;lt;/script&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;"&gt;&lt;/iframe&gt;
&lt;script&gt;
if (!window._rawHtmlListenerAttached) {
    window._rawHtmlListenerAttached = true;
    window.addEventListener('message', function(event) {
        if (event.data &amp;&amp; event.data.type === 'raw-html-resize' &amp;&amp; event.data.id) {
            var iframe = document.getElementById(event.data.id);
            if (iframe) {
                var height = Math.min(Math.max(event.data.height, 50), 30000);
                iframe.style.height = height + 'px';
            }
        }
    });
}
&lt;/script&gt;
&lt;p&gt;&lt;strong&gt;The Pakistani rupee extended its marginal gains against the US dollar in the interbank market on Wednesday.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The local unit closed the day at 277.11, a gain of Re0.01 against the greenback.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.brecorder.com/news/40441794"&gt;On Tuesday&lt;/a&gt;, the Pakistani rupee settled at 277.12 against the dollar.&lt;/p&gt;
&lt;p&gt;Internationally, &lt;a href="https://www.brecorder.com/news/40441939/dollar-set-for-september-rise-mainly-at-euros-expense"&gt;the US dollar &lt;/a&gt;stood near this year’s high versus the euro on Wednesday and was poised for the largest monthly rise against it ​for 14 months, powered by US growth and rising US interest rates in contrast to the energy and debt ‌worries swirling in Europe.&lt;/p&gt;
&lt;p&gt;Overnight, the euro dipped to its lowest since May 2025, at $1.1312, and traded nearby at $1.1339 in Asia. The euro is also testing support around 178 yen.&lt;/p&gt;
&lt;p&gt;Through September the US dollar is up nearly 2.5% on the euro, and the rising greenback also pushed its Australian counterpart below 70 cents for the first time since ​early August.&lt;/p&gt;
&lt;p&gt;The dollar also made a 16-1/2-month top on the Swiss franc overnight at 0.8358 francs. The franc has suffered, in part, because investors have ​gone looking for low-yielding alternatives to yen to sell in search of carry elsewhere.&lt;/p&gt;
&lt;p&gt;The yen has fallen out of favour as a short against ​the US dollar following US-Japan yen buying in July and August, which has been followed by warnings not to test their resolve, as well as a pickup ‌in the ⁠pace of Japanese rate hikes.&lt;/p&gt;
&lt;p&gt;The US dollar has fallen 1.5% on the yen in September.&lt;/p&gt;
&lt;p&gt;The Fed’s preferred inflation yardstick, US core PCE, is due out later on Wednesday though the market is focused on Friday’s US jobs report which, if strong, could reinforce expectations that US interest rates are on the rise.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.brecorder.com/news/40441938/oil-gains-as-stalled-us-iran-talks-trump-supply-recovery"&gt;Oil prices&lt;/a&gt;, a key indicator of currency parity, rose on Wednesday and were on track for a big monthly gain as US-Iran talks aimed at ending their war stalled and tight fuel markets continued to underpin prices despite recovering Middle East crude supplies.&lt;/p&gt;
&lt;p&gt;The Brent futures November contract, which expires on Wednesday, was up 57 cents, or 0.6%, to $103.16 a barrel at 0944 GMT. The more active December contract was up 94 cents to $97.10. US West Texas Intermediate crude was up 82 cents, or 0.9%, to $90.20.&lt;/p&gt;
</description>
      <content:encoded xmlns="http://purl.org/rss/1.0/modules/content/"><![CDATA[<iframe id="raw-html-6abcecf9dffa8" class="raw-html-embed" style="width: 100%; min-height: 50px; max-height: 30000px; border: none; overflow: hidden;" scrolling="no" srcdoc="&lt;!DOCTYPE html&gt;
&lt;html&gt;
&lt;head&gt;
    &lt;style&gt;
        body { margin: 0; padding: 0; font-family: system-ui, -apple-system, sans-serif; overflow-wrap: anywhere; }
    &lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
    
&lt;!DOCTYPE html&gt;
&lt;html lang=&quot;en&quot;&gt;
&lt;head&gt;
    &lt;meta charset=&quot;UTF-8&quot;&gt;
    &lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1.0&quot;&gt;
    &lt;title&gt;PKR vs USD Exchange Rate Chart&lt;/title&gt;
    &lt;!-- Chart.js for interactive rendering --&gt;
    &lt;script src=&quot;https://cdn.jsdelivr.net/npm/chart.js&quot;&gt;&lt;/script&gt;
    
    &lt;style&gt;
        @import url(&#039;https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght=400;500;600;700&amp;display=swap&#039;);

        #pkr-chart-embed {
            font-family: &#039;Plus Jakarta Sans&#039;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, Roboto, sans-serif;
            max-width: 1000px;
            width: 100%;
            margin: 24px auto;
            background-color: #ffffff;
            border: 1px solid #e2e8f0;
            border-radius: 20px;
            padding: 24px;
            box-shadow: 0 10px 25px -5px rgba(15, 23, 42, 0.05), 0 8px 10px -6px rgba(15, 23, 42, 0.05);
            color: #0f172a;
            box-sizing: border-box;
        }

        #pkr-chart-embed * { box-sizing: border-box; margin: 0; padding: 0; }

        #pkr-chart-embed .chart-header {
            display: flex;
            flex-direction: column;
            gap: 20px;
            margin-bottom: 20px;
            width: 100%;
        }

        #pkr-chart-embed .top-row {
            display: flex;
            flex-direction: row;
            justify-content: space-between;
            align-items: flex-start;
            gap: 20px;
        }

        #pkr-chart-embed .calculator-area {
            display: flex;
            flex-direction: column;
            gap: 8px;
            align-items: flex-start;
        }

        #pkr-chart-embed .main-title {
            font-size: 22px;
            font-weight: 700;
            color: #0f172a;
            letter-spacing: -0.025em;
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            gap: 10px;
        }

        #pkr-chart-embed .currency-badge {
            font-size: 11px;
            font-weight: 600;
            color: #4f46e5;
            background-color: rgba(79, 70, 229, 0.08);
            padding: 3px 10px;
            border-radius: 9999px;
            border: 1px solid rgba(79, 70, 229, 0.15);
            text-transform: uppercase;
        }

        #pkr-chart-embed .calculator-title {
            font-size: 10px;
            font-weight: 700;
            color: #64748b;
            text-transform: uppercase;
            letter-spacing: 0.05em;
        }

        #pkr-chart-embed .converter {
            display: flex;
            align-items: center;
            background: #f8fafc;
            border: 1px solid #e2e8f0;
            border-radius: 12px;
            padding: 4px;
            gap: 6px;
        }

        #pkr-chart-embed .converter-group {
            display: flex;
            align-items: center;
            background: #ffffff;
            border-radius: 8px;
            padding: 6px 10px;
            box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
            border: 1px solid #e2e8f0;
        }

        #pkr-chart-embed .converter-input {
            border: none;
            outline: none;
            width: 90px;
            font-family: inherit;
            font-weight: 700;
            color: #0f172a;
            font-size: 14px;
            text-align: right;
            background: transparent;
        }

        #pkr-chart-embed .converter-input.pkr-field { width: 120px; }

        #pkr-chart-embed .converter-label {
            font-size: 11px;
            font-weight: 700;
            color: #64748b;
            margin-left: 6px;
        }

        #pkr-chart-embed .equals-sign { color: #94a3b8; font-weight: 600; font-size: 16px; }

        #pkr-chart-embed .rate-badge-container {
            display: flex;
            flex-direction: column;
            align-items: flex-end;
            gap: 6px;
        }

        #pkr-chart-embed .rate-label-sub { text-align: right; }
        #pkr-chart-embed .rate-label-sub span:first-child { display: block; font-size: 9px; text-transform: uppercase; font-weight: 700; color: #64748b; }
        #pkr-chart-embed .rate-label-sub span:last-child { display: block; font-size: 12px; color: #334155; font-weight: 600; }

        #pkr-chart-embed .rate-badge {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            background: linear-gradient(135deg, #4f46e5, #3b82f6);
            color: #ffffff;
            font-weight: 700;
            font-size: 14px;
            padding: 8px 14px;
            border-radius: 12px;
            box-shadow: 0 8px 16px -3px rgba(79, 70, 229, 0.25);
        }

        #pkr-chart-embed .pulse-dot { width: 8px; height: 8px; border-radius: 50%; background-color: #ffffff; animation: pkrPulse 1.5s infinite; }

        @keyframes pkrPulse {
            0% { transform: scale(0.95); opacity: 0.6; }
            50% { transform: scale(1.15); opacity: 1; }
            100% { transform: scale(0.95); opacity: 0.6; }
        }

        #pkr-chart-embed .toolbar {
            display: flex;
            justify-content: space-between;
            align-items: center;
            flex-wrap: wrap;
            gap: 12px;
            margin-bottom: 16px;
            padding-bottom: 12px;
            border-bottom: 1px solid #f1f5f9;
        }

        #pkr-chart-embed .timeframe-selector {
            display: flex;
            gap: 4px;
            background: #f1f5f9;
            padding: 3px;
            border-radius: 10px;
        }

        #pkr-chart-embed .tf-btn {
            border: none;
            background: transparent;
            font-family: inherit;
            font-size: 12px;
            font-weight: 600;
            color: #64748b;
            padding: 5px 12px;
            border-radius: 7px;
            cursor: pointer;
            transition: all 0.2s ease;
        }

        #pkr-chart-embed .tf-btn.active {
            background: #ffffff;
            color: #4f46e5;
            box-shadow: 0 1px 3px rgba(0,0,0,0.1);
        }

        #pkr-chart-embed .stats-row {
            display: flex;
            gap: 16px;
            flex-wrap: wrap;
        }

        #pkr-chart-embed .stat-item {
            font-size: 12px;
            color: #64748b;
        }

        #pkr-chart-embed .stat-item strong {
            color: #0f172a;
            font-weight: 700;
        }

        #pkr-chart-embed .chart-canvas-container { position: relative; width: 100%; height: 380px; }

        @media (max-width: 768px) {
            #pkr-chart-embed .chart-canvas-container { height: 300px; }
            #pkr-chart-embed .top-row { flex-direction: column; align-items: flex-start; }
            #pkr-chart-embed .rate-badge-container { align-items: flex-start; }
            #pkr-chart-embed .rate-label-sub { text-align: left; }
            #pkr-chart-embed .toolbar { flex-direction: column; align-items: flex-start; }
        }
    &lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
    &lt;div id=&quot;pkr-chart-embed&quot;&gt;
        &lt;div class=&quot;chart-header&quot;&gt;
            &lt;h1 class=&quot;main-title&quot;&gt;
                &lt;span&gt;PKR vs USD Exchange Rate&lt;/span&gt;
                &lt;span class=&quot;currency-badge&quot;&gt;USD / PKR&lt;/span&gt;
            &lt;/h1&gt;

            &lt;div class=&quot;top-row&quot;&gt;
                &lt;div class=&quot;calculator-area&quot;&gt;
                    &lt;span class=&quot;calculator-title&quot;&gt;Calculator&lt;/span&gt;
                    &lt;div class=&quot;converter&quot;&gt;
                        &lt;div class=&quot;converter-group&quot;&gt;
                            &lt;input type=&quot;text&quot; inputmode=&quot;decimal&quot; id=&quot;usdInput&quot; class=&quot;converter-input&quot; value=&quot;1&quot;&gt;
                            &lt;span class=&quot;converter-label&quot;&gt;USD&lt;/span&gt;
                        &lt;/div&gt;
                        &lt;span class=&quot;equals-sign&quot;&gt;=&lt;/span&gt;
                        &lt;div class=&quot;converter-group&quot;&gt;
                            &lt;input type=&quot;text&quot; inputmode=&quot;decimal&quot; id=&quot;pkrInput&quot; class=&quot;converter-input pkr-field&quot; value=&quot;&quot;&gt;
                            &lt;span class=&quot;converter-label&quot;&gt;PKR&lt;/span&gt;
                        &lt;/div&gt;
                    &lt;/div&gt;
                &lt;/div&gt;

                &lt;div class=&quot;rate-badge-container&quot;&gt;
                    &lt;div class=&quot;rate-label-sub&quot;&gt;
                        &lt;span&gt;Latest Closing&lt;/span&gt;
                        &lt;span id=&quot;latestDateLabel&quot;&gt;30-Sep-26&lt;/span&gt;
                    &lt;/div&gt;
                    &lt;div class=&quot;rate-badge&quot;&gt;
                        &lt;span class=&quot;pulse-dot&quot;&gt;&lt;/span&gt;
                        &lt;span id=&quot;latestBadgeRate&quot;&gt;277.11 PKR&lt;/span&gt;
                    &lt;/div&gt;
                &lt;/div&gt;
            &lt;/div&gt;
        &lt;/div&gt;

        &lt;div class=&quot;toolbar&quot;&gt;
            &lt;div class=&quot;timeframe-selector&quot;&gt;
                &lt;button class=&quot;tf-btn&quot; data-range=&quot;30&quot;&gt;1M&lt;/button&gt;
                &lt;button class=&quot;tf-btn&quot; data-range=&quot;90&quot;&gt;3M&lt;/button&gt;
                &lt;button class=&quot;tf-btn&quot; data-range=&quot;180&quot;&gt;6M&lt;/button&gt;
                &lt;button class=&quot;tf-btn&quot; data-range=&quot;365&quot;&gt;1Y&lt;/button&gt;
                &lt;button class=&quot;tf-btn active&quot; data-range=&quot;all&quot;&gt;ALL&lt;/button&gt;
            &lt;/div&gt;

            &lt;div class=&quot;stats-row&quot;&gt;
                &lt;span class=&quot;stat-item&quot;&gt;High: &lt;strong id=&quot;statHigh&quot;&gt;--&lt;/strong&gt;&lt;/span&gt;
                &lt;span class=&quot;stat-item&quot;&gt;Low: &lt;strong id=&quot;statLow&quot;&gt;--&lt;/strong&gt;&lt;/span&gt;
                &lt;span class=&quot;stat-item&quot;&gt;Avg: &lt;strong id=&quot;statAvg&quot;&gt;--&lt;/strong&gt;&lt;/span&gt;
                &lt;span class=&quot;stat-item&quot;&gt;Change: &lt;strong id=&quot;statChange&quot;&gt;--&lt;/strong&gt;&lt;/span&gt;
            &lt;/div&gt;
        &lt;/div&gt;

        &lt;div class=&quot;chart-canvas-container&quot;&gt;
            &lt;canvas id=&quot;closingRatesChart&quot;&gt;&lt;/canvas&gt;
        &lt;/div&gt;
    &lt;/div&gt;

    &lt;script&gt;
        (function() {
            // Full historical closing rate dataset with 30-Sep-26 appended
            const rawLabels = [&quot;04-Mar-25&quot;, &quot;05-Mar-25&quot;, &quot;06-Mar-25&quot;, &quot;07-Mar-25&quot;, &quot;10-Mar-25&quot;, &quot;11-Mar-25&quot;, &quot;12-Mar-25&quot;, &quot;13-Mar-25&quot;, &quot;14-Mar-25&quot;, &quot;17-Mar-25&quot;, &quot;18-Mar-25&quot;, &quot;19-Mar-25&quot;, &quot;20-Mar-25&quot;, &quot;21-Mar-25&quot;, &quot;24-Mar-25&quot;, &quot;25-Mar-25&quot;, &quot;26-Mar-25&quot;, &quot;27-Mar-25&quot;, &quot;28-Mar-25&quot;, &quot;03-Apr-25&quot;, &quot;04-Apr-25&quot;, &quot;07-Apr-25&quot;, &quot;08-Apr-25&quot;, &quot;09-Apr-25&quot;, &quot;10-Apr-25&quot;, &quot;11-Apr-25&quot;, &quot;14-Apr-25&quot;, &quot;15-Apr-25&quot;, &quot;16-Apr-25&quot;, &quot;17-Apr-25&quot;, &quot;18-Apr-25&quot;, &quot;21-Apr-25&quot;, &quot;22-Apr-25&quot;, &quot;23-Apr-25&quot;, &quot;24-Apr-25&quot;, &quot;25-Apr-25&quot;, &quot;28-Apr-25&quot;, &quot;29-Apr-25&quot;, &quot;30-Apr-25&quot;, &quot;02-May-25&quot;, &quot;05-May-25&quot;, &quot;06-May-25&quot;, &quot;07-May-25&quot;, &quot;08-May-25&quot;, &quot;09-May-25&quot;, &quot;12-May-25&quot;, &quot;13-May-25&quot;, &quot;14-May-25&quot;, &quot;15-May-25&quot;, &quot;16-May-25&quot;, &quot;19-May-25&quot;, &quot;20-May-25&quot;, &quot;21-May-25&quot;, &quot;22-May-25&quot;, &quot;23-May-25&quot;, &quot;26-May-25&quot;, &quot;27-May-25&quot;, &quot;29-May-25&quot;, &quot;30-May-25&quot;, &quot;02-Jun-25&quot;, &quot;03-Jun-25&quot;, &quot;04-Jun-25&quot;, &quot;05-Jun-25&quot;, &quot;10-Jun-25&quot;, &quot;11-Jun-25&quot;, &quot;12-Jun-25&quot;, &quot;13-Jun-25&quot;, &quot;16-Jun-25&quot;, &quot;17-Jun-25&quot;, &quot;18-Jun-25&quot;, &quot;19-Jun-25&quot;, &quot;20-Jun-25&quot;, &quot;23-Jun-25&quot;, &quot;24-Jun-25&quot;, &quot;25-Jun-25&quot;, &quot;26-Jun-25&quot;, &quot;27-Jun-25&quot;, &quot;30-Jun-25&quot;, &quot;02-Jul-25&quot;, &quot;03-Jul-25&quot;, &quot;04-Jul-25&quot;, &quot;07-Jul-25&quot;, &quot;08-Jul-25&quot;, &quot;09-Jul-25&quot;, &quot;10-Jul-25&quot;, &quot;11-Jul-25&quot;, &quot;14-Jul-25&quot;, &quot;15-Jul-25&quot;, &quot;16-Jul-25&quot;, &quot;17-Jul-25&quot;, &quot;18-Jul-25&quot;, &quot;21-Jul-25&quot;, &quot;22-Jul-25&quot;, &quot;23-Jul-25&quot;, &quot;24-Jul-25&quot;, &quot;25-Jul-25&quot;, &quot;28-Jul-25&quot;, &quot;29-Jul-25&quot;, &quot;30-Jul-25&quot;, &quot;31-Jul-25&quot;, &quot;01-Aug-25&quot;, &quot;04-Aug-25&quot;, &quot;05-Aug-25&quot;, &quot;06-Aug-25&quot;, &quot;07-Aug-25&quot;, &quot;08-Aug-25&quot;, &quot;11-Aug-25&quot;, &quot;12-Aug-25&quot;, &quot;13-Aug-25&quot;, &quot;15-Aug-25&quot;, &quot;18-Aug-25&quot;, &quot;19-Aug-25&quot;, &quot;20-Aug-25&quot;, &quot;21-Aug-25&quot;, &quot;22-Aug-25&quot;, &quot;25-Aug-25&quot;, &quot;26-Aug-25&quot;, &quot;27-Aug-25&quot;, &quot;28-Aug-25&quot;, &quot;29-Aug-25&quot;, &quot;01-Sep-25&quot;, &quot;02-Sep-25&quot;, &quot;03-Sep-25&quot;, &quot;04-Sep-25&quot;, &quot;05-Sep-25&quot;, &quot;08-Sep-25&quot;, &quot;09-Sep-25&quot;, &quot;10-Sep-25&quot;, &quot;11-Sep-25&quot;, &quot;12-Sep-25&quot;, &quot;15-Sep-25&quot;, &quot;16-Sep-25&quot;, &quot;17-Sep-25&quot;, &quot;18-Sep-25&quot;, &quot;19-Sep-25&quot;, &quot;21-Sep-25&quot;, &quot;22-Sep-25&quot;, &quot;23-Sep-25&quot;, &quot;24-Sep-25&quot;, &quot;25-Sep-25&quot;, &quot;26-Sep-25&quot;, &quot;29-Sep-25&quot;, &quot;30-Sep-25&quot;, &quot;01-Oct-25&quot;, &quot;02-Oct-25&quot;, &quot;03-Oct-25&quot;, &quot;06-Oct-25&quot;, &quot;07-Oct-25&quot;, &quot;08-Oct-25&quot;, &quot;09-Oct-25&quot;, &quot;10-Oct-25&quot;, &quot;13-Oct-25&quot;, &quot;14-Oct-25&quot;, &quot;15-Oct-25&quot;, &quot;16-Oct-25&quot;, &quot;17-Oct-25&quot;, &quot;20-Oct-25&quot;, &quot;21-Oct-25&quot;, &quot;22-Oct-25&quot;, &quot;23-Oct-25&quot;, &quot;24-Oct-25&quot;, &quot;27-Oct-25&quot;, &quot;28-Oct-25&quot;, &quot;29-Oct-25&quot;, &quot;30-Oct-25&quot;, &quot;31-Oct-25&quot;, &quot;03-Nov-25&quot;, &quot;04-Nov-25&quot;, &quot;05-Nov-25&quot;, &quot;06-Nov-25&quot;, &quot;07-Nov-25&quot;, &quot;10-Nov-25&quot;, &quot;11-Nov-25&quot;, &quot;12-Nov-25&quot;, &quot;13-Nov-25&quot;, &quot;14-Nov-25&quot;, &quot;17-Nov-25&quot;, &quot;18-Nov-25&quot;, &quot;19-Nov-25&quot;, &quot;20-Nov-25&quot;, &quot;21-Nov-25&quot;, &quot;24-Nov-25&quot;, &quot;25-Nov-25&quot;, &quot;26-Nov-25&quot;, &quot;27-Nov-25&quot;, &quot;28-Nov-25&quot;, &quot;01-Dec-25&quot;, &quot;02-Dec-25&quot;, &quot;03-Dec-25&quot;, &quot;04-Dec-25&quot;, &quot;05-Dec-25&quot;, &quot;08-Dec-25&quot;, &quot;09-Dec-25&quot;, &quot;10-Dec-25&quot;, &quot;11-Dec-25&quot;, &quot;12-Dec-25&quot;, &quot;15-Dec-25&quot;, &quot;16-Dec-25&quot;, &quot;17-Dec-25&quot;, &quot;18-Dec-25&quot;, &quot;19-Dec-25&quot;, &quot;22-Dec-25&quot;, &quot;23-Dec-25&quot;, &quot;24-Dec-25&quot;, &quot;26-Dec-25&quot;, &quot;29-Dec-25&quot;, &quot;30-Dec-25&quot;, &quot;31-Dec-25&quot;, &quot;02-Jan-26&quot;, &quot;05-Jan-26&quot;, &quot;06-Jan-26&quot;, &quot;07-Jan-26&quot;, &quot;08-Jan-26&quot;, &quot;09-Jan-26&quot;, &quot;12-Jan-26&quot;, &quot;13-Jan-26&quot;, &quot;14-Jan-26&quot;, &quot;15-Jan-26&quot;, &quot;16-Jan-26&quot;, &quot;19-Jan-26&quot;, &quot;20-Jan-26&quot;, &quot;21-Jan-26&quot;, &quot;22-Jan-26&quot;, &quot;23-Jan-26&quot;, &quot;26-Jan-26&quot;, &quot;27-Jan-26&quot;, &quot;28-Jan-26&quot;, &quot;29-Jan-26&quot;, &quot;30-Jan-26&quot;, &quot;02-Feb-26&quot;, &quot;03-Feb-26&quot;, &quot;04-Feb-26&quot;, &quot;06-Feb-26&quot;, &quot;09-Feb-26&quot;, &quot;10-Feb-26&quot;, &quot;11-Feb-26&quot;, &quot;12-Feb-26&quot;, &quot;13-Feb-26&quot;, &quot;16-Feb-26&quot;, &quot;17-Feb-26&quot;, &quot;18-Feb-26&quot;, &quot;20-Feb-26&quot;, &quot;23-Feb-26&quot;, &quot;24-Feb-26&quot;, &quot;25-Feb-26&quot;, &quot;26-Feb-26&quot;, &quot;27-Feb-26&quot;, &quot;02-Mar-26&quot;, &quot;03-Mar-26&quot;, &quot;04-Mar-26&quot;, &quot;05-Mar-26&quot;, &quot;06-Mar-26&quot;, &quot;09-Mar-26&quot;, &quot;10-Mar-26&quot;, &quot;11-Mar-26&quot;, &quot;12-Mar-26&quot;, &quot;13-Mar-26&quot;, &quot;16-Mar-26&quot;, &quot;17-Mar-26&quot;, &quot;18-Mar-26&quot;, &quot;19-Mar-26&quot;, &quot;24-Mar-26&quot;, &quot;25-Mar-26&quot;, &quot;26-Mar-26&quot;, &quot;27-Mar-26&quot;, &quot;30-Mar-26&quot;, &quot;31-Mar-26&quot;, &quot;01-Apr-26&quot;, &quot;02-Apr-26&quot;, &quot;03-Apr-26&quot;, &quot;04-Apr-26&quot;, &quot;06-Apr-26&quot;, &quot;07-Apr-26&quot;, &quot;08-Apr-26&quot;, &quot;09-Apr-26&quot;, &quot;10-Apr-26&quot;, &quot;13-Apr-26&quot;, &quot;14-Apr-26&quot;, &quot;14-Apr-26&quot;, &quot;15-Apr-26&quot;, &quot;16-Apr-26&quot;, &quot;17-Apr-26&quot;, &quot;20-Apr-26&quot;, &quot;21-Apr-26&quot;, &quot;22-Apr-26&quot;, &quot;23-Apr-26&quot;, &quot;24-Apr-26&quot;, &quot;27-Apr-26&quot;, &quot;28-Apr-26&quot;, &quot;29-Apr-26&quot;, &quot;30-Apr-26&quot;, &quot;04-May-26&quot;, &quot;05-May-26&quot;, &quot;06-May-26&quot;, &quot;07-May-26&quot;, &quot;08-May-26&quot;, &quot;11-May-26&quot;, &quot;12-May-26&quot;, &quot;13-May-26&quot;, &quot;14-May-26&quot;, &quot;15-May-26&quot;, &quot;18-May-26&quot;, &quot;19-May-26&quot;, &quot;20-May-26&quot;, &quot;21-May-26&quot;, &quot;22-May-26&quot;, &quot;25-May-26&quot;, &quot;29-May-26&quot;, &quot;01-Jun-26&quot;, &quot;02-Jun-26&quot;, &quot;03-Jun-26&quot;, &quot;04-Jun-26&quot;, &quot;05-Jun-26&quot;, &quot;08-Jun-26&quot;, &quot;09-Jun-26&quot;, &quot;10-Jun-26&quot;, &quot;11-Jun-26&quot;, &quot;12-Jun-26&quot;, &quot;15-Jun-26&quot;, &quot;16-Jun-26&quot;, &quot;17-Jun-26&quot;, &quot;18-Jun-26&quot;, &quot;19-Jun-26&quot;, &quot;22-Jun-26&quot;, &quot;23-Jun-26&quot;, &quot;24-Jun-26&quot;, &quot;29-Jun-26&quot;, &quot;30-Jun-26&quot;, &quot;02-Jul-26&quot;, &quot;03-Jul-26&quot;, &quot;06-Jul-26&quot;, &quot;07-Jul-26&quot;, &quot;08-Jul-26&quot;, &quot;09-Jul-26&quot;, &quot;10-Jul-26&quot;, &quot;13-Jul-26&quot;, &quot;14-Jul-26&quot;, &quot;15-Jul-26&quot;, &quot;16-Jul-26&quot;, &quot;17-Jul-26&quot;, &quot;20-Jul-26&quot;, &quot;21-Jul-26&quot;, &quot;22-Jul-26&quot;, &quot;23-Jul-26&quot;, &quot;24-Jul-26&quot;, &quot;27-Jul-26&quot;, &quot;28-Jul-26&quot;, &quot;29-Jul-26&quot;, &quot;30-Jul-26&quot;, &quot;03-Aug-26&quot;, &quot;04-Aug-26&quot;, &quot;05-Aug-26&quot;, &quot;06-Aug-26&quot;, &quot;07-Aug-26&quot;, &quot;10-Aug-26&quot;, &quot;11-Aug-26&quot;, &quot;12-Aug-26&quot;, &quot;13-Aug-26&quot;, &quot;17-Aug-26&quot;, &quot;18-Aug-26&quot;, &quot;20-Aug-26&quot;, &quot;21-Aug-26&quot;, &quot;24-Aug-26&quot;, &quot;25-Aug-26&quot;, &quot;27-Aug-26&quot;, &quot;28-Aug-26&quot;, &quot;31-Aug-26&quot;, &quot;01-Sep-26&quot;, &quot;02-Sep-26&quot;, &quot;03-Sep-26&quot;, &quot;04-Sep-26&quot;, &quot;07-Sep-26&quot;, &quot;08-Sep-26&quot;, &quot;09-Sep-26&quot;, &quot;10-Sep-26&quot;, &quot;11-Sep-26&quot;, &quot;14-Sep-26&quot;, &quot;15-Sep-26&quot;, &quot;16-Sep-26&quot;, &quot;17-Sep-26&quot;, &quot;18-Sep-26&quot;, &quot;21-Sep-26&quot;, &quot;22-Sep-26&quot;, &quot;23-Sep-26&quot;, &quot;24-Sep-26&quot;, &quot;25-Sep-26&quot;, &quot;28-Sep-26&quot;, &quot;29-Sep-26&quot;, &quot;30-Sep-26&quot;];
            
            const rawData = [279.77, 279.87, 279.82, 279.97, 280.07, 279.95, 279.97, 280.05, 280.21, 280.17, 280.27, 280.21, 280.22, 280.26, 280.37, 280.42, 280.26, 280.22, 280.16, 280.56, 280.47, 280.57, 280.73, 280.78, 280.56, 280.47, 280.60, 280.57, 280.46, 280.62, 280.72, 280.87, 280.77, 280.97, 281.07, 280.97, 281.07, 281.02, 280.97, 281.06, 281.22, 281.37, 281.47, 281.52, 281.71, 281.57, 281.67, 281.72, 281.61, 281.66, 281.77, 281.92, 281.97, 282.06, 281.97, 282.06, 282.17, 282.07, 282.02, 281.97, 282.12, 282.22, 282.17, 282.21, 282.47, 282.67, 282.96, 283.17, 283.41, 283.55, 283.64, 283.70, 283.87, 283.77, 283.72, 283.67, 283.72, 283.76, 283.95, 283.86, 283.97, 284.22, 284.36, 284.47, 284.56, 284.46, 284.72, 284.67, 284.96, 284.97, 284.87, 284.95, 284.97, 284.76, 284.22, 283.45, 283.21, 283.05, 282.95, 282.87, 282.72, 282.66, 282.57, 282.67, 282.56, 282.47, 282.45, 282.42, 282.22, 282.06, 282.01, 281.96, 281.95, 281.92, 281.90, 281.87, 281.86, 281.83, 281.80, 281.77, 281.75, 281.72, 281.71, 281.67, 281.65, 281.62, 281.61, 281.60, 281.56, 281.55, 281.52, 281.51, 281.50, 281.47, 281.46, 281.45, 281.46, 281.42, 281.43, 281.41, 281.37, 281.35, 281.32, 281.31, 281.27, 281.26, 281.25, 281.22, 281.21, 281.20, 281.17, 281.16, 281.15, 281.12, 281.11, 281.10, 281.07, 281.06, 281.05, 281.03, 281.02, 281.01, 280.97, 280.96, 280.92, 280.91, 280.90, 280.87, 280.86, 280.85, 280.82, 280.81, 280.78, 280.77, 280.76, 280.72, 280.71, 280.67, 280.66, 280.66, 280.65, 280.62, 280.61, 280.57, 280.56, 280.55, 280.52, 280.51, 280.47, 280.46, 280.45, 280.42, 280.41, 280.40, 280.37, 280.36, 280.32, 280.31, 280.30, 280.27, 280.26, 280.25, 280.22, 280.21, 280.20, 280.17, 280.16, 280.15, 280.12, 280.11, 280.10, 280.07, 280.06, 280.05, 280.02, 280.01, 280.00, 279.97, 279.96, 279.95, 279.92, 279.91, 279.90, 279.87, 279.86, 279.85, 279.82, 279.81, 279.80, 279.77, 279.76, 279.75, 279.72, 279.71, 279.70, 279.67, 279.66, 279.65, 279.62, 279.61, 279.60, 279.57, 279.56, 279.55, 279.52, 279.51, 279.50, 279.47, 279.46, 279.45, 279.42, 279.41, 279.40, 279.37, 279.36, 279.35, 279.32, 279.31, 279.30, 279.27, 279.26, 279.25, 279.22, 279.21, 279.20, 279.17, 279.16, 279.15, 279.12, 279.11, 279.10, 279.07, 279.06, 279.05, 279.02, 279.01, 279.00, 278.97, 278.96, 278.95, 278.92, 278.91, 278.90, 278.87, 278.86, 278.85, 278.82, 278.81, 278.80, 278.77, 278.76, 278.75, 278.72, 278.71, 278.70, 278.67, 278.66, 278.65, 278.62, 278.61, 278.60, 278.57, 278.56, 278.55, 278.52, 278.51, 278.50, 278.47, 278.46, 278.45, 278.42, 278.41, 278.40, 278.37, 278.36, 278.35, 278.32, 278.31, 278.30, 278.27, 278.26, 278.25, 278.22, 278.21, 278.20, 278.17, 278.16, 278.15, 278.12, 278.11, 278.10, 278.07, 278.06, 278.05, 278.02, 278.01, 278.00, 277.95, 277.95, 277.92, 277.91, 277.90, 277.87, 277.86, 277.85, 277.82, 277.81, 277.80, 277.77, 277.76, 277.75, 277.72, 277.71, 277.70, 277.67, 277.66, 277.65, 277.62, 277.61, 277.57, 277.56, 277.55, 277.52, 277.51, 277.50, 277.47, 277.46, 277.45, 277.42, 277.41, 277.40, 277.37, 277.36, 277.35, 277.32, 277.31, 277.30, 277.27, 277.26, 277.25, 277.22, 277.21, 277.20, 277.17, 277.16, 277.15, 277.12, 277.11];

            const currentExchangeRate = rawData[rawData.length - 1];
            const currentExchangeDate = rawLabels[rawLabels.length - 1];

            // DOM Elements
            const usdInput = document.getElementById(&#039;usdInput&#039;);
            const pkrInput = document.getElementById(&#039;pkrInput&#039;);
            const badgeEl = document.getElementById(&#039;latestBadgeRate&#039;);
            const dateLabelEl = document.getElementById(&#039;latestDateLabel&#039;);

            const statHighEl = document.getElementById(&#039;statHigh&#039;);
            const statLowEl = document.getElementById(&#039;statLow&#039;);
            const statAvgEl = document.getElementById(&#039;statAvg&#039;);
            const statChangeEl = document.getElementById(&#039;statChange&#039;);

            const formatCurrency = (val, maxDecimals = 2, minDecimals = 2) =&gt; {
                if (isNaN(val) || val === null) return &#039;--&#039;;
                return val.toLocaleString(&#039;en-US&#039;, {
                    minimumFractionDigits: minDecimals,
                    maximumFractionDigits: maxDecimals
                });
            };

            const parseCurrency = (valStr) =&gt; {
                if (!valStr) return NaN;
                return parseFloat(valStr.toString().replace(/,/g, &#039;&#039;));
            };

            // Set Initial Values in UI
            dateLabelEl.textContent = currentExchangeDate;
            badgeEl.textContent = formatCurrency(currentExchangeRate) + &#039; PKR&#039;;
            pkrInput.value = formatCurrency(currentExchangeRate);

            usdInput.addEventListener(&#039;input&#039;, (e) =&gt; {
                const val = parseCurrency(e.target.value);
                if (isNaN(val)) {
                    pkrInput.value = &#039;&#039;;
                } else {
                    pkrInput.value = formatCurrency(val * currentExchangeRate);
                }
            });

            pkrInput.addEventListener(&#039;input&#039;, (e) =&gt; {
                const val = parseCurrency(e.target.value);
                if (isNaN(val)) {
                    usdInput.value = &#039;&#039;;
                } else {
                    usdInput.value = formatCurrency(val / currentExchangeRate, 4, 2);
                }
            });

            usdInput.addEventListener(&#039;blur&#039;, (e) =&gt; {
                const val = parseCurrency(e.target.value);
                if (!isNaN(val)) {
                    e.target.value = formatCurrency(val, 2, 0);
                }
            });

            pkrInput.addEventListener(&#039;blur&#039;, (e) =&gt; {
                const val = parseCurrency(e.target.value);
                if (!isNaN(val)) {
                    e.target.value = formatCurrency(val, 2, 2);
                }
            });

            const ctx = document.getElementById(&#039;closingRatesChart&#039;).getContext(&#039;2d&#039;);
            
            // Create gradient fill
            const gradient = ctx.createLinearGradient(0, 0, 0, 350);
            gradient.addColorStop(0, &#039;rgba(79, 70, 229, 0.25)&#039;);
            gradient.addColorStop(1, &#039;rgba(79, 70, 229, 0.0)&#039;);

            let chartInstance = new Chart(ctx, {
                type: &#039;line&#039;,
                data: {
                    labels: rawLabels,
                    datasets: [{
                        label: &#039;USD to PKR&#039;,
                        data: rawData,
                        borderColor: &#039;#4f46e5&#039;,
                        borderWidth: 2,
                        backgroundColor: gradient,
                        fill: true,
                        tension: 0.3,
                        pointRadius: 0,
                        pointHoverRadius: 6,
                        pointHoverBackgroundColor: &#039;#4f46e5&#039;,
                        pointHoverBorderColor: &#039;#ffffff&#039;,
                        pointHoverBorderWidth: 2
                    }]
                },
                options: {
                    responsive: true,
                    maintainAspectRatio: false,
                    interaction: {
                        intersect: false,
                        mode: &#039;index&#039;
                    },
                    plugins: {
                        legend: { display: false },
                        tooltip: {
                            backgroundColor: &#039;#0f172a&#039;,
                            titleFont: { family: &#039;Plus Jakarta Sans&#039;, size: 12, weight: &#039;bold&#039; },
                            bodyFont: { family: &#039;Plus Jakarta Sans&#039;, size: 13 },
                            padding: 10,
                            cornerRadius: 8,
                            displayColors: false,
                            callbacks: {
                                label: function(context) {
                                    return &#039;Rate: &#039; + formatCurrency(context.parsed.y) + &#039; PKR&#039;;
                                }
                            }
                        }
                    },
                    scales: {
                        x: {
                            grid: { display: false },
                            ticks: {
                                font: { family: &#039;Plus Jakarta Sans&#039;, size: 11 },
                                color: &#039;#64748b&#039;,
                                maxTicksLimit: 8,
                                maxRotation: 0
                            }
                        },
                        y: {
                            grid: { color: &#039;#f1f5f9&#039; },
                            ticks: {
                                font: { family: &#039;Plus Jakarta Sans&#039;, size: 11 },
                                color: &#039;#64748b&#039;,
                                callback: function(value) {
                                    return value.toFixed(1);
                                }
                            }
                        }
                    }
                }
            });

            function updateRangeStats(labels, data) {
                if (!data || data.length === 0) return;

                const high = Math.max(...data);
                const low = Math.min(...data);
                const avg = data.reduce((a, b) =&gt; a + b, 0) / data.length;
                const startVal = data[0];
                const endVal = data[data.length - 1];
                const change = endVal - startVal;
                const changePct = (change / startVal) * 100;

                statHighEl.textContent = formatCurrency(high);
                statLowEl.textContent = formatCurrency(low);
                statAvgEl.textContent = formatCurrency(avg);

                const sign = change &gt;= 0 ? &#039;+&#039; : &#039;&#039;;
                statChangeEl.textContent = `${sign}${formatCurrency(change)} (${sign}${changePct.toFixed(2)}%)`;
                statChangeEl.style.color = change &gt; 0 ? &#039;#10b981&#039; : (change &lt; 0 ? &#039;#ef4444&#039; : &#039;#64748b&#039;);
            }

            // Timeframe filtering handler
            function setTimeframe(rangeCount) {
                let slicedLabels = rawLabels;
                let slicedData = rawData;

                if (rangeCount !== &#039;all&#039;) {
                    const count = parseInt(rangeCount, 10);
                    slicedLabels = rawLabels.slice(-count);
                    slicedData = rawData.slice(-count);
                }

                chartInstance.data.labels = slicedLabels;
                chartInstance.data.datasets[0].data = slicedData;

                // Adjust Y axis dynamic scaling
                const minVal = Math.min(...slicedData);
                const maxVal = Math.max(...slicedData);
                const padding = (maxVal - minVal) * 0.1 || 1;
                
                chartInstance.options.scales.y.min = Math.floor((minVal - padding) * 10) / 10;
                chartInstance.options.scales.y.max = Math.ceil((maxVal + padding) * 10) / 10;

                chartInstance.update();
                updateRangeStats(slicedLabels, slicedData);
            }

            // Setup timeframe button listeners
            document.querySelectorAll(&#039;#pkr-chart-embed .tf-btn&#039;).forEach(btn =&gt; {
                btn.addEventListener(&#039;click&#039;, (e) =&gt; {
                    document.querySelectorAll(&#039;#pkr-chart-embed .tf-btn&#039;).forEach(b =&gt; b.classList.remove(&#039;active&#039;));
                    e.target.classList.add(&#039;active&#039;);
                    setTimeframe(e.target.getAttribute(&#039;data-range&#039;));
                });
            });

            // Initial range load
            setTimeframe(&#039;all&#039;);
        })();
    &lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;
    &lt;script&gt;
        function reportHeight() {
            var h = document.documentElement.scrollHeight;
            window.parent.postMessage({ type: &#039;raw-html-resize&#039;, id: &#039;raw-html-6abcecf9dffa8&#039;, height: h }, &#039;*&#039;);
        }
        window.addEventListener(&#039;load&#039;, reportHeight);
        if (window.ResizeObserver) {
            new ResizeObserver(reportHeight).observe(document.body);
        }
    &lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;"></iframe>
<script>
if (!window._rawHtmlListenerAttached) {
    window._rawHtmlListenerAttached = true;
    window.addEventListener('message', function(event) {
        if (event.data && event.data.type === 'raw-html-resize' && event.data.id) {
            var iframe = document.getElementById(event.data.id);
            if (iframe) {
                var height = Math.min(Math.max(event.data.height, 50), 30000);
                iframe.style.height = height + 'px';
            }
        }
    });
}
</script>
<p><strong>The Pakistani rupee extended its marginal gains against the US dollar in the interbank market on Wednesday.</strong></p>
<p>The local unit closed the day at 277.11, a gain of Re0.01 against the greenback.</p>
<p><a href="https://www.brecorder.com/news/40441794">On Tuesday</a>, the Pakistani rupee settled at 277.12 against the dollar.</p>
<p>Internationally, <a href="https://www.brecorder.com/news/40441939/dollar-set-for-september-rise-mainly-at-euros-expense">the US dollar </a>stood near this year’s high versus the euro on Wednesday and was poised for the largest monthly rise against it ​for 14 months, powered by US growth and rising US interest rates in contrast to the energy and debt ‌worries swirling in Europe.</p>
<p>Overnight, the euro dipped to its lowest since May 2025, at $1.1312, and traded nearby at $1.1339 in Asia. The euro is also testing support around 178 yen.</p>
<p>Through September the US dollar is up nearly 2.5% on the euro, and the rising greenback also pushed its Australian counterpart below 70 cents for the first time since ​early August.</p>
<p>The dollar also made a 16-1/2-month top on the Swiss franc overnight at 0.8358 francs. The franc has suffered, in part, because investors have ​gone looking for low-yielding alternatives to yen to sell in search of carry elsewhere.</p>
<p>The yen has fallen out of favour as a short against ​the US dollar following US-Japan yen buying in July and August, which has been followed by warnings not to test their resolve, as well as a pickup ‌in the ⁠pace of Japanese rate hikes.</p>
<p>The US dollar has fallen 1.5% on the yen in September.</p>
<p>The Fed’s preferred inflation yardstick, US core PCE, is due out later on Wednesday though the market is focused on Friday’s US jobs report which, if strong, could reinforce expectations that US interest rates are on the rise.</p>
<p><a href="https://www.brecorder.com/news/40441938/oil-gains-as-stalled-us-iran-talks-trump-supply-recovery">Oil prices</a>, a key indicator of currency parity, rose on Wednesday and were on track for a big monthly gain as US-Iran talks aimed at ending their war stalled and tight fuel markets continued to underpin prices despite recovering Middle East crude supplies.</p>
<p>The Brent futures November contract, which expires on Wednesday, was up 57 cents, or 0.6%, to $103.16 a barrel at 0944 GMT. The more active December contract was up 94 cents to $97.10. US West Texas Intermediate crude was up 82 cents, or 0.9%, to $90.20.</p>
]]></content:encoded>
      <category>Markets</category>
      <guid>https://www.brecorder.com/news/40441989</guid>
      <pubDate>Wed, 30 Sep 2026 16:05:29 +0500</pubDate>
      <author>none@none.com (Recorder Report)</author>
      <media:content url="https://i.brecorder.com/large/2026/09/301552436a071ba.webp" type="image/webp" medium="image" height="320" width="480">
        <media:thumbnail url="https://i.brecorder.com/thumbnail/2026/09/301552436a071ba.webp"/>
        <media:title>Photo: Reuters</media:title>
      </media:content>
    </item>
    <item xmlns:default="http://purl.org/rss/1.0/modules/content/">
      <title>Pakistan rupee records gain against US dollar</title>
      <link>https://www.brecorder.com/news/40441794/pakistan-rupee-records-gain-against-us-dollar</link>
      <description>&lt;p&gt;&lt;strong&gt;The Pakistani rupee extended its marginal gains against the US dollar, appreciating 0.01% in the interbank market on Tuesday.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The local unit closed the day at 277.12, a gain of Re0.03 against the greenback.&lt;/p&gt;
    &lt;figure class='media  w-full sm:w-full  media--center  media--embed  media--uneven media--tweet' data-original-src='https://x.com/StateBank_Pak/status/2104896176210534848'&gt;
        &lt;div class='media__item  media__item--twitter  '&gt;&lt;span&gt;
    &lt;blockquote class="twitter-tweet" lang="en"&gt;
        &lt;a href="https://twitter.com/StateBank_Pak/status/2104896176210534848"&gt;&lt;/a&gt;
    &lt;/blockquote&gt;
&lt;/span&gt;&lt;/div&gt;
        
    &lt;/figure&gt;
&lt;p&gt;&lt;a href="https://www.brecorder.com/news/40441616"&gt;On Monday&lt;/a&gt;, the Pakistani rupee settled at 277.15 against the dollar.&lt;/p&gt;
&lt;p&gt;Finance Minister Muhammad Aurangzeb held a kick-off meeting with the International Monetary Fund (IMF) mission on Tuesday, read a statement released by the Ministry of Finance.&lt;/p&gt;
&lt;p&gt;“The IMF mission is in Islamabad for the fourth review of Pakistan’s Extended Fund Facility (EFF) arrangement and the third review of the Resilience and Sustainability Facility (RSF),” it said.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.brecorder.com/news/40441738/dollar-holds-near-two-month-peak-as-yields-rise-fed-data-looms"&gt;Internationally&lt;/a&gt;, the US dollar hovered near a two-month ​high on Tuesday as volatile oil prices and a rapid climb in Treasury yields lent support, although ‌gains were limited as traders awaited US data this week for clues on the Federal Reserve’s rate path.&lt;/p&gt;
&lt;p&gt;The euro traded near its weakest level in three months at $1.1367 after the European Central Bank’s chief signalled measured steps to quell inflation. Sterling was steady at $1.3248, also not far ​from a three-month trough.&lt;/p&gt;
&lt;p&gt;The dollar index, which measures the US currency against a basket of peers, was ​a touch higher at 101.2 and on track for a 1.8% advance this month, its best ⁠performance since June.&lt;/p&gt;
&lt;p&gt;Meanwhile, a deepening selloff ​in US Treasuries pushed yields to new peaks, with the 10-year benchmark at its highest since 2007 and the 30-year at its highest since 2004.&lt;/p&gt;
&lt;p&gt;The monetary policy-sensitive two-year yield also rose to its highest in more than two years, closing in on 5%.&lt;/p&gt;
&lt;p&gt;US data releases later in the week, including the PCE price index on Wednesday ​and nonfarm payrolls on Friday, ​are both expected to support ⁠the case for further Fed rate hikes.&lt;/p&gt;
&lt;p&gt;Markets are now seeing a more than 70% chance of a rate hike from the Federal Reserve at the end of October, up from ​57% a week ago, according to CME Group’s FedWatch tool.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.brecorder.com/news/40441737/oil-prices-rise-for-second-session-on-continued-middle-east-supply-concerns"&gt;Oil prices&lt;/a&gt;, a key indicator of currency parity, declined on Tuesday as investors focused on signs ​of recovering crude exports from the Middle East and lingering concerns over potential supply disruptions in ‌the region stemming from the US-Israeli war on Iran.&lt;/p&gt;
&lt;p&gt;Brent crude futures were down $1.96, or 1.86%, to $103.32 a barrel at 1306 GMT. US West Texas Intermediate crude was at $90.65, down $1.95, or 2.11%.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Inter-bank market rates for dollar on Tuesday&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;BID Rs 277.12&lt;/p&gt;
&lt;p&gt;OFFER Rs 277.32&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Open-market movement&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;In the open market, the PKR gained 12 paise for buying and 8 paise for selling against USD, closing at 278.05 and 279.15, respectively.&lt;/p&gt;
&lt;p&gt;Against Euro, the PKR gained 76 paise for buying and 71 paise for selling, closing at 315.51 and 318.65, respectively.&lt;/p&gt;
&lt;p&gt;Against UAE Dirham, the PKR remained unchanged for buying and gained 2 paise for selling, closing at 75.70 and 76.28, respectively.&lt;/p&gt;
&lt;p&gt;Against Saudi Riyal, the PKR gained 1 paisa for buying and 2 paise for selling, closing at 74.02 and 74.52, respectively.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Open-market rates for dollar on Tuesday&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;BID Rs 278.05&lt;/p&gt;
&lt;p&gt;OFFER Rs 279.15&lt;/p&gt;
</description>
      <content:encoded xmlns="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p><strong>The Pakistani rupee extended its marginal gains against the US dollar, appreciating 0.01% in the interbank market on Tuesday.</strong></p>
<p>The local unit closed the day at 277.12, a gain of Re0.03 against the greenback.</p>
    <figure class='media  w-full sm:w-full  media--center  media--embed  media--uneven media--tweet' data-original-src='https://x.com/StateBank_Pak/status/2104896176210534848'>
        <div class='media__item  media__item--twitter  '><span>
    <blockquote class="twitter-tweet" lang="en">
        <a href="https://twitter.com/StateBank_Pak/status/2104896176210534848"></a>
    </blockquote>
</span></div>
        
    </figure>
<p><a href="https://www.brecorder.com/news/40441616">On Monday</a>, the Pakistani rupee settled at 277.15 against the dollar.</p>
<p>Finance Minister Muhammad Aurangzeb held a kick-off meeting with the International Monetary Fund (IMF) mission on Tuesday, read a statement released by the Ministry of Finance.</p>
<p>“The IMF mission is in Islamabad for the fourth review of Pakistan’s Extended Fund Facility (EFF) arrangement and the third review of the Resilience and Sustainability Facility (RSF),” it said.</p>
<p><a href="https://www.brecorder.com/news/40441738/dollar-holds-near-two-month-peak-as-yields-rise-fed-data-looms">Internationally</a>, the US dollar hovered near a two-month ​high on Tuesday as volatile oil prices and a rapid climb in Treasury yields lent support, although ‌gains were limited as traders awaited US data this week for clues on the Federal Reserve’s rate path.</p>
<p>The euro traded near its weakest level in three months at $1.1367 after the European Central Bank’s chief signalled measured steps to quell inflation. Sterling was steady at $1.3248, also not far ​from a three-month trough.</p>
<p>The dollar index, which measures the US currency against a basket of peers, was ​a touch higher at 101.2 and on track for a 1.8% advance this month, its best ⁠performance since June.</p>
<p>Meanwhile, a deepening selloff ​in US Treasuries pushed yields to new peaks, with the 10-year benchmark at its highest since 2007 and the 30-year at its highest since 2004.</p>
<p>The monetary policy-sensitive two-year yield also rose to its highest in more than two years, closing in on 5%.</p>
<p>US data releases later in the week, including the PCE price index on Wednesday ​and nonfarm payrolls on Friday, ​are both expected to support ⁠the case for further Fed rate hikes.</p>
<p>Markets are now seeing a more than 70% chance of a rate hike from the Federal Reserve at the end of October, up from ​57% a week ago, according to CME Group’s FedWatch tool.</p>
<p><a href="https://www.brecorder.com/news/40441737/oil-prices-rise-for-second-session-on-continued-middle-east-supply-concerns">Oil prices</a>, a key indicator of currency parity, declined on Tuesday as investors focused on signs ​of recovering crude exports from the Middle East and lingering concerns over potential supply disruptions in ‌the region stemming from the US-Israeli war on Iran.</p>
<p>Brent crude futures were down $1.96, or 1.86%, to $103.32 a barrel at 1306 GMT. US West Texas Intermediate crude was at $90.65, down $1.95, or 2.11%.</p>
<p><strong>Inter-bank market rates for dollar on Tuesday</strong></p>
<p>BID Rs 277.12</p>
<p>OFFER Rs 277.32</p>
<p><strong>Open-market movement</strong></p>
<p>In the open market, the PKR gained 12 paise for buying and 8 paise for selling against USD, closing at 278.05 and 279.15, respectively.</p>
<p>Against Euro, the PKR gained 76 paise for buying and 71 paise for selling, closing at 315.51 and 318.65, respectively.</p>
<p>Against UAE Dirham, the PKR remained unchanged for buying and gained 2 paise for selling, closing at 75.70 and 76.28, respectively.</p>
<p>Against Saudi Riyal, the PKR gained 1 paisa for buying and 2 paise for selling, closing at 74.02 and 74.52, respectively.</p>
<p><strong>Open-market rates for dollar on Tuesday</strong></p>
<p>BID Rs 278.05</p>
<p>OFFER Rs 279.15</p>
]]></content:encoded>
      <category>Markets</category>
      <guid>https://www.brecorder.com/news/40441794</guid>
      <pubDate>Tue, 29 Sep 2026 20:33:57 +0500</pubDate>
      <author>none@none.com (Recorder Report)</author>
      <media:content url="https://i.brecorder.com/large/2026/09/29154816ce05d91.webp" type="image/webp" medium="image" height="320" width="480">
        <media:thumbnail url="https://i.brecorder.com/thumbnail/2026/09/29154816ce05d91.webp"/>
        <media:title>Photo: Reuters</media:title>
      </media:content>
    </item>
    <item xmlns:default="http://purl.org/rss/1.0/modules/content/">
      <title>Pakistan rupee gains against US dollar</title>
      <link>https://www.brecorder.com/news/40441616/pakistan-rupee-gains-against-us-dollar</link>
      <description>&lt;iframe id="raw-html-6aba780037b16" class="raw-html-embed" style="width: 100%; min-height: 50px; max-height: 30000px; border: none; overflow: hidden;" scrolling="no" srcdoc="&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html&amp;gt;
&amp;lt;head&amp;gt;
    &amp;lt;style&amp;gt;
        body { margin: 0; padding: 0; font-family: system-ui, -apple-system, sans-serif; overflow-wrap: anywhere; }
    &amp;lt;/style&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
    
&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html lang=&amp;quot;en&amp;quot;&amp;gt;
&amp;lt;head&amp;gt;
    &amp;lt;meta charset=&amp;quot;UTF-8&amp;quot;&amp;gt;
    &amp;lt;meta name=&amp;quot;viewport&amp;quot; content=&amp;quot;width=device-width, initial-scale=1.0&amp;quot;&amp;gt;
    &amp;lt;title&amp;gt;PKR vs USD Exchange Rate Chart&amp;lt;/title&amp;gt;
    &amp;lt;!-- Chart.js for interactive rendering --&amp;gt;
    &amp;lt;script src=&amp;quot;https://cdn.jsdelivr.net/npm/chart.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;
    
    &amp;lt;style&amp;gt;
        @import url(&amp;#039;https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght=400;500;600;700&amp;amp;display=swap&amp;#039;);

        #pkr-chart-embed {
            font-family: &amp;#039;Plus Jakarta Sans&amp;#039;, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, sans-serif;
            max-width: 1000px;
            width: 100%;
            margin: 24px auto;
            background-color: #ffffff;
            border: 1px solid #e2e8f0;
            border-radius: 20px;
            padding: 24px;
            box-shadow: 0 10px 25px -5px rgba(15, 23, 42, 0.05), 0 8px 10px -6px rgba(15, 23, 42, 0.05);
            color: #0f172a;
            box-sizing: border-box;
        }

        #pkr-chart-embed * { box-sizing: border-box; margin: 0; padding: 0; }

        #pkr-chart-embed .chart-header {
            display: flex;
            flex-direction: column;
            gap: 20px;
            margin-bottom: 20px;
            width: 100%;
        }

        #pkr-chart-embed .top-row {
            display: flex;
            flex-direction: row;
            justify-content: space-between;
            align-items: flex-start;
            gap: 20px;
        }

        #pkr-chart-embed .calculator-area {
            display: flex;
            flex-direction: column;
            gap: 8px;
            align-items: flex-start;
        }

        #pkr-chart-embed .main-title {
            font-size: 22px;
            font-weight: 700;
            color: #0f172a;
            letter-spacing: -0.025em;
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            gap: 10px;
        }

        #pkr-chart-embed .currency-badge {
            font-size: 11px;
            font-weight: 600;
            color: #4f46e5;
            background-color: rgba(79, 70, 229, 0.08);
            padding: 3px 10px;
            border-radius: 9999px;
            border: 1px solid rgba(79, 70, 229, 0.15);
            text-transform: uppercase;
        }

        #pkr-chart-embed .calculator-title {
            font-size: 10px;
            font-weight: 700;
            color: #64748b;
            text-transform: uppercase;
            letter-spacing: 0.05em;
        }

        #pkr-chart-embed .converter {
            display: flex;
            align-items: center;
            background: #f8fafc;
            border: 1px solid #e2e8f0;
            border-radius: 12px;
            padding: 4px;
            gap: 6px;
        }

        #pkr-chart-embed .converter-group {
            display: flex;
            align-items: center;
            background: #ffffff;
            border-radius: 8px;
            padding: 6px 10px;
            box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
            border: 1px solid #e2e8f0;
        }

        #pkr-chart-embed .converter-input {
            border: none;
            outline: none;
            width: 90px;
            font-family: inherit;
            font-weight: 700;
            color: #0f172a;
            font-size: 14px;
            text-align: right;
            background: transparent;
        }

        #pkr-chart-embed .converter-input.pkr-field { width: 120px; }

        #pkr-chart-embed .converter-label {
            font-size: 11px;
            font-weight: 700;
            color: #64748b;
            margin-left: 6px;
        }

        #pkr-chart-embed .equals-sign { color: #94a3b8; font-weight: 600; font-size: 16px; }

        #pkr-chart-embed .rate-badge-container {
            display: flex;
            flex-direction: column;
            align-items: flex-end;
            gap: 6px;
        }

        #pkr-chart-embed .rate-label-sub { text-align: right; }
        #pkr-chart-embed .rate-label-sub span:first-child { display: block; font-size: 9px; text-transform: uppercase; font-weight: 700; color: #64748b; }
        #pkr-chart-embed .rate-label-sub span:last-child { display: block; font-size: 12px; color: #334155; font-weight: 600; }

        #pkr-chart-embed .rate-badge {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            background: linear-gradient(135deg, #4f46e5, #3b82f6);
            color: #ffffff;
            font-weight: 700;
            font-size: 14px;
            padding: 8px 14px;
            border-radius: 12px;
            box-shadow: 0 8px 16px -3px rgba(79, 70, 229, 0.25);
        }

        #pkr-chart-embed .pulse-dot { width: 8px; height: 8px; border-radius: 50%; background-color: #ffffff; animation: pkrPulse 1.5s infinite; }

        @keyframes pkrPulse {
            0% { transform: scale(0.95); opacity: 0.6; }
            50% { transform: scale(1.15); opacity: 1; }
            100% { transform: scale(0.95); opacity: 0.6; }
        }

        #pkr-chart-embed .toolbar {
            display: flex;
            justify-content: space-between;
            align-items: center;
            flex-wrap: wrap;
            gap: 12px;
            margin-bottom: 16px;
            padding-bottom: 12px;
            border-bottom: 1px solid #f1f5f9;
        }

        #pkr-chart-embed .timeframe-selector {
            display: flex;
            gap: 4px;
            background: #f1f5f9;
            padding: 3px;
            border-radius: 10px;
        }

        #pkr-chart-embed .tf-btn {
            border: none;
            background: transparent;
            font-family: inherit;
            font-size: 12px;
            font-weight: 600;
            color: #64748b;
            padding: 5px 12px;
            border-radius: 7px;
            cursor: pointer;
            transition: all 0.2s ease;
        }

        #pkr-chart-embed .tf-btn.active {
            background: #ffffff;
            color: #4f46e5;
            box-shadow: 0 1px 3px rgba(0,0,0,0.1);
        }

        #pkr-chart-embed .stats-row {
            display: flex;
            gap: 16px;
            flex-wrap: wrap;
        }

        #pkr-chart-embed .stat-item {
            font-size: 12px;
            color: #64748b;
        }

        #pkr-chart-embed .stat-item strong {
            color: #0f172a;
            font-weight: 700;
        }

        #pkr-chart-embed .chart-canvas-container { position: relative; width: 100%; height: 380px; }

        @media (max-width: 768px) {
            #pkr-chart-embed .chart-canvas-container { height: 300px; }
            #pkr-chart-embed .top-row { flex-direction: column; align-items: flex-start; }
            #pkr-chart-embed .rate-badge-container { align-items: flex-start; }
            #pkr-chart-embed .rate-label-sub { text-align: left; }
            #pkr-chart-embed .toolbar { flex-direction: column; align-items: flex-start; }
        }
    &amp;lt;/style&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
    &amp;lt;div id=&amp;quot;pkr-chart-embed&amp;quot;&amp;gt;
        &amp;lt;div class=&amp;quot;chart-header&amp;quot;&amp;gt;
            &amp;lt;h1 class=&amp;quot;main-title&amp;quot;&amp;gt;
                &amp;lt;span&amp;gt;PKR vs USD Exchange Rate&amp;lt;/span&amp;gt;
                &amp;lt;span class=&amp;quot;currency-badge&amp;quot;&amp;gt;USD / PKR&amp;lt;/span&amp;gt;
            &amp;lt;/h1&amp;gt;

            &amp;lt;div class=&amp;quot;top-row&amp;quot;&amp;gt;
                &amp;lt;div class=&amp;quot;calculator-area&amp;quot;&amp;gt;
                    &amp;lt;span class=&amp;quot;calculator-title&amp;quot;&amp;gt;Calculator&amp;lt;/span&amp;gt;
                    &amp;lt;div class=&amp;quot;converter&amp;quot;&amp;gt;
                        &amp;lt;div class=&amp;quot;converter-group&amp;quot;&amp;gt;
                            &amp;lt;input type=&amp;quot;text&amp;quot; inputmode=&amp;quot;decimal&amp;quot; id=&amp;quot;usdInput&amp;quot; class=&amp;quot;converter-input&amp;quot; value=&amp;quot;1&amp;quot;&amp;gt;
                            &amp;lt;span class=&amp;quot;converter-label&amp;quot;&amp;gt;USD&amp;lt;/span&amp;gt;
                        &amp;lt;/div&amp;gt;
                        &amp;lt;span class=&amp;quot;equals-sign&amp;quot;&amp;gt;=&amp;lt;/span&amp;gt;
                        &amp;lt;div class=&amp;quot;converter-group&amp;quot;&amp;gt;
                            &amp;lt;input type=&amp;quot;text&amp;quot; inputmode=&amp;quot;decimal&amp;quot; id=&amp;quot;pkrInput&amp;quot; class=&amp;quot;converter-input pkr-field&amp;quot; value=&amp;quot;&amp;quot;&amp;gt;
                            &amp;lt;span class=&amp;quot;converter-label&amp;quot;&amp;gt;PKR&amp;lt;/span&amp;gt;
                        &amp;lt;/div&amp;gt;
                    &amp;lt;/div&amp;gt;
                &amp;lt;/div&amp;gt;

                &amp;lt;div class=&amp;quot;rate-badge-container&amp;quot;&amp;gt;
                    &amp;lt;div class=&amp;quot;rate-label-sub&amp;quot;&amp;gt;
                        &amp;lt;span&amp;gt;Latest Closing&amp;lt;/span&amp;gt;
                        &amp;lt;span id=&amp;quot;latestDateLabel&amp;quot;&amp;gt;28-Sep-26&amp;lt;/span&amp;gt;
                    &amp;lt;/div&amp;gt;
                    &amp;lt;div class=&amp;quot;rate-badge&amp;quot;&amp;gt;
                        &amp;lt;span class=&amp;quot;pulse-dot&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;
                        &amp;lt;span id=&amp;quot;latestBadgeRate&amp;quot;&amp;gt;277.15 PKR&amp;lt;/span&amp;gt;
                    &amp;lt;/div&amp;gt;
                &amp;lt;/div&amp;gt;
            &amp;lt;/div&amp;gt;
        &amp;lt;/div&amp;gt;

        &amp;lt;div class=&amp;quot;toolbar&amp;quot;&amp;gt;
            &amp;lt;div class=&amp;quot;timeframe-selector&amp;quot;&amp;gt;
                &amp;lt;button class=&amp;quot;tf-btn&amp;quot; data-range=&amp;quot;30&amp;quot;&amp;gt;1M&amp;lt;/button&amp;gt;
                &amp;lt;button class=&amp;quot;tf-btn&amp;quot; data-range=&amp;quot;90&amp;quot;&amp;gt;3M&amp;lt;/button&amp;gt;
                &amp;lt;button class=&amp;quot;tf-btn&amp;quot; data-range=&amp;quot;180&amp;quot;&amp;gt;6M&amp;lt;/button&amp;gt;
                &amp;lt;button class=&amp;quot;tf-btn&amp;quot; data-range=&amp;quot;365&amp;quot;&amp;gt;1Y&amp;lt;/button&amp;gt;
                &amp;lt;button class=&amp;quot;tf-btn active&amp;quot; data-range=&amp;quot;all&amp;quot;&amp;gt;ALL&amp;lt;/button&amp;gt;
            &amp;lt;/div&amp;gt;

            &amp;lt;div class=&amp;quot;stats-row&amp;quot;&amp;gt;
                &amp;lt;span class=&amp;quot;stat-item&amp;quot;&amp;gt;High: &amp;lt;strong id=&amp;quot;statHigh&amp;quot;&amp;gt;--&amp;lt;/strong&amp;gt;&amp;lt;/span&amp;gt;
                &amp;lt;span class=&amp;quot;stat-item&amp;quot;&amp;gt;Low: &amp;lt;strong id=&amp;quot;statLow&amp;quot;&amp;gt;--&amp;lt;/strong&amp;gt;&amp;lt;/span&amp;gt;
                &amp;lt;span class=&amp;quot;stat-item&amp;quot;&amp;gt;Avg: &amp;lt;strong id=&amp;quot;statAvg&amp;quot;&amp;gt;--&amp;lt;/strong&amp;gt;&amp;lt;/span&amp;gt;
                &amp;lt;span class=&amp;quot;stat-item&amp;quot;&amp;gt;Change: &amp;lt;strong id=&amp;quot;statChange&amp;quot;&amp;gt;--&amp;lt;/strong&amp;gt;&amp;lt;/span&amp;gt;
            &amp;lt;/div&amp;gt;
        &amp;lt;/div&amp;gt;

        &amp;lt;div class=&amp;quot;chart-canvas-container&amp;quot;&amp;gt;
            &amp;lt;canvas id=&amp;quot;closingRatesChart&amp;quot;&amp;gt;&amp;lt;/canvas&amp;gt;
        &amp;lt;/div&amp;gt;
    &amp;lt;/div&amp;gt;

    &amp;lt;script&amp;gt;
        (function() {
            // Full historical closing rate dataset with 28-Sep-26 appended
            const rawLabels = [&amp;quot;04-Mar-25&amp;quot;, &amp;quot;05-Mar-25&amp;quot;, &amp;quot;06-Mar-25&amp;quot;, &amp;quot;07-Mar-25&amp;quot;, &amp;quot;10-Mar-25&amp;quot;, &amp;quot;11-Mar-25&amp;quot;, &amp;quot;12-Mar-25&amp;quot;, &amp;quot;13-Mar-25&amp;quot;, &amp;quot;14-Mar-25&amp;quot;, &amp;quot;17-Mar-25&amp;quot;, &amp;quot;18-Mar-25&amp;quot;, &amp;quot;19-Mar-25&amp;quot;, &amp;quot;20-Mar-25&amp;quot;, &amp;quot;21-Mar-25&amp;quot;, &amp;quot;24-Mar-25&amp;quot;, &amp;quot;25-Mar-25&amp;quot;, &amp;quot;26-Mar-25&amp;quot;, &amp;quot;27-Mar-25&amp;quot;, &amp;quot;28-Mar-25&amp;quot;, &amp;quot;03-Apr-25&amp;quot;, &amp;quot;04-Apr-25&amp;quot;, &amp;quot;07-Apr-25&amp;quot;, &amp;quot;08-Apr-25&amp;quot;, &amp;quot;09-Apr-25&amp;quot;, &amp;quot;10-Apr-25&amp;quot;, &amp;quot;11-Apr-25&amp;quot;, &amp;quot;14-Apr-25&amp;quot;, &amp;quot;15-Apr-25&amp;quot;, &amp;quot;16-Apr-25&amp;quot;, &amp;quot;17-Apr-25&amp;quot;, &amp;quot;18-Apr-25&amp;quot;, &amp;quot;21-Apr-25&amp;quot;, &amp;quot;22-Apr-25&amp;quot;, &amp;quot;23-Apr-25&amp;quot;, &amp;quot;24-Apr-25&amp;quot;, &amp;quot;25-Apr-25&amp;quot;, &amp;quot;28-Apr-25&amp;quot;, &amp;quot;29-Apr-25&amp;quot;, &amp;quot;30-Apr-25&amp;quot;, &amp;quot;02-May-25&amp;quot;, &amp;quot;05-May-25&amp;quot;, &amp;quot;06-May-25&amp;quot;, &amp;quot;07-May-25&amp;quot;, &amp;quot;08-May-25&amp;quot;, &amp;quot;09-May-25&amp;quot;, &amp;quot;12-May-25&amp;quot;, &amp;quot;13-May-25&amp;quot;, &amp;quot;14-May-25&amp;quot;, &amp;quot;15-May-25&amp;quot;, &amp;quot;16-May-25&amp;quot;, &amp;quot;19-May-25&amp;quot;, &amp;quot;20-May-25&amp;quot;, &amp;quot;21-May-25&amp;quot;, &amp;quot;22-May-25&amp;quot;, &amp;quot;23-May-25&amp;quot;, &amp;quot;26-May-25&amp;quot;, &amp;quot;27-May-25&amp;quot;, &amp;quot;29-May-25&amp;quot;, &amp;quot;30-May-25&amp;quot;, &amp;quot;02-Jun-25&amp;quot;, &amp;quot;03-Jun-25&amp;quot;, &amp;quot;04-Jun-25&amp;quot;, &amp;quot;05-Jun-25&amp;quot;, &amp;quot;10-Jun-25&amp;quot;, &amp;quot;11-Jun-25&amp;quot;, &amp;quot;12-Jun-25&amp;quot;, &amp;quot;13-Jun-25&amp;quot;, &amp;quot;16-Jun-25&amp;quot;, &amp;quot;17-Jun-25&amp;quot;, &amp;quot;18-Jun-25&amp;quot;, &amp;quot;19-Jun-25&amp;quot;, &amp;quot;20-Jun-25&amp;quot;, &amp;quot;23-Jun-25&amp;quot;, &amp;quot;24-Jun-25&amp;quot;, &amp;quot;25-Jun-25&amp;quot;, &amp;quot;26-Jun-25&amp;quot;, &amp;quot;27-Jun-25&amp;quot;, &amp;quot;30-Jun-25&amp;quot;, &amp;quot;02-Jul-25&amp;quot;, &amp;quot;03-Jul-25&amp;quot;, &amp;quot;04-Jul-25&amp;quot;, &amp;quot;07-Jul-25&amp;quot;, &amp;quot;08-Jul-25&amp;quot;, &amp;quot;09-Jul-25&amp;quot;, &amp;quot;10-Jul-25&amp;quot;, &amp;quot;11-Jul-25&amp;quot;, &amp;quot;14-Jul-25&amp;quot;, &amp;quot;15-Jul-25&amp;quot;, &amp;quot;16-Jul-25&amp;quot;, &amp;quot;17-Jul-25&amp;quot;, &amp;quot;18-Jul-25&amp;quot;, &amp;quot;21-Jul-25&amp;quot;, &amp;quot;22-Jul-25&amp;quot;, &amp;quot;23-Jul-25&amp;quot;, &amp;quot;24-Jul-25&amp;quot;, &amp;quot;25-Jul-25&amp;quot;, &amp;quot;28-Jul-25&amp;quot;, &amp;quot;29-Jul-25&amp;quot;, &amp;quot;30-Jul-25&amp;quot;, &amp;quot;31-Jul-25&amp;quot;, &amp;quot;01-Aug-25&amp;quot;, &amp;quot;04-Aug-25&amp;quot;, &amp;quot;05-Aug-25&amp;quot;, &amp;quot;06-Aug-25&amp;quot;, &amp;quot;07-Aug-25&amp;quot;, &amp;quot;08-Aug-25&amp;quot;, &amp;quot;11-Aug-25&amp;quot;, &amp;quot;12-Aug-25&amp;quot;, &amp;quot;13-Aug-25&amp;quot;, &amp;quot;15-Aug-25&amp;quot;, &amp;quot;18-Aug-25&amp;quot;, &amp;quot;19-Aug-25&amp;quot;, &amp;quot;20-Aug-25&amp;quot;, &amp;quot;21-Aug-25&amp;quot;, &amp;quot;22-Aug-25&amp;quot;, &amp;quot;25-Aug-25&amp;quot;, &amp;quot;26-Aug-25&amp;quot;, &amp;quot;27-Aug-25&amp;quot;, &amp;quot;28-Aug-25&amp;quot;, &amp;quot;29-Aug-25&amp;quot;, &amp;quot;01-Sep-25&amp;quot;, &amp;quot;02-Sep-25&amp;quot;, &amp;quot;03-Sep-25&amp;quot;, &amp;quot;04-Sep-25&amp;quot;, &amp;quot;05-Sep-25&amp;quot;, &amp;quot;08-Sep-25&amp;quot;, &amp;quot;09-Sep-25&amp;quot;, &amp;quot;10-Sep-25&amp;quot;, &amp;quot;11-Sep-25&amp;quot;, &amp;quot;12-Sep-25&amp;quot;, &amp;quot;15-Sep-25&amp;quot;, &amp;quot;16-Sep-25&amp;quot;, &amp;quot;17-Sep-25&amp;quot;, &amp;quot;18-Sep-25&amp;quot;, &amp;quot;19-Sep-25&amp;quot;, &amp;quot;21-Sep-25&amp;quot;, &amp;quot;22-Sep-25&amp;quot;, &amp;quot;23-Sep-25&amp;quot;, &amp;quot;24-Sep-25&amp;quot;, &amp;quot;25-Sep-25&amp;quot;, &amp;quot;26-Sep-25&amp;quot;, &amp;quot;29-Sep-25&amp;quot;, &amp;quot;30-Sep-25&amp;quot;, &amp;quot;01-Oct-25&amp;quot;, &amp;quot;02-Oct-25&amp;quot;, &amp;quot;03-Oct-25&amp;quot;, &amp;quot;06-Oct-25&amp;quot;, &amp;quot;07-Oct-25&amp;quot;, &amp;quot;08-Oct-25&amp;quot;, &amp;quot;09-Oct-25&amp;quot;, &amp;quot;10-Oct-25&amp;quot;, &amp;quot;13-Oct-25&amp;quot;, &amp;quot;14-Oct-25&amp;quot;, &amp;quot;15-Oct-25&amp;quot;, &amp;quot;16-Oct-25&amp;quot;, &amp;quot;17-Oct-25&amp;quot;, &amp;quot;20-Oct-25&amp;quot;, &amp;quot;21-Oct-25&amp;quot;, &amp;quot;22-Oct-25&amp;quot;, &amp;quot;23-Oct-25&amp;quot;, &amp;quot;24-Oct-25&amp;quot;, &amp;quot;27-Oct-25&amp;quot;, &amp;quot;28-Oct-25&amp;quot;, &amp;quot;29-Oct-25&amp;quot;, &amp;quot;30-Oct-25&amp;quot;, &amp;quot;31-Oct-25&amp;quot;, &amp;quot;03-Nov-25&amp;quot;, &amp;quot;04-Nov-25&amp;quot;, &amp;quot;05-Nov-25&amp;quot;, &amp;quot;06-Nov-25&amp;quot;, &amp;quot;07-Nov-25&amp;quot;, &amp;quot;10-Nov-25&amp;quot;, &amp;quot;11-Nov-25&amp;quot;, &amp;quot;12-Nov-25&amp;quot;, &amp;quot;13-Nov-25&amp;quot;, &amp;quot;14-Nov-25&amp;quot;, &amp;quot;17-Nov-25&amp;quot;, &amp;quot;18-Nov-25&amp;quot;, &amp;quot;19-Nov-25&amp;quot;, &amp;quot;20-Nov-25&amp;quot;, &amp;quot;21-Nov-25&amp;quot;, &amp;quot;24-Nov-25&amp;quot;, &amp;quot;25-Nov-25&amp;quot;, &amp;quot;26-Nov-25&amp;quot;, &amp;quot;27-Nov-25&amp;quot;, &amp;quot;28-Nov-25&amp;quot;, &amp;quot;01-Dec-25&amp;quot;, &amp;quot;02-Dec-25&amp;quot;, &amp;quot;03-Dec-25&amp;quot;, &amp;quot;04-Dec-25&amp;quot;, &amp;quot;05-Dec-25&amp;quot;, &amp;quot;08-Dec-25&amp;quot;, &amp;quot;09-Dec-25&amp;quot;, &amp;quot;10-Dec-25&amp;quot;, &amp;quot;11-Dec-25&amp;quot;, &amp;quot;12-Dec-25&amp;quot;, &amp;quot;15-Dec-25&amp;quot;, &amp;quot;16-Dec-25&amp;quot;, &amp;quot;17-Dec-25&amp;quot;, &amp;quot;18-Dec-25&amp;quot;, &amp;quot;19-Dec-25&amp;quot;, &amp;quot;22-Dec-25&amp;quot;, &amp;quot;23-Dec-25&amp;quot;, &amp;quot;24-Dec-25&amp;quot;, &amp;quot;26-Dec-25&amp;quot;, &amp;quot;29-Dec-25&amp;quot;, &amp;quot;30-Dec-25&amp;quot;, &amp;quot;31-Dec-25&amp;quot;, &amp;quot;02-Jan-26&amp;quot;, &amp;quot;05-Jan-26&amp;quot;, &amp;quot;06-Jan-26&amp;quot;, &amp;quot;07-Jan-26&amp;quot;, &amp;quot;08-Jan-26&amp;quot;, &amp;quot;09-Jan-26&amp;quot;, &amp;quot;12-Jan-26&amp;quot;, &amp;quot;13-Jan-26&amp;quot;, &amp;quot;14-Jan-26&amp;quot;, &amp;quot;15-Jan-26&amp;quot;, &amp;quot;16-Jan-26&amp;quot;, &amp;quot;19-Jan-26&amp;quot;, &amp;quot;20-Jan-26&amp;quot;, &amp;quot;21-Jan-26&amp;quot;, &amp;quot;22-Jan-26&amp;quot;, &amp;quot;23-Jan-26&amp;quot;, &amp;quot;26-Jan-26&amp;quot;, &amp;quot;27-Jan-26&amp;quot;, &amp;quot;28-Jan-26&amp;quot;, &amp;quot;29-Jan-26&amp;quot;, &amp;quot;30-Jan-26&amp;quot;, &amp;quot;02-Feb-26&amp;quot;, &amp;quot;03-Feb-26&amp;quot;, &amp;quot;04-Feb-26&amp;quot;, &amp;quot;06-Feb-26&amp;quot;, &amp;quot;09-Feb-26&amp;quot;, &amp;quot;10-Feb-26&amp;quot;, &amp;quot;11-Feb-26&amp;quot;, &amp;quot;12-Feb-26&amp;quot;, &amp;quot;13-Feb-26&amp;quot;, &amp;quot;16-Feb-26&amp;quot;, &amp;quot;17-Feb-26&amp;quot;, &amp;quot;18-Feb-26&amp;quot;, &amp;quot;20-Feb-26&amp;quot;, &amp;quot;23-Feb-26&amp;quot;, &amp;quot;24-Feb-26&amp;quot;, &amp;quot;25-Feb-26&amp;quot;, &amp;quot;26-Feb-26&amp;quot;, &amp;quot;27-Feb-26&amp;quot;, &amp;quot;02-Mar-26&amp;quot;, &amp;quot;03-Mar-26&amp;quot;, &amp;quot;04-Mar-26&amp;quot;, &amp;quot;05-Mar-26&amp;quot;, &amp;quot;06-Mar-26&amp;quot;, &amp;quot;09-Mar-26&amp;quot;, &amp;quot;10-Mar-26&amp;quot;, &amp;quot;11-Mar-26&amp;quot;, &amp;quot;12-Mar-26&amp;quot;, &amp;quot;13-Mar-26&amp;quot;, &amp;quot;16-Mar-26&amp;quot;, &amp;quot;17-Mar-26&amp;quot;, &amp;quot;18-Mar-26&amp;quot;, &amp;quot;19-Mar-26&amp;quot;, &amp;quot;24-Mar-26&amp;quot;, &amp;quot;25-Mar-26&amp;quot;, &amp;quot;26-Mar-26&amp;quot;, &amp;quot;27-Mar-26&amp;quot;, &amp;quot;30-Mar-26&amp;quot;, &amp;quot;31-Mar-26&amp;quot;, &amp;quot;01-Apr-26&amp;quot;, &amp;quot;02-Apr-26&amp;quot;, &amp;quot;03-Apr-26&amp;quot;, &amp;quot;04-Apr-26&amp;quot;, &amp;quot;06-Apr-26&amp;quot;, &amp;quot;07-Apr-26&amp;quot;, &amp;quot;08-Apr-26&amp;quot;, &amp;quot;09-Apr-26&amp;quot;, &amp;quot;10-Apr-26&amp;quot;, &amp;quot;13-Apr-26&amp;quot;, &amp;quot;14-Apr-26&amp;quot;, &amp;quot;14-Apr-26&amp;quot;, &amp;quot;15-Apr-26&amp;quot;, &amp;quot;16-Apr-26&amp;quot;, &amp;quot;17-Apr-26&amp;quot;, &amp;quot;20-Apr-26&amp;quot;, &amp;quot;21-Apr-26&amp;quot;, &amp;quot;22-Apr-26&amp;quot;, &amp;quot;23-Apr-26&amp;quot;, &amp;quot;24-Apr-26&amp;quot;, &amp;quot;27-Apr-26&amp;quot;, &amp;quot;28-Apr-26&amp;quot;, &amp;quot;29-Apr-26&amp;quot;, &amp;quot;30-Apr-26&amp;quot;, &amp;quot;04-May-26&amp;quot;, &amp;quot;05-May-26&amp;quot;, &amp;quot;06-May-26&amp;quot;, &amp;quot;07-May-26&amp;quot;, &amp;quot;08-May-26&amp;quot;, &amp;quot;11-May-26&amp;quot;, &amp;quot;12-May-26&amp;quot;, &amp;quot;13-May-26&amp;quot;, &amp;quot;14-May-26&amp;quot;, &amp;quot;15-May-26&amp;quot;, &amp;quot;18-May-26&amp;quot;, &amp;quot;19-May-26&amp;quot;, &amp;quot;20-May-26&amp;quot;, &amp;quot;21-May-26&amp;quot;, &amp;quot;22-May-26&amp;quot;, &amp;quot;25-May-26&amp;quot;, &amp;quot;29-May-26&amp;quot;, &amp;quot;01-Jun-26&amp;quot;, &amp;quot;02-Jun-26&amp;quot;, &amp;quot;03-Jun-26&amp;quot;, &amp;quot;04-Jun-26&amp;quot;, &amp;quot;05-Jun-26&amp;quot;, &amp;quot;08-Jun-26&amp;quot;, &amp;quot;09-Jun-26&amp;quot;, &amp;quot;10-Jun-26&amp;quot;, &amp;quot;11-Jun-26&amp;quot;, &amp;quot;12-Jun-26&amp;quot;, &amp;quot;15-Jun-26&amp;quot;, &amp;quot;16-Jun-26&amp;quot;, &amp;quot;17-Jun-26&amp;quot;, &amp;quot;18-Jun-26&amp;quot;, &amp;quot;19-Jun-26&amp;quot;, &amp;quot;22-Jun-26&amp;quot;, &amp;quot;23-Jun-26&amp;quot;, &amp;quot;24-Jun-26&amp;quot;, &amp;quot;29-Jun-26&amp;quot;, &amp;quot;30-Jun-26&amp;quot;, &amp;quot;02-Jul-26&amp;quot;, &amp;quot;03-Jul-26&amp;quot;, &amp;quot;06-Jul-26&amp;quot;, &amp;quot;07-Jul-26&amp;quot;, &amp;quot;08-Jul-26&amp;quot;, &amp;quot;09-Jul-26&amp;quot;, &amp;quot;10-Jul-26&amp;quot;, &amp;quot;13-Jul-26&amp;quot;, &amp;quot;14-Jul-26&amp;quot;, &amp;quot;15-Jul-26&amp;quot;, &amp;quot;16-Jul-26&amp;quot;, &amp;quot;17-Jul-26&amp;quot;, &amp;quot;20-Jul-26&amp;quot;, &amp;quot;21-Jul-26&amp;quot;, &amp;quot;22-Jul-26&amp;quot;, &amp;quot;23-Jul-26&amp;quot;, &amp;quot;24-Jul-26&amp;quot;, &amp;quot;27-Jul-26&amp;quot;, &amp;quot;28-Jul-26&amp;quot;, &amp;quot;29-Jul-26&amp;quot;, &amp;quot;30-Jul-26&amp;quot;, &amp;quot;03-Aug-26&amp;quot;, &amp;quot;04-Aug-26&amp;quot;, &amp;quot;05-Aug-26&amp;quot;, &amp;quot;06-Aug-26&amp;quot;, &amp;quot;07-Aug-26&amp;quot;, &amp;quot;10-Aug-26&amp;quot;, &amp;quot;11-Aug-26&amp;quot;, &amp;quot;12-Aug-26&amp;quot;, &amp;quot;13-Aug-26&amp;quot;, &amp;quot;17-Aug-26&amp;quot;, &amp;quot;18-Aug-26&amp;quot;, &amp;quot;20-Aug-26&amp;quot;, &amp;quot;21-Aug-26&amp;quot;, &amp;quot;24-Aug-26&amp;quot;, &amp;quot;25-Aug-26&amp;quot;, &amp;quot;27-Aug-26&amp;quot;, &amp;quot;28-Aug-26&amp;quot;, &amp;quot;31-Aug-26&amp;quot;, &amp;quot;01-Sep-26&amp;quot;, &amp;quot;02-Sep-26&amp;quot;, &amp;quot;03-Sep-26&amp;quot;, &amp;quot;04-Sep-26&amp;quot;, &amp;quot;07-Sep-26&amp;quot;, &amp;quot;08-Sep-26&amp;quot;, &amp;quot;09-Sep-26&amp;quot;, &amp;quot;10-Sep-26&amp;quot;, &amp;quot;11-Sep-26&amp;quot;, &amp;quot;14-Sep-26&amp;quot;, &amp;quot;15-Sep-26&amp;quot;, &amp;quot;16-Sep-26&amp;quot;, &amp;quot;17-Sep-26&amp;quot;, &amp;quot;18-Sep-26&amp;quot;, &amp;quot;21-Sep-26&amp;quot;, &amp;quot;22-Sep-26&amp;quot;, &amp;quot;23-Sep-26&amp;quot;, &amp;quot;24-Sep-26&amp;quot;, &amp;quot;25-Sep-26&amp;quot;, &amp;quot;28-Sep-26&amp;quot;];
            
            const rawData = [279.77, 279.87, 279.82, 279.97, 280.07, 279.95, 279.97, 280.05, 280.21, 280.17, 280.27, 280.21, 280.22, 280.26, 280.37, 280.42, 280.26, 280.22, 280.16, 280.56, 280.47, 280.57, 280.73, 280.78, 280.56, 280.47, 280.60, 280.57, 280.46, 280.62, 280.72, 280.87, 280.77, 280.97, 281.07, 280.97, 281.07, 281.02, 280.97, 281.06, 281.22, 281.37, 281.47, 281.52, 281.71, 281.57, 281.67, 281.72, 281.61, 281.66, 281.77, 281.92, 281.97, 282.06, 281.97, 282.06, 282.17, 282.07, 282.02, 281.97, 282.12, 282.22, 282.17, 282.21, 282.47, 282.67, 282.96, 283.17, 283.41, 283.55, 283.64, 283.70, 283.87, 283.77, 283.72, 283.67, 283.72, 283.76, 283.95, 283.86, 283.97, 284.22, 284.36, 284.47, 284.56, 284.46, 284.72, 284.67, 284.96, 284.97, 284.87, 284.95, 284.97, 284.76, 284.22, 283.45, 283.21, 283.05, 282.95, 282.87, 282.72, 282.66, 282.57, 282.67, 282.56, 282.47, 282.45, 282.42, 282.22, 282.06, 282.01, 281.96, 281.95, 281.92, 281.90, 281.87, 281.86, 281.83, 281.80, 281.77, 281.75, 281.72, 281.71, 281.67, 281.65, 281.62, 281.61, 281.60, 281.56, 281.55, 281.52, 281.51, 281.50, 281.47, 281.46, 281.45, 281.46, 281.42, 281.43, 281.41, 281.37, 281.35, 281.32, 281.31, 281.27, 281.26, 281.25, 281.22, 281.21, 281.20, 281.17, 281.16, 281.15, 281.12, 281.11, 281.10, 281.07, 281.06, 281.05, 281.03, 281.02, 281.01, 280.97, 280.96, 280.92, 280.91, 280.90, 280.87, 280.86, 280.85, 280.82, 280.81, 280.78, 280.77, 280.76, 280.72, 280.71, 280.67, 280.66, 280.66, 280.65, 280.62, 280.61, 280.57, 280.56, 280.55, 280.52, 280.51, 280.47, 280.46, 280.45, 280.42, 280.41, 280.40, 280.37, 280.36, 280.32, 280.31, 280.30, 280.27, 280.26, 280.25, 280.22, 280.21, 280.20, 280.17, 280.16, 280.15, 280.12, 280.11, 280.10, 280.07, 280.06, 280.05, 280.02, 280.01, 280.00, 279.97, 279.96, 279.95, 279.92, 279.91, 279.90, 279.87, 279.86, 279.85, 279.82, 279.81, 279.80, 279.77, 279.76, 279.75, 279.72, 279.71, 279.70, 279.67, 279.66, 279.65, 279.62, 279.61, 279.60, 279.57, 279.56, 279.55, 279.52, 279.51, 279.50, 279.47, 279.46, 279.45, 279.42, 279.41, 279.40, 279.37, 279.36, 279.35, 279.32, 279.31, 279.30, 279.27, 279.26, 279.25, 279.22, 279.21, 279.20, 279.17, 279.16, 279.15, 279.12, 279.11, 279.10, 279.07, 279.06, 279.05, 279.02, 279.01, 279.00, 278.97, 278.96, 278.95, 278.92, 278.91, 278.90, 278.87, 278.86, 278.85, 278.82, 278.81, 278.80, 278.77, 278.76, 278.75, 278.72, 278.71, 278.70, 278.67, 278.66, 278.65, 278.62, 278.61, 278.60, 278.57, 278.56, 278.55, 278.52, 278.51, 278.50, 278.47, 278.46, 278.45, 278.42, 278.41, 278.40, 278.37, 278.36, 278.35, 278.32, 278.31, 278.30, 278.27, 278.26, 278.25, 278.22, 278.21, 278.20, 278.17, 278.16, 278.15, 278.12, 278.11, 278.10, 278.07, 278.06, 278.05, 278.02, 278.01, 278.00, 277.95, 277.95, 277.92, 277.91, 277.90, 277.87, 277.86, 277.85, 277.82, 277.81, 277.80, 277.77, 277.76, 277.75, 277.72, 277.71, 277.70, 277.67, 277.66, 277.65, 277.62, 277.61, 277.57, 277.56, 277.55, 277.52, 277.51, 277.50, 277.47, 277.46, 277.45, 277.42, 277.41, 277.40, 277.37, 277.36, 277.35, 277.32, 277.31, 277.30, 277.27, 277.26, 277.25, 277.22, 277.21, 277.20, 277.17, 277.16, 277.15];

            const currentExchangeRate = rawData[rawData.length - 1];
            const currentExchangeDate = rawLabels[rawLabels.length - 1];

            // DOM Elements
            const usdInput = document.getElementById(&amp;#039;usdInput&amp;#039;);
            const pkrInput = document.getElementById(&amp;#039;pkrInput&amp;#039;);
            const badgeEl = document.getElementById(&amp;#039;latestBadgeRate&amp;#039;);
            const dateLabelEl = document.getElementById(&amp;#039;latestDateLabel&amp;#039;);

            const statHighEl = document.getElementById(&amp;#039;statHigh&amp;#039;);
            const statLowEl = document.getElementById(&amp;#039;statLow&amp;#039;);
            const statAvgEl = document.getElementById(&amp;#039;statAvg&amp;#039;);
            const statChangeEl = document.getElementById(&amp;#039;statChange&amp;#039;);

            const formatCurrency = (val, maxDecimals = 2, minDecimals = 2) =&amp;gt; {
                if (isNaN(val) || val === null) return &amp;#039;--&amp;#039;;
                return val.toLocaleString(&amp;#039;en-US&amp;#039;, {
                    minimumFractionDigits: minDecimals,
                    maximumFractionDigits: maxDecimals
                });
            };

            const parseCurrency = (valStr) =&amp;gt; {
                if (!valStr) return NaN;
                return parseFloat(valStr.toString().replace(/,/g, &amp;#039;&amp;#039;));
            };

            // Set Initial Values in UI
            dateLabelEl.textContent = currentExchangeDate;
            badgeEl.textContent = formatCurrency(currentExchangeRate) + &amp;#039; PKR&amp;#039;;
            pkrInput.value = formatCurrency(currentExchangeRate);

            usdInput.addEventListener(&amp;#039;input&amp;#039;, (e) =&amp;gt; {
                const val = parseCurrency(e.target.value);
                if (isNaN(val)) {
                    pkrInput.value = &amp;#039;&amp;#039;;
                } else {
                    pkrInput.value = formatCurrency(val * currentExchangeRate);
                }
            });

            pkrInput.addEventListener(&amp;#039;input&amp;#039;, (e) =&amp;gt; {
                const val = parseCurrency(e.target.value);
                if (isNaN(val)) {
                    usdInput.value = &amp;#039;&amp;#039;;
                } else {
                    usdInput.value = formatCurrency(val / currentExchangeRate, 4, 2);
                }
            });

            usdInput.addEventListener(&amp;#039;blur&amp;#039;, (e) =&amp;gt; {
                const val = parseCurrency(e.target.value);
                if (!isNaN(val)) {
                    e.target.value = formatCurrency(val, 2, 0);
                }
            });

            pkrInput.addEventListener(&amp;#039;blur&amp;#039;, (e) =&amp;gt; {
                const val = parseCurrency(e.target.value);
                if (!isNaN(val)) {
                    e.target.value = formatCurrency(val, 2, 2);
                }
            });

            const ctx = document.getElementById(&amp;#039;closingRatesChart&amp;#039;).getContext(&amp;#039;2d&amp;#039;);
            
            // Create gradient fill
            const gradient = ctx.createLinearGradient(0, 0, 0, 350);
            gradient.addColorStop(0, &amp;#039;rgba(79, 70, 229, 0.25)&amp;#039;);
            gradient.addColorStop(1, &amp;#039;rgba(79, 70, 229, 0.0)&amp;#039;);

            let chartInstance = new Chart(ctx, {
                type: &amp;#039;line&amp;#039;,
                data: {
                    labels: rawLabels,
                    datasets: [{
                        label: &amp;#039;USD to PKR&amp;#039;,
                        data: rawData,
                        borderColor: &amp;#039;#4f46e5&amp;#039;,
                        borderWidth: 2,
                        backgroundColor: gradient,
                        fill: true,
                        tension: 0.3,
                        pointRadius: 0,
                        pointHoverRadius: 6,
                        pointHoverBackgroundColor: &amp;#039;#4f46e5&amp;#039;,
                        pointHoverBorderColor: &amp;#039;#ffffff&amp;#039;,
                        pointHoverBorderWidth: 2
                    }]
                },
                options: {
                    responsive: true,
                    maintainAspectRatio: false,
                    interaction: {
                        intersect: false,
                        mode: &amp;#039;index&amp;#039;
                    },
                    plugins: {
                        legend: { display: false },
                        tooltip: {
                            backgroundColor: &amp;#039;#0f172a&amp;#039;,
                            titleFont: { family: &amp;#039;Plus Jakarta Sans&amp;#039;, size: 12, weight: &amp;#039;bold&amp;#039; },
                            bodyFont: { family: &amp;#039;Plus Jakarta Sans&amp;#039;, size: 13 },
                            padding: 10,
                            cornerRadius: 8,
                            displayColors: false,
                            callbacks: {
                                label: function(context) {
                                    return &amp;#039;Rate: &amp;#039; + formatCurrency(context.parsed.y) + &amp;#039; PKR&amp;#039;;
                                }
                            }
                        }
                    },
                    scales: {
                        x: {
                            grid: { display: false },
                            ticks: {
                                font: { family: &amp;#039;Plus Jakarta Sans&amp;#039;, size: 11 },
                                color: &amp;#039;#64748b&amp;#039;,
                                maxTicksLimit: 8,
                                maxRotation: 0
                            }
                        },
                        y: {
                            grid: { color: &amp;#039;#f1f5f9&amp;#039; },
                            ticks: {
                                font: { family: &amp;#039;Plus Jakarta Sans&amp;#039;, size: 11 },
                                color: &amp;#039;#64748b&amp;#039;,
                                callback: function(value) {
                                    return value.toFixed(1);
                                }
                            }
                        }
                    }
                }
            });

            function updateRangeStats(labels, data) {
                if (!data || data.length === 0) return;

                const high = Math.max(...data);
                const low = Math.min(...data);
                const avg = data.reduce((a, b) =&amp;gt; a + b, 0) / data.length;
                const startVal = data[0];
                const endVal = data[data.length - 1];
                const change = endVal - startVal;
                const changePct = (change / startVal) * 100;

                statHighEl.textContent = formatCurrency(high);
                statLowEl.textContent = formatCurrency(low);
                statAvgEl.textContent = formatCurrency(avg);

                const sign = change &amp;gt;= 0 ? &amp;#039;+&amp;#039; : &amp;#039;&amp;#039;;
                statChangeEl.textContent = `${sign}${formatCurrency(change)} (${sign}${changePct.toFixed(2)}%)`;
                statChangeEl.style.color = change &amp;gt; 0 ? &amp;#039;#10b981&amp;#039; : (change &amp;lt; 0 ? &amp;#039;#ef4444&amp;#039; : &amp;#039;#64748b&amp;#039;);
            }

            // Timeframe filtering handler
            function setTimeframe(rangeCount) {
                let slicedLabels = rawLabels;
                let slicedData = rawData;

                if (rangeCount !== &amp;#039;all&amp;#039;) {
                    const count = parseInt(rangeCount, 10);
                    slicedLabels = rawLabels.slice(-count);
                    slicedData = rawData.slice(-count);
                }

                chartInstance.data.labels = slicedLabels;
                chartInstance.data.datasets[0].data = slicedData;

                // Adjust Y axis dynamic scaling
                const minVal = Math.min(...slicedData);
                const maxVal = Math.max(...slicedData);
                const padding = (maxVal - minVal) * 0.1 || 1;
                
                chartInstance.options.scales.y.min = Math.floor((minVal - padding) * 10) / 10;
                chartInstance.options.scales.y.max = Math.ceil((maxVal + padding) * 10) / 10;

                chartInstance.update();
                updateRangeStats(slicedLabels, slicedData);
            }

            // Setup timeframe button listeners
            document.querySelectorAll(&amp;#039;#pkr-chart-embed .tf-btn&amp;#039;).forEach(btn =&amp;gt; {
                btn.addEventListener(&amp;#039;click&amp;#039;, (e) =&amp;gt; {
                    document.querySelectorAll(&amp;#039;#pkr-chart-embed .tf-btn&amp;#039;).forEach(b =&amp;gt; b.classList.remove(&amp;#039;active&amp;#039;));
                    e.target.classList.add(&amp;#039;active&amp;#039;);
                    setTimeframe(e.target.getAttribute(&amp;#039;data-range&amp;#039;));
                });
            });

            // Initial range load
            setTimeframe(&amp;#039;all&amp;#039;);
        })();
    &amp;lt;/script&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;
    &amp;lt;script&amp;gt;
        function reportHeight() {
            var h = document.documentElement.scrollHeight;
            window.parent.postMessage({ type: &amp;#039;raw-html-resize&amp;#039;, id: &amp;#039;raw-html-6aba780037b16&amp;#039;, height: h }, &amp;#039;*&amp;#039;);
        }
        window.addEventListener(&amp;#039;load&amp;#039;, reportHeight);
        if (window.ResizeObserver) {
            new ResizeObserver(reportHeight).observe(document.body);
        }
    &amp;lt;/script&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;"&gt;&lt;/iframe&gt;
&lt;script&gt;
if (!window._rawHtmlListenerAttached) {
    window._rawHtmlListenerAttached = true;
    window.addEventListener('message', function(event) {
        if (event.data &amp;&amp; event.data.type === 'raw-html-resize' &amp;&amp; event.data.id) {
            var iframe = document.getElementById(event.data.id);
            if (iframe) {
                var height = Math.min(Math.max(event.data.height, 50), 30000);
                iframe.style.height = height + 'px';
            }
        }
    });
}
&lt;/script&gt;
&lt;p&gt;&lt;strong&gt;The Pakistani rupee extended its marginal gains against the US dollar in the inter-bank market on Monday.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The local unit closed the day at 277.15, a gain of Re0.01 against the greenback.&lt;/p&gt;
    &lt;figure class='media  w-full sm:w-full  media--center  media--embed  media--uneven media--tweet' data-original-src='https://x.com/StateBank_Pak/status/2104534890045915351'&gt;
        &lt;div class='media__item  media__item--twitter  '&gt;&lt;span&gt;
    &lt;blockquote class="twitter-tweet" lang="en"&gt;
        &lt;a href="https://twitter.com/StateBank_Pak/status/2104534890045915351"&gt;&lt;/a&gt;
    &lt;/blockquote&gt;
&lt;/span&gt;&lt;/div&gt;
        
    &lt;/figure&gt;
&lt;p&gt;During the previous week, the rupee &lt;a href="https://www.brecorder.com/news/40441226"&gt;closed at 277.16&lt;/a&gt; against the greenback, a gain of Re0.09 from 277.25 it had closed at a week earlier.&lt;/p&gt;
&lt;p&gt;Internationally, &lt;a href="https://www.brecorder.com/news/40441552/dollar-firms-as-us-iran-tensions-lift-oil-hawkish-fed-bets-build"&gt;the US dollar inched higher &lt;/a&gt;to hold near a two-month ​high on Monday, as the US-Iran standoff continued to push up oil prices while investors looked ‌ahead to a data-packed week for more clues on inflation and central banks’ moves.&lt;/p&gt;
&lt;p&gt;The euro and sterling were both 0.1% weaker against the dollar, last at $1.1379 and $1.3232, respectively, hovering near multi-month lows against the greenback.&lt;/p&gt;
&lt;p&gt;The dollar index, which measures the US ​currency against a basket of peers, was a touch higher at 101.15 and on track for ​a 1.7% gain in September, its best month since June.&lt;/p&gt;
&lt;p&gt;The market’s focus is set to turn to US data releases as the week unfolds, with the PCE ‌Index ⁠on Wednesday and non-farm payrolls on Friday both expected to be consistent with further policy tightening.&lt;/p&gt;
&lt;p&gt;Currently, markets are seeing a 65% chance of a rate hike from the Fed when the central bank meets next at the end of October, according to CME Group’s FedWatch tool.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.brecorder.com/news/40441548/oil-gains-over-2-as-us-iran-peace-talks-in-stalemate"&gt;Oil prices&lt;/a&gt;, a key indicator of currency parity, rose about 2% on Monday after US President Donald Trump rejected a peace deal from Iran to resolve their conflict and reopen the Strait of Hormuz.&lt;/p&gt;
&lt;p&gt;Brent futures were up $1.68, or 1.6%, at $106 barrel by 1320 GMT, after hitting their highest since September 15 earlier in the session. US West Texas Intermediate crude was at $94.10 a barrel, up $1.69, or 1.8%.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Inter-bank market rates for dollar on Monday&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;BID Rs 277.15&lt;/p&gt;
&lt;p&gt;OFFER Rs 277.35&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Open-market movement&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;In the open market, the PKR lost 5 paise for buying and 3 paise for selling against USD, closing at 278.17 and 279.23, respectively.&lt;/p&gt;
&lt;p&gt;Against Euro, the PKR gained 16 paise for buying and 13 paise for selling, closing at 316.27 and 319.36, respectively.&lt;/p&gt;
&lt;p&gt;Against UAE Dirham, the PKR gained 2 paise for buying and lost 1 paisa for selling, closing at 75.70 and 76.30, respectively.&lt;/p&gt;
&lt;p&gt;Against Saudi Riyal, the PKR lost 1 paisa for buying and 2 paise for selling, closing at 74.03 and 74.54, respectively.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Open-market rates for dollar on Monday&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;BID Rs 278.17&lt;/p&gt;
&lt;p&gt;OFFER Rs 279.23&lt;/p&gt;
</description>
      <content:encoded xmlns="http://purl.org/rss/1.0/modules/content/"><![CDATA[<iframe id="raw-html-6aba780037b16" class="raw-html-embed" style="width: 100%; min-height: 50px; max-height: 30000px; border: none; overflow: hidden;" scrolling="no" srcdoc="&lt;!DOCTYPE html&gt;
&lt;html&gt;
&lt;head&gt;
    &lt;style&gt;
        body { margin: 0; padding: 0; font-family: system-ui, -apple-system, sans-serif; overflow-wrap: anywhere; }
    &lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
    
&lt;!DOCTYPE html&gt;
&lt;html lang=&quot;en&quot;&gt;
&lt;head&gt;
    &lt;meta charset=&quot;UTF-8&quot;&gt;
    &lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1.0&quot;&gt;
    &lt;title&gt;PKR vs USD Exchange Rate Chart&lt;/title&gt;
    &lt;!-- Chart.js for interactive rendering --&gt;
    &lt;script src=&quot;https://cdn.jsdelivr.net/npm/chart.js&quot;&gt;&lt;/script&gt;
    
    &lt;style&gt;
        @import url(&#039;https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght=400;500;600;700&amp;display=swap&#039;);

        #pkr-chart-embed {
            font-family: &#039;Plus Jakarta Sans&#039;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, Roboto, sans-serif;
            max-width: 1000px;
            width: 100%;
            margin: 24px auto;
            background-color: #ffffff;
            border: 1px solid #e2e8f0;
            border-radius: 20px;
            padding: 24px;
            box-shadow: 0 10px 25px -5px rgba(15, 23, 42, 0.05), 0 8px 10px -6px rgba(15, 23, 42, 0.05);
            color: #0f172a;
            box-sizing: border-box;
        }

        #pkr-chart-embed * { box-sizing: border-box; margin: 0; padding: 0; }

        #pkr-chart-embed .chart-header {
            display: flex;
            flex-direction: column;
            gap: 20px;
            margin-bottom: 20px;
            width: 100%;
        }

        #pkr-chart-embed .top-row {
            display: flex;
            flex-direction: row;
            justify-content: space-between;
            align-items: flex-start;
            gap: 20px;
        }

        #pkr-chart-embed .calculator-area {
            display: flex;
            flex-direction: column;
            gap: 8px;
            align-items: flex-start;
        }

        #pkr-chart-embed .main-title {
            font-size: 22px;
            font-weight: 700;
            color: #0f172a;
            letter-spacing: -0.025em;
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            gap: 10px;
        }

        #pkr-chart-embed .currency-badge {
            font-size: 11px;
            font-weight: 600;
            color: #4f46e5;
            background-color: rgba(79, 70, 229, 0.08);
            padding: 3px 10px;
            border-radius: 9999px;
            border: 1px solid rgba(79, 70, 229, 0.15);
            text-transform: uppercase;
        }

        #pkr-chart-embed .calculator-title {
            font-size: 10px;
            font-weight: 700;
            color: #64748b;
            text-transform: uppercase;
            letter-spacing: 0.05em;
        }

        #pkr-chart-embed .converter {
            display: flex;
            align-items: center;
            background: #f8fafc;
            border: 1px solid #e2e8f0;
            border-radius: 12px;
            padding: 4px;
            gap: 6px;
        }

        #pkr-chart-embed .converter-group {
            display: flex;
            align-items: center;
            background: #ffffff;
            border-radius: 8px;
            padding: 6px 10px;
            box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
            border: 1px solid #e2e8f0;
        }

        #pkr-chart-embed .converter-input {
            border: none;
            outline: none;
            width: 90px;
            font-family: inherit;
            font-weight: 700;
            color: #0f172a;
            font-size: 14px;
            text-align: right;
            background: transparent;
        }

        #pkr-chart-embed .converter-input.pkr-field { width: 120px; }

        #pkr-chart-embed .converter-label {
            font-size: 11px;
            font-weight: 700;
            color: #64748b;
            margin-left: 6px;
        }

        #pkr-chart-embed .equals-sign { color: #94a3b8; font-weight: 600; font-size: 16px; }

        #pkr-chart-embed .rate-badge-container {
            display: flex;
            flex-direction: column;
            align-items: flex-end;
            gap: 6px;
        }

        #pkr-chart-embed .rate-label-sub { text-align: right; }
        #pkr-chart-embed .rate-label-sub span:first-child { display: block; font-size: 9px; text-transform: uppercase; font-weight: 700; color: #64748b; }
        #pkr-chart-embed .rate-label-sub span:last-child { display: block; font-size: 12px; color: #334155; font-weight: 600; }

        #pkr-chart-embed .rate-badge {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            background: linear-gradient(135deg, #4f46e5, #3b82f6);
            color: #ffffff;
            font-weight: 700;
            font-size: 14px;
            padding: 8px 14px;
            border-radius: 12px;
            box-shadow: 0 8px 16px -3px rgba(79, 70, 229, 0.25);
        }

        #pkr-chart-embed .pulse-dot { width: 8px; height: 8px; border-radius: 50%; background-color: #ffffff; animation: pkrPulse 1.5s infinite; }

        @keyframes pkrPulse {
            0% { transform: scale(0.95); opacity: 0.6; }
            50% { transform: scale(1.15); opacity: 1; }
            100% { transform: scale(0.95); opacity: 0.6; }
        }

        #pkr-chart-embed .toolbar {
            display: flex;
            justify-content: space-between;
            align-items: center;
            flex-wrap: wrap;
            gap: 12px;
            margin-bottom: 16px;
            padding-bottom: 12px;
            border-bottom: 1px solid #f1f5f9;
        }

        #pkr-chart-embed .timeframe-selector {
            display: flex;
            gap: 4px;
            background: #f1f5f9;
            padding: 3px;
            border-radius: 10px;
        }

        #pkr-chart-embed .tf-btn {
            border: none;
            background: transparent;
            font-family: inherit;
            font-size: 12px;
            font-weight: 600;
            color: #64748b;
            padding: 5px 12px;
            border-radius: 7px;
            cursor: pointer;
            transition: all 0.2s ease;
        }

        #pkr-chart-embed .tf-btn.active {
            background: #ffffff;
            color: #4f46e5;
            box-shadow: 0 1px 3px rgba(0,0,0,0.1);
        }

        #pkr-chart-embed .stats-row {
            display: flex;
            gap: 16px;
            flex-wrap: wrap;
        }

        #pkr-chart-embed .stat-item {
            font-size: 12px;
            color: #64748b;
        }

        #pkr-chart-embed .stat-item strong {
            color: #0f172a;
            font-weight: 700;
        }

        #pkr-chart-embed .chart-canvas-container { position: relative; width: 100%; height: 380px; }

        @media (max-width: 768px) {
            #pkr-chart-embed .chart-canvas-container { height: 300px; }
            #pkr-chart-embed .top-row { flex-direction: column; align-items: flex-start; }
            #pkr-chart-embed .rate-badge-container { align-items: flex-start; }
            #pkr-chart-embed .rate-label-sub { text-align: left; }
            #pkr-chart-embed .toolbar { flex-direction: column; align-items: flex-start; }
        }
    &lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
    &lt;div id=&quot;pkr-chart-embed&quot;&gt;
        &lt;div class=&quot;chart-header&quot;&gt;
            &lt;h1 class=&quot;main-title&quot;&gt;
                &lt;span&gt;PKR vs USD Exchange Rate&lt;/span&gt;
                &lt;span class=&quot;currency-badge&quot;&gt;USD / PKR&lt;/span&gt;
            &lt;/h1&gt;

            &lt;div class=&quot;top-row&quot;&gt;
                &lt;div class=&quot;calculator-area&quot;&gt;
                    &lt;span class=&quot;calculator-title&quot;&gt;Calculator&lt;/span&gt;
                    &lt;div class=&quot;converter&quot;&gt;
                        &lt;div class=&quot;converter-group&quot;&gt;
                            &lt;input type=&quot;text&quot; inputmode=&quot;decimal&quot; id=&quot;usdInput&quot; class=&quot;converter-input&quot; value=&quot;1&quot;&gt;
                            &lt;span class=&quot;converter-label&quot;&gt;USD&lt;/span&gt;
                        &lt;/div&gt;
                        &lt;span class=&quot;equals-sign&quot;&gt;=&lt;/span&gt;
                        &lt;div class=&quot;converter-group&quot;&gt;
                            &lt;input type=&quot;text&quot; inputmode=&quot;decimal&quot; id=&quot;pkrInput&quot; class=&quot;converter-input pkr-field&quot; value=&quot;&quot;&gt;
                            &lt;span class=&quot;converter-label&quot;&gt;PKR&lt;/span&gt;
                        &lt;/div&gt;
                    &lt;/div&gt;
                &lt;/div&gt;

                &lt;div class=&quot;rate-badge-container&quot;&gt;
                    &lt;div class=&quot;rate-label-sub&quot;&gt;
                        &lt;span&gt;Latest Closing&lt;/span&gt;
                        &lt;span id=&quot;latestDateLabel&quot;&gt;28-Sep-26&lt;/span&gt;
                    &lt;/div&gt;
                    &lt;div class=&quot;rate-badge&quot;&gt;
                        &lt;span class=&quot;pulse-dot&quot;&gt;&lt;/span&gt;
                        &lt;span id=&quot;latestBadgeRate&quot;&gt;277.15 PKR&lt;/span&gt;
                    &lt;/div&gt;
                &lt;/div&gt;
            &lt;/div&gt;
        &lt;/div&gt;

        &lt;div class=&quot;toolbar&quot;&gt;
            &lt;div class=&quot;timeframe-selector&quot;&gt;
                &lt;button class=&quot;tf-btn&quot; data-range=&quot;30&quot;&gt;1M&lt;/button&gt;
                &lt;button class=&quot;tf-btn&quot; data-range=&quot;90&quot;&gt;3M&lt;/button&gt;
                &lt;button class=&quot;tf-btn&quot; data-range=&quot;180&quot;&gt;6M&lt;/button&gt;
                &lt;button class=&quot;tf-btn&quot; data-range=&quot;365&quot;&gt;1Y&lt;/button&gt;
                &lt;button class=&quot;tf-btn active&quot; data-range=&quot;all&quot;&gt;ALL&lt;/button&gt;
            &lt;/div&gt;

            &lt;div class=&quot;stats-row&quot;&gt;
                &lt;span class=&quot;stat-item&quot;&gt;High: &lt;strong id=&quot;statHigh&quot;&gt;--&lt;/strong&gt;&lt;/span&gt;
                &lt;span class=&quot;stat-item&quot;&gt;Low: &lt;strong id=&quot;statLow&quot;&gt;--&lt;/strong&gt;&lt;/span&gt;
                &lt;span class=&quot;stat-item&quot;&gt;Avg: &lt;strong id=&quot;statAvg&quot;&gt;--&lt;/strong&gt;&lt;/span&gt;
                &lt;span class=&quot;stat-item&quot;&gt;Change: &lt;strong id=&quot;statChange&quot;&gt;--&lt;/strong&gt;&lt;/span&gt;
            &lt;/div&gt;
        &lt;/div&gt;

        &lt;div class=&quot;chart-canvas-container&quot;&gt;
            &lt;canvas id=&quot;closingRatesChart&quot;&gt;&lt;/canvas&gt;
        &lt;/div&gt;
    &lt;/div&gt;

    &lt;script&gt;
        (function() {
            // Full historical closing rate dataset with 28-Sep-26 appended
            const rawLabels = [&quot;04-Mar-25&quot;, &quot;05-Mar-25&quot;, &quot;06-Mar-25&quot;, &quot;07-Mar-25&quot;, &quot;10-Mar-25&quot;, &quot;11-Mar-25&quot;, &quot;12-Mar-25&quot;, &quot;13-Mar-25&quot;, &quot;14-Mar-25&quot;, &quot;17-Mar-25&quot;, &quot;18-Mar-25&quot;, &quot;19-Mar-25&quot;, &quot;20-Mar-25&quot;, &quot;21-Mar-25&quot;, &quot;24-Mar-25&quot;, &quot;25-Mar-25&quot;, &quot;26-Mar-25&quot;, &quot;27-Mar-25&quot;, &quot;28-Mar-25&quot;, &quot;03-Apr-25&quot;, &quot;04-Apr-25&quot;, &quot;07-Apr-25&quot;, &quot;08-Apr-25&quot;, &quot;09-Apr-25&quot;, &quot;10-Apr-25&quot;, &quot;11-Apr-25&quot;, &quot;14-Apr-25&quot;, &quot;15-Apr-25&quot;, &quot;16-Apr-25&quot;, &quot;17-Apr-25&quot;, &quot;18-Apr-25&quot;, &quot;21-Apr-25&quot;, &quot;22-Apr-25&quot;, &quot;23-Apr-25&quot;, &quot;24-Apr-25&quot;, &quot;25-Apr-25&quot;, &quot;28-Apr-25&quot;, &quot;29-Apr-25&quot;, &quot;30-Apr-25&quot;, &quot;02-May-25&quot;, &quot;05-May-25&quot;, &quot;06-May-25&quot;, &quot;07-May-25&quot;, &quot;08-May-25&quot;, &quot;09-May-25&quot;, &quot;12-May-25&quot;, &quot;13-May-25&quot;, &quot;14-May-25&quot;, &quot;15-May-25&quot;, &quot;16-May-25&quot;, &quot;19-May-25&quot;, &quot;20-May-25&quot;, &quot;21-May-25&quot;, &quot;22-May-25&quot;, &quot;23-May-25&quot;, &quot;26-May-25&quot;, &quot;27-May-25&quot;, &quot;29-May-25&quot;, &quot;30-May-25&quot;, &quot;02-Jun-25&quot;, &quot;03-Jun-25&quot;, &quot;04-Jun-25&quot;, &quot;05-Jun-25&quot;, &quot;10-Jun-25&quot;, &quot;11-Jun-25&quot;, &quot;12-Jun-25&quot;, &quot;13-Jun-25&quot;, &quot;16-Jun-25&quot;, &quot;17-Jun-25&quot;, &quot;18-Jun-25&quot;, &quot;19-Jun-25&quot;, &quot;20-Jun-25&quot;, &quot;23-Jun-25&quot;, &quot;24-Jun-25&quot;, &quot;25-Jun-25&quot;, &quot;26-Jun-25&quot;, &quot;27-Jun-25&quot;, &quot;30-Jun-25&quot;, &quot;02-Jul-25&quot;, &quot;03-Jul-25&quot;, &quot;04-Jul-25&quot;, &quot;07-Jul-25&quot;, &quot;08-Jul-25&quot;, &quot;09-Jul-25&quot;, &quot;10-Jul-25&quot;, &quot;11-Jul-25&quot;, &quot;14-Jul-25&quot;, &quot;15-Jul-25&quot;, &quot;16-Jul-25&quot;, &quot;17-Jul-25&quot;, &quot;18-Jul-25&quot;, &quot;21-Jul-25&quot;, &quot;22-Jul-25&quot;, &quot;23-Jul-25&quot;, &quot;24-Jul-25&quot;, &quot;25-Jul-25&quot;, &quot;28-Jul-25&quot;, &quot;29-Jul-25&quot;, &quot;30-Jul-25&quot;, &quot;31-Jul-25&quot;, &quot;01-Aug-25&quot;, &quot;04-Aug-25&quot;, &quot;05-Aug-25&quot;, &quot;06-Aug-25&quot;, &quot;07-Aug-25&quot;, &quot;08-Aug-25&quot;, &quot;11-Aug-25&quot;, &quot;12-Aug-25&quot;, &quot;13-Aug-25&quot;, &quot;15-Aug-25&quot;, &quot;18-Aug-25&quot;, &quot;19-Aug-25&quot;, &quot;20-Aug-25&quot;, &quot;21-Aug-25&quot;, &quot;22-Aug-25&quot;, &quot;25-Aug-25&quot;, &quot;26-Aug-25&quot;, &quot;27-Aug-25&quot;, &quot;28-Aug-25&quot;, &quot;29-Aug-25&quot;, &quot;01-Sep-25&quot;, &quot;02-Sep-25&quot;, &quot;03-Sep-25&quot;, &quot;04-Sep-25&quot;, &quot;05-Sep-25&quot;, &quot;08-Sep-25&quot;, &quot;09-Sep-25&quot;, &quot;10-Sep-25&quot;, &quot;11-Sep-25&quot;, &quot;12-Sep-25&quot;, &quot;15-Sep-25&quot;, &quot;16-Sep-25&quot;, &quot;17-Sep-25&quot;, &quot;18-Sep-25&quot;, &quot;19-Sep-25&quot;, &quot;21-Sep-25&quot;, &quot;22-Sep-25&quot;, &quot;23-Sep-25&quot;, &quot;24-Sep-25&quot;, &quot;25-Sep-25&quot;, &quot;26-Sep-25&quot;, &quot;29-Sep-25&quot;, &quot;30-Sep-25&quot;, &quot;01-Oct-25&quot;, &quot;02-Oct-25&quot;, &quot;03-Oct-25&quot;, &quot;06-Oct-25&quot;, &quot;07-Oct-25&quot;, &quot;08-Oct-25&quot;, &quot;09-Oct-25&quot;, &quot;10-Oct-25&quot;, &quot;13-Oct-25&quot;, &quot;14-Oct-25&quot;, &quot;15-Oct-25&quot;, &quot;16-Oct-25&quot;, &quot;17-Oct-25&quot;, &quot;20-Oct-25&quot;, &quot;21-Oct-25&quot;, &quot;22-Oct-25&quot;, &quot;23-Oct-25&quot;, &quot;24-Oct-25&quot;, &quot;27-Oct-25&quot;, &quot;28-Oct-25&quot;, &quot;29-Oct-25&quot;, &quot;30-Oct-25&quot;, &quot;31-Oct-25&quot;, &quot;03-Nov-25&quot;, &quot;04-Nov-25&quot;, &quot;05-Nov-25&quot;, &quot;06-Nov-25&quot;, &quot;07-Nov-25&quot;, &quot;10-Nov-25&quot;, &quot;11-Nov-25&quot;, &quot;12-Nov-25&quot;, &quot;13-Nov-25&quot;, &quot;14-Nov-25&quot;, &quot;17-Nov-25&quot;, &quot;18-Nov-25&quot;, &quot;19-Nov-25&quot;, &quot;20-Nov-25&quot;, &quot;21-Nov-25&quot;, &quot;24-Nov-25&quot;, &quot;25-Nov-25&quot;, &quot;26-Nov-25&quot;, &quot;27-Nov-25&quot;, &quot;28-Nov-25&quot;, &quot;01-Dec-25&quot;, &quot;02-Dec-25&quot;, &quot;03-Dec-25&quot;, &quot;04-Dec-25&quot;, &quot;05-Dec-25&quot;, &quot;08-Dec-25&quot;, &quot;09-Dec-25&quot;, &quot;10-Dec-25&quot;, &quot;11-Dec-25&quot;, &quot;12-Dec-25&quot;, &quot;15-Dec-25&quot;, &quot;16-Dec-25&quot;, &quot;17-Dec-25&quot;, &quot;18-Dec-25&quot;, &quot;19-Dec-25&quot;, &quot;22-Dec-25&quot;, &quot;23-Dec-25&quot;, &quot;24-Dec-25&quot;, &quot;26-Dec-25&quot;, &quot;29-Dec-25&quot;, &quot;30-Dec-25&quot;, &quot;31-Dec-25&quot;, &quot;02-Jan-26&quot;, &quot;05-Jan-26&quot;, &quot;06-Jan-26&quot;, &quot;07-Jan-26&quot;, &quot;08-Jan-26&quot;, &quot;09-Jan-26&quot;, &quot;12-Jan-26&quot;, &quot;13-Jan-26&quot;, &quot;14-Jan-26&quot;, &quot;15-Jan-26&quot;, &quot;16-Jan-26&quot;, &quot;19-Jan-26&quot;, &quot;20-Jan-26&quot;, &quot;21-Jan-26&quot;, &quot;22-Jan-26&quot;, &quot;23-Jan-26&quot;, &quot;26-Jan-26&quot;, &quot;27-Jan-26&quot;, &quot;28-Jan-26&quot;, &quot;29-Jan-26&quot;, &quot;30-Jan-26&quot;, &quot;02-Feb-26&quot;, &quot;03-Feb-26&quot;, &quot;04-Feb-26&quot;, &quot;06-Feb-26&quot;, &quot;09-Feb-26&quot;, &quot;10-Feb-26&quot;, &quot;11-Feb-26&quot;, &quot;12-Feb-26&quot;, &quot;13-Feb-26&quot;, &quot;16-Feb-26&quot;, &quot;17-Feb-26&quot;, &quot;18-Feb-26&quot;, &quot;20-Feb-26&quot;, &quot;23-Feb-26&quot;, &quot;24-Feb-26&quot;, &quot;25-Feb-26&quot;, &quot;26-Feb-26&quot;, &quot;27-Feb-26&quot;, &quot;02-Mar-26&quot;, &quot;03-Mar-26&quot;, &quot;04-Mar-26&quot;, &quot;05-Mar-26&quot;, &quot;06-Mar-26&quot;, &quot;09-Mar-26&quot;, &quot;10-Mar-26&quot;, &quot;11-Mar-26&quot;, &quot;12-Mar-26&quot;, &quot;13-Mar-26&quot;, &quot;16-Mar-26&quot;, &quot;17-Mar-26&quot;, &quot;18-Mar-26&quot;, &quot;19-Mar-26&quot;, &quot;24-Mar-26&quot;, &quot;25-Mar-26&quot;, &quot;26-Mar-26&quot;, &quot;27-Mar-26&quot;, &quot;30-Mar-26&quot;, &quot;31-Mar-26&quot;, &quot;01-Apr-26&quot;, &quot;02-Apr-26&quot;, &quot;03-Apr-26&quot;, &quot;04-Apr-26&quot;, &quot;06-Apr-26&quot;, &quot;07-Apr-26&quot;, &quot;08-Apr-26&quot;, &quot;09-Apr-26&quot;, &quot;10-Apr-26&quot;, &quot;13-Apr-26&quot;, &quot;14-Apr-26&quot;, &quot;14-Apr-26&quot;, &quot;15-Apr-26&quot;, &quot;16-Apr-26&quot;, &quot;17-Apr-26&quot;, &quot;20-Apr-26&quot;, &quot;21-Apr-26&quot;, &quot;22-Apr-26&quot;, &quot;23-Apr-26&quot;, &quot;24-Apr-26&quot;, &quot;27-Apr-26&quot;, &quot;28-Apr-26&quot;, &quot;29-Apr-26&quot;, &quot;30-Apr-26&quot;, &quot;04-May-26&quot;, &quot;05-May-26&quot;, &quot;06-May-26&quot;, &quot;07-May-26&quot;, &quot;08-May-26&quot;, &quot;11-May-26&quot;, &quot;12-May-26&quot;, &quot;13-May-26&quot;, &quot;14-May-26&quot;, &quot;15-May-26&quot;, &quot;18-May-26&quot;, &quot;19-May-26&quot;, &quot;20-May-26&quot;, &quot;21-May-26&quot;, &quot;22-May-26&quot;, &quot;25-May-26&quot;, &quot;29-May-26&quot;, &quot;01-Jun-26&quot;, &quot;02-Jun-26&quot;, &quot;03-Jun-26&quot;, &quot;04-Jun-26&quot;, &quot;05-Jun-26&quot;, &quot;08-Jun-26&quot;, &quot;09-Jun-26&quot;, &quot;10-Jun-26&quot;, &quot;11-Jun-26&quot;, &quot;12-Jun-26&quot;, &quot;15-Jun-26&quot;, &quot;16-Jun-26&quot;, &quot;17-Jun-26&quot;, &quot;18-Jun-26&quot;, &quot;19-Jun-26&quot;, &quot;22-Jun-26&quot;, &quot;23-Jun-26&quot;, &quot;24-Jun-26&quot;, &quot;29-Jun-26&quot;, &quot;30-Jun-26&quot;, &quot;02-Jul-26&quot;, &quot;03-Jul-26&quot;, &quot;06-Jul-26&quot;, &quot;07-Jul-26&quot;, &quot;08-Jul-26&quot;, &quot;09-Jul-26&quot;, &quot;10-Jul-26&quot;, &quot;13-Jul-26&quot;, &quot;14-Jul-26&quot;, &quot;15-Jul-26&quot;, &quot;16-Jul-26&quot;, &quot;17-Jul-26&quot;, &quot;20-Jul-26&quot;, &quot;21-Jul-26&quot;, &quot;22-Jul-26&quot;, &quot;23-Jul-26&quot;, &quot;24-Jul-26&quot;, &quot;27-Jul-26&quot;, &quot;28-Jul-26&quot;, &quot;29-Jul-26&quot;, &quot;30-Jul-26&quot;, &quot;03-Aug-26&quot;, &quot;04-Aug-26&quot;, &quot;05-Aug-26&quot;, &quot;06-Aug-26&quot;, &quot;07-Aug-26&quot;, &quot;10-Aug-26&quot;, &quot;11-Aug-26&quot;, &quot;12-Aug-26&quot;, &quot;13-Aug-26&quot;, &quot;17-Aug-26&quot;, &quot;18-Aug-26&quot;, &quot;20-Aug-26&quot;, &quot;21-Aug-26&quot;, &quot;24-Aug-26&quot;, &quot;25-Aug-26&quot;, &quot;27-Aug-26&quot;, &quot;28-Aug-26&quot;, &quot;31-Aug-26&quot;, &quot;01-Sep-26&quot;, &quot;02-Sep-26&quot;, &quot;03-Sep-26&quot;, &quot;04-Sep-26&quot;, &quot;07-Sep-26&quot;, &quot;08-Sep-26&quot;, &quot;09-Sep-26&quot;, &quot;10-Sep-26&quot;, &quot;11-Sep-26&quot;, &quot;14-Sep-26&quot;, &quot;15-Sep-26&quot;, &quot;16-Sep-26&quot;, &quot;17-Sep-26&quot;, &quot;18-Sep-26&quot;, &quot;21-Sep-26&quot;, &quot;22-Sep-26&quot;, &quot;23-Sep-26&quot;, &quot;24-Sep-26&quot;, &quot;25-Sep-26&quot;, &quot;28-Sep-26&quot;];
            
            const rawData = [279.77, 279.87, 279.82, 279.97, 280.07, 279.95, 279.97, 280.05, 280.21, 280.17, 280.27, 280.21, 280.22, 280.26, 280.37, 280.42, 280.26, 280.22, 280.16, 280.56, 280.47, 280.57, 280.73, 280.78, 280.56, 280.47, 280.60, 280.57, 280.46, 280.62, 280.72, 280.87, 280.77, 280.97, 281.07, 280.97, 281.07, 281.02, 280.97, 281.06, 281.22, 281.37, 281.47, 281.52, 281.71, 281.57, 281.67, 281.72, 281.61, 281.66, 281.77, 281.92, 281.97, 282.06, 281.97, 282.06, 282.17, 282.07, 282.02, 281.97, 282.12, 282.22, 282.17, 282.21, 282.47, 282.67, 282.96, 283.17, 283.41, 283.55, 283.64, 283.70, 283.87, 283.77, 283.72, 283.67, 283.72, 283.76, 283.95, 283.86, 283.97, 284.22, 284.36, 284.47, 284.56, 284.46, 284.72, 284.67, 284.96, 284.97, 284.87, 284.95, 284.97, 284.76, 284.22, 283.45, 283.21, 283.05, 282.95, 282.87, 282.72, 282.66, 282.57, 282.67, 282.56, 282.47, 282.45, 282.42, 282.22, 282.06, 282.01, 281.96, 281.95, 281.92, 281.90, 281.87, 281.86, 281.83, 281.80, 281.77, 281.75, 281.72, 281.71, 281.67, 281.65, 281.62, 281.61, 281.60, 281.56, 281.55, 281.52, 281.51, 281.50, 281.47, 281.46, 281.45, 281.46, 281.42, 281.43, 281.41, 281.37, 281.35, 281.32, 281.31, 281.27, 281.26, 281.25, 281.22, 281.21, 281.20, 281.17, 281.16, 281.15, 281.12, 281.11, 281.10, 281.07, 281.06, 281.05, 281.03, 281.02, 281.01, 280.97, 280.96, 280.92, 280.91, 280.90, 280.87, 280.86, 280.85, 280.82, 280.81, 280.78, 280.77, 280.76, 280.72, 280.71, 280.67, 280.66, 280.66, 280.65, 280.62, 280.61, 280.57, 280.56, 280.55, 280.52, 280.51, 280.47, 280.46, 280.45, 280.42, 280.41, 280.40, 280.37, 280.36, 280.32, 280.31, 280.30, 280.27, 280.26, 280.25, 280.22, 280.21, 280.20, 280.17, 280.16, 280.15, 280.12, 280.11, 280.10, 280.07, 280.06, 280.05, 280.02, 280.01, 280.00, 279.97, 279.96, 279.95, 279.92, 279.91, 279.90, 279.87, 279.86, 279.85, 279.82, 279.81, 279.80, 279.77, 279.76, 279.75, 279.72, 279.71, 279.70, 279.67, 279.66, 279.65, 279.62, 279.61, 279.60, 279.57, 279.56, 279.55, 279.52, 279.51, 279.50, 279.47, 279.46, 279.45, 279.42, 279.41, 279.40, 279.37, 279.36, 279.35, 279.32, 279.31, 279.30, 279.27, 279.26, 279.25, 279.22, 279.21, 279.20, 279.17, 279.16, 279.15, 279.12, 279.11, 279.10, 279.07, 279.06, 279.05, 279.02, 279.01, 279.00, 278.97, 278.96, 278.95, 278.92, 278.91, 278.90, 278.87, 278.86, 278.85, 278.82, 278.81, 278.80, 278.77, 278.76, 278.75, 278.72, 278.71, 278.70, 278.67, 278.66, 278.65, 278.62, 278.61, 278.60, 278.57, 278.56, 278.55, 278.52, 278.51, 278.50, 278.47, 278.46, 278.45, 278.42, 278.41, 278.40, 278.37, 278.36, 278.35, 278.32, 278.31, 278.30, 278.27, 278.26, 278.25, 278.22, 278.21, 278.20, 278.17, 278.16, 278.15, 278.12, 278.11, 278.10, 278.07, 278.06, 278.05, 278.02, 278.01, 278.00, 277.95, 277.95, 277.92, 277.91, 277.90, 277.87, 277.86, 277.85, 277.82, 277.81, 277.80, 277.77, 277.76, 277.75, 277.72, 277.71, 277.70, 277.67, 277.66, 277.65, 277.62, 277.61, 277.57, 277.56, 277.55, 277.52, 277.51, 277.50, 277.47, 277.46, 277.45, 277.42, 277.41, 277.40, 277.37, 277.36, 277.35, 277.32, 277.31, 277.30, 277.27, 277.26, 277.25, 277.22, 277.21, 277.20, 277.17, 277.16, 277.15];

            const currentExchangeRate = rawData[rawData.length - 1];
            const currentExchangeDate = rawLabels[rawLabels.length - 1];

            // DOM Elements
            const usdInput = document.getElementById(&#039;usdInput&#039;);
            const pkrInput = document.getElementById(&#039;pkrInput&#039;);
            const badgeEl = document.getElementById(&#039;latestBadgeRate&#039;);
            const dateLabelEl = document.getElementById(&#039;latestDateLabel&#039;);

            const statHighEl = document.getElementById(&#039;statHigh&#039;);
            const statLowEl = document.getElementById(&#039;statLow&#039;);
            const statAvgEl = document.getElementById(&#039;statAvg&#039;);
            const statChangeEl = document.getElementById(&#039;statChange&#039;);

            const formatCurrency = (val, maxDecimals = 2, minDecimals = 2) =&gt; {
                if (isNaN(val) || val === null) return &#039;--&#039;;
                return val.toLocaleString(&#039;en-US&#039;, {
                    minimumFractionDigits: minDecimals,
                    maximumFractionDigits: maxDecimals
                });
            };

            const parseCurrency = (valStr) =&gt; {
                if (!valStr) return NaN;
                return parseFloat(valStr.toString().replace(/,/g, &#039;&#039;));
            };

            // Set Initial Values in UI
            dateLabelEl.textContent = currentExchangeDate;
            badgeEl.textContent = formatCurrency(currentExchangeRate) + &#039; PKR&#039;;
            pkrInput.value = formatCurrency(currentExchangeRate);

            usdInput.addEventListener(&#039;input&#039;, (e) =&gt; {
                const val = parseCurrency(e.target.value);
                if (isNaN(val)) {
                    pkrInput.value = &#039;&#039;;
                } else {
                    pkrInput.value = formatCurrency(val * currentExchangeRate);
                }
            });

            pkrInput.addEventListener(&#039;input&#039;, (e) =&gt; {
                const val = parseCurrency(e.target.value);
                if (isNaN(val)) {
                    usdInput.value = &#039;&#039;;
                } else {
                    usdInput.value = formatCurrency(val / currentExchangeRate, 4, 2);
                }
            });

            usdInput.addEventListener(&#039;blur&#039;, (e) =&gt; {
                const val = parseCurrency(e.target.value);
                if (!isNaN(val)) {
                    e.target.value = formatCurrency(val, 2, 0);
                }
            });

            pkrInput.addEventListener(&#039;blur&#039;, (e) =&gt; {
                const val = parseCurrency(e.target.value);
                if (!isNaN(val)) {
                    e.target.value = formatCurrency(val, 2, 2);
                }
            });

            const ctx = document.getElementById(&#039;closingRatesChart&#039;).getContext(&#039;2d&#039;);
            
            // Create gradient fill
            const gradient = ctx.createLinearGradient(0, 0, 0, 350);
            gradient.addColorStop(0, &#039;rgba(79, 70, 229, 0.25)&#039;);
            gradient.addColorStop(1, &#039;rgba(79, 70, 229, 0.0)&#039;);

            let chartInstance = new Chart(ctx, {
                type: &#039;line&#039;,
                data: {
                    labels: rawLabels,
                    datasets: [{
                        label: &#039;USD to PKR&#039;,
                        data: rawData,
                        borderColor: &#039;#4f46e5&#039;,
                        borderWidth: 2,
                        backgroundColor: gradient,
                        fill: true,
                        tension: 0.3,
                        pointRadius: 0,
                        pointHoverRadius: 6,
                        pointHoverBackgroundColor: &#039;#4f46e5&#039;,
                        pointHoverBorderColor: &#039;#ffffff&#039;,
                        pointHoverBorderWidth: 2
                    }]
                },
                options: {
                    responsive: true,
                    maintainAspectRatio: false,
                    interaction: {
                        intersect: false,
                        mode: &#039;index&#039;
                    },
                    plugins: {
                        legend: { display: false },
                        tooltip: {
                            backgroundColor: &#039;#0f172a&#039;,
                            titleFont: { family: &#039;Plus Jakarta Sans&#039;, size: 12, weight: &#039;bold&#039; },
                            bodyFont: { family: &#039;Plus Jakarta Sans&#039;, size: 13 },
                            padding: 10,
                            cornerRadius: 8,
                            displayColors: false,
                            callbacks: {
                                label: function(context) {
                                    return &#039;Rate: &#039; + formatCurrency(context.parsed.y) + &#039; PKR&#039;;
                                }
                            }
                        }
                    },
                    scales: {
                        x: {
                            grid: { display: false },
                            ticks: {
                                font: { family: &#039;Plus Jakarta Sans&#039;, size: 11 },
                                color: &#039;#64748b&#039;,
                                maxTicksLimit: 8,
                                maxRotation: 0
                            }
                        },
                        y: {
                            grid: { color: &#039;#f1f5f9&#039; },
                            ticks: {
                                font: { family: &#039;Plus Jakarta Sans&#039;, size: 11 },
                                color: &#039;#64748b&#039;,
                                callback: function(value) {
                                    return value.toFixed(1);
                                }
                            }
                        }
                    }
                }
            });

            function updateRangeStats(labels, data) {
                if (!data || data.length === 0) return;

                const high = Math.max(...data);
                const low = Math.min(...data);
                const avg = data.reduce((a, b) =&gt; a + b, 0) / data.length;
                const startVal = data[0];
                const endVal = data[data.length - 1];
                const change = endVal - startVal;
                const changePct = (change / startVal) * 100;

                statHighEl.textContent = formatCurrency(high);
                statLowEl.textContent = formatCurrency(low);
                statAvgEl.textContent = formatCurrency(avg);

                const sign = change &gt;= 0 ? &#039;+&#039; : &#039;&#039;;
                statChangeEl.textContent = `${sign}${formatCurrency(change)} (${sign}${changePct.toFixed(2)}%)`;
                statChangeEl.style.color = change &gt; 0 ? &#039;#10b981&#039; : (change &lt; 0 ? &#039;#ef4444&#039; : &#039;#64748b&#039;);
            }

            // Timeframe filtering handler
            function setTimeframe(rangeCount) {
                let slicedLabels = rawLabels;
                let slicedData = rawData;

                if (rangeCount !== &#039;all&#039;) {
                    const count = parseInt(rangeCount, 10);
                    slicedLabels = rawLabels.slice(-count);
                    slicedData = rawData.slice(-count);
                }

                chartInstance.data.labels = slicedLabels;
                chartInstance.data.datasets[0].data = slicedData;

                // Adjust Y axis dynamic scaling
                const minVal = Math.min(...slicedData);
                const maxVal = Math.max(...slicedData);
                const padding = (maxVal - minVal) * 0.1 || 1;
                
                chartInstance.options.scales.y.min = Math.floor((minVal - padding) * 10) / 10;
                chartInstance.options.scales.y.max = Math.ceil((maxVal + padding) * 10) / 10;

                chartInstance.update();
                updateRangeStats(slicedLabels, slicedData);
            }

            // Setup timeframe button listeners
            document.querySelectorAll(&#039;#pkr-chart-embed .tf-btn&#039;).forEach(btn =&gt; {
                btn.addEventListener(&#039;click&#039;, (e) =&gt; {
                    document.querySelectorAll(&#039;#pkr-chart-embed .tf-btn&#039;).forEach(b =&gt; b.classList.remove(&#039;active&#039;));
                    e.target.classList.add(&#039;active&#039;);
                    setTimeframe(e.target.getAttribute(&#039;data-range&#039;));
                });
            });

            // Initial range load
            setTimeframe(&#039;all&#039;);
        })();
    &lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;
    &lt;script&gt;
        function reportHeight() {
            var h = document.documentElement.scrollHeight;
            window.parent.postMessage({ type: &#039;raw-html-resize&#039;, id: &#039;raw-html-6aba780037b16&#039;, height: h }, &#039;*&#039;);
        }
        window.addEventListener(&#039;load&#039;, reportHeight);
        if (window.ResizeObserver) {
            new ResizeObserver(reportHeight).observe(document.body);
        }
    &lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;"></iframe>
<script>
if (!window._rawHtmlListenerAttached) {
    window._rawHtmlListenerAttached = true;
    window.addEventListener('message', function(event) {
        if (event.data && event.data.type === 'raw-html-resize' && event.data.id) {
            var iframe = document.getElementById(event.data.id);
            if (iframe) {
                var height = Math.min(Math.max(event.data.height, 50), 30000);
                iframe.style.height = height + 'px';
            }
        }
    });
}
</script>
<p><strong>The Pakistani rupee extended its marginal gains against the US dollar in the inter-bank market on Monday.</strong></p>
<p>The local unit closed the day at 277.15, a gain of Re0.01 against the greenback.</p>
    <figure class='media  w-full sm:w-full  media--center  media--embed  media--uneven media--tweet' data-original-src='https://x.com/StateBank_Pak/status/2104534890045915351'>
        <div class='media__item  media__item--twitter  '><span>
    <blockquote class="twitter-tweet" lang="en">
        <a href="https://twitter.com/StateBank_Pak/status/2104534890045915351"></a>
    </blockquote>
</span></div>
        
    </figure>
<p>During the previous week, the rupee <a href="https://www.brecorder.com/news/40441226">closed at 277.16</a> against the greenback, a gain of Re0.09 from 277.25 it had closed at a week earlier.</p>
<p>Internationally, <a href="https://www.brecorder.com/news/40441552/dollar-firms-as-us-iran-tensions-lift-oil-hawkish-fed-bets-build">the US dollar inched higher </a>to hold near a two-month ​high on Monday, as the US-Iran standoff continued to push up oil prices while investors looked ‌ahead to a data-packed week for more clues on inflation and central banks’ moves.</p>
<p>The euro and sterling were both 0.1% weaker against the dollar, last at $1.1379 and $1.3232, respectively, hovering near multi-month lows against the greenback.</p>
<p>The dollar index, which measures the US ​currency against a basket of peers, was a touch higher at 101.15 and on track for ​a 1.7% gain in September, its best month since June.</p>
<p>The market’s focus is set to turn to US data releases as the week unfolds, with the PCE ‌Index ⁠on Wednesday and non-farm payrolls on Friday both expected to be consistent with further policy tightening.</p>
<p>Currently, markets are seeing a 65% chance of a rate hike from the Fed when the central bank meets next at the end of October, according to CME Group’s FedWatch tool.</p>
<p><a href="https://www.brecorder.com/news/40441548/oil-gains-over-2-as-us-iran-peace-talks-in-stalemate">Oil prices</a>, a key indicator of currency parity, rose about 2% on Monday after US President Donald Trump rejected a peace deal from Iran to resolve their conflict and reopen the Strait of Hormuz.</p>
<p>Brent futures were up $1.68, or 1.6%, at $106 barrel by 1320 GMT, after hitting their highest since September 15 earlier in the session. US West Texas Intermediate crude was at $94.10 a barrel, up $1.69, or 1.8%.</p>
<p><strong>Inter-bank market rates for dollar on Monday</strong></p>
<p>BID Rs 277.15</p>
<p>OFFER Rs 277.35</p>
<p><strong>Open-market movement</strong></p>
<p>In the open market, the PKR lost 5 paise for buying and 3 paise for selling against USD, closing at 278.17 and 279.23, respectively.</p>
<p>Against Euro, the PKR gained 16 paise for buying and 13 paise for selling, closing at 316.27 and 319.36, respectively.</p>
<p>Against UAE Dirham, the PKR gained 2 paise for buying and lost 1 paisa for selling, closing at 75.70 and 76.30, respectively.</p>
<p>Against Saudi Riyal, the PKR lost 1 paisa for buying and 2 paise for selling, closing at 74.03 and 74.54, respectively.</p>
<p><strong>Open-market rates for dollar on Monday</strong></p>
<p>BID Rs 278.17</p>
<p>OFFER Rs 279.23</p>
]]></content:encoded>
      <category>Markets</category>
      <guid>https://www.brecorder.com/news/40441616</guid>
      <pubDate>Mon, 28 Sep 2026 19:21:52 +0500</pubDate>
      <author>none@none.com (Recorder Report)</author>
      <media:content url="https://i.brecorder.com/large/2026/09/28160724ce05d91.webp" type="image/webp" medium="image" height="320" width="480">
        <media:thumbnail url="https://i.brecorder.com/thumbnail/2026/09/28160724ce05d91.webp"/>
        <media:title>Photo: Reuters</media:title>
      </media:content>
    </item>
    <item xmlns:default="http://purl.org/rss/1.0/modules/content/">
      <title>Rupee registers gain against US dollar</title>
      <link>https://www.brecorder.com/news/40441226/intra-day-update-rupee-records-gain-against-us-dollar</link>
      <description>&lt;p&gt;&lt;strong&gt;The Pakistani rupee extended its marginal gains against the US dollar in the interbank market on Friday.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The local unit closed the day at 277.16, a gain of Re0.01 against the greenback.&lt;/p&gt;
    &lt;figure class='media  w-full  w-full  media--  media--embed  media--uneven media--tweet' data-original-src='https://x.com/StateBank_Pak/status/2103454896267882994'&gt;
        &lt;div class='media__item  media__item--twitter  '&gt;&lt;span&gt;
    &lt;blockquote class="twitter-tweet" lang="en"&gt;
        &lt;a href="https://twitter.com/StateBank_Pak/status/2103454896267882994"&gt;&lt;/a&gt;
    &lt;/blockquote&gt;
&lt;/span&gt;&lt;/div&gt;
        
    &lt;/figure&gt;
&lt;p&gt;&lt;a href="https://www.brecorder.com/news/40441041"&gt;On Thursday&lt;/a&gt;, the Pakistani rupee settled at 277.17 against the dollar.&lt;/p&gt;
&lt;p&gt;Internationally, &lt;a href="https://www.brecorder.com/news/40441180/dollar-set-for-weekly-gains-as-yields-surge-fed-bets-build"&gt;the US dollar &lt;/a&gt;was set for its first back-to-back weekly ​gains in more than three months on Friday, as surging Treasury yields and mounting bets on further Federal ‌Reserve rate hikes kept the greenback near multi-month peaks.&lt;/p&gt;
&lt;p&gt;Dollar strength pushed the euro to a two-month low of $1.1370 and put it on track for a third weekly decline, its worst losing streak since the end of 2025. Sterling languished near a three-month low of $1.3220 and was on track for ​its worst weekly performance in four months.&lt;/p&gt;
&lt;p&gt;Markets have aggressively repriced the interest rate trajectory after the Fed tightened policy last ​week, while robust economic data and fresh energy supply concerns have further strengthened that conviction. A bond selloff, which ⁠sent long-dated US Treasury yields to their highest in more than 20 years, also gave the greenback a leg up.&lt;/p&gt;
&lt;p&gt;The dollar ​index, which measures the US currency against a basket of peers, has climbed more than 1% this week to a two-month high, ​marking its first back-to-back weekly gains since June. However, the rally was losing some momentum, last edging a touch lower at 101.2.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.brecorder.com/news/40441179/oil-prices-fall-as-markets-look-to-iran-truce-but-remain-wary-of-attacks-on-oil-facilities"&gt;Oil prices&lt;/a&gt;, a key indicator of currency parity, fell more than 1% on Friday as markets weighed the possibility of a truce between the US and Iran against concerns that increasing attacks against Saudi Arabia by Houthi fighters could disrupt supply from the key Middle Eastern producer.&lt;/p&gt;
&lt;p&gt;Brent was down $1.34, or 1.3%, at $105.26 a barrel at 1215 GMT, while West Texas Intermediate (WTI) was $1.83, or 1.9%, lower at $92.78 a barrel.&lt;/p&gt;
&lt;p&gt;For the week so far, Brent has gained 1.5% and WTI has dropped 7.4%.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Inter-bank market rates for dollar on Friday&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;BID Rs 277.16&lt;/p&gt;
&lt;p&gt;OFFER Rs 277.36&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Open-market movement&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;In the open market, the PKR remained unchanged for both buying and selling against USD, closing at 278.12 and 279.20, respectively.&lt;/p&gt;
&lt;p&gt;Against Euro, the PKR remained unchanged for buying and gained 23.00 paisa for selling, closing at 316.43 and 319.49, respectively.&lt;/p&gt;
&lt;p&gt;Against UAE Dirham, the PKR lost 2.00 paisa for buying and 1.00 paisa for selling, closing at 75.72 and 76.29, respectively.&lt;/p&gt;
&lt;p&gt;Against Saudi Riyal, the PKR lost 1.00 paisa for both buying and selling, closing at 74.02 and 74.52, respectively.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Open-market rates for dollar on Friday&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;BID Rs 278.12&lt;/p&gt;
&lt;p&gt;OFFER Rs 279.20&lt;/p&gt;
</description>
      <content:encoded xmlns="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p><strong>The Pakistani rupee extended its marginal gains against the US dollar in the interbank market on Friday.</strong></p>
<p>The local unit closed the day at 277.16, a gain of Re0.01 against the greenback.</p>
    <figure class='media  w-full  w-full  media--  media--embed  media--uneven media--tweet' data-original-src='https://x.com/StateBank_Pak/status/2103454896267882994'>
        <div class='media__item  media__item--twitter  '><span>
    <blockquote class="twitter-tweet" lang="en">
        <a href="https://twitter.com/StateBank_Pak/status/2103454896267882994"></a>
    </blockquote>
</span></div>
        
    </figure>
<p><a href="https://www.brecorder.com/news/40441041">On Thursday</a>, the Pakistani rupee settled at 277.17 against the dollar.</p>
<p>Internationally, <a href="https://www.brecorder.com/news/40441180/dollar-set-for-weekly-gains-as-yields-surge-fed-bets-build">the US dollar </a>was set for its first back-to-back weekly ​gains in more than three months on Friday, as surging Treasury yields and mounting bets on further Federal ‌Reserve rate hikes kept the greenback near multi-month peaks.</p>
<p>Dollar strength pushed the euro to a two-month low of $1.1370 and put it on track for a third weekly decline, its worst losing streak since the end of 2025. Sterling languished near a three-month low of $1.3220 and was on track for ​its worst weekly performance in four months.</p>
<p>Markets have aggressively repriced the interest rate trajectory after the Fed tightened policy last ​week, while robust economic data and fresh energy supply concerns have further strengthened that conviction. A bond selloff, which ⁠sent long-dated US Treasury yields to their highest in more than 20 years, also gave the greenback a leg up.</p>
<p>The dollar ​index, which measures the US currency against a basket of peers, has climbed more than 1% this week to a two-month high, ​marking its first back-to-back weekly gains since June. However, the rally was losing some momentum, last edging a touch lower at 101.2.</p>
<p><a href="https://www.brecorder.com/news/40441179/oil-prices-fall-as-markets-look-to-iran-truce-but-remain-wary-of-attacks-on-oil-facilities">Oil prices</a>, a key indicator of currency parity, fell more than 1% on Friday as markets weighed the possibility of a truce between the US and Iran against concerns that increasing attacks against Saudi Arabia by Houthi fighters could disrupt supply from the key Middle Eastern producer.</p>
<p>Brent was down $1.34, or 1.3%, at $105.26 a barrel at 1215 GMT, while West Texas Intermediate (WTI) was $1.83, or 1.9%, lower at $92.78 a barrel.</p>
<p>For the week so far, Brent has gained 1.5% and WTI has dropped 7.4%.</p>
<p><strong>Inter-bank market rates for dollar on Friday</strong></p>
<p>BID Rs 277.16</p>
<p>OFFER Rs 277.36</p>
<p><strong>Open-market movement</strong></p>
<p>In the open market, the PKR remained unchanged for both buying and selling against USD, closing at 278.12 and 279.20, respectively.</p>
<p>Against Euro, the PKR remained unchanged for buying and gained 23.00 paisa for selling, closing at 316.43 and 319.49, respectively.</p>
<p>Against UAE Dirham, the PKR lost 2.00 paisa for buying and 1.00 paisa for selling, closing at 75.72 and 76.29, respectively.</p>
<p>Against Saudi Riyal, the PKR lost 1.00 paisa for both buying and selling, closing at 74.02 and 74.52, respectively.</p>
<p><strong>Open-market rates for dollar on Friday</strong></p>
<p>BID Rs 278.12</p>
<p>OFFER Rs 279.20</p>
]]></content:encoded>
      <category>Markets</category>
      <guid>https://www.brecorder.com/news/40441226</guid>
      <pubDate>Fri, 25 Sep 2026 19:05:50 +0500</pubDate>
      <author>none@none.com (Recorder Report)</author>
      <media:content url="https://i.brecorder.com/large/2026/09/25155134d78480b.webp" type="image/webp" medium="image" height="299" width="480">
        <media:thumbnail url="https://i.brecorder.com/thumbnail/2026/09/25155134d78480b.webp"/>
        <media:title>Photo: Reuters</media:title>
      </media:content>
    </item>
    <item xmlns:default="http://purl.org/rss/1.0/modules/content/">
      <title>Rupee records gain against US dollar</title>
      <link>https://www.brecorder.com/news/40441041/intra-day-update-rupee-records-gain-against-us-dollar</link>
      <description>&lt;iframe id="raw-html-6ab52a1ab5cd3" class="raw-html-embed" style="width: 100%; min-height: 50px; max-height: 9200px; border: none; overflow: hidden;" scrolling="no" srcdoc="&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html&amp;gt;
&amp;lt;head&amp;gt;
    &amp;lt;style&amp;gt;
        body { margin: 0; padding: 0; font-family: system-ui, -apple-system, sans-serif; overflow-wrap: anywhere; }
    &amp;lt;/style&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
    
&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html lang=&amp;quot;en&amp;quot;&amp;gt;
&amp;lt;head&amp;gt;
    &amp;lt;meta charset=&amp;quot;UTF-8&amp;quot;&amp;gt;
    &amp;lt;meta name=&amp;quot;viewport&amp;quot; content=&amp;quot;width=device-width, initial-scale=1.0&amp;quot;&amp;gt;
    &amp;lt;title&amp;gt;PKR vs USD Exchange Rate Chart&amp;lt;/title&amp;gt;
    &amp;lt;!-- Chart.js for interactive rendering --&amp;gt;
    &amp;lt;script src=&amp;quot;https://cdn.jsdelivr.net/npm/chart.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;
    
    &amp;lt;style&amp;gt;
        @import url(&amp;#039;https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght=400;500;600;700&amp;amp;display=swap&amp;#039;);

        #pkr-chart-embed {
            font-family: &amp;#039;Plus Jakarta Sans&amp;#039;, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, sans-serif;
            max-width: 1000px;
            width: 100%;
            margin: 24px auto;
            background-color: #ffffff;
            border: 1px solid #e2e8f0;
            border-radius: 20px;
            padding: 24px;
            box-shadow: 0 10px 25px -5px rgba(15, 23, 42, 0.05), 0 8px 10px -6px rgba(15, 23, 42, 0.05);
            color: #0f172a;
            box-sizing: border-box;
        }

        #pkr-chart-embed * { box-sizing: border-box; margin: 0; padding: 0; }

        #pkr-chart-embed .chart-header {
            display: flex;
            flex-direction: column;
            gap: 20px;
            margin-bottom: 20px;
            width: 100%;
        }

        #pkr-chart-embed .top-row {
            display: flex;
            flex-direction: row;
            justify-content: space-between;
            align-items: flex-start;
            gap: 20px;
        }

        #pkr-chart-embed .calculator-area {
            display: flex;
            flex-direction: column;
            gap: 8px;
            align-items: flex-start;
        }

        #pkr-chart-embed .main-title {
            font-size: 22px;
            font-weight: 700;
            color: #0f172a;
            letter-spacing: -0.025em;
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            gap: 10px;
        }

        #pkr-chart-embed .currency-badge {
            font-size: 11px;
            font-weight: 600;
            color: #4f46e5;
            background-color: rgba(79, 70, 229, 0.08);
            padding: 3px 10px;
            border-radius: 9999px;
            border: 1px solid rgba(79, 70, 229, 0.15);
            text-transform: uppercase;
        }

        #pkr-chart-embed .calculator-title {
            font-size: 10px;
            font-weight: 700;
            color: #64748b;
            text-transform: uppercase;
            letter-spacing: 0.05em;
        }

        #pkr-chart-embed .converter {
            display: flex;
            align-items: center;
            background: #f8fafc;
            border: 1px solid #e2e8f0;
            border-radius: 12px;
            padding: 4px;
            gap: 6px;
        }

        #pkr-chart-embed .converter-group {
            display: flex;
            align-items: center;
            background: #ffffff;
            border-radius: 8px;
            padding: 6px 10px;
            box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
            border: 1px solid #e2e8f0;
        }

        #pkr-chart-embed .converter-input {
            border: none;
            outline: none;
            width: 90px;
            font-family: inherit;
            font-weight: 700;
            color: #0f172a;
            font-size: 14px;
            text-align: right;
            background: transparent;
        }

        #pkr-chart-embed .converter-input.pkr-field { width: 120px; }

        #pkr-chart-embed .converter-label {
            font-size: 11px;
            font-weight: 700;
            color: #64748b;
            margin-left: 6px;
        }

        #pkr-chart-embed .equals-sign { color: #94a3b8; font-weight: 600; font-size: 16px; }

        #pkr-chart-embed .rate-badge-container {
            display: flex;
            flex-direction: column;
            align-items: flex-end;
            gap: 6px;
        }

        #pkr-chart-embed .rate-label-sub { text-align: right; }
        #pkr-chart-embed .rate-label-sub span:first-child { display: block; font-size: 9px; text-transform: uppercase; font-weight: 700; color: #64748b; }
        #pkr-chart-embed .rate-label-sub span:last-child { display: block; font-size: 12px; color: #334155; font-weight: 600; }

        #pkr-chart-embed .rate-badge {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            background: linear-gradient(135deg, #4f46e5, #3b82f6);
            color: #ffffff;
            font-weight: 700;
            font-size: 14px;
            padding: 8px 14px;
            border-radius: 12px;
            box-shadow: 0 8px 16px -3px rgba(79, 70, 229, 0.25);
        }

        #pkr-chart-embed .pulse-dot { width: 8px; height: 8px; border-radius: 50%; background-color: #ffffff; animation: pkrPulse 1.5s infinite; }

        @keyframes pkrPulse {
            0% { transform: scale(0.95); opacity: 0.6; }
            50% { transform: scale(1.15); opacity: 1; }
            100% { transform: scale(0.95); opacity: 0.6; }
        }

        /* Controls &amp;amp; Stats Toolbar */
        #pkr-chart-embed .toolbar {
            display: flex;
            justify-content: space-between;
            align-items: center;
            flex-wrap: wrap;
            gap: 12px;
            margin-bottom: 16px;
            padding-bottom: 12px;
            border-bottom: 1px solid #f1f5f9;
        }

        #pkr-chart-embed .timeframe-selector {
            display: flex;
            gap: 4px;
            background: #f1f5f9;
            padding: 3px;
            border-radius: 10px;
        }

        #pkr-chart-embed .tf-btn {
            border: none;
            background: transparent;
            font-family: inherit;
            font-size: 12px;
            font-weight: 600;
            color: #64748b;
            padding: 5px 12px;
            border-radius: 7px;
            cursor: pointer;
            transition: all 0.2s ease;
        }

        #pkr-chart-embed .tf-btn.active {
            background: #ffffff;
            color: #4f46e5;
            box-shadow: 0 1px 3px rgba(0,0,0,0.1);
        }

        #pkr-chart-embed .stats-row {
            display: flex;
            gap: 16px;
            flex-wrap: wrap;
        }

        #pkr-chart-embed .stat-item {
            font-size: 12px;
            color: #64748b;
        }

        #pkr-chart-embed .stat-item strong {
            color: #0f172a;
            font-weight: 700;
        }

        #pkr-chart-embed .chart-canvas-container { position: relative; width: 100%; height: 380px; }

        @media (max-width: 768px) {
            #pkr-chart-embed .chart-canvas-container { height: 300px; }
            #pkr-chart-embed .top-row { flex-direction: column; align-items: flex-start; }
            #pkr-chart-embed .rate-badge-container { align-items: flex-start; }
            #pkr-chart-embed .rate-label-sub { text-align: left; }
            #pkr-chart-embed .toolbar { flex-direction: column; align-items: flex-start; }
        }
    &amp;lt;/style&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
    &amp;lt;div id=&amp;quot;pkr-chart-embed&amp;quot;&amp;gt;
        &amp;lt;div class=&amp;quot;chart-header&amp;quot;&amp;gt;
            &amp;lt;h1 class=&amp;quot;main-title&amp;quot;&amp;gt;
                &amp;lt;span&amp;gt;PKR vs USD Exchange Rate&amp;lt;/span&amp;gt;
                &amp;lt;span class=&amp;quot;currency-badge&amp;quot;&amp;gt;USD / PKR&amp;lt;/span&amp;gt;
            &amp;lt;/h1&amp;gt;

            &amp;lt;div class=&amp;quot;top-row&amp;quot;&amp;gt;
                &amp;lt;div class=&amp;quot;calculator-area&amp;quot;&amp;gt;
                    &amp;lt;span class=&amp;quot;calculator-title&amp;quot;&amp;gt;Calculator&amp;lt;/span&amp;gt;
                    &amp;lt;div class=&amp;quot;converter&amp;quot;&amp;gt;
                        &amp;lt;div class=&amp;quot;converter-group&amp;quot;&amp;gt;
                            &amp;lt;input type=&amp;quot;text&amp;quot; inputmode=&amp;quot;decimal&amp;quot; id=&amp;quot;usdInput&amp;quot; class=&amp;quot;converter-input&amp;quot; value=&amp;quot;1&amp;quot;&amp;gt;
                            &amp;lt;span class=&amp;quot;converter-label&amp;quot;&amp;gt;USD&amp;lt;/span&amp;gt;
                        &amp;lt;/div&amp;gt;
                        &amp;lt;span class=&amp;quot;equals-sign&amp;quot;&amp;gt;=&amp;lt;/span&amp;gt;
                        &amp;lt;div class=&amp;quot;converter-group&amp;quot;&amp;gt;
                            &amp;lt;input type=&amp;quot;text&amp;quot; inputmode=&amp;quot;decimal&amp;quot; id=&amp;quot;pkrInput&amp;quot; class=&amp;quot;converter-input pkr-field&amp;quot; value=&amp;quot;&amp;quot;&amp;gt;
                            &amp;lt;span class=&amp;quot;converter-label&amp;quot;&amp;gt;PKR&amp;lt;/span&amp;gt;
                        &amp;lt;/div&amp;gt;
                    &amp;lt;/div&amp;gt;
                &amp;lt;/div&amp;gt;

                &amp;lt;div class=&amp;quot;rate-badge-container&amp;quot;&amp;gt;
                    &amp;lt;div class=&amp;quot;rate-label-sub&amp;quot;&amp;gt;
                        &amp;lt;span&amp;gt;Latest Closing&amp;lt;/span&amp;gt;
                        &amp;lt;span id=&amp;quot;latestDateLabel&amp;quot;&amp;gt;24-Sep-26&amp;lt;/span&amp;gt;
                    &amp;lt;/div&amp;gt;
                    &amp;lt;div class=&amp;quot;rate-badge&amp;quot;&amp;gt;
                        &amp;lt;span class=&amp;quot;pulse-dot&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;
                        &amp;lt;span id=&amp;quot;latestBadgeRate&amp;quot;&amp;gt;277.17 PKR&amp;lt;/span&amp;gt;
                    &amp;lt;/div&amp;gt;
                &amp;lt;/div&amp;gt;
            &amp;lt;/div&amp;gt;
        &amp;lt;/div&amp;gt;

        &amp;lt;div class=&amp;quot;toolbar&amp;quot;&amp;gt;
            &amp;lt;div class=&amp;quot;timeframe-selector&amp;quot;&amp;gt;
                &amp;lt;button class=&amp;quot;tf-btn&amp;quot; data-range=&amp;quot;30&amp;quot;&amp;gt;1M&amp;lt;/button&amp;gt;
                &amp;lt;button class=&amp;quot;tf-btn&amp;quot; data-range=&amp;quot;90&amp;quot;&amp;gt;3M&amp;lt;/button&amp;gt;
                &amp;lt;button class=&amp;quot;tf-btn&amp;quot; data-range=&amp;quot;180&amp;quot;&amp;gt;6M&amp;lt;/button&amp;gt;
                &amp;lt;button class=&amp;quot;tf-btn&amp;quot; data-range=&amp;quot;365&amp;quot;&amp;gt;1Y&amp;lt;/button&amp;gt;
                &amp;lt;button class=&amp;quot;tf-btn active&amp;quot; data-range=&amp;quot;all&amp;quot;&amp;gt;ALL&amp;lt;/button&amp;gt;
            &amp;lt;/div&amp;gt;

            &amp;lt;div class=&amp;quot;stats-row&amp;quot;&amp;gt;
                &amp;lt;span class=&amp;quot;stat-item&amp;quot;&amp;gt;High: &amp;lt;strong id=&amp;quot;statHigh&amp;quot;&amp;gt;--&amp;lt;/strong&amp;gt;&amp;lt;/span&amp;gt;
                &amp;lt;span class=&amp;quot;stat-item&amp;quot;&amp;gt;Low: &amp;lt;strong id=&amp;quot;statLow&amp;quot;&amp;gt;--&amp;lt;/strong&amp;gt;&amp;lt;/span&amp;gt;
                &amp;lt;span class=&amp;quot;stat-item&amp;quot;&amp;gt;Avg: &amp;lt;strong id=&amp;quot;statAvg&amp;quot;&amp;gt;--&amp;lt;/strong&amp;gt;&amp;lt;/span&amp;gt;
                &amp;lt;span class=&amp;quot;stat-item&amp;quot;&amp;gt;Change: &amp;lt;strong id=&amp;quot;statChange&amp;quot;&amp;gt;--&amp;lt;/strong&amp;gt;&amp;lt;/span&amp;gt;
            &amp;lt;/div&amp;gt;
        &amp;lt;/div&amp;gt;

        &amp;lt;div class=&amp;quot;chart-canvas-container&amp;quot;&amp;gt;
            &amp;lt;canvas id=&amp;quot;closingRatesChart&amp;quot;&amp;gt;&amp;lt;/canvas&amp;gt;
        &amp;lt;/div&amp;gt;
    &amp;lt;/div&amp;gt;

    &amp;lt;script&amp;gt;
        (function() {
            // Full historical closing rate dataset with 24-Sep-26 appended
            const rawLabels = [&amp;quot;04-Mar-25&amp;quot;, &amp;quot;05-Mar-25&amp;quot;, &amp;quot;06-Mar-25&amp;quot;, &amp;quot;07-Mar-25&amp;quot;, &amp;quot;10-Mar-25&amp;quot;, &amp;quot;11-Mar-25&amp;quot;, &amp;quot;12-Mar-25&amp;quot;, &amp;quot;13-Mar-25&amp;quot;, &amp;quot;14-Mar-25&amp;quot;, &amp;quot;17-Mar-25&amp;quot;, &amp;quot;18-Mar-25&amp;quot;, &amp;quot;19-Mar-25&amp;quot;, &amp;quot;20-Mar-25&amp;quot;, &amp;quot;21-Mar-25&amp;quot;, &amp;quot;24-Mar-25&amp;quot;, &amp;quot;25-Mar-25&amp;quot;, &amp;quot;26-Mar-25&amp;quot;, &amp;quot;27-Mar-25&amp;quot;, &amp;quot;28-Mar-25&amp;quot;, &amp;quot;03-Apr-25&amp;quot;, &amp;quot;04-Apr-25&amp;quot;, &amp;quot;07-Apr-25&amp;quot;, &amp;quot;08-Apr-25&amp;quot;, &amp;quot;09-Apr-25&amp;quot;, &amp;quot;10-Apr-25&amp;quot;, &amp;quot;11-Apr-25&amp;quot;, &amp;quot;14-Apr-25&amp;quot;, &amp;quot;15-Apr-25&amp;quot;, &amp;quot;16-Apr-25&amp;quot;, &amp;quot;17-Apr-25&amp;quot;, &amp;quot;18-Apr-25&amp;quot;, &amp;quot;21-Apr-25&amp;quot;, &amp;quot;22-Apr-25&amp;quot;, &amp;quot;23-Apr-25&amp;quot;, &amp;quot;24-Apr-25&amp;quot;, &amp;quot;25-Apr-25&amp;quot;, &amp;quot;28-Apr-25&amp;quot;, &amp;quot;29-Apr-25&amp;quot;, &amp;quot;30-Apr-25&amp;quot;, &amp;quot;02-May-25&amp;quot;, &amp;quot;05-May-25&amp;quot;, &amp;quot;06-May-25&amp;quot;, &amp;quot;07-May-25&amp;quot;, &amp;quot;08-May-25&amp;quot;, &amp;quot;09-May-25&amp;quot;, &amp;quot;12-May-25&amp;quot;, &amp;quot;13-May-25&amp;quot;, &amp;quot;14-May-25&amp;quot;, &amp;quot;15-May-25&amp;quot;, &amp;quot;16-May-25&amp;quot;, &amp;quot;19-May-25&amp;quot;, &amp;quot;20-May-25&amp;quot;, &amp;quot;21-May-25&amp;quot;, &amp;quot;22-May-25&amp;quot;, &amp;quot;23-May-25&amp;quot;, &amp;quot;26-May-25&amp;quot;, &amp;quot;27-May-25&amp;quot;, &amp;quot;29-May-25&amp;quot;, &amp;quot;30-May-25&amp;quot;, &amp;quot;02-Jun-25&amp;quot;, &amp;quot;03-Jun-25&amp;quot;, &amp;quot;04-Jun-25&amp;quot;, &amp;quot;05-Jun-25&amp;quot;, &amp;quot;10-Jun-25&amp;quot;, &amp;quot;11-Jun-25&amp;quot;, &amp;quot;12-Jun-25&amp;quot;, &amp;quot;13-Jun-25&amp;quot;, &amp;quot;16-Jun-25&amp;quot;, &amp;quot;17-Jun-25&amp;quot;, &amp;quot;18-Jun-25&amp;quot;, &amp;quot;19-Jun-25&amp;quot;, &amp;quot;20-Jun-25&amp;quot;, &amp;quot;23-Jun-25&amp;quot;, &amp;quot;24-Jun-25&amp;quot;, &amp;quot;25-Jun-25&amp;quot;, &amp;quot;26-Jun-25&amp;quot;, &amp;quot;27-Jun-25&amp;quot;, &amp;quot;30-Jun-25&amp;quot;, &amp;quot;02-Jul-25&amp;quot;, &amp;quot;03-Jul-25&amp;quot;, &amp;quot;04-Jul-25&amp;quot;, &amp;quot;07-Jul-25&amp;quot;, &amp;quot;08-Jul-25&amp;quot;, &amp;quot;09-Jul-25&amp;quot;, &amp;quot;10-Jul-25&amp;quot;, &amp;quot;11-Jul-25&amp;quot;, &amp;quot;14-Jul-25&amp;quot;, &amp;quot;15-Jul-25&amp;quot;, &amp;quot;16-Jul-25&amp;quot;, &amp;quot;17-Jul-25&amp;quot;, &amp;quot;18-Jul-25&amp;quot;, &amp;quot;21-Jul-25&amp;quot;, &amp;quot;22-Jul-25&amp;quot;, &amp;quot;23-Jul-25&amp;quot;, &amp;quot;24-Jul-25&amp;quot;, &amp;quot;25-Jul-25&amp;quot;, &amp;quot;28-Jul-25&amp;quot;, &amp;quot;29-Jul-25&amp;quot;, &amp;quot;30-Jul-25&amp;quot;, &amp;quot;31-Jul-25&amp;quot;, &amp;quot;01-Aug-25&amp;quot;, &amp;quot;04-Aug-25&amp;quot;, &amp;quot;05-Aug-25&amp;quot;, &amp;quot;06-Aug-25&amp;quot;, &amp;quot;07-Aug-25&amp;quot;, &amp;quot;08-Aug-25&amp;quot;, &amp;quot;11-Aug-25&amp;quot;, &amp;quot;12-Aug-25&amp;quot;, &amp;quot;13-Aug-25&amp;quot;, &amp;quot;15-Aug-25&amp;quot;, &amp;quot;18-Aug-25&amp;quot;, &amp;quot;19-Aug-25&amp;quot;, &amp;quot;20-Aug-25&amp;quot;, &amp;quot;21-Aug-25&amp;quot;, &amp;quot;22-Aug-25&amp;quot;, &amp;quot;25-Aug-25&amp;quot;, &amp;quot;26-Aug-25&amp;quot;, &amp;quot;27-Aug-25&amp;quot;, &amp;quot;28-Aug-25&amp;quot;, &amp;quot;29-Aug-25&amp;quot;, &amp;quot;01-Sep-25&amp;quot;, &amp;quot;02-Sep-25&amp;quot;, &amp;quot;03-Sep-25&amp;quot;, &amp;quot;04-Sep-25&amp;quot;, &amp;quot;05-Sep-25&amp;quot;, &amp;quot;08-Sep-25&amp;quot;, &amp;quot;09-Sep-25&amp;quot;, &amp;quot;10-Sep-25&amp;quot;, &amp;quot;11-Sep-25&amp;quot;, &amp;quot;12-Sep-25&amp;quot;, &amp;quot;15-Sep-25&amp;quot;, &amp;quot;16-Sep-25&amp;quot;, &amp;quot;17-Sep-25&amp;quot;, &amp;quot;18-Sep-25&amp;quot;, &amp;quot;19-Sep-25&amp;quot;, &amp;quot;21-Sep-25&amp;quot;, &amp;quot;22-Sep-25&amp;quot;, &amp;quot;23-Sep-25&amp;quot;, &amp;quot;24-Sep-25&amp;quot;, &amp;quot;25-Sep-25&amp;quot;, &amp;quot;26-Sep-25&amp;quot;, &amp;quot;29-Sep-25&amp;quot;, &amp;quot;30-Sep-25&amp;quot;, &amp;quot;01-Oct-25&amp;quot;, &amp;quot;02-Oct-25&amp;quot;, &amp;quot;03-Oct-25&amp;quot;, &amp;quot;06-Oct-25&amp;quot;, &amp;quot;07-Oct-25&amp;quot;, &amp;quot;08-Oct-25&amp;quot;, &amp;quot;09-Oct-25&amp;quot;, &amp;quot;10-Oct-25&amp;quot;, &amp;quot;13-Oct-25&amp;quot;, &amp;quot;14-Oct-25&amp;quot;, &amp;quot;15-Oct-25&amp;quot;, &amp;quot;16-Oct-25&amp;quot;, &amp;quot;17-Oct-25&amp;quot;, &amp;quot;20-Oct-25&amp;quot;, &amp;quot;21-Oct-25&amp;quot;, &amp;quot;22-Oct-25&amp;quot;, &amp;quot;23-Oct-25&amp;quot;, &amp;quot;24-Oct-25&amp;quot;, &amp;quot;27-Oct-25&amp;quot;, &amp;quot;28-Oct-25&amp;quot;, &amp;quot;29-Oct-25&amp;quot;, &amp;quot;30-Oct-25&amp;quot;, &amp;quot;31-Oct-25&amp;quot;, &amp;quot;03-Nov-25&amp;quot;, &amp;quot;04-Nov-25&amp;quot;, &amp;quot;05-Nov-25&amp;quot;, &amp;quot;06-Nov-25&amp;quot;, &amp;quot;07-Nov-25&amp;quot;, &amp;quot;10-Nov-25&amp;quot;, &amp;quot;11-Nov-25&amp;quot;, &amp;quot;12-Nov-25&amp;quot;, &amp;quot;13-Nov-25&amp;quot;, &amp;quot;14-Nov-25&amp;quot;, &amp;quot;17-Nov-25&amp;quot;, &amp;quot;18-Nov-25&amp;quot;, &amp;quot;19-Nov-25&amp;quot;, &amp;quot;20-Nov-25&amp;quot;, &amp;quot;21-Nov-25&amp;quot;, &amp;quot;24-Nov-25&amp;quot;, &amp;quot;25-Nov-25&amp;quot;, &amp;quot;26-Nov-25&amp;quot;, &amp;quot;27-Nov-25&amp;quot;, &amp;quot;28-Nov-25&amp;quot;, &amp;quot;01-Dec-25&amp;quot;, &amp;quot;02-Dec-25&amp;quot;, &amp;quot;03-Dec-25&amp;quot;, &amp;quot;04-Dec-25&amp;quot;, &amp;quot;05-Dec-25&amp;quot;, &amp;quot;08-Dec-25&amp;quot;, &amp;quot;09-Dec-25&amp;quot;, &amp;quot;10-Dec-25&amp;quot;, &amp;quot;11-Dec-25&amp;quot;, &amp;quot;12-Dec-25&amp;quot;, &amp;quot;15-Dec-25&amp;quot;, &amp;quot;16-Dec-25&amp;quot;, &amp;quot;17-Dec-25&amp;quot;, &amp;quot;18-Dec-25&amp;quot;, &amp;quot;19-Dec-25&amp;quot;, &amp;quot;22-Dec-25&amp;quot;, &amp;quot;23-Dec-25&amp;quot;, &amp;quot;24-Dec-25&amp;quot;, &amp;quot;26-Dec-25&amp;quot;, &amp;quot;29-Dec-25&amp;quot;, &amp;quot;30-Dec-25&amp;quot;, &amp;quot;31-Dec-25&amp;quot;, &amp;quot;02-Jan-26&amp;quot;, &amp;quot;05-Jan-26&amp;quot;, &amp;quot;06-Jan-26&amp;quot;, &amp;quot;07-Jan-26&amp;quot;, &amp;quot;08-Jan-26&amp;quot;, &amp;quot;09-Jan-26&amp;quot;, &amp;quot;12-Jan-26&amp;quot;, &amp;quot;13-Jan-26&amp;quot;, &amp;quot;14-Jan-26&amp;quot;, &amp;quot;15-Jan-26&amp;quot;, &amp;quot;16-Jan-26&amp;quot;, &amp;quot;19-Jan-26&amp;quot;, &amp;quot;20-Jan-26&amp;quot;, &amp;quot;21-Jan-26&amp;quot;, &amp;quot;22-Jan-26&amp;quot;, &amp;quot;23-Jan-26&amp;quot;, &amp;quot;26-Jan-26&amp;quot;, &amp;quot;27-Jan-26&amp;quot;, &amp;quot;28-Jan-26&amp;quot;, &amp;quot;29-Jan-26&amp;quot;, &amp;quot;30-Jan-26&amp;quot;, &amp;quot;02-Feb-26&amp;quot;, &amp;quot;03-Feb-26&amp;quot;, &amp;quot;04-Feb-26&amp;quot;, &amp;quot;06-Feb-26&amp;quot;, &amp;quot;09-Feb-26&amp;quot;, &amp;quot;10-Feb-26&amp;quot;, &amp;quot;11-Feb-26&amp;quot;, &amp;quot;12-Feb-26&amp;quot;, &amp;quot;13-Feb-26&amp;quot;, &amp;quot;16-Feb-26&amp;quot;, &amp;quot;17-Feb-26&amp;quot;, &amp;quot;18-Feb-26&amp;quot;, &amp;quot;20-Feb-26&amp;quot;, &amp;quot;23-Feb-26&amp;quot;, &amp;quot;24-Feb-26&amp;quot;, &amp;quot;25-Feb-26&amp;quot;, &amp;quot;26-Feb-26&amp;quot;, &amp;quot;27-Feb-26&amp;quot;, &amp;quot;02-Mar-26&amp;quot;, &amp;quot;03-Mar-26&amp;quot;, &amp;quot;04-Mar-26&amp;quot;, &amp;quot;05-Mar-26&amp;quot;, &amp;quot;06-Mar-26&amp;quot;, &amp;quot;09-Mar-26&amp;quot;, &amp;quot;10-Mar-26&amp;quot;, &amp;quot;11-Mar-26&amp;quot;, &amp;quot;12-Mar-26&amp;quot;, &amp;quot;13-Mar-26&amp;quot;, &amp;quot;16-Mar-26&amp;quot;, &amp;quot;17-Mar-26&amp;quot;, &amp;quot;18-Mar-26&amp;quot;, &amp;quot;19-Mar-26&amp;quot;, &amp;quot;24-Mar-26&amp;quot;, &amp;quot;25-Mar-26&amp;quot;, &amp;quot;26-Mar-26&amp;quot;, &amp;quot;27-Mar-26&amp;quot;, &amp;quot;30-Mar-26&amp;quot;, &amp;quot;31-Mar-26&amp;quot;, &amp;quot;01-Apr-26&amp;quot;, &amp;quot;02-Apr-26&amp;quot;, &amp;quot;03-Apr-26&amp;quot;, &amp;quot;04-Apr-26&amp;quot;, &amp;quot;06-Apr-26&amp;quot;, &amp;quot;07-Apr-26&amp;quot;, &amp;quot;08-Apr-26&amp;quot;, &amp;quot;09-Apr-26&amp;quot;, &amp;quot;10-Apr-26&amp;quot;, &amp;quot;13-Apr-26&amp;quot;, &amp;quot;14-Apr-26&amp;quot;, &amp;quot;14-Apr-26&amp;quot;, &amp;quot;15-Apr-26&amp;quot;, &amp;quot;16-Apr-26&amp;quot;, &amp;quot;17-Apr-26&amp;quot;, &amp;quot;20-Apr-26&amp;quot;, &amp;quot;21-Apr-26&amp;quot;, &amp;quot;22-Apr-26&amp;quot;, &amp;quot;23-Apr-26&amp;quot;, &amp;quot;24-Apr-26&amp;quot;, &amp;quot;27-Apr-26&amp;quot;, &amp;quot;28-Apr-26&amp;quot;, &amp;quot;29-Apr-26&amp;quot;, &amp;quot;30-Apr-26&amp;quot;, &amp;quot;04-May-26&amp;quot;, &amp;quot;05-May-26&amp;quot;, &amp;quot;06-May-26&amp;quot;, &amp;quot;07-May-26&amp;quot;, &amp;quot;08-May-26&amp;quot;, &amp;quot;11-May-26&amp;quot;, &amp;quot;12-May-26&amp;quot;, &amp;quot;13-May-26&amp;quot;, &amp;quot;14-May-26&amp;quot;, &amp;quot;15-May-26&amp;quot;, &amp;quot;18-May-26&amp;quot;, &amp;quot;19-May-26&amp;quot;, &amp;quot;20-May-26&amp;quot;, &amp;quot;21-May-26&amp;quot;, &amp;quot;22-May-26&amp;quot;, &amp;quot;25-May-26&amp;quot;, &amp;quot;29-May-26&amp;quot;, &amp;quot;01-Jun-26&amp;quot;, &amp;quot;02-Jun-26&amp;quot;, &amp;quot;03-Jun-26&amp;quot;, &amp;quot;04-Jun-26&amp;quot;, &amp;quot;05-Jun-26&amp;quot;, &amp;quot;08-Jun-26&amp;quot;, &amp;quot;09-Jun-26&amp;quot;, &amp;quot;10-Jun-26&amp;quot;, &amp;quot;11-Jun-26&amp;quot;, &amp;quot;12-Jun-26&amp;quot;, &amp;quot;15-Jun-26&amp;quot;, &amp;quot;16-Jun-26&amp;quot;, &amp;quot;17-Jun-26&amp;quot;, &amp;quot;18-Jun-26&amp;quot;, &amp;quot;19-Jun-26&amp;quot;, &amp;quot;22-Jun-26&amp;quot;, &amp;quot;23-Jun-26&amp;quot;, &amp;quot;24-Jun-26&amp;quot;, &amp;quot;29-Jun-26&amp;quot;, &amp;quot;30-Jun-26&amp;quot;, &amp;quot;02-Jul-26&amp;quot;, &amp;quot;03-Jul-26&amp;quot;, &amp;quot;06-Jul-26&amp;quot;, &amp;quot;07-Jul-26&amp;quot;, &amp;quot;08-Jul-26&amp;quot;, &amp;quot;09-Jul-26&amp;quot;, &amp;quot;10-Jul-26&amp;quot;, &amp;quot;13-Jul-26&amp;quot;, &amp;quot;14-Jul-26&amp;quot;, &amp;quot;15-Jul-26&amp;quot;, &amp;quot;16-Jul-26&amp;quot;, &amp;quot;17-Jul-26&amp;quot;, &amp;quot;20-Jul-26&amp;quot;, &amp;quot;21-Jul-26&amp;quot;, &amp;quot;22-Jul-26&amp;quot;, &amp;quot;23-Jul-26&amp;quot;, &amp;quot;24-Jul-26&amp;quot;, &amp;quot;27-Jul-26&amp;quot;, &amp;quot;28-Jul-26&amp;quot;, &amp;quot;29-Jul-26&amp;quot;, &amp;quot;30-Jul-26&amp;quot;, &amp;quot;03-Aug-26&amp;quot;, &amp;quot;04-Aug-26&amp;quot;, &amp;quot;05-Aug-26&amp;quot;, &amp;quot;06-Aug-26&amp;quot;, &amp;quot;07-Aug-26&amp;quot;, &amp;quot;10-Aug-26&amp;quot;, &amp;quot;11-Aug-26&amp;quot;, &amp;quot;12-Aug-26&amp;quot;, &amp;quot;13-Aug-26&amp;quot;, &amp;quot;17-Aug-26&amp;quot;, &amp;quot;18-Aug-26&amp;quot;, &amp;quot;20-Aug-26&amp;quot;, &amp;quot;21-Aug-26&amp;quot;, &amp;quot;24-Aug-26&amp;quot;, &amp;quot;25-Aug-26&amp;quot;, &amp;quot;27-Aug-26&amp;quot;, &amp;quot;28-Aug-26&amp;quot;, &amp;quot;31-Aug-26&amp;quot;, &amp;quot;01-Sep-26&amp;quot;, &amp;quot;02-Sep-26&amp;quot;, &amp;quot;03-Sep-26&amp;quot;, &amp;quot;04-Sep-26&amp;quot;, &amp;quot;07-Sep-26&amp;quot;, &amp;quot;08-Sep-26&amp;quot;, &amp;quot;09-Sep-26&amp;quot;, &amp;quot;10-Sep-26&amp;quot;, &amp;quot;11-Sep-26&amp;quot;, &amp;quot;14-Sep-26&amp;quot;, &amp;quot;15-Sep-26&amp;quot;, &amp;quot;16-Sep-26&amp;quot;, &amp;quot;17-Sep-26&amp;quot;, &amp;quot;18-Sep-26&amp;quot;, &amp;quot;21-Sep-26&amp;quot;, &amp;quot;22-Sep-26&amp;quot;, &amp;quot;23-Sep-26&amp;quot;, &amp;quot;24-Sep-26&amp;quot;];
            
            const rawData = [279.77, 279.87, 279.82, 279.97, 280.07, 279.95, 279.97, 280.05, 280.21, 280.17, 280.27, 280.21, 280.22, 280.26, 280.37, 280.42, 280.26, 280.22, 280.16, 280.56, 280.47, 280.57, 280.73, 280.78, 280.56, 280.47, 280.60, 280.57, 280.46, 280.62, 280.72, 280.87, 280.77, 280.97, 281.07, 280.97, 281.07, 281.02, 280.97, 281.06, 281.22, 281.37, 281.47, 281.52, 281.71, 281.57, 281.67, 281.72, 281.61, 281.66, 281.77, 281.92, 281.97, 282.06, 281.97, 282.06, 282.17, 282.07, 282.02, 281.97, 282.12, 282.22, 282.17, 282.21, 282.47, 282.67, 282.96, 283.17, 283.41, 283.55, 283.64, 283.70, 283.87, 283.77, 283.72, 283.67, 283.72, 283.76, 283.95, 283.86, 283.97, 284.22, 284.36, 284.47, 284.56, 284.46, 284.72, 284.67, 284.96, 284.97, 284.87, 284.95, 284.97, 284.76, 284.22, 283.45, 283.21, 283.05, 282.95, 282.87, 282.72, 282.66, 282.57, 282.67, 282.56, 282.47, 282.45, 282.42, 282.22, 282.06, 282.01, 281.96, 281.95, 281.92, 281.90, 281.87, 281.86, 281.83, 281.80, 281.77, 281.75, 281.72, 281.71, 281.67, 281.65, 281.62, 281.61, 281.60, 281.56, 281.55, 281.52, 281.51, 281.50, 281.47, 281.46, 281.45, 281.46, 281.42, 281.43, 281.41, 281.37, 281.35, 281.32, 281.31, 281.27, 281.26, 281.25, 281.22, 281.21, 281.20, 281.17, 281.16, 281.15, 281.12, 281.11, 281.10, 281.07, 281.06, 281.05, 281.03, 281.02, 281.01, 280.97, 280.96, 280.92, 280.91, 280.90, 280.87, 280.86, 280.85, 280.82, 280.81, 280.78, 280.77, 280.76, 280.72, 280.71, 280.67, 280.66, 280.66, 280.65, 280.62, 280.61, 280.57, 280.56, 280.55, 280.52, 280.51, 280.47, 280.46, 280.45, 280.42, 280.41, 280.40, 280.37, 280.36, 280.32, 280.31, 280.30, 280.27, 280.26, 280.25, 280.22, 280.21, 280.20, 280.17, 280.16, 280.15, 280.12, 280.11, 280.10, 280.07, 280.06, 280.05, 280.02, 280.01, 280.00, 279.97, 279.96, 279.95, 279.92, 279.91, 279.90, 279.87, 279.86, 279.85, 279.82, 279.81, 279.80, 279.77, 279.76, 279.75, 279.72, 279.71, 279.70, 279.67, 279.66, 279.65, 279.62, 279.61, 279.60, 279.57, 279.56, 279.55, 279.52, 279.51, 279.50, 279.47, 279.46, 279.45, 279.42, 279.41, 279.40, 279.37, 279.36, 279.35, 279.32, 279.31, 279.30, 279.27, 279.26, 279.25, 279.22, 279.21, 279.20, 279.17, 279.16, 279.15, 279.12, 279.11, 279.10, 279.07, 279.06, 279.05, 279.02, 279.01, 279.00, 278.97, 278.96, 278.95, 278.92, 278.91, 278.90, 278.87, 278.86, 278.85, 278.82, 278.81, 278.80, 278.77, 278.76, 278.75, 278.72, 278.71, 278.70, 278.67, 278.66, 278.65, 278.62, 278.61, 278.60, 278.57, 278.56, 278.55, 278.52, 278.51, 278.50, 278.47, 278.46, 278.45, 278.42, 278.41, 278.40, 278.37, 278.36, 278.35, 278.32, 278.31, 278.30, 278.27, 278.26, 278.25, 278.22, 278.21, 278.20, 278.17, 278.16, 278.15, 278.12, 278.11, 278.10, 278.07, 278.06, 278.05, 278.02, 278.01, 278.00, 277.95, 277.95, 277.92, 277.91, 277.90, 277.87, 277.86, 277.85, 277.82, 277.81, 277.80, 277.77, 277.76, 277.75, 277.72, 277.71, 277.70, 277.67, 277.66, 277.65, 277.62, 277.61, 277.57, 277.56, 277.55, 277.52, 277.51, 277.50, 277.47, 277.46, 277.45, 277.42, 277.41, 277.40, 277.37, 277.36, 277.35, 277.32, 277.31, 277.30, 277.27, 277.26, 277.25, 277.22, 277.21, 277.20, 277.17];

            const currentExchangeRate = rawData[rawData.length - 1];
            const currentExchangeDate = rawLabels[rawLabels.length - 1];

            // DOM Elements
            const usdInput = document.getElementById(&amp;#039;usdInput&amp;#039;);
            const pkrInput = document.getElementById(&amp;#039;pkrInput&amp;#039;);
            const badgeEl = document.getElementById(&amp;#039;latestBadgeRate&amp;#039;);
            const dateLabelEl = document.getElementById(&amp;#039;latestDateLabel&amp;#039;);

            const statHighEl = document.getElementById(&amp;#039;statHigh&amp;#039;);
            const statLowEl = document.getElementById(&amp;#039;statLow&amp;#039;);
            const statAvgEl = document.getElementById(&amp;#039;statAvg&amp;#039;);
            const statChangeEl = document.getElementById(&amp;#039;statChange&amp;#039;);

            // Format helpers
            const formatCurrency = (val, maxDecimals = 2, minDecimals = 2) =&amp;gt; {
                if (isNaN(val) || val === null) return &amp;#039;--&amp;#039;;
                return val.toLocaleString(&amp;#039;en-US&amp;#039;, {
                    minimumFractionDigits: minDecimals,
                    maximumFractionDigits: maxDecimals
                });
            };

            const parseCurrency = (valStr) =&amp;gt; {
                if (!valStr) return NaN;
                return parseFloat(valStr.toString().replace(/,/g, &amp;#039;&amp;#039;));
            };

            // Set Initial Values in UI
            dateLabelEl.textContent = currentExchangeDate;
            badgeEl.textContent = formatCurrency(currentExchangeRate) + &amp;#039; PKR&amp;#039;;
            pkrInput.value = formatCurrency(currentExchangeRate);

            // Converter Event Listeners
            usdInput.addEventListener(&amp;#039;input&amp;#039;, (e) =&amp;gt; {
                const val = parseCurrency(e.target.value);
                if (isNaN(val)) {
                    pkrInput.value = &amp;#039;&amp;#039;;
                } else {
                    pkrInput.value = formatCurrency(val * currentExchangeRate);
                }
            });

            pkrInput.addEventListener(&amp;#039;input&amp;#039;, (e) =&amp;gt; {
                const val = parseCurrency(e.target.value);
                if (isNaN(val)) {
                    usdInput.value = &amp;#039;&amp;#039;;
                } else {
                    usdInput.value = formatCurrency(val / currentExchangeRate, 4, 2);
                }
            });

            usdInput.addEventListener(&amp;#039;blur&amp;#039;, (e) =&amp;gt; {
                const val = parseCurrency(e.target.value);
                if (!isNaN(val)) {
                    e.target.value = formatCurrency(val, 2, 0);
                }
            });

            pkrInput.addEventListener(&amp;#039;blur&amp;#039;, (e) =&amp;gt; {
                const val = parseCurrency(e.target.value);
                if (!isNaN(val)) {
                    e.target.value = formatCurrency(val, 2, 2);
                }
            });

            const ctx = document.getElementById(&amp;#039;closingRatesChart&amp;#039;).getContext(&amp;#039;2d&amp;#039;);
            
            // Create gradient fill
            const gradient = ctx.createLinearGradient(0, 0, 0, 350);
            gradient.addColorStop(0, &amp;#039;rgba(79, 70, 229, 0.25)&amp;#039;);
            gradient.addColorStop(1, &amp;#039;rgba(79, 70, 229, 0.0)&amp;#039;);

            let chartInstance = new Chart(ctx, {
                type: &amp;#039;line&amp;#039;,
                data: {
                    labels: rawLabels,
                    datasets: [{
                        label: &amp;#039;USD to PKR&amp;#039;,
                        data: rawData,
                        borderColor: &amp;#039;#4f46e5&amp;#039;,
                        borderWidth: 2,
                        backgroundColor: gradient,
                        fill: true,
                        tension: 0.3,
                        pointRadius: 0,
                        pointHoverRadius: 6,
                        pointHoverBackgroundColor: &amp;#039;#4f46e5&amp;#039;,
                        pointHoverBorderColor: &amp;#039;#ffffff&amp;#039;,
                        pointHoverBorderWidth: 2
                    }]
                },
                options: {
                    responsive: true,
                    maintainAspectRatio: false,
                    interaction: {
                        intersect: false,
                        mode: &amp;#039;index&amp;#039;
                    },
                    plugins: {
                        legend: { display: false },
                        tooltip: {
                            backgroundColor: &amp;#039;#0f172a&amp;#039;,
                            titleFont: { family: &amp;#039;Plus Jakarta Sans&amp;#039;, size: 12, weight: &amp;#039;bold&amp;#039; },
                            bodyFont: { family: &amp;#039;Plus Jakarta Sans&amp;#039;, size: 13 },
                            padding: 10,
                            cornerRadius: 8,
                            displayColors: false,
                            callbacks: {
                                label: function(context) {
                                    return &amp;#039;Rate: &amp;#039; + formatCurrency(context.parsed.y) + &amp;#039; PKR&amp;#039;;
                                }
                            }
                        }
                    },
                    scales: {
                        x: {
                            grid: { display: false },
                            ticks: {
                                font: { family: &amp;#039;Plus Jakarta Sans&amp;#039;, size: 11 },
                                color: &amp;#039;#64748b&amp;#039;,
                                maxTicksLimit: 8,
                                maxRotation: 0
                            }
                        },
                        y: {
                            grid: { color: &amp;#039;#f1f5f9&amp;#039; },
                            ticks: {
                                font: { family: &amp;#039;Plus Jakarta Sans&amp;#039;, size: 11 },
                                color: &amp;#039;#64748b&amp;#039;,
                                callback: function(value) {
                                    return value.toFixed(1);
                                }
                            }
                        }
                    }
                }
            });

            function updateRangeStats(labels, data) {
                if (!data || data.length === 0) return;

                const high = Math.max(...data);
                const low = Math.min(...data);
                const avg = data.reduce((a, b) =&amp;gt; a + b, 0) / data.length;
                const startVal = data[0];
                const endVal = data[data.length - 1];
                const change = endVal - startVal;
                const changePct = (change / startVal) * 100;

                statHighEl.textContent = formatCurrency(high);
                statLowEl.textContent = formatCurrency(low);
                statAvgEl.textContent = formatCurrency(avg);

                const sign = change &amp;gt;= 0 ? &amp;#039;+&amp;#039; : &amp;#039;&amp;#039;;
                statChangeEl.textContent = `${sign}${formatCurrency(change)} (${sign}${changePct.toFixed(2)}%)`;
                statChangeEl.style.color = change &amp;gt; 0 ? &amp;#039;#10b981&amp;#039; : (change &amp;lt; 0 ? &amp;#039;#ef4444&amp;#039; : &amp;#039;#64748b&amp;#039;);
            }

            // Timeframe filtering handler
            function setTimeframe(rangeCount) {
                let slicedLabels = rawLabels;
                let slicedData = rawData;

                if (rangeCount !== &amp;#039;all&amp;#039;) {
                    const count = parseInt(rangeCount, 10);
                    slicedLabels = rawLabels.slice(-count);
                    slicedData = rawData.slice(-count);
                }

                chartInstance.data.labels = slicedLabels;
                chartInstance.data.datasets[0].data = slicedData;

                // Adjust Y axis dynamic scaling
                const minVal = Math.min(...slicedData);
                const maxVal = Math.max(...slicedData);
                const padding = (maxVal - minVal) * 0.1 || 1;
                
                chartInstance.options.scales.y.min = Math.floor((minVal - padding) * 10) / 10;
                chartInstance.options.scales.y.max = Math.ceil((maxVal + padding) * 10) / 10;

                chartInstance.update();
                updateRangeStats(slicedLabels, slicedData);
            }

            // Setup timeframe button listeners
            document.querySelectorAll(&amp;#039;#pkr-chart-embed .tf-btn&amp;#039;).forEach(btn =&amp;gt; {
                btn.addEventListener(&amp;#039;click&amp;#039;, (e) =&amp;gt; {
                    document.querySelectorAll(&amp;#039;#pkr-chart-embed .tf-btn&amp;#039;).forEach(b =&amp;gt; b.classList.remove(&amp;#039;active&amp;#039;));
                    e.target.classList.add(&amp;#039;active&amp;#039;);
                    setTimeframe(e.target.getAttribute(&amp;#039;data-range&amp;#039;));
                });
            });

            // Initial range load
            setTimeframe(&amp;#039;all&amp;#039;);
        })();
    &amp;lt;/script&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;
    &amp;lt;script&amp;gt;
        function reportHeight() {
            var h = document.documentElement.scrollHeight;
            window.parent.postMessage({ type: &amp;#039;raw-html-resize&amp;#039;, id: &amp;#039;raw-html-6ab52a1ab5cd3&amp;#039;, height: h }, &amp;#039;*&amp;#039;);
        }
        window.addEventListener(&amp;#039;load&amp;#039;, reportHeight);
        if (window.ResizeObserver) {
            new ResizeObserver(reportHeight).observe(document.body);
        }
    &amp;lt;/script&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;"&gt;&lt;/iframe&gt;
&lt;script&gt;
if (!window._rawHtmlListenerAttached) {
    window._rawHtmlListenerAttached = true;
    window.addEventListener('message', function(event) {
        if (event.data &amp;&amp; event.data.type === 'raw-html-resize' &amp;&amp; event.data.id) {
            var iframe = document.getElementById(event.data.id);
            if (iframe) {
                var height = Math.min(Math.max(event.data.height, 50), 9200);
                iframe.style.height = height + 'px';
            }
        }
    });
}
&lt;/script&gt;
&lt;p&gt;&lt;strong&gt;The Pakistani rupee extended its marginal gains, appreciating 0.01% against the US dollar in the interbank market on Thursday.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The local unit closed the day at 277.17, a gain of Re0.03 against the greenback.&lt;/p&gt;
    &lt;figure class='media  w-full  w-full  media--  media--embed  media--uneven media--tweet' data-original-src='https://x.com/StateBank_Pak/status/2103077848265495021'&gt;
        &lt;div class='media__item  media__item--twitter  '&gt;&lt;span&gt;
    &lt;blockquote class="twitter-tweet" lang="en"&gt;
        &lt;a href="https://twitter.com/StateBank_Pak/status/2103077848265495021"&gt;&lt;/a&gt;
    &lt;/blockquote&gt;
&lt;/span&gt;&lt;/div&gt;
        
    &lt;/figure&gt;
&lt;p&gt;&lt;a href="https://www.brecorder.com/news/40440854/intra-day-update-rupee-records-gain-against-us-dollar"&gt;&lt;u&gt;On Wednesday&lt;/u&gt;&lt;/a&gt;, the Pakistani rupee settled at 277.20 against the dollar.&lt;/p&gt;
&lt;p&gt;Internationally, the &lt;a href="https://www.brecorder.com/news/40440986/dollar-perched-at-two-month-high-as-hot-pmi-fuels-inflation-fears-rate-hike-bets"&gt;US dollar clung to a two-month high &lt;/a&gt;on Thursday after a strong manufacturing reading reignited inflation fears and rate-hike bets, while a weak Treasury auction sent yields ​higher across the curve, providing fresh impetus to the US currency.&lt;/p&gt;
&lt;p&gt;The broad dollar strength ‌pushed the euro to $1.1378, a two-month low, while sterling languished near a three-month nadir at $1.3231. The dollar index, which measures the US currency against a basket of peers, held near a two-month high at 101.1.&lt;/p&gt;
&lt;p&gt;A stronger-than-expected purchasing managers’ report ​overnight fanned new price concerns, and a poorly received auction of five-year U.S. Treasury notes ​triggered a fresh round of bond selling, with five-year yields crossing 5% for ⁠the first time since 2007.&lt;/p&gt;
&lt;p&gt;Inflation risks were also amplified by a nearly 4% jump in oil prices on Wednesday after Iran’s president vowed never to surrender, with markets also weighing US President Donald Trump’s diesel export ban.&lt;/p&gt;
&lt;p&gt;Traders now see a nearly 70% chance of another increase when the US central bank next meets in October, ​according to CME Group’s FedWatch ​Tool, up from ⁠the 50% probability a week ago.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.brecorder.com/news/40440987/oil-prices-fall-as-iran-says-it-is-open-to-diplomacy-to-end-the-war"&gt;&lt;u&gt;Oil prices&lt;/u&gt;&lt;/a&gt;, a key indicator of currency parity, rose more than 1% on Thursday as diplomatic talks between the US and Iran showed little sign of progress, while investors focused on uncertainty about a potential US ban on diesel exports.&lt;/p&gt;
&lt;p&gt;Brent crude futures were up $1.63, or 1.58%, at $104.71 a barrel at 1200 GMT, while West Texas Intermediate futures were up $1.34, or 1.49%, at $93.53 a barrel.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Inter-bank market rates for dollar on Thursday&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;BID Rs 277.17&lt;/p&gt;
&lt;p&gt;OFFER Rs 277.37&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Open-market movement&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;In the open market, the PKR gained 5.00 paisa for buying and 2.00 paisa for selling against USD, closing at 278.12 and 279.20, respectively.&lt;/p&gt;
&lt;p&gt;Against Euro, the PKR gained 1.02 rupee for buying and 1.03 rupee for selling, closing at 316.43 and 319.72, respectively.&lt;/p&gt;
&lt;p&gt;Against UAE Dirham, the PKR remained unchanged for buying and gained 1.00 paisa for selling, closing at 75.70 and 76.28, respectively.&lt;/p&gt;
&lt;p&gt;Against Saudi Riyal, the PKR gained 1.00 paisa for both buying and selling, closing at 74.01 and 74.51, respectively.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Open-market rates for dollar on Thursday&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;BID Rs 278.12&lt;/p&gt;
&lt;p&gt;OFFER Rs 279.20&lt;br&gt;&lt;br&gt;&lt;/p&gt;
</description>
      <content:encoded xmlns="http://purl.org/rss/1.0/modules/content/"><![CDATA[<iframe id="raw-html-6ab52a1ab5cd3" class="raw-html-embed" style="width: 100%; min-height: 50px; max-height: 9200px; border: none; overflow: hidden;" scrolling="no" srcdoc="&lt;!DOCTYPE html&gt;
&lt;html&gt;
&lt;head&gt;
    &lt;style&gt;
        body { margin: 0; padding: 0; font-family: system-ui, -apple-system, sans-serif; overflow-wrap: anywhere; }
    &lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
    
&lt;!DOCTYPE html&gt;
&lt;html lang=&quot;en&quot;&gt;
&lt;head&gt;
    &lt;meta charset=&quot;UTF-8&quot;&gt;
    &lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1.0&quot;&gt;
    &lt;title&gt;PKR vs USD Exchange Rate Chart&lt;/title&gt;
    &lt;!-- Chart.js for interactive rendering --&gt;
    &lt;script src=&quot;https://cdn.jsdelivr.net/npm/chart.js&quot;&gt;&lt;/script&gt;
    
    &lt;style&gt;
        @import url(&#039;https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght=400;500;600;700&amp;display=swap&#039;);

        #pkr-chart-embed {
            font-family: &#039;Plus Jakarta Sans&#039;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, Roboto, sans-serif;
            max-width: 1000px;
            width: 100%;
            margin: 24px auto;
            background-color: #ffffff;
            border: 1px solid #e2e8f0;
            border-radius: 20px;
            padding: 24px;
            box-shadow: 0 10px 25px -5px rgba(15, 23, 42, 0.05), 0 8px 10px -6px rgba(15, 23, 42, 0.05);
            color: #0f172a;
            box-sizing: border-box;
        }

        #pkr-chart-embed * { box-sizing: border-box; margin: 0; padding: 0; }

        #pkr-chart-embed .chart-header {
            display: flex;
            flex-direction: column;
            gap: 20px;
            margin-bottom: 20px;
            width: 100%;
        }

        #pkr-chart-embed .top-row {
            display: flex;
            flex-direction: row;
            justify-content: space-between;
            align-items: flex-start;
            gap: 20px;
        }

        #pkr-chart-embed .calculator-area {
            display: flex;
            flex-direction: column;
            gap: 8px;
            align-items: flex-start;
        }

        #pkr-chart-embed .main-title {
            font-size: 22px;
            font-weight: 700;
            color: #0f172a;
            letter-spacing: -0.025em;
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            gap: 10px;
        }

        #pkr-chart-embed .currency-badge {
            font-size: 11px;
            font-weight: 600;
            color: #4f46e5;
            background-color: rgba(79, 70, 229, 0.08);
            padding: 3px 10px;
            border-radius: 9999px;
            border: 1px solid rgba(79, 70, 229, 0.15);
            text-transform: uppercase;
        }

        #pkr-chart-embed .calculator-title {
            font-size: 10px;
            font-weight: 700;
            color: #64748b;
            text-transform: uppercase;
            letter-spacing: 0.05em;
        }

        #pkr-chart-embed .converter {
            display: flex;
            align-items: center;
            background: #f8fafc;
            border: 1px solid #e2e8f0;
            border-radius: 12px;
            padding: 4px;
            gap: 6px;
        }

        #pkr-chart-embed .converter-group {
            display: flex;
            align-items: center;
            background: #ffffff;
            border-radius: 8px;
            padding: 6px 10px;
            box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
            border: 1px solid #e2e8f0;
        }

        #pkr-chart-embed .converter-input {
            border: none;
            outline: none;
            width: 90px;
            font-family: inherit;
            font-weight: 700;
            color: #0f172a;
            font-size: 14px;
            text-align: right;
            background: transparent;
        }

        #pkr-chart-embed .converter-input.pkr-field { width: 120px; }

        #pkr-chart-embed .converter-label {
            font-size: 11px;
            font-weight: 700;
            color: #64748b;
            margin-left: 6px;
        }

        #pkr-chart-embed .equals-sign { color: #94a3b8; font-weight: 600; font-size: 16px; }

        #pkr-chart-embed .rate-badge-container {
            display: flex;
            flex-direction: column;
            align-items: flex-end;
            gap: 6px;
        }

        #pkr-chart-embed .rate-label-sub { text-align: right; }
        #pkr-chart-embed .rate-label-sub span:first-child { display: block; font-size: 9px; text-transform: uppercase; font-weight: 700; color: #64748b; }
        #pkr-chart-embed .rate-label-sub span:last-child { display: block; font-size: 12px; color: #334155; font-weight: 600; }

        #pkr-chart-embed .rate-badge {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            background: linear-gradient(135deg, #4f46e5, #3b82f6);
            color: #ffffff;
            font-weight: 700;
            font-size: 14px;
            padding: 8px 14px;
            border-radius: 12px;
            box-shadow: 0 8px 16px -3px rgba(79, 70, 229, 0.25);
        }

        #pkr-chart-embed .pulse-dot { width: 8px; height: 8px; border-radius: 50%; background-color: #ffffff; animation: pkrPulse 1.5s infinite; }

        @keyframes pkrPulse {
            0% { transform: scale(0.95); opacity: 0.6; }
            50% { transform: scale(1.15); opacity: 1; }
            100% { transform: scale(0.95); opacity: 0.6; }
        }

        /* Controls &amp; Stats Toolbar */
        #pkr-chart-embed .toolbar {
            display: flex;
            justify-content: space-between;
            align-items: center;
            flex-wrap: wrap;
            gap: 12px;
            margin-bottom: 16px;
            padding-bottom: 12px;
            border-bottom: 1px solid #f1f5f9;
        }

        #pkr-chart-embed .timeframe-selector {
            display: flex;
            gap: 4px;
            background: #f1f5f9;
            padding: 3px;
            border-radius: 10px;
        }

        #pkr-chart-embed .tf-btn {
            border: none;
            background: transparent;
            font-family: inherit;
            font-size: 12px;
            font-weight: 600;
            color: #64748b;
            padding: 5px 12px;
            border-radius: 7px;
            cursor: pointer;
            transition: all 0.2s ease;
        }

        #pkr-chart-embed .tf-btn.active {
            background: #ffffff;
            color: #4f46e5;
            box-shadow: 0 1px 3px rgba(0,0,0,0.1);
        }

        #pkr-chart-embed .stats-row {
            display: flex;
            gap: 16px;
            flex-wrap: wrap;
        }

        #pkr-chart-embed .stat-item {
            font-size: 12px;
            color: #64748b;
        }

        #pkr-chart-embed .stat-item strong {
            color: #0f172a;
            font-weight: 700;
        }

        #pkr-chart-embed .chart-canvas-container { position: relative; width: 100%; height: 380px; }

        @media (max-width: 768px) {
            #pkr-chart-embed .chart-canvas-container { height: 300px; }
            #pkr-chart-embed .top-row { flex-direction: column; align-items: flex-start; }
            #pkr-chart-embed .rate-badge-container { align-items: flex-start; }
            #pkr-chart-embed .rate-label-sub { text-align: left; }
            #pkr-chart-embed .toolbar { flex-direction: column; align-items: flex-start; }
        }
    &lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
    &lt;div id=&quot;pkr-chart-embed&quot;&gt;
        &lt;div class=&quot;chart-header&quot;&gt;
            &lt;h1 class=&quot;main-title&quot;&gt;
                &lt;span&gt;PKR vs USD Exchange Rate&lt;/span&gt;
                &lt;span class=&quot;currency-badge&quot;&gt;USD / PKR&lt;/span&gt;
            &lt;/h1&gt;

            &lt;div class=&quot;top-row&quot;&gt;
                &lt;div class=&quot;calculator-area&quot;&gt;
                    &lt;span class=&quot;calculator-title&quot;&gt;Calculator&lt;/span&gt;
                    &lt;div class=&quot;converter&quot;&gt;
                        &lt;div class=&quot;converter-group&quot;&gt;
                            &lt;input type=&quot;text&quot; inputmode=&quot;decimal&quot; id=&quot;usdInput&quot; class=&quot;converter-input&quot; value=&quot;1&quot;&gt;
                            &lt;span class=&quot;converter-label&quot;&gt;USD&lt;/span&gt;
                        &lt;/div&gt;
                        &lt;span class=&quot;equals-sign&quot;&gt;=&lt;/span&gt;
                        &lt;div class=&quot;converter-group&quot;&gt;
                            &lt;input type=&quot;text&quot; inputmode=&quot;decimal&quot; id=&quot;pkrInput&quot; class=&quot;converter-input pkr-field&quot; value=&quot;&quot;&gt;
                            &lt;span class=&quot;converter-label&quot;&gt;PKR&lt;/span&gt;
                        &lt;/div&gt;
                    &lt;/div&gt;
                &lt;/div&gt;

                &lt;div class=&quot;rate-badge-container&quot;&gt;
                    &lt;div class=&quot;rate-label-sub&quot;&gt;
                        &lt;span&gt;Latest Closing&lt;/span&gt;
                        &lt;span id=&quot;latestDateLabel&quot;&gt;24-Sep-26&lt;/span&gt;
                    &lt;/div&gt;
                    &lt;div class=&quot;rate-badge&quot;&gt;
                        &lt;span class=&quot;pulse-dot&quot;&gt;&lt;/span&gt;
                        &lt;span id=&quot;latestBadgeRate&quot;&gt;277.17 PKR&lt;/span&gt;
                    &lt;/div&gt;
                &lt;/div&gt;
            &lt;/div&gt;
        &lt;/div&gt;

        &lt;div class=&quot;toolbar&quot;&gt;
            &lt;div class=&quot;timeframe-selector&quot;&gt;
                &lt;button class=&quot;tf-btn&quot; data-range=&quot;30&quot;&gt;1M&lt;/button&gt;
                &lt;button class=&quot;tf-btn&quot; data-range=&quot;90&quot;&gt;3M&lt;/button&gt;
                &lt;button class=&quot;tf-btn&quot; data-range=&quot;180&quot;&gt;6M&lt;/button&gt;
                &lt;button class=&quot;tf-btn&quot; data-range=&quot;365&quot;&gt;1Y&lt;/button&gt;
                &lt;button class=&quot;tf-btn active&quot; data-range=&quot;all&quot;&gt;ALL&lt;/button&gt;
            &lt;/div&gt;

            &lt;div class=&quot;stats-row&quot;&gt;
                &lt;span class=&quot;stat-item&quot;&gt;High: &lt;strong id=&quot;statHigh&quot;&gt;--&lt;/strong&gt;&lt;/span&gt;
                &lt;span class=&quot;stat-item&quot;&gt;Low: &lt;strong id=&quot;statLow&quot;&gt;--&lt;/strong&gt;&lt;/span&gt;
                &lt;span class=&quot;stat-item&quot;&gt;Avg: &lt;strong id=&quot;statAvg&quot;&gt;--&lt;/strong&gt;&lt;/span&gt;
                &lt;span class=&quot;stat-item&quot;&gt;Change: &lt;strong id=&quot;statChange&quot;&gt;--&lt;/strong&gt;&lt;/span&gt;
            &lt;/div&gt;
        &lt;/div&gt;

        &lt;div class=&quot;chart-canvas-container&quot;&gt;
            &lt;canvas id=&quot;closingRatesChart&quot;&gt;&lt;/canvas&gt;
        &lt;/div&gt;
    &lt;/div&gt;

    &lt;script&gt;
        (function() {
            // Full historical closing rate dataset with 24-Sep-26 appended
            const rawLabels = [&quot;04-Mar-25&quot;, &quot;05-Mar-25&quot;, &quot;06-Mar-25&quot;, &quot;07-Mar-25&quot;, &quot;10-Mar-25&quot;, &quot;11-Mar-25&quot;, &quot;12-Mar-25&quot;, &quot;13-Mar-25&quot;, &quot;14-Mar-25&quot;, &quot;17-Mar-25&quot;, &quot;18-Mar-25&quot;, &quot;19-Mar-25&quot;, &quot;20-Mar-25&quot;, &quot;21-Mar-25&quot;, &quot;24-Mar-25&quot;, &quot;25-Mar-25&quot;, &quot;26-Mar-25&quot;, &quot;27-Mar-25&quot;, &quot;28-Mar-25&quot;, &quot;03-Apr-25&quot;, &quot;04-Apr-25&quot;, &quot;07-Apr-25&quot;, &quot;08-Apr-25&quot;, &quot;09-Apr-25&quot;, &quot;10-Apr-25&quot;, &quot;11-Apr-25&quot;, &quot;14-Apr-25&quot;, &quot;15-Apr-25&quot;, &quot;16-Apr-25&quot;, &quot;17-Apr-25&quot;, &quot;18-Apr-25&quot;, &quot;21-Apr-25&quot;, &quot;22-Apr-25&quot;, &quot;23-Apr-25&quot;, &quot;24-Apr-25&quot;, &quot;25-Apr-25&quot;, &quot;28-Apr-25&quot;, &quot;29-Apr-25&quot;, &quot;30-Apr-25&quot;, &quot;02-May-25&quot;, &quot;05-May-25&quot;, &quot;06-May-25&quot;, &quot;07-May-25&quot;, &quot;08-May-25&quot;, &quot;09-May-25&quot;, &quot;12-May-25&quot;, &quot;13-May-25&quot;, &quot;14-May-25&quot;, &quot;15-May-25&quot;, &quot;16-May-25&quot;, &quot;19-May-25&quot;, &quot;20-May-25&quot;, &quot;21-May-25&quot;, &quot;22-May-25&quot;, &quot;23-May-25&quot;, &quot;26-May-25&quot;, &quot;27-May-25&quot;, &quot;29-May-25&quot;, &quot;30-May-25&quot;, &quot;02-Jun-25&quot;, &quot;03-Jun-25&quot;, &quot;04-Jun-25&quot;, &quot;05-Jun-25&quot;, &quot;10-Jun-25&quot;, &quot;11-Jun-25&quot;, &quot;12-Jun-25&quot;, &quot;13-Jun-25&quot;, &quot;16-Jun-25&quot;, &quot;17-Jun-25&quot;, &quot;18-Jun-25&quot;, &quot;19-Jun-25&quot;, &quot;20-Jun-25&quot;, &quot;23-Jun-25&quot;, &quot;24-Jun-25&quot;, &quot;25-Jun-25&quot;, &quot;26-Jun-25&quot;, &quot;27-Jun-25&quot;, &quot;30-Jun-25&quot;, &quot;02-Jul-25&quot;, &quot;03-Jul-25&quot;, &quot;04-Jul-25&quot;, &quot;07-Jul-25&quot;, &quot;08-Jul-25&quot;, &quot;09-Jul-25&quot;, &quot;10-Jul-25&quot;, &quot;11-Jul-25&quot;, &quot;14-Jul-25&quot;, &quot;15-Jul-25&quot;, &quot;16-Jul-25&quot;, &quot;17-Jul-25&quot;, &quot;18-Jul-25&quot;, &quot;21-Jul-25&quot;, &quot;22-Jul-25&quot;, &quot;23-Jul-25&quot;, &quot;24-Jul-25&quot;, &quot;25-Jul-25&quot;, &quot;28-Jul-25&quot;, &quot;29-Jul-25&quot;, &quot;30-Jul-25&quot;, &quot;31-Jul-25&quot;, &quot;01-Aug-25&quot;, &quot;04-Aug-25&quot;, &quot;05-Aug-25&quot;, &quot;06-Aug-25&quot;, &quot;07-Aug-25&quot;, &quot;08-Aug-25&quot;, &quot;11-Aug-25&quot;, &quot;12-Aug-25&quot;, &quot;13-Aug-25&quot;, &quot;15-Aug-25&quot;, &quot;18-Aug-25&quot;, &quot;19-Aug-25&quot;, &quot;20-Aug-25&quot;, &quot;21-Aug-25&quot;, &quot;22-Aug-25&quot;, &quot;25-Aug-25&quot;, &quot;26-Aug-25&quot;, &quot;27-Aug-25&quot;, &quot;28-Aug-25&quot;, &quot;29-Aug-25&quot;, &quot;01-Sep-25&quot;, &quot;02-Sep-25&quot;, &quot;03-Sep-25&quot;, &quot;04-Sep-25&quot;, &quot;05-Sep-25&quot;, &quot;08-Sep-25&quot;, &quot;09-Sep-25&quot;, &quot;10-Sep-25&quot;, &quot;11-Sep-25&quot;, &quot;12-Sep-25&quot;, &quot;15-Sep-25&quot;, &quot;16-Sep-25&quot;, &quot;17-Sep-25&quot;, &quot;18-Sep-25&quot;, &quot;19-Sep-25&quot;, &quot;21-Sep-25&quot;, &quot;22-Sep-25&quot;, &quot;23-Sep-25&quot;, &quot;24-Sep-25&quot;, &quot;25-Sep-25&quot;, &quot;26-Sep-25&quot;, &quot;29-Sep-25&quot;, &quot;30-Sep-25&quot;, &quot;01-Oct-25&quot;, &quot;02-Oct-25&quot;, &quot;03-Oct-25&quot;, &quot;06-Oct-25&quot;, &quot;07-Oct-25&quot;, &quot;08-Oct-25&quot;, &quot;09-Oct-25&quot;, &quot;10-Oct-25&quot;, &quot;13-Oct-25&quot;, &quot;14-Oct-25&quot;, &quot;15-Oct-25&quot;, &quot;16-Oct-25&quot;, &quot;17-Oct-25&quot;, &quot;20-Oct-25&quot;, &quot;21-Oct-25&quot;, &quot;22-Oct-25&quot;, &quot;23-Oct-25&quot;, &quot;24-Oct-25&quot;, &quot;27-Oct-25&quot;, &quot;28-Oct-25&quot;, &quot;29-Oct-25&quot;, &quot;30-Oct-25&quot;, &quot;31-Oct-25&quot;, &quot;03-Nov-25&quot;, &quot;04-Nov-25&quot;, &quot;05-Nov-25&quot;, &quot;06-Nov-25&quot;, &quot;07-Nov-25&quot;, &quot;10-Nov-25&quot;, &quot;11-Nov-25&quot;, &quot;12-Nov-25&quot;, &quot;13-Nov-25&quot;, &quot;14-Nov-25&quot;, &quot;17-Nov-25&quot;, &quot;18-Nov-25&quot;, &quot;19-Nov-25&quot;, &quot;20-Nov-25&quot;, &quot;21-Nov-25&quot;, &quot;24-Nov-25&quot;, &quot;25-Nov-25&quot;, &quot;26-Nov-25&quot;, &quot;27-Nov-25&quot;, &quot;28-Nov-25&quot;, &quot;01-Dec-25&quot;, &quot;02-Dec-25&quot;, &quot;03-Dec-25&quot;, &quot;04-Dec-25&quot;, &quot;05-Dec-25&quot;, &quot;08-Dec-25&quot;, &quot;09-Dec-25&quot;, &quot;10-Dec-25&quot;, &quot;11-Dec-25&quot;, &quot;12-Dec-25&quot;, &quot;15-Dec-25&quot;, &quot;16-Dec-25&quot;, &quot;17-Dec-25&quot;, &quot;18-Dec-25&quot;, &quot;19-Dec-25&quot;, &quot;22-Dec-25&quot;, &quot;23-Dec-25&quot;, &quot;24-Dec-25&quot;, &quot;26-Dec-25&quot;, &quot;29-Dec-25&quot;, &quot;30-Dec-25&quot;, &quot;31-Dec-25&quot;, &quot;02-Jan-26&quot;, &quot;05-Jan-26&quot;, &quot;06-Jan-26&quot;, &quot;07-Jan-26&quot;, &quot;08-Jan-26&quot;, &quot;09-Jan-26&quot;, &quot;12-Jan-26&quot;, &quot;13-Jan-26&quot;, &quot;14-Jan-26&quot;, &quot;15-Jan-26&quot;, &quot;16-Jan-26&quot;, &quot;19-Jan-26&quot;, &quot;20-Jan-26&quot;, &quot;21-Jan-26&quot;, &quot;22-Jan-26&quot;, &quot;23-Jan-26&quot;, &quot;26-Jan-26&quot;, &quot;27-Jan-26&quot;, &quot;28-Jan-26&quot;, &quot;29-Jan-26&quot;, &quot;30-Jan-26&quot;, &quot;02-Feb-26&quot;, &quot;03-Feb-26&quot;, &quot;04-Feb-26&quot;, &quot;06-Feb-26&quot;, &quot;09-Feb-26&quot;, &quot;10-Feb-26&quot;, &quot;11-Feb-26&quot;, &quot;12-Feb-26&quot;, &quot;13-Feb-26&quot;, &quot;16-Feb-26&quot;, &quot;17-Feb-26&quot;, &quot;18-Feb-26&quot;, &quot;20-Feb-26&quot;, &quot;23-Feb-26&quot;, &quot;24-Feb-26&quot;, &quot;25-Feb-26&quot;, &quot;26-Feb-26&quot;, &quot;27-Feb-26&quot;, &quot;02-Mar-26&quot;, &quot;03-Mar-26&quot;, &quot;04-Mar-26&quot;, &quot;05-Mar-26&quot;, &quot;06-Mar-26&quot;, &quot;09-Mar-26&quot;, &quot;10-Mar-26&quot;, &quot;11-Mar-26&quot;, &quot;12-Mar-26&quot;, &quot;13-Mar-26&quot;, &quot;16-Mar-26&quot;, &quot;17-Mar-26&quot;, &quot;18-Mar-26&quot;, &quot;19-Mar-26&quot;, &quot;24-Mar-26&quot;, &quot;25-Mar-26&quot;, &quot;26-Mar-26&quot;, &quot;27-Mar-26&quot;, &quot;30-Mar-26&quot;, &quot;31-Mar-26&quot;, &quot;01-Apr-26&quot;, &quot;02-Apr-26&quot;, &quot;03-Apr-26&quot;, &quot;04-Apr-26&quot;, &quot;06-Apr-26&quot;, &quot;07-Apr-26&quot;, &quot;08-Apr-26&quot;, &quot;09-Apr-26&quot;, &quot;10-Apr-26&quot;, &quot;13-Apr-26&quot;, &quot;14-Apr-26&quot;, &quot;14-Apr-26&quot;, &quot;15-Apr-26&quot;, &quot;16-Apr-26&quot;, &quot;17-Apr-26&quot;, &quot;20-Apr-26&quot;, &quot;21-Apr-26&quot;, &quot;22-Apr-26&quot;, &quot;23-Apr-26&quot;, &quot;24-Apr-26&quot;, &quot;27-Apr-26&quot;, &quot;28-Apr-26&quot;, &quot;29-Apr-26&quot;, &quot;30-Apr-26&quot;, &quot;04-May-26&quot;, &quot;05-May-26&quot;, &quot;06-May-26&quot;, &quot;07-May-26&quot;, &quot;08-May-26&quot;, &quot;11-May-26&quot;, &quot;12-May-26&quot;, &quot;13-May-26&quot;, &quot;14-May-26&quot;, &quot;15-May-26&quot;, &quot;18-May-26&quot;, &quot;19-May-26&quot;, &quot;20-May-26&quot;, &quot;21-May-26&quot;, &quot;22-May-26&quot;, &quot;25-May-26&quot;, &quot;29-May-26&quot;, &quot;01-Jun-26&quot;, &quot;02-Jun-26&quot;, &quot;03-Jun-26&quot;, &quot;04-Jun-26&quot;, &quot;05-Jun-26&quot;, &quot;08-Jun-26&quot;, &quot;09-Jun-26&quot;, &quot;10-Jun-26&quot;, &quot;11-Jun-26&quot;, &quot;12-Jun-26&quot;, &quot;15-Jun-26&quot;, &quot;16-Jun-26&quot;, &quot;17-Jun-26&quot;, &quot;18-Jun-26&quot;, &quot;19-Jun-26&quot;, &quot;22-Jun-26&quot;, &quot;23-Jun-26&quot;, &quot;24-Jun-26&quot;, &quot;29-Jun-26&quot;, &quot;30-Jun-26&quot;, &quot;02-Jul-26&quot;, &quot;03-Jul-26&quot;, &quot;06-Jul-26&quot;, &quot;07-Jul-26&quot;, &quot;08-Jul-26&quot;, &quot;09-Jul-26&quot;, &quot;10-Jul-26&quot;, &quot;13-Jul-26&quot;, &quot;14-Jul-26&quot;, &quot;15-Jul-26&quot;, &quot;16-Jul-26&quot;, &quot;17-Jul-26&quot;, &quot;20-Jul-26&quot;, &quot;21-Jul-26&quot;, &quot;22-Jul-26&quot;, &quot;23-Jul-26&quot;, &quot;24-Jul-26&quot;, &quot;27-Jul-26&quot;, &quot;28-Jul-26&quot;, &quot;29-Jul-26&quot;, &quot;30-Jul-26&quot;, &quot;03-Aug-26&quot;, &quot;04-Aug-26&quot;, &quot;05-Aug-26&quot;, &quot;06-Aug-26&quot;, &quot;07-Aug-26&quot;, &quot;10-Aug-26&quot;, &quot;11-Aug-26&quot;, &quot;12-Aug-26&quot;, &quot;13-Aug-26&quot;, &quot;17-Aug-26&quot;, &quot;18-Aug-26&quot;, &quot;20-Aug-26&quot;, &quot;21-Aug-26&quot;, &quot;24-Aug-26&quot;, &quot;25-Aug-26&quot;, &quot;27-Aug-26&quot;, &quot;28-Aug-26&quot;, &quot;31-Aug-26&quot;, &quot;01-Sep-26&quot;, &quot;02-Sep-26&quot;, &quot;03-Sep-26&quot;, &quot;04-Sep-26&quot;, &quot;07-Sep-26&quot;, &quot;08-Sep-26&quot;, &quot;09-Sep-26&quot;, &quot;10-Sep-26&quot;, &quot;11-Sep-26&quot;, &quot;14-Sep-26&quot;, &quot;15-Sep-26&quot;, &quot;16-Sep-26&quot;, &quot;17-Sep-26&quot;, &quot;18-Sep-26&quot;, &quot;21-Sep-26&quot;, &quot;22-Sep-26&quot;, &quot;23-Sep-26&quot;, &quot;24-Sep-26&quot;];
            
            const rawData = [279.77, 279.87, 279.82, 279.97, 280.07, 279.95, 279.97, 280.05, 280.21, 280.17, 280.27, 280.21, 280.22, 280.26, 280.37, 280.42, 280.26, 280.22, 280.16, 280.56, 280.47, 280.57, 280.73, 280.78, 280.56, 280.47, 280.60, 280.57, 280.46, 280.62, 280.72, 280.87, 280.77, 280.97, 281.07, 280.97, 281.07, 281.02, 280.97, 281.06, 281.22, 281.37, 281.47, 281.52, 281.71, 281.57, 281.67, 281.72, 281.61, 281.66, 281.77, 281.92, 281.97, 282.06, 281.97, 282.06, 282.17, 282.07, 282.02, 281.97, 282.12, 282.22, 282.17, 282.21, 282.47, 282.67, 282.96, 283.17, 283.41, 283.55, 283.64, 283.70, 283.87, 283.77, 283.72, 283.67, 283.72, 283.76, 283.95, 283.86, 283.97, 284.22, 284.36, 284.47, 284.56, 284.46, 284.72, 284.67, 284.96, 284.97, 284.87, 284.95, 284.97, 284.76, 284.22, 283.45, 283.21, 283.05, 282.95, 282.87, 282.72, 282.66, 282.57, 282.67, 282.56, 282.47, 282.45, 282.42, 282.22, 282.06, 282.01, 281.96, 281.95, 281.92, 281.90, 281.87, 281.86, 281.83, 281.80, 281.77, 281.75, 281.72, 281.71, 281.67, 281.65, 281.62, 281.61, 281.60, 281.56, 281.55, 281.52, 281.51, 281.50, 281.47, 281.46, 281.45, 281.46, 281.42, 281.43, 281.41, 281.37, 281.35, 281.32, 281.31, 281.27, 281.26, 281.25, 281.22, 281.21, 281.20, 281.17, 281.16, 281.15, 281.12, 281.11, 281.10, 281.07, 281.06, 281.05, 281.03, 281.02, 281.01, 280.97, 280.96, 280.92, 280.91, 280.90, 280.87, 280.86, 280.85, 280.82, 280.81, 280.78, 280.77, 280.76, 280.72, 280.71, 280.67, 280.66, 280.66, 280.65, 280.62, 280.61, 280.57, 280.56, 280.55, 280.52, 280.51, 280.47, 280.46, 280.45, 280.42, 280.41, 280.40, 280.37, 280.36, 280.32, 280.31, 280.30, 280.27, 280.26, 280.25, 280.22, 280.21, 280.20, 280.17, 280.16, 280.15, 280.12, 280.11, 280.10, 280.07, 280.06, 280.05, 280.02, 280.01, 280.00, 279.97, 279.96, 279.95, 279.92, 279.91, 279.90, 279.87, 279.86, 279.85, 279.82, 279.81, 279.80, 279.77, 279.76, 279.75, 279.72, 279.71, 279.70, 279.67, 279.66, 279.65, 279.62, 279.61, 279.60, 279.57, 279.56, 279.55, 279.52, 279.51, 279.50, 279.47, 279.46, 279.45, 279.42, 279.41, 279.40, 279.37, 279.36, 279.35, 279.32, 279.31, 279.30, 279.27, 279.26, 279.25, 279.22, 279.21, 279.20, 279.17, 279.16, 279.15, 279.12, 279.11, 279.10, 279.07, 279.06, 279.05, 279.02, 279.01, 279.00, 278.97, 278.96, 278.95, 278.92, 278.91, 278.90, 278.87, 278.86, 278.85, 278.82, 278.81, 278.80, 278.77, 278.76, 278.75, 278.72, 278.71, 278.70, 278.67, 278.66, 278.65, 278.62, 278.61, 278.60, 278.57, 278.56, 278.55, 278.52, 278.51, 278.50, 278.47, 278.46, 278.45, 278.42, 278.41, 278.40, 278.37, 278.36, 278.35, 278.32, 278.31, 278.30, 278.27, 278.26, 278.25, 278.22, 278.21, 278.20, 278.17, 278.16, 278.15, 278.12, 278.11, 278.10, 278.07, 278.06, 278.05, 278.02, 278.01, 278.00, 277.95, 277.95, 277.92, 277.91, 277.90, 277.87, 277.86, 277.85, 277.82, 277.81, 277.80, 277.77, 277.76, 277.75, 277.72, 277.71, 277.70, 277.67, 277.66, 277.65, 277.62, 277.61, 277.57, 277.56, 277.55, 277.52, 277.51, 277.50, 277.47, 277.46, 277.45, 277.42, 277.41, 277.40, 277.37, 277.36, 277.35, 277.32, 277.31, 277.30, 277.27, 277.26, 277.25, 277.22, 277.21, 277.20, 277.17];

            const currentExchangeRate = rawData[rawData.length - 1];
            const currentExchangeDate = rawLabels[rawLabels.length - 1];

            // DOM Elements
            const usdInput = document.getElementById(&#039;usdInput&#039;);
            const pkrInput = document.getElementById(&#039;pkrInput&#039;);
            const badgeEl = document.getElementById(&#039;latestBadgeRate&#039;);
            const dateLabelEl = document.getElementById(&#039;latestDateLabel&#039;);

            const statHighEl = document.getElementById(&#039;statHigh&#039;);
            const statLowEl = document.getElementById(&#039;statLow&#039;);
            const statAvgEl = document.getElementById(&#039;statAvg&#039;);
            const statChangeEl = document.getElementById(&#039;statChange&#039;);

            // Format helpers
            const formatCurrency = (val, maxDecimals = 2, minDecimals = 2) =&gt; {
                if (isNaN(val) || val === null) return &#039;--&#039;;
                return val.toLocaleString(&#039;en-US&#039;, {
                    minimumFractionDigits: minDecimals,
                    maximumFractionDigits: maxDecimals
                });
            };

            const parseCurrency = (valStr) =&gt; {
                if (!valStr) return NaN;
                return parseFloat(valStr.toString().replace(/,/g, &#039;&#039;));
            };

            // Set Initial Values in UI
            dateLabelEl.textContent = currentExchangeDate;
            badgeEl.textContent = formatCurrency(currentExchangeRate) + &#039; PKR&#039;;
            pkrInput.value = formatCurrency(currentExchangeRate);

            // Converter Event Listeners
            usdInput.addEventListener(&#039;input&#039;, (e) =&gt; {
                const val = parseCurrency(e.target.value);
                if (isNaN(val)) {
                    pkrInput.value = &#039;&#039;;
                } else {
                    pkrInput.value = formatCurrency(val * currentExchangeRate);
                }
            });

            pkrInput.addEventListener(&#039;input&#039;, (e) =&gt; {
                const val = parseCurrency(e.target.value);
                if (isNaN(val)) {
                    usdInput.value = &#039;&#039;;
                } else {
                    usdInput.value = formatCurrency(val / currentExchangeRate, 4, 2);
                }
            });

            usdInput.addEventListener(&#039;blur&#039;, (e) =&gt; {
                const val = parseCurrency(e.target.value);
                if (!isNaN(val)) {
                    e.target.value = formatCurrency(val, 2, 0);
                }
            });

            pkrInput.addEventListener(&#039;blur&#039;, (e) =&gt; {
                const val = parseCurrency(e.target.value);
                if (!isNaN(val)) {
                    e.target.value = formatCurrency(val, 2, 2);
                }
            });

            const ctx = document.getElementById(&#039;closingRatesChart&#039;).getContext(&#039;2d&#039;);
            
            // Create gradient fill
            const gradient = ctx.createLinearGradient(0, 0, 0, 350);
            gradient.addColorStop(0, &#039;rgba(79, 70, 229, 0.25)&#039;);
            gradient.addColorStop(1, &#039;rgba(79, 70, 229, 0.0)&#039;);

            let chartInstance = new Chart(ctx, {
                type: &#039;line&#039;,
                data: {
                    labels: rawLabels,
                    datasets: [{
                        label: &#039;USD to PKR&#039;,
                        data: rawData,
                        borderColor: &#039;#4f46e5&#039;,
                        borderWidth: 2,
                        backgroundColor: gradient,
                        fill: true,
                        tension: 0.3,
                        pointRadius: 0,
                        pointHoverRadius: 6,
                        pointHoverBackgroundColor: &#039;#4f46e5&#039;,
                        pointHoverBorderColor: &#039;#ffffff&#039;,
                        pointHoverBorderWidth: 2
                    }]
                },
                options: {
                    responsive: true,
                    maintainAspectRatio: false,
                    interaction: {
                        intersect: false,
                        mode: &#039;index&#039;
                    },
                    plugins: {
                        legend: { display: false },
                        tooltip: {
                            backgroundColor: &#039;#0f172a&#039;,
                            titleFont: { family: &#039;Plus Jakarta Sans&#039;, size: 12, weight: &#039;bold&#039; },
                            bodyFont: { family: &#039;Plus Jakarta Sans&#039;, size: 13 },
                            padding: 10,
                            cornerRadius: 8,
                            displayColors: false,
                            callbacks: {
                                label: function(context) {
                                    return &#039;Rate: &#039; + formatCurrency(context.parsed.y) + &#039; PKR&#039;;
                                }
                            }
                        }
                    },
                    scales: {
                        x: {
                            grid: { display: false },
                            ticks: {
                                font: { family: &#039;Plus Jakarta Sans&#039;, size: 11 },
                                color: &#039;#64748b&#039;,
                                maxTicksLimit: 8,
                                maxRotation: 0
                            }
                        },
                        y: {
                            grid: { color: &#039;#f1f5f9&#039; },
                            ticks: {
                                font: { family: &#039;Plus Jakarta Sans&#039;, size: 11 },
                                color: &#039;#64748b&#039;,
                                callback: function(value) {
                                    return value.toFixed(1);
                                }
                            }
                        }
                    }
                }
            });

            function updateRangeStats(labels, data) {
                if (!data || data.length === 0) return;

                const high = Math.max(...data);
                const low = Math.min(...data);
                const avg = data.reduce((a, b) =&gt; a + b, 0) / data.length;
                const startVal = data[0];
                const endVal = data[data.length - 1];
                const change = endVal - startVal;
                const changePct = (change / startVal) * 100;

                statHighEl.textContent = formatCurrency(high);
                statLowEl.textContent = formatCurrency(low);
                statAvgEl.textContent = formatCurrency(avg);

                const sign = change &gt;= 0 ? &#039;+&#039; : &#039;&#039;;
                statChangeEl.textContent = `${sign}${formatCurrency(change)} (${sign}${changePct.toFixed(2)}%)`;
                statChangeEl.style.color = change &gt; 0 ? &#039;#10b981&#039; : (change &lt; 0 ? &#039;#ef4444&#039; : &#039;#64748b&#039;);
            }

            // Timeframe filtering handler
            function setTimeframe(rangeCount) {
                let slicedLabels = rawLabels;
                let slicedData = rawData;

                if (rangeCount !== &#039;all&#039;) {
                    const count = parseInt(rangeCount, 10);
                    slicedLabels = rawLabels.slice(-count);
                    slicedData = rawData.slice(-count);
                }

                chartInstance.data.labels = slicedLabels;
                chartInstance.data.datasets[0].data = slicedData;

                // Adjust Y axis dynamic scaling
                const minVal = Math.min(...slicedData);
                const maxVal = Math.max(...slicedData);
                const padding = (maxVal - minVal) * 0.1 || 1;
                
                chartInstance.options.scales.y.min = Math.floor((minVal - padding) * 10) / 10;
                chartInstance.options.scales.y.max = Math.ceil((maxVal + padding) * 10) / 10;

                chartInstance.update();
                updateRangeStats(slicedLabels, slicedData);
            }

            // Setup timeframe button listeners
            document.querySelectorAll(&#039;#pkr-chart-embed .tf-btn&#039;).forEach(btn =&gt; {
                btn.addEventListener(&#039;click&#039;, (e) =&gt; {
                    document.querySelectorAll(&#039;#pkr-chart-embed .tf-btn&#039;).forEach(b =&gt; b.classList.remove(&#039;active&#039;));
                    e.target.classList.add(&#039;active&#039;);
                    setTimeframe(e.target.getAttribute(&#039;data-range&#039;));
                });
            });

            // Initial range load
            setTimeframe(&#039;all&#039;);
        })();
    &lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;
    &lt;script&gt;
        function reportHeight() {
            var h = document.documentElement.scrollHeight;
            window.parent.postMessage({ type: &#039;raw-html-resize&#039;, id: &#039;raw-html-6ab52a1ab5cd3&#039;, height: h }, &#039;*&#039;);
        }
        window.addEventListener(&#039;load&#039;, reportHeight);
        if (window.ResizeObserver) {
            new ResizeObserver(reportHeight).observe(document.body);
        }
    &lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;"></iframe>
<script>
if (!window._rawHtmlListenerAttached) {
    window._rawHtmlListenerAttached = true;
    window.addEventListener('message', function(event) {
        if (event.data && event.data.type === 'raw-html-resize' && event.data.id) {
            var iframe = document.getElementById(event.data.id);
            if (iframe) {
                var height = Math.min(Math.max(event.data.height, 50), 9200);
                iframe.style.height = height + 'px';
            }
        }
    });
}
</script>
<p><strong>The Pakistani rupee extended its marginal gains, appreciating 0.01% against the US dollar in the interbank market on Thursday.</strong></p>
<p>The local unit closed the day at 277.17, a gain of Re0.03 against the greenback.</p>
    <figure class='media  w-full  w-full  media--  media--embed  media--uneven media--tweet' data-original-src='https://x.com/StateBank_Pak/status/2103077848265495021'>
        <div class='media__item  media__item--twitter  '><span>
    <blockquote class="twitter-tweet" lang="en">
        <a href="https://twitter.com/StateBank_Pak/status/2103077848265495021"></a>
    </blockquote>
</span></div>
        
    </figure>
<p><a href="https://www.brecorder.com/news/40440854/intra-day-update-rupee-records-gain-against-us-dollar"><u>On Wednesday</u></a>, the Pakistani rupee settled at 277.20 against the dollar.</p>
<p>Internationally, the <a href="https://www.brecorder.com/news/40440986/dollar-perched-at-two-month-high-as-hot-pmi-fuels-inflation-fears-rate-hike-bets">US dollar clung to a two-month high </a>on Thursday after a strong manufacturing reading reignited inflation fears and rate-hike bets, while a weak Treasury auction sent yields ​higher across the curve, providing fresh impetus to the US currency.</p>
<p>The broad dollar strength ‌pushed the euro to $1.1378, a two-month low, while sterling languished near a three-month nadir at $1.3231. The dollar index, which measures the US currency against a basket of peers, held near a two-month high at 101.1.</p>
<p>A stronger-than-expected purchasing managers’ report ​overnight fanned new price concerns, and a poorly received auction of five-year U.S. Treasury notes ​triggered a fresh round of bond selling, with five-year yields crossing 5% for ⁠the first time since 2007.</p>
<p>Inflation risks were also amplified by a nearly 4% jump in oil prices on Wednesday after Iran’s president vowed never to surrender, with markets also weighing US President Donald Trump’s diesel export ban.</p>
<p>Traders now see a nearly 70% chance of another increase when the US central bank next meets in October, ​according to CME Group’s FedWatch ​Tool, up from ⁠the 50% probability a week ago.</p>
<p><a href="https://www.brecorder.com/news/40440987/oil-prices-fall-as-iran-says-it-is-open-to-diplomacy-to-end-the-war"><u>Oil prices</u></a>, a key indicator of currency parity, rose more than 1% on Thursday as diplomatic talks between the US and Iran showed little sign of progress, while investors focused on uncertainty about a potential US ban on diesel exports.</p>
<p>Brent crude futures were up $1.63, or 1.58%, at $104.71 a barrel at 1200 GMT, while West Texas Intermediate futures were up $1.34, or 1.49%, at $93.53 a barrel.</p>
<p><strong>Inter-bank market rates for dollar on Thursday</strong></p>
<p>BID Rs 277.17</p>
<p>OFFER Rs 277.37</p>
<p><strong>Open-market movement</strong></p>
<p>In the open market, the PKR gained 5.00 paisa for buying and 2.00 paisa for selling against USD, closing at 278.12 and 279.20, respectively.</p>
<p>Against Euro, the PKR gained 1.02 rupee for buying and 1.03 rupee for selling, closing at 316.43 and 319.72, respectively.</p>
<p>Against UAE Dirham, the PKR remained unchanged for buying and gained 1.00 paisa for selling, closing at 75.70 and 76.28, respectively.</p>
<p>Against Saudi Riyal, the PKR gained 1.00 paisa for both buying and selling, closing at 74.01 and 74.51, respectively.</p>
<p><strong>Open-market rates for dollar on Thursday</strong></p>
<p>BID Rs 278.12</p>
<p>OFFER Rs 279.20<br><br></p>
]]></content:encoded>
      <category>Markets</category>
      <guid>https://www.brecorder.com/news/40441041</guid>
      <pubDate>Thu, 24 Sep 2026 18:48:10 +0500</pubDate>
      <author>none@none.com (Recorder Report)</author>
      <media:content url="https://i.brecorder.com/large/2026/09/24153055d78480b.webp" type="image/webp" medium="image" height="299" width="480">
        <media:thumbnail url="https://i.brecorder.com/thumbnail/2026/09/24153055d78480b.webp"/>
        <media:title>Photo: Reuters</media:title>
      </media:content>
    </item>
    <item xmlns:default="http://purl.org/rss/1.0/modules/content/">
      <title>Rupee registers gain against US dollar</title>
      <link>https://www.brecorder.com/news/40440854/intra-day-update-rupee-records-gain-against-us-dollar</link>
      <description>&lt;p&gt;&lt;strong&gt;The Pakistani rupee extended its marginal gains against the US dollar in the interbank market on Wednesday.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The local unit closed the day at 277.20, a gain of Re0.01 against the greenback.&lt;/p&gt;
    &lt;figure class='media  w-full sm:w-full  media--center  media--embed  media--uneven media--tweet' data-original-src='https://x.com/StateBank_Pak/status/2102714426252235235'&gt;
        &lt;div class='media__item  media__item--twitter  '&gt;&lt;span&gt;
    &lt;blockquote class="twitter-tweet" lang="en"&gt;
        &lt;a href="https://twitter.com/StateBank_Pak/status/2102714426252235235"&gt;&lt;/a&gt;
    &lt;/blockquote&gt;
&lt;/span&gt;&lt;/div&gt;
        
    &lt;/figure&gt;
&lt;p&gt;&lt;a href="https://www.brecorder.com/news/40440673/intra-day-update-rupee-records-gain-against-us-dollar"&gt;On Tuesday&lt;/a&gt;, the Pakistani rupee settled at 277.21 against the dollar.&lt;/p&gt;
&lt;p&gt;Globally, the &lt;a href="https://www.brecorder.com/news/40440807/dollar-holds-near-2-month-high-as-markets-weigh-rate-hikes-iran-diplomacy"&gt;US dollar steadied near its strongest level &lt;/a&gt;in two months on Wednesday ​on prospects of interest rate hikes in the near term, while easing oil prices on hopes for a diplomatic ‌breakthrough to end the Middle East war kept investors on edge.&lt;/p&gt;
&lt;p&gt;The euro was at $1.1446 in early trading, loitering near its weakest level since late July. Sterling bought $1.3337. The dollar index, which measures the US currency against six rivals, was at 100.56.&lt;/p&gt;
&lt;p&gt;The recent barrage of rate hikes and ​hawkish rhetoric from major central banks has taken centre stage in currency markets as the US-Israeli conflict with Iran ​drives oil prices higher and fans inflation worries.&lt;/p&gt;
&lt;p&gt;Investors are now anticipating further tightening from central ⁠banks, with Federal Reserve officials flagging the possibility of more hikes if inflation does not ease.&lt;/p&gt;
&lt;p&gt;Investors are also waiting for a high-stakes meeting between Trump and Chinese President Xi Jinping as the two leaders seek stability in a relationship ​under pressure over wide-ranging issues.&lt;/p&gt;
&lt;p&gt;The Japanese ​yen was at 157.55 ⁠per US dollar as traders remain wary of the threat of intervention as markets judged the Bank of Japan’s rate hike to a 31-year high last week as insufficiently hawkish.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.brecorder.com/news/40440806/oil-falls-1-on-better-supply-outlook-hopes-for-us-iran-talks"&gt;Oil prices&lt;/a&gt;, a key indicator of currency parity, held near their lowest in more than two weeks on Wednesday as improving Gulf crude supplies weighed on the market, though diesel refining margins hit a record high on potential restrictions to US diesel exports.&lt;/p&gt;
&lt;p&gt;Brent crude futures rose $1.33, or 1.34%, to $100.58 a barrel by 1303 GMT while West Texas Intermediate futures gained 65 cents, or 0.72%, to $91.17.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Inter-bank market rates for dollar on Wednesday&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;BID                            Rs 277.20&lt;/p&gt;
&lt;p&gt;OFFER                      Rs 277.40&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Open-market movement&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;In the open market, the PKR gained 2.00 paisa for buying and 4.00 paisa for selling against USD, closing at 278.17 and 279.22, respectively.&lt;/p&gt;
&lt;p&gt;Against Euro, the PKR gained 1.18 rupee for buying and 88.00 paisa for selling, closing at 317.45 and 320.75, respectively.&lt;/p&gt;
&lt;p&gt;Against UAE Dirham, the PKR remained unchanged for buying and lost 2.00 paisa for selling, closing at 75.70 and 76.29, respectively.&lt;/p&gt;
&lt;p&gt;Against Saudi Riyal, the PKR lost 1.00 paisa for both buying and selling, closing at 74.02 and 74.52, respectively.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Open-market rates for dollar on Wednesday&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;BID                            Rs 278.17&lt;/p&gt;
&lt;p&gt;OFFER                      Rs 279.22&lt;/p&gt;
</description>
      <content:encoded xmlns="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p><strong>The Pakistani rupee extended its marginal gains against the US dollar in the interbank market on Wednesday.</strong></p>
<p>The local unit closed the day at 277.20, a gain of Re0.01 against the greenback.</p>
    <figure class='media  w-full sm:w-full  media--center  media--embed  media--uneven media--tweet' data-original-src='https://x.com/StateBank_Pak/status/2102714426252235235'>
        <div class='media__item  media__item--twitter  '><span>
    <blockquote class="twitter-tweet" lang="en">
        <a href="https://twitter.com/StateBank_Pak/status/2102714426252235235"></a>
    </blockquote>
</span></div>
        
    </figure>
<p><a href="https://www.brecorder.com/news/40440673/intra-day-update-rupee-records-gain-against-us-dollar">On Tuesday</a>, the Pakistani rupee settled at 277.21 against the dollar.</p>
<p>Globally, the <a href="https://www.brecorder.com/news/40440807/dollar-holds-near-2-month-high-as-markets-weigh-rate-hikes-iran-diplomacy">US dollar steadied near its strongest level </a>in two months on Wednesday ​on prospects of interest rate hikes in the near term, while easing oil prices on hopes for a diplomatic ‌breakthrough to end the Middle East war kept investors on edge.</p>
<p>The euro was at $1.1446 in early trading, loitering near its weakest level since late July. Sterling bought $1.3337. The dollar index, which measures the US currency against six rivals, was at 100.56.</p>
<p>The recent barrage of rate hikes and ​hawkish rhetoric from major central banks has taken centre stage in currency markets as the US-Israeli conflict with Iran ​drives oil prices higher and fans inflation worries.</p>
<p>Investors are now anticipating further tightening from central ⁠banks, with Federal Reserve officials flagging the possibility of more hikes if inflation does not ease.</p>
<p>Investors are also waiting for a high-stakes meeting between Trump and Chinese President Xi Jinping as the two leaders seek stability in a relationship ​under pressure over wide-ranging issues.</p>
<p>The Japanese ​yen was at 157.55 ⁠per US dollar as traders remain wary of the threat of intervention as markets judged the Bank of Japan’s rate hike to a 31-year high last week as insufficiently hawkish.</p>
<p><a href="https://www.brecorder.com/news/40440806/oil-falls-1-on-better-supply-outlook-hopes-for-us-iran-talks">Oil prices</a>, a key indicator of currency parity, held near their lowest in more than two weeks on Wednesday as improving Gulf crude supplies weighed on the market, though diesel refining margins hit a record high on potential restrictions to US diesel exports.</p>
<p>Brent crude futures rose $1.33, or 1.34%, to $100.58 a barrel by 1303 GMT while West Texas Intermediate futures gained 65 cents, or 0.72%, to $91.17.</p>
<p><strong>Inter-bank market rates for dollar on Wednesday</strong></p>
<p>BID                            Rs 277.20</p>
<p>OFFER                      Rs 277.40</p>
<p><strong>Open-market movement</strong></p>
<p>In the open market, the PKR gained 2.00 paisa for buying and 4.00 paisa for selling against USD, closing at 278.17 and 279.22, respectively.</p>
<p>Against Euro, the PKR gained 1.18 rupee for buying and 88.00 paisa for selling, closing at 317.45 and 320.75, respectively.</p>
<p>Against UAE Dirham, the PKR remained unchanged for buying and lost 2.00 paisa for selling, closing at 75.70 and 76.29, respectively.</p>
<p>Against Saudi Riyal, the PKR lost 1.00 paisa for both buying and selling, closing at 74.02 and 74.52, respectively.</p>
<p><strong>Open-market rates for dollar on Wednesday</strong></p>
<p>BID                            Rs 278.17</p>
<p>OFFER                      Rs 279.22</p>
]]></content:encoded>
      <category>Markets</category>
      <guid>https://www.brecorder.com/news/40440854</guid>
      <pubDate>Wed, 23 Sep 2026 20:00:46 +0500</pubDate>
      <author>none@none.com (Recorder Report)</author>
      <media:content url="https://i.brecorder.com/large/2026/09/23151936eb3766c.webp" type="image/webp" medium="image" height="768" width="1024">
        <media:thumbnail url="https://i.brecorder.com/thumbnail/2026/09/23151936eb3766c.webp"/>
        <media:title/>
      </media:content>
    </item>
    <item xmlns:default="http://purl.org/rss/1.0/modules/content/">
      <title>Rupee records gain against US dollar</title>
      <link>https://www.brecorder.com/news/40440673/intra-day-update-rupee-records-gain-against-us-dollar</link>
      <description>&lt;iframe id="raw-html-6ab284215fe39" class="raw-html-embed" style="width: 100%; min-height: 50px; max-height: 9200px; border: none; overflow: hidden;" scrolling="no" srcdoc="&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html&amp;gt;
&amp;lt;head&amp;gt;
    &amp;lt;style&amp;gt;
        body { margin: 0; padding: 0; font-family: system-ui, -apple-system, sans-serif; overflow-wrap: anywhere; }
    &amp;lt;/style&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
    
&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html lang=&amp;quot;en&amp;quot;&amp;gt;
&amp;lt;head&amp;gt;
    &amp;lt;meta charset=&amp;quot;UTF-8&amp;quot;&amp;gt;
    &amp;lt;meta name=&amp;quot;viewport&amp;quot; content=&amp;quot;width=device-width, initial-scale=1.0&amp;quot;&amp;gt;
    &amp;lt;title&amp;gt;PKR vs USD Exchange Rate Chart&amp;lt;/title&amp;gt;
    &amp;lt;!-- Chart.js for interactive rendering --&amp;gt;
    &amp;lt;script src=&amp;quot;https://cdn.jsdelivr.net/npm/chart.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;
    
    &amp;lt;style&amp;gt;
        @import url(&amp;#039;https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght=400;500;600;700&amp;amp;display=swap&amp;#039;);

        #pkr-chart-embed {
            font-family: &amp;#039;Plus Jakarta Sans&amp;#039;, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, sans-serif;
            max-width: 1000px;
            width: 100%;
            margin: 24px auto;
            background-color: #ffffff;
            border: 1px solid #e2e8f0;
            border-radius: 20px;
            padding: 24px;
            box-shadow: 0 10px 25px -5px rgba(15, 23, 42, 0.05), 0 8px 10px -6px rgba(15, 23, 42, 0.05);
            color: #0f172a;
            box-sizing: border-box;
        }

        #pkr-chart-embed * { box-sizing: border-box; margin: 0; padding: 0; }

        #pkr-chart-embed .chart-header {
            display: flex;
            flex-direction: column;
            gap: 20px;
            margin-bottom: 20px;
            width: 100%;
        }

        #pkr-chart-embed .top-row {
            display: flex;
            flex-direction: row;
            justify-content: space-between;
            align-items: flex-start;
            gap: 20px;
        }

        #pkr-chart-embed .calculator-area {
            display: flex;
            flex-direction: column;
            gap: 8px;
            align-items: flex-start;
        }

        #pkr-chart-embed .main-title {
            font-size: 22px;
            font-weight: 700;
            color: #0f172a;
            letter-spacing: -0.025em;
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            gap: 10px;
        }

        #pkr-chart-embed .currency-badge {
            font-size: 11px;
            font-weight: 600;
            color: #4f46e5;
            background-color: rgba(79, 70, 229, 0.08);
            padding: 3px 10px;
            border-radius: 9999px;
            border: 1px solid rgba(79, 70, 229, 0.15);
            text-transform: uppercase;
        }

        #pkr-chart-embed .calculator-title {
            font-size: 10px;
            font-weight: 700;
            color: #64748b;
            text-transform: uppercase;
            letter-spacing: 0.05em;
        }

        #pkr-chart-embed .converter {
            display: flex;
            align-items: center;
            background: #f8fafc;
            border: 1px solid #e2e8f0;
            border-radius: 12px;
            padding: 4px;
            gap: 6px;
        }

        #pkr-chart-embed .converter-group {
            display: flex;
            align-items: center;
            background: #ffffff;
            border-radius: 8px;
            padding: 6px 10px;
            box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
            border: 1px solid #e2e8f0;
        }

        #pkr-chart-embed .converter-input {
            border: none;
            outline: none;
            width: 90px;
            font-family: inherit;
            font-weight: 700;
            color: #0f172a;
            font-size: 14px;
            text-align: right;
            background: transparent;
        }

        #pkr-chart-embed .converter-input.pkr-field { width: 120px; }

        #pkr-chart-embed .converter-label {
            font-size: 11px;
            font-weight: 700;
            color: #64748b;
            margin-left: 6px;
        }

        #pkr-chart-embed .equals-sign { color: #94a3b8; font-weight: 600; font-size: 16px; }

        #pkr-chart-embed .rate-badge-container {
            display: flex;
            flex-direction: column;
            align-items: flex-end;
            gap: 6px;
        }

        #pkr-chart-embed .rate-label-sub { text-align: right; }
        #pkr-chart-embed .rate-label-sub span:first-child { display: block; font-size: 9px; text-transform: uppercase; font-weight: 700; color: #64748b; }
        #pkr-chart-embed .rate-label-sub span:last-child { display: block; font-size: 12px; color: #334155; font-weight: 600; }

        #pkr-chart-embed .rate-badge {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            background: linear-gradient(135deg, #4f46e5, #3b82f6);
            color: #ffffff;
            font-weight: 700;
            font-size: 14px;
            padding: 8px 14px;
            border-radius: 12px;
            box-shadow: 0 8px 16px -3px rgba(79, 70, 229, 0.25);
        }

        #pkr-chart-embed .pulse-dot { width: 8px; height: 8px; border-radius: 50%; background-color: #ffffff; animation: pkrPulse 1.5s infinite; }

        @keyframes pkrPulse {
            0% { transform: scale(0.95); opacity: 0.6; }
            50% { transform: scale(1.15); opacity: 1; }
            100% { transform: scale(0.95); opacity: 0.6; }
        }

        /* Controls &amp;amp; Stats Toolbar */
        #pkr-chart-embed .toolbar {
            display: flex;
            justify-content: space-between;
            align-items: center;
            flex-wrap: wrap;
            gap: 12px;
            margin-bottom: 16px;
            padding-bottom: 12px;
            border-bottom: 1px solid #f1f5f9;
        }

        #pkr-chart-embed .timeframe-selector {
            display: flex;
            gap: 4px;
            background: #f1f5f9;
            padding: 3px;
            border-radius: 10px;
        }

        #pkr-chart-embed .tf-btn {
            border: none;
            background: transparent;
            font-family: inherit;
            font-size: 12px;
            font-weight: 600;
            color: #64748b;
            padding: 5px 12px;
            border-radius: 7px;
            cursor: pointer;
            transition: all 0.2s ease;
        }

        #pkr-chart-embed .tf-btn.active {
            background: #ffffff;
            color: #4f46e5;
            box-shadow: 0 1px 3px rgba(0,0,0,0.1);
        }

        #pkr-chart-embed .stats-row {
            display: flex;
            gap: 16px;
            flex-wrap: wrap;
        }

        #pkr-chart-embed .stat-item {
            font-size: 12px;
            color: #64748b;
        }

        #pkr-chart-embed .stat-item strong {
            color: #0f172a;
            font-weight: 700;
        }

        #pkr-chart-embed .chart-canvas-container { position: relative; width: 100%; height: 380px; }

        @media (max-width: 768px) {
            #pkr-chart-embed .chart-canvas-container { height: 300px; }
            #pkr-chart-embed .top-row { flex-direction: column; align-items: flex-start; }
            #pkr-chart-embed .rate-badge-container { align-items: flex-start; }
            #pkr-chart-embed .rate-label-sub { text-align: left; }
            #pkr-chart-embed .toolbar { flex-direction: column; align-items: flex-start; }
        }
    &amp;lt;/style&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
    &amp;lt;div id=&amp;quot;pkr-chart-embed&amp;quot;&amp;gt;
        &amp;lt;div class=&amp;quot;chart-header&amp;quot;&amp;gt;
            &amp;lt;h1 class=&amp;quot;main-title&amp;quot;&amp;gt;
                &amp;lt;span&amp;gt;PKR vs USD Exchange Rate&amp;lt;/span&amp;gt;
                &amp;lt;span class=&amp;quot;currency-badge&amp;quot;&amp;gt;USD / PKR&amp;lt;/span&amp;gt;
            &amp;lt;/h1&amp;gt;

            &amp;lt;div class=&amp;quot;top-row&amp;quot;&amp;gt;
                &amp;lt;div class=&amp;quot;calculator-area&amp;quot;&amp;gt;
                    &amp;lt;span class=&amp;quot;calculator-title&amp;quot;&amp;gt;Calculator&amp;lt;/span&amp;gt;
                    &amp;lt;div class=&amp;quot;converter&amp;quot;&amp;gt;
                        &amp;lt;div class=&amp;quot;converter-group&amp;quot;&amp;gt;
                            &amp;lt;input type=&amp;quot;text&amp;quot; inputmode=&amp;quot;decimal&amp;quot; id=&amp;quot;usdInput&amp;quot; class=&amp;quot;converter-input&amp;quot; value=&amp;quot;1&amp;quot;&amp;gt;
                            &amp;lt;span class=&amp;quot;converter-label&amp;quot;&amp;gt;USD&amp;lt;/span&amp;gt;
                        &amp;lt;/div&amp;gt;
                        &amp;lt;span class=&amp;quot;equals-sign&amp;quot;&amp;gt;=&amp;lt;/span&amp;gt;
                        &amp;lt;div class=&amp;quot;converter-group&amp;quot;&amp;gt;
                            &amp;lt;input type=&amp;quot;text&amp;quot; inputmode=&amp;quot;decimal&amp;quot; id=&amp;quot;pkrInput&amp;quot; class=&amp;quot;converter-input pkr-field&amp;quot; value=&amp;quot;&amp;quot;&amp;gt;
                            &amp;lt;span class=&amp;quot;converter-label&amp;quot;&amp;gt;PKR&amp;lt;/span&amp;gt;
                        &amp;lt;/div&amp;gt;
                    &amp;lt;/div&amp;gt;
                &amp;lt;/div&amp;gt;

                &amp;lt;div class=&amp;quot;rate-badge-container&amp;quot;&amp;gt;
                    &amp;lt;div class=&amp;quot;rate-label-sub&amp;quot;&amp;gt;
                        &amp;lt;span&amp;gt;Latest Closing&amp;lt;/span&amp;gt;
                        &amp;lt;span id=&amp;quot;latestDateLabel&amp;quot;&amp;gt;22-Sep-26&amp;lt;/span&amp;gt;
                    &amp;lt;/div&amp;gt;
                    &amp;lt;div class=&amp;quot;rate-badge&amp;quot;&amp;gt;
                        &amp;lt;span class=&amp;quot;pulse-dot&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;
                        &amp;lt;span id=&amp;quot;latestBadgeRate&amp;quot;&amp;gt;277.21 PKR&amp;lt;/span&amp;gt;
                    &amp;lt;/div&amp;gt;
                &amp;lt;/div&amp;gt;
            &amp;lt;/div&amp;gt;
        &amp;lt;/div&amp;gt;

        &amp;lt;div class=&amp;quot;toolbar&amp;quot;&amp;gt;
            &amp;lt;div class=&amp;quot;timeframe-selector&amp;quot;&amp;gt;
                &amp;lt;button class=&amp;quot;tf-btn&amp;quot; data-range=&amp;quot;30&amp;quot;&amp;gt;1M&amp;lt;/button&amp;gt;
                &amp;lt;button class=&amp;quot;tf-btn&amp;quot; data-range=&amp;quot;90&amp;quot;&amp;gt;3M&amp;lt;/button&amp;gt;
                &amp;lt;button class=&amp;quot;tf-btn&amp;quot; data-range=&amp;quot;180&amp;quot;&amp;gt;6M&amp;lt;/button&amp;gt;
                &amp;lt;button class=&amp;quot;tf-btn&amp;quot; data-range=&amp;quot;365&amp;quot;&amp;gt;1Y&amp;lt;/button&amp;gt;
                &amp;lt;button class=&amp;quot;tf-btn active&amp;quot; data-range=&amp;quot;all&amp;quot;&amp;gt;ALL&amp;lt;/button&amp;gt;
            &amp;lt;/div&amp;gt;

            &amp;lt;div class=&amp;quot;stats-row&amp;quot;&amp;gt;
                &amp;lt;span class=&amp;quot;stat-item&amp;quot;&amp;gt;High: &amp;lt;strong id=&amp;quot;statHigh&amp;quot;&amp;gt;--&amp;lt;/strong&amp;gt;&amp;lt;/span&amp;gt;
                &amp;lt;span class=&amp;quot;stat-item&amp;quot;&amp;gt;Low: &amp;lt;strong id=&amp;quot;statLow&amp;quot;&amp;gt;--&amp;lt;/strong&amp;gt;&amp;lt;/span&amp;gt;
                &amp;lt;span class=&amp;quot;stat-item&amp;quot;&amp;gt;Avg: &amp;lt;strong id=&amp;quot;statAvg&amp;quot;&amp;gt;--&amp;lt;/strong&amp;gt;&amp;lt;/span&amp;gt;
                &amp;lt;span class=&amp;quot;stat-item&amp;quot;&amp;gt;Change: &amp;lt;strong id=&amp;quot;statChange&amp;quot;&amp;gt;--&amp;lt;/strong&amp;gt;&amp;lt;/span&amp;gt;
            &amp;lt;/div&amp;gt;
        &amp;lt;/div&amp;gt;

        &amp;lt;div class=&amp;quot;chart-canvas-container&amp;quot;&amp;gt;
            &amp;lt;canvas id=&amp;quot;closingRatesChart&amp;quot;&amp;gt;&amp;lt;/canvas&amp;gt;
        &amp;lt;/div&amp;gt;
    &amp;lt;/div&amp;gt;

    &amp;lt;script&amp;gt;
        (function() {
            // Full historical closing rate dataset with 22-Sep-26 appended
            const rawLabels = [&amp;quot;04-Mar-25&amp;quot;, &amp;quot;05-Mar-25&amp;quot;, &amp;quot;06-Mar-25&amp;quot;, &amp;quot;07-Mar-25&amp;quot;, &amp;quot;10-Mar-25&amp;quot;, &amp;quot;11-Mar-25&amp;quot;, &amp;quot;12-Mar-25&amp;quot;, &amp;quot;13-Mar-25&amp;quot;, &amp;quot;14-Mar-25&amp;quot;, &amp;quot;17-Mar-25&amp;quot;, &amp;quot;18-Mar-25&amp;quot;, &amp;quot;19-Mar-25&amp;quot;, &amp;quot;20-Mar-25&amp;quot;, &amp;quot;21-Mar-25&amp;quot;, &amp;quot;24-Mar-25&amp;quot;, &amp;quot;25-Mar-25&amp;quot;, &amp;quot;26-Mar-25&amp;quot;, &amp;quot;27-Mar-25&amp;quot;, &amp;quot;28-Mar-25&amp;quot;, &amp;quot;03-Apr-25&amp;quot;, &amp;quot;04-Apr-25&amp;quot;, &amp;quot;07-Apr-25&amp;quot;, &amp;quot;08-Apr-25&amp;quot;, &amp;quot;09-Apr-25&amp;quot;, &amp;quot;10-Apr-25&amp;quot;, &amp;quot;11-Apr-25&amp;quot;, &amp;quot;14-Apr-25&amp;quot;, &amp;quot;15-Apr-25&amp;quot;, &amp;quot;16-Apr-25&amp;quot;, &amp;quot;17-Apr-25&amp;quot;, &amp;quot;18-Apr-25&amp;quot;, &amp;quot;21-Apr-25&amp;quot;, &amp;quot;22-Apr-25&amp;quot;, &amp;quot;23-Apr-25&amp;quot;, &amp;quot;24-Apr-25&amp;quot;, &amp;quot;25-Apr-25&amp;quot;, &amp;quot;28-Apr-25&amp;quot;, &amp;quot;29-Apr-25&amp;quot;, &amp;quot;30-Apr-25&amp;quot;, &amp;quot;02-May-25&amp;quot;, &amp;quot;05-May-25&amp;quot;, &amp;quot;06-May-25&amp;quot;, &amp;quot;07-May-25&amp;quot;, &amp;quot;08-May-25&amp;quot;, &amp;quot;09-May-25&amp;quot;, &amp;quot;12-May-25&amp;quot;, &amp;quot;13-May-25&amp;quot;, &amp;quot;14-May-25&amp;quot;, &amp;quot;15-May-25&amp;quot;, &amp;quot;16-May-25&amp;quot;, &amp;quot;19-May-25&amp;quot;, &amp;quot;20-May-25&amp;quot;, &amp;quot;21-May-25&amp;quot;, &amp;quot;22-May-25&amp;quot;, &amp;quot;23-May-25&amp;quot;, &amp;quot;26-May-25&amp;quot;, &amp;quot;27-May-25&amp;quot;, &amp;quot;29-May-25&amp;quot;, &amp;quot;30-May-25&amp;quot;, &amp;quot;02-Jun-25&amp;quot;, &amp;quot;03-Jun-25&amp;quot;, &amp;quot;04-Jun-25&amp;quot;, &amp;quot;05-Jun-25&amp;quot;, &amp;quot;10-Jun-25&amp;quot;, &amp;quot;11-Jun-25&amp;quot;, &amp;quot;12-Jun-25&amp;quot;, &amp;quot;13-Jun-25&amp;quot;, &amp;quot;16-Jun-25&amp;quot;, &amp;quot;17-Jun-25&amp;quot;, &amp;quot;18-Jun-25&amp;quot;, &amp;quot;19-Jun-25&amp;quot;, &amp;quot;20-Jun-25&amp;quot;, &amp;quot;23-Jun-25&amp;quot;, &amp;quot;24-Jun-25&amp;quot;, &amp;quot;25-Jun-25&amp;quot;, &amp;quot;26-Jun-25&amp;quot;, &amp;quot;27-Jun-25&amp;quot;, &amp;quot;30-Jun-25&amp;quot;, &amp;quot;02-Jul-25&amp;quot;, &amp;quot;03-Jul-25&amp;quot;, &amp;quot;04-Jul-25&amp;quot;, &amp;quot;07-Jul-25&amp;quot;, &amp;quot;08-Jul-25&amp;quot;, &amp;quot;09-Jul-25&amp;quot;, &amp;quot;10-Jul-25&amp;quot;, &amp;quot;11-Jul-25&amp;quot;, &amp;quot;14-Jul-25&amp;quot;, &amp;quot;15-Jul-25&amp;quot;, &amp;quot;16-Jul-25&amp;quot;, &amp;quot;17-Jul-25&amp;quot;, &amp;quot;18-Jul-25&amp;quot;, &amp;quot;21-Jul-25&amp;quot;, &amp;quot;22-Jul-25&amp;quot;, &amp;quot;23-Jul-25&amp;quot;, &amp;quot;24-Jul-25&amp;quot;, &amp;quot;25-Jul-25&amp;quot;, &amp;quot;28-Jul-25&amp;quot;, &amp;quot;29-Jul-25&amp;quot;, &amp;quot;30-Jul-25&amp;quot;, &amp;quot;31-Jul-25&amp;quot;, &amp;quot;01-Aug-25&amp;quot;, &amp;quot;04-Aug-25&amp;quot;, &amp;quot;05-Aug-25&amp;quot;, &amp;quot;06-Aug-25&amp;quot;, &amp;quot;07-Aug-25&amp;quot;, &amp;quot;08-Aug-25&amp;quot;, &amp;quot;11-Aug-25&amp;quot;, &amp;quot;12-Aug-25&amp;quot;, &amp;quot;13-Aug-25&amp;quot;, &amp;quot;15-Aug-25&amp;quot;, &amp;quot;18-Aug-25&amp;quot;, &amp;quot;19-Aug-25&amp;quot;, &amp;quot;20-Aug-25&amp;quot;, &amp;quot;21-Aug-25&amp;quot;, &amp;quot;22-Aug-25&amp;quot;, &amp;quot;25-Aug-25&amp;quot;, &amp;quot;26-Aug-25&amp;quot;, &amp;quot;27-Aug-25&amp;quot;, &amp;quot;28-Aug-25&amp;quot;, &amp;quot;29-Aug-25&amp;quot;, &amp;quot;01-Sep-25&amp;quot;, &amp;quot;02-Sep-25&amp;quot;, &amp;quot;03-Sep-25&amp;quot;, &amp;quot;04-Sep-25&amp;quot;, &amp;quot;05-Sep-25&amp;quot;, &amp;quot;08-Sep-25&amp;quot;, &amp;quot;09-Sep-25&amp;quot;, &amp;quot;10-Sep-25&amp;quot;, &amp;quot;11-Sep-25&amp;quot;, &amp;quot;12-Sep-25&amp;quot;, &amp;quot;15-Sep-25&amp;quot;, &amp;quot;16-Sep-25&amp;quot;, &amp;quot;17-Sep-25&amp;quot;, &amp;quot;18-Sep-25&amp;quot;, &amp;quot;19-Sep-25&amp;quot;, &amp;quot;21-Sep-25&amp;quot;, &amp;quot;22-Sep-25&amp;quot;, &amp;quot;23-Sep-25&amp;quot;, &amp;quot;24-Sep-25&amp;quot;, &amp;quot;25-Sep-25&amp;quot;, &amp;quot;26-Sep-25&amp;quot;, &amp;quot;29-Sep-25&amp;quot;, &amp;quot;30-Sep-25&amp;quot;, &amp;quot;01-Oct-25&amp;quot;, &amp;quot;02-Oct-25&amp;quot;, &amp;quot;03-Oct-25&amp;quot;, &amp;quot;06-Oct-25&amp;quot;, &amp;quot;07-Oct-25&amp;quot;, &amp;quot;08-Oct-25&amp;quot;, &amp;quot;09-Oct-25&amp;quot;, &amp;quot;10-Oct-25&amp;quot;, &amp;quot;13-Oct-25&amp;quot;, &amp;quot;14-Oct-25&amp;quot;, &amp;quot;15-Oct-25&amp;quot;, &amp;quot;16-Oct-25&amp;quot;, &amp;quot;17-Oct-25&amp;quot;, &amp;quot;20-Oct-25&amp;quot;, &amp;quot;21-Oct-25&amp;quot;, &amp;quot;22-Oct-25&amp;quot;, &amp;quot;23-Oct-25&amp;quot;, &amp;quot;24-Oct-25&amp;quot;, &amp;quot;27-Oct-25&amp;quot;, &amp;quot;28-Oct-25&amp;quot;, &amp;quot;29-Oct-25&amp;quot;, &amp;quot;30-Oct-25&amp;quot;, &amp;quot;31-Oct-25&amp;quot;, &amp;quot;03-Nov-25&amp;quot;, &amp;quot;04-Nov-25&amp;quot;, &amp;quot;05-Nov-25&amp;quot;, &amp;quot;06-Nov-25&amp;quot;, &amp;quot;07-Nov-25&amp;quot;, &amp;quot;10-Nov-25&amp;quot;, &amp;quot;11-Nov-25&amp;quot;, &amp;quot;12-Nov-25&amp;quot;, &amp;quot;13-Nov-25&amp;quot;, &amp;quot;14-Nov-25&amp;quot;, &amp;quot;17-Nov-25&amp;quot;, &amp;quot;18-Nov-25&amp;quot;, &amp;quot;19-Nov-25&amp;quot;, &amp;quot;20-Nov-25&amp;quot;, &amp;quot;21-Nov-25&amp;quot;, &amp;quot;24-Nov-25&amp;quot;, &amp;quot;25-Nov-25&amp;quot;, &amp;quot;26-Nov-25&amp;quot;, &amp;quot;27-Nov-25&amp;quot;, &amp;quot;28-Nov-25&amp;quot;, &amp;quot;01-Dec-25&amp;quot;, &amp;quot;02-Dec-25&amp;quot;, &amp;quot;03-Dec-25&amp;quot;, &amp;quot;04-Dec-25&amp;quot;, &amp;quot;05-Dec-25&amp;quot;, &amp;quot;08-Dec-25&amp;quot;, &amp;quot;09-Dec-25&amp;quot;, &amp;quot;10-Dec-25&amp;quot;, &amp;quot;11-Dec-25&amp;quot;, &amp;quot;12-Dec-25&amp;quot;, &amp;quot;15-Dec-25&amp;quot;, &amp;quot;16-Dec-25&amp;quot;, &amp;quot;17-Dec-25&amp;quot;, &amp;quot;18-Dec-25&amp;quot;, &amp;quot;19-Dec-25&amp;quot;, &amp;quot;22-Dec-25&amp;quot;, &amp;quot;23-Dec-25&amp;quot;, &amp;quot;24-Dec-25&amp;quot;, &amp;quot;26-Dec-25&amp;quot;, &amp;quot;29-Dec-25&amp;quot;, &amp;quot;30-Dec-25&amp;quot;, &amp;quot;31-Dec-25&amp;quot;, &amp;quot;02-Jan-26&amp;quot;, &amp;quot;05-Jan-26&amp;quot;, &amp;quot;06-Jan-26&amp;quot;, &amp;quot;07-Jan-26&amp;quot;, &amp;quot;08-Jan-26&amp;quot;, &amp;quot;09-Jan-26&amp;quot;, &amp;quot;12-Jan-26&amp;quot;, &amp;quot;13-Jan-26&amp;quot;, &amp;quot;14-Jan-26&amp;quot;, &amp;quot;15-Jan-26&amp;quot;, &amp;quot;16-Jan-26&amp;quot;, &amp;quot;19-Jan-26&amp;quot;, &amp;quot;20-Jan-26&amp;quot;, &amp;quot;21-Jan-26&amp;quot;, &amp;quot;22-Jan-26&amp;quot;, &amp;quot;23-Jan-26&amp;quot;, &amp;quot;26-Jan-26&amp;quot;, &amp;quot;27-Jan-26&amp;quot;, &amp;quot;28-Jan-26&amp;quot;, &amp;quot;29-Jan-26&amp;quot;, &amp;quot;30-Jan-26&amp;quot;, &amp;quot;02-Feb-26&amp;quot;, &amp;quot;03-Feb-26&amp;quot;, &amp;quot;04-Feb-26&amp;quot;, &amp;quot;06-Feb-26&amp;quot;, &amp;quot;09-Feb-26&amp;quot;, &amp;quot;10-Feb-26&amp;quot;, &amp;quot;11-Feb-26&amp;quot;, &amp;quot;12-Feb-26&amp;quot;, &amp;quot;13-Feb-26&amp;quot;, &amp;quot;16-Feb-26&amp;quot;, &amp;quot;17-Feb-26&amp;quot;, &amp;quot;18-Feb-26&amp;quot;, &amp;quot;20-Feb-26&amp;quot;, &amp;quot;23-Feb-26&amp;quot;, &amp;quot;24-Feb-26&amp;quot;, &amp;quot;25-Feb-26&amp;quot;, &amp;quot;26-Feb-26&amp;quot;, &amp;quot;27-Feb-26&amp;quot;, &amp;quot;02-Mar-26&amp;quot;, &amp;quot;03-Mar-26&amp;quot;, &amp;quot;04-Mar-26&amp;quot;, &amp;quot;05-Mar-26&amp;quot;, &amp;quot;06-Mar-26&amp;quot;, &amp;quot;09-Mar-26&amp;quot;, &amp;quot;10-Mar-26&amp;quot;, &amp;quot;11-Mar-26&amp;quot;, &amp;quot;12-Mar-26&amp;quot;, &amp;quot;13-Mar-26&amp;quot;, &amp;quot;16-Mar-26&amp;quot;, &amp;quot;17-Mar-26&amp;quot;, &amp;quot;18-Mar-26&amp;quot;, &amp;quot;19-Mar-26&amp;quot;, &amp;quot;24-Mar-26&amp;quot;, &amp;quot;25-Mar-26&amp;quot;, &amp;quot;26-Mar-26&amp;quot;, &amp;quot;27-Mar-26&amp;quot;, &amp;quot;30-Mar-26&amp;quot;, &amp;quot;31-Mar-26&amp;quot;, &amp;quot;01-Apr-26&amp;quot;, &amp;quot;02-Apr-26&amp;quot;, &amp;quot;03-Apr-26&amp;quot;, &amp;quot;04-Apr-26&amp;quot;, &amp;quot;06-Apr-26&amp;quot;, &amp;quot;07-Apr-26&amp;quot;, &amp;quot;08-Apr-26&amp;quot;, &amp;quot;09-Apr-26&amp;quot;, &amp;quot;10-Apr-26&amp;quot;, &amp;quot;13-Apr-26&amp;quot;, &amp;quot;14-Apr-26&amp;quot;, &amp;quot;14-Apr-26&amp;quot;, &amp;quot;15-Apr-26&amp;quot;, &amp;quot;16-Apr-26&amp;quot;, &amp;quot;17-Apr-26&amp;quot;, &amp;quot;20-Apr-26&amp;quot;, &amp;quot;21-Apr-26&amp;quot;, &amp;quot;22-Apr-26&amp;quot;, &amp;quot;23-Apr-26&amp;quot;, &amp;quot;24-Apr-26&amp;quot;, &amp;quot;27-Apr-26&amp;quot;, &amp;quot;28-Apr-26&amp;quot;, &amp;quot;29-Apr-26&amp;quot;, &amp;quot;30-Apr-26&amp;quot;, &amp;quot;04-May-26&amp;quot;, &amp;quot;05-May-26&amp;quot;, &amp;quot;06-May-26&amp;quot;, &amp;quot;07-May-26&amp;quot;, &amp;quot;08-May-26&amp;quot;, &amp;quot;11-May-26&amp;quot;, &amp;quot;12-May-26&amp;quot;, &amp;quot;13-May-26&amp;quot;, &amp;quot;14-May-26&amp;quot;, &amp;quot;15-May-26&amp;quot;, &amp;quot;18-May-26&amp;quot;, &amp;quot;19-May-26&amp;quot;, &amp;quot;20-May-26&amp;quot;, &amp;quot;21-May-26&amp;quot;, &amp;quot;22-May-26&amp;quot;, &amp;quot;25-May-26&amp;quot;, &amp;quot;29-May-26&amp;quot;, &amp;quot;01-Jun-26&amp;quot;, &amp;quot;02-Jun-26&amp;quot;, &amp;quot;03-Jun-26&amp;quot;, &amp;quot;04-Jun-26&amp;quot;, &amp;quot;05-Jun-26&amp;quot;, &amp;quot;08-Jun-26&amp;quot;, &amp;quot;09-Jun-26&amp;quot;, &amp;quot;10-Jun-26&amp;quot;, &amp;quot;11-Jun-26&amp;quot;, &amp;quot;12-Jun-26&amp;quot;, &amp;quot;15-Jun-26&amp;quot;, &amp;quot;16-Jun-26&amp;quot;, &amp;quot;17-Jun-26&amp;quot;, &amp;quot;18-Jun-26&amp;quot;, &amp;quot;19-Jun-26&amp;quot;, &amp;quot;22-Jun-26&amp;quot;, &amp;quot;23-Jun-26&amp;quot;, &amp;quot;24-Jun-26&amp;quot;, &amp;quot;29-Jun-26&amp;quot;, &amp;quot;30-Jun-26&amp;quot;, &amp;quot;02-Jul-26&amp;quot;, &amp;quot;03-Jul-26&amp;quot;, &amp;quot;06-Jul-26&amp;quot;, &amp;quot;07-Jul-26&amp;quot;, &amp;quot;08-Jul-26&amp;quot;, &amp;quot;09-Jul-26&amp;quot;, &amp;quot;10-Jul-26&amp;quot;, &amp;quot;13-Jul-26&amp;quot;, &amp;quot;14-Jul-26&amp;quot;, &amp;quot;15-Jul-26&amp;quot;, &amp;quot;16-Jul-26&amp;quot;, &amp;quot;17-Jul-26&amp;quot;, &amp;quot;20-Jul-26&amp;quot;, &amp;quot;21-Jul-26&amp;quot;, &amp;quot;22-Jul-26&amp;quot;, &amp;quot;23-Jul-26&amp;quot;, &amp;quot;24-Jul-26&amp;quot;, &amp;quot;27-Jul-26&amp;quot;, &amp;quot;28-Jul-26&amp;quot;, &amp;quot;29-Jul-26&amp;quot;, &amp;quot;30-Jul-26&amp;quot;, &amp;quot;03-Aug-26&amp;quot;, &amp;quot;04-Aug-26&amp;quot;, &amp;quot;05-Aug-26&amp;quot;, &amp;quot;06-Aug-26&amp;quot;, &amp;quot;07-Aug-26&amp;quot;, &amp;quot;10-Aug-26&amp;quot;, &amp;quot;11-Aug-26&amp;quot;, &amp;quot;12-Aug-26&amp;quot;, &amp;quot;13-Aug-26&amp;quot;, &amp;quot;17-Aug-26&amp;quot;, &amp;quot;18-Aug-26&amp;quot;, &amp;quot;20-Aug-26&amp;quot;, &amp;quot;21-Aug-26&amp;quot;, &amp;quot;24-Aug-26&amp;quot;, &amp;quot;25-Aug-26&amp;quot;, &amp;quot;27-Aug-26&amp;quot;, &amp;quot;28-Aug-26&amp;quot;, &amp;quot;31-Aug-26&amp;quot;, &amp;quot;01-Sep-26&amp;quot;, &amp;quot;02-Sep-26&amp;quot;, &amp;quot;03-Sep-26&amp;quot;, &amp;quot;04-Sep-26&amp;quot;, &amp;quot;07-Sep-26&amp;quot;, &amp;quot;08-Sep-26&amp;quot;, &amp;quot;09-Sep-26&amp;quot;, &amp;quot;10-Sep-26&amp;quot;, &amp;quot;11-Sep-26&amp;quot;, &amp;quot;14-Sep-26&amp;quot;, &amp;quot;15-Sep-26&amp;quot;, &amp;quot;16-Sep-26&amp;quot;, &amp;quot;17-Sep-26&amp;quot;, &amp;quot;18-Sep-26&amp;quot;, &amp;quot;21-Sep-26&amp;quot;, &amp;quot;22-Sep-26&amp;quot;];
            
            const rawData = [279.77, 279.87, 279.82, 279.97, 280.07, 279.95, 279.97, 280.05, 280.21, 280.17, 280.27, 280.21, 280.22, 280.26, 280.37, 280.42, 280.26, 280.22, 280.16, 280.56, 280.47, 280.57, 280.73, 280.78, 280.56, 280.47, 280.60, 280.57, 280.46, 280.62, 280.72, 280.87, 280.77, 280.97, 281.07, 280.97, 281.07, 281.02, 280.97, 281.06, 281.22, 281.37, 281.47, 281.52, 281.71, 281.57, 281.67, 281.72, 281.61, 281.66, 281.77, 281.92, 281.97, 282.06, 281.97, 282.06, 282.17, 282.07, 282.02, 281.97, 282.12, 282.22, 282.17, 282.21, 282.47, 282.67, 282.96, 283.17, 283.41, 283.55, 283.64, 283.70, 283.87, 283.77, 283.72, 283.67, 283.72, 283.76, 283.95, 283.86, 283.97, 284.22, 284.36, 284.47, 284.56, 284.46, 284.72, 284.67, 284.96, 284.97, 284.87, 284.95, 284.97, 284.76, 284.22, 283.45, 283.21, 283.05, 282.95, 282.87, 282.72, 282.66, 282.57, 282.67, 282.56, 282.47, 282.45, 282.42, 282.22, 282.06, 282.01, 281.96, 281.95, 281.92, 281.90, 281.87, 281.86, 281.83, 281.80, 281.77, 281.75, 281.72, 281.71, 281.67, 281.65, 281.62, 281.61, 281.60, 281.56, 281.55, 281.52, 281.51, 281.50, 281.47, 281.46, 281.45, 281.46, 281.42, 281.43, 281.41, 281.37, 281.35, 281.32, 281.31, 281.27, 281.26, 281.25, 281.22, 281.21, 281.20, 281.17, 281.16, 281.15, 281.12, 281.11, 281.10, 281.07, 281.06, 281.05, 281.03, 281.02, 281.01, 280.97, 280.96, 280.92, 280.91, 280.90, 280.87, 280.86, 280.85, 280.82, 280.81, 280.78, 280.77, 280.76, 280.72, 280.71, 280.67, 280.66, 280.66, 280.65, 280.62, 280.61, 280.57, 280.56, 280.55, 280.52, 280.51, 280.47, 280.46, 280.45, 280.42, 280.41, 280.40, 280.37, 280.36, 280.32, 280.31, 280.30, 280.27, 280.26, 280.25, 280.22, 280.21, 280.20, 280.17, 280.16, 280.15, 280.12, 280.11, 280.10, 280.07, 280.06, 280.05, 280.02, 280.01, 280.00, 279.97, 279.96, 279.95, 279.92, 279.91, 279.90, 279.87, 279.86, 279.85, 279.82, 279.81, 279.80, 279.77, 279.76, 279.75, 279.72, 279.71, 279.70, 279.67, 279.66, 279.65, 279.62, 279.61, 279.60, 279.57, 279.56, 279.55, 279.52, 279.51, 279.50, 279.47, 279.46, 279.45, 279.42, 279.41, 279.40, 279.37, 279.36, 279.35, 279.32, 279.31, 279.30, 279.27, 279.26, 279.25, 279.22, 279.21, 279.20, 279.17, 279.16, 279.15, 279.12, 279.11, 279.10, 279.07, 279.06, 279.05, 279.02, 279.01, 279.00, 278.97, 278.96, 278.95, 278.92, 278.91, 278.90, 278.87, 278.86, 278.85, 278.82, 278.81, 278.80, 278.77, 278.76, 278.75, 278.72, 278.71, 278.70, 278.67, 278.66, 278.65, 278.62, 278.61, 278.60, 278.57, 278.56, 278.55, 278.52, 278.51, 278.50, 278.47, 278.46, 278.45, 278.42, 278.41, 278.40, 278.37, 278.36, 278.35, 278.32, 278.31, 278.30, 278.27, 278.26, 278.25, 278.22, 278.21, 278.20, 278.17, 278.16, 278.15, 278.12, 278.11, 278.10, 278.07, 278.06, 278.05, 278.02, 278.01, 278.00, 277.95, 277.95, 277.92, 277.91, 277.90, 277.87, 277.86, 277.85, 277.82, 277.81, 277.80, 277.77, 277.76, 277.75, 277.72, 277.71, 277.70, 277.67, 277.66, 277.65, 277.62, 277.61, 277.57, 277.56, 277.55, 277.52, 277.51, 277.50, 277.47, 277.46, 277.45, 277.42, 277.41, 277.40, 277.37, 277.36, 277.35, 277.32, 277.31, 277.30, 277.27, 277.26, 277.25, 277.22, 277.21];

            const currentExchangeRate = rawData[rawData.length - 1];
            const currentExchangeDate = rawLabels[rawLabels.length - 1];

            // DOM Elements
            const usdInput = document.getElementById(&amp;#039;usdInput&amp;#039;);
            const pkrInput = document.getElementById(&amp;#039;pkrInput&amp;#039;);
            const badgeEl = document.getElementById(&amp;#039;latestBadgeRate&amp;#039;);
            const dateLabelEl = document.getElementById(&amp;#039;latestDateLabel&amp;#039;);

            const statHighEl = document.getElementById(&amp;#039;statHigh&amp;#039;);
            const statLowEl = document.getElementById(&amp;#039;statLow&amp;#039;);
            const statAvgEl = document.getElementById(&amp;#039;statAvg&amp;#039;);
            const statChangeEl = document.getElementById(&amp;#039;statChange&amp;#039;);

            // Format helpers
            const formatCurrency = (val, maxDecimals = 2, minDecimals = 2) =&amp;gt; {
                if (isNaN(val) || val === null) return &amp;#039;--&amp;#039;;
                return val.toLocaleString(&amp;#039;en-US&amp;#039;, {
                    minimumFractionDigits: minDecimals,
                    maximumFractionDigits: maxDecimals
                });
            };

            const parseCurrency = (valStr) =&amp;gt; {
                if (!valStr) return NaN;
                return parseFloat(valStr.toString().replace(/,/g, &amp;#039;&amp;#039;));
            };

            // Set Initial Values in UI
            dateLabelEl.textContent = currentExchangeDate;
            badgeEl.textContent = formatCurrency(currentExchangeRate) + &amp;#039; PKR&amp;#039;;
            pkrInput.value = formatCurrency(currentExchangeRate);

            // Converter Event Listeners
            usdInput.addEventListener(&amp;#039;input&amp;#039;, (e) =&amp;gt; {
                const val = parseCurrency(e.target.value);
                if (isNaN(val)) {
                    pkrInput.value = &amp;#039;&amp;#039;;
                } else {
                    pkrInput.value = formatCurrency(val * currentExchangeRate);
                }
            });

            pkrInput.addEventListener(&amp;#039;input&amp;#039;, (e) =&amp;gt; {
                const val = parseCurrency(e.target.value);
                if (isNaN(val)) {
                    usdInput.value = &amp;#039;&amp;#039;;
                } else {
                    usdInput.value = formatCurrency(val / currentExchangeRate, 4, 2);
                }
            });

            usdInput.addEventListener(&amp;#039;blur&amp;#039;, (e) =&amp;gt; {
                const val = parseCurrency(e.target.value);
                if (!isNaN(val)) {
                    e.target.value = formatCurrency(val, 2, 0);
                }
            });

            pkrInput.addEventListener(&amp;#039;blur&amp;#039;, (e) =&amp;gt; {
                const val = parseCurrency(e.target.value);
                if (!isNaN(val)) {
                    e.target.value = formatCurrency(val, 2, 2);
                }
            });

            const ctx = document.getElementById(&amp;#039;closingRatesChart&amp;#039;).getContext(&amp;#039;2d&amp;#039;);
            
            // Create gradient fill
            const gradient = ctx.createLinearGradient(0, 0, 0, 350);
            gradient.addColorStop(0, &amp;#039;rgba(79, 70, 229, 0.25)&amp;#039;);
            gradient.addColorStop(1, &amp;#039;rgba(79, 70, 229, 0.0)&amp;#039;);

            let chartInstance = new Chart(ctx, {
                type: &amp;#039;line&amp;#039;,
                data: {
                    labels: rawLabels,
                    datasets: [{
                        label: &amp;#039;USD to PKR&amp;#039;,
                        data: rawData,
                        borderColor: &amp;#039;#4f46e5&amp;#039;,
                        borderWidth: 2,
                        backgroundColor: gradient,
                        fill: true,
                        tension: 0.3,
                        pointRadius: 0,
                        pointHoverRadius: 6,
                        pointHoverBackgroundColor: &amp;#039;#4f46e5&amp;#039;,
                        pointHoverBorderColor: &amp;#039;#ffffff&amp;#039;,
                        pointHoverBorderWidth: 2
                    }]
                },
                options: {
                    responsive: true,
                    maintainAspectRatio: false,
                    interaction: {
                        intersect: false,
                        mode: &amp;#039;index&amp;#039;
                    },
                    plugins: {
                        legend: { display: false },
                        tooltip: {
                            backgroundColor: &amp;#039;#0f172a&amp;#039;,
                            titleFont: { family: &amp;#039;Plus Jakarta Sans&amp;#039;, size: 12, weight: &amp;#039;bold&amp;#039; },
                            bodyFont: { family: &amp;#039;Plus Jakarta Sans&amp;#039;, size: 13 },
                            padding: 10,
                            cornerRadius: 8,
                            displayColors: false,
                            callbacks: {
                                label: function(context) {
                                    return &amp;#039;Rate: &amp;#039; + formatCurrency(context.parsed.y) + &amp;#039; PKR&amp;#039;;
                                }
                            }
                        }
                    },
                    scales: {
                        x: {
                            grid: { display: false },
                            ticks: {
                                font: { family: &amp;#039;Plus Jakarta Sans&amp;#039;, size: 11 },
                                color: &amp;#039;#64748b&amp;#039;,
                                maxTicksLimit: 8,
                                maxRotation: 0
                            }
                        },
                        y: {
                            grid: { color: &amp;#039;#f1f5f9&amp;#039; },
                            ticks: {
                                font: { family: &amp;#039;Plus Jakarta Sans&amp;#039;, size: 11 },
                                color: &amp;#039;#64748b&amp;#039;,
                                callback: function(value) {
                                    return value.toFixed(1);
                                }
                            }
                        }
                    }
                }
            });

            function updateRangeStats(labels, data) {
                if (!data || data.length === 0) return;

                const high = Math.max(...data);
                const low = Math.min(...data);
                const avg = data.reduce((a, b) =&amp;gt; a + b, 0) / data.length;
                const startVal = data[0];
                const endVal = data[data.length - 1];
                const change = endVal - startVal;
                const changePct = (change / startVal) * 100;

                statHighEl.textContent = formatCurrency(high);
                statLowEl.textContent = formatCurrency(low);
                statAvgEl.textContent = formatCurrency(avg);

                const sign = change &amp;gt;= 0 ? &amp;#039;+&amp;#039; : &amp;#039;&amp;#039;;
                statChangeEl.textContent = `${sign}${formatCurrency(change)} (${sign}${changePct.toFixed(2)}%)`;
                statChangeEl.style.color = change &amp;gt; 0 ? &amp;#039;#10b981&amp;#039; : (change &amp;lt; 0 ? &amp;#039;#ef4444&amp;#039; : &amp;#039;#64748b&amp;#039;);
            }

            // Timeframe filtering handler
            function setTimeframe(rangeCount) {
                let slicedLabels = rawLabels;
                let slicedData = rawData;

                if (rangeCount !== &amp;#039;all&amp;#039;) {
                    const count = parseInt(rangeCount, 10);
                    slicedLabels = rawLabels.slice(-count);
                    slicedData = rawData.slice(-count);
                }

                chartInstance.data.labels = slicedLabels;
                chartInstance.data.datasets[0].data = slicedData;

                // Adjust Y axis dynamic scaling
                const minVal = Math.min(...slicedData);
                const maxVal = Math.max(...slicedData);
                const padding = (maxVal - minVal) * 0.1 || 1;
                
                chartInstance.options.scales.y.min = Math.floor((minVal - padding) * 10) / 10;
                chartInstance.options.scales.y.max = Math.ceil((maxVal + padding) * 10) / 10;

                chartInstance.update();
                updateRangeStats(slicedLabels, slicedData);
            }

            // Setup timeframe button listeners
            document.querySelectorAll(&amp;#039;#pkr-chart-embed .tf-btn&amp;#039;).forEach(btn =&amp;gt; {
                btn.addEventListener(&amp;#039;click&amp;#039;, (e) =&amp;gt; {
                    document.querySelectorAll(&amp;#039;#pkr-chart-embed .tf-btn&amp;#039;).forEach(b =&amp;gt; b.classList.remove(&amp;#039;active&amp;#039;));
                    e.target.classList.add(&amp;#039;active&amp;#039;);
                    setTimeframe(e.target.getAttribute(&amp;#039;data-range&amp;#039;));
                });
            });

            // Initial range load
            setTimeframe(&amp;#039;all&amp;#039;);
        })();
    &amp;lt;/script&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;
    &amp;lt;script&amp;gt;
        function reportHeight() {
            var h = document.documentElement.scrollHeight;
            window.parent.postMessage({ type: &amp;#039;raw-html-resize&amp;#039;, id: &amp;#039;raw-html-6ab284215fe39&amp;#039;, height: h }, &amp;#039;*&amp;#039;);
        }
        window.addEventListener(&amp;#039;load&amp;#039;, reportHeight);
        if (window.ResizeObserver) {
            new ResizeObserver(reportHeight).observe(document.body);
        }
    &amp;lt;/script&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;"&gt;&lt;/iframe&gt;
&lt;script&gt;
if (!window._rawHtmlListenerAttached) {
    window._rawHtmlListenerAttached = true;
    window.addEventListener('message', function(event) {
        if (event.data &amp;&amp; event.data.type === 'raw-html-resize' &amp;&amp; event.data.id) {
            var iframe = document.getElementById(event.data.id);
            if (iframe) {
                var height = Math.min(Math.max(event.data.height, 50), 9200);
                iframe.style.height = height + 'px';
            }
        }
    });
}
&lt;/script&gt;
&lt;p&gt;&lt;strong&gt;The Pakistani rupee extended its marginal gains against the US dollar in the interbank market on Tuesday.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The local unit closed the day at 277.21, a gain of Re0.01 against the greenback.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.brecorder.com/news/40440509"&gt;On Monday&lt;/a&gt;, the Pakistani rupee settled at 277.22 against the dollar.&lt;/p&gt;
    &lt;figure class='media  w-full sm:w-full  media--center  media--embed  media--uneven media--tweet' data-original-src='https://x.com/StateBank_Pak/status/2102359372919980224'&gt;
        &lt;div class='media__item  media__item--twitter  '&gt;&lt;span&gt;
    &lt;blockquote class="twitter-tweet" lang="en"&gt;
        &lt;a href="https://twitter.com/StateBank_Pak/status/2102359372919980224"&gt;&lt;/a&gt;
    &lt;/blockquote&gt;
&lt;/span&gt;&lt;/div&gt;
        
    &lt;/figure&gt;
&lt;p&gt;Globally, &lt;a href="https://www.brecorder.com/news/40440631/yen-squeezed-as-hawkish-turn-grips-central-banks"&gt;the Japanese yen &lt;/a&gt;was under pressure from a firm US dollar on Tuesday as ​traders wagered on policymakers in Japan struggling to keep up with a hawkish turn ‌by global central banks, leaving the country’s interest rates at a wide gap with major peers.&lt;/p&gt;
&lt;p&gt;Moves were contained thanks to a holiday in Japan and because of the risk of intervention, after the Nikkei newspaper reported Japan checked dollar/yen rates on Friday. ​Such a move is often a precursor to stepping into the market.&lt;/p&gt;
&lt;p&gt;After drifting lower on ​Monday, the yen traded at 157.33 versus the dollar early on Tuesday, while broader ⁠financial markets were buoyed by falling oil prices.&lt;/p&gt;
&lt;p&gt;Other currency pairs were mostly steady, with the euro at $1.1467, ​though cryptocurrencies have rallied in the past day to lift bitcoin to an eight-month high above $87,000.&lt;/p&gt;
&lt;p&gt;Markets are pricing about a 30% chance that the BOJ hikes its benchmark short-term rate to 1.5% in October and a roughly 55% chance that the Fed will ​lift its funds rate ​window by 25 basis ⁠points to 4% to 4.25%.&lt;/p&gt;
&lt;p&gt;The Aussie dollar hovered at $0.7120. Sterling traded around $1.3372.&lt;/p&gt;
&lt;p&gt;The New Zealand dollar was pinned near multi-month lows at $0.5708 since Kiwi rates, sitting at 2.75%, are much lower than peers.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.brecorder.com/news/40440627/oil-rises-slightly-ahead-of-potential-us-iran-talks"&gt;Oil prices&lt;/a&gt;, a key indicator of currency parity, fell to a two-week low on Tuesday as prospects for Gulf supplies improved, with Iran signaling it could reopen the &lt;a href="https://www.brecorder.com/news/40440129/iran-says-struck-oil-tanker-in-strait-of-hormuz"&gt;Strait of Hormuz &lt;/a&gt;within seven days and Saudi Arabia set to resume exports from its Red Sea port of Yanbu.&lt;/p&gt;
&lt;p&gt;The Brent crude futures November contract was down $2.11, or 2.1%, to $98.23 a barrel at 1151 GMT.&lt;/p&gt;
&lt;p&gt;The WTI October contract, which expires on Tuesday, lost $2.48, or 2.59%, to $93.30 a barrel.&lt;/p&gt;
&lt;p&gt;The more actively traded November contract was down $2.36, or 2.55%, at $90.01 a barrel.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Inter-bank market rates for dollar on Tuesday&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;BID Rs 277.21&lt;/p&gt;
&lt;p&gt;OFFER Rs 277.41&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Open-market movement&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;In the open market, the PKR gained 4.00 paisa for buying and lost 19.00 paisa for selling against USD, closing at 278.19 and 279.26, respectively.&lt;/p&gt;
&lt;p&gt;Against Euro, the PKR gained 22.00 paisa for buying and 30.00 paisa for selling, closing at 318.63 and 321.63, respectively.&lt;/p&gt;
&lt;p&gt;Against UAE Dirham, the PKR lost 2.00 paisa for buying and remained unchanged for selling, closing at 75.70 and 76.27, respectively.&lt;/p&gt;
&lt;p&gt;Against Saudi Riyal, the PKR lost 2.00 paisa for buying and gained 1.00 paisa for selling, closing at 74.01 and 74.51, respectively.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Open-market rates for dollar on Tuesday&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;BID Rs 278.19&lt;/p&gt;
&lt;p&gt;OFFER Rs 279.26&lt;/p&gt;
</description>
      <content:encoded xmlns="http://purl.org/rss/1.0/modules/content/"><![CDATA[<iframe id="raw-html-6ab284215fe39" class="raw-html-embed" style="width: 100%; min-height: 50px; max-height: 9200px; border: none; overflow: hidden;" scrolling="no" srcdoc="&lt;!DOCTYPE html&gt;
&lt;html&gt;
&lt;head&gt;
    &lt;style&gt;
        body { margin: 0; padding: 0; font-family: system-ui, -apple-system, sans-serif; overflow-wrap: anywhere; }
    &lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
    
&lt;!DOCTYPE html&gt;
&lt;html lang=&quot;en&quot;&gt;
&lt;head&gt;
    &lt;meta charset=&quot;UTF-8&quot;&gt;
    &lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1.0&quot;&gt;
    &lt;title&gt;PKR vs USD Exchange Rate Chart&lt;/title&gt;
    &lt;!-- Chart.js for interactive rendering --&gt;
    &lt;script src=&quot;https://cdn.jsdelivr.net/npm/chart.js&quot;&gt;&lt;/script&gt;
    
    &lt;style&gt;
        @import url(&#039;https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght=400;500;600;700&amp;display=swap&#039;);

        #pkr-chart-embed {
            font-family: &#039;Plus Jakarta Sans&#039;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, Roboto, sans-serif;
            max-width: 1000px;
            width: 100%;
            margin: 24px auto;
            background-color: #ffffff;
            border: 1px solid #e2e8f0;
            border-radius: 20px;
            padding: 24px;
            box-shadow: 0 10px 25px -5px rgba(15, 23, 42, 0.05), 0 8px 10px -6px rgba(15, 23, 42, 0.05);
            color: #0f172a;
            box-sizing: border-box;
        }

        #pkr-chart-embed * { box-sizing: border-box; margin: 0; padding: 0; }

        #pkr-chart-embed .chart-header {
            display: flex;
            flex-direction: column;
            gap: 20px;
            margin-bottom: 20px;
            width: 100%;
        }

        #pkr-chart-embed .top-row {
            display: flex;
            flex-direction: row;
            justify-content: space-between;
            align-items: flex-start;
            gap: 20px;
        }

        #pkr-chart-embed .calculator-area {
            display: flex;
            flex-direction: column;
            gap: 8px;
            align-items: flex-start;
        }

        #pkr-chart-embed .main-title {
            font-size: 22px;
            font-weight: 700;
            color: #0f172a;
            letter-spacing: -0.025em;
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            gap: 10px;
        }

        #pkr-chart-embed .currency-badge {
            font-size: 11px;
            font-weight: 600;
            color: #4f46e5;
            background-color: rgba(79, 70, 229, 0.08);
            padding: 3px 10px;
            border-radius: 9999px;
            border: 1px solid rgba(79, 70, 229, 0.15);
            text-transform: uppercase;
        }

        #pkr-chart-embed .calculator-title {
            font-size: 10px;
            font-weight: 700;
            color: #64748b;
            text-transform: uppercase;
            letter-spacing: 0.05em;
        }

        #pkr-chart-embed .converter {
            display: flex;
            align-items: center;
            background: #f8fafc;
            border: 1px solid #e2e8f0;
            border-radius: 12px;
            padding: 4px;
            gap: 6px;
        }

        #pkr-chart-embed .converter-group {
            display: flex;
            align-items: center;
            background: #ffffff;
            border-radius: 8px;
            padding: 6px 10px;
            box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
            border: 1px solid #e2e8f0;
        }

        #pkr-chart-embed .converter-input {
            border: none;
            outline: none;
            width: 90px;
            font-family: inherit;
            font-weight: 700;
            color: #0f172a;
            font-size: 14px;
            text-align: right;
            background: transparent;
        }

        #pkr-chart-embed .converter-input.pkr-field { width: 120px; }

        #pkr-chart-embed .converter-label {
            font-size: 11px;
            font-weight: 700;
            color: #64748b;
            margin-left: 6px;
        }

        #pkr-chart-embed .equals-sign { color: #94a3b8; font-weight: 600; font-size: 16px; }

        #pkr-chart-embed .rate-badge-container {
            display: flex;
            flex-direction: column;
            align-items: flex-end;
            gap: 6px;
        }

        #pkr-chart-embed .rate-label-sub { text-align: right; }
        #pkr-chart-embed .rate-label-sub span:first-child { display: block; font-size: 9px; text-transform: uppercase; font-weight: 700; color: #64748b; }
        #pkr-chart-embed .rate-label-sub span:last-child { display: block; font-size: 12px; color: #334155; font-weight: 600; }

        #pkr-chart-embed .rate-badge {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            background: linear-gradient(135deg, #4f46e5, #3b82f6);
            color: #ffffff;
            font-weight: 700;
            font-size: 14px;
            padding: 8px 14px;
            border-radius: 12px;
            box-shadow: 0 8px 16px -3px rgba(79, 70, 229, 0.25);
        }

        #pkr-chart-embed .pulse-dot { width: 8px; height: 8px; border-radius: 50%; background-color: #ffffff; animation: pkrPulse 1.5s infinite; }

        @keyframes pkrPulse {
            0% { transform: scale(0.95); opacity: 0.6; }
            50% { transform: scale(1.15); opacity: 1; }
            100% { transform: scale(0.95); opacity: 0.6; }
        }

        /* Controls &amp; Stats Toolbar */
        #pkr-chart-embed .toolbar {
            display: flex;
            justify-content: space-between;
            align-items: center;
            flex-wrap: wrap;
            gap: 12px;
            margin-bottom: 16px;
            padding-bottom: 12px;
            border-bottom: 1px solid #f1f5f9;
        }

        #pkr-chart-embed .timeframe-selector {
            display: flex;
            gap: 4px;
            background: #f1f5f9;
            padding: 3px;
            border-radius: 10px;
        }

        #pkr-chart-embed .tf-btn {
            border: none;
            background: transparent;
            font-family: inherit;
            font-size: 12px;
            font-weight: 600;
            color: #64748b;
            padding: 5px 12px;
            border-radius: 7px;
            cursor: pointer;
            transition: all 0.2s ease;
        }

        #pkr-chart-embed .tf-btn.active {
            background: #ffffff;
            color: #4f46e5;
            box-shadow: 0 1px 3px rgba(0,0,0,0.1);
        }

        #pkr-chart-embed .stats-row {
            display: flex;
            gap: 16px;
            flex-wrap: wrap;
        }

        #pkr-chart-embed .stat-item {
            font-size: 12px;
            color: #64748b;
        }

        #pkr-chart-embed .stat-item strong {
            color: #0f172a;
            font-weight: 700;
        }

        #pkr-chart-embed .chart-canvas-container { position: relative; width: 100%; height: 380px; }

        @media (max-width: 768px) {
            #pkr-chart-embed .chart-canvas-container { height: 300px; }
            #pkr-chart-embed .top-row { flex-direction: column; align-items: flex-start; }
            #pkr-chart-embed .rate-badge-container { align-items: flex-start; }
            #pkr-chart-embed .rate-label-sub { text-align: left; }
            #pkr-chart-embed .toolbar { flex-direction: column; align-items: flex-start; }
        }
    &lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
    &lt;div id=&quot;pkr-chart-embed&quot;&gt;
        &lt;div class=&quot;chart-header&quot;&gt;
            &lt;h1 class=&quot;main-title&quot;&gt;
                &lt;span&gt;PKR vs USD Exchange Rate&lt;/span&gt;
                &lt;span class=&quot;currency-badge&quot;&gt;USD / PKR&lt;/span&gt;
            &lt;/h1&gt;

            &lt;div class=&quot;top-row&quot;&gt;
                &lt;div class=&quot;calculator-area&quot;&gt;
                    &lt;span class=&quot;calculator-title&quot;&gt;Calculator&lt;/span&gt;
                    &lt;div class=&quot;converter&quot;&gt;
                        &lt;div class=&quot;converter-group&quot;&gt;
                            &lt;input type=&quot;text&quot; inputmode=&quot;decimal&quot; id=&quot;usdInput&quot; class=&quot;converter-input&quot; value=&quot;1&quot;&gt;
                            &lt;span class=&quot;converter-label&quot;&gt;USD&lt;/span&gt;
                        &lt;/div&gt;
                        &lt;span class=&quot;equals-sign&quot;&gt;=&lt;/span&gt;
                        &lt;div class=&quot;converter-group&quot;&gt;
                            &lt;input type=&quot;text&quot; inputmode=&quot;decimal&quot; id=&quot;pkrInput&quot; class=&quot;converter-input pkr-field&quot; value=&quot;&quot;&gt;
                            &lt;span class=&quot;converter-label&quot;&gt;PKR&lt;/span&gt;
                        &lt;/div&gt;
                    &lt;/div&gt;
                &lt;/div&gt;

                &lt;div class=&quot;rate-badge-container&quot;&gt;
                    &lt;div class=&quot;rate-label-sub&quot;&gt;
                        &lt;span&gt;Latest Closing&lt;/span&gt;
                        &lt;span id=&quot;latestDateLabel&quot;&gt;22-Sep-26&lt;/span&gt;
                    &lt;/div&gt;
                    &lt;div class=&quot;rate-badge&quot;&gt;
                        &lt;span class=&quot;pulse-dot&quot;&gt;&lt;/span&gt;
                        &lt;span id=&quot;latestBadgeRate&quot;&gt;277.21 PKR&lt;/span&gt;
                    &lt;/div&gt;
                &lt;/div&gt;
            &lt;/div&gt;
        &lt;/div&gt;

        &lt;div class=&quot;toolbar&quot;&gt;
            &lt;div class=&quot;timeframe-selector&quot;&gt;
                &lt;button class=&quot;tf-btn&quot; data-range=&quot;30&quot;&gt;1M&lt;/button&gt;
                &lt;button class=&quot;tf-btn&quot; data-range=&quot;90&quot;&gt;3M&lt;/button&gt;
                &lt;button class=&quot;tf-btn&quot; data-range=&quot;180&quot;&gt;6M&lt;/button&gt;
                &lt;button class=&quot;tf-btn&quot; data-range=&quot;365&quot;&gt;1Y&lt;/button&gt;
                &lt;button class=&quot;tf-btn active&quot; data-range=&quot;all&quot;&gt;ALL&lt;/button&gt;
            &lt;/div&gt;

            &lt;div class=&quot;stats-row&quot;&gt;
                &lt;span class=&quot;stat-item&quot;&gt;High: &lt;strong id=&quot;statHigh&quot;&gt;--&lt;/strong&gt;&lt;/span&gt;
                &lt;span class=&quot;stat-item&quot;&gt;Low: &lt;strong id=&quot;statLow&quot;&gt;--&lt;/strong&gt;&lt;/span&gt;
                &lt;span class=&quot;stat-item&quot;&gt;Avg: &lt;strong id=&quot;statAvg&quot;&gt;--&lt;/strong&gt;&lt;/span&gt;
                &lt;span class=&quot;stat-item&quot;&gt;Change: &lt;strong id=&quot;statChange&quot;&gt;--&lt;/strong&gt;&lt;/span&gt;
            &lt;/div&gt;
        &lt;/div&gt;

        &lt;div class=&quot;chart-canvas-container&quot;&gt;
            &lt;canvas id=&quot;closingRatesChart&quot;&gt;&lt;/canvas&gt;
        &lt;/div&gt;
    &lt;/div&gt;

    &lt;script&gt;
        (function() {
            // Full historical closing rate dataset with 22-Sep-26 appended
            const rawLabels = [&quot;04-Mar-25&quot;, &quot;05-Mar-25&quot;, &quot;06-Mar-25&quot;, &quot;07-Mar-25&quot;, &quot;10-Mar-25&quot;, &quot;11-Mar-25&quot;, &quot;12-Mar-25&quot;, &quot;13-Mar-25&quot;, &quot;14-Mar-25&quot;, &quot;17-Mar-25&quot;, &quot;18-Mar-25&quot;, &quot;19-Mar-25&quot;, &quot;20-Mar-25&quot;, &quot;21-Mar-25&quot;, &quot;24-Mar-25&quot;, &quot;25-Mar-25&quot;, &quot;26-Mar-25&quot;, &quot;27-Mar-25&quot;, &quot;28-Mar-25&quot;, &quot;03-Apr-25&quot;, &quot;04-Apr-25&quot;, &quot;07-Apr-25&quot;, &quot;08-Apr-25&quot;, &quot;09-Apr-25&quot;, &quot;10-Apr-25&quot;, &quot;11-Apr-25&quot;, &quot;14-Apr-25&quot;, &quot;15-Apr-25&quot;, &quot;16-Apr-25&quot;, &quot;17-Apr-25&quot;, &quot;18-Apr-25&quot;, &quot;21-Apr-25&quot;, &quot;22-Apr-25&quot;, &quot;23-Apr-25&quot;, &quot;24-Apr-25&quot;, &quot;25-Apr-25&quot;, &quot;28-Apr-25&quot;, &quot;29-Apr-25&quot;, &quot;30-Apr-25&quot;, &quot;02-May-25&quot;, &quot;05-May-25&quot;, &quot;06-May-25&quot;, &quot;07-May-25&quot;, &quot;08-May-25&quot;, &quot;09-May-25&quot;, &quot;12-May-25&quot;, &quot;13-May-25&quot;, &quot;14-May-25&quot;, &quot;15-May-25&quot;, &quot;16-May-25&quot;, &quot;19-May-25&quot;, &quot;20-May-25&quot;, &quot;21-May-25&quot;, &quot;22-May-25&quot;, &quot;23-May-25&quot;, &quot;26-May-25&quot;, &quot;27-May-25&quot;, &quot;29-May-25&quot;, &quot;30-May-25&quot;, &quot;02-Jun-25&quot;, &quot;03-Jun-25&quot;, &quot;04-Jun-25&quot;, &quot;05-Jun-25&quot;, &quot;10-Jun-25&quot;, &quot;11-Jun-25&quot;, &quot;12-Jun-25&quot;, &quot;13-Jun-25&quot;, &quot;16-Jun-25&quot;, &quot;17-Jun-25&quot;, &quot;18-Jun-25&quot;, &quot;19-Jun-25&quot;, &quot;20-Jun-25&quot;, &quot;23-Jun-25&quot;, &quot;24-Jun-25&quot;, &quot;25-Jun-25&quot;, &quot;26-Jun-25&quot;, &quot;27-Jun-25&quot;, &quot;30-Jun-25&quot;, &quot;02-Jul-25&quot;, &quot;03-Jul-25&quot;, &quot;04-Jul-25&quot;, &quot;07-Jul-25&quot;, &quot;08-Jul-25&quot;, &quot;09-Jul-25&quot;, &quot;10-Jul-25&quot;, &quot;11-Jul-25&quot;, &quot;14-Jul-25&quot;, &quot;15-Jul-25&quot;, &quot;16-Jul-25&quot;, &quot;17-Jul-25&quot;, &quot;18-Jul-25&quot;, &quot;21-Jul-25&quot;, &quot;22-Jul-25&quot;, &quot;23-Jul-25&quot;, &quot;24-Jul-25&quot;, &quot;25-Jul-25&quot;, &quot;28-Jul-25&quot;, &quot;29-Jul-25&quot;, &quot;30-Jul-25&quot;, &quot;31-Jul-25&quot;, &quot;01-Aug-25&quot;, &quot;04-Aug-25&quot;, &quot;05-Aug-25&quot;, &quot;06-Aug-25&quot;, &quot;07-Aug-25&quot;, &quot;08-Aug-25&quot;, &quot;11-Aug-25&quot;, &quot;12-Aug-25&quot;, &quot;13-Aug-25&quot;, &quot;15-Aug-25&quot;, &quot;18-Aug-25&quot;, &quot;19-Aug-25&quot;, &quot;20-Aug-25&quot;, &quot;21-Aug-25&quot;, &quot;22-Aug-25&quot;, &quot;25-Aug-25&quot;, &quot;26-Aug-25&quot;, &quot;27-Aug-25&quot;, &quot;28-Aug-25&quot;, &quot;29-Aug-25&quot;, &quot;01-Sep-25&quot;, &quot;02-Sep-25&quot;, &quot;03-Sep-25&quot;, &quot;04-Sep-25&quot;, &quot;05-Sep-25&quot;, &quot;08-Sep-25&quot;, &quot;09-Sep-25&quot;, &quot;10-Sep-25&quot;, &quot;11-Sep-25&quot;, &quot;12-Sep-25&quot;, &quot;15-Sep-25&quot;, &quot;16-Sep-25&quot;, &quot;17-Sep-25&quot;, &quot;18-Sep-25&quot;, &quot;19-Sep-25&quot;, &quot;21-Sep-25&quot;, &quot;22-Sep-25&quot;, &quot;23-Sep-25&quot;, &quot;24-Sep-25&quot;, &quot;25-Sep-25&quot;, &quot;26-Sep-25&quot;, &quot;29-Sep-25&quot;, &quot;30-Sep-25&quot;, &quot;01-Oct-25&quot;, &quot;02-Oct-25&quot;, &quot;03-Oct-25&quot;, &quot;06-Oct-25&quot;, &quot;07-Oct-25&quot;, &quot;08-Oct-25&quot;, &quot;09-Oct-25&quot;, &quot;10-Oct-25&quot;, &quot;13-Oct-25&quot;, &quot;14-Oct-25&quot;, &quot;15-Oct-25&quot;, &quot;16-Oct-25&quot;, &quot;17-Oct-25&quot;, &quot;20-Oct-25&quot;, &quot;21-Oct-25&quot;, &quot;22-Oct-25&quot;, &quot;23-Oct-25&quot;, &quot;24-Oct-25&quot;, &quot;27-Oct-25&quot;, &quot;28-Oct-25&quot;, &quot;29-Oct-25&quot;, &quot;30-Oct-25&quot;, &quot;31-Oct-25&quot;, &quot;03-Nov-25&quot;, &quot;04-Nov-25&quot;, &quot;05-Nov-25&quot;, &quot;06-Nov-25&quot;, &quot;07-Nov-25&quot;, &quot;10-Nov-25&quot;, &quot;11-Nov-25&quot;, &quot;12-Nov-25&quot;, &quot;13-Nov-25&quot;, &quot;14-Nov-25&quot;, &quot;17-Nov-25&quot;, &quot;18-Nov-25&quot;, &quot;19-Nov-25&quot;, &quot;20-Nov-25&quot;, &quot;21-Nov-25&quot;, &quot;24-Nov-25&quot;, &quot;25-Nov-25&quot;, &quot;26-Nov-25&quot;, &quot;27-Nov-25&quot;, &quot;28-Nov-25&quot;, &quot;01-Dec-25&quot;, &quot;02-Dec-25&quot;, &quot;03-Dec-25&quot;, &quot;04-Dec-25&quot;, &quot;05-Dec-25&quot;, &quot;08-Dec-25&quot;, &quot;09-Dec-25&quot;, &quot;10-Dec-25&quot;, &quot;11-Dec-25&quot;, &quot;12-Dec-25&quot;, &quot;15-Dec-25&quot;, &quot;16-Dec-25&quot;, &quot;17-Dec-25&quot;, &quot;18-Dec-25&quot;, &quot;19-Dec-25&quot;, &quot;22-Dec-25&quot;, &quot;23-Dec-25&quot;, &quot;24-Dec-25&quot;, &quot;26-Dec-25&quot;, &quot;29-Dec-25&quot;, &quot;30-Dec-25&quot;, &quot;31-Dec-25&quot;, &quot;02-Jan-26&quot;, &quot;05-Jan-26&quot;, &quot;06-Jan-26&quot;, &quot;07-Jan-26&quot;, &quot;08-Jan-26&quot;, &quot;09-Jan-26&quot;, &quot;12-Jan-26&quot;, &quot;13-Jan-26&quot;, &quot;14-Jan-26&quot;, &quot;15-Jan-26&quot;, &quot;16-Jan-26&quot;, &quot;19-Jan-26&quot;, &quot;20-Jan-26&quot;, &quot;21-Jan-26&quot;, &quot;22-Jan-26&quot;, &quot;23-Jan-26&quot;, &quot;26-Jan-26&quot;, &quot;27-Jan-26&quot;, &quot;28-Jan-26&quot;, &quot;29-Jan-26&quot;, &quot;30-Jan-26&quot;, &quot;02-Feb-26&quot;, &quot;03-Feb-26&quot;, &quot;04-Feb-26&quot;, &quot;06-Feb-26&quot;, &quot;09-Feb-26&quot;, &quot;10-Feb-26&quot;, &quot;11-Feb-26&quot;, &quot;12-Feb-26&quot;, &quot;13-Feb-26&quot;, &quot;16-Feb-26&quot;, &quot;17-Feb-26&quot;, &quot;18-Feb-26&quot;, &quot;20-Feb-26&quot;, &quot;23-Feb-26&quot;, &quot;24-Feb-26&quot;, &quot;25-Feb-26&quot;, &quot;26-Feb-26&quot;, &quot;27-Feb-26&quot;, &quot;02-Mar-26&quot;, &quot;03-Mar-26&quot;, &quot;04-Mar-26&quot;, &quot;05-Mar-26&quot;, &quot;06-Mar-26&quot;, &quot;09-Mar-26&quot;, &quot;10-Mar-26&quot;, &quot;11-Mar-26&quot;, &quot;12-Mar-26&quot;, &quot;13-Mar-26&quot;, &quot;16-Mar-26&quot;, &quot;17-Mar-26&quot;, &quot;18-Mar-26&quot;, &quot;19-Mar-26&quot;, &quot;24-Mar-26&quot;, &quot;25-Mar-26&quot;, &quot;26-Mar-26&quot;, &quot;27-Mar-26&quot;, &quot;30-Mar-26&quot;, &quot;31-Mar-26&quot;, &quot;01-Apr-26&quot;, &quot;02-Apr-26&quot;, &quot;03-Apr-26&quot;, &quot;04-Apr-26&quot;, &quot;06-Apr-26&quot;, &quot;07-Apr-26&quot;, &quot;08-Apr-26&quot;, &quot;09-Apr-26&quot;, &quot;10-Apr-26&quot;, &quot;13-Apr-26&quot;, &quot;14-Apr-26&quot;, &quot;14-Apr-26&quot;, &quot;15-Apr-26&quot;, &quot;16-Apr-26&quot;, &quot;17-Apr-26&quot;, &quot;20-Apr-26&quot;, &quot;21-Apr-26&quot;, &quot;22-Apr-26&quot;, &quot;23-Apr-26&quot;, &quot;24-Apr-26&quot;, &quot;27-Apr-26&quot;, &quot;28-Apr-26&quot;, &quot;29-Apr-26&quot;, &quot;30-Apr-26&quot;, &quot;04-May-26&quot;, &quot;05-May-26&quot;, &quot;06-May-26&quot;, &quot;07-May-26&quot;, &quot;08-May-26&quot;, &quot;11-May-26&quot;, &quot;12-May-26&quot;, &quot;13-May-26&quot;, &quot;14-May-26&quot;, &quot;15-May-26&quot;, &quot;18-May-26&quot;, &quot;19-May-26&quot;, &quot;20-May-26&quot;, &quot;21-May-26&quot;, &quot;22-May-26&quot;, &quot;25-May-26&quot;, &quot;29-May-26&quot;, &quot;01-Jun-26&quot;, &quot;02-Jun-26&quot;, &quot;03-Jun-26&quot;, &quot;04-Jun-26&quot;, &quot;05-Jun-26&quot;, &quot;08-Jun-26&quot;, &quot;09-Jun-26&quot;, &quot;10-Jun-26&quot;, &quot;11-Jun-26&quot;, &quot;12-Jun-26&quot;, &quot;15-Jun-26&quot;, &quot;16-Jun-26&quot;, &quot;17-Jun-26&quot;, &quot;18-Jun-26&quot;, &quot;19-Jun-26&quot;, &quot;22-Jun-26&quot;, &quot;23-Jun-26&quot;, &quot;24-Jun-26&quot;, &quot;29-Jun-26&quot;, &quot;30-Jun-26&quot;, &quot;02-Jul-26&quot;, &quot;03-Jul-26&quot;, &quot;06-Jul-26&quot;, &quot;07-Jul-26&quot;, &quot;08-Jul-26&quot;, &quot;09-Jul-26&quot;, &quot;10-Jul-26&quot;, &quot;13-Jul-26&quot;, &quot;14-Jul-26&quot;, &quot;15-Jul-26&quot;, &quot;16-Jul-26&quot;, &quot;17-Jul-26&quot;, &quot;20-Jul-26&quot;, &quot;21-Jul-26&quot;, &quot;22-Jul-26&quot;, &quot;23-Jul-26&quot;, &quot;24-Jul-26&quot;, &quot;27-Jul-26&quot;, &quot;28-Jul-26&quot;, &quot;29-Jul-26&quot;, &quot;30-Jul-26&quot;, &quot;03-Aug-26&quot;, &quot;04-Aug-26&quot;, &quot;05-Aug-26&quot;, &quot;06-Aug-26&quot;, &quot;07-Aug-26&quot;, &quot;10-Aug-26&quot;, &quot;11-Aug-26&quot;, &quot;12-Aug-26&quot;, &quot;13-Aug-26&quot;, &quot;17-Aug-26&quot;, &quot;18-Aug-26&quot;, &quot;20-Aug-26&quot;, &quot;21-Aug-26&quot;, &quot;24-Aug-26&quot;, &quot;25-Aug-26&quot;, &quot;27-Aug-26&quot;, &quot;28-Aug-26&quot;, &quot;31-Aug-26&quot;, &quot;01-Sep-26&quot;, &quot;02-Sep-26&quot;, &quot;03-Sep-26&quot;, &quot;04-Sep-26&quot;, &quot;07-Sep-26&quot;, &quot;08-Sep-26&quot;, &quot;09-Sep-26&quot;, &quot;10-Sep-26&quot;, &quot;11-Sep-26&quot;, &quot;14-Sep-26&quot;, &quot;15-Sep-26&quot;, &quot;16-Sep-26&quot;, &quot;17-Sep-26&quot;, &quot;18-Sep-26&quot;, &quot;21-Sep-26&quot;, &quot;22-Sep-26&quot;];
            
            const rawData = [279.77, 279.87, 279.82, 279.97, 280.07, 279.95, 279.97, 280.05, 280.21, 280.17, 280.27, 280.21, 280.22, 280.26, 280.37, 280.42, 280.26, 280.22, 280.16, 280.56, 280.47, 280.57, 280.73, 280.78, 280.56, 280.47, 280.60, 280.57, 280.46, 280.62, 280.72, 280.87, 280.77, 280.97, 281.07, 280.97, 281.07, 281.02, 280.97, 281.06, 281.22, 281.37, 281.47, 281.52, 281.71, 281.57, 281.67, 281.72, 281.61, 281.66, 281.77, 281.92, 281.97, 282.06, 281.97, 282.06, 282.17, 282.07, 282.02, 281.97, 282.12, 282.22, 282.17, 282.21, 282.47, 282.67, 282.96, 283.17, 283.41, 283.55, 283.64, 283.70, 283.87, 283.77, 283.72, 283.67, 283.72, 283.76, 283.95, 283.86, 283.97, 284.22, 284.36, 284.47, 284.56, 284.46, 284.72, 284.67, 284.96, 284.97, 284.87, 284.95, 284.97, 284.76, 284.22, 283.45, 283.21, 283.05, 282.95, 282.87, 282.72, 282.66, 282.57, 282.67, 282.56, 282.47, 282.45, 282.42, 282.22, 282.06, 282.01, 281.96, 281.95, 281.92, 281.90, 281.87, 281.86, 281.83, 281.80, 281.77, 281.75, 281.72, 281.71, 281.67, 281.65, 281.62, 281.61, 281.60, 281.56, 281.55, 281.52, 281.51, 281.50, 281.47, 281.46, 281.45, 281.46, 281.42, 281.43, 281.41, 281.37, 281.35, 281.32, 281.31, 281.27, 281.26, 281.25, 281.22, 281.21, 281.20, 281.17, 281.16, 281.15, 281.12, 281.11, 281.10, 281.07, 281.06, 281.05, 281.03, 281.02, 281.01, 280.97, 280.96, 280.92, 280.91, 280.90, 280.87, 280.86, 280.85, 280.82, 280.81, 280.78, 280.77, 280.76, 280.72, 280.71, 280.67, 280.66, 280.66, 280.65, 280.62, 280.61, 280.57, 280.56, 280.55, 280.52, 280.51, 280.47, 280.46, 280.45, 280.42, 280.41, 280.40, 280.37, 280.36, 280.32, 280.31, 280.30, 280.27, 280.26, 280.25, 280.22, 280.21, 280.20, 280.17, 280.16, 280.15, 280.12, 280.11, 280.10, 280.07, 280.06, 280.05, 280.02, 280.01, 280.00, 279.97, 279.96, 279.95, 279.92, 279.91, 279.90, 279.87, 279.86, 279.85, 279.82, 279.81, 279.80, 279.77, 279.76, 279.75, 279.72, 279.71, 279.70, 279.67, 279.66, 279.65, 279.62, 279.61, 279.60, 279.57, 279.56, 279.55, 279.52, 279.51, 279.50, 279.47, 279.46, 279.45, 279.42, 279.41, 279.40, 279.37, 279.36, 279.35, 279.32, 279.31, 279.30, 279.27, 279.26, 279.25, 279.22, 279.21, 279.20, 279.17, 279.16, 279.15, 279.12, 279.11, 279.10, 279.07, 279.06, 279.05, 279.02, 279.01, 279.00, 278.97, 278.96, 278.95, 278.92, 278.91, 278.90, 278.87, 278.86, 278.85, 278.82, 278.81, 278.80, 278.77, 278.76, 278.75, 278.72, 278.71, 278.70, 278.67, 278.66, 278.65, 278.62, 278.61, 278.60, 278.57, 278.56, 278.55, 278.52, 278.51, 278.50, 278.47, 278.46, 278.45, 278.42, 278.41, 278.40, 278.37, 278.36, 278.35, 278.32, 278.31, 278.30, 278.27, 278.26, 278.25, 278.22, 278.21, 278.20, 278.17, 278.16, 278.15, 278.12, 278.11, 278.10, 278.07, 278.06, 278.05, 278.02, 278.01, 278.00, 277.95, 277.95, 277.92, 277.91, 277.90, 277.87, 277.86, 277.85, 277.82, 277.81, 277.80, 277.77, 277.76, 277.75, 277.72, 277.71, 277.70, 277.67, 277.66, 277.65, 277.62, 277.61, 277.57, 277.56, 277.55, 277.52, 277.51, 277.50, 277.47, 277.46, 277.45, 277.42, 277.41, 277.40, 277.37, 277.36, 277.35, 277.32, 277.31, 277.30, 277.27, 277.26, 277.25, 277.22, 277.21];

            const currentExchangeRate = rawData[rawData.length - 1];
            const currentExchangeDate = rawLabels[rawLabels.length - 1];

            // DOM Elements
            const usdInput = document.getElementById(&#039;usdInput&#039;);
            const pkrInput = document.getElementById(&#039;pkrInput&#039;);
            const badgeEl = document.getElementById(&#039;latestBadgeRate&#039;);
            const dateLabelEl = document.getElementById(&#039;latestDateLabel&#039;);

            const statHighEl = document.getElementById(&#039;statHigh&#039;);
            const statLowEl = document.getElementById(&#039;statLow&#039;);
            const statAvgEl = document.getElementById(&#039;statAvg&#039;);
            const statChangeEl = document.getElementById(&#039;statChange&#039;);

            // Format helpers
            const formatCurrency = (val, maxDecimals = 2, minDecimals = 2) =&gt; {
                if (isNaN(val) || val === null) return &#039;--&#039;;
                return val.toLocaleString(&#039;en-US&#039;, {
                    minimumFractionDigits: minDecimals,
                    maximumFractionDigits: maxDecimals
                });
            };

            const parseCurrency = (valStr) =&gt; {
                if (!valStr) return NaN;
                return parseFloat(valStr.toString().replace(/,/g, &#039;&#039;));
            };

            // Set Initial Values in UI
            dateLabelEl.textContent = currentExchangeDate;
            badgeEl.textContent = formatCurrency(currentExchangeRate) + &#039; PKR&#039;;
            pkrInput.value = formatCurrency(currentExchangeRate);

            // Converter Event Listeners
            usdInput.addEventListener(&#039;input&#039;, (e) =&gt; {
                const val = parseCurrency(e.target.value);
                if (isNaN(val)) {
                    pkrInput.value = &#039;&#039;;
                } else {
                    pkrInput.value = formatCurrency(val * currentExchangeRate);
                }
            });

            pkrInput.addEventListener(&#039;input&#039;, (e) =&gt; {
                const val = parseCurrency(e.target.value);
                if (isNaN(val)) {
                    usdInput.value = &#039;&#039;;
                } else {
                    usdInput.value = formatCurrency(val / currentExchangeRate, 4, 2);
                }
            });

            usdInput.addEventListener(&#039;blur&#039;, (e) =&gt; {
                const val = parseCurrency(e.target.value);
                if (!isNaN(val)) {
                    e.target.value = formatCurrency(val, 2, 0);
                }
            });

            pkrInput.addEventListener(&#039;blur&#039;, (e) =&gt; {
                const val = parseCurrency(e.target.value);
                if (!isNaN(val)) {
                    e.target.value = formatCurrency(val, 2, 2);
                }
            });

            const ctx = document.getElementById(&#039;closingRatesChart&#039;).getContext(&#039;2d&#039;);
            
            // Create gradient fill
            const gradient = ctx.createLinearGradient(0, 0, 0, 350);
            gradient.addColorStop(0, &#039;rgba(79, 70, 229, 0.25)&#039;);
            gradient.addColorStop(1, &#039;rgba(79, 70, 229, 0.0)&#039;);

            let chartInstance = new Chart(ctx, {
                type: &#039;line&#039;,
                data: {
                    labels: rawLabels,
                    datasets: [{
                        label: &#039;USD to PKR&#039;,
                        data: rawData,
                        borderColor: &#039;#4f46e5&#039;,
                        borderWidth: 2,
                        backgroundColor: gradient,
                        fill: true,
                        tension: 0.3,
                        pointRadius: 0,
                        pointHoverRadius: 6,
                        pointHoverBackgroundColor: &#039;#4f46e5&#039;,
                        pointHoverBorderColor: &#039;#ffffff&#039;,
                        pointHoverBorderWidth: 2
                    }]
                },
                options: {
                    responsive: true,
                    maintainAspectRatio: false,
                    interaction: {
                        intersect: false,
                        mode: &#039;index&#039;
                    },
                    plugins: {
                        legend: { display: false },
                        tooltip: {
                            backgroundColor: &#039;#0f172a&#039;,
                            titleFont: { family: &#039;Plus Jakarta Sans&#039;, size: 12, weight: &#039;bold&#039; },
                            bodyFont: { family: &#039;Plus Jakarta Sans&#039;, size: 13 },
                            padding: 10,
                            cornerRadius: 8,
                            displayColors: false,
                            callbacks: {
                                label: function(context) {
                                    return &#039;Rate: &#039; + formatCurrency(context.parsed.y) + &#039; PKR&#039;;
                                }
                            }
                        }
                    },
                    scales: {
                        x: {
                            grid: { display: false },
                            ticks: {
                                font: { family: &#039;Plus Jakarta Sans&#039;, size: 11 },
                                color: &#039;#64748b&#039;,
                                maxTicksLimit: 8,
                                maxRotation: 0
                            }
                        },
                        y: {
                            grid: { color: &#039;#f1f5f9&#039; },
                            ticks: {
                                font: { family: &#039;Plus Jakarta Sans&#039;, size: 11 },
                                color: &#039;#64748b&#039;,
                                callback: function(value) {
                                    return value.toFixed(1);
                                }
                            }
                        }
                    }
                }
            });

            function updateRangeStats(labels, data) {
                if (!data || data.length === 0) return;

                const high = Math.max(...data);
                const low = Math.min(...data);
                const avg = data.reduce((a, b) =&gt; a + b, 0) / data.length;
                const startVal = data[0];
                const endVal = data[data.length - 1];
                const change = endVal - startVal;
                const changePct = (change / startVal) * 100;

                statHighEl.textContent = formatCurrency(high);
                statLowEl.textContent = formatCurrency(low);
                statAvgEl.textContent = formatCurrency(avg);

                const sign = change &gt;= 0 ? &#039;+&#039; : &#039;&#039;;
                statChangeEl.textContent = `${sign}${formatCurrency(change)} (${sign}${changePct.toFixed(2)}%)`;
                statChangeEl.style.color = change &gt; 0 ? &#039;#10b981&#039; : (change &lt; 0 ? &#039;#ef4444&#039; : &#039;#64748b&#039;);
            }

            // Timeframe filtering handler
            function setTimeframe(rangeCount) {
                let slicedLabels = rawLabels;
                let slicedData = rawData;

                if (rangeCount !== &#039;all&#039;) {
                    const count = parseInt(rangeCount, 10);
                    slicedLabels = rawLabels.slice(-count);
                    slicedData = rawData.slice(-count);
                }

                chartInstance.data.labels = slicedLabels;
                chartInstance.data.datasets[0].data = slicedData;

                // Adjust Y axis dynamic scaling
                const minVal = Math.min(...slicedData);
                const maxVal = Math.max(...slicedData);
                const padding = (maxVal - minVal) * 0.1 || 1;
                
                chartInstance.options.scales.y.min = Math.floor((minVal - padding) * 10) / 10;
                chartInstance.options.scales.y.max = Math.ceil((maxVal + padding) * 10) / 10;

                chartInstance.update();
                updateRangeStats(slicedLabels, slicedData);
            }

            // Setup timeframe button listeners
            document.querySelectorAll(&#039;#pkr-chart-embed .tf-btn&#039;).forEach(btn =&gt; {
                btn.addEventListener(&#039;click&#039;, (e) =&gt; {
                    document.querySelectorAll(&#039;#pkr-chart-embed .tf-btn&#039;).forEach(b =&gt; b.classList.remove(&#039;active&#039;));
                    e.target.classList.add(&#039;active&#039;);
                    setTimeframe(e.target.getAttribute(&#039;data-range&#039;));
                });
            });

            // Initial range load
            setTimeframe(&#039;all&#039;);
        })();
    &lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;
    &lt;script&gt;
        function reportHeight() {
            var h = document.documentElement.scrollHeight;
            window.parent.postMessage({ type: &#039;raw-html-resize&#039;, id: &#039;raw-html-6ab284215fe39&#039;, height: h }, &#039;*&#039;);
        }
        window.addEventListener(&#039;load&#039;, reportHeight);
        if (window.ResizeObserver) {
            new ResizeObserver(reportHeight).observe(document.body);
        }
    &lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;"></iframe>
<script>
if (!window._rawHtmlListenerAttached) {
    window._rawHtmlListenerAttached = true;
    window.addEventListener('message', function(event) {
        if (event.data && event.data.type === 'raw-html-resize' && event.data.id) {
            var iframe = document.getElementById(event.data.id);
            if (iframe) {
                var height = Math.min(Math.max(event.data.height, 50), 9200);
                iframe.style.height = height + 'px';
            }
        }
    });
}
</script>
<p><strong>The Pakistani rupee extended its marginal gains against the US dollar in the interbank market on Tuesday.</strong></p>
<p>The local unit closed the day at 277.21, a gain of Re0.01 against the greenback.</p>
<p><a href="https://www.brecorder.com/news/40440509">On Monday</a>, the Pakistani rupee settled at 277.22 against the dollar.</p>
    <figure class='media  w-full sm:w-full  media--center  media--embed  media--uneven media--tweet' data-original-src='https://x.com/StateBank_Pak/status/2102359372919980224'>
        <div class='media__item  media__item--twitter  '><span>
    <blockquote class="twitter-tweet" lang="en">
        <a href="https://twitter.com/StateBank_Pak/status/2102359372919980224"></a>
    </blockquote>
</span></div>
        
    </figure>
<p>Globally, <a href="https://www.brecorder.com/news/40440631/yen-squeezed-as-hawkish-turn-grips-central-banks">the Japanese yen </a>was under pressure from a firm US dollar on Tuesday as ​traders wagered on policymakers in Japan struggling to keep up with a hawkish turn ‌by global central banks, leaving the country’s interest rates at a wide gap with major peers.</p>
<p>Moves were contained thanks to a holiday in Japan and because of the risk of intervention, after the Nikkei newspaper reported Japan checked dollar/yen rates on Friday. ​Such a move is often a precursor to stepping into the market.</p>
<p>After drifting lower on ​Monday, the yen traded at 157.33 versus the dollar early on Tuesday, while broader ⁠financial markets were buoyed by falling oil prices.</p>
<p>Other currency pairs were mostly steady, with the euro at $1.1467, ​though cryptocurrencies have rallied in the past day to lift bitcoin to an eight-month high above $87,000.</p>
<p>Markets are pricing about a 30% chance that the BOJ hikes its benchmark short-term rate to 1.5% in October and a roughly 55% chance that the Fed will ​lift its funds rate ​window by 25 basis ⁠points to 4% to 4.25%.</p>
<p>The Aussie dollar hovered at $0.7120. Sterling traded around $1.3372.</p>
<p>The New Zealand dollar was pinned near multi-month lows at $0.5708 since Kiwi rates, sitting at 2.75%, are much lower than peers.</p>
<p><a href="https://www.brecorder.com/news/40440627/oil-rises-slightly-ahead-of-potential-us-iran-talks">Oil prices</a>, a key indicator of currency parity, fell to a two-week low on Tuesday as prospects for Gulf supplies improved, with Iran signaling it could reopen the <a href="https://www.brecorder.com/news/40440129/iran-says-struck-oil-tanker-in-strait-of-hormuz">Strait of Hormuz </a>within seven days and Saudi Arabia set to resume exports from its Red Sea port of Yanbu.</p>
<p>The Brent crude futures November contract was down $2.11, or 2.1%, to $98.23 a barrel at 1151 GMT.</p>
<p>The WTI October contract, which expires on Tuesday, lost $2.48, or 2.59%, to $93.30 a barrel.</p>
<p>The more actively traded November contract was down $2.36, or 2.55%, at $90.01 a barrel.</p>
<p><strong>Inter-bank market rates for dollar on Tuesday</strong></p>
<p>BID Rs 277.21</p>
<p>OFFER Rs 277.41</p>
<p><strong>Open-market movement</strong></p>
<p>In the open market, the PKR gained 4.00 paisa for buying and lost 19.00 paisa for selling against USD, closing at 278.19 and 279.26, respectively.</p>
<p>Against Euro, the PKR gained 22.00 paisa for buying and 30.00 paisa for selling, closing at 318.63 and 321.63, respectively.</p>
<p>Against UAE Dirham, the PKR lost 2.00 paisa for buying and remained unchanged for selling, closing at 75.70 and 76.27, respectively.</p>
<p>Against Saudi Riyal, the PKR lost 2.00 paisa for buying and gained 1.00 paisa for selling, closing at 74.01 and 74.51, respectively.</p>
<p><strong>Open-market rates for dollar on Tuesday</strong></p>
<p>BID Rs 278.19</p>
<p>OFFER Rs 279.26</p>
]]></content:encoded>
      <category>Markets</category>
      <guid>https://www.brecorder.com/news/40440673</guid>
      <pubDate>Tue, 22 Sep 2026 18:35:29 +0500</pubDate>
      <author>none@none.com (Recorder Report)</author>
      <media:content url="https://i.brecorder.com/large/2026/09/221528107186ef1.webp" type="image/webp" medium="image" height="768" width="1024">
        <media:thumbnail url="https://i.brecorder.com/thumbnail/2026/09/221528107186ef1.webp"/>
        <media:title/>
      </media:content>
    </item>
    <item xmlns:default="http://purl.org/rss/1.0/modules/content/">
      <title>Rupee registers gain against US dollar</title>
      <link>https://www.brecorder.com/news/40440509/intra-day-update-rupee-records-gain-against-us-dollar</link>
      <description>&lt;iframe id="raw-html-6ab132cedfed7" class="raw-html-embed" style="width: 100%; min-height: 50px; max-height: 9200px; border: none; overflow: hidden;" scrolling="no" srcdoc="&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html&amp;gt;
&amp;lt;head&amp;gt;
    &amp;lt;style&amp;gt;
        body { margin: 0; padding: 0; font-family: system-ui, -apple-system, sans-serif; overflow-wrap: anywhere; }
    &amp;lt;/style&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
    
&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html lang=&amp;quot;en&amp;quot;&amp;gt;
&amp;lt;head&amp;gt;
    &amp;lt;meta charset=&amp;quot;UTF-8&amp;quot;&amp;gt;
    &amp;lt;meta name=&amp;quot;viewport&amp;quot; content=&amp;quot;width=device-width, initial-scale=1.0&amp;quot;&amp;gt;
    &amp;lt;title&amp;gt;PKR vs USD Exchange Rate Chart&amp;lt;/title&amp;gt;
    &amp;lt;!-- Chart.js for interactive rendering --&amp;gt;
    &amp;lt;script src=&amp;quot;https://cdn.jsdelivr.net/npm/chart.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;
    
    &amp;lt;style&amp;gt;
        @import url(&amp;#039;https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght=400;500;600;700&amp;amp;display=swap&amp;#039;);

        #pkr-chart-embed {
            font-family: &amp;#039;Plus Jakarta Sans&amp;#039;, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, sans-serif;
            max-width: 1000px;
            width: 100%;
            margin: 24px auto;
            background-color: #ffffff;
            border: 1px solid #e2e8f0;
            border-radius: 20px;
            padding: 24px;
            box-shadow: 0 10px 25px -5px rgba(15, 23, 42, 0.05), 0 8px 10px -6px rgba(15, 23, 42, 0.05);
            color: #0f172a;
            box-sizing: border-box;
        }

        #pkr-chart-embed * { box-sizing: border-box; margin: 0; padding: 0; }

        #pkr-chart-embed .chart-header {
            display: flex;
            flex-direction: column;
            gap: 20px;
            margin-bottom: 20px;
            width: 100%;
        }

        #pkr-chart-embed .top-row {
            display: flex;
            flex-direction: row;
            justify-content: space-between;
            align-items: flex-start;
            gap: 20px;
        }

        #pkr-chart-embed .calculator-area {
            display: flex;
            flex-direction: column;
            gap: 8px;
            align-items: flex-start;
        }

        #pkr-chart-embed .main-title {
            font-size: 22px;
            font-weight: 700;
            color: #0f172a;
            letter-spacing: -0.025em;
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            gap: 10px;
        }

        #pkr-chart-embed .currency-badge {
            font-size: 11px;
            font-weight: 600;
            color: #4f46e5;
            background-color: rgba(79, 70, 229, 0.08);
            padding: 3px 10px;
            border-radius: 9999px;
            border: 1px solid rgba(79, 70, 229, 0.15);
            text-transform: uppercase;
        }

        #pkr-chart-embed .calculator-title {
            font-size: 10px;
            font-weight: 700;
            color: #64748b;
            text-transform: uppercase;
            letter-spacing: 0.05em;
        }

        #pkr-chart-embed .converter {
            display: flex;
            align-items: center;
            background: #f8fafc;
            border: 1px solid #e2e8f0;
            border-radius: 12px;
            padding: 4px;
            gap: 6px;
        }

        #pkr-chart-embed .converter-group {
            display: flex;
            align-items: center;
            background: #ffffff;
            border-radius: 8px;
            padding: 6px 10px;
            box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
            border: 1px solid #e2e8f0;
        }

        #pkr-chart-embed .converter-input {
            border: none;
            outline: none;
            width: 90px;
            font-family: inherit;
            font-weight: 700;
            color: #0f172a;
            font-size: 14px;
            text-align: right;
            background: transparent;
        }

        #pkr-chart-embed .converter-input.pkr-field { width: 120px; }

        #pkr-chart-embed .converter-label {
            font-size: 11px;
            font-weight: 700;
            color: #64748b;
            margin-left: 6px;
        }

        #pkr-chart-embed .equals-sign { color: #94a3b8; font-weight: 600; font-size: 16px; }

        #pkr-chart-embed .rate-badge-container {
            display: flex;
            flex-direction: column;
            align-items: flex-end;
            gap: 6px;
        }

        #pkr-chart-embed .rate-label-sub { text-align: right; }
        #pkr-chart-embed .rate-label-sub span:first-child { display: block; font-size: 9px; text-transform: uppercase; font-weight: 700; color: #64748b; }
        #pkr-chart-embed .rate-label-sub span:last-child { display: block; font-size: 12px; color: #334155; font-weight: 600; }

        #pkr-chart-embed .rate-badge {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            background: linear-gradient(135deg, #4f46e5, #3b82f6);
            color: #ffffff;
            font-weight: 700;
            font-size: 14px;
            padding: 8px 14px;
            border-radius: 12px;
            box-shadow: 0 8px 16px -3px rgba(79, 70, 229, 0.25);
        }

        #pkr-chart-embed .pulse-dot { width: 8px; height: 8px; border-radius: 50%; background-color: #ffffff; animation: pkrPulse 1.5s infinite; }

        @keyframes pkrPulse {
            0% { transform: scale(0.95); opacity: 0.6; }
            50% { transform: scale(1.15); opacity: 1; }
            100% { transform: scale(0.95); opacity: 0.6; }
        }

        /* Controls &amp;amp; Stats Toolbar */
        #pkr-chart-embed .toolbar {
            display: flex;
            justify-content: space-between;
            align-items: center;
            flex-wrap: wrap;
            gap: 12px;
            margin-bottom: 16px;
            padding-bottom: 12px;
            border-bottom: 1px solid #f1f5f9;
        }

        #pkr-chart-embed .timeframe-selector {
            display: flex;
            gap: 4px;
            background: #f1f5f9;
            padding: 3px;
            border-radius: 10px;
        }

        #pkr-chart-embed .tf-btn {
            border: none;
            background: transparent;
            font-family: inherit;
            font-size: 12px;
            font-weight: 600;
            color: #64748b;
            padding: 5px 12px;
            border-radius: 7px;
            cursor: pointer;
            transition: all 0.2s ease;
        }

        #pkr-chart-embed .tf-btn.active {
            background: #ffffff;
            color: #4f46e5;
            box-shadow: 0 1px 3px rgba(0,0,0,0.1);
        }

        #pkr-chart-embed .stats-row {
            display: flex;
            gap: 16px;
            flex-wrap: wrap;
        }

        #pkr-chart-embed .stat-item {
            font-size: 12px;
            color: #64748b;
        }

        #pkr-chart-embed .stat-item strong {
            color: #0f172a;
            font-weight: 700;
        }

        #pkr-chart-embed .chart-canvas-container { position: relative; width: 100%; height: 380px; }

        @media (max-width: 768px) {
            #pkr-chart-embed .chart-canvas-container { height: 300px; }
            #pkr-chart-embed .top-row { flex-direction: column; align-items: flex-start; }
            #pkr-chart-embed .rate-badge-container { align-items: flex-start; }
            #pkr-chart-embed .rate-label-sub { text-align: left; }
            #pkr-chart-embed .toolbar { flex-direction: column; align-items: flex-start; }
        }
    &amp;lt;/style&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
    &amp;lt;div id=&amp;quot;pkr-chart-embed&amp;quot;&amp;gt;
        &amp;lt;div class=&amp;quot;chart-header&amp;quot;&amp;gt;
            &amp;lt;h1 class=&amp;quot;main-title&amp;quot;&amp;gt;
                &amp;lt;span&amp;gt;PKR vs USD Exchange Rate&amp;lt;/span&amp;gt;
                &amp;lt;span class=&amp;quot;currency-badge&amp;quot;&amp;gt;USD / PKR&amp;lt;/span&amp;gt;
            &amp;lt;/h1&amp;gt;

            &amp;lt;div class=&amp;quot;top-row&amp;quot;&amp;gt;
                &amp;lt;div class=&amp;quot;calculator-area&amp;quot;&amp;gt;
                    &amp;lt;span class=&amp;quot;calculator-title&amp;quot;&amp;gt;Calculator&amp;lt;/span&amp;gt;
                    &amp;lt;div class=&amp;quot;converter&amp;quot;&amp;gt;
                        &amp;lt;div class=&amp;quot;converter-group&amp;quot;&amp;gt;
                            &amp;lt;input type=&amp;quot;text&amp;quot; inputmode=&amp;quot;decimal&amp;quot; id=&amp;quot;usdInput&amp;quot; class=&amp;quot;converter-input&amp;quot; value=&amp;quot;1&amp;quot;&amp;gt;
                            &amp;lt;span class=&amp;quot;converter-label&amp;quot;&amp;gt;USD&amp;lt;/span&amp;gt;
                        &amp;lt;/div&amp;gt;
                        &amp;lt;span class=&amp;quot;equals-sign&amp;quot;&amp;gt;=&amp;lt;/span&amp;gt;
                        &amp;lt;div class=&amp;quot;converter-group&amp;quot;&amp;gt;
                            &amp;lt;input type=&amp;quot;text&amp;quot; inputmode=&amp;quot;decimal&amp;quot; id=&amp;quot;pkrInput&amp;quot; class=&amp;quot;converter-input pkr-field&amp;quot; value=&amp;quot;&amp;quot;&amp;gt;
                            &amp;lt;span class=&amp;quot;converter-label&amp;quot;&amp;gt;PKR&amp;lt;/span&amp;gt;
                        &amp;lt;/div&amp;gt;
                    &amp;lt;/div&amp;gt;
                &amp;lt;/div&amp;gt;

                &amp;lt;div class=&amp;quot;rate-badge-container&amp;quot;&amp;gt;
                    &amp;lt;div class=&amp;quot;rate-label-sub&amp;quot;&amp;gt;
                        &amp;lt;span&amp;gt;Latest Closing&amp;lt;/span&amp;gt;
                        &amp;lt;span id=&amp;quot;latestDateLabel&amp;quot;&amp;gt;21-Sep-26&amp;lt;/span&amp;gt;
                    &amp;lt;/div&amp;gt;
                    &amp;lt;div class=&amp;quot;rate-badge&amp;quot;&amp;gt;
                        &amp;lt;span class=&amp;quot;pulse-dot&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;
                        &amp;lt;span id=&amp;quot;latestBadgeRate&amp;quot;&amp;gt;277.22 PKR&amp;lt;/span&amp;gt;
                    &amp;lt;/div&amp;gt;
                &amp;lt;/div&amp;gt;
            &amp;lt;/div&amp;gt;
        &amp;lt;/div&amp;gt;

        &amp;lt;div class=&amp;quot;toolbar&amp;quot;&amp;gt;
            &amp;lt;div class=&amp;quot;timeframe-selector&amp;quot;&amp;gt;
                &amp;lt;button class=&amp;quot;tf-btn&amp;quot; data-range=&amp;quot;30&amp;quot;&amp;gt;1M&amp;lt;/button&amp;gt;
                &amp;lt;button class=&amp;quot;tf-btn&amp;quot; data-range=&amp;quot;90&amp;quot;&amp;gt;3M&amp;lt;/button&amp;gt;
                &amp;lt;button class=&amp;quot;tf-btn&amp;quot; data-range=&amp;quot;180&amp;quot;&amp;gt;6M&amp;lt;/button&amp;gt;
                &amp;lt;button class=&amp;quot;tf-btn&amp;quot; data-range=&amp;quot;365&amp;quot;&amp;gt;1Y&amp;lt;/button&amp;gt;
                &amp;lt;button class=&amp;quot;tf-btn active&amp;quot; data-range=&amp;quot;all&amp;quot;&amp;gt;ALL&amp;lt;/button&amp;gt;
            &amp;lt;/div&amp;gt;

            &amp;lt;div class=&amp;quot;stats-row&amp;quot;&amp;gt;
                &amp;lt;span class=&amp;quot;stat-item&amp;quot;&amp;gt;High: &amp;lt;strong id=&amp;quot;statHigh&amp;quot;&amp;gt;--&amp;lt;/strong&amp;gt;&amp;lt;/span&amp;gt;
                &amp;lt;span class=&amp;quot;stat-item&amp;quot;&amp;gt;Low: &amp;lt;strong id=&amp;quot;statLow&amp;quot;&amp;gt;--&amp;lt;/strong&amp;gt;&amp;lt;/span&amp;gt;
                &amp;lt;span class=&amp;quot;stat-item&amp;quot;&amp;gt;Avg: &amp;lt;strong id=&amp;quot;statAvg&amp;quot;&amp;gt;--&amp;lt;/strong&amp;gt;&amp;lt;/span&amp;gt;
                &amp;lt;span class=&amp;quot;stat-item&amp;quot;&amp;gt;Change: &amp;lt;strong id=&amp;quot;statChange&amp;quot;&amp;gt;--&amp;lt;/strong&amp;gt;&amp;lt;/span&amp;gt;
            &amp;lt;/div&amp;gt;
        &amp;lt;/div&amp;gt;

        &amp;lt;div class=&amp;quot;chart-canvas-container&amp;quot;&amp;gt;
            &amp;lt;canvas id=&amp;quot;closingRatesChart&amp;quot;&amp;gt;&amp;lt;/canvas&amp;gt;
        &amp;lt;/div&amp;gt;
    &amp;lt;/div&amp;gt;

    &amp;lt;script&amp;gt;
        (function() {
            // Full historical closing rate dataset with 21-Sep-26 appended
            const rawLabels = [&amp;quot;04-Mar-25&amp;quot;, &amp;quot;05-Mar-25&amp;quot;, &amp;quot;06-Mar-25&amp;quot;, &amp;quot;07-Mar-25&amp;quot;, &amp;quot;10-Mar-25&amp;quot;, &amp;quot;11-Mar-25&amp;quot;, &amp;quot;12-Mar-25&amp;quot;, &amp;quot;13-Mar-25&amp;quot;, &amp;quot;14-Mar-25&amp;quot;, &amp;quot;17-Mar-25&amp;quot;, &amp;quot;18-Mar-25&amp;quot;, &amp;quot;19-Mar-25&amp;quot;, &amp;quot;20-Mar-25&amp;quot;, &amp;quot;21-Mar-25&amp;quot;, &amp;quot;24-Mar-25&amp;quot;, &amp;quot;25-Mar-25&amp;quot;, &amp;quot;26-Mar-25&amp;quot;, &amp;quot;27-Mar-25&amp;quot;, &amp;quot;28-Mar-25&amp;quot;, &amp;quot;03-Apr-25&amp;quot;, &amp;quot;04-Apr-25&amp;quot;, &amp;quot;07-Apr-25&amp;quot;, &amp;quot;08-Apr-25&amp;quot;, &amp;quot;09-Apr-25&amp;quot;, &amp;quot;10-Apr-25&amp;quot;, &amp;quot;11-Apr-25&amp;quot;, &amp;quot;14-Apr-25&amp;quot;, &amp;quot;15-Apr-25&amp;quot;, &amp;quot;16-Apr-25&amp;quot;, &amp;quot;17-Apr-25&amp;quot;, &amp;quot;18-Apr-25&amp;quot;, &amp;quot;21-Apr-25&amp;quot;, &amp;quot;22-Apr-25&amp;quot;, &amp;quot;23-Apr-25&amp;quot;, &amp;quot;24-Apr-25&amp;quot;, &amp;quot;25-Apr-25&amp;quot;, &amp;quot;28-Apr-25&amp;quot;, &amp;quot;29-Apr-25&amp;quot;, &amp;quot;30-Apr-25&amp;quot;, &amp;quot;02-May-25&amp;quot;, &amp;quot;05-May-25&amp;quot;, &amp;quot;06-May-25&amp;quot;, &amp;quot;07-May-25&amp;quot;, &amp;quot;08-May-25&amp;quot;, &amp;quot;09-May-25&amp;quot;, &amp;quot;12-May-25&amp;quot;, &amp;quot;13-May-25&amp;quot;, &amp;quot;14-May-25&amp;quot;, &amp;quot;15-May-25&amp;quot;, &amp;quot;16-May-25&amp;quot;, &amp;quot;19-May-25&amp;quot;, &amp;quot;20-May-25&amp;quot;, &amp;quot;21-May-25&amp;quot;, &amp;quot;22-May-25&amp;quot;, &amp;quot;23-May-25&amp;quot;, &amp;quot;26-May-25&amp;quot;, &amp;quot;27-May-25&amp;quot;, &amp;quot;29-May-25&amp;quot;, &amp;quot;30-May-25&amp;quot;, &amp;quot;02-Jun-25&amp;quot;, &amp;quot;03-Jun-25&amp;quot;, &amp;quot;04-Jun-25&amp;quot;, &amp;quot;05-Jun-25&amp;quot;, &amp;quot;10-Jun-25&amp;quot;, &amp;quot;11-Jun-25&amp;quot;, &amp;quot;12-Jun-25&amp;quot;, &amp;quot;13-Jun-25&amp;quot;, &amp;quot;16-Jun-25&amp;quot;, &amp;quot;17-Jun-25&amp;quot;, &amp;quot;18-Jun-25&amp;quot;, &amp;quot;19-Jun-25&amp;quot;, &amp;quot;20-Jun-25&amp;quot;, &amp;quot;23-Jun-25&amp;quot;, &amp;quot;24-Jun-25&amp;quot;, &amp;quot;25-Jun-25&amp;quot;, &amp;quot;26-Jun-25&amp;quot;, &amp;quot;27-Jun-25&amp;quot;, &amp;quot;30-Jun-25&amp;quot;, &amp;quot;02-Jul-25&amp;quot;, &amp;quot;03-Jul-25&amp;quot;, &amp;quot;04-Jul-25&amp;quot;, &amp;quot;07-Jul-25&amp;quot;, &amp;quot;08-Jul-25&amp;quot;, &amp;quot;09-Jul-25&amp;quot;, &amp;quot;10-Jul-25&amp;quot;, &amp;quot;11-Jul-25&amp;quot;, &amp;quot;14-Jul-25&amp;quot;, &amp;quot;15-Jul-25&amp;quot;, &amp;quot;16-Jul-25&amp;quot;, &amp;quot;17-Jul-25&amp;quot;, &amp;quot;18-Jul-25&amp;quot;, &amp;quot;21-Jul-25&amp;quot;, &amp;quot;22-Jul-25&amp;quot;, &amp;quot;23-Jul-25&amp;quot;, &amp;quot;24-Jul-25&amp;quot;, &amp;quot;25-Jul-25&amp;quot;, &amp;quot;28-Jul-25&amp;quot;, &amp;quot;29-Jul-25&amp;quot;, &amp;quot;30-Jul-25&amp;quot;, &amp;quot;31-Jul-25&amp;quot;, &amp;quot;01-Aug-25&amp;quot;, &amp;quot;04-Aug-25&amp;quot;, &amp;quot;05-Aug-25&amp;quot;, &amp;quot;06-Aug-25&amp;quot;, &amp;quot;07-Aug-25&amp;quot;, &amp;quot;08-Aug-25&amp;quot;, &amp;quot;11-Aug-25&amp;quot;, &amp;quot;12-Aug-25&amp;quot;, &amp;quot;13-Aug-25&amp;quot;, &amp;quot;15-Aug-25&amp;quot;, &amp;quot;18-Aug-25&amp;quot;, &amp;quot;19-Aug-25&amp;quot;, &amp;quot;20-Aug-25&amp;quot;, &amp;quot;21-Aug-25&amp;quot;, &amp;quot;22-Aug-25&amp;quot;, &amp;quot;25-Aug-25&amp;quot;, &amp;quot;26-Aug-25&amp;quot;, &amp;quot;27-Aug-25&amp;quot;, &amp;quot;28-Aug-25&amp;quot;, &amp;quot;29-Aug-25&amp;quot;, &amp;quot;01-Sep-25&amp;quot;, &amp;quot;02-Sep-25&amp;quot;, &amp;quot;03-Sep-25&amp;quot;, &amp;quot;04-Sep-25&amp;quot;, &amp;quot;05-Sep-25&amp;quot;, &amp;quot;08-Sep-25&amp;quot;, &amp;quot;09-Sep-25&amp;quot;, &amp;quot;10-Sep-25&amp;quot;, &amp;quot;11-Sep-25&amp;quot;, &amp;quot;12-Sep-25&amp;quot;, &amp;quot;15-Sep-25&amp;quot;, &amp;quot;16-Sep-25&amp;quot;, &amp;quot;17-Sep-25&amp;quot;, &amp;quot;18-Sep-25&amp;quot;, &amp;quot;19-Sep-25&amp;quot;, &amp;quot;21-Sep-25&amp;quot;, &amp;quot;22-Sep-25&amp;quot;, &amp;quot;23-Sep-25&amp;quot;, &amp;quot;24-Sep-25&amp;quot;, &amp;quot;25-Sep-25&amp;quot;, &amp;quot;26-Sep-25&amp;quot;, &amp;quot;29-Sep-25&amp;quot;, &amp;quot;30-Sep-25&amp;quot;, &amp;quot;01-Oct-25&amp;quot;, &amp;quot;02-Oct-25&amp;quot;, &amp;quot;03-Oct-25&amp;quot;, &amp;quot;06-Oct-25&amp;quot;, &amp;quot;07-Oct-25&amp;quot;, &amp;quot;08-Oct-25&amp;quot;, &amp;quot;09-Oct-25&amp;quot;, &amp;quot;10-Oct-25&amp;quot;, &amp;quot;13-Oct-25&amp;quot;, &amp;quot;14-Oct-25&amp;quot;, &amp;quot;15-Oct-25&amp;quot;, &amp;quot;16-Oct-25&amp;quot;, &amp;quot;17-Oct-25&amp;quot;, &amp;quot;20-Oct-25&amp;quot;, &amp;quot;21-Oct-25&amp;quot;, &amp;quot;22-Oct-25&amp;quot;, &amp;quot;23-Oct-25&amp;quot;, &amp;quot;24-Oct-25&amp;quot;, &amp;quot;27-Oct-25&amp;quot;, &amp;quot;28-Oct-25&amp;quot;, &amp;quot;29-Oct-25&amp;quot;, &amp;quot;30-Oct-25&amp;quot;, &amp;quot;31-Oct-25&amp;quot;, &amp;quot;03-Nov-25&amp;quot;, &amp;quot;04-Nov-25&amp;quot;, &amp;quot;05-Nov-25&amp;quot;, &amp;quot;06-Nov-25&amp;quot;, &amp;quot;07-Nov-25&amp;quot;, &amp;quot;10-Nov-25&amp;quot;, &amp;quot;11-Nov-25&amp;quot;, &amp;quot;12-Nov-25&amp;quot;, &amp;quot;13-Nov-25&amp;quot;, &amp;quot;14-Nov-25&amp;quot;, &amp;quot;17-Nov-25&amp;quot;, &amp;quot;18-Nov-25&amp;quot;, &amp;quot;19-Nov-25&amp;quot;, &amp;quot;20-Nov-25&amp;quot;, &amp;quot;21-Nov-25&amp;quot;, &amp;quot;24-Nov-25&amp;quot;, &amp;quot;25-Nov-25&amp;quot;, &amp;quot;26-Nov-25&amp;quot;, &amp;quot;27-Nov-25&amp;quot;, &amp;quot;28-Nov-25&amp;quot;, &amp;quot;01-Dec-25&amp;quot;, &amp;quot;02-Dec-25&amp;quot;, &amp;quot;03-Dec-25&amp;quot;, &amp;quot;04-Dec-25&amp;quot;, &amp;quot;05-Dec-25&amp;quot;, &amp;quot;08-Dec-25&amp;quot;, &amp;quot;09-Dec-25&amp;quot;, &amp;quot;10-Dec-25&amp;quot;, &amp;quot;11-Dec-25&amp;quot;, &amp;quot;12-Dec-25&amp;quot;, &amp;quot;15-Dec-25&amp;quot;, &amp;quot;16-Dec-25&amp;quot;, &amp;quot;17-Dec-25&amp;quot;, &amp;quot;18-Dec-25&amp;quot;, &amp;quot;19-Dec-25&amp;quot;, &amp;quot;22-Dec-25&amp;quot;, &amp;quot;23-Dec-25&amp;quot;, &amp;quot;24-Dec-25&amp;quot;, &amp;quot;26-Dec-25&amp;quot;, &amp;quot;29-Dec-25&amp;quot;, &amp;quot;30-Dec-25&amp;quot;, &amp;quot;31-Dec-25&amp;quot;, &amp;quot;02-Jan-26&amp;quot;, &amp;quot;05-Jan-26&amp;quot;, &amp;quot;06-Jan-26&amp;quot;, &amp;quot;07-Jan-26&amp;quot;, &amp;quot;08-Jan-26&amp;quot;, &amp;quot;09-Jan-26&amp;quot;, &amp;quot;12-Jan-26&amp;quot;, &amp;quot;13-Jan-26&amp;quot;, &amp;quot;14-Jan-26&amp;quot;, &amp;quot;15-Jan-26&amp;quot;, &amp;quot;16-Jan-26&amp;quot;, &amp;quot;19-Jan-26&amp;quot;, &amp;quot;20-Jan-26&amp;quot;, &amp;quot;21-Jan-26&amp;quot;, &amp;quot;22-Jan-26&amp;quot;, &amp;quot;23-Jan-26&amp;quot;, &amp;quot;26-Jan-26&amp;quot;, &amp;quot;27-Jan-26&amp;quot;, &amp;quot;28-Jan-26&amp;quot;, &amp;quot;29-Jan-26&amp;quot;, &amp;quot;30-Jan-26&amp;quot;, &amp;quot;02-Feb-26&amp;quot;, &amp;quot;03-Feb-26&amp;quot;, &amp;quot;04-Feb-26&amp;quot;, &amp;quot;06-Feb-26&amp;quot;, &amp;quot;09-Feb-26&amp;quot;, &amp;quot;10-Feb-26&amp;quot;, &amp;quot;11-Feb-26&amp;quot;, &amp;quot;12-Feb-26&amp;quot;, &amp;quot;13-Feb-26&amp;quot;, &amp;quot;16-Feb-26&amp;quot;, &amp;quot;17-Feb-26&amp;quot;, &amp;quot;18-Feb-26&amp;quot;, &amp;quot;20-Feb-26&amp;quot;, &amp;quot;23-Feb-26&amp;quot;, &amp;quot;24-Feb-26&amp;quot;, &amp;quot;25-Feb-26&amp;quot;, &amp;quot;26-Feb-26&amp;quot;, &amp;quot;27-Feb-26&amp;quot;, &amp;quot;02-Mar-26&amp;quot;, &amp;quot;03-Mar-26&amp;quot;, &amp;quot;04-Mar-26&amp;quot;, &amp;quot;05-Mar-26&amp;quot;, &amp;quot;06-Mar-26&amp;quot;, &amp;quot;09-Mar-26&amp;quot;, &amp;quot;10-Mar-26&amp;quot;, &amp;quot;11-Mar-26&amp;quot;, &amp;quot;12-Mar-26&amp;quot;, &amp;quot;13-Mar-26&amp;quot;, &amp;quot;16-Mar-26&amp;quot;, &amp;quot;17-Mar-26&amp;quot;, &amp;quot;18-Mar-26&amp;quot;, &amp;quot;19-Mar-26&amp;quot;, &amp;quot;24-Mar-26&amp;quot;, &amp;quot;25-Mar-26&amp;quot;, &amp;quot;26-Mar-26&amp;quot;, &amp;quot;27-Mar-26&amp;quot;, &amp;quot;30-Mar-26&amp;quot;, &amp;quot;31-Mar-26&amp;quot;, &amp;quot;01-Apr-26&amp;quot;, &amp;quot;02-Apr-26&amp;quot;, &amp;quot;03-Apr-26&amp;quot;, &amp;quot;04-Apr-26&amp;quot;, &amp;quot;06-Apr-26&amp;quot;, &amp;quot;07-Apr-26&amp;quot;, &amp;quot;08-Apr-26&amp;quot;, &amp;quot;09-Apr-26&amp;quot;, &amp;quot;10-Apr-26&amp;quot;, &amp;quot;13-Apr-26&amp;quot;, &amp;quot;14-Apr-26&amp;quot;, &amp;quot;14-Apr-26&amp;quot;, &amp;quot;15-Apr-26&amp;quot;, &amp;quot;16-Apr-26&amp;quot;, &amp;quot;17-Apr-26&amp;quot;, &amp;quot;20-Apr-26&amp;quot;, &amp;quot;21-Apr-26&amp;quot;, &amp;quot;22-Apr-26&amp;quot;, &amp;quot;23-Apr-26&amp;quot;, &amp;quot;24-Apr-26&amp;quot;, &amp;quot;27-Apr-26&amp;quot;, &amp;quot;28-Apr-26&amp;quot;, &amp;quot;29-Apr-26&amp;quot;, &amp;quot;30-Apr-26&amp;quot;, &amp;quot;04-May-26&amp;quot;, &amp;quot;05-May-26&amp;quot;, &amp;quot;06-May-26&amp;quot;, &amp;quot;07-May-26&amp;quot;, &amp;quot;08-May-26&amp;quot;, &amp;quot;11-May-26&amp;quot;, &amp;quot;12-May-26&amp;quot;, &amp;quot;13-May-26&amp;quot;, &amp;quot;14-May-26&amp;quot;, &amp;quot;15-May-26&amp;quot;, &amp;quot;18-May-26&amp;quot;, &amp;quot;19-May-26&amp;quot;, &amp;quot;20-May-26&amp;quot;, &amp;quot;21-May-26&amp;quot;, &amp;quot;22-May-26&amp;quot;, &amp;quot;25-May-26&amp;quot;, &amp;quot;29-May-26&amp;quot;, &amp;quot;01-Jun-26&amp;quot;, &amp;quot;02-Jun-26&amp;quot;, &amp;quot;03-Jun-26&amp;quot;, &amp;quot;04-Jun-26&amp;quot;, &amp;quot;05-Jun-26&amp;quot;, &amp;quot;08-Jun-26&amp;quot;, &amp;quot;09-Jun-26&amp;quot;, &amp;quot;10-Jun-26&amp;quot;, &amp;quot;11-Jun-26&amp;quot;, &amp;quot;12-Jun-26&amp;quot;, &amp;quot;15-Jun-26&amp;quot;, &amp;quot;16-Jun-26&amp;quot;, &amp;quot;17-Jun-26&amp;quot;, &amp;quot;18-Jun-26&amp;quot;, &amp;quot;19-Jun-26&amp;quot;, &amp;quot;22-Jun-26&amp;quot;, &amp;quot;23-Jun-26&amp;quot;, &amp;quot;24-Jun-26&amp;quot;, &amp;quot;29-Jun-26&amp;quot;, &amp;quot;30-Jun-26&amp;quot;, &amp;quot;02-Jul-26&amp;quot;, &amp;quot;03-Jul-26&amp;quot;, &amp;quot;06-Jul-26&amp;quot;, &amp;quot;07-Jul-26&amp;quot;, &amp;quot;08-Jul-26&amp;quot;, &amp;quot;09-Jul-26&amp;quot;, &amp;quot;10-Jul-26&amp;quot;, &amp;quot;13-Jul-26&amp;quot;, &amp;quot;14-Jul-26&amp;quot;, &amp;quot;15-Jul-26&amp;quot;, &amp;quot;16-Jul-26&amp;quot;, &amp;quot;17-Jul-26&amp;quot;, &amp;quot;20-Jul-26&amp;quot;, &amp;quot;21-Jul-26&amp;quot;, &amp;quot;22-Jul-26&amp;quot;, &amp;quot;23-Jul-26&amp;quot;, &amp;quot;24-Jul-26&amp;quot;, &amp;quot;27-Jul-26&amp;quot;, &amp;quot;28-Jul-26&amp;quot;, &amp;quot;29-Jul-26&amp;quot;, &amp;quot;30-Jul-26&amp;quot;, &amp;quot;03-Aug-26&amp;quot;, &amp;quot;04-Aug-26&amp;quot;, &amp;quot;05-Aug-26&amp;quot;, &amp;quot;06-Aug-26&amp;quot;, &amp;quot;07-Aug-26&amp;quot;, &amp;quot;10-Aug-26&amp;quot;, &amp;quot;11-Aug-26&amp;quot;, &amp;quot;12-Aug-26&amp;quot;, &amp;quot;13-Aug-26&amp;quot;, &amp;quot;17-Aug-26&amp;quot;, &amp;quot;18-Aug-26&amp;quot;, &amp;quot;20-Aug-26&amp;quot;, &amp;quot;21-Aug-26&amp;quot;, &amp;quot;24-Aug-26&amp;quot;, &amp;quot;25-Aug-26&amp;quot;, &amp;quot;27-Aug-26&amp;quot;, &amp;quot;28-Aug-26&amp;quot;, &amp;quot;31-Aug-26&amp;quot;, &amp;quot;01-Sep-26&amp;quot;, &amp;quot;02-Sep-26&amp;quot;, &amp;quot;03-Sep-26&amp;quot;, &amp;quot;04-Sep-26&amp;quot;, &amp;quot;07-Sep-26&amp;quot;, &amp;quot;08-Sep-26&amp;quot;, &amp;quot;09-Sep-26&amp;quot;, &amp;quot;10-Sep-26&amp;quot;, &amp;quot;11-Sep-26&amp;quot;, &amp;quot;14-Sep-26&amp;quot;, &amp;quot;15-Sep-26&amp;quot;, &amp;quot;16-Sep-26&amp;quot;, &amp;quot;17-Sep-26&amp;quot;, &amp;quot;18-Sep-26&amp;quot;, &amp;quot;21-Sep-26&amp;quot;];
            
            const rawData = [279.77, 279.87, 279.82, 279.97, 280.07, 279.95, 279.97, 280.05, 280.21, 280.17, 280.27, 280.21, 280.22, 280.26, 280.37, 280.42, 280.26, 280.22, 280.16, 280.56, 280.47, 280.57, 280.73, 280.78, 280.56, 280.47, 280.60, 280.57, 280.46, 280.62, 280.72, 280.87, 280.77, 280.97, 281.07, 280.97, 281.07, 281.02, 280.97, 281.06, 281.22, 281.37, 281.47, 281.52, 281.71, 281.57, 281.67, 281.72, 281.61, 281.66, 281.77, 281.92, 281.97, 282.06, 281.97, 282.06, 282.17, 282.07, 282.02, 281.97, 282.12, 282.22, 282.17, 282.21, 282.47, 282.67, 282.96, 283.17, 283.41, 283.55, 283.64, 283.70, 283.87, 283.77, 283.72, 283.67, 283.72, 283.76, 283.95, 283.86, 283.97, 284.22, 284.36, 284.47, 284.56, 284.46, 284.72, 284.67, 284.96, 284.97, 284.87, 284.95, 284.97, 284.76, 284.22, 283.45, 283.21, 283.05, 282.95, 282.87, 282.72, 282.66, 282.57, 282.67, 282.56, 282.47, 282.45, 282.42, 282.22, 282.06, 282.01, 281.96, 281.95, 281.92, 281.90, 281.87, 281.86, 281.83, 281.80, 281.77, 281.75, 281.72, 281.71, 281.67, 281.65, 281.62, 281.61, 281.60, 281.56, 281.55, 281.52, 281.51, 281.50, 281.47, 281.46, 281.45, 281.46, 281.42, 281.43, 281.41, 281.37, 281.35, 281.32, 281.31, 281.27, 281.26, 281.25, 281.22, 281.21, 281.20, 281.17, 281.16, 281.15, 281.12, 281.11, 281.10, 281.07, 281.06, 281.05, 281.03, 281.02, 281.01, 280.97, 280.96, 280.92, 280.91, 280.90, 280.87, 280.86, 280.85, 280.82, 280.81, 280.78, 280.77, 280.76, 280.72, 280.71, 280.67, 280.66, 280.66, 280.65, 280.62, 280.61, 280.57, 280.56, 280.55, 280.52, 280.51, 280.47, 280.46, 280.45, 280.42, 280.41, 280.40, 280.37, 280.36, 280.32, 280.31, 280.30, 280.27, 280.26, 280.25, 280.22, 280.21, 280.20, 280.17, 280.16, 280.15, 280.12, 280.11, 280.10, 280.07, 280.06, 280.05, 280.02, 280.01, 280.00, 279.97, 279.96, 279.95, 279.92, 279.91, 279.90, 279.87, 279.86, 279.85, 279.82, 279.81, 279.80, 279.77, 279.76, 279.75, 279.72, 279.71, 279.70, 279.67, 279.66, 279.65, 279.62, 279.61, 279.60, 279.57, 279.56, 279.55, 279.52, 279.51, 279.50, 279.47, 279.46, 279.45, 279.42, 279.41, 279.40, 279.37, 279.36, 279.35, 279.32, 279.31, 279.30, 279.27, 279.26, 279.25, 279.22, 279.21, 279.20, 279.17, 279.16, 279.15, 279.12, 279.11, 279.10, 279.07, 279.06, 279.05, 279.02, 279.01, 279.00, 278.97, 278.96, 278.95, 278.92, 278.91, 278.90, 278.87, 278.86, 278.85, 278.82, 278.81, 278.80, 278.77, 278.76, 278.75, 278.72, 278.71, 278.70, 278.67, 278.66, 278.65, 278.62, 278.61, 278.60, 278.57, 278.56, 278.55, 278.52, 278.51, 278.50, 278.47, 278.46, 278.45, 278.42, 278.41, 278.40, 278.37, 278.36, 278.35, 278.32, 278.31, 278.30, 278.27, 278.26, 278.25, 278.22, 278.21, 278.20, 278.17, 278.16, 278.15, 278.12, 278.11, 278.10, 278.07, 278.06, 278.05, 278.02, 278.01, 278.00, 277.95, 277.95, 277.92, 277.91, 277.90, 277.87, 277.86, 277.85, 277.82, 277.81, 277.80, 277.77, 277.76, 277.75, 277.72, 277.71, 277.70, 277.67, 277.66, 277.65, 277.62, 277.61, 277.57, 277.56, 277.55, 277.52, 277.51, 277.50, 277.47, 277.46, 277.45, 277.42, 277.41, 277.40, 277.37, 277.36, 277.35, 277.32, 277.31, 277.30, 277.27, 277.26, 277.25, 277.22];

            const currentExchangeRate = rawData[rawData.length - 1];
            const currentExchangeDate = rawLabels[rawLabels.length - 1];

            // DOM Elements
            const usdInput = document.getElementById(&amp;#039;usdInput&amp;#039;);
            const pkrInput = document.getElementById(&amp;#039;pkrInput&amp;#039;);
            const badgeEl = document.getElementById(&amp;#039;latestBadgeRate&amp;#039;);
            const dateLabelEl = document.getElementById(&amp;#039;latestDateLabel&amp;#039;);

            const statHighEl = document.getElementById(&amp;#039;statHigh&amp;#039;);
            const statLowEl = document.getElementById(&amp;#039;statLow&amp;#039;);
            const statAvgEl = document.getElementById(&amp;#039;statAvg&amp;#039;);
            const statChangeEl = document.getElementById(&amp;#039;statChange&amp;#039;);

            // Format helpers
            const formatCurrency = (val, maxDecimals = 2, minDecimals = 2) =&amp;gt; {
                if (isNaN(val) || val === null) return &amp;#039;--&amp;#039;;
                return val.toLocaleString(&amp;#039;en-US&amp;#039;, {
                    minimumFractionDigits: minDecimals,
                    maximumFractionDigits: maxDecimals
                });
            };

            const parseCurrency = (valStr) =&amp;gt; {
                if (!valStr) return NaN;
                return parseFloat(valStr.toString().replace(/,/g, &amp;#039;&amp;#039;));
            };

            // Set Initial Values in UI
            dateLabelEl.textContent = currentExchangeDate;
            badgeEl.textContent = formatCurrency(currentExchangeRate) + &amp;#039; PKR&amp;#039;;
            pkrInput.value = formatCurrency(currentExchangeRate);

            // Converter Event Listeners
            usdInput.addEventListener(&amp;#039;input&amp;#039;, (e) =&amp;gt; {
                const val = parseCurrency(e.target.value);
                if (isNaN(val)) {
                    pkrInput.value = &amp;#039;&amp;#039;;
                } else {
                    pkrInput.value = formatCurrency(val * currentExchangeRate);
                }
            });

            pkrInput.addEventListener(&amp;#039;input&amp;#039;, (e) =&amp;gt; {
                const val = parseCurrency(e.target.value);
                if (isNaN(val)) {
                    usdInput.value = &amp;#039;&amp;#039;;
                } else {
                    usdInput.value = formatCurrency(val / currentExchangeRate, 4, 2);
                }
            });

            usdInput.addEventListener(&amp;#039;blur&amp;#039;, (e) =&amp;gt; {
                const val = parseCurrency(e.target.value);
                if (!isNaN(val)) {
                    e.target.value = formatCurrency(val, 2, 0);
                }
            });

            pkrInput.addEventListener(&amp;#039;blur&amp;#039;, (e) =&amp;gt; {
                const val = parseCurrency(e.target.value);
                if (!isNaN(val)) {
                    e.target.value = formatCurrency(val, 2, 2);
                }
            });

            const ctx = document.getElementById(&amp;#039;closingRatesChart&amp;#039;).getContext(&amp;#039;2d&amp;#039;);
            
            // Create gradient fill
            const gradient = ctx.createLinearGradient(0, 0, 0, 350);
            gradient.addColorStop(0, &amp;#039;rgba(79, 70, 229, 0.25)&amp;#039;);
            gradient.addColorStop(1, &amp;#039;rgba(79, 70, 229, 0.0)&amp;#039;);

            let chartInstance = new Chart(ctx, {
                type: &amp;#039;line&amp;#039;,
                data: {
                    labels: rawLabels,
                    datasets: [{
                        label: &amp;#039;USD to PKR&amp;#039;,
                        data: rawData,
                        borderColor: &amp;#039;#4f46e5&amp;#039;,
                        borderWidth: 2,
                        backgroundColor: gradient,
                        fill: true,
                        tension: 0.3,
                        pointRadius: 0,
                        pointHoverRadius: 6,
                        pointHoverBackgroundColor: &amp;#039;#4f46e5&amp;#039;,
                        pointHoverBorderColor: &amp;#039;#ffffff&amp;#039;,
                        pointHoverBorderWidth: 2
                    }]
                },
                options: {
                    responsive: true,
                    maintainAspectRatio: false,
                    interaction: {
                        intersect: false,
                        mode: &amp;#039;index&amp;#039;
                    },
                    plugins: {
                        legend: { display: false },
                        tooltip: {
                            backgroundColor: &amp;#039;#0f172a&amp;#039;,
                            titleFont: { family: &amp;#039;Plus Jakarta Sans&amp;#039;, size: 12, weight: &amp;#039;bold&amp;#039; },
                            bodyFont: { family: &amp;#039;Plus Jakarta Sans&amp;#039;, size: 13 },
                            padding: 10,
                            cornerRadius: 8,
                            displayColors: false,
                            callbacks: {
                                label: function(context) {
                                    return &amp;#039;Rate: &amp;#039; + formatCurrency(context.parsed.y) + &amp;#039; PKR&amp;#039;;
                                }
                            }
                        }
                    },
                    scales: {
                        x: {
                            grid: { display: false },
                            ticks: {
                                font: { family: &amp;#039;Plus Jakarta Sans&amp;#039;, size: 11 },
                                color: &amp;#039;#64748b&amp;#039;,
                                maxTicksLimit: 8,
                                maxRotation: 0
                            }
                        },
                        y: {
                            grid: { color: &amp;#039;#f1f5f9&amp;#039; },
                            ticks: {
                                font: { family: &amp;#039;Plus Jakarta Sans&amp;#039;, size: 11 },
                                color: &amp;#039;#64748b&amp;#039;,
                                callback: function(value) {
                                    return value.toFixed(1);
                                }
                            }
                        }
                    }
                }
            });

            function updateRangeStats(labels, data) {
                if (!data || data.length === 0) return;

                const high = Math.max(...data);
                const low = Math.min(...data);
                const avg = data.reduce((a, b) =&amp;gt; a + b, 0) / data.length;
                const startVal = data[0];
                const endVal = data[data.length - 1];
                const change = endVal - startVal;
                const changePct = (change / startVal) * 100;

                statHighEl.textContent = formatCurrency(high);
                statLowEl.textContent = formatCurrency(low);
                statAvgEl.textContent = formatCurrency(avg);

                const sign = change &amp;gt;= 0 ? &amp;#039;+&amp;#039; : &amp;#039;&amp;#039;;
                statChangeEl.textContent = `${sign}${formatCurrency(change)} (${sign}${changePct.toFixed(2)}%)`;
                statChangeEl.style.color = change &amp;gt; 0 ? &amp;#039;#10b981&amp;#039; : (change &amp;lt; 0 ? &amp;#039;#ef4444&amp;#039; : &amp;#039;#64748b&amp;#039;);
            }

            // Timeframe filtering handler
            function setTimeframe(rangeCount) {
                let slicedLabels = rawLabels;
                let slicedData = rawData;

                if (rangeCount !== &amp;#039;all&amp;#039;) {
                    const count = parseInt(rangeCount, 10);
                    slicedLabels = rawLabels.slice(-count);
                    slicedData = rawData.slice(-count);
                }

                chartInstance.data.labels = slicedLabels;
                chartInstance.data.datasets[0].data = slicedData;

                // Adjust Y axis dynamic scaling
                const minVal = Math.min(...slicedData);
                const maxVal = Math.max(...slicedData);
                const padding = (maxVal - minVal) * 0.1 || 1;
                
                chartInstance.options.scales.y.min = Math.floor((minVal - padding) * 10) / 10;
                chartInstance.options.scales.y.max = Math.ceil((maxVal + padding) * 10) / 10;

                chartInstance.update();
                updateRangeStats(slicedLabels, slicedData);
            }

            // Setup timeframe button listeners
            document.querySelectorAll(&amp;#039;#pkr-chart-embed .tf-btn&amp;#039;).forEach(btn =&amp;gt; {
                btn.addEventListener(&amp;#039;click&amp;#039;, (e) =&amp;gt; {
                    document.querySelectorAll(&amp;#039;#pkr-chart-embed .tf-btn&amp;#039;).forEach(b =&amp;gt; b.classList.remove(&amp;#039;active&amp;#039;));
                    e.target.classList.add(&amp;#039;active&amp;#039;);
                    setTimeframe(e.target.getAttribute(&amp;#039;data-range&amp;#039;));
                });
            });

            // Initial range load
            setTimeframe(&amp;#039;all&amp;#039;);
        })();
    &amp;lt;/script&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;
    &amp;lt;script&amp;gt;
        function reportHeight() {
            var h = document.documentElement.scrollHeight;
            window.parent.postMessage({ type: &amp;#039;raw-html-resize&amp;#039;, id: &amp;#039;raw-html-6ab132cedfed7&amp;#039;, height: h }, &amp;#039;*&amp;#039;);
        }
        window.addEventListener(&amp;#039;load&amp;#039;, reportHeight);
        if (window.ResizeObserver) {
            new ResizeObserver(reportHeight).observe(document.body);
        }
    &amp;lt;/script&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;"&gt;&lt;/iframe&gt;
&lt;script&gt;
if (!window._rawHtmlListenerAttached) {
    window._rawHtmlListenerAttached = true;
    window.addEventListener('message', function(event) {
        if (event.data &amp;&amp; event.data.type === 'raw-html-resize' &amp;&amp; event.data.id) {
            var iframe = document.getElementById(event.data.id);
            if (iframe) {
                var height = Math.min(Math.max(event.data.height, 50), 9200);
                iframe.style.height = height + 'px';
            }
        }
    });
}
&lt;/script&gt;
&lt;p&gt;&lt;strong&gt;The Pakistani rupee extended its marginal gains against the US dollar, appreciating 0.01% in the interbank market on Monday.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The local unit closed the day at 277.22, a gain of Re0.03 against the greenback.&lt;/p&gt;
    &lt;figure class='media  w-full sm:w-full  media--center  media--embed  media--uneven media--tweet' data-original-src='https://x.com/StateBank_Pak/status/2101994056255782963'&gt;
        &lt;div class='media__item  media__item--twitter  '&gt;&lt;span&gt;
    &lt;blockquote class="twitter-tweet" lang="en"&gt;
        &lt;a href="https://twitter.com/StateBank_Pak/status/2101994056255782963"&gt;&lt;/a&gt;
    &lt;/blockquote&gt;
&lt;/span&gt;&lt;/div&gt;
        
    &lt;/figure&gt;
&lt;p&gt;&lt;a href="https://www.brecorder.com/news/40440136"&gt;During the previous week&lt;/a&gt;, the Pakistani rupee appreciated 0.03% to settle at 277.25 against the US dollar in the inter-bank market.&lt;/p&gt;
&lt;p&gt;Globally, &lt;a href="https://www.brecorder.com/news/40440458/volatile-yen-draws-intervention-watch-other-currencies-subdued"&gt;currency markets &lt;/a&gt;focused on the yen on Monday following a sharp drop last week that spurred speculation ​of a rate check from Tokyo, while investors pondered interest-rate outlooks after a wave of hikes from major central banks last ‌week.&lt;/p&gt;
&lt;p&gt;The yen was a touch firmer at 156.64 per US dollar after dropping 2% last week. Japan markets were closed for a three-day holiday, leading to low liquidity while keeping traders on alert for an official intervention to prop up the volatile currency.&lt;/p&gt;
&lt;p&gt;The euro was little changed at $1.1482 after voting projections showed the far-right Alternative for Germany (AfD) took first place in state elections in northeastern Germany, in a blow to Chancellor Friedrich Merz’s conservative party.&lt;/p&gt;
&lt;p&gt;The dollar index, which tracks the US currency against six major peers, was steady at 100.23 after gaining more than 1% last week following the Fed’s ​rate hike, as the central bank signalled more increases could be coming.&lt;/p&gt;
&lt;p&gt;Traders are currently pricing in a ​55% chance of a ⁠rate hike at the Fed’s next meeting in October, up from 42.5% a week earlier, the CME FedWatch tool showed.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.brecorder.com/news/40440457/oil-prices-slide-on-hopes-of-diplomacy-in-iran-war"&gt;Oil prices&lt;/a&gt;, a key indicator of currency parity, slid towards the psychological threshold of $100 a barrel and to their lowest in 11 days on Monday as investors hoped for diplomatic progress on the Iran war due to this week’s UN meeting, and eyed a partial recovery in shipments from Saudi Arabia.&lt;/p&gt;
&lt;p&gt;Brent crude futures and US West Texas Intermediate crude touched their lowest since September 10 earlier on Monday.&lt;/p&gt;
&lt;p&gt;The Brent contract for November was at $101.18 a barrel at 1254 GMT, down $2.69, or 2.6%.&lt;/p&gt;
&lt;p&gt;The WTI October contract that is expiring on Tuesday also fell $2.69, or 2.7%, to $97.61 a barrel. The November contract stood at $93.49.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Inter-bank market rates for dollar on Monday&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;BID Rs 277.22&lt;/p&gt;
&lt;p&gt;OFFER Rs 277.42&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Open-market movement&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;In the open market, the PKR lost 4.00 paisa for buying and gained 3.00 paisa for selling against USD, closing at 278.23 and 279.07, respectively.&lt;/p&gt;
&lt;p&gt;Against Euro, the PKR gained 2.00 paisa for buying and lost 21.00 paisa for selling, closing at 318.85 and 321.93, respectively.&lt;/p&gt;
&lt;p&gt;Against UAE Dirham, the PKR lost 3.00 paisa for buying and 2.00 paisa for selling, closing at 75.68 and 76.27, respectively.&lt;/p&gt;
&lt;p&gt;Against Saudi Riyal, the PKR lost 4.00 paisa for buying and 5.00 paisa for selling, closing at 73.99 and 74.52, respectively.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Open-market rates for dollar on Monday&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;BID Rs 278.23&lt;/p&gt;
&lt;p&gt;OFFER Rs 279.07&lt;/p&gt;
</description>
      <content:encoded xmlns="http://purl.org/rss/1.0/modules/content/"><![CDATA[<iframe id="raw-html-6ab132cedfed7" class="raw-html-embed" style="width: 100%; min-height: 50px; max-height: 9200px; border: none; overflow: hidden;" scrolling="no" srcdoc="&lt;!DOCTYPE html&gt;
&lt;html&gt;
&lt;head&gt;
    &lt;style&gt;
        body { margin: 0; padding: 0; font-family: system-ui, -apple-system, sans-serif; overflow-wrap: anywhere; }
    &lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
    
&lt;!DOCTYPE html&gt;
&lt;html lang=&quot;en&quot;&gt;
&lt;head&gt;
    &lt;meta charset=&quot;UTF-8&quot;&gt;
    &lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1.0&quot;&gt;
    &lt;title&gt;PKR vs USD Exchange Rate Chart&lt;/title&gt;
    &lt;!-- Chart.js for interactive rendering --&gt;
    &lt;script src=&quot;https://cdn.jsdelivr.net/npm/chart.js&quot;&gt;&lt;/script&gt;
    
    &lt;style&gt;
        @import url(&#039;https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght=400;500;600;700&amp;display=swap&#039;);

        #pkr-chart-embed {
            font-family: &#039;Plus Jakarta Sans&#039;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, Roboto, sans-serif;
            max-width: 1000px;
            width: 100%;
            margin: 24px auto;
            background-color: #ffffff;
            border: 1px solid #e2e8f0;
            border-radius: 20px;
            padding: 24px;
            box-shadow: 0 10px 25px -5px rgba(15, 23, 42, 0.05), 0 8px 10px -6px rgba(15, 23, 42, 0.05);
            color: #0f172a;
            box-sizing: border-box;
        }

        #pkr-chart-embed * { box-sizing: border-box; margin: 0; padding: 0; }

        #pkr-chart-embed .chart-header {
            display: flex;
            flex-direction: column;
            gap: 20px;
            margin-bottom: 20px;
            width: 100%;
        }

        #pkr-chart-embed .top-row {
            display: flex;
            flex-direction: row;
            justify-content: space-between;
            align-items: flex-start;
            gap: 20px;
        }

        #pkr-chart-embed .calculator-area {
            display: flex;
            flex-direction: column;
            gap: 8px;
            align-items: flex-start;
        }

        #pkr-chart-embed .main-title {
            font-size: 22px;
            font-weight: 700;
            color: #0f172a;
            letter-spacing: -0.025em;
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            gap: 10px;
        }

        #pkr-chart-embed .currency-badge {
            font-size: 11px;
            font-weight: 600;
            color: #4f46e5;
            background-color: rgba(79, 70, 229, 0.08);
            padding: 3px 10px;
            border-radius: 9999px;
            border: 1px solid rgba(79, 70, 229, 0.15);
            text-transform: uppercase;
        }

        #pkr-chart-embed .calculator-title {
            font-size: 10px;
            font-weight: 700;
            color: #64748b;
            text-transform: uppercase;
            letter-spacing: 0.05em;
        }

        #pkr-chart-embed .converter {
            display: flex;
            align-items: center;
            background: #f8fafc;
            border: 1px solid #e2e8f0;
            border-radius: 12px;
            padding: 4px;
            gap: 6px;
        }

        #pkr-chart-embed .converter-group {
            display: flex;
            align-items: center;
            background: #ffffff;
            border-radius: 8px;
            padding: 6px 10px;
            box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
            border: 1px solid #e2e8f0;
        }

        #pkr-chart-embed .converter-input {
            border: none;
            outline: none;
            width: 90px;
            font-family: inherit;
            font-weight: 700;
            color: #0f172a;
            font-size: 14px;
            text-align: right;
            background: transparent;
        }

        #pkr-chart-embed .converter-input.pkr-field { width: 120px; }

        #pkr-chart-embed .converter-label {
            font-size: 11px;
            font-weight: 700;
            color: #64748b;
            margin-left: 6px;
        }

        #pkr-chart-embed .equals-sign { color: #94a3b8; font-weight: 600; font-size: 16px; }

        #pkr-chart-embed .rate-badge-container {
            display: flex;
            flex-direction: column;
            align-items: flex-end;
            gap: 6px;
        }

        #pkr-chart-embed .rate-label-sub { text-align: right; }
        #pkr-chart-embed .rate-label-sub span:first-child { display: block; font-size: 9px; text-transform: uppercase; font-weight: 700; color: #64748b; }
        #pkr-chart-embed .rate-label-sub span:last-child { display: block; font-size: 12px; color: #334155; font-weight: 600; }

        #pkr-chart-embed .rate-badge {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            background: linear-gradient(135deg, #4f46e5, #3b82f6);
            color: #ffffff;
            font-weight: 700;
            font-size: 14px;
            padding: 8px 14px;
            border-radius: 12px;
            box-shadow: 0 8px 16px -3px rgba(79, 70, 229, 0.25);
        }

        #pkr-chart-embed .pulse-dot { width: 8px; height: 8px; border-radius: 50%; background-color: #ffffff; animation: pkrPulse 1.5s infinite; }

        @keyframes pkrPulse {
            0% { transform: scale(0.95); opacity: 0.6; }
            50% { transform: scale(1.15); opacity: 1; }
            100% { transform: scale(0.95); opacity: 0.6; }
        }

        /* Controls &amp; Stats Toolbar */
        #pkr-chart-embed .toolbar {
            display: flex;
            justify-content: space-between;
            align-items: center;
            flex-wrap: wrap;
            gap: 12px;
            margin-bottom: 16px;
            padding-bottom: 12px;
            border-bottom: 1px solid #f1f5f9;
        }

        #pkr-chart-embed .timeframe-selector {
            display: flex;
            gap: 4px;
            background: #f1f5f9;
            padding: 3px;
            border-radius: 10px;
        }

        #pkr-chart-embed .tf-btn {
            border: none;
            background: transparent;
            font-family: inherit;
            font-size: 12px;
            font-weight: 600;
            color: #64748b;
            padding: 5px 12px;
            border-radius: 7px;
            cursor: pointer;
            transition: all 0.2s ease;
        }

        #pkr-chart-embed .tf-btn.active {
            background: #ffffff;
            color: #4f46e5;
            box-shadow: 0 1px 3px rgba(0,0,0,0.1);
        }

        #pkr-chart-embed .stats-row {
            display: flex;
            gap: 16px;
            flex-wrap: wrap;
        }

        #pkr-chart-embed .stat-item {
            font-size: 12px;
            color: #64748b;
        }

        #pkr-chart-embed .stat-item strong {
            color: #0f172a;
            font-weight: 700;
        }

        #pkr-chart-embed .chart-canvas-container { position: relative; width: 100%; height: 380px; }

        @media (max-width: 768px) {
            #pkr-chart-embed .chart-canvas-container { height: 300px; }
            #pkr-chart-embed .top-row { flex-direction: column; align-items: flex-start; }
            #pkr-chart-embed .rate-badge-container { align-items: flex-start; }
            #pkr-chart-embed .rate-label-sub { text-align: left; }
            #pkr-chart-embed .toolbar { flex-direction: column; align-items: flex-start; }
        }
    &lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
    &lt;div id=&quot;pkr-chart-embed&quot;&gt;
        &lt;div class=&quot;chart-header&quot;&gt;
            &lt;h1 class=&quot;main-title&quot;&gt;
                &lt;span&gt;PKR vs USD Exchange Rate&lt;/span&gt;
                &lt;span class=&quot;currency-badge&quot;&gt;USD / PKR&lt;/span&gt;
            &lt;/h1&gt;

            &lt;div class=&quot;top-row&quot;&gt;
                &lt;div class=&quot;calculator-area&quot;&gt;
                    &lt;span class=&quot;calculator-title&quot;&gt;Calculator&lt;/span&gt;
                    &lt;div class=&quot;converter&quot;&gt;
                        &lt;div class=&quot;converter-group&quot;&gt;
                            &lt;input type=&quot;text&quot; inputmode=&quot;decimal&quot; id=&quot;usdInput&quot; class=&quot;converter-input&quot; value=&quot;1&quot;&gt;
                            &lt;span class=&quot;converter-label&quot;&gt;USD&lt;/span&gt;
                        &lt;/div&gt;
                        &lt;span class=&quot;equals-sign&quot;&gt;=&lt;/span&gt;
                        &lt;div class=&quot;converter-group&quot;&gt;
                            &lt;input type=&quot;text&quot; inputmode=&quot;decimal&quot; id=&quot;pkrInput&quot; class=&quot;converter-input pkr-field&quot; value=&quot;&quot;&gt;
                            &lt;span class=&quot;converter-label&quot;&gt;PKR&lt;/span&gt;
                        &lt;/div&gt;
                    &lt;/div&gt;
                &lt;/div&gt;

                &lt;div class=&quot;rate-badge-container&quot;&gt;
                    &lt;div class=&quot;rate-label-sub&quot;&gt;
                        &lt;span&gt;Latest Closing&lt;/span&gt;
                        &lt;span id=&quot;latestDateLabel&quot;&gt;21-Sep-26&lt;/span&gt;
                    &lt;/div&gt;
                    &lt;div class=&quot;rate-badge&quot;&gt;
                        &lt;span class=&quot;pulse-dot&quot;&gt;&lt;/span&gt;
                        &lt;span id=&quot;latestBadgeRate&quot;&gt;277.22 PKR&lt;/span&gt;
                    &lt;/div&gt;
                &lt;/div&gt;
            &lt;/div&gt;
        &lt;/div&gt;

        &lt;div class=&quot;toolbar&quot;&gt;
            &lt;div class=&quot;timeframe-selector&quot;&gt;
                &lt;button class=&quot;tf-btn&quot; data-range=&quot;30&quot;&gt;1M&lt;/button&gt;
                &lt;button class=&quot;tf-btn&quot; data-range=&quot;90&quot;&gt;3M&lt;/button&gt;
                &lt;button class=&quot;tf-btn&quot; data-range=&quot;180&quot;&gt;6M&lt;/button&gt;
                &lt;button class=&quot;tf-btn&quot; data-range=&quot;365&quot;&gt;1Y&lt;/button&gt;
                &lt;button class=&quot;tf-btn active&quot; data-range=&quot;all&quot;&gt;ALL&lt;/button&gt;
            &lt;/div&gt;

            &lt;div class=&quot;stats-row&quot;&gt;
                &lt;span class=&quot;stat-item&quot;&gt;High: &lt;strong id=&quot;statHigh&quot;&gt;--&lt;/strong&gt;&lt;/span&gt;
                &lt;span class=&quot;stat-item&quot;&gt;Low: &lt;strong id=&quot;statLow&quot;&gt;--&lt;/strong&gt;&lt;/span&gt;
                &lt;span class=&quot;stat-item&quot;&gt;Avg: &lt;strong id=&quot;statAvg&quot;&gt;--&lt;/strong&gt;&lt;/span&gt;
                &lt;span class=&quot;stat-item&quot;&gt;Change: &lt;strong id=&quot;statChange&quot;&gt;--&lt;/strong&gt;&lt;/span&gt;
            &lt;/div&gt;
        &lt;/div&gt;

        &lt;div class=&quot;chart-canvas-container&quot;&gt;
            &lt;canvas id=&quot;closingRatesChart&quot;&gt;&lt;/canvas&gt;
        &lt;/div&gt;
    &lt;/div&gt;

    &lt;script&gt;
        (function() {
            // Full historical closing rate dataset with 21-Sep-26 appended
            const rawLabels = [&quot;04-Mar-25&quot;, &quot;05-Mar-25&quot;, &quot;06-Mar-25&quot;, &quot;07-Mar-25&quot;, &quot;10-Mar-25&quot;, &quot;11-Mar-25&quot;, &quot;12-Mar-25&quot;, &quot;13-Mar-25&quot;, &quot;14-Mar-25&quot;, &quot;17-Mar-25&quot;, &quot;18-Mar-25&quot;, &quot;19-Mar-25&quot;, &quot;20-Mar-25&quot;, &quot;21-Mar-25&quot;, &quot;24-Mar-25&quot;, &quot;25-Mar-25&quot;, &quot;26-Mar-25&quot;, &quot;27-Mar-25&quot;, &quot;28-Mar-25&quot;, &quot;03-Apr-25&quot;, &quot;04-Apr-25&quot;, &quot;07-Apr-25&quot;, &quot;08-Apr-25&quot;, &quot;09-Apr-25&quot;, &quot;10-Apr-25&quot;, &quot;11-Apr-25&quot;, &quot;14-Apr-25&quot;, &quot;15-Apr-25&quot;, &quot;16-Apr-25&quot;, &quot;17-Apr-25&quot;, &quot;18-Apr-25&quot;, &quot;21-Apr-25&quot;, &quot;22-Apr-25&quot;, &quot;23-Apr-25&quot;, &quot;24-Apr-25&quot;, &quot;25-Apr-25&quot;, &quot;28-Apr-25&quot;, &quot;29-Apr-25&quot;, &quot;30-Apr-25&quot;, &quot;02-May-25&quot;, &quot;05-May-25&quot;, &quot;06-May-25&quot;, &quot;07-May-25&quot;, &quot;08-May-25&quot;, &quot;09-May-25&quot;, &quot;12-May-25&quot;, &quot;13-May-25&quot;, &quot;14-May-25&quot;, &quot;15-May-25&quot;, &quot;16-May-25&quot;, &quot;19-May-25&quot;, &quot;20-May-25&quot;, &quot;21-May-25&quot;, &quot;22-May-25&quot;, &quot;23-May-25&quot;, &quot;26-May-25&quot;, &quot;27-May-25&quot;, &quot;29-May-25&quot;, &quot;30-May-25&quot;, &quot;02-Jun-25&quot;, &quot;03-Jun-25&quot;, &quot;04-Jun-25&quot;, &quot;05-Jun-25&quot;, &quot;10-Jun-25&quot;, &quot;11-Jun-25&quot;, &quot;12-Jun-25&quot;, &quot;13-Jun-25&quot;, &quot;16-Jun-25&quot;, &quot;17-Jun-25&quot;, &quot;18-Jun-25&quot;, &quot;19-Jun-25&quot;, &quot;20-Jun-25&quot;, &quot;23-Jun-25&quot;, &quot;24-Jun-25&quot;, &quot;25-Jun-25&quot;, &quot;26-Jun-25&quot;, &quot;27-Jun-25&quot;, &quot;30-Jun-25&quot;, &quot;02-Jul-25&quot;, &quot;03-Jul-25&quot;, &quot;04-Jul-25&quot;, &quot;07-Jul-25&quot;, &quot;08-Jul-25&quot;, &quot;09-Jul-25&quot;, &quot;10-Jul-25&quot;, &quot;11-Jul-25&quot;, &quot;14-Jul-25&quot;, &quot;15-Jul-25&quot;, &quot;16-Jul-25&quot;, &quot;17-Jul-25&quot;, &quot;18-Jul-25&quot;, &quot;21-Jul-25&quot;, &quot;22-Jul-25&quot;, &quot;23-Jul-25&quot;, &quot;24-Jul-25&quot;, &quot;25-Jul-25&quot;, &quot;28-Jul-25&quot;, &quot;29-Jul-25&quot;, &quot;30-Jul-25&quot;, &quot;31-Jul-25&quot;, &quot;01-Aug-25&quot;, &quot;04-Aug-25&quot;, &quot;05-Aug-25&quot;, &quot;06-Aug-25&quot;, &quot;07-Aug-25&quot;, &quot;08-Aug-25&quot;, &quot;11-Aug-25&quot;, &quot;12-Aug-25&quot;, &quot;13-Aug-25&quot;, &quot;15-Aug-25&quot;, &quot;18-Aug-25&quot;, &quot;19-Aug-25&quot;, &quot;20-Aug-25&quot;, &quot;21-Aug-25&quot;, &quot;22-Aug-25&quot;, &quot;25-Aug-25&quot;, &quot;26-Aug-25&quot;, &quot;27-Aug-25&quot;, &quot;28-Aug-25&quot;, &quot;29-Aug-25&quot;, &quot;01-Sep-25&quot;, &quot;02-Sep-25&quot;, &quot;03-Sep-25&quot;, &quot;04-Sep-25&quot;, &quot;05-Sep-25&quot;, &quot;08-Sep-25&quot;, &quot;09-Sep-25&quot;, &quot;10-Sep-25&quot;, &quot;11-Sep-25&quot;, &quot;12-Sep-25&quot;, &quot;15-Sep-25&quot;, &quot;16-Sep-25&quot;, &quot;17-Sep-25&quot;, &quot;18-Sep-25&quot;, &quot;19-Sep-25&quot;, &quot;21-Sep-25&quot;, &quot;22-Sep-25&quot;, &quot;23-Sep-25&quot;, &quot;24-Sep-25&quot;, &quot;25-Sep-25&quot;, &quot;26-Sep-25&quot;, &quot;29-Sep-25&quot;, &quot;30-Sep-25&quot;, &quot;01-Oct-25&quot;, &quot;02-Oct-25&quot;, &quot;03-Oct-25&quot;, &quot;06-Oct-25&quot;, &quot;07-Oct-25&quot;, &quot;08-Oct-25&quot;, &quot;09-Oct-25&quot;, &quot;10-Oct-25&quot;, &quot;13-Oct-25&quot;, &quot;14-Oct-25&quot;, &quot;15-Oct-25&quot;, &quot;16-Oct-25&quot;, &quot;17-Oct-25&quot;, &quot;20-Oct-25&quot;, &quot;21-Oct-25&quot;, &quot;22-Oct-25&quot;, &quot;23-Oct-25&quot;, &quot;24-Oct-25&quot;, &quot;27-Oct-25&quot;, &quot;28-Oct-25&quot;, &quot;29-Oct-25&quot;, &quot;30-Oct-25&quot;, &quot;31-Oct-25&quot;, &quot;03-Nov-25&quot;, &quot;04-Nov-25&quot;, &quot;05-Nov-25&quot;, &quot;06-Nov-25&quot;, &quot;07-Nov-25&quot;, &quot;10-Nov-25&quot;, &quot;11-Nov-25&quot;, &quot;12-Nov-25&quot;, &quot;13-Nov-25&quot;, &quot;14-Nov-25&quot;, &quot;17-Nov-25&quot;, &quot;18-Nov-25&quot;, &quot;19-Nov-25&quot;, &quot;20-Nov-25&quot;, &quot;21-Nov-25&quot;, &quot;24-Nov-25&quot;, &quot;25-Nov-25&quot;, &quot;26-Nov-25&quot;, &quot;27-Nov-25&quot;, &quot;28-Nov-25&quot;, &quot;01-Dec-25&quot;, &quot;02-Dec-25&quot;, &quot;03-Dec-25&quot;, &quot;04-Dec-25&quot;, &quot;05-Dec-25&quot;, &quot;08-Dec-25&quot;, &quot;09-Dec-25&quot;, &quot;10-Dec-25&quot;, &quot;11-Dec-25&quot;, &quot;12-Dec-25&quot;, &quot;15-Dec-25&quot;, &quot;16-Dec-25&quot;, &quot;17-Dec-25&quot;, &quot;18-Dec-25&quot;, &quot;19-Dec-25&quot;, &quot;22-Dec-25&quot;, &quot;23-Dec-25&quot;, &quot;24-Dec-25&quot;, &quot;26-Dec-25&quot;, &quot;29-Dec-25&quot;, &quot;30-Dec-25&quot;, &quot;31-Dec-25&quot;, &quot;02-Jan-26&quot;, &quot;05-Jan-26&quot;, &quot;06-Jan-26&quot;, &quot;07-Jan-26&quot;, &quot;08-Jan-26&quot;, &quot;09-Jan-26&quot;, &quot;12-Jan-26&quot;, &quot;13-Jan-26&quot;, &quot;14-Jan-26&quot;, &quot;15-Jan-26&quot;, &quot;16-Jan-26&quot;, &quot;19-Jan-26&quot;, &quot;20-Jan-26&quot;, &quot;21-Jan-26&quot;, &quot;22-Jan-26&quot;, &quot;23-Jan-26&quot;, &quot;26-Jan-26&quot;, &quot;27-Jan-26&quot;, &quot;28-Jan-26&quot;, &quot;29-Jan-26&quot;, &quot;30-Jan-26&quot;, &quot;02-Feb-26&quot;, &quot;03-Feb-26&quot;, &quot;04-Feb-26&quot;, &quot;06-Feb-26&quot;, &quot;09-Feb-26&quot;, &quot;10-Feb-26&quot;, &quot;11-Feb-26&quot;, &quot;12-Feb-26&quot;, &quot;13-Feb-26&quot;, &quot;16-Feb-26&quot;, &quot;17-Feb-26&quot;, &quot;18-Feb-26&quot;, &quot;20-Feb-26&quot;, &quot;23-Feb-26&quot;, &quot;24-Feb-26&quot;, &quot;25-Feb-26&quot;, &quot;26-Feb-26&quot;, &quot;27-Feb-26&quot;, &quot;02-Mar-26&quot;, &quot;03-Mar-26&quot;, &quot;04-Mar-26&quot;, &quot;05-Mar-26&quot;, &quot;06-Mar-26&quot;, &quot;09-Mar-26&quot;, &quot;10-Mar-26&quot;, &quot;11-Mar-26&quot;, &quot;12-Mar-26&quot;, &quot;13-Mar-26&quot;, &quot;16-Mar-26&quot;, &quot;17-Mar-26&quot;, &quot;18-Mar-26&quot;, &quot;19-Mar-26&quot;, &quot;24-Mar-26&quot;, &quot;25-Mar-26&quot;, &quot;26-Mar-26&quot;, &quot;27-Mar-26&quot;, &quot;30-Mar-26&quot;, &quot;31-Mar-26&quot;, &quot;01-Apr-26&quot;, &quot;02-Apr-26&quot;, &quot;03-Apr-26&quot;, &quot;04-Apr-26&quot;, &quot;06-Apr-26&quot;, &quot;07-Apr-26&quot;, &quot;08-Apr-26&quot;, &quot;09-Apr-26&quot;, &quot;10-Apr-26&quot;, &quot;13-Apr-26&quot;, &quot;14-Apr-26&quot;, &quot;14-Apr-26&quot;, &quot;15-Apr-26&quot;, &quot;16-Apr-26&quot;, &quot;17-Apr-26&quot;, &quot;20-Apr-26&quot;, &quot;21-Apr-26&quot;, &quot;22-Apr-26&quot;, &quot;23-Apr-26&quot;, &quot;24-Apr-26&quot;, &quot;27-Apr-26&quot;, &quot;28-Apr-26&quot;, &quot;29-Apr-26&quot;, &quot;30-Apr-26&quot;, &quot;04-May-26&quot;, &quot;05-May-26&quot;, &quot;06-May-26&quot;, &quot;07-May-26&quot;, &quot;08-May-26&quot;, &quot;11-May-26&quot;, &quot;12-May-26&quot;, &quot;13-May-26&quot;, &quot;14-May-26&quot;, &quot;15-May-26&quot;, &quot;18-May-26&quot;, &quot;19-May-26&quot;, &quot;20-May-26&quot;, &quot;21-May-26&quot;, &quot;22-May-26&quot;, &quot;25-May-26&quot;, &quot;29-May-26&quot;, &quot;01-Jun-26&quot;, &quot;02-Jun-26&quot;, &quot;03-Jun-26&quot;, &quot;04-Jun-26&quot;, &quot;05-Jun-26&quot;, &quot;08-Jun-26&quot;, &quot;09-Jun-26&quot;, &quot;10-Jun-26&quot;, &quot;11-Jun-26&quot;, &quot;12-Jun-26&quot;, &quot;15-Jun-26&quot;, &quot;16-Jun-26&quot;, &quot;17-Jun-26&quot;, &quot;18-Jun-26&quot;, &quot;19-Jun-26&quot;, &quot;22-Jun-26&quot;, &quot;23-Jun-26&quot;, &quot;24-Jun-26&quot;, &quot;29-Jun-26&quot;, &quot;30-Jun-26&quot;, &quot;02-Jul-26&quot;, &quot;03-Jul-26&quot;, &quot;06-Jul-26&quot;, &quot;07-Jul-26&quot;, &quot;08-Jul-26&quot;, &quot;09-Jul-26&quot;, &quot;10-Jul-26&quot;, &quot;13-Jul-26&quot;, &quot;14-Jul-26&quot;, &quot;15-Jul-26&quot;, &quot;16-Jul-26&quot;, &quot;17-Jul-26&quot;, &quot;20-Jul-26&quot;, &quot;21-Jul-26&quot;, &quot;22-Jul-26&quot;, &quot;23-Jul-26&quot;, &quot;24-Jul-26&quot;, &quot;27-Jul-26&quot;, &quot;28-Jul-26&quot;, &quot;29-Jul-26&quot;, &quot;30-Jul-26&quot;, &quot;03-Aug-26&quot;, &quot;04-Aug-26&quot;, &quot;05-Aug-26&quot;, &quot;06-Aug-26&quot;, &quot;07-Aug-26&quot;, &quot;10-Aug-26&quot;, &quot;11-Aug-26&quot;, &quot;12-Aug-26&quot;, &quot;13-Aug-26&quot;, &quot;17-Aug-26&quot;, &quot;18-Aug-26&quot;, &quot;20-Aug-26&quot;, &quot;21-Aug-26&quot;, &quot;24-Aug-26&quot;, &quot;25-Aug-26&quot;, &quot;27-Aug-26&quot;, &quot;28-Aug-26&quot;, &quot;31-Aug-26&quot;, &quot;01-Sep-26&quot;, &quot;02-Sep-26&quot;, &quot;03-Sep-26&quot;, &quot;04-Sep-26&quot;, &quot;07-Sep-26&quot;, &quot;08-Sep-26&quot;, &quot;09-Sep-26&quot;, &quot;10-Sep-26&quot;, &quot;11-Sep-26&quot;, &quot;14-Sep-26&quot;, &quot;15-Sep-26&quot;, &quot;16-Sep-26&quot;, &quot;17-Sep-26&quot;, &quot;18-Sep-26&quot;, &quot;21-Sep-26&quot;];
            
            const rawData = [279.77, 279.87, 279.82, 279.97, 280.07, 279.95, 279.97, 280.05, 280.21, 280.17, 280.27, 280.21, 280.22, 280.26, 280.37, 280.42, 280.26, 280.22, 280.16, 280.56, 280.47, 280.57, 280.73, 280.78, 280.56, 280.47, 280.60, 280.57, 280.46, 280.62, 280.72, 280.87, 280.77, 280.97, 281.07, 280.97, 281.07, 281.02, 280.97, 281.06, 281.22, 281.37, 281.47, 281.52, 281.71, 281.57, 281.67, 281.72, 281.61, 281.66, 281.77, 281.92, 281.97, 282.06, 281.97, 282.06, 282.17, 282.07, 282.02, 281.97, 282.12, 282.22, 282.17, 282.21, 282.47, 282.67, 282.96, 283.17, 283.41, 283.55, 283.64, 283.70, 283.87, 283.77, 283.72, 283.67, 283.72, 283.76, 283.95, 283.86, 283.97, 284.22, 284.36, 284.47, 284.56, 284.46, 284.72, 284.67, 284.96, 284.97, 284.87, 284.95, 284.97, 284.76, 284.22, 283.45, 283.21, 283.05, 282.95, 282.87, 282.72, 282.66, 282.57, 282.67, 282.56, 282.47, 282.45, 282.42, 282.22, 282.06, 282.01, 281.96, 281.95, 281.92, 281.90, 281.87, 281.86, 281.83, 281.80, 281.77, 281.75, 281.72, 281.71, 281.67, 281.65, 281.62, 281.61, 281.60, 281.56, 281.55, 281.52, 281.51, 281.50, 281.47, 281.46, 281.45, 281.46, 281.42, 281.43, 281.41, 281.37, 281.35, 281.32, 281.31, 281.27, 281.26, 281.25, 281.22, 281.21, 281.20, 281.17, 281.16, 281.15, 281.12, 281.11, 281.10, 281.07, 281.06, 281.05, 281.03, 281.02, 281.01, 280.97, 280.96, 280.92, 280.91, 280.90, 280.87, 280.86, 280.85, 280.82, 280.81, 280.78, 280.77, 280.76, 280.72, 280.71, 280.67, 280.66, 280.66, 280.65, 280.62, 280.61, 280.57, 280.56, 280.55, 280.52, 280.51, 280.47, 280.46, 280.45, 280.42, 280.41, 280.40, 280.37, 280.36, 280.32, 280.31, 280.30, 280.27, 280.26, 280.25, 280.22, 280.21, 280.20, 280.17, 280.16, 280.15, 280.12, 280.11, 280.10, 280.07, 280.06, 280.05, 280.02, 280.01, 280.00, 279.97, 279.96, 279.95, 279.92, 279.91, 279.90, 279.87, 279.86, 279.85, 279.82, 279.81, 279.80, 279.77, 279.76, 279.75, 279.72, 279.71, 279.70, 279.67, 279.66, 279.65, 279.62, 279.61, 279.60, 279.57, 279.56, 279.55, 279.52, 279.51, 279.50, 279.47, 279.46, 279.45, 279.42, 279.41, 279.40, 279.37, 279.36, 279.35, 279.32, 279.31, 279.30, 279.27, 279.26, 279.25, 279.22, 279.21, 279.20, 279.17, 279.16, 279.15, 279.12, 279.11, 279.10, 279.07, 279.06, 279.05, 279.02, 279.01, 279.00, 278.97, 278.96, 278.95, 278.92, 278.91, 278.90, 278.87, 278.86, 278.85, 278.82, 278.81, 278.80, 278.77, 278.76, 278.75, 278.72, 278.71, 278.70, 278.67, 278.66, 278.65, 278.62, 278.61, 278.60, 278.57, 278.56, 278.55, 278.52, 278.51, 278.50, 278.47, 278.46, 278.45, 278.42, 278.41, 278.40, 278.37, 278.36, 278.35, 278.32, 278.31, 278.30, 278.27, 278.26, 278.25, 278.22, 278.21, 278.20, 278.17, 278.16, 278.15, 278.12, 278.11, 278.10, 278.07, 278.06, 278.05, 278.02, 278.01, 278.00, 277.95, 277.95, 277.92, 277.91, 277.90, 277.87, 277.86, 277.85, 277.82, 277.81, 277.80, 277.77, 277.76, 277.75, 277.72, 277.71, 277.70, 277.67, 277.66, 277.65, 277.62, 277.61, 277.57, 277.56, 277.55, 277.52, 277.51, 277.50, 277.47, 277.46, 277.45, 277.42, 277.41, 277.40, 277.37, 277.36, 277.35, 277.32, 277.31, 277.30, 277.27, 277.26, 277.25, 277.22];

            const currentExchangeRate = rawData[rawData.length - 1];
            const currentExchangeDate = rawLabels[rawLabels.length - 1];

            // DOM Elements
            const usdInput = document.getElementById(&#039;usdInput&#039;);
            const pkrInput = document.getElementById(&#039;pkrInput&#039;);
            const badgeEl = document.getElementById(&#039;latestBadgeRate&#039;);
            const dateLabelEl = document.getElementById(&#039;latestDateLabel&#039;);

            const statHighEl = document.getElementById(&#039;statHigh&#039;);
            const statLowEl = document.getElementById(&#039;statLow&#039;);
            const statAvgEl = document.getElementById(&#039;statAvg&#039;);
            const statChangeEl = document.getElementById(&#039;statChange&#039;);

            // Format helpers
            const formatCurrency = (val, maxDecimals = 2, minDecimals = 2) =&gt; {
                if (isNaN(val) || val === null) return &#039;--&#039;;
                return val.toLocaleString(&#039;en-US&#039;, {
                    minimumFractionDigits: minDecimals,
                    maximumFractionDigits: maxDecimals
                });
            };

            const parseCurrency = (valStr) =&gt; {
                if (!valStr) return NaN;
                return parseFloat(valStr.toString().replace(/,/g, &#039;&#039;));
            };

            // Set Initial Values in UI
            dateLabelEl.textContent = currentExchangeDate;
            badgeEl.textContent = formatCurrency(currentExchangeRate) + &#039; PKR&#039;;
            pkrInput.value = formatCurrency(currentExchangeRate);

            // Converter Event Listeners
            usdInput.addEventListener(&#039;input&#039;, (e) =&gt; {
                const val = parseCurrency(e.target.value);
                if (isNaN(val)) {
                    pkrInput.value = &#039;&#039;;
                } else {
                    pkrInput.value = formatCurrency(val * currentExchangeRate);
                }
            });

            pkrInput.addEventListener(&#039;input&#039;, (e) =&gt; {
                const val = parseCurrency(e.target.value);
                if (isNaN(val)) {
                    usdInput.value = &#039;&#039;;
                } else {
                    usdInput.value = formatCurrency(val / currentExchangeRate, 4, 2);
                }
            });

            usdInput.addEventListener(&#039;blur&#039;, (e) =&gt; {
                const val = parseCurrency(e.target.value);
                if (!isNaN(val)) {
                    e.target.value = formatCurrency(val, 2, 0);
                }
            });

            pkrInput.addEventListener(&#039;blur&#039;, (e) =&gt; {
                const val = parseCurrency(e.target.value);
                if (!isNaN(val)) {
                    e.target.value = formatCurrency(val, 2, 2);
                }
            });

            const ctx = document.getElementById(&#039;closingRatesChart&#039;).getContext(&#039;2d&#039;);
            
            // Create gradient fill
            const gradient = ctx.createLinearGradient(0, 0, 0, 350);
            gradient.addColorStop(0, &#039;rgba(79, 70, 229, 0.25)&#039;);
            gradient.addColorStop(1, &#039;rgba(79, 70, 229, 0.0)&#039;);

            let chartInstance = new Chart(ctx, {
                type: &#039;line&#039;,
                data: {
                    labels: rawLabels,
                    datasets: [{
                        label: &#039;USD to PKR&#039;,
                        data: rawData,
                        borderColor: &#039;#4f46e5&#039;,
                        borderWidth: 2,
                        backgroundColor: gradient,
                        fill: true,
                        tension: 0.3,
                        pointRadius: 0,
                        pointHoverRadius: 6,
                        pointHoverBackgroundColor: &#039;#4f46e5&#039;,
                        pointHoverBorderColor: &#039;#ffffff&#039;,
                        pointHoverBorderWidth: 2
                    }]
                },
                options: {
                    responsive: true,
                    maintainAspectRatio: false,
                    interaction: {
                        intersect: false,
                        mode: &#039;index&#039;
                    },
                    plugins: {
                        legend: { display: false },
                        tooltip: {
                            backgroundColor: &#039;#0f172a&#039;,
                            titleFont: { family: &#039;Plus Jakarta Sans&#039;, size: 12, weight: &#039;bold&#039; },
                            bodyFont: { family: &#039;Plus Jakarta Sans&#039;, size: 13 },
                            padding: 10,
                            cornerRadius: 8,
                            displayColors: false,
                            callbacks: {
                                label: function(context) {
                                    return &#039;Rate: &#039; + formatCurrency(context.parsed.y) + &#039; PKR&#039;;
                                }
                            }
                        }
                    },
                    scales: {
                        x: {
                            grid: { display: false },
                            ticks: {
                                font: { family: &#039;Plus Jakarta Sans&#039;, size: 11 },
                                color: &#039;#64748b&#039;,
                                maxTicksLimit: 8,
                                maxRotation: 0
                            }
                        },
                        y: {
                            grid: { color: &#039;#f1f5f9&#039; },
                            ticks: {
                                font: { family: &#039;Plus Jakarta Sans&#039;, size: 11 },
                                color: &#039;#64748b&#039;,
                                callback: function(value) {
                                    return value.toFixed(1);
                                }
                            }
                        }
                    }
                }
            });

            function updateRangeStats(labels, data) {
                if (!data || data.length === 0) return;

                const high = Math.max(...data);
                const low = Math.min(...data);
                const avg = data.reduce((a, b) =&gt; a + b, 0) / data.length;
                const startVal = data[0];
                const endVal = data[data.length - 1];
                const change = endVal - startVal;
                const changePct = (change / startVal) * 100;

                statHighEl.textContent = formatCurrency(high);
                statLowEl.textContent = formatCurrency(low);
                statAvgEl.textContent = formatCurrency(avg);

                const sign = change &gt;= 0 ? &#039;+&#039; : &#039;&#039;;
                statChangeEl.textContent = `${sign}${formatCurrency(change)} (${sign}${changePct.toFixed(2)}%)`;
                statChangeEl.style.color = change &gt; 0 ? &#039;#10b981&#039; : (change &lt; 0 ? &#039;#ef4444&#039; : &#039;#64748b&#039;);
            }

            // Timeframe filtering handler
            function setTimeframe(rangeCount) {
                let slicedLabels = rawLabels;
                let slicedData = rawData;

                if (rangeCount !== &#039;all&#039;) {
                    const count = parseInt(rangeCount, 10);
                    slicedLabels = rawLabels.slice(-count);
                    slicedData = rawData.slice(-count);
                }

                chartInstance.data.labels = slicedLabels;
                chartInstance.data.datasets[0].data = slicedData;

                // Adjust Y axis dynamic scaling
                const minVal = Math.min(...slicedData);
                const maxVal = Math.max(...slicedData);
                const padding = (maxVal - minVal) * 0.1 || 1;
                
                chartInstance.options.scales.y.min = Math.floor((minVal - padding) * 10) / 10;
                chartInstance.options.scales.y.max = Math.ceil((maxVal + padding) * 10) / 10;

                chartInstance.update();
                updateRangeStats(slicedLabels, slicedData);
            }

            // Setup timeframe button listeners
            document.querySelectorAll(&#039;#pkr-chart-embed .tf-btn&#039;).forEach(btn =&gt; {
                btn.addEventListener(&#039;click&#039;, (e) =&gt; {
                    document.querySelectorAll(&#039;#pkr-chart-embed .tf-btn&#039;).forEach(b =&gt; b.classList.remove(&#039;active&#039;));
                    e.target.classList.add(&#039;active&#039;);
                    setTimeframe(e.target.getAttribute(&#039;data-range&#039;));
                });
            });

            // Initial range load
            setTimeframe(&#039;all&#039;);
        })();
    &lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;
    &lt;script&gt;
        function reportHeight() {
            var h = document.documentElement.scrollHeight;
            window.parent.postMessage({ type: &#039;raw-html-resize&#039;, id: &#039;raw-html-6ab132cedfed7&#039;, height: h }, &#039;*&#039;);
        }
        window.addEventListener(&#039;load&#039;, reportHeight);
        if (window.ResizeObserver) {
            new ResizeObserver(reportHeight).observe(document.body);
        }
    &lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;"></iframe>
<script>
if (!window._rawHtmlListenerAttached) {
    window._rawHtmlListenerAttached = true;
    window.addEventListener('message', function(event) {
        if (event.data && event.data.type === 'raw-html-resize' && event.data.id) {
            var iframe = document.getElementById(event.data.id);
            if (iframe) {
                var height = Math.min(Math.max(event.data.height, 50), 9200);
                iframe.style.height = height + 'px';
            }
        }
    });
}
</script>
<p><strong>The Pakistani rupee extended its marginal gains against the US dollar, appreciating 0.01% in the interbank market on Monday.</strong></p>
<p>The local unit closed the day at 277.22, a gain of Re0.03 against the greenback.</p>
    <figure class='media  w-full sm:w-full  media--center  media--embed  media--uneven media--tweet' data-original-src='https://x.com/StateBank_Pak/status/2101994056255782963'>
        <div class='media__item  media__item--twitter  '><span>
    <blockquote class="twitter-tweet" lang="en">
        <a href="https://twitter.com/StateBank_Pak/status/2101994056255782963"></a>
    </blockquote>
</span></div>
        
    </figure>
<p><a href="https://www.brecorder.com/news/40440136">During the previous week</a>, the Pakistani rupee appreciated 0.03% to settle at 277.25 against the US dollar in the inter-bank market.</p>
<p>Globally, <a href="https://www.brecorder.com/news/40440458/volatile-yen-draws-intervention-watch-other-currencies-subdued">currency markets </a>focused on the yen on Monday following a sharp drop last week that spurred speculation ​of a rate check from Tokyo, while investors pondered interest-rate outlooks after a wave of hikes from major central banks last ‌week.</p>
<p>The yen was a touch firmer at 156.64 per US dollar after dropping 2% last week. Japan markets were closed for a three-day holiday, leading to low liquidity while keeping traders on alert for an official intervention to prop up the volatile currency.</p>
<p>The euro was little changed at $1.1482 after voting projections showed the far-right Alternative for Germany (AfD) took first place in state elections in northeastern Germany, in a blow to Chancellor Friedrich Merz’s conservative party.</p>
<p>The dollar index, which tracks the US currency against six major peers, was steady at 100.23 after gaining more than 1% last week following the Fed’s ​rate hike, as the central bank signalled more increases could be coming.</p>
<p>Traders are currently pricing in a ​55% chance of a ⁠rate hike at the Fed’s next meeting in October, up from 42.5% a week earlier, the CME FedWatch tool showed.</p>
<p><a href="https://www.brecorder.com/news/40440457/oil-prices-slide-on-hopes-of-diplomacy-in-iran-war">Oil prices</a>, a key indicator of currency parity, slid towards the psychological threshold of $100 a barrel and to their lowest in 11 days on Monday as investors hoped for diplomatic progress on the Iran war due to this week’s UN meeting, and eyed a partial recovery in shipments from Saudi Arabia.</p>
<p>Brent crude futures and US West Texas Intermediate crude touched their lowest since September 10 earlier on Monday.</p>
<p>The Brent contract for November was at $101.18 a barrel at 1254 GMT, down $2.69, or 2.6%.</p>
<p>The WTI October contract that is expiring on Tuesday also fell $2.69, or 2.7%, to $97.61 a barrel. The November contract stood at $93.49.</p>
<p><strong>Inter-bank market rates for dollar on Monday</strong></p>
<p>BID Rs 277.22</p>
<p>OFFER Rs 277.42</p>
<p><strong>Open-market movement</strong></p>
<p>In the open market, the PKR lost 4.00 paisa for buying and gained 3.00 paisa for selling against USD, closing at 278.23 and 279.07, respectively.</p>
<p>Against Euro, the PKR gained 2.00 paisa for buying and lost 21.00 paisa for selling, closing at 318.85 and 321.93, respectively.</p>
<p>Against UAE Dirham, the PKR lost 3.00 paisa for buying and 2.00 paisa for selling, closing at 75.68 and 76.27, respectively.</p>
<p>Against Saudi Riyal, the PKR lost 4.00 paisa for buying and 5.00 paisa for selling, closing at 73.99 and 74.52, respectively.</p>
<p><strong>Open-market rates for dollar on Monday</strong></p>
<p>BID Rs 278.23</p>
<p>OFFER Rs 279.07</p>
]]></content:encoded>
      <category>Markets</category>
      <guid>https://www.brecorder.com/news/40440509</guid>
      <pubDate>Mon, 21 Sep 2026 18:36:14 +0500</pubDate>
      <author>none@none.com (Recorder Report)</author>
      <media:content url="https://i.brecorder.com/large/2026/09/21152243d83a4af.webp" type="image/webp" medium="image" height="320" width="480">
        <media:thumbnail url="https://i.brecorder.com/thumbnail/2026/09/21152243d83a4af.webp"/>
        <media:title>Photo: Reuters</media:title>
      </media:content>
    </item>
    <item xmlns:default="http://purl.org/rss/1.0/modules/content/">
      <title>Rupee sees further improvement against US dollar</title>
      <link>https://www.brecorder.com/news/40440136/intra-day-update-rupee-records-gain-against-us-dollar</link>
      <description>&lt;p&gt;&lt;strong&gt;The Pakistani rupee extended its marginal gains against the US dollar in the interbank market on Friday.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The local unit closed the day at 277.25, a gain of Re0.01 against the greenback.&lt;/p&gt;
    &lt;figure class='media  w-full sm:w-full  media--center  media--embed  media--uneven media--tweet' data-original-src='https://x.com/StateBank_Pak/status/2100909895310799024/photo/1'&gt;
        &lt;div class='media__item  media__item--twitter  '&gt;&lt;span&gt;
    &lt;blockquote class="twitter-tweet" lang="en"&gt;
        &lt;a href="https://twitter.com/StateBank_Pak/status/2100909895310799024/photo/1"&gt;&lt;/a&gt;
    &lt;/blockquote&gt;
&lt;/span&gt;&lt;/div&gt;
        
    &lt;/figure&gt;
&lt;p&gt;&lt;a href="https://www.brecorder.com/news/40439968/intra-day-update-rupee-records-gain-against-us-dollar"&gt;On Thursday&lt;/a&gt;, the Pakistani rupee settled at 277.26 against the dollar.&lt;/p&gt;
&lt;p&gt;Globally, &lt;a href="https://www.brecorder.com/news/40440096/yen-weak-ahead-of-boj-decision-rate-hike-expected"&gt;the Japanese yen got off ​to a weak start &lt;/a&gt;against the US dollar and the euro at the start of Asian trading ‌on Friday, with currency markets in a subdued mood ahead of an expected rate hike from the Bank of Japan later in the trading session.&lt;/p&gt;
&lt;p&gt;The yen fell 0.1% to 156.19 yen per US dollar, resuming its decline after snapping a three-day losing streak on Thursday as traders prepare ​for the Japanese central bank to lift interest rates to the highest level in more than three decades.&lt;/p&gt;
&lt;p&gt;The British pound was flat at a 2-1/2-month low of $1.3359 after the Bank ‌of ⁠England held interest rates on Thursday and unexpectedly paused sales of government bonds for six months.&lt;/p&gt;
&lt;p&gt;The euro was flat at $1.1478.&lt;/p&gt;
&lt;p&gt;The US dollar index, which measures the greenback’s strength against ​a basket of six currencies, was ​flat at 100.2100, after ⁠edging back from a 2-1/2-month high on Thursday.&lt;/p&gt;
&lt;p&gt;Traders narrowly expect a hike from the Federal Reserve next month as investors say they are becoming more confident in Chair Kevin Warsh’s ​efforts to reassert the central bank’s independence from the White House.&lt;/p&gt;
&lt;p&gt;Fed funds futures are pricing ​an implied 53% ⁠probability of a quarter-point hike at the central bank’s next two-day meeting next month, compared with a 27.2% chance a week ago, according to the CME Group’s FedWatch tool.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.brecorder.com/news/40440095/oil-prices-fall-for-third-day-on-hopes-of-limited-saudi-supply-disruptions"&gt;Oil prices&lt;/a&gt;, a key indicator of currency parity, fell on Friday as easing concerns over Saudi supply disruptions outweighed anxiety about a widening of conflict across the Middle East.&lt;/p&gt;
&lt;p&gt;Brent crude futures fell by 88 cents, or 0.84%, to $103.94 a barrel by 1225 GMT. US West Texas Intermediate futures were little changed at $102.15.&lt;/p&gt;
&lt;p&gt;Benchmark Brent prices are on track for their first weekly loss in three, down 0.8%.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Inter-bank market rates for dollar on Friday&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;BID Rs 277.25&lt;/p&gt;
&lt;p&gt;OFFER Rs 277.45&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Open-market movement&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;In the open market, the PKR lost 8.00 paisa for buying and 3.00 paisa for selling against USD, closing at 278.19 and 279.10, respectively.&lt;/p&gt;
&lt;p&gt;Against Euro, the PKR lost 35.00paisa forbuying and 11.00paisa for selling, closing at 318.87and 321.72, respectively.&lt;/p&gt;
&lt;p&gt;Against UAE Dirham, the PKR lost 2.00 paisa for buying and 3.00 paisa for selling, closing at 75.65 and 76.25, respectively.&lt;/p&gt;
&lt;p&gt;Against Saudi Riyal, the PKR lost 2.00 paisa for buying and 3.00 paisa for selling,closing at 73.95 and 74.47, respectively.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Open-market rates for dollar on Friday&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;BID Rs 278.19&lt;/p&gt;
&lt;p&gt;OFFER Rs 279.10&lt;/p&gt;
</description>
      <content:encoded xmlns="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p><strong>The Pakistani rupee extended its marginal gains against the US dollar in the interbank market on Friday.</strong></p>
<p>The local unit closed the day at 277.25, a gain of Re0.01 against the greenback.</p>
    <figure class='media  w-full sm:w-full  media--center  media--embed  media--uneven media--tweet' data-original-src='https://x.com/StateBank_Pak/status/2100909895310799024/photo/1'>
        <div class='media__item  media__item--twitter  '><span>
    <blockquote class="twitter-tweet" lang="en">
        <a href="https://twitter.com/StateBank_Pak/status/2100909895310799024/photo/1"></a>
    </blockquote>
</span></div>
        
    </figure>
<p><a href="https://www.brecorder.com/news/40439968/intra-day-update-rupee-records-gain-against-us-dollar">On Thursday</a>, the Pakistani rupee settled at 277.26 against the dollar.</p>
<p>Globally, <a href="https://www.brecorder.com/news/40440096/yen-weak-ahead-of-boj-decision-rate-hike-expected">the Japanese yen got off ​to a weak start </a>against the US dollar and the euro at the start of Asian trading ‌on Friday, with currency markets in a subdued mood ahead of an expected rate hike from the Bank of Japan later in the trading session.</p>
<p>The yen fell 0.1% to 156.19 yen per US dollar, resuming its decline after snapping a three-day losing streak on Thursday as traders prepare ​for the Japanese central bank to lift interest rates to the highest level in more than three decades.</p>
<p>The British pound was flat at a 2-1/2-month low of $1.3359 after the Bank ‌of ⁠England held interest rates on Thursday and unexpectedly paused sales of government bonds for six months.</p>
<p>The euro was flat at $1.1478.</p>
<p>The US dollar index, which measures the greenback’s strength against ​a basket of six currencies, was ​flat at 100.2100, after ⁠edging back from a 2-1/2-month high on Thursday.</p>
<p>Traders narrowly expect a hike from the Federal Reserve next month as investors say they are becoming more confident in Chair Kevin Warsh’s ​efforts to reassert the central bank’s independence from the White House.</p>
<p>Fed funds futures are pricing ​an implied 53% ⁠probability of a quarter-point hike at the central bank’s next two-day meeting next month, compared with a 27.2% chance a week ago, according to the CME Group’s FedWatch tool.</p>
<p><a href="https://www.brecorder.com/news/40440095/oil-prices-fall-for-third-day-on-hopes-of-limited-saudi-supply-disruptions">Oil prices</a>, a key indicator of currency parity, fell on Friday as easing concerns over Saudi supply disruptions outweighed anxiety about a widening of conflict across the Middle East.</p>
<p>Brent crude futures fell by 88 cents, or 0.84%, to $103.94 a barrel by 1225 GMT. US West Texas Intermediate futures were little changed at $102.15.</p>
<p>Benchmark Brent prices are on track for their first weekly loss in three, down 0.8%.</p>
<p><strong>Inter-bank market rates for dollar on Friday</strong></p>
<p>BID Rs 277.25</p>
<p>OFFER Rs 277.45</p>
<p><strong>Open-market movement</strong></p>
<p>In the open market, the PKR lost 8.00 paisa for buying and 3.00 paisa for selling against USD, closing at 278.19 and 279.10, respectively.</p>
<p>Against Euro, the PKR lost 35.00paisa forbuying and 11.00paisa for selling, closing at 318.87and 321.72, respectively.</p>
<p>Against UAE Dirham, the PKR lost 2.00 paisa for buying and 3.00 paisa for selling, closing at 75.65 and 76.25, respectively.</p>
<p>Against Saudi Riyal, the PKR lost 2.00 paisa for buying and 3.00 paisa for selling,closing at 73.95 and 74.47, respectively.</p>
<p><strong>Open-market rates for dollar on Friday</strong></p>
<p>BID Rs 278.19</p>
<p>OFFER Rs 279.10</p>
]]></content:encoded>
      <category>Markets</category>
      <guid>https://www.brecorder.com/news/40440136</guid>
      <pubDate>Fri, 18 Sep 2026 18:33:23 +0500</pubDate>
      <author>none@none.com (Recorder Report)</author>
      <media:content url="https://i.brecorder.com/large/2026/09/181552397764ec3.webp" type="image/webp" medium="image" height="768" width="1024">
        <media:thumbnail url="https://i.brecorder.com/thumbnail/2026/09/181552397764ec3.webp"/>
        <media:title/>
      </media:content>
    </item>
    <item xmlns:default="http://purl.org/rss/1.0/modules/content/">
      <title>Rupee registers gain against US dollar</title>
      <link>https://www.brecorder.com/news/40439968/intra-day-update-rupee-records-gain-against-us-dollar</link>
      <description>&lt;p&gt;&lt;strong&gt;The Pakistani rupee extended its marginal gains against the US dollar in the interbank market on Thursday.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The local unit closed the day at 277.26, a gain of Re0.01 against the greenback.&lt;/p&gt;
    &lt;figure class='media  w-full sm:w-full  media--center  media--embed  media--uneven media--tweet' data-original-src='https://x.com/StateBank_Pak/status/2100548980056932443'&gt;
        &lt;div class='media__item  media__item--twitter  '&gt;&lt;span&gt;
    &lt;blockquote class="twitter-tweet" lang="en"&gt;
        &lt;a href="https://twitter.com/StateBank_Pak/status/2100548980056932443"&gt;&lt;/a&gt;
    &lt;/blockquote&gt;
&lt;/span&gt;&lt;/div&gt;
        
    &lt;/figure&gt;
&lt;p&gt;&lt;a href="https://www.brecorder.com/news/40439776/intra-day-update-rupee-records-gain-against-us-dollar"&gt;On Wednesday&lt;/a&gt;, the Pakistani rupee settled at 277.27 against the dollar.&lt;/p&gt;
&lt;p&gt;Internationally, &lt;a href="https://www.brecorder.com/news/40439913/hawkish-fed-lifts-dollar-to-seven-week-high-as-focus-turn-to-boj"&gt;the US dollar clung to a seven-week high &lt;/a&gt;on Thursday after the ​Federal Reserve raised interest rates and flagged more hikes in coming months, while investors awaited ‌decisions from the Bank of England later and the Bank of Japan on Friday.&lt;/p&gt;
&lt;p&gt;The US dollar ripped higher alongside US Treasury yields, after new central bank chief Kevin Warsh joined a unanimous decision to hike interest rates, while officials validated a hawkish ​path and projected one more increase in 2026.&lt;/p&gt;
&lt;p&gt;The US dollar’s ​strength pushed the euro to $1.1456, near a seven-week low, while sterling was flat at $1.3377 ahead of the Bank of England’s meeting later on Thursday.&lt;/p&gt;
&lt;p&gt;At 156.20 per US dollar, the yen hovered near a two-week low as markets awaited the Bank of Japan’s ​decision on Friday.&lt;/p&gt;
&lt;p&gt;The dollar index, which measures the greenback against a basket of currencies, last traded at ​100.33, the strongest level since July 31.&lt;/p&gt;
&lt;p&gt;Rate futures markets now ‌reflect about ⁠a 90% probability of a follow-up quarter-percentage-point Fed rate hike by the end of this year, according to CME Group’s FedWatch Tool.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.brecorder.com/news/40439910/oil-prices-extend-losses-as-fears-of-middle-east-supply-disruptions-ease"&gt;Oil prices&lt;/a&gt;, a key indicator of currency parity, eased about 3% on Thursday to a one-week low, extending losses as reports of additional Saudi crude cargoes through Oman eased supply concerns, though prices stayed above $100 a barrel on fears the Middle East conflict could widen.&lt;/p&gt;
&lt;p&gt;Brent crude futures were down $3.85, or 3.64%, to $101.98 a barrel at 1000 GMT, after touching their lowest level since September 10, while US West Texas Intermediate futures were down $3, or 2.93%, at $99.43 a barrel, their lowest level since Sept. 11. Both contracts fell about $3 on Wednesday.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Inter-bank market rates for dollar on Thursday&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;BID Rs 277.26&lt;/p&gt;
&lt;p&gt;OFFER Rs 277.46&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Open-market movement&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;In the open market, the PKR gained 1.00 paisa for buying and 13.00 paisa for selling against USD, closing at 278.11 and 279.07, respectively.&lt;/p&gt;
&lt;p&gt;Against Euro, the PKR gained 1.56 rupee for buying and 1.37 rupee for selling, closing at 318.52 and 321.61, respectively.&lt;/p&gt;
&lt;p&gt;Against UAE Dirham, the PKR lost 1.00 paisa for buying and remained unchanged for selling, closing at 75.63 and 76.22, respectively.&lt;/p&gt;
&lt;p&gt;Against Saudi Riyal, the PKR lost 3.00 paisa for buying and 1.00 paisa for selling, closing at 73.93 and 74.44, respectively.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Open-market rates for dollar on Thursday&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;BID Rs 278.11&lt;/p&gt;
&lt;p&gt;OFFER Rs 279.07&lt;/p&gt;
</description>
      <content:encoded xmlns="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p><strong>The Pakistani rupee extended its marginal gains against the US dollar in the interbank market on Thursday.</strong></p>
<p>The local unit closed the day at 277.26, a gain of Re0.01 against the greenback.</p>
    <figure class='media  w-full sm:w-full  media--center  media--embed  media--uneven media--tweet' data-original-src='https://x.com/StateBank_Pak/status/2100548980056932443'>
        <div class='media__item  media__item--twitter  '><span>
    <blockquote class="twitter-tweet" lang="en">
        <a href="https://twitter.com/StateBank_Pak/status/2100548980056932443"></a>
    </blockquote>
</span></div>
        
    </figure>
<p><a href="https://www.brecorder.com/news/40439776/intra-day-update-rupee-records-gain-against-us-dollar">On Wednesday</a>, the Pakistani rupee settled at 277.27 against the dollar.</p>
<p>Internationally, <a href="https://www.brecorder.com/news/40439913/hawkish-fed-lifts-dollar-to-seven-week-high-as-focus-turn-to-boj">the US dollar clung to a seven-week high </a>on Thursday after the ​Federal Reserve raised interest rates and flagged more hikes in coming months, while investors awaited ‌decisions from the Bank of England later and the Bank of Japan on Friday.</p>
<p>The US dollar ripped higher alongside US Treasury yields, after new central bank chief Kevin Warsh joined a unanimous decision to hike interest rates, while officials validated a hawkish ​path and projected one more increase in 2026.</p>
<p>The US dollar’s ​strength pushed the euro to $1.1456, near a seven-week low, while sterling was flat at $1.3377 ahead of the Bank of England’s meeting later on Thursday.</p>
<p>At 156.20 per US dollar, the yen hovered near a two-week low as markets awaited the Bank of Japan’s ​decision on Friday.</p>
<p>The dollar index, which measures the greenback against a basket of currencies, last traded at ​100.33, the strongest level since July 31.</p>
<p>Rate futures markets now ‌reflect about ⁠a 90% probability of a follow-up quarter-percentage-point Fed rate hike by the end of this year, according to CME Group’s FedWatch Tool.</p>
<p><a href="https://www.brecorder.com/news/40439910/oil-prices-extend-losses-as-fears-of-middle-east-supply-disruptions-ease">Oil prices</a>, a key indicator of currency parity, eased about 3% on Thursday to a one-week low, extending losses as reports of additional Saudi crude cargoes through Oman eased supply concerns, though prices stayed above $100 a barrel on fears the Middle East conflict could widen.</p>
<p>Brent crude futures were down $3.85, or 3.64%, to $101.98 a barrel at 1000 GMT, after touching their lowest level since September 10, while US West Texas Intermediate futures were down $3, or 2.93%, at $99.43 a barrel, their lowest level since Sept. 11. Both contracts fell about $3 on Wednesday.</p>
<p><strong>Inter-bank market rates for dollar on Thursday</strong></p>
<p>BID Rs 277.26</p>
<p>OFFER Rs 277.46</p>
<p><strong>Open-market movement</strong></p>
<p>In the open market, the PKR gained 1.00 paisa for buying and 13.00 paisa for selling against USD, closing at 278.11 and 279.07, respectively.</p>
<p>Against Euro, the PKR gained 1.56 rupee for buying and 1.37 rupee for selling, closing at 318.52 and 321.61, respectively.</p>
<p>Against UAE Dirham, the PKR lost 1.00 paisa for buying and remained unchanged for selling, closing at 75.63 and 76.22, respectively.</p>
<p>Against Saudi Riyal, the PKR lost 3.00 paisa for buying and 1.00 paisa for selling, closing at 73.93 and 74.44, respectively.</p>
<p><strong>Open-market rates for dollar on Thursday</strong></p>
<p>BID Rs 278.11</p>
<p>OFFER Rs 279.07</p>
]]></content:encoded>
      <category>Markets</category>
      <guid>https://www.brecorder.com/news/40439968</guid>
      <pubDate>Thu, 17 Sep 2026 19:11:24 +0500</pubDate>
      <author>none@none.com (Recorder Report)</author>
      <media:content url="https://i.brecorder.com/large/2026/09/171612037bfe9e0.webp" type="image/webp" medium="image" height="299" width="480">
        <media:thumbnail url="https://i.brecorder.com/thumbnail/2026/09/171612037bfe9e0.webp"/>
        <media:title>Photo: Reuters</media:title>
      </media:content>
    </item>
    <item xmlns:default="http://purl.org/rss/1.0/modules/content/">
      <title>Rupee records gain against US dollar</title>
      <link>https://www.brecorder.com/news/40439776/intra-day-update-rupee-records-gain-against-us-dollar</link>
      <description>&lt;iframe id="raw-html-6aaaa321e1682" class="raw-html-embed" style="width: 100%; min-height: 50px; max-height: 9200px; border: none; overflow: hidden;" scrolling="no" srcdoc="&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html&amp;gt;
&amp;lt;head&amp;gt;
    &amp;lt;style&amp;gt;
        body { margin: 0; padding: 0; font-family: system-ui, -apple-system, sans-serif; overflow-wrap: anywhere; }
    &amp;lt;/style&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
    
&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html lang=&amp;quot;en&amp;quot;&amp;gt;
&amp;lt;head&amp;gt;
    &amp;lt;meta charset=&amp;quot;UTF-8&amp;quot;&amp;gt;
    &amp;lt;meta name=&amp;quot;viewport&amp;quot; content=&amp;quot;width=device-width, initial-scale=1.0&amp;quot;&amp;gt;
    &amp;lt;title&amp;gt;PKR vs USD Exchange Rate Chart&amp;lt;/title&amp;gt;
    &amp;lt;!-- Chart.js for interactive rendering --&amp;gt;
    &amp;lt;script src=&amp;quot;https://cdn.jsdelivr.net/npm/chart.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;
    
    &amp;lt;style&amp;gt;
        @import url(&amp;#039;https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght=400;500;600;700&amp;amp;display=swap&amp;#039;);

        #pkr-chart-embed {
            font-family: &amp;#039;Plus Jakarta Sans&amp;#039;, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, sans-serif;
            max-width: 1000px;
            width: 100%;
            margin: 24px auto;
            background-color: #ffffff;
            border: 1px solid #e2e8f0;
            border-radius: 20px;
            padding: 24px;
            box-shadow: 0 10px 25px -5px rgba(15, 23, 42, 0.05), 0 8px 10px -6px rgba(15, 23, 42, 0.05);
            color: #0f172a;
            box-sizing: border-box;
        }

        #pkr-chart-embed * { box-sizing: border-box; margin: 0; padding: 0; }

        #pkr-chart-embed .chart-header {
            display: flex;
            flex-direction: column;
            gap: 20px;
            margin-bottom: 20px;
            width: 100%;
        }

        #pkr-chart-embed .top-row {
            display: flex;
            flex-direction: row;
            justify-content: space-between;
            align-items: flex-start;
            gap: 20px;
        }

        #pkr-chart-embed .calculator-area {
            display: flex;
            flex-direction: column;
            gap: 8px;
            align-items: flex-start;
        }

        #pkr-chart-embed .main-title {
            font-size: 22px;
            font-weight: 700;
            color: #0f172a;
            letter-spacing: -0.025em;
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            gap: 10px;
        }

        #pkr-chart-embed .currency-badge {
            font-size: 11px;
            font-weight: 600;
            color: #4f46e5;
            background-color: rgba(79, 70, 229, 0.08);
            padding: 3px 10px;
            border-radius: 9999px;
            border: 1px solid rgba(79, 70, 229, 0.15);
            text-transform: uppercase;
        }

        #pkr-chart-embed .calculator-title {
            font-size: 10px;
            font-weight: 700;
            color: #64748b;
            text-transform: uppercase;
            letter-spacing: 0.05em;
        }

        #pkr-chart-embed .converter {
            display: flex;
            align-items: center;
            background: #f8fafc;
            border: 1px solid #e2e8f0;
            border-radius: 12px;
            padding: 4px;
            gap: 6px;
        }

        #pkr-chart-embed .converter-group {
            display: flex;
            align-items: center;
            background: #ffffff;
            border-radius: 8px;
            padding: 6px 10px;
            box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
            border: 1px solid #e2e8f0;
        }

        #pkr-chart-embed .converter-input {
            border: none;
            outline: none;
            width: 90px;
            font-family: inherit;
            font-weight: 700;
            color: #0f172a;
            font-size: 14px;
            text-align: right;
            background: transparent;
        }

        #pkr-chart-embed .converter-input.pkr-field { width: 120px; }

        #pkr-chart-embed .converter-label {
            font-size: 11px;
            font-weight: 700;
            color: #64748b;
            margin-left: 6px;
        }

        #pkr-chart-embed .equals-sign { color: #94a3b8; font-weight: 600; font-size: 16px; }

        #pkr-chart-embed .rate-badge-container {
            display: flex;
            flex-direction: column;
            align-items: flex-end;
            gap: 6px;
        }

        #pkr-chart-embed .rate-label-sub { text-align: right; }
        #pkr-chart-embed .rate-label-sub span:first-child { display: block; font-size: 9px; text-transform: uppercase; font-weight: 700; color: #64748b; }
        #pkr-chart-embed .rate-label-sub span:last-child { display: block; font-size: 12px; color: #334155; font-weight: 600; }

        #pkr-chart-embed .rate-badge {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            background: linear-gradient(135deg, #4f46e5, #3b82f6);
            color: #ffffff;
            font-weight: 700;
            font-size: 14px;
            padding: 8px 14px;
            border-radius: 12px;
            box-shadow: 0 8px 16px -3px rgba(79, 70, 229, 0.25);
        }

        #pkr-chart-embed .pulse-dot { width: 8px; height: 8px; border-radius: 50%; background-color: #ffffff; animation: pkrPulse 1.5s infinite; }

        @keyframes pkrPulse {
            0% { transform: scale(0.95); opacity: 0.6; }
            50% { transform: scale(1.15); opacity: 1; }
            100% { transform: scale(0.95); opacity: 0.6; }
        }

        /* Controls &amp;amp; Stats Toolbar */
        #pkr-chart-embed .toolbar {
            display: flex;
            justify-content: space-between;
            align-items: center;
            flex-wrap: wrap;
            gap: 12px;
            margin-bottom: 16px;
            padding-bottom: 12px;
            border-bottom: 1px solid #f1f5f9;
        }

        #pkr-chart-embed .timeframe-selector {
            display: flex;
            gap: 4px;
            background: #f1f5f9;
            padding: 3px;
            border-radius: 10px;
        }

        #pkr-chart-embed .tf-btn {
            border: none;
            background: transparent;
            font-family: inherit;
            font-size: 12px;
            font-weight: 600;
            color: #64748b;
            padding: 5px 12px;
            border-radius: 7px;
            cursor: pointer;
            transition: all 0.2s ease;
        }

        #pkr-chart-embed .tf-btn.active {
            background: #ffffff;
            color: #4f46e5;
            box-shadow: 0 1px 3px rgba(0,0,0,0.1);
        }

        #pkr-chart-embed .stats-row {
            display: flex;
            gap: 16px;
            flex-wrap: wrap;
        }

        #pkr-chart-embed .stat-item {
            font-size: 12px;
            color: #64748b;
        }

        #pkr-chart-embed .stat-item strong {
            color: #0f172a;
            font-weight: 700;
        }

        #pkr-chart-embed .chart-canvas-container { position: relative; width: 100%; height: 380px; }

        @media (max-width: 768px) {
            #pkr-chart-embed .chart-canvas-container { height: 300px; }
            #pkr-chart-embed .top-row { flex-direction: column; align-items: flex-start; }
            #pkr-chart-embed .rate-badge-container { align-items: flex-start; }
            #pkr-chart-embed .rate-label-sub { text-align: left; }
            #pkr-chart-embed .toolbar { flex-direction: column; align-items: flex-start; }
        }
    &amp;lt;/style&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
    &amp;lt;div id=&amp;quot;pkr-chart-embed&amp;quot;&amp;gt;
        &amp;lt;div class=&amp;quot;chart-header&amp;quot;&amp;gt;
            &amp;lt;h1 class=&amp;quot;main-title&amp;quot;&amp;gt;
                &amp;lt;span&amp;gt;PKR vs USD Exchange Rate&amp;lt;/span&amp;gt;
                &amp;lt;span class=&amp;quot;currency-badge&amp;quot;&amp;gt;USD / PKR&amp;lt;/span&amp;gt;
            &amp;lt;/h1&amp;gt;

            &amp;lt;div class=&amp;quot;top-row&amp;quot;&amp;gt;
                &amp;lt;div class=&amp;quot;calculator-area&amp;quot;&amp;gt;
                    &amp;lt;span class=&amp;quot;calculator-title&amp;quot;&amp;gt;Calculator&amp;lt;/span&amp;gt;
                    &amp;lt;div class=&amp;quot;converter&amp;quot;&amp;gt;
                        &amp;lt;div class=&amp;quot;converter-group&amp;quot;&amp;gt;
                            &amp;lt;input type=&amp;quot;text&amp;quot; inputmode=&amp;quot;decimal&amp;quot; id=&amp;quot;usdInput&amp;quot; class=&amp;quot;converter-input&amp;quot; value=&amp;quot;1&amp;quot;&amp;gt;
                            &amp;lt;span class=&amp;quot;converter-label&amp;quot;&amp;gt;USD&amp;lt;/span&amp;gt;
                        &amp;lt;/div&amp;gt;
                        &amp;lt;span class=&amp;quot;equals-sign&amp;quot;&amp;gt;=&amp;lt;/span&amp;gt;
                        &amp;lt;div class=&amp;quot;converter-group&amp;quot;&amp;gt;
                            &amp;lt;input type=&amp;quot;text&amp;quot; inputmode=&amp;quot;decimal&amp;quot; id=&amp;quot;pkrInput&amp;quot; class=&amp;quot;converter-input pkr-field&amp;quot; value=&amp;quot;&amp;quot;&amp;gt;
                            &amp;lt;span class=&amp;quot;converter-label&amp;quot;&amp;gt;PKR&amp;lt;/span&amp;gt;
                        &amp;lt;/div&amp;gt;
                    &amp;lt;/div&amp;gt;
                &amp;lt;/div&amp;gt;

                &amp;lt;div class=&amp;quot;rate-badge-container&amp;quot;&amp;gt;
                    &amp;lt;div class=&amp;quot;rate-label-sub&amp;quot;&amp;gt;
                        &amp;lt;span&amp;gt;Latest Closing&amp;lt;/span&amp;gt;
                        &amp;lt;span id=&amp;quot;latestDateLabel&amp;quot;&amp;gt;16-Sep-26&amp;lt;/span&amp;gt;
                    &amp;lt;/div&amp;gt;
                    &amp;lt;div class=&amp;quot;rate-badge&amp;quot;&amp;gt;
                        &amp;lt;span class=&amp;quot;pulse-dot&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;
                        &amp;lt;span id=&amp;quot;latestBadgeRate&amp;quot;&amp;gt;277.27 PKR&amp;lt;/span&amp;gt;
                    &amp;lt;/div&amp;gt;
                &amp;lt;/div&amp;gt;
            &amp;lt;/div&amp;gt;
        &amp;lt;/div&amp;gt;

        &amp;lt;div class=&amp;quot;toolbar&amp;quot;&amp;gt;
            &amp;lt;div class=&amp;quot;timeframe-selector&amp;quot;&amp;gt;
                &amp;lt;button class=&amp;quot;tf-btn&amp;quot; data-range=&amp;quot;30&amp;quot;&amp;gt;1M&amp;lt;/button&amp;gt;
                &amp;lt;button class=&amp;quot;tf-btn&amp;quot; data-range=&amp;quot;90&amp;quot;&amp;gt;3M&amp;lt;/button&amp;gt;
                &amp;lt;button class=&amp;quot;tf-btn&amp;quot; data-range=&amp;quot;180&amp;quot;&amp;gt;6M&amp;lt;/button&amp;gt;
                &amp;lt;button class=&amp;quot;tf-btn&amp;quot; data-range=&amp;quot;365&amp;quot;&amp;gt;1Y&amp;lt;/button&amp;gt;
                &amp;lt;button class=&amp;quot;tf-btn active&amp;quot; data-range=&amp;quot;all&amp;quot;&amp;gt;ALL&amp;lt;/button&amp;gt;
            &amp;lt;/div&amp;gt;

            &amp;lt;div class=&amp;quot;stats-row&amp;quot;&amp;gt;
                &amp;lt;span class=&amp;quot;stat-item&amp;quot;&amp;gt;High: &amp;lt;strong id=&amp;quot;statHigh&amp;quot;&amp;gt;--&amp;lt;/strong&amp;gt;&amp;lt;/span&amp;gt;
                &amp;lt;span class=&amp;quot;stat-item&amp;quot;&amp;gt;Low: &amp;lt;strong id=&amp;quot;statLow&amp;quot;&amp;gt;--&amp;lt;/strong&amp;gt;&amp;lt;/span&amp;gt;
                &amp;lt;span class=&amp;quot;stat-item&amp;quot;&amp;gt;Avg: &amp;lt;strong id=&amp;quot;statAvg&amp;quot;&amp;gt;--&amp;lt;/strong&amp;gt;&amp;lt;/span&amp;gt;
                &amp;lt;span class=&amp;quot;stat-item&amp;quot;&amp;gt;Change: &amp;lt;strong id=&amp;quot;statChange&amp;quot;&amp;gt;--&amp;lt;/strong&amp;gt;&amp;lt;/span&amp;gt;
            &amp;lt;/div&amp;gt;
        &amp;lt;/div&amp;gt;

        &amp;lt;div class=&amp;quot;chart-canvas-container&amp;quot;&amp;gt;
            &amp;lt;canvas id=&amp;quot;closingRatesChart&amp;quot;&amp;gt;&amp;lt;/canvas&amp;gt;
        &amp;lt;/div&amp;gt;
    &amp;lt;/div&amp;gt;

    &amp;lt;script&amp;gt;
        (function() {
            // Full historical closing rate dataset with 16-Sep-26 appended
            const rawLabels = [&amp;quot;04-Mar-25&amp;quot;, &amp;quot;05-Mar-25&amp;quot;, &amp;quot;06-Mar-25&amp;quot;, &amp;quot;07-Mar-25&amp;quot;, &amp;quot;10-Mar-25&amp;quot;, &amp;quot;11-Mar-25&amp;quot;, &amp;quot;12-Mar-25&amp;quot;, &amp;quot;13-Mar-25&amp;quot;, &amp;quot;14-Mar-25&amp;quot;, &amp;quot;17-Mar-25&amp;quot;, &amp;quot;18-Mar-25&amp;quot;, &amp;quot;19-Mar-25&amp;quot;, &amp;quot;20-Mar-25&amp;quot;, &amp;quot;21-Mar-25&amp;quot;, &amp;quot;24-Mar-25&amp;quot;, &amp;quot;25-Mar-25&amp;quot;, &amp;quot;26-Mar-25&amp;quot;, &amp;quot;27-Mar-25&amp;quot;, &amp;quot;28-Mar-25&amp;quot;, &amp;quot;03-Apr-25&amp;quot;, &amp;quot;04-Apr-25&amp;quot;, &amp;quot;07-Apr-25&amp;quot;, &amp;quot;08-Apr-25&amp;quot;, &amp;quot;09-Apr-25&amp;quot;, &amp;quot;10-Apr-25&amp;quot;, &amp;quot;11-Apr-25&amp;quot;, &amp;quot;14-Apr-25&amp;quot;, &amp;quot;15-Apr-25&amp;quot;, &amp;quot;16-Apr-25&amp;quot;, &amp;quot;17-Apr-25&amp;quot;, &amp;quot;18-Apr-25&amp;quot;, &amp;quot;21-Apr-25&amp;quot;, &amp;quot;22-Apr-25&amp;quot;, &amp;quot;23-Apr-25&amp;quot;, &amp;quot;24-Apr-25&amp;quot;, &amp;quot;25-Apr-25&amp;quot;, &amp;quot;28-Apr-25&amp;quot;, &amp;quot;29-Apr-25&amp;quot;, &amp;quot;30-Apr-25&amp;quot;, &amp;quot;02-May-25&amp;quot;, &amp;quot;05-May-25&amp;quot;, &amp;quot;06-May-25&amp;quot;, &amp;quot;07-May-25&amp;quot;, &amp;quot;08-May-25&amp;quot;, &amp;quot;09-May-25&amp;quot;, &amp;quot;12-May-25&amp;quot;, &amp;quot;13-May-25&amp;quot;, &amp;quot;14-May-25&amp;quot;, &amp;quot;15-May-25&amp;quot;, &amp;quot;16-May-25&amp;quot;, &amp;quot;19-May-25&amp;quot;, &amp;quot;20-May-25&amp;quot;, &amp;quot;21-May-25&amp;quot;, &amp;quot;22-May-25&amp;quot;, &amp;quot;23-May-25&amp;quot;, &amp;quot;26-May-25&amp;quot;, &amp;quot;27-May-25&amp;quot;, &amp;quot;29-May-25&amp;quot;, &amp;quot;30-May-25&amp;quot;, &amp;quot;02-Jun-25&amp;quot;, &amp;quot;03-Jun-25&amp;quot;, &amp;quot;04-Jun-25&amp;quot;, &amp;quot;05-Jun-25&amp;quot;, &amp;quot;10-Jun-25&amp;quot;, &amp;quot;11-Jun-25&amp;quot;, &amp;quot;12-Jun-25&amp;quot;, &amp;quot;13-Jun-25&amp;quot;, &amp;quot;16-Jun-25&amp;quot;, &amp;quot;17-Jun-25&amp;quot;, &amp;quot;18-Jun-25&amp;quot;, &amp;quot;19-Jun-25&amp;quot;, &amp;quot;20-Jun-25&amp;quot;, &amp;quot;23-Jun-25&amp;quot;, &amp;quot;24-Jun-25&amp;quot;, &amp;quot;25-Jun-25&amp;quot;, &amp;quot;26-Jun-25&amp;quot;, &amp;quot;27-Jun-25&amp;quot;, &amp;quot;30-Jun-25&amp;quot;, &amp;quot;02-Jul-25&amp;quot;, &amp;quot;03-Jul-25&amp;quot;, &amp;quot;04-Jul-25&amp;quot;, &amp;quot;07-Jul-25&amp;quot;, &amp;quot;08-Jul-25&amp;quot;, &amp;quot;09-Jul-25&amp;quot;, &amp;quot;10-Jul-25&amp;quot;, &amp;quot;11-Jul-25&amp;quot;, &amp;quot;14-Jul-25&amp;quot;, &amp;quot;15-Jul-25&amp;quot;, &amp;quot;16-Jul-25&amp;quot;, &amp;quot;17-Jul-25&amp;quot;, &amp;quot;18-Jul-25&amp;quot;, &amp;quot;21-Jul-25&amp;quot;, &amp;quot;22-Jul-25&amp;quot;, &amp;quot;23-Jul-25&amp;quot;, &amp;quot;24-Jul-25&amp;quot;, &amp;quot;25-Jul-25&amp;quot;, &amp;quot;28-Jul-25&amp;quot;, &amp;quot;29-Jul-25&amp;quot;, &amp;quot;30-Jul-25&amp;quot;, &amp;quot;31-Jul-25&amp;quot;, &amp;quot;01-Aug-25&amp;quot;, &amp;quot;04-Aug-25&amp;quot;, &amp;quot;05-Aug-25&amp;quot;, &amp;quot;06-Aug-25&amp;quot;, &amp;quot;07-Aug-25&amp;quot;, &amp;quot;08-Aug-25&amp;quot;, &amp;quot;11-Aug-25&amp;quot;, &amp;quot;12-Aug-25&amp;quot;, &amp;quot;13-Aug-25&amp;quot;, &amp;quot;15-Aug-25&amp;quot;, &amp;quot;18-Aug-25&amp;quot;, &amp;quot;19-Aug-25&amp;quot;, &amp;quot;20-Aug-25&amp;quot;, &amp;quot;21-Aug-25&amp;quot;, &amp;quot;22-Aug-25&amp;quot;, &amp;quot;25-Aug-25&amp;quot;, &amp;quot;26-Aug-25&amp;quot;, &amp;quot;27-Aug-25&amp;quot;, &amp;quot;28-Aug-25&amp;quot;, &amp;quot;29-Aug-25&amp;quot;, &amp;quot;01-Sep-25&amp;quot;, &amp;quot;02-Sep-25&amp;quot;, &amp;quot;03-Sep-25&amp;quot;, &amp;quot;04-Sep-25&amp;quot;, &amp;quot;05-Sep-25&amp;quot;, &amp;quot;08-Sep-25&amp;quot;, &amp;quot;09-Sep-25&amp;quot;, &amp;quot;10-Sep-25&amp;quot;, &amp;quot;11-Sep-25&amp;quot;, &amp;quot;12-Sep-25&amp;quot;, &amp;quot;15-Sep-25&amp;quot;, &amp;quot;16-Sep-25&amp;quot;, &amp;quot;17-Sep-25&amp;quot;, &amp;quot;18-Sep-25&amp;quot;, &amp;quot;19-Sep-25&amp;quot;, &amp;quot;21-Sep-25&amp;quot;, &amp;quot;22-Sep-25&amp;quot;, &amp;quot;23-Sep-25&amp;quot;, &amp;quot;24-Sep-25&amp;quot;, &amp;quot;25-Sep-25&amp;quot;, &amp;quot;26-Sep-25&amp;quot;, &amp;quot;29-Sep-25&amp;quot;, &amp;quot;30-Sep-25&amp;quot;, &amp;quot;01-Oct-25&amp;quot;, &amp;quot;02-Oct-25&amp;quot;, &amp;quot;03-Oct-25&amp;quot;, &amp;quot;06-Oct-25&amp;quot;, &amp;quot;07-Oct-25&amp;quot;, &amp;quot;08-Oct-25&amp;quot;, &amp;quot;09-Oct-25&amp;quot;, &amp;quot;10-Oct-25&amp;quot;, &amp;quot;13-Oct-25&amp;quot;, &amp;quot;14-Oct-25&amp;quot;, &amp;quot;15-Oct-25&amp;quot;, &amp;quot;16-Oct-25&amp;quot;, &amp;quot;17-Oct-25&amp;quot;, &amp;quot;20-Oct-25&amp;quot;, &amp;quot;21-Oct-25&amp;quot;, &amp;quot;22-Oct-25&amp;quot;, &amp;quot;23-Oct-25&amp;quot;, &amp;quot;24-Oct-25&amp;quot;, &amp;quot;27-Oct-25&amp;quot;, &amp;quot;28-Oct-25&amp;quot;, &amp;quot;29-Oct-25&amp;quot;, &amp;quot;30-Oct-25&amp;quot;, &amp;quot;31-Oct-25&amp;quot;, &amp;quot;03-Nov-25&amp;quot;, &amp;quot;04-Nov-25&amp;quot;, &amp;quot;05-Nov-25&amp;quot;, &amp;quot;06-Nov-25&amp;quot;, &amp;quot;07-Nov-25&amp;quot;, &amp;quot;10-Nov-25&amp;quot;, &amp;quot;11-Nov-25&amp;quot;, &amp;quot;12-Nov-25&amp;quot;, &amp;quot;13-Nov-25&amp;quot;, &amp;quot;14-Nov-25&amp;quot;, &amp;quot;17-Nov-25&amp;quot;, &amp;quot;18-Nov-25&amp;quot;, &amp;quot;19-Nov-25&amp;quot;, &amp;quot;20-Nov-25&amp;quot;, &amp;quot;21-Nov-25&amp;quot;, &amp;quot;24-Nov-25&amp;quot;, &amp;quot;25-Nov-25&amp;quot;, &amp;quot;26-Nov-25&amp;quot;, &amp;quot;27-Nov-25&amp;quot;, &amp;quot;28-Nov-25&amp;quot;, &amp;quot;01-Dec-25&amp;quot;, &amp;quot;02-Dec-25&amp;quot;, &amp;quot;03-Dec-25&amp;quot;, &amp;quot;04-Dec-25&amp;quot;, &amp;quot;05-Dec-25&amp;quot;, &amp;quot;08-Dec-25&amp;quot;, &amp;quot;09-Dec-25&amp;quot;, &amp;quot;10-Dec-25&amp;quot;, &amp;quot;11-Dec-25&amp;quot;, &amp;quot;12-Dec-25&amp;quot;, &amp;quot;15-Dec-25&amp;quot;, &amp;quot;16-Dec-25&amp;quot;, &amp;quot;17-Dec-25&amp;quot;, &amp;quot;18-Dec-25&amp;quot;, &amp;quot;19-Dec-25&amp;quot;, &amp;quot;22-Dec-25&amp;quot;, &amp;quot;23-Dec-25&amp;quot;, &amp;quot;24-Dec-25&amp;quot;, &amp;quot;26-Dec-25&amp;quot;, &amp;quot;29-Dec-25&amp;quot;, &amp;quot;30-Dec-25&amp;quot;, &amp;quot;31-Dec-25&amp;quot;, &amp;quot;02-Jan-26&amp;quot;, &amp;quot;05-Jan-26&amp;quot;, &amp;quot;06-Jan-26&amp;quot;, &amp;quot;07-Jan-26&amp;quot;, &amp;quot;08-Jan-26&amp;quot;, &amp;quot;09-Jan-26&amp;quot;, &amp;quot;12-Jan-26&amp;quot;, &amp;quot;13-Jan-26&amp;quot;, &amp;quot;14-Jan-26&amp;quot;, &amp;quot;15-Jan-26&amp;quot;, &amp;quot;16-Jan-26&amp;quot;, &amp;quot;19-Jan-26&amp;quot;, &amp;quot;20-Jan-26&amp;quot;, &amp;quot;21-Jan-26&amp;quot;, &amp;quot;22-Jan-26&amp;quot;, &amp;quot;23-Jan-26&amp;quot;, &amp;quot;26-Jan-26&amp;quot;, &amp;quot;27-Jan-26&amp;quot;, &amp;quot;28-Jan-26&amp;quot;, &amp;quot;29-Jan-26&amp;quot;, &amp;quot;30-Jan-26&amp;quot;, &amp;quot;02-Feb-26&amp;quot;, &amp;quot;03-Feb-26&amp;quot;, &amp;quot;04-Feb-26&amp;quot;, &amp;quot;06-Feb-26&amp;quot;, &amp;quot;09-Feb-26&amp;quot;, &amp;quot;10-Feb-26&amp;quot;, &amp;quot;11-Feb-26&amp;quot;, &amp;quot;12-Feb-26&amp;quot;, &amp;quot;13-Feb-26&amp;quot;, &amp;quot;16-Feb-26&amp;quot;, &amp;quot;17-Feb-26&amp;quot;, &amp;quot;18-Feb-26&amp;quot;, &amp;quot;20-Feb-26&amp;quot;, &amp;quot;23-Feb-26&amp;quot;, &amp;quot;24-Feb-26&amp;quot;, &amp;quot;25-Feb-26&amp;quot;, &amp;quot;26-Feb-26&amp;quot;, &amp;quot;27-Feb-26&amp;quot;, &amp;quot;02-Mar-26&amp;quot;, &amp;quot;03-Mar-26&amp;quot;, &amp;quot;04-Mar-26&amp;quot;, &amp;quot;05-Mar-26&amp;quot;, &amp;quot;06-Mar-26&amp;quot;, &amp;quot;09-Mar-26&amp;quot;, &amp;quot;10-Mar-26&amp;quot;, &amp;quot;11-Mar-26&amp;quot;, &amp;quot;12-Mar-26&amp;quot;, &amp;quot;13-Mar-26&amp;quot;, &amp;quot;16-Mar-26&amp;quot;, &amp;quot;17-Mar-26&amp;quot;, &amp;quot;18-Mar-26&amp;quot;, &amp;quot;19-Mar-26&amp;quot;, &amp;quot;24-Mar-26&amp;quot;, &amp;quot;25-Mar-26&amp;quot;, &amp;quot;26-Mar-26&amp;quot;, &amp;quot;27-Mar-26&amp;quot;, &amp;quot;30-Mar-26&amp;quot;, &amp;quot;31-Mar-26&amp;quot;, &amp;quot;01-Apr-26&amp;quot;, &amp;quot;02-Apr-26&amp;quot;, &amp;quot;03-Apr-26&amp;quot;, &amp;quot;04-Apr-26&amp;quot;, &amp;quot;06-Apr-26&amp;quot;, &amp;quot;07-Apr-26&amp;quot;, &amp;quot;08-Apr-26&amp;quot;, &amp;quot;09-Apr-26&amp;quot;, &amp;quot;10-Apr-26&amp;quot;, &amp;quot;13-Apr-26&amp;quot;, &amp;quot;14-Apr-26&amp;quot;, &amp;quot;14-Apr-26&amp;quot;, &amp;quot;15-Apr-26&amp;quot;, &amp;quot;16-Apr-26&amp;quot;, &amp;quot;17-Apr-26&amp;quot;, &amp;quot;20-Apr-26&amp;quot;, &amp;quot;21-Apr-26&amp;quot;, &amp;quot;22-Apr-26&amp;quot;, &amp;quot;23-Apr-26&amp;quot;, &amp;quot;24-Apr-26&amp;quot;, &amp;quot;27-Apr-26&amp;quot;, &amp;quot;28-Apr-26&amp;quot;, &amp;quot;29-Apr-26&amp;quot;, &amp;quot;30-Apr-26&amp;quot;, &amp;quot;04-May-26&amp;quot;, &amp;quot;05-May-26&amp;quot;, &amp;quot;06-May-26&amp;quot;, &amp;quot;07-May-26&amp;quot;, &amp;quot;08-May-26&amp;quot;, &amp;quot;11-May-26&amp;quot;, &amp;quot;12-May-26&amp;quot;, &amp;quot;13-May-26&amp;quot;, &amp;quot;14-May-26&amp;quot;, &amp;quot;15-May-26&amp;quot;, &amp;quot;18-May-26&amp;quot;, &amp;quot;19-May-26&amp;quot;, &amp;quot;20-May-26&amp;quot;, &amp;quot;21-May-26&amp;quot;, &amp;quot;22-May-26&amp;quot;, &amp;quot;25-May-26&amp;quot;, &amp;quot;29-May-26&amp;quot;, &amp;quot;01-Jun-26&amp;quot;, &amp;quot;02-Jun-26&amp;quot;, &amp;quot;03-Jun-26&amp;quot;, &amp;quot;04-Jun-26&amp;quot;, &amp;quot;05-Jun-26&amp;quot;, &amp;quot;08-Jun-26&amp;quot;, &amp;quot;09-Jun-26&amp;quot;, &amp;quot;10-Jun-26&amp;quot;, &amp;quot;11-Jun-26&amp;quot;, &amp;quot;12-Jun-26&amp;quot;, &amp;quot;15-Jun-26&amp;quot;, &amp;quot;16-Jun-26&amp;quot;, &amp;quot;17-Jun-26&amp;quot;, &amp;quot;18-Jun-26&amp;quot;, &amp;quot;19-Jun-26&amp;quot;, &amp;quot;22-Jun-26&amp;quot;, &amp;quot;23-Jun-26&amp;quot;, &amp;quot;24-Jun-26&amp;quot;, &amp;quot;29-Jun-26&amp;quot;, &amp;quot;30-Jun-26&amp;quot;, &amp;quot;02-Jul-26&amp;quot;, &amp;quot;03-Jul-26&amp;quot;, &amp;quot;06-Jul-26&amp;quot;, &amp;quot;07-Jul-26&amp;quot;, &amp;quot;08-Jul-26&amp;quot;, &amp;quot;09-Jul-26&amp;quot;, &amp;quot;10-Jul-26&amp;quot;, &amp;quot;13-Jul-26&amp;quot;, &amp;quot;14-Jul-26&amp;quot;, &amp;quot;15-Jul-26&amp;quot;, &amp;quot;16-Jul-26&amp;quot;, &amp;quot;17-Jul-26&amp;quot;, &amp;quot;20-Jul-26&amp;quot;, &amp;quot;21-Jul-26&amp;quot;, &amp;quot;22-Jul-26&amp;quot;, &amp;quot;23-Jul-26&amp;quot;, &amp;quot;24-Jul-26&amp;quot;, &amp;quot;27-Jul-26&amp;quot;, &amp;quot;28-Jul-26&amp;quot;, &amp;quot;29-Jul-26&amp;quot;, &amp;quot;30-Jul-26&amp;quot;, &amp;quot;03-Aug-26&amp;quot;, &amp;quot;04-Aug-26&amp;quot;, &amp;quot;05-Aug-26&amp;quot;, &amp;quot;06-Aug-26&amp;quot;, &amp;quot;07-Aug-26&amp;quot;, &amp;quot;10-Aug-26&amp;quot;, &amp;quot;11-Aug-26&amp;quot;, &amp;quot;12-Aug-26&amp;quot;, &amp;quot;13-Aug-26&amp;quot;, &amp;quot;17-Aug-26&amp;quot;, &amp;quot;18-Aug-26&amp;quot;, &amp;quot;20-Aug-26&amp;quot;, &amp;quot;21-Aug-26&amp;quot;, &amp;quot;24-Aug-26&amp;quot;, &amp;quot;25-Aug-26&amp;quot;, &amp;quot;27-Aug-26&amp;quot;, &amp;quot;28-Aug-26&amp;quot;, &amp;quot;31-Aug-26&amp;quot;, &amp;quot;01-Sep-26&amp;quot;, &amp;quot;02-Sep-26&amp;quot;, &amp;quot;03-Sep-26&amp;quot;, &amp;quot;04-Sep-26&amp;quot;, &amp;quot;07-Sep-26&amp;quot;, &amp;quot;08-Sep-26&amp;quot;, &amp;quot;09-Sep-26&amp;quot;, &amp;quot;10-Sep-26&amp;quot;, &amp;quot;11-Sep-26&amp;quot;, &amp;quot;14-Sep-26&amp;quot;, &amp;quot;15-Sep-26&amp;quot;, &amp;quot;16-Sep-26&amp;quot;];
            
            const rawData = [279.77, 279.87, 279.82, 279.97, 280.07, 279.95, 279.97, 280.05, 280.21, 280.17, 280.27, 280.21, 280.22, 280.26, 280.37, 280.42, 280.26, 280.22, 280.16, 280.56, 280.47, 280.57, 280.73, 280.78, 280.56, 280.47, 280.60, 280.57, 280.46, 280.62, 280.72, 280.87, 280.77, 280.97, 281.07, 280.97, 281.07, 281.02, 280.97, 281.06, 281.22, 281.37, 281.47, 281.52, 281.71, 281.57, 281.67, 281.72, 281.61, 281.66, 281.77, 281.92, 281.97, 282.06, 281.97, 282.06, 282.17, 282.07, 282.02, 281.97, 282.12, 282.22, 282.17, 282.21, 282.47, 282.67, 282.96, 283.17, 283.41, 283.55, 283.64, 283.70, 283.87, 283.77, 283.72, 283.67, 283.72, 283.76, 283.95, 283.86, 283.97, 284.22, 284.36, 284.47, 284.56, 284.46, 284.72, 284.67, 284.96, 284.97, 284.87, 284.95, 284.97, 284.76, 284.22, 283.45, 283.21, 283.05, 282.95, 282.87, 282.72, 282.66, 282.57, 282.67, 282.56, 282.47, 282.45, 282.42, 282.22, 282.06, 282.01, 281.96, 281.95, 281.92, 281.90, 281.87, 281.86, 281.83, 281.80, 281.77, 281.75, 281.72, 281.71, 281.67, 281.65, 281.62, 281.61, 281.60, 281.56, 281.55, 281.52, 281.51, 281.50, 281.47, 281.46, 281.45, 281.46, 281.42, 281.43, 281.41, 281.37, 281.35, 281.32, 281.31, 281.27, 281.26, 281.25, 281.22, 281.21, 281.20, 281.17, 281.16, 281.15, 281.12, 281.11, 281.10, 281.07, 281.06, 281.05, 281.03, 281.02, 281.01, 280.97, 280.96, 280.92, 280.91, 280.90, 280.87, 280.86, 280.85, 280.82, 280.81, 280.78, 280.77, 280.76, 280.72, 280.71, 280.67, 280.66, 280.66, 280.65, 280.62, 280.61, 280.57, 280.56, 280.55, 280.52, 280.51, 280.47, 280.46, 280.45, 280.42, 280.41, 280.40, 280.37, 280.36, 280.32, 280.31, 280.30, 280.27, 280.26, 280.25, 280.22, 280.21, 280.20, 280.17, 280.16, 280.15, 280.12, 280.11, 280.10, 280.07, 280.06, 280.05, 280.02, 280.01, 280.00, 279.97, 279.96, 279.95, 279.92, 279.91, 279.90, 279.87, 279.86, 279.85, 279.82, 279.81, 279.80, 279.77, 279.76, 279.75, 279.72, 279.71, 279.70, 279.67, 279.66, 279.65, 279.62, 279.61, 279.60, 279.57, 279.56, 279.55, 279.52, 279.51, 279.50, 279.47, 279.46, 279.45, 279.42, 279.41, 279.40, 279.37, 279.36, 279.35, 279.32, 279.31, 279.30, 279.27, 279.26, 279.25, 279.22, 279.21, 279.20, 279.17, 279.16, 279.15, 279.12, 279.11, 279.10, 279.07, 279.06, 279.05, 279.02, 279.01, 279.00, 278.97, 278.96, 278.95, 278.92, 278.91, 278.90, 278.87, 278.86, 278.85, 278.82, 278.81, 278.80, 278.77, 278.76, 278.75, 278.72, 278.71, 278.70, 278.67, 278.66, 278.65, 278.62, 278.61, 278.60, 278.57, 278.56, 278.55, 278.52, 278.51, 278.50, 278.47, 278.46, 278.45, 278.42, 278.41, 278.40, 278.37, 278.36, 278.35, 278.32, 278.31, 278.30, 278.27, 278.26, 278.25, 278.22, 278.21, 278.20, 278.17, 278.16, 278.15, 278.12, 278.11, 278.10, 278.07, 278.06, 278.05, 278.02, 278.01, 278.00, 277.95, 277.95, 277.92, 277.91, 277.90, 277.87, 277.86, 277.85, 277.82, 277.81, 277.80, 277.77, 277.76, 277.75, 277.72, 277.71, 277.70, 277.67, 277.66, 277.65, 277.62, 277.61, 277.57, 277.56, 277.55, 277.52, 277.51, 277.50, 277.47, 277.46, 277.45, 277.42, 277.41, 277.40, 277.37, 277.36, 277.35, 277.32, 277.31, 277.30, 277.27];

            const currentExchangeRate = rawData[rawData.length - 1];
            const currentExchangeDate = rawLabels[rawLabels.length - 1];

            // DOM Elements
            const usdInput = document.getElementById(&amp;#039;usdInput&amp;#039;);
            const pkrInput = document.getElementById(&amp;#039;pkrInput&amp;#039;);
            const badgeEl = document.getElementById(&amp;#039;latestBadgeRate&amp;#039;);
            const dateLabelEl = document.getElementById(&amp;#039;latestDateLabel&amp;#039;);

            const statHighEl = document.getElementById(&amp;#039;statHigh&amp;#039;);
            const statLowEl = document.getElementById(&amp;#039;statLow&amp;#039;);
            const statAvgEl = document.getElementById(&amp;#039;statAvg&amp;#039;);
            const statChangeEl = document.getElementById(&amp;#039;statChange&amp;#039;);

            // Format helpers
            const formatCurrency = (val, maxDecimals = 2, minDecimals = 2) =&amp;gt; {
                if (isNaN(val) || val === null) return &amp;#039;--&amp;#039;;
                return val.toLocaleString(&amp;#039;en-US&amp;#039;, {
                    minimumFractionDigits: minDecimals,
                    maximumFractionDigits: maxDecimals
                });
            };

            const parseCurrency = (valStr) =&amp;gt; {
                if (!valStr) return NaN;
                return parseFloat(valStr.toString().replace(/,/g, &amp;#039;&amp;#039;));
            };

            // Set Initial Values in UI
            dateLabelEl.textContent = currentExchangeDate;
            badgeEl.textContent = formatCurrency(currentExchangeRate) + &amp;#039; PKR&amp;#039;;
            pkrInput.value = formatCurrency(currentExchangeRate);

            // Converter Event Listeners
            usdInput.addEventListener(&amp;#039;input&amp;#039;, (e) =&amp;gt; {
                const val = parseCurrency(e.target.value);
                if (isNaN(val)) {
                    pkrInput.value = &amp;#039;&amp;#039;;
                } else {
                    pkrInput.value = formatCurrency(val * currentExchangeRate);
                }
            });

            pkrInput.addEventListener(&amp;#039;input&amp;#039;, (e) =&amp;gt; {
                const val = parseCurrency(e.target.value);
                if (isNaN(val)) {
                    usdInput.value = &amp;#039;&amp;#039;;
                } else {
                    usdInput.value = formatCurrency(val / currentExchangeRate, 4, 2);
                }
            });

            usdInput.addEventListener(&amp;#039;blur&amp;#039;, (e) =&amp;gt; {
                const val = parseCurrency(e.target.value);
                if (!isNaN(val)) {
                    e.target.value = formatCurrency(val, 2, 0);
                }
            });

            pkrInput.addEventListener(&amp;#039;blur&amp;#039;, (e) =&amp;gt; {
                const val = parseCurrency(e.target.value);
                if (!isNaN(val)) {
                    e.target.value = formatCurrency(val, 2, 2);
                }
            });

            const ctx = document.getElementById(&amp;#039;closingRatesChart&amp;#039;).getContext(&amp;#039;2d&amp;#039;);
            
            // Create gradient fill
            const gradient = ctx.createLinearGradient(0, 0, 0, 350);
            gradient.addColorStop(0, &amp;#039;rgba(79, 70, 229, 0.25)&amp;#039;);
            gradient.addColorStop(1, &amp;#039;rgba(79, 70, 229, 0.0)&amp;#039;);

            let chartInstance = new Chart(ctx, {
                type: &amp;#039;line&amp;#039;,
                data: {
                    labels: rawLabels,
                    datasets: [{
                        label: &amp;#039;USD to PKR&amp;#039;,
                        data: rawData,
                        borderColor: &amp;#039;#4f46e5&amp;#039;,
                        borderWidth: 2,
                        backgroundColor: gradient,
                        fill: true,
                        tension: 0.3,
                        pointRadius: 0,
                        pointHoverRadius: 6,
                        pointHoverBackgroundColor: &amp;#039;#4f46e5&amp;#039;,
                        pointHoverBorderColor: &amp;#039;#ffffff&amp;#039;,
                        pointHoverBorderWidth: 2
                    }]
                },
                options: {
                    responsive: true,
                    maintainAspectRatio: false,
                    interaction: {
                        intersect: false,
                        mode: &amp;#039;index&amp;#039;
                    },
                    plugins: {
                        legend: { display: false },
                        tooltip: {
                            backgroundColor: &amp;#039;#0f172a&amp;#039;,
                            titleFont: { family: &amp;#039;Plus Jakarta Sans&amp;#039;, size: 12, weight: &amp;#039;bold&amp;#039; },
                            bodyFont: { family: &amp;#039;Plus Jakarta Sans&amp;#039;, size: 13 },
                            padding: 10,
                            cornerRadius: 8,
                            displayColors: false,
                            callbacks: {
                                label: function(context) {
                                    return &amp;#039;Rate: &amp;#039; + formatCurrency(context.parsed.y) + &amp;#039; PKR&amp;#039;;
                                }
                            }
                        }
                    },
                    scales: {
                        x: {
                            grid: { display: false },
                            ticks: {
                                font: { family: &amp;#039;Plus Jakarta Sans&amp;#039;, size: 11 },
                                color: &amp;#039;#64748b&amp;#039;,
                                maxTicksLimit: 8,
                                maxRotation: 0
                            }
                        },
                        y: {
                            grid: { color: &amp;#039;#f1f5f9&amp;#039; },
                            ticks: {
                                font: { family: &amp;#039;Plus Jakarta Sans&amp;#039;, size: 11 },
                                color: &amp;#039;#64748b&amp;#039;,
                                callback: function(value) {
                                    return value.toFixed(1);
                                }
                            }
                        }
                    }
                }
            });

            function updateRangeStats(labels, data) {
                if (!data || data.length === 0) return;

                const high = Math.max(...data);
                const low = Math.min(...data);
                const avg = data.reduce((a, b) =&amp;gt; a + b, 0) / data.length;
                const startVal = data[0];
                const endVal = data[data.length - 1];
                const change = endVal - startVal;
                const changePct = (change / startVal) * 100;

                statHighEl.textContent = formatCurrency(high);
                statLowEl.textContent = formatCurrency(low);
                statAvgEl.textContent = formatCurrency(avg);

                const sign = change &amp;gt;= 0 ? &amp;#039;+&amp;#039; : &amp;#039;&amp;#039;;
                statChangeEl.textContent = `${sign}${formatCurrency(change)} (${sign}${changePct.toFixed(2)}%)`;
                statChangeEl.style.color = change &amp;gt; 0 ? &amp;#039;#10b981&amp;#039; : (change &amp;lt; 0 ? &amp;#039;#ef4444&amp;#039; : &amp;#039;#64748b&amp;#039;);
            }

            // Timeframe filtering handler
            function setTimeframe(rangeCount) {
                let slicedLabels = rawLabels;
                let slicedData = rawData;

                if (rangeCount !== &amp;#039;all&amp;#039;) {
                    const count = parseInt(rangeCount, 10);
                    slicedLabels = rawLabels.slice(-count);
                    slicedData = rawData.slice(-count);
                }

                chartInstance.data.labels = slicedLabels;
                chartInstance.data.datasets[0].data = slicedData;

                // Adjust Y axis dynamic scaling
                const minVal = Math.min(...slicedData);
                const maxVal = Math.max(...slicedData);
                const padding = (maxVal - minVal) * 0.1 || 1;
                
                chartInstance.options.scales.y.min = Math.floor((minVal - padding) * 10) / 10;
                chartInstance.options.scales.y.max = Math.ceil((maxVal + padding) * 10) / 10;

                chartInstance.update();
                updateRangeStats(slicedLabels, slicedData);
            }

            // Setup timeframe button listeners
            document.querySelectorAll(&amp;#039;#pkr-chart-embed .tf-btn&amp;#039;).forEach(btn =&amp;gt; {
                btn.addEventListener(&amp;#039;click&amp;#039;, (e) =&amp;gt; {
                    document.querySelectorAll(&amp;#039;#pkr-chart-embed .tf-btn&amp;#039;).forEach(b =&amp;gt; b.classList.remove(&amp;#039;active&amp;#039;));
                    e.target.classList.add(&amp;#039;active&amp;#039;);
                    setTimeframe(e.target.getAttribute(&amp;#039;data-range&amp;#039;));
                });
            });

            // Initial range load
            setTimeframe(&amp;#039;all&amp;#039;);
        })();
    &amp;lt;/script&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;
    &amp;lt;script&amp;gt;
        function reportHeight() {
            var h = document.documentElement.scrollHeight;
            window.parent.postMessage({ type: &amp;#039;raw-html-resize&amp;#039;, id: &amp;#039;raw-html-6aaaa321e1682&amp;#039;, height: h }, &amp;#039;*&amp;#039;);
        }
        window.addEventListener(&amp;#039;load&amp;#039;, reportHeight);
        if (window.ResizeObserver) {
            new ResizeObserver(reportHeight).observe(document.body);
        }
    &amp;lt;/script&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;"&gt;&lt;/iframe&gt;
&lt;script&gt;
if (!window._rawHtmlListenerAttached) {
    window._rawHtmlListenerAttached = true;
    window.addEventListener('message', function(event) {
        if (event.data &amp;&amp; event.data.type === 'raw-html-resize' &amp;&amp; event.data.id) {
            var iframe = document.getElementById(event.data.id);
            if (iframe) {
                var height = Math.min(Math.max(event.data.height, 50), 9200);
                iframe.style.height = height + 'px';
            }
        }
    });
}
&lt;/script&gt;
&lt;p&gt;&lt;strong&gt;The Pakistani rupee extended its marginal gains, appreciating 0.01%, against the US dollar in the interbank market on Wednesday.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The local unit closed the day at 277.27, a gain of Re0.03 against the greenback.&lt;/p&gt;
    &lt;figure class='media  w-full sm:w-full  media--center  media--embed  media--uneven media--tweet' data-original-src='https://x.com/StateBank_Pak/status/2100188395633045822'&gt;
        &lt;div class='media__item  media__item--twitter  '&gt;&lt;span&gt;
    &lt;blockquote class="twitter-tweet" lang="en"&gt;
        &lt;a href="https://twitter.com/StateBank_Pak/status/2100188395633045822"&gt;&lt;/a&gt;
    &lt;/blockquote&gt;
&lt;/span&gt;&lt;/div&gt;
        
    &lt;/figure&gt;
&lt;p&gt;&lt;a href="https://www.brecorder.com/news/40439590/intra-day-update-rupee-records-gain-against-us-dollar"&gt;On Tuesday&lt;/a&gt;, the Pakistani rupee settled at 277.30 against the dollar.&lt;/p&gt;
&lt;p&gt;Internationally, the &lt;a href="https://www.brecorder.com/news/40439726/dollar-girded-by-bets-on-a-us-hiking-cycle"&gt;US dollar was hanging &lt;/a&gt;on to recent gains on ​Wednesday and trading near multi-week highs on a handful of major peers ahead of a Federal Reserve decision where traders expect ‌the first of what could be several US interest rate hikes.&lt;/p&gt;
&lt;p&gt;The US dollar had advanced along with yields overnight, running furthest against the ⁠yen and New Zealand dollar, leaving the kiwi to hit a two-month low of $0.5749 in Asia morning trade and the yen at a one-week ​low of 155.43 per dollar.&lt;/p&gt;
&lt;p&gt;At $1.1535, the euro was not far from Monday’s one-month low of $1.1523, while sterling, at $1.3470, was not far above a six-week ​trough of $1.3464 it had made on Monday.&lt;/p&gt;
&lt;p&gt;Currency markets haven’t really moved that much while global bond yields have been climbing in concert over recent weeks because sovereign bonds have moved in tandem and not shifted relative differences between countries’ yields very far.&lt;/p&gt;
&lt;p&gt;But the dollar’s gained traction in the last few sessions on thinking that ​despite Warsh being hired by President Donald Trump to cut interest rates, he’ll need to hike a few times to show the Fed is ​serious about taming inflation that is being fanned by war with Iran and the resulting energy price surge.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.brecorder.com/news/40439723/oil-slips-on-us-stock-build-middle-east-disruptions-limit-losses"&gt;Oil prices&lt;/a&gt;, a key indicator of currency parity, fell on Wednesday as reports that Saudi Arabia was offering additional crude cargoes via Oman eased concerns about the scale of Middle East supply disruptions, while European diesel prices hovered near a record high.&lt;/p&gt;
&lt;p&gt;Brent crude futures were down $1.30, or 1.2%, at $107.45 a barrel by 1307 GMT.&lt;/p&gt;
&lt;p&gt;U.S. West Texas Intermediate futures were down $1.96, or 1.85%, at $103.87.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Inter-bank market rates for dollar on Wednesday&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;BID                            Rs 277.27&lt;/p&gt;
&lt;p&gt;OFFER                      Rs 277.47&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Open-market movement&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;In the open market, the PKR gained 4.00 paisa for buying and lost 18.00 paisa for selling against USD, closing at 278.12 and 279.20, respectively.&lt;/p&gt;
&lt;p&gt;Against Euro, the PKR lost 9.00 paisa for buying and 35.00 paisa for selling, closing at 320.08 and 322.98, respectively.&lt;/p&gt;
&lt;p&gt;Against UAE Dirham, the PKR lost 2.00 paisa for buying and 6.00 paisa for selling, closing at 75.62 and 76.22, respectively.&lt;/p&gt;
&lt;p&gt;Against Saudi Riyal, the PKR lost 2.00 paisa for buying and 1.00 paisa for selling, closing at 73.90 and 74.43, respectively.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Open-market rates for dollar on Wednesday&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;BID                            Rs 278.12&lt;/p&gt;
&lt;p&gt;OFFER                      Rs 279.20&lt;/p&gt;
</description>
      <content:encoded xmlns="http://purl.org/rss/1.0/modules/content/"><![CDATA[<iframe id="raw-html-6aaaa321e1682" class="raw-html-embed" style="width: 100%; min-height: 50px; max-height: 9200px; border: none; overflow: hidden;" scrolling="no" srcdoc="&lt;!DOCTYPE html&gt;
&lt;html&gt;
&lt;head&gt;
    &lt;style&gt;
        body { margin: 0; padding: 0; font-family: system-ui, -apple-system, sans-serif; overflow-wrap: anywhere; }
    &lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
    
&lt;!DOCTYPE html&gt;
&lt;html lang=&quot;en&quot;&gt;
&lt;head&gt;
    &lt;meta charset=&quot;UTF-8&quot;&gt;
    &lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1.0&quot;&gt;
    &lt;title&gt;PKR vs USD Exchange Rate Chart&lt;/title&gt;
    &lt;!-- Chart.js for interactive rendering --&gt;
    &lt;script src=&quot;https://cdn.jsdelivr.net/npm/chart.js&quot;&gt;&lt;/script&gt;
    
    &lt;style&gt;
        @import url(&#039;https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght=400;500;600;700&amp;display=swap&#039;);

        #pkr-chart-embed {
            font-family: &#039;Plus Jakarta Sans&#039;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, Roboto, sans-serif;
            max-width: 1000px;
            width: 100%;
            margin: 24px auto;
            background-color: #ffffff;
            border: 1px solid #e2e8f0;
            border-radius: 20px;
            padding: 24px;
            box-shadow: 0 10px 25px -5px rgba(15, 23, 42, 0.05), 0 8px 10px -6px rgba(15, 23, 42, 0.05);
            color: #0f172a;
            box-sizing: border-box;
        }

        #pkr-chart-embed * { box-sizing: border-box; margin: 0; padding: 0; }

        #pkr-chart-embed .chart-header {
            display: flex;
            flex-direction: column;
            gap: 20px;
            margin-bottom: 20px;
            width: 100%;
        }

        #pkr-chart-embed .top-row {
            display: flex;
            flex-direction: row;
            justify-content: space-between;
            align-items: flex-start;
            gap: 20px;
        }

        #pkr-chart-embed .calculator-area {
            display: flex;
            flex-direction: column;
            gap: 8px;
            align-items: flex-start;
        }

        #pkr-chart-embed .main-title {
            font-size: 22px;
            font-weight: 700;
            color: #0f172a;
            letter-spacing: -0.025em;
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            gap: 10px;
        }

        #pkr-chart-embed .currency-badge {
            font-size: 11px;
            font-weight: 600;
            color: #4f46e5;
            background-color: rgba(79, 70, 229, 0.08);
            padding: 3px 10px;
            border-radius: 9999px;
            border: 1px solid rgba(79, 70, 229, 0.15);
            text-transform: uppercase;
        }

        #pkr-chart-embed .calculator-title {
            font-size: 10px;
            font-weight: 700;
            color: #64748b;
            text-transform: uppercase;
            letter-spacing: 0.05em;
        }

        #pkr-chart-embed .converter {
            display: flex;
            align-items: center;
            background: #f8fafc;
            border: 1px solid #e2e8f0;
            border-radius: 12px;
            padding: 4px;
            gap: 6px;
        }

        #pkr-chart-embed .converter-group {
            display: flex;
            align-items: center;
            background: #ffffff;
            border-radius: 8px;
            padding: 6px 10px;
            box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
            border: 1px solid #e2e8f0;
        }

        #pkr-chart-embed .converter-input {
            border: none;
            outline: none;
            width: 90px;
            font-family: inherit;
            font-weight: 700;
            color: #0f172a;
            font-size: 14px;
            text-align: right;
            background: transparent;
        }

        #pkr-chart-embed .converter-input.pkr-field { width: 120px; }

        #pkr-chart-embed .converter-label {
            font-size: 11px;
            font-weight: 700;
            color: #64748b;
            margin-left: 6px;
        }

        #pkr-chart-embed .equals-sign { color: #94a3b8; font-weight: 600; font-size: 16px; }

        #pkr-chart-embed .rate-badge-container {
            display: flex;
            flex-direction: column;
            align-items: flex-end;
            gap: 6px;
        }

        #pkr-chart-embed .rate-label-sub { text-align: right; }
        #pkr-chart-embed .rate-label-sub span:first-child { display: block; font-size: 9px; text-transform: uppercase; font-weight: 700; color: #64748b; }
        #pkr-chart-embed .rate-label-sub span:last-child { display: block; font-size: 12px; color: #334155; font-weight: 600; }

        #pkr-chart-embed .rate-badge {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            background: linear-gradient(135deg, #4f46e5, #3b82f6);
            color: #ffffff;
            font-weight: 700;
            font-size: 14px;
            padding: 8px 14px;
            border-radius: 12px;
            box-shadow: 0 8px 16px -3px rgba(79, 70, 229, 0.25);
        }

        #pkr-chart-embed .pulse-dot { width: 8px; height: 8px; border-radius: 50%; background-color: #ffffff; animation: pkrPulse 1.5s infinite; }

        @keyframes pkrPulse {
            0% { transform: scale(0.95); opacity: 0.6; }
            50% { transform: scale(1.15); opacity: 1; }
            100% { transform: scale(0.95); opacity: 0.6; }
        }

        /* Controls &amp; Stats Toolbar */
        #pkr-chart-embed .toolbar {
            display: flex;
            justify-content: space-between;
            align-items: center;
            flex-wrap: wrap;
            gap: 12px;
            margin-bottom: 16px;
            padding-bottom: 12px;
            border-bottom: 1px solid #f1f5f9;
        }

        #pkr-chart-embed .timeframe-selector {
            display: flex;
            gap: 4px;
            background: #f1f5f9;
            padding: 3px;
            border-radius: 10px;
        }

        #pkr-chart-embed .tf-btn {
            border: none;
            background: transparent;
            font-family: inherit;
            font-size: 12px;
            font-weight: 600;
            color: #64748b;
            padding: 5px 12px;
            border-radius: 7px;
            cursor: pointer;
            transition: all 0.2s ease;
        }

        #pkr-chart-embed .tf-btn.active {
            background: #ffffff;
            color: #4f46e5;
            box-shadow: 0 1px 3px rgba(0,0,0,0.1);
        }

        #pkr-chart-embed .stats-row {
            display: flex;
            gap: 16px;
            flex-wrap: wrap;
        }

        #pkr-chart-embed .stat-item {
            font-size: 12px;
            color: #64748b;
        }

        #pkr-chart-embed .stat-item strong {
            color: #0f172a;
            font-weight: 700;
        }

        #pkr-chart-embed .chart-canvas-container { position: relative; width: 100%; height: 380px; }

        @media (max-width: 768px) {
            #pkr-chart-embed .chart-canvas-container { height: 300px; }
            #pkr-chart-embed .top-row { flex-direction: column; align-items: flex-start; }
            #pkr-chart-embed .rate-badge-container { align-items: flex-start; }
            #pkr-chart-embed .rate-label-sub { text-align: left; }
            #pkr-chart-embed .toolbar { flex-direction: column; align-items: flex-start; }
        }
    &lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
    &lt;div id=&quot;pkr-chart-embed&quot;&gt;
        &lt;div class=&quot;chart-header&quot;&gt;
            &lt;h1 class=&quot;main-title&quot;&gt;
                &lt;span&gt;PKR vs USD Exchange Rate&lt;/span&gt;
                &lt;span class=&quot;currency-badge&quot;&gt;USD / PKR&lt;/span&gt;
            &lt;/h1&gt;

            &lt;div class=&quot;top-row&quot;&gt;
                &lt;div class=&quot;calculator-area&quot;&gt;
                    &lt;span class=&quot;calculator-title&quot;&gt;Calculator&lt;/span&gt;
                    &lt;div class=&quot;converter&quot;&gt;
                        &lt;div class=&quot;converter-group&quot;&gt;
                            &lt;input type=&quot;text&quot; inputmode=&quot;decimal&quot; id=&quot;usdInput&quot; class=&quot;converter-input&quot; value=&quot;1&quot;&gt;
                            &lt;span class=&quot;converter-label&quot;&gt;USD&lt;/span&gt;
                        &lt;/div&gt;
                        &lt;span class=&quot;equals-sign&quot;&gt;=&lt;/span&gt;
                        &lt;div class=&quot;converter-group&quot;&gt;
                            &lt;input type=&quot;text&quot; inputmode=&quot;decimal&quot; id=&quot;pkrInput&quot; class=&quot;converter-input pkr-field&quot; value=&quot;&quot;&gt;
                            &lt;span class=&quot;converter-label&quot;&gt;PKR&lt;/span&gt;
                        &lt;/div&gt;
                    &lt;/div&gt;
                &lt;/div&gt;

                &lt;div class=&quot;rate-badge-container&quot;&gt;
                    &lt;div class=&quot;rate-label-sub&quot;&gt;
                        &lt;span&gt;Latest Closing&lt;/span&gt;
                        &lt;span id=&quot;latestDateLabel&quot;&gt;16-Sep-26&lt;/span&gt;
                    &lt;/div&gt;
                    &lt;div class=&quot;rate-badge&quot;&gt;
                        &lt;span class=&quot;pulse-dot&quot;&gt;&lt;/span&gt;
                        &lt;span id=&quot;latestBadgeRate&quot;&gt;277.27 PKR&lt;/span&gt;
                    &lt;/div&gt;
                &lt;/div&gt;
            &lt;/div&gt;
        &lt;/div&gt;

        &lt;div class=&quot;toolbar&quot;&gt;
            &lt;div class=&quot;timeframe-selector&quot;&gt;
                &lt;button class=&quot;tf-btn&quot; data-range=&quot;30&quot;&gt;1M&lt;/button&gt;
                &lt;button class=&quot;tf-btn&quot; data-range=&quot;90&quot;&gt;3M&lt;/button&gt;
                &lt;button class=&quot;tf-btn&quot; data-range=&quot;180&quot;&gt;6M&lt;/button&gt;
                &lt;button class=&quot;tf-btn&quot; data-range=&quot;365&quot;&gt;1Y&lt;/button&gt;
                &lt;button class=&quot;tf-btn active&quot; data-range=&quot;all&quot;&gt;ALL&lt;/button&gt;
            &lt;/div&gt;

            &lt;div class=&quot;stats-row&quot;&gt;
                &lt;span class=&quot;stat-item&quot;&gt;High: &lt;strong id=&quot;statHigh&quot;&gt;--&lt;/strong&gt;&lt;/span&gt;
                &lt;span class=&quot;stat-item&quot;&gt;Low: &lt;strong id=&quot;statLow&quot;&gt;--&lt;/strong&gt;&lt;/span&gt;
                &lt;span class=&quot;stat-item&quot;&gt;Avg: &lt;strong id=&quot;statAvg&quot;&gt;--&lt;/strong&gt;&lt;/span&gt;
                &lt;span class=&quot;stat-item&quot;&gt;Change: &lt;strong id=&quot;statChange&quot;&gt;--&lt;/strong&gt;&lt;/span&gt;
            &lt;/div&gt;
        &lt;/div&gt;

        &lt;div class=&quot;chart-canvas-container&quot;&gt;
            &lt;canvas id=&quot;closingRatesChart&quot;&gt;&lt;/canvas&gt;
        &lt;/div&gt;
    &lt;/div&gt;

    &lt;script&gt;
        (function() {
            // Full historical closing rate dataset with 16-Sep-26 appended
            const rawLabels = [&quot;04-Mar-25&quot;, &quot;05-Mar-25&quot;, &quot;06-Mar-25&quot;, &quot;07-Mar-25&quot;, &quot;10-Mar-25&quot;, &quot;11-Mar-25&quot;, &quot;12-Mar-25&quot;, &quot;13-Mar-25&quot;, &quot;14-Mar-25&quot;, &quot;17-Mar-25&quot;, &quot;18-Mar-25&quot;, &quot;19-Mar-25&quot;, &quot;20-Mar-25&quot;, &quot;21-Mar-25&quot;, &quot;24-Mar-25&quot;, &quot;25-Mar-25&quot;, &quot;26-Mar-25&quot;, &quot;27-Mar-25&quot;, &quot;28-Mar-25&quot;, &quot;03-Apr-25&quot;, &quot;04-Apr-25&quot;, &quot;07-Apr-25&quot;, &quot;08-Apr-25&quot;, &quot;09-Apr-25&quot;, &quot;10-Apr-25&quot;, &quot;11-Apr-25&quot;, &quot;14-Apr-25&quot;, &quot;15-Apr-25&quot;, &quot;16-Apr-25&quot;, &quot;17-Apr-25&quot;, &quot;18-Apr-25&quot;, &quot;21-Apr-25&quot;, &quot;22-Apr-25&quot;, &quot;23-Apr-25&quot;, &quot;24-Apr-25&quot;, &quot;25-Apr-25&quot;, &quot;28-Apr-25&quot;, &quot;29-Apr-25&quot;, &quot;30-Apr-25&quot;, &quot;02-May-25&quot;, &quot;05-May-25&quot;, &quot;06-May-25&quot;, &quot;07-May-25&quot;, &quot;08-May-25&quot;, &quot;09-May-25&quot;, &quot;12-May-25&quot;, &quot;13-May-25&quot;, &quot;14-May-25&quot;, &quot;15-May-25&quot;, &quot;16-May-25&quot;, &quot;19-May-25&quot;, &quot;20-May-25&quot;, &quot;21-May-25&quot;, &quot;22-May-25&quot;, &quot;23-May-25&quot;, &quot;26-May-25&quot;, &quot;27-May-25&quot;, &quot;29-May-25&quot;, &quot;30-May-25&quot;, &quot;02-Jun-25&quot;, &quot;03-Jun-25&quot;, &quot;04-Jun-25&quot;, &quot;05-Jun-25&quot;, &quot;10-Jun-25&quot;, &quot;11-Jun-25&quot;, &quot;12-Jun-25&quot;, &quot;13-Jun-25&quot;, &quot;16-Jun-25&quot;, &quot;17-Jun-25&quot;, &quot;18-Jun-25&quot;, &quot;19-Jun-25&quot;, &quot;20-Jun-25&quot;, &quot;23-Jun-25&quot;, &quot;24-Jun-25&quot;, &quot;25-Jun-25&quot;, &quot;26-Jun-25&quot;, &quot;27-Jun-25&quot;, &quot;30-Jun-25&quot;, &quot;02-Jul-25&quot;, &quot;03-Jul-25&quot;, &quot;04-Jul-25&quot;, &quot;07-Jul-25&quot;, &quot;08-Jul-25&quot;, &quot;09-Jul-25&quot;, &quot;10-Jul-25&quot;, &quot;11-Jul-25&quot;, &quot;14-Jul-25&quot;, &quot;15-Jul-25&quot;, &quot;16-Jul-25&quot;, &quot;17-Jul-25&quot;, &quot;18-Jul-25&quot;, &quot;21-Jul-25&quot;, &quot;22-Jul-25&quot;, &quot;23-Jul-25&quot;, &quot;24-Jul-25&quot;, &quot;25-Jul-25&quot;, &quot;28-Jul-25&quot;, &quot;29-Jul-25&quot;, &quot;30-Jul-25&quot;, &quot;31-Jul-25&quot;, &quot;01-Aug-25&quot;, &quot;04-Aug-25&quot;, &quot;05-Aug-25&quot;, &quot;06-Aug-25&quot;, &quot;07-Aug-25&quot;, &quot;08-Aug-25&quot;, &quot;11-Aug-25&quot;, &quot;12-Aug-25&quot;, &quot;13-Aug-25&quot;, &quot;15-Aug-25&quot;, &quot;18-Aug-25&quot;, &quot;19-Aug-25&quot;, &quot;20-Aug-25&quot;, &quot;21-Aug-25&quot;, &quot;22-Aug-25&quot;, &quot;25-Aug-25&quot;, &quot;26-Aug-25&quot;, &quot;27-Aug-25&quot;, &quot;28-Aug-25&quot;, &quot;29-Aug-25&quot;, &quot;01-Sep-25&quot;, &quot;02-Sep-25&quot;, &quot;03-Sep-25&quot;, &quot;04-Sep-25&quot;, &quot;05-Sep-25&quot;, &quot;08-Sep-25&quot;, &quot;09-Sep-25&quot;, &quot;10-Sep-25&quot;, &quot;11-Sep-25&quot;, &quot;12-Sep-25&quot;, &quot;15-Sep-25&quot;, &quot;16-Sep-25&quot;, &quot;17-Sep-25&quot;, &quot;18-Sep-25&quot;, &quot;19-Sep-25&quot;, &quot;21-Sep-25&quot;, &quot;22-Sep-25&quot;, &quot;23-Sep-25&quot;, &quot;24-Sep-25&quot;, &quot;25-Sep-25&quot;, &quot;26-Sep-25&quot;, &quot;29-Sep-25&quot;, &quot;30-Sep-25&quot;, &quot;01-Oct-25&quot;, &quot;02-Oct-25&quot;, &quot;03-Oct-25&quot;, &quot;06-Oct-25&quot;, &quot;07-Oct-25&quot;, &quot;08-Oct-25&quot;, &quot;09-Oct-25&quot;, &quot;10-Oct-25&quot;, &quot;13-Oct-25&quot;, &quot;14-Oct-25&quot;, &quot;15-Oct-25&quot;, &quot;16-Oct-25&quot;, &quot;17-Oct-25&quot;, &quot;20-Oct-25&quot;, &quot;21-Oct-25&quot;, &quot;22-Oct-25&quot;, &quot;23-Oct-25&quot;, &quot;24-Oct-25&quot;, &quot;27-Oct-25&quot;, &quot;28-Oct-25&quot;, &quot;29-Oct-25&quot;, &quot;30-Oct-25&quot;, &quot;31-Oct-25&quot;, &quot;03-Nov-25&quot;, &quot;04-Nov-25&quot;, &quot;05-Nov-25&quot;, &quot;06-Nov-25&quot;, &quot;07-Nov-25&quot;, &quot;10-Nov-25&quot;, &quot;11-Nov-25&quot;, &quot;12-Nov-25&quot;, &quot;13-Nov-25&quot;, &quot;14-Nov-25&quot;, &quot;17-Nov-25&quot;, &quot;18-Nov-25&quot;, &quot;19-Nov-25&quot;, &quot;20-Nov-25&quot;, &quot;21-Nov-25&quot;, &quot;24-Nov-25&quot;, &quot;25-Nov-25&quot;, &quot;26-Nov-25&quot;, &quot;27-Nov-25&quot;, &quot;28-Nov-25&quot;, &quot;01-Dec-25&quot;, &quot;02-Dec-25&quot;, &quot;03-Dec-25&quot;, &quot;04-Dec-25&quot;, &quot;05-Dec-25&quot;, &quot;08-Dec-25&quot;, &quot;09-Dec-25&quot;, &quot;10-Dec-25&quot;, &quot;11-Dec-25&quot;, &quot;12-Dec-25&quot;, &quot;15-Dec-25&quot;, &quot;16-Dec-25&quot;, &quot;17-Dec-25&quot;, &quot;18-Dec-25&quot;, &quot;19-Dec-25&quot;, &quot;22-Dec-25&quot;, &quot;23-Dec-25&quot;, &quot;24-Dec-25&quot;, &quot;26-Dec-25&quot;, &quot;29-Dec-25&quot;, &quot;30-Dec-25&quot;, &quot;31-Dec-25&quot;, &quot;02-Jan-26&quot;, &quot;05-Jan-26&quot;, &quot;06-Jan-26&quot;, &quot;07-Jan-26&quot;, &quot;08-Jan-26&quot;, &quot;09-Jan-26&quot;, &quot;12-Jan-26&quot;, &quot;13-Jan-26&quot;, &quot;14-Jan-26&quot;, &quot;15-Jan-26&quot;, &quot;16-Jan-26&quot;, &quot;19-Jan-26&quot;, &quot;20-Jan-26&quot;, &quot;21-Jan-26&quot;, &quot;22-Jan-26&quot;, &quot;23-Jan-26&quot;, &quot;26-Jan-26&quot;, &quot;27-Jan-26&quot;, &quot;28-Jan-26&quot;, &quot;29-Jan-26&quot;, &quot;30-Jan-26&quot;, &quot;02-Feb-26&quot;, &quot;03-Feb-26&quot;, &quot;04-Feb-26&quot;, &quot;06-Feb-26&quot;, &quot;09-Feb-26&quot;, &quot;10-Feb-26&quot;, &quot;11-Feb-26&quot;, &quot;12-Feb-26&quot;, &quot;13-Feb-26&quot;, &quot;16-Feb-26&quot;, &quot;17-Feb-26&quot;, &quot;18-Feb-26&quot;, &quot;20-Feb-26&quot;, &quot;23-Feb-26&quot;, &quot;24-Feb-26&quot;, &quot;25-Feb-26&quot;, &quot;26-Feb-26&quot;, &quot;27-Feb-26&quot;, &quot;02-Mar-26&quot;, &quot;03-Mar-26&quot;, &quot;04-Mar-26&quot;, &quot;05-Mar-26&quot;, &quot;06-Mar-26&quot;, &quot;09-Mar-26&quot;, &quot;10-Mar-26&quot;, &quot;11-Mar-26&quot;, &quot;12-Mar-26&quot;, &quot;13-Mar-26&quot;, &quot;16-Mar-26&quot;, &quot;17-Mar-26&quot;, &quot;18-Mar-26&quot;, &quot;19-Mar-26&quot;, &quot;24-Mar-26&quot;, &quot;25-Mar-26&quot;, &quot;26-Mar-26&quot;, &quot;27-Mar-26&quot;, &quot;30-Mar-26&quot;, &quot;31-Mar-26&quot;, &quot;01-Apr-26&quot;, &quot;02-Apr-26&quot;, &quot;03-Apr-26&quot;, &quot;04-Apr-26&quot;, &quot;06-Apr-26&quot;, &quot;07-Apr-26&quot;, &quot;08-Apr-26&quot;, &quot;09-Apr-26&quot;, &quot;10-Apr-26&quot;, &quot;13-Apr-26&quot;, &quot;14-Apr-26&quot;, &quot;14-Apr-26&quot;, &quot;15-Apr-26&quot;, &quot;16-Apr-26&quot;, &quot;17-Apr-26&quot;, &quot;20-Apr-26&quot;, &quot;21-Apr-26&quot;, &quot;22-Apr-26&quot;, &quot;23-Apr-26&quot;, &quot;24-Apr-26&quot;, &quot;27-Apr-26&quot;, &quot;28-Apr-26&quot;, &quot;29-Apr-26&quot;, &quot;30-Apr-26&quot;, &quot;04-May-26&quot;, &quot;05-May-26&quot;, &quot;06-May-26&quot;, &quot;07-May-26&quot;, &quot;08-May-26&quot;, &quot;11-May-26&quot;, &quot;12-May-26&quot;, &quot;13-May-26&quot;, &quot;14-May-26&quot;, &quot;15-May-26&quot;, &quot;18-May-26&quot;, &quot;19-May-26&quot;, &quot;20-May-26&quot;, &quot;21-May-26&quot;, &quot;22-May-26&quot;, &quot;25-May-26&quot;, &quot;29-May-26&quot;, &quot;01-Jun-26&quot;, &quot;02-Jun-26&quot;, &quot;03-Jun-26&quot;, &quot;04-Jun-26&quot;, &quot;05-Jun-26&quot;, &quot;08-Jun-26&quot;, &quot;09-Jun-26&quot;, &quot;10-Jun-26&quot;, &quot;11-Jun-26&quot;, &quot;12-Jun-26&quot;, &quot;15-Jun-26&quot;, &quot;16-Jun-26&quot;, &quot;17-Jun-26&quot;, &quot;18-Jun-26&quot;, &quot;19-Jun-26&quot;, &quot;22-Jun-26&quot;, &quot;23-Jun-26&quot;, &quot;24-Jun-26&quot;, &quot;29-Jun-26&quot;, &quot;30-Jun-26&quot;, &quot;02-Jul-26&quot;, &quot;03-Jul-26&quot;, &quot;06-Jul-26&quot;, &quot;07-Jul-26&quot;, &quot;08-Jul-26&quot;, &quot;09-Jul-26&quot;, &quot;10-Jul-26&quot;, &quot;13-Jul-26&quot;, &quot;14-Jul-26&quot;, &quot;15-Jul-26&quot;, &quot;16-Jul-26&quot;, &quot;17-Jul-26&quot;, &quot;20-Jul-26&quot;, &quot;21-Jul-26&quot;, &quot;22-Jul-26&quot;, &quot;23-Jul-26&quot;, &quot;24-Jul-26&quot;, &quot;27-Jul-26&quot;, &quot;28-Jul-26&quot;, &quot;29-Jul-26&quot;, &quot;30-Jul-26&quot;, &quot;03-Aug-26&quot;, &quot;04-Aug-26&quot;, &quot;05-Aug-26&quot;, &quot;06-Aug-26&quot;, &quot;07-Aug-26&quot;, &quot;10-Aug-26&quot;, &quot;11-Aug-26&quot;, &quot;12-Aug-26&quot;, &quot;13-Aug-26&quot;, &quot;17-Aug-26&quot;, &quot;18-Aug-26&quot;, &quot;20-Aug-26&quot;, &quot;21-Aug-26&quot;, &quot;24-Aug-26&quot;, &quot;25-Aug-26&quot;, &quot;27-Aug-26&quot;, &quot;28-Aug-26&quot;, &quot;31-Aug-26&quot;, &quot;01-Sep-26&quot;, &quot;02-Sep-26&quot;, &quot;03-Sep-26&quot;, &quot;04-Sep-26&quot;, &quot;07-Sep-26&quot;, &quot;08-Sep-26&quot;, &quot;09-Sep-26&quot;, &quot;10-Sep-26&quot;, &quot;11-Sep-26&quot;, &quot;14-Sep-26&quot;, &quot;15-Sep-26&quot;, &quot;16-Sep-26&quot;];
            
            const rawData = [279.77, 279.87, 279.82, 279.97, 280.07, 279.95, 279.97, 280.05, 280.21, 280.17, 280.27, 280.21, 280.22, 280.26, 280.37, 280.42, 280.26, 280.22, 280.16, 280.56, 280.47, 280.57, 280.73, 280.78, 280.56, 280.47, 280.60, 280.57, 280.46, 280.62, 280.72, 280.87, 280.77, 280.97, 281.07, 280.97, 281.07, 281.02, 280.97, 281.06, 281.22, 281.37, 281.47, 281.52, 281.71, 281.57, 281.67, 281.72, 281.61, 281.66, 281.77, 281.92, 281.97, 282.06, 281.97, 282.06, 282.17, 282.07, 282.02, 281.97, 282.12, 282.22, 282.17, 282.21, 282.47, 282.67, 282.96, 283.17, 283.41, 283.55, 283.64, 283.70, 283.87, 283.77, 283.72, 283.67, 283.72, 283.76, 283.95, 283.86, 283.97, 284.22, 284.36, 284.47, 284.56, 284.46, 284.72, 284.67, 284.96, 284.97, 284.87, 284.95, 284.97, 284.76, 284.22, 283.45, 283.21, 283.05, 282.95, 282.87, 282.72, 282.66, 282.57, 282.67, 282.56, 282.47, 282.45, 282.42, 282.22, 282.06, 282.01, 281.96, 281.95, 281.92, 281.90, 281.87, 281.86, 281.83, 281.80, 281.77, 281.75, 281.72, 281.71, 281.67, 281.65, 281.62, 281.61, 281.60, 281.56, 281.55, 281.52, 281.51, 281.50, 281.47, 281.46, 281.45, 281.46, 281.42, 281.43, 281.41, 281.37, 281.35, 281.32, 281.31, 281.27, 281.26, 281.25, 281.22, 281.21, 281.20, 281.17, 281.16, 281.15, 281.12, 281.11, 281.10, 281.07, 281.06, 281.05, 281.03, 281.02, 281.01, 280.97, 280.96, 280.92, 280.91, 280.90, 280.87, 280.86, 280.85, 280.82, 280.81, 280.78, 280.77, 280.76, 280.72, 280.71, 280.67, 280.66, 280.66, 280.65, 280.62, 280.61, 280.57, 280.56, 280.55, 280.52, 280.51, 280.47, 280.46, 280.45, 280.42, 280.41, 280.40, 280.37, 280.36, 280.32, 280.31, 280.30, 280.27, 280.26, 280.25, 280.22, 280.21, 280.20, 280.17, 280.16, 280.15, 280.12, 280.11, 280.10, 280.07, 280.06, 280.05, 280.02, 280.01, 280.00, 279.97, 279.96, 279.95, 279.92, 279.91, 279.90, 279.87, 279.86, 279.85, 279.82, 279.81, 279.80, 279.77, 279.76, 279.75, 279.72, 279.71, 279.70, 279.67, 279.66, 279.65, 279.62, 279.61, 279.60, 279.57, 279.56, 279.55, 279.52, 279.51, 279.50, 279.47, 279.46, 279.45, 279.42, 279.41, 279.40, 279.37, 279.36, 279.35, 279.32, 279.31, 279.30, 279.27, 279.26, 279.25, 279.22, 279.21, 279.20, 279.17, 279.16, 279.15, 279.12, 279.11, 279.10, 279.07, 279.06, 279.05, 279.02, 279.01, 279.00, 278.97, 278.96, 278.95, 278.92, 278.91, 278.90, 278.87, 278.86, 278.85, 278.82, 278.81, 278.80, 278.77, 278.76, 278.75, 278.72, 278.71, 278.70, 278.67, 278.66, 278.65, 278.62, 278.61, 278.60, 278.57, 278.56, 278.55, 278.52, 278.51, 278.50, 278.47, 278.46, 278.45, 278.42, 278.41, 278.40, 278.37, 278.36, 278.35, 278.32, 278.31, 278.30, 278.27, 278.26, 278.25, 278.22, 278.21, 278.20, 278.17, 278.16, 278.15, 278.12, 278.11, 278.10, 278.07, 278.06, 278.05, 278.02, 278.01, 278.00, 277.95, 277.95, 277.92, 277.91, 277.90, 277.87, 277.86, 277.85, 277.82, 277.81, 277.80, 277.77, 277.76, 277.75, 277.72, 277.71, 277.70, 277.67, 277.66, 277.65, 277.62, 277.61, 277.57, 277.56, 277.55, 277.52, 277.51, 277.50, 277.47, 277.46, 277.45, 277.42, 277.41, 277.40, 277.37, 277.36, 277.35, 277.32, 277.31, 277.30, 277.27];

            const currentExchangeRate = rawData[rawData.length - 1];
            const currentExchangeDate = rawLabels[rawLabels.length - 1];

            // DOM Elements
            const usdInput = document.getElementById(&#039;usdInput&#039;);
            const pkrInput = document.getElementById(&#039;pkrInput&#039;);
            const badgeEl = document.getElementById(&#039;latestBadgeRate&#039;);
            const dateLabelEl = document.getElementById(&#039;latestDateLabel&#039;);

            const statHighEl = document.getElementById(&#039;statHigh&#039;);
            const statLowEl = document.getElementById(&#039;statLow&#039;);
            const statAvgEl = document.getElementById(&#039;statAvg&#039;);
            const statChangeEl = document.getElementById(&#039;statChange&#039;);

            // Format helpers
            const formatCurrency = (val, maxDecimals = 2, minDecimals = 2) =&gt; {
                if (isNaN(val) || val === null) return &#039;--&#039;;
                return val.toLocaleString(&#039;en-US&#039;, {
                    minimumFractionDigits: minDecimals,
                    maximumFractionDigits: maxDecimals
                });
            };

            const parseCurrency = (valStr) =&gt; {
                if (!valStr) return NaN;
                return parseFloat(valStr.toString().replace(/,/g, &#039;&#039;));
            };

            // Set Initial Values in UI
            dateLabelEl.textContent = currentExchangeDate;
            badgeEl.textContent = formatCurrency(currentExchangeRate) + &#039; PKR&#039;;
            pkrInput.value = formatCurrency(currentExchangeRate);

            // Converter Event Listeners
            usdInput.addEventListener(&#039;input&#039;, (e) =&gt; {
                const val = parseCurrency(e.target.value);
                if (isNaN(val)) {
                    pkrInput.value = &#039;&#039;;
                } else {
                    pkrInput.value = formatCurrency(val * currentExchangeRate);
                }
            });

            pkrInput.addEventListener(&#039;input&#039;, (e) =&gt; {
                const val = parseCurrency(e.target.value);
                if (isNaN(val)) {
                    usdInput.value = &#039;&#039;;
                } else {
                    usdInput.value = formatCurrency(val / currentExchangeRate, 4, 2);
                }
            });

            usdInput.addEventListener(&#039;blur&#039;, (e) =&gt; {
                const val = parseCurrency(e.target.value);
                if (!isNaN(val)) {
                    e.target.value = formatCurrency(val, 2, 0);
                }
            });

            pkrInput.addEventListener(&#039;blur&#039;, (e) =&gt; {
                const val = parseCurrency(e.target.value);
                if (!isNaN(val)) {
                    e.target.value = formatCurrency(val, 2, 2);
                }
            });

            const ctx = document.getElementById(&#039;closingRatesChart&#039;).getContext(&#039;2d&#039;);
            
            // Create gradient fill
            const gradient = ctx.createLinearGradient(0, 0, 0, 350);
            gradient.addColorStop(0, &#039;rgba(79, 70, 229, 0.25)&#039;);
            gradient.addColorStop(1, &#039;rgba(79, 70, 229, 0.0)&#039;);

            let chartInstance = new Chart(ctx, {
                type: &#039;line&#039;,
                data: {
                    labels: rawLabels,
                    datasets: [{
                        label: &#039;USD to PKR&#039;,
                        data: rawData,
                        borderColor: &#039;#4f46e5&#039;,
                        borderWidth: 2,
                        backgroundColor: gradient,
                        fill: true,
                        tension: 0.3,
                        pointRadius: 0,
                        pointHoverRadius: 6,
                        pointHoverBackgroundColor: &#039;#4f46e5&#039;,
                        pointHoverBorderColor: &#039;#ffffff&#039;,
                        pointHoverBorderWidth: 2
                    }]
                },
                options: {
                    responsive: true,
                    maintainAspectRatio: false,
                    interaction: {
                        intersect: false,
                        mode: &#039;index&#039;
                    },
                    plugins: {
                        legend: { display: false },
                        tooltip: {
                            backgroundColor: &#039;#0f172a&#039;,
                            titleFont: { family: &#039;Plus Jakarta Sans&#039;, size: 12, weight: &#039;bold&#039; },
                            bodyFont: { family: &#039;Plus Jakarta Sans&#039;, size: 13 },
                            padding: 10,
                            cornerRadius: 8,
                            displayColors: false,
                            callbacks: {
                                label: function(context) {
                                    return &#039;Rate: &#039; + formatCurrency(context.parsed.y) + &#039; PKR&#039;;
                                }
                            }
                        }
                    },
                    scales: {
                        x: {
                            grid: { display: false },
                            ticks: {
                                font: { family: &#039;Plus Jakarta Sans&#039;, size: 11 },
                                color: &#039;#64748b&#039;,
                                maxTicksLimit: 8,
                                maxRotation: 0
                            }
                        },
                        y: {
                            grid: { color: &#039;#f1f5f9&#039; },
                            ticks: {
                                font: { family: &#039;Plus Jakarta Sans&#039;, size: 11 },
                                color: &#039;#64748b&#039;,
                                callback: function(value) {
                                    return value.toFixed(1);
                                }
                            }
                        }
                    }
                }
            });

            function updateRangeStats(labels, data) {
                if (!data || data.length === 0) return;

                const high = Math.max(...data);
                const low = Math.min(...data);
                const avg = data.reduce((a, b) =&gt; a + b, 0) / data.length;
                const startVal = data[0];
                const endVal = data[data.length - 1];
                const change = endVal - startVal;
                const changePct = (change / startVal) * 100;

                statHighEl.textContent = formatCurrency(high);
                statLowEl.textContent = formatCurrency(low);
                statAvgEl.textContent = formatCurrency(avg);

                const sign = change &gt;= 0 ? &#039;+&#039; : &#039;&#039;;
                statChangeEl.textContent = `${sign}${formatCurrency(change)} (${sign}${changePct.toFixed(2)}%)`;
                statChangeEl.style.color = change &gt; 0 ? &#039;#10b981&#039; : (change &lt; 0 ? &#039;#ef4444&#039; : &#039;#64748b&#039;);
            }

            // Timeframe filtering handler
            function setTimeframe(rangeCount) {
                let slicedLabels = rawLabels;
                let slicedData = rawData;

                if (rangeCount !== &#039;all&#039;) {
                    const count = parseInt(rangeCount, 10);
                    slicedLabels = rawLabels.slice(-count);
                    slicedData = rawData.slice(-count);
                }

                chartInstance.data.labels = slicedLabels;
                chartInstance.data.datasets[0].data = slicedData;

                // Adjust Y axis dynamic scaling
                const minVal = Math.min(...slicedData);
                const maxVal = Math.max(...slicedData);
                const padding = (maxVal - minVal) * 0.1 || 1;
                
                chartInstance.options.scales.y.min = Math.floor((minVal - padding) * 10) / 10;
                chartInstance.options.scales.y.max = Math.ceil((maxVal + padding) * 10) / 10;

                chartInstance.update();
                updateRangeStats(slicedLabels, slicedData);
            }

            // Setup timeframe button listeners
            document.querySelectorAll(&#039;#pkr-chart-embed .tf-btn&#039;).forEach(btn =&gt; {
                btn.addEventListener(&#039;click&#039;, (e) =&gt; {
                    document.querySelectorAll(&#039;#pkr-chart-embed .tf-btn&#039;).forEach(b =&gt; b.classList.remove(&#039;active&#039;));
                    e.target.classList.add(&#039;active&#039;);
                    setTimeframe(e.target.getAttribute(&#039;data-range&#039;));
                });
            });

            // Initial range load
            setTimeframe(&#039;all&#039;);
        })();
    &lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;
    &lt;script&gt;
        function reportHeight() {
            var h = document.documentElement.scrollHeight;
            window.parent.postMessage({ type: &#039;raw-html-resize&#039;, id: &#039;raw-html-6aaaa321e1682&#039;, height: h }, &#039;*&#039;);
        }
        window.addEventListener(&#039;load&#039;, reportHeight);
        if (window.ResizeObserver) {
            new ResizeObserver(reportHeight).observe(document.body);
        }
    &lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;"></iframe>
<script>
if (!window._rawHtmlListenerAttached) {
    window._rawHtmlListenerAttached = true;
    window.addEventListener('message', function(event) {
        if (event.data && event.data.type === 'raw-html-resize' && event.data.id) {
            var iframe = document.getElementById(event.data.id);
            if (iframe) {
                var height = Math.min(Math.max(event.data.height, 50), 9200);
                iframe.style.height = height + 'px';
            }
        }
    });
}
</script>
<p><strong>The Pakistani rupee extended its marginal gains, appreciating 0.01%, against the US dollar in the interbank market on Wednesday.</strong></p>
<p>The local unit closed the day at 277.27, a gain of Re0.03 against the greenback.</p>
    <figure class='media  w-full sm:w-full  media--center  media--embed  media--uneven media--tweet' data-original-src='https://x.com/StateBank_Pak/status/2100188395633045822'>
        <div class='media__item  media__item--twitter  '><span>
    <blockquote class="twitter-tweet" lang="en">
        <a href="https://twitter.com/StateBank_Pak/status/2100188395633045822"></a>
    </blockquote>
</span></div>
        
    </figure>
<p><a href="https://www.brecorder.com/news/40439590/intra-day-update-rupee-records-gain-against-us-dollar">On Tuesday</a>, the Pakistani rupee settled at 277.30 against the dollar.</p>
<p>Internationally, the <a href="https://www.brecorder.com/news/40439726/dollar-girded-by-bets-on-a-us-hiking-cycle">US dollar was hanging </a>on to recent gains on ​Wednesday and trading near multi-week highs on a handful of major peers ahead of a Federal Reserve decision where traders expect ‌the first of what could be several US interest rate hikes.</p>
<p>The US dollar had advanced along with yields overnight, running furthest against the ⁠yen and New Zealand dollar, leaving the kiwi to hit a two-month low of $0.5749 in Asia morning trade and the yen at a one-week ​low of 155.43 per dollar.</p>
<p>At $1.1535, the euro was not far from Monday’s one-month low of $1.1523, while sterling, at $1.3470, was not far above a six-week ​trough of $1.3464 it had made on Monday.</p>
<p>Currency markets haven’t really moved that much while global bond yields have been climbing in concert over recent weeks because sovereign bonds have moved in tandem and not shifted relative differences between countries’ yields very far.</p>
<p>But the dollar’s gained traction in the last few sessions on thinking that ​despite Warsh being hired by President Donald Trump to cut interest rates, he’ll need to hike a few times to show the Fed is ​serious about taming inflation that is being fanned by war with Iran and the resulting energy price surge.</p>
<p><a href="https://www.brecorder.com/news/40439723/oil-slips-on-us-stock-build-middle-east-disruptions-limit-losses">Oil prices</a>, a key indicator of currency parity, fell on Wednesday as reports that Saudi Arabia was offering additional crude cargoes via Oman eased concerns about the scale of Middle East supply disruptions, while European diesel prices hovered near a record high.</p>
<p>Brent crude futures were down $1.30, or 1.2%, at $107.45 a barrel by 1307 GMT.</p>
<p>U.S. West Texas Intermediate futures were down $1.96, or 1.85%, at $103.87.</p>
<p><strong>Inter-bank market rates for dollar on Wednesday</strong></p>
<p>BID                            Rs 277.27</p>
<p>OFFER                      Rs 277.47</p>
<p><strong>Open-market movement</strong></p>
<p>In the open market, the PKR gained 4.00 paisa for buying and lost 18.00 paisa for selling against USD, closing at 278.12 and 279.20, respectively.</p>
<p>Against Euro, the PKR lost 9.00 paisa for buying and 35.00 paisa for selling, closing at 320.08 and 322.98, respectively.</p>
<p>Against UAE Dirham, the PKR lost 2.00 paisa for buying and 6.00 paisa for selling, closing at 75.62 and 76.22, respectively.</p>
<p>Against Saudi Riyal, the PKR lost 2.00 paisa for buying and 1.00 paisa for selling, closing at 73.90 and 74.43, respectively.</p>
<p><strong>Open-market rates for dollar on Wednesday</strong></p>
<p>BID                            Rs 278.12</p>
<p>OFFER                      Rs 279.20</p>
]]></content:encoded>
      <category>Markets</category>
      <guid>https://www.brecorder.com/news/40439776</guid>
      <pubDate>Wed, 16 Sep 2026 19:09:37 +0500</pubDate>
      <author>none@none.com (Recorder Report)</author>
      <media:content url="https://i.brecorder.com/large/2026/09/161623392aee13c.webp" type="image/webp" medium="image" height="768" width="1024">
        <media:thumbnail url="https://i.brecorder.com/thumbnail/2026/09/161623392aee13c.webp"/>
        <media:title/>
      </media:content>
    </item>
    <item xmlns:default="http://purl.org/rss/1.0/modules/content/">
      <title>Rupee sees improvement against US dollar</title>
      <link>https://www.brecorder.com/news/40439590/intra-day-update-rupee-records-gain-against-us-dollar</link>
      <description>&lt;iframe id="raw-html-6aa953545c30d" class="raw-html-embed" style="width: 100%; min-height: 50px; max-height: 9200px; border: none; overflow: hidden;" scrolling="no" srcdoc="&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html&amp;gt;
&amp;lt;head&amp;gt;
    &amp;lt;style&amp;gt;
        body { margin: 0; padding: 0; font-family: system-ui, -apple-system, sans-serif; overflow-wrap: anywhere; }
    &amp;lt;/style&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
    
&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html lang=&amp;quot;en&amp;quot;&amp;gt;
&amp;lt;head&amp;gt;
    &amp;lt;meta charset=&amp;quot;UTF-8&amp;quot;&amp;gt;
    &amp;lt;meta name=&amp;quot;viewport&amp;quot; content=&amp;quot;width=device-width, initial-scale=1.0&amp;quot;&amp;gt;
    &amp;lt;title&amp;gt;PKR vs USD Exchange Rate Chart&amp;lt;/title&amp;gt;
    &amp;lt;!-- Chart.js for interactive rendering --&amp;gt;
    &amp;lt;script src=&amp;quot;https://cdn.jsdelivr.net/npm/chart.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;
    
    &amp;lt;style&amp;gt;
        @import url(&amp;#039;https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght=400;500;600;700&amp;amp;display=swap&amp;#039;);

        #pkr-chart-embed {
            font-family: &amp;#039;Plus Jakarta Sans&amp;#039;, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, sans-serif;
            max-width: 1000px;
            width: 100%;
            margin: 24px auto;
            background-color: #ffffff;
            border: 1px solid #e2e8f0;
            border-radius: 20px;
            padding: 24px;
            box-shadow: 0 10px 25px -5px rgba(15, 23, 42, 0.05), 0 8px 10px -6px rgba(15, 23, 42, 0.05);
            color: #0f172a;
            box-sizing: border-box;
        }

        #pkr-chart-embed * { box-sizing: border-box; margin: 0; padding: 0; }

        #pkr-chart-embed .chart-header {
            display: flex;
            flex-direction: column;
            gap: 20px;
            margin-bottom: 20px;
            width: 100%;
        }

        #pkr-chart-embed .top-row {
            display: flex;
            flex-direction: row;
            justify-content: space-between;
            align-items: flex-start;
            gap: 20px;
        }

        #pkr-chart-embed .calculator-area {
            display: flex;
            flex-direction: column;
            gap: 8px;
            align-items: flex-start;
        }

        #pkr-chart-embed .main-title {
            font-size: 22px;
            font-weight: 700;
            color: #0f172a;
            letter-spacing: -0.025em;
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            gap: 10px;
        }

        #pkr-chart-embed .currency-badge {
            font-size: 11px;
            font-weight: 600;
            color: #4f46e5;
            background-color: rgba(79, 70, 229, 0.08);
            padding: 3px 10px;
            border-radius: 9999px;
            border: 1px solid rgba(79, 70, 229, 0.15);
            text-transform: uppercase;
        }

        #pkr-chart-embed .calculator-title {
            font-size: 10px;
            font-weight: 700;
            color: #64748b;
            text-transform: uppercase;
            letter-spacing: 0.05em;
        }

        #pkr-chart-embed .converter {
            display: flex;
            align-items: center;
            background: #f8fafc;
            border: 1px solid #e2e8f0;
            border-radius: 12px;
            padding: 4px;
            gap: 6px;
        }

        #pkr-chart-embed .converter-group {
            display: flex;
            align-items: center;
            background: #ffffff;
            border-radius: 8px;
            padding: 6px 10px;
            box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
            border: 1px solid #e2e8f0;
        }

        #pkr-chart-embed .converter-input {
            border: none;
            outline: none;
            width: 90px;
            font-family: inherit;
            font-weight: 700;
            color: #0f172a;
            font-size: 14px;
            text-align: right;
            background: transparent;
        }

        #pkr-chart-embed .converter-input.pkr-field { width: 120px; }

        #pkr-chart-embed .converter-label {
            font-size: 11px;
            font-weight: 700;
            color: #64748b;
            margin-left: 6px;
        }

        #pkr-chart-embed .equals-sign { color: #94a3b8; font-weight: 600; font-size: 16px; }

        #pkr-chart-embed .rate-badge-container {
            display: flex;
            flex-direction: column;
            align-items: flex-end;
            gap: 6px;
        }

        #pkr-chart-embed .rate-label-sub { text-align: right; }
        #pkr-chart-embed .rate-label-sub span:first-child { display: block; font-size: 9px; text-transform: uppercase; font-weight: 700; color: #64748b; }
        #pkr-chart-embed .rate-label-sub span:last-child { display: block; font-size: 12px; color: #334155; font-weight: 600; }

        #pkr-chart-embed .rate-badge {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            background: linear-gradient(135deg, #4f46e5, #3b82f6);
            color: #ffffff;
            font-weight: 700;
            font-size: 14px;
            padding: 8px 14px;
            border-radius: 12px;
            box-shadow: 0 8px 16px -3px rgba(79, 70, 229, 0.25);
        }

        #pkr-chart-embed .pulse-dot { width: 8px; height: 8px; border-radius: 50%; background-color: #ffffff; animation: pkrPulse 1.5s infinite; }

        @keyframes pkrPulse {
            0% { transform: scale(0.95); opacity: 0.6; }
            50% { transform: scale(1.15); opacity: 1; }
            100% { transform: scale(0.95); opacity: 0.6; }
        }

        /* Controls &amp;amp; Stats Toolbar */
        #pkr-chart-embed .toolbar {
            display: flex;
            justify-content: space-between;
            align-items: center;
            flex-wrap: wrap;
            gap: 12px;
            margin-bottom: 16px;
            padding-bottom: 12px;
            border-bottom: 1px solid #f1f5f9;
        }

        #pkr-chart-embed .timeframe-selector {
            display: flex;
            gap: 4px;
            background: #f1f5f9;
            padding: 3px;
            border-radius: 10px;
        }

        #pkr-chart-embed .tf-btn {
            border: none;
            background: transparent;
            font-family: inherit;
            font-size: 12px;
            font-weight: 600;
            color: #64748b;
            padding: 5px 12px;
            border-radius: 7px;
            cursor: pointer;
            transition: all 0.2s ease;
        }

        #pkr-chart-embed .tf-btn.active {
            background: #ffffff;
            color: #4f46e5;
            box-shadow: 0 1px 3px rgba(0,0,0,0.1);
        }

        #pkr-chart-embed .stats-row {
            display: flex;
            gap: 16px;
            flex-wrap: wrap;
        }

        #pkr-chart-embed .stat-item {
            font-size: 12px;
            color: #64748b;
        }

        #pkr-chart-embed .stat-item strong {
            color: #0f172a;
            font-weight: 700;
        }

        #pkr-chart-embed .chart-canvas-container { position: relative; width: 100%; height: 380px; }

        @media (max-width: 768px) {
            #pkr-chart-embed .chart-canvas-container { height: 300px; }
            #pkr-chart-embed .top-row { flex-direction: column; align-items: flex-start; }
            #pkr-chart-embed .rate-badge-container { align-items: flex-start; }
            #pkr-chart-embed .rate-label-sub { text-align: left; }
            #pkr-chart-embed .toolbar { flex-direction: column; align-items: flex-start; }
        }
    &amp;lt;/style&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
    &amp;lt;div id=&amp;quot;pkr-chart-embed&amp;quot;&amp;gt;
        &amp;lt;div class=&amp;quot;chart-header&amp;quot;&amp;gt;
            &amp;lt;h1 class=&amp;quot;main-title&amp;quot;&amp;gt;
                &amp;lt;span&amp;gt;PKR vs USD Exchange Rate&amp;lt;/span&amp;gt;
                &amp;lt;span class=&amp;quot;currency-badge&amp;quot;&amp;gt;USD / PKR&amp;lt;/span&amp;gt;
            &amp;lt;/h1&amp;gt;

            &amp;lt;div class=&amp;quot;top-row&amp;quot;&amp;gt;
                &amp;lt;div class=&amp;quot;calculator-area&amp;quot;&amp;gt;
                    &amp;lt;span class=&amp;quot;calculator-title&amp;quot;&amp;gt;Calculator&amp;lt;/span&amp;gt;
                    &amp;lt;div class=&amp;quot;converter&amp;quot;&amp;gt;
                        &amp;lt;div class=&amp;quot;converter-group&amp;quot;&amp;gt;
                            &amp;lt;input type=&amp;quot;text&amp;quot; inputmode=&amp;quot;decimal&amp;quot; id=&amp;quot;usdInput&amp;quot; class=&amp;quot;converter-input&amp;quot; value=&amp;quot;1&amp;quot;&amp;gt;
                            &amp;lt;span class=&amp;quot;converter-label&amp;quot;&amp;gt;USD&amp;lt;/span&amp;gt;
                        &amp;lt;/div&amp;gt;
                        &amp;lt;span class=&amp;quot;equals-sign&amp;quot;&amp;gt;=&amp;lt;/span&amp;gt;
                        &amp;lt;div class=&amp;quot;converter-group&amp;quot;&amp;gt;
                            &amp;lt;input type=&amp;quot;text&amp;quot; inputmode=&amp;quot;decimal&amp;quot; id=&amp;quot;pkrInput&amp;quot; class=&amp;quot;converter-input pkr-field&amp;quot; value=&amp;quot;&amp;quot;&amp;gt;
                            &amp;lt;span class=&amp;quot;converter-label&amp;quot;&amp;gt;PKR&amp;lt;/span&amp;gt;
                        &amp;lt;/div&amp;gt;
                    &amp;lt;/div&amp;gt;
                &amp;lt;/div&amp;gt;

                &amp;lt;div class=&amp;quot;rate-badge-container&amp;quot;&amp;gt;
                    &amp;lt;div class=&amp;quot;rate-label-sub&amp;quot;&amp;gt;
                        &amp;lt;span&amp;gt;Latest Closing&amp;lt;/span&amp;gt;
                        &amp;lt;span id=&amp;quot;latestDateLabel&amp;quot;&amp;gt;15-Sep-26&amp;lt;/span&amp;gt;
                    &amp;lt;/div&amp;gt;
                    &amp;lt;div class=&amp;quot;rate-badge&amp;quot;&amp;gt;
                        &amp;lt;span class=&amp;quot;pulse-dot&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;
                        &amp;lt;span id=&amp;quot;latestBadgeRate&amp;quot;&amp;gt;277.30 PKR&amp;lt;/span&amp;gt;
                    &amp;lt;/div&amp;gt;
                &amp;lt;/div&amp;gt;
            &amp;lt;/div&amp;gt;
        &amp;lt;/div&amp;gt;

        &amp;lt;div class=&amp;quot;toolbar&amp;quot;&amp;gt;
            &amp;lt;div class=&amp;quot;timeframe-selector&amp;quot;&amp;gt;
                &amp;lt;button class=&amp;quot;tf-btn&amp;quot; data-range=&amp;quot;30&amp;quot;&amp;gt;1M&amp;lt;/button&amp;gt;
                &amp;lt;button class=&amp;quot;tf-btn&amp;quot; data-range=&amp;quot;90&amp;quot;&amp;gt;3M&amp;lt;/button&amp;gt;
                &amp;lt;button class=&amp;quot;tf-btn&amp;quot; data-range=&amp;quot;180&amp;quot;&amp;gt;6M&amp;lt;/button&amp;gt;
                &amp;lt;button class=&amp;quot;tf-btn&amp;quot; data-range=&amp;quot;365&amp;quot;&amp;gt;1Y&amp;lt;/button&amp;gt;
                &amp;lt;button class=&amp;quot;tf-btn active&amp;quot; data-range=&amp;quot;all&amp;quot;&amp;gt;ALL&amp;lt;/button&amp;gt;
            &amp;lt;/div&amp;gt;

            &amp;lt;div class=&amp;quot;stats-row&amp;quot;&amp;gt;
                &amp;lt;span class=&amp;quot;stat-item&amp;quot;&amp;gt;High: &amp;lt;strong id=&amp;quot;statHigh&amp;quot;&amp;gt;--&amp;lt;/strong&amp;gt;&amp;lt;/span&amp;gt;
                &amp;lt;span class=&amp;quot;stat-item&amp;quot;&amp;gt;Low: &amp;lt;strong id=&amp;quot;statLow&amp;quot;&amp;gt;--&amp;lt;/strong&amp;gt;&amp;lt;/span&amp;gt;
                &amp;lt;span class=&amp;quot;stat-item&amp;quot;&amp;gt;Avg: &amp;lt;strong id=&amp;quot;statAvg&amp;quot;&amp;gt;--&amp;lt;/strong&amp;gt;&amp;lt;/span&amp;gt;
                &amp;lt;span class=&amp;quot;stat-item&amp;quot;&amp;gt;Change: &amp;lt;strong id=&amp;quot;statChange&amp;quot;&amp;gt;--&amp;lt;/strong&amp;gt;&amp;lt;/span&amp;gt;
            &amp;lt;/div&amp;gt;
        &amp;lt;/div&amp;gt;

        &amp;lt;div class=&amp;quot;chart-canvas-container&amp;quot;&amp;gt;
            &amp;lt;canvas id=&amp;quot;closingRatesChart&amp;quot;&amp;gt;&amp;lt;/canvas&amp;gt;
        &amp;lt;/div&amp;gt;
    &amp;lt;/div&amp;gt;

    &amp;lt;script&amp;gt;
        (function() {
            // Full historical closing rate dataset with 15-Sep-26 appended
            const rawLabels = [&amp;quot;04-Mar-25&amp;quot;, &amp;quot;05-Mar-25&amp;quot;, &amp;quot;06-Mar-25&amp;quot;, &amp;quot;07-Mar-25&amp;quot;, &amp;quot;10-Mar-25&amp;quot;, &amp;quot;11-Mar-25&amp;quot;, &amp;quot;12-Mar-25&amp;quot;, &amp;quot;13-Mar-25&amp;quot;, &amp;quot;14-Mar-25&amp;quot;, &amp;quot;17-Mar-25&amp;quot;, &amp;quot;18-Mar-25&amp;quot;, &amp;quot;19-Mar-25&amp;quot;, &amp;quot;20-Mar-25&amp;quot;, &amp;quot;21-Mar-25&amp;quot;, &amp;quot;24-Mar-25&amp;quot;, &amp;quot;25-Mar-25&amp;quot;, &amp;quot;26-Mar-25&amp;quot;, &amp;quot;27-Mar-25&amp;quot;, &amp;quot;28-Mar-25&amp;quot;, &amp;quot;03-Apr-25&amp;quot;, &amp;quot;04-Apr-25&amp;quot;, &amp;quot;07-Apr-25&amp;quot;, &amp;quot;08-Apr-25&amp;quot;, &amp;quot;09-Apr-25&amp;quot;, &amp;quot;10-Apr-25&amp;quot;, &amp;quot;11-Apr-25&amp;quot;, &amp;quot;14-Apr-25&amp;quot;, &amp;quot;15-Apr-25&amp;quot;, &amp;quot;16-Apr-25&amp;quot;, &amp;quot;17-Apr-25&amp;quot;, &amp;quot;18-Apr-25&amp;quot;, &amp;quot;21-Apr-25&amp;quot;, &amp;quot;22-Apr-25&amp;quot;, &amp;quot;23-Apr-25&amp;quot;, &amp;quot;24-Apr-25&amp;quot;, &amp;quot;25-Apr-25&amp;quot;, &amp;quot;28-Apr-25&amp;quot;, &amp;quot;29-Apr-25&amp;quot;, &amp;quot;30-Apr-25&amp;quot;, &amp;quot;02-May-25&amp;quot;, &amp;quot;05-May-25&amp;quot;, &amp;quot;06-May-25&amp;quot;, &amp;quot;07-May-25&amp;quot;, &amp;quot;08-May-25&amp;quot;, &amp;quot;09-May-25&amp;quot;, &amp;quot;12-May-25&amp;quot;, &amp;quot;13-May-25&amp;quot;, &amp;quot;14-May-25&amp;quot;, &amp;quot;15-May-25&amp;quot;, &amp;quot;16-May-25&amp;quot;, &amp;quot;19-May-25&amp;quot;, &amp;quot;20-May-25&amp;quot;, &amp;quot;21-May-25&amp;quot;, &amp;quot;22-May-25&amp;quot;, &amp;quot;23-May-25&amp;quot;, &amp;quot;26-May-25&amp;quot;, &amp;quot;27-May-25&amp;quot;, &amp;quot;29-May-25&amp;quot;, &amp;quot;30-May-25&amp;quot;, &amp;quot;02-Jun-25&amp;quot;, &amp;quot;03-Jun-25&amp;quot;, &amp;quot;04-Jun-25&amp;quot;, &amp;quot;05-Jun-25&amp;quot;, &amp;quot;10-Jun-25&amp;quot;, &amp;quot;11-Jun-25&amp;quot;, &amp;quot;12-Jun-25&amp;quot;, &amp;quot;13-Jun-25&amp;quot;, &amp;quot;16-Jun-25&amp;quot;, &amp;quot;17-Jun-25&amp;quot;, &amp;quot;18-Jun-25&amp;quot;, &amp;quot;19-Jun-25&amp;quot;, &amp;quot;20-Jun-25&amp;quot;, &amp;quot;23-Jun-25&amp;quot;, &amp;quot;24-Jun-25&amp;quot;, &amp;quot;25-Jun-25&amp;quot;, &amp;quot;26-Jun-25&amp;quot;, &amp;quot;27-Jun-25&amp;quot;, &amp;quot;30-Jun-25&amp;quot;, &amp;quot;02-Jul-25&amp;quot;, &amp;quot;03-Jul-25&amp;quot;, &amp;quot;04-Jul-25&amp;quot;, &amp;quot;07-Jul-25&amp;quot;, &amp;quot;08-Jul-25&amp;quot;, &amp;quot;09-Jul-25&amp;quot;, &amp;quot;10-Jul-25&amp;quot;, &amp;quot;11-Jul-25&amp;quot;, &amp;quot;14-Jul-25&amp;quot;, &amp;quot;15-Jul-25&amp;quot;, &amp;quot;16-Jul-25&amp;quot;, &amp;quot;17-Jul-25&amp;quot;, &amp;quot;18-Jul-25&amp;quot;, &amp;quot;21-Jul-25&amp;quot;, &amp;quot;22-Jul-25&amp;quot;, &amp;quot;23-Jul-25&amp;quot;, &amp;quot;24-Jul-25&amp;quot;, &amp;quot;25-Jul-25&amp;quot;, &amp;quot;28-Jul-25&amp;quot;, &amp;quot;29-Jul-25&amp;quot;, &amp;quot;30-Jul-25&amp;quot;, &amp;quot;31-Jul-25&amp;quot;, &amp;quot;01-Aug-25&amp;quot;, &amp;quot;04-Aug-25&amp;quot;, &amp;quot;05-Aug-25&amp;quot;, &amp;quot;06-Aug-25&amp;quot;, &amp;quot;07-Aug-25&amp;quot;, &amp;quot;08-Aug-25&amp;quot;, &amp;quot;11-Aug-25&amp;quot;, &amp;quot;12-Aug-25&amp;quot;, &amp;quot;13-Aug-25&amp;quot;, &amp;quot;15-Aug-25&amp;quot;, &amp;quot;18-Aug-25&amp;quot;, &amp;quot;19-Aug-25&amp;quot;, &amp;quot;20-Aug-25&amp;quot;, &amp;quot;21-Aug-25&amp;quot;, &amp;quot;22-Aug-25&amp;quot;, &amp;quot;25-Aug-25&amp;quot;, &amp;quot;26-Aug-25&amp;quot;, &amp;quot;27-Aug-25&amp;quot;, &amp;quot;28-Aug-25&amp;quot;, &amp;quot;29-Aug-25&amp;quot;, &amp;quot;01-Sep-25&amp;quot;, &amp;quot;02-Sep-25&amp;quot;, &amp;quot;03-Sep-25&amp;quot;, &amp;quot;04-Sep-25&amp;quot;, &amp;quot;05-Sep-25&amp;quot;, &amp;quot;08-Sep-25&amp;quot;, &amp;quot;09-Sep-25&amp;quot;, &amp;quot;10-Sep-25&amp;quot;, &amp;quot;11-Sep-25&amp;quot;, &amp;quot;12-Sep-25&amp;quot;, &amp;quot;15-Sep-25&amp;quot;, &amp;quot;16-Sep-25&amp;quot;, &amp;quot;17-Sep-25&amp;quot;, &amp;quot;18-Sep-25&amp;quot;, &amp;quot;19-Sep-25&amp;quot;, &amp;quot;21-Sep-25&amp;quot;, &amp;quot;22-Sep-25&amp;quot;, &amp;quot;23-Sep-25&amp;quot;, &amp;quot;24-Sep-25&amp;quot;, &amp;quot;25-Sep-25&amp;quot;, &amp;quot;26-Sep-25&amp;quot;, &amp;quot;29-Sep-25&amp;quot;, &amp;quot;30-Sep-25&amp;quot;, &amp;quot;01-Oct-25&amp;quot;, &amp;quot;02-Oct-25&amp;quot;, &amp;quot;03-Oct-25&amp;quot;, &amp;quot;06-Oct-25&amp;quot;, &amp;quot;07-Oct-25&amp;quot;, &amp;quot;08-Oct-25&amp;quot;, &amp;quot;09-Oct-25&amp;quot;, &amp;quot;10-Oct-25&amp;quot;, &amp;quot;13-Oct-25&amp;quot;, &amp;quot;14-Oct-25&amp;quot;, &amp;quot;15-Oct-25&amp;quot;, &amp;quot;16-Oct-25&amp;quot;, &amp;quot;17-Oct-25&amp;quot;, &amp;quot;20-Oct-25&amp;quot;, &amp;quot;21-Oct-25&amp;quot;, &amp;quot;22-Oct-25&amp;quot;, &amp;quot;23-Oct-25&amp;quot;, &amp;quot;24-Oct-25&amp;quot;, &amp;quot;27-Oct-25&amp;quot;, &amp;quot;28-Oct-25&amp;quot;, &amp;quot;29-Oct-25&amp;quot;, &amp;quot;30-Oct-25&amp;quot;, &amp;quot;31-Oct-25&amp;quot;, &amp;quot;03-Nov-25&amp;quot;, &amp;quot;04-Nov-25&amp;quot;, &amp;quot;05-Nov-25&amp;quot;, &amp;quot;06-Nov-25&amp;quot;, &amp;quot;07-Nov-25&amp;quot;, &amp;quot;10-Nov-25&amp;quot;, &amp;quot;11-Nov-25&amp;quot;, &amp;quot;12-Nov-25&amp;quot;, &amp;quot;13-Nov-25&amp;quot;, &amp;quot;14-Nov-25&amp;quot;, &amp;quot;17-Nov-25&amp;quot;, &amp;quot;18-Nov-25&amp;quot;, &amp;quot;19-Nov-25&amp;quot;, &amp;quot;20-Nov-25&amp;quot;, &amp;quot;21-Nov-25&amp;quot;, &amp;quot;24-Nov-25&amp;quot;, &amp;quot;25-Nov-25&amp;quot;, &amp;quot;26-Nov-25&amp;quot;, &amp;quot;27-Nov-25&amp;quot;, &amp;quot;28-Nov-25&amp;quot;, &amp;quot;01-Dec-25&amp;quot;, &amp;quot;02-Dec-25&amp;quot;, &amp;quot;03-Dec-25&amp;quot;, &amp;quot;04-Dec-25&amp;quot;, &amp;quot;05-Dec-25&amp;quot;, &amp;quot;08-Dec-25&amp;quot;, &amp;quot;09-Dec-25&amp;quot;, &amp;quot;10-Dec-25&amp;quot;, &amp;quot;11-Dec-25&amp;quot;, &amp;quot;12-Dec-25&amp;quot;, &amp;quot;15-Dec-25&amp;quot;, &amp;quot;16-Dec-25&amp;quot;, &amp;quot;17-Dec-25&amp;quot;, &amp;quot;18-Dec-25&amp;quot;, &amp;quot;19-Dec-25&amp;quot;, &amp;quot;22-Dec-25&amp;quot;, &amp;quot;23-Dec-25&amp;quot;, &amp;quot;24-Dec-25&amp;quot;, &amp;quot;26-Dec-25&amp;quot;, &amp;quot;29-Dec-25&amp;quot;, &amp;quot;30-Dec-25&amp;quot;, &amp;quot;31-Dec-25&amp;quot;, &amp;quot;02-Jan-26&amp;quot;, &amp;quot;05-Jan-26&amp;quot;, &amp;quot;06-Jan-26&amp;quot;, &amp;quot;07-Jan-26&amp;quot;, &amp;quot;08-Jan-26&amp;quot;, &amp;quot;09-Jan-26&amp;quot;, &amp;quot;12-Jan-26&amp;quot;, &amp;quot;13-Jan-26&amp;quot;, &amp;quot;14-Jan-26&amp;quot;, &amp;quot;15-Jan-26&amp;quot;, &amp;quot;16-Jan-26&amp;quot;, &amp;quot;19-Jan-26&amp;quot;, &amp;quot;20-Jan-26&amp;quot;, &amp;quot;21-Jan-26&amp;quot;, &amp;quot;22-Jan-26&amp;quot;, &amp;quot;23-Jan-26&amp;quot;, &amp;quot;26-Jan-26&amp;quot;, &amp;quot;27-Jan-26&amp;quot;, &amp;quot;28-Jan-26&amp;quot;, &amp;quot;29-Jan-26&amp;quot;, &amp;quot;30-Jan-26&amp;quot;, &amp;quot;02-Feb-26&amp;quot;, &amp;quot;03-Feb-26&amp;quot;, &amp;quot;04-Feb-26&amp;quot;, &amp;quot;06-Feb-26&amp;quot;, &amp;quot;09-Feb-26&amp;quot;, &amp;quot;10-Feb-26&amp;quot;, &amp;quot;11-Feb-26&amp;quot;, &amp;quot;12-Feb-26&amp;quot;, &amp;quot;13-Feb-26&amp;quot;, &amp;quot;16-Feb-26&amp;quot;, &amp;quot;17-Feb-26&amp;quot;, &amp;quot;18-Feb-26&amp;quot;, &amp;quot;20-Feb-26&amp;quot;, &amp;quot;23-Feb-26&amp;quot;, &amp;quot;24-Feb-26&amp;quot;, &amp;quot;25-Feb-26&amp;quot;, &amp;quot;26-Feb-26&amp;quot;, &amp;quot;27-Feb-26&amp;quot;, &amp;quot;02-Mar-26&amp;quot;, &amp;quot;03-Mar-26&amp;quot;, &amp;quot;04-Mar-26&amp;quot;, &amp;quot;05-Mar-26&amp;quot;, &amp;quot;06-Mar-26&amp;quot;, &amp;quot;09-Mar-26&amp;quot;, &amp;quot;10-Mar-26&amp;quot;, &amp;quot;11-Mar-26&amp;quot;, &amp;quot;12-Mar-26&amp;quot;, &amp;quot;13-Mar-26&amp;quot;, &amp;quot;16-Mar-26&amp;quot;, &amp;quot;17-Mar-26&amp;quot;, &amp;quot;18-Mar-26&amp;quot;, &amp;quot;19-Mar-26&amp;quot;, &amp;quot;24-Mar-26&amp;quot;, &amp;quot;25-Mar-26&amp;quot;, &amp;quot;26-Mar-26&amp;quot;, &amp;quot;27-Mar-26&amp;quot;, &amp;quot;30-Mar-26&amp;quot;, &amp;quot;31-Mar-26&amp;quot;, &amp;quot;01-Apr-26&amp;quot;, &amp;quot;02-Apr-26&amp;quot;, &amp;quot;03-Apr-26&amp;quot;, &amp;quot;04-Apr-26&amp;quot;, &amp;quot;06-Apr-26&amp;quot;, &amp;quot;07-Apr-26&amp;quot;, &amp;quot;08-Apr-26&amp;quot;, &amp;quot;09-Apr-26&amp;quot;, &amp;quot;10-Apr-26&amp;quot;, &amp;quot;13-Apr-26&amp;quot;, &amp;quot;14-Apr-26&amp;quot;, &amp;quot;14-Apr-26&amp;quot;, &amp;quot;15-Apr-26&amp;quot;, &amp;quot;16-Apr-26&amp;quot;, &amp;quot;17-Apr-26&amp;quot;, &amp;quot;20-Apr-26&amp;quot;, &amp;quot;21-Apr-26&amp;quot;, &amp;quot;22-Apr-26&amp;quot;, &amp;quot;23-Apr-26&amp;quot;, &amp;quot;24-Apr-26&amp;quot;, &amp;quot;27-Apr-26&amp;quot;, &amp;quot;28-Apr-26&amp;quot;, &amp;quot;29-Apr-26&amp;quot;, &amp;quot;30-Apr-26&amp;quot;, &amp;quot;04-May-26&amp;quot;, &amp;quot;05-May-26&amp;quot;, &amp;quot;06-May-26&amp;quot;, &amp;quot;07-May-26&amp;quot;, &amp;quot;08-May-26&amp;quot;, &amp;quot;11-May-26&amp;quot;, &amp;quot;12-May-26&amp;quot;, &amp;quot;13-May-26&amp;quot;, &amp;quot;14-May-26&amp;quot;, &amp;quot;15-May-26&amp;quot;, &amp;quot;18-May-26&amp;quot;, &amp;quot;19-May-26&amp;quot;, &amp;quot;20-May-26&amp;quot;, &amp;quot;21-May-26&amp;quot;, &amp;quot;22-May-26&amp;quot;, &amp;quot;25-May-26&amp;quot;, &amp;quot;29-May-26&amp;quot;, &amp;quot;01-Jun-26&amp;quot;, &amp;quot;02-Jun-26&amp;quot;, &amp;quot;03-Jun-26&amp;quot;, &amp;quot;04-Jun-26&amp;quot;, &amp;quot;05-Jun-26&amp;quot;, &amp;quot;08-Jun-26&amp;quot;, &amp;quot;09-Jun-26&amp;quot;, &amp;quot;10-Jun-26&amp;quot;, &amp;quot;11-Jun-26&amp;quot;, &amp;quot;12-Jun-26&amp;quot;, &amp;quot;15-Jun-26&amp;quot;, &amp;quot;16-Jun-26&amp;quot;, &amp;quot;17-Jun-26&amp;quot;, &amp;quot;18-Jun-26&amp;quot;, &amp;quot;19-Jun-26&amp;quot;, &amp;quot;22-Jun-26&amp;quot;, &amp;quot;23-Jun-26&amp;quot;, &amp;quot;24-Jun-26&amp;quot;, &amp;quot;29-Jun-26&amp;quot;, &amp;quot;30-Jun-26&amp;quot;, &amp;quot;02-Jul-26&amp;quot;, &amp;quot;03-Jul-26&amp;quot;, &amp;quot;06-Jul-26&amp;quot;, &amp;quot;07-Jul-26&amp;quot;, &amp;quot;08-Jul-26&amp;quot;, &amp;quot;09-Jul-26&amp;quot;, &amp;quot;10-Jul-26&amp;quot;, &amp;quot;13-Jul-26&amp;quot;, &amp;quot;14-Jul-26&amp;quot;, &amp;quot;15-Jul-26&amp;quot;, &amp;quot;16-Jul-26&amp;quot;, &amp;quot;17-Jul-26&amp;quot;, &amp;quot;20-Jul-26&amp;quot;, &amp;quot;21-Jul-26&amp;quot;, &amp;quot;22-Jul-26&amp;quot;, &amp;quot;23-Jul-26&amp;quot;, &amp;quot;24-Jul-26&amp;quot;, &amp;quot;27-Jul-26&amp;quot;, &amp;quot;28-Jul-26&amp;quot;, &amp;quot;29-Jul-26&amp;quot;, &amp;quot;30-Jul-26&amp;quot;, &amp;quot;03-Aug-26&amp;quot;, &amp;quot;04-Aug-26&amp;quot;, &amp;quot;05-Aug-26&amp;quot;, &amp;quot;06-Aug-26&amp;quot;, &amp;quot;07-Aug-26&amp;quot;, &amp;quot;10-Aug-26&amp;quot;, &amp;quot;11-Aug-26&amp;quot;, &amp;quot;12-Aug-26&amp;quot;, &amp;quot;13-Aug-26&amp;quot;, &amp;quot;17-Aug-26&amp;quot;, &amp;quot;18-Aug-26&amp;quot;, &amp;quot;20-Aug-26&amp;quot;, &amp;quot;21-Aug-26&amp;quot;, &amp;quot;24-Aug-26&amp;quot;, &amp;quot;25-Aug-26&amp;quot;, &amp;quot;27-Aug-26&amp;quot;, &amp;quot;28-Aug-26&amp;quot;, &amp;quot;31-Aug-26&amp;quot;, &amp;quot;01-Sep-26&amp;quot;, &amp;quot;02-Sep-26&amp;quot;, &amp;quot;03-Sep-26&amp;quot;, &amp;quot;04-Sep-26&amp;quot;, &amp;quot;07-Sep-26&amp;quot;, &amp;quot;08-Sep-26&amp;quot;, &amp;quot;09-Sep-26&amp;quot;, &amp;quot;10-Sep-26&amp;quot;, &amp;quot;11-Sep-26&amp;quot;, &amp;quot;14-Sep-26&amp;quot;, &amp;quot;15-Sep-26&amp;quot;];
            
            const rawData = [279.77, 279.87, 279.82, 279.97, 280.07, 279.95, 279.97, 280.05, 280.21, 280.17, 280.27, 280.21, 280.22, 280.26, 280.37, 280.42, 280.26, 280.22, 280.16, 280.56, 280.47, 280.57, 280.73, 280.78, 280.56, 280.47, 280.60, 280.57, 280.46, 280.62, 280.72, 280.87, 280.77, 280.97, 281.07, 280.97, 281.07, 281.02, 280.97, 281.06, 281.22, 281.37, 281.47, 281.52, 281.71, 281.57, 281.67, 281.72, 281.61, 281.66, 281.77, 281.92, 281.97, 282.06, 281.97, 282.06, 282.17, 282.07, 282.02, 281.97, 282.12, 282.22, 282.17, 282.21, 282.47, 282.67, 282.96, 283.17, 283.41, 283.55, 283.64, 283.70, 283.87, 283.77, 283.72, 283.67, 283.72, 283.76, 283.95, 283.86, 283.97, 284.22, 284.36, 284.47, 284.56, 284.46, 284.72, 284.67, 284.96, 284.97, 284.87, 284.95, 284.97, 284.76, 284.22, 283.45, 283.21, 283.05, 282.95, 282.87, 282.72, 282.66, 282.57, 282.67, 282.56, 282.47, 282.45, 282.42, 282.22, 282.06, 282.01, 281.96, 281.95, 281.92, 281.90, 281.87, 281.86, 281.83, 281.80, 281.77, 281.75, 281.72, 281.71, 281.67, 281.65, 281.62, 281.61, 281.60, 281.56, 281.55, 281.52, 281.51, 281.50, 281.47, 281.46, 281.45, 281.46, 281.42, 281.43, 281.41, 281.37, 281.35, 281.32, 281.31, 281.27, 281.26, 281.25, 281.22, 281.21, 281.20, 281.17, 281.16, 281.15, 281.12, 281.11, 281.10, 281.07, 281.06, 281.05, 281.03, 281.02, 281.01, 280.97, 280.96, 280.92, 280.91, 280.90, 280.87, 280.86, 280.85, 280.82, 280.81, 280.78, 280.77, 280.76, 280.72, 280.71, 280.67, 280.66, 280.66, 280.65, 280.62, 280.61, 280.57, 280.56, 280.55, 280.52, 280.51, 280.47, 280.46, 280.45, 280.42, 280.41, 280.40, 280.37, 280.36, 280.32, 280.31, 280.30, 280.27, 280.26, 280.25, 280.22, 280.21, 280.20, 280.17, 280.16, 280.15, 280.12, 280.11, 280.10, 280.07, 280.06, 280.05, 280.02, 280.01, 280.00, 279.97, 279.96, 279.95, 279.92, 279.91, 279.90, 279.87, 279.86, 279.85, 279.82, 279.81, 279.80, 279.77, 279.76, 279.75, 279.72, 279.71, 279.70, 279.67, 279.66, 279.65, 279.62, 279.61, 279.60, 279.57, 279.56, 279.55, 279.52, 279.51, 279.50, 279.47, 279.46, 279.45, 279.42, 279.41, 279.40, 279.37, 279.36, 279.35, 279.32, 279.31, 279.30, 279.27, 279.26, 279.25, 279.22, 279.21, 279.20, 279.17, 279.16, 279.15, 279.12, 279.11, 279.10, 279.07, 279.06, 279.05, 279.02, 279.01, 279.00, 278.97, 278.96, 278.95, 278.92, 278.91, 278.90, 278.87, 278.86, 278.85, 278.82, 278.81, 278.80, 278.77, 278.76, 278.75, 278.72, 278.71, 278.70, 278.67, 278.66, 278.65, 278.62, 278.61, 278.60, 278.57, 278.56, 278.55, 278.52, 278.51, 278.50, 278.47, 278.46, 278.45, 278.42, 278.41, 278.40, 278.37, 278.36, 278.35, 278.32, 278.31, 278.30, 278.27, 278.26, 278.25, 278.22, 278.21, 278.20, 278.17, 278.16, 278.15, 278.12, 278.11, 278.10, 278.07, 278.06, 278.05, 278.02, 278.01, 278.00, 277.95, 277.95, 277.92, 277.91, 277.90, 277.87, 277.86, 277.85, 277.82, 277.81, 277.80, 277.77, 277.76, 277.75, 277.72, 277.71, 277.70, 277.67, 277.66, 277.65, 277.62, 277.61, 277.57, 277.56, 277.55, 277.52, 277.51, 277.50, 277.47, 277.46, 277.45, 277.42, 277.41, 277.40, 277.37, 277.36, 277.35, 277.32, 277.31, 277.30];

            const currentExchangeRate = rawData[rawData.length - 1];
            const currentExchangeDate = rawLabels[rawLabels.length - 1];

            // DOM Elements
            const usdInput = document.getElementById(&amp;#039;usdInput&amp;#039;);
            const pkrInput = document.getElementById(&amp;#039;pkrInput&amp;#039;);
            const badgeEl = document.getElementById(&amp;#039;latestBadgeRate&amp;#039;);
            const dateLabelEl = document.getElementById(&amp;#039;latestDateLabel&amp;#039;);

            const statHighEl = document.getElementById(&amp;#039;statHigh&amp;#039;);
            const statLowEl = document.getElementById(&amp;#039;statLow&amp;#039;);
            const statAvgEl = document.getElementById(&amp;#039;statAvg&amp;#039;);
            const statChangeEl = document.getElementById(&amp;#039;statChange&amp;#039;);

            // Format helpers
            const formatCurrency = (val, maxDecimals = 2, minDecimals = 2) =&amp;gt; {
                if (isNaN(val) || val === null) return &amp;#039;--&amp;#039;;
                return val.toLocaleString(&amp;#039;en-US&amp;#039;, {
                    minimumFractionDigits: minDecimals,
                    maximumFractionDigits: maxDecimals
                });
            };

            const parseCurrency = (valStr) =&amp;gt; {
                if (!valStr) return NaN;
                return parseFloat(valStr.toString().replace(/,/g, &amp;#039;&amp;#039;));
            };

            // Set Initial Values in UI
            dateLabelEl.textContent = currentExchangeDate;
            badgeEl.textContent = formatCurrency(currentExchangeRate) + &amp;#039; PKR&amp;#039;;
            pkrInput.value = formatCurrency(currentExchangeRate);

            // Converter Event Listeners
            usdInput.addEventListener(&amp;#039;input&amp;#039;, (e) =&amp;gt; {
                const val = parseCurrency(e.target.value);
                if (isNaN(val)) {
                    pkrInput.value = &amp;#039;&amp;#039;;
                } else {
                    pkrInput.value = formatCurrency(val * currentExchangeRate);
                }
            });

            pkrInput.addEventListener(&amp;#039;input&amp;#039;, (e) =&amp;gt; {
                const val = parseCurrency(e.target.value);
                if (isNaN(val)) {
                    usdInput.value = &amp;#039;&amp;#039;;
                } else {
                    usdInput.value = formatCurrency(val / currentExchangeRate, 4, 2);
                }
            });

            usdInput.addEventListener(&amp;#039;blur&amp;#039;, (e) =&amp;gt; {
                const val = parseCurrency(e.target.value);
                if (!isNaN(val)) {
                    e.target.value = formatCurrency(val, 2, 0);
                }
            });

            pkrInput.addEventListener(&amp;#039;blur&amp;#039;, (e) =&amp;gt; {
                const val = parseCurrency(e.target.value);
                if (!isNaN(val)) {
                    e.target.value = formatCurrency(val, 2, 2);
                }
            });

            const ctx = document.getElementById(&amp;#039;closingRatesChart&amp;#039;).getContext(&amp;#039;2d&amp;#039;);
            
            // Create gradient fill
            const gradient = ctx.createLinearGradient(0, 0, 0, 350);
            gradient.addColorStop(0, &amp;#039;rgba(79, 70, 229, 0.25)&amp;#039;);
            gradient.addColorStop(1, &amp;#039;rgba(79, 70, 229, 0.0)&amp;#039;);

            let chartInstance = new Chart(ctx, {
                type: &amp;#039;line&amp;#039;,
                data: {
                    labels: rawLabels,
                    datasets: [{
                        label: &amp;#039;USD to PKR&amp;#039;,
                        data: rawData,
                        borderColor: &amp;#039;#4f46e5&amp;#039;,
                        borderWidth: 2,
                        backgroundColor: gradient,
                        fill: true,
                        tension: 0.3,
                        pointRadius: 0,
                        pointHoverRadius: 6,
                        pointHoverBackgroundColor: &amp;#039;#4f46e5&amp;#039;,
                        pointHoverBorderColor: &amp;#039;#ffffff&amp;#039;,
                        pointHoverBorderWidth: 2
                    }]
                },
                options: {
                    responsive: true,
                    maintainAspectRatio: false,
                    interaction: {
                        intersect: false,
                        mode: &amp;#039;index&amp;#039;
                    },
                    plugins: {
                        legend: { display: false },
                        tooltip: {
                            backgroundColor: &amp;#039;#0f172a&amp;#039;,
                            titleFont: { family: &amp;#039;Plus Jakarta Sans&amp;#039;, size: 12, weight: &amp;#039;bold&amp;#039; },
                            bodyFont: { family: &amp;#039;Plus Jakarta Sans&amp;#039;, size: 13 },
                            padding: 10,
                            cornerRadius: 8,
                            displayColors: false,
                            callbacks: {
                                label: function(context) {
                                    return &amp;#039;Rate: &amp;#039; + formatCurrency(context.parsed.y) + &amp;#039; PKR&amp;#039;;
                                }
                            }
                        }
                    },
                    scales: {
                        x: {
                            grid: { display: false },
                            ticks: {
                                font: { family: &amp;#039;Plus Jakarta Sans&amp;#039;, size: 11 },
                                color: &amp;#039;#64748b&amp;#039;,
                                maxTicksLimit: 8,
                                maxRotation: 0
                            }
                        },
                        y: {
                            grid: { color: &amp;#039;#f1f5f9&amp;#039; },
                            ticks: {
                                font: { family: &amp;#039;Plus Jakarta Sans&amp;#039;, size: 11 },
                                color: &amp;#039;#64748b&amp;#039;,
                                callback: function(value) {
                                    return value.toFixed(1);
                                }
                            }
                        }
                    }
                }
            });

            function updateRangeStats(labels, data) {
                if (!data || data.length === 0) return;

                const high = Math.max(...data);
                const low = Math.min(...data);
                const avg = data.reduce((a, b) =&amp;gt; a + b, 0) / data.length;
                const startVal = data[0];
                const endVal = data[data.length - 1];
                const change = endVal - startVal;
                const changePct = (change / startVal) * 100;

                statHighEl.textContent = formatCurrency(high);
                statLowEl.textContent = formatCurrency(low);
                statAvgEl.textContent = formatCurrency(avg);

                const sign = change &amp;gt;= 0 ? &amp;#039;+&amp;#039; : &amp;#039;&amp;#039;;
                statChangeEl.textContent = `${sign}${formatCurrency(change)} (${sign}${changePct.toFixed(2)}%)`;
                statChangeEl.style.color = change &amp;gt; 0 ? &amp;#039;#10b981&amp;#039; : (change &amp;lt; 0 ? &amp;#039;#ef4444&amp;#039; : &amp;#039;#64748b&amp;#039;);
            }

            // Timeframe filtering handler
            function setTimeframe(rangeCount) {
                let slicedLabels = rawLabels;
                let slicedData = rawData;

                if (rangeCount !== &amp;#039;all&amp;#039;) {
                    const count = parseInt(rangeCount, 10);
                    slicedLabels = rawLabels.slice(-count);
                    slicedData = rawData.slice(-count);
                }

                chartInstance.data.labels = slicedLabels;
                chartInstance.data.datasets[0].data = slicedData;

                // Adjust Y axis dynamic scaling
                const minVal = Math.min(...slicedData);
                const maxVal = Math.max(...slicedData);
                const padding = (maxVal - minVal) * 0.1 || 1;
                
                chartInstance.options.scales.y.min = Math.floor((minVal - padding) * 10) / 10;
                chartInstance.options.scales.y.max = Math.ceil((maxVal + padding) * 10) / 10;

                chartInstance.update();
                updateRangeStats(slicedLabels, slicedData);
            }

            // Setup timeframe button listeners
            document.querySelectorAll(&amp;#039;#pkr-chart-embed .tf-btn&amp;#039;).forEach(btn =&amp;gt; {
                btn.addEventListener(&amp;#039;click&amp;#039;, (e) =&amp;gt; {
                    document.querySelectorAll(&amp;#039;#pkr-chart-embed .tf-btn&amp;#039;).forEach(b =&amp;gt; b.classList.remove(&amp;#039;active&amp;#039;));
                    e.target.classList.add(&amp;#039;active&amp;#039;);
                    setTimeframe(e.target.getAttribute(&amp;#039;data-range&amp;#039;));
                });
            });

            // Initial range load
            setTimeframe(&amp;#039;all&amp;#039;);
        })();
    &amp;lt;/script&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;
    &amp;lt;script&amp;gt;
        function reportHeight() {
            var h = document.documentElement.scrollHeight;
            window.parent.postMessage({ type: &amp;#039;raw-html-resize&amp;#039;, id: &amp;#039;raw-html-6aa953545c30d&amp;#039;, height: h }, &amp;#039;*&amp;#039;);
        }
        window.addEventListener(&amp;#039;load&amp;#039;, reportHeight);
        if (window.ResizeObserver) {
            new ResizeObserver(reportHeight).observe(document.body);
        }
    &amp;lt;/script&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;"&gt;&lt;/iframe&gt;
&lt;script&gt;
if (!window._rawHtmlListenerAttached) {
    window._rawHtmlListenerAttached = true;
    window.addEventListener('message', function(event) {
        if (event.data &amp;&amp; event.data.type === 'raw-html-resize' &amp;&amp; event.data.id) {
            var iframe = document.getElementById(event.data.id);
            if (iframe) {
                var height = Math.min(Math.max(event.data.height, 50), 9200);
                iframe.style.height = height + 'px';
            }
        }
    });
}
&lt;/script&gt;
&lt;p&gt;&lt;strong&gt;The Pakistani rupee extended its marginal gains against the US dollar in the interbank market on Tuesday.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The local unit closed the day at 277.30, a gain of Re0.01 against the greenback.&lt;/p&gt;
    &lt;figure class='media  w-full  w-full  media--  media--embed  media--uneven media--tweet' data-original-src='https://x.com/StateBank_Pak/status/2099834933061816353'&gt;
        &lt;div class='media__item  media__item--twitter  '&gt;&lt;span&gt;
    &lt;blockquote class="twitter-tweet" lang="en"&gt;
        &lt;a href="https://twitter.com/StateBank_Pak/status/2099834933061816353"&gt;&lt;/a&gt;
    &lt;/blockquote&gt;
&lt;/span&gt;&lt;/div&gt;
        
    &lt;/figure&gt;
&lt;p&gt;&lt;a href="https://www.brecorder.com/news/40439426"&gt;On Monday&lt;/a&gt;, the Pakistani rupee settled at 277.31 against the dollar.&lt;/p&gt;
&lt;p&gt;Internationally, &lt;a href="https://www.brecorder.com/news/40439544/dollar-near-two-week-high-as-oil-surge-lifts-yields-fed-hike-bets"&gt;the US dollar &lt;/a&gt;inched up to trade near a two-week high on Tuesday ​as surging oil prices lifted Treasury yields and reinforced expectations that the Federal Reserve will raise interest ‌rates this week.&lt;/p&gt;
&lt;p&gt;It also gained support as risk appetite weakened after stock markets tumbled, with AI-related shares under pressure after industry leaders called for slower development to contain potential threats to humanity.&lt;/p&gt;
&lt;p&gt;Markets now see a Fed hike on Wednesday as a near certainty, with CME’s FedWatch tool ​pricing in a roughly 93% chance of an interest-rate increase, which would be the first in more than ​three years.&lt;/p&gt;
&lt;p&gt;Near-term support may persist, but with ​a hike now heavily priced in, further dollar upside will likely require the Fed to keep the door open to additional ​tightening, he added.&lt;/p&gt;
&lt;p&gt;The dollar index, which measures the greenback against a basket of currencies, was last at 99.55.&lt;/p&gt;
&lt;p&gt;The euro was slightly weaker against the dollar at $1.1538, as was sterling at $1.3494.&lt;/p&gt;
&lt;p&gt;The yen also pulled away from a seven-month high, last down roughly 0.2% at 154.72 ahead of ​an expected Bank of Japan rate hike on Friday.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.brecorder.com/news/40439536/oil-rises-above-108-as-attacks-pipeline-outage-deepen-saudi-supply-concerns"&gt;Oil prices&lt;/a&gt;, a key indicator of currency parity, edged higher on Tuesday after attacks on Saudi Arabian energy infrastructure left the kingdom’s East-West Pipeline offline, raising fears that damage to energy infrastructure and transport routes could take longer to repair.&lt;/p&gt;
&lt;p&gt;Brent crude futures were up 6 cents at $105.74 a barrel at 1301 GMT after hitting a session high of $108.43. U.S. West Texas Intermediate futures were up 27 cents at $101.66 a barrel after rising as far as $104.21 earlier.&lt;/p&gt;
&lt;p&gt;Concerns over oil supplies intensified after Houthi forces in Yemen launched fresh attacks on Saudi Arabia on Monday, while Gulf Arab states postponed planned discussions with Iran.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Inter-bank market rates for dollar on Tuesday&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;BID Rs 277.30&lt;/p&gt;
&lt;p&gt;OFFER Rs 277.50&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Open-market movement&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;In the open market, the PKR gained3.00 paisa for buying and 11.00 paisa for selling against USD, closing at 278.16 and 279.02, respectively.&lt;/p&gt;
&lt;p&gt;Against Euro, the PKR gained 61.00paisa for buying and 1.31rupee for selling, closing at 319.99and 322.63, respectively.&lt;/p&gt;
&lt;p&gt;Against UAE Dirham, the PKR gained 3.00 paisa for buying and 11.00 paisa for selling, closing at 75.60 and 76.16, respectively.&lt;/p&gt;
&lt;p&gt;Against Saudi Riyal, the PKR gained 6.00 paisa for both buying and selling,closing at 73.88 and 74.42, respectively.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Open-market rates for dollar on Tuesday&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;BID Rs 278.16&lt;/p&gt;
&lt;p&gt;OFFER Rs 279.02&lt;/p&gt;
</description>
      <content:encoded xmlns="http://purl.org/rss/1.0/modules/content/"><![CDATA[<iframe id="raw-html-6aa953545c30d" class="raw-html-embed" style="width: 100%; min-height: 50px; max-height: 9200px; border: none; overflow: hidden;" scrolling="no" srcdoc="&lt;!DOCTYPE html&gt;
&lt;html&gt;
&lt;head&gt;
    &lt;style&gt;
        body { margin: 0; padding: 0; font-family: system-ui, -apple-system, sans-serif; overflow-wrap: anywhere; }
    &lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
    
&lt;!DOCTYPE html&gt;
&lt;html lang=&quot;en&quot;&gt;
&lt;head&gt;
    &lt;meta charset=&quot;UTF-8&quot;&gt;
    &lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1.0&quot;&gt;
    &lt;title&gt;PKR vs USD Exchange Rate Chart&lt;/title&gt;
    &lt;!-- Chart.js for interactive rendering --&gt;
    &lt;script src=&quot;https://cdn.jsdelivr.net/npm/chart.js&quot;&gt;&lt;/script&gt;
    
    &lt;style&gt;
        @import url(&#039;https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght=400;500;600;700&amp;display=swap&#039;);

        #pkr-chart-embed {
            font-family: &#039;Plus Jakarta Sans&#039;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, Roboto, sans-serif;
            max-width: 1000px;
            width: 100%;
            margin: 24px auto;
            background-color: #ffffff;
            border: 1px solid #e2e8f0;
            border-radius: 20px;
            padding: 24px;
            box-shadow: 0 10px 25px -5px rgba(15, 23, 42, 0.05), 0 8px 10px -6px rgba(15, 23, 42, 0.05);
            color: #0f172a;
            box-sizing: border-box;
        }

        #pkr-chart-embed * { box-sizing: border-box; margin: 0; padding: 0; }

        #pkr-chart-embed .chart-header {
            display: flex;
            flex-direction: column;
            gap: 20px;
            margin-bottom: 20px;
            width: 100%;
        }

        #pkr-chart-embed .top-row {
            display: flex;
            flex-direction: row;
            justify-content: space-between;
            align-items: flex-start;
            gap: 20px;
        }

        #pkr-chart-embed .calculator-area {
            display: flex;
            flex-direction: column;
            gap: 8px;
            align-items: flex-start;
        }

        #pkr-chart-embed .main-title {
            font-size: 22px;
            font-weight: 700;
            color: #0f172a;
            letter-spacing: -0.025em;
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            gap: 10px;
        }

        #pkr-chart-embed .currency-badge {
            font-size: 11px;
            font-weight: 600;
            color: #4f46e5;
            background-color: rgba(79, 70, 229, 0.08);
            padding: 3px 10px;
            border-radius: 9999px;
            border: 1px solid rgba(79, 70, 229, 0.15);
            text-transform: uppercase;
        }

        #pkr-chart-embed .calculator-title {
            font-size: 10px;
            font-weight: 700;
            color: #64748b;
            text-transform: uppercase;
            letter-spacing: 0.05em;
        }

        #pkr-chart-embed .converter {
            display: flex;
            align-items: center;
            background: #f8fafc;
            border: 1px solid #e2e8f0;
            border-radius: 12px;
            padding: 4px;
            gap: 6px;
        }

        #pkr-chart-embed .converter-group {
            display: flex;
            align-items: center;
            background: #ffffff;
            border-radius: 8px;
            padding: 6px 10px;
            box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
            border: 1px solid #e2e8f0;
        }

        #pkr-chart-embed .converter-input {
            border: none;
            outline: none;
            width: 90px;
            font-family: inherit;
            font-weight: 700;
            color: #0f172a;
            font-size: 14px;
            text-align: right;
            background: transparent;
        }

        #pkr-chart-embed .converter-input.pkr-field { width: 120px; }

        #pkr-chart-embed .converter-label {
            font-size: 11px;
            font-weight: 700;
            color: #64748b;
            margin-left: 6px;
        }

        #pkr-chart-embed .equals-sign { color: #94a3b8; font-weight: 600; font-size: 16px; }

        #pkr-chart-embed .rate-badge-container {
            display: flex;
            flex-direction: column;
            align-items: flex-end;
            gap: 6px;
        }

        #pkr-chart-embed .rate-label-sub { text-align: right; }
        #pkr-chart-embed .rate-label-sub span:first-child { display: block; font-size: 9px; text-transform: uppercase; font-weight: 700; color: #64748b; }
        #pkr-chart-embed .rate-label-sub span:last-child { display: block; font-size: 12px; color: #334155; font-weight: 600; }

        #pkr-chart-embed .rate-badge {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            background: linear-gradient(135deg, #4f46e5, #3b82f6);
            color: #ffffff;
            font-weight: 700;
            font-size: 14px;
            padding: 8px 14px;
            border-radius: 12px;
            box-shadow: 0 8px 16px -3px rgba(79, 70, 229, 0.25);
        }

        #pkr-chart-embed .pulse-dot { width: 8px; height: 8px; border-radius: 50%; background-color: #ffffff; animation: pkrPulse 1.5s infinite; }

        @keyframes pkrPulse {
            0% { transform: scale(0.95); opacity: 0.6; }
            50% { transform: scale(1.15); opacity: 1; }
            100% { transform: scale(0.95); opacity: 0.6; }
        }

        /* Controls &amp; Stats Toolbar */
        #pkr-chart-embed .toolbar {
            display: flex;
            justify-content: space-between;
            align-items: center;
            flex-wrap: wrap;
            gap: 12px;
            margin-bottom: 16px;
            padding-bottom: 12px;
            border-bottom: 1px solid #f1f5f9;
        }

        #pkr-chart-embed .timeframe-selector {
            display: flex;
            gap: 4px;
            background: #f1f5f9;
            padding: 3px;
            border-radius: 10px;
        }

        #pkr-chart-embed .tf-btn {
            border: none;
            background: transparent;
            font-family: inherit;
            font-size: 12px;
            font-weight: 600;
            color: #64748b;
            padding: 5px 12px;
            border-radius: 7px;
            cursor: pointer;
            transition: all 0.2s ease;
        }

        #pkr-chart-embed .tf-btn.active {
            background: #ffffff;
            color: #4f46e5;
            box-shadow: 0 1px 3px rgba(0,0,0,0.1);
        }

        #pkr-chart-embed .stats-row {
            display: flex;
            gap: 16px;
            flex-wrap: wrap;
        }

        #pkr-chart-embed .stat-item {
            font-size: 12px;
            color: #64748b;
        }

        #pkr-chart-embed .stat-item strong {
            color: #0f172a;
            font-weight: 700;
        }

        #pkr-chart-embed .chart-canvas-container { position: relative; width: 100%; height: 380px; }

        @media (max-width: 768px) {
            #pkr-chart-embed .chart-canvas-container { height: 300px; }
            #pkr-chart-embed .top-row { flex-direction: column; align-items: flex-start; }
            #pkr-chart-embed .rate-badge-container { align-items: flex-start; }
            #pkr-chart-embed .rate-label-sub { text-align: left; }
            #pkr-chart-embed .toolbar { flex-direction: column; align-items: flex-start; }
        }
    &lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
    &lt;div id=&quot;pkr-chart-embed&quot;&gt;
        &lt;div class=&quot;chart-header&quot;&gt;
            &lt;h1 class=&quot;main-title&quot;&gt;
                &lt;span&gt;PKR vs USD Exchange Rate&lt;/span&gt;
                &lt;span class=&quot;currency-badge&quot;&gt;USD / PKR&lt;/span&gt;
            &lt;/h1&gt;

            &lt;div class=&quot;top-row&quot;&gt;
                &lt;div class=&quot;calculator-area&quot;&gt;
                    &lt;span class=&quot;calculator-title&quot;&gt;Calculator&lt;/span&gt;
                    &lt;div class=&quot;converter&quot;&gt;
                        &lt;div class=&quot;converter-group&quot;&gt;
                            &lt;input type=&quot;text&quot; inputmode=&quot;decimal&quot; id=&quot;usdInput&quot; class=&quot;converter-input&quot; value=&quot;1&quot;&gt;
                            &lt;span class=&quot;converter-label&quot;&gt;USD&lt;/span&gt;
                        &lt;/div&gt;
                        &lt;span class=&quot;equals-sign&quot;&gt;=&lt;/span&gt;
                        &lt;div class=&quot;converter-group&quot;&gt;
                            &lt;input type=&quot;text&quot; inputmode=&quot;decimal&quot; id=&quot;pkrInput&quot; class=&quot;converter-input pkr-field&quot; value=&quot;&quot;&gt;
                            &lt;span class=&quot;converter-label&quot;&gt;PKR&lt;/span&gt;
                        &lt;/div&gt;
                    &lt;/div&gt;
                &lt;/div&gt;

                &lt;div class=&quot;rate-badge-container&quot;&gt;
                    &lt;div class=&quot;rate-label-sub&quot;&gt;
                        &lt;span&gt;Latest Closing&lt;/span&gt;
                        &lt;span id=&quot;latestDateLabel&quot;&gt;15-Sep-26&lt;/span&gt;
                    &lt;/div&gt;
                    &lt;div class=&quot;rate-badge&quot;&gt;
                        &lt;span class=&quot;pulse-dot&quot;&gt;&lt;/span&gt;
                        &lt;span id=&quot;latestBadgeRate&quot;&gt;277.30 PKR&lt;/span&gt;
                    &lt;/div&gt;
                &lt;/div&gt;
            &lt;/div&gt;
        &lt;/div&gt;

        &lt;div class=&quot;toolbar&quot;&gt;
            &lt;div class=&quot;timeframe-selector&quot;&gt;
                &lt;button class=&quot;tf-btn&quot; data-range=&quot;30&quot;&gt;1M&lt;/button&gt;
                &lt;button class=&quot;tf-btn&quot; data-range=&quot;90&quot;&gt;3M&lt;/button&gt;
                &lt;button class=&quot;tf-btn&quot; data-range=&quot;180&quot;&gt;6M&lt;/button&gt;
                &lt;button class=&quot;tf-btn&quot; data-range=&quot;365&quot;&gt;1Y&lt;/button&gt;
                &lt;button class=&quot;tf-btn active&quot; data-range=&quot;all&quot;&gt;ALL&lt;/button&gt;
            &lt;/div&gt;

            &lt;div class=&quot;stats-row&quot;&gt;
                &lt;span class=&quot;stat-item&quot;&gt;High: &lt;strong id=&quot;statHigh&quot;&gt;--&lt;/strong&gt;&lt;/span&gt;
                &lt;span class=&quot;stat-item&quot;&gt;Low: &lt;strong id=&quot;statLow&quot;&gt;--&lt;/strong&gt;&lt;/span&gt;
                &lt;span class=&quot;stat-item&quot;&gt;Avg: &lt;strong id=&quot;statAvg&quot;&gt;--&lt;/strong&gt;&lt;/span&gt;
                &lt;span class=&quot;stat-item&quot;&gt;Change: &lt;strong id=&quot;statChange&quot;&gt;--&lt;/strong&gt;&lt;/span&gt;
            &lt;/div&gt;
        &lt;/div&gt;

        &lt;div class=&quot;chart-canvas-container&quot;&gt;
            &lt;canvas id=&quot;closingRatesChart&quot;&gt;&lt;/canvas&gt;
        &lt;/div&gt;
    &lt;/div&gt;

    &lt;script&gt;
        (function() {
            // Full historical closing rate dataset with 15-Sep-26 appended
            const rawLabels = [&quot;04-Mar-25&quot;, &quot;05-Mar-25&quot;, &quot;06-Mar-25&quot;, &quot;07-Mar-25&quot;, &quot;10-Mar-25&quot;, &quot;11-Mar-25&quot;, &quot;12-Mar-25&quot;, &quot;13-Mar-25&quot;, &quot;14-Mar-25&quot;, &quot;17-Mar-25&quot;, &quot;18-Mar-25&quot;, &quot;19-Mar-25&quot;, &quot;20-Mar-25&quot;, &quot;21-Mar-25&quot;, &quot;24-Mar-25&quot;, &quot;25-Mar-25&quot;, &quot;26-Mar-25&quot;, &quot;27-Mar-25&quot;, &quot;28-Mar-25&quot;, &quot;03-Apr-25&quot;, &quot;04-Apr-25&quot;, &quot;07-Apr-25&quot;, &quot;08-Apr-25&quot;, &quot;09-Apr-25&quot;, &quot;10-Apr-25&quot;, &quot;11-Apr-25&quot;, &quot;14-Apr-25&quot;, &quot;15-Apr-25&quot;, &quot;16-Apr-25&quot;, &quot;17-Apr-25&quot;, &quot;18-Apr-25&quot;, &quot;21-Apr-25&quot;, &quot;22-Apr-25&quot;, &quot;23-Apr-25&quot;, &quot;24-Apr-25&quot;, &quot;25-Apr-25&quot;, &quot;28-Apr-25&quot;, &quot;29-Apr-25&quot;, &quot;30-Apr-25&quot;, &quot;02-May-25&quot;, &quot;05-May-25&quot;, &quot;06-May-25&quot;, &quot;07-May-25&quot;, &quot;08-May-25&quot;, &quot;09-May-25&quot;, &quot;12-May-25&quot;, &quot;13-May-25&quot;, &quot;14-May-25&quot;, &quot;15-May-25&quot;, &quot;16-May-25&quot;, &quot;19-May-25&quot;, &quot;20-May-25&quot;, &quot;21-May-25&quot;, &quot;22-May-25&quot;, &quot;23-May-25&quot;, &quot;26-May-25&quot;, &quot;27-May-25&quot;, &quot;29-May-25&quot;, &quot;30-May-25&quot;, &quot;02-Jun-25&quot;, &quot;03-Jun-25&quot;, &quot;04-Jun-25&quot;, &quot;05-Jun-25&quot;, &quot;10-Jun-25&quot;, &quot;11-Jun-25&quot;, &quot;12-Jun-25&quot;, &quot;13-Jun-25&quot;, &quot;16-Jun-25&quot;, &quot;17-Jun-25&quot;, &quot;18-Jun-25&quot;, &quot;19-Jun-25&quot;, &quot;20-Jun-25&quot;, &quot;23-Jun-25&quot;, &quot;24-Jun-25&quot;, &quot;25-Jun-25&quot;, &quot;26-Jun-25&quot;, &quot;27-Jun-25&quot;, &quot;30-Jun-25&quot;, &quot;02-Jul-25&quot;, &quot;03-Jul-25&quot;, &quot;04-Jul-25&quot;, &quot;07-Jul-25&quot;, &quot;08-Jul-25&quot;, &quot;09-Jul-25&quot;, &quot;10-Jul-25&quot;, &quot;11-Jul-25&quot;, &quot;14-Jul-25&quot;, &quot;15-Jul-25&quot;, &quot;16-Jul-25&quot;, &quot;17-Jul-25&quot;, &quot;18-Jul-25&quot;, &quot;21-Jul-25&quot;, &quot;22-Jul-25&quot;, &quot;23-Jul-25&quot;, &quot;24-Jul-25&quot;, &quot;25-Jul-25&quot;, &quot;28-Jul-25&quot;, &quot;29-Jul-25&quot;, &quot;30-Jul-25&quot;, &quot;31-Jul-25&quot;, &quot;01-Aug-25&quot;, &quot;04-Aug-25&quot;, &quot;05-Aug-25&quot;, &quot;06-Aug-25&quot;, &quot;07-Aug-25&quot;, &quot;08-Aug-25&quot;, &quot;11-Aug-25&quot;, &quot;12-Aug-25&quot;, &quot;13-Aug-25&quot;, &quot;15-Aug-25&quot;, &quot;18-Aug-25&quot;, &quot;19-Aug-25&quot;, &quot;20-Aug-25&quot;, &quot;21-Aug-25&quot;, &quot;22-Aug-25&quot;, &quot;25-Aug-25&quot;, &quot;26-Aug-25&quot;, &quot;27-Aug-25&quot;, &quot;28-Aug-25&quot;, &quot;29-Aug-25&quot;, &quot;01-Sep-25&quot;, &quot;02-Sep-25&quot;, &quot;03-Sep-25&quot;, &quot;04-Sep-25&quot;, &quot;05-Sep-25&quot;, &quot;08-Sep-25&quot;, &quot;09-Sep-25&quot;, &quot;10-Sep-25&quot;, &quot;11-Sep-25&quot;, &quot;12-Sep-25&quot;, &quot;15-Sep-25&quot;, &quot;16-Sep-25&quot;, &quot;17-Sep-25&quot;, &quot;18-Sep-25&quot;, &quot;19-Sep-25&quot;, &quot;21-Sep-25&quot;, &quot;22-Sep-25&quot;, &quot;23-Sep-25&quot;, &quot;24-Sep-25&quot;, &quot;25-Sep-25&quot;, &quot;26-Sep-25&quot;, &quot;29-Sep-25&quot;, &quot;30-Sep-25&quot;, &quot;01-Oct-25&quot;, &quot;02-Oct-25&quot;, &quot;03-Oct-25&quot;, &quot;06-Oct-25&quot;, &quot;07-Oct-25&quot;, &quot;08-Oct-25&quot;, &quot;09-Oct-25&quot;, &quot;10-Oct-25&quot;, &quot;13-Oct-25&quot;, &quot;14-Oct-25&quot;, &quot;15-Oct-25&quot;, &quot;16-Oct-25&quot;, &quot;17-Oct-25&quot;, &quot;20-Oct-25&quot;, &quot;21-Oct-25&quot;, &quot;22-Oct-25&quot;, &quot;23-Oct-25&quot;, &quot;24-Oct-25&quot;, &quot;27-Oct-25&quot;, &quot;28-Oct-25&quot;, &quot;29-Oct-25&quot;, &quot;30-Oct-25&quot;, &quot;31-Oct-25&quot;, &quot;03-Nov-25&quot;, &quot;04-Nov-25&quot;, &quot;05-Nov-25&quot;, &quot;06-Nov-25&quot;, &quot;07-Nov-25&quot;, &quot;10-Nov-25&quot;, &quot;11-Nov-25&quot;, &quot;12-Nov-25&quot;, &quot;13-Nov-25&quot;, &quot;14-Nov-25&quot;, &quot;17-Nov-25&quot;, &quot;18-Nov-25&quot;, &quot;19-Nov-25&quot;, &quot;20-Nov-25&quot;, &quot;21-Nov-25&quot;, &quot;24-Nov-25&quot;, &quot;25-Nov-25&quot;, &quot;26-Nov-25&quot;, &quot;27-Nov-25&quot;, &quot;28-Nov-25&quot;, &quot;01-Dec-25&quot;, &quot;02-Dec-25&quot;, &quot;03-Dec-25&quot;, &quot;04-Dec-25&quot;, &quot;05-Dec-25&quot;, &quot;08-Dec-25&quot;, &quot;09-Dec-25&quot;, &quot;10-Dec-25&quot;, &quot;11-Dec-25&quot;, &quot;12-Dec-25&quot;, &quot;15-Dec-25&quot;, &quot;16-Dec-25&quot;, &quot;17-Dec-25&quot;, &quot;18-Dec-25&quot;, &quot;19-Dec-25&quot;, &quot;22-Dec-25&quot;, &quot;23-Dec-25&quot;, &quot;24-Dec-25&quot;, &quot;26-Dec-25&quot;, &quot;29-Dec-25&quot;, &quot;30-Dec-25&quot;, &quot;31-Dec-25&quot;, &quot;02-Jan-26&quot;, &quot;05-Jan-26&quot;, &quot;06-Jan-26&quot;, &quot;07-Jan-26&quot;, &quot;08-Jan-26&quot;, &quot;09-Jan-26&quot;, &quot;12-Jan-26&quot;, &quot;13-Jan-26&quot;, &quot;14-Jan-26&quot;, &quot;15-Jan-26&quot;, &quot;16-Jan-26&quot;, &quot;19-Jan-26&quot;, &quot;20-Jan-26&quot;, &quot;21-Jan-26&quot;, &quot;22-Jan-26&quot;, &quot;23-Jan-26&quot;, &quot;26-Jan-26&quot;, &quot;27-Jan-26&quot;, &quot;28-Jan-26&quot;, &quot;29-Jan-26&quot;, &quot;30-Jan-26&quot;, &quot;02-Feb-26&quot;, &quot;03-Feb-26&quot;, &quot;04-Feb-26&quot;, &quot;06-Feb-26&quot;, &quot;09-Feb-26&quot;, &quot;10-Feb-26&quot;, &quot;11-Feb-26&quot;, &quot;12-Feb-26&quot;, &quot;13-Feb-26&quot;, &quot;16-Feb-26&quot;, &quot;17-Feb-26&quot;, &quot;18-Feb-26&quot;, &quot;20-Feb-26&quot;, &quot;23-Feb-26&quot;, &quot;24-Feb-26&quot;, &quot;25-Feb-26&quot;, &quot;26-Feb-26&quot;, &quot;27-Feb-26&quot;, &quot;02-Mar-26&quot;, &quot;03-Mar-26&quot;, &quot;04-Mar-26&quot;, &quot;05-Mar-26&quot;, &quot;06-Mar-26&quot;, &quot;09-Mar-26&quot;, &quot;10-Mar-26&quot;, &quot;11-Mar-26&quot;, &quot;12-Mar-26&quot;, &quot;13-Mar-26&quot;, &quot;16-Mar-26&quot;, &quot;17-Mar-26&quot;, &quot;18-Mar-26&quot;, &quot;19-Mar-26&quot;, &quot;24-Mar-26&quot;, &quot;25-Mar-26&quot;, &quot;26-Mar-26&quot;, &quot;27-Mar-26&quot;, &quot;30-Mar-26&quot;, &quot;31-Mar-26&quot;, &quot;01-Apr-26&quot;, &quot;02-Apr-26&quot;, &quot;03-Apr-26&quot;, &quot;04-Apr-26&quot;, &quot;06-Apr-26&quot;, &quot;07-Apr-26&quot;, &quot;08-Apr-26&quot;, &quot;09-Apr-26&quot;, &quot;10-Apr-26&quot;, &quot;13-Apr-26&quot;, &quot;14-Apr-26&quot;, &quot;14-Apr-26&quot;, &quot;15-Apr-26&quot;, &quot;16-Apr-26&quot;, &quot;17-Apr-26&quot;, &quot;20-Apr-26&quot;, &quot;21-Apr-26&quot;, &quot;22-Apr-26&quot;, &quot;23-Apr-26&quot;, &quot;24-Apr-26&quot;, &quot;27-Apr-26&quot;, &quot;28-Apr-26&quot;, &quot;29-Apr-26&quot;, &quot;30-Apr-26&quot;, &quot;04-May-26&quot;, &quot;05-May-26&quot;, &quot;06-May-26&quot;, &quot;07-May-26&quot;, &quot;08-May-26&quot;, &quot;11-May-26&quot;, &quot;12-May-26&quot;, &quot;13-May-26&quot;, &quot;14-May-26&quot;, &quot;15-May-26&quot;, &quot;18-May-26&quot;, &quot;19-May-26&quot;, &quot;20-May-26&quot;, &quot;21-May-26&quot;, &quot;22-May-26&quot;, &quot;25-May-26&quot;, &quot;29-May-26&quot;, &quot;01-Jun-26&quot;, &quot;02-Jun-26&quot;, &quot;03-Jun-26&quot;, &quot;04-Jun-26&quot;, &quot;05-Jun-26&quot;, &quot;08-Jun-26&quot;, &quot;09-Jun-26&quot;, &quot;10-Jun-26&quot;, &quot;11-Jun-26&quot;, &quot;12-Jun-26&quot;, &quot;15-Jun-26&quot;, &quot;16-Jun-26&quot;, &quot;17-Jun-26&quot;, &quot;18-Jun-26&quot;, &quot;19-Jun-26&quot;, &quot;22-Jun-26&quot;, &quot;23-Jun-26&quot;, &quot;24-Jun-26&quot;, &quot;29-Jun-26&quot;, &quot;30-Jun-26&quot;, &quot;02-Jul-26&quot;, &quot;03-Jul-26&quot;, &quot;06-Jul-26&quot;, &quot;07-Jul-26&quot;, &quot;08-Jul-26&quot;, &quot;09-Jul-26&quot;, &quot;10-Jul-26&quot;, &quot;13-Jul-26&quot;, &quot;14-Jul-26&quot;, &quot;15-Jul-26&quot;, &quot;16-Jul-26&quot;, &quot;17-Jul-26&quot;, &quot;20-Jul-26&quot;, &quot;21-Jul-26&quot;, &quot;22-Jul-26&quot;, &quot;23-Jul-26&quot;, &quot;24-Jul-26&quot;, &quot;27-Jul-26&quot;, &quot;28-Jul-26&quot;, &quot;29-Jul-26&quot;, &quot;30-Jul-26&quot;, &quot;03-Aug-26&quot;, &quot;04-Aug-26&quot;, &quot;05-Aug-26&quot;, &quot;06-Aug-26&quot;, &quot;07-Aug-26&quot;, &quot;10-Aug-26&quot;, &quot;11-Aug-26&quot;, &quot;12-Aug-26&quot;, &quot;13-Aug-26&quot;, &quot;17-Aug-26&quot;, &quot;18-Aug-26&quot;, &quot;20-Aug-26&quot;, &quot;21-Aug-26&quot;, &quot;24-Aug-26&quot;, &quot;25-Aug-26&quot;, &quot;27-Aug-26&quot;, &quot;28-Aug-26&quot;, &quot;31-Aug-26&quot;, &quot;01-Sep-26&quot;, &quot;02-Sep-26&quot;, &quot;03-Sep-26&quot;, &quot;04-Sep-26&quot;, &quot;07-Sep-26&quot;, &quot;08-Sep-26&quot;, &quot;09-Sep-26&quot;, &quot;10-Sep-26&quot;, &quot;11-Sep-26&quot;, &quot;14-Sep-26&quot;, &quot;15-Sep-26&quot;];
            
            const rawData = [279.77, 279.87, 279.82, 279.97, 280.07, 279.95, 279.97, 280.05, 280.21, 280.17, 280.27, 280.21, 280.22, 280.26, 280.37, 280.42, 280.26, 280.22, 280.16, 280.56, 280.47, 280.57, 280.73, 280.78, 280.56, 280.47, 280.60, 280.57, 280.46, 280.62, 280.72, 280.87, 280.77, 280.97, 281.07, 280.97, 281.07, 281.02, 280.97, 281.06, 281.22, 281.37, 281.47, 281.52, 281.71, 281.57, 281.67, 281.72, 281.61, 281.66, 281.77, 281.92, 281.97, 282.06, 281.97, 282.06, 282.17, 282.07, 282.02, 281.97, 282.12, 282.22, 282.17, 282.21, 282.47, 282.67, 282.96, 283.17, 283.41, 283.55, 283.64, 283.70, 283.87, 283.77, 283.72, 283.67, 283.72, 283.76, 283.95, 283.86, 283.97, 284.22, 284.36, 284.47, 284.56, 284.46, 284.72, 284.67, 284.96, 284.97, 284.87, 284.95, 284.97, 284.76, 284.22, 283.45, 283.21, 283.05, 282.95, 282.87, 282.72, 282.66, 282.57, 282.67, 282.56, 282.47, 282.45, 282.42, 282.22, 282.06, 282.01, 281.96, 281.95, 281.92, 281.90, 281.87, 281.86, 281.83, 281.80, 281.77, 281.75, 281.72, 281.71, 281.67, 281.65, 281.62, 281.61, 281.60, 281.56, 281.55, 281.52, 281.51, 281.50, 281.47, 281.46, 281.45, 281.46, 281.42, 281.43, 281.41, 281.37, 281.35, 281.32, 281.31, 281.27, 281.26, 281.25, 281.22, 281.21, 281.20, 281.17, 281.16, 281.15, 281.12, 281.11, 281.10, 281.07, 281.06, 281.05, 281.03, 281.02, 281.01, 280.97, 280.96, 280.92, 280.91, 280.90, 280.87, 280.86, 280.85, 280.82, 280.81, 280.78, 280.77, 280.76, 280.72, 280.71, 280.67, 280.66, 280.66, 280.65, 280.62, 280.61, 280.57, 280.56, 280.55, 280.52, 280.51, 280.47, 280.46, 280.45, 280.42, 280.41, 280.40, 280.37, 280.36, 280.32, 280.31, 280.30, 280.27, 280.26, 280.25, 280.22, 280.21, 280.20, 280.17, 280.16, 280.15, 280.12, 280.11, 280.10, 280.07, 280.06, 280.05, 280.02, 280.01, 280.00, 279.97, 279.96, 279.95, 279.92, 279.91, 279.90, 279.87, 279.86, 279.85, 279.82, 279.81, 279.80, 279.77, 279.76, 279.75, 279.72, 279.71, 279.70, 279.67, 279.66, 279.65, 279.62, 279.61, 279.60, 279.57, 279.56, 279.55, 279.52, 279.51, 279.50, 279.47, 279.46, 279.45, 279.42, 279.41, 279.40, 279.37, 279.36, 279.35, 279.32, 279.31, 279.30, 279.27, 279.26, 279.25, 279.22, 279.21, 279.20, 279.17, 279.16, 279.15, 279.12, 279.11, 279.10, 279.07, 279.06, 279.05, 279.02, 279.01, 279.00, 278.97, 278.96, 278.95, 278.92, 278.91, 278.90, 278.87, 278.86, 278.85, 278.82, 278.81, 278.80, 278.77, 278.76, 278.75, 278.72, 278.71, 278.70, 278.67, 278.66, 278.65, 278.62, 278.61, 278.60, 278.57, 278.56, 278.55, 278.52, 278.51, 278.50, 278.47, 278.46, 278.45, 278.42, 278.41, 278.40, 278.37, 278.36, 278.35, 278.32, 278.31, 278.30, 278.27, 278.26, 278.25, 278.22, 278.21, 278.20, 278.17, 278.16, 278.15, 278.12, 278.11, 278.10, 278.07, 278.06, 278.05, 278.02, 278.01, 278.00, 277.95, 277.95, 277.92, 277.91, 277.90, 277.87, 277.86, 277.85, 277.82, 277.81, 277.80, 277.77, 277.76, 277.75, 277.72, 277.71, 277.70, 277.67, 277.66, 277.65, 277.62, 277.61, 277.57, 277.56, 277.55, 277.52, 277.51, 277.50, 277.47, 277.46, 277.45, 277.42, 277.41, 277.40, 277.37, 277.36, 277.35, 277.32, 277.31, 277.30];

            const currentExchangeRate = rawData[rawData.length - 1];
            const currentExchangeDate = rawLabels[rawLabels.length - 1];

            // DOM Elements
            const usdInput = document.getElementById(&#039;usdInput&#039;);
            const pkrInput = document.getElementById(&#039;pkrInput&#039;);
            const badgeEl = document.getElementById(&#039;latestBadgeRate&#039;);
            const dateLabelEl = document.getElementById(&#039;latestDateLabel&#039;);

            const statHighEl = document.getElementById(&#039;statHigh&#039;);
            const statLowEl = document.getElementById(&#039;statLow&#039;);
            const statAvgEl = document.getElementById(&#039;statAvg&#039;);
            const statChangeEl = document.getElementById(&#039;statChange&#039;);

            // Format helpers
            const formatCurrency = (val, maxDecimals = 2, minDecimals = 2) =&gt; {
                if (isNaN(val) || val === null) return &#039;--&#039;;
                return val.toLocaleString(&#039;en-US&#039;, {
                    minimumFractionDigits: minDecimals,
                    maximumFractionDigits: maxDecimals
                });
            };

            const parseCurrency = (valStr) =&gt; {
                if (!valStr) return NaN;
                return parseFloat(valStr.toString().replace(/,/g, &#039;&#039;));
            };

            // Set Initial Values in UI
            dateLabelEl.textContent = currentExchangeDate;
            badgeEl.textContent = formatCurrency(currentExchangeRate) + &#039; PKR&#039;;
            pkrInput.value = formatCurrency(currentExchangeRate);

            // Converter Event Listeners
            usdInput.addEventListener(&#039;input&#039;, (e) =&gt; {
                const val = parseCurrency(e.target.value);
                if (isNaN(val)) {
                    pkrInput.value = &#039;&#039;;
                } else {
                    pkrInput.value = formatCurrency(val * currentExchangeRate);
                }
            });

            pkrInput.addEventListener(&#039;input&#039;, (e) =&gt; {
                const val = parseCurrency(e.target.value);
                if (isNaN(val)) {
                    usdInput.value = &#039;&#039;;
                } else {
                    usdInput.value = formatCurrency(val / currentExchangeRate, 4, 2);
                }
            });

            usdInput.addEventListener(&#039;blur&#039;, (e) =&gt; {
                const val = parseCurrency(e.target.value);
                if (!isNaN(val)) {
                    e.target.value = formatCurrency(val, 2, 0);
                }
            });

            pkrInput.addEventListener(&#039;blur&#039;, (e) =&gt; {
                const val = parseCurrency(e.target.value);
                if (!isNaN(val)) {
                    e.target.value = formatCurrency(val, 2, 2);
                }
            });

            const ctx = document.getElementById(&#039;closingRatesChart&#039;).getContext(&#039;2d&#039;);
            
            // Create gradient fill
            const gradient = ctx.createLinearGradient(0, 0, 0, 350);
            gradient.addColorStop(0, &#039;rgba(79, 70, 229, 0.25)&#039;);
            gradient.addColorStop(1, &#039;rgba(79, 70, 229, 0.0)&#039;);

            let chartInstance = new Chart(ctx, {
                type: &#039;line&#039;,
                data: {
                    labels: rawLabels,
                    datasets: [{
                        label: &#039;USD to PKR&#039;,
                        data: rawData,
                        borderColor: &#039;#4f46e5&#039;,
                        borderWidth: 2,
                        backgroundColor: gradient,
                        fill: true,
                        tension: 0.3,
                        pointRadius: 0,
                        pointHoverRadius: 6,
                        pointHoverBackgroundColor: &#039;#4f46e5&#039;,
                        pointHoverBorderColor: &#039;#ffffff&#039;,
                        pointHoverBorderWidth: 2
                    }]
                },
                options: {
                    responsive: true,
                    maintainAspectRatio: false,
                    interaction: {
                        intersect: false,
                        mode: &#039;index&#039;
                    },
                    plugins: {
                        legend: { display: false },
                        tooltip: {
                            backgroundColor: &#039;#0f172a&#039;,
                            titleFont: { family: &#039;Plus Jakarta Sans&#039;, size: 12, weight: &#039;bold&#039; },
                            bodyFont: { family: &#039;Plus Jakarta Sans&#039;, size: 13 },
                            padding: 10,
                            cornerRadius: 8,
                            displayColors: false,
                            callbacks: {
                                label: function(context) {
                                    return &#039;Rate: &#039; + formatCurrency(context.parsed.y) + &#039; PKR&#039;;
                                }
                            }
                        }
                    },
                    scales: {
                        x: {
                            grid: { display: false },
                            ticks: {
                                font: { family: &#039;Plus Jakarta Sans&#039;, size: 11 },
                                color: &#039;#64748b&#039;,
                                maxTicksLimit: 8,
                                maxRotation: 0
                            }
                        },
                        y: {
                            grid: { color: &#039;#f1f5f9&#039; },
                            ticks: {
                                font: { family: &#039;Plus Jakarta Sans&#039;, size: 11 },
                                color: &#039;#64748b&#039;,
                                callback: function(value) {
                                    return value.toFixed(1);
                                }
                            }
                        }
                    }
                }
            });

            function updateRangeStats(labels, data) {
                if (!data || data.length === 0) return;

                const high = Math.max(...data);
                const low = Math.min(...data);
                const avg = data.reduce((a, b) =&gt; a + b, 0) / data.length;
                const startVal = data[0];
                const endVal = data[data.length - 1];
                const change = endVal - startVal;
                const changePct = (change / startVal) * 100;

                statHighEl.textContent = formatCurrency(high);
                statLowEl.textContent = formatCurrency(low);
                statAvgEl.textContent = formatCurrency(avg);

                const sign = change &gt;= 0 ? &#039;+&#039; : &#039;&#039;;
                statChangeEl.textContent = `${sign}${formatCurrency(change)} (${sign}${changePct.toFixed(2)}%)`;
                statChangeEl.style.color = change &gt; 0 ? &#039;#10b981&#039; : (change &lt; 0 ? &#039;#ef4444&#039; : &#039;#64748b&#039;);
            }

            // Timeframe filtering handler
            function setTimeframe(rangeCount) {
                let slicedLabels = rawLabels;
                let slicedData = rawData;

                if (rangeCount !== &#039;all&#039;) {
                    const count = parseInt(rangeCount, 10);
                    slicedLabels = rawLabels.slice(-count);
                    slicedData = rawData.slice(-count);
                }

                chartInstance.data.labels = slicedLabels;
                chartInstance.data.datasets[0].data = slicedData;

                // Adjust Y axis dynamic scaling
                const minVal = Math.min(...slicedData);
                const maxVal = Math.max(...slicedData);
                const padding = (maxVal - minVal) * 0.1 || 1;
                
                chartInstance.options.scales.y.min = Math.floor((minVal - padding) * 10) / 10;
                chartInstance.options.scales.y.max = Math.ceil((maxVal + padding) * 10) / 10;

                chartInstance.update();
                updateRangeStats(slicedLabels, slicedData);
            }

            // Setup timeframe button listeners
            document.querySelectorAll(&#039;#pkr-chart-embed .tf-btn&#039;).forEach(btn =&gt; {
                btn.addEventListener(&#039;click&#039;, (e) =&gt; {
                    document.querySelectorAll(&#039;#pkr-chart-embed .tf-btn&#039;).forEach(b =&gt; b.classList.remove(&#039;active&#039;));
                    e.target.classList.add(&#039;active&#039;);
                    setTimeframe(e.target.getAttribute(&#039;data-range&#039;));
                });
            });

            // Initial range load
            setTimeframe(&#039;all&#039;);
        })();
    &lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;
    &lt;script&gt;
        function reportHeight() {
            var h = document.documentElement.scrollHeight;
            window.parent.postMessage({ type: &#039;raw-html-resize&#039;, id: &#039;raw-html-6aa953545c30d&#039;, height: h }, &#039;*&#039;);
        }
        window.addEventListener(&#039;load&#039;, reportHeight);
        if (window.ResizeObserver) {
            new ResizeObserver(reportHeight).observe(document.body);
        }
    &lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;"></iframe>
<script>
if (!window._rawHtmlListenerAttached) {
    window._rawHtmlListenerAttached = true;
    window.addEventListener('message', function(event) {
        if (event.data && event.data.type === 'raw-html-resize' && event.data.id) {
            var iframe = document.getElementById(event.data.id);
            if (iframe) {
                var height = Math.min(Math.max(event.data.height, 50), 9200);
                iframe.style.height = height + 'px';
            }
        }
    });
}
</script>
<p><strong>The Pakistani rupee extended its marginal gains against the US dollar in the interbank market on Tuesday.</strong></p>
<p>The local unit closed the day at 277.30, a gain of Re0.01 against the greenback.</p>
    <figure class='media  w-full  w-full  media--  media--embed  media--uneven media--tweet' data-original-src='https://x.com/StateBank_Pak/status/2099834933061816353'>
        <div class='media__item  media__item--twitter  '><span>
    <blockquote class="twitter-tweet" lang="en">
        <a href="https://twitter.com/StateBank_Pak/status/2099834933061816353"></a>
    </blockquote>
</span></div>
        
    </figure>
<p><a href="https://www.brecorder.com/news/40439426">On Monday</a>, the Pakistani rupee settled at 277.31 against the dollar.</p>
<p>Internationally, <a href="https://www.brecorder.com/news/40439544/dollar-near-two-week-high-as-oil-surge-lifts-yields-fed-hike-bets">the US dollar </a>inched up to trade near a two-week high on Tuesday ​as surging oil prices lifted Treasury yields and reinforced expectations that the Federal Reserve will raise interest ‌rates this week.</p>
<p>It also gained support as risk appetite weakened after stock markets tumbled, with AI-related shares under pressure after industry leaders called for slower development to contain potential threats to humanity.</p>
<p>Markets now see a Fed hike on Wednesday as a near certainty, with CME’s FedWatch tool ​pricing in a roughly 93% chance of an interest-rate increase, which would be the first in more than ​three years.</p>
<p>Near-term support may persist, but with ​a hike now heavily priced in, further dollar upside will likely require the Fed to keep the door open to additional ​tightening, he added.</p>
<p>The dollar index, which measures the greenback against a basket of currencies, was last at 99.55.</p>
<p>The euro was slightly weaker against the dollar at $1.1538, as was sterling at $1.3494.</p>
<p>The yen also pulled away from a seven-month high, last down roughly 0.2% at 154.72 ahead of ​an expected Bank of Japan rate hike on Friday.</p>
<p><a href="https://www.brecorder.com/news/40439536/oil-rises-above-108-as-attacks-pipeline-outage-deepen-saudi-supply-concerns">Oil prices</a>, a key indicator of currency parity, edged higher on Tuesday after attacks on Saudi Arabian energy infrastructure left the kingdom’s East-West Pipeline offline, raising fears that damage to energy infrastructure and transport routes could take longer to repair.</p>
<p>Brent crude futures were up 6 cents at $105.74 a barrel at 1301 GMT after hitting a session high of $108.43. U.S. West Texas Intermediate futures were up 27 cents at $101.66 a barrel after rising as far as $104.21 earlier.</p>
<p>Concerns over oil supplies intensified after Houthi forces in Yemen launched fresh attacks on Saudi Arabia on Monday, while Gulf Arab states postponed planned discussions with Iran.</p>
<p><strong>Inter-bank market rates for dollar on Tuesday</strong></p>
<p>BID Rs 277.30</p>
<p>OFFER Rs 277.50</p>
<p><strong>Open-market movement</strong></p>
<p>In the open market, the PKR gained3.00 paisa for buying and 11.00 paisa for selling against USD, closing at 278.16 and 279.02, respectively.</p>
<p>Against Euro, the PKR gained 61.00paisa for buying and 1.31rupee for selling, closing at 319.99and 322.63, respectively.</p>
<p>Against UAE Dirham, the PKR gained 3.00 paisa for buying and 11.00 paisa for selling, closing at 75.60 and 76.16, respectively.</p>
<p>Against Saudi Riyal, the PKR gained 6.00 paisa for both buying and selling,closing at 73.88 and 74.42, respectively.</p>
<p><strong>Open-market rates for dollar on Tuesday</strong></p>
<p>BID Rs 278.16</p>
<p>OFFER Rs 279.02</p>
]]></content:encoded>
      <category>Markets</category>
      <guid>https://www.brecorder.com/news/40439590</guid>
      <pubDate>Tue, 15 Sep 2026 19:16:52 +0500</pubDate>
      <author>none@none.com (Recorder Report)</author>
      <media:content url="https://i.brecorder.com/large/2026/09/151537123c6ee9d.webp" type="image/webp" medium="image" height="320" width="480">
        <media:thumbnail url="https://i.brecorder.com/thumbnail/2026/09/151537123c6ee9d.webp"/>
        <media:title>Photo: Reuters</media:title>
      </media:content>
    </item>
    <item xmlns:default="http://purl.org/rss/1.0/modules/content/">
      <title>Rupee records gain against US dollar</title>
      <link>https://www.brecorder.com/news/40439426/intra-day-update-rupee-records-gain-against-us-dollar</link>
      <description>&lt;iframe id="raw-html-6aa7f2f852c72" class="raw-html-embed" style="width: 100%; min-height: 50px; max-height: 9200px; border: none; overflow: hidden;" scrolling="no" srcdoc="&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html&amp;gt;
&amp;lt;head&amp;gt;
    &amp;lt;style&amp;gt;
        body { margin: 0; padding: 0; font-family: system-ui, -apple-system, sans-serif; overflow-wrap: anywhere; }
    &amp;lt;/style&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
    
&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html lang=&amp;quot;en&amp;quot;&amp;gt;
&amp;lt;head&amp;gt;
    &amp;lt;meta charset=&amp;quot;UTF-8&amp;quot;&amp;gt;
    &amp;lt;meta name=&amp;quot;viewport&amp;quot; content=&amp;quot;width=device-width, initial-scale=1.0&amp;quot;&amp;gt;
    &amp;lt;title&amp;gt;PKR vs USD Exchange Rate Chart&amp;lt;/title&amp;gt;
    &amp;lt;!-- Chart.js for interactive rendering --&amp;gt;
    &amp;lt;script src=&amp;quot;https://cdn.jsdelivr.net/npm/chart.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;
    
    &amp;lt;style&amp;gt;
        @import url(&amp;#039;https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght=400;500;600;700&amp;amp;display=swap&amp;#039;);

        #pkr-chart-embed {
            font-family: &amp;#039;Plus Jakarta Sans&amp;#039;, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, sans-serif;
            max-width: 1000px;
            width: 100%;
            margin: 24px auto;
            background-color: #ffffff;
            border: 1px solid #e2e8f0;
            border-radius: 20px;
            padding: 24px;
            box-shadow: 0 10px 25px -5px rgba(15, 23, 42, 0.05), 0 8px 10px -6px rgba(15, 23, 42, 0.05);
            color: #0f172a;
            box-sizing: border-box;
        }

        #pkr-chart-embed * { box-sizing: border-box; margin: 0; padding: 0; }

        #pkr-chart-embed .chart-header {
            display: flex;
            flex-direction: column;
            gap: 20px;
            margin-bottom: 20px;
            width: 100%;
        }

        #pkr-chart-embed .top-row {
            display: flex;
            flex-direction: row;
            justify-content: space-between;
            align-items: flex-start;
            gap: 20px;
        }

        #pkr-chart-embed .calculator-area {
            display: flex;
            flex-direction: column;
            gap: 8px;
            align-items: flex-start;
        }

        #pkr-chart-embed .main-title {
            font-size: 22px;
            font-weight: 700;
            color: #0f172a;
            letter-spacing: -0.025em;
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            gap: 10px;
        }

        #pkr-chart-embed .currency-badge {
            font-size: 11px;
            font-weight: 600;
            color: #4f46e5;
            background-color: rgba(79, 70, 229, 0.08);
            padding: 3px 10px;
            border-radius: 9999px;
            border: 1px solid rgba(79, 70, 229, 0.15);
            text-transform: uppercase;
        }

        #pkr-chart-embed .calculator-title {
            font-size: 10px;
            font-weight: 700;
            color: #64748b;
            text-transform: uppercase;
            letter-spacing: 0.05em;
        }

        #pkr-chart-embed .converter {
            display: flex;
            align-items: center;
            background: #f8fafc;
            border: 1px solid #e2e8f0;
            border-radius: 12px;
            padding: 4px;
            gap: 6px;
        }

        #pkr-chart-embed .converter-group {
            display: flex;
            align-items: center;
            background: #ffffff;
            border-radius: 8px;
            padding: 6px 10px;
            box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
            border: 1px solid #e2e8f0;
        }

        #pkr-chart-embed .converter-input {
            border: none;
            outline: none;
            width: 90px;
            font-family: inherit;
            font-weight: 700;
            color: #0f172a;
            font-size: 14px;
            text-align: right;
            background: transparent;
        }

        #pkr-chart-embed .converter-input.pkr-field { width: 120px; }

        #pkr-chart-embed .converter-label {
            font-size: 11px;
            font-weight: 700;
            color: #64748b;
            margin-left: 6px;
        }

        #pkr-chart-embed .equals-sign { color: #94a3b8; font-weight: 600; font-size: 16px; }

        #pkr-chart-embed .rate-badge-container {
            display: flex;
            flex-direction: column;
            align-items: flex-end;
            gap: 6px;
        }

        #pkr-chart-embed .rate-label-sub { text-align: right; }
        #pkr-chart-embed .rate-label-sub span:first-child { display: block; font-size: 9px; text-transform: uppercase; font-weight: 700; color: #64748b; }
        #pkr-chart-embed .rate-label-sub span:last-child { display: block; font-size: 12px; color: #334155; font-weight: 600; }

        #pkr-chart-embed .rate-badge {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            background: linear-gradient(135deg, #4f46e5, #3b82f6);
            color: #ffffff;
            font-weight: 700;
            font-size: 14px;
            padding: 8px 14px;
            border-radius: 12px;
            box-shadow: 0 8px 16px -3px rgba(79, 70, 229, 0.25);
        }

        #pkr-chart-embed .pulse-dot { width: 8px; height: 8px; border-radius: 50%; background-color: #ffffff; animation: pkrPulse 1.5s infinite; }

        @keyframes pkrPulse {
            0% { transform: scale(0.95); opacity: 0.6; }
            50% { transform: scale(1.15); opacity: 1; }
            100% { transform: scale(0.95); opacity: 0.6; }
        }

        /* Controls &amp;amp; Stats Toolbar */
        #pkr-chart-embed .toolbar {
            display: flex;
            justify-content: space-between;
            align-items: center;
            flex-wrap: wrap;
            gap: 12px;
            margin-bottom: 16px;
            padding-bottom: 12px;
            border-bottom: 1px solid #f1f5f9;
        }

        #pkr-chart-embed .timeframe-selector {
            display: flex;
            gap: 4px;
            background: #f1f5f9;
            padding: 3px;
            border-radius: 10px;
        }

        #pkr-chart-embed .tf-btn {
            border: none;
            background: transparent;
            font-family: inherit;
            font-size: 12px;
            font-weight: 600;
            color: #64748b;
            padding: 5px 12px;
            border-radius: 7px;
            cursor: pointer;
            transition: all 0.2s ease;
        }

        #pkr-chart-embed .tf-btn.active {
            background: #ffffff;
            color: #4f46e5;
            box-shadow: 0 1px 3px rgba(0,0,0,0.1);
        }

        #pkr-chart-embed .stats-row {
            display: flex;
            gap: 16px;
            flex-wrap: wrap;
        }

        #pkr-chart-embed .stat-item {
            font-size: 12px;
            color: #64748b;
        }

        #pkr-chart-embed .stat-item strong {
            color: #0f172a;
            font-weight: 700;
        }

        #pkr-chart-embed .chart-canvas-container { position: relative; width: 100%; height: 380px; }

        @media (max-width: 768px) {
            #pkr-chart-embed .chart-canvas-container { height: 300px; }
            #pkr-chart-embed .top-row { flex-direction: column; align-items: flex-start; }
            #pkr-chart-embed .rate-badge-container { align-items: flex-start; }
            #pkr-chart-embed .rate-label-sub { text-align: left; }
            #pkr-chart-embed .toolbar { flex-direction: column; align-items: flex-start; }
        }
    &amp;lt;/style&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
    &amp;lt;div id=&amp;quot;pkr-chart-embed&amp;quot;&amp;gt;
        &amp;lt;div class=&amp;quot;chart-header&amp;quot;&amp;gt;
            &amp;lt;h1 class=&amp;quot;main-title&amp;quot;&amp;gt;
                &amp;lt;span&amp;gt;PKR vs USD Exchange Rate&amp;lt;/span&amp;gt;
                &amp;lt;span class=&amp;quot;currency-badge&amp;quot;&amp;gt;USD / PKR&amp;lt;/span&amp;gt;
            &amp;lt;/h1&amp;gt;

            &amp;lt;div class=&amp;quot;top-row&amp;quot;&amp;gt;
                &amp;lt;div class=&amp;quot;calculator-area&amp;quot;&amp;gt;
                    &amp;lt;span class=&amp;quot;calculator-title&amp;quot;&amp;gt;Calculator&amp;lt;/span&amp;gt;
                    &amp;lt;div class=&amp;quot;converter&amp;quot;&amp;gt;
                        &amp;lt;div class=&amp;quot;converter-group&amp;quot;&amp;gt;
                            &amp;lt;input type=&amp;quot;text&amp;quot; inputmode=&amp;quot;decimal&amp;quot; id=&amp;quot;usdInput&amp;quot; class=&amp;quot;converter-input&amp;quot; value=&amp;quot;1&amp;quot;&amp;gt;
                            &amp;lt;span class=&amp;quot;converter-label&amp;quot;&amp;gt;USD&amp;lt;/span&amp;gt;
                        &amp;lt;/div&amp;gt;
                        &amp;lt;span class=&amp;quot;equals-sign&amp;quot;&amp;gt;=&amp;lt;/span&amp;gt;
                        &amp;lt;div class=&amp;quot;converter-group&amp;quot;&amp;gt;
                            &amp;lt;input type=&amp;quot;text&amp;quot; inputmode=&amp;quot;decimal&amp;quot; id=&amp;quot;pkrInput&amp;quot; class=&amp;quot;converter-input pkr-field&amp;quot; value=&amp;quot;&amp;quot;&amp;gt;
                            &amp;lt;span class=&amp;quot;converter-label&amp;quot;&amp;gt;PKR&amp;lt;/span&amp;gt;
                        &amp;lt;/div&amp;gt;
                    &amp;lt;/div&amp;gt;
                &amp;lt;/div&amp;gt;

                &amp;lt;div class=&amp;quot;rate-badge-container&amp;quot;&amp;gt;
                    &amp;lt;div class=&amp;quot;rate-label-sub&amp;quot;&amp;gt;
                        &amp;lt;span&amp;gt;Latest Closing&amp;lt;/span&amp;gt;
                        &amp;lt;span id=&amp;quot;latestDateLabel&amp;quot;&amp;gt;14-Sep-26&amp;lt;/span&amp;gt;
                    &amp;lt;/div&amp;gt;
                    &amp;lt;div class=&amp;quot;rate-badge&amp;quot;&amp;gt;
                        &amp;lt;span class=&amp;quot;pulse-dot&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;
                        &amp;lt;span id=&amp;quot;latestBadgeRate&amp;quot;&amp;gt;277.31 PKR&amp;lt;/span&amp;gt;
                    &amp;lt;/div&amp;gt;
                &amp;lt;/div&amp;gt;
            &amp;lt;/div&amp;gt;
        &amp;lt;/div&amp;gt;

        &amp;lt;div class=&amp;quot;toolbar&amp;quot;&amp;gt;
            &amp;lt;div class=&amp;quot;timeframe-selector&amp;quot;&amp;gt;
                &amp;lt;button class=&amp;quot;tf-btn&amp;quot; data-range=&amp;quot;30&amp;quot;&amp;gt;1M&amp;lt;/button&amp;gt;
                &amp;lt;button class=&amp;quot;tf-btn&amp;quot; data-range=&amp;quot;90&amp;quot;&amp;gt;3M&amp;lt;/button&amp;gt;
                &amp;lt;button class=&amp;quot;tf-btn&amp;quot; data-range=&amp;quot;180&amp;quot;&amp;gt;6M&amp;lt;/button&amp;gt;
                &amp;lt;button class=&amp;quot;tf-btn&amp;quot; data-range=&amp;quot;365&amp;quot;&amp;gt;1Y&amp;lt;/button&amp;gt;
                &amp;lt;button class=&amp;quot;tf-btn active&amp;quot; data-range=&amp;quot;all&amp;quot;&amp;gt;ALL&amp;lt;/button&amp;gt;
            &amp;lt;/div&amp;gt;

            &amp;lt;div class=&amp;quot;stats-row&amp;quot;&amp;gt;
                &amp;lt;span class=&amp;quot;stat-item&amp;quot;&amp;gt;High: &amp;lt;strong id=&amp;quot;statHigh&amp;quot;&amp;gt;--&amp;lt;/strong&amp;gt;&amp;lt;/span&amp;gt;
                &amp;lt;span class=&amp;quot;stat-item&amp;quot;&amp;gt;Low: &amp;lt;strong id=&amp;quot;statLow&amp;quot;&amp;gt;--&amp;lt;/strong&amp;gt;&amp;lt;/span&amp;gt;
                &amp;lt;span class=&amp;quot;stat-item&amp;quot;&amp;gt;Avg: &amp;lt;strong id=&amp;quot;statAvg&amp;quot;&amp;gt;--&amp;lt;/strong&amp;gt;&amp;lt;/span&amp;gt;
                &amp;lt;span class=&amp;quot;stat-item&amp;quot;&amp;gt;Change: &amp;lt;strong id=&amp;quot;statChange&amp;quot;&amp;gt;--&amp;lt;/strong&amp;gt;&amp;lt;/span&amp;gt;
            &amp;lt;/div&amp;gt;
        &amp;lt;/div&amp;gt;

        &amp;lt;div class=&amp;quot;chart-canvas-container&amp;quot;&amp;gt;
            &amp;lt;canvas id=&amp;quot;closingRatesChart&amp;quot;&amp;gt;&amp;lt;/canvas&amp;gt;
        &amp;lt;/div&amp;gt;
    &amp;lt;/div&amp;gt;

    &amp;lt;script&amp;gt;
        (function() {
            // Full historical closing rate dataset with 14-Sep-26 appended
            const rawLabels = [&amp;quot;04-Mar-25&amp;quot;, &amp;quot;05-Mar-25&amp;quot;, &amp;quot;06-Mar-25&amp;quot;, &amp;quot;07-Mar-25&amp;quot;, &amp;quot;10-Mar-25&amp;quot;, &amp;quot;11-Mar-25&amp;quot;, &amp;quot;12-Mar-25&amp;quot;, &amp;quot;13-Mar-25&amp;quot;, &amp;quot;14-Mar-25&amp;quot;, &amp;quot;17-Mar-25&amp;quot;, &amp;quot;18-Mar-25&amp;quot;, &amp;quot;19-Mar-25&amp;quot;, &amp;quot;20-Mar-25&amp;quot;, &amp;quot;21-Mar-25&amp;quot;, &amp;quot;24-Mar-25&amp;quot;, &amp;quot;25-Mar-25&amp;quot;, &amp;quot;26-Mar-25&amp;quot;, &amp;quot;27-Mar-25&amp;quot;, &amp;quot;28-Mar-25&amp;quot;, &amp;quot;03-Apr-25&amp;quot;, &amp;quot;04-Apr-25&amp;quot;, &amp;quot;07-Apr-25&amp;quot;, &amp;quot;08-Apr-25&amp;quot;, &amp;quot;09-Apr-25&amp;quot;, &amp;quot;10-Apr-25&amp;quot;, &amp;quot;11-Apr-25&amp;quot;, &amp;quot;14-Apr-25&amp;quot;, &amp;quot;15-Apr-25&amp;quot;, &amp;quot;16-Apr-25&amp;quot;, &amp;quot;17-Apr-25&amp;quot;, &amp;quot;18-Apr-25&amp;quot;, &amp;quot;21-Apr-25&amp;quot;, &amp;quot;22-Apr-25&amp;quot;, &amp;quot;23-Apr-25&amp;quot;, &amp;quot;24-Apr-25&amp;quot;, &amp;quot;25-Apr-25&amp;quot;, &amp;quot;28-Apr-25&amp;quot;, &amp;quot;29-Apr-25&amp;quot;, &amp;quot;30-Apr-25&amp;quot;, &amp;quot;02-May-25&amp;quot;, &amp;quot;05-May-25&amp;quot;, &amp;quot;06-May-25&amp;quot;, &amp;quot;07-May-25&amp;quot;, &amp;quot;08-May-25&amp;quot;, &amp;quot;09-May-25&amp;quot;, &amp;quot;12-May-25&amp;quot;, &amp;quot;13-May-25&amp;quot;, &amp;quot;14-May-25&amp;quot;, &amp;quot;15-May-25&amp;quot;, &amp;quot;16-May-25&amp;quot;, &amp;quot;19-May-25&amp;quot;, &amp;quot;20-May-25&amp;quot;, &amp;quot;21-May-25&amp;quot;, &amp;quot;22-May-25&amp;quot;, &amp;quot;23-May-25&amp;quot;, &amp;quot;26-May-25&amp;quot;, &amp;quot;27-May-25&amp;quot;, &amp;quot;29-May-25&amp;quot;, &amp;quot;30-May-25&amp;quot;, &amp;quot;02-Jun-25&amp;quot;, &amp;quot;03-Jun-25&amp;quot;, &amp;quot;04-Jun-25&amp;quot;, &amp;quot;05-Jun-25&amp;quot;, &amp;quot;10-Jun-25&amp;quot;, &amp;quot;11-Jun-25&amp;quot;, &amp;quot;12-Jun-25&amp;quot;, &amp;quot;13-Jun-25&amp;quot;, &amp;quot;16-Jun-25&amp;quot;, &amp;quot;17-Jun-25&amp;quot;, &amp;quot;18-Jun-25&amp;quot;, &amp;quot;19-Jun-25&amp;quot;, &amp;quot;20-Jun-25&amp;quot;, &amp;quot;23-Jun-25&amp;quot;, &amp;quot;24-Jun-25&amp;quot;, &amp;quot;25-Jun-25&amp;quot;, &amp;quot;26-Jun-25&amp;quot;, &amp;quot;27-Jun-25&amp;quot;, &amp;quot;30-Jun-25&amp;quot;, &amp;quot;02-Jul-25&amp;quot;, &amp;quot;03-Jul-25&amp;quot;, &amp;quot;04-Jul-25&amp;quot;, &amp;quot;07-Jul-25&amp;quot;, &amp;quot;08-Jul-25&amp;quot;, &amp;quot;09-Jul-25&amp;quot;, &amp;quot;10-Jul-25&amp;quot;, &amp;quot;11-Jul-25&amp;quot;, &amp;quot;14-Jul-25&amp;quot;, &amp;quot;15-Jul-25&amp;quot;, &amp;quot;16-Jul-25&amp;quot;, &amp;quot;17-Jul-25&amp;quot;, &amp;quot;18-Jul-25&amp;quot;, &amp;quot;21-Jul-25&amp;quot;, &amp;quot;22-Jul-25&amp;quot;, &amp;quot;23-Jul-25&amp;quot;, &amp;quot;24-Jul-25&amp;quot;, &amp;quot;25-Jul-25&amp;quot;, &amp;quot;28-Jul-25&amp;quot;, &amp;quot;29-Jul-25&amp;quot;, &amp;quot;30-Jul-25&amp;quot;, &amp;quot;31-Jul-25&amp;quot;, &amp;quot;01-Aug-25&amp;quot;, &amp;quot;04-Aug-25&amp;quot;, &amp;quot;05-Aug-25&amp;quot;, &amp;quot;06-Aug-25&amp;quot;, &amp;quot;07-Aug-25&amp;quot;, &amp;quot;08-Aug-25&amp;quot;, &amp;quot;11-Aug-25&amp;quot;, &amp;quot;12-Aug-25&amp;quot;, &amp;quot;13-Aug-25&amp;quot;, &amp;quot;15-Aug-25&amp;quot;, &amp;quot;18-Aug-25&amp;quot;, &amp;quot;19-Aug-25&amp;quot;, &amp;quot;20-Aug-25&amp;quot;, &amp;quot;21-Aug-25&amp;quot;, &amp;quot;22-Aug-25&amp;quot;, &amp;quot;25-Aug-25&amp;quot;, &amp;quot;26-Aug-25&amp;quot;, &amp;quot;27-Aug-25&amp;quot;, &amp;quot;28-Aug-25&amp;quot;, &amp;quot;29-Aug-25&amp;quot;, &amp;quot;01-Sep-25&amp;quot;, &amp;quot;02-Sep-25&amp;quot;, &amp;quot;03-Sep-25&amp;quot;, &amp;quot;04-Sep-25&amp;quot;, &amp;quot;05-Sep-25&amp;quot;, &amp;quot;08-Sep-25&amp;quot;, &amp;quot;09-Sep-25&amp;quot;, &amp;quot;10-Sep-25&amp;quot;, &amp;quot;11-Sep-25&amp;quot;, &amp;quot;12-Sep-25&amp;quot;, &amp;quot;15-Sep-25&amp;quot;, &amp;quot;16-Sep-25&amp;quot;, &amp;quot;17-Sep-25&amp;quot;, &amp;quot;18-Sep-25&amp;quot;, &amp;quot;19-Sep-25&amp;quot;, &amp;quot;21-Sep-25&amp;quot;, &amp;quot;22-Sep-25&amp;quot;, &amp;quot;23-Sep-25&amp;quot;, &amp;quot;24-Sep-25&amp;quot;, &amp;quot;25-Sep-25&amp;quot;, &amp;quot;26-Sep-25&amp;quot;, &amp;quot;29-Sep-25&amp;quot;, &amp;quot;30-Sep-25&amp;quot;, &amp;quot;01-Oct-25&amp;quot;, &amp;quot;02-Oct-25&amp;quot;, &amp;quot;03-Oct-25&amp;quot;, &amp;quot;06-Oct-25&amp;quot;, &amp;quot;07-Oct-25&amp;quot;, &amp;quot;08-Oct-25&amp;quot;, &amp;quot;09-Oct-25&amp;quot;, &amp;quot;10-Oct-25&amp;quot;, &amp;quot;13-Oct-25&amp;quot;, &amp;quot;14-Oct-25&amp;quot;, &amp;quot;15-Oct-25&amp;quot;, &amp;quot;16-Oct-25&amp;quot;, &amp;quot;17-Oct-25&amp;quot;, &amp;quot;20-Oct-25&amp;quot;, &amp;quot;21-Oct-25&amp;quot;, &amp;quot;22-Oct-25&amp;quot;, &amp;quot;23-Oct-25&amp;quot;, &amp;quot;24-Oct-25&amp;quot;, &amp;quot;27-Oct-25&amp;quot;, &amp;quot;28-Oct-25&amp;quot;, &amp;quot;29-Oct-25&amp;quot;, &amp;quot;30-Oct-25&amp;quot;, &amp;quot;31-Oct-25&amp;quot;, &amp;quot;03-Nov-25&amp;quot;, &amp;quot;04-Nov-25&amp;quot;, &amp;quot;05-Nov-25&amp;quot;, &amp;quot;06-Nov-25&amp;quot;, &amp;quot;07-Nov-25&amp;quot;, &amp;quot;10-Nov-25&amp;quot;, &amp;quot;11-Nov-25&amp;quot;, &amp;quot;12-Nov-25&amp;quot;, &amp;quot;13-Nov-25&amp;quot;, &amp;quot;14-Nov-25&amp;quot;, &amp;quot;17-Nov-25&amp;quot;, &amp;quot;18-Nov-25&amp;quot;, &amp;quot;19-Nov-25&amp;quot;, &amp;quot;20-Nov-25&amp;quot;, &amp;quot;21-Nov-25&amp;quot;, &amp;quot;24-Nov-25&amp;quot;, &amp;quot;25-Nov-25&amp;quot;, &amp;quot;26-Nov-25&amp;quot;, &amp;quot;27-Nov-25&amp;quot;, &amp;quot;28-Nov-25&amp;quot;, &amp;quot;01-Dec-25&amp;quot;, &amp;quot;02-Dec-25&amp;quot;, &amp;quot;03-Dec-25&amp;quot;, &amp;quot;04-Dec-25&amp;quot;, &amp;quot;05-Dec-25&amp;quot;, &amp;quot;08-Dec-25&amp;quot;, &amp;quot;09-Dec-25&amp;quot;, &amp;quot;10-Dec-25&amp;quot;, &amp;quot;11-Dec-25&amp;quot;, &amp;quot;12-Dec-25&amp;quot;, &amp;quot;15-Dec-25&amp;quot;, &amp;quot;16-Dec-25&amp;quot;, &amp;quot;17-Dec-25&amp;quot;, &amp;quot;18-Dec-25&amp;quot;, &amp;quot;19-Dec-25&amp;quot;, &amp;quot;22-Dec-25&amp;quot;, &amp;quot;23-Dec-25&amp;quot;, &amp;quot;24-Dec-25&amp;quot;, &amp;quot;26-Dec-25&amp;quot;, &amp;quot;29-Dec-25&amp;quot;, &amp;quot;30-Dec-25&amp;quot;, &amp;quot;31-Dec-25&amp;quot;, &amp;quot;02-Jan-26&amp;quot;, &amp;quot;05-Jan-26&amp;quot;, &amp;quot;06-Jan-26&amp;quot;, &amp;quot;07-Jan-26&amp;quot;, &amp;quot;08-Jan-26&amp;quot;, &amp;quot;09-Jan-26&amp;quot;, &amp;quot;12-Jan-26&amp;quot;, &amp;quot;13-Jan-26&amp;quot;, &amp;quot;14-Jan-26&amp;quot;, &amp;quot;15-Jan-26&amp;quot;, &amp;quot;16-Jan-26&amp;quot;, &amp;quot;19-Jan-26&amp;quot;, &amp;quot;20-Jan-26&amp;quot;, &amp;quot;21-Jan-26&amp;quot;, &amp;quot;22-Jan-26&amp;quot;, &amp;quot;23-Jan-26&amp;quot;, &amp;quot;26-Jan-26&amp;quot;, &amp;quot;27-Jan-26&amp;quot;, &amp;quot;28-Jan-26&amp;quot;, &amp;quot;29-Jan-26&amp;quot;, &amp;quot;30-Jan-26&amp;quot;, &amp;quot;02-Feb-26&amp;quot;, &amp;quot;03-Feb-26&amp;quot;, &amp;quot;04-Feb-26&amp;quot;, &amp;quot;06-Feb-26&amp;quot;, &amp;quot;09-Feb-26&amp;quot;, &amp;quot;10-Feb-26&amp;quot;, &amp;quot;11-Feb-26&amp;quot;, &amp;quot;12-Feb-26&amp;quot;, &amp;quot;13-Feb-26&amp;quot;, &amp;quot;16-Feb-26&amp;quot;, &amp;quot;17-Feb-26&amp;quot;, &amp;quot;18-Feb-26&amp;quot;, &amp;quot;20-Feb-26&amp;quot;, &amp;quot;23-Feb-26&amp;quot;, &amp;quot;24-Feb-26&amp;quot;, &amp;quot;25-Feb-26&amp;quot;, &amp;quot;26-Feb-26&amp;quot;, &amp;quot;27-Feb-26&amp;quot;, &amp;quot;02-Mar-26&amp;quot;, &amp;quot;03-Mar-26&amp;quot;, &amp;quot;04-Mar-26&amp;quot;, &amp;quot;05-Mar-26&amp;quot;, &amp;quot;06-Mar-26&amp;quot;, &amp;quot;09-Mar-26&amp;quot;, &amp;quot;10-Mar-26&amp;quot;, &amp;quot;11-Mar-26&amp;quot;, &amp;quot;12-Mar-26&amp;quot;, &amp;quot;13-Mar-26&amp;quot;, &amp;quot;16-Mar-26&amp;quot;, &amp;quot;17-Mar-26&amp;quot;, &amp;quot;18-Mar-26&amp;quot;, &amp;quot;19-Mar-26&amp;quot;, &amp;quot;24-Mar-26&amp;quot;, &amp;quot;25-Mar-26&amp;quot;, &amp;quot;26-Mar-26&amp;quot;, &amp;quot;27-Mar-26&amp;quot;, &amp;quot;30-Mar-26&amp;quot;, &amp;quot;31-Mar-26&amp;quot;, &amp;quot;01-Apr-26&amp;quot;, &amp;quot;02-Apr-26&amp;quot;, &amp;quot;03-Apr-26&amp;quot;, &amp;quot;04-Apr-26&amp;quot;, &amp;quot;06-Apr-26&amp;quot;, &amp;quot;07-Apr-26&amp;quot;, &amp;quot;08-Apr-26&amp;quot;, &amp;quot;09-Apr-26&amp;quot;, &amp;quot;10-Apr-26&amp;quot;, &amp;quot;13-Apr-26&amp;quot;, &amp;quot;14-Apr-26&amp;quot;, &amp;quot;14-Apr-26&amp;quot;, &amp;quot;15-Apr-26&amp;quot;, &amp;quot;16-Apr-26&amp;quot;, &amp;quot;17-Apr-26&amp;quot;, &amp;quot;20-Apr-26&amp;quot;, &amp;quot;21-Apr-26&amp;quot;, &amp;quot;22-Apr-26&amp;quot;, &amp;quot;23-Apr-26&amp;quot;, &amp;quot;24-Apr-26&amp;quot;, &amp;quot;27-Apr-26&amp;quot;, &amp;quot;28-Apr-26&amp;quot;, &amp;quot;29-Apr-26&amp;quot;, &amp;quot;30-Apr-26&amp;quot;, &amp;quot;04-May-26&amp;quot;, &amp;quot;05-May-26&amp;quot;, &amp;quot;06-May-26&amp;quot;, &amp;quot;07-May-26&amp;quot;, &amp;quot;08-May-26&amp;quot;, &amp;quot;11-May-26&amp;quot;, &amp;quot;12-May-26&amp;quot;, &amp;quot;13-May-26&amp;quot;, &amp;quot;14-May-26&amp;quot;, &amp;quot;15-May-26&amp;quot;, &amp;quot;18-May-26&amp;quot;, &amp;quot;19-May-26&amp;quot;, &amp;quot;20-May-26&amp;quot;, &amp;quot;21-May-26&amp;quot;, &amp;quot;22-May-26&amp;quot;, &amp;quot;25-May-26&amp;quot;, &amp;quot;29-May-26&amp;quot;, &amp;quot;01-Jun-26&amp;quot;, &amp;quot;02-Jun-26&amp;quot;, &amp;quot;03-Jun-26&amp;quot;, &amp;quot;04-Jun-26&amp;quot;, &amp;quot;05-Jun-26&amp;quot;, &amp;quot;08-Jun-26&amp;quot;, &amp;quot;09-Jun-26&amp;quot;, &amp;quot;10-Jun-26&amp;quot;, &amp;quot;11-Jun-26&amp;quot;, &amp;quot;12-Jun-26&amp;quot;, &amp;quot;15-Jun-26&amp;quot;, &amp;quot;16-Jun-26&amp;quot;, &amp;quot;17-Jun-26&amp;quot;, &amp;quot;18-Jun-26&amp;quot;, &amp;quot;19-Jun-26&amp;quot;, &amp;quot;22-Jun-26&amp;quot;, &amp;quot;23-Jun-26&amp;quot;, &amp;quot;24-Jun-26&amp;quot;, &amp;quot;29-Jun-26&amp;quot;, &amp;quot;30-Jun-26&amp;quot;, &amp;quot;02-Jul-26&amp;quot;, &amp;quot;03-Jul-26&amp;quot;, &amp;quot;06-Jul-26&amp;quot;, &amp;quot;07-Jul-26&amp;quot;, &amp;quot;08-Jul-26&amp;quot;, &amp;quot;09-Jul-26&amp;quot;, &amp;quot;10-Jul-26&amp;quot;, &amp;quot;13-Jul-26&amp;quot;, &amp;quot;14-Jul-26&amp;quot;, &amp;quot;15-Jul-26&amp;quot;, &amp;quot;16-Jul-26&amp;quot;, &amp;quot;17-Jul-26&amp;quot;, &amp;quot;20-Jul-26&amp;quot;, &amp;quot;21-Jul-26&amp;quot;, &amp;quot;22-Jul-26&amp;quot;, &amp;quot;23-Jul-26&amp;quot;, &amp;quot;24-Jul-26&amp;quot;, &amp;quot;27-Jul-26&amp;quot;, &amp;quot;28-Jul-26&amp;quot;, &amp;quot;29-Jul-26&amp;quot;, &amp;quot;30-Jul-26&amp;quot;, &amp;quot;03-Aug-26&amp;quot;, &amp;quot;04-Aug-26&amp;quot;, &amp;quot;05-Aug-26&amp;quot;, &amp;quot;06-Aug-26&amp;quot;, &amp;quot;07-Aug-26&amp;quot;, &amp;quot;10-Aug-26&amp;quot;, &amp;quot;11-Aug-26&amp;quot;, &amp;quot;12-Aug-26&amp;quot;, &amp;quot;13-Aug-26&amp;quot;, &amp;quot;17-Aug-26&amp;quot;, &amp;quot;18-Aug-26&amp;quot;, &amp;quot;20-Aug-26&amp;quot;, &amp;quot;21-Aug-26&amp;quot;, &amp;quot;24-Aug-26&amp;quot;, &amp;quot;25-Aug-26&amp;quot;, &amp;quot;27-Aug-26&amp;quot;, &amp;quot;28-Aug-26&amp;quot;, &amp;quot;31-Aug-26&amp;quot;, &amp;quot;01-Sep-26&amp;quot;, &amp;quot;02-Sep-26&amp;quot;, &amp;quot;03-Sep-26&amp;quot;, &amp;quot;04-Sep-26&amp;quot;, &amp;quot;07-Sep-26&amp;quot;, &amp;quot;08-Sep-26&amp;quot;, &amp;quot;09-Sep-26&amp;quot;, &amp;quot;10-Sep-26&amp;quot;, &amp;quot;11-Sep-26&amp;quot;, &amp;quot;14-Sep-26&amp;quot;];
            
            const rawData = [279.77, 279.87, 279.82, 279.97, 280.07, 279.95, 279.97, 280.05, 280.21, 280.17, 280.27, 280.21, 280.22, 280.26, 280.37, 280.42, 280.26, 280.22, 280.16, 280.56, 280.47, 280.57, 280.73, 280.78, 280.56, 280.47, 280.60, 280.57, 280.46, 280.62, 280.72, 280.87, 280.77, 280.97, 281.07, 280.97, 281.07, 281.02, 280.97, 281.06, 281.22, 281.37, 281.47, 281.52, 281.71, 281.57, 281.67, 281.72, 281.61, 281.66, 281.77, 281.92, 281.97, 282.06, 281.97, 282.06, 282.17, 282.07, 282.02, 281.97, 282.12, 282.22, 282.17, 282.21, 282.47, 282.67, 282.96, 283.17, 283.41, 283.55, 283.64, 283.70, 283.87, 283.77, 283.72, 283.67, 283.72, 283.76, 283.95, 283.86, 283.97, 284.22, 284.36, 284.47, 284.56, 284.46, 284.72, 284.67, 284.96, 284.97, 284.87, 284.95, 284.97, 284.76, 284.22, 283.45, 283.21, 283.05, 282.95, 282.87, 282.72, 282.66, 282.57, 282.67, 282.56, 282.47, 282.45, 282.42, 282.22, 282.06, 282.01, 281.96, 281.95, 281.92, 281.90, 281.87, 281.86, 281.83, 281.80, 281.77, 281.75, 281.72, 281.71, 281.67, 281.65, 281.62, 281.61, 281.60, 281.56, 281.55, 281.52, 281.51, 281.50, 281.47, 281.46, 281.45, 281.46, 281.42, 281.43, 281.41, 281.37, 281.35, 281.32, 281.31, 281.27, 281.26, 281.25, 281.22, 281.21, 281.20, 281.17, 281.16, 281.15, 281.12, 281.11, 281.10, 281.07, 281.06, 281.05, 281.03, 281.02, 281.01, 280.97, 280.96, 280.92, 280.91, 280.90, 280.87, 280.86, 280.85, 280.82, 280.81, 280.78, 280.77, 280.76, 280.72, 280.71, 280.67, 280.66, 280.66, 280.65, 280.62, 280.61, 280.57, 280.56, 280.55, 280.52, 280.51, 280.47, 280.46, 280.45, 280.42, 280.41, 280.40, 280.37, 280.36, 280.32, 280.31, 280.30, 280.27, 280.26, 280.25, 280.22, 280.21, 280.20, 280.17, 280.16, 280.15, 280.12, 280.11, 280.10, 280.07, 280.06, 280.05, 280.02, 280.01, 280.00, 279.97, 279.96, 279.95, 279.92, 279.91, 279.90, 279.87, 279.86, 279.85, 279.82, 279.81, 279.80, 279.77, 279.76, 279.75, 279.72, 279.71, 279.70, 279.67, 279.66, 279.65, 279.62, 279.61, 279.60, 279.57, 279.56, 279.55, 279.52, 279.51, 279.50, 279.47, 279.46, 279.45, 279.42, 279.41, 279.40, 279.37, 279.36, 279.35, 279.32, 279.31, 279.30, 279.27, 279.26, 279.25, 279.22, 279.21, 279.20, 279.17, 279.16, 279.15, 279.12, 279.11, 279.10, 279.07, 279.06, 279.05, 279.02, 279.01, 279.00, 278.97, 278.96, 278.95, 278.92, 278.91, 278.90, 278.87, 278.86, 278.85, 278.82, 278.81, 278.80, 278.77, 278.76, 278.75, 278.72, 278.71, 278.70, 278.67, 278.66, 278.65, 278.62, 278.61, 278.60, 278.57, 278.56, 278.55, 278.52, 278.51, 278.50, 278.47, 278.46, 278.45, 278.42, 278.41, 278.40, 278.37, 278.36, 278.35, 278.32, 278.31, 278.30, 278.27, 278.26, 278.25, 278.22, 278.21, 278.20, 278.17, 278.16, 278.15, 278.12, 278.11, 278.10, 278.07, 278.06, 278.05, 278.02, 278.01, 278.00, 277.95, 277.95, 277.92, 277.91, 277.90, 277.87, 277.86, 277.85, 277.82, 277.81, 277.80, 277.77, 277.76, 277.75, 277.72, 277.71, 277.70, 277.67, 277.66, 277.65, 277.62, 277.61, 277.57, 277.56, 277.55, 277.52, 277.51, 277.50, 277.47, 277.46, 277.45, 277.42, 277.41, 277.40, 277.37, 277.36, 277.35, 277.32, 277.31];

            const currentExchangeRate = rawData[rawData.length - 1];
            const currentExchangeDate = rawLabels[rawLabels.length - 1];

            // DOM Elements
            const usdInput = document.getElementById(&amp;#039;usdInput&amp;#039;);
            const pkrInput = document.getElementById(&amp;#039;pkrInput&amp;#039;);
            const badgeEl = document.getElementById(&amp;#039;latestBadgeRate&amp;#039;);
            const dateLabelEl = document.getElementById(&amp;#039;latestDateLabel&amp;#039;);

            const statHighEl = document.getElementById(&amp;#039;statHigh&amp;#039;);
            const statLowEl = document.getElementById(&amp;#039;statLow&amp;#039;);
            const statAvgEl = document.getElementById(&amp;#039;statAvg&amp;#039;);
            const statChangeEl = document.getElementById(&amp;#039;statChange&amp;#039;);

            // Format helpers
            const formatCurrency = (val, maxDecimals = 2, minDecimals = 2) =&amp;gt; {
                if (isNaN(val) || val === null) return &amp;#039;--&amp;#039;;
                return val.toLocaleString(&amp;#039;en-US&amp;#039;, {
                    minimumFractionDigits: minDecimals,
                    maximumFractionDigits: maxDecimals
                });
            };

            const parseCurrency = (valStr) =&amp;gt; {
                if (!valStr) return NaN;
                return parseFloat(valStr.toString().replace(/,/g, &amp;#039;&amp;#039;));
            };

            // Set Initial Values in UI
            dateLabelEl.textContent = currentExchangeDate;
            badgeEl.textContent = formatCurrency(currentExchangeRate) + &amp;#039; PKR&amp;#039;;
            pkrInput.value = formatCurrency(currentExchangeRate);

            // Converter Event Listeners
            usdInput.addEventListener(&amp;#039;input&amp;#039;, (e) =&amp;gt; {
                const val = parseCurrency(e.target.value);
                if (isNaN(val)) {
                    pkrInput.value = &amp;#039;&amp;#039;;
                } else {
                    pkrInput.value = formatCurrency(val * currentExchangeRate);
                }
            });

            pkrInput.addEventListener(&amp;#039;input&amp;#039;, (e) =&amp;gt; {
                const val = parseCurrency(e.target.value);
                if (isNaN(val)) {
                    usdInput.value = &amp;#039;&amp;#039;;
                } else {
                    usdInput.value = formatCurrency(val / currentExchangeRate, 4, 2);
                }
            });

            usdInput.addEventListener(&amp;#039;blur&amp;#039;, (e) =&amp;gt; {
                const val = parseCurrency(e.target.value);
                if (!isNaN(val)) {
                    e.target.value = formatCurrency(val, 2, 0);
                }
            });

            pkrInput.addEventListener(&amp;#039;blur&amp;#039;, (e) =&amp;gt; {
                const val = parseCurrency(e.target.value);
                if (!isNaN(val)) {
                    e.target.value = formatCurrency(val, 2, 2);
                }
            });

            const ctx = document.getElementById(&amp;#039;closingRatesChart&amp;#039;).getContext(&amp;#039;2d&amp;#039;);
            
            // Create gradient fill
            const gradient = ctx.createLinearGradient(0, 0, 0, 350);
            gradient.addColorStop(0, &amp;#039;rgba(79, 70, 229, 0.25)&amp;#039;);
            gradient.addColorStop(1, &amp;#039;rgba(79, 70, 229, 0.0)&amp;#039;);

            let chartInstance = new Chart(ctx, {
                type: &amp;#039;line&amp;#039;,
                data: {
                    labels: rawLabels,
                    datasets: [{
                        label: &amp;#039;USD to PKR&amp;#039;,
                        data: rawData,
                        borderColor: &amp;#039;#4f46e5&amp;#039;,
                        borderWidth: 2,
                        backgroundColor: gradient,
                        fill: true,
                        tension: 0.3,
                        pointRadius: 0,
                        pointHoverRadius: 6,
                        pointHoverBackgroundColor: &amp;#039;#4f46e5&amp;#039;,
                        pointHoverBorderColor: &amp;#039;#ffffff&amp;#039;,
                        pointHoverBorderWidth: 2
                    }]
                },
                options: {
                    responsive: true,
                    maintainAspectRatio: false,
                    interaction: {
                        intersect: false,
                        mode: &amp;#039;index&amp;#039;
                    },
                    plugins: {
                        legend: { display: false },
                        tooltip: {
                            backgroundColor: &amp;#039;#0f172a&amp;#039;,
                            titleFont: { family: &amp;#039;Plus Jakarta Sans&amp;#039;, size: 12, weight: &amp;#039;bold&amp;#039; },
                            bodyFont: { family: &amp;#039;Plus Jakarta Sans&amp;#039;, size: 13 },
                            padding: 10,
                            cornerRadius: 8,
                            displayColors: false,
                            callbacks: {
                                label: function(context) {
                                    return &amp;#039;Rate: &amp;#039; + formatCurrency(context.parsed.y) + &amp;#039; PKR&amp;#039;;
                                }
                            }
                        }
                    },
                    scales: {
                        x: {
                            grid: { display: false },
                            ticks: {
                                font: { family: &amp;#039;Plus Jakarta Sans&amp;#039;, size: 11 },
                                color: &amp;#039;#64748b&amp;#039;,
                                maxTicksLimit: 8,
                                maxRotation: 0
                            }
                        },
                        y: {
                            grid: { color: &amp;#039;#f1f5f9&amp;#039; },
                            ticks: {
                                font: { family: &amp;#039;Plus Jakarta Sans&amp;#039;, size: 11 },
                                color: &amp;#039;#64748b&amp;#039;,
                                callback: function(value) {
                                    return value.toFixed(1);
                                }
                            }
                        }
                    }
                }
            });

            function updateRangeStats(labels, data) {
                if (!data || data.length === 0) return;

                const high = Math.max(...data);
                const low = Math.min(...data);
                const avg = data.reduce((a, b) =&amp;gt; a + b, 0) / data.length;
                const startVal = data[0];
                const endVal = data[data.length - 1];
                const change = endVal - startVal;
                const changePct = (change / startVal) * 100;

                statHighEl.textContent = formatCurrency(high);
                statLowEl.textContent = formatCurrency(low);
                statAvgEl.textContent = formatCurrency(avg);

                const sign = change &amp;gt;= 0 ? &amp;#039;+&amp;#039; : &amp;#039;&amp;#039;;
                statChangeEl.textContent = `${sign}${formatCurrency(change)} (${sign}${changePct.toFixed(2)}%)`;
                statChangeEl.style.color = change &amp;gt; 0 ? &amp;#039;#10b981&amp;#039; : (change &amp;lt; 0 ? &amp;#039;#ef4444&amp;#039; : &amp;#039;#64748b&amp;#039;);
            }

            // Timeframe filtering handler
            function setTimeframe(rangeCount) {
                let slicedLabels = rawLabels;
                let slicedData = rawData;

                if (rangeCount !== &amp;#039;all&amp;#039;) {
                    const count = parseInt(rangeCount, 10);
                    slicedLabels = rawLabels.slice(-count);
                    slicedData = rawData.slice(-count);
                }

                chartInstance.data.labels = slicedLabels;
                chartInstance.data.datasets[0].data = slicedData;

                // Adjust Y axis dynamic scaling
                const minVal = Math.min(...slicedData);
                const maxVal = Math.max(...slicedData);
                const padding = (maxVal - minVal) * 0.1 || 1;
                
                chartInstance.options.scales.y.min = Math.floor((minVal - padding) * 10) / 10;
                chartInstance.options.scales.y.max = Math.ceil((maxVal + padding) * 10) / 10;

                chartInstance.update();
                updateRangeStats(slicedLabels, slicedData);
            }

            // Setup timeframe button listeners
            document.querySelectorAll(&amp;#039;#pkr-chart-embed .tf-btn&amp;#039;).forEach(btn =&amp;gt; {
                btn.addEventListener(&amp;#039;click&amp;#039;, (e) =&amp;gt; {
                    document.querySelectorAll(&amp;#039;#pkr-chart-embed .tf-btn&amp;#039;).forEach(b =&amp;gt; b.classList.remove(&amp;#039;active&amp;#039;));
                    e.target.classList.add(&amp;#039;active&amp;#039;);
                    setTimeframe(e.target.getAttribute(&amp;#039;data-range&amp;#039;));
                });
            });

            // Initial range load
            setTimeframe(&amp;#039;all&amp;#039;);
        })();
    &amp;lt;/script&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;
    &amp;lt;script&amp;gt;
        function reportHeight() {
            var h = document.documentElement.scrollHeight;
            window.parent.postMessage({ type: &amp;#039;raw-html-resize&amp;#039;, id: &amp;#039;raw-html-6aa7f2f852c72&amp;#039;, height: h }, &amp;#039;*&amp;#039;);
        }
        window.addEventListener(&amp;#039;load&amp;#039;, reportHeight);
        if (window.ResizeObserver) {
            new ResizeObserver(reportHeight).observe(document.body);
        }
    &amp;lt;/script&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;"&gt;&lt;/iframe&gt;
&lt;script&gt;
if (!window._rawHtmlListenerAttached) {
    window._rawHtmlListenerAttached = true;
    window.addEventListener('message', function(event) {
        if (event.data &amp;&amp; event.data.type === 'raw-html-resize' &amp;&amp; event.data.id) {
            var iframe = document.getElementById(event.data.id);
            if (iframe) {
                var height = Math.min(Math.max(event.data.height, 50), 9200);
                iframe.style.height = height + 'px';
            }
        }
    });
}
&lt;/script&gt;
&lt;p&gt;&lt;strong&gt;The Pakistani rupee extended its marginal gains against the US dollar in the interbank market on Monday.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The local unit closed the day at 277.31, a gain of Re0.01 against the greenback.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.brecorder.com/news/40439047"&gt;On Friday&lt;/a&gt;, the Pakistani rupee settled at 277.32 against the dollar.&lt;/p&gt;
    &lt;figure class='media  w-full sm:w-full  media--center  media--embed  media--uneven media--tweet' data-original-src='https://x.com/StateBank_Pak/status/2099463149238059330/photo/1'&gt;
        &lt;div class='media__item  media__item--twitter  '&gt;&lt;span&gt;
    &lt;blockquote class="twitter-tweet" lang="en"&gt;
        &lt;a href="https://twitter.com/StateBank_Pak/status/2099463149238059330/photo/1"&gt;&lt;/a&gt;
    &lt;/blockquote&gt;
&lt;/span&gt;&lt;/div&gt;
        
    &lt;/figure&gt;
&lt;p&gt;Internationally, &lt;a href="https://www.brecorder.com/news/40439373/dollar-steady-yen-near-7-month-high-ahead-of-fed-boj-meetings"&gt;the US dollar was steady on Monday &lt;/a&gt;​with the Japanese yen holding on to its recent sharp gains and hovering near a seven-month high as investors pondered possible rate hikes from ‌the Federal Reserve and Bank of Japan in a pivotal week for monetary policy.&lt;/p&gt;
&lt;p&gt;Global policymakers are grappling with erratic pricing pressures from the six-month-long US-Israeli war on Iran that has pushed oil prices well above $100 per barrel and upended the path for rates amid bouts of selloffs in long-end bonds.&lt;/p&gt;
&lt;p&gt;The European Central Bank raised rates last week and warned of further hikes, setting the stage for the Fed policy ​decision on Wednesday and a widely expected rate hike from the BOJ on Friday.&lt;/p&gt;
&lt;p&gt;The Bank of England is expected to stand pat on ​Thursday, but the voting is likely to be close.&lt;/p&gt;
&lt;p&gt;Traders ramped up bets for a Fed rate hike after data on ⁠Friday showed US consumer prices accelerated in August; they priced in an 86% chance of an increase this week and another move higher later in the year, ​the CME FedWatch tool showed.&lt;/p&gt;
&lt;p&gt;The euro was recently at $1.159, while sterling last bought $1.3524.&lt;/p&gt;
&lt;p&gt;The US dollar index, which measures the greenback against six other units, was steady at 99.15 after two straight weeks of meagre declines.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.brecorder.com/news/40439372/oil-prices-up-over-3-following-new-strikes-on-saudi-strait-of-hormuz"&gt;Oil prices&lt;/a&gt;, a key indicator of currency parity, rose more than 3% on Monday, after new Houthi strikes on Saudi Arabia and Iranian attacks on ships in the Gulf compounded supply concerns following the closure of a key Saudi oil pipeline.&lt;/p&gt;
&lt;p&gt;Brent crude futures rose $3.21, or 3.1%, to $107.82 per barrel as of 0340 GMT.&lt;/p&gt;
&lt;p&gt;WTI futures gained $3.17, or 3.2%, to $103.22 per barrel.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Inter-bank market rates for dollar on Monday&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;BID Rs 277.31&lt;/p&gt;
&lt;p&gt;OFFER Rs 277.51&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Open-market movement&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;In the open market, the PKR gained 3.00 paisa for buying and lost 8.00 paisa for selling against USD, closing at 278.19 and 279.13, respectively.&lt;/p&gt;
&lt;p&gt;Against Euro, the PKR gained 1.51 rupee for buying and 1.10 rupee for selling, closing at 320.60 and 323.94, respectively.&lt;/p&gt;
&lt;p&gt;Against UAE Dirham, the PKR gained 3.00 paisa for buying and 1.00 paisa for selling, closing at 75.63 and 76.27, respectively.&lt;/p&gt;
&lt;p&gt;Against Saudi Riyal, the PKR gained 2.00 paisa for buying and remained unchanged for selling, closing at 73.94 and 74.48, respectively.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Open-market rates for dollar on Monday&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;BID Rs 278.19&lt;/p&gt;
&lt;p&gt;OFFER Rs 279.13&lt;/p&gt;
</description>
      <content:encoded xmlns="http://purl.org/rss/1.0/modules/content/"><![CDATA[<iframe id="raw-html-6aa7f2f852c72" class="raw-html-embed" style="width: 100%; min-height: 50px; max-height: 9200px; border: none; overflow: hidden;" scrolling="no" srcdoc="&lt;!DOCTYPE html&gt;
&lt;html&gt;
&lt;head&gt;
    &lt;style&gt;
        body { margin: 0; padding: 0; font-family: system-ui, -apple-system, sans-serif; overflow-wrap: anywhere; }
    &lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
    
&lt;!DOCTYPE html&gt;
&lt;html lang=&quot;en&quot;&gt;
&lt;head&gt;
    &lt;meta charset=&quot;UTF-8&quot;&gt;
    &lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1.0&quot;&gt;
    &lt;title&gt;PKR vs USD Exchange Rate Chart&lt;/title&gt;
    &lt;!-- Chart.js for interactive rendering --&gt;
    &lt;script src=&quot;https://cdn.jsdelivr.net/npm/chart.js&quot;&gt;&lt;/script&gt;
    
    &lt;style&gt;
        @import url(&#039;https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght=400;500;600;700&amp;display=swap&#039;);

        #pkr-chart-embed {
            font-family: &#039;Plus Jakarta Sans&#039;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, Roboto, sans-serif;
            max-width: 1000px;
            width: 100%;
            margin: 24px auto;
            background-color: #ffffff;
            border: 1px solid #e2e8f0;
            border-radius: 20px;
            padding: 24px;
            box-shadow: 0 10px 25px -5px rgba(15, 23, 42, 0.05), 0 8px 10px -6px rgba(15, 23, 42, 0.05);
            color: #0f172a;
            box-sizing: border-box;
        }

        #pkr-chart-embed * { box-sizing: border-box; margin: 0; padding: 0; }

        #pkr-chart-embed .chart-header {
            display: flex;
            flex-direction: column;
            gap: 20px;
            margin-bottom: 20px;
            width: 100%;
        }

        #pkr-chart-embed .top-row {
            display: flex;
            flex-direction: row;
            justify-content: space-between;
            align-items: flex-start;
            gap: 20px;
        }

        #pkr-chart-embed .calculator-area {
            display: flex;
            flex-direction: column;
            gap: 8px;
            align-items: flex-start;
        }

        #pkr-chart-embed .main-title {
            font-size: 22px;
            font-weight: 700;
            color: #0f172a;
            letter-spacing: -0.025em;
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            gap: 10px;
        }

        #pkr-chart-embed .currency-badge {
            font-size: 11px;
            font-weight: 600;
            color: #4f46e5;
            background-color: rgba(79, 70, 229, 0.08);
            padding: 3px 10px;
            border-radius: 9999px;
            border: 1px solid rgba(79, 70, 229, 0.15);
            text-transform: uppercase;
        }

        #pkr-chart-embed .calculator-title {
            font-size: 10px;
            font-weight: 700;
            color: #64748b;
            text-transform: uppercase;
            letter-spacing: 0.05em;
        }

        #pkr-chart-embed .converter {
            display: flex;
            align-items: center;
            background: #f8fafc;
            border: 1px solid #e2e8f0;
            border-radius: 12px;
            padding: 4px;
            gap: 6px;
        }

        #pkr-chart-embed .converter-group {
            display: flex;
            align-items: center;
            background: #ffffff;
            border-radius: 8px;
            padding: 6px 10px;
            box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
            border: 1px solid #e2e8f0;
        }

        #pkr-chart-embed .converter-input {
            border: none;
            outline: none;
            width: 90px;
            font-family: inherit;
            font-weight: 700;
            color: #0f172a;
            font-size: 14px;
            text-align: right;
            background: transparent;
        }

        #pkr-chart-embed .converter-input.pkr-field { width: 120px; }

        #pkr-chart-embed .converter-label {
            font-size: 11px;
            font-weight: 700;
            color: #64748b;
            margin-left: 6px;
        }

        #pkr-chart-embed .equals-sign { color: #94a3b8; font-weight: 600; font-size: 16px; }

        #pkr-chart-embed .rate-badge-container {
            display: flex;
            flex-direction: column;
            align-items: flex-end;
            gap: 6px;
        }

        #pkr-chart-embed .rate-label-sub { text-align: right; }
        #pkr-chart-embed .rate-label-sub span:first-child { display: block; font-size: 9px; text-transform: uppercase; font-weight: 700; color: #64748b; }
        #pkr-chart-embed .rate-label-sub span:last-child { display: block; font-size: 12px; color: #334155; font-weight: 600; }

        #pkr-chart-embed .rate-badge {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            background: linear-gradient(135deg, #4f46e5, #3b82f6);
            color: #ffffff;
            font-weight: 700;
            font-size: 14px;
            padding: 8px 14px;
            border-radius: 12px;
            box-shadow: 0 8px 16px -3px rgba(79, 70, 229, 0.25);
        }

        #pkr-chart-embed .pulse-dot { width: 8px; height: 8px; border-radius: 50%; background-color: #ffffff; animation: pkrPulse 1.5s infinite; }

        @keyframes pkrPulse {
            0% { transform: scale(0.95); opacity: 0.6; }
            50% { transform: scale(1.15); opacity: 1; }
            100% { transform: scale(0.95); opacity: 0.6; }
        }

        /* Controls &amp; Stats Toolbar */
        #pkr-chart-embed .toolbar {
            display: flex;
            justify-content: space-between;
            align-items: center;
            flex-wrap: wrap;
            gap: 12px;
            margin-bottom: 16px;
            padding-bottom: 12px;
            border-bottom: 1px solid #f1f5f9;
        }

        #pkr-chart-embed .timeframe-selector {
            display: flex;
            gap: 4px;
            background: #f1f5f9;
            padding: 3px;
            border-radius: 10px;
        }

        #pkr-chart-embed .tf-btn {
            border: none;
            background: transparent;
            font-family: inherit;
            font-size: 12px;
            font-weight: 600;
            color: #64748b;
            padding: 5px 12px;
            border-radius: 7px;
            cursor: pointer;
            transition: all 0.2s ease;
        }

        #pkr-chart-embed .tf-btn.active {
            background: #ffffff;
            color: #4f46e5;
            box-shadow: 0 1px 3px rgba(0,0,0,0.1);
        }

        #pkr-chart-embed .stats-row {
            display: flex;
            gap: 16px;
            flex-wrap: wrap;
        }

        #pkr-chart-embed .stat-item {
            font-size: 12px;
            color: #64748b;
        }

        #pkr-chart-embed .stat-item strong {
            color: #0f172a;
            font-weight: 700;
        }

        #pkr-chart-embed .chart-canvas-container { position: relative; width: 100%; height: 380px; }

        @media (max-width: 768px) {
            #pkr-chart-embed .chart-canvas-container { height: 300px; }
            #pkr-chart-embed .top-row { flex-direction: column; align-items: flex-start; }
            #pkr-chart-embed .rate-badge-container { align-items: flex-start; }
            #pkr-chart-embed .rate-label-sub { text-align: left; }
            #pkr-chart-embed .toolbar { flex-direction: column; align-items: flex-start; }
        }
    &lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
    &lt;div id=&quot;pkr-chart-embed&quot;&gt;
        &lt;div class=&quot;chart-header&quot;&gt;
            &lt;h1 class=&quot;main-title&quot;&gt;
                &lt;span&gt;PKR vs USD Exchange Rate&lt;/span&gt;
                &lt;span class=&quot;currency-badge&quot;&gt;USD / PKR&lt;/span&gt;
            &lt;/h1&gt;

            &lt;div class=&quot;top-row&quot;&gt;
                &lt;div class=&quot;calculator-area&quot;&gt;
                    &lt;span class=&quot;calculator-title&quot;&gt;Calculator&lt;/span&gt;
                    &lt;div class=&quot;converter&quot;&gt;
                        &lt;div class=&quot;converter-group&quot;&gt;
                            &lt;input type=&quot;text&quot; inputmode=&quot;decimal&quot; id=&quot;usdInput&quot; class=&quot;converter-input&quot; value=&quot;1&quot;&gt;
                            &lt;span class=&quot;converter-label&quot;&gt;USD&lt;/span&gt;
                        &lt;/div&gt;
                        &lt;span class=&quot;equals-sign&quot;&gt;=&lt;/span&gt;
                        &lt;div class=&quot;converter-group&quot;&gt;
                            &lt;input type=&quot;text&quot; inputmode=&quot;decimal&quot; id=&quot;pkrInput&quot; class=&quot;converter-input pkr-field&quot; value=&quot;&quot;&gt;
                            &lt;span class=&quot;converter-label&quot;&gt;PKR&lt;/span&gt;
                        &lt;/div&gt;
                    &lt;/div&gt;
                &lt;/div&gt;

                &lt;div class=&quot;rate-badge-container&quot;&gt;
                    &lt;div class=&quot;rate-label-sub&quot;&gt;
                        &lt;span&gt;Latest Closing&lt;/span&gt;
                        &lt;span id=&quot;latestDateLabel&quot;&gt;14-Sep-26&lt;/span&gt;
                    &lt;/div&gt;
                    &lt;div class=&quot;rate-badge&quot;&gt;
                        &lt;span class=&quot;pulse-dot&quot;&gt;&lt;/span&gt;
                        &lt;span id=&quot;latestBadgeRate&quot;&gt;277.31 PKR&lt;/span&gt;
                    &lt;/div&gt;
                &lt;/div&gt;
            &lt;/div&gt;
        &lt;/div&gt;

        &lt;div class=&quot;toolbar&quot;&gt;
            &lt;div class=&quot;timeframe-selector&quot;&gt;
                &lt;button class=&quot;tf-btn&quot; data-range=&quot;30&quot;&gt;1M&lt;/button&gt;
                &lt;button class=&quot;tf-btn&quot; data-range=&quot;90&quot;&gt;3M&lt;/button&gt;
                &lt;button class=&quot;tf-btn&quot; data-range=&quot;180&quot;&gt;6M&lt;/button&gt;
                &lt;button class=&quot;tf-btn&quot; data-range=&quot;365&quot;&gt;1Y&lt;/button&gt;
                &lt;button class=&quot;tf-btn active&quot; data-range=&quot;all&quot;&gt;ALL&lt;/button&gt;
            &lt;/div&gt;

            &lt;div class=&quot;stats-row&quot;&gt;
                &lt;span class=&quot;stat-item&quot;&gt;High: &lt;strong id=&quot;statHigh&quot;&gt;--&lt;/strong&gt;&lt;/span&gt;
                &lt;span class=&quot;stat-item&quot;&gt;Low: &lt;strong id=&quot;statLow&quot;&gt;--&lt;/strong&gt;&lt;/span&gt;
                &lt;span class=&quot;stat-item&quot;&gt;Avg: &lt;strong id=&quot;statAvg&quot;&gt;--&lt;/strong&gt;&lt;/span&gt;
                &lt;span class=&quot;stat-item&quot;&gt;Change: &lt;strong id=&quot;statChange&quot;&gt;--&lt;/strong&gt;&lt;/span&gt;
            &lt;/div&gt;
        &lt;/div&gt;

        &lt;div class=&quot;chart-canvas-container&quot;&gt;
            &lt;canvas id=&quot;closingRatesChart&quot;&gt;&lt;/canvas&gt;
        &lt;/div&gt;
    &lt;/div&gt;

    &lt;script&gt;
        (function() {
            // Full historical closing rate dataset with 14-Sep-26 appended
            const rawLabels = [&quot;04-Mar-25&quot;, &quot;05-Mar-25&quot;, &quot;06-Mar-25&quot;, &quot;07-Mar-25&quot;, &quot;10-Mar-25&quot;, &quot;11-Mar-25&quot;, &quot;12-Mar-25&quot;, &quot;13-Mar-25&quot;, &quot;14-Mar-25&quot;, &quot;17-Mar-25&quot;, &quot;18-Mar-25&quot;, &quot;19-Mar-25&quot;, &quot;20-Mar-25&quot;, &quot;21-Mar-25&quot;, &quot;24-Mar-25&quot;, &quot;25-Mar-25&quot;, &quot;26-Mar-25&quot;, &quot;27-Mar-25&quot;, &quot;28-Mar-25&quot;, &quot;03-Apr-25&quot;, &quot;04-Apr-25&quot;, &quot;07-Apr-25&quot;, &quot;08-Apr-25&quot;, &quot;09-Apr-25&quot;, &quot;10-Apr-25&quot;, &quot;11-Apr-25&quot;, &quot;14-Apr-25&quot;, &quot;15-Apr-25&quot;, &quot;16-Apr-25&quot;, &quot;17-Apr-25&quot;, &quot;18-Apr-25&quot;, &quot;21-Apr-25&quot;, &quot;22-Apr-25&quot;, &quot;23-Apr-25&quot;, &quot;24-Apr-25&quot;, &quot;25-Apr-25&quot;, &quot;28-Apr-25&quot;, &quot;29-Apr-25&quot;, &quot;30-Apr-25&quot;, &quot;02-May-25&quot;, &quot;05-May-25&quot;, &quot;06-May-25&quot;, &quot;07-May-25&quot;, &quot;08-May-25&quot;, &quot;09-May-25&quot;, &quot;12-May-25&quot;, &quot;13-May-25&quot;, &quot;14-May-25&quot;, &quot;15-May-25&quot;, &quot;16-May-25&quot;, &quot;19-May-25&quot;, &quot;20-May-25&quot;, &quot;21-May-25&quot;, &quot;22-May-25&quot;, &quot;23-May-25&quot;, &quot;26-May-25&quot;, &quot;27-May-25&quot;, &quot;29-May-25&quot;, &quot;30-May-25&quot;, &quot;02-Jun-25&quot;, &quot;03-Jun-25&quot;, &quot;04-Jun-25&quot;, &quot;05-Jun-25&quot;, &quot;10-Jun-25&quot;, &quot;11-Jun-25&quot;, &quot;12-Jun-25&quot;, &quot;13-Jun-25&quot;, &quot;16-Jun-25&quot;, &quot;17-Jun-25&quot;, &quot;18-Jun-25&quot;, &quot;19-Jun-25&quot;, &quot;20-Jun-25&quot;, &quot;23-Jun-25&quot;, &quot;24-Jun-25&quot;, &quot;25-Jun-25&quot;, &quot;26-Jun-25&quot;, &quot;27-Jun-25&quot;, &quot;30-Jun-25&quot;, &quot;02-Jul-25&quot;, &quot;03-Jul-25&quot;, &quot;04-Jul-25&quot;, &quot;07-Jul-25&quot;, &quot;08-Jul-25&quot;, &quot;09-Jul-25&quot;, &quot;10-Jul-25&quot;, &quot;11-Jul-25&quot;, &quot;14-Jul-25&quot;, &quot;15-Jul-25&quot;, &quot;16-Jul-25&quot;, &quot;17-Jul-25&quot;, &quot;18-Jul-25&quot;, &quot;21-Jul-25&quot;, &quot;22-Jul-25&quot;, &quot;23-Jul-25&quot;, &quot;24-Jul-25&quot;, &quot;25-Jul-25&quot;, &quot;28-Jul-25&quot;, &quot;29-Jul-25&quot;, &quot;30-Jul-25&quot;, &quot;31-Jul-25&quot;, &quot;01-Aug-25&quot;, &quot;04-Aug-25&quot;, &quot;05-Aug-25&quot;, &quot;06-Aug-25&quot;, &quot;07-Aug-25&quot;, &quot;08-Aug-25&quot;, &quot;11-Aug-25&quot;, &quot;12-Aug-25&quot;, &quot;13-Aug-25&quot;, &quot;15-Aug-25&quot;, &quot;18-Aug-25&quot;, &quot;19-Aug-25&quot;, &quot;20-Aug-25&quot;, &quot;21-Aug-25&quot;, &quot;22-Aug-25&quot;, &quot;25-Aug-25&quot;, &quot;26-Aug-25&quot;, &quot;27-Aug-25&quot;, &quot;28-Aug-25&quot;, &quot;29-Aug-25&quot;, &quot;01-Sep-25&quot;, &quot;02-Sep-25&quot;, &quot;03-Sep-25&quot;, &quot;04-Sep-25&quot;, &quot;05-Sep-25&quot;, &quot;08-Sep-25&quot;, &quot;09-Sep-25&quot;, &quot;10-Sep-25&quot;, &quot;11-Sep-25&quot;, &quot;12-Sep-25&quot;, &quot;15-Sep-25&quot;, &quot;16-Sep-25&quot;, &quot;17-Sep-25&quot;, &quot;18-Sep-25&quot;, &quot;19-Sep-25&quot;, &quot;21-Sep-25&quot;, &quot;22-Sep-25&quot;, &quot;23-Sep-25&quot;, &quot;24-Sep-25&quot;, &quot;25-Sep-25&quot;, &quot;26-Sep-25&quot;, &quot;29-Sep-25&quot;, &quot;30-Sep-25&quot;, &quot;01-Oct-25&quot;, &quot;02-Oct-25&quot;, &quot;03-Oct-25&quot;, &quot;06-Oct-25&quot;, &quot;07-Oct-25&quot;, &quot;08-Oct-25&quot;, &quot;09-Oct-25&quot;, &quot;10-Oct-25&quot;, &quot;13-Oct-25&quot;, &quot;14-Oct-25&quot;, &quot;15-Oct-25&quot;, &quot;16-Oct-25&quot;, &quot;17-Oct-25&quot;, &quot;20-Oct-25&quot;, &quot;21-Oct-25&quot;, &quot;22-Oct-25&quot;, &quot;23-Oct-25&quot;, &quot;24-Oct-25&quot;, &quot;27-Oct-25&quot;, &quot;28-Oct-25&quot;, &quot;29-Oct-25&quot;, &quot;30-Oct-25&quot;, &quot;31-Oct-25&quot;, &quot;03-Nov-25&quot;, &quot;04-Nov-25&quot;, &quot;05-Nov-25&quot;, &quot;06-Nov-25&quot;, &quot;07-Nov-25&quot;, &quot;10-Nov-25&quot;, &quot;11-Nov-25&quot;, &quot;12-Nov-25&quot;, &quot;13-Nov-25&quot;, &quot;14-Nov-25&quot;, &quot;17-Nov-25&quot;, &quot;18-Nov-25&quot;, &quot;19-Nov-25&quot;, &quot;20-Nov-25&quot;, &quot;21-Nov-25&quot;, &quot;24-Nov-25&quot;, &quot;25-Nov-25&quot;, &quot;26-Nov-25&quot;, &quot;27-Nov-25&quot;, &quot;28-Nov-25&quot;, &quot;01-Dec-25&quot;, &quot;02-Dec-25&quot;, &quot;03-Dec-25&quot;, &quot;04-Dec-25&quot;, &quot;05-Dec-25&quot;, &quot;08-Dec-25&quot;, &quot;09-Dec-25&quot;, &quot;10-Dec-25&quot;, &quot;11-Dec-25&quot;, &quot;12-Dec-25&quot;, &quot;15-Dec-25&quot;, &quot;16-Dec-25&quot;, &quot;17-Dec-25&quot;, &quot;18-Dec-25&quot;, &quot;19-Dec-25&quot;, &quot;22-Dec-25&quot;, &quot;23-Dec-25&quot;, &quot;24-Dec-25&quot;, &quot;26-Dec-25&quot;, &quot;29-Dec-25&quot;, &quot;30-Dec-25&quot;, &quot;31-Dec-25&quot;, &quot;02-Jan-26&quot;, &quot;05-Jan-26&quot;, &quot;06-Jan-26&quot;, &quot;07-Jan-26&quot;, &quot;08-Jan-26&quot;, &quot;09-Jan-26&quot;, &quot;12-Jan-26&quot;, &quot;13-Jan-26&quot;, &quot;14-Jan-26&quot;, &quot;15-Jan-26&quot;, &quot;16-Jan-26&quot;, &quot;19-Jan-26&quot;, &quot;20-Jan-26&quot;, &quot;21-Jan-26&quot;, &quot;22-Jan-26&quot;, &quot;23-Jan-26&quot;, &quot;26-Jan-26&quot;, &quot;27-Jan-26&quot;, &quot;28-Jan-26&quot;, &quot;29-Jan-26&quot;, &quot;30-Jan-26&quot;, &quot;02-Feb-26&quot;, &quot;03-Feb-26&quot;, &quot;04-Feb-26&quot;, &quot;06-Feb-26&quot;, &quot;09-Feb-26&quot;, &quot;10-Feb-26&quot;, &quot;11-Feb-26&quot;, &quot;12-Feb-26&quot;, &quot;13-Feb-26&quot;, &quot;16-Feb-26&quot;, &quot;17-Feb-26&quot;, &quot;18-Feb-26&quot;, &quot;20-Feb-26&quot;, &quot;23-Feb-26&quot;, &quot;24-Feb-26&quot;, &quot;25-Feb-26&quot;, &quot;26-Feb-26&quot;, &quot;27-Feb-26&quot;, &quot;02-Mar-26&quot;, &quot;03-Mar-26&quot;, &quot;04-Mar-26&quot;, &quot;05-Mar-26&quot;, &quot;06-Mar-26&quot;, &quot;09-Mar-26&quot;, &quot;10-Mar-26&quot;, &quot;11-Mar-26&quot;, &quot;12-Mar-26&quot;, &quot;13-Mar-26&quot;, &quot;16-Mar-26&quot;, &quot;17-Mar-26&quot;, &quot;18-Mar-26&quot;, &quot;19-Mar-26&quot;, &quot;24-Mar-26&quot;, &quot;25-Mar-26&quot;, &quot;26-Mar-26&quot;, &quot;27-Mar-26&quot;, &quot;30-Mar-26&quot;, &quot;31-Mar-26&quot;, &quot;01-Apr-26&quot;, &quot;02-Apr-26&quot;, &quot;03-Apr-26&quot;, &quot;04-Apr-26&quot;, &quot;06-Apr-26&quot;, &quot;07-Apr-26&quot;, &quot;08-Apr-26&quot;, &quot;09-Apr-26&quot;, &quot;10-Apr-26&quot;, &quot;13-Apr-26&quot;, &quot;14-Apr-26&quot;, &quot;14-Apr-26&quot;, &quot;15-Apr-26&quot;, &quot;16-Apr-26&quot;, &quot;17-Apr-26&quot;, &quot;20-Apr-26&quot;, &quot;21-Apr-26&quot;, &quot;22-Apr-26&quot;, &quot;23-Apr-26&quot;, &quot;24-Apr-26&quot;, &quot;27-Apr-26&quot;, &quot;28-Apr-26&quot;, &quot;29-Apr-26&quot;, &quot;30-Apr-26&quot;, &quot;04-May-26&quot;, &quot;05-May-26&quot;, &quot;06-May-26&quot;, &quot;07-May-26&quot;, &quot;08-May-26&quot;, &quot;11-May-26&quot;, &quot;12-May-26&quot;, &quot;13-May-26&quot;, &quot;14-May-26&quot;, &quot;15-May-26&quot;, &quot;18-May-26&quot;, &quot;19-May-26&quot;, &quot;20-May-26&quot;, &quot;21-May-26&quot;, &quot;22-May-26&quot;, &quot;25-May-26&quot;, &quot;29-May-26&quot;, &quot;01-Jun-26&quot;, &quot;02-Jun-26&quot;, &quot;03-Jun-26&quot;, &quot;04-Jun-26&quot;, &quot;05-Jun-26&quot;, &quot;08-Jun-26&quot;, &quot;09-Jun-26&quot;, &quot;10-Jun-26&quot;, &quot;11-Jun-26&quot;, &quot;12-Jun-26&quot;, &quot;15-Jun-26&quot;, &quot;16-Jun-26&quot;, &quot;17-Jun-26&quot;, &quot;18-Jun-26&quot;, &quot;19-Jun-26&quot;, &quot;22-Jun-26&quot;, &quot;23-Jun-26&quot;, &quot;24-Jun-26&quot;, &quot;29-Jun-26&quot;, &quot;30-Jun-26&quot;, &quot;02-Jul-26&quot;, &quot;03-Jul-26&quot;, &quot;06-Jul-26&quot;, &quot;07-Jul-26&quot;, &quot;08-Jul-26&quot;, &quot;09-Jul-26&quot;, &quot;10-Jul-26&quot;, &quot;13-Jul-26&quot;, &quot;14-Jul-26&quot;, &quot;15-Jul-26&quot;, &quot;16-Jul-26&quot;, &quot;17-Jul-26&quot;, &quot;20-Jul-26&quot;, &quot;21-Jul-26&quot;, &quot;22-Jul-26&quot;, &quot;23-Jul-26&quot;, &quot;24-Jul-26&quot;, &quot;27-Jul-26&quot;, &quot;28-Jul-26&quot;, &quot;29-Jul-26&quot;, &quot;30-Jul-26&quot;, &quot;03-Aug-26&quot;, &quot;04-Aug-26&quot;, &quot;05-Aug-26&quot;, &quot;06-Aug-26&quot;, &quot;07-Aug-26&quot;, &quot;10-Aug-26&quot;, &quot;11-Aug-26&quot;, &quot;12-Aug-26&quot;, &quot;13-Aug-26&quot;, &quot;17-Aug-26&quot;, &quot;18-Aug-26&quot;, &quot;20-Aug-26&quot;, &quot;21-Aug-26&quot;, &quot;24-Aug-26&quot;, &quot;25-Aug-26&quot;, &quot;27-Aug-26&quot;, &quot;28-Aug-26&quot;, &quot;31-Aug-26&quot;, &quot;01-Sep-26&quot;, &quot;02-Sep-26&quot;, &quot;03-Sep-26&quot;, &quot;04-Sep-26&quot;, &quot;07-Sep-26&quot;, &quot;08-Sep-26&quot;, &quot;09-Sep-26&quot;, &quot;10-Sep-26&quot;, &quot;11-Sep-26&quot;, &quot;14-Sep-26&quot;];
            
            const rawData = [279.77, 279.87, 279.82, 279.97, 280.07, 279.95, 279.97, 280.05, 280.21, 280.17, 280.27, 280.21, 280.22, 280.26, 280.37, 280.42, 280.26, 280.22, 280.16, 280.56, 280.47, 280.57, 280.73, 280.78, 280.56, 280.47, 280.60, 280.57, 280.46, 280.62, 280.72, 280.87, 280.77, 280.97, 281.07, 280.97, 281.07, 281.02, 280.97, 281.06, 281.22, 281.37, 281.47, 281.52, 281.71, 281.57, 281.67, 281.72, 281.61, 281.66, 281.77, 281.92, 281.97, 282.06, 281.97, 282.06, 282.17, 282.07, 282.02, 281.97, 282.12, 282.22, 282.17, 282.21, 282.47, 282.67, 282.96, 283.17, 283.41, 283.55, 283.64, 283.70, 283.87, 283.77, 283.72, 283.67, 283.72, 283.76, 283.95, 283.86, 283.97, 284.22, 284.36, 284.47, 284.56, 284.46, 284.72, 284.67, 284.96, 284.97, 284.87, 284.95, 284.97, 284.76, 284.22, 283.45, 283.21, 283.05, 282.95, 282.87, 282.72, 282.66, 282.57, 282.67, 282.56, 282.47, 282.45, 282.42, 282.22, 282.06, 282.01, 281.96, 281.95, 281.92, 281.90, 281.87, 281.86, 281.83, 281.80, 281.77, 281.75, 281.72, 281.71, 281.67, 281.65, 281.62, 281.61, 281.60, 281.56, 281.55, 281.52, 281.51, 281.50, 281.47, 281.46, 281.45, 281.46, 281.42, 281.43, 281.41, 281.37, 281.35, 281.32, 281.31, 281.27, 281.26, 281.25, 281.22, 281.21, 281.20, 281.17, 281.16, 281.15, 281.12, 281.11, 281.10, 281.07, 281.06, 281.05, 281.03, 281.02, 281.01, 280.97, 280.96, 280.92, 280.91, 280.90, 280.87, 280.86, 280.85, 280.82, 280.81, 280.78, 280.77, 280.76, 280.72, 280.71, 280.67, 280.66, 280.66, 280.65, 280.62, 280.61, 280.57, 280.56, 280.55, 280.52, 280.51, 280.47, 280.46, 280.45, 280.42, 280.41, 280.40, 280.37, 280.36, 280.32, 280.31, 280.30, 280.27, 280.26, 280.25, 280.22, 280.21, 280.20, 280.17, 280.16, 280.15, 280.12, 280.11, 280.10, 280.07, 280.06, 280.05, 280.02, 280.01, 280.00, 279.97, 279.96, 279.95, 279.92, 279.91, 279.90, 279.87, 279.86, 279.85, 279.82, 279.81, 279.80, 279.77, 279.76, 279.75, 279.72, 279.71, 279.70, 279.67, 279.66, 279.65, 279.62, 279.61, 279.60, 279.57, 279.56, 279.55, 279.52, 279.51, 279.50, 279.47, 279.46, 279.45, 279.42, 279.41, 279.40, 279.37, 279.36, 279.35, 279.32, 279.31, 279.30, 279.27, 279.26, 279.25, 279.22, 279.21, 279.20, 279.17, 279.16, 279.15, 279.12, 279.11, 279.10, 279.07, 279.06, 279.05, 279.02, 279.01, 279.00, 278.97, 278.96, 278.95, 278.92, 278.91, 278.90, 278.87, 278.86, 278.85, 278.82, 278.81, 278.80, 278.77, 278.76, 278.75, 278.72, 278.71, 278.70, 278.67, 278.66, 278.65, 278.62, 278.61, 278.60, 278.57, 278.56, 278.55, 278.52, 278.51, 278.50, 278.47, 278.46, 278.45, 278.42, 278.41, 278.40, 278.37, 278.36, 278.35, 278.32, 278.31, 278.30, 278.27, 278.26, 278.25, 278.22, 278.21, 278.20, 278.17, 278.16, 278.15, 278.12, 278.11, 278.10, 278.07, 278.06, 278.05, 278.02, 278.01, 278.00, 277.95, 277.95, 277.92, 277.91, 277.90, 277.87, 277.86, 277.85, 277.82, 277.81, 277.80, 277.77, 277.76, 277.75, 277.72, 277.71, 277.70, 277.67, 277.66, 277.65, 277.62, 277.61, 277.57, 277.56, 277.55, 277.52, 277.51, 277.50, 277.47, 277.46, 277.45, 277.42, 277.41, 277.40, 277.37, 277.36, 277.35, 277.32, 277.31];

            const currentExchangeRate = rawData[rawData.length - 1];
            const currentExchangeDate = rawLabels[rawLabels.length - 1];

            // DOM Elements
            const usdInput = document.getElementById(&#039;usdInput&#039;);
            const pkrInput = document.getElementById(&#039;pkrInput&#039;);
            const badgeEl = document.getElementById(&#039;latestBadgeRate&#039;);
            const dateLabelEl = document.getElementById(&#039;latestDateLabel&#039;);

            const statHighEl = document.getElementById(&#039;statHigh&#039;);
            const statLowEl = document.getElementById(&#039;statLow&#039;);
            const statAvgEl = document.getElementById(&#039;statAvg&#039;);
            const statChangeEl = document.getElementById(&#039;statChange&#039;);

            // Format helpers
            const formatCurrency = (val, maxDecimals = 2, minDecimals = 2) =&gt; {
                if (isNaN(val) || val === null) return &#039;--&#039;;
                return val.toLocaleString(&#039;en-US&#039;, {
                    minimumFractionDigits: minDecimals,
                    maximumFractionDigits: maxDecimals
                });
            };

            const parseCurrency = (valStr) =&gt; {
                if (!valStr) return NaN;
                return parseFloat(valStr.toString().replace(/,/g, &#039;&#039;));
            };

            // Set Initial Values in UI
            dateLabelEl.textContent = currentExchangeDate;
            badgeEl.textContent = formatCurrency(currentExchangeRate) + &#039; PKR&#039;;
            pkrInput.value = formatCurrency(currentExchangeRate);

            // Converter Event Listeners
            usdInput.addEventListener(&#039;input&#039;, (e) =&gt; {
                const val = parseCurrency(e.target.value);
                if (isNaN(val)) {
                    pkrInput.value = &#039;&#039;;
                } else {
                    pkrInput.value = formatCurrency(val * currentExchangeRate);
                }
            });

            pkrInput.addEventListener(&#039;input&#039;, (e) =&gt; {
                const val = parseCurrency(e.target.value);
                if (isNaN(val)) {
                    usdInput.value = &#039;&#039;;
                } else {
                    usdInput.value = formatCurrency(val / currentExchangeRate, 4, 2);
                }
            });

            usdInput.addEventListener(&#039;blur&#039;, (e) =&gt; {
                const val = parseCurrency(e.target.value);
                if (!isNaN(val)) {
                    e.target.value = formatCurrency(val, 2, 0);
                }
            });

            pkrInput.addEventListener(&#039;blur&#039;, (e) =&gt; {
                const val = parseCurrency(e.target.value);
                if (!isNaN(val)) {
                    e.target.value = formatCurrency(val, 2, 2);
                }
            });

            const ctx = document.getElementById(&#039;closingRatesChart&#039;).getContext(&#039;2d&#039;);
            
            // Create gradient fill
            const gradient = ctx.createLinearGradient(0, 0, 0, 350);
            gradient.addColorStop(0, &#039;rgba(79, 70, 229, 0.25)&#039;);
            gradient.addColorStop(1, &#039;rgba(79, 70, 229, 0.0)&#039;);

            let chartInstance = new Chart(ctx, {
                type: &#039;line&#039;,
                data: {
                    labels: rawLabels,
                    datasets: [{
                        label: &#039;USD to PKR&#039;,
                        data: rawData,
                        borderColor: &#039;#4f46e5&#039;,
                        borderWidth: 2,
                        backgroundColor: gradient,
                        fill: true,
                        tension: 0.3,
                        pointRadius: 0,
                        pointHoverRadius: 6,
                        pointHoverBackgroundColor: &#039;#4f46e5&#039;,
                        pointHoverBorderColor: &#039;#ffffff&#039;,
                        pointHoverBorderWidth: 2
                    }]
                },
                options: {
                    responsive: true,
                    maintainAspectRatio: false,
                    interaction: {
                        intersect: false,
                        mode: &#039;index&#039;
                    },
                    plugins: {
                        legend: { display: false },
                        tooltip: {
                            backgroundColor: &#039;#0f172a&#039;,
                            titleFont: { family: &#039;Plus Jakarta Sans&#039;, size: 12, weight: &#039;bold&#039; },
                            bodyFont: { family: &#039;Plus Jakarta Sans&#039;, size: 13 },
                            padding: 10,
                            cornerRadius: 8,
                            displayColors: false,
                            callbacks: {
                                label: function(context) {
                                    return &#039;Rate: &#039; + formatCurrency(context.parsed.y) + &#039; PKR&#039;;
                                }
                            }
                        }
                    },
                    scales: {
                        x: {
                            grid: { display: false },
                            ticks: {
                                font: { family: &#039;Plus Jakarta Sans&#039;, size: 11 },
                                color: &#039;#64748b&#039;,
                                maxTicksLimit: 8,
                                maxRotation: 0
                            }
                        },
                        y: {
                            grid: { color: &#039;#f1f5f9&#039; },
                            ticks: {
                                font: { family: &#039;Plus Jakarta Sans&#039;, size: 11 },
                                color: &#039;#64748b&#039;,
                                callback: function(value) {
                                    return value.toFixed(1);
                                }
                            }
                        }
                    }
                }
            });

            function updateRangeStats(labels, data) {
                if (!data || data.length === 0) return;

                const high = Math.max(...data);
                const low = Math.min(...data);
                const avg = data.reduce((a, b) =&gt; a + b, 0) / data.length;
                const startVal = data[0];
                const endVal = data[data.length - 1];
                const change = endVal - startVal;
                const changePct = (change / startVal) * 100;

                statHighEl.textContent = formatCurrency(high);
                statLowEl.textContent = formatCurrency(low);
                statAvgEl.textContent = formatCurrency(avg);

                const sign = change &gt;= 0 ? &#039;+&#039; : &#039;&#039;;
                statChangeEl.textContent = `${sign}${formatCurrency(change)} (${sign}${changePct.toFixed(2)}%)`;
                statChangeEl.style.color = change &gt; 0 ? &#039;#10b981&#039; : (change &lt; 0 ? &#039;#ef4444&#039; : &#039;#64748b&#039;);
            }

            // Timeframe filtering handler
            function setTimeframe(rangeCount) {
                let slicedLabels = rawLabels;
                let slicedData = rawData;

                if (rangeCount !== &#039;all&#039;) {
                    const count = parseInt(rangeCount, 10);
                    slicedLabels = rawLabels.slice(-count);
                    slicedData = rawData.slice(-count);
                }

                chartInstance.data.labels = slicedLabels;
                chartInstance.data.datasets[0].data = slicedData;

                // Adjust Y axis dynamic scaling
                const minVal = Math.min(...slicedData);
                const maxVal = Math.max(...slicedData);
                const padding = (maxVal - minVal) * 0.1 || 1;
                
                chartInstance.options.scales.y.min = Math.floor((minVal - padding) * 10) / 10;
                chartInstance.options.scales.y.max = Math.ceil((maxVal + padding) * 10) / 10;

                chartInstance.update();
                updateRangeStats(slicedLabels, slicedData);
            }

            // Setup timeframe button listeners
            document.querySelectorAll(&#039;#pkr-chart-embed .tf-btn&#039;).forEach(btn =&gt; {
                btn.addEventListener(&#039;click&#039;, (e) =&gt; {
                    document.querySelectorAll(&#039;#pkr-chart-embed .tf-btn&#039;).forEach(b =&gt; b.classList.remove(&#039;active&#039;));
                    e.target.classList.add(&#039;active&#039;);
                    setTimeframe(e.target.getAttribute(&#039;data-range&#039;));
                });
            });

            // Initial range load
            setTimeframe(&#039;all&#039;);
        })();
    &lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;
    &lt;script&gt;
        function reportHeight() {
            var h = document.documentElement.scrollHeight;
            window.parent.postMessage({ type: &#039;raw-html-resize&#039;, id: &#039;raw-html-6aa7f2f852c72&#039;, height: h }, &#039;*&#039;);
        }
        window.addEventListener(&#039;load&#039;, reportHeight);
        if (window.ResizeObserver) {
            new ResizeObserver(reportHeight).observe(document.body);
        }
    &lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;"></iframe>
<script>
if (!window._rawHtmlListenerAttached) {
    window._rawHtmlListenerAttached = true;
    window.addEventListener('message', function(event) {
        if (event.data && event.data.type === 'raw-html-resize' && event.data.id) {
            var iframe = document.getElementById(event.data.id);
            if (iframe) {
                var height = Math.min(Math.max(event.data.height, 50), 9200);
                iframe.style.height = height + 'px';
            }
        }
    });
}
</script>
<p><strong>The Pakistani rupee extended its marginal gains against the US dollar in the interbank market on Monday.</strong></p>
<p>The local unit closed the day at 277.31, a gain of Re0.01 against the greenback.</p>
<p><a href="https://www.brecorder.com/news/40439047">On Friday</a>, the Pakistani rupee settled at 277.32 against the dollar.</p>
    <figure class='media  w-full sm:w-full  media--center  media--embed  media--uneven media--tweet' data-original-src='https://x.com/StateBank_Pak/status/2099463149238059330/photo/1'>
        <div class='media__item  media__item--twitter  '><span>
    <blockquote class="twitter-tweet" lang="en">
        <a href="https://twitter.com/StateBank_Pak/status/2099463149238059330/photo/1"></a>
    </blockquote>
</span></div>
        
    </figure>
<p>Internationally, <a href="https://www.brecorder.com/news/40439373/dollar-steady-yen-near-7-month-high-ahead-of-fed-boj-meetings">the US dollar was steady on Monday </a>​with the Japanese yen holding on to its recent sharp gains and hovering near a seven-month high as investors pondered possible rate hikes from ‌the Federal Reserve and Bank of Japan in a pivotal week for monetary policy.</p>
<p>Global policymakers are grappling with erratic pricing pressures from the six-month-long US-Israeli war on Iran that has pushed oil prices well above $100 per barrel and upended the path for rates amid bouts of selloffs in long-end bonds.</p>
<p>The European Central Bank raised rates last week and warned of further hikes, setting the stage for the Fed policy ​decision on Wednesday and a widely expected rate hike from the BOJ on Friday.</p>
<p>The Bank of England is expected to stand pat on ​Thursday, but the voting is likely to be close.</p>
<p>Traders ramped up bets for a Fed rate hike after data on ⁠Friday showed US consumer prices accelerated in August; they priced in an 86% chance of an increase this week and another move higher later in the year, ​the CME FedWatch tool showed.</p>
<p>The euro was recently at $1.159, while sterling last bought $1.3524.</p>
<p>The US dollar index, which measures the greenback against six other units, was steady at 99.15 after two straight weeks of meagre declines.</p>
<p><a href="https://www.brecorder.com/news/40439372/oil-prices-up-over-3-following-new-strikes-on-saudi-strait-of-hormuz">Oil prices</a>, a key indicator of currency parity, rose more than 3% on Monday, after new Houthi strikes on Saudi Arabia and Iranian attacks on ships in the Gulf compounded supply concerns following the closure of a key Saudi oil pipeline.</p>
<p>Brent crude futures rose $3.21, or 3.1%, to $107.82 per barrel as of 0340 GMT.</p>
<p>WTI futures gained $3.17, or 3.2%, to $103.22 per barrel.</p>
<p><strong>Inter-bank market rates for dollar on Monday</strong></p>
<p>BID Rs 277.31</p>
<p>OFFER Rs 277.51</p>
<p><strong>Open-market movement</strong></p>
<p>In the open market, the PKR gained 3.00 paisa for buying and lost 8.00 paisa for selling against USD, closing at 278.19 and 279.13, respectively.</p>
<p>Against Euro, the PKR gained 1.51 rupee for buying and 1.10 rupee for selling, closing at 320.60 and 323.94, respectively.</p>
<p>Against UAE Dirham, the PKR gained 3.00 paisa for buying and 1.00 paisa for selling, closing at 75.63 and 76.27, respectively.</p>
<p>Against Saudi Riyal, the PKR gained 2.00 paisa for buying and remained unchanged for selling, closing at 73.94 and 74.48, respectively.</p>
<p><strong>Open-market rates for dollar on Monday</strong></p>
<p>BID Rs 278.19</p>
<p>OFFER Rs 279.13</p>
]]></content:encoded>
      <category>Markets</category>
      <guid>https://www.brecorder.com/news/40439426</guid>
      <pubDate>Mon, 14 Sep 2026 18:13:28 +0500</pubDate>
      <author>none@none.com (Recorder Report)</author>
      <media:content url="https://i.brecorder.com/large/2026/09/14155128976a1ed.webp" type="image/webp" medium="image" height="768" width="1024">
        <media:thumbnail url="https://i.brecorder.com/thumbnail/2026/09/14155128976a1ed.webp"/>
        <media:title/>
      </media:content>
    </item>
    <item xmlns:default="http://purl.org/rss/1.0/modules/content/">
      <title>Pakistan rupee registers gain against US dollar</title>
      <link>https://www.brecorder.com/news/40439047/pakistan-rupee-registers-gain-against-us-dollar</link>
      <description>&lt;p&gt;&lt;strong&gt;The Pakistani rupee extended its marginal gains, appreciating 0.01%, against the US dollar in the interbank market on Friday.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The local unit closed the day at 277.32, a gain of Re0.03 against the greenback.&lt;/p&gt;
    &lt;figure class='media  w-full sm:w-full  media--center  media--embed  media--uneven media--tweet' data-original-src='https://x.com/StateBank_Pak/status/2098385890607501572'&gt;
        &lt;div class='media__item  media__item--twitter  '&gt;&lt;span&gt;
    &lt;blockquote class="twitter-tweet" lang="en"&gt;
        &lt;a href="https://twitter.com/StateBank_Pak/status/2098385890607501572"&gt;&lt;/a&gt;
    &lt;/blockquote&gt;
&lt;/span&gt;&lt;/div&gt;
        
    &lt;/figure&gt;
&lt;p&gt;&lt;a href="https://www.brecorder.com/news/40438859/intra-day-update-rupee-records-gain-against-us-dollar"&gt;On Thursday&lt;/a&gt;, the Pakistani rupee settled at 277.35 against the dollar.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Also read: &lt;a href="https://www.brecorder.com/news/40439021/rupee-to-hold-at-rs278usd-in-2026-as-pakistans-fx-buffers-improve-bmi"&gt;Rupee to hold at Rs278/USD in 2026 as Pakistan’s FX buffers improve: BMI&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Internationally, the &lt;a href="https://www.brecorder.com/news/40439009/dollar-holds-gains-yen-slips-as-mideast-energy-shock-deepens"&gt;US dollar held near its highest-​levels &lt;/a&gt;of the past week and the yen slipped for a second day at the start of Asian ‌trading on Friday as renewed fears of energy supply disruptions in the Middle East pushed up bond yields and oil prices.&lt;/p&gt;
&lt;p&gt;The US dollar index, which measures the greenback’s strength against a basket of six currencies, was trading at 99.081, holding steady after gaining 0.3% on Thursday to reach its highest level since September 7.&lt;/p&gt;
&lt;p&gt;The rise followed the release of data showing US producer prices increased 0.4% in August, meeting ​market expectations as energy prices rebounded during the month.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.brecorder.com/news/40439006/oil-prices-set-to-end-week-above-100-for-first-time-in-nearly-4-months"&gt;Oil prices&lt;/a&gt;, a key indicator of currency parity, fell on Friday but remained on course for a weekly gain of more than 8% while US diesel prices ‌hit a record high as attacks along Middle East shipping routes stoked concerns about prolonged supply disruptions.&lt;/p&gt;
&lt;p&gt;Brent crude futures were down $3.28, or 3.05%, to $104.35 a barrel at 1309 GMT.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Inter-bank market rates for dollar on Friday&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;BID Rs 277.32&lt;/p&gt;
&lt;p&gt;OFFER Rs 277.52&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Open-market movement&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;In the open market, the PKR gained 2 paise for buying and 3 paise for selling against USD, closing at 278.22 and 279.05, respectively.&lt;/p&gt;
&lt;p&gt;Against Euro, the PKR gained 75 paise for buying and 71 paise for selling, closing at 322.11 and 325.04, respectively.&lt;/p&gt;
&lt;p&gt;Against UAE Dirham, the PKR gained 1 paisa for buying and lost 2 paise for selling, closing at 75.66 and 76.28, respectively.&lt;/p&gt;
&lt;p&gt;Against Saudi Riyal, the PKR lost 2 paise for buying and 1 paisa for selling, closing at 73.96 and 74.48, respectively.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Open-market rates for dollar on Friday&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;BID Rs 278.22&lt;/p&gt;
&lt;p&gt;OFFER Rs 279.05&lt;/p&gt;
</description>
      <content:encoded xmlns="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p><strong>The Pakistani rupee extended its marginal gains, appreciating 0.01%, against the US dollar in the interbank market on Friday.</strong></p>
<p>The local unit closed the day at 277.32, a gain of Re0.03 against the greenback.</p>
    <figure class='media  w-full sm:w-full  media--center  media--embed  media--uneven media--tweet' data-original-src='https://x.com/StateBank_Pak/status/2098385890607501572'>
        <div class='media__item  media__item--twitter  '><span>
    <blockquote class="twitter-tweet" lang="en">
        <a href="https://twitter.com/StateBank_Pak/status/2098385890607501572"></a>
    </blockquote>
</span></div>
        
    </figure>
<p><a href="https://www.brecorder.com/news/40438859/intra-day-update-rupee-records-gain-against-us-dollar">On Thursday</a>, the Pakistani rupee settled at 277.35 against the dollar.</p>
<p><strong>Also read: <a href="https://www.brecorder.com/news/40439021/rupee-to-hold-at-rs278usd-in-2026-as-pakistans-fx-buffers-improve-bmi">Rupee to hold at Rs278/USD in 2026 as Pakistan’s FX buffers improve: BMI</a></strong></p>
<p>Internationally, the <a href="https://www.brecorder.com/news/40439009/dollar-holds-gains-yen-slips-as-mideast-energy-shock-deepens">US dollar held near its highest-​levels </a>of the past week and the yen slipped for a second day at the start of Asian ‌trading on Friday as renewed fears of energy supply disruptions in the Middle East pushed up bond yields and oil prices.</p>
<p>The US dollar index, which measures the greenback’s strength against a basket of six currencies, was trading at 99.081, holding steady after gaining 0.3% on Thursday to reach its highest level since September 7.</p>
<p>The rise followed the release of data showing US producer prices increased 0.4% in August, meeting ​market expectations as energy prices rebounded during the month.</p>
<p><a href="https://www.brecorder.com/news/40439006/oil-prices-set-to-end-week-above-100-for-first-time-in-nearly-4-months">Oil prices</a>, a key indicator of currency parity, fell on Friday but remained on course for a weekly gain of more than 8% while US diesel prices ‌hit a record high as attacks along Middle East shipping routes stoked concerns about prolonged supply disruptions.</p>
<p>Brent crude futures were down $3.28, or 3.05%, to $104.35 a barrel at 1309 GMT.</p>
<p><strong>Inter-bank market rates for dollar on Friday</strong></p>
<p>BID Rs 277.32</p>
<p>OFFER Rs 277.52</p>
<p><strong>Open-market movement</strong></p>
<p>In the open market, the PKR gained 2 paise for buying and 3 paise for selling against USD, closing at 278.22 and 279.05, respectively.</p>
<p>Against Euro, the PKR gained 75 paise for buying and 71 paise for selling, closing at 322.11 and 325.04, respectively.</p>
<p>Against UAE Dirham, the PKR gained 1 paisa for buying and lost 2 paise for selling, closing at 75.66 and 76.28, respectively.</p>
<p>Against Saudi Riyal, the PKR lost 2 paise for buying and 1 paisa for selling, closing at 73.96 and 74.48, respectively.</p>
<p><strong>Open-market rates for dollar on Friday</strong></p>
<p>BID Rs 278.22</p>
<p>OFFER Rs 279.05</p>
]]></content:encoded>
      <category>Markets</category>
      <guid>https://www.brecorder.com/news/40439047</guid>
      <pubDate>Fri, 11 Sep 2026 20:41:02 +0500</pubDate>
      <author>none@none.com (Recorder Report)</author>
      <media:content url="https://i.brecorder.com/large/2026/09/1115560881783dd.webp" type="image/webp" medium="image" height="768" width="1024">
        <media:thumbnail url="https://i.brecorder.com/thumbnail/2026/09/1115560881783dd.webp"/>
        <media:title/>
      </media:content>
    </item>
    <item xmlns:default="http://purl.org/rss/1.0/modules/content/">
      <title>Rupee records gain against US dollar</title>
      <link>https://www.brecorder.com/news/40438859/intra-day-update-rupee-records-gain-against-us-dollar</link>
      <description>&lt;iframe id="raw-html-6aa2c88f5f57f" class="raw-html-embed" style="width: 100%; min-height: 50px; max-height: 9200px; border: none; overflow: hidden;" scrolling="no" srcdoc="&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html&amp;gt;
&amp;lt;head&amp;gt;
    &amp;lt;style&amp;gt;
        body { margin: 0; padding: 0; font-family: system-ui, -apple-system, sans-serif; overflow-wrap: anywhere; }
    &amp;lt;/style&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
    
&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html lang=&amp;quot;en&amp;quot;&amp;gt;
&amp;lt;head&amp;gt;
    &amp;lt;meta charset=&amp;quot;UTF-8&amp;quot;&amp;gt;
    &amp;lt;meta name=&amp;quot;viewport&amp;quot; content=&amp;quot;width=device-width, initial-scale=1.0&amp;quot;&amp;gt;
    &amp;lt;title&amp;gt;PKR vs USD Exchange Rate Chart&amp;lt;/title&amp;gt;
    &amp;lt;!-- Chart.js for interactive rendering --&amp;gt;
    &amp;lt;script src=&amp;quot;https://cdn.jsdelivr.net/npm/chart.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;
    
    &amp;lt;style&amp;gt;
        @import url(&amp;#039;https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght=400;500;600;700&amp;amp;display=swap&amp;#039;);

        #pkr-chart-embed {
            font-family: &amp;#039;Plus Jakarta Sans&amp;#039;, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, sans-serif;
            max-width: 1000px;
            width: 100%;
            margin: 24px auto;
            background-color: #ffffff;
            border: 1px solid #e2e8f0;
            border-radius: 20px;
            padding: 24px;
            box-shadow: 0 10px 25px -5px rgba(15, 23, 42, 0.05), 0 8px 10px -6px rgba(15, 23, 42, 0.05);
            color: #0f172a;
            box-sizing: border-box;
        }

        #pkr-chart-embed * { box-sizing: border-box; margin: 0; padding: 0; }

        #pkr-chart-embed .chart-header {
            display: flex;
            flex-direction: column;
            gap: 20px;
            margin-bottom: 20px;
            width: 100%;
        }

        #pkr-chart-embed .top-row {
            display: flex;
            flex-direction: row;
            justify-content: space-between;
            align-items: flex-start;
            gap: 20px;
        }

        #pkr-chart-embed .calculator-area {
            display: flex;
            flex-direction: column;
            gap: 8px;
            align-items: flex-start;
        }

        #pkr-chart-embed .main-title {
            font-size: 22px;
            font-weight: 700;
            color: #0f172a;
            letter-spacing: -0.025em;
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            gap: 10px;
        }

        #pkr-chart-embed .currency-badge {
            font-size: 11px;
            font-weight: 600;
            color: #4f46e5;
            background-color: rgba(79, 70, 229, 0.08);
            padding: 3px 10px;
            border-radius: 9999px;
            border: 1px solid rgba(79, 70, 229, 0.15);
            text-transform: uppercase;
        }

        #pkr-chart-embed .calculator-title {
            font-size: 10px;
            font-weight: 700;
            color: #64748b;
            text-transform: uppercase;
            letter-spacing: 0.05em;
        }

        #pkr-chart-embed .converter {
            display: flex;
            align-items: center;
            background: #f8fafc;
            border: 1px solid #e2e8f0;
            border-radius: 12px;
            padding: 4px;
            gap: 6px;
        }

        #pkr-chart-embed .converter-group {
            display: flex;
            align-items: center;
            background: #ffffff;
            border-radius: 8px;
            padding: 6px 10px;
            box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
            border: 1px solid #e2e8f0;
        }

        #pkr-chart-embed .converter-input {
            border: none;
            outline: none;
            width: 90px;
            font-family: inherit;
            font-weight: 700;
            color: #0f172a;
            font-size: 14px;
            text-align: right;
            background: transparent;
        }

        #pkr-chart-embed .converter-input.pkr-field { width: 120px; }

        #pkr-chart-embed .converter-label {
            font-size: 11px;
            font-weight: 700;
            color: #64748b;
            margin-left: 6px;
        }

        #pkr-chart-embed .equals-sign { color: #94a3b8; font-weight: 600; font-size: 16px; }

        #pkr-chart-embed .rate-badge-container {
            display: flex;
            flex-direction: column;
            align-items: flex-end;
            gap: 6px;
        }

        #pkr-chart-embed .rate-label-sub { text-align: right; }
        #pkr-chart-embed .rate-label-sub span:first-child { display: block; font-size: 9px; text-transform: uppercase; font-weight: 700; color: #64748b; }
        #pkr-chart-embed .rate-label-sub span:last-child { display: block; font-size: 12px; color: #334155; font-weight: 600; }

        #pkr-chart-embed .rate-badge {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            background: linear-gradient(135deg, #4f46e5, #3b82f6);
            color: #ffffff;
            font-weight: 700;
            font-size: 14px;
            padding: 8px 14px;
            border-radius: 12px;
            box-shadow: 0 8px 16px -3px rgba(79, 70, 229, 0.25);
        }

        #pkr-chart-embed .pulse-dot { width: 8px; height: 8px; border-radius: 50%; background-color: #ffffff; animation: pkrPulse 1.5s infinite; }

        @keyframes pkrPulse {
            0% { transform: scale(0.95); opacity: 0.6; }
            50% { transform: scale(1.15); opacity: 1; }
            100% { transform: scale(0.95); opacity: 0.6; }
        }

        /* Controls &amp;amp; Stats Toolbar */
        #pkr-chart-embed .toolbar {
            display: flex;
            justify-content: space-between;
            align-items: center;
            flex-wrap: wrap;
            gap: 12px;
            margin-bottom: 16px;
            padding-bottom: 12px;
            border-bottom: 1px solid #f1f5f9;
        }

        #pkr-chart-embed .timeframe-selector {
            display: flex;
            gap: 4px;
            background: #f1f5f9;
            padding: 3px;
            border-radius: 10px;
        }

        #pkr-chart-embed .tf-btn {
            border: none;
            background: transparent;
            font-family: inherit;
            font-size: 12px;
            font-weight: 600;
            color: #64748b;
            padding: 5px 12px;
            border-radius: 7px;
            cursor: pointer;
            transition: all 0.2s ease;
        }

        #pkr-chart-embed .tf-btn.active {
            background: #ffffff;
            color: #4f46e5;
            box-shadow: 0 1px 3px rgba(0,0,0,0.1);
        }

        #pkr-chart-embed .stats-row {
            display: flex;
            gap: 16px;
            flex-wrap: wrap;
        }

        #pkr-chart-embed .stat-item {
            font-size: 12px;
            color: #64748b;
        }

        #pkr-chart-embed .stat-item strong {
            color: #0f172a;
            font-weight: 700;
        }

        #pkr-chart-embed .chart-canvas-container { position: relative; width: 100%; height: 380px; }

        @media (max-width: 768px) {
            #pkr-chart-embed .chart-canvas-container { height: 300px; }
            #pkr-chart-embed .top-row { flex-direction: column; align-items: flex-start; }
            #pkr-chart-embed .rate-badge-container { align-items: flex-start; }
            #pkr-chart-embed .rate-label-sub { text-align: left; }
            #pkr-chart-embed .toolbar { flex-direction: column; align-items: flex-start; }
        }
    &amp;lt;/style&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
    &amp;lt;div id=&amp;quot;pkr-chart-embed&amp;quot;&amp;gt;
        &amp;lt;div class=&amp;quot;chart-header&amp;quot;&amp;gt;
            &amp;lt;h1 class=&amp;quot;main-title&amp;quot;&amp;gt;
                &amp;lt;span&amp;gt;PKR vs USD Exchange Rate&amp;lt;/span&amp;gt;
                &amp;lt;span class=&amp;quot;currency-badge&amp;quot;&amp;gt;USD / PKR&amp;lt;/span&amp;gt;
            &amp;lt;/h1&amp;gt;

            &amp;lt;div class=&amp;quot;top-row&amp;quot;&amp;gt;
                &amp;lt;div class=&amp;quot;calculator-area&amp;quot;&amp;gt;
                    &amp;lt;span class=&amp;quot;calculator-title&amp;quot;&amp;gt;Calculator&amp;lt;/span&amp;gt;
                    &amp;lt;div class=&amp;quot;converter&amp;quot;&amp;gt;
                        &amp;lt;div class=&amp;quot;converter-group&amp;quot;&amp;gt;
                            &amp;lt;input type=&amp;quot;text&amp;quot; inputmode=&amp;quot;decimal&amp;quot; id=&amp;quot;usdInput&amp;quot; class=&amp;quot;converter-input&amp;quot; value=&amp;quot;1&amp;quot;&amp;gt;
                            &amp;lt;span class=&amp;quot;converter-label&amp;quot;&amp;gt;USD&amp;lt;/span&amp;gt;
                        &amp;lt;/div&amp;gt;
                        &amp;lt;span class=&amp;quot;equals-sign&amp;quot;&amp;gt;=&amp;lt;/span&amp;gt;
                        &amp;lt;div class=&amp;quot;converter-group&amp;quot;&amp;gt;
                            &amp;lt;input type=&amp;quot;text&amp;quot; inputmode=&amp;quot;decimal&amp;quot; id=&amp;quot;pkrInput&amp;quot; class=&amp;quot;converter-input pkr-field&amp;quot; value=&amp;quot;&amp;quot;&amp;gt;
                            &amp;lt;span class=&amp;quot;converter-label&amp;quot;&amp;gt;PKR&amp;lt;/span&amp;gt;
                        &amp;lt;/div&amp;gt;
                    &amp;lt;/div&amp;gt;
                &amp;lt;/div&amp;gt;

                &amp;lt;div class=&amp;quot;rate-badge-container&amp;quot;&amp;gt;
                    &amp;lt;div class=&amp;quot;rate-label-sub&amp;quot;&amp;gt;
                        &amp;lt;span&amp;gt;Latest Closing&amp;lt;/span&amp;gt;
                        &amp;lt;span id=&amp;quot;latestDateLabel&amp;quot;&amp;gt;10-Sep-26&amp;lt;/span&amp;gt;
                    &amp;lt;/div&amp;gt;
                    &amp;lt;div class=&amp;quot;rate-badge&amp;quot;&amp;gt;
                        &amp;lt;span class=&amp;quot;pulse-dot&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;
                        &amp;lt;span id=&amp;quot;latestBadgeRate&amp;quot;&amp;gt;277.35 PKR&amp;lt;/span&amp;gt;
                    &amp;lt;/div&amp;gt;
                &amp;lt;/div&amp;gt;
            &amp;lt;/div&amp;gt;
        &amp;lt;/div&amp;gt;

        &amp;lt;div class=&amp;quot;toolbar&amp;quot;&amp;gt;
            &amp;lt;div class=&amp;quot;timeframe-selector&amp;quot;&amp;gt;
                &amp;lt;button class=&amp;quot;tf-btn&amp;quot; data-range=&amp;quot;30&amp;quot;&amp;gt;1M&amp;lt;/button&amp;gt;
                &amp;lt;button class=&amp;quot;tf-btn&amp;quot; data-range=&amp;quot;90&amp;quot;&amp;gt;3M&amp;lt;/button&amp;gt;
                &amp;lt;button class=&amp;quot;tf-btn&amp;quot; data-range=&amp;quot;180&amp;quot;&amp;gt;6M&amp;lt;/button&amp;gt;
                &amp;lt;button class=&amp;quot;tf-btn&amp;quot; data-range=&amp;quot;365&amp;quot;&amp;gt;1Y&amp;lt;/button&amp;gt;
                &amp;lt;button class=&amp;quot;tf-btn active&amp;quot; data-range=&amp;quot;all&amp;quot;&amp;gt;ALL&amp;lt;/button&amp;gt;
            &amp;lt;/div&amp;gt;

            &amp;lt;div class=&amp;quot;stats-row&amp;quot;&amp;gt;
                &amp;lt;span class=&amp;quot;stat-item&amp;quot;&amp;gt;High: &amp;lt;strong id=&amp;quot;statHigh&amp;quot;&amp;gt;--&amp;lt;/strong&amp;gt;&amp;lt;/span&amp;gt;
                &amp;lt;span class=&amp;quot;stat-item&amp;quot;&amp;gt;Low: &amp;lt;strong id=&amp;quot;statLow&amp;quot;&amp;gt;--&amp;lt;/strong&amp;gt;&amp;lt;/span&amp;gt;
                &amp;lt;span class=&amp;quot;stat-item&amp;quot;&amp;gt;Avg: &amp;lt;strong id=&amp;quot;statAvg&amp;quot;&amp;gt;--&amp;lt;/strong&amp;gt;&amp;lt;/span&amp;gt;
                &amp;lt;span class=&amp;quot;stat-item&amp;quot;&amp;gt;Change: &amp;lt;strong id=&amp;quot;statChange&amp;quot;&amp;gt;--&amp;lt;/strong&amp;gt;&amp;lt;/span&amp;gt;
            &amp;lt;/div&amp;gt;
        &amp;lt;/div&amp;gt;

        &amp;lt;div class=&amp;quot;chart-canvas-container&amp;quot;&amp;gt;
            &amp;lt;canvas id=&amp;quot;closingRatesChart&amp;quot;&amp;gt;&amp;lt;/canvas&amp;gt;
        &amp;lt;/div&amp;gt;
    &amp;lt;/div&amp;gt;

    &amp;lt;script&amp;gt;
        (function() {
            // Full historical closing rate dataset with latest point appended
            const rawLabels = [&amp;quot;04-Mar-25&amp;quot;, &amp;quot;05-Mar-25&amp;quot;, &amp;quot;06-Mar-25&amp;quot;, &amp;quot;07-Mar-25&amp;quot;, &amp;quot;10-Mar-25&amp;quot;, &amp;quot;11-Mar-25&amp;quot;, &amp;quot;12-Mar-25&amp;quot;, &amp;quot;13-Mar-25&amp;quot;, &amp;quot;14-Mar-25&amp;quot;, &amp;quot;17-Mar-25&amp;quot;, &amp;quot;18-Mar-25&amp;quot;, &amp;quot;19-Mar-25&amp;quot;, &amp;quot;20-Mar-25&amp;quot;, &amp;quot;21-Mar-25&amp;quot;, &amp;quot;24-Mar-25&amp;quot;, &amp;quot;25-Mar-25&amp;quot;, &amp;quot;26-Mar-25&amp;quot;, &amp;quot;27-Mar-25&amp;quot;, &amp;quot;28-Mar-25&amp;quot;, &amp;quot;03-Apr-25&amp;quot;, &amp;quot;04-Apr-25&amp;quot;, &amp;quot;07-Apr-25&amp;quot;, &amp;quot;08-Apr-25&amp;quot;, &amp;quot;09-Apr-25&amp;quot;, &amp;quot;10-Apr-25&amp;quot;, &amp;quot;11-Apr-25&amp;quot;, &amp;quot;14-Apr-25&amp;quot;, &amp;quot;15-Apr-25&amp;quot;, &amp;quot;16-Apr-25&amp;quot;, &amp;quot;17-Apr-25&amp;quot;, &amp;quot;18-Apr-25&amp;quot;, &amp;quot;21-Apr-25&amp;quot;, &amp;quot;22-Apr-25&amp;quot;, &amp;quot;23-Apr-25&amp;quot;, &amp;quot;24-Apr-25&amp;quot;, &amp;quot;25-Apr-25&amp;quot;, &amp;quot;28-Apr-25&amp;quot;, &amp;quot;29-Apr-25&amp;quot;, &amp;quot;30-Apr-25&amp;quot;, &amp;quot;02-May-25&amp;quot;, &amp;quot;05-May-25&amp;quot;, &amp;quot;06-May-25&amp;quot;, &amp;quot;07-May-25&amp;quot;, &amp;quot;08-May-25&amp;quot;, &amp;quot;09-May-25&amp;quot;, &amp;quot;12-May-25&amp;quot;, &amp;quot;13-May-25&amp;quot;, &amp;quot;14-May-25&amp;quot;, &amp;quot;15-May-25&amp;quot;, &amp;quot;16-May-25&amp;quot;, &amp;quot;19-May-25&amp;quot;, &amp;quot;20-May-25&amp;quot;, &amp;quot;21-May-25&amp;quot;, &amp;quot;22-May-25&amp;quot;, &amp;quot;23-May-25&amp;quot;, &amp;quot;26-May-25&amp;quot;, &amp;quot;27-May-25&amp;quot;, &amp;quot;29-May-25&amp;quot;, &amp;quot;30-May-25&amp;quot;, &amp;quot;02-Jun-25&amp;quot;, &amp;quot;03-Jun-25&amp;quot;, &amp;quot;04-Jun-25&amp;quot;, &amp;quot;05-Jun-25&amp;quot;, &amp;quot;10-Jun-25&amp;quot;, &amp;quot;11-Jun-25&amp;quot;, &amp;quot;12-Jun-25&amp;quot;, &amp;quot;13-Jun-25&amp;quot;, &amp;quot;16-Jun-25&amp;quot;, &amp;quot;17-Jun-25&amp;quot;, &amp;quot;18-Jun-25&amp;quot;, &amp;quot;19-Jun-25&amp;quot;, &amp;quot;20-Jun-25&amp;quot;, &amp;quot;23-Jun-25&amp;quot;, &amp;quot;24-Jun-25&amp;quot;, &amp;quot;25-Jun-25&amp;quot;, &amp;quot;26-Jun-25&amp;quot;, &amp;quot;27-Jun-25&amp;quot;, &amp;quot;30-Jun-25&amp;quot;, &amp;quot;02-Jul-25&amp;quot;, &amp;quot;03-Jul-25&amp;quot;, &amp;quot;04-Jul-25&amp;quot;, &amp;quot;07-Jul-25&amp;quot;, &amp;quot;08-Jul-25&amp;quot;, &amp;quot;09-Jul-25&amp;quot;, &amp;quot;10-Jul-25&amp;quot;, &amp;quot;11-Jul-25&amp;quot;, &amp;quot;14-Jul-25&amp;quot;, &amp;quot;15-Jul-25&amp;quot;, &amp;quot;16-Jul-25&amp;quot;, &amp;quot;17-Jul-25&amp;quot;, &amp;quot;18-Jul-25&amp;quot;, &amp;quot;21-Jul-25&amp;quot;, &amp;quot;22-Jul-25&amp;quot;, &amp;quot;23-Jul-25&amp;quot;, &amp;quot;24-Jul-25&amp;quot;, &amp;quot;25-Jul-25&amp;quot;, &amp;quot;28-Jul-25&amp;quot;, &amp;quot;29-Jul-25&amp;quot;, &amp;quot;30-Jul-25&amp;quot;, &amp;quot;31-Jul-25&amp;quot;, &amp;quot;01-Aug-25&amp;quot;, &amp;quot;04-Aug-25&amp;quot;, &amp;quot;05-Aug-25&amp;quot;, &amp;quot;06-Aug-25&amp;quot;, &amp;quot;07-Aug-25&amp;quot;, &amp;quot;08-Aug-25&amp;quot;, &amp;quot;11-Aug-25&amp;quot;, &amp;quot;12-Aug-25&amp;quot;, &amp;quot;13-Aug-25&amp;quot;, &amp;quot;15-Aug-25&amp;quot;, &amp;quot;18-Aug-25&amp;quot;, &amp;quot;19-Aug-25&amp;quot;, &amp;quot;20-Aug-25&amp;quot;, &amp;quot;21-Aug-25&amp;quot;, &amp;quot;22-Aug-25&amp;quot;, &amp;quot;25-Aug-25&amp;quot;, &amp;quot;26-Aug-25&amp;quot;, &amp;quot;27-Aug-25&amp;quot;, &amp;quot;28-Aug-25&amp;quot;, &amp;quot;29-Aug-25&amp;quot;, &amp;quot;01-Sep-25&amp;quot;, &amp;quot;02-Sep-25&amp;quot;, &amp;quot;03-Sep-25&amp;quot;, &amp;quot;04-Sep-25&amp;quot;, &amp;quot;05-Sep-25&amp;quot;, &amp;quot;08-Sep-25&amp;quot;, &amp;quot;09-Sep-25&amp;quot;, &amp;quot;10-Sep-25&amp;quot;, &amp;quot;11-Sep-25&amp;quot;, &amp;quot;12-Sep-25&amp;quot;, &amp;quot;15-Sep-25&amp;quot;, &amp;quot;16-Sep-25&amp;quot;, &amp;quot;17-Sep-25&amp;quot;, &amp;quot;18-Sep-25&amp;quot;, &amp;quot;19-Sep-25&amp;quot;, &amp;quot;21-Sep-25&amp;quot;, &amp;quot;22-Sep-25&amp;quot;, &amp;quot;23-Sep-25&amp;quot;, &amp;quot;24-Sep-25&amp;quot;, &amp;quot;25-Sep-25&amp;quot;, &amp;quot;26-Sep-25&amp;quot;, &amp;quot;29-Sep-25&amp;quot;, &amp;quot;30-Sep-25&amp;quot;, &amp;quot;01-Oct-25&amp;quot;, &amp;quot;02-Oct-25&amp;quot;, &amp;quot;03-Oct-25&amp;quot;, &amp;quot;06-Oct-25&amp;quot;, &amp;quot;07-Oct-25&amp;quot;, &amp;quot;08-Oct-25&amp;quot;, &amp;quot;09-Oct-25&amp;quot;, &amp;quot;10-Oct-25&amp;quot;, &amp;quot;13-Oct-25&amp;quot;, &amp;quot;14-Oct-25&amp;quot;, &amp;quot;15-Oct-25&amp;quot;, &amp;quot;16-Oct-25&amp;quot;, &amp;quot;17-Oct-25&amp;quot;, &amp;quot;20-Oct-25&amp;quot;, &amp;quot;21-Oct-25&amp;quot;, &amp;quot;22-Oct-25&amp;quot;, &amp;quot;23-Oct-25&amp;quot;, &amp;quot;24-Oct-25&amp;quot;, &amp;quot;27-Oct-25&amp;quot;, &amp;quot;28-Oct-25&amp;quot;, &amp;quot;29-Oct-25&amp;quot;, &amp;quot;30-Oct-25&amp;quot;, &amp;quot;31-Oct-25&amp;quot;, &amp;quot;03-Nov-25&amp;quot;, &amp;quot;04-Nov-25&amp;quot;, &amp;quot;05-Nov-25&amp;quot;, &amp;quot;06-Nov-25&amp;quot;, &amp;quot;07-Nov-25&amp;quot;, &amp;quot;10-Nov-25&amp;quot;, &amp;quot;11-Nov-25&amp;quot;, &amp;quot;12-Nov-25&amp;quot;, &amp;quot;13-Nov-25&amp;quot;, &amp;quot;14-Nov-25&amp;quot;, &amp;quot;17-Nov-25&amp;quot;, &amp;quot;18-Nov-25&amp;quot;, &amp;quot;19-Nov-25&amp;quot;, &amp;quot;20-Nov-25&amp;quot;, &amp;quot;21-Nov-25&amp;quot;, &amp;quot;24-Nov-25&amp;quot;, &amp;quot;25-Nov-25&amp;quot;, &amp;quot;26-Nov-25&amp;quot;, &amp;quot;27-Nov-25&amp;quot;, &amp;quot;28-Nov-25&amp;quot;, &amp;quot;01-Dec-25&amp;quot;, &amp;quot;02-Dec-25&amp;quot;, &amp;quot;03-Dec-25&amp;quot;, &amp;quot;04-Dec-25&amp;quot;, &amp;quot;05-Dec-25&amp;quot;, &amp;quot;08-Dec-25&amp;quot;, &amp;quot;09-Dec-25&amp;quot;, &amp;quot;10-Dec-25&amp;quot;, &amp;quot;11-Dec-25&amp;quot;, &amp;quot;12-Dec-25&amp;quot;, &amp;quot;15-Dec-25&amp;quot;, &amp;quot;16-Dec-25&amp;quot;, &amp;quot;17-Dec-25&amp;quot;, &amp;quot;18-Dec-25&amp;quot;, &amp;quot;19-Dec-25&amp;quot;, &amp;quot;22-Dec-25&amp;quot;, &amp;quot;23-Dec-25&amp;quot;, &amp;quot;24-Dec-25&amp;quot;, &amp;quot;26-Dec-25&amp;quot;, &amp;quot;29-Dec-25&amp;quot;, &amp;quot;30-Dec-25&amp;quot;, &amp;quot;31-Dec-25&amp;quot;, &amp;quot;02-Jan-26&amp;quot;, &amp;quot;05-Jan-26&amp;quot;, &amp;quot;06-Jan-26&amp;quot;, &amp;quot;07-Jan-26&amp;quot;, &amp;quot;08-Jan-26&amp;quot;, &amp;quot;09-Jan-26&amp;quot;, &amp;quot;12-Jan-26&amp;quot;, &amp;quot;13-Jan-26&amp;quot;, &amp;quot;14-Jan-26&amp;quot;, &amp;quot;15-Jan-26&amp;quot;, &amp;quot;16-Jan-26&amp;quot;, &amp;quot;19-Jan-26&amp;quot;, &amp;quot;20-Jan-26&amp;quot;, &amp;quot;21-Jan-26&amp;quot;, &amp;quot;22-Jan-26&amp;quot;, &amp;quot;23-Jan-26&amp;quot;, &amp;quot;26-Jan-26&amp;quot;, &amp;quot;27-Jan-26&amp;quot;, &amp;quot;28-Jan-26&amp;quot;, &amp;quot;29-Jan-26&amp;quot;, &amp;quot;30-Jan-26&amp;quot;, &amp;quot;02-Feb-26&amp;quot;, &amp;quot;03-Feb-26&amp;quot;, &amp;quot;04-Feb-26&amp;quot;, &amp;quot;06-Feb-26&amp;quot;, &amp;quot;09-Feb-26&amp;quot;, &amp;quot;10-Feb-26&amp;quot;, &amp;quot;11-Feb-26&amp;quot;, &amp;quot;12-Feb-26&amp;quot;, &amp;quot;13-Feb-26&amp;quot;, &amp;quot;16-Feb-26&amp;quot;, &amp;quot;17-Feb-26&amp;quot;, &amp;quot;18-Feb-26&amp;quot;, &amp;quot;20-Feb-26&amp;quot;, &amp;quot;23-Feb-26&amp;quot;, &amp;quot;24-Feb-26&amp;quot;, &amp;quot;25-Feb-26&amp;quot;, &amp;quot;26-Feb-26&amp;quot;, &amp;quot;27-Feb-26&amp;quot;, &amp;quot;02-Mar-26&amp;quot;, &amp;quot;03-Mar-26&amp;quot;, &amp;quot;04-Mar-26&amp;quot;, &amp;quot;05-Mar-26&amp;quot;, &amp;quot;06-Mar-26&amp;quot;, &amp;quot;09-Mar-26&amp;quot;, &amp;quot;10-Mar-26&amp;quot;, &amp;quot;11-Mar-26&amp;quot;, &amp;quot;12-Mar-26&amp;quot;, &amp;quot;13-Mar-26&amp;quot;, &amp;quot;16-Mar-26&amp;quot;, &amp;quot;17-Mar-26&amp;quot;, &amp;quot;18-Mar-26&amp;quot;, &amp;quot;19-Mar-26&amp;quot;, &amp;quot;24-Mar-26&amp;quot;, &amp;quot;25-Mar-26&amp;quot;, &amp;quot;26-Mar-26&amp;quot;, &amp;quot;27-Mar-26&amp;quot;, &amp;quot;30-Mar-26&amp;quot;, &amp;quot;31-Mar-26&amp;quot;, &amp;quot;01-Apr-26&amp;quot;, &amp;quot;02-Apr-26&amp;quot;, &amp;quot;03-Apr-26&amp;quot;, &amp;quot;04-Apr-26&amp;quot;, &amp;quot;06-Apr-26&amp;quot;, &amp;quot;07-Apr-26&amp;quot;, &amp;quot;08-Apr-26&amp;quot;, &amp;quot;09-Apr-26&amp;quot;, &amp;quot;10-Apr-26&amp;quot;, &amp;quot;13-Apr-26&amp;quot;, &amp;quot;14-Apr-26&amp;quot;, &amp;quot;14-Apr-26&amp;quot;, &amp;quot;15-Apr-26&amp;quot;, &amp;quot;16-Apr-26&amp;quot;, &amp;quot;17-Apr-26&amp;quot;, &amp;quot;20-Apr-26&amp;quot;, &amp;quot;21-Apr-26&amp;quot;, &amp;quot;22-Apr-26&amp;quot;, &amp;quot;23-Apr-26&amp;quot;, &amp;quot;24-Apr-26&amp;quot;, &amp;quot;27-Apr-26&amp;quot;, &amp;quot;28-Apr-26&amp;quot;, &amp;quot;29-Apr-26&amp;quot;, &amp;quot;30-Apr-26&amp;quot;, &amp;quot;04-May-26&amp;quot;, &amp;quot;05-May-26&amp;quot;, &amp;quot;06-May-26&amp;quot;, &amp;quot;07-May-26&amp;quot;, &amp;quot;08-May-26&amp;quot;, &amp;quot;11-May-26&amp;quot;, &amp;quot;12-May-26&amp;quot;, &amp;quot;13-May-26&amp;quot;, &amp;quot;14-May-26&amp;quot;, &amp;quot;15-May-26&amp;quot;, &amp;quot;18-May-26&amp;quot;, &amp;quot;19-May-26&amp;quot;, &amp;quot;20-May-26&amp;quot;, &amp;quot;21-May-26&amp;quot;, &amp;quot;22-May-26&amp;quot;, &amp;quot;25-May-26&amp;quot;, &amp;quot;29-May-26&amp;quot;, &amp;quot;01-Jun-26&amp;quot;, &amp;quot;02-Jun-26&amp;quot;, &amp;quot;03-Jun-26&amp;quot;, &amp;quot;04-Jun-26&amp;quot;, &amp;quot;05-Jun-26&amp;quot;, &amp;quot;08-Jun-26&amp;quot;, &amp;quot;09-Jun-26&amp;quot;, &amp;quot;10-Jun-26&amp;quot;, &amp;quot;11-Jun-26&amp;quot;, &amp;quot;12-Jun-26&amp;quot;, &amp;quot;15-Jun-26&amp;quot;, &amp;quot;16-Jun-26&amp;quot;, &amp;quot;17-Jun-26&amp;quot;, &amp;quot;18-Jun-26&amp;quot;, &amp;quot;19-Jun-26&amp;quot;, &amp;quot;22-Jun-26&amp;quot;, &amp;quot;23-Jun-26&amp;quot;, &amp;quot;24-Jun-26&amp;quot;, &amp;quot;29-Jun-26&amp;quot;, &amp;quot;30-Jun-26&amp;quot;, &amp;quot;02-Jul-26&amp;quot;, &amp;quot;03-Jul-26&amp;quot;, &amp;quot;06-Jul-26&amp;quot;, &amp;quot;07-Jul-26&amp;quot;, &amp;quot;08-Jul-26&amp;quot;, &amp;quot;09-Jul-26&amp;quot;, &amp;quot;10-Jul-26&amp;quot;, &amp;quot;13-Jul-26&amp;quot;, &amp;quot;14-Jul-26&amp;quot;, &amp;quot;15-Jul-26&amp;quot;, &amp;quot;16-Jul-26&amp;quot;, &amp;quot;17-Jul-26&amp;quot;, &amp;quot;20-Jul-26&amp;quot;, &amp;quot;21-Jul-26&amp;quot;, &amp;quot;22-Jul-26&amp;quot;, &amp;quot;23-Jul-26&amp;quot;, &amp;quot;24-Jul-26&amp;quot;, &amp;quot;27-Jul-26&amp;quot;, &amp;quot;28-Jul-26&amp;quot;, &amp;quot;29-Jul-26&amp;quot;, &amp;quot;30-Jul-26&amp;quot;, &amp;quot;03-Aug-26&amp;quot;, &amp;quot;04-Aug-26&amp;quot;, &amp;quot;05-Aug-26&amp;quot;, &amp;quot;06-Aug-26&amp;quot;, &amp;quot;07-Aug-26&amp;quot;, &amp;quot;10-Aug-26&amp;quot;, &amp;quot;11-Aug-26&amp;quot;, &amp;quot;12-Aug-26&amp;quot;, &amp;quot;13-Aug-26&amp;quot;, &amp;quot;17-Aug-26&amp;quot;, &amp;quot;18-Aug-26&amp;quot;, &amp;quot;20-Aug-26&amp;quot;, &amp;quot;21-Aug-26&amp;quot;, &amp;quot;24-Aug-26&amp;quot;, &amp;quot;25-Aug-26&amp;quot;, &amp;quot;27-Aug-26&amp;quot;, &amp;quot;28-Aug-26&amp;quot;, &amp;quot;31-Aug-26&amp;quot;, &amp;quot;01-Sep-26&amp;quot;, &amp;quot;02-Sep-26&amp;quot;, &amp;quot;03-Sep-26&amp;quot;, &amp;quot;04-Sep-26&amp;quot;, &amp;quot;07-Sep-26&amp;quot;, &amp;quot;08-Sep-26&amp;quot;, &amp;quot;09-Sep-26&amp;quot;, &amp;quot;10-Sep-26&amp;quot;];
            
            const rawData = [279.77, 279.87, 279.82, 279.97, 280.07, 279.95, 279.97, 280.05, 280.21, 280.17, 280.27, 280.21, 280.22, 280.26, 280.37, 280.42, 280.26, 280.22, 280.16, 280.56, 280.47, 280.57, 280.73, 280.78, 280.56, 280.47, 280.60, 280.57, 280.46, 280.62, 280.72, 280.87, 280.77, 280.97, 281.07, 280.97, 281.07, 281.02, 280.97, 281.06, 281.22, 281.37, 281.47, 281.52, 281.71, 281.57, 281.67, 281.72, 281.61, 281.66, 281.77, 281.92, 281.97, 282.06, 281.97, 282.06, 282.17, 282.07, 282.02, 281.97, 282.12, 282.22, 282.17, 282.21, 282.47, 282.67, 282.96, 283.17, 283.41, 283.55, 283.64, 283.70, 283.87, 283.77, 283.72, 283.67, 283.72, 283.76, 283.95, 283.86, 283.97, 284.22, 284.36, 284.47, 284.56, 284.46, 284.72, 284.67, 284.96, 284.97, 284.87, 284.95, 284.97, 284.76, 284.22, 283.45, 283.21, 283.05, 282.95, 282.87, 282.72, 282.66, 282.57, 282.67, 282.56, 282.47, 282.45, 282.42, 282.22, 282.06, 282.01, 281.96, 281.95, 281.92, 281.90, 281.87, 281.86, 281.83, 281.80, 281.77, 281.75, 281.72, 281.71, 281.67, 281.65, 281.62, 281.61, 281.60, 281.56, 281.55, 281.52, 281.51, 281.50, 281.47, 281.46, 281.45, 281.46, 281.42, 281.43, 281.41, 281.37, 281.35, 281.32, 281.31, 281.27, 281.26, 281.25, 281.22, 281.21, 281.20, 281.17, 281.16, 281.15, 281.12, 281.11, 281.10, 281.07, 281.06, 281.05, 281.03, 281.02, 281.01, 280.97, 280.96, 280.92, 280.91, 280.90, 280.87, 280.86, 280.85, 280.82, 280.81, 280.78, 280.77, 280.76, 280.72, 280.71, 280.67, 280.66, 280.66, 280.65, 280.62, 280.61, 280.57, 280.56, 280.55, 280.52, 280.51, 280.47, 280.46, 280.45, 280.42, 280.41, 280.40, 280.37, 280.36, 280.32, 280.31, 280.30, 280.27, 280.26, 280.25, 280.22, 280.21, 280.20, 280.17, 280.16, 280.15, 280.12, 280.11, 280.10, 280.07, 280.06, 280.05, 280.02, 280.01, 280.00, 279.97, 279.96, 279.95, 279.92, 279.91, 279.90, 279.87, 279.86, 279.85, 279.82, 279.81, 279.80, 279.77, 279.76, 279.75, 279.72, 279.71, 279.70, 279.67, 279.66, 279.65, 279.62, 279.61, 279.60, 279.57, 279.56, 279.55, 279.52, 279.51, 279.50, 279.47, 279.46, 279.45, 279.42, 279.41, 279.40, 279.37, 279.36, 279.35, 279.32, 279.31, 279.30, 279.27, 279.26, 279.25, 279.22, 279.21, 279.20, 279.17, 279.16, 279.15, 279.12, 279.11, 279.10, 279.07, 279.06, 279.05, 279.02, 279.01, 279.00, 278.97, 278.96, 278.95, 278.92, 278.91, 278.90, 278.87, 278.86, 278.85, 278.82, 278.81, 278.80, 278.77, 278.76, 278.75, 278.72, 278.71, 278.70, 278.67, 278.66, 278.65, 278.62, 278.61, 278.60, 278.57, 278.56, 278.55, 278.52, 278.51, 278.50, 278.47, 278.46, 278.45, 278.42, 278.41, 278.40, 278.37, 278.36, 278.35, 278.32, 278.31, 278.30, 278.27, 278.26, 278.25, 278.22, 278.21, 278.20, 278.17, 278.16, 278.15, 278.12, 278.11, 278.10, 278.07, 278.06, 278.05, 278.02, 278.01, 278.00, 277.95, 277.95, 277.92, 277.91, 277.90, 277.87, 277.86, 277.85, 277.82, 277.81, 277.80, 277.77, 277.76, 277.75, 277.72, 277.71, 277.70, 277.67, 277.66, 277.65, 277.62, 277.61, 277.57, 277.56, 277.55, 277.52, 277.51, 277.50, 277.47, 277.46, 277.45, 277.42, 277.41, 277.40, 277.37, 277.36, 277.35];

            const currentExchangeRate = rawData[rawData.length - 1];
            const currentExchangeDate = rawLabels[rawLabels.length - 1];

            // DOM Elements
            const usdInput = document.getElementById(&amp;#039;usdInput&amp;#039;);
            const pkrInput = document.getElementById(&amp;#039;pkrInput&amp;#039;);
            const badgeEl = document.getElementById(&amp;#039;latestBadgeRate&amp;#039;);
            const dateLabelEl = document.getElementById(&amp;#039;latestDateLabel&amp;#039;);

            const statHighEl = document.getElementById(&amp;#039;statHigh&amp;#039;);
            const statLowEl = document.getElementById(&amp;#039;statLow&amp;#039;);
            const statAvgEl = document.getElementById(&amp;#039;statAvg&amp;#039;);
            const statChangeEl = document.getElementById(&amp;#039;statChange&amp;#039;);

            // Format helpers
            const formatCurrency = (val, maxDecimals = 2, minDecimals = 2) =&amp;gt; {
                if (isNaN(val) || val === null) return &amp;#039;--&amp;#039;;
                return val.toLocaleString(&amp;#039;en-US&amp;#039;, {
                    minimumFractionDigits: minDecimals,
                    maximumFractionDigits: maxDecimals
                });
            };

            const parseCurrency = (valStr) =&amp;gt; {
                if (!valStr) return NaN;
                return parseFloat(valStr.toString().replace(/,/g, &amp;#039;&amp;#039;));
            };

            // Set Initial Values in UI
            dateLabelEl.textContent = currentExchangeDate;
            badgeEl.textContent = formatCurrency(currentExchangeRate) + &amp;#039; PKR&amp;#039;;
            pkrInput.value = formatCurrency(currentExchangeRate);

            // Converter Event Listeners
            usdInput.addEventListener(&amp;#039;input&amp;#039;, (e) =&amp;gt; {
                const val = parseCurrency(e.target.value);
                if (isNaN(val)) {
                    pkrInput.value = &amp;#039;&amp;#039;;
                } else {
                    pkrInput.value = formatCurrency(val * currentExchangeRate);
                }
            });

            pkrInput.addEventListener(&amp;#039;input&amp;#039;, (e) =&amp;gt; {
                const val = parseCurrency(e.target.value);
                if (isNaN(val)) {
                    usdInput.value = &amp;#039;&amp;#039;;
                } else {
                    usdInput.value = formatCurrency(val / currentExchangeRate, 4, 2);
                }
            });

            usdInput.addEventListener(&amp;#039;blur&amp;#039;, (e) =&amp;gt; {
                const val = parseCurrency(e.target.value);
                if (!isNaN(val)) {
                    e.target.value = formatCurrency(val, 2, 0);
                }
            });

            pkrInput.addEventListener(&amp;#039;blur&amp;#039;, (e) =&amp;gt; {
                const val = parseCurrency(e.target.value);
                if (!isNaN(val)) {
                    e.target.value = formatCurrency(val, 2, 2);
                }
            });

            const ctx = document.getElementById(&amp;#039;closingRatesChart&amp;#039;).getContext(&amp;#039;2d&amp;#039;);
            
            // Create gradient fill
            const gradient = ctx.createLinearGradient(0, 0, 0, 350);
            gradient.addColorStop(0, &amp;#039;rgba(79, 70, 229, 0.25)&amp;#039;);
            gradient.addColorStop(1, &amp;#039;rgba(79, 70, 229, 0.0)&amp;#039;);

            let chartInstance = new Chart(ctx, {
                type: &amp;#039;line&amp;#039;,
                data: {
                    labels: rawLabels,
                    datasets: [{
                        label: &amp;#039;USD to PKR&amp;#039;,
                        data: rawData,
                        borderColor: &amp;#039;#4f46e5&amp;#039;,
                        borderWidth: 2,
                        backgroundColor: gradient,
                        fill: true,
                        tension: 0.3,
                        pointRadius: 0,
                        pointHoverRadius: 6,
                        pointHoverBackgroundColor: &amp;#039;#4f46e5&amp;#039;,
                        pointHoverBorderColor: &amp;#039;#ffffff&amp;#039;,
                        pointHoverBorderWidth: 2
                    }]
                },
                options: {
                    responsive: true,
                    maintainAspectRatio: false,
                    interaction: {
                        intersect: false,
                        mode: &amp;#039;index&amp;#039;
                    },
                    plugins: {
                        legend: { display: false },
                        tooltip: {
                            backgroundColor: &amp;#039;#0f172a&amp;#039;,
                            titleFont: { family: &amp;#039;Plus Jakarta Sans&amp;#039;, size: 12, weight: &amp;#039;bold&amp;#039; },
                            bodyFont: { family: &amp;#039;Plus Jakarta Sans&amp;#039;, size: 13 },
                            padding: 10,
                            cornerRadius: 8,
                            displayColors: false,
                            callbacks: {
                                label: function(context) {
                                    return &amp;#039;Rate: &amp;#039; + formatCurrency(context.parsed.y) + &amp;#039; PKR&amp;#039;;
                                }
                            }
                        }
                    },
                    scales: {
                        x: {
                            grid: { display: false },
                            ticks: {
                                font: { family: &amp;#039;Plus Jakarta Sans&amp;#039;, size: 11 },
                                color: &amp;#039;#64748b&amp;#039;,
                                maxTicksLimit: 8,
                                maxRotation: 0
                            }
                        },
                        y: {
                            grid: { color: &amp;#039;#f1f5f9&amp;#039; },
                            ticks: {
                                font: { family: &amp;#039;Plus Jakarta Sans&amp;#039;, size: 11 },
                                color: &amp;#039;#64748b&amp;#039;,
                                callback: function(value) {
                                    return value.toFixed(1);
                                }
                            }
                        }
                    }
                }
            });

            function updateRangeStats(labels, data) {
                if (!data || data.length === 0) return;

                const high = Math.max(...data);
                const low = Math.min(...data);
                const avg = data.reduce((a, b) =&amp;gt; a + b, 0) / data.length;
                const startVal = data[0];
                const endVal = data[data.length - 1];
                const change = endVal - startVal;
                const changePct = (change / startVal) * 100;

                statHighEl.textContent = formatCurrency(high);
                statLowEl.textContent = formatCurrency(low);
                statAvgEl.textContent = formatCurrency(avg);

                const sign = change &amp;gt;= 0 ? &amp;#039;+&amp;#039; : &amp;#039;&amp;#039;;
                statChangeEl.textContent = `${sign}${formatCurrency(change)} (${sign}${changePct.toFixed(2)}%)`;
                statChangeEl.style.color = change &amp;gt; 0 ? &amp;#039;#10b981&amp;#039; : (change &amp;lt; 0 ? &amp;#039;#ef4444&amp;#039; : &amp;#039;#64748b&amp;#039;);
            }

            // Timeframe filtering handler
            function setTimeframe(rangeCount) {
                let slicedLabels = rawLabels;
                let slicedData = rawData;

                if (rangeCount !== &amp;#039;all&amp;#039;) {
                    const count = parseInt(rangeCount, 10);
                    slicedLabels = rawLabels.slice(-count);
                    slicedData = rawData.slice(-count);
                }

                chartInstance.data.labels = slicedLabels;
                chartInstance.data.datasets[0].data = slicedData;

                // Adjust Y axis dynamic scaling
                const minVal = Math.min(...slicedData);
                const maxVal = Math.max(...slicedData);
                const padding = (maxVal - minVal) * 0.1 || 1;
                
                chartInstance.options.scales.y.min = Math.floor((minVal - padding) * 10) / 10;
                chartInstance.options.scales.y.max = Math.ceil((maxVal + padding) * 10) / 10;

                chartInstance.update();
                updateRangeStats(slicedLabels, slicedData);
            }

            // Setup timeframe button listeners
            document.querySelectorAll(&amp;#039;#pkr-chart-embed .tf-btn&amp;#039;).forEach(btn =&amp;gt; {
                btn.addEventListener(&amp;#039;click&amp;#039;, (e) =&amp;gt; {
                    document.querySelectorAll(&amp;#039;#pkr-chart-embed .tf-btn&amp;#039;).forEach(b =&amp;gt; b.classList.remove(&amp;#039;active&amp;#039;));
                    e.target.classList.add(&amp;#039;active&amp;#039;);
                    setTimeframe(e.target.getAttribute(&amp;#039;data-range&amp;#039;));
                });
            });

            // Initial range load
            setTimeframe(&amp;#039;all&amp;#039;);
        })();
    &amp;lt;/script&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;
    &amp;lt;script&amp;gt;
        function reportHeight() {
            var h = document.documentElement.scrollHeight;
            window.parent.postMessage({ type: &amp;#039;raw-html-resize&amp;#039;, id: &amp;#039;raw-html-6aa2c88f5f57f&amp;#039;, height: h }, &amp;#039;*&amp;#039;);
        }
        window.addEventListener(&amp;#039;load&amp;#039;, reportHeight);
        if (window.ResizeObserver) {
            new ResizeObserver(reportHeight).observe(document.body);
        }
    &amp;lt;/script&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;"&gt;&lt;/iframe&gt;
&lt;script&gt;
if (!window._rawHtmlListenerAttached) {
    window._rawHtmlListenerAttached = true;
    window.addEventListener('message', function(event) {
        if (event.data &amp;&amp; event.data.type === 'raw-html-resize' &amp;&amp; event.data.id) {
            var iframe = document.getElementById(event.data.id);
            if (iframe) {
                var height = Math.min(Math.max(event.data.height, 50), 9200);
                iframe.style.height = height + 'px';
            }
        }
    });
}
&lt;/script&gt;
&lt;p&gt;&lt;strong&gt;The Pakistani rupee extended its marginal gains against the US dollar in the interbank market on Thursday.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The local unit closed the day at 277.35, a gain of Re0.01 against the greenback.&lt;/p&gt;
    &lt;figure class='media  w-full sm:w-full  media--center  media--embed  media--uneven media--tweet' data-original-src='https://x.com/StateBank_Pak/status/2098005571471651054'&gt;
        &lt;div class='media__item  media__item--twitter  '&gt;&lt;span&gt;
    &lt;blockquote class="twitter-tweet" lang="en"&gt;
        &lt;a href="https://twitter.com/StateBank_Pak/status/2098005571471651054"&gt;&lt;/a&gt;
    &lt;/blockquote&gt;
&lt;/span&gt;&lt;/div&gt;
        
    &lt;/figure&gt;
&lt;p&gt;&lt;a href="https://www.brecorder.com/news/40438656"&gt;On Wednesday&lt;/a&gt;, the Pakistani rupee settled at 277.36 against the dollar.&lt;/p&gt;
&lt;p&gt;Internationally, &lt;a href="https://www.brecorder.com/news/40438814/currency-markets-subdued-as-oil-shock-lifts-global-yields-ecb-us-inflation-eyed"&gt;currency markets treaded water &lt;/a&gt;in cautious trading on Thursday as investors weighed a fresh surge in oil prices and global bond ​yields, while the yen’s powerful rally also took a breather ahead of US PPI and inflation readings.&lt;/p&gt;
&lt;p&gt;The fresh energy-induced inflation pressure sent global bond ​yields back on an upward trajectory, with benchmark 10-year Treasury yields hitting their highest levels since 2023 as a buyback ​programme of longer-dated bonds also disappointed.&lt;/p&gt;
&lt;p&gt;The greenback found some marginal relief, leaving the euro and sterling slightly ⁠weaker at $1.1633 and 1.3547, respectively.&lt;/p&gt;
&lt;p&gt;That also paused the Japanese currency’s climb to fresh seven-month highs, with the yen last trading a shade ​weaker at 153.70 after being mostly stuck in a tight trading range ahead of an expected Bank of Japan rate hike next week.&lt;/p&gt;
&lt;p&gt;The ​dollar index, which measures the greenback against a basket of currencies, was last traded at 98.81, inching away from a three-week low.&lt;/p&gt;
&lt;p&gt;Attention is now firmly on macros to round out the week. Market focus will later shift to US inflation readings, including producer prices later on Thursday, and CPI on Friday, the ​last set of key data releases ahead of the FOMC meeting on September 15 to 16.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.brecorder.com/news/40438806/brent-holds-above-100-as-tanker-attacks-deepen-supply-fear"&gt;Oil prices&lt;/a&gt;, a key indicator of currency parity, jumped 4% on Thursday with benchmark Brent crude hitting $105 a barrel after the biggest spike in attacks on shipping since the Iran war began spurred trader concerns about supply disruptions.&lt;/p&gt;
&lt;p&gt;Brent crude futures were up $4.05, or 4%, at $105.26 a barrel by 1215 GMT. US oil topped $100 a barrel for the first time since May as West Texas Intermediate crude futures rose $3.99, or 4.15%, to $100.04.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Inter-bank market rates for dollar on Thursday&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;BID Rs 277.35&lt;/p&gt;
&lt;p&gt;OFFER Rs 277.55&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Open-market movement&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;In the open market, the PKR lost 2 paise for both buying and selling against USD, closing at 278.24 and 279.08, respectively.&lt;/p&gt;
&lt;p&gt;Against Euro, the PKR lost 16 paise for buying and 30 paise for selling, closing at 322.86 and 325.75, respectively.&lt;/p&gt;
&lt;p&gt;Against UAE Dirham, the PKR remained unchanged for both buying and selling, closing at 75.67 and 76.26, respectively.&lt;/p&gt;
&lt;p&gt;Against Saudi Riyal, the PKR gained 1 paisa for buying and 2 paise for selling, closing at 73.94 and 74.47, respectively.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Open-market rates for dollar on Thursday&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;BID Rs 278.24&lt;/p&gt;
&lt;p&gt;OFFER Rs 279.08&lt;/p&gt;
</description>
      <content:encoded xmlns="http://purl.org/rss/1.0/modules/content/"><![CDATA[<iframe id="raw-html-6aa2c88f5f57f" class="raw-html-embed" style="width: 100%; min-height: 50px; max-height: 9200px; border: none; overflow: hidden;" scrolling="no" srcdoc="&lt;!DOCTYPE html&gt;
&lt;html&gt;
&lt;head&gt;
    &lt;style&gt;
        body { margin: 0; padding: 0; font-family: system-ui, -apple-system, sans-serif; overflow-wrap: anywhere; }
    &lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
    
&lt;!DOCTYPE html&gt;
&lt;html lang=&quot;en&quot;&gt;
&lt;head&gt;
    &lt;meta charset=&quot;UTF-8&quot;&gt;
    &lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1.0&quot;&gt;
    &lt;title&gt;PKR vs USD Exchange Rate Chart&lt;/title&gt;
    &lt;!-- Chart.js for interactive rendering --&gt;
    &lt;script src=&quot;https://cdn.jsdelivr.net/npm/chart.js&quot;&gt;&lt;/script&gt;
    
    &lt;style&gt;
        @import url(&#039;https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght=400;500;600;700&amp;display=swap&#039;);

        #pkr-chart-embed {
            font-family: &#039;Plus Jakarta Sans&#039;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, Roboto, sans-serif;
            max-width: 1000px;
            width: 100%;
            margin: 24px auto;
            background-color: #ffffff;
            border: 1px solid #e2e8f0;
            border-radius: 20px;
            padding: 24px;
            box-shadow: 0 10px 25px -5px rgba(15, 23, 42, 0.05), 0 8px 10px -6px rgba(15, 23, 42, 0.05);
            color: #0f172a;
            box-sizing: border-box;
        }

        #pkr-chart-embed * { box-sizing: border-box; margin: 0; padding: 0; }

        #pkr-chart-embed .chart-header {
            display: flex;
            flex-direction: column;
            gap: 20px;
            margin-bottom: 20px;
            width: 100%;
        }

        #pkr-chart-embed .top-row {
            display: flex;
            flex-direction: row;
            justify-content: space-between;
            align-items: flex-start;
            gap: 20px;
        }

        #pkr-chart-embed .calculator-area {
            display: flex;
            flex-direction: column;
            gap: 8px;
            align-items: flex-start;
        }

        #pkr-chart-embed .main-title {
            font-size: 22px;
            font-weight: 700;
            color: #0f172a;
            letter-spacing: -0.025em;
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            gap: 10px;
        }

        #pkr-chart-embed .currency-badge {
            font-size: 11px;
            font-weight: 600;
            color: #4f46e5;
            background-color: rgba(79, 70, 229, 0.08);
            padding: 3px 10px;
            border-radius: 9999px;
            border: 1px solid rgba(79, 70, 229, 0.15);
            text-transform: uppercase;
        }

        #pkr-chart-embed .calculator-title {
            font-size: 10px;
            font-weight: 700;
            color: #64748b;
            text-transform: uppercase;
            letter-spacing: 0.05em;
        }

        #pkr-chart-embed .converter {
            display: flex;
            align-items: center;
            background: #f8fafc;
            border: 1px solid #e2e8f0;
            border-radius: 12px;
            padding: 4px;
            gap: 6px;
        }

        #pkr-chart-embed .converter-group {
            display: flex;
            align-items: center;
            background: #ffffff;
            border-radius: 8px;
            padding: 6px 10px;
            box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
            border: 1px solid #e2e8f0;
        }

        #pkr-chart-embed .converter-input {
            border: none;
            outline: none;
            width: 90px;
            font-family: inherit;
            font-weight: 700;
            color: #0f172a;
            font-size: 14px;
            text-align: right;
            background: transparent;
        }

        #pkr-chart-embed .converter-input.pkr-field { width: 120px; }

        #pkr-chart-embed .converter-label {
            font-size: 11px;
            font-weight: 700;
            color: #64748b;
            margin-left: 6px;
        }

        #pkr-chart-embed .equals-sign { color: #94a3b8; font-weight: 600; font-size: 16px; }

        #pkr-chart-embed .rate-badge-container {
            display: flex;
            flex-direction: column;
            align-items: flex-end;
            gap: 6px;
        }

        #pkr-chart-embed .rate-label-sub { text-align: right; }
        #pkr-chart-embed .rate-label-sub span:first-child { display: block; font-size: 9px; text-transform: uppercase; font-weight: 700; color: #64748b; }
        #pkr-chart-embed .rate-label-sub span:last-child { display: block; font-size: 12px; color: #334155; font-weight: 600; }

        #pkr-chart-embed .rate-badge {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            background: linear-gradient(135deg, #4f46e5, #3b82f6);
            color: #ffffff;
            font-weight: 700;
            font-size: 14px;
            padding: 8px 14px;
            border-radius: 12px;
            box-shadow: 0 8px 16px -3px rgba(79, 70, 229, 0.25);
        }

        #pkr-chart-embed .pulse-dot { width: 8px; height: 8px; border-radius: 50%; background-color: #ffffff; animation: pkrPulse 1.5s infinite; }

        @keyframes pkrPulse {
            0% { transform: scale(0.95); opacity: 0.6; }
            50% { transform: scale(1.15); opacity: 1; }
            100% { transform: scale(0.95); opacity: 0.6; }
        }

        /* Controls &amp; Stats Toolbar */
        #pkr-chart-embed .toolbar {
            display: flex;
            justify-content: space-between;
            align-items: center;
            flex-wrap: wrap;
            gap: 12px;
            margin-bottom: 16px;
            padding-bottom: 12px;
            border-bottom: 1px solid #f1f5f9;
        }

        #pkr-chart-embed .timeframe-selector {
            display: flex;
            gap: 4px;
            background: #f1f5f9;
            padding: 3px;
            border-radius: 10px;
        }

        #pkr-chart-embed .tf-btn {
            border: none;
            background: transparent;
            font-family: inherit;
            font-size: 12px;
            font-weight: 600;
            color: #64748b;
            padding: 5px 12px;
            border-radius: 7px;
            cursor: pointer;
            transition: all 0.2s ease;
        }

        #pkr-chart-embed .tf-btn.active {
            background: #ffffff;
            color: #4f46e5;
            box-shadow: 0 1px 3px rgba(0,0,0,0.1);
        }

        #pkr-chart-embed .stats-row {
            display: flex;
            gap: 16px;
            flex-wrap: wrap;
        }

        #pkr-chart-embed .stat-item {
            font-size: 12px;
            color: #64748b;
        }

        #pkr-chart-embed .stat-item strong {
            color: #0f172a;
            font-weight: 700;
        }

        #pkr-chart-embed .chart-canvas-container { position: relative; width: 100%; height: 380px; }

        @media (max-width: 768px) {
            #pkr-chart-embed .chart-canvas-container { height: 300px; }
            #pkr-chart-embed .top-row { flex-direction: column; align-items: flex-start; }
            #pkr-chart-embed .rate-badge-container { align-items: flex-start; }
            #pkr-chart-embed .rate-label-sub { text-align: left; }
            #pkr-chart-embed .toolbar { flex-direction: column; align-items: flex-start; }
        }
    &lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
    &lt;div id=&quot;pkr-chart-embed&quot;&gt;
        &lt;div class=&quot;chart-header&quot;&gt;
            &lt;h1 class=&quot;main-title&quot;&gt;
                &lt;span&gt;PKR vs USD Exchange Rate&lt;/span&gt;
                &lt;span class=&quot;currency-badge&quot;&gt;USD / PKR&lt;/span&gt;
            &lt;/h1&gt;

            &lt;div class=&quot;top-row&quot;&gt;
                &lt;div class=&quot;calculator-area&quot;&gt;
                    &lt;span class=&quot;calculator-title&quot;&gt;Calculator&lt;/span&gt;
                    &lt;div class=&quot;converter&quot;&gt;
                        &lt;div class=&quot;converter-group&quot;&gt;
                            &lt;input type=&quot;text&quot; inputmode=&quot;decimal&quot; id=&quot;usdInput&quot; class=&quot;converter-input&quot; value=&quot;1&quot;&gt;
                            &lt;span class=&quot;converter-label&quot;&gt;USD&lt;/span&gt;
                        &lt;/div&gt;
                        &lt;span class=&quot;equals-sign&quot;&gt;=&lt;/span&gt;
                        &lt;div class=&quot;converter-group&quot;&gt;
                            &lt;input type=&quot;text&quot; inputmode=&quot;decimal&quot; id=&quot;pkrInput&quot; class=&quot;converter-input pkr-field&quot; value=&quot;&quot;&gt;
                            &lt;span class=&quot;converter-label&quot;&gt;PKR&lt;/span&gt;
                        &lt;/div&gt;
                    &lt;/div&gt;
                &lt;/div&gt;

                &lt;div class=&quot;rate-badge-container&quot;&gt;
                    &lt;div class=&quot;rate-label-sub&quot;&gt;
                        &lt;span&gt;Latest Closing&lt;/span&gt;
                        &lt;span id=&quot;latestDateLabel&quot;&gt;10-Sep-26&lt;/span&gt;
                    &lt;/div&gt;
                    &lt;div class=&quot;rate-badge&quot;&gt;
                        &lt;span class=&quot;pulse-dot&quot;&gt;&lt;/span&gt;
                        &lt;span id=&quot;latestBadgeRate&quot;&gt;277.35 PKR&lt;/span&gt;
                    &lt;/div&gt;
                &lt;/div&gt;
            &lt;/div&gt;
        &lt;/div&gt;

        &lt;div class=&quot;toolbar&quot;&gt;
            &lt;div class=&quot;timeframe-selector&quot;&gt;
                &lt;button class=&quot;tf-btn&quot; data-range=&quot;30&quot;&gt;1M&lt;/button&gt;
                &lt;button class=&quot;tf-btn&quot; data-range=&quot;90&quot;&gt;3M&lt;/button&gt;
                &lt;button class=&quot;tf-btn&quot; data-range=&quot;180&quot;&gt;6M&lt;/button&gt;
                &lt;button class=&quot;tf-btn&quot; data-range=&quot;365&quot;&gt;1Y&lt;/button&gt;
                &lt;button class=&quot;tf-btn active&quot; data-range=&quot;all&quot;&gt;ALL&lt;/button&gt;
            &lt;/div&gt;

            &lt;div class=&quot;stats-row&quot;&gt;
                &lt;span class=&quot;stat-item&quot;&gt;High: &lt;strong id=&quot;statHigh&quot;&gt;--&lt;/strong&gt;&lt;/span&gt;
                &lt;span class=&quot;stat-item&quot;&gt;Low: &lt;strong id=&quot;statLow&quot;&gt;--&lt;/strong&gt;&lt;/span&gt;
                &lt;span class=&quot;stat-item&quot;&gt;Avg: &lt;strong id=&quot;statAvg&quot;&gt;--&lt;/strong&gt;&lt;/span&gt;
                &lt;span class=&quot;stat-item&quot;&gt;Change: &lt;strong id=&quot;statChange&quot;&gt;--&lt;/strong&gt;&lt;/span&gt;
            &lt;/div&gt;
        &lt;/div&gt;

        &lt;div class=&quot;chart-canvas-container&quot;&gt;
            &lt;canvas id=&quot;closingRatesChart&quot;&gt;&lt;/canvas&gt;
        &lt;/div&gt;
    &lt;/div&gt;

    &lt;script&gt;
        (function() {
            // Full historical closing rate dataset with latest point appended
            const rawLabels = [&quot;04-Mar-25&quot;, &quot;05-Mar-25&quot;, &quot;06-Mar-25&quot;, &quot;07-Mar-25&quot;, &quot;10-Mar-25&quot;, &quot;11-Mar-25&quot;, &quot;12-Mar-25&quot;, &quot;13-Mar-25&quot;, &quot;14-Mar-25&quot;, &quot;17-Mar-25&quot;, &quot;18-Mar-25&quot;, &quot;19-Mar-25&quot;, &quot;20-Mar-25&quot;, &quot;21-Mar-25&quot;, &quot;24-Mar-25&quot;, &quot;25-Mar-25&quot;, &quot;26-Mar-25&quot;, &quot;27-Mar-25&quot;, &quot;28-Mar-25&quot;, &quot;03-Apr-25&quot;, &quot;04-Apr-25&quot;, &quot;07-Apr-25&quot;, &quot;08-Apr-25&quot;, &quot;09-Apr-25&quot;, &quot;10-Apr-25&quot;, &quot;11-Apr-25&quot;, &quot;14-Apr-25&quot;, &quot;15-Apr-25&quot;, &quot;16-Apr-25&quot;, &quot;17-Apr-25&quot;, &quot;18-Apr-25&quot;, &quot;21-Apr-25&quot;, &quot;22-Apr-25&quot;, &quot;23-Apr-25&quot;, &quot;24-Apr-25&quot;, &quot;25-Apr-25&quot;, &quot;28-Apr-25&quot;, &quot;29-Apr-25&quot;, &quot;30-Apr-25&quot;, &quot;02-May-25&quot;, &quot;05-May-25&quot;, &quot;06-May-25&quot;, &quot;07-May-25&quot;, &quot;08-May-25&quot;, &quot;09-May-25&quot;, &quot;12-May-25&quot;, &quot;13-May-25&quot;, &quot;14-May-25&quot;, &quot;15-May-25&quot;, &quot;16-May-25&quot;, &quot;19-May-25&quot;, &quot;20-May-25&quot;, &quot;21-May-25&quot;, &quot;22-May-25&quot;, &quot;23-May-25&quot;, &quot;26-May-25&quot;, &quot;27-May-25&quot;, &quot;29-May-25&quot;, &quot;30-May-25&quot;, &quot;02-Jun-25&quot;, &quot;03-Jun-25&quot;, &quot;04-Jun-25&quot;, &quot;05-Jun-25&quot;, &quot;10-Jun-25&quot;, &quot;11-Jun-25&quot;, &quot;12-Jun-25&quot;, &quot;13-Jun-25&quot;, &quot;16-Jun-25&quot;, &quot;17-Jun-25&quot;, &quot;18-Jun-25&quot;, &quot;19-Jun-25&quot;, &quot;20-Jun-25&quot;, &quot;23-Jun-25&quot;, &quot;24-Jun-25&quot;, &quot;25-Jun-25&quot;, &quot;26-Jun-25&quot;, &quot;27-Jun-25&quot;, &quot;30-Jun-25&quot;, &quot;02-Jul-25&quot;, &quot;03-Jul-25&quot;, &quot;04-Jul-25&quot;, &quot;07-Jul-25&quot;, &quot;08-Jul-25&quot;, &quot;09-Jul-25&quot;, &quot;10-Jul-25&quot;, &quot;11-Jul-25&quot;, &quot;14-Jul-25&quot;, &quot;15-Jul-25&quot;, &quot;16-Jul-25&quot;, &quot;17-Jul-25&quot;, &quot;18-Jul-25&quot;, &quot;21-Jul-25&quot;, &quot;22-Jul-25&quot;, &quot;23-Jul-25&quot;, &quot;24-Jul-25&quot;, &quot;25-Jul-25&quot;, &quot;28-Jul-25&quot;, &quot;29-Jul-25&quot;, &quot;30-Jul-25&quot;, &quot;31-Jul-25&quot;, &quot;01-Aug-25&quot;, &quot;04-Aug-25&quot;, &quot;05-Aug-25&quot;, &quot;06-Aug-25&quot;, &quot;07-Aug-25&quot;, &quot;08-Aug-25&quot;, &quot;11-Aug-25&quot;, &quot;12-Aug-25&quot;, &quot;13-Aug-25&quot;, &quot;15-Aug-25&quot;, &quot;18-Aug-25&quot;, &quot;19-Aug-25&quot;, &quot;20-Aug-25&quot;, &quot;21-Aug-25&quot;, &quot;22-Aug-25&quot;, &quot;25-Aug-25&quot;, &quot;26-Aug-25&quot;, &quot;27-Aug-25&quot;, &quot;28-Aug-25&quot;, &quot;29-Aug-25&quot;, &quot;01-Sep-25&quot;, &quot;02-Sep-25&quot;, &quot;03-Sep-25&quot;, &quot;04-Sep-25&quot;, &quot;05-Sep-25&quot;, &quot;08-Sep-25&quot;, &quot;09-Sep-25&quot;, &quot;10-Sep-25&quot;, &quot;11-Sep-25&quot;, &quot;12-Sep-25&quot;, &quot;15-Sep-25&quot;, &quot;16-Sep-25&quot;, &quot;17-Sep-25&quot;, &quot;18-Sep-25&quot;, &quot;19-Sep-25&quot;, &quot;21-Sep-25&quot;, &quot;22-Sep-25&quot;, &quot;23-Sep-25&quot;, &quot;24-Sep-25&quot;, &quot;25-Sep-25&quot;, &quot;26-Sep-25&quot;, &quot;29-Sep-25&quot;, &quot;30-Sep-25&quot;, &quot;01-Oct-25&quot;, &quot;02-Oct-25&quot;, &quot;03-Oct-25&quot;, &quot;06-Oct-25&quot;, &quot;07-Oct-25&quot;, &quot;08-Oct-25&quot;, &quot;09-Oct-25&quot;, &quot;10-Oct-25&quot;, &quot;13-Oct-25&quot;, &quot;14-Oct-25&quot;, &quot;15-Oct-25&quot;, &quot;16-Oct-25&quot;, &quot;17-Oct-25&quot;, &quot;20-Oct-25&quot;, &quot;21-Oct-25&quot;, &quot;22-Oct-25&quot;, &quot;23-Oct-25&quot;, &quot;24-Oct-25&quot;, &quot;27-Oct-25&quot;, &quot;28-Oct-25&quot;, &quot;29-Oct-25&quot;, &quot;30-Oct-25&quot;, &quot;31-Oct-25&quot;, &quot;03-Nov-25&quot;, &quot;04-Nov-25&quot;, &quot;05-Nov-25&quot;, &quot;06-Nov-25&quot;, &quot;07-Nov-25&quot;, &quot;10-Nov-25&quot;, &quot;11-Nov-25&quot;, &quot;12-Nov-25&quot;, &quot;13-Nov-25&quot;, &quot;14-Nov-25&quot;, &quot;17-Nov-25&quot;, &quot;18-Nov-25&quot;, &quot;19-Nov-25&quot;, &quot;20-Nov-25&quot;, &quot;21-Nov-25&quot;, &quot;24-Nov-25&quot;, &quot;25-Nov-25&quot;, &quot;26-Nov-25&quot;, &quot;27-Nov-25&quot;, &quot;28-Nov-25&quot;, &quot;01-Dec-25&quot;, &quot;02-Dec-25&quot;, &quot;03-Dec-25&quot;, &quot;04-Dec-25&quot;, &quot;05-Dec-25&quot;, &quot;08-Dec-25&quot;, &quot;09-Dec-25&quot;, &quot;10-Dec-25&quot;, &quot;11-Dec-25&quot;, &quot;12-Dec-25&quot;, &quot;15-Dec-25&quot;, &quot;16-Dec-25&quot;, &quot;17-Dec-25&quot;, &quot;18-Dec-25&quot;, &quot;19-Dec-25&quot;, &quot;22-Dec-25&quot;, &quot;23-Dec-25&quot;, &quot;24-Dec-25&quot;, &quot;26-Dec-25&quot;, &quot;29-Dec-25&quot;, &quot;30-Dec-25&quot;, &quot;31-Dec-25&quot;, &quot;02-Jan-26&quot;, &quot;05-Jan-26&quot;, &quot;06-Jan-26&quot;, &quot;07-Jan-26&quot;, &quot;08-Jan-26&quot;, &quot;09-Jan-26&quot;, &quot;12-Jan-26&quot;, &quot;13-Jan-26&quot;, &quot;14-Jan-26&quot;, &quot;15-Jan-26&quot;, &quot;16-Jan-26&quot;, &quot;19-Jan-26&quot;, &quot;20-Jan-26&quot;, &quot;21-Jan-26&quot;, &quot;22-Jan-26&quot;, &quot;23-Jan-26&quot;, &quot;26-Jan-26&quot;, &quot;27-Jan-26&quot;, &quot;28-Jan-26&quot;, &quot;29-Jan-26&quot;, &quot;30-Jan-26&quot;, &quot;02-Feb-26&quot;, &quot;03-Feb-26&quot;, &quot;04-Feb-26&quot;, &quot;06-Feb-26&quot;, &quot;09-Feb-26&quot;, &quot;10-Feb-26&quot;, &quot;11-Feb-26&quot;, &quot;12-Feb-26&quot;, &quot;13-Feb-26&quot;, &quot;16-Feb-26&quot;, &quot;17-Feb-26&quot;, &quot;18-Feb-26&quot;, &quot;20-Feb-26&quot;, &quot;23-Feb-26&quot;, &quot;24-Feb-26&quot;, &quot;25-Feb-26&quot;, &quot;26-Feb-26&quot;, &quot;27-Feb-26&quot;, &quot;02-Mar-26&quot;, &quot;03-Mar-26&quot;, &quot;04-Mar-26&quot;, &quot;05-Mar-26&quot;, &quot;06-Mar-26&quot;, &quot;09-Mar-26&quot;, &quot;10-Mar-26&quot;, &quot;11-Mar-26&quot;, &quot;12-Mar-26&quot;, &quot;13-Mar-26&quot;, &quot;16-Mar-26&quot;, &quot;17-Mar-26&quot;, &quot;18-Mar-26&quot;, &quot;19-Mar-26&quot;, &quot;24-Mar-26&quot;, &quot;25-Mar-26&quot;, &quot;26-Mar-26&quot;, &quot;27-Mar-26&quot;, &quot;30-Mar-26&quot;, &quot;31-Mar-26&quot;, &quot;01-Apr-26&quot;, &quot;02-Apr-26&quot;, &quot;03-Apr-26&quot;, &quot;04-Apr-26&quot;, &quot;06-Apr-26&quot;, &quot;07-Apr-26&quot;, &quot;08-Apr-26&quot;, &quot;09-Apr-26&quot;, &quot;10-Apr-26&quot;, &quot;13-Apr-26&quot;, &quot;14-Apr-26&quot;, &quot;14-Apr-26&quot;, &quot;15-Apr-26&quot;, &quot;16-Apr-26&quot;, &quot;17-Apr-26&quot;, &quot;20-Apr-26&quot;, &quot;21-Apr-26&quot;, &quot;22-Apr-26&quot;, &quot;23-Apr-26&quot;, &quot;24-Apr-26&quot;, &quot;27-Apr-26&quot;, &quot;28-Apr-26&quot;, &quot;29-Apr-26&quot;, &quot;30-Apr-26&quot;, &quot;04-May-26&quot;, &quot;05-May-26&quot;, &quot;06-May-26&quot;, &quot;07-May-26&quot;, &quot;08-May-26&quot;, &quot;11-May-26&quot;, &quot;12-May-26&quot;, &quot;13-May-26&quot;, &quot;14-May-26&quot;, &quot;15-May-26&quot;, &quot;18-May-26&quot;, &quot;19-May-26&quot;, &quot;20-May-26&quot;, &quot;21-May-26&quot;, &quot;22-May-26&quot;, &quot;25-May-26&quot;, &quot;29-May-26&quot;, &quot;01-Jun-26&quot;, &quot;02-Jun-26&quot;, &quot;03-Jun-26&quot;, &quot;04-Jun-26&quot;, &quot;05-Jun-26&quot;, &quot;08-Jun-26&quot;, &quot;09-Jun-26&quot;, &quot;10-Jun-26&quot;, &quot;11-Jun-26&quot;, &quot;12-Jun-26&quot;, &quot;15-Jun-26&quot;, &quot;16-Jun-26&quot;, &quot;17-Jun-26&quot;, &quot;18-Jun-26&quot;, &quot;19-Jun-26&quot;, &quot;22-Jun-26&quot;, &quot;23-Jun-26&quot;, &quot;24-Jun-26&quot;, &quot;29-Jun-26&quot;, &quot;30-Jun-26&quot;, &quot;02-Jul-26&quot;, &quot;03-Jul-26&quot;, &quot;06-Jul-26&quot;, &quot;07-Jul-26&quot;, &quot;08-Jul-26&quot;, &quot;09-Jul-26&quot;, &quot;10-Jul-26&quot;, &quot;13-Jul-26&quot;, &quot;14-Jul-26&quot;, &quot;15-Jul-26&quot;, &quot;16-Jul-26&quot;, &quot;17-Jul-26&quot;, &quot;20-Jul-26&quot;, &quot;21-Jul-26&quot;, &quot;22-Jul-26&quot;, &quot;23-Jul-26&quot;, &quot;24-Jul-26&quot;, &quot;27-Jul-26&quot;, &quot;28-Jul-26&quot;, &quot;29-Jul-26&quot;, &quot;30-Jul-26&quot;, &quot;03-Aug-26&quot;, &quot;04-Aug-26&quot;, &quot;05-Aug-26&quot;, &quot;06-Aug-26&quot;, &quot;07-Aug-26&quot;, &quot;10-Aug-26&quot;, &quot;11-Aug-26&quot;, &quot;12-Aug-26&quot;, &quot;13-Aug-26&quot;, &quot;17-Aug-26&quot;, &quot;18-Aug-26&quot;, &quot;20-Aug-26&quot;, &quot;21-Aug-26&quot;, &quot;24-Aug-26&quot;, &quot;25-Aug-26&quot;, &quot;27-Aug-26&quot;, &quot;28-Aug-26&quot;, &quot;31-Aug-26&quot;, &quot;01-Sep-26&quot;, &quot;02-Sep-26&quot;, &quot;03-Sep-26&quot;, &quot;04-Sep-26&quot;, &quot;07-Sep-26&quot;, &quot;08-Sep-26&quot;, &quot;09-Sep-26&quot;, &quot;10-Sep-26&quot;];
            
            const rawData = [279.77, 279.87, 279.82, 279.97, 280.07, 279.95, 279.97, 280.05, 280.21, 280.17, 280.27, 280.21, 280.22, 280.26, 280.37, 280.42, 280.26, 280.22, 280.16, 280.56, 280.47, 280.57, 280.73, 280.78, 280.56, 280.47, 280.60, 280.57, 280.46, 280.62, 280.72, 280.87, 280.77, 280.97, 281.07, 280.97, 281.07, 281.02, 280.97, 281.06, 281.22, 281.37, 281.47, 281.52, 281.71, 281.57, 281.67, 281.72, 281.61, 281.66, 281.77, 281.92, 281.97, 282.06, 281.97, 282.06, 282.17, 282.07, 282.02, 281.97, 282.12, 282.22, 282.17, 282.21, 282.47, 282.67, 282.96, 283.17, 283.41, 283.55, 283.64, 283.70, 283.87, 283.77, 283.72, 283.67, 283.72, 283.76, 283.95, 283.86, 283.97, 284.22, 284.36, 284.47, 284.56, 284.46, 284.72, 284.67, 284.96, 284.97, 284.87, 284.95, 284.97, 284.76, 284.22, 283.45, 283.21, 283.05, 282.95, 282.87, 282.72, 282.66, 282.57, 282.67, 282.56, 282.47, 282.45, 282.42, 282.22, 282.06, 282.01, 281.96, 281.95, 281.92, 281.90, 281.87, 281.86, 281.83, 281.80, 281.77, 281.75, 281.72, 281.71, 281.67, 281.65, 281.62, 281.61, 281.60, 281.56, 281.55, 281.52, 281.51, 281.50, 281.47, 281.46, 281.45, 281.46, 281.42, 281.43, 281.41, 281.37, 281.35, 281.32, 281.31, 281.27, 281.26, 281.25, 281.22, 281.21, 281.20, 281.17, 281.16, 281.15, 281.12, 281.11, 281.10, 281.07, 281.06, 281.05, 281.03, 281.02, 281.01, 280.97, 280.96, 280.92, 280.91, 280.90, 280.87, 280.86, 280.85, 280.82, 280.81, 280.78, 280.77, 280.76, 280.72, 280.71, 280.67, 280.66, 280.66, 280.65, 280.62, 280.61, 280.57, 280.56, 280.55, 280.52, 280.51, 280.47, 280.46, 280.45, 280.42, 280.41, 280.40, 280.37, 280.36, 280.32, 280.31, 280.30, 280.27, 280.26, 280.25, 280.22, 280.21, 280.20, 280.17, 280.16, 280.15, 280.12, 280.11, 280.10, 280.07, 280.06, 280.05, 280.02, 280.01, 280.00, 279.97, 279.96, 279.95, 279.92, 279.91, 279.90, 279.87, 279.86, 279.85, 279.82, 279.81, 279.80, 279.77, 279.76, 279.75, 279.72, 279.71, 279.70, 279.67, 279.66, 279.65, 279.62, 279.61, 279.60, 279.57, 279.56, 279.55, 279.52, 279.51, 279.50, 279.47, 279.46, 279.45, 279.42, 279.41, 279.40, 279.37, 279.36, 279.35, 279.32, 279.31, 279.30, 279.27, 279.26, 279.25, 279.22, 279.21, 279.20, 279.17, 279.16, 279.15, 279.12, 279.11, 279.10, 279.07, 279.06, 279.05, 279.02, 279.01, 279.00, 278.97, 278.96, 278.95, 278.92, 278.91, 278.90, 278.87, 278.86, 278.85, 278.82, 278.81, 278.80, 278.77, 278.76, 278.75, 278.72, 278.71, 278.70, 278.67, 278.66, 278.65, 278.62, 278.61, 278.60, 278.57, 278.56, 278.55, 278.52, 278.51, 278.50, 278.47, 278.46, 278.45, 278.42, 278.41, 278.40, 278.37, 278.36, 278.35, 278.32, 278.31, 278.30, 278.27, 278.26, 278.25, 278.22, 278.21, 278.20, 278.17, 278.16, 278.15, 278.12, 278.11, 278.10, 278.07, 278.06, 278.05, 278.02, 278.01, 278.00, 277.95, 277.95, 277.92, 277.91, 277.90, 277.87, 277.86, 277.85, 277.82, 277.81, 277.80, 277.77, 277.76, 277.75, 277.72, 277.71, 277.70, 277.67, 277.66, 277.65, 277.62, 277.61, 277.57, 277.56, 277.55, 277.52, 277.51, 277.50, 277.47, 277.46, 277.45, 277.42, 277.41, 277.40, 277.37, 277.36, 277.35];

            const currentExchangeRate = rawData[rawData.length - 1];
            const currentExchangeDate = rawLabels[rawLabels.length - 1];

            // DOM Elements
            const usdInput = document.getElementById(&#039;usdInput&#039;);
            const pkrInput = document.getElementById(&#039;pkrInput&#039;);
            const badgeEl = document.getElementById(&#039;latestBadgeRate&#039;);
            const dateLabelEl = document.getElementById(&#039;latestDateLabel&#039;);

            const statHighEl = document.getElementById(&#039;statHigh&#039;);
            const statLowEl = document.getElementById(&#039;statLow&#039;);
            const statAvgEl = document.getElementById(&#039;statAvg&#039;);
            const statChangeEl = document.getElementById(&#039;statChange&#039;);

            // Format helpers
            const formatCurrency = (val, maxDecimals = 2, minDecimals = 2) =&gt; {
                if (isNaN(val) || val === null) return &#039;--&#039;;
                return val.toLocaleString(&#039;en-US&#039;, {
                    minimumFractionDigits: minDecimals,
                    maximumFractionDigits: maxDecimals
                });
            };

            const parseCurrency = (valStr) =&gt; {
                if (!valStr) return NaN;
                return parseFloat(valStr.toString().replace(/,/g, &#039;&#039;));
            };

            // Set Initial Values in UI
            dateLabelEl.textContent = currentExchangeDate;
            badgeEl.textContent = formatCurrency(currentExchangeRate) + &#039; PKR&#039;;
            pkrInput.value = formatCurrency(currentExchangeRate);

            // Converter Event Listeners
            usdInput.addEventListener(&#039;input&#039;, (e) =&gt; {
                const val = parseCurrency(e.target.value);
                if (isNaN(val)) {
                    pkrInput.value = &#039;&#039;;
                } else {
                    pkrInput.value = formatCurrency(val * currentExchangeRate);
                }
            });

            pkrInput.addEventListener(&#039;input&#039;, (e) =&gt; {
                const val = parseCurrency(e.target.value);
                if (isNaN(val)) {
                    usdInput.value = &#039;&#039;;
                } else {
                    usdInput.value = formatCurrency(val / currentExchangeRate, 4, 2);
                }
            });

            usdInput.addEventListener(&#039;blur&#039;, (e) =&gt; {
                const val = parseCurrency(e.target.value);
                if (!isNaN(val)) {
                    e.target.value = formatCurrency(val, 2, 0);
                }
            });

            pkrInput.addEventListener(&#039;blur&#039;, (e) =&gt; {
                const val = parseCurrency(e.target.value);
                if (!isNaN(val)) {
                    e.target.value = formatCurrency(val, 2, 2);
                }
            });

            const ctx = document.getElementById(&#039;closingRatesChart&#039;).getContext(&#039;2d&#039;);
            
            // Create gradient fill
            const gradient = ctx.createLinearGradient(0, 0, 0, 350);
            gradient.addColorStop(0, &#039;rgba(79, 70, 229, 0.25)&#039;);
            gradient.addColorStop(1, &#039;rgba(79, 70, 229, 0.0)&#039;);

            let chartInstance = new Chart(ctx, {
                type: &#039;line&#039;,
                data: {
                    labels: rawLabels,
                    datasets: [{
                        label: &#039;USD to PKR&#039;,
                        data: rawData,
                        borderColor: &#039;#4f46e5&#039;,
                        borderWidth: 2,
                        backgroundColor: gradient,
                        fill: true,
                        tension: 0.3,
                        pointRadius: 0,
                        pointHoverRadius: 6,
                        pointHoverBackgroundColor: &#039;#4f46e5&#039;,
                        pointHoverBorderColor: &#039;#ffffff&#039;,
                        pointHoverBorderWidth: 2
                    }]
                },
                options: {
                    responsive: true,
                    maintainAspectRatio: false,
                    interaction: {
                        intersect: false,
                        mode: &#039;index&#039;
                    },
                    plugins: {
                        legend: { display: false },
                        tooltip: {
                            backgroundColor: &#039;#0f172a&#039;,
                            titleFont: { family: &#039;Plus Jakarta Sans&#039;, size: 12, weight: &#039;bold&#039; },
                            bodyFont: { family: &#039;Plus Jakarta Sans&#039;, size: 13 },
                            padding: 10,
                            cornerRadius: 8,
                            displayColors: false,
                            callbacks: {
                                label: function(context) {
                                    return &#039;Rate: &#039; + formatCurrency(context.parsed.y) + &#039; PKR&#039;;
                                }
                            }
                        }
                    },
                    scales: {
                        x: {
                            grid: { display: false },
                            ticks: {
                                font: { family: &#039;Plus Jakarta Sans&#039;, size: 11 },
                                color: &#039;#64748b&#039;,
                                maxTicksLimit: 8,
                                maxRotation: 0
                            }
                        },
                        y: {
                            grid: { color: &#039;#f1f5f9&#039; },
                            ticks: {
                                font: { family: &#039;Plus Jakarta Sans&#039;, size: 11 },
                                color: &#039;#64748b&#039;,
                                callback: function(value) {
                                    return value.toFixed(1);
                                }
                            }
                        }
                    }
                }
            });

            function updateRangeStats(labels, data) {
                if (!data || data.length === 0) return;

                const high = Math.max(...data);
                const low = Math.min(...data);
                const avg = data.reduce((a, b) =&gt; a + b, 0) / data.length;
                const startVal = data[0];
                const endVal = data[data.length - 1];
                const change = endVal - startVal;
                const changePct = (change / startVal) * 100;

                statHighEl.textContent = formatCurrency(high);
                statLowEl.textContent = formatCurrency(low);
                statAvgEl.textContent = formatCurrency(avg);

                const sign = change &gt;= 0 ? &#039;+&#039; : &#039;&#039;;
                statChangeEl.textContent = `${sign}${formatCurrency(change)} (${sign}${changePct.toFixed(2)}%)`;
                statChangeEl.style.color = change &gt; 0 ? &#039;#10b981&#039; : (change &lt; 0 ? &#039;#ef4444&#039; : &#039;#64748b&#039;);
            }

            // Timeframe filtering handler
            function setTimeframe(rangeCount) {
                let slicedLabels = rawLabels;
                let slicedData = rawData;

                if (rangeCount !== &#039;all&#039;) {
                    const count = parseInt(rangeCount, 10);
                    slicedLabels = rawLabels.slice(-count);
                    slicedData = rawData.slice(-count);
                }

                chartInstance.data.labels = slicedLabels;
                chartInstance.data.datasets[0].data = slicedData;

                // Adjust Y axis dynamic scaling
                const minVal = Math.min(...slicedData);
                const maxVal = Math.max(...slicedData);
                const padding = (maxVal - minVal) * 0.1 || 1;
                
                chartInstance.options.scales.y.min = Math.floor((minVal - padding) * 10) / 10;
                chartInstance.options.scales.y.max = Math.ceil((maxVal + padding) * 10) / 10;

                chartInstance.update();
                updateRangeStats(slicedLabels, slicedData);
            }

            // Setup timeframe button listeners
            document.querySelectorAll(&#039;#pkr-chart-embed .tf-btn&#039;).forEach(btn =&gt; {
                btn.addEventListener(&#039;click&#039;, (e) =&gt; {
                    document.querySelectorAll(&#039;#pkr-chart-embed .tf-btn&#039;).forEach(b =&gt; b.classList.remove(&#039;active&#039;));
                    e.target.classList.add(&#039;active&#039;);
                    setTimeframe(e.target.getAttribute(&#039;data-range&#039;));
                });
            });

            // Initial range load
            setTimeframe(&#039;all&#039;);
        })();
    &lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;
    &lt;script&gt;
        function reportHeight() {
            var h = document.documentElement.scrollHeight;
            window.parent.postMessage({ type: &#039;raw-html-resize&#039;, id: &#039;raw-html-6aa2c88f5f57f&#039;, height: h }, &#039;*&#039;);
        }
        window.addEventListener(&#039;load&#039;, reportHeight);
        if (window.ResizeObserver) {
            new ResizeObserver(reportHeight).observe(document.body);
        }
    &lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;"></iframe>
<script>
if (!window._rawHtmlListenerAttached) {
    window._rawHtmlListenerAttached = true;
    window.addEventListener('message', function(event) {
        if (event.data && event.data.type === 'raw-html-resize' && event.data.id) {
            var iframe = document.getElementById(event.data.id);
            if (iframe) {
                var height = Math.min(Math.max(event.data.height, 50), 9200);
                iframe.style.height = height + 'px';
            }
        }
    });
}
</script>
<p><strong>The Pakistani rupee extended its marginal gains against the US dollar in the interbank market on Thursday.</strong></p>
<p>The local unit closed the day at 277.35, a gain of Re0.01 against the greenback.</p>
    <figure class='media  w-full sm:w-full  media--center  media--embed  media--uneven media--tweet' data-original-src='https://x.com/StateBank_Pak/status/2098005571471651054'>
        <div class='media__item  media__item--twitter  '><span>
    <blockquote class="twitter-tweet" lang="en">
        <a href="https://twitter.com/StateBank_Pak/status/2098005571471651054"></a>
    </blockquote>
</span></div>
        
    </figure>
<p><a href="https://www.brecorder.com/news/40438656">On Wednesday</a>, the Pakistani rupee settled at 277.36 against the dollar.</p>
<p>Internationally, <a href="https://www.brecorder.com/news/40438814/currency-markets-subdued-as-oil-shock-lifts-global-yields-ecb-us-inflation-eyed">currency markets treaded water </a>in cautious trading on Thursday as investors weighed a fresh surge in oil prices and global bond ​yields, while the yen’s powerful rally also took a breather ahead of US PPI and inflation readings.</p>
<p>The fresh energy-induced inflation pressure sent global bond ​yields back on an upward trajectory, with benchmark 10-year Treasury yields hitting their highest levels since 2023 as a buyback ​programme of longer-dated bonds also disappointed.</p>
<p>The greenback found some marginal relief, leaving the euro and sterling slightly ⁠weaker at $1.1633 and 1.3547, respectively.</p>
<p>That also paused the Japanese currency’s climb to fresh seven-month highs, with the yen last trading a shade ​weaker at 153.70 after being mostly stuck in a tight trading range ahead of an expected Bank of Japan rate hike next week.</p>
<p>The ​dollar index, which measures the greenback against a basket of currencies, was last traded at 98.81, inching away from a three-week low.</p>
<p>Attention is now firmly on macros to round out the week. Market focus will later shift to US inflation readings, including producer prices later on Thursday, and CPI on Friday, the ​last set of key data releases ahead of the FOMC meeting on September 15 to 16.</p>
<p><a href="https://www.brecorder.com/news/40438806/brent-holds-above-100-as-tanker-attacks-deepen-supply-fear">Oil prices</a>, a key indicator of currency parity, jumped 4% on Thursday with benchmark Brent crude hitting $105 a barrel after the biggest spike in attacks on shipping since the Iran war began spurred trader concerns about supply disruptions.</p>
<p>Brent crude futures were up $4.05, or 4%, at $105.26 a barrel by 1215 GMT. US oil topped $100 a barrel for the first time since May as West Texas Intermediate crude futures rose $3.99, or 4.15%, to $100.04.</p>
<p><strong>Inter-bank market rates for dollar on Thursday</strong></p>
<p>BID Rs 277.35</p>
<p>OFFER Rs 277.55</p>
<p><strong>Open-market movement</strong></p>
<p>In the open market, the PKR lost 2 paise for both buying and selling against USD, closing at 278.24 and 279.08, respectively.</p>
<p>Against Euro, the PKR lost 16 paise for buying and 30 paise for selling, closing at 322.86 and 325.75, respectively.</p>
<p>Against UAE Dirham, the PKR remained unchanged for both buying and selling, closing at 75.67 and 76.26, respectively.</p>
<p>Against Saudi Riyal, the PKR gained 1 paisa for buying and 2 paise for selling, closing at 73.94 and 74.47, respectively.</p>
<p><strong>Open-market rates for dollar on Thursday</strong></p>
<p>BID Rs 278.24</p>
<p>OFFER Rs 279.08</p>
]]></content:encoded>
      <category>Markets</category>
      <guid>https://www.brecorder.com/news/40438859</guid>
      <pubDate>Thu, 10 Sep 2026 20:11:11 +0500</pubDate>
      <author>none@none.com (Recorder Report)</author>
      <media:content url="https://i.brecorder.com/large/2026/09/10160943976a1ed.webp" type="image/webp" medium="image" height="768" width="1024">
        <media:thumbnail url="https://i.brecorder.com/thumbnail/2026/09/10160943976a1ed.webp"/>
        <media:title/>
      </media:content>
    </item>
    <item xmlns:default="http://purl.org/rss/1.0/modules/content/">
      <title>Rupee records gain against US dollar</title>
      <link>https://www.brecorder.com/news/40438656/intra-day-update-rupee-records-gain-against-us-dollar</link>
      <description>&lt;p&gt;&lt;strong&gt;The Pakistani rupee extended its marginal gains against the US dollar in the interbank market on Wednesday.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The local unit closed the day at 277.36, a gain of Re0.01 against the greenback.&lt;/p&gt;
    &lt;figure class='media  w-full sm:w-full  media--center  media--embed  media--uneven media--tweet' data-original-src='https://x.com/StateBank_Pak/status/2097653650491683098'&gt;
        &lt;div class='media__item  media__item--twitter  '&gt;&lt;span&gt;
    &lt;blockquote class="twitter-tweet" lang="en"&gt;
        &lt;a href="https://twitter.com/StateBank_Pak/status/2097653650491683098"&gt;&lt;/a&gt;
    &lt;/blockquote&gt;
&lt;/span&gt;&lt;/div&gt;
        
    &lt;/figure&gt;
&lt;p&gt;&lt;a href="https://www.brecorder.com/news/40438476/intra-day-update-rupee-records-gain-against-us-dollar"&gt;On Tuesday&lt;/a&gt;, the Pakistani rupee settled at 277.37 against the dollar.&lt;/p&gt;
&lt;p&gt;Internationally, &lt;a href="https://www.brecorder.com/news/40438607/yen-stands-tall-as-dollar-wobbles-oils-run-towards-100-chills-sentiment"&gt;the Japanese yen &lt;/a&gt;steadied near its strongest level since February on Wednesday, keeping the dollar on the ‌defensive as traders grappled with oil prices pushing towards $100 per barrel in the face of a widening war in the Middle East.&lt;/p&gt;
&lt;p&gt;Houthis in Yemen launched strikes on several Saudi cities, further embroiling a US ally in the over six-month-long conflict, while US forces hit multiple Iranian oil tankers and Iran targeted a US ​base in Jordan.&lt;/p&gt;
&lt;p&gt;The reaction in the currency market was to push the dollar modestly lower, although some ​analysts attributed that weakness to the rapid rise of the yen in the past week.&lt;/p&gt;
&lt;p&gt;The euro was steady at $1.1631, while sterling last bought $1.3546.&lt;/p&gt;
&lt;p&gt;​The dollar index, which measures the US currency against six of its key rivals, was at 98.15, close to its lowest level in almost two weeks.&lt;/p&gt;
&lt;p&gt;OCBC strategists said the latest escalation keeps Fed policy implications from higher energy prices in focus, particularly after last week’s strong US payrolls report revived expectations of another ​rate hike.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.brecorder.com/news/40438606/brent-crude-rises-above-100-a-barrel-as-middle-east-conflict-escalates"&gt;Oil prices&lt;/a&gt;, a key indicator of currency parity, breached $100 a barrel to hit six-week highs on Wednesday as intensifying conflict in the Middle East heightened concerns about oil flows, catching up to physical oil and fuel prices which have passed the psychological threshold already.&lt;/p&gt;
&lt;p&gt;Brent crude futures were up $2.77, or 2.83%, at $100.69 a barrel by 1033 GMT, after earlier touching $100.95. US West Texas Intermediate crude was up $2.18, or 2.34%, at $95.21 a barrel, its highest level since early June.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Inter-bank market rates for dollar on Wednesday&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;BID Rs 277.36&lt;/p&gt;
&lt;p&gt;OFFER Rs 277.56&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Open-market movement&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;In the open market, the PKR lost 1 paisa for buying and remained unchanged for selling against USD, closing at 278.22 and 279.06, respectively.&lt;/p&gt;
&lt;p&gt;Against Euro, the PKR lost 41 paise for buying and 22 paise for selling, closing at 322.70 and 325.45, respectively.&lt;/p&gt;
&lt;p&gt;Against UAE Dirham, the PKR remained unchanged for buying and gained 2 paise for selling, closing at 75.67 and 76.26, respectively.&lt;/p&gt;
&lt;p&gt;Against Saudi Riyal, the PKR gained 1 paisa for buying and 2 paise for selling, closing at 73.95 and 74.49, respectively.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Open-market rates for dollar on Wednesday&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;BID Rs 278.22&lt;/p&gt;
&lt;p&gt;OFFER Rs 279.06&lt;/p&gt;
</description>
      <content:encoded xmlns="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p><strong>The Pakistani rupee extended its marginal gains against the US dollar in the interbank market on Wednesday.</strong></p>
<p>The local unit closed the day at 277.36, a gain of Re0.01 against the greenback.</p>
    <figure class='media  w-full sm:w-full  media--center  media--embed  media--uneven media--tweet' data-original-src='https://x.com/StateBank_Pak/status/2097653650491683098'>
        <div class='media__item  media__item--twitter  '><span>
    <blockquote class="twitter-tweet" lang="en">
        <a href="https://twitter.com/StateBank_Pak/status/2097653650491683098"></a>
    </blockquote>
</span></div>
        
    </figure>
<p><a href="https://www.brecorder.com/news/40438476/intra-day-update-rupee-records-gain-against-us-dollar">On Tuesday</a>, the Pakistani rupee settled at 277.37 against the dollar.</p>
<p>Internationally, <a href="https://www.brecorder.com/news/40438607/yen-stands-tall-as-dollar-wobbles-oils-run-towards-100-chills-sentiment">the Japanese yen </a>steadied near its strongest level since February on Wednesday, keeping the dollar on the ‌defensive as traders grappled with oil prices pushing towards $100 per barrel in the face of a widening war in the Middle East.</p>
<p>Houthis in Yemen launched strikes on several Saudi cities, further embroiling a US ally in the over six-month-long conflict, while US forces hit multiple Iranian oil tankers and Iran targeted a US ​base in Jordan.</p>
<p>The reaction in the currency market was to push the dollar modestly lower, although some ​analysts attributed that weakness to the rapid rise of the yen in the past week.</p>
<p>The euro was steady at $1.1631, while sterling last bought $1.3546.</p>
<p>​The dollar index, which measures the US currency against six of its key rivals, was at 98.15, close to its lowest level in almost two weeks.</p>
<p>OCBC strategists said the latest escalation keeps Fed policy implications from higher energy prices in focus, particularly after last week’s strong US payrolls report revived expectations of another ​rate hike.</p>
<p><a href="https://www.brecorder.com/news/40438606/brent-crude-rises-above-100-a-barrel-as-middle-east-conflict-escalates">Oil prices</a>, a key indicator of currency parity, breached $100 a barrel to hit six-week highs on Wednesday as intensifying conflict in the Middle East heightened concerns about oil flows, catching up to physical oil and fuel prices which have passed the psychological threshold already.</p>
<p>Brent crude futures were up $2.77, or 2.83%, at $100.69 a barrel by 1033 GMT, after earlier touching $100.95. US West Texas Intermediate crude was up $2.18, or 2.34%, at $95.21 a barrel, its highest level since early June.</p>
<p><strong>Inter-bank market rates for dollar on Wednesday</strong></p>
<p>BID Rs 277.36</p>
<p>OFFER Rs 277.56</p>
<p><strong>Open-market movement</strong></p>
<p>In the open market, the PKR lost 1 paisa for buying and remained unchanged for selling against USD, closing at 278.22 and 279.06, respectively.</p>
<p>Against Euro, the PKR lost 41 paise for buying and 22 paise for selling, closing at 322.70 and 325.45, respectively.</p>
<p>Against UAE Dirham, the PKR remained unchanged for buying and gained 2 paise for selling, closing at 75.67 and 76.26, respectively.</p>
<p>Against Saudi Riyal, the PKR gained 1 paisa for buying and 2 paise for selling, closing at 73.95 and 74.49, respectively.</p>
<p><strong>Open-market rates for dollar on Wednesday</strong></p>
<p>BID Rs 278.22</p>
<p>OFFER Rs 279.06</p>
]]></content:encoded>
      <category>Markets</category>
      <guid>https://www.brecorder.com/news/40438656</guid>
      <pubDate>Wed, 09 Sep 2026 20:59:13 +0500</pubDate>
      <author>none@none.com (Recorder Report)</author>
      <media:content url="https://i.brecorder.com/large/2026/09/091614313f22f47.webp" type="image/webp" medium="image" height="1369" width="2000">
        <media:thumbnail url="https://i.brecorder.com/thumbnail/2026/09/091614313f22f47.webp"/>
        <media:title/>
      </media:content>
    </item>
    <item xmlns:default="http://purl.org/rss/1.0/modules/content/">
      <title>Rupee registers gain against US dollar</title>
      <link>https://www.brecorder.com/news/40438476/intra-day-update-rupee-records-gain-against-us-dollar</link>
      <description>&lt;iframe id="raw-html-6aa018d700dbb" class="raw-html-embed" style="width: 100%; min-height: 50px; max-height: 9200px; border: none; overflow: hidden;" scrolling="no" srcdoc="&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html&amp;gt;
&amp;lt;head&amp;gt;
    &amp;lt;style&amp;gt;
        body { margin: 0; padding: 0; font-family: system-ui, -apple-system, sans-serif; overflow-wrap: anywhere; }
    &amp;lt;/style&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
    
&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html lang=&amp;quot;en&amp;quot;&amp;gt;
&amp;lt;head&amp;gt;
    &amp;lt;meta charset=&amp;quot;UTF-8&amp;quot;&amp;gt;
    &amp;lt;meta name=&amp;quot;viewport&amp;quot; content=&amp;quot;width=device-width, initial-scale=1.0&amp;quot;&amp;gt;
    &amp;lt;title&amp;gt;PKR vs USD Exchange Rate Chart&amp;lt;/title&amp;gt;
    &amp;lt;!-- Chart.js CDN for high-performance interactive charting --&amp;gt;
    &amp;lt;script src=&amp;quot;https://cdn.jsdelivr.net/npm/chart.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;
    
    &amp;lt;style&amp;gt;
        @import url(&amp;#039;https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght=400;500;600;700&amp;amp;display=swap&amp;#039;);

        #pkr-chart-embed {
            font-family: &amp;#039;Plus Jakarta Sans&amp;#039;, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, sans-serif;
            max-width: 1000px;
            width: 100%;
            margin: 24px auto;
            background-color: #ffffff;
            border: 1px solid #e2e8f0;
            border-radius: 20px;
            padding: 24px;
            box-shadow: 0 10px 25px -5px rgba(15, 23, 42, 0.05), 0 8px 10px -6px rgba(15, 23, 42, 0.05);
            color: #0f172a;
            box-sizing: border-box;
        }

        #pkr-chart-embed * { box-sizing: border-box; margin: 0; padding: 0; }

        #pkr-chart-embed .chart-header {
            display: flex;
            flex-direction: column;
            gap: 20px;
            margin-bottom: 24px;
            width: 100%;
        }

        #pkr-chart-embed .top-row {
            display: flex;
            flex-direction: row;
            justify-content: space-between;
            align-items: flex-start;
            gap: 20px;
        }

        #pkr-chart-embed .calculator-area {
            display: flex;
            flex-direction: column;
            gap: 8px;
            align-items: flex-start;
        }

        #pkr-chart-embed .main-title {
            font-size: 22px;
            font-weight: 700;
            color: #0f172a;
            letter-spacing: -0.025em;
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            gap: 10px;
        }

        #pkr-chart-embed .currency-badge {
            font-size: 11px;
            font-weight: 600;
            color: #4f46e5;
            background-color: rgba(79, 70, 229, 0.08);
            padding: 3px 10px;
            border-radius: 9999px;
            border: 1px solid rgba(79, 70, 229, 0.15);
            text-transform: uppercase;
        }

        #pkr-chart-embed .calculator-title {
            font-size: 10px;
            font-weight: 700;
            color: #64748b;
            text-transform: uppercase;
            letter-spacing: 0.05em;
        }

        #pkr-chart-embed .converter {
            display: flex;
            align-items: center;
            background: #f8fafc;
            border: 1px solid #e2e8f0;
            border-radius: 12px;
            padding: 4px;
            gap: 6px;
        }

        #pkr-chart-embed .converter-group {
            display: flex;
            align-items: center;
            background: #ffffff;
            border-radius: 8px;
            padding: 6px 10px;
            box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
            border: 1px solid transparent;
        }

        #pkr-chart-embed .converter-input {
            border: none;
            outline: none;
            width: 100px;
            font-family: inherit;
            font-weight: 700;
            color: #0f172a;
            font-size: 14px;
            text-align: right;
            background: transparent;
        }

        #pkr-chart-embed .converter-input.pkr-field { width: 140px; }

        #pkr-chart-embed .converter-label {
            font-size: 11px;
            font-weight: 700;
            color: #64748b;
            margin-left: 6px;
        }

        #pkr-chart-embed .equals-sign { color: #94a3b8; font-weight: 600; font-size: 16px; }

        #pkr-chart-embed .rate-badge-container {
            display: flex;
            flex-direction: column;
            align-items: flex-end;
            gap: 8px;
        }

        #pkr-chart-embed .rate-label-sub { text-align: right; }
        #pkr-chart-embed .rate-label-sub span:first-child { display: block; font-size: 9px; text-transform: uppercase; font-weight: 700; color: #64748b; }
        #pkr-chart-embed .rate-label-sub span:last-child { display: block; font-size: 12px; color: #334155; font-weight: 600; }

        #pkr-chart-embed .rate-badge {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            background: linear-gradient(135deg, #4f46e5, #3b82f6);
            color: #ffffff;
            font-weight: 700;
            font-size: 14px;
            padding: 10px 16px;
            border-radius: 12px;
            box-shadow: 0 8px 16px -3px rgba(79, 70, 229, 0.25);
        }

        #pkr-chart-embed .pulse-dot {
            width: 8px;
            height: 8px;
            border-radius: 50%;
            background-color: #ffffff;
            animation: pkrPulse 1.5s infinite;
        }

        @keyframes pkrPulse {
            0% { transform: scale(0.95); opacity: 0.6; }
            50% { transform: scale(1.15); opacity: 1; }
            100% { transform: scale(0.95); opacity: 0.6; }
        }

        #pkr-chart-embed .toolbar {
            display: flex;
            justify-content: space-between;
            align-items: center;
            flex-wrap: wrap;
            gap: 12px;
            margin-bottom: 16px;
            padding-bottom: 12px;
            border-bottom: 1px solid #f1f5f9;
        }

        #pkr-chart-embed .stats-row {
            display: flex;
            gap: 16px;
            flex-wrap: wrap;
        }

        #pkr-chart-embed .stat-card {
            display: flex;
            flex-direction: column;
        }

        #pkr-chart-embed .stat-label {
            font-size: 10px;
            text-transform: uppercase;
            font-weight: 700;
            color: #94a3b8;
        }

        #pkr-chart-embed .stat-value {
            font-size: 13px;
            font-weight: 700;
            color: #1e293b;
        }

        #pkr-chart-embed .stat-value.up { color: #16a34a; }
        #pkr-chart-embed .stat-value.down { color: #dc2626; }

        #pkr-chart-embed .timeframe-buttons {
            display: flex;
            background: #f1f5f9;
            padding: 3px;
            border-radius: 10px;
            gap: 2px;
        }

        #pkr-chart-embed .tf-btn {
            border: none;
            background: transparent;
            font-family: inherit;
            font-size: 11px;
            font-weight: 700;
            color: #64748b;
            padding: 5px 12px;
            border-radius: 8px;
            cursor: pointer;
            transition: all 0.2s ease;
        }

        #pkr-chart-embed .tf-btn.active {
            background: #ffffff;
            color: #4f46e5;
            box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
        }

        #pkr-chart-embed .chart-canvas-container { position: relative; width: 100%; height: 380px; }

        @media (max-width: 768px) {
            #pkr-chart-embed { padding: 16px; }
            #pkr-chart-embed .chart-canvas-container { height: 300px; }
            #pkr-chart-embed .top-row { flex-direction: column; align-items: flex-start; }
            #pkr-chart-embed .rate-badge-container { align-items: flex-start; }
            #pkr-chart-embed .rate-label-sub { text-align: left; }
            #pkr-chart-embed .toolbar { flex-direction: column; align-items: flex-start; }
        }
    &amp;lt;/style&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;

    &amp;lt;div id=&amp;quot;pkr-chart-embed&amp;quot;&amp;gt;
        &amp;lt;div class=&amp;quot;chart-header&amp;quot;&amp;gt;
            &amp;lt;h1 class=&amp;quot;main-title&amp;quot;&amp;gt;
                &amp;lt;span&amp;gt;PKR vs USD Exchange Rate&amp;lt;/span&amp;gt;
                &amp;lt;span class=&amp;quot;currency-badge&amp;quot;&amp;gt;USD / PKR&amp;lt;/span&amp;gt;
            &amp;lt;/h1&amp;gt;

            &amp;lt;div class=&amp;quot;top-row&amp;quot;&amp;gt;
                &amp;lt;div class=&amp;quot;calculator-area&amp;quot;&amp;gt;
                    &amp;lt;span class=&amp;quot;calculator-title&amp;quot;&amp;gt;Converter&amp;lt;/span&amp;gt;
                    &amp;lt;div class=&amp;quot;converter&amp;quot;&amp;gt;
                        &amp;lt;div class=&amp;quot;converter-group&amp;quot;&amp;gt;
                            &amp;lt;input type=&amp;quot;text&amp;quot; inputmode=&amp;quot;decimal&amp;quot; id=&amp;quot;usdInput&amp;quot; class=&amp;quot;converter-input&amp;quot; value=&amp;quot;1&amp;quot;&amp;gt;
                            &amp;lt;span class=&amp;quot;converter-label&amp;quot;&amp;gt;USD&amp;lt;/span&amp;gt;
                        &amp;lt;/div&amp;gt;
                        &amp;lt;span class=&amp;quot;equals-sign&amp;quot;&amp;gt;=&amp;lt;/span&amp;gt;
                        &amp;lt;div class=&amp;quot;converter-group&amp;quot;&amp;gt;
                            &amp;lt;input type=&amp;quot;text&amp;quot; inputmode=&amp;quot;decimal&amp;quot; id=&amp;quot;pkrInput&amp;quot; class=&amp;quot;converter-input pkr-field&amp;quot; value=&amp;quot;&amp;quot;&amp;gt;
                            &amp;lt;span class=&amp;quot;converter-label&amp;quot;&amp;gt;PKR&amp;lt;/span&amp;gt;
                        &amp;lt;/div&amp;gt;
                    &amp;lt;/div&amp;gt;
                &amp;lt;/div&amp;gt;

                &amp;lt;div class=&amp;quot;rate-badge-container&amp;quot;&amp;gt;
                    &amp;lt;div class=&amp;quot;rate-label-sub&amp;quot;&amp;gt;
                        &amp;lt;span&amp;gt;Latest Closing&amp;lt;/span&amp;gt;
                        &amp;lt;span id=&amp;quot;latestDateLabel&amp;quot;&amp;gt;08-Sep-26&amp;lt;/span&amp;gt;
                    &amp;lt;/div&amp;gt;
                    &amp;lt;div class=&amp;quot;rate-badge&amp;quot;&amp;gt;
                        &amp;lt;span class=&amp;quot;pulse-dot&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;
                        &amp;lt;span id=&amp;quot;latestBadgeRate&amp;quot;&amp;gt;277.37 PKR&amp;lt;/span&amp;gt;
                    &amp;lt;/div&amp;gt;
                &amp;lt;/div&amp;gt;
            &amp;lt;/div&amp;gt;
        &amp;lt;/div&amp;gt;

        &amp;lt;div class=&amp;quot;toolbar&amp;quot;&amp;gt;
            &amp;lt;div class=&amp;quot;stats-row&amp;quot;&amp;gt;
                &amp;lt;div class=&amp;quot;stat-card&amp;quot;&amp;gt;
                    &amp;lt;span class=&amp;quot;stat-label&amp;quot;&amp;gt;High&amp;lt;/span&amp;gt;
                    &amp;lt;span id=&amp;quot;statHigh&amp;quot; class=&amp;quot;stat-value&amp;quot;&amp;gt;--&amp;lt;/span&amp;gt;
                &amp;lt;/div&amp;gt;
                &amp;lt;div class=&amp;quot;stat-card&amp;quot;&amp;gt;
                    &amp;lt;span class=&amp;quot;stat-label&amp;quot;&amp;gt;Low&amp;lt;/span&amp;gt;
                    &amp;lt;span id=&amp;quot;statLow&amp;quot; class=&amp;quot;stat-value&amp;quot;&amp;gt;--&amp;lt;/span&amp;gt;
                &amp;lt;/div&amp;gt;
                &amp;lt;div class=&amp;quot;stat-card&amp;quot;&amp;gt;
                    &amp;lt;span class=&amp;quot;stat-label&amp;quot;&amp;gt;Average&amp;lt;/span&amp;gt;
                    &amp;lt;span id=&amp;quot;statAvg&amp;quot; class=&amp;quot;stat-value&amp;quot;&amp;gt;--&amp;lt;/span&amp;gt;
                &amp;lt;/div&amp;gt;
                &amp;lt;div class=&amp;quot;stat-card&amp;quot;&amp;gt;
                    &amp;lt;span class=&amp;quot;stat-label&amp;quot;&amp;gt;Change&amp;lt;/span&amp;gt;
                    &amp;lt;span id=&amp;quot;statChange&amp;quot; class=&amp;quot;stat-value&amp;quot;&amp;gt;--&amp;lt;/span&amp;gt;
                &amp;lt;/div&amp;gt;
            &amp;lt;/div&amp;gt;

            &amp;lt;div class=&amp;quot;timeframe-buttons&amp;quot;&amp;gt;
                &amp;lt;button class=&amp;quot;tf-btn&amp;quot; data-range=&amp;quot;30&amp;quot;&amp;gt;1M&amp;lt;/button&amp;gt;
                &amp;lt;button class=&amp;quot;tf-btn&amp;quot; data-range=&amp;quot;90&amp;quot;&amp;gt;3M&amp;lt;/button&amp;gt;
                &amp;lt;button class=&amp;quot;tf-btn&amp;quot; data-range=&amp;quot;180&amp;quot;&amp;gt;6M&amp;lt;/button&amp;gt;
                &amp;lt;button class=&amp;quot;tf-btn&amp;quot; data-range=&amp;quot;365&amp;quot;&amp;gt;1Y&amp;lt;/button&amp;gt;
                &amp;lt;button class=&amp;quot;tf-btn active&amp;quot; data-range=&amp;quot;all&amp;quot;&amp;gt;ALL&amp;lt;/button&amp;gt;
            &amp;lt;/div&amp;gt;
        &amp;lt;/div&amp;gt;

        &amp;lt;div class=&amp;quot;chart-canvas-container&amp;quot;&amp;gt;
            &amp;lt;canvas id=&amp;quot;closingRatesChart&amp;quot;&amp;gt;&amp;lt;/canvas&amp;gt;
        &amp;lt;/div&amp;gt;
    &amp;lt;/div&amp;gt;

    &amp;lt;script&amp;gt;
        (function() {
            // Complete historical dataset up to 08-Sep-26
            const rawLabels = [
                &amp;quot;04-Mar-25&amp;quot;, &amp;quot;05-Mar-25&amp;quot;, &amp;quot;06-Mar-25&amp;quot;, &amp;quot;07-Mar-25&amp;quot;, &amp;quot;10-Mar-25&amp;quot;, &amp;quot;11-Mar-25&amp;quot;, &amp;quot;12-Mar-25&amp;quot;, &amp;quot;13-Mar-25&amp;quot;, &amp;quot;14-Mar-25&amp;quot;, &amp;quot;17-Mar-25&amp;quot;, &amp;quot;18-Mar-25&amp;quot;, &amp;quot;19-Mar-25&amp;quot;, &amp;quot;20-Mar-25&amp;quot;, &amp;quot;21-Mar-25&amp;quot;, &amp;quot;24-Mar-25&amp;quot;, &amp;quot;25-Mar-25&amp;quot;, &amp;quot;26-Mar-25&amp;quot;, &amp;quot;27-Mar-25&amp;quot;, &amp;quot;28-Mar-25&amp;quot;, &amp;quot;03-Apr-25&amp;quot;, &amp;quot;04-Apr-25&amp;quot;, &amp;quot;07-Apr-25&amp;quot;, &amp;quot;08-Apr-25&amp;quot;, &amp;quot;09-Apr-25&amp;quot;, &amp;quot;10-Apr-25&amp;quot;, &amp;quot;11-Apr-25&amp;quot;, &amp;quot;14-Apr-25&amp;quot;, &amp;quot;15-Apr-25&amp;quot;, &amp;quot;16-Apr-25&amp;quot;, &amp;quot;17-Apr-25&amp;quot;, &amp;quot;18-Apr-25&amp;quot;, &amp;quot;21-Apr-25&amp;quot;, &amp;quot;22-Apr-25&amp;quot;, &amp;quot;23-Apr-25&amp;quot;, &amp;quot;24-Apr-25&amp;quot;, &amp;quot;25-Apr-25&amp;quot;, &amp;quot;28-Apr-25&amp;quot;, &amp;quot;29-Apr-25&amp;quot;, &amp;quot;30-Apr-25&amp;quot;, &amp;quot;02-May-25&amp;quot;, &amp;quot;05-May-25&amp;quot;, &amp;quot;06-May-25&amp;quot;, &amp;quot;07-May-25&amp;quot;, &amp;quot;08-May-25&amp;quot;, &amp;quot;09-May-25&amp;quot;, &amp;quot;12-May-25&amp;quot;, &amp;quot;13-May-25&amp;quot;, &amp;quot;14-May-25&amp;quot;, &amp;quot;15-May-25&amp;quot;, &amp;quot;16-May-25&amp;quot;, &amp;quot;19-May-25&amp;quot;, &amp;quot;20-May-25&amp;quot;, &amp;quot;21-May-25&amp;quot;, &amp;quot;22-May-25&amp;quot;, &amp;quot;23-May-25&amp;quot;, &amp;quot;26-May-25&amp;quot;, &amp;quot;27-May-25&amp;quot;, &amp;quot;29-May-25&amp;quot;, &amp;quot;30-May-25&amp;quot;, &amp;quot;02-Jun-25&amp;quot;, &amp;quot;03-Jun-25&amp;quot;, &amp;quot;04-Jun-25&amp;quot;, &amp;quot;05-Jun-25&amp;quot;, &amp;quot;10-Jun-25&amp;quot;, &amp;quot;11-Jun-25&amp;quot;, &amp;quot;12-Jun-25&amp;quot;, &amp;quot;13-Jun-25&amp;quot;, &amp;quot;16-Jun-25&amp;quot;, &amp;quot;17-Jun-25&amp;quot;, &amp;quot;18-Jun-25&amp;quot;, &amp;quot;19-Jun-25&amp;quot;, &amp;quot;20-Jun-25&amp;quot;, &amp;quot;23-Jun-25&amp;quot;, &amp;quot;24-Jun-25&amp;quot;, &amp;quot;25-Jun-25&amp;quot;, &amp;quot;26-Jun-25&amp;quot;, &amp;quot;27-Jun-25&amp;quot;, &amp;quot;30-Jun-25&amp;quot;, &amp;quot;02-Jul-25&amp;quot;, &amp;quot;03-Jul-25&amp;quot;, &amp;quot;04-Jul-25&amp;quot;, &amp;quot;07-Jul-25&amp;quot;, &amp;quot;08-Jul-25&amp;quot;, &amp;quot;09-Jul-25&amp;quot;, &amp;quot;10-Jul-25&amp;quot;, &amp;quot;11-Jul-25&amp;quot;, &amp;quot;14-Jul-25&amp;quot;, &amp;quot;15-Jul-25&amp;quot;, &amp;quot;16-Jul-25&amp;quot;, &amp;quot;17-Jul-25&amp;quot;, &amp;quot;18-Jul-25&amp;quot;, &amp;quot;21-Jul-25&amp;quot;, &amp;quot;22-Jul-25&amp;quot;, &amp;quot;23-Jul-25&amp;quot;, &amp;quot;24-Jul-25&amp;quot;, &amp;quot;25-Jul-25&amp;quot;, &amp;quot;28-Jul-25&amp;quot;, &amp;quot;29-Jul-25&amp;quot;, &amp;quot;30-Jul-25&amp;quot;, &amp;quot;31-Jul-25&amp;quot;, &amp;quot;01-Aug-25&amp;quot;, &amp;quot;04-Aug-25&amp;quot;, &amp;quot;05-Aug-25&amp;quot;, &amp;quot;06-Aug-25&amp;quot;, &amp;quot;07-Aug-25&amp;quot;, &amp;quot;08-Aug-25&amp;quot;, &amp;quot;11-Aug-25&amp;quot;, &amp;quot;12-Aug-25&amp;quot;, &amp;quot;13-Aug-25&amp;quot;, &amp;quot;15-Aug-25&amp;quot;, &amp;quot;18-Aug-25&amp;quot;, &amp;quot;19-Aug-25&amp;quot;, &amp;quot;20-Aug-25&amp;quot;, &amp;quot;21-Aug-25&amp;quot;, &amp;quot;22-Aug-25&amp;quot;, &amp;quot;25-Aug-25&amp;quot;, &amp;quot;26-Aug-25&amp;quot;, &amp;quot;27-Aug-25&amp;quot;, &amp;quot;28-Aug-25&amp;quot;, &amp;quot;29-Aug-25&amp;quot;, &amp;quot;01-Sep-25&amp;quot;, &amp;quot;02-Sep-25&amp;quot;, &amp;quot;03-Sep-25&amp;quot;, &amp;quot;04-Sep-25&amp;quot;, &amp;quot;05-Sep-25&amp;quot;, &amp;quot;08-Sep-25&amp;quot;, &amp;quot;09-Sep-25&amp;quot;, &amp;quot;10-Sep-25&amp;quot;, &amp;quot;11-Sep-25&amp;quot;, &amp;quot;12-Sep-25&amp;quot;, &amp;quot;15-Sep-25&amp;quot;, &amp;quot;16-Sep-25&amp;quot;, &amp;quot;17-Sep-25&amp;quot;, &amp;quot;18-Sep-25&amp;quot;, &amp;quot;19-Sep-25&amp;quot;, &amp;quot;21-Sep-25&amp;quot;, &amp;quot;22-Sep-25&amp;quot;, &amp;quot;23-Sep-25&amp;quot;, &amp;quot;24-Sep-25&amp;quot;, &amp;quot;25-Sep-25&amp;quot;, &amp;quot;26-Sep-25&amp;quot;, &amp;quot;29-Sep-25&amp;quot;, &amp;quot;30-Sep-25&amp;quot;, &amp;quot;01-Oct-25&amp;quot;, &amp;quot;02-Oct-25&amp;quot;, &amp;quot;03-Oct-25&amp;quot;, &amp;quot;06-Oct-25&amp;quot;, &amp;quot;07-Oct-25&amp;quot;, &amp;quot;08-Oct-25&amp;quot;, &amp;quot;09-Oct-25&amp;quot;, &amp;quot;10-Oct-25&amp;quot;, &amp;quot;13-Oct-25&amp;quot;, &amp;quot;14-Oct-25&amp;quot;, &amp;quot;15-Oct-25&amp;quot;, &amp;quot;16-Oct-25&amp;quot;, &amp;quot;17-Oct-25&amp;quot;, &amp;quot;20-Oct-25&amp;quot;, &amp;quot;21-Oct-25&amp;quot;, &amp;quot;22-Oct-25&amp;quot;, &amp;quot;23-Oct-25&amp;quot;, &amp;quot;24-Oct-25&amp;quot;, &amp;quot;27-Oct-25&amp;quot;, &amp;quot;28-Oct-25&amp;quot;, &amp;quot;29-Oct-25&amp;quot;, &amp;quot;30-Oct-25&amp;quot;, &amp;quot;31-Oct-25&amp;quot;, &amp;quot;03-Nov-25&amp;quot;, &amp;quot;04-Nov-25&amp;quot;, &amp;quot;05-Nov-25&amp;quot;, &amp;quot;06-Nov-25&amp;quot;, &amp;quot;07-Nov-25&amp;quot;, &amp;quot;10-Nov-25&amp;quot;, &amp;quot;11-Nov-25&amp;quot;, &amp;quot;12-Nov-25&amp;quot;, &amp;quot;13-Nov-25&amp;quot;, &amp;quot;14-Nov-25&amp;quot;, &amp;quot;17-Nov-25&amp;quot;, &amp;quot;18-Nov-25&amp;quot;, &amp;quot;19-Nov-25&amp;quot;, &amp;quot;20-Nov-25&amp;quot;, &amp;quot;21-Nov-25&amp;quot;, &amp;quot;24-Nov-25&amp;quot;, &amp;quot;25-Nov-25&amp;quot;, &amp;quot;26-Nov-25&amp;quot;, &amp;quot;27-Nov-25&amp;quot;, &amp;quot;28-Nov-25&amp;quot;, &amp;quot;01-Dec-25&amp;quot;, &amp;quot;02-Dec-25&amp;quot;, &amp;quot;03-Dec-25&amp;quot;, &amp;quot;04-Dec-25&amp;quot;, &amp;quot;05-Dec-25&amp;quot;, &amp;quot;08-Dec-25&amp;quot;, &amp;quot;09-Dec-25&amp;quot;, &amp;quot;10-Dec-25&amp;quot;, &amp;quot;11-Dec-25&amp;quot;, &amp;quot;12-Dec-25&amp;quot;, &amp;quot;15-Dec-25&amp;quot;, &amp;quot;16-Dec-25&amp;quot;, &amp;quot;17-Dec-25&amp;quot;, &amp;quot;18-Dec-25&amp;quot;, &amp;quot;19-Dec-25&amp;quot;, &amp;quot;22-Dec-25&amp;quot;, &amp;quot;23-Dec-25&amp;quot;, &amp;quot;24-Dec-25&amp;quot;, &amp;quot;26-Dec-25&amp;quot;, &amp;quot;29-Dec-25&amp;quot;, &amp;quot;30-Dec-25&amp;quot;, &amp;quot;31-Dec-25&amp;quot;, &amp;quot;02-Jan-26&amp;quot;, &amp;quot;05-Jan-26&amp;quot;, &amp;quot;06-Jan-26&amp;quot;, &amp;quot;07-Jan-26&amp;quot;, &amp;quot;08-Jan-26&amp;quot;, &amp;quot;09-Jan-26&amp;quot;, &amp;quot;12-Jan-26&amp;quot;, &amp;quot;13-Jan-26&amp;quot;, &amp;quot;14-Jan-26&amp;quot;, &amp;quot;15-Jan-26&amp;quot;, &amp;quot;16-Jan-26&amp;quot;, &amp;quot;19-Jan-26&amp;quot;, &amp;quot;20-Jan-26&amp;quot;, &amp;quot;21-Jan-26&amp;quot;, &amp;quot;22-Jan-26&amp;quot;, &amp;quot;23-Jan-26&amp;quot;, &amp;quot;26-Jan-26&amp;quot;, &amp;quot;27-Jan-26&amp;quot;, &amp;quot;28-Jan-26&amp;quot;, &amp;quot;29-Jan-26&amp;quot;, &amp;quot;30-Jan-26&amp;quot;, &amp;quot;02-Feb-26&amp;quot;, &amp;quot;03-Feb-26&amp;quot;, &amp;quot;04-Feb-26&amp;quot;, &amp;quot;06-Feb-26&amp;quot;, &amp;quot;09-Feb-26&amp;quot;, &amp;quot;10-Feb-26&amp;quot;, &amp;quot;11-Feb-26&amp;quot;, &amp;quot;12-Feb-26&amp;quot;, &amp;quot;13-Feb-26&amp;quot;, &amp;quot;16-Feb-26&amp;quot;, &amp;quot;17-Feb-26&amp;quot;, &amp;quot;18-Feb-26&amp;quot;, &amp;quot;20-Feb-26&amp;quot;, &amp;quot;23-Feb-26&amp;quot;, &amp;quot;24-Feb-26&amp;quot;, &amp;quot;25-Feb-26&amp;quot;, &amp;quot;26-Feb-26&amp;quot;, &amp;quot;27-Feb-26&amp;quot;, &amp;quot;02-Mar-26&amp;quot;, &amp;quot;03-Mar-26&amp;quot;, &amp;quot;04-Mar-26&amp;quot;, &amp;quot;05-Mar-26&amp;quot;, &amp;quot;06-Mar-26&amp;quot;, &amp;quot;09-Mar-26&amp;quot;, &amp;quot;10-Mar-26&amp;quot;, &amp;quot;11-Mar-26&amp;quot;, &amp;quot;12-Mar-26&amp;quot;, &amp;quot;13-Mar-26&amp;quot;, &amp;quot;16-Mar-26&amp;quot;, &amp;quot;17-Mar-26&amp;quot;, &amp;quot;18-Mar-26&amp;quot;, &amp;quot;19-Mar-26&amp;quot;, &amp;quot;24-Mar-26&amp;quot;, &amp;quot;25-Mar-26&amp;quot;, &amp;quot;26-Mar-26&amp;quot;, &amp;quot;27-Mar-26&amp;quot;, &amp;quot;30-Mar-26&amp;quot;, &amp;quot;31-Mar-26&amp;quot;, &amp;quot;01-Apr-26&amp;quot;, &amp;quot;02-Apr-26&amp;quot;, &amp;quot;03-Apr-26&amp;quot;, &amp;quot;04-Apr-26&amp;quot;, &amp;quot;06-Apr-26&amp;quot;, &amp;quot;07-Apr-26&amp;quot;, &amp;quot;08-Apr-26&amp;quot;, &amp;quot;09-Apr-26&amp;quot;, &amp;quot;10-Apr-26&amp;quot;, &amp;quot;13-Apr-26&amp;quot;, &amp;quot;14-Apr-26&amp;quot;, &amp;quot;15-Apr-26&amp;quot;, &amp;quot;16-Apr-26&amp;quot;, &amp;quot;17-Apr-26&amp;quot;, &amp;quot;20-Apr-26&amp;quot;, &amp;quot;21-Apr-26&amp;quot;, &amp;quot;22-Apr-26&amp;quot;, &amp;quot;23-Apr-26&amp;quot;, &amp;quot;24-Apr-26&amp;quot;, &amp;quot;27-Apr-26&amp;quot;, &amp;quot;28-Apr-26&amp;quot;, &amp;quot;29-Apr-26&amp;quot;, &amp;quot;30-Apr-26&amp;quot;, &amp;quot;04-May-26&amp;quot;, &amp;quot;05-May-26&amp;quot;, &amp;quot;06-May-26&amp;quot;, &amp;quot;07-May-26&amp;quot;, &amp;quot;08-May-26&amp;quot;, &amp;quot;11-May-26&amp;quot;, &amp;quot;12-May-26&amp;quot;, &amp;quot;13-May-26&amp;quot;, &amp;quot;14-May-26&amp;quot;, &amp;quot;15-May-26&amp;quot;, &amp;quot;18-May-26&amp;quot;, &amp;quot;19-May-26&amp;quot;, &amp;quot;20-May-26&amp;quot;, &amp;quot;21-May-26&amp;quot;, &amp;quot;22-May-26&amp;quot;, &amp;quot;25-May-26&amp;quot;, &amp;quot;29-May-26&amp;quot;, &amp;quot;01-Jun-26&amp;quot;, &amp;quot;02-Jun-26&amp;quot;, &amp;quot;03-Jun-26&amp;quot;, &amp;quot;04-Jun-26&amp;quot;, &amp;quot;05-Jun-26&amp;quot;, &amp;quot;08-Jun-26&amp;quot;, &amp;quot;09-Jun-26&amp;quot;, &amp;quot;10-Jun-26&amp;quot;, &amp;quot;11-Jun-26&amp;quot;, &amp;quot;12-Jun-26&amp;quot;, &amp;quot;15-Jun-26&amp;quot;, &amp;quot;16-Jun-26&amp;quot;, &amp;quot;17-Jun-26&amp;quot;, &amp;quot;18-Jun-26&amp;quot;, &amp;quot;19-Jun-26&amp;quot;, &amp;quot;22-Jun-26&amp;quot;, &amp;quot;23-Jun-26&amp;quot;, &amp;quot;24-Jun-26&amp;quot;, &amp;quot;29-Jun-26&amp;quot;, &amp;quot;30-Jun-26&amp;quot;, &amp;quot;02-Jul-26&amp;quot;, &amp;quot;03-Jul-26&amp;quot;, &amp;quot;06-Jul-26&amp;quot;, &amp;quot;07-Jul-26&amp;quot;, &amp;quot;08-Jul-26&amp;quot;, &amp;quot;09-Jul-26&amp;quot;, &amp;quot;10-Jul-26&amp;quot;, &amp;quot;13-Jul-26&amp;quot;, &amp;quot;14-Jul-26&amp;quot;, &amp;quot;15-Jul-26&amp;quot;, &amp;quot;16-Jul-26&amp;quot;, &amp;quot;17-Jul-26&amp;quot;, &amp;quot;20-Jul-26&amp;quot;, &amp;quot;21-Jul-26&amp;quot;, &amp;quot;22-Jul-26&amp;quot;, &amp;quot;23-Jul-26&amp;quot;, &amp;quot;24-Jul-26&amp;quot;, &amp;quot;27-Jul-26&amp;quot;, &amp;quot;28-Jul-26&amp;quot;, &amp;quot;29-Jul-26&amp;quot;, &amp;quot;30-Jul-26&amp;quot;, &amp;quot;03-Aug-26&amp;quot;, &amp;quot;04-Aug-26&amp;quot;, &amp;quot;05-Aug-26&amp;quot;, &amp;quot;06-Aug-26&amp;quot;, &amp;quot;07-Aug-26&amp;quot;, &amp;quot;10-Aug-26&amp;quot;, &amp;quot;11-Aug-26&amp;quot;, &amp;quot;12-Aug-26&amp;quot;, &amp;quot;13-Aug-26&amp;quot;, &amp;quot;17-Aug-26&amp;quot;, &amp;quot;18-Aug-26&amp;quot;, &amp;quot;20-Aug-26&amp;quot;, &amp;quot;21-Aug-26&amp;quot;, &amp;quot;24-Aug-26&amp;quot;, &amp;quot;25-Aug-26&amp;quot;, &amp;quot;27-Aug-26&amp;quot;, &amp;quot;28-Aug-26&amp;quot;, &amp;quot;31-Aug-26&amp;quot;, &amp;quot;01-Sep-26&amp;quot;, &amp;quot;02-Sep-26&amp;quot;, &amp;quot;03-Sep-26&amp;quot;, &amp;quot;04-Sep-26&amp;quot;, &amp;quot;07-Sep-26&amp;quot;, &amp;quot;08-Sep-26&amp;quot;
            ];

            const rawData = [
                279.77, 279.87, 279.82, 279.97, 280.07, 279.95, 279.97, 280.05, 280.21, 280.17, 280.27, 280.21, 280.22, 280.26, 280.37, 280.42, 280.26, 280.22, 280.16, 280.56, 280.47, 280.57, 280.73, 280.78, 280.56, 280.47, 280.60, 280.57, 280.46, 280.62, 280.72, 280.87, 280.77, 280.97, 281.07, 280.97, 281.07, 281.02, 280.97, 281.06, 281.22, 281.37, 281.47, 281.52, 281.71, 281.57, 281.67, 281.72, 281.61, 281.66, 281.77, 281.92, 281.97, 282.06, 281.97, 282.06, 282.17, 282.07, 282.02, 281.97, 282.12, 282.22, 282.17, 282.21, 282.47, 282.67, 282.96, 283.17, 283.41, 283.55, 283.64, 283.70, 283.87, 283.77, 283.72, 283.67, 283.72, 283.76, 283.95, 283.86, 283.97, 284.22, 284.36, 284.47, 284.56, 284.46, 284.72, 284.67, 284.96, 284.97, 284.87, 284.95, 284.97, 284.76, 284.22, 283.45, 283.21, 283.05, 282.95, 282.87, 282.72, 282.66, 282.57, 282.67, 282.56, 282.47, 282.45, 282.42, 282.22, 282.06, 282.01, 281.96, 281.95, 281.92, 281.90, 281.87, 281.86, 281.83, 281.80, 281.77, 281.75, 281.72, 281.71, 281.67, 281.65, 281.62, 281.61, 281.60, 281.56, 281.55, 281.52, 281.51, 281.50, 281.47, 281.46, 281.45, 281.46, 281.42, 281.43, 281.41, 281.37, 281.35, 281.32, 281.31, 281.27, 281.26, 281.25, 281.22, 281.21, 281.20, 281.17, 281.16, 281.15, 281.12, 281.11, 281.10, 281.07, 281.06, 281.05, 281.03, 281.02, 281.01, 280.97, 280.96, 280.92, 280.91, 280.90, 280.87, 280.86, 280.85, 280.82, 280.81, 280.78, 280.77, 280.76, 280.72, 280.71, 280.67, 280.66, 280.66, 280.65, 280.62, 280.61, 280.57, 280.56, 280.55, 280.52, 280.51, 280.47, 280.46, 280.45, 280.42, 280.41, 280.40, 280.37, 280.36, 280.32, 280.31, 280.30, 280.27, 280.26, 280.25, 280.22, 280.21, 280.20, 280.17, 280.16, 280.15, 280.12, 280.11, 280.10, 280.07, 280.06, 280.05, 280.02, 280.01, 280.00, 279.97, 279.96, 279.95, 279.92, 279.91, 279.90, 279.87, 279.86, 279.85, 279.82, 279.81, 279.80, 279.77, 279.76, 279.75, 279.72, 279.71, 279.70, 279.67, 279.66, 279.65, 279.62, 279.61, 279.60, 279.57, 279.56, 279.55, 279.52, 279.51, 279.50, 279.47, 279.46, 279.45, 279.42, 279.41, 279.40, 279.37, 279.36, 279.35, 279.32, 279.31, 279.30, 279.27, 279.26, 279.25, 279.22, 279.21, 279.20, 279.17, 279.16, 279.15, 279.12, 279.11, 279.10, 279.07, 279.06, 279.05, 279.02, 279.01, 279.00, 278.97, 278.96, 278.95, 278.92, 278.91, 278.90, 278.87, 278.86, 278.85, 278.82, 278.81, 278.80, 278.77, 278.76, 278.75, 278.72, 278.71, 278.70, 278.67, 278.66, 278.65, 278.62, 278.61, 278.60, 278.57, 278.56, 278.55, 278.52, 278.51, 278.50, 278.47, 278.46, 278.45, 278.42, 278.41, 278.40, 278.37, 278.36, 278.35, 278.32, 278.31, 278.30, 278.28, 278.31, 278.20, 277.55, 277.52, 277.51, 277.50, 277.47, 277.46, 277.45, 277.42, 277.41, 277.40, 277.37
            ];

            const currentExchangeRate = rawData[rawData.length - 1];
            const currentExchangeDate = rawLabels[rawLabels.length - 1];

            const usdInput = document.getElementById(&amp;#039;usdInput&amp;#039;);
            const pkrInput = document.getElementById(&amp;#039;pkrInput&amp;#039;);
            const badgeEl = document.getElementById(&amp;#039;latestBadgeRate&amp;#039;);
            const dateLabelEl = document.getElementById(&amp;#039;latestDateLabel&amp;#039;);

            const statHigh = document.getElementById(&amp;#039;statHigh&amp;#039;);
            const statLow = document.getElementById(&amp;#039;statLow&amp;#039;);
            const statAvg = document.getElementById(&amp;#039;statAvg&amp;#039;);
            const statChange = document.getElementById(&amp;#039;statChange&amp;#039;);

            const formatCurrency = (val, maxDecimals = 2, minDecimals = 2) =&amp;gt; {
                if (isNaN(val) || val === null) return &amp;#039;--&amp;#039;;
                return val.toLocaleString(&amp;#039;en-US&amp;#039;, {
                    minimumFractionDigits: minDecimals,
                    maximumFractionDigits: maxDecimals
                });
            };

            const parseCurrency = (valStr) =&amp;gt; {
                if (!valStr) return NaN;
                return parseFloat(valStr.toString().replace(/,/g, &amp;#039;&amp;#039;));
            };

            // Set Header Badge text dynamically
            badgeEl.textContent = formatCurrency(currentExchangeRate) + &amp;#039; PKR&amp;#039;;
            dateLabelEl.textContent = currentExchangeDate;
            pkrInput.value = formatCurrency(currentExchangeRate);

            usdInput.addEventListener(&amp;#039;input&amp;#039;, (e) =&amp;gt; {
                const val = parseCurrency(e.target.value);
                if (isNaN(val)) {
                    pkrInput.value = &amp;#039;&amp;#039;;
                } else {
                    pkrInput.value = formatCurrency(val * currentExchangeRate);
                }
            });

            pkrInput.addEventListener(&amp;#039;input&amp;#039;, (e) =&amp;gt; {
                const val = parseCurrency(e.target.value);
                if (isNaN(val)) {
                    usdInput.value = &amp;#039;&amp;#039;;
                } else {
                    usdInput.value = formatCurrency(val / currentExchangeRate);
                }
            });

            usdInput.addEventListener(&amp;#039;blur&amp;#039;, (e) =&amp;gt; {
                const val = parseCurrency(e.target.value);
                if (!isNaN(val)) {
                    e.target.value = formatCurrency(val, 2, 0);
                }
            });

            pkrInput.addEventListener(&amp;#039;blur&amp;#039;, (e) =&amp;gt; {
                const val = parseCurrency(e.target.value);
                if (!isNaN(val)) {
                    e.target.value = formatCurrency(val);
                }
            });

            const ctx = document.getElementById(&amp;#039;closingRatesChart&amp;#039;).getContext(&amp;#039;2d&amp;#039;);
            
            // Create soft background gradient for chart line area
            const gradient = ctx.createLinearGradient(0, 0, 0, 350);
            gradient.addColorStop(0, &amp;#039;rgba(79, 70, 229, 0.25)&amp;#039;);
            gradient.addColorStop(1, &amp;#039;rgba(79, 70, 229, 0.0)&amp;#039;);

            let currentLabels = [...rawLabels];
            let currentData = [...rawData];

            const chart = new Chart(ctx, {
                type: &amp;#039;line&amp;#039;,
                data: {
                    labels: currentLabels,
                    datasets: [{
                        data: currentData,
                        borderColor: &amp;#039;#4f46e5&amp;#039;,
                        borderWidth: 2.5,
                        backgroundColor: gradient,
                        fill: true,
                        tension: 0.15,
                        pointRadius: 0,
                        pointHoverRadius: 6,
                        pointHoverBackgroundColor: &amp;#039;#4f46e5&amp;#039;,
                        pointHoverBorderColor: &amp;#039;#ffffff&amp;#039;,
                        pointHoverBorderWidth: 2
                    }]
                },
                options: {
                    responsive: true,
                    maintainAspectRatio: false,
                    interaction: {
                        intersect: false,
                        mode: &amp;#039;index&amp;#039;
                    },
                    plugins: {
                        legend: { display: false },
                        tooltip: {
                            backgroundColor: &amp;#039;#0f172a&amp;#039;,
                            titleFont: { family: &amp;#039;Plus Jakarta Sans&amp;#039;, size: 12, weight: &amp;#039;600&amp;#039; },
                            bodyFont: { family: &amp;#039;Plus Jakarta Sans&amp;#039;, size: 13, weight: &amp;#039;700&amp;#039; },
                            padding: 10,
                            displayColors: false,
                            callbacks: {
                                label: function(context) {
                                    return formatCurrency(context.parsed.y) + &amp;#039; PKR&amp;#039;;
                                }
                            }
                        }
                    },
                    scales: {
                        x: {
                            grid: { display: false },
                            ticks: {
                                font: { family: &amp;#039;Plus Jakarta Sans&amp;#039;, size: 10 },
                                color: &amp;#039;#94a3b8&amp;#039;,
                                maxTicksLimit: 8
                            }
                        },
                        y: {
                            grid: { color: &amp;#039;#f1f5f9&amp;#039; },
                            ticks: {
                                font: { family: &amp;#039;Plus Jakarta Sans&amp;#039;, size: 10 },
                                color: &amp;#039;#94a3b8&amp;#039;,
                                callback: function(value) {
                                    return formatCurrency(value, 2, 0);
                                }
                            }
                        }
                    }
                }
            });

            function updateStats(dataArr) {
                if (!dataArr || dataArr.length === 0) return;
                
                const max = Math.max(...dataArr);
                const min = Math.min(...dataArr);
                const sum = dataArr.reduce((a, b) =&amp;gt; a + b, 0);
                const avg = sum / dataArr.length;
                
                const startVal = dataArr[0];
                const endVal = dataArr[dataArr.length - 1];
                const change = endVal - startVal;
                const changePercent = (change / startVal) * 100;

                statHigh.textContent = formatCurrency(max) + &amp;#039; PKR&amp;#039;;
                statLow.textContent = formatCurrency(min) + &amp;#039; PKR&amp;#039;;
                statAvg.textContent = formatCurrency(avg) + &amp;#039; PKR&amp;#039;;

                const sign = change &amp;gt;= 0 ? &amp;#039;+&amp;#039; : &amp;#039;&amp;#039;;
                statChange.textContent = `${sign}${formatCurrency(change)} (${sign}${changePercent.toFixed(2)}%)`;
                
                if (change &amp;gt; 0) {
                    statChange.className = &amp;#039;stat-value up&amp;#039;;
                } else if (change &amp;lt; 0) {
                    statChange.className = &amp;#039;stat-value down&amp;#039;;
                } else {
                    statChange.className = &amp;#039;stat-value&amp;#039;;
                }
            }

            const tfButtons = document.querySelectorAll(&amp;#039;.tf-btn&amp;#039;);
            tfButtons.forEach(btn =&amp;gt; {
                btn.addEventListener(&amp;#039;click&amp;#039;, () =&amp;gt; {
                    tfButtons.forEach(b =&amp;gt; b.classList.remove(&amp;#039;active&amp;#039;));
                    btn.classList.add(&amp;#039;active&amp;#039;);

                    const range = btn.getAttribute(&amp;#039;data-range&amp;#039;);
                    if (range === &amp;#039;all&amp;#039;) {
                        currentLabels = [...rawLabels];
                        currentData = [...rawData];
                    } else {
                        const count = parseInt(range, 10);
                        currentLabels = rawLabels.slice(-count);
                        currentData = rawData.slice(-count);
                    }

                    chart.data.labels = currentLabels;
                    chart.data.datasets[0].data = currentData;
                    chart.update();

                    updateStats(currentData);
                });
            });

            // Initial calculation of statistics
            updateStats(rawData);

        })();
    &amp;lt;/script&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;
    &amp;lt;script&amp;gt;
        function reportHeight() {
            var h = document.documentElement.scrollHeight;
            window.parent.postMessage({ type: &amp;#039;raw-html-resize&amp;#039;, id: &amp;#039;raw-html-6aa018d700dbb&amp;#039;, height: h }, &amp;#039;*&amp;#039;);
        }
        window.addEventListener(&amp;#039;load&amp;#039;, reportHeight);
        if (window.ResizeObserver) {
            new ResizeObserver(reportHeight).observe(document.body);
        }
    &amp;lt;/script&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;"&gt;&lt;/iframe&gt;
&lt;script&gt;
if (!window._rawHtmlListenerAttached) {
    window._rawHtmlListenerAttached = true;
    window.addEventListener('message', function(event) {
        if (event.data &amp;&amp; event.data.type === 'raw-html-resize' &amp;&amp; event.data.id) {
            var iframe = document.getElementById(event.data.id);
            if (iframe) {
                var height = Math.min(Math.max(event.data.height, 50), 9200);
                iframe.style.height = height + 'px';
            }
        }
    });
}
&lt;/script&gt;
&lt;p&gt;&lt;strong&gt;The Pakistani rupee extended its marginal gains against the US dollar, appreciating 0.01% in the interbank market on Tuesday.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The local unit closed the day at 277.37, a gain of Re0.03 against the greenback.&lt;/p&gt;
    &lt;figure class='media  w-full sm:w-full  media--center  media--embed  media--uneven media--tweet' data-original-src='https://x.com/StateBank_Pak/status/2097288659624194437'&gt;
        &lt;div class='media__item  media__item--twitter  '&gt;&lt;span&gt;
    &lt;blockquote class="twitter-tweet" lang="en"&gt;
        &lt;a href="https://twitter.com/StateBank_Pak/status/2097288659624194437"&gt;&lt;/a&gt;
    &lt;/blockquote&gt;
&lt;/span&gt;&lt;/div&gt;
        
    &lt;/figure&gt;
&lt;p&gt;&lt;a href="https://www.brecorder.com/news/40438311/intra-day-update-rupee-records-gain-against-us-dollar"&gt;On Monday&lt;/a&gt;, the Pakistani rupee settled at 277.40 against the dollar.&lt;/p&gt;
&lt;p&gt;Internationally, &lt;a href="https://www.brecorder.com/news/40438429/yen-extends-rally-to-new-seven-month-high-dollar-subdued-ahead-of-cpi"&gt;the Japanese yen &lt;/a&gt;climbed to fresh seven-month highs ​against the US dollar on Tuesday, as traders continued to unwind short positions amid growing ‌bets of a Bank of Japan interest-rate hike while the dollar was subdued ahead of CPI data this week.&lt;/p&gt;
&lt;p&gt;The yen strengthened to as much as 153.53 per dollar in morning trading, surpassing levels reached during Japan’s July intervention and ​hitting its strongest since February.&lt;/p&gt;
&lt;p&gt;Traders and analysts said a slew of factors, ​including bets on a faster pace of Bank of Japan tightening, the potential for Japanese investors ​to repatriate their funds, unwinding carry trades and US political pressure, are now driving a sea-change for the embattled currency and turning away the bears.&lt;/p&gt;
&lt;p&gt;The dollar index, ‌which ⁠measures the greenback against a basket of currencies, was a touch weaker at 98.83 amid yen strength.&lt;/p&gt;
&lt;p&gt;That left the euro and sterling both 0.06% stronger, last at $1.1628 and $1.3549, respectively.&lt;/p&gt;
&lt;p&gt;Market focus now shifts to US inflation readings this week, the last set of key data releases ahead of the FOMC meeting on September 15 ​to 16, with traders ​now pricing a roughly ⁠60% chance of a Federal Reserve rate hike this month following Friday’s stronger-than-expected nonfarm payrolls report.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.brecorder.com/news/40438427/oil-hits-multi-week-highs-after-houthi-attacks-on-saudi-energy-facilities"&gt;Oil prices hit multi-week ​highs&lt;/a&gt; on Tuesday after Houthis attacked Saudi energy facilities and Tehran threatened the United States with “economic ‌warfare”.&lt;/p&gt;
&lt;p&gt;Brent crude futures were up 48 cents, or 0.49%, at $97.48 a barrel at 1311 GMT. U.S. West Texas Intermediate crude was at $92.55 a barrel, up $1.07, or 1.17%.&lt;/p&gt;
&lt;p&gt;Brent earlier rose to $99.46, its highest since July 24, while WTI reached $94.73, its highest since June 8.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Inter-bank market rates for dollar on Tuesday&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;BID Rs 277.37&lt;/p&gt;
&lt;p&gt;OFFER Rs 277.57&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Open-market movement&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;In the open market, the PKR gained 4 paise for buying and 3 paise for selling against USD, closing at 278.21 and 279.06, respectively.&lt;/p&gt;
&lt;p&gt;Against Euro, the PKR gained 20 paise for buying and lost 5 paise for selling, closing at 322.29 and 325.23, respectively.&lt;/p&gt;
&lt;p&gt;Against UAE Dirham, the PKR remained unchanged for both buying and selling, closing at 75.67 and 76.28, respectively.&lt;/p&gt;
&lt;p&gt;Against Saudi Riyal, the PKR gained 2 paise for buying and lost 3 paise for selling, closing at 73.96 and 74.51, respectively.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Open-market rates for dollar on Tuesday&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;BID Rs 278.21&lt;/p&gt;
&lt;p&gt;OFFER Rs 279.06&lt;/p&gt;
</description>
      <content:encoded xmlns="http://purl.org/rss/1.0/modules/content/"><![CDATA[<iframe id="raw-html-6aa018d700dbb" class="raw-html-embed" style="width: 100%; min-height: 50px; max-height: 9200px; border: none; overflow: hidden;" scrolling="no" srcdoc="&lt;!DOCTYPE html&gt;
&lt;html&gt;
&lt;head&gt;
    &lt;style&gt;
        body { margin: 0; padding: 0; font-family: system-ui, -apple-system, sans-serif; overflow-wrap: anywhere; }
    &lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
    
&lt;!DOCTYPE html&gt;
&lt;html lang=&quot;en&quot;&gt;
&lt;head&gt;
    &lt;meta charset=&quot;UTF-8&quot;&gt;
    &lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1.0&quot;&gt;
    &lt;title&gt;PKR vs USD Exchange Rate Chart&lt;/title&gt;
    &lt;!-- Chart.js CDN for high-performance interactive charting --&gt;
    &lt;script src=&quot;https://cdn.jsdelivr.net/npm/chart.js&quot;&gt;&lt;/script&gt;
    
    &lt;style&gt;
        @import url(&#039;https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght=400;500;600;700&amp;display=swap&#039;);

        #pkr-chart-embed {
            font-family: &#039;Plus Jakarta Sans&#039;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, Roboto, sans-serif;
            max-width: 1000px;
            width: 100%;
            margin: 24px auto;
            background-color: #ffffff;
            border: 1px solid #e2e8f0;
            border-radius: 20px;
            padding: 24px;
            box-shadow: 0 10px 25px -5px rgba(15, 23, 42, 0.05), 0 8px 10px -6px rgba(15, 23, 42, 0.05);
            color: #0f172a;
            box-sizing: border-box;
        }

        #pkr-chart-embed * { box-sizing: border-box; margin: 0; padding: 0; }

        #pkr-chart-embed .chart-header {
            display: flex;
            flex-direction: column;
            gap: 20px;
            margin-bottom: 24px;
            width: 100%;
        }

        #pkr-chart-embed .top-row {
            display: flex;
            flex-direction: row;
            justify-content: space-between;
            align-items: flex-start;
            gap: 20px;
        }

        #pkr-chart-embed .calculator-area {
            display: flex;
            flex-direction: column;
            gap: 8px;
            align-items: flex-start;
        }

        #pkr-chart-embed .main-title {
            font-size: 22px;
            font-weight: 700;
            color: #0f172a;
            letter-spacing: -0.025em;
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            gap: 10px;
        }

        #pkr-chart-embed .currency-badge {
            font-size: 11px;
            font-weight: 600;
            color: #4f46e5;
            background-color: rgba(79, 70, 229, 0.08);
            padding: 3px 10px;
            border-radius: 9999px;
            border: 1px solid rgba(79, 70, 229, 0.15);
            text-transform: uppercase;
        }

        #pkr-chart-embed .calculator-title {
            font-size: 10px;
            font-weight: 700;
            color: #64748b;
            text-transform: uppercase;
            letter-spacing: 0.05em;
        }

        #pkr-chart-embed .converter {
            display: flex;
            align-items: center;
            background: #f8fafc;
            border: 1px solid #e2e8f0;
            border-radius: 12px;
            padding: 4px;
            gap: 6px;
        }

        #pkr-chart-embed .converter-group {
            display: flex;
            align-items: center;
            background: #ffffff;
            border-radius: 8px;
            padding: 6px 10px;
            box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
            border: 1px solid transparent;
        }

        #pkr-chart-embed .converter-input {
            border: none;
            outline: none;
            width: 100px;
            font-family: inherit;
            font-weight: 700;
            color: #0f172a;
            font-size: 14px;
            text-align: right;
            background: transparent;
        }

        #pkr-chart-embed .converter-input.pkr-field { width: 140px; }

        #pkr-chart-embed .converter-label {
            font-size: 11px;
            font-weight: 700;
            color: #64748b;
            margin-left: 6px;
        }

        #pkr-chart-embed .equals-sign { color: #94a3b8; font-weight: 600; font-size: 16px; }

        #pkr-chart-embed .rate-badge-container {
            display: flex;
            flex-direction: column;
            align-items: flex-end;
            gap: 8px;
        }

        #pkr-chart-embed .rate-label-sub { text-align: right; }
        #pkr-chart-embed .rate-label-sub span:first-child { display: block; font-size: 9px; text-transform: uppercase; font-weight: 700; color: #64748b; }
        #pkr-chart-embed .rate-label-sub span:last-child { display: block; font-size: 12px; color: #334155; font-weight: 600; }

        #pkr-chart-embed .rate-badge {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            background: linear-gradient(135deg, #4f46e5, #3b82f6);
            color: #ffffff;
            font-weight: 700;
            font-size: 14px;
            padding: 10px 16px;
            border-radius: 12px;
            box-shadow: 0 8px 16px -3px rgba(79, 70, 229, 0.25);
        }

        #pkr-chart-embed .pulse-dot {
            width: 8px;
            height: 8px;
            border-radius: 50%;
            background-color: #ffffff;
            animation: pkrPulse 1.5s infinite;
        }

        @keyframes pkrPulse {
            0% { transform: scale(0.95); opacity: 0.6; }
            50% { transform: scale(1.15); opacity: 1; }
            100% { transform: scale(0.95); opacity: 0.6; }
        }

        #pkr-chart-embed .toolbar {
            display: flex;
            justify-content: space-between;
            align-items: center;
            flex-wrap: wrap;
            gap: 12px;
            margin-bottom: 16px;
            padding-bottom: 12px;
            border-bottom: 1px solid #f1f5f9;
        }

        #pkr-chart-embed .stats-row {
            display: flex;
            gap: 16px;
            flex-wrap: wrap;
        }

        #pkr-chart-embed .stat-card {
            display: flex;
            flex-direction: column;
        }

        #pkr-chart-embed .stat-label {
            font-size: 10px;
            text-transform: uppercase;
            font-weight: 700;
            color: #94a3b8;
        }

        #pkr-chart-embed .stat-value {
            font-size: 13px;
            font-weight: 700;
            color: #1e293b;
        }

        #pkr-chart-embed .stat-value.up { color: #16a34a; }
        #pkr-chart-embed .stat-value.down { color: #dc2626; }

        #pkr-chart-embed .timeframe-buttons {
            display: flex;
            background: #f1f5f9;
            padding: 3px;
            border-radius: 10px;
            gap: 2px;
        }

        #pkr-chart-embed .tf-btn {
            border: none;
            background: transparent;
            font-family: inherit;
            font-size: 11px;
            font-weight: 700;
            color: #64748b;
            padding: 5px 12px;
            border-radius: 8px;
            cursor: pointer;
            transition: all 0.2s ease;
        }

        #pkr-chart-embed .tf-btn.active {
            background: #ffffff;
            color: #4f46e5;
            box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
        }

        #pkr-chart-embed .chart-canvas-container { position: relative; width: 100%; height: 380px; }

        @media (max-width: 768px) {
            #pkr-chart-embed { padding: 16px; }
            #pkr-chart-embed .chart-canvas-container { height: 300px; }
            #pkr-chart-embed .top-row { flex-direction: column; align-items: flex-start; }
            #pkr-chart-embed .rate-badge-container { align-items: flex-start; }
            #pkr-chart-embed .rate-label-sub { text-align: left; }
            #pkr-chart-embed .toolbar { flex-direction: column; align-items: flex-start; }
        }
    &lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;

    &lt;div id=&quot;pkr-chart-embed&quot;&gt;
        &lt;div class=&quot;chart-header&quot;&gt;
            &lt;h1 class=&quot;main-title&quot;&gt;
                &lt;span&gt;PKR vs USD Exchange Rate&lt;/span&gt;
                &lt;span class=&quot;currency-badge&quot;&gt;USD / PKR&lt;/span&gt;
            &lt;/h1&gt;

            &lt;div class=&quot;top-row&quot;&gt;
                &lt;div class=&quot;calculator-area&quot;&gt;
                    &lt;span class=&quot;calculator-title&quot;&gt;Converter&lt;/span&gt;
                    &lt;div class=&quot;converter&quot;&gt;
                        &lt;div class=&quot;converter-group&quot;&gt;
                            &lt;input type=&quot;text&quot; inputmode=&quot;decimal&quot; id=&quot;usdInput&quot; class=&quot;converter-input&quot; value=&quot;1&quot;&gt;
                            &lt;span class=&quot;converter-label&quot;&gt;USD&lt;/span&gt;
                        &lt;/div&gt;
                        &lt;span class=&quot;equals-sign&quot;&gt;=&lt;/span&gt;
                        &lt;div class=&quot;converter-group&quot;&gt;
                            &lt;input type=&quot;text&quot; inputmode=&quot;decimal&quot; id=&quot;pkrInput&quot; class=&quot;converter-input pkr-field&quot; value=&quot;&quot;&gt;
                            &lt;span class=&quot;converter-label&quot;&gt;PKR&lt;/span&gt;
                        &lt;/div&gt;
                    &lt;/div&gt;
                &lt;/div&gt;

                &lt;div class=&quot;rate-badge-container&quot;&gt;
                    &lt;div class=&quot;rate-label-sub&quot;&gt;
                        &lt;span&gt;Latest Closing&lt;/span&gt;
                        &lt;span id=&quot;latestDateLabel&quot;&gt;08-Sep-26&lt;/span&gt;
                    &lt;/div&gt;
                    &lt;div class=&quot;rate-badge&quot;&gt;
                        &lt;span class=&quot;pulse-dot&quot;&gt;&lt;/span&gt;
                        &lt;span id=&quot;latestBadgeRate&quot;&gt;277.37 PKR&lt;/span&gt;
                    &lt;/div&gt;
                &lt;/div&gt;
            &lt;/div&gt;
        &lt;/div&gt;

        &lt;div class=&quot;toolbar&quot;&gt;
            &lt;div class=&quot;stats-row&quot;&gt;
                &lt;div class=&quot;stat-card&quot;&gt;
                    &lt;span class=&quot;stat-label&quot;&gt;High&lt;/span&gt;
                    &lt;span id=&quot;statHigh&quot; class=&quot;stat-value&quot;&gt;--&lt;/span&gt;
                &lt;/div&gt;
                &lt;div class=&quot;stat-card&quot;&gt;
                    &lt;span class=&quot;stat-label&quot;&gt;Low&lt;/span&gt;
                    &lt;span id=&quot;statLow&quot; class=&quot;stat-value&quot;&gt;--&lt;/span&gt;
                &lt;/div&gt;
                &lt;div class=&quot;stat-card&quot;&gt;
                    &lt;span class=&quot;stat-label&quot;&gt;Average&lt;/span&gt;
                    &lt;span id=&quot;statAvg&quot; class=&quot;stat-value&quot;&gt;--&lt;/span&gt;
                &lt;/div&gt;
                &lt;div class=&quot;stat-card&quot;&gt;
                    &lt;span class=&quot;stat-label&quot;&gt;Change&lt;/span&gt;
                    &lt;span id=&quot;statChange&quot; class=&quot;stat-value&quot;&gt;--&lt;/span&gt;
                &lt;/div&gt;
            &lt;/div&gt;

            &lt;div class=&quot;timeframe-buttons&quot;&gt;
                &lt;button class=&quot;tf-btn&quot; data-range=&quot;30&quot;&gt;1M&lt;/button&gt;
                &lt;button class=&quot;tf-btn&quot; data-range=&quot;90&quot;&gt;3M&lt;/button&gt;
                &lt;button class=&quot;tf-btn&quot; data-range=&quot;180&quot;&gt;6M&lt;/button&gt;
                &lt;button class=&quot;tf-btn&quot; data-range=&quot;365&quot;&gt;1Y&lt;/button&gt;
                &lt;button class=&quot;tf-btn active&quot; data-range=&quot;all&quot;&gt;ALL&lt;/button&gt;
            &lt;/div&gt;
        &lt;/div&gt;

        &lt;div class=&quot;chart-canvas-container&quot;&gt;
            &lt;canvas id=&quot;closingRatesChart&quot;&gt;&lt;/canvas&gt;
        &lt;/div&gt;
    &lt;/div&gt;

    &lt;script&gt;
        (function() {
            // Complete historical dataset up to 08-Sep-26
            const rawLabels = [
                &quot;04-Mar-25&quot;, &quot;05-Mar-25&quot;, &quot;06-Mar-25&quot;, &quot;07-Mar-25&quot;, &quot;10-Mar-25&quot;, &quot;11-Mar-25&quot;, &quot;12-Mar-25&quot;, &quot;13-Mar-25&quot;, &quot;14-Mar-25&quot;, &quot;17-Mar-25&quot;, &quot;18-Mar-25&quot;, &quot;19-Mar-25&quot;, &quot;20-Mar-25&quot;, &quot;21-Mar-25&quot;, &quot;24-Mar-25&quot;, &quot;25-Mar-25&quot;, &quot;26-Mar-25&quot;, &quot;27-Mar-25&quot;, &quot;28-Mar-25&quot;, &quot;03-Apr-25&quot;, &quot;04-Apr-25&quot;, &quot;07-Apr-25&quot;, &quot;08-Apr-25&quot;, &quot;09-Apr-25&quot;, &quot;10-Apr-25&quot;, &quot;11-Apr-25&quot;, &quot;14-Apr-25&quot;, &quot;15-Apr-25&quot;, &quot;16-Apr-25&quot;, &quot;17-Apr-25&quot;, &quot;18-Apr-25&quot;, &quot;21-Apr-25&quot;, &quot;22-Apr-25&quot;, &quot;23-Apr-25&quot;, &quot;24-Apr-25&quot;, &quot;25-Apr-25&quot;, &quot;28-Apr-25&quot;, &quot;29-Apr-25&quot;, &quot;30-Apr-25&quot;, &quot;02-May-25&quot;, &quot;05-May-25&quot;, &quot;06-May-25&quot;, &quot;07-May-25&quot;, &quot;08-May-25&quot;, &quot;09-May-25&quot;, &quot;12-May-25&quot;, &quot;13-May-25&quot;, &quot;14-May-25&quot;, &quot;15-May-25&quot;, &quot;16-May-25&quot;, &quot;19-May-25&quot;, &quot;20-May-25&quot;, &quot;21-May-25&quot;, &quot;22-May-25&quot;, &quot;23-May-25&quot;, &quot;26-May-25&quot;, &quot;27-May-25&quot;, &quot;29-May-25&quot;, &quot;30-May-25&quot;, &quot;02-Jun-25&quot;, &quot;03-Jun-25&quot;, &quot;04-Jun-25&quot;, &quot;05-Jun-25&quot;, &quot;10-Jun-25&quot;, &quot;11-Jun-25&quot;, &quot;12-Jun-25&quot;, &quot;13-Jun-25&quot;, &quot;16-Jun-25&quot;, &quot;17-Jun-25&quot;, &quot;18-Jun-25&quot;, &quot;19-Jun-25&quot;, &quot;20-Jun-25&quot;, &quot;23-Jun-25&quot;, &quot;24-Jun-25&quot;, &quot;25-Jun-25&quot;, &quot;26-Jun-25&quot;, &quot;27-Jun-25&quot;, &quot;30-Jun-25&quot;, &quot;02-Jul-25&quot;, &quot;03-Jul-25&quot;, &quot;04-Jul-25&quot;, &quot;07-Jul-25&quot;, &quot;08-Jul-25&quot;, &quot;09-Jul-25&quot;, &quot;10-Jul-25&quot;, &quot;11-Jul-25&quot;, &quot;14-Jul-25&quot;, &quot;15-Jul-25&quot;, &quot;16-Jul-25&quot;, &quot;17-Jul-25&quot;, &quot;18-Jul-25&quot;, &quot;21-Jul-25&quot;, &quot;22-Jul-25&quot;, &quot;23-Jul-25&quot;, &quot;24-Jul-25&quot;, &quot;25-Jul-25&quot;, &quot;28-Jul-25&quot;, &quot;29-Jul-25&quot;, &quot;30-Jul-25&quot;, &quot;31-Jul-25&quot;, &quot;01-Aug-25&quot;, &quot;04-Aug-25&quot;, &quot;05-Aug-25&quot;, &quot;06-Aug-25&quot;, &quot;07-Aug-25&quot;, &quot;08-Aug-25&quot;, &quot;11-Aug-25&quot;, &quot;12-Aug-25&quot;, &quot;13-Aug-25&quot;, &quot;15-Aug-25&quot;, &quot;18-Aug-25&quot;, &quot;19-Aug-25&quot;, &quot;20-Aug-25&quot;, &quot;21-Aug-25&quot;, &quot;22-Aug-25&quot;, &quot;25-Aug-25&quot;, &quot;26-Aug-25&quot;, &quot;27-Aug-25&quot;, &quot;28-Aug-25&quot;, &quot;29-Aug-25&quot;, &quot;01-Sep-25&quot;, &quot;02-Sep-25&quot;, &quot;03-Sep-25&quot;, &quot;04-Sep-25&quot;, &quot;05-Sep-25&quot;, &quot;08-Sep-25&quot;, &quot;09-Sep-25&quot;, &quot;10-Sep-25&quot;, &quot;11-Sep-25&quot;, &quot;12-Sep-25&quot;, &quot;15-Sep-25&quot;, &quot;16-Sep-25&quot;, &quot;17-Sep-25&quot;, &quot;18-Sep-25&quot;, &quot;19-Sep-25&quot;, &quot;21-Sep-25&quot;, &quot;22-Sep-25&quot;, &quot;23-Sep-25&quot;, &quot;24-Sep-25&quot;, &quot;25-Sep-25&quot;, &quot;26-Sep-25&quot;, &quot;29-Sep-25&quot;, &quot;30-Sep-25&quot;, &quot;01-Oct-25&quot;, &quot;02-Oct-25&quot;, &quot;03-Oct-25&quot;, &quot;06-Oct-25&quot;, &quot;07-Oct-25&quot;, &quot;08-Oct-25&quot;, &quot;09-Oct-25&quot;, &quot;10-Oct-25&quot;, &quot;13-Oct-25&quot;, &quot;14-Oct-25&quot;, &quot;15-Oct-25&quot;, &quot;16-Oct-25&quot;, &quot;17-Oct-25&quot;, &quot;20-Oct-25&quot;, &quot;21-Oct-25&quot;, &quot;22-Oct-25&quot;, &quot;23-Oct-25&quot;, &quot;24-Oct-25&quot;, &quot;27-Oct-25&quot;, &quot;28-Oct-25&quot;, &quot;29-Oct-25&quot;, &quot;30-Oct-25&quot;, &quot;31-Oct-25&quot;, &quot;03-Nov-25&quot;, &quot;04-Nov-25&quot;, &quot;05-Nov-25&quot;, &quot;06-Nov-25&quot;, &quot;07-Nov-25&quot;, &quot;10-Nov-25&quot;, &quot;11-Nov-25&quot;, &quot;12-Nov-25&quot;, &quot;13-Nov-25&quot;, &quot;14-Nov-25&quot;, &quot;17-Nov-25&quot;, &quot;18-Nov-25&quot;, &quot;19-Nov-25&quot;, &quot;20-Nov-25&quot;, &quot;21-Nov-25&quot;, &quot;24-Nov-25&quot;, &quot;25-Nov-25&quot;, &quot;26-Nov-25&quot;, &quot;27-Nov-25&quot;, &quot;28-Nov-25&quot;, &quot;01-Dec-25&quot;, &quot;02-Dec-25&quot;, &quot;03-Dec-25&quot;, &quot;04-Dec-25&quot;, &quot;05-Dec-25&quot;, &quot;08-Dec-25&quot;, &quot;09-Dec-25&quot;, &quot;10-Dec-25&quot;, &quot;11-Dec-25&quot;, &quot;12-Dec-25&quot;, &quot;15-Dec-25&quot;, &quot;16-Dec-25&quot;, &quot;17-Dec-25&quot;, &quot;18-Dec-25&quot;, &quot;19-Dec-25&quot;, &quot;22-Dec-25&quot;, &quot;23-Dec-25&quot;, &quot;24-Dec-25&quot;, &quot;26-Dec-25&quot;, &quot;29-Dec-25&quot;, &quot;30-Dec-25&quot;, &quot;31-Dec-25&quot;, &quot;02-Jan-26&quot;, &quot;05-Jan-26&quot;, &quot;06-Jan-26&quot;, &quot;07-Jan-26&quot;, &quot;08-Jan-26&quot;, &quot;09-Jan-26&quot;, &quot;12-Jan-26&quot;, &quot;13-Jan-26&quot;, &quot;14-Jan-26&quot;, &quot;15-Jan-26&quot;, &quot;16-Jan-26&quot;, &quot;19-Jan-26&quot;, &quot;20-Jan-26&quot;, &quot;21-Jan-26&quot;, &quot;22-Jan-26&quot;, &quot;23-Jan-26&quot;, &quot;26-Jan-26&quot;, &quot;27-Jan-26&quot;, &quot;28-Jan-26&quot;, &quot;29-Jan-26&quot;, &quot;30-Jan-26&quot;, &quot;02-Feb-26&quot;, &quot;03-Feb-26&quot;, &quot;04-Feb-26&quot;, &quot;06-Feb-26&quot;, &quot;09-Feb-26&quot;, &quot;10-Feb-26&quot;, &quot;11-Feb-26&quot;, &quot;12-Feb-26&quot;, &quot;13-Feb-26&quot;, &quot;16-Feb-26&quot;, &quot;17-Feb-26&quot;, &quot;18-Feb-26&quot;, &quot;20-Feb-26&quot;, &quot;23-Feb-26&quot;, &quot;24-Feb-26&quot;, &quot;25-Feb-26&quot;, &quot;26-Feb-26&quot;, &quot;27-Feb-26&quot;, &quot;02-Mar-26&quot;, &quot;03-Mar-26&quot;, &quot;04-Mar-26&quot;, &quot;05-Mar-26&quot;, &quot;06-Mar-26&quot;, &quot;09-Mar-26&quot;, &quot;10-Mar-26&quot;, &quot;11-Mar-26&quot;, &quot;12-Mar-26&quot;, &quot;13-Mar-26&quot;, &quot;16-Mar-26&quot;, &quot;17-Mar-26&quot;, &quot;18-Mar-26&quot;, &quot;19-Mar-26&quot;, &quot;24-Mar-26&quot;, &quot;25-Mar-26&quot;, &quot;26-Mar-26&quot;, &quot;27-Mar-26&quot;, &quot;30-Mar-26&quot;, &quot;31-Mar-26&quot;, &quot;01-Apr-26&quot;, &quot;02-Apr-26&quot;, &quot;03-Apr-26&quot;, &quot;04-Apr-26&quot;, &quot;06-Apr-26&quot;, &quot;07-Apr-26&quot;, &quot;08-Apr-26&quot;, &quot;09-Apr-26&quot;, &quot;10-Apr-26&quot;, &quot;13-Apr-26&quot;, &quot;14-Apr-26&quot;, &quot;15-Apr-26&quot;, &quot;16-Apr-26&quot;, &quot;17-Apr-26&quot;, &quot;20-Apr-26&quot;, &quot;21-Apr-26&quot;, &quot;22-Apr-26&quot;, &quot;23-Apr-26&quot;, &quot;24-Apr-26&quot;, &quot;27-Apr-26&quot;, &quot;28-Apr-26&quot;, &quot;29-Apr-26&quot;, &quot;30-Apr-26&quot;, &quot;04-May-26&quot;, &quot;05-May-26&quot;, &quot;06-May-26&quot;, &quot;07-May-26&quot;, &quot;08-May-26&quot;, &quot;11-May-26&quot;, &quot;12-May-26&quot;, &quot;13-May-26&quot;, &quot;14-May-26&quot;, &quot;15-May-26&quot;, &quot;18-May-26&quot;, &quot;19-May-26&quot;, &quot;20-May-26&quot;, &quot;21-May-26&quot;, &quot;22-May-26&quot;, &quot;25-May-26&quot;, &quot;29-May-26&quot;, &quot;01-Jun-26&quot;, &quot;02-Jun-26&quot;, &quot;03-Jun-26&quot;, &quot;04-Jun-26&quot;, &quot;05-Jun-26&quot;, &quot;08-Jun-26&quot;, &quot;09-Jun-26&quot;, &quot;10-Jun-26&quot;, &quot;11-Jun-26&quot;, &quot;12-Jun-26&quot;, &quot;15-Jun-26&quot;, &quot;16-Jun-26&quot;, &quot;17-Jun-26&quot;, &quot;18-Jun-26&quot;, &quot;19-Jun-26&quot;, &quot;22-Jun-26&quot;, &quot;23-Jun-26&quot;, &quot;24-Jun-26&quot;, &quot;29-Jun-26&quot;, &quot;30-Jun-26&quot;, &quot;02-Jul-26&quot;, &quot;03-Jul-26&quot;, &quot;06-Jul-26&quot;, &quot;07-Jul-26&quot;, &quot;08-Jul-26&quot;, &quot;09-Jul-26&quot;, &quot;10-Jul-26&quot;, &quot;13-Jul-26&quot;, &quot;14-Jul-26&quot;, &quot;15-Jul-26&quot;, &quot;16-Jul-26&quot;, &quot;17-Jul-26&quot;, &quot;20-Jul-26&quot;, &quot;21-Jul-26&quot;, &quot;22-Jul-26&quot;, &quot;23-Jul-26&quot;, &quot;24-Jul-26&quot;, &quot;27-Jul-26&quot;, &quot;28-Jul-26&quot;, &quot;29-Jul-26&quot;, &quot;30-Jul-26&quot;, &quot;03-Aug-26&quot;, &quot;04-Aug-26&quot;, &quot;05-Aug-26&quot;, &quot;06-Aug-26&quot;, &quot;07-Aug-26&quot;, &quot;10-Aug-26&quot;, &quot;11-Aug-26&quot;, &quot;12-Aug-26&quot;, &quot;13-Aug-26&quot;, &quot;17-Aug-26&quot;, &quot;18-Aug-26&quot;, &quot;20-Aug-26&quot;, &quot;21-Aug-26&quot;, &quot;24-Aug-26&quot;, &quot;25-Aug-26&quot;, &quot;27-Aug-26&quot;, &quot;28-Aug-26&quot;, &quot;31-Aug-26&quot;, &quot;01-Sep-26&quot;, &quot;02-Sep-26&quot;, &quot;03-Sep-26&quot;, &quot;04-Sep-26&quot;, &quot;07-Sep-26&quot;, &quot;08-Sep-26&quot;
            ];

            const rawData = [
                279.77, 279.87, 279.82, 279.97, 280.07, 279.95, 279.97, 280.05, 280.21, 280.17, 280.27, 280.21, 280.22, 280.26, 280.37, 280.42, 280.26, 280.22, 280.16, 280.56, 280.47, 280.57, 280.73, 280.78, 280.56, 280.47, 280.60, 280.57, 280.46, 280.62, 280.72, 280.87, 280.77, 280.97, 281.07, 280.97, 281.07, 281.02, 280.97, 281.06, 281.22, 281.37, 281.47, 281.52, 281.71, 281.57, 281.67, 281.72, 281.61, 281.66, 281.77, 281.92, 281.97, 282.06, 281.97, 282.06, 282.17, 282.07, 282.02, 281.97, 282.12, 282.22, 282.17, 282.21, 282.47, 282.67, 282.96, 283.17, 283.41, 283.55, 283.64, 283.70, 283.87, 283.77, 283.72, 283.67, 283.72, 283.76, 283.95, 283.86, 283.97, 284.22, 284.36, 284.47, 284.56, 284.46, 284.72, 284.67, 284.96, 284.97, 284.87, 284.95, 284.97, 284.76, 284.22, 283.45, 283.21, 283.05, 282.95, 282.87, 282.72, 282.66, 282.57, 282.67, 282.56, 282.47, 282.45, 282.42, 282.22, 282.06, 282.01, 281.96, 281.95, 281.92, 281.90, 281.87, 281.86, 281.83, 281.80, 281.77, 281.75, 281.72, 281.71, 281.67, 281.65, 281.62, 281.61, 281.60, 281.56, 281.55, 281.52, 281.51, 281.50, 281.47, 281.46, 281.45, 281.46, 281.42, 281.43, 281.41, 281.37, 281.35, 281.32, 281.31, 281.27, 281.26, 281.25, 281.22, 281.21, 281.20, 281.17, 281.16, 281.15, 281.12, 281.11, 281.10, 281.07, 281.06, 281.05, 281.03, 281.02, 281.01, 280.97, 280.96, 280.92, 280.91, 280.90, 280.87, 280.86, 280.85, 280.82, 280.81, 280.78, 280.77, 280.76, 280.72, 280.71, 280.67, 280.66, 280.66, 280.65, 280.62, 280.61, 280.57, 280.56, 280.55, 280.52, 280.51, 280.47, 280.46, 280.45, 280.42, 280.41, 280.40, 280.37, 280.36, 280.32, 280.31, 280.30, 280.27, 280.26, 280.25, 280.22, 280.21, 280.20, 280.17, 280.16, 280.15, 280.12, 280.11, 280.10, 280.07, 280.06, 280.05, 280.02, 280.01, 280.00, 279.97, 279.96, 279.95, 279.92, 279.91, 279.90, 279.87, 279.86, 279.85, 279.82, 279.81, 279.80, 279.77, 279.76, 279.75, 279.72, 279.71, 279.70, 279.67, 279.66, 279.65, 279.62, 279.61, 279.60, 279.57, 279.56, 279.55, 279.52, 279.51, 279.50, 279.47, 279.46, 279.45, 279.42, 279.41, 279.40, 279.37, 279.36, 279.35, 279.32, 279.31, 279.30, 279.27, 279.26, 279.25, 279.22, 279.21, 279.20, 279.17, 279.16, 279.15, 279.12, 279.11, 279.10, 279.07, 279.06, 279.05, 279.02, 279.01, 279.00, 278.97, 278.96, 278.95, 278.92, 278.91, 278.90, 278.87, 278.86, 278.85, 278.82, 278.81, 278.80, 278.77, 278.76, 278.75, 278.72, 278.71, 278.70, 278.67, 278.66, 278.65, 278.62, 278.61, 278.60, 278.57, 278.56, 278.55, 278.52, 278.51, 278.50, 278.47, 278.46, 278.45, 278.42, 278.41, 278.40, 278.37, 278.36, 278.35, 278.32, 278.31, 278.30, 278.28, 278.31, 278.20, 277.55, 277.52, 277.51, 277.50, 277.47, 277.46, 277.45, 277.42, 277.41, 277.40, 277.37
            ];

            const currentExchangeRate = rawData[rawData.length - 1];
            const currentExchangeDate = rawLabels[rawLabels.length - 1];

            const usdInput = document.getElementById(&#039;usdInput&#039;);
            const pkrInput = document.getElementById(&#039;pkrInput&#039;);
            const badgeEl = document.getElementById(&#039;latestBadgeRate&#039;);
            const dateLabelEl = document.getElementById(&#039;latestDateLabel&#039;);

            const statHigh = document.getElementById(&#039;statHigh&#039;);
            const statLow = document.getElementById(&#039;statLow&#039;);
            const statAvg = document.getElementById(&#039;statAvg&#039;);
            const statChange = document.getElementById(&#039;statChange&#039;);

            const formatCurrency = (val, maxDecimals = 2, minDecimals = 2) =&gt; {
                if (isNaN(val) || val === null) return &#039;--&#039;;
                return val.toLocaleString(&#039;en-US&#039;, {
                    minimumFractionDigits: minDecimals,
                    maximumFractionDigits: maxDecimals
                });
            };

            const parseCurrency = (valStr) =&gt; {
                if (!valStr) return NaN;
                return parseFloat(valStr.toString().replace(/,/g, &#039;&#039;));
            };

            // Set Header Badge text dynamically
            badgeEl.textContent = formatCurrency(currentExchangeRate) + &#039; PKR&#039;;
            dateLabelEl.textContent = currentExchangeDate;
            pkrInput.value = formatCurrency(currentExchangeRate);

            usdInput.addEventListener(&#039;input&#039;, (e) =&gt; {
                const val = parseCurrency(e.target.value);
                if (isNaN(val)) {
                    pkrInput.value = &#039;&#039;;
                } else {
                    pkrInput.value = formatCurrency(val * currentExchangeRate);
                }
            });

            pkrInput.addEventListener(&#039;input&#039;, (e) =&gt; {
                const val = parseCurrency(e.target.value);
                if (isNaN(val)) {
                    usdInput.value = &#039;&#039;;
                } else {
                    usdInput.value = formatCurrency(val / currentExchangeRate);
                }
            });

            usdInput.addEventListener(&#039;blur&#039;, (e) =&gt; {
                const val = parseCurrency(e.target.value);
                if (!isNaN(val)) {
                    e.target.value = formatCurrency(val, 2, 0);
                }
            });

            pkrInput.addEventListener(&#039;blur&#039;, (e) =&gt; {
                const val = parseCurrency(e.target.value);
                if (!isNaN(val)) {
                    e.target.value = formatCurrency(val);
                }
            });

            const ctx = document.getElementById(&#039;closingRatesChart&#039;).getContext(&#039;2d&#039;);
            
            // Create soft background gradient for chart line area
            const gradient = ctx.createLinearGradient(0, 0, 0, 350);
            gradient.addColorStop(0, &#039;rgba(79, 70, 229, 0.25)&#039;);
            gradient.addColorStop(1, &#039;rgba(79, 70, 229, 0.0)&#039;);

            let currentLabels = [...rawLabels];
            let currentData = [...rawData];

            const chart = new Chart(ctx, {
                type: &#039;line&#039;,
                data: {
                    labels: currentLabels,
                    datasets: [{
                        data: currentData,
                        borderColor: &#039;#4f46e5&#039;,
                        borderWidth: 2.5,
                        backgroundColor: gradient,
                        fill: true,
                        tension: 0.15,
                        pointRadius: 0,
                        pointHoverRadius: 6,
                        pointHoverBackgroundColor: &#039;#4f46e5&#039;,
                        pointHoverBorderColor: &#039;#ffffff&#039;,
                        pointHoverBorderWidth: 2
                    }]
                },
                options: {
                    responsive: true,
                    maintainAspectRatio: false,
                    interaction: {
                        intersect: false,
                        mode: &#039;index&#039;
                    },
                    plugins: {
                        legend: { display: false },
                        tooltip: {
                            backgroundColor: &#039;#0f172a&#039;,
                            titleFont: { family: &#039;Plus Jakarta Sans&#039;, size: 12, weight: &#039;600&#039; },
                            bodyFont: { family: &#039;Plus Jakarta Sans&#039;, size: 13, weight: &#039;700&#039; },
                            padding: 10,
                            displayColors: false,
                            callbacks: {
                                label: function(context) {
                                    return formatCurrency(context.parsed.y) + &#039; PKR&#039;;
                                }
                            }
                        }
                    },
                    scales: {
                        x: {
                            grid: { display: false },
                            ticks: {
                                font: { family: &#039;Plus Jakarta Sans&#039;, size: 10 },
                                color: &#039;#94a3b8&#039;,
                                maxTicksLimit: 8
                            }
                        },
                        y: {
                            grid: { color: &#039;#f1f5f9&#039; },
                            ticks: {
                                font: { family: &#039;Plus Jakarta Sans&#039;, size: 10 },
                                color: &#039;#94a3b8&#039;,
                                callback: function(value) {
                                    return formatCurrency(value, 2, 0);
                                }
                            }
                        }
                    }
                }
            });

            function updateStats(dataArr) {
                if (!dataArr || dataArr.length === 0) return;
                
                const max = Math.max(...dataArr);
                const min = Math.min(...dataArr);
                const sum = dataArr.reduce((a, b) =&gt; a + b, 0);
                const avg = sum / dataArr.length;
                
                const startVal = dataArr[0];
                const endVal = dataArr[dataArr.length - 1];
                const change = endVal - startVal;
                const changePercent = (change / startVal) * 100;

                statHigh.textContent = formatCurrency(max) + &#039; PKR&#039;;
                statLow.textContent = formatCurrency(min) + &#039; PKR&#039;;
                statAvg.textContent = formatCurrency(avg) + &#039; PKR&#039;;

                const sign = change &gt;= 0 ? &#039;+&#039; : &#039;&#039;;
                statChange.textContent = `${sign}${formatCurrency(change)} (${sign}${changePercent.toFixed(2)}%)`;
                
                if (change &gt; 0) {
                    statChange.className = &#039;stat-value up&#039;;
                } else if (change &lt; 0) {
                    statChange.className = &#039;stat-value down&#039;;
                } else {
                    statChange.className = &#039;stat-value&#039;;
                }
            }

            const tfButtons = document.querySelectorAll(&#039;.tf-btn&#039;);
            tfButtons.forEach(btn =&gt; {
                btn.addEventListener(&#039;click&#039;, () =&gt; {
                    tfButtons.forEach(b =&gt; b.classList.remove(&#039;active&#039;));
                    btn.classList.add(&#039;active&#039;);

                    const range = btn.getAttribute(&#039;data-range&#039;);
                    if (range === &#039;all&#039;) {
                        currentLabels = [...rawLabels];
                        currentData = [...rawData];
                    } else {
                        const count = parseInt(range, 10);
                        currentLabels = rawLabels.slice(-count);
                        currentData = rawData.slice(-count);
                    }

                    chart.data.labels = currentLabels;
                    chart.data.datasets[0].data = currentData;
                    chart.update();

                    updateStats(currentData);
                });
            });

            // Initial calculation of statistics
            updateStats(rawData);

        })();
    &lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;
    &lt;script&gt;
        function reportHeight() {
            var h = document.documentElement.scrollHeight;
            window.parent.postMessage({ type: &#039;raw-html-resize&#039;, id: &#039;raw-html-6aa018d700dbb&#039;, height: h }, &#039;*&#039;);
        }
        window.addEventListener(&#039;load&#039;, reportHeight);
        if (window.ResizeObserver) {
            new ResizeObserver(reportHeight).observe(document.body);
        }
    &lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;"></iframe>
<script>
if (!window._rawHtmlListenerAttached) {
    window._rawHtmlListenerAttached = true;
    window.addEventListener('message', function(event) {
        if (event.data && event.data.type === 'raw-html-resize' && event.data.id) {
            var iframe = document.getElementById(event.data.id);
            if (iframe) {
                var height = Math.min(Math.max(event.data.height, 50), 9200);
                iframe.style.height = height + 'px';
            }
        }
    });
}
</script>
<p><strong>The Pakistani rupee extended its marginal gains against the US dollar, appreciating 0.01% in the interbank market on Tuesday.</strong></p>
<p>The local unit closed the day at 277.37, a gain of Re0.03 against the greenback.</p>
    <figure class='media  w-full sm:w-full  media--center  media--embed  media--uneven media--tweet' data-original-src='https://x.com/StateBank_Pak/status/2097288659624194437'>
        <div class='media__item  media__item--twitter  '><span>
    <blockquote class="twitter-tweet" lang="en">
        <a href="https://twitter.com/StateBank_Pak/status/2097288659624194437"></a>
    </blockquote>
</span></div>
        
    </figure>
<p><a href="https://www.brecorder.com/news/40438311/intra-day-update-rupee-records-gain-against-us-dollar">On Monday</a>, the Pakistani rupee settled at 277.40 against the dollar.</p>
<p>Internationally, <a href="https://www.brecorder.com/news/40438429/yen-extends-rally-to-new-seven-month-high-dollar-subdued-ahead-of-cpi">the Japanese yen </a>climbed to fresh seven-month highs ​against the US dollar on Tuesday, as traders continued to unwind short positions amid growing ‌bets of a Bank of Japan interest-rate hike while the dollar was subdued ahead of CPI data this week.</p>
<p>The yen strengthened to as much as 153.53 per dollar in morning trading, surpassing levels reached during Japan’s July intervention and ​hitting its strongest since February.</p>
<p>Traders and analysts said a slew of factors, ​including bets on a faster pace of Bank of Japan tightening, the potential for Japanese investors ​to repatriate their funds, unwinding carry trades and US political pressure, are now driving a sea-change for the embattled currency and turning away the bears.</p>
<p>The dollar index, ‌which ⁠measures the greenback against a basket of currencies, was a touch weaker at 98.83 amid yen strength.</p>
<p>That left the euro and sterling both 0.06% stronger, last at $1.1628 and $1.3549, respectively.</p>
<p>Market focus now shifts to US inflation readings this week, the last set of key data releases ahead of the FOMC meeting on September 15 ​to 16, with traders ​now pricing a roughly ⁠60% chance of a Federal Reserve rate hike this month following Friday’s stronger-than-expected nonfarm payrolls report.</p>
<p><a href="https://www.brecorder.com/news/40438427/oil-hits-multi-week-highs-after-houthi-attacks-on-saudi-energy-facilities">Oil prices hit multi-week ​highs</a> on Tuesday after Houthis attacked Saudi energy facilities and Tehran threatened the United States with “economic ‌warfare”.</p>
<p>Brent crude futures were up 48 cents, or 0.49%, at $97.48 a barrel at 1311 GMT. U.S. West Texas Intermediate crude was at $92.55 a barrel, up $1.07, or 1.17%.</p>
<p>Brent earlier rose to $99.46, its highest since July 24, while WTI reached $94.73, its highest since June 8.</p>
<p><strong>Inter-bank market rates for dollar on Tuesday</strong></p>
<p>BID Rs 277.37</p>
<p>OFFER Rs 277.57</p>
<p><strong>Open-market movement</strong></p>
<p>In the open market, the PKR gained 4 paise for buying and 3 paise for selling against USD, closing at 278.21 and 279.06, respectively.</p>
<p>Against Euro, the PKR gained 20 paise for buying and lost 5 paise for selling, closing at 322.29 and 325.23, respectively.</p>
<p>Against UAE Dirham, the PKR remained unchanged for both buying and selling, closing at 75.67 and 76.28, respectively.</p>
<p>Against Saudi Riyal, the PKR gained 2 paise for buying and lost 3 paise for selling, closing at 73.96 and 74.51, respectively.</p>
<p><strong>Open-market rates for dollar on Tuesday</strong></p>
<p>BID Rs 278.21</p>
<p>OFFER Rs 279.06</p>
]]></content:encoded>
      <category>Markets</category>
      <guid>https://www.brecorder.com/news/40438476</guid>
      <pubDate>Tue, 08 Sep 2026 19:16:55 +0500</pubDate>
      <author>none@none.com (Recorder Report)</author>
      <media:content url="https://i.brecorder.com/large/2026/09/08163228976a1ed.webp" type="image/webp" medium="image" height="768" width="1024">
        <media:thumbnail url="https://i.brecorder.com/thumbnail/2026/09/08163228976a1ed.webp"/>
        <media:title/>
      </media:content>
    </item>
    <item xmlns:default="http://purl.org/rss/1.0/modules/content/">
      <title>Rupee registers gain against US dollar</title>
      <link>https://www.brecorder.com/news/40438311/intra-day-update-rupee-records-gain-against-us-dollar</link>
      <description>&lt;iframe id="raw-html-6a9ed49f808b7" class="raw-html-embed" style="width: 100%; min-height: 50px; max-height: 9200px; border: none; overflow: hidden;" scrolling="no" srcdoc="&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html&amp;gt;
&amp;lt;head&amp;gt;
    &amp;lt;style&amp;gt;
        body { margin: 0; padding: 0; font-family: system-ui, -apple-system, sans-serif; overflow-wrap: anywhere; }
    &amp;lt;/style&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
    
&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html lang=&amp;quot;en&amp;quot;&amp;gt;
&amp;lt;head&amp;gt;
    &amp;lt;meta charset=&amp;quot;UTF-8&amp;quot;&amp;gt;
    &amp;lt;meta name=&amp;quot;viewport&amp;quot; content=&amp;quot;width=device-width, initial-scale=1.0&amp;quot;&amp;gt;
    &amp;lt;title&amp;gt;PKR vs USD Exchange Rate Chart&amp;lt;/title&amp;gt;
    &amp;lt;!-- Chart.js for interactive rendering --&amp;gt;
    &amp;lt;script src=&amp;quot;https://cdn.jsdelivr.net/npm/chart.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;
    
    &amp;lt;style&amp;gt;
        @import url(&amp;#039;https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght=400;500;600;700&amp;amp;display=swap&amp;#039;);

        #pkr-chart-embed {
            font-family: &amp;#039;Plus Jakarta Sans&amp;#039;, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, sans-serif;
            max-width: 1000px;
            width: 100%;
            margin: 24px auto;
            background-color: #ffffff;
            border: 1px solid #e2e8f0;
            border-radius: 20px;
            padding: 24px;
            box-shadow: 0 10px 25px -5px rgba(15, 23, 42, 0.05), 0 8px 10px -6px rgba(15, 23, 42, 0.05);
            color: #0f172a;
            box-sizing: border-box;
        }

        #pkr-chart-embed * { box-sizing: border-box; margin: 0; padding: 0; }

        #pkr-chart-embed .chart-header {
            display: flex;
            flex-direction: column;
            gap: 20px;
            margin-bottom: 20px;
            width: 100%;
        }

        #pkr-chart-embed .top-row {
            display: flex;
            flex-direction: row;
            justify-content: space-between;
            align-items: flex-start;
            gap: 20px;
        }

        #pkr-chart-embed .calculator-area {
            display: flex;
            flex-direction: column;
            gap: 8px;
            align-items: flex-start;
        }

        #pkr-chart-embed .main-title {
            font-size: 22px;
            font-weight: 700;
            color: #0f172a;
            letter-spacing: -0.025em;
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            gap: 10px;
        }

        #pkr-chart-embed .currency-badge {
            font-size: 11px;
            font-weight: 600;
            color: #4f46e5;
            background-color: rgba(79, 70, 229, 0.08);
            padding: 3px 10px;
            border-radius: 9999px;
            border: 1px solid rgba(79, 70, 229, 0.15);
            text-transform: uppercase;
        }

        #pkr-chart-embed .calculator-title {
            font-size: 10px;
            font-weight: 700;
            color: #64748b;
            text-transform: uppercase;
            letter-spacing: 0.05em;
        }

        #pkr-chart-embed .converter {
            display: flex;
            align-items: center;
            background: #f8fafc;
            border: 1px solid #e2e8f0;
            border-radius: 12px;
            padding: 4px;
            gap: 6px;
        }

        #pkr-chart-embed .converter-group {
            display: flex;
            align-items: center;
            background: #ffffff;
            border-radius: 8px;
            padding: 6px 10px;
            box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
            border: 1px solid #e2e8f0;
        }

        #pkr-chart-embed .converter-input {
            border: none;
            outline: none;
            width: 90px;
            font-family: inherit;
            font-weight: 700;
            color: #0f172a;
            font-size: 14px;
            text-align: right;
            background: transparent;
        }

        #pkr-chart-embed .converter-input.pkr-field { width: 120px; }

        #pkr-chart-embed .converter-label {
            font-size: 11px;
            font-weight: 700;
            color: #64748b;
            margin-left: 6px;
        }

        #pkr-chart-embed .equals-sign { color: #94a3b8; font-weight: 600; font-size: 16px; }

        #pkr-chart-embed .rate-badge-container {
            display: flex;
            flex-direction: column;
            align-items: flex-end;
            gap: 6px;
        }

        #pkr-chart-embed .rate-label-sub { text-align: right; }
        #pkr-chart-embed .rate-label-sub span:first-child { display: block; font-size: 9px; text-transform: uppercase; font-weight: 700; color: #64748b; }
        #pkr-chart-embed .rate-label-sub span:last-child { display: block; font-size: 12px; color: #334155; font-weight: 600; }

        #pkr-chart-embed .rate-badge {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            background: linear-gradient(135deg, #4f46e5, #3b82f6);
            color: #ffffff;
            font-weight: 700;
            font-size: 14px;
            padding: 8px 14px;
            border-radius: 12px;
            box-shadow: 0 8px 16px -3px rgba(79, 70, 229, 0.25);
        }

        #pkr-chart-embed .pulse-dot { width: 8px; height: 8px; border-radius: 50%; background-color: #ffffff; animation: pkrPulse 1.5s infinite; }

        @keyframes pkrPulse {
            0% { transform: scale(0.95); opacity: 0.6; }
            50% { transform: scale(1.15); opacity: 1; }
            100% { transform: scale(0.95); opacity: 0.6; }
        }

        /* Controls &amp;amp; Stats Toolbar */
        #pkr-chart-embed .toolbar {
            display: flex;
            justify-content: space-between;
            align-items: center;
            flex-wrap: wrap;
            gap: 12px;
            margin-bottom: 16px;
            padding-bottom: 12px;
            border-bottom: 1px solid #f1f5f9;
        }

        #pkr-chart-embed .timeframe-selector {
            display: flex;
            gap: 4px;
            background: #f1f5f9;
            padding: 3px;
            border-radius: 10px;
        }

        #pkr-chart-embed .tf-btn {
            border: none;
            background: transparent;
            font-family: inherit;
            font-size: 12px;
            font-weight: 600;
            color: #64748b;
            padding: 5px 12px;
            border-radius: 7px;
            cursor: pointer;
            transition: all 0.2s ease;
        }

        #pkr-chart-embed .tf-btn.active {
            background: #ffffff;
            color: #4f46e5;
            box-shadow: 0 1px 3px rgba(0,0,0,0.1);
        }

        #pkr-chart-embed .stats-row {
            display: flex;
            gap: 16px;
            flex-wrap: wrap;
        }

        #pkr-chart-embed .stat-item {
            font-size: 12px;
            color: #64748b;
        }

        #pkr-chart-embed .stat-item strong {
            color: #0f172a;
            font-weight: 700;
        }

        #pkr-chart-embed .chart-canvas-container { position: relative; width: 100%; height: 380px; }

        @media (max-width: 768px) {
            #pkr-chart-embed .chart-canvas-container { height: 300px; }
            #pkr-chart-embed .top-row { flex-direction: column; align-items: flex-start; }
            #pkr-chart-embed .rate-badge-container { align-items: flex-start; }
            #pkr-chart-embed .rate-label-sub { text-align: left; }
            #pkr-chart-embed .toolbar { flex-direction: column; align-items: flex-start; }
        }
    &amp;lt;/style&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
    &amp;lt;div id=&amp;quot;pkr-chart-embed&amp;quot;&amp;gt;
        &amp;lt;div class=&amp;quot;chart-header&amp;quot;&amp;gt;
            &amp;lt;h1 class=&amp;quot;main-title&amp;quot;&amp;gt;
                &amp;lt;span&amp;gt;PKR vs USD Exchange Rate&amp;lt;/span&amp;gt;
                &amp;lt;span class=&amp;quot;currency-badge&amp;quot;&amp;gt;USD / PKR&amp;lt;/span&amp;gt;
            &amp;lt;/h1&amp;gt;

            &amp;lt;div class=&amp;quot;top-row&amp;quot;&amp;gt;
                &amp;lt;div class=&amp;quot;calculator-area&amp;quot;&amp;gt;
                    &amp;lt;span class=&amp;quot;calculator-title&amp;quot;&amp;gt;Calculator&amp;lt;/span&amp;gt;
                    &amp;lt;div class=&amp;quot;converter&amp;quot;&amp;gt;
                        &amp;lt;div class=&amp;quot;converter-group&amp;quot;&amp;gt;
                            &amp;lt;input type=&amp;quot;text&amp;quot; inputmode=&amp;quot;decimal&amp;quot; id=&amp;quot;usdInput&amp;quot; class=&amp;quot;converter-input&amp;quot; value=&amp;quot;1&amp;quot;&amp;gt;
                            &amp;lt;span class=&amp;quot;converter-label&amp;quot;&amp;gt;USD&amp;lt;/span&amp;gt;
                        &amp;lt;/div&amp;gt;
                        &amp;lt;span class=&amp;quot;equals-sign&amp;quot;&amp;gt;=&amp;lt;/span&amp;gt;
                        &amp;lt;div class=&amp;quot;converter-group&amp;quot;&amp;gt;
                            &amp;lt;input type=&amp;quot;text&amp;quot; inputmode=&amp;quot;decimal&amp;quot; id=&amp;quot;pkrInput&amp;quot; class=&amp;quot;converter-input pkr-field&amp;quot; value=&amp;quot;&amp;quot;&amp;gt;
                            &amp;lt;span class=&amp;quot;converter-label&amp;quot;&amp;gt;PKR&amp;lt;/span&amp;gt;
                        &amp;lt;/div&amp;gt;
                    &amp;lt;/div&amp;gt;
                &amp;lt;/div&amp;gt;

                &amp;lt;div class=&amp;quot;rate-badge-container&amp;quot;&amp;gt;
                    &amp;lt;div class=&amp;quot;rate-label-sub&amp;quot;&amp;gt;
                        &amp;lt;span&amp;gt;Latest Closing&amp;lt;/span&amp;gt;
                        &amp;lt;span id=&amp;quot;latestDateLabel&amp;quot;&amp;gt;04-Sep-26&amp;lt;/span&amp;gt;
                    &amp;lt;/div&amp;gt;
                    &amp;lt;div class=&amp;quot;rate-badge&amp;quot;&amp;gt;
                        &amp;lt;span class=&amp;quot;pulse-dot&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;
                        &amp;lt;span id=&amp;quot;latestBadgeRate&amp;quot;&amp;gt;277.41 PKR&amp;lt;/span&amp;gt;
                    &amp;lt;/div&amp;gt;
                &amp;lt;/div&amp;gt;
            &amp;lt;/div&amp;gt;
        &amp;lt;/div&amp;gt;

        &amp;lt;div class=&amp;quot;toolbar&amp;quot;&amp;gt;
            &amp;lt;div class=&amp;quot;timeframe-selector&amp;quot;&amp;gt;
                &amp;lt;button class=&amp;quot;tf-btn&amp;quot; data-range=&amp;quot;30&amp;quot;&amp;gt;1M&amp;lt;/button&amp;gt;
                &amp;lt;button class=&amp;quot;tf-btn&amp;quot; data-range=&amp;quot;90&amp;quot;&amp;gt;3M&amp;lt;/button&amp;gt;
                &amp;lt;button class=&amp;quot;tf-btn&amp;quot; data-range=&amp;quot;180&amp;quot;&amp;gt;6M&amp;lt;/button&amp;gt;
                &amp;lt;button class=&amp;quot;tf-btn&amp;quot; data-range=&amp;quot;365&amp;quot;&amp;gt;1Y&amp;lt;/button&amp;gt;
                &amp;lt;button class=&amp;quot;tf-btn active&amp;quot; data-range=&amp;quot;all&amp;quot;&amp;gt;ALL&amp;lt;/button&amp;gt;
            &amp;lt;/div&amp;gt;

            &amp;lt;div class=&amp;quot;stats-row&amp;quot;&amp;gt;
                &amp;lt;span class=&amp;quot;stat-item&amp;quot;&amp;gt;High: &amp;lt;strong id=&amp;quot;statHigh&amp;quot;&amp;gt;--&amp;lt;/strong&amp;gt;&amp;lt;/span&amp;gt;
                &amp;lt;span class=&amp;quot;stat-item&amp;quot;&amp;gt;Low: &amp;lt;strong id=&amp;quot;statLow&amp;quot;&amp;gt;--&amp;lt;/strong&amp;gt;&amp;lt;/span&amp;gt;
                &amp;lt;span class=&amp;quot;stat-item&amp;quot;&amp;gt;Avg: &amp;lt;strong id=&amp;quot;statAvg&amp;quot;&amp;gt;--&amp;lt;/strong&amp;gt;&amp;lt;/span&amp;gt;
                &amp;lt;span class=&amp;quot;stat-item&amp;quot;&amp;gt;Change: &amp;lt;strong id=&amp;quot;statChange&amp;quot;&amp;gt;--&amp;lt;/strong&amp;gt;&amp;lt;/span&amp;gt;
            &amp;lt;/div&amp;gt;
        &amp;lt;/div&amp;gt;

        &amp;lt;div class=&amp;quot;chart-canvas-container&amp;quot;&amp;gt;
            &amp;lt;canvas id=&amp;quot;closingRatesChart&amp;quot;&amp;gt;&amp;lt;/canvas&amp;gt;
        &amp;lt;/div&amp;gt;
    &amp;lt;/div&amp;gt;

    &amp;lt;script&amp;gt;
        (function() {
            // Full historical closing rate dataset
            const rawLabels = [&amp;quot;04-Mar-25&amp;quot;, &amp;quot;05-Mar-25&amp;quot;, &amp;quot;06-Mar-25&amp;quot;, &amp;quot;07-Mar-25&amp;quot;, &amp;quot;10-Mar-25&amp;quot;, &amp;quot;11-Mar-25&amp;quot;, &amp;quot;12-Mar-25&amp;quot;, &amp;quot;13-Mar-25&amp;quot;, &amp;quot;14-Mar-25&amp;quot;, &amp;quot;17-Mar-25&amp;quot;, &amp;quot;18-Mar-25&amp;quot;, &amp;quot;19-Mar-25&amp;quot;, &amp;quot;20-Mar-25&amp;quot;, &amp;quot;21-Mar-25&amp;quot;, &amp;quot;24-Mar-25&amp;quot;, &amp;quot;25-Mar-25&amp;quot;, &amp;quot;26-Mar-25&amp;quot;, &amp;quot;27-Mar-25&amp;quot;, &amp;quot;28-Mar-25&amp;quot;, &amp;quot;03-Apr-25&amp;quot;, &amp;quot;04-Apr-25&amp;quot;, &amp;quot;07-Apr-25&amp;quot;, &amp;quot;08-Apr-25&amp;quot;, &amp;quot;09-Apr-25&amp;quot;, &amp;quot;10-Apr-25&amp;quot;, &amp;quot;11-Apr-25&amp;quot;, &amp;quot;14-Apr-25&amp;quot;, &amp;quot;15-Apr-25&amp;quot;, &amp;quot;16-Apr-25&amp;quot;, &amp;quot;17-Apr-25&amp;quot;, &amp;quot;18-Apr-25&amp;quot;, &amp;quot;21-Apr-25&amp;quot;, &amp;quot;22-Apr-25&amp;quot;, &amp;quot;23-Apr-25&amp;quot;, &amp;quot;24-Apr-25&amp;quot;, &amp;quot;25-Apr-25&amp;quot;, &amp;quot;28-Apr-25&amp;quot;, &amp;quot;29-Apr-25&amp;quot;, &amp;quot;30-Apr-25&amp;quot;, &amp;quot;02-May-25&amp;quot;, &amp;quot;05-May-25&amp;quot;, &amp;quot;06-May-25&amp;quot;, &amp;quot;07-May-25&amp;quot;, &amp;quot;08-May-25&amp;quot;, &amp;quot;09-May-25&amp;quot;, &amp;quot;12-May-25&amp;quot;, &amp;quot;13-May-25&amp;quot;, &amp;quot;14-May-25&amp;quot;, &amp;quot;15-May-25&amp;quot;, &amp;quot;16-May-25&amp;quot;, &amp;quot;19-May-25&amp;quot;, &amp;quot;20-May-25&amp;quot;, &amp;quot;21-May-25&amp;quot;, &amp;quot;22-May-25&amp;quot;, &amp;quot;23-May-25&amp;quot;, &amp;quot;26-May-25&amp;quot;, &amp;quot;27-May-25&amp;quot;, &amp;quot;29-May-25&amp;quot;, &amp;quot;30-May-25&amp;quot;, &amp;quot;02-Jun-25&amp;quot;, &amp;quot;03-Jun-25&amp;quot;, &amp;quot;04-Jun-25&amp;quot;, &amp;quot;05-Jun-25&amp;quot;, &amp;quot;10-Jun-25&amp;quot;, &amp;quot;11-Jun-25&amp;quot;, &amp;quot;12-Jun-25&amp;quot;, &amp;quot;13-Jun-25&amp;quot;, &amp;quot;16-Jun-25&amp;quot;, &amp;quot;17-Jun-25&amp;quot;, &amp;quot;18-Jun-25&amp;quot;, &amp;quot;19-Jun-25&amp;quot;, &amp;quot;20-Jun-25&amp;quot;, &amp;quot;23-Jun-25&amp;quot;, &amp;quot;24-Jun-25&amp;quot;, &amp;quot;25-Jun-25&amp;quot;, &amp;quot;26-Jun-25&amp;quot;, &amp;quot;27-Jun-25&amp;quot;, &amp;quot;30-Jun-25&amp;quot;, &amp;quot;02-Jul-25&amp;quot;, &amp;quot;03-Jul-25&amp;quot;, &amp;quot;04-Jul-25&amp;quot;, &amp;quot;07-Jul-25&amp;quot;, &amp;quot;08-Jul-25&amp;quot;, &amp;quot;09-Jul-25&amp;quot;, &amp;quot;10-Jul-25&amp;quot;, &amp;quot;11-Jul-25&amp;quot;, &amp;quot;14-Jul-25&amp;quot;, &amp;quot;15-Jul-25&amp;quot;, &amp;quot;16-Jul-25&amp;quot;, &amp;quot;17-Jul-25&amp;quot;, &amp;quot;18-Jul-25&amp;quot;, &amp;quot;21-Jul-25&amp;quot;, &amp;quot;22-Jul-25&amp;quot;, &amp;quot;23-Jul-25&amp;quot;, &amp;quot;24-Jul-25&amp;quot;, &amp;quot;25-Jul-25&amp;quot;, &amp;quot;28-Jul-25&amp;quot;, &amp;quot;29-Jul-25&amp;quot;, &amp;quot;30-Jul-25&amp;quot;, &amp;quot;31-Jul-25&amp;quot;, &amp;quot;01-Aug-25&amp;quot;, &amp;quot;04-Aug-25&amp;quot;, &amp;quot;05-Aug-25&amp;quot;, &amp;quot;06-Aug-25&amp;quot;, &amp;quot;07-Aug-25&amp;quot;, &amp;quot;08-Aug-25&amp;quot;, &amp;quot;11-Aug-25&amp;quot;, &amp;quot;12-Aug-25&amp;quot;, &amp;quot;13-Aug-25&amp;quot;, &amp;quot;15-Aug-25&amp;quot;, &amp;quot;18-Aug-25&amp;quot;, &amp;quot;19-Aug-25&amp;quot;, &amp;quot;20-Aug-25&amp;quot;, &amp;quot;21-Aug-25&amp;quot;, &amp;quot;22-Aug-25&amp;quot;, &amp;quot;25-Aug-25&amp;quot;, &amp;quot;26-Aug-25&amp;quot;, &amp;quot;27-Aug-25&amp;quot;, &amp;quot;28-Aug-25&amp;quot;, &amp;quot;29-Aug-25&amp;quot;, &amp;quot;01-Sep-25&amp;quot;, &amp;quot;02-Sep-25&amp;quot;, &amp;quot;03-Sep-25&amp;quot;, &amp;quot;04-Sep-25&amp;quot;, &amp;quot;05-Sep-25&amp;quot;, &amp;quot;08-Sep-25&amp;quot;, &amp;quot;09-Sep-25&amp;quot;, &amp;quot;10-Sep-25&amp;quot;, &amp;quot;11-Sep-25&amp;quot;, &amp;quot;12-Sep-25&amp;quot;, &amp;quot;15-Sep-25&amp;quot;, &amp;quot;16-Sep-25&amp;quot;, &amp;quot;17-Sep-25&amp;quot;, &amp;quot;18-Sep-25&amp;quot;, &amp;quot;19-Sep-25&amp;quot;, &amp;quot;21-Sep-25&amp;quot;, &amp;quot;22-Sep-25&amp;quot;, &amp;quot;23-Sep-25&amp;quot;, &amp;quot;24-Sep-25&amp;quot;, &amp;quot;25-Sep-25&amp;quot;, &amp;quot;26-Sep-25&amp;quot;, &amp;quot;29-Sep-25&amp;quot;, &amp;quot;30-Sep-25&amp;quot;, &amp;quot;01-Oct-25&amp;quot;, &amp;quot;02-Oct-25&amp;quot;, &amp;quot;03-Oct-25&amp;quot;, &amp;quot;06-Oct-25&amp;quot;, &amp;quot;07-Oct-25&amp;quot;, &amp;quot;08-Oct-25&amp;quot;, &amp;quot;09-Oct-25&amp;quot;, &amp;quot;10-Oct-25&amp;quot;, &amp;quot;13-Oct-25&amp;quot;, &amp;quot;14-Oct-25&amp;quot;, &amp;quot;15-Oct-25&amp;quot;, &amp;quot;16-Oct-25&amp;quot;, &amp;quot;17-Oct-25&amp;quot;, &amp;quot;20-Oct-25&amp;quot;, &amp;quot;21-Oct-25&amp;quot;, &amp;quot;22-Oct-25&amp;quot;, &amp;quot;23-Oct-25&amp;quot;, &amp;quot;24-Oct-25&amp;quot;, &amp;quot;27-Oct-25&amp;quot;, &amp;quot;28-Oct-25&amp;quot;, &amp;quot;29-Oct-25&amp;quot;, &amp;quot;30-Oct-25&amp;quot;, &amp;quot;31-Oct-25&amp;quot;, &amp;quot;03-Nov-25&amp;quot;, &amp;quot;04-Nov-25&amp;quot;, &amp;quot;05-Nov-25&amp;quot;, &amp;quot;06-Nov-25&amp;quot;, &amp;quot;07-Nov-25&amp;quot;, &amp;quot;10-Nov-25&amp;quot;, &amp;quot;11-Nov-25&amp;quot;, &amp;quot;12-Nov-25&amp;quot;, &amp;quot;13-Nov-25&amp;quot;, &amp;quot;14-Nov-25&amp;quot;, &amp;quot;17-Nov-25&amp;quot;, &amp;quot;18-Nov-25&amp;quot;, &amp;quot;19-Nov-25&amp;quot;, &amp;quot;20-Nov-25&amp;quot;, &amp;quot;21-Nov-25&amp;quot;, &amp;quot;24-Nov-25&amp;quot;, &amp;quot;25-Nov-25&amp;quot;, &amp;quot;26-Nov-25&amp;quot;, &amp;quot;27-Nov-25&amp;quot;, &amp;quot;28-Nov-25&amp;quot;, &amp;quot;01-Dec-25&amp;quot;, &amp;quot;02-Dec-25&amp;quot;, &amp;quot;03-Dec-25&amp;quot;, &amp;quot;04-Dec-25&amp;quot;, &amp;quot;05-Dec-25&amp;quot;, &amp;quot;08-Dec-25&amp;quot;, &amp;quot;09-Dec-25&amp;quot;, &amp;quot;10-Dec-25&amp;quot;, &amp;quot;11-Dec-25&amp;quot;, &amp;quot;12-Dec-25&amp;quot;, &amp;quot;15-Dec-25&amp;quot;, &amp;quot;16-Dec-25&amp;quot;, &amp;quot;17-Dec-25&amp;quot;, &amp;quot;18-Dec-25&amp;quot;, &amp;quot;19-Dec-25&amp;quot;, &amp;quot;22-Dec-25&amp;quot;, &amp;quot;23-Dec-25&amp;quot;, &amp;quot;24-Dec-25&amp;quot;, &amp;quot;26-Dec-25&amp;quot;, &amp;quot;29-Dec-25&amp;quot;, &amp;quot;30-Dec-25&amp;quot;, &amp;quot;31-Dec-25&amp;quot;, &amp;quot;02-Jan-26&amp;quot;, &amp;quot;05-Jan-26&amp;quot;, &amp;quot;06-Jan-26&amp;quot;, &amp;quot;07-Jan-26&amp;quot;, &amp;quot;08-Jan-26&amp;quot;, &amp;quot;09-Jan-26&amp;quot;, &amp;quot;12-Jan-26&amp;quot;, &amp;quot;13-Jan-26&amp;quot;, &amp;quot;14-Jan-26&amp;quot;, &amp;quot;15-Jan-26&amp;quot;, &amp;quot;16-Jan-26&amp;quot;, &amp;quot;19-Jan-26&amp;quot;, &amp;quot;20-Jan-26&amp;quot;, &amp;quot;21-Jan-26&amp;quot;, &amp;quot;22-Jan-26&amp;quot;, &amp;quot;23-Jan-26&amp;quot;, &amp;quot;26-Jan-26&amp;quot;, &amp;quot;27-Jan-26&amp;quot;, &amp;quot;28-Jan-26&amp;quot;, &amp;quot;29-Jan-26&amp;quot;, &amp;quot;30-Jan-26&amp;quot;, &amp;quot;02-Feb-26&amp;quot;, &amp;quot;03-Feb-26&amp;quot;, &amp;quot;04-Feb-26&amp;quot;, &amp;quot;06-Feb-26&amp;quot;, &amp;quot;09-Feb-26&amp;quot;, &amp;quot;10-Feb-26&amp;quot;, &amp;quot;11-Feb-26&amp;quot;, &amp;quot;12-Feb-26&amp;quot;, &amp;quot;13-Feb-26&amp;quot;, &amp;quot;16-Feb-26&amp;quot;, &amp;quot;17-Feb-26&amp;quot;, &amp;quot;18-Feb-26&amp;quot;, &amp;quot;20-Feb-26&amp;quot;, &amp;quot;23-Feb-26&amp;quot;, &amp;quot;24-Feb-26&amp;quot;, &amp;quot;25-Feb-26&amp;quot;, &amp;quot;26-Feb-26&amp;quot;, &amp;quot;27-Feb-26&amp;quot;, &amp;quot;02-Mar-26&amp;quot;, &amp;quot;03-Mar-26&amp;quot;, &amp;quot;04-Mar-26&amp;quot;, &amp;quot;05-Mar-26&amp;quot;, &amp;quot;06-Mar-26&amp;quot;, &amp;quot;09-Mar-26&amp;quot;, &amp;quot;10-Mar-26&amp;quot;, &amp;quot;11-Mar-26&amp;quot;, &amp;quot;12-Mar-26&amp;quot;, &amp;quot;13-Mar-26&amp;quot;, &amp;quot;16-Mar-26&amp;quot;, &amp;quot;17-Mar-26&amp;quot;, &amp;quot;18-Mar-26&amp;quot;, &amp;quot;19-Mar-26&amp;quot;, &amp;quot;24-Mar-26&amp;quot;, &amp;quot;25-Mar-26&amp;quot;, &amp;quot;26-Mar-26&amp;quot;, &amp;quot;27-Mar-26&amp;quot;, &amp;quot;30-Mar-26&amp;quot;, &amp;quot;31-Mar-26&amp;quot;, &amp;quot;01-Apr-26&amp;quot;, &amp;quot;02-Apr-26&amp;quot;, &amp;quot;03-Apr-26&amp;quot;, &amp;quot;04-Apr-26&amp;quot;, &amp;quot;06-Apr-26&amp;quot;, &amp;quot;07-Apr-26&amp;quot;, &amp;quot;08-Apr-26&amp;quot;, &amp;quot;09-Apr-26&amp;quot;, &amp;quot;10-Apr-26&amp;quot;, &amp;quot;13-Apr-26&amp;quot;, &amp;quot;14-Apr-26&amp;quot;, &amp;quot;14-Apr-26&amp;quot;, &amp;quot;15-Apr-26&amp;quot;, &amp;quot;16-Apr-26&amp;quot;, &amp;quot;17-Apr-26&amp;quot;, &amp;quot;20-Apr-26&amp;quot;, &amp;quot;21-Apr-26&amp;quot;, &amp;quot;22-Apr-26&amp;quot;, &amp;quot;23-Apr-26&amp;quot;, &amp;quot;24-Apr-26&amp;quot;, &amp;quot;27-Apr-26&amp;quot;, &amp;quot;28-Apr-26&amp;quot;, &amp;quot;29-Apr-26&amp;quot;, &amp;quot;30-Apr-26&amp;quot;, &amp;quot;04-May-26&amp;quot;, &amp;quot;05-May-26&amp;quot;, &amp;quot;06-May-26&amp;quot;, &amp;quot;07-May-26&amp;quot;, &amp;quot;08-May-26&amp;quot;, &amp;quot;11-May-26&amp;quot;, &amp;quot;12-May-26&amp;quot;, &amp;quot;13-May-26&amp;quot;, &amp;quot;14-May-26&amp;quot;, &amp;quot;15-May-26&amp;quot;, &amp;quot;18-May-26&amp;quot;, &amp;quot;19-May-26&amp;quot;, &amp;quot;20-May-26&amp;quot;, &amp;quot;21-May-26&amp;quot;, &amp;quot;22-May-26&amp;quot;, &amp;quot;25-May-26&amp;quot;, &amp;quot;29-May-26&amp;quot;, &amp;quot;01-Jun-26&amp;quot;, &amp;quot;02-Jun-26&amp;quot;, &amp;quot;03-Jun-26&amp;quot;, &amp;quot;04-Jun-26&amp;quot;, &amp;quot;05-Jun-26&amp;quot;, &amp;quot;08-Jun-26&amp;quot;, &amp;quot;09-Jun-26&amp;quot;, &amp;quot;10-Jun-26&amp;quot;, &amp;quot;11-Jun-26&amp;quot;, &amp;quot;12-Jun-26&amp;quot;, &amp;quot;15-Jun-26&amp;quot;, &amp;quot;16-Jun-26&amp;quot;, &amp;quot;17-Jun-26&amp;quot;, &amp;quot;18-Jun-26&amp;quot;, &amp;quot;19-Jun-26&amp;quot;, &amp;quot;22-Jun-26&amp;quot;, &amp;quot;23-Jun-26&amp;quot;, &amp;quot;24-Jun-26&amp;quot;, &amp;quot;29-Jun-26&amp;quot;, &amp;quot;30-Jun-26&amp;quot;, &amp;quot;02-Jul-26&amp;quot;, &amp;quot;03-Jul-26&amp;quot;, &amp;quot;06-Jul-26&amp;quot;, &amp;quot;07-Jul-26&amp;quot;, &amp;quot;08-Jul-26&amp;quot;, &amp;quot;09-Jul-26&amp;quot;, &amp;quot;10-Jul-26&amp;quot;, &amp;quot;13-Jul-26&amp;quot;, &amp;quot;14-Jul-26&amp;quot;, &amp;quot;15-Jul-26&amp;quot;, &amp;quot;16-Jul-26&amp;quot;, &amp;quot;17-Jul-26&amp;quot;, &amp;quot;20-Jul-26&amp;quot;, &amp;quot;21-Jul-26&amp;quot;, &amp;quot;22-Jul-26&amp;quot;, &amp;quot;23-Jul-26&amp;quot;, &amp;quot;24-Jul-26&amp;quot;, &amp;quot;27-Jul-26&amp;quot;, &amp;quot;28-Jul-26&amp;quot;, &amp;quot;29-Jul-26&amp;quot;, &amp;quot;30-Jul-26&amp;quot;, &amp;quot;03-Aug-26&amp;quot;, &amp;quot;04-Aug-26&amp;quot;, &amp;quot;05-Aug-26&amp;quot;, &amp;quot;06-Aug-26&amp;quot;, &amp;quot;07-Aug-26&amp;quot;, &amp;quot;10-Aug-26&amp;quot;, &amp;quot;11-Aug-26&amp;quot;, &amp;quot;12-Aug-26&amp;quot;, &amp;quot;13-Aug-26&amp;quot;, &amp;quot;17-Aug-26&amp;quot;, &amp;quot;18-Aug-26&amp;quot;, &amp;quot;20-Aug-26&amp;quot;, &amp;quot;21-Aug-26&amp;quot;, &amp;quot;24-Aug-26&amp;quot;, &amp;quot;25-Aug-26&amp;quot;, &amp;quot;27-Aug-26&amp;quot;, &amp;quot;28-Aug-26&amp;quot;, &amp;quot;31-Aug-26&amp;quot;, &amp;quot;01-Sep-26&amp;quot;, &amp;quot;02-Sep-26&amp;quot;, &amp;quot;03-Sep-26&amp;quot;, &amp;quot;04-Sep-26&amp;quot;, &amp;quot;07-Sep-26&amp;quot;];
            
            const rawData = [279.77, 279.87, 279.82, 279.97, 280.07, 279.95, 279.97, 280.05, 280.21, 280.17, 280.27, 280.21, 280.22, 280.26, 280.37, 280.42, 280.26, 280.22, 280.16, 280.56, 280.47, 280.57, 280.73, 280.78, 280.56, 280.47, 280.60, 280.57, 280.46, 280.62, 280.72, 280.87, 280.77, 280.97, 281.07, 280.97, 281.07, 281.02, 280.97, 281.06, 281.22, 281.37, 281.47, 281.52, 281.71, 281.57, 281.67, 281.72, 281.61, 281.66, 281.77, 281.92, 281.97, 282.06, 281.97, 282.06, 282.17, 282.07, 282.02, 281.97, 282.12, 282.22, 282.17, 282.21, 282.47, 282.67, 282.96, 283.17, 283.41, 283.55, 283.64, 283.70, 283.87, 283.77, 283.72, 283.67, 283.72, 283.76, 283.95, 283.86, 283.97, 284.22, 284.36, 284.47, 284.56, 284.46, 284.72, 284.67, 284.96, 284.97, 284.87, 284.95, 284.97, 284.76, 284.22, 283.45, 283.21, 283.05, 282.95, 282.87, 282.72, 282.66, 282.57, 282.67, 282.56, 282.47, 282.45, 282.42, 282.22, 282.06, 282.01, 281.96, 281.95, 281.92, 281.90, 281.87, 281.86, 281.83, 281.80, 281.77, 281.75, 281.72, 281.71, 281.67, 281.65, 281.62, 281.61, 281.60, 281.56, 281.55, 281.52, 281.51, 281.50, 281.47, 281.46, 281.45, 281.46, 281.42, 281.43, 281.41, 281.37, 281.35, 281.32, 281.31, 281.27, 281.26, 281.25, 281.22, 281.21, 281.20, 281.17, 281.16, 281.15, 281.12, 281.11, 281.10, 281.07, 281.06, 281.05, 281.03, 281.02, 281.01, 280.97, 280.96, 280.92, 280.91, 280.90, 280.87, 280.86, 280.85, 280.82, 280.81, 280.78, 280.77, 280.76, 280.72, 280.71, 280.67, 280.66, 280.66, 280.65, 280.62, 280.61, 280.57, 280.56, 280.55, 280.52, 280.51, 280.47, 280.46, 280.45, 280.42, 280.41, 280.40, 280.37, 280.36, 280.32, 280.31, 280.30, 280.27, 280.26, 280.25, 280.22, 280.21, 280.20, 280.17, 280.16, 280.15, 280.12, 280.11, 280.10, 280.07, 280.06, 280.05, 280.02, 280.01, 280.00, 279.97, 279.96, 279.95, 279.92, 279.91, 279.90, 279.87, 279.86, 279.85, 279.82, 279.81, 279.80, 279.77, 279.76, 279.75, 279.72, 279.71, 279.70, 279.67, 279.66, 279.65, 279.62, 279.61, 279.60, 279.57, 279.56, 279.55, 279.52, 279.51, 279.50, 279.47, 279.46, 279.45, 279.42, 279.41, 279.40, 279.37, 279.36, 279.35, 279.32, 279.31, 279.30, 279.27, 279.26, 279.25, 279.22, 279.21, 279.20, 279.17, 279.16, 279.15, 279.12, 279.11, 279.10, 279.07, 279.06, 279.05, 279.02, 279.01, 279.00, 278.97, 278.96, 278.95, 278.92, 278.91, 278.90, 278.87, 278.86, 278.85, 278.82, 278.81, 278.80, 278.77, 278.76, 278.75, 278.72, 278.71, 278.70, 278.67, 278.66, 278.65, 278.62, 278.61, 278.60, 278.57, 278.56, 278.55, 278.52, 278.51, 278.50, 278.47, 278.46, 278.45, 278.42, 278.41, 278.40, 278.37, 278.36, 278.35, 278.32, 278.31, 278.30, 278.27, 278.26, 278.25, 278.22, 278.21, 278.20, 278.17, 278.16, 278.15, 278.12, 278.11, 278.10, 278.07, 278.06, 278.05, 278.02, 278.01, 278.00, 277.95, 277.95, 277.92, 277.91, 277.90, 277.87, 277.86, 277.85, 277.82, 277.81, 277.80, 277.77, 277.76, 277.75, 277.72, 277.71, 277.70, 277.67, 277.66, 277.65, 277.62, 277.61, 277.57, 277.56, 277.55, 277.52, 277.51, 277.50, 277.47, 277.46, 277.45, 277.42, 277.41, 277.40];

            const currentExchangeRate = rawData[rawData.length - 1];
            const currentExchangeDate = rawLabels[rawLabels.length - 1];

            // DOM Elements
            const usdInput = document.getElementById(&amp;#039;usdInput&amp;#039;);
            const pkrInput = document.getElementById(&amp;#039;pkrInput&amp;#039;);
            const badgeEl = document.getElementById(&amp;#039;latestBadgeRate&amp;#039;);
            const dateLabelEl = document.getElementById(&amp;#039;latestDateLabel&amp;#039;);

            const statHighEl = document.getElementById(&amp;#039;statHigh&amp;#039;);
            const statLowEl = document.getElementById(&amp;#039;statLow&amp;#039;);
            const statAvgEl = document.getElementById(&amp;#039;statAvg&amp;#039;);
            const statChangeEl = document.getElementById(&amp;#039;statChange&amp;#039;);

            // Format helpers
            const formatCurrency = (val, maxDecimals = 2, minDecimals = 2) =&amp;gt; {
                if (isNaN(val) || val === null) return &amp;#039;--&amp;#039;;
                return val.toLocaleString(&amp;#039;en-US&amp;#039;, {
                    minimumFractionDigits: minDecimals,
                    maximumFractionDigits: maxDecimals
                });
            };

            const parseCurrency = (valStr) =&amp;gt; {
                if (!valStr) return NaN;
                return parseFloat(valStr.toString().replace(/,/g, &amp;#039;&amp;#039;));
            };

            // Set Initial Values in UI
            dateLabelEl.textContent = currentExchangeDate;
            badgeEl.textContent = formatCurrency(currentExchangeRate) + &amp;#039; PKR&amp;#039;;
            pkrInput.value = formatCurrency(currentExchangeRate);

            // Converter Event Listeners
            usdInput.addEventListener(&amp;#039;input&amp;#039;, (e) =&amp;gt; {
                const val = parseCurrency(e.target.value);
                if (isNaN(val)) {
                    pkrInput.value = &amp;#039;&amp;#039;;
                } else {
                    pkrInput.value = formatCurrency(val * currentExchangeRate);
                }
            });

            pkrInput.addEventListener(&amp;#039;input&amp;#039;, (e) =&amp;gt; {
                const val = parseCurrency(e.target.value);
                if (isNaN(val)) {
                    usdInput.value = &amp;#039;&amp;#039;;
                } else {
                    usdInput.value = formatCurrency(val / currentExchangeRate, 4, 2);
                }
            });

            usdInput.addEventListener(&amp;#039;blur&amp;#039;, (e) =&amp;gt; {
                const val = parseCurrency(e.target.value);
                if (!isNaN(val)) {
                    e.target.value = formatCurrency(val, 2, 0);
                }
            });

            pkrInput.addEventListener(&amp;#039;blur&amp;#039;, (e) =&amp;gt; {
                const val = parseCurrency(e.target.value);
                if (!isNaN(val)) {
                    e.target.value = formatCurrency(val, 2, 2);
                }
            });

            const ctx = document.getElementById(&amp;#039;closingRatesChart&amp;#039;).getContext(&amp;#039;2d&amp;#039;);
            
            // Create gradient fill
            const gradient = ctx.createLinearGradient(0, 0, 0, 350);
            gradient.addColorStop(0, &amp;#039;rgba(79, 70, 229, 0.25)&amp;#039;);
            gradient.addColorStop(1, &amp;#039;rgba(79, 70, 229, 0.0)&amp;#039;);

            let chartInstance = new Chart(ctx, {
                type: &amp;#039;line&amp;#039;,
                data: {
                    labels: rawLabels,
                    datasets: [{
                        label: &amp;#039;USD to PKR&amp;#039;,
                        data: rawData,
                        borderColor: &amp;#039;#4f46e5&amp;#039;,
                        borderWidth: 2,
                        backgroundColor: gradient,
                        fill: true,
                        tension: 0.3,
                        pointRadius: 0,
                        pointHoverRadius: 6,
                        pointHoverBackgroundColor: &amp;#039;#4f46e5&amp;#039;,
                        pointHoverBorderColor: &amp;#039;#ffffff&amp;#039;,
                        pointHoverBorderWidth: 2
                    }]
                },
                options: {
                    responsive: true,
                    maintainAspectRatio: false,
                    interaction: {
                        intersect: false,
                        mode: &amp;#039;index&amp;#039;
                    },
                    plugins: {
                        legend: { display: false },
                        tooltip: {
                            backgroundColor: &amp;#039;#0f172a&amp;#039;,
                            titleFont: { family: &amp;#039;Plus Jakarta Sans&amp;#039;, size: 12, weight: &amp;#039;bold&amp;#039; },
                            bodyFont: { family: &amp;#039;Plus Jakarta Sans&amp;#039;, size: 13 },
                            padding: 10,
                            cornerRadius: 8,
                            displayColors: false,
                            callbacks: {
                                label: function(context) {
                                    return &amp;#039;Rate: &amp;#039; + formatCurrency(context.parsed.y) + &amp;#039; PKR&amp;#039;;
                                }
                            }
                        }
                    },
                    scales: {
                        x: {
                            grid: { display: false },
                            ticks: {
                                font: { family: &amp;#039;Plus Jakarta Sans&amp;#039;, size: 11 },
                                color: &amp;#039;#64748b&amp;#039;,
                                maxTicksLimit: 8,
                                maxRotation: 0
                            }
                        },
                        y: {
                            grid: { color: &amp;#039;#f1f5f9&amp;#039; },
                            ticks: {
                                font: { family: &amp;#039;Plus Jakarta Sans&amp;#039;, size: 11 },
                                color: &amp;#039;#64748b&amp;#039;,
                                callback: function(value) {
                                    return value.toFixed(1);
                                }
                            }
                        }
                    }
                }
            });

            function updateRangeStats(labels, data) {
                if (!data || data.length === 0) return;

                const high = Math.max(...data);
                const low = Math.min(...data);
                const avg = data.reduce((a, b) =&amp;gt; a + b, 0) / data.length;
                const startVal = data[0];
                const endVal = data[data.length - 1];
                const change = endVal - startVal;
                const changePct = (change / startVal) * 100;

                statHighEl.textContent = formatCurrency(high);
                statLowEl.textContent = formatCurrency(low);
                statAvgEl.textContent = formatCurrency(avg);

                const sign = change &amp;gt;= 0 ? &amp;#039;+&amp;#039; : &amp;#039;&amp;#039;;
                statChangeEl.textContent = `${sign}${formatCurrency(change)} (${sign}${changePct.toFixed(2)}%)`;
                statChangeEl.style.color = change &amp;gt; 0 ? &amp;#039;#10b981&amp;#039; : (change &amp;lt; 0 ? &amp;#039;#ef4444&amp;#039; : &amp;#039;#64748b&amp;#039;);
            }

            // Timeframe filtering handler
            function setTimeframe(rangeCount) {
                let slicedLabels = rawLabels;
                let slicedData = rawData;

                if (rangeCount !== &amp;#039;all&amp;#039;) {
                    const count = parseInt(rangeCount, 10);
                    slicedLabels = rawLabels.slice(-count);
                    slicedData = rawData.slice(-count);
                }

                chartInstance.data.labels = slicedLabels;
                chartInstance.data.datasets[0].data = slicedData;

                // Adjust Y axis dynamic scaling
                const minVal = Math.min(...slicedData);
                const maxVal = Math.max(...slicedData);
                const padding = (maxVal - minVal) * 0.1 || 1;
                
                chartInstance.options.scales.y.min = Math.floor((minVal - padding) * 10) / 10;
                chartInstance.options.scales.y.max = Math.ceil((maxVal + padding) * 10) / 10;

                chartInstance.update();
                updateRangeStats(slicedLabels, slicedData);
            }

            // Setup timeframe button listeners
            document.querySelectorAll(&amp;#039;#pkr-chart-embed .tf-btn&amp;#039;).forEach(btn =&amp;gt; {
                btn.addEventListener(&amp;#039;click&amp;#039;, (e) =&amp;gt; {
                    document.querySelectorAll(&amp;#039;#pkr-chart-embed .tf-btn&amp;#039;).forEach(b =&amp;gt; b.classList.remove(&amp;#039;active&amp;#039;));
                    e.target.classList.add(&amp;#039;active&amp;#039;);
                    setTimeframe(e.target.getAttribute(&amp;#039;data-range&amp;#039;));
                });
            });

            // Initial range load
            setTimeframe(&amp;#039;all&amp;#039;);
        })();
    &amp;lt;/script&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;
    &amp;lt;script&amp;gt;
        function reportHeight() {
            var h = document.documentElement.scrollHeight;
            window.parent.postMessage({ type: &amp;#039;raw-html-resize&amp;#039;, id: &amp;#039;raw-html-6a9ed49f808b7&amp;#039;, height: h }, &amp;#039;*&amp;#039;);
        }
        window.addEventListener(&amp;#039;load&amp;#039;, reportHeight);
        if (window.ResizeObserver) {
            new ResizeObserver(reportHeight).observe(document.body);
        }
    &amp;lt;/script&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;"&gt;&lt;/iframe&gt;
&lt;script&gt;
if (!window._rawHtmlListenerAttached) {
    window._rawHtmlListenerAttached = true;
    window.addEventListener('message', function(event) {
        if (event.data &amp;&amp; event.data.type === 'raw-html-resize' &amp;&amp; event.data.id) {
            var iframe = document.getElementById(event.data.id);
            if (iframe) {
                var height = Math.min(Math.max(event.data.height, 50), 9200);
                iframe.style.height = height + 'px';
            }
        }
    });
}
&lt;/script&gt;
&lt;p&gt;&lt;strong&gt;The Pakistani rupee extended its marginal gains against the US dollar on Monday.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The local unit closed the day at 277.40, a gain of Re0.01 against the greenback.&lt;/p&gt;
    &lt;figure class='media  w-full sm:w-full  media--center  media--embed  media--uneven media--tweet' data-original-src='https://x.com/StateBank_Pak/status/2096919705344950284'&gt;
        &lt;div class='media__item  media__item--twitter  '&gt;&lt;span&gt;
    &lt;blockquote class="twitter-tweet" lang="en"&gt;
        &lt;a href="https://twitter.com/StateBank_Pak/status/2096919705344950284"&gt;&lt;/a&gt;
    &lt;/blockquote&gt;
&lt;/span&gt;&lt;/div&gt;
        
    &lt;/figure&gt;
&lt;p&gt;&lt;a href="https://www.brecorder.com/news/40437940/pakistan-rupee-registers-gain-against-us-dollar"&gt;On Friday&lt;/a&gt;, the Pakistani rupee settled at 277.41 against the dollar.&lt;/p&gt;
&lt;p&gt;Internationally,&lt;a href="https://www.brecorder.com/news/40438270/dollar-gets-little-lift-from-boost-in-fed-hike-expectations"&gt; the US dollar was on shaky ground &lt;/a&gt;on ​Monday, despite a ramp-up in US rate hike bets as Middle East tensions raised the prospect of broader inflationary pressures ‌that could force global central banks to tighten policy in tandem.&lt;/p&gt;
&lt;p&gt;A shift in sentiment towards the Japanese yen and worries about ever-growing US debt and policy uncertainties also weighed on the greenback.&lt;/p&gt;
&lt;p&gt;Moves in currencies were largely subdued in early Asia trade with US markets closed for a holiday, ​though the dollar struggled to sustain a brief lift it received from Friday’s blowout US jobs report.&lt;/p&gt;
&lt;p&gt;The euro was ​up marginally at $1.1618, while sterling was little changed at $1.3519. Against a basket of currencies, the dollar ⁠fell 0.07% to 99.09, not far from its recent low of 98.558.&lt;/p&gt;
&lt;p&gt;Traders moved to price in a roughly 57% chance ​the Federal Reserve will hike rates this month in the wake of the nonfarm payrolls release, with much now depending on ​Friday’s inflation data.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.brecorder.com/news/40437899/oil-heads-for-weekly-gain-as-us-iran-fighting-resumes-diesel-hits-record-high"&gt;Oil prices&lt;/a&gt; were near six-week highs on Monday, creeping closer to $100 a barrel, as tit-for-tat strikes between the US and Iran on vessels sailing in the Strait of Hormuz and other areas kept crude oil flows in the Middle East low.&lt;/p&gt;
&lt;p&gt;Brent crude futures rose $1.19, or 1.2% to $97.47 a barrel by 1214 GMT, having earlier hit their highest point since July 24 at $97.93.&lt;/p&gt;
&lt;p&gt;US West Texas Intermediate crude also hovered near a recent six-week high at $92.26 a barrel, up 78 cents.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Inter-bank market rates for dollar on Monday&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;BID Rs 277.40&lt;/p&gt;
&lt;p&gt;OFFER Rs 277.60&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Open-market movement&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;In the open market, the PKR gained 4 paise for buying and 6 paise for selling against USD, closing at 278.25 and 279.09, respectively.&lt;/p&gt;
&lt;p&gt;Against Euro, the PKR gained 4 paise for buying and 14 paise for selling, closing at 322.49 and 325.18, respectively.&lt;/p&gt;
&lt;p&gt;Against UAE Dirham, the PKR gained 1 paisa for both buying and selling, closing at 75.67 and 76.28, respectively.&lt;/p&gt;
&lt;p&gt;Against Saudi Riyal, the PKR lost 3 paise for buying and gained 1 paisa for selling, closing at 73.98 and 74.48, respectively.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Open-market rates for dollar on Monday&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;BID Rs 278.25&lt;/p&gt;
&lt;p&gt;OFFER Rs 279.09&lt;/p&gt;
</description>
      <content:encoded xmlns="http://purl.org/rss/1.0/modules/content/"><![CDATA[<iframe id="raw-html-6a9ed49f808b7" class="raw-html-embed" style="width: 100%; min-height: 50px; max-height: 9200px; border: none; overflow: hidden;" scrolling="no" srcdoc="&lt;!DOCTYPE html&gt;
&lt;html&gt;
&lt;head&gt;
    &lt;style&gt;
        body { margin: 0; padding: 0; font-family: system-ui, -apple-system, sans-serif; overflow-wrap: anywhere; }
    &lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
    
&lt;!DOCTYPE html&gt;
&lt;html lang=&quot;en&quot;&gt;
&lt;head&gt;
    &lt;meta charset=&quot;UTF-8&quot;&gt;
    &lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1.0&quot;&gt;
    &lt;title&gt;PKR vs USD Exchange Rate Chart&lt;/title&gt;
    &lt;!-- Chart.js for interactive rendering --&gt;
    &lt;script src=&quot;https://cdn.jsdelivr.net/npm/chart.js&quot;&gt;&lt;/script&gt;
    
    &lt;style&gt;
        @import url(&#039;https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght=400;500;600;700&amp;display=swap&#039;);

        #pkr-chart-embed {
            font-family: &#039;Plus Jakarta Sans&#039;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, Roboto, sans-serif;
            max-width: 1000px;
            width: 100%;
            margin: 24px auto;
            background-color: #ffffff;
            border: 1px solid #e2e8f0;
            border-radius: 20px;
            padding: 24px;
            box-shadow: 0 10px 25px -5px rgba(15, 23, 42, 0.05), 0 8px 10px -6px rgba(15, 23, 42, 0.05);
            color: #0f172a;
            box-sizing: border-box;
        }

        #pkr-chart-embed * { box-sizing: border-box; margin: 0; padding: 0; }

        #pkr-chart-embed .chart-header {
            display: flex;
            flex-direction: column;
            gap: 20px;
            margin-bottom: 20px;
            width: 100%;
        }

        #pkr-chart-embed .top-row {
            display: flex;
            flex-direction: row;
            justify-content: space-between;
            align-items: flex-start;
            gap: 20px;
        }

        #pkr-chart-embed .calculator-area {
            display: flex;
            flex-direction: column;
            gap: 8px;
            align-items: flex-start;
        }

        #pkr-chart-embed .main-title {
            font-size: 22px;
            font-weight: 700;
            color: #0f172a;
            letter-spacing: -0.025em;
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            gap: 10px;
        }

        #pkr-chart-embed .currency-badge {
            font-size: 11px;
            font-weight: 600;
            color: #4f46e5;
            background-color: rgba(79, 70, 229, 0.08);
            padding: 3px 10px;
            border-radius: 9999px;
            border: 1px solid rgba(79, 70, 229, 0.15);
            text-transform: uppercase;
        }

        #pkr-chart-embed .calculator-title {
            font-size: 10px;
            font-weight: 700;
            color: #64748b;
            text-transform: uppercase;
            letter-spacing: 0.05em;
        }

        #pkr-chart-embed .converter {
            display: flex;
            align-items: center;
            background: #f8fafc;
            border: 1px solid #e2e8f0;
            border-radius: 12px;
            padding: 4px;
            gap: 6px;
        }

        #pkr-chart-embed .converter-group {
            display: flex;
            align-items: center;
            background: #ffffff;
            border-radius: 8px;
            padding: 6px 10px;
            box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
            border: 1px solid #e2e8f0;
        }

        #pkr-chart-embed .converter-input {
            border: none;
            outline: none;
            width: 90px;
            font-family: inherit;
            font-weight: 700;
            color: #0f172a;
            font-size: 14px;
            text-align: right;
            background: transparent;
        }

        #pkr-chart-embed .converter-input.pkr-field { width: 120px; }

        #pkr-chart-embed .converter-label {
            font-size: 11px;
            font-weight: 700;
            color: #64748b;
            margin-left: 6px;
        }

        #pkr-chart-embed .equals-sign { color: #94a3b8; font-weight: 600; font-size: 16px; }

        #pkr-chart-embed .rate-badge-container {
            display: flex;
            flex-direction: column;
            align-items: flex-end;
            gap: 6px;
        }

        #pkr-chart-embed .rate-label-sub { text-align: right; }
        #pkr-chart-embed .rate-label-sub span:first-child { display: block; font-size: 9px; text-transform: uppercase; font-weight: 700; color: #64748b; }
        #pkr-chart-embed .rate-label-sub span:last-child { display: block; font-size: 12px; color: #334155; font-weight: 600; }

        #pkr-chart-embed .rate-badge {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            background: linear-gradient(135deg, #4f46e5, #3b82f6);
            color: #ffffff;
            font-weight: 700;
            font-size: 14px;
            padding: 8px 14px;
            border-radius: 12px;
            box-shadow: 0 8px 16px -3px rgba(79, 70, 229, 0.25);
        }

        #pkr-chart-embed .pulse-dot { width: 8px; height: 8px; border-radius: 50%; background-color: #ffffff; animation: pkrPulse 1.5s infinite; }

        @keyframes pkrPulse {
            0% { transform: scale(0.95); opacity: 0.6; }
            50% { transform: scale(1.15); opacity: 1; }
            100% { transform: scale(0.95); opacity: 0.6; }
        }

        /* Controls &amp; Stats Toolbar */
        #pkr-chart-embed .toolbar {
            display: flex;
            justify-content: space-between;
            align-items: center;
            flex-wrap: wrap;
            gap: 12px;
            margin-bottom: 16px;
            padding-bottom: 12px;
            border-bottom: 1px solid #f1f5f9;
        }

        #pkr-chart-embed .timeframe-selector {
            display: flex;
            gap: 4px;
            background: #f1f5f9;
            padding: 3px;
            border-radius: 10px;
        }

        #pkr-chart-embed .tf-btn {
            border: none;
            background: transparent;
            font-family: inherit;
            font-size: 12px;
            font-weight: 600;
            color: #64748b;
            padding: 5px 12px;
            border-radius: 7px;
            cursor: pointer;
            transition: all 0.2s ease;
        }

        #pkr-chart-embed .tf-btn.active {
            background: #ffffff;
            color: #4f46e5;
            box-shadow: 0 1px 3px rgba(0,0,0,0.1);
        }

        #pkr-chart-embed .stats-row {
            display: flex;
            gap: 16px;
            flex-wrap: wrap;
        }

        #pkr-chart-embed .stat-item {
            font-size: 12px;
            color: #64748b;
        }

        #pkr-chart-embed .stat-item strong {
            color: #0f172a;
            font-weight: 700;
        }

        #pkr-chart-embed .chart-canvas-container { position: relative; width: 100%; height: 380px; }

        @media (max-width: 768px) {
            #pkr-chart-embed .chart-canvas-container { height: 300px; }
            #pkr-chart-embed .top-row { flex-direction: column; align-items: flex-start; }
            #pkr-chart-embed .rate-badge-container { align-items: flex-start; }
            #pkr-chart-embed .rate-label-sub { text-align: left; }
            #pkr-chart-embed .toolbar { flex-direction: column; align-items: flex-start; }
        }
    &lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
    &lt;div id=&quot;pkr-chart-embed&quot;&gt;
        &lt;div class=&quot;chart-header&quot;&gt;
            &lt;h1 class=&quot;main-title&quot;&gt;
                &lt;span&gt;PKR vs USD Exchange Rate&lt;/span&gt;
                &lt;span class=&quot;currency-badge&quot;&gt;USD / PKR&lt;/span&gt;
            &lt;/h1&gt;

            &lt;div class=&quot;top-row&quot;&gt;
                &lt;div class=&quot;calculator-area&quot;&gt;
                    &lt;span class=&quot;calculator-title&quot;&gt;Calculator&lt;/span&gt;
                    &lt;div class=&quot;converter&quot;&gt;
                        &lt;div class=&quot;converter-group&quot;&gt;
                            &lt;input type=&quot;text&quot; inputmode=&quot;decimal&quot; id=&quot;usdInput&quot; class=&quot;converter-input&quot; value=&quot;1&quot;&gt;
                            &lt;span class=&quot;converter-label&quot;&gt;USD&lt;/span&gt;
                        &lt;/div&gt;
                        &lt;span class=&quot;equals-sign&quot;&gt;=&lt;/span&gt;
                        &lt;div class=&quot;converter-group&quot;&gt;
                            &lt;input type=&quot;text&quot; inputmode=&quot;decimal&quot; id=&quot;pkrInput&quot; class=&quot;converter-input pkr-field&quot; value=&quot;&quot;&gt;
                            &lt;span class=&quot;converter-label&quot;&gt;PKR&lt;/span&gt;
                        &lt;/div&gt;
                    &lt;/div&gt;
                &lt;/div&gt;

                &lt;div class=&quot;rate-badge-container&quot;&gt;
                    &lt;div class=&quot;rate-label-sub&quot;&gt;
                        &lt;span&gt;Latest Closing&lt;/span&gt;
                        &lt;span id=&quot;latestDateLabel&quot;&gt;04-Sep-26&lt;/span&gt;
                    &lt;/div&gt;
                    &lt;div class=&quot;rate-badge&quot;&gt;
                        &lt;span class=&quot;pulse-dot&quot;&gt;&lt;/span&gt;
                        &lt;span id=&quot;latestBadgeRate&quot;&gt;277.41 PKR&lt;/span&gt;
                    &lt;/div&gt;
                &lt;/div&gt;
            &lt;/div&gt;
        &lt;/div&gt;

        &lt;div class=&quot;toolbar&quot;&gt;
            &lt;div class=&quot;timeframe-selector&quot;&gt;
                &lt;button class=&quot;tf-btn&quot; data-range=&quot;30&quot;&gt;1M&lt;/button&gt;
                &lt;button class=&quot;tf-btn&quot; data-range=&quot;90&quot;&gt;3M&lt;/button&gt;
                &lt;button class=&quot;tf-btn&quot; data-range=&quot;180&quot;&gt;6M&lt;/button&gt;
                &lt;button class=&quot;tf-btn&quot; data-range=&quot;365&quot;&gt;1Y&lt;/button&gt;
                &lt;button class=&quot;tf-btn active&quot; data-range=&quot;all&quot;&gt;ALL&lt;/button&gt;
            &lt;/div&gt;

            &lt;div class=&quot;stats-row&quot;&gt;
                &lt;span class=&quot;stat-item&quot;&gt;High: &lt;strong id=&quot;statHigh&quot;&gt;--&lt;/strong&gt;&lt;/span&gt;
                &lt;span class=&quot;stat-item&quot;&gt;Low: &lt;strong id=&quot;statLow&quot;&gt;--&lt;/strong&gt;&lt;/span&gt;
                &lt;span class=&quot;stat-item&quot;&gt;Avg: &lt;strong id=&quot;statAvg&quot;&gt;--&lt;/strong&gt;&lt;/span&gt;
                &lt;span class=&quot;stat-item&quot;&gt;Change: &lt;strong id=&quot;statChange&quot;&gt;--&lt;/strong&gt;&lt;/span&gt;
            &lt;/div&gt;
        &lt;/div&gt;

        &lt;div class=&quot;chart-canvas-container&quot;&gt;
            &lt;canvas id=&quot;closingRatesChart&quot;&gt;&lt;/canvas&gt;
        &lt;/div&gt;
    &lt;/div&gt;

    &lt;script&gt;
        (function() {
            // Full historical closing rate dataset
            const rawLabels = [&quot;04-Mar-25&quot;, &quot;05-Mar-25&quot;, &quot;06-Mar-25&quot;, &quot;07-Mar-25&quot;, &quot;10-Mar-25&quot;, &quot;11-Mar-25&quot;, &quot;12-Mar-25&quot;, &quot;13-Mar-25&quot;, &quot;14-Mar-25&quot;, &quot;17-Mar-25&quot;, &quot;18-Mar-25&quot;, &quot;19-Mar-25&quot;, &quot;20-Mar-25&quot;, &quot;21-Mar-25&quot;, &quot;24-Mar-25&quot;, &quot;25-Mar-25&quot;, &quot;26-Mar-25&quot;, &quot;27-Mar-25&quot;, &quot;28-Mar-25&quot;, &quot;03-Apr-25&quot;, &quot;04-Apr-25&quot;, &quot;07-Apr-25&quot;, &quot;08-Apr-25&quot;, &quot;09-Apr-25&quot;, &quot;10-Apr-25&quot;, &quot;11-Apr-25&quot;, &quot;14-Apr-25&quot;, &quot;15-Apr-25&quot;, &quot;16-Apr-25&quot;, &quot;17-Apr-25&quot;, &quot;18-Apr-25&quot;, &quot;21-Apr-25&quot;, &quot;22-Apr-25&quot;, &quot;23-Apr-25&quot;, &quot;24-Apr-25&quot;, &quot;25-Apr-25&quot;, &quot;28-Apr-25&quot;, &quot;29-Apr-25&quot;, &quot;30-Apr-25&quot;, &quot;02-May-25&quot;, &quot;05-May-25&quot;, &quot;06-May-25&quot;, &quot;07-May-25&quot;, &quot;08-May-25&quot;, &quot;09-May-25&quot;, &quot;12-May-25&quot;, &quot;13-May-25&quot;, &quot;14-May-25&quot;, &quot;15-May-25&quot;, &quot;16-May-25&quot;, &quot;19-May-25&quot;, &quot;20-May-25&quot;, &quot;21-May-25&quot;, &quot;22-May-25&quot;, &quot;23-May-25&quot;, &quot;26-May-25&quot;, &quot;27-May-25&quot;, &quot;29-May-25&quot;, &quot;30-May-25&quot;, &quot;02-Jun-25&quot;, &quot;03-Jun-25&quot;, &quot;04-Jun-25&quot;, &quot;05-Jun-25&quot;, &quot;10-Jun-25&quot;, &quot;11-Jun-25&quot;, &quot;12-Jun-25&quot;, &quot;13-Jun-25&quot;, &quot;16-Jun-25&quot;, &quot;17-Jun-25&quot;, &quot;18-Jun-25&quot;, &quot;19-Jun-25&quot;, &quot;20-Jun-25&quot;, &quot;23-Jun-25&quot;, &quot;24-Jun-25&quot;, &quot;25-Jun-25&quot;, &quot;26-Jun-25&quot;, &quot;27-Jun-25&quot;, &quot;30-Jun-25&quot;, &quot;02-Jul-25&quot;, &quot;03-Jul-25&quot;, &quot;04-Jul-25&quot;, &quot;07-Jul-25&quot;, &quot;08-Jul-25&quot;, &quot;09-Jul-25&quot;, &quot;10-Jul-25&quot;, &quot;11-Jul-25&quot;, &quot;14-Jul-25&quot;, &quot;15-Jul-25&quot;, &quot;16-Jul-25&quot;, &quot;17-Jul-25&quot;, &quot;18-Jul-25&quot;, &quot;21-Jul-25&quot;, &quot;22-Jul-25&quot;, &quot;23-Jul-25&quot;, &quot;24-Jul-25&quot;, &quot;25-Jul-25&quot;, &quot;28-Jul-25&quot;, &quot;29-Jul-25&quot;, &quot;30-Jul-25&quot;, &quot;31-Jul-25&quot;, &quot;01-Aug-25&quot;, &quot;04-Aug-25&quot;, &quot;05-Aug-25&quot;, &quot;06-Aug-25&quot;, &quot;07-Aug-25&quot;, &quot;08-Aug-25&quot;, &quot;11-Aug-25&quot;, &quot;12-Aug-25&quot;, &quot;13-Aug-25&quot;, &quot;15-Aug-25&quot;, &quot;18-Aug-25&quot;, &quot;19-Aug-25&quot;, &quot;20-Aug-25&quot;, &quot;21-Aug-25&quot;, &quot;22-Aug-25&quot;, &quot;25-Aug-25&quot;, &quot;26-Aug-25&quot;, &quot;27-Aug-25&quot;, &quot;28-Aug-25&quot;, &quot;29-Aug-25&quot;, &quot;01-Sep-25&quot;, &quot;02-Sep-25&quot;, &quot;03-Sep-25&quot;, &quot;04-Sep-25&quot;, &quot;05-Sep-25&quot;, &quot;08-Sep-25&quot;, &quot;09-Sep-25&quot;, &quot;10-Sep-25&quot;, &quot;11-Sep-25&quot;, &quot;12-Sep-25&quot;, &quot;15-Sep-25&quot;, &quot;16-Sep-25&quot;, &quot;17-Sep-25&quot;, &quot;18-Sep-25&quot;, &quot;19-Sep-25&quot;, &quot;21-Sep-25&quot;, &quot;22-Sep-25&quot;, &quot;23-Sep-25&quot;, &quot;24-Sep-25&quot;, &quot;25-Sep-25&quot;, &quot;26-Sep-25&quot;, &quot;29-Sep-25&quot;, &quot;30-Sep-25&quot;, &quot;01-Oct-25&quot;, &quot;02-Oct-25&quot;, &quot;03-Oct-25&quot;, &quot;06-Oct-25&quot;, &quot;07-Oct-25&quot;, &quot;08-Oct-25&quot;, &quot;09-Oct-25&quot;, &quot;10-Oct-25&quot;, &quot;13-Oct-25&quot;, &quot;14-Oct-25&quot;, &quot;15-Oct-25&quot;, &quot;16-Oct-25&quot;, &quot;17-Oct-25&quot;, &quot;20-Oct-25&quot;, &quot;21-Oct-25&quot;, &quot;22-Oct-25&quot;, &quot;23-Oct-25&quot;, &quot;24-Oct-25&quot;, &quot;27-Oct-25&quot;, &quot;28-Oct-25&quot;, &quot;29-Oct-25&quot;, &quot;30-Oct-25&quot;, &quot;31-Oct-25&quot;, &quot;03-Nov-25&quot;, &quot;04-Nov-25&quot;, &quot;05-Nov-25&quot;, &quot;06-Nov-25&quot;, &quot;07-Nov-25&quot;, &quot;10-Nov-25&quot;, &quot;11-Nov-25&quot;, &quot;12-Nov-25&quot;, &quot;13-Nov-25&quot;, &quot;14-Nov-25&quot;, &quot;17-Nov-25&quot;, &quot;18-Nov-25&quot;, &quot;19-Nov-25&quot;, &quot;20-Nov-25&quot;, &quot;21-Nov-25&quot;, &quot;24-Nov-25&quot;, &quot;25-Nov-25&quot;, &quot;26-Nov-25&quot;, &quot;27-Nov-25&quot;, &quot;28-Nov-25&quot;, &quot;01-Dec-25&quot;, &quot;02-Dec-25&quot;, &quot;03-Dec-25&quot;, &quot;04-Dec-25&quot;, &quot;05-Dec-25&quot;, &quot;08-Dec-25&quot;, &quot;09-Dec-25&quot;, &quot;10-Dec-25&quot;, &quot;11-Dec-25&quot;, &quot;12-Dec-25&quot;, &quot;15-Dec-25&quot;, &quot;16-Dec-25&quot;, &quot;17-Dec-25&quot;, &quot;18-Dec-25&quot;, &quot;19-Dec-25&quot;, &quot;22-Dec-25&quot;, &quot;23-Dec-25&quot;, &quot;24-Dec-25&quot;, &quot;26-Dec-25&quot;, &quot;29-Dec-25&quot;, &quot;30-Dec-25&quot;, &quot;31-Dec-25&quot;, &quot;02-Jan-26&quot;, &quot;05-Jan-26&quot;, &quot;06-Jan-26&quot;, &quot;07-Jan-26&quot;, &quot;08-Jan-26&quot;, &quot;09-Jan-26&quot;, &quot;12-Jan-26&quot;, &quot;13-Jan-26&quot;, &quot;14-Jan-26&quot;, &quot;15-Jan-26&quot;, &quot;16-Jan-26&quot;, &quot;19-Jan-26&quot;, &quot;20-Jan-26&quot;, &quot;21-Jan-26&quot;, &quot;22-Jan-26&quot;, &quot;23-Jan-26&quot;, &quot;26-Jan-26&quot;, &quot;27-Jan-26&quot;, &quot;28-Jan-26&quot;, &quot;29-Jan-26&quot;, &quot;30-Jan-26&quot;, &quot;02-Feb-26&quot;, &quot;03-Feb-26&quot;, &quot;04-Feb-26&quot;, &quot;06-Feb-26&quot;, &quot;09-Feb-26&quot;, &quot;10-Feb-26&quot;, &quot;11-Feb-26&quot;, &quot;12-Feb-26&quot;, &quot;13-Feb-26&quot;, &quot;16-Feb-26&quot;, &quot;17-Feb-26&quot;, &quot;18-Feb-26&quot;, &quot;20-Feb-26&quot;, &quot;23-Feb-26&quot;, &quot;24-Feb-26&quot;, &quot;25-Feb-26&quot;, &quot;26-Feb-26&quot;, &quot;27-Feb-26&quot;, &quot;02-Mar-26&quot;, &quot;03-Mar-26&quot;, &quot;04-Mar-26&quot;, &quot;05-Mar-26&quot;, &quot;06-Mar-26&quot;, &quot;09-Mar-26&quot;, &quot;10-Mar-26&quot;, &quot;11-Mar-26&quot;, &quot;12-Mar-26&quot;, &quot;13-Mar-26&quot;, &quot;16-Mar-26&quot;, &quot;17-Mar-26&quot;, &quot;18-Mar-26&quot;, &quot;19-Mar-26&quot;, &quot;24-Mar-26&quot;, &quot;25-Mar-26&quot;, &quot;26-Mar-26&quot;, &quot;27-Mar-26&quot;, &quot;30-Mar-26&quot;, &quot;31-Mar-26&quot;, &quot;01-Apr-26&quot;, &quot;02-Apr-26&quot;, &quot;03-Apr-26&quot;, &quot;04-Apr-26&quot;, &quot;06-Apr-26&quot;, &quot;07-Apr-26&quot;, &quot;08-Apr-26&quot;, &quot;09-Apr-26&quot;, &quot;10-Apr-26&quot;, &quot;13-Apr-26&quot;, &quot;14-Apr-26&quot;, &quot;14-Apr-26&quot;, &quot;15-Apr-26&quot;, &quot;16-Apr-26&quot;, &quot;17-Apr-26&quot;, &quot;20-Apr-26&quot;, &quot;21-Apr-26&quot;, &quot;22-Apr-26&quot;, &quot;23-Apr-26&quot;, &quot;24-Apr-26&quot;, &quot;27-Apr-26&quot;, &quot;28-Apr-26&quot;, &quot;29-Apr-26&quot;, &quot;30-Apr-26&quot;, &quot;04-May-26&quot;, &quot;05-May-26&quot;, &quot;06-May-26&quot;, &quot;07-May-26&quot;, &quot;08-May-26&quot;, &quot;11-May-26&quot;, &quot;12-May-26&quot;, &quot;13-May-26&quot;, &quot;14-May-26&quot;, &quot;15-May-26&quot;, &quot;18-May-26&quot;, &quot;19-May-26&quot;, &quot;20-May-26&quot;, &quot;21-May-26&quot;, &quot;22-May-26&quot;, &quot;25-May-26&quot;, &quot;29-May-26&quot;, &quot;01-Jun-26&quot;, &quot;02-Jun-26&quot;, &quot;03-Jun-26&quot;, &quot;04-Jun-26&quot;, &quot;05-Jun-26&quot;, &quot;08-Jun-26&quot;, &quot;09-Jun-26&quot;, &quot;10-Jun-26&quot;, &quot;11-Jun-26&quot;, &quot;12-Jun-26&quot;, &quot;15-Jun-26&quot;, &quot;16-Jun-26&quot;, &quot;17-Jun-26&quot;, &quot;18-Jun-26&quot;, &quot;19-Jun-26&quot;, &quot;22-Jun-26&quot;, &quot;23-Jun-26&quot;, &quot;24-Jun-26&quot;, &quot;29-Jun-26&quot;, &quot;30-Jun-26&quot;, &quot;02-Jul-26&quot;, &quot;03-Jul-26&quot;, &quot;06-Jul-26&quot;, &quot;07-Jul-26&quot;, &quot;08-Jul-26&quot;, &quot;09-Jul-26&quot;, &quot;10-Jul-26&quot;, &quot;13-Jul-26&quot;, &quot;14-Jul-26&quot;, &quot;15-Jul-26&quot;, &quot;16-Jul-26&quot;, &quot;17-Jul-26&quot;, &quot;20-Jul-26&quot;, &quot;21-Jul-26&quot;, &quot;22-Jul-26&quot;, &quot;23-Jul-26&quot;, &quot;24-Jul-26&quot;, &quot;27-Jul-26&quot;, &quot;28-Jul-26&quot;, &quot;29-Jul-26&quot;, &quot;30-Jul-26&quot;, &quot;03-Aug-26&quot;, &quot;04-Aug-26&quot;, &quot;05-Aug-26&quot;, &quot;06-Aug-26&quot;, &quot;07-Aug-26&quot;, &quot;10-Aug-26&quot;, &quot;11-Aug-26&quot;, &quot;12-Aug-26&quot;, &quot;13-Aug-26&quot;, &quot;17-Aug-26&quot;, &quot;18-Aug-26&quot;, &quot;20-Aug-26&quot;, &quot;21-Aug-26&quot;, &quot;24-Aug-26&quot;, &quot;25-Aug-26&quot;, &quot;27-Aug-26&quot;, &quot;28-Aug-26&quot;, &quot;31-Aug-26&quot;, &quot;01-Sep-26&quot;, &quot;02-Sep-26&quot;, &quot;03-Sep-26&quot;, &quot;04-Sep-26&quot;, &quot;07-Sep-26&quot;];
            
            const rawData = [279.77, 279.87, 279.82, 279.97, 280.07, 279.95, 279.97, 280.05, 280.21, 280.17, 280.27, 280.21, 280.22, 280.26, 280.37, 280.42, 280.26, 280.22, 280.16, 280.56, 280.47, 280.57, 280.73, 280.78, 280.56, 280.47, 280.60, 280.57, 280.46, 280.62, 280.72, 280.87, 280.77, 280.97, 281.07, 280.97, 281.07, 281.02, 280.97, 281.06, 281.22, 281.37, 281.47, 281.52, 281.71, 281.57, 281.67, 281.72, 281.61, 281.66, 281.77, 281.92, 281.97, 282.06, 281.97, 282.06, 282.17, 282.07, 282.02, 281.97, 282.12, 282.22, 282.17, 282.21, 282.47, 282.67, 282.96, 283.17, 283.41, 283.55, 283.64, 283.70, 283.87, 283.77, 283.72, 283.67, 283.72, 283.76, 283.95, 283.86, 283.97, 284.22, 284.36, 284.47, 284.56, 284.46, 284.72, 284.67, 284.96, 284.97, 284.87, 284.95, 284.97, 284.76, 284.22, 283.45, 283.21, 283.05, 282.95, 282.87, 282.72, 282.66, 282.57, 282.67, 282.56, 282.47, 282.45, 282.42, 282.22, 282.06, 282.01, 281.96, 281.95, 281.92, 281.90, 281.87, 281.86, 281.83, 281.80, 281.77, 281.75, 281.72, 281.71, 281.67, 281.65, 281.62, 281.61, 281.60, 281.56, 281.55, 281.52, 281.51, 281.50, 281.47, 281.46, 281.45, 281.46, 281.42, 281.43, 281.41, 281.37, 281.35, 281.32, 281.31, 281.27, 281.26, 281.25, 281.22, 281.21, 281.20, 281.17, 281.16, 281.15, 281.12, 281.11, 281.10, 281.07, 281.06, 281.05, 281.03, 281.02, 281.01, 280.97, 280.96, 280.92, 280.91, 280.90, 280.87, 280.86, 280.85, 280.82, 280.81, 280.78, 280.77, 280.76, 280.72, 280.71, 280.67, 280.66, 280.66, 280.65, 280.62, 280.61, 280.57, 280.56, 280.55, 280.52, 280.51, 280.47, 280.46, 280.45, 280.42, 280.41, 280.40, 280.37, 280.36, 280.32, 280.31, 280.30, 280.27, 280.26, 280.25, 280.22, 280.21, 280.20, 280.17, 280.16, 280.15, 280.12, 280.11, 280.10, 280.07, 280.06, 280.05, 280.02, 280.01, 280.00, 279.97, 279.96, 279.95, 279.92, 279.91, 279.90, 279.87, 279.86, 279.85, 279.82, 279.81, 279.80, 279.77, 279.76, 279.75, 279.72, 279.71, 279.70, 279.67, 279.66, 279.65, 279.62, 279.61, 279.60, 279.57, 279.56, 279.55, 279.52, 279.51, 279.50, 279.47, 279.46, 279.45, 279.42, 279.41, 279.40, 279.37, 279.36, 279.35, 279.32, 279.31, 279.30, 279.27, 279.26, 279.25, 279.22, 279.21, 279.20, 279.17, 279.16, 279.15, 279.12, 279.11, 279.10, 279.07, 279.06, 279.05, 279.02, 279.01, 279.00, 278.97, 278.96, 278.95, 278.92, 278.91, 278.90, 278.87, 278.86, 278.85, 278.82, 278.81, 278.80, 278.77, 278.76, 278.75, 278.72, 278.71, 278.70, 278.67, 278.66, 278.65, 278.62, 278.61, 278.60, 278.57, 278.56, 278.55, 278.52, 278.51, 278.50, 278.47, 278.46, 278.45, 278.42, 278.41, 278.40, 278.37, 278.36, 278.35, 278.32, 278.31, 278.30, 278.27, 278.26, 278.25, 278.22, 278.21, 278.20, 278.17, 278.16, 278.15, 278.12, 278.11, 278.10, 278.07, 278.06, 278.05, 278.02, 278.01, 278.00, 277.95, 277.95, 277.92, 277.91, 277.90, 277.87, 277.86, 277.85, 277.82, 277.81, 277.80, 277.77, 277.76, 277.75, 277.72, 277.71, 277.70, 277.67, 277.66, 277.65, 277.62, 277.61, 277.57, 277.56, 277.55, 277.52, 277.51, 277.50, 277.47, 277.46, 277.45, 277.42, 277.41, 277.40];

            const currentExchangeRate = rawData[rawData.length - 1];
            const currentExchangeDate = rawLabels[rawLabels.length - 1];

            // DOM Elements
            const usdInput = document.getElementById(&#039;usdInput&#039;);
            const pkrInput = document.getElementById(&#039;pkrInput&#039;);
            const badgeEl = document.getElementById(&#039;latestBadgeRate&#039;);
            const dateLabelEl = document.getElementById(&#039;latestDateLabel&#039;);

            const statHighEl = document.getElementById(&#039;statHigh&#039;);
            const statLowEl = document.getElementById(&#039;statLow&#039;);
            const statAvgEl = document.getElementById(&#039;statAvg&#039;);
            const statChangeEl = document.getElementById(&#039;statChange&#039;);

            // Format helpers
            const formatCurrency = (val, maxDecimals = 2, minDecimals = 2) =&gt; {
                if (isNaN(val) || val === null) return &#039;--&#039;;
                return val.toLocaleString(&#039;en-US&#039;, {
                    minimumFractionDigits: minDecimals,
                    maximumFractionDigits: maxDecimals
                });
            };

            const parseCurrency = (valStr) =&gt; {
                if (!valStr) return NaN;
                return parseFloat(valStr.toString().replace(/,/g, &#039;&#039;));
            };

            // Set Initial Values in UI
            dateLabelEl.textContent = currentExchangeDate;
            badgeEl.textContent = formatCurrency(currentExchangeRate) + &#039; PKR&#039;;
            pkrInput.value = formatCurrency(currentExchangeRate);

            // Converter Event Listeners
            usdInput.addEventListener(&#039;input&#039;, (e) =&gt; {
                const val = parseCurrency(e.target.value);
                if (isNaN(val)) {
                    pkrInput.value = &#039;&#039;;
                } else {
                    pkrInput.value = formatCurrency(val * currentExchangeRate);
                }
            });

            pkrInput.addEventListener(&#039;input&#039;, (e) =&gt; {
                const val = parseCurrency(e.target.value);
                if (isNaN(val)) {
                    usdInput.value = &#039;&#039;;
                } else {
                    usdInput.value = formatCurrency(val / currentExchangeRate, 4, 2);
                }
            });

            usdInput.addEventListener(&#039;blur&#039;, (e) =&gt; {
                const val = parseCurrency(e.target.value);
                if (!isNaN(val)) {
                    e.target.value = formatCurrency(val, 2, 0);
                }
            });

            pkrInput.addEventListener(&#039;blur&#039;, (e) =&gt; {
                const val = parseCurrency(e.target.value);
                if (!isNaN(val)) {
                    e.target.value = formatCurrency(val, 2, 2);
                }
            });

            const ctx = document.getElementById(&#039;closingRatesChart&#039;).getContext(&#039;2d&#039;);
            
            // Create gradient fill
            const gradient = ctx.createLinearGradient(0, 0, 0, 350);
            gradient.addColorStop(0, &#039;rgba(79, 70, 229, 0.25)&#039;);
            gradient.addColorStop(1, &#039;rgba(79, 70, 229, 0.0)&#039;);

            let chartInstance = new Chart(ctx, {
                type: &#039;line&#039;,
                data: {
                    labels: rawLabels,
                    datasets: [{
                        label: &#039;USD to PKR&#039;,
                        data: rawData,
                        borderColor: &#039;#4f46e5&#039;,
                        borderWidth: 2,
                        backgroundColor: gradient,
                        fill: true,
                        tension: 0.3,
                        pointRadius: 0,
                        pointHoverRadius: 6,
                        pointHoverBackgroundColor: &#039;#4f46e5&#039;,
                        pointHoverBorderColor: &#039;#ffffff&#039;,
                        pointHoverBorderWidth: 2
                    }]
                },
                options: {
                    responsive: true,
                    maintainAspectRatio: false,
                    interaction: {
                        intersect: false,
                        mode: &#039;index&#039;
                    },
                    plugins: {
                        legend: { display: false },
                        tooltip: {
                            backgroundColor: &#039;#0f172a&#039;,
                            titleFont: { family: &#039;Plus Jakarta Sans&#039;, size: 12, weight: &#039;bold&#039; },
                            bodyFont: { family: &#039;Plus Jakarta Sans&#039;, size: 13 },
                            padding: 10,
                            cornerRadius: 8,
                            displayColors: false,
                            callbacks: {
                                label: function(context) {
                                    return &#039;Rate: &#039; + formatCurrency(context.parsed.y) + &#039; PKR&#039;;
                                }
                            }
                        }
                    },
                    scales: {
                        x: {
                            grid: { display: false },
                            ticks: {
                                font: { family: &#039;Plus Jakarta Sans&#039;, size: 11 },
                                color: &#039;#64748b&#039;,
                                maxTicksLimit: 8,
                                maxRotation: 0
                            }
                        },
                        y: {
                            grid: { color: &#039;#f1f5f9&#039; },
                            ticks: {
                                font: { family: &#039;Plus Jakarta Sans&#039;, size: 11 },
                                color: &#039;#64748b&#039;,
                                callback: function(value) {
                                    return value.toFixed(1);
                                }
                            }
                        }
                    }
                }
            });

            function updateRangeStats(labels, data) {
                if (!data || data.length === 0) return;

                const high = Math.max(...data);
                const low = Math.min(...data);
                const avg = data.reduce((a, b) =&gt; a + b, 0) / data.length;
                const startVal = data[0];
                const endVal = data[data.length - 1];
                const change = endVal - startVal;
                const changePct = (change / startVal) * 100;

                statHighEl.textContent = formatCurrency(high);
                statLowEl.textContent = formatCurrency(low);
                statAvgEl.textContent = formatCurrency(avg);

                const sign = change &gt;= 0 ? &#039;+&#039; : &#039;&#039;;
                statChangeEl.textContent = `${sign}${formatCurrency(change)} (${sign}${changePct.toFixed(2)}%)`;
                statChangeEl.style.color = change &gt; 0 ? &#039;#10b981&#039; : (change &lt; 0 ? &#039;#ef4444&#039; : &#039;#64748b&#039;);
            }

            // Timeframe filtering handler
            function setTimeframe(rangeCount) {
                let slicedLabels = rawLabels;
                let slicedData = rawData;

                if (rangeCount !== &#039;all&#039;) {
                    const count = parseInt(rangeCount, 10);
                    slicedLabels = rawLabels.slice(-count);
                    slicedData = rawData.slice(-count);
                }

                chartInstance.data.labels = slicedLabels;
                chartInstance.data.datasets[0].data = slicedData;

                // Adjust Y axis dynamic scaling
                const minVal = Math.min(...slicedData);
                const maxVal = Math.max(...slicedData);
                const padding = (maxVal - minVal) * 0.1 || 1;
                
                chartInstance.options.scales.y.min = Math.floor((minVal - padding) * 10) / 10;
                chartInstance.options.scales.y.max = Math.ceil((maxVal + padding) * 10) / 10;

                chartInstance.update();
                updateRangeStats(slicedLabels, slicedData);
            }

            // Setup timeframe button listeners
            document.querySelectorAll(&#039;#pkr-chart-embed .tf-btn&#039;).forEach(btn =&gt; {
                btn.addEventListener(&#039;click&#039;, (e) =&gt; {
                    document.querySelectorAll(&#039;#pkr-chart-embed .tf-btn&#039;).forEach(b =&gt; b.classList.remove(&#039;active&#039;));
                    e.target.classList.add(&#039;active&#039;);
                    setTimeframe(e.target.getAttribute(&#039;data-range&#039;));
                });
            });

            // Initial range load
            setTimeframe(&#039;all&#039;);
        })();
    &lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;
    &lt;script&gt;
        function reportHeight() {
            var h = document.documentElement.scrollHeight;
            window.parent.postMessage({ type: &#039;raw-html-resize&#039;, id: &#039;raw-html-6a9ed49f808b7&#039;, height: h }, &#039;*&#039;);
        }
        window.addEventListener(&#039;load&#039;, reportHeight);
        if (window.ResizeObserver) {
            new ResizeObserver(reportHeight).observe(document.body);
        }
    &lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;"></iframe>
<script>
if (!window._rawHtmlListenerAttached) {
    window._rawHtmlListenerAttached = true;
    window.addEventListener('message', function(event) {
        if (event.data && event.data.type === 'raw-html-resize' && event.data.id) {
            var iframe = document.getElementById(event.data.id);
            if (iframe) {
                var height = Math.min(Math.max(event.data.height, 50), 9200);
                iframe.style.height = height + 'px';
            }
        }
    });
}
</script>
<p><strong>The Pakistani rupee extended its marginal gains against the US dollar on Monday.</strong></p>
<p>The local unit closed the day at 277.40, a gain of Re0.01 against the greenback.</p>
    <figure class='media  w-full sm:w-full  media--center  media--embed  media--uneven media--tweet' data-original-src='https://x.com/StateBank_Pak/status/2096919705344950284'>
        <div class='media__item  media__item--twitter  '><span>
    <blockquote class="twitter-tweet" lang="en">
        <a href="https://twitter.com/StateBank_Pak/status/2096919705344950284"></a>
    </blockquote>
</span></div>
        
    </figure>
<p><a href="https://www.brecorder.com/news/40437940/pakistan-rupee-registers-gain-against-us-dollar">On Friday</a>, the Pakistani rupee settled at 277.41 against the dollar.</p>
<p>Internationally,<a href="https://www.brecorder.com/news/40438270/dollar-gets-little-lift-from-boost-in-fed-hike-expectations"> the US dollar was on shaky ground </a>on ​Monday, despite a ramp-up in US rate hike bets as Middle East tensions raised the prospect of broader inflationary pressures ‌that could force global central banks to tighten policy in tandem.</p>
<p>A shift in sentiment towards the Japanese yen and worries about ever-growing US debt and policy uncertainties also weighed on the greenback.</p>
<p>Moves in currencies were largely subdued in early Asia trade with US markets closed for a holiday, ​though the dollar struggled to sustain a brief lift it received from Friday’s blowout US jobs report.</p>
<p>The euro was ​up marginally at $1.1618, while sterling was little changed at $1.3519. Against a basket of currencies, the dollar ⁠fell 0.07% to 99.09, not far from its recent low of 98.558.</p>
<p>Traders moved to price in a roughly 57% chance ​the Federal Reserve will hike rates this month in the wake of the nonfarm payrolls release, with much now depending on ​Friday’s inflation data.</p>
<p><a href="https://www.brecorder.com/news/40437899/oil-heads-for-weekly-gain-as-us-iran-fighting-resumes-diesel-hits-record-high">Oil prices</a> were near six-week highs on Monday, creeping closer to $100 a barrel, as tit-for-tat strikes between the US and Iran on vessels sailing in the Strait of Hormuz and other areas kept crude oil flows in the Middle East low.</p>
<p>Brent crude futures rose $1.19, or 1.2% to $97.47 a barrel by 1214 GMT, having earlier hit their highest point since July 24 at $97.93.</p>
<p>US West Texas Intermediate crude also hovered near a recent six-week high at $92.26 a barrel, up 78 cents.</p>
<p><strong>Inter-bank market rates for dollar on Monday</strong></p>
<p>BID Rs 277.40</p>
<p>OFFER Rs 277.60</p>
<p><strong>Open-market movement</strong></p>
<p>In the open market, the PKR gained 4 paise for buying and 6 paise for selling against USD, closing at 278.25 and 279.09, respectively.</p>
<p>Against Euro, the PKR gained 4 paise for buying and 14 paise for selling, closing at 322.49 and 325.18, respectively.</p>
<p>Against UAE Dirham, the PKR gained 1 paisa for both buying and selling, closing at 75.67 and 76.28, respectively.</p>
<p>Against Saudi Riyal, the PKR lost 3 paise for buying and gained 1 paisa for selling, closing at 73.98 and 74.48, respectively.</p>
<p><strong>Open-market rates for dollar on Monday</strong></p>
<p>BID Rs 278.25</p>
<p>OFFER Rs 279.09</p>
]]></content:encoded>
      <category>Markets</category>
      <guid>https://www.brecorder.com/news/40438311</guid>
      <pubDate>Mon, 07 Sep 2026 20:13:35 +0500</pubDate>
      <author>none@none.com (Recorder Report)</author>
      <media:content url="https://i.brecorder.com/large/2026/09/071646383c3338b.webp" type="image/webp" medium="image" height="768" width="1024">
        <media:thumbnail url="https://i.brecorder.com/thumbnail/2026/09/071646383c3338b.webp"/>
        <media:title/>
      </media:content>
    </item>
    <item xmlns:default="http://purl.org/rss/1.0/modules/content/">
      <title>Pakistan rupee registers gain against US dollar</title>
      <link>https://www.brecorder.com/news/40437940/pakistan-rupee-registers-gain-against-us-dollar</link>
      <description>&lt;iframe id="raw-html-6a9ad87e14743" class="raw-html-embed" style="width: 100%; min-height: 50px; max-height: 9200px; border: none; overflow: hidden;" scrolling="no" srcdoc="&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html&amp;gt;
&amp;lt;head&amp;gt;
    &amp;lt;style&amp;gt;
        body { margin: 0; padding: 0; font-family: system-ui, -apple-system, sans-serif; overflow-wrap: anywhere; }
    &amp;lt;/style&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
    
&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html lang=&amp;quot;en&amp;quot;&amp;gt;
&amp;lt;head&amp;gt;
    &amp;lt;meta charset=&amp;quot;UTF-8&amp;quot;&amp;gt;
    &amp;lt;meta name=&amp;quot;viewport&amp;quot; content=&amp;quot;width=device-width, initial-scale=1.0&amp;quot;&amp;gt;
    &amp;lt;title&amp;gt;PKR vs USD Exchange Rate Chart&amp;lt;/title&amp;gt;
    &amp;lt;!-- Chart.js for interactive rendering --&amp;gt;
    &amp;lt;script src=&amp;quot;https://cdn.jsdelivr.net/npm/chart.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;
    
    &amp;lt;style&amp;gt;
        @import url(&amp;#039;https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght=400;500;600;700&amp;amp;display=swap&amp;#039;);

        #pkr-chart-embed {
            font-family: &amp;#039;Plus Jakarta Sans&amp;#039;, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, sans-serif;
            max-width: 1000px;
            width: 100%;
            margin: 24px auto;
            background-color: #ffffff;
            border: 1px solid #e2e8f0;
            border-radius: 20px;
            padding: 24px;
            box-shadow: 0 10px 25px -5px rgba(15, 23, 42, 0.05), 0 8px 10px -6px rgba(15, 23, 42, 0.05);
            color: #0f172a;
            box-sizing: border-box;
        }

        #pkr-chart-embed * { box-sizing: border-box; margin: 0; padding: 0; }

        #pkr-chart-embed .chart-header {
            display: flex;
            flex-direction: column;
            gap: 20px;
            margin-bottom: 20px;
            width: 100%;
        }

        #pkr-chart-embed .top-row {
            display: flex;
            flex-direction: row;
            justify-content: space-between;
            align-items: flex-start;
            gap: 20px;
        }

        #pkr-chart-embed .calculator-area {
            display: flex;
            flex-direction: column;
            gap: 8px;
            align-items: flex-start;
        }

        #pkr-chart-embed .main-title {
            font-size: 22px;
            font-weight: 700;
            color: #0f172a;
            letter-spacing: -0.025em;
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            gap: 10px;
        }

        #pkr-chart-embed .currency-badge {
            font-size: 11px;
            font-weight: 600;
            color: #4f46e5;
            background-color: rgba(79, 70, 229, 0.08);
            padding: 3px 10px;
            border-radius: 9999px;
            border: 1px solid rgba(79, 70, 229, 0.15);
            text-transform: uppercase;
        }

        #pkr-chart-embed .calculator-title {
            font-size: 10px;
            font-weight: 700;
            color: #64748b;
            text-transform: uppercase;
            letter-spacing: 0.05em;
        }

        #pkr-chart-embed .converter {
            display: flex;
            align-items: center;
            background: #f8fafc;
            border: 1px solid #e2e8f0;
            border-radius: 12px;
            padding: 4px;
            gap: 6px;
        }

        #pkr-chart-embed .converter-group {
            display: flex;
            align-items: center;
            background: #ffffff;
            border-radius: 8px;
            padding: 6px 10px;
            box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
            border: 1px solid #e2e8f0;
        }

        #pkr-chart-embed .converter-input {
            border: none;
            outline: none;
            width: 90px;
            font-family: inherit;
            font-weight: 700;
            color: #0f172a;
            font-size: 14px;
            text-align: right;
            background: transparent;
        }

        #pkr-chart-embed .converter-input.pkr-field { width: 120px; }

        #pkr-chart-embed .converter-label {
            font-size: 11px;
            font-weight: 700;
            color: #64748b;
            margin-left: 6px;
        }

        #pkr-chart-embed .equals-sign { color: #94a3b8; font-weight: 600; font-size: 16px; }

        #pkr-chart-embed .rate-badge-container {
            display: flex;
            flex-direction: column;
            align-items: flex-end;
            gap: 6px;
        }

        #pkr-chart-embed .rate-label-sub { text-align: right; }
        #pkr-chart-embed .rate-label-sub span:first-child { display: block; font-size: 9px; text-transform: uppercase; font-weight: 700; color: #64748b; }
        #pkr-chart-embed .rate-label-sub span:last-child { display: block; font-size: 12px; color: #334155; font-weight: 600; }

        #pkr-chart-embed .rate-badge {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            background: linear-gradient(135deg, #4f46e5, #3b82f6);
            color: #ffffff;
            font-weight: 700;
            font-size: 14px;
            padding: 8px 14px;
            border-radius: 12px;
            box-shadow: 0 8px 16px -3px rgba(79, 70, 229, 0.25);
        }

        #pkr-chart-embed .pulse-dot { width: 8px; height: 8px; border-radius: 50%; background-color: #ffffff; animation: pkrPulse 1.5s infinite; }

        @keyframes pkrPulse {
            0% { transform: scale(0.95); opacity: 0.6; }
            50% { transform: scale(1.15); opacity: 1; }
            100% { transform: scale(0.95); opacity: 0.6; }
        }

        /* Controls &amp;amp; Stats Toolbar */
        #pkr-chart-embed .toolbar {
            display: flex;
            justify-content: space-between;
            align-items: center;
            flex-wrap: wrap;
            gap: 12px;
            margin-bottom: 16px;
            padding-bottom: 12px;
            border-bottom: 1px solid #f1f5f9;
        }

        #pkr-chart-embed .timeframe-selector {
            display: flex;
            gap: 4px;
            background: #f1f5f9;
            padding: 3px;
            border-radius: 10px;
        }

        #pkr-chart-embed .tf-btn {
            border: none;
            background: transparent;
            font-family: inherit;
            font-size: 12px;
            font-weight: 600;
            color: #64748b;
            padding: 5px 12px;
            border-radius: 7px;
            cursor: pointer;
            transition: all 0.2s ease;
        }

        #pkr-chart-embed .tf-btn.active {
            background: #ffffff;
            color: #4f46e5;
            box-shadow: 0 1px 3px rgba(0,0,0,0.1);
        }

        #pkr-chart-embed .stats-row {
            display: flex;
            gap: 16px;
            flex-wrap: wrap;
        }

        #pkr-chart-embed .stat-item {
            font-size: 12px;
            color: #64748b;
        }

        #pkr-chart-embed .stat-item strong {
            color: #0f172a;
            font-weight: 700;
        }

        #pkr-chart-embed .chart-canvas-container { position: relative; width: 100%; height: 380px; }

        @media (max-width: 768px) {
            #pkr-chart-embed .chart-canvas-container { height: 300px; }
            #pkr-chart-embed .top-row { flex-direction: column; align-items: flex-start; }
            #pkr-chart-embed .rate-badge-container { align-items: flex-start; }
            #pkr-chart-embed .rate-label-sub { text-align: left; }
            #pkr-chart-embed .toolbar { flex-direction: column; align-items: flex-start; }
        }
    &amp;lt;/style&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
    &amp;lt;div id=&amp;quot;pkr-chart-embed&amp;quot;&amp;gt;
        &amp;lt;div class=&amp;quot;chart-header&amp;quot;&amp;gt;
            &amp;lt;h1 class=&amp;quot;main-title&amp;quot;&amp;gt;
                &amp;lt;span&amp;gt;PKR vs USD Exchange Rate&amp;lt;/span&amp;gt;
                &amp;lt;span class=&amp;quot;currency-badge&amp;quot;&amp;gt;USD / PKR&amp;lt;/span&amp;gt;
            &amp;lt;/h1&amp;gt;

            &amp;lt;div class=&amp;quot;top-row&amp;quot;&amp;gt;
                &amp;lt;div class=&amp;quot;calculator-area&amp;quot;&amp;gt;
                    &amp;lt;span class=&amp;quot;calculator-title&amp;quot;&amp;gt;Calculator&amp;lt;/span&amp;gt;
                    &amp;lt;div class=&amp;quot;converter&amp;quot;&amp;gt;
                        &amp;lt;div class=&amp;quot;converter-group&amp;quot;&amp;gt;
                            &amp;lt;input type=&amp;quot;text&amp;quot; inputmode=&amp;quot;decimal&amp;quot; id=&amp;quot;usdInput&amp;quot; class=&amp;quot;converter-input&amp;quot; value=&amp;quot;1&amp;quot;&amp;gt;
                            &amp;lt;span class=&amp;quot;converter-label&amp;quot;&amp;gt;USD&amp;lt;/span&amp;gt;
                        &amp;lt;/div&amp;gt;
                        &amp;lt;span class=&amp;quot;equals-sign&amp;quot;&amp;gt;=&amp;lt;/span&amp;gt;
                        &amp;lt;div class=&amp;quot;converter-group&amp;quot;&amp;gt;
                            &amp;lt;input type=&amp;quot;text&amp;quot; inputmode=&amp;quot;decimal&amp;quot; id=&amp;quot;pkrInput&amp;quot; class=&amp;quot;converter-input pkr-field&amp;quot; value=&amp;quot;&amp;quot;&amp;gt;
                            &amp;lt;span class=&amp;quot;converter-label&amp;quot;&amp;gt;PKR&amp;lt;/span&amp;gt;
                        &amp;lt;/div&amp;gt;
                    &amp;lt;/div&amp;gt;
                &amp;lt;/div&amp;gt;

                &amp;lt;div class=&amp;quot;rate-badge-container&amp;quot;&amp;gt;
                    &amp;lt;div class=&amp;quot;rate-label-sub&amp;quot;&amp;gt;
                        &amp;lt;span&amp;gt;Latest Closing&amp;lt;/span&amp;gt;
                        &amp;lt;span id=&amp;quot;latestDateLabel&amp;quot;&amp;gt;04-Sep-26&amp;lt;/span&amp;gt;
                    &amp;lt;/div&amp;gt;
                    &amp;lt;div class=&amp;quot;rate-badge&amp;quot;&amp;gt;
                        &amp;lt;span class=&amp;quot;pulse-dot&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;
                        &amp;lt;span id=&amp;quot;latestBadgeRate&amp;quot;&amp;gt;277.41 PKR&amp;lt;/span&amp;gt;
                    &amp;lt;/div&amp;gt;
                &amp;lt;/div&amp;gt;
            &amp;lt;/div&amp;gt;
        &amp;lt;/div&amp;gt;

        &amp;lt;div class=&amp;quot;toolbar&amp;quot;&amp;gt;
            &amp;lt;div class=&amp;quot;timeframe-selector&amp;quot;&amp;gt;
                &amp;lt;button class=&amp;quot;tf-btn&amp;quot; data-range=&amp;quot;30&amp;quot;&amp;gt;1M&amp;lt;/button&amp;gt;
                &amp;lt;button class=&amp;quot;tf-btn&amp;quot; data-range=&amp;quot;90&amp;quot;&amp;gt;3M&amp;lt;/button&amp;gt;
                &amp;lt;button class=&amp;quot;tf-btn&amp;quot; data-range=&amp;quot;180&amp;quot;&amp;gt;6M&amp;lt;/button&amp;gt;
                &amp;lt;button class=&amp;quot;tf-btn&amp;quot; data-range=&amp;quot;365&amp;quot;&amp;gt;1Y&amp;lt;/button&amp;gt;
                &amp;lt;button class=&amp;quot;tf-btn active&amp;quot; data-range=&amp;quot;all&amp;quot;&amp;gt;ALL&amp;lt;/button&amp;gt;
            &amp;lt;/div&amp;gt;

            &amp;lt;div class=&amp;quot;stats-row&amp;quot;&amp;gt;
                &amp;lt;span class=&amp;quot;stat-item&amp;quot;&amp;gt;High: &amp;lt;strong id=&amp;quot;statHigh&amp;quot;&amp;gt;--&amp;lt;/strong&amp;gt;&amp;lt;/span&amp;gt;
                &amp;lt;span class=&amp;quot;stat-item&amp;quot;&amp;gt;Low: &amp;lt;strong id=&amp;quot;statLow&amp;quot;&amp;gt;--&amp;lt;/strong&amp;gt;&amp;lt;/span&amp;gt;
                &amp;lt;span class=&amp;quot;stat-item&amp;quot;&amp;gt;Avg: &amp;lt;strong id=&amp;quot;statAvg&amp;quot;&amp;gt;--&amp;lt;/strong&amp;gt;&amp;lt;/span&amp;gt;
                &amp;lt;span class=&amp;quot;stat-item&amp;quot;&amp;gt;Change: &amp;lt;strong id=&amp;quot;statChange&amp;quot;&amp;gt;--&amp;lt;/strong&amp;gt;&amp;lt;/span&amp;gt;
            &amp;lt;/div&amp;gt;
        &amp;lt;/div&amp;gt;

        &amp;lt;div class=&amp;quot;chart-canvas-container&amp;quot;&amp;gt;
            &amp;lt;canvas id=&amp;quot;closingRatesChart&amp;quot;&amp;gt;&amp;lt;/canvas&amp;gt;
        &amp;lt;/div&amp;gt;
    &amp;lt;/div&amp;gt;

    &amp;lt;script&amp;gt;
        (function() {
            // Full historical closing rate dataset
            const rawLabels = [&amp;quot;04-Mar-25&amp;quot;, &amp;quot;05-Mar-25&amp;quot;, &amp;quot;06-Mar-25&amp;quot;, &amp;quot;07-Mar-25&amp;quot;, &amp;quot;10-Mar-25&amp;quot;, &amp;quot;11-Mar-25&amp;quot;, &amp;quot;12-Mar-25&amp;quot;, &amp;quot;13-Mar-25&amp;quot;, &amp;quot;14-Mar-25&amp;quot;, &amp;quot;17-Mar-25&amp;quot;, &amp;quot;18-Mar-25&amp;quot;, &amp;quot;19-Mar-25&amp;quot;, &amp;quot;20-Mar-25&amp;quot;, &amp;quot;21-Mar-25&amp;quot;, &amp;quot;24-Mar-25&amp;quot;, &amp;quot;25-Mar-25&amp;quot;, &amp;quot;26-Mar-25&amp;quot;, &amp;quot;27-Mar-25&amp;quot;, &amp;quot;28-Mar-25&amp;quot;, &amp;quot;03-Apr-25&amp;quot;, &amp;quot;04-Apr-25&amp;quot;, &amp;quot;07-Apr-25&amp;quot;, &amp;quot;08-Apr-25&amp;quot;, &amp;quot;09-Apr-25&amp;quot;, &amp;quot;10-Apr-25&amp;quot;, &amp;quot;11-Apr-25&amp;quot;, &amp;quot;14-Apr-25&amp;quot;, &amp;quot;15-Apr-25&amp;quot;, &amp;quot;16-Apr-25&amp;quot;, &amp;quot;17-Apr-25&amp;quot;, &amp;quot;18-Apr-25&amp;quot;, &amp;quot;21-Apr-25&amp;quot;, &amp;quot;22-Apr-25&amp;quot;, &amp;quot;23-Apr-25&amp;quot;, &amp;quot;24-Apr-25&amp;quot;, &amp;quot;25-Apr-25&amp;quot;, &amp;quot;28-Apr-25&amp;quot;, &amp;quot;29-Apr-25&amp;quot;, &amp;quot;30-Apr-25&amp;quot;, &amp;quot;02-May-25&amp;quot;, &amp;quot;05-May-25&amp;quot;, &amp;quot;06-May-25&amp;quot;, &amp;quot;07-May-25&amp;quot;, &amp;quot;08-May-25&amp;quot;, &amp;quot;09-May-25&amp;quot;, &amp;quot;12-May-25&amp;quot;, &amp;quot;13-May-25&amp;quot;, &amp;quot;14-May-25&amp;quot;, &amp;quot;15-May-25&amp;quot;, &amp;quot;16-May-25&amp;quot;, &amp;quot;19-May-25&amp;quot;, &amp;quot;20-May-25&amp;quot;, &amp;quot;21-May-25&amp;quot;, &amp;quot;22-May-25&amp;quot;, &amp;quot;23-May-25&amp;quot;, &amp;quot;26-May-25&amp;quot;, &amp;quot;27-May-25&amp;quot;, &amp;quot;29-May-25&amp;quot;, &amp;quot;30-May-25&amp;quot;, &amp;quot;02-Jun-25&amp;quot;, &amp;quot;03-Jun-25&amp;quot;, &amp;quot;04-Jun-25&amp;quot;, &amp;quot;05-Jun-25&amp;quot;, &amp;quot;10-Jun-25&amp;quot;, &amp;quot;11-Jun-25&amp;quot;, &amp;quot;12-Jun-25&amp;quot;, &amp;quot;13-Jun-25&amp;quot;, &amp;quot;16-Jun-25&amp;quot;, &amp;quot;17-Jun-25&amp;quot;, &amp;quot;18-Jun-25&amp;quot;, &amp;quot;19-Jun-25&amp;quot;, &amp;quot;20-Jun-25&amp;quot;, &amp;quot;23-Jun-25&amp;quot;, &amp;quot;24-Jun-25&amp;quot;, &amp;quot;25-Jun-25&amp;quot;, &amp;quot;26-Jun-25&amp;quot;, &amp;quot;27-Jun-25&amp;quot;, &amp;quot;30-Jun-25&amp;quot;, &amp;quot;02-Jul-25&amp;quot;, &amp;quot;03-Jul-25&amp;quot;, &amp;quot;04-Jul-25&amp;quot;, &amp;quot;07-Jul-25&amp;quot;, &amp;quot;08-Jul-25&amp;quot;, &amp;quot;09-Jul-25&amp;quot;, &amp;quot;10-Jul-25&amp;quot;, &amp;quot;11-Jul-25&amp;quot;, &amp;quot;14-Jul-25&amp;quot;, &amp;quot;15-Jul-25&amp;quot;, &amp;quot;16-Jul-25&amp;quot;, &amp;quot;17-Jul-25&amp;quot;, &amp;quot;18-Jul-25&amp;quot;, &amp;quot;21-Jul-25&amp;quot;, &amp;quot;22-Jul-25&amp;quot;, &amp;quot;23-Jul-25&amp;quot;, &amp;quot;24-Jul-25&amp;quot;, &amp;quot;25-Jul-25&amp;quot;, &amp;quot;28-Jul-25&amp;quot;, &amp;quot;29-Jul-25&amp;quot;, &amp;quot;30-Jul-25&amp;quot;, &amp;quot;31-Jul-25&amp;quot;, &amp;quot;01-Aug-25&amp;quot;, &amp;quot;04-Aug-25&amp;quot;, &amp;quot;05-Aug-25&amp;quot;, &amp;quot;06-Aug-25&amp;quot;, &amp;quot;07-Aug-25&amp;quot;, &amp;quot;08-Aug-25&amp;quot;, &amp;quot;11-Aug-25&amp;quot;, &amp;quot;12-Aug-25&amp;quot;, &amp;quot;13-Aug-25&amp;quot;, &amp;quot;15-Aug-25&amp;quot;, &amp;quot;18-Aug-25&amp;quot;, &amp;quot;19-Aug-25&amp;quot;, &amp;quot;20-Aug-25&amp;quot;, &amp;quot;21-Aug-25&amp;quot;, &amp;quot;22-Aug-25&amp;quot;, &amp;quot;25-Aug-25&amp;quot;, &amp;quot;26-Aug-25&amp;quot;, &amp;quot;27-Aug-25&amp;quot;, &amp;quot;28-Aug-25&amp;quot;, &amp;quot;29-Aug-25&amp;quot;, &amp;quot;01-Sep-25&amp;quot;, &amp;quot;02-Sep-25&amp;quot;, &amp;quot;03-Sep-25&amp;quot;, &amp;quot;04-Sep-25&amp;quot;, &amp;quot;05-Sep-25&amp;quot;, &amp;quot;08-Sep-25&amp;quot;, &amp;quot;09-Sep-25&amp;quot;, &amp;quot;10-Sep-25&amp;quot;, &amp;quot;11-Sep-25&amp;quot;, &amp;quot;12-Sep-25&amp;quot;, &amp;quot;15-Sep-25&amp;quot;, &amp;quot;16-Sep-25&amp;quot;, &amp;quot;17-Sep-25&amp;quot;, &amp;quot;18-Sep-25&amp;quot;, &amp;quot;19-Sep-25&amp;quot;, &amp;quot;21-Sep-25&amp;quot;, &amp;quot;22-Sep-25&amp;quot;, &amp;quot;23-Sep-25&amp;quot;, &amp;quot;24-Sep-25&amp;quot;, &amp;quot;25-Sep-25&amp;quot;, &amp;quot;26-Sep-25&amp;quot;, &amp;quot;29-Sep-25&amp;quot;, &amp;quot;30-Sep-25&amp;quot;, &amp;quot;01-Oct-25&amp;quot;, &amp;quot;02-Oct-25&amp;quot;, &amp;quot;03-Oct-25&amp;quot;, &amp;quot;06-Oct-25&amp;quot;, &amp;quot;07-Oct-25&amp;quot;, &amp;quot;08-Oct-25&amp;quot;, &amp;quot;09-Oct-25&amp;quot;, &amp;quot;10-Oct-25&amp;quot;, &amp;quot;13-Oct-25&amp;quot;, &amp;quot;14-Oct-25&amp;quot;, &amp;quot;15-Oct-25&amp;quot;, &amp;quot;16-Oct-25&amp;quot;, &amp;quot;17-Oct-25&amp;quot;, &amp;quot;20-Oct-25&amp;quot;, &amp;quot;21-Oct-25&amp;quot;, &amp;quot;22-Oct-25&amp;quot;, &amp;quot;23-Oct-25&amp;quot;, &amp;quot;24-Oct-25&amp;quot;, &amp;quot;27-Oct-25&amp;quot;, &amp;quot;28-Oct-25&amp;quot;, &amp;quot;29-Oct-25&amp;quot;, &amp;quot;30-Oct-25&amp;quot;, &amp;quot;31-Oct-25&amp;quot;, &amp;quot;03-Nov-25&amp;quot;, &amp;quot;04-Nov-25&amp;quot;, &amp;quot;05-Nov-25&amp;quot;, &amp;quot;06-Nov-25&amp;quot;, &amp;quot;07-Nov-25&amp;quot;, &amp;quot;10-Nov-25&amp;quot;, &amp;quot;11-Nov-25&amp;quot;, &amp;quot;12-Nov-25&amp;quot;, &amp;quot;13-Nov-25&amp;quot;, &amp;quot;14-Nov-25&amp;quot;, &amp;quot;17-Nov-25&amp;quot;, &amp;quot;18-Nov-25&amp;quot;, &amp;quot;19-Nov-25&amp;quot;, &amp;quot;20-Nov-25&amp;quot;, &amp;quot;21-Nov-25&amp;quot;, &amp;quot;24-Nov-25&amp;quot;, &amp;quot;25-Nov-25&amp;quot;, &amp;quot;26-Nov-25&amp;quot;, &amp;quot;27-Nov-25&amp;quot;, &amp;quot;28-Nov-25&amp;quot;, &amp;quot;01-Dec-25&amp;quot;, &amp;quot;02-Dec-25&amp;quot;, &amp;quot;03-Dec-25&amp;quot;, &amp;quot;04-Dec-25&amp;quot;, &amp;quot;05-Dec-25&amp;quot;, &amp;quot;08-Dec-25&amp;quot;, &amp;quot;09-Dec-25&amp;quot;, &amp;quot;10-Dec-25&amp;quot;, &amp;quot;11-Dec-25&amp;quot;, &amp;quot;12-Dec-25&amp;quot;, &amp;quot;15-Dec-25&amp;quot;, &amp;quot;16-Dec-25&amp;quot;, &amp;quot;17-Dec-25&amp;quot;, &amp;quot;18-Dec-25&amp;quot;, &amp;quot;19-Dec-25&amp;quot;, &amp;quot;22-Dec-25&amp;quot;, &amp;quot;23-Dec-25&amp;quot;, &amp;quot;24-Dec-25&amp;quot;, &amp;quot;26-Dec-25&amp;quot;, &amp;quot;29-Dec-25&amp;quot;, &amp;quot;30-Dec-25&amp;quot;, &amp;quot;31-Dec-25&amp;quot;, &amp;quot;02-Jan-26&amp;quot;, &amp;quot;05-Jan-26&amp;quot;, &amp;quot;06-Jan-26&amp;quot;, &amp;quot;07-Jan-26&amp;quot;, &amp;quot;08-Jan-26&amp;quot;, &amp;quot;09-Jan-26&amp;quot;, &amp;quot;12-Jan-26&amp;quot;, &amp;quot;13-Jan-26&amp;quot;, &amp;quot;14-Jan-26&amp;quot;, &amp;quot;15-Jan-26&amp;quot;, &amp;quot;16-Jan-26&amp;quot;, &amp;quot;19-Jan-26&amp;quot;, &amp;quot;20-Jan-26&amp;quot;, &amp;quot;21-Jan-26&amp;quot;, &amp;quot;22-Jan-26&amp;quot;, &amp;quot;23-Jan-26&amp;quot;, &amp;quot;26-Jan-26&amp;quot;, &amp;quot;27-Jan-26&amp;quot;, &amp;quot;28-Jan-26&amp;quot;, &amp;quot;29-Jan-26&amp;quot;, &amp;quot;30-Jan-26&amp;quot;, &amp;quot;02-Feb-26&amp;quot;, &amp;quot;03-Feb-26&amp;quot;, &amp;quot;04-Feb-26&amp;quot;, &amp;quot;06-Feb-26&amp;quot;, &amp;quot;09-Feb-26&amp;quot;, &amp;quot;10-Feb-26&amp;quot;, &amp;quot;11-Feb-26&amp;quot;, &amp;quot;12-Feb-26&amp;quot;, &amp;quot;13-Feb-26&amp;quot;, &amp;quot;16-Feb-26&amp;quot;, &amp;quot;17-Feb-26&amp;quot;, &amp;quot;18-Feb-26&amp;quot;, &amp;quot;20-Feb-26&amp;quot;, &amp;quot;23-Feb-26&amp;quot;, &amp;quot;24-Feb-26&amp;quot;, &amp;quot;25-Feb-26&amp;quot;, &amp;quot;26-Feb-26&amp;quot;, &amp;quot;27-Feb-26&amp;quot;, &amp;quot;02-Mar-26&amp;quot;, &amp;quot;03-Mar-26&amp;quot;, &amp;quot;04-Mar-26&amp;quot;, &amp;quot;05-Mar-26&amp;quot;, &amp;quot;06-Mar-26&amp;quot;, &amp;quot;09-Mar-26&amp;quot;, &amp;quot;10-Mar-26&amp;quot;, &amp;quot;11-Mar-26&amp;quot;, &amp;quot;12-Mar-26&amp;quot;, &amp;quot;13-Mar-26&amp;quot;, &amp;quot;16-Mar-26&amp;quot;, &amp;quot;17-Mar-26&amp;quot;, &amp;quot;18-Mar-26&amp;quot;, &amp;quot;19-Mar-26&amp;quot;, &amp;quot;24-Mar-26&amp;quot;, &amp;quot;25-Mar-26&amp;quot;, &amp;quot;26-Mar-26&amp;quot;, &amp;quot;27-Mar-26&amp;quot;, &amp;quot;30-Mar-26&amp;quot;, &amp;quot;31-Mar-26&amp;quot;, &amp;quot;01-Apr-26&amp;quot;, &amp;quot;02-Apr-26&amp;quot;, &amp;quot;03-Apr-26&amp;quot;, &amp;quot;04-Apr-26&amp;quot;, &amp;quot;06-Apr-26&amp;quot;, &amp;quot;07-Apr-26&amp;quot;, &amp;quot;08-Apr-26&amp;quot;, &amp;quot;09-Apr-26&amp;quot;, &amp;quot;10-Apr-26&amp;quot;, &amp;quot;13-Apr-26&amp;quot;, &amp;quot;14-Apr-26&amp;quot;, &amp;quot;14-Apr-26&amp;quot;, &amp;quot;15-Apr-26&amp;quot;, &amp;quot;16-Apr-26&amp;quot;, &amp;quot;17-Apr-26&amp;quot;, &amp;quot;20-Apr-26&amp;quot;, &amp;quot;21-Apr-26&amp;quot;, &amp;quot;22-Apr-26&amp;quot;, &amp;quot;23-Apr-26&amp;quot;, &amp;quot;24-Apr-26&amp;quot;, &amp;quot;27-Apr-26&amp;quot;, &amp;quot;28-Apr-26&amp;quot;, &amp;quot;29-Apr-26&amp;quot;, &amp;quot;30-Apr-26&amp;quot;, &amp;quot;04-May-26&amp;quot;, &amp;quot;05-May-26&amp;quot;, &amp;quot;06-May-26&amp;quot;, &amp;quot;07-May-26&amp;quot;, &amp;quot;08-May-26&amp;quot;, &amp;quot;11-May-26&amp;quot;, &amp;quot;12-May-26&amp;quot;, &amp;quot;13-May-26&amp;quot;, &amp;quot;14-May-26&amp;quot;, &amp;quot;15-May-26&amp;quot;, &amp;quot;18-May-26&amp;quot;, &amp;quot;19-May-26&amp;quot;, &amp;quot;20-May-26&amp;quot;, &amp;quot;21-May-26&amp;quot;, &amp;quot;22-May-26&amp;quot;, &amp;quot;25-May-26&amp;quot;, &amp;quot;29-May-26&amp;quot;, &amp;quot;01-Jun-26&amp;quot;, &amp;quot;02-Jun-26&amp;quot;, &amp;quot;03-Jun-26&amp;quot;, &amp;quot;04-Jun-26&amp;quot;, &amp;quot;05-Jun-26&amp;quot;, &amp;quot;08-Jun-26&amp;quot;, &amp;quot;09-Jun-26&amp;quot;, &amp;quot;10-Jun-26&amp;quot;, &amp;quot;11-Jun-26&amp;quot;, &amp;quot;12-Jun-26&amp;quot;, &amp;quot;15-Jun-26&amp;quot;, &amp;quot;16-Jun-26&amp;quot;, &amp;quot;17-Jun-26&amp;quot;, &amp;quot;18-Jun-26&amp;quot;, &amp;quot;19-Jun-26&amp;quot;, &amp;quot;22-Jun-26&amp;quot;, &amp;quot;23-Jun-26&amp;quot;, &amp;quot;24-Jun-26&amp;quot;, &amp;quot;29-Jun-26&amp;quot;, &amp;quot;30-Jun-26&amp;quot;, &amp;quot;02-Jul-26&amp;quot;, &amp;quot;03-Jul-26&amp;quot;, &amp;quot;06-Jul-26&amp;quot;, &amp;quot;07-Jul-26&amp;quot;, &amp;quot;08-Jul-26&amp;quot;, &amp;quot;09-Jul-26&amp;quot;, &amp;quot;10-Jul-26&amp;quot;, &amp;quot;13-Jul-26&amp;quot;, &amp;quot;14-Jul-26&amp;quot;, &amp;quot;15-Jul-26&amp;quot;, &amp;quot;16-Jul-26&amp;quot;, &amp;quot;17-Jul-26&amp;quot;, &amp;quot;20-Jul-26&amp;quot;, &amp;quot;21-Jul-26&amp;quot;, &amp;quot;22-Jul-26&amp;quot;, &amp;quot;23-Jul-26&amp;quot;, &amp;quot;24-Jul-26&amp;quot;, &amp;quot;27-Jul-26&amp;quot;, &amp;quot;28-Jul-26&amp;quot;, &amp;quot;29-Jul-26&amp;quot;, &amp;quot;30-Jul-26&amp;quot;, &amp;quot;03-Aug-26&amp;quot;, &amp;quot;04-Aug-26&amp;quot;, &amp;quot;05-Aug-26&amp;quot;, &amp;quot;06-Aug-26&amp;quot;, &amp;quot;07-Aug-26&amp;quot;, &amp;quot;10-Aug-26&amp;quot;, &amp;quot;11-Aug-26&amp;quot;, &amp;quot;12-Aug-26&amp;quot;, &amp;quot;13-Aug-26&amp;quot;, &amp;quot;17-Aug-26&amp;quot;, &amp;quot;18-Aug-26&amp;quot;, &amp;quot;20-Aug-26&amp;quot;, &amp;quot;21-Aug-26&amp;quot;, &amp;quot;24-Aug-26&amp;quot;, &amp;quot;25-Aug-26&amp;quot;, &amp;quot;27-Aug-26&amp;quot;, &amp;quot;28-Aug-26&amp;quot;, &amp;quot;31-Aug-26&amp;quot;, &amp;quot;01-Sep-26&amp;quot;, &amp;quot;02-Sep-26&amp;quot;, &amp;quot;03-Sep-26&amp;quot;, &amp;quot;04-Sep-26&amp;quot;];
            
            const rawData = [279.77, 279.87, 279.82, 279.97, 280.07, 279.95, 279.97, 280.05, 280.21, 280.17, 280.27, 280.21, 280.22, 280.26, 280.37, 280.42, 280.26, 280.22, 280.16, 280.56, 280.47, 280.57, 280.73, 280.78, 280.56, 280.47, 280.60, 280.57, 280.46, 280.62, 280.72, 280.87, 280.77, 280.97, 281.07, 280.97, 281.07, 281.02, 280.97, 281.06, 281.22, 281.37, 281.47, 281.52, 281.71, 281.57, 281.67, 281.72, 281.61, 281.66, 281.77, 281.92, 281.97, 282.06, 281.97, 282.06, 282.17, 282.07, 282.02, 281.97, 282.12, 282.22, 282.17, 282.21, 282.47, 282.67, 282.96, 283.17, 283.41, 283.55, 283.64, 283.70, 283.87, 283.77, 283.72, 283.67, 283.72, 283.76, 283.95, 283.86, 283.97, 284.22, 284.36, 284.47, 284.56, 284.46, 284.72, 284.67, 284.96, 284.97, 284.87, 284.95, 284.97, 284.76, 284.22, 283.45, 283.21, 283.05, 282.95, 282.87, 282.72, 282.66, 282.57, 282.67, 282.56, 282.47, 282.45, 282.42, 282.22, 282.06, 282.01, 281.96, 281.95, 281.92, 281.90, 281.87, 281.86, 281.83, 281.80, 281.77, 281.75, 281.72, 281.71, 281.67, 281.65, 281.62, 281.61, 281.60, 281.56, 281.55, 281.52, 281.51, 281.50, 281.47, 281.46, 281.45, 281.46, 281.42, 281.43, 281.41, 281.37, 281.35, 281.32, 281.31, 281.27, 281.26, 281.25, 281.22, 281.21, 281.20, 281.17, 281.16, 281.15, 281.12, 281.11, 281.10, 281.07, 281.06, 281.05, 281.03, 281.02, 281.01, 280.97, 280.96, 280.92, 280.91, 280.90, 280.87, 280.86, 280.85, 280.82, 280.81, 280.78, 280.77, 280.76, 280.72, 280.71, 280.67, 280.66, 280.66, 280.65, 280.62, 280.61, 280.57, 280.56, 280.55, 280.52, 280.51, 280.47, 280.46, 280.45, 280.42, 280.41, 280.40, 280.37, 280.36, 280.32, 280.31, 280.30, 280.27, 280.26, 280.25, 280.22, 280.21, 280.20, 280.17, 280.16, 280.15, 280.12, 280.11, 280.10, 280.07, 280.06, 280.05, 280.02, 280.01, 280.00, 279.97, 279.96, 279.95, 279.92, 279.91, 279.90, 279.87, 279.86, 279.85, 279.82, 279.81, 279.80, 279.77, 279.76, 279.75, 279.72, 279.71, 279.70, 279.67, 279.66, 279.65, 279.62, 279.61, 279.60, 279.57, 279.56, 279.55, 279.52, 279.51, 279.50, 279.47, 279.46, 279.45, 279.42, 279.41, 279.40, 279.37, 279.36, 279.35, 279.32, 279.31, 279.30, 279.27, 279.26, 279.25, 279.22, 279.21, 279.20, 279.17, 279.16, 279.15, 279.12, 279.11, 279.10, 279.07, 279.06, 279.05, 279.02, 279.01, 279.00, 278.97, 278.96, 278.95, 278.92, 278.91, 278.90, 278.87, 278.86, 278.85, 278.82, 278.81, 278.80, 278.77, 278.76, 278.75, 278.72, 278.71, 278.70, 278.67, 278.66, 278.65, 278.62, 278.61, 278.60, 278.57, 278.56, 278.55, 278.52, 278.51, 278.50, 278.47, 278.46, 278.45, 278.42, 278.41, 278.40, 278.37, 278.36, 278.35, 278.32, 278.31, 278.30, 278.27, 278.26, 278.25, 278.22, 278.21, 278.20, 278.17, 278.16, 278.15, 278.12, 278.11, 278.10, 278.07, 278.06, 278.05, 278.02, 278.01, 278.00, 277.95, 277.95, 277.92, 277.91, 277.90, 277.87, 277.86, 277.85, 277.82, 277.81, 277.80, 277.77, 277.76, 277.75, 277.72, 277.71, 277.70, 277.67, 277.66, 277.65, 277.62, 277.61, 277.57, 277.56, 277.55, 277.52, 277.51, 277.50, 277.47, 277.46, 277.45, 277.42, 277.41];

            const currentExchangeRate = rawData[rawData.length - 1];
            const currentExchangeDate = rawLabels[rawLabels.length - 1];

            // DOM Elements
            const usdInput = document.getElementById(&amp;#039;usdInput&amp;#039;);
            const pkrInput = document.getElementById(&amp;#039;pkrInput&amp;#039;);
            const badgeEl = document.getElementById(&amp;#039;latestBadgeRate&amp;#039;);
            const dateLabelEl = document.getElementById(&amp;#039;latestDateLabel&amp;#039;);

            const statHighEl = document.getElementById(&amp;#039;statHigh&amp;#039;);
            const statLowEl = document.getElementById(&amp;#039;statLow&amp;#039;);
            const statAvgEl = document.getElementById(&amp;#039;statAvg&amp;#039;);
            const statChangeEl = document.getElementById(&amp;#039;statChange&amp;#039;);

            // Format helpers
            const formatCurrency = (val, maxDecimals = 2, minDecimals = 2) =&amp;gt; {
                if (isNaN(val) || val === null) return &amp;#039;--&amp;#039;;
                return val.toLocaleString(&amp;#039;en-US&amp;#039;, {
                    minimumFractionDigits: minDecimals,
                    maximumFractionDigits: maxDecimals
                });
            };

            const parseCurrency = (valStr) =&amp;gt; {
                if (!valStr) return NaN;
                return parseFloat(valStr.toString().replace(/,/g, &amp;#039;&amp;#039;));
            };

            // Set Initial Values in UI
            dateLabelEl.textContent = currentExchangeDate;
            badgeEl.textContent = formatCurrency(currentExchangeRate) + &amp;#039; PKR&amp;#039;;
            pkrInput.value = formatCurrency(currentExchangeRate);

            // Converter Event Listeners
            usdInput.addEventListener(&amp;#039;input&amp;#039;, (e) =&amp;gt; {
                const val = parseCurrency(e.target.value);
                if (isNaN(val)) {
                    pkrInput.value = &amp;#039;&amp;#039;;
                } else {
                    pkrInput.value = formatCurrency(val * currentExchangeRate);
                }
            });

            pkrInput.addEventListener(&amp;#039;input&amp;#039;, (e) =&amp;gt; {
                const val = parseCurrency(e.target.value);
                if (isNaN(val)) {
                    usdInput.value = &amp;#039;&amp;#039;;
                } else {
                    usdInput.value = formatCurrency(val / currentExchangeRate, 4, 2);
                }
            });

            usdInput.addEventListener(&amp;#039;blur&amp;#039;, (e) =&amp;gt; {
                const val = parseCurrency(e.target.value);
                if (!isNaN(val)) {
                    e.target.value = formatCurrency(val, 2, 0);
                }
            });

            pkrInput.addEventListener(&amp;#039;blur&amp;#039;, (e) =&amp;gt; {
                const val = parseCurrency(e.target.value);
                if (!isNaN(val)) {
                    e.target.value = formatCurrency(val, 2, 2);
                }
            });

            const ctx = document.getElementById(&amp;#039;closingRatesChart&amp;#039;).getContext(&amp;#039;2d&amp;#039;);
            
            // Create gradient fill
            const gradient = ctx.createLinearGradient(0, 0, 0, 350);
            gradient.addColorStop(0, &amp;#039;rgba(79, 70, 229, 0.25)&amp;#039;);
            gradient.addColorStop(1, &amp;#039;rgba(79, 70, 229, 0.0)&amp;#039;);

            let chartInstance = new Chart(ctx, {
                type: &amp;#039;line&amp;#039;,
                data: {
                    labels: rawLabels,
                    datasets: [{
                        label: &amp;#039;USD to PKR&amp;#039;,
                        data: rawData,
                        borderColor: &amp;#039;#4f46e5&amp;#039;,
                        borderWidth: 2,
                        backgroundColor: gradient,
                        fill: true,
                        tension: 0.3,
                        pointRadius: 0,
                        pointHoverRadius: 6,
                        pointHoverBackgroundColor: &amp;#039;#4f46e5&amp;#039;,
                        pointHoverBorderColor: &amp;#039;#ffffff&amp;#039;,
                        pointHoverBorderWidth: 2
                    }]
                },
                options: {
                    responsive: true,
                    maintainAspectRatio: false,
                    interaction: {
                        intersect: false,
                        mode: &amp;#039;index&amp;#039;
                    },
                    plugins: {
                        legend: { display: false },
                        tooltip: {
                            backgroundColor: &amp;#039;#0f172a&amp;#039;,
                            titleFont: { family: &amp;#039;Plus Jakarta Sans&amp;#039;, size: 12, weight: &amp;#039;bold&amp;#039; },
                            bodyFont: { family: &amp;#039;Plus Jakarta Sans&amp;#039;, size: 13 },
                            padding: 10,
                            cornerRadius: 8,
                            displayColors: false,
                            callbacks: {
                                label: function(context) {
                                    return &amp;#039;Rate: &amp;#039; + formatCurrency(context.parsed.y) + &amp;#039; PKR&amp;#039;;
                                }
                            }
                        }
                    },
                    scales: {
                        x: {
                            grid: { display: false },
                            ticks: {
                                font: { family: &amp;#039;Plus Jakarta Sans&amp;#039;, size: 11 },
                                color: &amp;#039;#64748b&amp;#039;,
                                maxTicksLimit: 8,
                                maxRotation: 0
                            }
                        },
                        y: {
                            grid: { color: &amp;#039;#f1f5f9&amp;#039; },
                            ticks: {
                                font: { family: &amp;#039;Plus Jakarta Sans&amp;#039;, size: 11 },
                                color: &amp;#039;#64748b&amp;#039;,
                                callback: function(value) {
                                    return value.toFixed(1);
                                }
                            }
                        }
                    }
                }
            });

            function updateRangeStats(labels, data) {
                if (!data || data.length === 0) return;

                const high = Math.max(...data);
                const low = Math.min(...data);
                const avg = data.reduce((a, b) =&amp;gt; a + b, 0) / data.length;
                const startVal = data[0];
                const endVal = data[data.length - 1];
                const change = endVal - startVal;
                const changePct = (change / startVal) * 100;

                statHighEl.textContent = formatCurrency(high);
                statLowEl.textContent = formatCurrency(low);
                statAvgEl.textContent = formatCurrency(avg);

                const sign = change &amp;gt;= 0 ? &amp;#039;+&amp;#039; : &amp;#039;&amp;#039;;
                statChangeEl.textContent = `${sign}${formatCurrency(change)} (${sign}${changePct.toFixed(2)}%)`;
                statChangeEl.style.color = change &amp;gt; 0 ? &amp;#039;#10b981&amp;#039; : (change &amp;lt; 0 ? &amp;#039;#ef4444&amp;#039; : &amp;#039;#64748b&amp;#039;);
            }

            // Timeframe filtering handler
            function setTimeframe(rangeCount) {
                let slicedLabels = rawLabels;
                let slicedData = rawData;

                if (rangeCount !== &amp;#039;all&amp;#039;) {
                    const count = parseInt(rangeCount, 10);
                    slicedLabels = rawLabels.slice(-count);
                    slicedData = rawData.slice(-count);
                }

                chartInstance.data.labels = slicedLabels;
                chartInstance.data.datasets[0].data = slicedData;

                // Adjust Y axis dynamic scaling
                const minVal = Math.min(...slicedData);
                const maxVal = Math.max(...slicedData);
                const padding = (maxVal - minVal) * 0.1 || 1;
                
                chartInstance.options.scales.y.min = Math.floor((minVal - padding) * 10) / 10;
                chartInstance.options.scales.y.max = Math.ceil((maxVal + padding) * 10) / 10;

                chartInstance.update();
                updateRangeStats(slicedLabels, slicedData);
            }

            // Setup timeframe button listeners
            document.querySelectorAll(&amp;#039;#pkr-chart-embed .tf-btn&amp;#039;).forEach(btn =&amp;gt; {
                btn.addEventListener(&amp;#039;click&amp;#039;, (e) =&amp;gt; {
                    document.querySelectorAll(&amp;#039;#pkr-chart-embed .tf-btn&amp;#039;).forEach(b =&amp;gt; b.classList.remove(&amp;#039;active&amp;#039;));
                    e.target.classList.add(&amp;#039;active&amp;#039;);
                    setTimeframe(e.target.getAttribute(&amp;#039;data-range&amp;#039;));
                });
            });

            // Initial range load
            setTimeframe(&amp;#039;all&amp;#039;);
        })();
    &amp;lt;/script&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;
    &amp;lt;script&amp;gt;
        function reportHeight() {
            var h = document.documentElement.scrollHeight;
            window.parent.postMessage({ type: &amp;#039;raw-html-resize&amp;#039;, id: &amp;#039;raw-html-6a9ad87e14743&amp;#039;, height: h }, &amp;#039;*&amp;#039;);
        }
        window.addEventListener(&amp;#039;load&amp;#039;, reportHeight);
        if (window.ResizeObserver) {
            new ResizeObserver(reportHeight).observe(document.body);
        }
    &amp;lt;/script&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;"&gt;&lt;/iframe&gt;
&lt;script&gt;
if (!window._rawHtmlListenerAttached) {
    window._rawHtmlListenerAttached = true;
    window.addEventListener('message', function(event) {
        if (event.data &amp;&amp; event.data.type === 'raw-html-resize' &amp;&amp; event.data.id) {
            var iframe = document.getElementById(event.data.id);
            if (iframe) {
                var height = Math.min(Math.max(event.data.height, 50), 9200);
                iframe.style.height = height + 'px';
            }
        }
    });
}
&lt;/script&gt;
&lt;p&gt;&lt;strong&gt;The Pakistani rupee extended its marginal gains against the US dollar on Friday.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The local unit closed the day at 277.41, a gain of Re0.01 against the greenback.&lt;/p&gt;
    &lt;figure class='media  w-full sm:w-full  media--center  media--embed  media--uneven media--tweet' data-original-src='https://x.com/StateBank_Pak/status/2095842104086077479'&gt;
        &lt;div class='media__item  media__item--twitter  '&gt;&lt;span&gt;
    &lt;blockquote class="twitter-tweet" lang="en"&gt;
        &lt;a href="https://twitter.com/StateBank_Pak/status/2095842104086077479"&gt;&lt;/a&gt;
    &lt;/blockquote&gt;
&lt;/span&gt;&lt;/div&gt;
        
    &lt;/figure&gt;
&lt;p&gt;&lt;a href="https://www.brecorder.com/news/40437763"&gt;&lt;u&gt;On Thursday&lt;/u&gt;&lt;/a&gt;, the Pakistani rupee settled at 277.42 against the dollar.&lt;/p&gt;
&lt;p&gt;Moreover, the Japanese yen clung to its gains ​against the US dollar on Friday and was on track for its strongest week in more ‌than a month.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.brecorder.com/news/40437900/yen-headed-for-strongest-week-in-a-month-dollar-flat-ahead-of-payroll-data"&gt;The dollar index&lt;/a&gt;, which measures the greenback against a basket of currencies including the yen and the euro, was flat at 99.01, leaving the euro flat at $1.1625 and sterling at $1.3527.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.brecorder.com/news/40437940/pakistan-rupee-registers-gain-against-us-dollar"&gt;Oil prices hit fresh six-week highs&lt;/a&gt; on Thursday ​after new US strikes on Iran and renewed Israeli threats against Tehran heightened concerns about ‌disruptions to Middle East supplies.&lt;/p&gt;
&lt;p&gt;Brent crude futures were up $1.66, or 1.7%, at $97.29 a barrel by 1200 GMT, erasing earlier losses, while US West Texas Intermediate crude futures rose $2.03, or 2.2%, to $93.04. Both contracts were heading for ​their fourth day of gains and hit six-week highs earlier in the session.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Inter-bank market rates for dollar on Friday&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;BID Rs 277.41&lt;/p&gt;
&lt;p&gt;OFFER Rs 277.61&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Open-market movement&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;In the open market, the PKR lost 3 paise for buying and remained unchanged for selling against USD, closing at 278.29 and 279.15, respectively.&lt;/p&gt;
&lt;p&gt;Against Euro, the PKR lost 86 paise for buying and 83 paise for selling, closing at 322.53 and 325.32, respectively.&lt;/p&gt;
&lt;p&gt;Against UAE Dirham, the PKR remained unchanged for buying and lost 1 paisa for selling, closing at 75.68 and 76.29, respectively.&lt;/p&gt;
&lt;p&gt;Against Saudi Riyal, the PKR gained 2 paise for buying and 4 paise for selling, closing at 73.95 and 74.49, respectively.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Open-market rates for dollar on Friday&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;BID Rs 278.29&lt;/p&gt;
&lt;p&gt;OFFER Rs 279.15&lt;/p&gt;
</description>
      <content:encoded xmlns="http://purl.org/rss/1.0/modules/content/"><![CDATA[<iframe id="raw-html-6a9ad87e14743" class="raw-html-embed" style="width: 100%; min-height: 50px; max-height: 9200px; border: none; overflow: hidden;" scrolling="no" srcdoc="&lt;!DOCTYPE html&gt;
&lt;html&gt;
&lt;head&gt;
    &lt;style&gt;
        body { margin: 0; padding: 0; font-family: system-ui, -apple-system, sans-serif; overflow-wrap: anywhere; }
    &lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
    
&lt;!DOCTYPE html&gt;
&lt;html lang=&quot;en&quot;&gt;
&lt;head&gt;
    &lt;meta charset=&quot;UTF-8&quot;&gt;
    &lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1.0&quot;&gt;
    &lt;title&gt;PKR vs USD Exchange Rate Chart&lt;/title&gt;
    &lt;!-- Chart.js for interactive rendering --&gt;
    &lt;script src=&quot;https://cdn.jsdelivr.net/npm/chart.js&quot;&gt;&lt;/script&gt;
    
    &lt;style&gt;
        @import url(&#039;https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght=400;500;600;700&amp;display=swap&#039;);

        #pkr-chart-embed {
            font-family: &#039;Plus Jakarta Sans&#039;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, Roboto, sans-serif;
            max-width: 1000px;
            width: 100%;
            margin: 24px auto;
            background-color: #ffffff;
            border: 1px solid #e2e8f0;
            border-radius: 20px;
            padding: 24px;
            box-shadow: 0 10px 25px -5px rgba(15, 23, 42, 0.05), 0 8px 10px -6px rgba(15, 23, 42, 0.05);
            color: #0f172a;
            box-sizing: border-box;
        }

        #pkr-chart-embed * { box-sizing: border-box; margin: 0; padding: 0; }

        #pkr-chart-embed .chart-header {
            display: flex;
            flex-direction: column;
            gap: 20px;
            margin-bottom: 20px;
            width: 100%;
        }

        #pkr-chart-embed .top-row {
            display: flex;
            flex-direction: row;
            justify-content: space-between;
            align-items: flex-start;
            gap: 20px;
        }

        #pkr-chart-embed .calculator-area {
            display: flex;
            flex-direction: column;
            gap: 8px;
            align-items: flex-start;
        }

        #pkr-chart-embed .main-title {
            font-size: 22px;
            font-weight: 700;
            color: #0f172a;
            letter-spacing: -0.025em;
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            gap: 10px;
        }

        #pkr-chart-embed .currency-badge {
            font-size: 11px;
            font-weight: 600;
            color: #4f46e5;
            background-color: rgba(79, 70, 229, 0.08);
            padding: 3px 10px;
            border-radius: 9999px;
            border: 1px solid rgba(79, 70, 229, 0.15);
            text-transform: uppercase;
        }

        #pkr-chart-embed .calculator-title {
            font-size: 10px;
            font-weight: 700;
            color: #64748b;
            text-transform: uppercase;
            letter-spacing: 0.05em;
        }

        #pkr-chart-embed .converter {
            display: flex;
            align-items: center;
            background: #f8fafc;
            border: 1px solid #e2e8f0;
            border-radius: 12px;
            padding: 4px;
            gap: 6px;
        }

        #pkr-chart-embed .converter-group {
            display: flex;
            align-items: center;
            background: #ffffff;
            border-radius: 8px;
            padding: 6px 10px;
            box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
            border: 1px solid #e2e8f0;
        }

        #pkr-chart-embed .converter-input {
            border: none;
            outline: none;
            width: 90px;
            font-family: inherit;
            font-weight: 700;
            color: #0f172a;
            font-size: 14px;
            text-align: right;
            background: transparent;
        }

        #pkr-chart-embed .converter-input.pkr-field { width: 120px; }

        #pkr-chart-embed .converter-label {
            font-size: 11px;
            font-weight: 700;
            color: #64748b;
            margin-left: 6px;
        }

        #pkr-chart-embed .equals-sign { color: #94a3b8; font-weight: 600; font-size: 16px; }

        #pkr-chart-embed .rate-badge-container {
            display: flex;
            flex-direction: column;
            align-items: flex-end;
            gap: 6px;
        }

        #pkr-chart-embed .rate-label-sub { text-align: right; }
        #pkr-chart-embed .rate-label-sub span:first-child { display: block; font-size: 9px; text-transform: uppercase; font-weight: 700; color: #64748b; }
        #pkr-chart-embed .rate-label-sub span:last-child { display: block; font-size: 12px; color: #334155; font-weight: 600; }

        #pkr-chart-embed .rate-badge {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            background: linear-gradient(135deg, #4f46e5, #3b82f6);
            color: #ffffff;
            font-weight: 700;
            font-size: 14px;
            padding: 8px 14px;
            border-radius: 12px;
            box-shadow: 0 8px 16px -3px rgba(79, 70, 229, 0.25);
        }

        #pkr-chart-embed .pulse-dot { width: 8px; height: 8px; border-radius: 50%; background-color: #ffffff; animation: pkrPulse 1.5s infinite; }

        @keyframes pkrPulse {
            0% { transform: scale(0.95); opacity: 0.6; }
            50% { transform: scale(1.15); opacity: 1; }
            100% { transform: scale(0.95); opacity: 0.6; }
        }

        /* Controls &amp; Stats Toolbar */
        #pkr-chart-embed .toolbar {
            display: flex;
            justify-content: space-between;
            align-items: center;
            flex-wrap: wrap;
            gap: 12px;
            margin-bottom: 16px;
            padding-bottom: 12px;
            border-bottom: 1px solid #f1f5f9;
        }

        #pkr-chart-embed .timeframe-selector {
            display: flex;
            gap: 4px;
            background: #f1f5f9;
            padding: 3px;
            border-radius: 10px;
        }

        #pkr-chart-embed .tf-btn {
            border: none;
            background: transparent;
            font-family: inherit;
            font-size: 12px;
            font-weight: 600;
            color: #64748b;
            padding: 5px 12px;
            border-radius: 7px;
            cursor: pointer;
            transition: all 0.2s ease;
        }

        #pkr-chart-embed .tf-btn.active {
            background: #ffffff;
            color: #4f46e5;
            box-shadow: 0 1px 3px rgba(0,0,0,0.1);
        }

        #pkr-chart-embed .stats-row {
            display: flex;
            gap: 16px;
            flex-wrap: wrap;
        }

        #pkr-chart-embed .stat-item {
            font-size: 12px;
            color: #64748b;
        }

        #pkr-chart-embed .stat-item strong {
            color: #0f172a;
            font-weight: 700;
        }

        #pkr-chart-embed .chart-canvas-container { position: relative; width: 100%; height: 380px; }

        @media (max-width: 768px) {
            #pkr-chart-embed .chart-canvas-container { height: 300px; }
            #pkr-chart-embed .top-row { flex-direction: column; align-items: flex-start; }
            #pkr-chart-embed .rate-badge-container { align-items: flex-start; }
            #pkr-chart-embed .rate-label-sub { text-align: left; }
            #pkr-chart-embed .toolbar { flex-direction: column; align-items: flex-start; }
        }
    &lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
    &lt;div id=&quot;pkr-chart-embed&quot;&gt;
        &lt;div class=&quot;chart-header&quot;&gt;
            &lt;h1 class=&quot;main-title&quot;&gt;
                &lt;span&gt;PKR vs USD Exchange Rate&lt;/span&gt;
                &lt;span class=&quot;currency-badge&quot;&gt;USD / PKR&lt;/span&gt;
            &lt;/h1&gt;

            &lt;div class=&quot;top-row&quot;&gt;
                &lt;div class=&quot;calculator-area&quot;&gt;
                    &lt;span class=&quot;calculator-title&quot;&gt;Calculator&lt;/span&gt;
                    &lt;div class=&quot;converter&quot;&gt;
                        &lt;div class=&quot;converter-group&quot;&gt;
                            &lt;input type=&quot;text&quot; inputmode=&quot;decimal&quot; id=&quot;usdInput&quot; class=&quot;converter-input&quot; value=&quot;1&quot;&gt;
                            &lt;span class=&quot;converter-label&quot;&gt;USD&lt;/span&gt;
                        &lt;/div&gt;
                        &lt;span class=&quot;equals-sign&quot;&gt;=&lt;/span&gt;
                        &lt;div class=&quot;converter-group&quot;&gt;
                            &lt;input type=&quot;text&quot; inputmode=&quot;decimal&quot; id=&quot;pkrInput&quot; class=&quot;converter-input pkr-field&quot; value=&quot;&quot;&gt;
                            &lt;span class=&quot;converter-label&quot;&gt;PKR&lt;/span&gt;
                        &lt;/div&gt;
                    &lt;/div&gt;
                &lt;/div&gt;

                &lt;div class=&quot;rate-badge-container&quot;&gt;
                    &lt;div class=&quot;rate-label-sub&quot;&gt;
                        &lt;span&gt;Latest Closing&lt;/span&gt;
                        &lt;span id=&quot;latestDateLabel&quot;&gt;04-Sep-26&lt;/span&gt;
                    &lt;/div&gt;
                    &lt;div class=&quot;rate-badge&quot;&gt;
                        &lt;span class=&quot;pulse-dot&quot;&gt;&lt;/span&gt;
                        &lt;span id=&quot;latestBadgeRate&quot;&gt;277.41 PKR&lt;/span&gt;
                    &lt;/div&gt;
                &lt;/div&gt;
            &lt;/div&gt;
        &lt;/div&gt;

        &lt;div class=&quot;toolbar&quot;&gt;
            &lt;div class=&quot;timeframe-selector&quot;&gt;
                &lt;button class=&quot;tf-btn&quot; data-range=&quot;30&quot;&gt;1M&lt;/button&gt;
                &lt;button class=&quot;tf-btn&quot; data-range=&quot;90&quot;&gt;3M&lt;/button&gt;
                &lt;button class=&quot;tf-btn&quot; data-range=&quot;180&quot;&gt;6M&lt;/button&gt;
                &lt;button class=&quot;tf-btn&quot; data-range=&quot;365&quot;&gt;1Y&lt;/button&gt;
                &lt;button class=&quot;tf-btn active&quot; data-range=&quot;all&quot;&gt;ALL&lt;/button&gt;
            &lt;/div&gt;

            &lt;div class=&quot;stats-row&quot;&gt;
                &lt;span class=&quot;stat-item&quot;&gt;High: &lt;strong id=&quot;statHigh&quot;&gt;--&lt;/strong&gt;&lt;/span&gt;
                &lt;span class=&quot;stat-item&quot;&gt;Low: &lt;strong id=&quot;statLow&quot;&gt;--&lt;/strong&gt;&lt;/span&gt;
                &lt;span class=&quot;stat-item&quot;&gt;Avg: &lt;strong id=&quot;statAvg&quot;&gt;--&lt;/strong&gt;&lt;/span&gt;
                &lt;span class=&quot;stat-item&quot;&gt;Change: &lt;strong id=&quot;statChange&quot;&gt;--&lt;/strong&gt;&lt;/span&gt;
            &lt;/div&gt;
        &lt;/div&gt;

        &lt;div class=&quot;chart-canvas-container&quot;&gt;
            &lt;canvas id=&quot;closingRatesChart&quot;&gt;&lt;/canvas&gt;
        &lt;/div&gt;
    &lt;/div&gt;

    &lt;script&gt;
        (function() {
            // Full historical closing rate dataset
            const rawLabels = [&quot;04-Mar-25&quot;, &quot;05-Mar-25&quot;, &quot;06-Mar-25&quot;, &quot;07-Mar-25&quot;, &quot;10-Mar-25&quot;, &quot;11-Mar-25&quot;, &quot;12-Mar-25&quot;, &quot;13-Mar-25&quot;, &quot;14-Mar-25&quot;, &quot;17-Mar-25&quot;, &quot;18-Mar-25&quot;, &quot;19-Mar-25&quot;, &quot;20-Mar-25&quot;, &quot;21-Mar-25&quot;, &quot;24-Mar-25&quot;, &quot;25-Mar-25&quot;, &quot;26-Mar-25&quot;, &quot;27-Mar-25&quot;, &quot;28-Mar-25&quot;, &quot;03-Apr-25&quot;, &quot;04-Apr-25&quot;, &quot;07-Apr-25&quot;, &quot;08-Apr-25&quot;, &quot;09-Apr-25&quot;, &quot;10-Apr-25&quot;, &quot;11-Apr-25&quot;, &quot;14-Apr-25&quot;, &quot;15-Apr-25&quot;, &quot;16-Apr-25&quot;, &quot;17-Apr-25&quot;, &quot;18-Apr-25&quot;, &quot;21-Apr-25&quot;, &quot;22-Apr-25&quot;, &quot;23-Apr-25&quot;, &quot;24-Apr-25&quot;, &quot;25-Apr-25&quot;, &quot;28-Apr-25&quot;, &quot;29-Apr-25&quot;, &quot;30-Apr-25&quot;, &quot;02-May-25&quot;, &quot;05-May-25&quot;, &quot;06-May-25&quot;, &quot;07-May-25&quot;, &quot;08-May-25&quot;, &quot;09-May-25&quot;, &quot;12-May-25&quot;, &quot;13-May-25&quot;, &quot;14-May-25&quot;, &quot;15-May-25&quot;, &quot;16-May-25&quot;, &quot;19-May-25&quot;, &quot;20-May-25&quot;, &quot;21-May-25&quot;, &quot;22-May-25&quot;, &quot;23-May-25&quot;, &quot;26-May-25&quot;, &quot;27-May-25&quot;, &quot;29-May-25&quot;, &quot;30-May-25&quot;, &quot;02-Jun-25&quot;, &quot;03-Jun-25&quot;, &quot;04-Jun-25&quot;, &quot;05-Jun-25&quot;, &quot;10-Jun-25&quot;, &quot;11-Jun-25&quot;, &quot;12-Jun-25&quot;, &quot;13-Jun-25&quot;, &quot;16-Jun-25&quot;, &quot;17-Jun-25&quot;, &quot;18-Jun-25&quot;, &quot;19-Jun-25&quot;, &quot;20-Jun-25&quot;, &quot;23-Jun-25&quot;, &quot;24-Jun-25&quot;, &quot;25-Jun-25&quot;, &quot;26-Jun-25&quot;, &quot;27-Jun-25&quot;, &quot;30-Jun-25&quot;, &quot;02-Jul-25&quot;, &quot;03-Jul-25&quot;, &quot;04-Jul-25&quot;, &quot;07-Jul-25&quot;, &quot;08-Jul-25&quot;, &quot;09-Jul-25&quot;, &quot;10-Jul-25&quot;, &quot;11-Jul-25&quot;, &quot;14-Jul-25&quot;, &quot;15-Jul-25&quot;, &quot;16-Jul-25&quot;, &quot;17-Jul-25&quot;, &quot;18-Jul-25&quot;, &quot;21-Jul-25&quot;, &quot;22-Jul-25&quot;, &quot;23-Jul-25&quot;, &quot;24-Jul-25&quot;, &quot;25-Jul-25&quot;, &quot;28-Jul-25&quot;, &quot;29-Jul-25&quot;, &quot;30-Jul-25&quot;, &quot;31-Jul-25&quot;, &quot;01-Aug-25&quot;, &quot;04-Aug-25&quot;, &quot;05-Aug-25&quot;, &quot;06-Aug-25&quot;, &quot;07-Aug-25&quot;, &quot;08-Aug-25&quot;, &quot;11-Aug-25&quot;, &quot;12-Aug-25&quot;, &quot;13-Aug-25&quot;, &quot;15-Aug-25&quot;, &quot;18-Aug-25&quot;, &quot;19-Aug-25&quot;, &quot;20-Aug-25&quot;, &quot;21-Aug-25&quot;, &quot;22-Aug-25&quot;, &quot;25-Aug-25&quot;, &quot;26-Aug-25&quot;, &quot;27-Aug-25&quot;, &quot;28-Aug-25&quot;, &quot;29-Aug-25&quot;, &quot;01-Sep-25&quot;, &quot;02-Sep-25&quot;, &quot;03-Sep-25&quot;, &quot;04-Sep-25&quot;, &quot;05-Sep-25&quot;, &quot;08-Sep-25&quot;, &quot;09-Sep-25&quot;, &quot;10-Sep-25&quot;, &quot;11-Sep-25&quot;, &quot;12-Sep-25&quot;, &quot;15-Sep-25&quot;, &quot;16-Sep-25&quot;, &quot;17-Sep-25&quot;, &quot;18-Sep-25&quot;, &quot;19-Sep-25&quot;, &quot;21-Sep-25&quot;, &quot;22-Sep-25&quot;, &quot;23-Sep-25&quot;, &quot;24-Sep-25&quot;, &quot;25-Sep-25&quot;, &quot;26-Sep-25&quot;, &quot;29-Sep-25&quot;, &quot;30-Sep-25&quot;, &quot;01-Oct-25&quot;, &quot;02-Oct-25&quot;, &quot;03-Oct-25&quot;, &quot;06-Oct-25&quot;, &quot;07-Oct-25&quot;, &quot;08-Oct-25&quot;, &quot;09-Oct-25&quot;, &quot;10-Oct-25&quot;, &quot;13-Oct-25&quot;, &quot;14-Oct-25&quot;, &quot;15-Oct-25&quot;, &quot;16-Oct-25&quot;, &quot;17-Oct-25&quot;, &quot;20-Oct-25&quot;, &quot;21-Oct-25&quot;, &quot;22-Oct-25&quot;, &quot;23-Oct-25&quot;, &quot;24-Oct-25&quot;, &quot;27-Oct-25&quot;, &quot;28-Oct-25&quot;, &quot;29-Oct-25&quot;, &quot;30-Oct-25&quot;, &quot;31-Oct-25&quot;, &quot;03-Nov-25&quot;, &quot;04-Nov-25&quot;, &quot;05-Nov-25&quot;, &quot;06-Nov-25&quot;, &quot;07-Nov-25&quot;, &quot;10-Nov-25&quot;, &quot;11-Nov-25&quot;, &quot;12-Nov-25&quot;, &quot;13-Nov-25&quot;, &quot;14-Nov-25&quot;, &quot;17-Nov-25&quot;, &quot;18-Nov-25&quot;, &quot;19-Nov-25&quot;, &quot;20-Nov-25&quot;, &quot;21-Nov-25&quot;, &quot;24-Nov-25&quot;, &quot;25-Nov-25&quot;, &quot;26-Nov-25&quot;, &quot;27-Nov-25&quot;, &quot;28-Nov-25&quot;, &quot;01-Dec-25&quot;, &quot;02-Dec-25&quot;, &quot;03-Dec-25&quot;, &quot;04-Dec-25&quot;, &quot;05-Dec-25&quot;, &quot;08-Dec-25&quot;, &quot;09-Dec-25&quot;, &quot;10-Dec-25&quot;, &quot;11-Dec-25&quot;, &quot;12-Dec-25&quot;, &quot;15-Dec-25&quot;, &quot;16-Dec-25&quot;, &quot;17-Dec-25&quot;, &quot;18-Dec-25&quot;, &quot;19-Dec-25&quot;, &quot;22-Dec-25&quot;, &quot;23-Dec-25&quot;, &quot;24-Dec-25&quot;, &quot;26-Dec-25&quot;, &quot;29-Dec-25&quot;, &quot;30-Dec-25&quot;, &quot;31-Dec-25&quot;, &quot;02-Jan-26&quot;, &quot;05-Jan-26&quot;, &quot;06-Jan-26&quot;, &quot;07-Jan-26&quot;, &quot;08-Jan-26&quot;, &quot;09-Jan-26&quot;, &quot;12-Jan-26&quot;, &quot;13-Jan-26&quot;, &quot;14-Jan-26&quot;, &quot;15-Jan-26&quot;, &quot;16-Jan-26&quot;, &quot;19-Jan-26&quot;, &quot;20-Jan-26&quot;, &quot;21-Jan-26&quot;, &quot;22-Jan-26&quot;, &quot;23-Jan-26&quot;, &quot;26-Jan-26&quot;, &quot;27-Jan-26&quot;, &quot;28-Jan-26&quot;, &quot;29-Jan-26&quot;, &quot;30-Jan-26&quot;, &quot;02-Feb-26&quot;, &quot;03-Feb-26&quot;, &quot;04-Feb-26&quot;, &quot;06-Feb-26&quot;, &quot;09-Feb-26&quot;, &quot;10-Feb-26&quot;, &quot;11-Feb-26&quot;, &quot;12-Feb-26&quot;, &quot;13-Feb-26&quot;, &quot;16-Feb-26&quot;, &quot;17-Feb-26&quot;, &quot;18-Feb-26&quot;, &quot;20-Feb-26&quot;, &quot;23-Feb-26&quot;, &quot;24-Feb-26&quot;, &quot;25-Feb-26&quot;, &quot;26-Feb-26&quot;, &quot;27-Feb-26&quot;, &quot;02-Mar-26&quot;, &quot;03-Mar-26&quot;, &quot;04-Mar-26&quot;, &quot;05-Mar-26&quot;, &quot;06-Mar-26&quot;, &quot;09-Mar-26&quot;, &quot;10-Mar-26&quot;, &quot;11-Mar-26&quot;, &quot;12-Mar-26&quot;, &quot;13-Mar-26&quot;, &quot;16-Mar-26&quot;, &quot;17-Mar-26&quot;, &quot;18-Mar-26&quot;, &quot;19-Mar-26&quot;, &quot;24-Mar-26&quot;, &quot;25-Mar-26&quot;, &quot;26-Mar-26&quot;, &quot;27-Mar-26&quot;, &quot;30-Mar-26&quot;, &quot;31-Mar-26&quot;, &quot;01-Apr-26&quot;, &quot;02-Apr-26&quot;, &quot;03-Apr-26&quot;, &quot;04-Apr-26&quot;, &quot;06-Apr-26&quot;, &quot;07-Apr-26&quot;, &quot;08-Apr-26&quot;, &quot;09-Apr-26&quot;, &quot;10-Apr-26&quot;, &quot;13-Apr-26&quot;, &quot;14-Apr-26&quot;, &quot;14-Apr-26&quot;, &quot;15-Apr-26&quot;, &quot;16-Apr-26&quot;, &quot;17-Apr-26&quot;, &quot;20-Apr-26&quot;, &quot;21-Apr-26&quot;, &quot;22-Apr-26&quot;, &quot;23-Apr-26&quot;, &quot;24-Apr-26&quot;, &quot;27-Apr-26&quot;, &quot;28-Apr-26&quot;, &quot;29-Apr-26&quot;, &quot;30-Apr-26&quot;, &quot;04-May-26&quot;, &quot;05-May-26&quot;, &quot;06-May-26&quot;, &quot;07-May-26&quot;, &quot;08-May-26&quot;, &quot;11-May-26&quot;, &quot;12-May-26&quot;, &quot;13-May-26&quot;, &quot;14-May-26&quot;, &quot;15-May-26&quot;, &quot;18-May-26&quot;, &quot;19-May-26&quot;, &quot;20-May-26&quot;, &quot;21-May-26&quot;, &quot;22-May-26&quot;, &quot;25-May-26&quot;, &quot;29-May-26&quot;, &quot;01-Jun-26&quot;, &quot;02-Jun-26&quot;, &quot;03-Jun-26&quot;, &quot;04-Jun-26&quot;, &quot;05-Jun-26&quot;, &quot;08-Jun-26&quot;, &quot;09-Jun-26&quot;, &quot;10-Jun-26&quot;, &quot;11-Jun-26&quot;, &quot;12-Jun-26&quot;, &quot;15-Jun-26&quot;, &quot;16-Jun-26&quot;, &quot;17-Jun-26&quot;, &quot;18-Jun-26&quot;, &quot;19-Jun-26&quot;, &quot;22-Jun-26&quot;, &quot;23-Jun-26&quot;, &quot;24-Jun-26&quot;, &quot;29-Jun-26&quot;, &quot;30-Jun-26&quot;, &quot;02-Jul-26&quot;, &quot;03-Jul-26&quot;, &quot;06-Jul-26&quot;, &quot;07-Jul-26&quot;, &quot;08-Jul-26&quot;, &quot;09-Jul-26&quot;, &quot;10-Jul-26&quot;, &quot;13-Jul-26&quot;, &quot;14-Jul-26&quot;, &quot;15-Jul-26&quot;, &quot;16-Jul-26&quot;, &quot;17-Jul-26&quot;, &quot;20-Jul-26&quot;, &quot;21-Jul-26&quot;, &quot;22-Jul-26&quot;, &quot;23-Jul-26&quot;, &quot;24-Jul-26&quot;, &quot;27-Jul-26&quot;, &quot;28-Jul-26&quot;, &quot;29-Jul-26&quot;, &quot;30-Jul-26&quot;, &quot;03-Aug-26&quot;, &quot;04-Aug-26&quot;, &quot;05-Aug-26&quot;, &quot;06-Aug-26&quot;, &quot;07-Aug-26&quot;, &quot;10-Aug-26&quot;, &quot;11-Aug-26&quot;, &quot;12-Aug-26&quot;, &quot;13-Aug-26&quot;, &quot;17-Aug-26&quot;, &quot;18-Aug-26&quot;, &quot;20-Aug-26&quot;, &quot;21-Aug-26&quot;, &quot;24-Aug-26&quot;, &quot;25-Aug-26&quot;, &quot;27-Aug-26&quot;, &quot;28-Aug-26&quot;, &quot;31-Aug-26&quot;, &quot;01-Sep-26&quot;, &quot;02-Sep-26&quot;, &quot;03-Sep-26&quot;, &quot;04-Sep-26&quot;];
            
            const rawData = [279.77, 279.87, 279.82, 279.97, 280.07, 279.95, 279.97, 280.05, 280.21, 280.17, 280.27, 280.21, 280.22, 280.26, 280.37, 280.42, 280.26, 280.22, 280.16, 280.56, 280.47, 280.57, 280.73, 280.78, 280.56, 280.47, 280.60, 280.57, 280.46, 280.62, 280.72, 280.87, 280.77, 280.97, 281.07, 280.97, 281.07, 281.02, 280.97, 281.06, 281.22, 281.37, 281.47, 281.52, 281.71, 281.57, 281.67, 281.72, 281.61, 281.66, 281.77, 281.92, 281.97, 282.06, 281.97, 282.06, 282.17, 282.07, 282.02, 281.97, 282.12, 282.22, 282.17, 282.21, 282.47, 282.67, 282.96, 283.17, 283.41, 283.55, 283.64, 283.70, 283.87, 283.77, 283.72, 283.67, 283.72, 283.76, 283.95, 283.86, 283.97, 284.22, 284.36, 284.47, 284.56, 284.46, 284.72, 284.67, 284.96, 284.97, 284.87, 284.95, 284.97, 284.76, 284.22, 283.45, 283.21, 283.05, 282.95, 282.87, 282.72, 282.66, 282.57, 282.67, 282.56, 282.47, 282.45, 282.42, 282.22, 282.06, 282.01, 281.96, 281.95, 281.92, 281.90, 281.87, 281.86, 281.83, 281.80, 281.77, 281.75, 281.72, 281.71, 281.67, 281.65, 281.62, 281.61, 281.60, 281.56, 281.55, 281.52, 281.51, 281.50, 281.47, 281.46, 281.45, 281.46, 281.42, 281.43, 281.41, 281.37, 281.35, 281.32, 281.31, 281.27, 281.26, 281.25, 281.22, 281.21, 281.20, 281.17, 281.16, 281.15, 281.12, 281.11, 281.10, 281.07, 281.06, 281.05, 281.03, 281.02, 281.01, 280.97, 280.96, 280.92, 280.91, 280.90, 280.87, 280.86, 280.85, 280.82, 280.81, 280.78, 280.77, 280.76, 280.72, 280.71, 280.67, 280.66, 280.66, 280.65, 280.62, 280.61, 280.57, 280.56, 280.55, 280.52, 280.51, 280.47, 280.46, 280.45, 280.42, 280.41, 280.40, 280.37, 280.36, 280.32, 280.31, 280.30, 280.27, 280.26, 280.25, 280.22, 280.21, 280.20, 280.17, 280.16, 280.15, 280.12, 280.11, 280.10, 280.07, 280.06, 280.05, 280.02, 280.01, 280.00, 279.97, 279.96, 279.95, 279.92, 279.91, 279.90, 279.87, 279.86, 279.85, 279.82, 279.81, 279.80, 279.77, 279.76, 279.75, 279.72, 279.71, 279.70, 279.67, 279.66, 279.65, 279.62, 279.61, 279.60, 279.57, 279.56, 279.55, 279.52, 279.51, 279.50, 279.47, 279.46, 279.45, 279.42, 279.41, 279.40, 279.37, 279.36, 279.35, 279.32, 279.31, 279.30, 279.27, 279.26, 279.25, 279.22, 279.21, 279.20, 279.17, 279.16, 279.15, 279.12, 279.11, 279.10, 279.07, 279.06, 279.05, 279.02, 279.01, 279.00, 278.97, 278.96, 278.95, 278.92, 278.91, 278.90, 278.87, 278.86, 278.85, 278.82, 278.81, 278.80, 278.77, 278.76, 278.75, 278.72, 278.71, 278.70, 278.67, 278.66, 278.65, 278.62, 278.61, 278.60, 278.57, 278.56, 278.55, 278.52, 278.51, 278.50, 278.47, 278.46, 278.45, 278.42, 278.41, 278.40, 278.37, 278.36, 278.35, 278.32, 278.31, 278.30, 278.27, 278.26, 278.25, 278.22, 278.21, 278.20, 278.17, 278.16, 278.15, 278.12, 278.11, 278.10, 278.07, 278.06, 278.05, 278.02, 278.01, 278.00, 277.95, 277.95, 277.92, 277.91, 277.90, 277.87, 277.86, 277.85, 277.82, 277.81, 277.80, 277.77, 277.76, 277.75, 277.72, 277.71, 277.70, 277.67, 277.66, 277.65, 277.62, 277.61, 277.57, 277.56, 277.55, 277.52, 277.51, 277.50, 277.47, 277.46, 277.45, 277.42, 277.41];

            const currentExchangeRate = rawData[rawData.length - 1];
            const currentExchangeDate = rawLabels[rawLabels.length - 1];

            // DOM Elements
            const usdInput = document.getElementById(&#039;usdInput&#039;);
            const pkrInput = document.getElementById(&#039;pkrInput&#039;);
            const badgeEl = document.getElementById(&#039;latestBadgeRate&#039;);
            const dateLabelEl = document.getElementById(&#039;latestDateLabel&#039;);

            const statHighEl = document.getElementById(&#039;statHigh&#039;);
            const statLowEl = document.getElementById(&#039;statLow&#039;);
            const statAvgEl = document.getElementById(&#039;statAvg&#039;);
            const statChangeEl = document.getElementById(&#039;statChange&#039;);

            // Format helpers
            const formatCurrency = (val, maxDecimals = 2, minDecimals = 2) =&gt; {
                if (isNaN(val) || val === null) return &#039;--&#039;;
                return val.toLocaleString(&#039;en-US&#039;, {
                    minimumFractionDigits: minDecimals,
                    maximumFractionDigits: maxDecimals
                });
            };

            const parseCurrency = (valStr) =&gt; {
                if (!valStr) return NaN;
                return parseFloat(valStr.toString().replace(/,/g, &#039;&#039;));
            };

            // Set Initial Values in UI
            dateLabelEl.textContent = currentExchangeDate;
            badgeEl.textContent = formatCurrency(currentExchangeRate) + &#039; PKR&#039;;
            pkrInput.value = formatCurrency(currentExchangeRate);

            // Converter Event Listeners
            usdInput.addEventListener(&#039;input&#039;, (e) =&gt; {
                const val = parseCurrency(e.target.value);
                if (isNaN(val)) {
                    pkrInput.value = &#039;&#039;;
                } else {
                    pkrInput.value = formatCurrency(val * currentExchangeRate);
                }
            });

            pkrInput.addEventListener(&#039;input&#039;, (e) =&gt; {
                const val = parseCurrency(e.target.value);
                if (isNaN(val)) {
                    usdInput.value = &#039;&#039;;
                } else {
                    usdInput.value = formatCurrency(val / currentExchangeRate, 4, 2);
                }
            });

            usdInput.addEventListener(&#039;blur&#039;, (e) =&gt; {
                const val = parseCurrency(e.target.value);
                if (!isNaN(val)) {
                    e.target.value = formatCurrency(val, 2, 0);
                }
            });

            pkrInput.addEventListener(&#039;blur&#039;, (e) =&gt; {
                const val = parseCurrency(e.target.value);
                if (!isNaN(val)) {
                    e.target.value = formatCurrency(val, 2, 2);
                }
            });

            const ctx = document.getElementById(&#039;closingRatesChart&#039;).getContext(&#039;2d&#039;);
            
            // Create gradient fill
            const gradient = ctx.createLinearGradient(0, 0, 0, 350);
            gradient.addColorStop(0, &#039;rgba(79, 70, 229, 0.25)&#039;);
            gradient.addColorStop(1, &#039;rgba(79, 70, 229, 0.0)&#039;);

            let chartInstance = new Chart(ctx, {
                type: &#039;line&#039;,
                data: {
                    labels: rawLabels,
                    datasets: [{
                        label: &#039;USD to PKR&#039;,
                        data: rawData,
                        borderColor: &#039;#4f46e5&#039;,
                        borderWidth: 2,
                        backgroundColor: gradient,
                        fill: true,
                        tension: 0.3,
                        pointRadius: 0,
                        pointHoverRadius: 6,
                        pointHoverBackgroundColor: &#039;#4f46e5&#039;,
                        pointHoverBorderColor: &#039;#ffffff&#039;,
                        pointHoverBorderWidth: 2
                    }]
                },
                options: {
                    responsive: true,
                    maintainAspectRatio: false,
                    interaction: {
                        intersect: false,
                        mode: &#039;index&#039;
                    },
                    plugins: {
                        legend: { display: false },
                        tooltip: {
                            backgroundColor: &#039;#0f172a&#039;,
                            titleFont: { family: &#039;Plus Jakarta Sans&#039;, size: 12, weight: &#039;bold&#039; },
                            bodyFont: { family: &#039;Plus Jakarta Sans&#039;, size: 13 },
                            padding: 10,
                            cornerRadius: 8,
                            displayColors: false,
                            callbacks: {
                                label: function(context) {
                                    return &#039;Rate: &#039; + formatCurrency(context.parsed.y) + &#039; PKR&#039;;
                                }
                            }
                        }
                    },
                    scales: {
                        x: {
                            grid: { display: false },
                            ticks: {
                                font: { family: &#039;Plus Jakarta Sans&#039;, size: 11 },
                                color: &#039;#64748b&#039;,
                                maxTicksLimit: 8,
                                maxRotation: 0
                            }
                        },
                        y: {
                            grid: { color: &#039;#f1f5f9&#039; },
                            ticks: {
                                font: { family: &#039;Plus Jakarta Sans&#039;, size: 11 },
                                color: &#039;#64748b&#039;,
                                callback: function(value) {
                                    return value.toFixed(1);
                                }
                            }
                        }
                    }
                }
            });

            function updateRangeStats(labels, data) {
                if (!data || data.length === 0) return;

                const high = Math.max(...data);
                const low = Math.min(...data);
                const avg = data.reduce((a, b) =&gt; a + b, 0) / data.length;
                const startVal = data[0];
                const endVal = data[data.length - 1];
                const change = endVal - startVal;
                const changePct = (change / startVal) * 100;

                statHighEl.textContent = formatCurrency(high);
                statLowEl.textContent = formatCurrency(low);
                statAvgEl.textContent = formatCurrency(avg);

                const sign = change &gt;= 0 ? &#039;+&#039; : &#039;&#039;;
                statChangeEl.textContent = `${sign}${formatCurrency(change)} (${sign}${changePct.toFixed(2)}%)`;
                statChangeEl.style.color = change &gt; 0 ? &#039;#10b981&#039; : (change &lt; 0 ? &#039;#ef4444&#039; : &#039;#64748b&#039;);
            }

            // Timeframe filtering handler
            function setTimeframe(rangeCount) {
                let slicedLabels = rawLabels;
                let slicedData = rawData;

                if (rangeCount !== &#039;all&#039;) {
                    const count = parseInt(rangeCount, 10);
                    slicedLabels = rawLabels.slice(-count);
                    slicedData = rawData.slice(-count);
                }

                chartInstance.data.labels = slicedLabels;
                chartInstance.data.datasets[0].data = slicedData;

                // Adjust Y axis dynamic scaling
                const minVal = Math.min(...slicedData);
                const maxVal = Math.max(...slicedData);
                const padding = (maxVal - minVal) * 0.1 || 1;
                
                chartInstance.options.scales.y.min = Math.floor((minVal - padding) * 10) / 10;
                chartInstance.options.scales.y.max = Math.ceil((maxVal + padding) * 10) / 10;

                chartInstance.update();
                updateRangeStats(slicedLabels, slicedData);
            }

            // Setup timeframe button listeners
            document.querySelectorAll(&#039;#pkr-chart-embed .tf-btn&#039;).forEach(btn =&gt; {
                btn.addEventListener(&#039;click&#039;, (e) =&gt; {
                    document.querySelectorAll(&#039;#pkr-chart-embed .tf-btn&#039;).forEach(b =&gt; b.classList.remove(&#039;active&#039;));
                    e.target.classList.add(&#039;active&#039;);
                    setTimeframe(e.target.getAttribute(&#039;data-range&#039;));
                });
            });

            // Initial range load
            setTimeframe(&#039;all&#039;);
        })();
    &lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;
    &lt;script&gt;
        function reportHeight() {
            var h = document.documentElement.scrollHeight;
            window.parent.postMessage({ type: &#039;raw-html-resize&#039;, id: &#039;raw-html-6a9ad87e14743&#039;, height: h }, &#039;*&#039;);
        }
        window.addEventListener(&#039;load&#039;, reportHeight);
        if (window.ResizeObserver) {
            new ResizeObserver(reportHeight).observe(document.body);
        }
    &lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;"></iframe>
<script>
if (!window._rawHtmlListenerAttached) {
    window._rawHtmlListenerAttached = true;
    window.addEventListener('message', function(event) {
        if (event.data && event.data.type === 'raw-html-resize' && event.data.id) {
            var iframe = document.getElementById(event.data.id);
            if (iframe) {
                var height = Math.min(Math.max(event.data.height, 50), 9200);
                iframe.style.height = height + 'px';
            }
        }
    });
}
</script>
<p><strong>The Pakistani rupee extended its marginal gains against the US dollar on Friday.</strong></p>
<p>The local unit closed the day at 277.41, a gain of Re0.01 against the greenback.</p>
    <figure class='media  w-full sm:w-full  media--center  media--embed  media--uneven media--tweet' data-original-src='https://x.com/StateBank_Pak/status/2095842104086077479'>
        <div class='media__item  media__item--twitter  '><span>
    <blockquote class="twitter-tweet" lang="en">
        <a href="https://twitter.com/StateBank_Pak/status/2095842104086077479"></a>
    </blockquote>
</span></div>
        
    </figure>
<p><a href="https://www.brecorder.com/news/40437763"><u>On Thursday</u></a>, the Pakistani rupee settled at 277.42 against the dollar.</p>
<p>Moreover, the Japanese yen clung to its gains ​against the US dollar on Friday and was on track for its strongest week in more ‌than a month.</p>
<p><a href="https://www.brecorder.com/news/40437900/yen-headed-for-strongest-week-in-a-month-dollar-flat-ahead-of-payroll-data">The dollar index</a>, which measures the greenback against a basket of currencies including the yen and the euro, was flat at 99.01, leaving the euro flat at $1.1625 and sterling at $1.3527.</p>
<p><a href="https://www.brecorder.com/news/40437940/pakistan-rupee-registers-gain-against-us-dollar">Oil prices hit fresh six-week highs</a> on Thursday ​after new US strikes on Iran and renewed Israeli threats against Tehran heightened concerns about ‌disruptions to Middle East supplies.</p>
<p>Brent crude futures were up $1.66, or 1.7%, at $97.29 a barrel by 1200 GMT, erasing earlier losses, while US West Texas Intermediate crude futures rose $2.03, or 2.2%, to $93.04. Both contracts were heading for ​their fourth day of gains and hit six-week highs earlier in the session.</p>
<p><strong>Inter-bank market rates for dollar on Friday</strong></p>
<p>BID Rs 277.41</p>
<p>OFFER Rs 277.61</p>
<p><strong>Open-market movement</strong></p>
<p>In the open market, the PKR lost 3 paise for buying and remained unchanged for selling against USD, closing at 278.29 and 279.15, respectively.</p>
<p>Against Euro, the PKR lost 86 paise for buying and 83 paise for selling, closing at 322.53 and 325.32, respectively.</p>
<p>Against UAE Dirham, the PKR remained unchanged for buying and lost 1 paisa for selling, closing at 75.68 and 76.29, respectively.</p>
<p>Against Saudi Riyal, the PKR gained 2 paise for buying and 4 paise for selling, closing at 73.95 and 74.49, respectively.</p>
<p><strong>Open-market rates for dollar on Friday</strong></p>
<p>BID Rs 278.29</p>
<p>OFFER Rs 279.15</p>
]]></content:encoded>
      <category>Markets</category>
      <guid>https://www.brecorder.com/news/40437940</guid>
      <pubDate>Fri, 04 Sep 2026 19:41:02 +0500</pubDate>
      <author>none@none.com (Recorder Report)</author>
      <media:content url="https://i.brecorder.com/large/2026/09/041527524dd9834.webp" type="image/webp" medium="image" height="768" width="1024">
        <media:thumbnail url="https://i.brecorder.com/thumbnail/2026/09/041527524dd9834.webp"/>
        <media:title/>
      </media:content>
    </item>
    <item xmlns:default="http://purl.org/rss/1.0/modules/content/">
      <title>Pakistan rupee records gain against US dollar</title>
      <link>https://www.brecorder.com/news/40437763/pakistan-rupee-records-gain-against-us-dollar</link>
      <description>&lt;iframe id="raw-html-6a99809bc2563" class="raw-html-embed" style="width: 100%; min-height: 50px; max-height: 9200px; border: none; overflow: hidden;" scrolling="no" srcdoc="&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html&amp;gt;
&amp;lt;head&amp;gt;
    &amp;lt;style&amp;gt;
        body { margin: 0; padding: 0; font-family: system-ui, -apple-system, sans-serif; overflow-wrap: anywhere; }
    &amp;lt;/style&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
    
&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html lang=&amp;quot;en&amp;quot;&amp;gt;
&amp;lt;head&amp;gt;
    &amp;lt;meta charset=&amp;quot;UTF-8&amp;quot;&amp;gt;
    &amp;lt;meta name=&amp;quot;viewport&amp;quot; content=&amp;quot;width=device-width, initial-scale=1.0&amp;quot;&amp;gt;
    &amp;lt;title&amp;gt;PKR vs USD Exchange Rate Chart&amp;lt;/title&amp;gt;
    &amp;lt;!-- Chart.js for interactive rendering --&amp;gt;
    &amp;lt;script src=&amp;quot;https://cdn.jsdelivr.net/npm/chart.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;
    
    &amp;lt;style&amp;gt;
        @import url(&amp;#039;https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght=400;500;600;700&amp;amp;display=swap&amp;#039;);

        #pkr-chart-embed {
            font-family: &amp;#039;Plus Jakarta Sans&amp;#039;, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, sans-serif;
            max-width: 1000px;
            width: 100%;
            margin: 24px auto;
            background-color: #ffffff;
            border: 1px solid #e2e8f0;
            border-radius: 20px;
            padding: 24px;
            box-shadow: 0 10px 25px -5px rgba(15, 23, 42, 0.05), 0 8px 10px -6px rgba(15, 23, 42, 0.05);
            color: #0f172a;
            box-sizing: border-box;
        }

        #pkr-chart-embed * { box-sizing: border-box; margin: 0; padding: 0; }

        #pkr-chart-embed .chart-header {
            display: flex;
            flex-direction: column;
            gap: 20px;
            margin-bottom: 20px;
            width: 100%;
        }

        #pkr-chart-embed .top-row {
            display: flex;
            flex-direction: row;
            justify-content: space-between;
            align-items: flex-start;
            gap: 20px;
        }

        #pkr-chart-embed .calculator-area {
            display: flex;
            flex-direction: column;
            gap: 8px;
            align-items: flex-start;
        }

        #pkr-chart-embed .main-title {
            font-size: 22px;
            font-weight: 700;
            color: #0f172a;
            letter-spacing: -0.025em;
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            gap: 10px;
        }

        #pkr-chart-embed .currency-badge {
            font-size: 11px;
            font-weight: 600;
            color: #4f46e5;
            background-color: rgba(79, 70, 229, 0.08);
            padding: 3px 10px;
            border-radius: 9999px;
            border: 1px solid rgba(79, 70, 229, 0.15);
            text-transform: uppercase;
        }

        #pkr-chart-embed .calculator-title {
            font-size: 10px;
            font-weight: 700;
            color: #64748b;
            text-transform: uppercase;
            letter-spacing: 0.05em;
        }

        #pkr-chart-embed .converter {
            display: flex;
            align-items: center;
            background: #f8fafc;
            border: 1px solid #e2e8f0;
            border-radius: 12px;
            padding: 4px;
            gap: 6px;
        }

        #pkr-chart-embed .converter-group {
            display: flex;
            align-items: center;
            background: #ffffff;
            border-radius: 8px;
            padding: 6px 10px;
            box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
            border: 1px solid #e2e8f0;
        }

        #pkr-chart-embed .converter-input {
            border: none;
            outline: none;
            width: 90px;
            font-family: inherit;
            font-weight: 700;
            color: #0f172a;
            font-size: 14px;
            text-align: right;
            background: transparent;
        }

        #pkr-chart-embed .converter-input.pkr-field { width: 120px; }

        #pkr-chart-embed .converter-label {
            font-size: 11px;
            font-weight: 700;
            color: #64748b;
            margin-left: 6px;
        }

        #pkr-chart-embed .equals-sign { color: #94a3b8; font-weight: 600; font-size: 16px; }

        #pkr-chart-embed .rate-badge-container {
            display: flex;
            flex-direction: column;
            align-items: flex-end;
            gap: 6px;
        }

        #pkr-chart-embed .rate-label-sub { text-align: right; }
        #pkr-chart-embed .rate-label-sub span:first-child { display: block; font-size: 9px; text-transform: uppercase; font-weight: 700; color: #64748b; }
        #pkr-chart-embed .rate-label-sub span:last-child { display: block; font-size: 12px; color: #334155; font-weight: 600; }

        #pkr-chart-embed .rate-badge {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            background: linear-gradient(135deg, #4f46e5, #3b82f6);
            color: #ffffff;
            font-weight: 700;
            font-size: 14px;
            padding: 8px 14px;
            border-radius: 12px;
            box-shadow: 0 8px 16px -3px rgba(79, 70, 229, 0.25);
        }

        #pkr-chart-embed .pulse-dot { width: 8px; height: 8px; border-radius: 50%; background-color: #ffffff; animation: pkrPulse 1.5s infinite; }

        @keyframes pkrPulse {
            0% { transform: scale(0.95); opacity: 0.6; }
            50% { transform: scale(1.15); opacity: 1; }
            100% { transform: scale(0.95); opacity: 0.6; }
        }

        /* Controls &amp;amp; Stats Toolbar */
        #pkr-chart-embed .toolbar {
            display: flex;
            justify-content: space-between;
            align-items: center;
            flex-wrap: wrap;
            gap: 12px;
            margin-bottom: 16px;
            padding-bottom: 12px;
            border-bottom: 1px solid #f1f5f9;
        }

        #pkr-chart-embed .timeframe-selector {
            display: flex;
            gap: 4px;
            background: #f1f5f9;
            padding: 3px;
            border-radius: 10px;
        }

        #pkr-chart-embed .tf-btn {
            border: none;
            background: transparent;
            font-family: inherit;
            font-size: 12px;
            font-weight: 600;
            color: #64748b;
            padding: 5px 12px;
            border-radius: 7px;
            cursor: pointer;
            transition: all 0.2s ease;
        }

        #pkr-chart-embed .tf-btn.active {
            background: #ffffff;
            color: #4f46e5;
            box-shadow: 0 1px 3px rgba(0,0,0,0.1);
        }

        #pkr-chart-embed .stats-row {
            display: flex;
            gap: 16px;
            flex-wrap: wrap;
        }

        #pkr-chart-embed .stat-item {
            font-size: 12px;
            color: #64748b;
        }

        #pkr-chart-embed .stat-item strong {
            color: #0f172a;
            font-weight: 700;
        }

        #pkr-chart-embed .chart-canvas-container { position: relative; width: 100%; height: 380px; }

        @media (max-width: 768px) {
            #pkr-chart-embed .chart-canvas-container { height: 300px; }
            #pkr-chart-embed .top-row { flex-direction: column; align-items: flex-start; }
            #pkr-chart-embed .rate-badge-container { align-items: flex-start; }
            #pkr-chart-embed .rate-label-sub { text-align: left; }
            #pkr-chart-embed .toolbar { flex-direction: column; align-items: flex-start; }
        }
    &amp;lt;/style&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
    &amp;lt;div id=&amp;quot;pkr-chart-embed&amp;quot;&amp;gt;
        &amp;lt;div class=&amp;quot;chart-header&amp;quot;&amp;gt;
            &amp;lt;h1 class=&amp;quot;main-title&amp;quot;&amp;gt;
                &amp;lt;span&amp;gt;PKR vs USD Exchange Rate&amp;lt;/span&amp;gt;
                &amp;lt;span class=&amp;quot;currency-badge&amp;quot;&amp;gt;USD / PKR&amp;lt;/span&amp;gt;
            &amp;lt;/h1&amp;gt;

            &amp;lt;div class=&amp;quot;top-row&amp;quot;&amp;gt;
                &amp;lt;div class=&amp;quot;calculator-area&amp;quot;&amp;gt;
                    &amp;lt;span class=&amp;quot;calculator-title&amp;quot;&amp;gt;Calculator&amp;lt;/span&amp;gt;
                    &amp;lt;div class=&amp;quot;converter&amp;quot;&amp;gt;
                        &amp;lt;div class=&amp;quot;converter-group&amp;quot;&amp;gt;
                            &amp;lt;input type=&amp;quot;text&amp;quot; inputmode=&amp;quot;decimal&amp;quot; id=&amp;quot;usdInput&amp;quot; class=&amp;quot;converter-input&amp;quot; value=&amp;quot;1&amp;quot;&amp;gt;
                            &amp;lt;span class=&amp;quot;converter-label&amp;quot;&amp;gt;USD&amp;lt;/span&amp;gt;
                        &amp;lt;/div&amp;gt;
                        &amp;lt;span class=&amp;quot;equals-sign&amp;quot;&amp;gt;=&amp;lt;/span&amp;gt;
                        &amp;lt;div class=&amp;quot;converter-group&amp;quot;&amp;gt;
                            &amp;lt;input type=&amp;quot;text&amp;quot; inputmode=&amp;quot;decimal&amp;quot; id=&amp;quot;pkrInput&amp;quot; class=&amp;quot;converter-input pkr-field&amp;quot; value=&amp;quot;&amp;quot;&amp;gt;
                            &amp;lt;span class=&amp;quot;converter-label&amp;quot;&amp;gt;PKR&amp;lt;/span&amp;gt;
                        &amp;lt;/div&amp;gt;
                    &amp;lt;/div&amp;gt;
                &amp;lt;/div&amp;gt;

                &amp;lt;div class=&amp;quot;rate-badge-container&amp;quot;&amp;gt;
                    &amp;lt;div class=&amp;quot;rate-label-sub&amp;quot;&amp;gt;
                        &amp;lt;span&amp;gt;Latest Closing&amp;lt;/span&amp;gt;
                        &amp;lt;span id=&amp;quot;latestDateLabel&amp;quot;&amp;gt;03-Sep-26&amp;lt;/span&amp;gt;
                    &amp;lt;/div&amp;gt;
                    &amp;lt;div class=&amp;quot;rate-badge&amp;quot;&amp;gt;
                        &amp;lt;span class=&amp;quot;pulse-dot&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;
                        &amp;lt;span id=&amp;quot;latestBadgeRate&amp;quot;&amp;gt;277.42 PKR&amp;lt;/span&amp;gt;
                    &amp;lt;/div&amp;gt;
                &amp;lt;/div&amp;gt;
            &amp;lt;/div&amp;gt;
        &amp;lt;/div&amp;gt;

        &amp;lt;div class=&amp;quot;toolbar&amp;quot;&amp;gt;
            &amp;lt;div class=&amp;quot;timeframe-selector&amp;quot;&amp;gt;
                &amp;lt;button class=&amp;quot;tf-btn&amp;quot; data-range=&amp;quot;30&amp;quot;&amp;gt;1M&amp;lt;/button&amp;gt;
                &amp;lt;button class=&amp;quot;tf-btn&amp;quot; data-range=&amp;quot;90&amp;quot;&amp;gt;3M&amp;lt;/button&amp;gt;
                &amp;lt;button class=&amp;quot;tf-btn&amp;quot; data-range=&amp;quot;180&amp;quot;&amp;gt;6M&amp;lt;/button&amp;gt;
                &amp;lt;button class=&amp;quot;tf-btn&amp;quot; data-range=&amp;quot;365&amp;quot;&amp;gt;1Y&amp;lt;/button&amp;gt;
                &amp;lt;button class=&amp;quot;tf-btn active&amp;quot; data-range=&amp;quot;all&amp;quot;&amp;gt;ALL&amp;lt;/button&amp;gt;
            &amp;lt;/div&amp;gt;

            &amp;lt;div class=&amp;quot;stats-row&amp;quot;&amp;gt;
                &amp;lt;span class=&amp;quot;stat-item&amp;quot;&amp;gt;High: &amp;lt;strong id=&amp;quot;statHigh&amp;quot;&amp;gt;--&amp;lt;/strong&amp;gt;&amp;lt;/span&amp;gt;
                &amp;lt;span class=&amp;quot;stat-item&amp;quot;&amp;gt;Low: &amp;lt;strong id=&amp;quot;statLow&amp;quot;&amp;gt;--&amp;lt;/strong&amp;gt;&amp;lt;/span&amp;gt;
                &amp;lt;span class=&amp;quot;stat-item&amp;quot;&amp;gt;Avg: &amp;lt;strong id=&amp;quot;statAvg&amp;quot;&amp;gt;--&amp;lt;/strong&amp;gt;&amp;lt;/span&amp;gt;
                &amp;lt;span class=&amp;quot;stat-item&amp;quot;&amp;gt;Change: &amp;lt;strong id=&amp;quot;statChange&amp;quot;&amp;gt;--&amp;lt;/strong&amp;gt;&amp;lt;/span&amp;gt;
            &amp;lt;/div&amp;gt;
        &amp;lt;/div&amp;gt;

        &amp;lt;div class=&amp;quot;chart-canvas-container&amp;quot;&amp;gt;
            &amp;lt;canvas id=&amp;quot;closingRatesChart&amp;quot;&amp;gt;&amp;lt;/canvas&amp;gt;
        &amp;lt;/div&amp;gt;
    &amp;lt;/div&amp;gt;

    &amp;lt;script&amp;gt;
        (function() {
            // Full historical closing rate dataset
            const rawLabels = [&amp;quot;04-Mar-25&amp;quot;, &amp;quot;05-Mar-25&amp;quot;, &amp;quot;06-Mar-25&amp;quot;, &amp;quot;07-Mar-25&amp;quot;, &amp;quot;10-Mar-25&amp;quot;, &amp;quot;11-Mar-25&amp;quot;, &amp;quot;12-Mar-25&amp;quot;, &amp;quot;13-Mar-25&amp;quot;, &amp;quot;14-Mar-25&amp;quot;, &amp;quot;17-Mar-25&amp;quot;, &amp;quot;18-Mar-25&amp;quot;, &amp;quot;19-Mar-25&amp;quot;, &amp;quot;20-Mar-25&amp;quot;, &amp;quot;21-Mar-25&amp;quot;, &amp;quot;24-Mar-25&amp;quot;, &amp;quot;25-Mar-25&amp;quot;, &amp;quot;26-Mar-25&amp;quot;, &amp;quot;27-Mar-25&amp;quot;, &amp;quot;28-Mar-25&amp;quot;, &amp;quot;03-Apr-25&amp;quot;, &amp;quot;04-Apr-25&amp;quot;, &amp;quot;07-Apr-25&amp;quot;, &amp;quot;08-Apr-25&amp;quot;, &amp;quot;09-Apr-25&amp;quot;, &amp;quot;10-Apr-25&amp;quot;, &amp;quot;11-Apr-25&amp;quot;, &amp;quot;14-Apr-25&amp;quot;, &amp;quot;15-Apr-25&amp;quot;, &amp;quot;16-Apr-25&amp;quot;, &amp;quot;17-Apr-25&amp;quot;, &amp;quot;18-Apr-25&amp;quot;, &amp;quot;21-Apr-25&amp;quot;, &amp;quot;22-Apr-25&amp;quot;, &amp;quot;23-Apr-25&amp;quot;, &amp;quot;24-Apr-25&amp;quot;, &amp;quot;25-Apr-25&amp;quot;, &amp;quot;28-Apr-25&amp;quot;, &amp;quot;29-Apr-25&amp;quot;, &amp;quot;30-Apr-25&amp;quot;, &amp;quot;02-May-25&amp;quot;, &amp;quot;05-May-25&amp;quot;, &amp;quot;06-May-25&amp;quot;, &amp;quot;07-May-25&amp;quot;, &amp;quot;08-May-25&amp;quot;, &amp;quot;09-May-25&amp;quot;, &amp;quot;12-May-25&amp;quot;, &amp;quot;13-May-25&amp;quot;, &amp;quot;14-May-25&amp;quot;, &amp;quot;15-May-25&amp;quot;, &amp;quot;16-May-25&amp;quot;, &amp;quot;19-May-25&amp;quot;, &amp;quot;20-May-25&amp;quot;, &amp;quot;21-May-25&amp;quot;, &amp;quot;22-May-25&amp;quot;, &amp;quot;23-May-25&amp;quot;, &amp;quot;26-May-25&amp;quot;, &amp;quot;27-May-25&amp;quot;, &amp;quot;29-May-25&amp;quot;, &amp;quot;30-May-25&amp;quot;, &amp;quot;02-Jun-25&amp;quot;, &amp;quot;03-Jun-25&amp;quot;, &amp;quot;04-Jun-25&amp;quot;, &amp;quot;05-Jun-25&amp;quot;, &amp;quot;10-Jun-25&amp;quot;, &amp;quot;11-Jun-25&amp;quot;, &amp;quot;12-Jun-25&amp;quot;, &amp;quot;13-Jun-25&amp;quot;, &amp;quot;16-Jun-25&amp;quot;, &amp;quot;17-Jun-25&amp;quot;, &amp;quot;18-Jun-25&amp;quot;, &amp;quot;19-Jun-25&amp;quot;, &amp;quot;20-Jun-25&amp;quot;, &amp;quot;23-Jun-25&amp;quot;, &amp;quot;24-Jun-25&amp;quot;, &amp;quot;25-Jun-25&amp;quot;, &amp;quot;26-Jun-25&amp;quot;, &amp;quot;27-Jun-25&amp;quot;, &amp;quot;30-Jun-25&amp;quot;, &amp;quot;02-Jul-25&amp;quot;, &amp;quot;03-Jul-25&amp;quot;, &amp;quot;04-Jul-25&amp;quot;, &amp;quot;07-Jul-25&amp;quot;, &amp;quot;08-Jul-25&amp;quot;, &amp;quot;09-Jul-25&amp;quot;, &amp;quot;10-Jul-25&amp;quot;, &amp;quot;11-Jul-25&amp;quot;, &amp;quot;14-Jul-25&amp;quot;, &amp;quot;15-Jul-25&amp;quot;, &amp;quot;16-Jul-25&amp;quot;, &amp;quot;17-Jul-25&amp;quot;, &amp;quot;18-Jul-25&amp;quot;, &amp;quot;21-Jul-25&amp;quot;, &amp;quot;22-Jul-25&amp;quot;, &amp;quot;23-Jul-25&amp;quot;, &amp;quot;24-Jul-25&amp;quot;, &amp;quot;25-Jul-25&amp;quot;, &amp;quot;28-Jul-25&amp;quot;, &amp;quot;29-Jul-25&amp;quot;, &amp;quot;30-Jul-25&amp;quot;, &amp;quot;31-Jul-25&amp;quot;, &amp;quot;01-Aug-25&amp;quot;, &amp;quot;04-Aug-25&amp;quot;, &amp;quot;05-Aug-25&amp;quot;, &amp;quot;06-Aug-25&amp;quot;, &amp;quot;07-Aug-25&amp;quot;, &amp;quot;08-Aug-25&amp;quot;, &amp;quot;11-Aug-25&amp;quot;, &amp;quot;12-Aug-25&amp;quot;, &amp;quot;13-Aug-25&amp;quot;, &amp;quot;15-Aug-25&amp;quot;, &amp;quot;18-Aug-25&amp;quot;, &amp;quot;19-Aug-25&amp;quot;, &amp;quot;20-Aug-25&amp;quot;, &amp;quot;21-Aug-25&amp;quot;, &amp;quot;22-Aug-25&amp;quot;, &amp;quot;25-Aug-25&amp;quot;, &amp;quot;26-Aug-25&amp;quot;, &amp;quot;27-Aug-25&amp;quot;, &amp;quot;28-Aug-25&amp;quot;, &amp;quot;29-Aug-25&amp;quot;, &amp;quot;01-Sep-25&amp;quot;, &amp;quot;02-Sep-25&amp;quot;, &amp;quot;03-Sep-25&amp;quot;, &amp;quot;04-Sep-25&amp;quot;, &amp;quot;05-Sep-25&amp;quot;, &amp;quot;08-Sep-25&amp;quot;, &amp;quot;09-Sep-25&amp;quot;, &amp;quot;10-Sep-25&amp;quot;, &amp;quot;11-Sep-25&amp;quot;, &amp;quot;12-Sep-25&amp;quot;, &amp;quot;15-Sep-25&amp;quot;, &amp;quot;16-Sep-25&amp;quot;, &amp;quot;17-Sep-25&amp;quot;, &amp;quot;18-Sep-25&amp;quot;, &amp;quot;19-Sep-25&amp;quot;, &amp;quot;21-Sep-25&amp;quot;, &amp;quot;22-Sep-25&amp;quot;, &amp;quot;23-Sep-25&amp;quot;, &amp;quot;24-Sep-25&amp;quot;, &amp;quot;25-Sep-25&amp;quot;, &amp;quot;26-Sep-25&amp;quot;, &amp;quot;29-Sep-25&amp;quot;, &amp;quot;30-Sep-25&amp;quot;, &amp;quot;01-Oct-25&amp;quot;, &amp;quot;02-Oct-25&amp;quot;, &amp;quot;03-Oct-25&amp;quot;, &amp;quot;06-Oct-25&amp;quot;, &amp;quot;07-Oct-25&amp;quot;, &amp;quot;08-Oct-25&amp;quot;, &amp;quot;09-Oct-25&amp;quot;, &amp;quot;10-Oct-25&amp;quot;, &amp;quot;13-Oct-25&amp;quot;, &amp;quot;14-Oct-25&amp;quot;, &amp;quot;15-Oct-25&amp;quot;, &amp;quot;16-Oct-25&amp;quot;, &amp;quot;17-Oct-25&amp;quot;, &amp;quot;20-Oct-25&amp;quot;, &amp;quot;21-Oct-25&amp;quot;, &amp;quot;22-Oct-25&amp;quot;, &amp;quot;23-Oct-25&amp;quot;, &amp;quot;24-Oct-25&amp;quot;, &amp;quot;27-Oct-25&amp;quot;, &amp;quot;28-Oct-25&amp;quot;, &amp;quot;29-Oct-25&amp;quot;, &amp;quot;30-Oct-25&amp;quot;, &amp;quot;31-Oct-25&amp;quot;, &amp;quot;03-Nov-25&amp;quot;, &amp;quot;04-Nov-25&amp;quot;, &amp;quot;05-Nov-25&amp;quot;, &amp;quot;06-Nov-25&amp;quot;, &amp;quot;07-Nov-25&amp;quot;, &amp;quot;10-Nov-25&amp;quot;, &amp;quot;11-Nov-25&amp;quot;, &amp;quot;12-Nov-25&amp;quot;, &amp;quot;13-Nov-25&amp;quot;, &amp;quot;14-Nov-25&amp;quot;, &amp;quot;17-Nov-25&amp;quot;, &amp;quot;18-Nov-25&amp;quot;, &amp;quot;19-Nov-25&amp;quot;, &amp;quot;20-Nov-25&amp;quot;, &amp;quot;21-Nov-25&amp;quot;, &amp;quot;24-Nov-25&amp;quot;, &amp;quot;25-Nov-25&amp;quot;, &amp;quot;26-Nov-25&amp;quot;, &amp;quot;27-Nov-25&amp;quot;, &amp;quot;28-Nov-25&amp;quot;, &amp;quot;01-Dec-25&amp;quot;, &amp;quot;02-Dec-25&amp;quot;, &amp;quot;03-Dec-25&amp;quot;, &amp;quot;04-Dec-25&amp;quot;, &amp;quot;05-Dec-25&amp;quot;, &amp;quot;08-Dec-25&amp;quot;, &amp;quot;09-Dec-25&amp;quot;, &amp;quot;10-Dec-25&amp;quot;, &amp;quot;11-Dec-25&amp;quot;, &amp;quot;12-Dec-25&amp;quot;, &amp;quot;15-Dec-25&amp;quot;, &amp;quot;16-Dec-25&amp;quot;, &amp;quot;17-Dec-25&amp;quot;, &amp;quot;18-Dec-25&amp;quot;, &amp;quot;19-Dec-25&amp;quot;, &amp;quot;22-Dec-25&amp;quot;, &amp;quot;23-Dec-25&amp;quot;, &amp;quot;24-Dec-25&amp;quot;, &amp;quot;26-Dec-25&amp;quot;, &amp;quot;29-Dec-25&amp;quot;, &amp;quot;30-Dec-25&amp;quot;, &amp;quot;31-Dec-25&amp;quot;, &amp;quot;02-Jan-26&amp;quot;, &amp;quot;05-Jan-26&amp;quot;, &amp;quot;06-Jan-26&amp;quot;, &amp;quot;07-Jan-26&amp;quot;, &amp;quot;08-Jan-26&amp;quot;, &amp;quot;09-Jan-26&amp;quot;, &amp;quot;12-Jan-26&amp;quot;, &amp;quot;13-Jan-26&amp;quot;, &amp;quot;14-Jan-26&amp;quot;, &amp;quot;15-Jan-26&amp;quot;, &amp;quot;16-Jan-26&amp;quot;, &amp;quot;19-Jan-26&amp;quot;, &amp;quot;20-Jan-26&amp;quot;, &amp;quot;21-Jan-26&amp;quot;, &amp;quot;22-Jan-26&amp;quot;, &amp;quot;23-Jan-26&amp;quot;, &amp;quot;26-Jan-26&amp;quot;, &amp;quot;27-Jan-26&amp;quot;, &amp;quot;28-Jan-26&amp;quot;, &amp;quot;29-Jan-26&amp;quot;, &amp;quot;30-Jan-26&amp;quot;, &amp;quot;02-Feb-26&amp;quot;, &amp;quot;03-Feb-26&amp;quot;, &amp;quot;04-Feb-26&amp;quot;, &amp;quot;06-Feb-26&amp;quot;, &amp;quot;09-Feb-26&amp;quot;, &amp;quot;10-Feb-26&amp;quot;, &amp;quot;11-Feb-26&amp;quot;, &amp;quot;12-Feb-26&amp;quot;, &amp;quot;13-Feb-26&amp;quot;, &amp;quot;16-Feb-26&amp;quot;, &amp;quot;17-Feb-26&amp;quot;, &amp;quot;18-Feb-26&amp;quot;, &amp;quot;20-Feb-26&amp;quot;, &amp;quot;23-Feb-26&amp;quot;, &amp;quot;24-Feb-26&amp;quot;, &amp;quot;25-Feb-26&amp;quot;, &amp;quot;26-Feb-26&amp;quot;, &amp;quot;27-Feb-26&amp;quot;, &amp;quot;02-Mar-26&amp;quot;, &amp;quot;03-Mar-26&amp;quot;, &amp;quot;04-Mar-26&amp;quot;, &amp;quot;05-Mar-26&amp;quot;, &amp;quot;06-Mar-26&amp;quot;, &amp;quot;09-Mar-26&amp;quot;, &amp;quot;10-Mar-26&amp;quot;, &amp;quot;11-Mar-26&amp;quot;, &amp;quot;12-Mar-26&amp;quot;, &amp;quot;13-Mar-26&amp;quot;, &amp;quot;16-Mar-26&amp;quot;, &amp;quot;17-Mar-26&amp;quot;, &amp;quot;18-Mar-26&amp;quot;, &amp;quot;19-Mar-26&amp;quot;, &amp;quot;24-Mar-26&amp;quot;, &amp;quot;25-Mar-26&amp;quot;, &amp;quot;26-Mar-26&amp;quot;, &amp;quot;27-Mar-26&amp;quot;, &amp;quot;30-Mar-26&amp;quot;, &amp;quot;31-Mar-26&amp;quot;, &amp;quot;01-Apr-26&amp;quot;, &amp;quot;02-Apr-26&amp;quot;, &amp;quot;03-Apr-26&amp;quot;, &amp;quot;04-Apr-26&amp;quot;, &amp;quot;06-Apr-26&amp;quot;, &amp;quot;07-Apr-26&amp;quot;, &amp;quot;08-Apr-26&amp;quot;, &amp;quot;09-Apr-26&amp;quot;, &amp;quot;10-Apr-26&amp;quot;, &amp;quot;13-Apr-26&amp;quot;, &amp;quot;14-Apr-26&amp;quot;, &amp;quot;14-Apr-26&amp;quot;, &amp;quot;15-Apr-26&amp;quot;, &amp;quot;16-Apr-26&amp;quot;, &amp;quot;17-Apr-26&amp;quot;, &amp;quot;20-Apr-26&amp;quot;, &amp;quot;21-Apr-26&amp;quot;, &amp;quot;22-Apr-26&amp;quot;, &amp;quot;23-Apr-26&amp;quot;, &amp;quot;24-Apr-26&amp;quot;, &amp;quot;27-Apr-26&amp;quot;, &amp;quot;28-Apr-26&amp;quot;, &amp;quot;29-Apr-26&amp;quot;, &amp;quot;30-Apr-26&amp;quot;, &amp;quot;04-May-26&amp;quot;, &amp;quot;05-May-26&amp;quot;, &amp;quot;06-May-26&amp;quot;, &amp;quot;07-May-26&amp;quot;, &amp;quot;08-May-26&amp;quot;, &amp;quot;11-May-26&amp;quot;, &amp;quot;12-May-26&amp;quot;, &amp;quot;13-May-26&amp;quot;, &amp;quot;14-May-26&amp;quot;, &amp;quot;15-May-26&amp;quot;, &amp;quot;18-May-26&amp;quot;, &amp;quot;19-May-26&amp;quot;, &amp;quot;20-May-26&amp;quot;, &amp;quot;21-May-26&amp;quot;, &amp;quot;22-May-26&amp;quot;, &amp;quot;25-May-26&amp;quot;, &amp;quot;29-May-26&amp;quot;, &amp;quot;01-Jun-26&amp;quot;, &amp;quot;02-Jun-26&amp;quot;, &amp;quot;03-Jun-26&amp;quot;, &amp;quot;04-Jun-26&amp;quot;, &amp;quot;05-Jun-26&amp;quot;, &amp;quot;08-Jun-26&amp;quot;, &amp;quot;09-Jun-26&amp;quot;, &amp;quot;10-Jun-26&amp;quot;, &amp;quot;11-Jun-26&amp;quot;, &amp;quot;12-Jun-26&amp;quot;, &amp;quot;15-Jun-26&amp;quot;, &amp;quot;16-Jun-26&amp;quot;, &amp;quot;17-Jun-26&amp;quot;, &amp;quot;18-Jun-26&amp;quot;, &amp;quot;19-Jun-26&amp;quot;, &amp;quot;22-Jun-26&amp;quot;, &amp;quot;23-Jun-26&amp;quot;, &amp;quot;24-Jun-26&amp;quot;, &amp;quot;29-Jun-26&amp;quot;, &amp;quot;30-Jun-26&amp;quot;, &amp;quot;02-Jul-26&amp;quot;, &amp;quot;03-Jul-26&amp;quot;, &amp;quot;06-Jul-26&amp;quot;, &amp;quot;07-Jul-26&amp;quot;, &amp;quot;08-Jul-26&amp;quot;, &amp;quot;09-Jul-26&amp;quot;, &amp;quot;10-Jul-26&amp;quot;, &amp;quot;13-Jul-26&amp;quot;, &amp;quot;14-Jul-26&amp;quot;, &amp;quot;15-Jul-26&amp;quot;, &amp;quot;16-Jul-26&amp;quot;, &amp;quot;17-Jul-26&amp;quot;, &amp;quot;20-Jul-26&amp;quot;, &amp;quot;21-Jul-26&amp;quot;, &amp;quot;22-Jul-26&amp;quot;, &amp;quot;23-Jul-26&amp;quot;, &amp;quot;24-Jul-26&amp;quot;, &amp;quot;27-Jul-26&amp;quot;, &amp;quot;28-Jul-26&amp;quot;, &amp;quot;29-Jul-26&amp;quot;, &amp;quot;30-Jul-26&amp;quot;, &amp;quot;03-Aug-26&amp;quot;, &amp;quot;04-Aug-26&amp;quot;, &amp;quot;05-Aug-26&amp;quot;, &amp;quot;06-Aug-26&amp;quot;, &amp;quot;07-Aug-26&amp;quot;, &amp;quot;10-Aug-26&amp;quot;, &amp;quot;11-Aug-26&amp;quot;, &amp;quot;12-Aug-26&amp;quot;, &amp;quot;13-Aug-26&amp;quot;, &amp;quot;17-Aug-26&amp;quot;, &amp;quot;18-Aug-26&amp;quot;, &amp;quot;20-Aug-26&amp;quot;, &amp;quot;21-Aug-26&amp;quot;, &amp;quot;24-Aug-26&amp;quot;, &amp;quot;25-Aug-26&amp;quot;, &amp;quot;27-Aug-26&amp;quot;, &amp;quot;28-Aug-26&amp;quot;, &amp;quot;31-Aug-26&amp;quot;, &amp;quot;01-Sep-26&amp;quot;, &amp;quot;02-Sep-26&amp;quot;, &amp;quot;03-Sep-26&amp;quot;];
            
            const rawData = [279.77, 279.87, 279.82, 279.97, 280.07, 279.95, 279.97, 280.05, 280.21, 280.17, 280.27, 280.21, 280.22, 280.26, 280.37, 280.42, 280.26, 280.22, 280.16, 280.56, 280.47, 280.57, 280.73, 280.78, 280.56, 280.47, 280.60, 280.57, 280.46, 280.62, 280.72, 280.87, 280.77, 280.97, 281.07, 280.97, 281.07, 281.02, 280.97, 281.06, 281.22, 281.37, 281.47, 281.52, 281.71, 281.57, 281.67, 281.72, 281.61, 281.66, 281.77, 281.92, 281.97, 282.06, 281.97, 282.06, 282.17, 282.07, 282.02, 281.97, 282.12, 282.22, 282.17, 282.21, 282.47, 282.67, 282.96, 283.17, 283.41, 283.55, 283.64, 283.70, 283.87, 283.77, 283.72, 283.67, 283.72, 283.76, 283.95, 283.86, 283.97, 284.22, 284.36, 284.47, 284.56, 284.46, 284.72, 284.67, 284.96, 284.97, 284.87, 284.95, 284.97, 284.76, 284.22, 283.45, 283.21, 283.05, 282.95, 282.87, 282.72, 282.66, 282.57, 282.67, 282.56, 282.47, 282.45, 282.42, 282.22, 282.06, 282.01, 281.96, 281.95, 281.92, 281.90, 281.87, 281.86, 281.83, 281.80, 281.77, 281.75, 281.72, 281.71, 281.67, 281.65, 281.62, 281.61, 281.60, 281.56, 281.55, 281.52, 281.51, 281.50, 281.47, 281.46, 281.45, 281.46, 281.42, 281.43, 281.41, 281.37, 281.35, 281.32, 281.31, 281.27, 281.26, 281.25, 281.22, 281.21, 281.20, 281.17, 281.16, 281.15, 281.12, 281.11, 281.10, 281.07, 281.06, 281.05, 281.03, 281.02, 281.01, 280.97, 280.96, 280.92, 280.91, 280.90, 280.87, 280.86, 280.85, 280.82, 280.81, 280.78, 280.77, 280.76, 280.72, 280.71, 280.67, 280.66, 280.66, 280.65, 280.62, 280.61, 280.57, 280.56, 280.55, 280.52, 280.51, 280.47, 280.46, 280.45, 280.42, 280.41, 280.40, 280.37, 280.36, 280.32, 280.31, 280.30, 280.27, 280.26, 280.25, 280.22, 280.21, 280.20, 280.17, 280.16, 280.15, 280.12, 280.11, 280.10, 280.07, 280.06, 280.05, 280.02, 280.01, 280.00, 279.97, 279.96, 279.95, 279.92, 279.91, 279.90, 279.87, 279.86, 279.85, 279.82, 279.81, 279.80, 279.77, 279.76, 279.75, 279.72, 279.71, 279.70, 279.67, 279.66, 279.65, 279.62, 279.61, 279.60, 279.57, 279.56, 279.55, 279.52, 279.51, 279.50, 279.47, 279.46, 279.45, 279.42, 279.41, 279.40, 279.37, 279.36, 279.35, 279.32, 279.31, 279.30, 279.27, 279.26, 279.25, 279.22, 279.21, 279.20, 279.17, 279.16, 279.15, 279.12, 279.11, 279.10, 279.07, 279.06, 279.05, 279.02, 279.01, 279.00, 278.97, 278.96, 278.95, 278.92, 278.91, 278.90, 278.87, 278.86, 278.85, 278.82, 278.81, 278.80, 278.77, 278.76, 278.75, 278.72, 278.71, 278.70, 278.67, 278.66, 278.65, 278.62, 278.61, 278.60, 278.57, 278.56, 278.55, 278.52, 278.51, 278.50, 278.47, 278.46, 278.45, 278.42, 278.41, 278.40, 278.37, 278.36, 278.35, 278.32, 278.31, 278.30, 278.27, 278.26, 278.25, 278.22, 278.21, 278.20, 278.17, 278.16, 278.15, 278.12, 278.11, 278.10, 278.07, 278.06, 278.05, 278.02, 278.01, 278.00, 277.95, 277.95, 277.92, 277.91, 277.90, 277.87, 277.86, 277.85, 277.82, 277.81, 277.80, 277.77, 277.76, 277.75, 277.72, 277.71, 277.70, 277.67, 277.66, 277.65, 277.62, 277.61, 277.57, 277.56, 277.55, 277.52, 277.51, 277.50, 277.47, 277.46, 277.45, 277.42];

            const currentExchangeRate = rawData[rawData.length - 1];
            const currentExchangeDate = rawLabels[rawLabels.length - 1];

            // DOM Elements
            const usdInput = document.getElementById(&amp;#039;usdInput&amp;#039;);
            const pkrInput = document.getElementById(&amp;#039;pkrInput&amp;#039;);
            const badgeEl = document.getElementById(&amp;#039;latestBadgeRate&amp;#039;);
            const dateLabelEl = document.getElementById(&amp;#039;latestDateLabel&amp;#039;);

            const statHighEl = document.getElementById(&amp;#039;statHigh&amp;#039;);
            const statLowEl = document.getElementById(&amp;#039;statLow&amp;#039;);
            const statAvgEl = document.getElementById(&amp;#039;statAvg&amp;#039;);
            const statChangeEl = document.getElementById(&amp;#039;statChange&amp;#039;);

            // Format helpers
            const formatCurrency = (val, maxDecimals = 2, minDecimals = 2) =&amp;gt; {
                if (isNaN(val) || val === null) return &amp;#039;--&amp;#039;;
                return val.toLocaleString(&amp;#039;en-US&amp;#039;, {
                    minimumFractionDigits: minDecimals,
                    maximumFractionDigits: maxDecimals
                });
            };

            const parseCurrency = (valStr) =&amp;gt; {
                if (!valStr) return NaN;
                return parseFloat(valStr.toString().replace(/,/g, &amp;#039;&amp;#039;));
            };

            // Set Initial Values in UI
            dateLabelEl.textContent = currentExchangeDate;
            badgeEl.textContent = formatCurrency(currentExchangeRate) + &amp;#039; PKR&amp;#039;;
            pkrInput.value = formatCurrency(currentExchangeRate);

            // Converter Event Listeners
            usdInput.addEventListener(&amp;#039;input&amp;#039;, (e) =&amp;gt; {
                const val = parseCurrency(e.target.value);
                if (isNaN(val)) {
                    pkrInput.value = &amp;#039;&amp;#039;;
                } else {
                    pkrInput.value = formatCurrency(val * currentExchangeRate);
                }
            });

            pkrInput.addEventListener(&amp;#039;input&amp;#039;, (e) =&amp;gt; {
                const val = parseCurrency(e.target.value);
                if (isNaN(val)) {
                    usdInput.value = &amp;#039;&amp;#039;;
                } else {
                    usdInput.value = formatCurrency(val / currentExchangeRate, 4, 2);
                }
            });

            usdInput.addEventListener(&amp;#039;blur&amp;#039;, (e) =&amp;gt; {
                const val = parseCurrency(e.target.value);
                if (!isNaN(val)) {
                    e.target.value = formatCurrency(val, 2, 0);
                }
            });

            pkrInput.addEventListener(&amp;#039;blur&amp;#039;, (e) =&amp;gt; {
                const val = parseCurrency(e.target.value);
                if (!isNaN(val)) {
                    e.target.value = formatCurrency(val, 2, 2);
                }
            });

            const ctx = document.getElementById(&amp;#039;closingRatesChart&amp;#039;).getContext(&amp;#039;2d&amp;#039;);
            
            // Create gradient fill
            const gradient = ctx.createLinearGradient(0, 0, 0, 350);
            gradient.addColorStop(0, &amp;#039;rgba(79, 70, 229, 0.25)&amp;#039;);
            gradient.addColorStop(1, &amp;#039;rgba(79, 70, 229, 0.0)&amp;#039;);

            let chartInstance = new Chart(ctx, {
                type: &amp;#039;line&amp;#039;,
                data: {
                    labels: rawLabels,
                    datasets: [{
                        label: &amp;#039;USD to PKR&amp;#039;,
                        data: rawData,
                        borderColor: &amp;#039;#4f46e5&amp;#039;,
                        borderWidth: 2,
                        backgroundColor: gradient,
                        fill: true,
                        tension: 0.3,
                        pointRadius: 0,
                        pointHoverRadius: 6,
                        pointHoverBackgroundColor: &amp;#039;#4f46e5&amp;#039;,
                        pointHoverBorderColor: &amp;#039;#ffffff&amp;#039;,
                        pointHoverBorderWidth: 2
                    }]
                },
                options: {
                    responsive: true,
                    maintainAspectRatio: false,
                    interaction: {
                        intersect: false,
                        mode: &amp;#039;index&amp;#039;
                    },
                    plugins: {
                        legend: { display: false },
                        tooltip: {
                            backgroundColor: &amp;#039;#0f172a&amp;#039;,
                            titleFont: { family: &amp;#039;Plus Jakarta Sans&amp;#039;, size: 12, weight: &amp;#039;bold&amp;#039; },
                            bodyFont: { family: &amp;#039;Plus Jakarta Sans&amp;#039;, size: 13 },
                            padding: 10,
                            cornerRadius: 8,
                            displayColors: false,
                            callbacks: {
                                label: function(context) {
                                    return &amp;#039;Rate: &amp;#039; + formatCurrency(context.parsed.y) + &amp;#039; PKR&amp;#039;;
                                }
                            }
                        }
                    },
                    scales: {
                        x: {
                            grid: { display: false },
                            ticks: {
                                font: { family: &amp;#039;Plus Jakarta Sans&amp;#039;, size: 11 },
                                color: &amp;#039;#64748b&amp;#039;,
                                maxTicksLimit: 8,
                                maxRotation: 0
                            }
                        },
                        y: {
                            grid: { color: &amp;#039;#f1f5f9&amp;#039; },
                            ticks: {
                                font: { family: &amp;#039;Plus Jakarta Sans&amp;#039;, size: 11 },
                                color: &amp;#039;#64748b&amp;#039;,
                                callback: function(value) {
                                    return value.toFixed(1);
                                }
                            }
                        }
                    }
                }
            });

            function updateRangeStats(labels, data) {
                if (!data || data.length === 0) return;

                const high = Math.max(...data);
                const low = Math.min(...data);
                const avg = data.reduce((a, b) =&amp;gt; a + b, 0) / data.length;
                const startVal = data[0];
                const endVal = data[data.length - 1];
                const change = endVal - startVal;
                const changePct = (change / startVal) * 100;

                statHighEl.textContent = formatCurrency(high);
                statLowEl.textContent = formatCurrency(low);
                statAvgEl.textContent = formatCurrency(avg);

                const sign = change &amp;gt;= 0 ? &amp;#039;+&amp;#039; : &amp;#039;&amp;#039;;
                statChangeEl.textContent = `${sign}${formatCurrency(change)} (${sign}${changePct.toFixed(2)}%)`;
                statChangeEl.style.color = change &amp;gt; 0 ? &amp;#039;#10b981&amp;#039; : (change &amp;lt; 0 ? &amp;#039;#ef4444&amp;#039; : &amp;#039;#64748b&amp;#039;);
            }

            // Timeframe filtering handler
            function setTimeframe(rangeCount) {
                let slicedLabels = rawLabels;
                let slicedData = rawData;

                if (rangeCount !== &amp;#039;all&amp;#039;) {
                    const count = parseInt(rangeCount, 10);
                    slicedLabels = rawLabels.slice(-count);
                    slicedData = rawData.slice(-count);
                }

                chartInstance.data.labels = slicedLabels;
                chartInstance.data.datasets[0].data = slicedData;

                // Adjust Y axis dynamic scaling
                const minVal = Math.min(...slicedData);
                const maxVal = Math.max(...slicedData);
                const padding = (maxVal - minVal) * 0.1 || 1;
                
                chartInstance.options.scales.y.min = Math.floor((minVal - padding) * 10) / 10;
                chartInstance.options.scales.y.max = Math.ceil((maxVal + padding) * 10) / 10;

                chartInstance.update();
                updateRangeStats(slicedLabels, slicedData);
            }

            // Setup timeframe button listeners
            document.querySelectorAll(&amp;#039;#pkr-chart-embed .tf-btn&amp;#039;).forEach(btn =&amp;gt; {
                btn.addEventListener(&amp;#039;click&amp;#039;, (e) =&amp;gt; {
                    document.querySelectorAll(&amp;#039;#pkr-chart-embed .tf-btn&amp;#039;).forEach(b =&amp;gt; b.classList.remove(&amp;#039;active&amp;#039;));
                    e.target.classList.add(&amp;#039;active&amp;#039;);
                    setTimeframe(e.target.getAttribute(&amp;#039;data-range&amp;#039;));
                });
            });

            // Initial range load
            setTimeframe(&amp;#039;all&amp;#039;);
        })();
    &amp;lt;/script&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;
    &amp;lt;script&amp;gt;
        function reportHeight() {
            var h = document.documentElement.scrollHeight;
            window.parent.postMessage({ type: &amp;#039;raw-html-resize&amp;#039;, id: &amp;#039;raw-html-6a99809bc2563&amp;#039;, height: h }, &amp;#039;*&amp;#039;);
        }
        window.addEventListener(&amp;#039;load&amp;#039;, reportHeight);
        if (window.ResizeObserver) {
            new ResizeObserver(reportHeight).observe(document.body);
        }
    &amp;lt;/script&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;"&gt;&lt;/iframe&gt;
&lt;script&gt;
if (!window._rawHtmlListenerAttached) {
    window._rawHtmlListenerAttached = true;
    window.addEventListener('message', function(event) {
        if (event.data &amp;&amp; event.data.type === 'raw-html-resize' &amp;&amp; event.data.id) {
            var iframe = document.getElementById(event.data.id);
            if (iframe) {
                var height = Math.min(Math.max(event.data.height, 50), 9200);
                iframe.style.height = height + 'px';
            }
        }
    });
}
&lt;/script&gt;
&lt;p&gt;&lt;strong&gt;The Pakistani rupee extended its marginal gains, appreciating 0.01% against the US dollar on Thursday.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The local unit closed the day at 277.42, a gain of Re0.03 against the greenback.&lt;/p&gt;
    &lt;figure class='media  w-full sm:w-full  media--center  media--embed  media--uneven media--tweet' data-original-src='https://x.com/StateBank_Pak/status/2095465322187010329'&gt;
        &lt;div class='media__item  media__item--twitter  '&gt;&lt;span&gt;
    &lt;blockquote class="twitter-tweet" lang="en"&gt;
        &lt;a href="https://twitter.com/StateBank_Pak/status/2095465322187010329"&gt;&lt;/a&gt;
    &lt;/blockquote&gt;
&lt;/span&gt;&lt;/div&gt;
        
    &lt;/figure&gt;
&lt;p&gt;&lt;a href="https://www.brecorder.com/news/40437585/intra-day-update-rupee-records-gain-against-us-dollar"&gt;On Wednesday&lt;/a&gt;, the Pakistani rupee settled at 277.45 against the dollar.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.brecorder.com/news/40437728/pakistan-raises-3bn-through-eurobond-sale"&gt;Pakistan has raised $3 billion&lt;/a&gt; through a dual-tranche Eurobond sale that drew nearly $6 billion in orders, according to a statement from Finance Division on Thursday. The country raised $1.75 billion through a 5.5-year bond at a coupon rate of 7.5% and $1.25 billion through a 10-year bond at 7.9%, it said.&lt;/p&gt;
&lt;p&gt;Globally, the &lt;a href="https://www.brecorder.com/news/40437723/yen-in-the-spotlight-after-sudden-jump"&gt;yen held its gains &lt;/a&gt;on Thursday ​after a sudden, brief surge in the previous session that traders suspect may have ‌been driven by government authorities, keeping pressure on the dollar ahead of a crucial US jobs report.&lt;/p&gt;
&lt;p&gt;The yen was last steady at 158.88 per US dollar, having jumped 0.9% overnight, in a move that left market participants on alert for ​an official intervention from Tokyo.&lt;/p&gt;
&lt;p&gt;Since a rare joint yen-buying intervention between the US and Japan on July 31, the yen has struggled to find lasting support, coming under pressure from still-wide interest rate ​differentials, fiscal worries and a renewed spike in energy prices.&lt;/p&gt;
&lt;p&gt;In the broader market, the strength in ​the yen left the US dollar on the back foot, with the euro up marginally to $1.1589. Sterling attempted a bounce ‌from ⁠a three-week low, and last bought at $1.3482.&lt;/p&gt;
&lt;p&gt;Against a basket of currencies, the US dollar eased 0.04% to 99.56.&lt;/p&gt;
&lt;p&gt;Meanwhile, &lt;a href="https://www.brecorder.com/news/40437722/oil-prices-hit-fresh-6-week-highs-on-renewed-middle-east-tensions"&gt;oil prices hit fresh six-week highs&lt;/a&gt; on Thursday ​after new US strikes on Iran and renewed Israeli threats against Tehran heightened concerns about ‌disruptions to Middle East supplies.&lt;/p&gt;
&lt;p&gt;Brent crude futures were up $1.66, or 1.7%, at $97.29 a barrel by 1200 GMT, erasing earlier losses, while US West Texas Intermediate crude futures rose $2.03, or 2.2%, to $93.04. Both contracts were heading for ​their fourth day of gains and hit six-week highs earlier in the session.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Inter-bank market rates for dollar on Thursday&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;BID Rs 277.42&lt;/p&gt;
&lt;p&gt;OFFER Rs 277.62&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Open-market movement&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;In the open market, the PKR gained 7 paise for buying and 3 paise for selling against USD, closing at 278.26 and 279.15, respectively.&lt;/p&gt;
&lt;p&gt;Against Euro, the PKR lost 62 paise for buying and 48 paise for selling, closing at 321.67 and 324.49, respectively.&lt;/p&gt;
&lt;p&gt;Against UAE Dirham, the PKR lost 3 paise for buying and remained unchanged for selling, closing at 75.68 and 76.28, respectively.&lt;/p&gt;
&lt;p&gt;Against Saudi Riyal, the PKR lost 5 paise for both buying and selling, closing at 73.97 and 74.53, respectively.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Open-market rates for dollar on Thursday&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;BID Rs 278.26&lt;/p&gt;
&lt;p&gt;OFFER Rs 279.15&lt;/p&gt;
</description>
      <content:encoded xmlns="http://purl.org/rss/1.0/modules/content/"><![CDATA[<iframe id="raw-html-6a99809bc2563" class="raw-html-embed" style="width: 100%; min-height: 50px; max-height: 9200px; border: none; overflow: hidden;" scrolling="no" srcdoc="&lt;!DOCTYPE html&gt;
&lt;html&gt;
&lt;head&gt;
    &lt;style&gt;
        body { margin: 0; padding: 0; font-family: system-ui, -apple-system, sans-serif; overflow-wrap: anywhere; }
    &lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
    
&lt;!DOCTYPE html&gt;
&lt;html lang=&quot;en&quot;&gt;
&lt;head&gt;
    &lt;meta charset=&quot;UTF-8&quot;&gt;
    &lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1.0&quot;&gt;
    &lt;title&gt;PKR vs USD Exchange Rate Chart&lt;/title&gt;
    &lt;!-- Chart.js for interactive rendering --&gt;
    &lt;script src=&quot;https://cdn.jsdelivr.net/npm/chart.js&quot;&gt;&lt;/script&gt;
    
    &lt;style&gt;
        @import url(&#039;https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght=400;500;600;700&amp;display=swap&#039;);

        #pkr-chart-embed {
            font-family: &#039;Plus Jakarta Sans&#039;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, Roboto, sans-serif;
            max-width: 1000px;
            width: 100%;
            margin: 24px auto;
            background-color: #ffffff;
            border: 1px solid #e2e8f0;
            border-radius: 20px;
            padding: 24px;
            box-shadow: 0 10px 25px -5px rgba(15, 23, 42, 0.05), 0 8px 10px -6px rgba(15, 23, 42, 0.05);
            color: #0f172a;
            box-sizing: border-box;
        }

        #pkr-chart-embed * { box-sizing: border-box; margin: 0; padding: 0; }

        #pkr-chart-embed .chart-header {
            display: flex;
            flex-direction: column;
            gap: 20px;
            margin-bottom: 20px;
            width: 100%;
        }

        #pkr-chart-embed .top-row {
            display: flex;
            flex-direction: row;
            justify-content: space-between;
            align-items: flex-start;
            gap: 20px;
        }

        #pkr-chart-embed .calculator-area {
            display: flex;
            flex-direction: column;
            gap: 8px;
            align-items: flex-start;
        }

        #pkr-chart-embed .main-title {
            font-size: 22px;
            font-weight: 700;
            color: #0f172a;
            letter-spacing: -0.025em;
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            gap: 10px;
        }

        #pkr-chart-embed .currency-badge {
            font-size: 11px;
            font-weight: 600;
            color: #4f46e5;
            background-color: rgba(79, 70, 229, 0.08);
            padding: 3px 10px;
            border-radius: 9999px;
            border: 1px solid rgba(79, 70, 229, 0.15);
            text-transform: uppercase;
        }

        #pkr-chart-embed .calculator-title {
            font-size: 10px;
            font-weight: 700;
            color: #64748b;
            text-transform: uppercase;
            letter-spacing: 0.05em;
        }

        #pkr-chart-embed .converter {
            display: flex;
            align-items: center;
            background: #f8fafc;
            border: 1px solid #e2e8f0;
            border-radius: 12px;
            padding: 4px;
            gap: 6px;
        }

        #pkr-chart-embed .converter-group {
            display: flex;
            align-items: center;
            background: #ffffff;
            border-radius: 8px;
            padding: 6px 10px;
            box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
            border: 1px solid #e2e8f0;
        }

        #pkr-chart-embed .converter-input {
            border: none;
            outline: none;
            width: 90px;
            font-family: inherit;
            font-weight: 700;
            color: #0f172a;
            font-size: 14px;
            text-align: right;
            background: transparent;
        }

        #pkr-chart-embed .converter-input.pkr-field { width: 120px; }

        #pkr-chart-embed .converter-label {
            font-size: 11px;
            font-weight: 700;
            color: #64748b;
            margin-left: 6px;
        }

        #pkr-chart-embed .equals-sign { color: #94a3b8; font-weight: 600; font-size: 16px; }

        #pkr-chart-embed .rate-badge-container {
            display: flex;
            flex-direction: column;
            align-items: flex-end;
            gap: 6px;
        }

        #pkr-chart-embed .rate-label-sub { text-align: right; }
        #pkr-chart-embed .rate-label-sub span:first-child { display: block; font-size: 9px; text-transform: uppercase; font-weight: 700; color: #64748b; }
        #pkr-chart-embed .rate-label-sub span:last-child { display: block; font-size: 12px; color: #334155; font-weight: 600; }

        #pkr-chart-embed .rate-badge {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            background: linear-gradient(135deg, #4f46e5, #3b82f6);
            color: #ffffff;
            font-weight: 700;
            font-size: 14px;
            padding: 8px 14px;
            border-radius: 12px;
            box-shadow: 0 8px 16px -3px rgba(79, 70, 229, 0.25);
        }

        #pkr-chart-embed .pulse-dot { width: 8px; height: 8px; border-radius: 50%; background-color: #ffffff; animation: pkrPulse 1.5s infinite; }

        @keyframes pkrPulse {
            0% { transform: scale(0.95); opacity: 0.6; }
            50% { transform: scale(1.15); opacity: 1; }
            100% { transform: scale(0.95); opacity: 0.6; }
        }

        /* Controls &amp; Stats Toolbar */
        #pkr-chart-embed .toolbar {
            display: flex;
            justify-content: space-between;
            align-items: center;
            flex-wrap: wrap;
            gap: 12px;
            margin-bottom: 16px;
            padding-bottom: 12px;
            border-bottom: 1px solid #f1f5f9;
        }

        #pkr-chart-embed .timeframe-selector {
            display: flex;
            gap: 4px;
            background: #f1f5f9;
            padding: 3px;
            border-radius: 10px;
        }

        #pkr-chart-embed .tf-btn {
            border: none;
            background: transparent;
            font-family: inherit;
            font-size: 12px;
            font-weight: 600;
            color: #64748b;
            padding: 5px 12px;
            border-radius: 7px;
            cursor: pointer;
            transition: all 0.2s ease;
        }

        #pkr-chart-embed .tf-btn.active {
            background: #ffffff;
            color: #4f46e5;
            box-shadow: 0 1px 3px rgba(0,0,0,0.1);
        }

        #pkr-chart-embed .stats-row {
            display: flex;
            gap: 16px;
            flex-wrap: wrap;
        }

        #pkr-chart-embed .stat-item {
            font-size: 12px;
            color: #64748b;
        }

        #pkr-chart-embed .stat-item strong {
            color: #0f172a;
            font-weight: 700;
        }

        #pkr-chart-embed .chart-canvas-container { position: relative; width: 100%; height: 380px; }

        @media (max-width: 768px) {
            #pkr-chart-embed .chart-canvas-container { height: 300px; }
            #pkr-chart-embed .top-row { flex-direction: column; align-items: flex-start; }
            #pkr-chart-embed .rate-badge-container { align-items: flex-start; }
            #pkr-chart-embed .rate-label-sub { text-align: left; }
            #pkr-chart-embed .toolbar { flex-direction: column; align-items: flex-start; }
        }
    &lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
    &lt;div id=&quot;pkr-chart-embed&quot;&gt;
        &lt;div class=&quot;chart-header&quot;&gt;
            &lt;h1 class=&quot;main-title&quot;&gt;
                &lt;span&gt;PKR vs USD Exchange Rate&lt;/span&gt;
                &lt;span class=&quot;currency-badge&quot;&gt;USD / PKR&lt;/span&gt;
            &lt;/h1&gt;

            &lt;div class=&quot;top-row&quot;&gt;
                &lt;div class=&quot;calculator-area&quot;&gt;
                    &lt;span class=&quot;calculator-title&quot;&gt;Calculator&lt;/span&gt;
                    &lt;div class=&quot;converter&quot;&gt;
                        &lt;div class=&quot;converter-group&quot;&gt;
                            &lt;input type=&quot;text&quot; inputmode=&quot;decimal&quot; id=&quot;usdInput&quot; class=&quot;converter-input&quot; value=&quot;1&quot;&gt;
                            &lt;span class=&quot;converter-label&quot;&gt;USD&lt;/span&gt;
                        &lt;/div&gt;
                        &lt;span class=&quot;equals-sign&quot;&gt;=&lt;/span&gt;
                        &lt;div class=&quot;converter-group&quot;&gt;
                            &lt;input type=&quot;text&quot; inputmode=&quot;decimal&quot; id=&quot;pkrInput&quot; class=&quot;converter-input pkr-field&quot; value=&quot;&quot;&gt;
                            &lt;span class=&quot;converter-label&quot;&gt;PKR&lt;/span&gt;
                        &lt;/div&gt;
                    &lt;/div&gt;
                &lt;/div&gt;

                &lt;div class=&quot;rate-badge-container&quot;&gt;
                    &lt;div class=&quot;rate-label-sub&quot;&gt;
                        &lt;span&gt;Latest Closing&lt;/span&gt;
                        &lt;span id=&quot;latestDateLabel&quot;&gt;03-Sep-26&lt;/span&gt;
                    &lt;/div&gt;
                    &lt;div class=&quot;rate-badge&quot;&gt;
                        &lt;span class=&quot;pulse-dot&quot;&gt;&lt;/span&gt;
                        &lt;span id=&quot;latestBadgeRate&quot;&gt;277.42 PKR&lt;/span&gt;
                    &lt;/div&gt;
                &lt;/div&gt;
            &lt;/div&gt;
        &lt;/div&gt;

        &lt;div class=&quot;toolbar&quot;&gt;
            &lt;div class=&quot;timeframe-selector&quot;&gt;
                &lt;button class=&quot;tf-btn&quot; data-range=&quot;30&quot;&gt;1M&lt;/button&gt;
                &lt;button class=&quot;tf-btn&quot; data-range=&quot;90&quot;&gt;3M&lt;/button&gt;
                &lt;button class=&quot;tf-btn&quot; data-range=&quot;180&quot;&gt;6M&lt;/button&gt;
                &lt;button class=&quot;tf-btn&quot; data-range=&quot;365&quot;&gt;1Y&lt;/button&gt;
                &lt;button class=&quot;tf-btn active&quot; data-range=&quot;all&quot;&gt;ALL&lt;/button&gt;
            &lt;/div&gt;

            &lt;div class=&quot;stats-row&quot;&gt;
                &lt;span class=&quot;stat-item&quot;&gt;High: &lt;strong id=&quot;statHigh&quot;&gt;--&lt;/strong&gt;&lt;/span&gt;
                &lt;span class=&quot;stat-item&quot;&gt;Low: &lt;strong id=&quot;statLow&quot;&gt;--&lt;/strong&gt;&lt;/span&gt;
                &lt;span class=&quot;stat-item&quot;&gt;Avg: &lt;strong id=&quot;statAvg&quot;&gt;--&lt;/strong&gt;&lt;/span&gt;
                &lt;span class=&quot;stat-item&quot;&gt;Change: &lt;strong id=&quot;statChange&quot;&gt;--&lt;/strong&gt;&lt;/span&gt;
            &lt;/div&gt;
        &lt;/div&gt;

        &lt;div class=&quot;chart-canvas-container&quot;&gt;
            &lt;canvas id=&quot;closingRatesChart&quot;&gt;&lt;/canvas&gt;
        &lt;/div&gt;
    &lt;/div&gt;

    &lt;script&gt;
        (function() {
            // Full historical closing rate dataset
            const rawLabels = [&quot;04-Mar-25&quot;, &quot;05-Mar-25&quot;, &quot;06-Mar-25&quot;, &quot;07-Mar-25&quot;, &quot;10-Mar-25&quot;, &quot;11-Mar-25&quot;, &quot;12-Mar-25&quot;, &quot;13-Mar-25&quot;, &quot;14-Mar-25&quot;, &quot;17-Mar-25&quot;, &quot;18-Mar-25&quot;, &quot;19-Mar-25&quot;, &quot;20-Mar-25&quot;, &quot;21-Mar-25&quot;, &quot;24-Mar-25&quot;, &quot;25-Mar-25&quot;, &quot;26-Mar-25&quot;, &quot;27-Mar-25&quot;, &quot;28-Mar-25&quot;, &quot;03-Apr-25&quot;, &quot;04-Apr-25&quot;, &quot;07-Apr-25&quot;, &quot;08-Apr-25&quot;, &quot;09-Apr-25&quot;, &quot;10-Apr-25&quot;, &quot;11-Apr-25&quot;, &quot;14-Apr-25&quot;, &quot;15-Apr-25&quot;, &quot;16-Apr-25&quot;, &quot;17-Apr-25&quot;, &quot;18-Apr-25&quot;, &quot;21-Apr-25&quot;, &quot;22-Apr-25&quot;, &quot;23-Apr-25&quot;, &quot;24-Apr-25&quot;, &quot;25-Apr-25&quot;, &quot;28-Apr-25&quot;, &quot;29-Apr-25&quot;, &quot;30-Apr-25&quot;, &quot;02-May-25&quot;, &quot;05-May-25&quot;, &quot;06-May-25&quot;, &quot;07-May-25&quot;, &quot;08-May-25&quot;, &quot;09-May-25&quot;, &quot;12-May-25&quot;, &quot;13-May-25&quot;, &quot;14-May-25&quot;, &quot;15-May-25&quot;, &quot;16-May-25&quot;, &quot;19-May-25&quot;, &quot;20-May-25&quot;, &quot;21-May-25&quot;, &quot;22-May-25&quot;, &quot;23-May-25&quot;, &quot;26-May-25&quot;, &quot;27-May-25&quot;, &quot;29-May-25&quot;, &quot;30-May-25&quot;, &quot;02-Jun-25&quot;, &quot;03-Jun-25&quot;, &quot;04-Jun-25&quot;, &quot;05-Jun-25&quot;, &quot;10-Jun-25&quot;, &quot;11-Jun-25&quot;, &quot;12-Jun-25&quot;, &quot;13-Jun-25&quot;, &quot;16-Jun-25&quot;, &quot;17-Jun-25&quot;, &quot;18-Jun-25&quot;, &quot;19-Jun-25&quot;, &quot;20-Jun-25&quot;, &quot;23-Jun-25&quot;, &quot;24-Jun-25&quot;, &quot;25-Jun-25&quot;, &quot;26-Jun-25&quot;, &quot;27-Jun-25&quot;, &quot;30-Jun-25&quot;, &quot;02-Jul-25&quot;, &quot;03-Jul-25&quot;, &quot;04-Jul-25&quot;, &quot;07-Jul-25&quot;, &quot;08-Jul-25&quot;, &quot;09-Jul-25&quot;, &quot;10-Jul-25&quot;, &quot;11-Jul-25&quot;, &quot;14-Jul-25&quot;, &quot;15-Jul-25&quot;, &quot;16-Jul-25&quot;, &quot;17-Jul-25&quot;, &quot;18-Jul-25&quot;, &quot;21-Jul-25&quot;, &quot;22-Jul-25&quot;, &quot;23-Jul-25&quot;, &quot;24-Jul-25&quot;, &quot;25-Jul-25&quot;, &quot;28-Jul-25&quot;, &quot;29-Jul-25&quot;, &quot;30-Jul-25&quot;, &quot;31-Jul-25&quot;, &quot;01-Aug-25&quot;, &quot;04-Aug-25&quot;, &quot;05-Aug-25&quot;, &quot;06-Aug-25&quot;, &quot;07-Aug-25&quot;, &quot;08-Aug-25&quot;, &quot;11-Aug-25&quot;, &quot;12-Aug-25&quot;, &quot;13-Aug-25&quot;, &quot;15-Aug-25&quot;, &quot;18-Aug-25&quot;, &quot;19-Aug-25&quot;, &quot;20-Aug-25&quot;, &quot;21-Aug-25&quot;, &quot;22-Aug-25&quot;, &quot;25-Aug-25&quot;, &quot;26-Aug-25&quot;, &quot;27-Aug-25&quot;, &quot;28-Aug-25&quot;, &quot;29-Aug-25&quot;, &quot;01-Sep-25&quot;, &quot;02-Sep-25&quot;, &quot;03-Sep-25&quot;, &quot;04-Sep-25&quot;, &quot;05-Sep-25&quot;, &quot;08-Sep-25&quot;, &quot;09-Sep-25&quot;, &quot;10-Sep-25&quot;, &quot;11-Sep-25&quot;, &quot;12-Sep-25&quot;, &quot;15-Sep-25&quot;, &quot;16-Sep-25&quot;, &quot;17-Sep-25&quot;, &quot;18-Sep-25&quot;, &quot;19-Sep-25&quot;, &quot;21-Sep-25&quot;, &quot;22-Sep-25&quot;, &quot;23-Sep-25&quot;, &quot;24-Sep-25&quot;, &quot;25-Sep-25&quot;, &quot;26-Sep-25&quot;, &quot;29-Sep-25&quot;, &quot;30-Sep-25&quot;, &quot;01-Oct-25&quot;, &quot;02-Oct-25&quot;, &quot;03-Oct-25&quot;, &quot;06-Oct-25&quot;, &quot;07-Oct-25&quot;, &quot;08-Oct-25&quot;, &quot;09-Oct-25&quot;, &quot;10-Oct-25&quot;, &quot;13-Oct-25&quot;, &quot;14-Oct-25&quot;, &quot;15-Oct-25&quot;, &quot;16-Oct-25&quot;, &quot;17-Oct-25&quot;, &quot;20-Oct-25&quot;, &quot;21-Oct-25&quot;, &quot;22-Oct-25&quot;, &quot;23-Oct-25&quot;, &quot;24-Oct-25&quot;, &quot;27-Oct-25&quot;, &quot;28-Oct-25&quot;, &quot;29-Oct-25&quot;, &quot;30-Oct-25&quot;, &quot;31-Oct-25&quot;, &quot;03-Nov-25&quot;, &quot;04-Nov-25&quot;, &quot;05-Nov-25&quot;, &quot;06-Nov-25&quot;, &quot;07-Nov-25&quot;, &quot;10-Nov-25&quot;, &quot;11-Nov-25&quot;, &quot;12-Nov-25&quot;, &quot;13-Nov-25&quot;, &quot;14-Nov-25&quot;, &quot;17-Nov-25&quot;, &quot;18-Nov-25&quot;, &quot;19-Nov-25&quot;, &quot;20-Nov-25&quot;, &quot;21-Nov-25&quot;, &quot;24-Nov-25&quot;, &quot;25-Nov-25&quot;, &quot;26-Nov-25&quot;, &quot;27-Nov-25&quot;, &quot;28-Nov-25&quot;, &quot;01-Dec-25&quot;, &quot;02-Dec-25&quot;, &quot;03-Dec-25&quot;, &quot;04-Dec-25&quot;, &quot;05-Dec-25&quot;, &quot;08-Dec-25&quot;, &quot;09-Dec-25&quot;, &quot;10-Dec-25&quot;, &quot;11-Dec-25&quot;, &quot;12-Dec-25&quot;, &quot;15-Dec-25&quot;, &quot;16-Dec-25&quot;, &quot;17-Dec-25&quot;, &quot;18-Dec-25&quot;, &quot;19-Dec-25&quot;, &quot;22-Dec-25&quot;, &quot;23-Dec-25&quot;, &quot;24-Dec-25&quot;, &quot;26-Dec-25&quot;, &quot;29-Dec-25&quot;, &quot;30-Dec-25&quot;, &quot;31-Dec-25&quot;, &quot;02-Jan-26&quot;, &quot;05-Jan-26&quot;, &quot;06-Jan-26&quot;, &quot;07-Jan-26&quot;, &quot;08-Jan-26&quot;, &quot;09-Jan-26&quot;, &quot;12-Jan-26&quot;, &quot;13-Jan-26&quot;, &quot;14-Jan-26&quot;, &quot;15-Jan-26&quot;, &quot;16-Jan-26&quot;, &quot;19-Jan-26&quot;, &quot;20-Jan-26&quot;, &quot;21-Jan-26&quot;, &quot;22-Jan-26&quot;, &quot;23-Jan-26&quot;, &quot;26-Jan-26&quot;, &quot;27-Jan-26&quot;, &quot;28-Jan-26&quot;, &quot;29-Jan-26&quot;, &quot;30-Jan-26&quot;, &quot;02-Feb-26&quot;, &quot;03-Feb-26&quot;, &quot;04-Feb-26&quot;, &quot;06-Feb-26&quot;, &quot;09-Feb-26&quot;, &quot;10-Feb-26&quot;, &quot;11-Feb-26&quot;, &quot;12-Feb-26&quot;, &quot;13-Feb-26&quot;, &quot;16-Feb-26&quot;, &quot;17-Feb-26&quot;, &quot;18-Feb-26&quot;, &quot;20-Feb-26&quot;, &quot;23-Feb-26&quot;, &quot;24-Feb-26&quot;, &quot;25-Feb-26&quot;, &quot;26-Feb-26&quot;, &quot;27-Feb-26&quot;, &quot;02-Mar-26&quot;, &quot;03-Mar-26&quot;, &quot;04-Mar-26&quot;, &quot;05-Mar-26&quot;, &quot;06-Mar-26&quot;, &quot;09-Mar-26&quot;, &quot;10-Mar-26&quot;, &quot;11-Mar-26&quot;, &quot;12-Mar-26&quot;, &quot;13-Mar-26&quot;, &quot;16-Mar-26&quot;, &quot;17-Mar-26&quot;, &quot;18-Mar-26&quot;, &quot;19-Mar-26&quot;, &quot;24-Mar-26&quot;, &quot;25-Mar-26&quot;, &quot;26-Mar-26&quot;, &quot;27-Mar-26&quot;, &quot;30-Mar-26&quot;, &quot;31-Mar-26&quot;, &quot;01-Apr-26&quot;, &quot;02-Apr-26&quot;, &quot;03-Apr-26&quot;, &quot;04-Apr-26&quot;, &quot;06-Apr-26&quot;, &quot;07-Apr-26&quot;, &quot;08-Apr-26&quot;, &quot;09-Apr-26&quot;, &quot;10-Apr-26&quot;, &quot;13-Apr-26&quot;, &quot;14-Apr-26&quot;, &quot;14-Apr-26&quot;, &quot;15-Apr-26&quot;, &quot;16-Apr-26&quot;, &quot;17-Apr-26&quot;, &quot;20-Apr-26&quot;, &quot;21-Apr-26&quot;, &quot;22-Apr-26&quot;, &quot;23-Apr-26&quot;, &quot;24-Apr-26&quot;, &quot;27-Apr-26&quot;, &quot;28-Apr-26&quot;, &quot;29-Apr-26&quot;, &quot;30-Apr-26&quot;, &quot;04-May-26&quot;, &quot;05-May-26&quot;, &quot;06-May-26&quot;, &quot;07-May-26&quot;, &quot;08-May-26&quot;, &quot;11-May-26&quot;, &quot;12-May-26&quot;, &quot;13-May-26&quot;, &quot;14-May-26&quot;, &quot;15-May-26&quot;, &quot;18-May-26&quot;, &quot;19-May-26&quot;, &quot;20-May-26&quot;, &quot;21-May-26&quot;, &quot;22-May-26&quot;, &quot;25-May-26&quot;, &quot;29-May-26&quot;, &quot;01-Jun-26&quot;, &quot;02-Jun-26&quot;, &quot;03-Jun-26&quot;, &quot;04-Jun-26&quot;, &quot;05-Jun-26&quot;, &quot;08-Jun-26&quot;, &quot;09-Jun-26&quot;, &quot;10-Jun-26&quot;, &quot;11-Jun-26&quot;, &quot;12-Jun-26&quot;, &quot;15-Jun-26&quot;, &quot;16-Jun-26&quot;, &quot;17-Jun-26&quot;, &quot;18-Jun-26&quot;, &quot;19-Jun-26&quot;, &quot;22-Jun-26&quot;, &quot;23-Jun-26&quot;, &quot;24-Jun-26&quot;, &quot;29-Jun-26&quot;, &quot;30-Jun-26&quot;, &quot;02-Jul-26&quot;, &quot;03-Jul-26&quot;, &quot;06-Jul-26&quot;, &quot;07-Jul-26&quot;, &quot;08-Jul-26&quot;, &quot;09-Jul-26&quot;, &quot;10-Jul-26&quot;, &quot;13-Jul-26&quot;, &quot;14-Jul-26&quot;, &quot;15-Jul-26&quot;, &quot;16-Jul-26&quot;, &quot;17-Jul-26&quot;, &quot;20-Jul-26&quot;, &quot;21-Jul-26&quot;, &quot;22-Jul-26&quot;, &quot;23-Jul-26&quot;, &quot;24-Jul-26&quot;, &quot;27-Jul-26&quot;, &quot;28-Jul-26&quot;, &quot;29-Jul-26&quot;, &quot;30-Jul-26&quot;, &quot;03-Aug-26&quot;, &quot;04-Aug-26&quot;, &quot;05-Aug-26&quot;, &quot;06-Aug-26&quot;, &quot;07-Aug-26&quot;, &quot;10-Aug-26&quot;, &quot;11-Aug-26&quot;, &quot;12-Aug-26&quot;, &quot;13-Aug-26&quot;, &quot;17-Aug-26&quot;, &quot;18-Aug-26&quot;, &quot;20-Aug-26&quot;, &quot;21-Aug-26&quot;, &quot;24-Aug-26&quot;, &quot;25-Aug-26&quot;, &quot;27-Aug-26&quot;, &quot;28-Aug-26&quot;, &quot;31-Aug-26&quot;, &quot;01-Sep-26&quot;, &quot;02-Sep-26&quot;, &quot;03-Sep-26&quot;];
            
            const rawData = [279.77, 279.87, 279.82, 279.97, 280.07, 279.95, 279.97, 280.05, 280.21, 280.17, 280.27, 280.21, 280.22, 280.26, 280.37, 280.42, 280.26, 280.22, 280.16, 280.56, 280.47, 280.57, 280.73, 280.78, 280.56, 280.47, 280.60, 280.57, 280.46, 280.62, 280.72, 280.87, 280.77, 280.97, 281.07, 280.97, 281.07, 281.02, 280.97, 281.06, 281.22, 281.37, 281.47, 281.52, 281.71, 281.57, 281.67, 281.72, 281.61, 281.66, 281.77, 281.92, 281.97, 282.06, 281.97, 282.06, 282.17, 282.07, 282.02, 281.97, 282.12, 282.22, 282.17, 282.21, 282.47, 282.67, 282.96, 283.17, 283.41, 283.55, 283.64, 283.70, 283.87, 283.77, 283.72, 283.67, 283.72, 283.76, 283.95, 283.86, 283.97, 284.22, 284.36, 284.47, 284.56, 284.46, 284.72, 284.67, 284.96, 284.97, 284.87, 284.95, 284.97, 284.76, 284.22, 283.45, 283.21, 283.05, 282.95, 282.87, 282.72, 282.66, 282.57, 282.67, 282.56, 282.47, 282.45, 282.42, 282.22, 282.06, 282.01, 281.96, 281.95, 281.92, 281.90, 281.87, 281.86, 281.83, 281.80, 281.77, 281.75, 281.72, 281.71, 281.67, 281.65, 281.62, 281.61, 281.60, 281.56, 281.55, 281.52, 281.51, 281.50, 281.47, 281.46, 281.45, 281.46, 281.42, 281.43, 281.41, 281.37, 281.35, 281.32, 281.31, 281.27, 281.26, 281.25, 281.22, 281.21, 281.20, 281.17, 281.16, 281.15, 281.12, 281.11, 281.10, 281.07, 281.06, 281.05, 281.03, 281.02, 281.01, 280.97, 280.96, 280.92, 280.91, 280.90, 280.87, 280.86, 280.85, 280.82, 280.81, 280.78, 280.77, 280.76, 280.72, 280.71, 280.67, 280.66, 280.66, 280.65, 280.62, 280.61, 280.57, 280.56, 280.55, 280.52, 280.51, 280.47, 280.46, 280.45, 280.42, 280.41, 280.40, 280.37, 280.36, 280.32, 280.31, 280.30, 280.27, 280.26, 280.25, 280.22, 280.21, 280.20, 280.17, 280.16, 280.15, 280.12, 280.11, 280.10, 280.07, 280.06, 280.05, 280.02, 280.01, 280.00, 279.97, 279.96, 279.95, 279.92, 279.91, 279.90, 279.87, 279.86, 279.85, 279.82, 279.81, 279.80, 279.77, 279.76, 279.75, 279.72, 279.71, 279.70, 279.67, 279.66, 279.65, 279.62, 279.61, 279.60, 279.57, 279.56, 279.55, 279.52, 279.51, 279.50, 279.47, 279.46, 279.45, 279.42, 279.41, 279.40, 279.37, 279.36, 279.35, 279.32, 279.31, 279.30, 279.27, 279.26, 279.25, 279.22, 279.21, 279.20, 279.17, 279.16, 279.15, 279.12, 279.11, 279.10, 279.07, 279.06, 279.05, 279.02, 279.01, 279.00, 278.97, 278.96, 278.95, 278.92, 278.91, 278.90, 278.87, 278.86, 278.85, 278.82, 278.81, 278.80, 278.77, 278.76, 278.75, 278.72, 278.71, 278.70, 278.67, 278.66, 278.65, 278.62, 278.61, 278.60, 278.57, 278.56, 278.55, 278.52, 278.51, 278.50, 278.47, 278.46, 278.45, 278.42, 278.41, 278.40, 278.37, 278.36, 278.35, 278.32, 278.31, 278.30, 278.27, 278.26, 278.25, 278.22, 278.21, 278.20, 278.17, 278.16, 278.15, 278.12, 278.11, 278.10, 278.07, 278.06, 278.05, 278.02, 278.01, 278.00, 277.95, 277.95, 277.92, 277.91, 277.90, 277.87, 277.86, 277.85, 277.82, 277.81, 277.80, 277.77, 277.76, 277.75, 277.72, 277.71, 277.70, 277.67, 277.66, 277.65, 277.62, 277.61, 277.57, 277.56, 277.55, 277.52, 277.51, 277.50, 277.47, 277.46, 277.45, 277.42];

            const currentExchangeRate = rawData[rawData.length - 1];
            const currentExchangeDate = rawLabels[rawLabels.length - 1];

            // DOM Elements
            const usdInput = document.getElementById(&#039;usdInput&#039;);
            const pkrInput = document.getElementById(&#039;pkrInput&#039;);
            const badgeEl = document.getElementById(&#039;latestBadgeRate&#039;);
            const dateLabelEl = document.getElementById(&#039;latestDateLabel&#039;);

            const statHighEl = document.getElementById(&#039;statHigh&#039;);
            const statLowEl = document.getElementById(&#039;statLow&#039;);
            const statAvgEl = document.getElementById(&#039;statAvg&#039;);
            const statChangeEl = document.getElementById(&#039;statChange&#039;);

            // Format helpers
            const formatCurrency = (val, maxDecimals = 2, minDecimals = 2) =&gt; {
                if (isNaN(val) || val === null) return &#039;--&#039;;
                return val.toLocaleString(&#039;en-US&#039;, {
                    minimumFractionDigits: minDecimals,
                    maximumFractionDigits: maxDecimals
                });
            };

            const parseCurrency = (valStr) =&gt; {
                if (!valStr) return NaN;
                return parseFloat(valStr.toString().replace(/,/g, &#039;&#039;));
            };

            // Set Initial Values in UI
            dateLabelEl.textContent = currentExchangeDate;
            badgeEl.textContent = formatCurrency(currentExchangeRate) + &#039; PKR&#039;;
            pkrInput.value = formatCurrency(currentExchangeRate);

            // Converter Event Listeners
            usdInput.addEventListener(&#039;input&#039;, (e) =&gt; {
                const val = parseCurrency(e.target.value);
                if (isNaN(val)) {
                    pkrInput.value = &#039;&#039;;
                } else {
                    pkrInput.value = formatCurrency(val * currentExchangeRate);
                }
            });

            pkrInput.addEventListener(&#039;input&#039;, (e) =&gt; {
                const val = parseCurrency(e.target.value);
                if (isNaN(val)) {
                    usdInput.value = &#039;&#039;;
                } else {
                    usdInput.value = formatCurrency(val / currentExchangeRate, 4, 2);
                }
            });

            usdInput.addEventListener(&#039;blur&#039;, (e) =&gt; {
                const val = parseCurrency(e.target.value);
                if (!isNaN(val)) {
                    e.target.value = formatCurrency(val, 2, 0);
                }
            });

            pkrInput.addEventListener(&#039;blur&#039;, (e) =&gt; {
                const val = parseCurrency(e.target.value);
                if (!isNaN(val)) {
                    e.target.value = formatCurrency(val, 2, 2);
                }
            });

            const ctx = document.getElementById(&#039;closingRatesChart&#039;).getContext(&#039;2d&#039;);
            
            // Create gradient fill
            const gradient = ctx.createLinearGradient(0, 0, 0, 350);
            gradient.addColorStop(0, &#039;rgba(79, 70, 229, 0.25)&#039;);
            gradient.addColorStop(1, &#039;rgba(79, 70, 229, 0.0)&#039;);

            let chartInstance = new Chart(ctx, {
                type: &#039;line&#039;,
                data: {
                    labels: rawLabels,
                    datasets: [{
                        label: &#039;USD to PKR&#039;,
                        data: rawData,
                        borderColor: &#039;#4f46e5&#039;,
                        borderWidth: 2,
                        backgroundColor: gradient,
                        fill: true,
                        tension: 0.3,
                        pointRadius: 0,
                        pointHoverRadius: 6,
                        pointHoverBackgroundColor: &#039;#4f46e5&#039;,
                        pointHoverBorderColor: &#039;#ffffff&#039;,
                        pointHoverBorderWidth: 2
                    }]
                },
                options: {
                    responsive: true,
                    maintainAspectRatio: false,
                    interaction: {
                        intersect: false,
                        mode: &#039;index&#039;
                    },
                    plugins: {
                        legend: { display: false },
                        tooltip: {
                            backgroundColor: &#039;#0f172a&#039;,
                            titleFont: { family: &#039;Plus Jakarta Sans&#039;, size: 12, weight: &#039;bold&#039; },
                            bodyFont: { family: &#039;Plus Jakarta Sans&#039;, size: 13 },
                            padding: 10,
                            cornerRadius: 8,
                            displayColors: false,
                            callbacks: {
                                label: function(context) {
                                    return &#039;Rate: &#039; + formatCurrency(context.parsed.y) + &#039; PKR&#039;;
                                }
                            }
                        }
                    },
                    scales: {
                        x: {
                            grid: { display: false },
                            ticks: {
                                font: { family: &#039;Plus Jakarta Sans&#039;, size: 11 },
                                color: &#039;#64748b&#039;,
                                maxTicksLimit: 8,
                                maxRotation: 0
                            }
                        },
                        y: {
                            grid: { color: &#039;#f1f5f9&#039; },
                            ticks: {
                                font: { family: &#039;Plus Jakarta Sans&#039;, size: 11 },
                                color: &#039;#64748b&#039;,
                                callback: function(value) {
                                    return value.toFixed(1);
                                }
                            }
                        }
                    }
                }
            });

            function updateRangeStats(labels, data) {
                if (!data || data.length === 0) return;

                const high = Math.max(...data);
                const low = Math.min(...data);
                const avg = data.reduce((a, b) =&gt; a + b, 0) / data.length;
                const startVal = data[0];
                const endVal = data[data.length - 1];
                const change = endVal - startVal;
                const changePct = (change / startVal) * 100;

                statHighEl.textContent = formatCurrency(high);
                statLowEl.textContent = formatCurrency(low);
                statAvgEl.textContent = formatCurrency(avg);

                const sign = change &gt;= 0 ? &#039;+&#039; : &#039;&#039;;
                statChangeEl.textContent = `${sign}${formatCurrency(change)} (${sign}${changePct.toFixed(2)}%)`;
                statChangeEl.style.color = change &gt; 0 ? &#039;#10b981&#039; : (change &lt; 0 ? &#039;#ef4444&#039; : &#039;#64748b&#039;);
            }

            // Timeframe filtering handler
            function setTimeframe(rangeCount) {
                let slicedLabels = rawLabels;
                let slicedData = rawData;

                if (rangeCount !== &#039;all&#039;) {
                    const count = parseInt(rangeCount, 10);
                    slicedLabels = rawLabels.slice(-count);
                    slicedData = rawData.slice(-count);
                }

                chartInstance.data.labels = slicedLabels;
                chartInstance.data.datasets[0].data = slicedData;

                // Adjust Y axis dynamic scaling
                const minVal = Math.min(...slicedData);
                const maxVal = Math.max(...slicedData);
                const padding = (maxVal - minVal) * 0.1 || 1;
                
                chartInstance.options.scales.y.min = Math.floor((minVal - padding) * 10) / 10;
                chartInstance.options.scales.y.max = Math.ceil((maxVal + padding) * 10) / 10;

                chartInstance.update();
                updateRangeStats(slicedLabels, slicedData);
            }

            // Setup timeframe button listeners
            document.querySelectorAll(&#039;#pkr-chart-embed .tf-btn&#039;).forEach(btn =&gt; {
                btn.addEventListener(&#039;click&#039;, (e) =&gt; {
                    document.querySelectorAll(&#039;#pkr-chart-embed .tf-btn&#039;).forEach(b =&gt; b.classList.remove(&#039;active&#039;));
                    e.target.classList.add(&#039;active&#039;);
                    setTimeframe(e.target.getAttribute(&#039;data-range&#039;));
                });
            });

            // Initial range load
            setTimeframe(&#039;all&#039;);
        })();
    &lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;
    &lt;script&gt;
        function reportHeight() {
            var h = document.documentElement.scrollHeight;
            window.parent.postMessage({ type: &#039;raw-html-resize&#039;, id: &#039;raw-html-6a99809bc2563&#039;, height: h }, &#039;*&#039;);
        }
        window.addEventListener(&#039;load&#039;, reportHeight);
        if (window.ResizeObserver) {
            new ResizeObserver(reportHeight).observe(document.body);
        }
    &lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;"></iframe>
<script>
if (!window._rawHtmlListenerAttached) {
    window._rawHtmlListenerAttached = true;
    window.addEventListener('message', function(event) {
        if (event.data && event.data.type === 'raw-html-resize' && event.data.id) {
            var iframe = document.getElementById(event.data.id);
            if (iframe) {
                var height = Math.min(Math.max(event.data.height, 50), 9200);
                iframe.style.height = height + 'px';
            }
        }
    });
}
</script>
<p><strong>The Pakistani rupee extended its marginal gains, appreciating 0.01% against the US dollar on Thursday.</strong></p>
<p>The local unit closed the day at 277.42, a gain of Re0.03 against the greenback.</p>
    <figure class='media  w-full sm:w-full  media--center  media--embed  media--uneven media--tweet' data-original-src='https://x.com/StateBank_Pak/status/2095465322187010329'>
        <div class='media__item  media__item--twitter  '><span>
    <blockquote class="twitter-tweet" lang="en">
        <a href="https://twitter.com/StateBank_Pak/status/2095465322187010329"></a>
    </blockquote>
</span></div>
        
    </figure>
<p><a href="https://www.brecorder.com/news/40437585/intra-day-update-rupee-records-gain-against-us-dollar">On Wednesday</a>, the Pakistani rupee settled at 277.45 against the dollar.</p>
<p><a href="https://www.brecorder.com/news/40437728/pakistan-raises-3bn-through-eurobond-sale">Pakistan has raised $3 billion</a> through a dual-tranche Eurobond sale that drew nearly $6 billion in orders, according to a statement from Finance Division on Thursday. The country raised $1.75 billion through a 5.5-year bond at a coupon rate of 7.5% and $1.25 billion through a 10-year bond at 7.9%, it said.</p>
<p>Globally, the <a href="https://www.brecorder.com/news/40437723/yen-in-the-spotlight-after-sudden-jump">yen held its gains </a>on Thursday ​after a sudden, brief surge in the previous session that traders suspect may have ‌been driven by government authorities, keeping pressure on the dollar ahead of a crucial US jobs report.</p>
<p>The yen was last steady at 158.88 per US dollar, having jumped 0.9% overnight, in a move that left market participants on alert for ​an official intervention from Tokyo.</p>
<p>Since a rare joint yen-buying intervention between the US and Japan on July 31, the yen has struggled to find lasting support, coming under pressure from still-wide interest rate ​differentials, fiscal worries and a renewed spike in energy prices.</p>
<p>In the broader market, the strength in ​the yen left the US dollar on the back foot, with the euro up marginally to $1.1589. Sterling attempted a bounce ‌from ⁠a three-week low, and last bought at $1.3482.</p>
<p>Against a basket of currencies, the US dollar eased 0.04% to 99.56.</p>
<p>Meanwhile, <a href="https://www.brecorder.com/news/40437722/oil-prices-hit-fresh-6-week-highs-on-renewed-middle-east-tensions">oil prices hit fresh six-week highs</a> on Thursday ​after new US strikes on Iran and renewed Israeli threats against Tehran heightened concerns about ‌disruptions to Middle East supplies.</p>
<p>Brent crude futures were up $1.66, or 1.7%, at $97.29 a barrel by 1200 GMT, erasing earlier losses, while US West Texas Intermediate crude futures rose $2.03, or 2.2%, to $93.04. Both contracts were heading for ​their fourth day of gains and hit six-week highs earlier in the session.</p>
<p><strong>Inter-bank market rates for dollar on Thursday</strong></p>
<p>BID Rs 277.42</p>
<p>OFFER Rs 277.62</p>
<p><strong>Open-market movement</strong></p>
<p>In the open market, the PKR gained 7 paise for buying and 3 paise for selling against USD, closing at 278.26 and 279.15, respectively.</p>
<p>Against Euro, the PKR lost 62 paise for buying and 48 paise for selling, closing at 321.67 and 324.49, respectively.</p>
<p>Against UAE Dirham, the PKR lost 3 paise for buying and remained unchanged for selling, closing at 75.68 and 76.28, respectively.</p>
<p>Against Saudi Riyal, the PKR lost 5 paise for both buying and selling, closing at 73.97 and 74.53, respectively.</p>
<p><strong>Open-market rates for dollar on Thursday</strong></p>
<p>BID Rs 278.26</p>
<p>OFFER Rs 279.15</p>
]]></content:encoded>
      <category>Markets</category>
      <guid>https://www.brecorder.com/news/40437763</guid>
      <pubDate>Thu, 03 Sep 2026 19:13:47 +0500</pubDate>
      <author>none@none.com (Recorder Report)</author>
      <media:content url="https://i.brecorder.com/large/2026/09/0315121046fc5b3.webp" type="image/webp" medium="image" height="1369" width="2000">
        <media:thumbnail url="https://i.brecorder.com/thumbnail/2026/09/0315121046fc5b3.webp"/>
        <media:title/>
      </media:content>
    </item>
    <item xmlns:default="http://purl.org/rss/1.0/modules/content/">
      <title>Pakistani rupee records gain against US dollar</title>
      <link>https://www.brecorder.com/news/40437585/intra-day-update-rupee-records-gain-against-us-dollar</link>
      <description>&lt;iframe id="raw-html-6a9833c4295ec" class="raw-html-embed" style="width: 100%; min-height: 50px; max-height: 9200px; border: none; overflow: hidden;" scrolling="no" srcdoc="&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html&amp;gt;
&amp;lt;head&amp;gt;
    &amp;lt;style&amp;gt;
        body { margin: 0; padding: 0; font-family: system-ui, -apple-system, sans-serif; overflow-wrap: anywhere; }
    &amp;lt;/style&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
    
&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html lang=&amp;quot;en&amp;quot;&amp;gt;
&amp;lt;head&amp;gt;
    &amp;lt;meta charset=&amp;quot;UTF-8&amp;quot;&amp;gt;
    &amp;lt;meta name=&amp;quot;viewport&amp;quot; content=&amp;quot;width=device-width, initial-scale=1.0&amp;quot;&amp;gt;
    &amp;lt;title&amp;gt;PKR vs USD Exchange Rate Chart&amp;lt;/title&amp;gt;
    &amp;lt;!-- Chart.js for interactive rendering --&amp;gt;
    &amp;lt;script src=&amp;quot;https://cdn.jsdelivr.net/npm/chart.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;
    
    &amp;lt;style&amp;gt;
        @import url(&amp;#039;https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght=400;500;600;700&amp;amp;display=swap&amp;#039;);

        #pkr-chart-embed {
            font-family: &amp;#039;Plus Jakarta Sans&amp;#039;, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, sans-serif;
            max-width: 1000px;
            width: 100%;
            margin: 24px auto;
            background-color: #ffffff;
            border: 1px solid #e2e8f0;
            border-radius: 20px;
            padding: 24px;
            box-shadow: 0 10px 25px -5px rgba(15, 23, 42, 0.05), 0 8px 10px -6px rgba(15, 23, 42, 0.05);
            color: #0f172a;
            box-sizing: border-box;
        }

        #pkr-chart-embed * { box-sizing: border-box; margin: 0; padding: 0; }

        #pkr-chart-embed .chart-header {
            display: flex;
            flex-direction: column;
            gap: 20px;
            margin-bottom: 20px;
            width: 100%;
        }

        #pkr-chart-embed .top-row {
            display: flex;
            flex-direction: row;
            justify-content: space-between;
            align-items: flex-start;
            gap: 20px;
        }

        #pkr-chart-embed .calculator-area {
            display: flex;
            flex-direction: column;
            gap: 8px;
            align-items: flex-start;
        }

        #pkr-chart-embed .main-title {
            font-size: 22px;
            font-weight: 700;
            color: #0f172a;
            letter-spacing: -0.025em;
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            gap: 10px;
        }

        #pkr-chart-embed .currency-badge {
            font-size: 11px;
            font-weight: 600;
            color: #4f46e5;
            background-color: rgba(79, 70, 229, 0.08);
            padding: 3px 10px;
            border-radius: 9999px;
            border: 1px solid rgba(79, 70, 229, 0.15);
            text-transform: uppercase;
        }

        #pkr-chart-embed .calculator-title {
            font-size: 10px;
            font-weight: 700;
            color: #64748b;
            text-transform: uppercase;
            letter-spacing: 0.05em;
        }

        #pkr-chart-embed .converter {
            display: flex;
            align-items: center;
            background: #f8fafc;
            border: 1px solid #e2e8f0;
            border-radius: 12px;
            padding: 4px;
            gap: 6px;
        }

        #pkr-chart-embed .converter-group {
            display: flex;
            align-items: center;
            background: #ffffff;
            border-radius: 8px;
            padding: 6px 10px;
            box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
            border: 1px solid #e2e8f0;
        }

        #pkr-chart-embed .converter-input {
            border: none;
            outline: none;
            width: 90px;
            font-family: inherit;
            font-weight: 700;
            color: #0f172a;
            font-size: 14px;
            text-align: right;
            background: transparent;
        }

        #pkr-chart-embed .converter-input.pkr-field { width: 120px; }

        #pkr-chart-embed .converter-label {
            font-size: 11px;
            font-weight: 700;
            color: #64748b;
            margin-left: 6px;
        }

        #pkr-chart-embed .equals-sign { color: #94a3b8; font-weight: 600; font-size: 16px; }

        #pkr-chart-embed .rate-badge-container {
            display: flex;
            flex-direction: column;
            align-items: flex-end;
            gap: 6px;
        }

        #pkr-chart-embed .rate-label-sub { text-align: right; }
        #pkr-chart-embed .rate-label-sub span:first-child { display: block; font-size: 9px; text-transform: uppercase; font-weight: 700; color: #64748b; }
        #pkr-chart-embed .rate-label-sub span:last-child { display: block; font-size: 12px; color: #334155; font-weight: 600; }

        #pkr-chart-embed .rate-badge {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            background: linear-gradient(135deg, #4f46e5, #3b82f6);
            color: #ffffff;
            font-weight: 700;
            font-size: 14px;
            padding: 8px 14px;
            border-radius: 12px;
            box-shadow: 0 8px 16px -3px rgba(79, 70, 229, 0.25);
        }

        #pkr-chart-embed .pulse-dot { width: 8px; height: 8px; border-radius: 50%; background-color: #ffffff; animation: pkrPulse 1.5s infinite; }

        @keyframes pkrPulse {
            0% { transform: scale(0.95); opacity: 0.6; }
            50% { transform: scale(1.15); opacity: 1; }
            100% { transform: scale(0.95); opacity: 0.6; }
        }

        /* Controls &amp;amp; Stats Toolbar */
        #pkr-chart-embed .toolbar {
            display: flex;
            justify-content: space-between;
            align-items: center;
            flex-wrap: wrap;
            gap: 12px;
            margin-bottom: 16px;
            padding-bottom: 12px;
            border-bottom: 1px solid #f1f5f9;
        }

        #pkr-chart-embed .timeframe-selector {
            display: flex;
            gap: 4px;
            background: #f1f5f9;
            padding: 3px;
            border-radius: 10px;
        }

        #pkr-chart-embed .tf-btn {
            border: none;
            background: transparent;
            font-family: inherit;
            font-size: 12px;
            font-weight: 600;
            color: #64748b;
            padding: 5px 12px;
            border-radius: 7px;
            cursor: pointer;
            transition: all 0.2s ease;
        }

        #pkr-chart-embed .tf-btn.active {
            background: #ffffff;
            color: #4f46e5;
            box-shadow: 0 1px 3px rgba(0,0,0,0.1);
        }

        #pkr-chart-embed .stats-row {
            display: flex;
            gap: 16px;
            flex-wrap: wrap;
        }

        #pkr-chart-embed .stat-item {
            font-size: 12px;
            color: #64748b;
        }

        #pkr-chart-embed .stat-item strong {
            color: #0f172a;
            font-weight: 700;
        }

        #pkr-chart-embed .chart-canvas-container { position: relative; width: 100%; height: 380px; }

        @media (max-width: 768px) {
            #pkr-chart-embed .chart-canvas-container { height: 300px; }
            #pkr-chart-embed .top-row { flex-direction: column; align-items: flex-start; }
            #pkr-chart-embed .rate-badge-container { align-items: flex-start; }
            #pkr-chart-embed .rate-label-sub { text-align: left; }
            #pkr-chart-embed .toolbar { flex-direction: column; align-items: flex-start; }
        }
    &amp;lt;/style&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
    &amp;lt;div id=&amp;quot;pkr-chart-embed&amp;quot;&amp;gt;
        &amp;lt;div class=&amp;quot;chart-header&amp;quot;&amp;gt;
            &amp;lt;h1 class=&amp;quot;main-title&amp;quot;&amp;gt;
                &amp;lt;span&amp;gt;PKR vs USD Exchange Rate&amp;lt;/span&amp;gt;
                &amp;lt;span class=&amp;quot;currency-badge&amp;quot;&amp;gt;USD / PKR&amp;lt;/span&amp;gt;
            &amp;lt;/h1&amp;gt;

            &amp;lt;div class=&amp;quot;top-row&amp;quot;&amp;gt;
                &amp;lt;div class=&amp;quot;calculator-area&amp;quot;&amp;gt;
                    &amp;lt;span class=&amp;quot;calculator-title&amp;quot;&amp;gt;Calculator&amp;lt;/span&amp;gt;
                    &amp;lt;div class=&amp;quot;converter&amp;quot;&amp;gt;
                        &amp;lt;div class=&amp;quot;converter-group&amp;quot;&amp;gt;
                            &amp;lt;input type=&amp;quot;text&amp;quot; inputmode=&amp;quot;decimal&amp;quot; id=&amp;quot;usdInput&amp;quot; class=&amp;quot;converter-input&amp;quot; value=&amp;quot;1&amp;quot;&amp;gt;
                            &amp;lt;span class=&amp;quot;converter-label&amp;quot;&amp;gt;USD&amp;lt;/span&amp;gt;
                        &amp;lt;/div&amp;gt;
                        &amp;lt;span class=&amp;quot;equals-sign&amp;quot;&amp;gt;=&amp;lt;/span&amp;gt;
                        &amp;lt;div class=&amp;quot;converter-group&amp;quot;&amp;gt;
                            &amp;lt;input type=&amp;quot;text&amp;quot; inputmode=&amp;quot;decimal&amp;quot; id=&amp;quot;pkrInput&amp;quot; class=&amp;quot;converter-input pkr-field&amp;quot; value=&amp;quot;&amp;quot;&amp;gt;
                            &amp;lt;span class=&amp;quot;converter-label&amp;quot;&amp;gt;PKR&amp;lt;/span&amp;gt;
                        &amp;lt;/div&amp;gt;
                    &amp;lt;/div&amp;gt;
                &amp;lt;/div&amp;gt;

                &amp;lt;div class=&amp;quot;rate-badge-container&amp;quot;&amp;gt;
                    &amp;lt;div class=&amp;quot;rate-label-sub&amp;quot;&amp;gt;
                        &amp;lt;span&amp;gt;Latest Closing&amp;lt;/span&amp;gt;
                        &amp;lt;span id=&amp;quot;latestDateLabel&amp;quot;&amp;gt;02-Sep-26&amp;lt;/span&amp;gt;
                    &amp;lt;/div&amp;gt;
                    &amp;lt;div class=&amp;quot;rate-badge&amp;quot;&amp;gt;
                        &amp;lt;span class=&amp;quot;pulse-dot&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;
                        &amp;lt;span id=&amp;quot;latestBadgeRate&amp;quot;&amp;gt;277.45 PKR&amp;lt;/span&amp;gt;
                    &amp;lt;/div&amp;gt;
                &amp;lt;/div&amp;gt;
            &amp;lt;/div&amp;gt;
        &amp;lt;/div&amp;gt;

        &amp;lt;div class=&amp;quot;toolbar&amp;quot;&amp;gt;
            &amp;lt;div class=&amp;quot;timeframe-selector&amp;quot;&amp;gt;
                &amp;lt;button class=&amp;quot;tf-btn&amp;quot; data-range=&amp;quot;30&amp;quot;&amp;gt;1M&amp;lt;/button&amp;gt;
                &amp;lt;button class=&amp;quot;tf-btn&amp;quot; data-range=&amp;quot;90&amp;quot;&amp;gt;3M&amp;lt;/button&amp;gt;
                &amp;lt;button class=&amp;quot;tf-btn&amp;quot; data-range=&amp;quot;180&amp;quot;&amp;gt;6M&amp;lt;/button&amp;gt;
                &amp;lt;button class=&amp;quot;tf-btn&amp;quot; data-range=&amp;quot;365&amp;quot;&amp;gt;1Y&amp;lt;/button&amp;gt;
                &amp;lt;button class=&amp;quot;tf-btn active&amp;quot; data-range=&amp;quot;all&amp;quot;&amp;gt;ALL&amp;lt;/button&amp;gt;
            &amp;lt;/div&amp;gt;

            &amp;lt;div class=&amp;quot;stats-row&amp;quot;&amp;gt;
                &amp;lt;span class=&amp;quot;stat-item&amp;quot;&amp;gt;High: &amp;lt;strong id=&amp;quot;statHigh&amp;quot;&amp;gt;--&amp;lt;/strong&amp;gt;&amp;lt;/span&amp;gt;
                &amp;lt;span class=&amp;quot;stat-item&amp;quot;&amp;gt;Low: &amp;lt;strong id=&amp;quot;statLow&amp;quot;&amp;gt;--&amp;lt;/strong&amp;gt;&amp;lt;/span&amp;gt;
                &amp;lt;span class=&amp;quot;stat-item&amp;quot;&amp;gt;Avg: &amp;lt;strong id=&amp;quot;statAvg&amp;quot;&amp;gt;--&amp;lt;/strong&amp;gt;&amp;lt;/span&amp;gt;
                &amp;lt;span class=&amp;quot;stat-item&amp;quot;&amp;gt;Change: &amp;lt;strong id=&amp;quot;statChange&amp;quot;&amp;gt;--&amp;lt;/strong&amp;gt;&amp;lt;/span&amp;gt;
            &amp;lt;/div&amp;gt;
        &amp;lt;/div&amp;gt;

        &amp;lt;div class=&amp;quot;chart-canvas-container&amp;quot;&amp;gt;
            &amp;lt;canvas id=&amp;quot;closingRatesChart&amp;quot;&amp;gt;&amp;lt;/canvas&amp;gt;
        &amp;lt;/div&amp;gt;
    &amp;lt;/div&amp;gt;

    &amp;lt;script&amp;gt;
        (function() {
            // Full historical closing rate dataset
            const rawLabels = [&amp;quot;04-Mar-25&amp;quot;, &amp;quot;05-Mar-25&amp;quot;, &amp;quot;06-Mar-25&amp;quot;, &amp;quot;07-Mar-25&amp;quot;, &amp;quot;10-Mar-25&amp;quot;, &amp;quot;11-Mar-25&amp;quot;, &amp;quot;12-Mar-25&amp;quot;, &amp;quot;13-Mar-25&amp;quot;, &amp;quot;14-Mar-25&amp;quot;, &amp;quot;17-Mar-25&amp;quot;, &amp;quot;18-Mar-25&amp;quot;, &amp;quot;19-Mar-25&amp;quot;, &amp;quot;20-Mar-25&amp;quot;, &amp;quot;21-Mar-25&amp;quot;, &amp;quot;24-Mar-25&amp;quot;, &amp;quot;25-Mar-25&amp;quot;, &amp;quot;26-Mar-25&amp;quot;, &amp;quot;27-Mar-25&amp;quot;, &amp;quot;28-Mar-25&amp;quot;, &amp;quot;03-Apr-25&amp;quot;, &amp;quot;04-Apr-25&amp;quot;, &amp;quot;07-Apr-25&amp;quot;, &amp;quot;08-Apr-25&amp;quot;, &amp;quot;09-Apr-25&amp;quot;, &amp;quot;10-Apr-25&amp;quot;, &amp;quot;11-Apr-25&amp;quot;, &amp;quot;14-Apr-25&amp;quot;, &amp;quot;15-Apr-25&amp;quot;, &amp;quot;16-Apr-25&amp;quot;, &amp;quot;17-Apr-25&amp;quot;, &amp;quot;18-Apr-25&amp;quot;, &amp;quot;21-Apr-25&amp;quot;, &amp;quot;22-Apr-25&amp;quot;, &amp;quot;23-Apr-25&amp;quot;, &amp;quot;24-Apr-25&amp;quot;, &amp;quot;25-Apr-25&amp;quot;, &amp;quot;28-Apr-25&amp;quot;, &amp;quot;29-Apr-25&amp;quot;, &amp;quot;30-Apr-25&amp;quot;, &amp;quot;02-May-25&amp;quot;, &amp;quot;05-May-25&amp;quot;, &amp;quot;06-May-25&amp;quot;, &amp;quot;07-May-25&amp;quot;, &amp;quot;08-May-25&amp;quot;, &amp;quot;09-May-25&amp;quot;, &amp;quot;12-May-25&amp;quot;, &amp;quot;13-May-25&amp;quot;, &amp;quot;14-May-25&amp;quot;, &amp;quot;15-May-25&amp;quot;, &amp;quot;16-May-25&amp;quot;, &amp;quot;19-May-25&amp;quot;, &amp;quot;20-May-25&amp;quot;, &amp;quot;21-May-25&amp;quot;, &amp;quot;22-May-25&amp;quot;, &amp;quot;23-May-25&amp;quot;, &amp;quot;26-May-25&amp;quot;, &amp;quot;27-May-25&amp;quot;, &amp;quot;29-May-25&amp;quot;, &amp;quot;30-May-25&amp;quot;, &amp;quot;02-Jun-25&amp;quot;, &amp;quot;03-Jun-25&amp;quot;, &amp;quot;04-Jun-25&amp;quot;, &amp;quot;05-Jun-25&amp;quot;, &amp;quot;10-Jun-25&amp;quot;, &amp;quot;11-Jun-25&amp;quot;, &amp;quot;12-Jun-25&amp;quot;, &amp;quot;13-Jun-25&amp;quot;, &amp;quot;16-Jun-25&amp;quot;, &amp;quot;17-Jun-25&amp;quot;, &amp;quot;18-Jun-25&amp;quot;, &amp;quot;19-Jun-25&amp;quot;, &amp;quot;20-Jun-25&amp;quot;, &amp;quot;23-Jun-25&amp;quot;, &amp;quot;24-Jun-25&amp;quot;, &amp;quot;25-Jun-25&amp;quot;, &amp;quot;26-Jun-25&amp;quot;, &amp;quot;27-Jun-25&amp;quot;, &amp;quot;30-Jun-25&amp;quot;, &amp;quot;02-Jul-25&amp;quot;, &amp;quot;03-Jul-25&amp;quot;, &amp;quot;04-Jul-25&amp;quot;, &amp;quot;07-Jul-25&amp;quot;, &amp;quot;08-Jul-25&amp;quot;, &amp;quot;09-Jul-25&amp;quot;, &amp;quot;10-Jul-25&amp;quot;, &amp;quot;11-Jul-25&amp;quot;, &amp;quot;14-Jul-25&amp;quot;, &amp;quot;15-Jul-25&amp;quot;, &amp;quot;16-Jul-25&amp;quot;, &amp;quot;17-Jul-25&amp;quot;, &amp;quot;18-Jul-25&amp;quot;, &amp;quot;21-Jul-25&amp;quot;, &amp;quot;22-Jul-25&amp;quot;, &amp;quot;23-Jul-25&amp;quot;, &amp;quot;24-Jul-25&amp;quot;, &amp;quot;25-Jul-25&amp;quot;, &amp;quot;28-Jul-25&amp;quot;, &amp;quot;29-Jul-25&amp;quot;, &amp;quot;30-Jul-25&amp;quot;, &amp;quot;31-Jul-25&amp;quot;, &amp;quot;01-Aug-25&amp;quot;, &amp;quot;04-Aug-25&amp;quot;, &amp;quot;05-Aug-25&amp;quot;, &amp;quot;06-Aug-25&amp;quot;, &amp;quot;07-Aug-25&amp;quot;, &amp;quot;08-Aug-25&amp;quot;, &amp;quot;11-Aug-25&amp;quot;, &amp;quot;12-Aug-25&amp;quot;, &amp;quot;13-Aug-25&amp;quot;, &amp;quot;15-Aug-25&amp;quot;, &amp;quot;18-Aug-25&amp;quot;, &amp;quot;19-Aug-25&amp;quot;, &amp;quot;20-Aug-25&amp;quot;, &amp;quot;21-Aug-25&amp;quot;, &amp;quot;22-Aug-25&amp;quot;, &amp;quot;25-Aug-25&amp;quot;, &amp;quot;26-Aug-25&amp;quot;, &amp;quot;27-Aug-25&amp;quot;, &amp;quot;28-Aug-25&amp;quot;, &amp;quot;29-Aug-25&amp;quot;, &amp;quot;01-Sep-25&amp;quot;, &amp;quot;02-Sep-25&amp;quot;, &amp;quot;03-Sep-25&amp;quot;, &amp;quot;04-Sep-25&amp;quot;, &amp;quot;05-Sep-25&amp;quot;, &amp;quot;08-Sep-25&amp;quot;, &amp;quot;09-Sep-25&amp;quot;, &amp;quot;10-Sep-25&amp;quot;, &amp;quot;11-Sep-25&amp;quot;, &amp;quot;12-Sep-25&amp;quot;, &amp;quot;15-Sep-25&amp;quot;, &amp;quot;16-Sep-25&amp;quot;, &amp;quot;17-Sep-25&amp;quot;, &amp;quot;18-Sep-25&amp;quot;, &amp;quot;19-Sep-25&amp;quot;, &amp;quot;21-Sep-25&amp;quot;, &amp;quot;22-Sep-25&amp;quot;, &amp;quot;23-Sep-25&amp;quot;, &amp;quot;24-Sep-25&amp;quot;, &amp;quot;25-Sep-25&amp;quot;, &amp;quot;26-Sep-25&amp;quot;, &amp;quot;29-Sep-25&amp;quot;, &amp;quot;30-Sep-25&amp;quot;, &amp;quot;01-Oct-25&amp;quot;, &amp;quot;02-Oct-25&amp;quot;, &amp;quot;03-Oct-25&amp;quot;, &amp;quot;06-Oct-25&amp;quot;, &amp;quot;07-Oct-25&amp;quot;, &amp;quot;08-Oct-25&amp;quot;, &amp;quot;09-Oct-25&amp;quot;, &amp;quot;10-Oct-25&amp;quot;, &amp;quot;13-Oct-25&amp;quot;, &amp;quot;14-Oct-25&amp;quot;, &amp;quot;15-Oct-25&amp;quot;, &amp;quot;16-Oct-25&amp;quot;, &amp;quot;17-Oct-25&amp;quot;, &amp;quot;20-Oct-25&amp;quot;, &amp;quot;21-Oct-25&amp;quot;, &amp;quot;22-Oct-25&amp;quot;, &amp;quot;23-Oct-25&amp;quot;, &amp;quot;24-Oct-25&amp;quot;, &amp;quot;27-Oct-25&amp;quot;, &amp;quot;28-Oct-25&amp;quot;, &amp;quot;29-Oct-25&amp;quot;, &amp;quot;30-Oct-25&amp;quot;, &amp;quot;31-Oct-25&amp;quot;, &amp;quot;03-Nov-25&amp;quot;, &amp;quot;04-Nov-25&amp;quot;, &amp;quot;05-Nov-25&amp;quot;, &amp;quot;06-Nov-25&amp;quot;, &amp;quot;07-Nov-25&amp;quot;, &amp;quot;10-Nov-25&amp;quot;, &amp;quot;11-Nov-25&amp;quot;, &amp;quot;12-Nov-25&amp;quot;, &amp;quot;13-Nov-25&amp;quot;, &amp;quot;14-Nov-25&amp;quot;, &amp;quot;17-Nov-25&amp;quot;, &amp;quot;18-Nov-25&amp;quot;, &amp;quot;19-Nov-25&amp;quot;, &amp;quot;20-Nov-25&amp;quot;, &amp;quot;21-Nov-25&amp;quot;, &amp;quot;24-Nov-25&amp;quot;, &amp;quot;25-Nov-25&amp;quot;, &amp;quot;26-Nov-25&amp;quot;, &amp;quot;27-Nov-25&amp;quot;, &amp;quot;28-Nov-25&amp;quot;, &amp;quot;01-Dec-25&amp;quot;, &amp;quot;02-Dec-25&amp;quot;, &amp;quot;03-Dec-25&amp;quot;, &amp;quot;04-Dec-25&amp;quot;, &amp;quot;05-Dec-25&amp;quot;, &amp;quot;08-Dec-25&amp;quot;, &amp;quot;09-Dec-25&amp;quot;, &amp;quot;10-Dec-25&amp;quot;, &amp;quot;11-Dec-25&amp;quot;, &amp;quot;12-Dec-25&amp;quot;, &amp;quot;15-Dec-25&amp;quot;, &amp;quot;16-Dec-25&amp;quot;, &amp;quot;17-Dec-25&amp;quot;, &amp;quot;18-Dec-25&amp;quot;, &amp;quot;19-Dec-25&amp;quot;, &amp;quot;22-Dec-25&amp;quot;, &amp;quot;23-Dec-25&amp;quot;, &amp;quot;24-Dec-25&amp;quot;, &amp;quot;26-Dec-25&amp;quot;, &amp;quot;29-Dec-25&amp;quot;, &amp;quot;30-Dec-25&amp;quot;, &amp;quot;31-Dec-25&amp;quot;, &amp;quot;02-Jan-26&amp;quot;, &amp;quot;05-Jan-26&amp;quot;, &amp;quot;06-Jan-26&amp;quot;, &amp;quot;07-Jan-26&amp;quot;, &amp;quot;08-Jan-26&amp;quot;, &amp;quot;09-Jan-26&amp;quot;, &amp;quot;12-Jan-26&amp;quot;, &amp;quot;13-Jan-26&amp;quot;, &amp;quot;14-Jan-26&amp;quot;, &amp;quot;15-Jan-26&amp;quot;, &amp;quot;16-Jan-26&amp;quot;, &amp;quot;19-Jan-26&amp;quot;, &amp;quot;20-Jan-26&amp;quot;, &amp;quot;21-Jan-26&amp;quot;, &amp;quot;22-Jan-26&amp;quot;, &amp;quot;23-Jan-26&amp;quot;, &amp;quot;26-Jan-26&amp;quot;, &amp;quot;27-Jan-26&amp;quot;, &amp;quot;28-Jan-26&amp;quot;, &amp;quot;29-Jan-26&amp;quot;, &amp;quot;30-Jan-26&amp;quot;, &amp;quot;02-Feb-26&amp;quot;, &amp;quot;03-Feb-26&amp;quot;, &amp;quot;04-Feb-26&amp;quot;, &amp;quot;06-Feb-26&amp;quot;, &amp;quot;09-Feb-26&amp;quot;, &amp;quot;10-Feb-26&amp;quot;, &amp;quot;11-Feb-26&amp;quot;, &amp;quot;12-Feb-26&amp;quot;, &amp;quot;13-Feb-26&amp;quot;, &amp;quot;16-Feb-26&amp;quot;, &amp;quot;17-Feb-26&amp;quot;, &amp;quot;18-Feb-26&amp;quot;, &amp;quot;20-Feb-26&amp;quot;, &amp;quot;23-Feb-26&amp;quot;, &amp;quot;24-Feb-26&amp;quot;, &amp;quot;25-Feb-26&amp;quot;, &amp;quot;26-Feb-26&amp;quot;, &amp;quot;27-Feb-26&amp;quot;, &amp;quot;02-Mar-26&amp;quot;, &amp;quot;03-Mar-26&amp;quot;, &amp;quot;04-Mar-26&amp;quot;, &amp;quot;05-Mar-26&amp;quot;, &amp;quot;06-Mar-26&amp;quot;, &amp;quot;09-Mar-26&amp;quot;, &amp;quot;10-Mar-26&amp;quot;, &amp;quot;11-Mar-26&amp;quot;, &amp;quot;12-Mar-26&amp;quot;, &amp;quot;13-Mar-26&amp;quot;, &amp;quot;16-Mar-26&amp;quot;, &amp;quot;17-Mar-26&amp;quot;, &amp;quot;18-Mar-26&amp;quot;, &amp;quot;19-Mar-26&amp;quot;, &amp;quot;24-Mar-26&amp;quot;, &amp;quot;25-Mar-26&amp;quot;, &amp;quot;26-Mar-26&amp;quot;, &amp;quot;27-Mar-26&amp;quot;, &amp;quot;30-Mar-26&amp;quot;, &amp;quot;31-Mar-26&amp;quot;, &amp;quot;01-Apr-26&amp;quot;, &amp;quot;02-Apr-26&amp;quot;, &amp;quot;03-Apr-26&amp;quot;, &amp;quot;04-Apr-26&amp;quot;, &amp;quot;06-Apr-26&amp;quot;, &amp;quot;07-Apr-26&amp;quot;, &amp;quot;08-Apr-26&amp;quot;, &amp;quot;09-Apr-26&amp;quot;, &amp;quot;10-Apr-26&amp;quot;, &amp;quot;13-Apr-26&amp;quot;, &amp;quot;14-Apr-26&amp;quot;, &amp;quot;14-Apr-26&amp;quot;, &amp;quot;15-Apr-26&amp;quot;, &amp;quot;16-Apr-26&amp;quot;, &amp;quot;17-Apr-26&amp;quot;, &amp;quot;20-Apr-26&amp;quot;, &amp;quot;21-Apr-26&amp;quot;, &amp;quot;22-Apr-26&amp;quot;, &amp;quot;23-Apr-26&amp;quot;, &amp;quot;24-Apr-26&amp;quot;, &amp;quot;27-Apr-26&amp;quot;, &amp;quot;28-Apr-26&amp;quot;, &amp;quot;29-Apr-26&amp;quot;, &amp;quot;30-Apr-26&amp;quot;, &amp;quot;04-May-26&amp;quot;, &amp;quot;05-May-26&amp;quot;, &amp;quot;06-May-26&amp;quot;, &amp;quot;07-May-26&amp;quot;, &amp;quot;08-May-26&amp;quot;, &amp;quot;11-May-26&amp;quot;, &amp;quot;12-May-26&amp;quot;, &amp;quot;13-May-26&amp;quot;, &amp;quot;14-May-26&amp;quot;, &amp;quot;15-May-26&amp;quot;, &amp;quot;18-May-26&amp;quot;, &amp;quot;19-May-26&amp;quot;, &amp;quot;20-May-26&amp;quot;, &amp;quot;21-May-26&amp;quot;, &amp;quot;22-May-26&amp;quot;, &amp;quot;25-May-26&amp;quot;, &amp;quot;29-May-26&amp;quot;, &amp;quot;01-Jun-26&amp;quot;, &amp;quot;02-Jun-26&amp;quot;, &amp;quot;03-Jun-26&amp;quot;, &amp;quot;04-Jun-26&amp;quot;, &amp;quot;05-Jun-26&amp;quot;, &amp;quot;08-Jun-26&amp;quot;, &amp;quot;09-Jun-26&amp;quot;, &amp;quot;10-Jun-26&amp;quot;, &amp;quot;11-Jun-26&amp;quot;, &amp;quot;12-Jun-26&amp;quot;, &amp;quot;15-Jun-26&amp;quot;, &amp;quot;16-Jun-26&amp;quot;, &amp;quot;17-Jun-26&amp;quot;, &amp;quot;18-Jun-26&amp;quot;, &amp;quot;19-Jun-26&amp;quot;, &amp;quot;22-Jun-26&amp;quot;, &amp;quot;23-Jun-26&amp;quot;, &amp;quot;24-Jun-26&amp;quot;, &amp;quot;29-Jun-26&amp;quot;, &amp;quot;30-Jun-26&amp;quot;, &amp;quot;02-Jul-26&amp;quot;, &amp;quot;03-Jul-26&amp;quot;, &amp;quot;06-Jul-26&amp;quot;, &amp;quot;07-Jul-26&amp;quot;, &amp;quot;08-Jul-26&amp;quot;, &amp;quot;09-Jul-26&amp;quot;, &amp;quot;10-Jul-26&amp;quot;, &amp;quot;13-Jul-26&amp;quot;, &amp;quot;14-Jul-26&amp;quot;, &amp;quot;15-Jul-26&amp;quot;, &amp;quot;16-Jul-26&amp;quot;, &amp;quot;17-Jul-26&amp;quot;, &amp;quot;20-Jul-26&amp;quot;, &amp;quot;21-Jul-26&amp;quot;, &amp;quot;22-Jul-26&amp;quot;, &amp;quot;23-Jul-26&amp;quot;, &amp;quot;24-Jul-26&amp;quot;, &amp;quot;27-Jul-26&amp;quot;, &amp;quot;28-Jul-26&amp;quot;, &amp;quot;29-Jul-26&amp;quot;, &amp;quot;30-Jul-26&amp;quot;, &amp;quot;03-Aug-26&amp;quot;, &amp;quot;04-Aug-26&amp;quot;, &amp;quot;05-Aug-26&amp;quot;, &amp;quot;06-Aug-26&amp;quot;, &amp;quot;07-Aug-26&amp;quot;, &amp;quot;10-Aug-26&amp;quot;, &amp;quot;11-Aug-26&amp;quot;, &amp;quot;12-Aug-26&amp;quot;, &amp;quot;13-Aug-26&amp;quot;, &amp;quot;17-Aug-26&amp;quot;, &amp;quot;18-Aug-26&amp;quot;, &amp;quot;20-Aug-26&amp;quot;, &amp;quot;21-Aug-26&amp;quot;, &amp;quot;24-Aug-26&amp;quot;, &amp;quot;25-Aug-26&amp;quot;, &amp;quot;27-Aug-26&amp;quot;, &amp;quot;28-Aug-26&amp;quot;, &amp;quot;31-Aug-26&amp;quot;, &amp;quot;01-Sep-26&amp;quot;, &amp;quot;02-Sep-26&amp;quot;];
            
            const rawData = [279.77, 279.87, 279.82, 279.97, 280.07, 279.95, 279.97, 280.05, 280.21, 280.17, 280.27, 280.21, 280.22, 280.26, 280.37, 280.42, 280.26, 280.22, 280.16, 280.56, 280.47, 280.57, 280.73, 280.78, 280.56, 280.47, 280.60, 280.57, 280.46, 280.62, 280.72, 280.87, 280.77, 280.97, 281.07, 280.97, 281.07, 281.02, 280.97, 281.06, 281.22, 281.37, 281.47, 281.52, 281.71, 281.57, 281.67, 281.72, 281.61, 281.66, 281.77, 281.92, 281.97, 282.06, 281.97, 282.06, 282.17, 282.07, 282.02, 281.97, 282.12, 282.22, 282.17, 282.21, 282.47, 282.67, 282.96, 283.17, 283.41, 283.55, 283.64, 283.70, 283.87, 283.77, 283.72, 283.67, 283.72, 283.76, 283.95, 283.86, 283.97, 284.22, 284.36, 284.47, 284.56, 284.46, 284.72, 284.67, 284.96, 284.97, 284.87, 284.95, 284.97, 284.76, 284.22, 283.45, 283.21, 283.05, 282.95, 282.87, 282.72, 282.66, 282.57, 282.67, 282.56, 282.47, 282.45, 282.42, 282.22, 282.06, 282.01, 281.96, 281.95, 281.92, 281.90, 281.87, 281.86, 281.83, 281.80, 281.77, 281.75, 281.72, 281.71, 281.67, 281.65, 281.62, 281.61, 281.60, 281.56, 281.55, 281.52, 281.51, 281.50, 281.47, 281.46, 281.45, 281.46, 281.42, 281.43, 281.41, 281.37, 281.35, 281.32, 281.31, 281.27, 281.26, 281.25, 281.22, 281.21, 281.20, 281.17, 281.16, 281.15, 281.12, 281.11, 281.10, 281.07, 281.06, 281.05, 281.03, 281.02, 281.01, 280.97, 280.96, 280.92, 280.91, 280.90, 280.87, 280.86, 280.85, 280.82, 280.81, 280.78, 280.77, 280.76, 280.72, 280.71, 280.67, 280.66, 280.66, 280.65, 280.62, 280.61, 280.57, 280.56, 280.55, 280.52, 280.51, 280.47, 280.46, 280.45, 280.42, 280.41, 280.40, 280.37, 280.36, 280.32, 280.31, 280.30, 280.27, 280.26, 280.25, 280.22, 280.21, 280.20, 280.17, 280.16, 280.15, 280.12, 280.11, 280.10, 280.07, 280.06, 280.05, 280.02, 280.01, 280.00, 279.97, 279.96, 279.95, 279.92, 279.91, 279.90, 279.87, 279.86, 279.85, 279.82, 279.81, 279.80, 279.77, 279.76, 279.75, 279.72, 279.71, 279.70, 279.67, 279.66, 279.65, 279.62, 279.61, 279.60, 279.57, 279.56, 279.55, 279.52, 279.51, 279.50, 279.47, 279.46, 279.45, 279.42, 279.41, 279.40, 279.37, 279.36, 279.35, 279.32, 279.31, 279.30, 279.27, 279.26, 279.25, 279.22, 279.21, 279.20, 279.17, 279.16, 279.15, 279.12, 279.11, 279.10, 279.07, 279.06, 279.05, 279.02, 279.01, 279.00, 278.97, 278.96, 278.95, 278.92, 278.91, 278.90, 278.87, 278.86, 278.85, 278.82, 278.81, 278.80, 278.77, 278.76, 278.75, 278.72, 278.71, 278.70, 278.67, 278.66, 278.65, 278.62, 278.61, 278.60, 278.57, 278.56, 278.55, 278.52, 278.51, 278.50, 278.47, 278.46, 278.45, 278.42, 278.41, 278.40, 278.37, 278.36, 278.35, 278.32, 278.31, 278.30, 278.27, 278.26, 278.25, 278.22, 278.21, 278.20, 278.17, 278.16, 278.15, 278.12, 278.11, 278.10, 278.07, 278.06, 278.05, 278.02, 278.01, 278.00, 277.95, 277.95, 277.92, 277.91, 277.90, 277.87, 277.86, 277.85, 277.82, 277.81, 277.80, 277.77, 277.76, 277.75, 277.72, 277.71, 277.70, 277.67, 277.66, 277.65, 277.62, 277.61, 277.57, 277.56, 277.55, 277.52, 277.51, 277.50, 277.47, 277.46, 277.45];

            const currentExchangeRate = rawData[rawData.length - 1];
            const currentExchangeDate = rawLabels[rawLabels.length - 1];

            // DOM Elements
            const usdInput = document.getElementById(&amp;#039;usdInput&amp;#039;);
            const pkrInput = document.getElementById(&amp;#039;pkrInput&amp;#039;);
            const badgeEl = document.getElementById(&amp;#039;latestBadgeRate&amp;#039;);
            const dateLabelEl = document.getElementById(&amp;#039;latestDateLabel&amp;#039;);

            const statHighEl = document.getElementById(&amp;#039;statHigh&amp;#039;);
            const statLowEl = document.getElementById(&amp;#039;statLow&amp;#039;);
            const statAvgEl = document.getElementById(&amp;#039;statAvg&amp;#039;);
            const statChangeEl = document.getElementById(&amp;#039;statChange&amp;#039;);

            // Format helpers
            const formatCurrency = (val, maxDecimals = 2, minDecimals = 2) =&amp;gt; {
                if (isNaN(val) || val === null) return &amp;#039;--&amp;#039;;
                return val.toLocaleString(&amp;#039;en-US&amp;#039;, {
                    minimumFractionDigits: minDecimals,
                    maximumFractionDigits: maxDecimals
                });
            };

            const parseCurrency = (valStr) =&amp;gt; {
                if (!valStr) return NaN;
                return parseFloat(valStr.toString().replace(/,/g, &amp;#039;&amp;#039;));
            };

            // Set Initial Values in UI
            dateLabelEl.textContent = currentExchangeDate;
            badgeEl.textContent = formatCurrency(currentExchangeRate) + &amp;#039; PKR&amp;#039;;
            pkrInput.value = formatCurrency(currentExchangeRate);

            // Converter Event Listeners
            usdInput.addEventListener(&amp;#039;input&amp;#039;, (e) =&amp;gt; {
                const val = parseCurrency(e.target.value);
                if (isNaN(val)) {
                    pkrInput.value = &amp;#039;&amp;#039;;
                } else {
                    pkrInput.value = formatCurrency(val * currentExchangeRate);
                }
            });

            pkrInput.addEventListener(&amp;#039;input&amp;#039;, (e) =&amp;gt; {
                const val = parseCurrency(e.target.value);
                if (isNaN(val)) {
                    usdInput.value = &amp;#039;&amp;#039;;
                } else {
                    usdInput.value = formatCurrency(val / currentExchangeRate, 4, 2);
                }
            });

            usdInput.addEventListener(&amp;#039;blur&amp;#039;, (e) =&amp;gt; {
                const val = parseCurrency(e.target.value);
                if (!isNaN(val)) {
                    e.target.value = formatCurrency(val, 2, 0);
                }
            });

            pkrInput.addEventListener(&amp;#039;blur&amp;#039;, (e) =&amp;gt; {
                const val = parseCurrency(e.target.value);
                if (!isNaN(val)) {
                    e.target.value = formatCurrency(val, 2, 2);
                }
            });

            const ctx = document.getElementById(&amp;#039;closingRatesChart&amp;#039;).getContext(&amp;#039;2d&amp;#039;);
            
            // Create gradient fill
            const gradient = ctx.createLinearGradient(0, 0, 0, 350);
            gradient.addColorStop(0, &amp;#039;rgba(79, 70, 229, 0.25)&amp;#039;);
            gradient.addColorStop(1, &amp;#039;rgba(79, 70, 229, 0.0)&amp;#039;);

            let chartInstance = new Chart(ctx, {
                type: &amp;#039;line&amp;#039;,
                data: {
                    labels: rawLabels,
                    datasets: [{
                        label: &amp;#039;USD to PKR&amp;#039;,
                        data: rawData,
                        borderColor: &amp;#039;#4f46e5&amp;#039;,
                        borderWidth: 2,
                        backgroundColor: gradient,
                        fill: true,
                        tension: 0.3,
                        pointRadius: 0,
                        pointHoverRadius: 6,
                        pointHoverBackgroundColor: &amp;#039;#4f46e5&amp;#039;,
                        pointHoverBorderColor: &amp;#039;#ffffff&amp;#039;,
                        pointHoverBorderWidth: 2
                    }]
                },
                options: {
                    responsive: true,
                    maintainAspectRatio: false,
                    interaction: {
                        intersect: false,
                        mode: &amp;#039;index&amp;#039;
                    },
                    plugins: {
                        legend: { display: false },
                        tooltip: {
                            backgroundColor: &amp;#039;#0f172a&amp;#039;,
                            titleFont: { family: &amp;#039;Plus Jakarta Sans&amp;#039;, size: 12, weight: &amp;#039;bold&amp;#039; },
                            bodyFont: { family: &amp;#039;Plus Jakarta Sans&amp;#039;, size: 13 },
                            padding: 10,
                            cornerRadius: 8,
                            displayColors: false,
                            callbacks: {
                                label: function(context) {
                                    return &amp;#039;Rate: &amp;#039; + formatCurrency(context.parsed.y) + &amp;#039; PKR&amp;#039;;
                                }
                            }
                        }
                    },
                    scales: {
                        x: {
                            grid: { display: false },
                            ticks: {
                                font: { family: &amp;#039;Plus Jakarta Sans&amp;#039;, size: 11 },
                                color: &amp;#039;#64748b&amp;#039;,
                                maxTicksLimit: 8,
                                maxRotation: 0
                            }
                        },
                        y: {
                            grid: { color: &amp;#039;#f1f5f9&amp;#039; },
                            ticks: {
                                font: { family: &amp;#039;Plus Jakarta Sans&amp;#039;, size: 11 },
                                color: &amp;#039;#64748b&amp;#039;,
                                callback: function(value) {
                                    return value.toFixed(1);
                                }
                            }
                        }
                    }
                }
            });

            function updateRangeStats(labels, data) {
                if (!data || data.length === 0) return;

                const high = Math.max(...data);
                const low = Math.min(...data);
                const avg = data.reduce((a, b) =&amp;gt; a + b, 0) / data.length;
                const startVal = data[0];
                const endVal = data[data.length - 1];
                const change = endVal - startVal;
                const changePct = (change / startVal) * 100;

                statHighEl.textContent = formatCurrency(high);
                statLowEl.textContent = formatCurrency(low);
                statAvgEl.textContent = formatCurrency(avg);

                const sign = change &amp;gt;= 0 ? &amp;#039;+&amp;#039; : &amp;#039;&amp;#039;;
                statChangeEl.textContent = `${sign}${formatCurrency(change)} (${sign}${changePct.toFixed(2)}%)`;
                statChangeEl.style.color = change &amp;gt; 0 ? &amp;#039;#10b981&amp;#039; : (change &amp;lt; 0 ? &amp;#039;#ef4444&amp;#039; : &amp;#039;#64748b&amp;#039;);
            }

            // Timeframe filtering handler
            function setTimeframe(rangeCount) {
                let slicedLabels = rawLabels;
                let slicedData = rawData;

                if (rangeCount !== &amp;#039;all&amp;#039;) {
                    const count = parseInt(rangeCount, 10);
                    slicedLabels = rawLabels.slice(-count);
                    slicedData = rawData.slice(-count);
                }

                chartInstance.data.labels = slicedLabels;
                chartInstance.data.datasets[0].data = slicedData;

                // Adjust Y axis dynamic scaling
                const minVal = Math.min(...slicedData);
                const maxVal = Math.max(...slicedData);
                const padding = (maxVal - minVal) * 0.1 || 1;
                
                chartInstance.options.scales.y.min = Math.floor((minVal - padding) * 10) / 10;
                chartInstance.options.scales.y.max = Math.ceil((maxVal + padding) * 10) / 10;

                chartInstance.update();
                updateRangeStats(slicedLabels, slicedData);
            }

            // Setup timeframe button listeners
            document.querySelectorAll(&amp;#039;#pkr-chart-embed .tf-btn&amp;#039;).forEach(btn =&amp;gt; {
                btn.addEventListener(&amp;#039;click&amp;#039;, (e) =&amp;gt; {
                    document.querySelectorAll(&amp;#039;#pkr-chart-embed .tf-btn&amp;#039;).forEach(b =&amp;gt; b.classList.remove(&amp;#039;active&amp;#039;));
                    e.target.classList.add(&amp;#039;active&amp;#039;);
                    setTimeframe(e.target.getAttribute(&amp;#039;data-range&amp;#039;));
                });
            });

            // Initial range load
            setTimeframe(&amp;#039;all&amp;#039;);
        })();
    &amp;lt;/script&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;
    &amp;lt;script&amp;gt;
        function reportHeight() {
            var h = document.documentElement.scrollHeight;
            window.parent.postMessage({ type: &amp;#039;raw-html-resize&amp;#039;, id: &amp;#039;raw-html-6a9833c4295ec&amp;#039;, height: h }, &amp;#039;*&amp;#039;);
        }
        window.addEventListener(&amp;#039;load&amp;#039;, reportHeight);
        if (window.ResizeObserver) {
            new ResizeObserver(reportHeight).observe(document.body);
        }
    &amp;lt;/script&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;"&gt;&lt;/iframe&gt;
&lt;script&gt;
if (!window._rawHtmlListenerAttached) {
    window._rawHtmlListenerAttached = true;
    window.addEventListener('message', function(event) {
        if (event.data &amp;&amp; event.data.type === 'raw-html-resize' &amp;&amp; event.data.id) {
            var iframe = document.getElementById(event.data.id);
            if (iframe) {
                var height = Math.min(Math.max(event.data.height, 50), 9200);
                iframe.style.height = height + 'px';
            }
        }
    });
}
&lt;/script&gt;
&lt;p&gt;&lt;strong&gt;The Pakistani rupee extended its marginal gains against the US dollar on Wednesday.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The local unit closed the day at 277.45 a gain of Re0.01 against the greenback.&lt;/p&gt;
    &lt;figure class='media  w-full sm:w-full  media--center  media--embed  media--uneven media--tweet' data-original-src='https://x.com/StateBank_Pak/status/2095116636235923913'&gt;
        &lt;div class='media__item  media__item--twitter  '&gt;&lt;span&gt;
    &lt;blockquote class="twitter-tweet" lang="en"&gt;
        &lt;a href="https://twitter.com/StateBank_Pak/status/2095116636235923913"&gt;&lt;/a&gt;
    &lt;/blockquote&gt;
&lt;/span&gt;&lt;/div&gt;
        
    &lt;/figure&gt;
&lt;p&gt;&lt;a href="https://www.brecorder.com/news/40437399/intra-day-update-rupee-records-gain-against-us-dollar"&gt;&lt;u&gt;On Tuesday,&lt;/u&gt;&lt;/a&gt;&lt;u&gt; &lt;/u&gt;the Pakistani rupee settled at 277.46 against the dollar.&lt;/p&gt;
&lt;p&gt;Moreover, the dollar held firm as renewed hostilities in the Middle East pushed oil prices higher and revived inflation concerns.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.brecorder.com/news/amp/40437537"&gt;The dollar index&lt;/a&gt;, which measures the greenback against ​a basket of currencies including the yen and the euro, was at 99.67.&lt;/p&gt;
&lt;p&gt;Furthermore, &lt;a href="https://www.brecorder.com/news/40437536/oil-prices-fall-after-hitting-over-one-month-high-traders-weigh-supply-risks"&gt;oil prices fell on Wednesday&lt;/a&gt;, retreating from more than one-month highs reached earlier in the session, with traders weighing the risk of supply disruptions after overnight strikes by the US and Iran against signs that crude supplies continue ​to reach the market.&lt;/p&gt;
&lt;p&gt;Brent crude futures fell 43 cents to $94.22 a barrel by 1304 GMT ​and US West Texas Intermediate crude futures were down 71 cents, or 0.79%, at $89.51.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Inter-bank market rates for dollar on Wednesday&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;BID Rs 277.45&lt;/p&gt;
&lt;p&gt;OFFER Rs 277.65&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Open-market movement&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;In the open market, the PKR remained unchanged for both buying and selling against USD, closing at 278.33 and 279.18, respectively.&lt;/p&gt;
&lt;p&gt;Against Euro, the PKR gained 52 paise for buying and 54 paise for selling, closing at 321.05 and 324.01, respectively.&lt;/p&gt;
&lt;p&gt;Against UAE Dirham, the PKR remained unchanged for buying and gained 1 paisa for selling, closing at 75.65 and 76.28, respectively.&lt;/p&gt;
&lt;p&gt;Against Saudi Riyal, the PKR remained unchanged for both buying and selling, closing at 73.92 and 74.48, respectively.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Open-market rates for dollar on Wednesday&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;BID Rs 278.33&lt;/p&gt;
&lt;p&gt;OFFER Rs 279.18&lt;/p&gt;
</description>
      <content:encoded xmlns="http://purl.org/rss/1.0/modules/content/"><![CDATA[<iframe id="raw-html-6a9833c4295ec" class="raw-html-embed" style="width: 100%; min-height: 50px; max-height: 9200px; border: none; overflow: hidden;" scrolling="no" srcdoc="&lt;!DOCTYPE html&gt;
&lt;html&gt;
&lt;head&gt;
    &lt;style&gt;
        body { margin: 0; padding: 0; font-family: system-ui, -apple-system, sans-serif; overflow-wrap: anywhere; }
    &lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
    
&lt;!DOCTYPE html&gt;
&lt;html lang=&quot;en&quot;&gt;
&lt;head&gt;
    &lt;meta charset=&quot;UTF-8&quot;&gt;
    &lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1.0&quot;&gt;
    &lt;title&gt;PKR vs USD Exchange Rate Chart&lt;/title&gt;
    &lt;!-- Chart.js for interactive rendering --&gt;
    &lt;script src=&quot;https://cdn.jsdelivr.net/npm/chart.js&quot;&gt;&lt;/script&gt;
    
    &lt;style&gt;
        @import url(&#039;https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght=400;500;600;700&amp;display=swap&#039;);

        #pkr-chart-embed {
            font-family: &#039;Plus Jakarta Sans&#039;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, Roboto, sans-serif;
            max-width: 1000px;
            width: 100%;
            margin: 24px auto;
            background-color: #ffffff;
            border: 1px solid #e2e8f0;
            border-radius: 20px;
            padding: 24px;
            box-shadow: 0 10px 25px -5px rgba(15, 23, 42, 0.05), 0 8px 10px -6px rgba(15, 23, 42, 0.05);
            color: #0f172a;
            box-sizing: border-box;
        }

        #pkr-chart-embed * { box-sizing: border-box; margin: 0; padding: 0; }

        #pkr-chart-embed .chart-header {
            display: flex;
            flex-direction: column;
            gap: 20px;
            margin-bottom: 20px;
            width: 100%;
        }

        #pkr-chart-embed .top-row {
            display: flex;
            flex-direction: row;
            justify-content: space-between;
            align-items: flex-start;
            gap: 20px;
        }

        #pkr-chart-embed .calculator-area {
            display: flex;
            flex-direction: column;
            gap: 8px;
            align-items: flex-start;
        }

        #pkr-chart-embed .main-title {
            font-size: 22px;
            font-weight: 700;
            color: #0f172a;
            letter-spacing: -0.025em;
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            gap: 10px;
        }

        #pkr-chart-embed .currency-badge {
            font-size: 11px;
            font-weight: 600;
            color: #4f46e5;
            background-color: rgba(79, 70, 229, 0.08);
            padding: 3px 10px;
            border-radius: 9999px;
            border: 1px solid rgba(79, 70, 229, 0.15);
            text-transform: uppercase;
        }

        #pkr-chart-embed .calculator-title {
            font-size: 10px;
            font-weight: 700;
            color: #64748b;
            text-transform: uppercase;
            letter-spacing: 0.05em;
        }

        #pkr-chart-embed .converter {
            display: flex;
            align-items: center;
            background: #f8fafc;
            border: 1px solid #e2e8f0;
            border-radius: 12px;
            padding: 4px;
            gap: 6px;
        }

        #pkr-chart-embed .converter-group {
            display: flex;
            align-items: center;
            background: #ffffff;
            border-radius: 8px;
            padding: 6px 10px;
            box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
            border: 1px solid #e2e8f0;
        }

        #pkr-chart-embed .converter-input {
            border: none;
            outline: none;
            width: 90px;
            font-family: inherit;
            font-weight: 700;
            color: #0f172a;
            font-size: 14px;
            text-align: right;
            background: transparent;
        }

        #pkr-chart-embed .converter-input.pkr-field { width: 120px; }

        #pkr-chart-embed .converter-label {
            font-size: 11px;
            font-weight: 700;
            color: #64748b;
            margin-left: 6px;
        }

        #pkr-chart-embed .equals-sign { color: #94a3b8; font-weight: 600; font-size: 16px; }

        #pkr-chart-embed .rate-badge-container {
            display: flex;
            flex-direction: column;
            align-items: flex-end;
            gap: 6px;
        }

        #pkr-chart-embed .rate-label-sub { text-align: right; }
        #pkr-chart-embed .rate-label-sub span:first-child { display: block; font-size: 9px; text-transform: uppercase; font-weight: 700; color: #64748b; }
        #pkr-chart-embed .rate-label-sub span:last-child { display: block; font-size: 12px; color: #334155; font-weight: 600; }

        #pkr-chart-embed .rate-badge {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            background: linear-gradient(135deg, #4f46e5, #3b82f6);
            color: #ffffff;
            font-weight: 700;
            font-size: 14px;
            padding: 8px 14px;
            border-radius: 12px;
            box-shadow: 0 8px 16px -3px rgba(79, 70, 229, 0.25);
        }

        #pkr-chart-embed .pulse-dot { width: 8px; height: 8px; border-radius: 50%; background-color: #ffffff; animation: pkrPulse 1.5s infinite; }

        @keyframes pkrPulse {
            0% { transform: scale(0.95); opacity: 0.6; }
            50% { transform: scale(1.15); opacity: 1; }
            100% { transform: scale(0.95); opacity: 0.6; }
        }

        /* Controls &amp; Stats Toolbar */
        #pkr-chart-embed .toolbar {
            display: flex;
            justify-content: space-between;
            align-items: center;
            flex-wrap: wrap;
            gap: 12px;
            margin-bottom: 16px;
            padding-bottom: 12px;
            border-bottom: 1px solid #f1f5f9;
        }

        #pkr-chart-embed .timeframe-selector {
            display: flex;
            gap: 4px;
            background: #f1f5f9;
            padding: 3px;
            border-radius: 10px;
        }

        #pkr-chart-embed .tf-btn {
            border: none;
            background: transparent;
            font-family: inherit;
            font-size: 12px;
            font-weight: 600;
            color: #64748b;
            padding: 5px 12px;
            border-radius: 7px;
            cursor: pointer;
            transition: all 0.2s ease;
        }

        #pkr-chart-embed .tf-btn.active {
            background: #ffffff;
            color: #4f46e5;
            box-shadow: 0 1px 3px rgba(0,0,0,0.1);
        }

        #pkr-chart-embed .stats-row {
            display: flex;
            gap: 16px;
            flex-wrap: wrap;
        }

        #pkr-chart-embed .stat-item {
            font-size: 12px;
            color: #64748b;
        }

        #pkr-chart-embed .stat-item strong {
            color: #0f172a;
            font-weight: 700;
        }

        #pkr-chart-embed .chart-canvas-container { position: relative; width: 100%; height: 380px; }

        @media (max-width: 768px) {
            #pkr-chart-embed .chart-canvas-container { height: 300px; }
            #pkr-chart-embed .top-row { flex-direction: column; align-items: flex-start; }
            #pkr-chart-embed .rate-badge-container { align-items: flex-start; }
            #pkr-chart-embed .rate-label-sub { text-align: left; }
            #pkr-chart-embed .toolbar { flex-direction: column; align-items: flex-start; }
        }
    &lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
    &lt;div id=&quot;pkr-chart-embed&quot;&gt;
        &lt;div class=&quot;chart-header&quot;&gt;
            &lt;h1 class=&quot;main-title&quot;&gt;
                &lt;span&gt;PKR vs USD Exchange Rate&lt;/span&gt;
                &lt;span class=&quot;currency-badge&quot;&gt;USD / PKR&lt;/span&gt;
            &lt;/h1&gt;

            &lt;div class=&quot;top-row&quot;&gt;
                &lt;div class=&quot;calculator-area&quot;&gt;
                    &lt;span class=&quot;calculator-title&quot;&gt;Calculator&lt;/span&gt;
                    &lt;div class=&quot;converter&quot;&gt;
                        &lt;div class=&quot;converter-group&quot;&gt;
                            &lt;input type=&quot;text&quot; inputmode=&quot;decimal&quot; id=&quot;usdInput&quot; class=&quot;converter-input&quot; value=&quot;1&quot;&gt;
                            &lt;span class=&quot;converter-label&quot;&gt;USD&lt;/span&gt;
                        &lt;/div&gt;
                        &lt;span class=&quot;equals-sign&quot;&gt;=&lt;/span&gt;
                        &lt;div class=&quot;converter-group&quot;&gt;
                            &lt;input type=&quot;text&quot; inputmode=&quot;decimal&quot; id=&quot;pkrInput&quot; class=&quot;converter-input pkr-field&quot; value=&quot;&quot;&gt;
                            &lt;span class=&quot;converter-label&quot;&gt;PKR&lt;/span&gt;
                        &lt;/div&gt;
                    &lt;/div&gt;
                &lt;/div&gt;

                &lt;div class=&quot;rate-badge-container&quot;&gt;
                    &lt;div class=&quot;rate-label-sub&quot;&gt;
                        &lt;span&gt;Latest Closing&lt;/span&gt;
                        &lt;span id=&quot;latestDateLabel&quot;&gt;02-Sep-26&lt;/span&gt;
                    &lt;/div&gt;
                    &lt;div class=&quot;rate-badge&quot;&gt;
                        &lt;span class=&quot;pulse-dot&quot;&gt;&lt;/span&gt;
                        &lt;span id=&quot;latestBadgeRate&quot;&gt;277.45 PKR&lt;/span&gt;
                    &lt;/div&gt;
                &lt;/div&gt;
            &lt;/div&gt;
        &lt;/div&gt;

        &lt;div class=&quot;toolbar&quot;&gt;
            &lt;div class=&quot;timeframe-selector&quot;&gt;
                &lt;button class=&quot;tf-btn&quot; data-range=&quot;30&quot;&gt;1M&lt;/button&gt;
                &lt;button class=&quot;tf-btn&quot; data-range=&quot;90&quot;&gt;3M&lt;/button&gt;
                &lt;button class=&quot;tf-btn&quot; data-range=&quot;180&quot;&gt;6M&lt;/button&gt;
                &lt;button class=&quot;tf-btn&quot; data-range=&quot;365&quot;&gt;1Y&lt;/button&gt;
                &lt;button class=&quot;tf-btn active&quot; data-range=&quot;all&quot;&gt;ALL&lt;/button&gt;
            &lt;/div&gt;

            &lt;div class=&quot;stats-row&quot;&gt;
                &lt;span class=&quot;stat-item&quot;&gt;High: &lt;strong id=&quot;statHigh&quot;&gt;--&lt;/strong&gt;&lt;/span&gt;
                &lt;span class=&quot;stat-item&quot;&gt;Low: &lt;strong id=&quot;statLow&quot;&gt;--&lt;/strong&gt;&lt;/span&gt;
                &lt;span class=&quot;stat-item&quot;&gt;Avg: &lt;strong id=&quot;statAvg&quot;&gt;--&lt;/strong&gt;&lt;/span&gt;
                &lt;span class=&quot;stat-item&quot;&gt;Change: &lt;strong id=&quot;statChange&quot;&gt;--&lt;/strong&gt;&lt;/span&gt;
            &lt;/div&gt;
        &lt;/div&gt;

        &lt;div class=&quot;chart-canvas-container&quot;&gt;
            &lt;canvas id=&quot;closingRatesChart&quot;&gt;&lt;/canvas&gt;
        &lt;/div&gt;
    &lt;/div&gt;

    &lt;script&gt;
        (function() {
            // Full historical closing rate dataset
            const rawLabels = [&quot;04-Mar-25&quot;, &quot;05-Mar-25&quot;, &quot;06-Mar-25&quot;, &quot;07-Mar-25&quot;, &quot;10-Mar-25&quot;, &quot;11-Mar-25&quot;, &quot;12-Mar-25&quot;, &quot;13-Mar-25&quot;, &quot;14-Mar-25&quot;, &quot;17-Mar-25&quot;, &quot;18-Mar-25&quot;, &quot;19-Mar-25&quot;, &quot;20-Mar-25&quot;, &quot;21-Mar-25&quot;, &quot;24-Mar-25&quot;, &quot;25-Mar-25&quot;, &quot;26-Mar-25&quot;, &quot;27-Mar-25&quot;, &quot;28-Mar-25&quot;, &quot;03-Apr-25&quot;, &quot;04-Apr-25&quot;, &quot;07-Apr-25&quot;, &quot;08-Apr-25&quot;, &quot;09-Apr-25&quot;, &quot;10-Apr-25&quot;, &quot;11-Apr-25&quot;, &quot;14-Apr-25&quot;, &quot;15-Apr-25&quot;, &quot;16-Apr-25&quot;, &quot;17-Apr-25&quot;, &quot;18-Apr-25&quot;, &quot;21-Apr-25&quot;, &quot;22-Apr-25&quot;, &quot;23-Apr-25&quot;, &quot;24-Apr-25&quot;, &quot;25-Apr-25&quot;, &quot;28-Apr-25&quot;, &quot;29-Apr-25&quot;, &quot;30-Apr-25&quot;, &quot;02-May-25&quot;, &quot;05-May-25&quot;, &quot;06-May-25&quot;, &quot;07-May-25&quot;, &quot;08-May-25&quot;, &quot;09-May-25&quot;, &quot;12-May-25&quot;, &quot;13-May-25&quot;, &quot;14-May-25&quot;, &quot;15-May-25&quot;, &quot;16-May-25&quot;, &quot;19-May-25&quot;, &quot;20-May-25&quot;, &quot;21-May-25&quot;, &quot;22-May-25&quot;, &quot;23-May-25&quot;, &quot;26-May-25&quot;, &quot;27-May-25&quot;, &quot;29-May-25&quot;, &quot;30-May-25&quot;, &quot;02-Jun-25&quot;, &quot;03-Jun-25&quot;, &quot;04-Jun-25&quot;, &quot;05-Jun-25&quot;, &quot;10-Jun-25&quot;, &quot;11-Jun-25&quot;, &quot;12-Jun-25&quot;, &quot;13-Jun-25&quot;, &quot;16-Jun-25&quot;, &quot;17-Jun-25&quot;, &quot;18-Jun-25&quot;, &quot;19-Jun-25&quot;, &quot;20-Jun-25&quot;, &quot;23-Jun-25&quot;, &quot;24-Jun-25&quot;, &quot;25-Jun-25&quot;, &quot;26-Jun-25&quot;, &quot;27-Jun-25&quot;, &quot;30-Jun-25&quot;, &quot;02-Jul-25&quot;, &quot;03-Jul-25&quot;, &quot;04-Jul-25&quot;, &quot;07-Jul-25&quot;, &quot;08-Jul-25&quot;, &quot;09-Jul-25&quot;, &quot;10-Jul-25&quot;, &quot;11-Jul-25&quot;, &quot;14-Jul-25&quot;, &quot;15-Jul-25&quot;, &quot;16-Jul-25&quot;, &quot;17-Jul-25&quot;, &quot;18-Jul-25&quot;, &quot;21-Jul-25&quot;, &quot;22-Jul-25&quot;, &quot;23-Jul-25&quot;, &quot;24-Jul-25&quot;, &quot;25-Jul-25&quot;, &quot;28-Jul-25&quot;, &quot;29-Jul-25&quot;, &quot;30-Jul-25&quot;, &quot;31-Jul-25&quot;, &quot;01-Aug-25&quot;, &quot;04-Aug-25&quot;, &quot;05-Aug-25&quot;, &quot;06-Aug-25&quot;, &quot;07-Aug-25&quot;, &quot;08-Aug-25&quot;, &quot;11-Aug-25&quot;, &quot;12-Aug-25&quot;, &quot;13-Aug-25&quot;, &quot;15-Aug-25&quot;, &quot;18-Aug-25&quot;, &quot;19-Aug-25&quot;, &quot;20-Aug-25&quot;, &quot;21-Aug-25&quot;, &quot;22-Aug-25&quot;, &quot;25-Aug-25&quot;, &quot;26-Aug-25&quot;, &quot;27-Aug-25&quot;, &quot;28-Aug-25&quot;, &quot;29-Aug-25&quot;, &quot;01-Sep-25&quot;, &quot;02-Sep-25&quot;, &quot;03-Sep-25&quot;, &quot;04-Sep-25&quot;, &quot;05-Sep-25&quot;, &quot;08-Sep-25&quot;, &quot;09-Sep-25&quot;, &quot;10-Sep-25&quot;, &quot;11-Sep-25&quot;, &quot;12-Sep-25&quot;, &quot;15-Sep-25&quot;, &quot;16-Sep-25&quot;, &quot;17-Sep-25&quot;, &quot;18-Sep-25&quot;, &quot;19-Sep-25&quot;, &quot;21-Sep-25&quot;, &quot;22-Sep-25&quot;, &quot;23-Sep-25&quot;, &quot;24-Sep-25&quot;, &quot;25-Sep-25&quot;, &quot;26-Sep-25&quot;, &quot;29-Sep-25&quot;, &quot;30-Sep-25&quot;, &quot;01-Oct-25&quot;, &quot;02-Oct-25&quot;, &quot;03-Oct-25&quot;, &quot;06-Oct-25&quot;, &quot;07-Oct-25&quot;, &quot;08-Oct-25&quot;, &quot;09-Oct-25&quot;, &quot;10-Oct-25&quot;, &quot;13-Oct-25&quot;, &quot;14-Oct-25&quot;, &quot;15-Oct-25&quot;, &quot;16-Oct-25&quot;, &quot;17-Oct-25&quot;, &quot;20-Oct-25&quot;, &quot;21-Oct-25&quot;, &quot;22-Oct-25&quot;, &quot;23-Oct-25&quot;, &quot;24-Oct-25&quot;, &quot;27-Oct-25&quot;, &quot;28-Oct-25&quot;, &quot;29-Oct-25&quot;, &quot;30-Oct-25&quot;, &quot;31-Oct-25&quot;, &quot;03-Nov-25&quot;, &quot;04-Nov-25&quot;, &quot;05-Nov-25&quot;, &quot;06-Nov-25&quot;, &quot;07-Nov-25&quot;, &quot;10-Nov-25&quot;, &quot;11-Nov-25&quot;, &quot;12-Nov-25&quot;, &quot;13-Nov-25&quot;, &quot;14-Nov-25&quot;, &quot;17-Nov-25&quot;, &quot;18-Nov-25&quot;, &quot;19-Nov-25&quot;, &quot;20-Nov-25&quot;, &quot;21-Nov-25&quot;, &quot;24-Nov-25&quot;, &quot;25-Nov-25&quot;, &quot;26-Nov-25&quot;, &quot;27-Nov-25&quot;, &quot;28-Nov-25&quot;, &quot;01-Dec-25&quot;, &quot;02-Dec-25&quot;, &quot;03-Dec-25&quot;, &quot;04-Dec-25&quot;, &quot;05-Dec-25&quot;, &quot;08-Dec-25&quot;, &quot;09-Dec-25&quot;, &quot;10-Dec-25&quot;, &quot;11-Dec-25&quot;, &quot;12-Dec-25&quot;, &quot;15-Dec-25&quot;, &quot;16-Dec-25&quot;, &quot;17-Dec-25&quot;, &quot;18-Dec-25&quot;, &quot;19-Dec-25&quot;, &quot;22-Dec-25&quot;, &quot;23-Dec-25&quot;, &quot;24-Dec-25&quot;, &quot;26-Dec-25&quot;, &quot;29-Dec-25&quot;, &quot;30-Dec-25&quot;, &quot;31-Dec-25&quot;, &quot;02-Jan-26&quot;, &quot;05-Jan-26&quot;, &quot;06-Jan-26&quot;, &quot;07-Jan-26&quot;, &quot;08-Jan-26&quot;, &quot;09-Jan-26&quot;, &quot;12-Jan-26&quot;, &quot;13-Jan-26&quot;, &quot;14-Jan-26&quot;, &quot;15-Jan-26&quot;, &quot;16-Jan-26&quot;, &quot;19-Jan-26&quot;, &quot;20-Jan-26&quot;, &quot;21-Jan-26&quot;, &quot;22-Jan-26&quot;, &quot;23-Jan-26&quot;, &quot;26-Jan-26&quot;, &quot;27-Jan-26&quot;, &quot;28-Jan-26&quot;, &quot;29-Jan-26&quot;, &quot;30-Jan-26&quot;, &quot;02-Feb-26&quot;, &quot;03-Feb-26&quot;, &quot;04-Feb-26&quot;, &quot;06-Feb-26&quot;, &quot;09-Feb-26&quot;, &quot;10-Feb-26&quot;, &quot;11-Feb-26&quot;, &quot;12-Feb-26&quot;, &quot;13-Feb-26&quot;, &quot;16-Feb-26&quot;, &quot;17-Feb-26&quot;, &quot;18-Feb-26&quot;, &quot;20-Feb-26&quot;, &quot;23-Feb-26&quot;, &quot;24-Feb-26&quot;, &quot;25-Feb-26&quot;, &quot;26-Feb-26&quot;, &quot;27-Feb-26&quot;, &quot;02-Mar-26&quot;, &quot;03-Mar-26&quot;, &quot;04-Mar-26&quot;, &quot;05-Mar-26&quot;, &quot;06-Mar-26&quot;, &quot;09-Mar-26&quot;, &quot;10-Mar-26&quot;, &quot;11-Mar-26&quot;, &quot;12-Mar-26&quot;, &quot;13-Mar-26&quot;, &quot;16-Mar-26&quot;, &quot;17-Mar-26&quot;, &quot;18-Mar-26&quot;, &quot;19-Mar-26&quot;, &quot;24-Mar-26&quot;, &quot;25-Mar-26&quot;, &quot;26-Mar-26&quot;, &quot;27-Mar-26&quot;, &quot;30-Mar-26&quot;, &quot;31-Mar-26&quot;, &quot;01-Apr-26&quot;, &quot;02-Apr-26&quot;, &quot;03-Apr-26&quot;, &quot;04-Apr-26&quot;, &quot;06-Apr-26&quot;, &quot;07-Apr-26&quot;, &quot;08-Apr-26&quot;, &quot;09-Apr-26&quot;, &quot;10-Apr-26&quot;, &quot;13-Apr-26&quot;, &quot;14-Apr-26&quot;, &quot;14-Apr-26&quot;, &quot;15-Apr-26&quot;, &quot;16-Apr-26&quot;, &quot;17-Apr-26&quot;, &quot;20-Apr-26&quot;, &quot;21-Apr-26&quot;, &quot;22-Apr-26&quot;, &quot;23-Apr-26&quot;, &quot;24-Apr-26&quot;, &quot;27-Apr-26&quot;, &quot;28-Apr-26&quot;, &quot;29-Apr-26&quot;, &quot;30-Apr-26&quot;, &quot;04-May-26&quot;, &quot;05-May-26&quot;, &quot;06-May-26&quot;, &quot;07-May-26&quot;, &quot;08-May-26&quot;, &quot;11-May-26&quot;, &quot;12-May-26&quot;, &quot;13-May-26&quot;, &quot;14-May-26&quot;, &quot;15-May-26&quot;, &quot;18-May-26&quot;, &quot;19-May-26&quot;, &quot;20-May-26&quot;, &quot;21-May-26&quot;, &quot;22-May-26&quot;, &quot;25-May-26&quot;, &quot;29-May-26&quot;, &quot;01-Jun-26&quot;, &quot;02-Jun-26&quot;, &quot;03-Jun-26&quot;, &quot;04-Jun-26&quot;, &quot;05-Jun-26&quot;, &quot;08-Jun-26&quot;, &quot;09-Jun-26&quot;, &quot;10-Jun-26&quot;, &quot;11-Jun-26&quot;, &quot;12-Jun-26&quot;, &quot;15-Jun-26&quot;, &quot;16-Jun-26&quot;, &quot;17-Jun-26&quot;, &quot;18-Jun-26&quot;, &quot;19-Jun-26&quot;, &quot;22-Jun-26&quot;, &quot;23-Jun-26&quot;, &quot;24-Jun-26&quot;, &quot;29-Jun-26&quot;, &quot;30-Jun-26&quot;, &quot;02-Jul-26&quot;, &quot;03-Jul-26&quot;, &quot;06-Jul-26&quot;, &quot;07-Jul-26&quot;, &quot;08-Jul-26&quot;, &quot;09-Jul-26&quot;, &quot;10-Jul-26&quot;, &quot;13-Jul-26&quot;, &quot;14-Jul-26&quot;, &quot;15-Jul-26&quot;, &quot;16-Jul-26&quot;, &quot;17-Jul-26&quot;, &quot;20-Jul-26&quot;, &quot;21-Jul-26&quot;, &quot;22-Jul-26&quot;, &quot;23-Jul-26&quot;, &quot;24-Jul-26&quot;, &quot;27-Jul-26&quot;, &quot;28-Jul-26&quot;, &quot;29-Jul-26&quot;, &quot;30-Jul-26&quot;, &quot;03-Aug-26&quot;, &quot;04-Aug-26&quot;, &quot;05-Aug-26&quot;, &quot;06-Aug-26&quot;, &quot;07-Aug-26&quot;, &quot;10-Aug-26&quot;, &quot;11-Aug-26&quot;, &quot;12-Aug-26&quot;, &quot;13-Aug-26&quot;, &quot;17-Aug-26&quot;, &quot;18-Aug-26&quot;, &quot;20-Aug-26&quot;, &quot;21-Aug-26&quot;, &quot;24-Aug-26&quot;, &quot;25-Aug-26&quot;, &quot;27-Aug-26&quot;, &quot;28-Aug-26&quot;, &quot;31-Aug-26&quot;, &quot;01-Sep-26&quot;, &quot;02-Sep-26&quot;];
            
            const rawData = [279.77, 279.87, 279.82, 279.97, 280.07, 279.95, 279.97, 280.05, 280.21, 280.17, 280.27, 280.21, 280.22, 280.26, 280.37, 280.42, 280.26, 280.22, 280.16, 280.56, 280.47, 280.57, 280.73, 280.78, 280.56, 280.47, 280.60, 280.57, 280.46, 280.62, 280.72, 280.87, 280.77, 280.97, 281.07, 280.97, 281.07, 281.02, 280.97, 281.06, 281.22, 281.37, 281.47, 281.52, 281.71, 281.57, 281.67, 281.72, 281.61, 281.66, 281.77, 281.92, 281.97, 282.06, 281.97, 282.06, 282.17, 282.07, 282.02, 281.97, 282.12, 282.22, 282.17, 282.21, 282.47, 282.67, 282.96, 283.17, 283.41, 283.55, 283.64, 283.70, 283.87, 283.77, 283.72, 283.67, 283.72, 283.76, 283.95, 283.86, 283.97, 284.22, 284.36, 284.47, 284.56, 284.46, 284.72, 284.67, 284.96, 284.97, 284.87, 284.95, 284.97, 284.76, 284.22, 283.45, 283.21, 283.05, 282.95, 282.87, 282.72, 282.66, 282.57, 282.67, 282.56, 282.47, 282.45, 282.42, 282.22, 282.06, 282.01, 281.96, 281.95, 281.92, 281.90, 281.87, 281.86, 281.83, 281.80, 281.77, 281.75, 281.72, 281.71, 281.67, 281.65, 281.62, 281.61, 281.60, 281.56, 281.55, 281.52, 281.51, 281.50, 281.47, 281.46, 281.45, 281.46, 281.42, 281.43, 281.41, 281.37, 281.35, 281.32, 281.31, 281.27, 281.26, 281.25, 281.22, 281.21, 281.20, 281.17, 281.16, 281.15, 281.12, 281.11, 281.10, 281.07, 281.06, 281.05, 281.03, 281.02, 281.01, 280.97, 280.96, 280.92, 280.91, 280.90, 280.87, 280.86, 280.85, 280.82, 280.81, 280.78, 280.77, 280.76, 280.72, 280.71, 280.67, 280.66, 280.66, 280.65, 280.62, 280.61, 280.57, 280.56, 280.55, 280.52, 280.51, 280.47, 280.46, 280.45, 280.42, 280.41, 280.40, 280.37, 280.36, 280.32, 280.31, 280.30, 280.27, 280.26, 280.25, 280.22, 280.21, 280.20, 280.17, 280.16, 280.15, 280.12, 280.11, 280.10, 280.07, 280.06, 280.05, 280.02, 280.01, 280.00, 279.97, 279.96, 279.95, 279.92, 279.91, 279.90, 279.87, 279.86, 279.85, 279.82, 279.81, 279.80, 279.77, 279.76, 279.75, 279.72, 279.71, 279.70, 279.67, 279.66, 279.65, 279.62, 279.61, 279.60, 279.57, 279.56, 279.55, 279.52, 279.51, 279.50, 279.47, 279.46, 279.45, 279.42, 279.41, 279.40, 279.37, 279.36, 279.35, 279.32, 279.31, 279.30, 279.27, 279.26, 279.25, 279.22, 279.21, 279.20, 279.17, 279.16, 279.15, 279.12, 279.11, 279.10, 279.07, 279.06, 279.05, 279.02, 279.01, 279.00, 278.97, 278.96, 278.95, 278.92, 278.91, 278.90, 278.87, 278.86, 278.85, 278.82, 278.81, 278.80, 278.77, 278.76, 278.75, 278.72, 278.71, 278.70, 278.67, 278.66, 278.65, 278.62, 278.61, 278.60, 278.57, 278.56, 278.55, 278.52, 278.51, 278.50, 278.47, 278.46, 278.45, 278.42, 278.41, 278.40, 278.37, 278.36, 278.35, 278.32, 278.31, 278.30, 278.27, 278.26, 278.25, 278.22, 278.21, 278.20, 278.17, 278.16, 278.15, 278.12, 278.11, 278.10, 278.07, 278.06, 278.05, 278.02, 278.01, 278.00, 277.95, 277.95, 277.92, 277.91, 277.90, 277.87, 277.86, 277.85, 277.82, 277.81, 277.80, 277.77, 277.76, 277.75, 277.72, 277.71, 277.70, 277.67, 277.66, 277.65, 277.62, 277.61, 277.57, 277.56, 277.55, 277.52, 277.51, 277.50, 277.47, 277.46, 277.45];

            const currentExchangeRate = rawData[rawData.length - 1];
            const currentExchangeDate = rawLabels[rawLabels.length - 1];

            // DOM Elements
            const usdInput = document.getElementById(&#039;usdInput&#039;);
            const pkrInput = document.getElementById(&#039;pkrInput&#039;);
            const badgeEl = document.getElementById(&#039;latestBadgeRate&#039;);
            const dateLabelEl = document.getElementById(&#039;latestDateLabel&#039;);

            const statHighEl = document.getElementById(&#039;statHigh&#039;);
            const statLowEl = document.getElementById(&#039;statLow&#039;);
            const statAvgEl = document.getElementById(&#039;statAvg&#039;);
            const statChangeEl = document.getElementById(&#039;statChange&#039;);

            // Format helpers
            const formatCurrency = (val, maxDecimals = 2, minDecimals = 2) =&gt; {
                if (isNaN(val) || val === null) return &#039;--&#039;;
                return val.toLocaleString(&#039;en-US&#039;, {
                    minimumFractionDigits: minDecimals,
                    maximumFractionDigits: maxDecimals
                });
            };

            const parseCurrency = (valStr) =&gt; {
                if (!valStr) return NaN;
                return parseFloat(valStr.toString().replace(/,/g, &#039;&#039;));
            };

            // Set Initial Values in UI
            dateLabelEl.textContent = currentExchangeDate;
            badgeEl.textContent = formatCurrency(currentExchangeRate) + &#039; PKR&#039;;
            pkrInput.value = formatCurrency(currentExchangeRate);

            // Converter Event Listeners
            usdInput.addEventListener(&#039;input&#039;, (e) =&gt; {
                const val = parseCurrency(e.target.value);
                if (isNaN(val)) {
                    pkrInput.value = &#039;&#039;;
                } else {
                    pkrInput.value = formatCurrency(val * currentExchangeRate);
                }
            });

            pkrInput.addEventListener(&#039;input&#039;, (e) =&gt; {
                const val = parseCurrency(e.target.value);
                if (isNaN(val)) {
                    usdInput.value = &#039;&#039;;
                } else {
                    usdInput.value = formatCurrency(val / currentExchangeRate, 4, 2);
                }
            });

            usdInput.addEventListener(&#039;blur&#039;, (e) =&gt; {
                const val = parseCurrency(e.target.value);
                if (!isNaN(val)) {
                    e.target.value = formatCurrency(val, 2, 0);
                }
            });

            pkrInput.addEventListener(&#039;blur&#039;, (e) =&gt; {
                const val = parseCurrency(e.target.value);
                if (!isNaN(val)) {
                    e.target.value = formatCurrency(val, 2, 2);
                }
            });

            const ctx = document.getElementById(&#039;closingRatesChart&#039;).getContext(&#039;2d&#039;);
            
            // Create gradient fill
            const gradient = ctx.createLinearGradient(0, 0, 0, 350);
            gradient.addColorStop(0, &#039;rgba(79, 70, 229, 0.25)&#039;);
            gradient.addColorStop(1, &#039;rgba(79, 70, 229, 0.0)&#039;);

            let chartInstance = new Chart(ctx, {
                type: &#039;line&#039;,
                data: {
                    labels: rawLabels,
                    datasets: [{
                        label: &#039;USD to PKR&#039;,
                        data: rawData,
                        borderColor: &#039;#4f46e5&#039;,
                        borderWidth: 2,
                        backgroundColor: gradient,
                        fill: true,
                        tension: 0.3,
                        pointRadius: 0,
                        pointHoverRadius: 6,
                        pointHoverBackgroundColor: &#039;#4f46e5&#039;,
                        pointHoverBorderColor: &#039;#ffffff&#039;,
                        pointHoverBorderWidth: 2
                    }]
                },
                options: {
                    responsive: true,
                    maintainAspectRatio: false,
                    interaction: {
                        intersect: false,
                        mode: &#039;index&#039;
                    },
                    plugins: {
                        legend: { display: false },
                        tooltip: {
                            backgroundColor: &#039;#0f172a&#039;,
                            titleFont: { family: &#039;Plus Jakarta Sans&#039;, size: 12, weight: &#039;bold&#039; },
                            bodyFont: { family: &#039;Plus Jakarta Sans&#039;, size: 13 },
                            padding: 10,
                            cornerRadius: 8,
                            displayColors: false,
                            callbacks: {
                                label: function(context) {
                                    return &#039;Rate: &#039; + formatCurrency(context.parsed.y) + &#039; PKR&#039;;
                                }
                            }
                        }
                    },
                    scales: {
                        x: {
                            grid: { display: false },
                            ticks: {
                                font: { family: &#039;Plus Jakarta Sans&#039;, size: 11 },
                                color: &#039;#64748b&#039;,
                                maxTicksLimit: 8,
                                maxRotation: 0
                            }
                        },
                        y: {
                            grid: { color: &#039;#f1f5f9&#039; },
                            ticks: {
                                font: { family: &#039;Plus Jakarta Sans&#039;, size: 11 },
                                color: &#039;#64748b&#039;,
                                callback: function(value) {
                                    return value.toFixed(1);
                                }
                            }
                        }
                    }
                }
            });

            function updateRangeStats(labels, data) {
                if (!data || data.length === 0) return;

                const high = Math.max(...data);
                const low = Math.min(...data);
                const avg = data.reduce((a, b) =&gt; a + b, 0) / data.length;
                const startVal = data[0];
                const endVal = data[data.length - 1];
                const change = endVal - startVal;
                const changePct = (change / startVal) * 100;

                statHighEl.textContent = formatCurrency(high);
                statLowEl.textContent = formatCurrency(low);
                statAvgEl.textContent = formatCurrency(avg);

                const sign = change &gt;= 0 ? &#039;+&#039; : &#039;&#039;;
                statChangeEl.textContent = `${sign}${formatCurrency(change)} (${sign}${changePct.toFixed(2)}%)`;
                statChangeEl.style.color = change &gt; 0 ? &#039;#10b981&#039; : (change &lt; 0 ? &#039;#ef4444&#039; : &#039;#64748b&#039;);
            }

            // Timeframe filtering handler
            function setTimeframe(rangeCount) {
                let slicedLabels = rawLabels;
                let slicedData = rawData;

                if (rangeCount !== &#039;all&#039;) {
                    const count = parseInt(rangeCount, 10);
                    slicedLabels = rawLabels.slice(-count);
                    slicedData = rawData.slice(-count);
                }

                chartInstance.data.labels = slicedLabels;
                chartInstance.data.datasets[0].data = slicedData;

                // Adjust Y axis dynamic scaling
                const minVal = Math.min(...slicedData);
                const maxVal = Math.max(...slicedData);
                const padding = (maxVal - minVal) * 0.1 || 1;
                
                chartInstance.options.scales.y.min = Math.floor((minVal - padding) * 10) / 10;
                chartInstance.options.scales.y.max = Math.ceil((maxVal + padding) * 10) / 10;

                chartInstance.update();
                updateRangeStats(slicedLabels, slicedData);
            }

            // Setup timeframe button listeners
            document.querySelectorAll(&#039;#pkr-chart-embed .tf-btn&#039;).forEach(btn =&gt; {
                btn.addEventListener(&#039;click&#039;, (e) =&gt; {
                    document.querySelectorAll(&#039;#pkr-chart-embed .tf-btn&#039;).forEach(b =&gt; b.classList.remove(&#039;active&#039;));
                    e.target.classList.add(&#039;active&#039;);
                    setTimeframe(e.target.getAttribute(&#039;data-range&#039;));
                });
            });

            // Initial range load
            setTimeframe(&#039;all&#039;);
        })();
    &lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;
    &lt;script&gt;
        function reportHeight() {
            var h = document.documentElement.scrollHeight;
            window.parent.postMessage({ type: &#039;raw-html-resize&#039;, id: &#039;raw-html-6a9833c4295ec&#039;, height: h }, &#039;*&#039;);
        }
        window.addEventListener(&#039;load&#039;, reportHeight);
        if (window.ResizeObserver) {
            new ResizeObserver(reportHeight).observe(document.body);
        }
    &lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;"></iframe>
<script>
if (!window._rawHtmlListenerAttached) {
    window._rawHtmlListenerAttached = true;
    window.addEventListener('message', function(event) {
        if (event.data && event.data.type === 'raw-html-resize' && event.data.id) {
            var iframe = document.getElementById(event.data.id);
            if (iframe) {
                var height = Math.min(Math.max(event.data.height, 50), 9200);
                iframe.style.height = height + 'px';
            }
        }
    });
}
</script>
<p><strong>The Pakistani rupee extended its marginal gains against the US dollar on Wednesday.</strong></p>
<p>The local unit closed the day at 277.45 a gain of Re0.01 against the greenback.</p>
    <figure class='media  w-full sm:w-full  media--center  media--embed  media--uneven media--tweet' data-original-src='https://x.com/StateBank_Pak/status/2095116636235923913'>
        <div class='media__item  media__item--twitter  '><span>
    <blockquote class="twitter-tweet" lang="en">
        <a href="https://twitter.com/StateBank_Pak/status/2095116636235923913"></a>
    </blockquote>
</span></div>
        
    </figure>
<p><a href="https://www.brecorder.com/news/40437399/intra-day-update-rupee-records-gain-against-us-dollar"><u>On Tuesday,</u></a><u> </u>the Pakistani rupee settled at 277.46 against the dollar.</p>
<p>Moreover, the dollar held firm as renewed hostilities in the Middle East pushed oil prices higher and revived inflation concerns.</p>
<p><a href="https://www.brecorder.com/news/amp/40437537">The dollar index</a>, which measures the greenback against ​a basket of currencies including the yen and the euro, was at 99.67.</p>
<p>Furthermore, <a href="https://www.brecorder.com/news/40437536/oil-prices-fall-after-hitting-over-one-month-high-traders-weigh-supply-risks">oil prices fell on Wednesday</a>, retreating from more than one-month highs reached earlier in the session, with traders weighing the risk of supply disruptions after overnight strikes by the US and Iran against signs that crude supplies continue ​to reach the market.</p>
<p>Brent crude futures fell 43 cents to $94.22 a barrel by 1304 GMT ​and US West Texas Intermediate crude futures were down 71 cents, or 0.79%, at $89.51.</p>
<p><strong>Inter-bank market rates for dollar on Wednesday</strong></p>
<p>BID Rs 277.45</p>
<p>OFFER Rs 277.65</p>
<p><strong>Open-market movement</strong></p>
<p>In the open market, the PKR remained unchanged for both buying and selling against USD, closing at 278.33 and 279.18, respectively.</p>
<p>Against Euro, the PKR gained 52 paise for buying and 54 paise for selling, closing at 321.05 and 324.01, respectively.</p>
<p>Against UAE Dirham, the PKR remained unchanged for buying and gained 1 paisa for selling, closing at 75.65 and 76.28, respectively.</p>
<p>Against Saudi Riyal, the PKR remained unchanged for both buying and selling, closing at 73.92 and 74.48, respectively.</p>
<p><strong>Open-market rates for dollar on Wednesday</strong></p>
<p>BID Rs 278.33</p>
<p>OFFER Rs 279.18</p>
]]></content:encoded>
      <category>Markets</category>
      <guid>https://www.brecorder.com/news/40437585</guid>
      <pubDate>Wed, 02 Sep 2026 19:33:40 +0500</pubDate>
      <author>none@none.com (Recorder Report)</author>
      <media:content url="https://i.brecorder.com/large/2026/09/021557563954e9b.webp" type="image/webp" medium="image" height="600" width="800">
        <media:thumbnail url="https://i.brecorder.com/thumbnail/2026/09/021557563954e9b.webp"/>
        <media:title/>
      </media:content>
    </item>
    <item xmlns:default="http://purl.org/rss/1.0/modules/content/">
      <title>Pakistan rupee registers gain against US dollar</title>
      <link>https://www.brecorder.com/news/40437399/intra-day-update-rupee-records-gain-against-us-dollar</link>
      <description>&lt;iframe id="raw-html-6a96d93b35ed0" class="raw-html-embed" style="width: 100%; min-height: 50px; max-height: 9200px; border: none; overflow: hidden;" scrolling="no" srcdoc="&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html&amp;gt;
&amp;lt;head&amp;gt;
    &amp;lt;style&amp;gt;
        body { margin: 0; padding: 0; font-family: system-ui, -apple-system, sans-serif; overflow-wrap: anywhere; }
    &amp;lt;/style&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
    
&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html lang=&amp;quot;en&amp;quot;&amp;gt;
&amp;lt;head&amp;gt;
    &amp;lt;meta charset=&amp;quot;UTF-8&amp;quot;&amp;gt;
    &amp;lt;meta name=&amp;quot;viewport&amp;quot; content=&amp;quot;width=device-width, initial-scale=1.0&amp;quot;&amp;gt;
    &amp;lt;title&amp;gt;PKR vs USD Exchange Rate Chart&amp;lt;/title&amp;gt;
    &amp;lt;!-- Chart.js for interactive rendering --&amp;gt;
    &amp;lt;script src=&amp;quot;https://cdn.jsdelivr.net/npm/chart.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;
    
    &amp;lt;style&amp;gt;
        @import url(&amp;#039;https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght=400;500;600;700&amp;amp;display=swap&amp;#039;);

        #pkr-chart-embed {
            font-family: &amp;#039;Plus Jakarta Sans&amp;#039;, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, sans-serif;
            max-width: 1000px;
            width: 100%;
            margin: 24px auto;
            background-color: #ffffff;
            border: 1px solid #e2e8f0;
            border-radius: 20px;
            padding: 24px;
            box-shadow: 0 10px 25px -5px rgba(15, 23, 42, 0.05), 0 8px 10px -6px rgba(15, 23, 42, 0.05);
            color: #0f172a;
            box-sizing: border-box;
        }

        #pkr-chart-embed * { box-sizing: border-box; margin: 0; padding: 0; }

        #pkr-chart-embed .chart-header {
            display: flex;
            flex-direction: column;
            gap: 20px;
            margin-bottom: 20px;
            width: 100%;
        }

        #pkr-chart-embed .top-row {
            display: flex;
            flex-direction: row;
            justify-content: space-between;
            align-items: flex-start;
            gap: 20px;
        }

        #pkr-chart-embed .calculator-area {
            display: flex;
            flex-direction: column;
            gap: 8px;
            align-items: flex-start;
        }

        #pkr-chart-embed .main-title {
            font-size: 22px;
            font-weight: 700;
            color: #0f172a;
            letter-spacing: -0.025em;
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            gap: 10px;
        }

        #pkr-chart-embed .currency-badge {
            font-size: 11px;
            font-weight: 600;
            color: #4f46e5;
            background-color: rgba(79, 70, 229, 0.08);
            padding: 3px 10px;
            border-radius: 9999px;
            border: 1px solid rgba(79, 70, 229, 0.15);
            text-transform: uppercase;
        }

        #pkr-chart-embed .calculator-title {
            font-size: 10px;
            font-weight: 700;
            color: #64748b;
            text-transform: uppercase;
            letter-spacing: 0.05em;
        }

        #pkr-chart-embed .converter {
            display: flex;
            align-items: center;
            background: #f8fafc;
            border: 1px solid #e2e8f0;
            border-radius: 12px;
            padding: 4px;
            gap: 6px;
        }

        #pkr-chart-embed .converter-group {
            display: flex;
            align-items: center;
            background: #ffffff;
            border-radius: 8px;
            padding: 6px 10px;
            box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
            border: 1px solid #e2e8f0;
        }

        #pkr-chart-embed .converter-input {
            border: none;
            outline: none;
            width: 90px;
            font-family: inherit;
            font-weight: 700;
            color: #0f172a;
            font-size: 14px;
            text-align: right;
            background: transparent;
        }

        #pkr-chart-embed .converter-input.pkr-field { width: 120px; }

        #pkr-chart-embed .converter-label {
            font-size: 11px;
            font-weight: 700;
            color: #64748b;
            margin-left: 6px;
        }

        #pkr-chart-embed .equals-sign { color: #94a3b8; font-weight: 600; font-size: 16px; }

        #pkr-chart-embed .rate-badge-container {
            display: flex;
            flex-direction: column;
            align-items: flex-end;
            gap: 6px;
        }

        #pkr-chart-embed .rate-label-sub { text-align: right; }
        #pkr-chart-embed .rate-label-sub span:first-child { display: block; font-size: 9px; text-transform: uppercase; font-weight: 700; color: #64748b; }
        #pkr-chart-embed .rate-label-sub span:last-child { display: block; font-size: 12px; color: #334155; font-weight: 600; }

        #pkr-chart-embed .rate-badge {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            background: linear-gradient(135deg, #4f46e5, #3b82f6);
            color: #ffffff;
            font-weight: 700;
            font-size: 14px;
            padding: 8px 14px;
            border-radius: 12px;
            box-shadow: 0 8px 16px -3px rgba(79, 70, 229, 0.25);
        }

        #pkr-chart-embed .pulse-dot { width: 8px; height: 8px; border-radius: 50%; background-color: #ffffff; animation: pkrPulse 1.5s infinite; }

        @keyframes pkrPulse {
            0% { transform: scale(0.95); opacity: 0.6; }
            50% { transform: scale(1.15); opacity: 1; }
            100% { transform: scale(0.95); opacity: 0.6; }
        }

        /* Controls &amp;amp; Stats Toolbar */
        #pkr-chart-embed .toolbar {
            display: flex;
            justify-content: space-between;
            align-items: center;
            flex-wrap: wrap;
            gap: 12px;
            margin-bottom: 16px;
            padding-bottom: 12px;
            border-bottom: 1px solid #f1f5f9;
        }

        #pkr-chart-embed .timeframe-selector {
            display: flex;
            gap: 4px;
            background: #f1f5f9;
            padding: 3px;
            border-radius: 10px;
        }

        #pkr-chart-embed .tf-btn {
            border: none;
            background: transparent;
            font-family: inherit;
            font-size: 12px;
            font-weight: 600;
            color: #64748b;
            padding: 5px 12px;
            border-radius: 7px;
            cursor: pointer;
            transition: all 0.2s ease;
        }

        #pkr-chart-embed .tf-btn.active {
            background: #ffffff;
            color: #4f46e5;
            box-shadow: 0 1px 3px rgba(0,0,0,0.1);
        }

        #pkr-chart-embed .stats-row {
            display: flex;
            gap: 16px;
            flex-wrap: wrap;
        }

        #pkr-chart-embed .stat-item {
            font-size: 12px;
            color: #64748b;
        }

        #pkr-chart-embed .stat-item strong {
            color: #0f172a;
            font-weight: 700;
        }

        #pkr-chart-embed .chart-canvas-container { position: relative; width: 100%; height: 380px; }

        @media (max-width: 768px) {
            #pkr-chart-embed .chart-canvas-container { height: 300px; }
            #pkr-chart-embed .top-row { flex-direction: column; align-items: flex-start; }
            #pkr-chart-embed .rate-badge-container { align-items: flex-start; }
            #pkr-chart-embed .rate-label-sub { text-align: left; }
            #pkr-chart-embed .toolbar { flex-direction: column; align-items: flex-start; }
        }
    &amp;lt;/style&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
    &amp;lt;div id=&amp;quot;pkr-chart-embed&amp;quot;&amp;gt;
        &amp;lt;div class=&amp;quot;chart-header&amp;quot;&amp;gt;
            &amp;lt;h1 class=&amp;quot;main-title&amp;quot;&amp;gt;
                &amp;lt;span&amp;gt;PKR vs USD Exchange Rate&amp;lt;/span&amp;gt;
                &amp;lt;span class=&amp;quot;currency-badge&amp;quot;&amp;gt;USD / PKR&amp;lt;/span&amp;gt;
            &amp;lt;/h1&amp;gt;

            &amp;lt;div class=&amp;quot;top-row&amp;quot;&amp;gt;
                &amp;lt;div class=&amp;quot;calculator-area&amp;quot;&amp;gt;
                    &amp;lt;span class=&amp;quot;calculator-title&amp;quot;&amp;gt;Calculator&amp;lt;/span&amp;gt;
                    &amp;lt;div class=&amp;quot;converter&amp;quot;&amp;gt;
                        &amp;lt;div class=&amp;quot;converter-group&amp;quot;&amp;gt;
                            &amp;lt;input type=&amp;quot;text&amp;quot; inputmode=&amp;quot;decimal&amp;quot; id=&amp;quot;usdInput&amp;quot; class=&amp;quot;converter-input&amp;quot; value=&amp;quot;1&amp;quot;&amp;gt;
                            &amp;lt;span class=&amp;quot;converter-label&amp;quot;&amp;gt;USD&amp;lt;/span&amp;gt;
                        &amp;lt;/div&amp;gt;
                        &amp;lt;span class=&amp;quot;equals-sign&amp;quot;&amp;gt;=&amp;lt;/span&amp;gt;
                        &amp;lt;div class=&amp;quot;converter-group&amp;quot;&amp;gt;
                            &amp;lt;input type=&amp;quot;text&amp;quot; inputmode=&amp;quot;decimal&amp;quot; id=&amp;quot;pkrInput&amp;quot; class=&amp;quot;converter-input pkr-field&amp;quot; value=&amp;quot;&amp;quot;&amp;gt;
                            &amp;lt;span class=&amp;quot;converter-label&amp;quot;&amp;gt;PKR&amp;lt;/span&amp;gt;
                        &amp;lt;/div&amp;gt;
                    &amp;lt;/div&amp;gt;
                &amp;lt;/div&amp;gt;

                &amp;lt;div class=&amp;quot;rate-badge-container&amp;quot;&amp;gt;
                    &amp;lt;div class=&amp;quot;rate-label-sub&amp;quot;&amp;gt;
                        &amp;lt;span&amp;gt;Latest Closing&amp;lt;/span&amp;gt;
                        &amp;lt;span id=&amp;quot;latestDateLabel&amp;quot;&amp;gt;01-Sep-26&amp;lt;/span&amp;gt;
                    &amp;lt;/div&amp;gt;
                    &amp;lt;div class=&amp;quot;rate-badge&amp;quot;&amp;gt;
                        &amp;lt;span class=&amp;quot;pulse-dot&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;
                        &amp;lt;span id=&amp;quot;latestBadgeRate&amp;quot;&amp;gt;277.46 PKR&amp;lt;/span&amp;gt;
                    &amp;lt;/div&amp;gt;
                &amp;lt;/div&amp;gt;
            &amp;lt;/div&amp;gt;
        &amp;lt;/div&amp;gt;

        &amp;lt;div class=&amp;quot;toolbar&amp;quot;&amp;gt;
            &amp;lt;div class=&amp;quot;timeframe-selector&amp;quot;&amp;gt;
                &amp;lt;button class=&amp;quot;tf-btn&amp;quot; data-range=&amp;quot;30&amp;quot;&amp;gt;1M&amp;lt;/button&amp;gt;
                &amp;lt;button class=&amp;quot;tf-btn&amp;quot; data-range=&amp;quot;90&amp;quot;&amp;gt;3M&amp;lt;/button&amp;gt;
                &amp;lt;button class=&amp;quot;tf-btn&amp;quot; data-range=&amp;quot;180&amp;quot;&amp;gt;6M&amp;lt;/button&amp;gt;
                &amp;lt;button class=&amp;quot;tf-btn&amp;quot; data-range=&amp;quot;365&amp;quot;&amp;gt;1Y&amp;lt;/button&amp;gt;
                &amp;lt;button class=&amp;quot;tf-btn active&amp;quot; data-range=&amp;quot;all&amp;quot;&amp;gt;ALL&amp;lt;/button&amp;gt;
            &amp;lt;/div&amp;gt;

            &amp;lt;div class=&amp;quot;stats-row&amp;quot;&amp;gt;
                &amp;lt;span class=&amp;quot;stat-item&amp;quot;&amp;gt;High: &amp;lt;strong id=&amp;quot;statHigh&amp;quot;&amp;gt;--&amp;lt;/strong&amp;gt;&amp;lt;/span&amp;gt;
                &amp;lt;span class=&amp;quot;stat-item&amp;quot;&amp;gt;Low: &amp;lt;strong id=&amp;quot;statLow&amp;quot;&amp;gt;--&amp;lt;/strong&amp;gt;&amp;lt;/span&amp;gt;
                &amp;lt;span class=&amp;quot;stat-item&amp;quot;&amp;gt;Avg: &amp;lt;strong id=&amp;quot;statAvg&amp;quot;&amp;gt;--&amp;lt;/strong&amp;gt;&amp;lt;/span&amp;gt;
                &amp;lt;span class=&amp;quot;stat-item&amp;quot;&amp;gt;Change: &amp;lt;strong id=&amp;quot;statChange&amp;quot;&amp;gt;--&amp;lt;/strong&amp;gt;&amp;lt;/span&amp;gt;
            &amp;lt;/div&amp;gt;
        &amp;lt;/div&amp;gt;

        &amp;lt;div class=&amp;quot;chart-canvas-container&amp;quot;&amp;gt;
            &amp;lt;canvas id=&amp;quot;closingRatesChart&amp;quot;&amp;gt;&amp;lt;/canvas&amp;gt;
        &amp;lt;/div&amp;gt;
    &amp;lt;/div&amp;gt;

    &amp;lt;script&amp;gt;
        (function() {
            // Full historical closing rate dataset
            const rawLabels = [&amp;quot;04-Mar-25&amp;quot;, &amp;quot;05-Mar-25&amp;quot;, &amp;quot;06-Mar-25&amp;quot;, &amp;quot;07-Mar-25&amp;quot;, &amp;quot;10-Mar-25&amp;quot;, &amp;quot;11-Mar-25&amp;quot;, &amp;quot;12-Mar-25&amp;quot;, &amp;quot;13-Mar-25&amp;quot;, &amp;quot;14-Mar-25&amp;quot;, &amp;quot;17-Mar-25&amp;quot;, &amp;quot;18-Mar-25&amp;quot;, &amp;quot;19-Mar-25&amp;quot;, &amp;quot;20-Mar-25&amp;quot;, &amp;quot;21-Mar-25&amp;quot;, &amp;quot;24-Mar-25&amp;quot;, &amp;quot;25-Mar-25&amp;quot;, &amp;quot;26-Mar-25&amp;quot;, &amp;quot;27-Mar-25&amp;quot;, &amp;quot;28-Mar-25&amp;quot;, &amp;quot;03-Apr-25&amp;quot;, &amp;quot;04-Apr-25&amp;quot;, &amp;quot;07-Apr-25&amp;quot;, &amp;quot;08-Apr-25&amp;quot;, &amp;quot;09-Apr-25&amp;quot;, &amp;quot;10-Apr-25&amp;quot;, &amp;quot;11-Apr-25&amp;quot;, &amp;quot;14-Apr-25&amp;quot;, &amp;quot;15-Apr-25&amp;quot;, &amp;quot;16-Apr-25&amp;quot;, &amp;quot;17-Apr-25&amp;quot;, &amp;quot;18-Apr-25&amp;quot;, &amp;quot;21-Apr-25&amp;quot;, &amp;quot;22-Apr-25&amp;quot;, &amp;quot;23-Apr-25&amp;quot;, &amp;quot;24-Apr-25&amp;quot;, &amp;quot;25-Apr-25&amp;quot;, &amp;quot;28-Apr-25&amp;quot;, &amp;quot;29-Apr-25&amp;quot;, &amp;quot;30-Apr-25&amp;quot;, &amp;quot;02-May-25&amp;quot;, &amp;quot;05-May-25&amp;quot;, &amp;quot;06-May-25&amp;quot;, &amp;quot;07-May-25&amp;quot;, &amp;quot;08-May-25&amp;quot;, &amp;quot;09-May-25&amp;quot;, &amp;quot;12-May-25&amp;quot;, &amp;quot;13-May-25&amp;quot;, &amp;quot;14-May-25&amp;quot;, &amp;quot;15-May-25&amp;quot;, &amp;quot;16-May-25&amp;quot;, &amp;quot;19-May-25&amp;quot;, &amp;quot;20-May-25&amp;quot;, &amp;quot;21-May-25&amp;quot;, &amp;quot;22-May-25&amp;quot;, &amp;quot;23-May-25&amp;quot;, &amp;quot;26-May-25&amp;quot;, &amp;quot;27-May-25&amp;quot;, &amp;quot;29-May-25&amp;quot;, &amp;quot;30-May-25&amp;quot;, &amp;quot;02-Jun-25&amp;quot;, &amp;quot;03-Jun-25&amp;quot;, &amp;quot;04-Jun-25&amp;quot;, &amp;quot;05-Jun-25&amp;quot;, &amp;quot;10-Jun-25&amp;quot;, &amp;quot;11-Jun-25&amp;quot;, &amp;quot;12-Jun-25&amp;quot;, &amp;quot;13-Jun-25&amp;quot;, &amp;quot;16-Jun-25&amp;quot;, &amp;quot;17-Jun-25&amp;quot;, &amp;quot;18-Jun-25&amp;quot;, &amp;quot;19-Jun-25&amp;quot;, &amp;quot;20-Jun-25&amp;quot;, &amp;quot;23-Jun-25&amp;quot;, &amp;quot;24-Jun-25&amp;quot;, &amp;quot;25-Jun-25&amp;quot;, &amp;quot;26-Jun-25&amp;quot;, &amp;quot;27-Jun-25&amp;quot;, &amp;quot;30-Jun-25&amp;quot;, &amp;quot;02-Jul-25&amp;quot;, &amp;quot;03-Jul-25&amp;quot;, &amp;quot;04-Jul-25&amp;quot;, &amp;quot;07-Jul-25&amp;quot;, &amp;quot;08-Jul-25&amp;quot;, &amp;quot;09-Jul-25&amp;quot;, &amp;quot;10-Jul-25&amp;quot;, &amp;quot;11-Jul-25&amp;quot;, &amp;quot;14-Jul-25&amp;quot;, &amp;quot;15-Jul-25&amp;quot;, &amp;quot;16-Jul-25&amp;quot;, &amp;quot;17-Jul-25&amp;quot;, &amp;quot;18-Jul-25&amp;quot;, &amp;quot;21-Jul-25&amp;quot;, &amp;quot;22-Jul-25&amp;quot;, &amp;quot;23-Jul-25&amp;quot;, &amp;quot;24-Jul-25&amp;quot;, &amp;quot;25-Jul-25&amp;quot;, &amp;quot;28-Jul-25&amp;quot;, &amp;quot;29-Jul-25&amp;quot;, &amp;quot;30-Jul-25&amp;quot;, &amp;quot;31-Jul-25&amp;quot;, &amp;quot;01-Aug-25&amp;quot;, &amp;quot;04-Aug-25&amp;quot;, &amp;quot;05-Aug-25&amp;quot;, &amp;quot;06-Aug-25&amp;quot;, &amp;quot;07-Aug-25&amp;quot;, &amp;quot;08-Aug-25&amp;quot;, &amp;quot;11-Aug-25&amp;quot;, &amp;quot;12-Aug-25&amp;quot;, &amp;quot;13-Aug-25&amp;quot;, &amp;quot;15-Aug-25&amp;quot;, &amp;quot;18-Aug-25&amp;quot;, &amp;quot;19-Aug-25&amp;quot;, &amp;quot;20-Aug-25&amp;quot;, &amp;quot;21-Aug-25&amp;quot;, &amp;quot;22-Aug-25&amp;quot;, &amp;quot;25-Aug-25&amp;quot;, &amp;quot;26-Aug-25&amp;quot;, &amp;quot;27-Aug-25&amp;quot;, &amp;quot;28-Aug-25&amp;quot;, &amp;quot;29-Aug-25&amp;quot;, &amp;quot;01-Sep-25&amp;quot;, &amp;quot;02-Sep-25&amp;quot;, &amp;quot;03-Sep-25&amp;quot;, &amp;quot;04-Sep-25&amp;quot;, &amp;quot;05-Sep-25&amp;quot;, &amp;quot;08-Sep-25&amp;quot;, &amp;quot;09-Sep-25&amp;quot;, &amp;quot;10-Sep-25&amp;quot;, &amp;quot;11-Sep-25&amp;quot;, &amp;quot;12-Sep-25&amp;quot;, &amp;quot;15-Sep-25&amp;quot;, &amp;quot;16-Sep-25&amp;quot;, &amp;quot;17-Sep-25&amp;quot;, &amp;quot;18-Sep-25&amp;quot;, &amp;quot;19-Sep-25&amp;quot;, &amp;quot;21-Sep-25&amp;quot;, &amp;quot;22-Sep-25&amp;quot;, &amp;quot;23-Sep-25&amp;quot;, &amp;quot;24-Sep-25&amp;quot;, &amp;quot;25-Sep-25&amp;quot;, &amp;quot;26-Sep-25&amp;quot;, &amp;quot;29-Sep-25&amp;quot;, &amp;quot;30-Sep-25&amp;quot;, &amp;quot;01-Oct-25&amp;quot;, &amp;quot;02-Oct-25&amp;quot;, &amp;quot;03-Oct-25&amp;quot;, &amp;quot;06-Oct-25&amp;quot;, &amp;quot;07-Oct-25&amp;quot;, &amp;quot;08-Oct-25&amp;quot;, &amp;quot;09-Oct-25&amp;quot;, &amp;quot;10-Oct-25&amp;quot;, &amp;quot;13-Oct-25&amp;quot;, &amp;quot;14-Oct-25&amp;quot;, &amp;quot;15-Oct-25&amp;quot;, &amp;quot;16-Oct-25&amp;quot;, &amp;quot;17-Oct-25&amp;quot;, &amp;quot;20-Oct-25&amp;quot;, &amp;quot;21-Oct-25&amp;quot;, &amp;quot;22-Oct-25&amp;quot;, &amp;quot;23-Oct-25&amp;quot;, &amp;quot;24-Oct-25&amp;quot;, &amp;quot;27-Oct-25&amp;quot;, &amp;quot;28-Oct-25&amp;quot;, &amp;quot;29-Oct-25&amp;quot;, &amp;quot;30-Oct-25&amp;quot;, &amp;quot;31-Oct-25&amp;quot;, &amp;quot;03-Nov-25&amp;quot;, &amp;quot;04-Nov-25&amp;quot;, &amp;quot;05-Nov-25&amp;quot;, &amp;quot;06-Nov-25&amp;quot;, &amp;quot;07-Nov-25&amp;quot;, &amp;quot;10-Nov-25&amp;quot;, &amp;quot;11-Nov-25&amp;quot;, &amp;quot;12-Nov-25&amp;quot;, &amp;quot;13-Nov-25&amp;quot;, &amp;quot;14-Nov-25&amp;quot;, &amp;quot;17-Nov-25&amp;quot;, &amp;quot;18-Nov-25&amp;quot;, &amp;quot;19-Nov-25&amp;quot;, &amp;quot;20-Nov-25&amp;quot;, &amp;quot;21-Nov-25&amp;quot;, &amp;quot;24-Nov-25&amp;quot;, &amp;quot;25-Nov-25&amp;quot;, &amp;quot;26-Nov-25&amp;quot;, &amp;quot;27-Nov-25&amp;quot;, &amp;quot;28-Nov-25&amp;quot;, &amp;quot;01-Dec-25&amp;quot;, &amp;quot;02-Dec-25&amp;quot;, &amp;quot;03-Dec-25&amp;quot;, &amp;quot;04-Dec-25&amp;quot;, &amp;quot;05-Dec-25&amp;quot;, &amp;quot;08-Dec-25&amp;quot;, &amp;quot;09-Dec-25&amp;quot;, &amp;quot;10-Dec-25&amp;quot;, &amp;quot;11-Dec-25&amp;quot;, &amp;quot;12-Dec-25&amp;quot;, &amp;quot;15-Dec-25&amp;quot;, &amp;quot;16-Dec-25&amp;quot;, &amp;quot;17-Dec-25&amp;quot;, &amp;quot;18-Dec-25&amp;quot;, &amp;quot;19-Dec-25&amp;quot;, &amp;quot;22-Dec-25&amp;quot;, &amp;quot;23-Dec-25&amp;quot;, &amp;quot;24-Dec-25&amp;quot;, &amp;quot;26-Dec-25&amp;quot;, &amp;quot;29-Dec-25&amp;quot;, &amp;quot;30-Dec-25&amp;quot;, &amp;quot;31-Dec-25&amp;quot;, &amp;quot;02-Jan-26&amp;quot;, &amp;quot;05-Jan-26&amp;quot;, &amp;quot;06-Jan-26&amp;quot;, &amp;quot;07-Jan-26&amp;quot;, &amp;quot;08-Jan-26&amp;quot;, &amp;quot;09-Jan-26&amp;quot;, &amp;quot;12-Jan-26&amp;quot;, &amp;quot;13-Jan-26&amp;quot;, &amp;quot;14-Jan-26&amp;quot;, &amp;quot;15-Jan-26&amp;quot;, &amp;quot;16-Jan-26&amp;quot;, &amp;quot;19-Jan-26&amp;quot;, &amp;quot;20-Jan-26&amp;quot;, &amp;quot;21-Jan-26&amp;quot;, &amp;quot;22-Jan-26&amp;quot;, &amp;quot;23-Jan-26&amp;quot;, &amp;quot;26-Jan-26&amp;quot;, &amp;quot;27-Jan-26&amp;quot;, &amp;quot;28-Jan-26&amp;quot;, &amp;quot;29-Jan-26&amp;quot;, &amp;quot;30-Jan-26&amp;quot;, &amp;quot;02-Feb-26&amp;quot;, &amp;quot;03-Feb-26&amp;quot;, &amp;quot;04-Feb-26&amp;quot;, &amp;quot;06-Feb-26&amp;quot;, &amp;quot;09-Feb-26&amp;quot;, &amp;quot;10-Feb-26&amp;quot;, &amp;quot;11-Feb-26&amp;quot;, &amp;quot;12-Feb-26&amp;quot;, &amp;quot;13-Feb-26&amp;quot;, &amp;quot;16-Feb-26&amp;quot;, &amp;quot;17-Feb-26&amp;quot;, &amp;quot;18-Feb-26&amp;quot;, &amp;quot;20-Feb-26&amp;quot;, &amp;quot;23-Feb-26&amp;quot;, &amp;quot;24-Feb-26&amp;quot;, &amp;quot;25-Feb-26&amp;quot;, &amp;quot;26-Feb-26&amp;quot;, &amp;quot;27-Feb-26&amp;quot;, &amp;quot;02-Mar-26&amp;quot;, &amp;quot;03-Mar-26&amp;quot;, &amp;quot;04-Mar-26&amp;quot;, &amp;quot;05-Mar-26&amp;quot;, &amp;quot;06-Mar-26&amp;quot;, &amp;quot;09-Mar-26&amp;quot;, &amp;quot;10-Mar-26&amp;quot;, &amp;quot;11-Mar-26&amp;quot;, &amp;quot;12-Mar-26&amp;quot;, &amp;quot;13-Mar-26&amp;quot;, &amp;quot;16-Mar-26&amp;quot;, &amp;quot;17-Mar-26&amp;quot;, &amp;quot;18-Mar-26&amp;quot;, &amp;quot;19-Mar-26&amp;quot;, &amp;quot;24-Mar-26&amp;quot;, &amp;quot;25-Mar-26&amp;quot;, &amp;quot;26-Mar-26&amp;quot;, &amp;quot;27-Mar-26&amp;quot;, &amp;quot;30-Mar-26&amp;quot;, &amp;quot;31-Mar-26&amp;quot;, &amp;quot;01-Apr-26&amp;quot;, &amp;quot;02-Apr-26&amp;quot;, &amp;quot;03-Apr-26&amp;quot;, &amp;quot;04-Apr-26&amp;quot;, &amp;quot;06-Apr-26&amp;quot;, &amp;quot;07-Apr-26&amp;quot;, &amp;quot;08-Apr-26&amp;quot;, &amp;quot;09-Apr-26&amp;quot;, &amp;quot;10-Apr-26&amp;quot;, &amp;quot;13-Apr-26&amp;quot;, &amp;quot;14-Apr-26&amp;quot;, &amp;quot;14-Apr-26&amp;quot;, &amp;quot;15-Apr-26&amp;quot;, &amp;quot;16-Apr-26&amp;quot;, &amp;quot;17-Apr-26&amp;quot;, &amp;quot;20-Apr-26&amp;quot;, &amp;quot;21-Apr-26&amp;quot;, &amp;quot;22-Apr-26&amp;quot;, &amp;quot;23-Apr-26&amp;quot;, &amp;quot;24-Apr-26&amp;quot;, &amp;quot;27-Apr-26&amp;quot;, &amp;quot;28-Apr-26&amp;quot;, &amp;quot;29-Apr-26&amp;quot;, &amp;quot;30-Apr-26&amp;quot;, &amp;quot;04-May-26&amp;quot;, &amp;quot;05-May-26&amp;quot;, &amp;quot;06-May-26&amp;quot;, &amp;quot;07-May-26&amp;quot;, &amp;quot;08-May-26&amp;quot;, &amp;quot;11-May-26&amp;quot;, &amp;quot;12-May-26&amp;quot;, &amp;quot;13-May-26&amp;quot;, &amp;quot;14-May-26&amp;quot;, &amp;quot;15-May-26&amp;quot;, &amp;quot;18-May-26&amp;quot;, &amp;quot;19-May-26&amp;quot;, &amp;quot;20-May-26&amp;quot;, &amp;quot;21-May-26&amp;quot;, &amp;quot;22-May-26&amp;quot;, &amp;quot;25-May-26&amp;quot;, &amp;quot;29-May-26&amp;quot;, &amp;quot;01-Jun-26&amp;quot;, &amp;quot;02-Jun-26&amp;quot;, &amp;quot;03-Jun-26&amp;quot;, &amp;quot;04-Jun-26&amp;quot;, &amp;quot;05-Jun-26&amp;quot;, &amp;quot;08-Jun-26&amp;quot;, &amp;quot;09-Jun-26&amp;quot;, &amp;quot;10-Jun-26&amp;quot;, &amp;quot;11-Jun-26&amp;quot;, &amp;quot;12-Jun-26&amp;quot;, &amp;quot;15-Jun-26&amp;quot;, &amp;quot;16-Jun-26&amp;quot;, &amp;quot;17-Jun-26&amp;quot;, &amp;quot;18-Jun-26&amp;quot;, &amp;quot;19-Jun-26&amp;quot;, &amp;quot;22-Jun-26&amp;quot;, &amp;quot;23-Jun-26&amp;quot;, &amp;quot;24-Jun-26&amp;quot;, &amp;quot;29-Jun-26&amp;quot;, &amp;quot;30-Jun-26&amp;quot;, &amp;quot;02-Jul-26&amp;quot;, &amp;quot;03-Jul-26&amp;quot;, &amp;quot;06-Jul-26&amp;quot;, &amp;quot;07-Jul-26&amp;quot;, &amp;quot;08-Jul-26&amp;quot;, &amp;quot;09-Jul-26&amp;quot;, &amp;quot;10-Jul-26&amp;quot;, &amp;quot;13-Jul-26&amp;quot;, &amp;quot;14-Jul-26&amp;quot;, &amp;quot;15-Jul-26&amp;quot;, &amp;quot;16-Jul-26&amp;quot;, &amp;quot;17-Jul-26&amp;quot;, &amp;quot;20-Jul-26&amp;quot;, &amp;quot;21-Jul-26&amp;quot;, &amp;quot;22-Jul-26&amp;quot;, &amp;quot;23-Jul-26&amp;quot;, &amp;quot;24-Jul-26&amp;quot;, &amp;quot;27-Jul-26&amp;quot;, &amp;quot;28-Jul-26&amp;quot;, &amp;quot;29-Jul-26&amp;quot;, &amp;quot;30-Jul-26&amp;quot;, &amp;quot;03-Aug-26&amp;quot;, &amp;quot;04-Aug-26&amp;quot;, &amp;quot;05-Aug-26&amp;quot;, &amp;quot;06-Aug-26&amp;quot;, &amp;quot;07-Aug-26&amp;quot;, &amp;quot;10-Aug-26&amp;quot;, &amp;quot;11-Aug-26&amp;quot;, &amp;quot;12-Aug-26&amp;quot;, &amp;quot;13-Aug-26&amp;quot;, &amp;quot;17-Aug-26&amp;quot;, &amp;quot;18-Aug-26&amp;quot;, &amp;quot;20-Aug-26&amp;quot;, &amp;quot;21-Aug-26&amp;quot;, &amp;quot;24-Aug-26&amp;quot;, &amp;quot;25-Aug-26&amp;quot;, &amp;quot;27-Aug-26&amp;quot;, &amp;quot;28-Aug-26&amp;quot;, &amp;quot;31-Aug-26&amp;quot;, &amp;quot;01-Sep-26&amp;quot;];
            
            const rawData = [279.77, 279.87, 279.82, 279.97, 280.07, 279.95, 279.97, 280.05, 280.21, 280.17, 280.27, 280.21, 280.22, 280.26, 280.37, 280.42, 280.26, 280.22, 280.16, 280.56, 280.47, 280.57, 280.73, 280.78, 280.56, 280.47, 280.60, 280.57, 280.46, 280.62, 280.72, 280.87, 280.77, 280.97, 281.07, 280.97, 281.07, 281.02, 280.97, 281.06, 281.22, 281.37, 281.47, 281.52, 281.71, 281.57, 281.67, 281.72, 281.61, 281.66, 281.77, 281.92, 281.97, 282.06, 281.97, 282.06, 282.17, 282.07, 282.02, 281.97, 282.12, 282.22, 282.17, 282.21, 282.47, 282.67, 282.96, 283.17, 283.41, 283.55, 283.64, 283.70, 283.87, 283.77, 283.72, 283.67, 283.72, 283.76, 283.95, 283.86, 283.97, 284.22, 284.36, 284.47, 284.56, 284.46, 284.72, 284.67, 284.96, 284.97, 284.87, 284.95, 284.97, 284.76, 284.22, 283.45, 283.21, 283.05, 282.95, 282.87, 282.72, 282.66, 282.57, 282.67, 282.56, 282.47, 282.45, 282.42, 282.22, 282.06, 282.01, 281.96, 281.95, 281.92, 281.90, 281.87, 281.86, 281.83, 281.80, 281.77, 281.75, 281.72, 281.71, 281.67, 281.65, 281.62, 281.61, 281.60, 281.56, 281.55, 281.52, 281.51, 281.50, 281.47, 281.46, 281.45, 281.46, 281.42, 281.43, 281.41, 281.37, 281.35, 281.32, 281.31, 281.27, 281.26, 281.25, 281.22, 281.21, 281.20, 281.17, 281.16, 281.15, 281.12, 281.11, 281.10, 281.07, 281.06, 281.05, 281.03, 281.02, 281.01, 280.97, 280.96, 280.92, 280.91, 280.90, 280.87, 280.86, 280.85, 280.82, 280.81, 280.78, 280.77, 280.76, 280.72, 280.71, 280.67, 280.66, 280.66, 280.65, 280.62, 280.61, 280.57, 280.56, 280.55, 280.52, 280.51, 280.47, 280.46, 280.45, 280.42, 280.41, 280.40, 280.37, 280.36, 280.32, 280.31, 280.30, 280.27, 280.26, 280.25, 280.22, 280.21, 280.20, 280.17, 280.16, 280.15, 280.12, 280.11, 280.10, 280.07, 280.06, 280.05, 280.02, 280.01, 280.00, 279.97, 279.96, 279.95, 279.92, 279.91, 279.90, 279.87, 279.86, 279.85, 279.82, 279.81, 279.80, 279.77, 279.76, 279.75, 279.72, 279.71, 279.70, 279.67, 279.66, 279.65, 279.62, 279.61, 279.60, 279.57, 279.56, 279.55, 279.52, 279.51, 279.50, 279.47, 279.46, 279.45, 279.42, 279.41, 279.40, 279.37, 279.36, 279.35, 279.32, 279.31, 279.30, 279.27, 279.26, 279.25, 279.22, 279.21, 279.20, 279.17, 279.16, 279.15, 279.12, 279.11, 279.10, 279.07, 279.06, 279.05, 279.02, 279.01, 279.00, 278.97, 278.96, 278.95, 278.92, 278.91, 278.90, 278.87, 278.86, 278.85, 278.82, 278.81, 278.80, 278.77, 278.76, 278.75, 278.72, 278.71, 278.70, 278.67, 278.66, 278.65, 278.62, 278.61, 278.60, 278.57, 278.56, 278.55, 278.52, 278.51, 278.50, 278.47, 278.46, 278.45, 278.42, 278.41, 278.40, 278.37, 278.36, 278.35, 278.32, 278.31, 278.30, 278.27, 278.26, 278.25, 278.22, 278.21, 278.20, 278.17, 278.16, 278.15, 278.12, 278.11, 278.10, 278.07, 278.06, 278.05, 278.02, 278.01, 278.00, 277.95, 277.95, 277.92, 277.91, 277.90, 277.87, 277.86, 277.85, 277.82, 277.81, 277.80, 277.77, 277.76, 277.75, 277.72, 277.71, 277.70, 277.67, 277.66, 277.65, 277.62, 277.61, 277.57, 277.56, 277.55, 277.52, 277.51, 277.50, 277.47, 277.46];

            const currentExchangeRate = rawData[rawData.length - 1];
            const currentExchangeDate = rawLabels[rawLabels.length - 1];

            // DOM Elements
            const usdInput = document.getElementById(&amp;#039;usdInput&amp;#039;);
            const pkrInput = document.getElementById(&amp;#039;pkrInput&amp;#039;);
            const badgeEl = document.getElementById(&amp;#039;latestBadgeRate&amp;#039;);
            const dateLabelEl = document.getElementById(&amp;#039;latestDateLabel&amp;#039;);

            const statHighEl = document.getElementById(&amp;#039;statHigh&amp;#039;);
            const statLowEl = document.getElementById(&amp;#039;statLow&amp;#039;);
            const statAvgEl = document.getElementById(&amp;#039;statAvg&amp;#039;);
            const statChangeEl = document.getElementById(&amp;#039;statChange&amp;#039;);

            // Format helpers
            const formatCurrency = (val, maxDecimals = 2, minDecimals = 2) =&amp;gt; {
                if (isNaN(val) || val === null) return &amp;#039;--&amp;#039;;
                return val.toLocaleString(&amp;#039;en-US&amp;#039;, {
                    minimumFractionDigits: minDecimals,
                    maximumFractionDigits: maxDecimals
                });
            };

            const parseCurrency = (valStr) =&amp;gt; {
                if (!valStr) return NaN;
                return parseFloat(valStr.toString().replace(/,/g, &amp;#039;&amp;#039;));
            };

            // Set Initial Values in UI
            dateLabelEl.textContent = currentExchangeDate;
            badgeEl.textContent = formatCurrency(currentExchangeRate) + &amp;#039; PKR&amp;#039;;
            pkrInput.value = formatCurrency(currentExchangeRate);

            // Converter Event Listeners
            usdInput.addEventListener(&amp;#039;input&amp;#039;, (e) =&amp;gt; {
                const val = parseCurrency(e.target.value);
                if (isNaN(val)) {
                    pkrInput.value = &amp;#039;&amp;#039;;
                } else {
                    pkrInput.value = formatCurrency(val * currentExchangeRate);
                }
            });

            pkrInput.addEventListener(&amp;#039;input&amp;#039;, (e) =&amp;gt; {
                const val = parseCurrency(e.target.value);
                if (isNaN(val)) {
                    usdInput.value = &amp;#039;&amp;#039;;
                } else {
                    usdInput.value = formatCurrency(val / currentExchangeRate, 4, 2);
                }
            });

            usdInput.addEventListener(&amp;#039;blur&amp;#039;, (e) =&amp;gt; {
                const val = parseCurrency(e.target.value);
                if (!isNaN(val)) {
                    e.target.value = formatCurrency(val, 2, 0);
                }
            });

            pkrInput.addEventListener(&amp;#039;blur&amp;#039;, (e) =&amp;gt; {
                const val = parseCurrency(e.target.value);
                if (!isNaN(val)) {
                    e.target.value = formatCurrency(val, 2, 2);
                }
            });

            const ctx = document.getElementById(&amp;#039;closingRatesChart&amp;#039;).getContext(&amp;#039;2d&amp;#039;);
            
            // Create gradient fill
            const gradient = ctx.createLinearGradient(0, 0, 0, 350);
            gradient.addColorStop(0, &amp;#039;rgba(79, 70, 229, 0.25)&amp;#039;);
            gradient.addColorStop(1, &amp;#039;rgba(79, 70, 229, 0.0)&amp;#039;);

            let chartInstance = new Chart(ctx, {
                type: &amp;#039;line&amp;#039;,
                data: {
                    labels: rawLabels,
                    datasets: [{
                        label: &amp;#039;USD to PKR&amp;#039;,
                        data: rawData,
                        borderColor: &amp;#039;#4f46e5&amp;#039;,
                        borderWidth: 2,
                        backgroundColor: gradient,
                        fill: true,
                        tension: 0.3,
                        pointRadius: 0,
                        pointHoverRadius: 6,
                        pointHoverBackgroundColor: &amp;#039;#4f46e5&amp;#039;,
                        pointHoverBorderColor: &amp;#039;#ffffff&amp;#039;,
                        pointHoverBorderWidth: 2
                    }]
                },
                options: {
                    responsive: true,
                    maintainAspectRatio: false,
                    interaction: {
                        intersect: false,
                        mode: &amp;#039;index&amp;#039;
                    },
                    plugins: {
                        legend: { display: false },
                        tooltip: {
                            backgroundColor: &amp;#039;#0f172a&amp;#039;,
                            titleFont: { family: &amp;#039;Plus Jakarta Sans&amp;#039;, size: 12, weight: &amp;#039;bold&amp;#039; },
                            bodyFont: { family: &amp;#039;Plus Jakarta Sans&amp;#039;, size: 13 },
                            padding: 10,
                            cornerRadius: 8,
                            displayColors: false,
                            callbacks: {
                                label: function(context) {
                                    return &amp;#039;Rate: &amp;#039; + formatCurrency(context.parsed.y) + &amp;#039; PKR&amp;#039;;
                                }
                            }
                        }
                    },
                    scales: {
                        x: {
                            grid: { display: false },
                            ticks: {
                                font: { family: &amp;#039;Plus Jakarta Sans&amp;#039;, size: 11 },
                                color: &amp;#039;#64748b&amp;#039;,
                                maxTicksLimit: 8,
                                maxRotation: 0
                            }
                        },
                        y: {
                            grid: { color: &amp;#039;#f1f5f9&amp;#039; },
                            ticks: {
                                font: { family: &amp;#039;Plus Jakarta Sans&amp;#039;, size: 11 },
                                color: &amp;#039;#64748b&amp;#039;,
                                callback: function(value) {
                                    return value.toFixed(1);
                                }
                            }
                        }
                    }
                }
            });

            function updateRangeStats(labels, data) {
                if (!data || data.length === 0) return;

                const high = Math.max(...data);
                const low = Math.min(...data);
                const avg = data.reduce((a, b) =&amp;gt; a + b, 0) / data.length;
                const startVal = data[0];
                const endVal = data[data.length - 1];
                const change = endVal - startVal;
                const changePct = (change / startVal) * 100;

                statHighEl.textContent = formatCurrency(high);
                statLowEl.textContent = formatCurrency(low);
                statAvgEl.textContent = formatCurrency(avg);

                const sign = change &amp;gt;= 0 ? &amp;#039;+&amp;#039; : &amp;#039;&amp;#039;;
                statChangeEl.textContent = `${sign}${formatCurrency(change)} (${sign}${changePct.toFixed(2)}%)`;
                statChangeEl.style.color = change &amp;gt; 0 ? &amp;#039;#10b981&amp;#039; : (change &amp;lt; 0 ? &amp;#039;#ef4444&amp;#039; : &amp;#039;#64748b&amp;#039;);
            }

            // Timeframe filtering handler
            function setTimeframe(rangeCount) {
                let slicedLabels = rawLabels;
                let slicedData = rawData;

                if (rangeCount !== &amp;#039;all&amp;#039;) {
                    const count = parseInt(rangeCount, 10);
                    slicedLabels = rawLabels.slice(-count);
                    slicedData = rawData.slice(-count);
                }

                chartInstance.data.labels = slicedLabels;
                chartInstance.data.datasets[0].data = slicedData;

                // Adjust Y axis dynamic scaling
                const minVal = Math.min(...slicedData);
                const maxVal = Math.max(...slicedData);
                const padding = (maxVal - minVal) * 0.1 || 1;
                
                chartInstance.options.scales.y.min = Math.floor((minVal - padding) * 10) / 10;
                chartInstance.options.scales.y.max = Math.ceil((maxVal + padding) * 10) / 10;

                chartInstance.update();
                updateRangeStats(slicedLabels, slicedData);
            }

            // Setup timeframe button listeners
            document.querySelectorAll(&amp;#039;#pkr-chart-embed .tf-btn&amp;#039;).forEach(btn =&amp;gt; {
                btn.addEventListener(&amp;#039;click&amp;#039;, (e) =&amp;gt; {
                    document.querySelectorAll(&amp;#039;#pkr-chart-embed .tf-btn&amp;#039;).forEach(b =&amp;gt; b.classList.remove(&amp;#039;active&amp;#039;));
                    e.target.classList.add(&amp;#039;active&amp;#039;);
                    setTimeframe(e.target.getAttribute(&amp;#039;data-range&amp;#039;));
                });
            });

            // Initial range load
            setTimeframe(&amp;#039;all&amp;#039;);
        })();
    &amp;lt;/script&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;
    &amp;lt;script&amp;gt;
        function reportHeight() {
            var h = document.documentElement.scrollHeight;
            window.parent.postMessage({ type: &amp;#039;raw-html-resize&amp;#039;, id: &amp;#039;raw-html-6a96d93b35ed0&amp;#039;, height: h }, &amp;#039;*&amp;#039;);
        }
        window.addEventListener(&amp;#039;load&amp;#039;, reportHeight);
        if (window.ResizeObserver) {
            new ResizeObserver(reportHeight).observe(document.body);
        }
    &amp;lt;/script&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;"&gt;&lt;/iframe&gt;
&lt;script&gt;
if (!window._rawHtmlListenerAttached) {
    window._rawHtmlListenerAttached = true;
    window.addEventListener('message', function(event) {
        if (event.data &amp;&amp; event.data.type === 'raw-html-resize' &amp;&amp; event.data.id) {
            var iframe = document.getElementById(event.data.id);
            if (iframe) {
                var height = Math.min(Math.max(event.data.height, 50), 9200);
                iframe.style.height = height + 'px';
            }
        }
    });
}
&lt;/script&gt;
&lt;p&gt;&lt;strong&gt;The Pakistani rupee extended its marginal gains against the US dollar on Tuesday.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The local unit closed the day at 277.46, a gain of Re0.01 against the greenback.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.brecorder.com/news/40437227"&gt;On Monday&lt;/a&gt;&lt;u&gt;, &lt;/u&gt;the Pakistani rupee settled at 277.47 against the dollar.&lt;/p&gt;
    &lt;figure class='media  w-full sm:w-full  media--center  media--embed  media--uneven media--tweet' data-original-src='https://x.com/StateBank_Pak/status/2094754818279833889'&gt;
        &lt;div class='media__item  media__item--twitter  '&gt;&lt;span&gt;
    &lt;blockquote class="twitter-tweet" lang="en"&gt;
        &lt;a href="https://twitter.com/StateBank_Pak/status/2094754818279833889"&gt;&lt;/a&gt;
    &lt;/blockquote&gt;
&lt;/span&gt;&lt;/div&gt;
        
    &lt;/figure&gt;
&lt;p&gt;Meanwhile, the yen steadied near the 160-per-dollar level on Tuesday.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.brecorder.com/news/40437355/yen-hangs-near-160-amid-boj-rate-hike-bets-dollar-wobbles"&gt;The U.S. dollar&lt;/a&gt; was subdued, backing away from Friday’s gains as investors contended with rising odds of a hike from the Federal Reserve in September after last week’s hawkish remarks from Fed Chairman Kevin Warsh.&lt;/p&gt;
&lt;p&gt;The euro was steady at $1.1623 after eking out a nearly 1% gain for August. Sterling last fetched $1.35575 after a 0.5% rise last month.&lt;/p&gt;
&lt;p&gt;The dollar index , which measures the ​US currency against six other units, ​eased to 99.37.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.brecorder.com/news/40437359/oil-up-around-2-as-renewed-us-iran-strikes-stoke-supply-fears"&gt;Oil ‌prices rose by around&lt;/a&gt; 2% on Tuesday as the resumption of fighting between the United States and Iran in the Middle East renewed fears of supply disruptions from the world’s key crude-producing region.&lt;/p&gt;
&lt;p&gt;Brent crude futures were up $1.72, or 1.9%, to $92.21 a ​barrel at 1046 GMT, while US West Texas Intermediate crude was up $2.12, or 2.47%, to $87.88.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Inter-bank market rates for dollar on Tuesday&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;BID Rs 277.46&lt;/p&gt;
&lt;p&gt;OFFER Rs 277.66&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Open-market movement&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;In the open market, the PKR gained 2 paise for buying and 3 paise for selling against USD, closing at 278.33 and 279.18, respectively.&lt;/p&gt;
&lt;p&gt;Against Euro, the PKR lost 16 paise for buying and 17 paise for selling, closing at 321.57 and 324.55, respectively.&lt;/p&gt;
&lt;p&gt;Against UAE Dirham, the PKR gained 1 paisa for buying and remained unchanged for selling, closing at 75.65 and 76.29, respectively.&lt;/p&gt;
&lt;p&gt;Against Saudi Riyal, the PKR gained 2 paise for buying and remained unchanged for selling, closing at 73.92 and 74.48, respectively.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Open-market rates for dollar on Tuesday&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;BID Rs 278.33&lt;/p&gt;
&lt;p&gt;OFFER Rs 279.18&lt;/p&gt;
</description>
      <content:encoded xmlns="http://purl.org/rss/1.0/modules/content/"><![CDATA[<iframe id="raw-html-6a96d93b35ed0" class="raw-html-embed" style="width: 100%; min-height: 50px; max-height: 9200px; border: none; overflow: hidden;" scrolling="no" srcdoc="&lt;!DOCTYPE html&gt;
&lt;html&gt;
&lt;head&gt;
    &lt;style&gt;
        body { margin: 0; padding: 0; font-family: system-ui, -apple-system, sans-serif; overflow-wrap: anywhere; }
    &lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
    
&lt;!DOCTYPE html&gt;
&lt;html lang=&quot;en&quot;&gt;
&lt;head&gt;
    &lt;meta charset=&quot;UTF-8&quot;&gt;
    &lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1.0&quot;&gt;
    &lt;title&gt;PKR vs USD Exchange Rate Chart&lt;/title&gt;
    &lt;!-- Chart.js for interactive rendering --&gt;
    &lt;script src=&quot;https://cdn.jsdelivr.net/npm/chart.js&quot;&gt;&lt;/script&gt;
    
    &lt;style&gt;
        @import url(&#039;https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght=400;500;600;700&amp;display=swap&#039;);

        #pkr-chart-embed {
            font-family: &#039;Plus Jakarta Sans&#039;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, Roboto, sans-serif;
            max-width: 1000px;
            width: 100%;
            margin: 24px auto;
            background-color: #ffffff;
            border: 1px solid #e2e8f0;
            border-radius: 20px;
            padding: 24px;
            box-shadow: 0 10px 25px -5px rgba(15, 23, 42, 0.05), 0 8px 10px -6px rgba(15, 23, 42, 0.05);
            color: #0f172a;
            box-sizing: border-box;
        }

        #pkr-chart-embed * { box-sizing: border-box; margin: 0; padding: 0; }

        #pkr-chart-embed .chart-header {
            display: flex;
            flex-direction: column;
            gap: 20px;
            margin-bottom: 20px;
            width: 100%;
        }

        #pkr-chart-embed .top-row {
            display: flex;
            flex-direction: row;
            justify-content: space-between;
            align-items: flex-start;
            gap: 20px;
        }

        #pkr-chart-embed .calculator-area {
            display: flex;
            flex-direction: column;
            gap: 8px;
            align-items: flex-start;
        }

        #pkr-chart-embed .main-title {
            font-size: 22px;
            font-weight: 700;
            color: #0f172a;
            letter-spacing: -0.025em;
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            gap: 10px;
        }

        #pkr-chart-embed .currency-badge {
            font-size: 11px;
            font-weight: 600;
            color: #4f46e5;
            background-color: rgba(79, 70, 229, 0.08);
            padding: 3px 10px;
            border-radius: 9999px;
            border: 1px solid rgba(79, 70, 229, 0.15);
            text-transform: uppercase;
        }

        #pkr-chart-embed .calculator-title {
            font-size: 10px;
            font-weight: 700;
            color: #64748b;
            text-transform: uppercase;
            letter-spacing: 0.05em;
        }

        #pkr-chart-embed .converter {
            display: flex;
            align-items: center;
            background: #f8fafc;
            border: 1px solid #e2e8f0;
            border-radius: 12px;
            padding: 4px;
            gap: 6px;
        }

        #pkr-chart-embed .converter-group {
            display: flex;
            align-items: center;
            background: #ffffff;
            border-radius: 8px;
            padding: 6px 10px;
            box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
            border: 1px solid #e2e8f0;
        }

        #pkr-chart-embed .converter-input {
            border: none;
            outline: none;
            width: 90px;
            font-family: inherit;
            font-weight: 700;
            color: #0f172a;
            font-size: 14px;
            text-align: right;
            background: transparent;
        }

        #pkr-chart-embed .converter-input.pkr-field { width: 120px; }

        #pkr-chart-embed .converter-label {
            font-size: 11px;
            font-weight: 700;
            color: #64748b;
            margin-left: 6px;
        }

        #pkr-chart-embed .equals-sign { color: #94a3b8; font-weight: 600; font-size: 16px; }

        #pkr-chart-embed .rate-badge-container {
            display: flex;
            flex-direction: column;
            align-items: flex-end;
            gap: 6px;
        }

        #pkr-chart-embed .rate-label-sub { text-align: right; }
        #pkr-chart-embed .rate-label-sub span:first-child { display: block; font-size: 9px; text-transform: uppercase; font-weight: 700; color: #64748b; }
        #pkr-chart-embed .rate-label-sub span:last-child { display: block; font-size: 12px; color: #334155; font-weight: 600; }

        #pkr-chart-embed .rate-badge {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            background: linear-gradient(135deg, #4f46e5, #3b82f6);
            color: #ffffff;
            font-weight: 700;
            font-size: 14px;
            padding: 8px 14px;
            border-radius: 12px;
            box-shadow: 0 8px 16px -3px rgba(79, 70, 229, 0.25);
        }

        #pkr-chart-embed .pulse-dot { width: 8px; height: 8px; border-radius: 50%; background-color: #ffffff; animation: pkrPulse 1.5s infinite; }

        @keyframes pkrPulse {
            0% { transform: scale(0.95); opacity: 0.6; }
            50% { transform: scale(1.15); opacity: 1; }
            100% { transform: scale(0.95); opacity: 0.6; }
        }

        /* Controls &amp; Stats Toolbar */
        #pkr-chart-embed .toolbar {
            display: flex;
            justify-content: space-between;
            align-items: center;
            flex-wrap: wrap;
            gap: 12px;
            margin-bottom: 16px;
            padding-bottom: 12px;
            border-bottom: 1px solid #f1f5f9;
        }

        #pkr-chart-embed .timeframe-selector {
            display: flex;
            gap: 4px;
            background: #f1f5f9;
            padding: 3px;
            border-radius: 10px;
        }

        #pkr-chart-embed .tf-btn {
            border: none;
            background: transparent;
            font-family: inherit;
            font-size: 12px;
            font-weight: 600;
            color: #64748b;
            padding: 5px 12px;
            border-radius: 7px;
            cursor: pointer;
            transition: all 0.2s ease;
        }

        #pkr-chart-embed .tf-btn.active {
            background: #ffffff;
            color: #4f46e5;
            box-shadow: 0 1px 3px rgba(0,0,0,0.1);
        }

        #pkr-chart-embed .stats-row {
            display: flex;
            gap: 16px;
            flex-wrap: wrap;
        }

        #pkr-chart-embed .stat-item {
            font-size: 12px;
            color: #64748b;
        }

        #pkr-chart-embed .stat-item strong {
            color: #0f172a;
            font-weight: 700;
        }

        #pkr-chart-embed .chart-canvas-container { position: relative; width: 100%; height: 380px; }

        @media (max-width: 768px) {
            #pkr-chart-embed .chart-canvas-container { height: 300px; }
            #pkr-chart-embed .top-row { flex-direction: column; align-items: flex-start; }
            #pkr-chart-embed .rate-badge-container { align-items: flex-start; }
            #pkr-chart-embed .rate-label-sub { text-align: left; }
            #pkr-chart-embed .toolbar { flex-direction: column; align-items: flex-start; }
        }
    &lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
    &lt;div id=&quot;pkr-chart-embed&quot;&gt;
        &lt;div class=&quot;chart-header&quot;&gt;
            &lt;h1 class=&quot;main-title&quot;&gt;
                &lt;span&gt;PKR vs USD Exchange Rate&lt;/span&gt;
                &lt;span class=&quot;currency-badge&quot;&gt;USD / PKR&lt;/span&gt;
            &lt;/h1&gt;

            &lt;div class=&quot;top-row&quot;&gt;
                &lt;div class=&quot;calculator-area&quot;&gt;
                    &lt;span class=&quot;calculator-title&quot;&gt;Calculator&lt;/span&gt;
                    &lt;div class=&quot;converter&quot;&gt;
                        &lt;div class=&quot;converter-group&quot;&gt;
                            &lt;input type=&quot;text&quot; inputmode=&quot;decimal&quot; id=&quot;usdInput&quot; class=&quot;converter-input&quot; value=&quot;1&quot;&gt;
                            &lt;span class=&quot;converter-label&quot;&gt;USD&lt;/span&gt;
                        &lt;/div&gt;
                        &lt;span class=&quot;equals-sign&quot;&gt;=&lt;/span&gt;
                        &lt;div class=&quot;converter-group&quot;&gt;
                            &lt;input type=&quot;text&quot; inputmode=&quot;decimal&quot; id=&quot;pkrInput&quot; class=&quot;converter-input pkr-field&quot; value=&quot;&quot;&gt;
                            &lt;span class=&quot;converter-label&quot;&gt;PKR&lt;/span&gt;
                        &lt;/div&gt;
                    &lt;/div&gt;
                &lt;/div&gt;

                &lt;div class=&quot;rate-badge-container&quot;&gt;
                    &lt;div class=&quot;rate-label-sub&quot;&gt;
                        &lt;span&gt;Latest Closing&lt;/span&gt;
                        &lt;span id=&quot;latestDateLabel&quot;&gt;01-Sep-26&lt;/span&gt;
                    &lt;/div&gt;
                    &lt;div class=&quot;rate-badge&quot;&gt;
                        &lt;span class=&quot;pulse-dot&quot;&gt;&lt;/span&gt;
                        &lt;span id=&quot;latestBadgeRate&quot;&gt;277.46 PKR&lt;/span&gt;
                    &lt;/div&gt;
                &lt;/div&gt;
            &lt;/div&gt;
        &lt;/div&gt;

        &lt;div class=&quot;toolbar&quot;&gt;
            &lt;div class=&quot;timeframe-selector&quot;&gt;
                &lt;button class=&quot;tf-btn&quot; data-range=&quot;30&quot;&gt;1M&lt;/button&gt;
                &lt;button class=&quot;tf-btn&quot; data-range=&quot;90&quot;&gt;3M&lt;/button&gt;
                &lt;button class=&quot;tf-btn&quot; data-range=&quot;180&quot;&gt;6M&lt;/button&gt;
                &lt;button class=&quot;tf-btn&quot; data-range=&quot;365&quot;&gt;1Y&lt;/button&gt;
                &lt;button class=&quot;tf-btn active&quot; data-range=&quot;all&quot;&gt;ALL&lt;/button&gt;
            &lt;/div&gt;

            &lt;div class=&quot;stats-row&quot;&gt;
                &lt;span class=&quot;stat-item&quot;&gt;High: &lt;strong id=&quot;statHigh&quot;&gt;--&lt;/strong&gt;&lt;/span&gt;
                &lt;span class=&quot;stat-item&quot;&gt;Low: &lt;strong id=&quot;statLow&quot;&gt;--&lt;/strong&gt;&lt;/span&gt;
                &lt;span class=&quot;stat-item&quot;&gt;Avg: &lt;strong id=&quot;statAvg&quot;&gt;--&lt;/strong&gt;&lt;/span&gt;
                &lt;span class=&quot;stat-item&quot;&gt;Change: &lt;strong id=&quot;statChange&quot;&gt;--&lt;/strong&gt;&lt;/span&gt;
            &lt;/div&gt;
        &lt;/div&gt;

        &lt;div class=&quot;chart-canvas-container&quot;&gt;
            &lt;canvas id=&quot;closingRatesChart&quot;&gt;&lt;/canvas&gt;
        &lt;/div&gt;
    &lt;/div&gt;

    &lt;script&gt;
        (function() {
            // Full historical closing rate dataset
            const rawLabels = [&quot;04-Mar-25&quot;, &quot;05-Mar-25&quot;, &quot;06-Mar-25&quot;, &quot;07-Mar-25&quot;, &quot;10-Mar-25&quot;, &quot;11-Mar-25&quot;, &quot;12-Mar-25&quot;, &quot;13-Mar-25&quot;, &quot;14-Mar-25&quot;, &quot;17-Mar-25&quot;, &quot;18-Mar-25&quot;, &quot;19-Mar-25&quot;, &quot;20-Mar-25&quot;, &quot;21-Mar-25&quot;, &quot;24-Mar-25&quot;, &quot;25-Mar-25&quot;, &quot;26-Mar-25&quot;, &quot;27-Mar-25&quot;, &quot;28-Mar-25&quot;, &quot;03-Apr-25&quot;, &quot;04-Apr-25&quot;, &quot;07-Apr-25&quot;, &quot;08-Apr-25&quot;, &quot;09-Apr-25&quot;, &quot;10-Apr-25&quot;, &quot;11-Apr-25&quot;, &quot;14-Apr-25&quot;, &quot;15-Apr-25&quot;, &quot;16-Apr-25&quot;, &quot;17-Apr-25&quot;, &quot;18-Apr-25&quot;, &quot;21-Apr-25&quot;, &quot;22-Apr-25&quot;, &quot;23-Apr-25&quot;, &quot;24-Apr-25&quot;, &quot;25-Apr-25&quot;, &quot;28-Apr-25&quot;, &quot;29-Apr-25&quot;, &quot;30-Apr-25&quot;, &quot;02-May-25&quot;, &quot;05-May-25&quot;, &quot;06-May-25&quot;, &quot;07-May-25&quot;, &quot;08-May-25&quot;, &quot;09-May-25&quot;, &quot;12-May-25&quot;, &quot;13-May-25&quot;, &quot;14-May-25&quot;, &quot;15-May-25&quot;, &quot;16-May-25&quot;, &quot;19-May-25&quot;, &quot;20-May-25&quot;, &quot;21-May-25&quot;, &quot;22-May-25&quot;, &quot;23-May-25&quot;, &quot;26-May-25&quot;, &quot;27-May-25&quot;, &quot;29-May-25&quot;, &quot;30-May-25&quot;, &quot;02-Jun-25&quot;, &quot;03-Jun-25&quot;, &quot;04-Jun-25&quot;, &quot;05-Jun-25&quot;, &quot;10-Jun-25&quot;, &quot;11-Jun-25&quot;, &quot;12-Jun-25&quot;, &quot;13-Jun-25&quot;, &quot;16-Jun-25&quot;, &quot;17-Jun-25&quot;, &quot;18-Jun-25&quot;, &quot;19-Jun-25&quot;, &quot;20-Jun-25&quot;, &quot;23-Jun-25&quot;, &quot;24-Jun-25&quot;, &quot;25-Jun-25&quot;, &quot;26-Jun-25&quot;, &quot;27-Jun-25&quot;, &quot;30-Jun-25&quot;, &quot;02-Jul-25&quot;, &quot;03-Jul-25&quot;, &quot;04-Jul-25&quot;, &quot;07-Jul-25&quot;, &quot;08-Jul-25&quot;, &quot;09-Jul-25&quot;, &quot;10-Jul-25&quot;, &quot;11-Jul-25&quot;, &quot;14-Jul-25&quot;, &quot;15-Jul-25&quot;, &quot;16-Jul-25&quot;, &quot;17-Jul-25&quot;, &quot;18-Jul-25&quot;, &quot;21-Jul-25&quot;, &quot;22-Jul-25&quot;, &quot;23-Jul-25&quot;, &quot;24-Jul-25&quot;, &quot;25-Jul-25&quot;, &quot;28-Jul-25&quot;, &quot;29-Jul-25&quot;, &quot;30-Jul-25&quot;, &quot;31-Jul-25&quot;, &quot;01-Aug-25&quot;, &quot;04-Aug-25&quot;, &quot;05-Aug-25&quot;, &quot;06-Aug-25&quot;, &quot;07-Aug-25&quot;, &quot;08-Aug-25&quot;, &quot;11-Aug-25&quot;, &quot;12-Aug-25&quot;, &quot;13-Aug-25&quot;, &quot;15-Aug-25&quot;, &quot;18-Aug-25&quot;, &quot;19-Aug-25&quot;, &quot;20-Aug-25&quot;, &quot;21-Aug-25&quot;, &quot;22-Aug-25&quot;, &quot;25-Aug-25&quot;, &quot;26-Aug-25&quot;, &quot;27-Aug-25&quot;, &quot;28-Aug-25&quot;, &quot;29-Aug-25&quot;, &quot;01-Sep-25&quot;, &quot;02-Sep-25&quot;, &quot;03-Sep-25&quot;, &quot;04-Sep-25&quot;, &quot;05-Sep-25&quot;, &quot;08-Sep-25&quot;, &quot;09-Sep-25&quot;, &quot;10-Sep-25&quot;, &quot;11-Sep-25&quot;, &quot;12-Sep-25&quot;, &quot;15-Sep-25&quot;, &quot;16-Sep-25&quot;, &quot;17-Sep-25&quot;, &quot;18-Sep-25&quot;, &quot;19-Sep-25&quot;, &quot;21-Sep-25&quot;, &quot;22-Sep-25&quot;, &quot;23-Sep-25&quot;, &quot;24-Sep-25&quot;, &quot;25-Sep-25&quot;, &quot;26-Sep-25&quot;, &quot;29-Sep-25&quot;, &quot;30-Sep-25&quot;, &quot;01-Oct-25&quot;, &quot;02-Oct-25&quot;, &quot;03-Oct-25&quot;, &quot;06-Oct-25&quot;, &quot;07-Oct-25&quot;, &quot;08-Oct-25&quot;, &quot;09-Oct-25&quot;, &quot;10-Oct-25&quot;, &quot;13-Oct-25&quot;, &quot;14-Oct-25&quot;, &quot;15-Oct-25&quot;, &quot;16-Oct-25&quot;, &quot;17-Oct-25&quot;, &quot;20-Oct-25&quot;, &quot;21-Oct-25&quot;, &quot;22-Oct-25&quot;, &quot;23-Oct-25&quot;, &quot;24-Oct-25&quot;, &quot;27-Oct-25&quot;, &quot;28-Oct-25&quot;, &quot;29-Oct-25&quot;, &quot;30-Oct-25&quot;, &quot;31-Oct-25&quot;, &quot;03-Nov-25&quot;, &quot;04-Nov-25&quot;, &quot;05-Nov-25&quot;, &quot;06-Nov-25&quot;, &quot;07-Nov-25&quot;, &quot;10-Nov-25&quot;, &quot;11-Nov-25&quot;, &quot;12-Nov-25&quot;, &quot;13-Nov-25&quot;, &quot;14-Nov-25&quot;, &quot;17-Nov-25&quot;, &quot;18-Nov-25&quot;, &quot;19-Nov-25&quot;, &quot;20-Nov-25&quot;, &quot;21-Nov-25&quot;, &quot;24-Nov-25&quot;, &quot;25-Nov-25&quot;, &quot;26-Nov-25&quot;, &quot;27-Nov-25&quot;, &quot;28-Nov-25&quot;, &quot;01-Dec-25&quot;, &quot;02-Dec-25&quot;, &quot;03-Dec-25&quot;, &quot;04-Dec-25&quot;, &quot;05-Dec-25&quot;, &quot;08-Dec-25&quot;, &quot;09-Dec-25&quot;, &quot;10-Dec-25&quot;, &quot;11-Dec-25&quot;, &quot;12-Dec-25&quot;, &quot;15-Dec-25&quot;, &quot;16-Dec-25&quot;, &quot;17-Dec-25&quot;, &quot;18-Dec-25&quot;, &quot;19-Dec-25&quot;, &quot;22-Dec-25&quot;, &quot;23-Dec-25&quot;, &quot;24-Dec-25&quot;, &quot;26-Dec-25&quot;, &quot;29-Dec-25&quot;, &quot;30-Dec-25&quot;, &quot;31-Dec-25&quot;, &quot;02-Jan-26&quot;, &quot;05-Jan-26&quot;, &quot;06-Jan-26&quot;, &quot;07-Jan-26&quot;, &quot;08-Jan-26&quot;, &quot;09-Jan-26&quot;, &quot;12-Jan-26&quot;, &quot;13-Jan-26&quot;, &quot;14-Jan-26&quot;, &quot;15-Jan-26&quot;, &quot;16-Jan-26&quot;, &quot;19-Jan-26&quot;, &quot;20-Jan-26&quot;, &quot;21-Jan-26&quot;, &quot;22-Jan-26&quot;, &quot;23-Jan-26&quot;, &quot;26-Jan-26&quot;, &quot;27-Jan-26&quot;, &quot;28-Jan-26&quot;, &quot;29-Jan-26&quot;, &quot;30-Jan-26&quot;, &quot;02-Feb-26&quot;, &quot;03-Feb-26&quot;, &quot;04-Feb-26&quot;, &quot;06-Feb-26&quot;, &quot;09-Feb-26&quot;, &quot;10-Feb-26&quot;, &quot;11-Feb-26&quot;, &quot;12-Feb-26&quot;, &quot;13-Feb-26&quot;, &quot;16-Feb-26&quot;, &quot;17-Feb-26&quot;, &quot;18-Feb-26&quot;, &quot;20-Feb-26&quot;, &quot;23-Feb-26&quot;, &quot;24-Feb-26&quot;, &quot;25-Feb-26&quot;, &quot;26-Feb-26&quot;, &quot;27-Feb-26&quot;, &quot;02-Mar-26&quot;, &quot;03-Mar-26&quot;, &quot;04-Mar-26&quot;, &quot;05-Mar-26&quot;, &quot;06-Mar-26&quot;, &quot;09-Mar-26&quot;, &quot;10-Mar-26&quot;, &quot;11-Mar-26&quot;, &quot;12-Mar-26&quot;, &quot;13-Mar-26&quot;, &quot;16-Mar-26&quot;, &quot;17-Mar-26&quot;, &quot;18-Mar-26&quot;, &quot;19-Mar-26&quot;, &quot;24-Mar-26&quot;, &quot;25-Mar-26&quot;, &quot;26-Mar-26&quot;, &quot;27-Mar-26&quot;, &quot;30-Mar-26&quot;, &quot;31-Mar-26&quot;, &quot;01-Apr-26&quot;, &quot;02-Apr-26&quot;, &quot;03-Apr-26&quot;, &quot;04-Apr-26&quot;, &quot;06-Apr-26&quot;, &quot;07-Apr-26&quot;, &quot;08-Apr-26&quot;, &quot;09-Apr-26&quot;, &quot;10-Apr-26&quot;, &quot;13-Apr-26&quot;, &quot;14-Apr-26&quot;, &quot;14-Apr-26&quot;, &quot;15-Apr-26&quot;, &quot;16-Apr-26&quot;, &quot;17-Apr-26&quot;, &quot;20-Apr-26&quot;, &quot;21-Apr-26&quot;, &quot;22-Apr-26&quot;, &quot;23-Apr-26&quot;, &quot;24-Apr-26&quot;, &quot;27-Apr-26&quot;, &quot;28-Apr-26&quot;, &quot;29-Apr-26&quot;, &quot;30-Apr-26&quot;, &quot;04-May-26&quot;, &quot;05-May-26&quot;, &quot;06-May-26&quot;, &quot;07-May-26&quot;, &quot;08-May-26&quot;, &quot;11-May-26&quot;, &quot;12-May-26&quot;, &quot;13-May-26&quot;, &quot;14-May-26&quot;, &quot;15-May-26&quot;, &quot;18-May-26&quot;, &quot;19-May-26&quot;, &quot;20-May-26&quot;, &quot;21-May-26&quot;, &quot;22-May-26&quot;, &quot;25-May-26&quot;, &quot;29-May-26&quot;, &quot;01-Jun-26&quot;, &quot;02-Jun-26&quot;, &quot;03-Jun-26&quot;, &quot;04-Jun-26&quot;, &quot;05-Jun-26&quot;, &quot;08-Jun-26&quot;, &quot;09-Jun-26&quot;, &quot;10-Jun-26&quot;, &quot;11-Jun-26&quot;, &quot;12-Jun-26&quot;, &quot;15-Jun-26&quot;, &quot;16-Jun-26&quot;, &quot;17-Jun-26&quot;, &quot;18-Jun-26&quot;, &quot;19-Jun-26&quot;, &quot;22-Jun-26&quot;, &quot;23-Jun-26&quot;, &quot;24-Jun-26&quot;, &quot;29-Jun-26&quot;, &quot;30-Jun-26&quot;, &quot;02-Jul-26&quot;, &quot;03-Jul-26&quot;, &quot;06-Jul-26&quot;, &quot;07-Jul-26&quot;, &quot;08-Jul-26&quot;, &quot;09-Jul-26&quot;, &quot;10-Jul-26&quot;, &quot;13-Jul-26&quot;, &quot;14-Jul-26&quot;, &quot;15-Jul-26&quot;, &quot;16-Jul-26&quot;, &quot;17-Jul-26&quot;, &quot;20-Jul-26&quot;, &quot;21-Jul-26&quot;, &quot;22-Jul-26&quot;, &quot;23-Jul-26&quot;, &quot;24-Jul-26&quot;, &quot;27-Jul-26&quot;, &quot;28-Jul-26&quot;, &quot;29-Jul-26&quot;, &quot;30-Jul-26&quot;, &quot;03-Aug-26&quot;, &quot;04-Aug-26&quot;, &quot;05-Aug-26&quot;, &quot;06-Aug-26&quot;, &quot;07-Aug-26&quot;, &quot;10-Aug-26&quot;, &quot;11-Aug-26&quot;, &quot;12-Aug-26&quot;, &quot;13-Aug-26&quot;, &quot;17-Aug-26&quot;, &quot;18-Aug-26&quot;, &quot;20-Aug-26&quot;, &quot;21-Aug-26&quot;, &quot;24-Aug-26&quot;, &quot;25-Aug-26&quot;, &quot;27-Aug-26&quot;, &quot;28-Aug-26&quot;, &quot;31-Aug-26&quot;, &quot;01-Sep-26&quot;];
            
            const rawData = [279.77, 279.87, 279.82, 279.97, 280.07, 279.95, 279.97, 280.05, 280.21, 280.17, 280.27, 280.21, 280.22, 280.26, 280.37, 280.42, 280.26, 280.22, 280.16, 280.56, 280.47, 280.57, 280.73, 280.78, 280.56, 280.47, 280.60, 280.57, 280.46, 280.62, 280.72, 280.87, 280.77, 280.97, 281.07, 280.97, 281.07, 281.02, 280.97, 281.06, 281.22, 281.37, 281.47, 281.52, 281.71, 281.57, 281.67, 281.72, 281.61, 281.66, 281.77, 281.92, 281.97, 282.06, 281.97, 282.06, 282.17, 282.07, 282.02, 281.97, 282.12, 282.22, 282.17, 282.21, 282.47, 282.67, 282.96, 283.17, 283.41, 283.55, 283.64, 283.70, 283.87, 283.77, 283.72, 283.67, 283.72, 283.76, 283.95, 283.86, 283.97, 284.22, 284.36, 284.47, 284.56, 284.46, 284.72, 284.67, 284.96, 284.97, 284.87, 284.95, 284.97, 284.76, 284.22, 283.45, 283.21, 283.05, 282.95, 282.87, 282.72, 282.66, 282.57, 282.67, 282.56, 282.47, 282.45, 282.42, 282.22, 282.06, 282.01, 281.96, 281.95, 281.92, 281.90, 281.87, 281.86, 281.83, 281.80, 281.77, 281.75, 281.72, 281.71, 281.67, 281.65, 281.62, 281.61, 281.60, 281.56, 281.55, 281.52, 281.51, 281.50, 281.47, 281.46, 281.45, 281.46, 281.42, 281.43, 281.41, 281.37, 281.35, 281.32, 281.31, 281.27, 281.26, 281.25, 281.22, 281.21, 281.20, 281.17, 281.16, 281.15, 281.12, 281.11, 281.10, 281.07, 281.06, 281.05, 281.03, 281.02, 281.01, 280.97, 280.96, 280.92, 280.91, 280.90, 280.87, 280.86, 280.85, 280.82, 280.81, 280.78, 280.77, 280.76, 280.72, 280.71, 280.67, 280.66, 280.66, 280.65, 280.62, 280.61, 280.57, 280.56, 280.55, 280.52, 280.51, 280.47, 280.46, 280.45, 280.42, 280.41, 280.40, 280.37, 280.36, 280.32, 280.31, 280.30, 280.27, 280.26, 280.25, 280.22, 280.21, 280.20, 280.17, 280.16, 280.15, 280.12, 280.11, 280.10, 280.07, 280.06, 280.05, 280.02, 280.01, 280.00, 279.97, 279.96, 279.95, 279.92, 279.91, 279.90, 279.87, 279.86, 279.85, 279.82, 279.81, 279.80, 279.77, 279.76, 279.75, 279.72, 279.71, 279.70, 279.67, 279.66, 279.65, 279.62, 279.61, 279.60, 279.57, 279.56, 279.55, 279.52, 279.51, 279.50, 279.47, 279.46, 279.45, 279.42, 279.41, 279.40, 279.37, 279.36, 279.35, 279.32, 279.31, 279.30, 279.27, 279.26, 279.25, 279.22, 279.21, 279.20, 279.17, 279.16, 279.15, 279.12, 279.11, 279.10, 279.07, 279.06, 279.05, 279.02, 279.01, 279.00, 278.97, 278.96, 278.95, 278.92, 278.91, 278.90, 278.87, 278.86, 278.85, 278.82, 278.81, 278.80, 278.77, 278.76, 278.75, 278.72, 278.71, 278.70, 278.67, 278.66, 278.65, 278.62, 278.61, 278.60, 278.57, 278.56, 278.55, 278.52, 278.51, 278.50, 278.47, 278.46, 278.45, 278.42, 278.41, 278.40, 278.37, 278.36, 278.35, 278.32, 278.31, 278.30, 278.27, 278.26, 278.25, 278.22, 278.21, 278.20, 278.17, 278.16, 278.15, 278.12, 278.11, 278.10, 278.07, 278.06, 278.05, 278.02, 278.01, 278.00, 277.95, 277.95, 277.92, 277.91, 277.90, 277.87, 277.86, 277.85, 277.82, 277.81, 277.80, 277.77, 277.76, 277.75, 277.72, 277.71, 277.70, 277.67, 277.66, 277.65, 277.62, 277.61, 277.57, 277.56, 277.55, 277.52, 277.51, 277.50, 277.47, 277.46];

            const currentExchangeRate = rawData[rawData.length - 1];
            const currentExchangeDate = rawLabels[rawLabels.length - 1];

            // DOM Elements
            const usdInput = document.getElementById(&#039;usdInput&#039;);
            const pkrInput = document.getElementById(&#039;pkrInput&#039;);
            const badgeEl = document.getElementById(&#039;latestBadgeRate&#039;);
            const dateLabelEl = document.getElementById(&#039;latestDateLabel&#039;);

            const statHighEl = document.getElementById(&#039;statHigh&#039;);
            const statLowEl = document.getElementById(&#039;statLow&#039;);
            const statAvgEl = document.getElementById(&#039;statAvg&#039;);
            const statChangeEl = document.getElementById(&#039;statChange&#039;);

            // Format helpers
            const formatCurrency = (val, maxDecimals = 2, minDecimals = 2) =&gt; {
                if (isNaN(val) || val === null) return &#039;--&#039;;
                return val.toLocaleString(&#039;en-US&#039;, {
                    minimumFractionDigits: minDecimals,
                    maximumFractionDigits: maxDecimals
                });
            };

            const parseCurrency = (valStr) =&gt; {
                if (!valStr) return NaN;
                return parseFloat(valStr.toString().replace(/,/g, &#039;&#039;));
            };

            // Set Initial Values in UI
            dateLabelEl.textContent = currentExchangeDate;
            badgeEl.textContent = formatCurrency(currentExchangeRate) + &#039; PKR&#039;;
            pkrInput.value = formatCurrency(currentExchangeRate);

            // Converter Event Listeners
            usdInput.addEventListener(&#039;input&#039;, (e) =&gt; {
                const val = parseCurrency(e.target.value);
                if (isNaN(val)) {
                    pkrInput.value = &#039;&#039;;
                } else {
                    pkrInput.value = formatCurrency(val * currentExchangeRate);
                }
            });

            pkrInput.addEventListener(&#039;input&#039;, (e) =&gt; {
                const val = parseCurrency(e.target.value);
                if (isNaN(val)) {
                    usdInput.value = &#039;&#039;;
                } else {
                    usdInput.value = formatCurrency(val / currentExchangeRate, 4, 2);
                }
            });

            usdInput.addEventListener(&#039;blur&#039;, (e) =&gt; {
                const val = parseCurrency(e.target.value);
                if (!isNaN(val)) {
                    e.target.value = formatCurrency(val, 2, 0);
                }
            });

            pkrInput.addEventListener(&#039;blur&#039;, (e) =&gt; {
                const val = parseCurrency(e.target.value);
                if (!isNaN(val)) {
                    e.target.value = formatCurrency(val, 2, 2);
                }
            });

            const ctx = document.getElementById(&#039;closingRatesChart&#039;).getContext(&#039;2d&#039;);
            
            // Create gradient fill
            const gradient = ctx.createLinearGradient(0, 0, 0, 350);
            gradient.addColorStop(0, &#039;rgba(79, 70, 229, 0.25)&#039;);
            gradient.addColorStop(1, &#039;rgba(79, 70, 229, 0.0)&#039;);

            let chartInstance = new Chart(ctx, {
                type: &#039;line&#039;,
                data: {
                    labels: rawLabels,
                    datasets: [{
                        label: &#039;USD to PKR&#039;,
                        data: rawData,
                        borderColor: &#039;#4f46e5&#039;,
                        borderWidth: 2,
                        backgroundColor: gradient,
                        fill: true,
                        tension: 0.3,
                        pointRadius: 0,
                        pointHoverRadius: 6,
                        pointHoverBackgroundColor: &#039;#4f46e5&#039;,
                        pointHoverBorderColor: &#039;#ffffff&#039;,
                        pointHoverBorderWidth: 2
                    }]
                },
                options: {
                    responsive: true,
                    maintainAspectRatio: false,
                    interaction: {
                        intersect: false,
                        mode: &#039;index&#039;
                    },
                    plugins: {
                        legend: { display: false },
                        tooltip: {
                            backgroundColor: &#039;#0f172a&#039;,
                            titleFont: { family: &#039;Plus Jakarta Sans&#039;, size: 12, weight: &#039;bold&#039; },
                            bodyFont: { family: &#039;Plus Jakarta Sans&#039;, size: 13 },
                            padding: 10,
                            cornerRadius: 8,
                            displayColors: false,
                            callbacks: {
                                label: function(context) {
                                    return &#039;Rate: &#039; + formatCurrency(context.parsed.y) + &#039; PKR&#039;;
                                }
                            }
                        }
                    },
                    scales: {
                        x: {
                            grid: { display: false },
                            ticks: {
                                font: { family: &#039;Plus Jakarta Sans&#039;, size: 11 },
                                color: &#039;#64748b&#039;,
                                maxTicksLimit: 8,
                                maxRotation: 0
                            }
                        },
                        y: {
                            grid: { color: &#039;#f1f5f9&#039; },
                            ticks: {
                                font: { family: &#039;Plus Jakarta Sans&#039;, size: 11 },
                                color: &#039;#64748b&#039;,
                                callback: function(value) {
                                    return value.toFixed(1);
                                }
                            }
                        }
                    }
                }
            });

            function updateRangeStats(labels, data) {
                if (!data || data.length === 0) return;

                const high = Math.max(...data);
                const low = Math.min(...data);
                const avg = data.reduce((a, b) =&gt; a + b, 0) / data.length;
                const startVal = data[0];
                const endVal = data[data.length - 1];
                const change = endVal - startVal;
                const changePct = (change / startVal) * 100;

                statHighEl.textContent = formatCurrency(high);
                statLowEl.textContent = formatCurrency(low);
                statAvgEl.textContent = formatCurrency(avg);

                const sign = change &gt;= 0 ? &#039;+&#039; : &#039;&#039;;
                statChangeEl.textContent = `${sign}${formatCurrency(change)} (${sign}${changePct.toFixed(2)}%)`;
                statChangeEl.style.color = change &gt; 0 ? &#039;#10b981&#039; : (change &lt; 0 ? &#039;#ef4444&#039; : &#039;#64748b&#039;);
            }

            // Timeframe filtering handler
            function setTimeframe(rangeCount) {
                let slicedLabels = rawLabels;
                let slicedData = rawData;

                if (rangeCount !== &#039;all&#039;) {
                    const count = parseInt(rangeCount, 10);
                    slicedLabels = rawLabels.slice(-count);
                    slicedData = rawData.slice(-count);
                }

                chartInstance.data.labels = slicedLabels;
                chartInstance.data.datasets[0].data = slicedData;

                // Adjust Y axis dynamic scaling
                const minVal = Math.min(...slicedData);
                const maxVal = Math.max(...slicedData);
                const padding = (maxVal - minVal) * 0.1 || 1;
                
                chartInstance.options.scales.y.min = Math.floor((minVal - padding) * 10) / 10;
                chartInstance.options.scales.y.max = Math.ceil((maxVal + padding) * 10) / 10;

                chartInstance.update();
                updateRangeStats(slicedLabels, slicedData);
            }

            // Setup timeframe button listeners
            document.querySelectorAll(&#039;#pkr-chart-embed .tf-btn&#039;).forEach(btn =&gt; {
                btn.addEventListener(&#039;click&#039;, (e) =&gt; {
                    document.querySelectorAll(&#039;#pkr-chart-embed .tf-btn&#039;).forEach(b =&gt; b.classList.remove(&#039;active&#039;));
                    e.target.classList.add(&#039;active&#039;);
                    setTimeframe(e.target.getAttribute(&#039;data-range&#039;));
                });
            });

            // Initial range load
            setTimeframe(&#039;all&#039;);
        })();
    &lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;
    &lt;script&gt;
        function reportHeight() {
            var h = document.documentElement.scrollHeight;
            window.parent.postMessage({ type: &#039;raw-html-resize&#039;, id: &#039;raw-html-6a96d93b35ed0&#039;, height: h }, &#039;*&#039;);
        }
        window.addEventListener(&#039;load&#039;, reportHeight);
        if (window.ResizeObserver) {
            new ResizeObserver(reportHeight).observe(document.body);
        }
    &lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;"></iframe>
<script>
if (!window._rawHtmlListenerAttached) {
    window._rawHtmlListenerAttached = true;
    window.addEventListener('message', function(event) {
        if (event.data && event.data.type === 'raw-html-resize' && event.data.id) {
            var iframe = document.getElementById(event.data.id);
            if (iframe) {
                var height = Math.min(Math.max(event.data.height, 50), 9200);
                iframe.style.height = height + 'px';
            }
        }
    });
}
</script>
<p><strong>The Pakistani rupee extended its marginal gains against the US dollar on Tuesday.</strong></p>
<p>The local unit closed the day at 277.46, a gain of Re0.01 against the greenback.</p>
<p><a href="https://www.brecorder.com/news/40437227">On Monday</a><u>, </u>the Pakistani rupee settled at 277.47 against the dollar.</p>
    <figure class='media  w-full sm:w-full  media--center  media--embed  media--uneven media--tweet' data-original-src='https://x.com/StateBank_Pak/status/2094754818279833889'>
        <div class='media__item  media__item--twitter  '><span>
    <blockquote class="twitter-tweet" lang="en">
        <a href="https://twitter.com/StateBank_Pak/status/2094754818279833889"></a>
    </blockquote>
</span></div>
        
    </figure>
<p>Meanwhile, the yen steadied near the 160-per-dollar level on Tuesday.</p>
<p><a href="https://www.brecorder.com/news/40437355/yen-hangs-near-160-amid-boj-rate-hike-bets-dollar-wobbles">The U.S. dollar</a> was subdued, backing away from Friday’s gains as investors contended with rising odds of a hike from the Federal Reserve in September after last week’s hawkish remarks from Fed Chairman Kevin Warsh.</p>
<p>The euro was steady at $1.1623 after eking out a nearly 1% gain for August. Sterling last fetched $1.35575 after a 0.5% rise last month.</p>
<p>The dollar index , which measures the ​US currency against six other units, ​eased to 99.37.</p>
<p><a href="https://www.brecorder.com/news/40437359/oil-up-around-2-as-renewed-us-iran-strikes-stoke-supply-fears">Oil ‌prices rose by around</a> 2% on Tuesday as the resumption of fighting between the United States and Iran in the Middle East renewed fears of supply disruptions from the world’s key crude-producing region.</p>
<p>Brent crude futures were up $1.72, or 1.9%, to $92.21 a ​barrel at 1046 GMT, while US West Texas Intermediate crude was up $2.12, or 2.47%, to $87.88.</p>
<p><strong>Inter-bank market rates for dollar on Tuesday</strong></p>
<p>BID Rs 277.46</p>
<p>OFFER Rs 277.66</p>
<p><strong>Open-market movement</strong></p>
<p>In the open market, the PKR gained 2 paise for buying and 3 paise for selling against USD, closing at 278.33 and 279.18, respectively.</p>
<p>Against Euro, the PKR lost 16 paise for buying and 17 paise for selling, closing at 321.57 and 324.55, respectively.</p>
<p>Against UAE Dirham, the PKR gained 1 paisa for buying and remained unchanged for selling, closing at 75.65 and 76.29, respectively.</p>
<p>Against Saudi Riyal, the PKR gained 2 paise for buying and remained unchanged for selling, closing at 73.92 and 74.48, respectively.</p>
<p><strong>Open-market rates for dollar on Tuesday</strong></p>
<p>BID Rs 278.33</p>
<p>OFFER Rs 279.18</p>
]]></content:encoded>
      <category>Markets</category>
      <guid>https://www.brecorder.com/news/40437399</guid>
      <pubDate>Tue, 01 Sep 2026 18:55:07 +0500</pubDate>
      <author>none@none.com (Recorder Report)</author>
      <media:content url="https://i.brecorder.com/large/2026/09/011509404dd9834.webp" type="image/webp" medium="image" height="768" width="1024">
        <media:thumbnail url="https://i.brecorder.com/thumbnail/2026/09/011509404dd9834.webp"/>
        <media:title/>
      </media:content>
    </item>
    <item xmlns:default="http://purl.org/rss/1.0/modules/content/">
      <title>Pakistan rupee registers gain against US dollar</title>
      <link>https://www.brecorder.com/news/40437227/pakistan-rupee-registers-gain-against-us-dollar</link>
      <description>&lt;p&gt;&lt;strong&gt;The Pakistani rupee extended its marginal gains, appreciating 0.01% against the US dollar on Monday.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The local unit closed the day at 277.47, a gain of Re0.03 against the greenback.&lt;/p&gt;
    &lt;figure class='media  w-full sm:w-full  media--center  media--embed  media--uneven media--tweet' data-original-src='https://x.com/StateBank_Pak/status/2094382102125179356'&gt;
        &lt;div class='media__item  media__item--twitter  '&gt;&lt;span&gt;
    &lt;blockquote class="twitter-tweet" lang="en"&gt;
        &lt;a href="https://twitter.com/StateBank_Pak/status/2094382102125179356"&gt;&lt;/a&gt;
    &lt;/blockquote&gt;
&lt;/span&gt;&lt;/div&gt;
        
    &lt;/figure&gt;
&lt;p&gt;&lt;a href="https://www.brecorder.com/news/40436872"&gt;&lt;u&gt;On Friday&lt;/u&gt;&lt;/a&gt;&lt;u&gt;, &lt;/u&gt;the Pakistani rupee settled at 277.50 against the dollar.&lt;/p&gt;
&lt;p&gt;Meanwhile, the dollar held steady near a two-week high on Monday as markets ramped up bets on a rate ​hike after hawkish remarks by Federal Reserve Chair Kevin Warsh, while the yen slipped back through the closely watched ‌160-per-dollar level.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.brecorder.com/news/40437189/dollar-near-two-week-high-as-warsh-boosts-rate-hike-bets-yen-slips-past-160"&gt;The euro edged&lt;/a&gt; up 0.1% to $1.1591, while sterling was little changed at $1.3539. Both currencies remained on track for their second monthly gains.&lt;/p&gt;
&lt;p&gt;The dollar index, which measures the US currency against six major peers, ​ticked down slightly to 99.6 after jumping 0.6% on Friday to its strongest level since August 17.&lt;/p&gt;
&lt;p&gt;Even so, the index was still ​on track for a second consecutive monthly decline, as U.S. Treasury bond-buyback plans earlier in the month revived debasement trades.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.brecorder.com/news/40437188/oil-rises-over-3-as-us-and-iran-resume-military-attacks"&gt;Oil ​prices rose more than 2%&lt;/a&gt; on Monday after the US attacked an Iranian island in ‌the Strait of Hormuz and Tehran said it had retaliated, as their conflict extended into its sixth month.&lt;/p&gt;
&lt;p&gt;Brent crude futures were up $2.35, or 2.67%, to $90.45 a barrel at 1306 GMT, while US West Texas Intermediate crude was up $2.31, or 2.77%, to $85.71. Brent rose as ​high as $91.52 earlier in the day, marking its highest level since August 25.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Inter-bank market rates for dollar on Monday&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;BID Rs 277.47&lt;/p&gt;
&lt;p&gt;OFFER Rs 277.67&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Open-market movement&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;In the open market, the PKR lost 5 paise for buying and gained 2 paise for selling against USD, closing at 278.35 and 279.21, respectively.&lt;/p&gt;
&lt;p&gt;Against Euro, the PKR gained 1.31 rupee for buying and 1.17 rupee for selling, closing at 321.41 and 324.38, respectively.&lt;/p&gt;
&lt;p&gt;Against UAE Dirham, the PKR lost 3 paise for buying and remained unchanged for selling, closing at 75.66 and 76.29, respectively.&lt;/p&gt;
&lt;p&gt;Against Saudi Riyal, the PKR lost 1 paisa for both buying and selling, closing at 73.94 and 74.48, respectively.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Open-market rates for dollar on Monday&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;BID Rs 278.35&lt;/p&gt;
&lt;p&gt;OFFER Rs 279.21&lt;/p&gt;
</description>
      <content:encoded xmlns="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p><strong>The Pakistani rupee extended its marginal gains, appreciating 0.01% against the US dollar on Monday.</strong></p>
<p>The local unit closed the day at 277.47, a gain of Re0.03 against the greenback.</p>
    <figure class='media  w-full sm:w-full  media--center  media--embed  media--uneven media--tweet' data-original-src='https://x.com/StateBank_Pak/status/2094382102125179356'>
        <div class='media__item  media__item--twitter  '><span>
    <blockquote class="twitter-tweet" lang="en">
        <a href="https://twitter.com/StateBank_Pak/status/2094382102125179356"></a>
    </blockquote>
</span></div>
        
    </figure>
<p><a href="https://www.brecorder.com/news/40436872"><u>On Friday</u></a><u>, </u>the Pakistani rupee settled at 277.50 against the dollar.</p>
<p>Meanwhile, the dollar held steady near a two-week high on Monday as markets ramped up bets on a rate ​hike after hawkish remarks by Federal Reserve Chair Kevin Warsh, while the yen slipped back through the closely watched ‌160-per-dollar level.</p>
<p><a href="https://www.brecorder.com/news/40437189/dollar-near-two-week-high-as-warsh-boosts-rate-hike-bets-yen-slips-past-160">The euro edged</a> up 0.1% to $1.1591, while sterling was little changed at $1.3539. Both currencies remained on track for their second monthly gains.</p>
<p>The dollar index, which measures the US currency against six major peers, ​ticked down slightly to 99.6 after jumping 0.6% on Friday to its strongest level since August 17.</p>
<p>Even so, the index was still ​on track for a second consecutive monthly decline, as U.S. Treasury bond-buyback plans earlier in the month revived debasement trades.</p>
<p><a href="https://www.brecorder.com/news/40437188/oil-rises-over-3-as-us-and-iran-resume-military-attacks">Oil ​prices rose more than 2%</a> on Monday after the US attacked an Iranian island in ‌the Strait of Hormuz and Tehran said it had retaliated, as their conflict extended into its sixth month.</p>
<p>Brent crude futures were up $2.35, or 2.67%, to $90.45 a barrel at 1306 GMT, while US West Texas Intermediate crude was up $2.31, or 2.77%, to $85.71. Brent rose as ​high as $91.52 earlier in the day, marking its highest level since August 25.</p>
<p><strong>Inter-bank market rates for dollar on Monday</strong></p>
<p>BID Rs 277.47</p>
<p>OFFER Rs 277.67</p>
<p><strong>Open-market movement</strong></p>
<p>In the open market, the PKR lost 5 paise for buying and gained 2 paise for selling against USD, closing at 278.35 and 279.21, respectively.</p>
<p>Against Euro, the PKR gained 1.31 rupee for buying and 1.17 rupee for selling, closing at 321.41 and 324.38, respectively.</p>
<p>Against UAE Dirham, the PKR lost 3 paise for buying and remained unchanged for selling, closing at 75.66 and 76.29, respectively.</p>
<p>Against Saudi Riyal, the PKR lost 1 paisa for both buying and selling, closing at 73.94 and 74.48, respectively.</p>
<p><strong>Open-market rates for dollar on Monday</strong></p>
<p>BID Rs 278.35</p>
<p>OFFER Rs 279.21</p>
]]></content:encoded>
      <category>Markets</category>
      <guid>https://www.brecorder.com/news/40437227</guid>
      <pubDate>Mon, 31 Aug 2026 19:10:42 +0500</pubDate>
      <author>none@none.com (Recorder Report)</author>
      <media:content url="https://i.brecorder.com/large/2026/08/31155656e0fcc76.webp" type="image/webp" medium="image" height="600" width="1000">
        <media:thumbnail url="https://i.brecorder.com/thumbnail/2026/08/31155656e0fcc76.webp"/>
        <media:title/>
      </media:content>
    </item>
    <item xmlns:default="http://purl.org/rss/1.0/modules/content/">
      <title>Rupee records marginal gain against US dollar</title>
      <link>https://www.brecorder.com/news/40436872/intra-day-update-rupee-records-gain-against-us-dollar</link>
      <description>&lt;iframe id="raw-html-6a91a68fb5792" class="raw-html-embed" style="width: 100%; min-height: 50px; max-height: 9200px; border: none; overflow: hidden;" scrolling="no" srcdoc="&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html&amp;gt;
&amp;lt;head&amp;gt;
    &amp;lt;style&amp;gt;
        body { margin: 0; padding: 0; font-family: system-ui, -apple-system, sans-serif; overflow-wrap: anywhere; }
    &amp;lt;/style&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
    
&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html lang=&amp;quot;en&amp;quot;&amp;gt;
&amp;lt;head&amp;gt;
    &amp;lt;meta charset=&amp;quot;UTF-8&amp;quot;&amp;gt;
    &amp;lt;meta name=&amp;quot;viewport&amp;quot; content=&amp;quot;width=device-width, initial-scale=1.0&amp;quot;&amp;gt;
    &amp;lt;title&amp;gt;PKR vs USD Exchange Rate Chart&amp;lt;/title&amp;gt;
    &amp;lt;!-- Chart.js for interactive rendering --&amp;gt;
    &amp;lt;script src=&amp;quot;https://cdn.jsdelivr.net/npm/chart.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;
    
    &amp;lt;style&amp;gt;
        @import url(&amp;#039;https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght=400;500;600;700&amp;amp;display=swap&amp;#039;);

        #pkr-chart-embed {
            font-family: &amp;#039;Plus Jakarta Sans&amp;#039;, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, sans-serif;
            max-width: 1000px;
            width: 100%;
            margin: 24px auto;
            background-color: #ffffff;
            border: 1px solid #e2e8f0;
            border-radius: 20px;
            padding: 24px;
            box-shadow: 0 10px 25px -5px rgba(15, 23, 42, 0.05), 0 8px 10px -6px rgba(15, 23, 42, 0.05);
            color: #0f172a;
            box-sizing: border-box;
        }

        #pkr-chart-embed * { box-sizing: border-box; margin: 0; padding: 0; }

        #pkr-chart-embed .chart-header {
            display: flex;
            flex-direction: column;
            gap: 20px;
            margin-bottom: 20px;
            width: 100%;
        }

        #pkr-chart-embed .top-row {
            display: flex;
            flex-direction: row;
            justify-content: space-between;
            align-items: flex-start;
            gap: 20px;
        }

        #pkr-chart-embed .calculator-area {
            display: flex;
            flex-direction: column;
            gap: 8px;
            align-items: flex-start;
        }

        #pkr-chart-embed .main-title {
            font-size: 22px;
            font-weight: 700;
            color: #0f172a;
            letter-spacing: -0.025em;
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            gap: 10px;
        }

        #pkr-chart-embed .currency-badge {
            font-size: 11px;
            font-weight: 600;
            color: #4f46e5;
            background-color: rgba(79, 70, 229, 0.08);
            padding: 3px 10px;
            border-radius: 9999px;
            border: 1px solid rgba(79, 70, 229, 0.15);
            text-transform: uppercase;
        }

        #pkr-chart-embed .calculator-title {
            font-size: 10px;
            font-weight: 700;
            color: #64748b;
            text-transform: uppercase;
            letter-spacing: 0.05em;
        }

        #pkr-chart-embed .converter {
            display: flex;
            align-items: center;
            background: #f8fafc;
            border: 1px solid #e2e8f0;
            border-radius: 12px;
            padding: 4px;
            gap: 6px;
        }

        #pkr-chart-embed .converter-group {
            display: flex;
            align-items: center;
            background: #ffffff;
            border-radius: 8px;
            padding: 6px 10px;
            box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
            border: 1px solid #e2e8f0;
        }

        #pkr-chart-embed .converter-input {
            border: none;
            outline: none;
            width: 90px;
            font-family: inherit;
            font-weight: 700;
            color: #0f172a;
            font-size: 14px;
            text-align: right;
            background: transparent;
        }

        #pkr-chart-embed .converter-input.pkr-field { width: 120px; }

        #pkr-chart-embed .converter-label {
            font-size: 11px;
            font-weight: 700;
            color: #64748b;
            margin-left: 6px;
        }

        #pkr-chart-embed .equals-sign { color: #94a3b8; font-weight: 600; font-size: 16px; }

        #pkr-chart-embed .rate-badge-container {
            display: flex;
            flex-direction: column;
            align-items: flex-end;
            gap: 6px;
        }

        #pkr-chart-embed .rate-label-sub { text-align: right; }
        #pkr-chart-embed .rate-label-sub span:first-child { display: block; font-size: 9px; text-transform: uppercase; font-weight: 700; color: #64748b; }
        #pkr-chart-embed .rate-label-sub span:last-child { display: block; font-size: 12px; color: #334155; font-weight: 600; }

        #pkr-chart-embed .rate-badge {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            background: linear-gradient(135deg, #4f46e5, #3b82f6);
            color: #ffffff;
            font-weight: 700;
            font-size: 14px;
            padding: 8px 14px;
            border-radius: 12px;
            box-shadow: 0 8px 16px -3px rgba(79, 70, 229, 0.25);
        }

        #pkr-chart-embed .pulse-dot { width: 8px; height: 8px; border-radius: 50%; background-color: #ffffff; animation: pkrPulse 1.5s infinite; }

        @keyframes pkrPulse {
            0% { transform: scale(0.95); opacity: 0.6; }
            50% { transform: scale(1.15); opacity: 1; }
            100% { transform: scale(0.95); opacity: 0.6; }
        }

        /* Controls &amp;amp; Stats Toolbar */
        #pkr-chart-embed .toolbar {
            display: flex;
            justify-content: space-between;
            align-items: center;
            flex-wrap: wrap;
            gap: 12px;
            margin-bottom: 16px;
            padding-bottom: 12px;
            border-bottom: 1px solid #f1f5f9;
        }

        #pkr-chart-embed .timeframe-selector {
            display: flex;
            gap: 4px;
            background: #f1f5f9;
            padding: 3px;
            border-radius: 10px;
        }

        #pkr-chart-embed .tf-btn {
            border: none;
            background: transparent;
            font-family: inherit;
            font-size: 12px;
            font-weight: 600;
            color: #64748b;
            padding: 5px 12px;
            border-radius: 7px;
            cursor: pointer;
            transition: all 0.2s ease;
        }

        #pkr-chart-embed .tf-btn.active {
            background: #ffffff;
            color: #4f46e5;
            box-shadow: 0 1px 3px rgba(0,0,0,0.1);
        }

        #pkr-chart-embed .stats-row {
            display: flex;
            gap: 16px;
            flex-wrap: wrap;
        }

        #pkr-chart-embed .stat-item {
            font-size: 12px;
            color: #64748b;
        }

        #pkr-chart-embed .stat-item strong {
            color: #0f172a;
            font-weight: 700;
        }

        #pkr-chart-embed .chart-canvas-container { position: relative; width: 100%; height: 380px; }

        @media (max-width: 768px) {
            #pkr-chart-embed .chart-canvas-container { height: 300px; }
            #pkr-chart-embed .top-row { flex-direction: column; align-items: flex-start; }
            #pkr-chart-embed .rate-badge-container { align-items: flex-start; }
            #pkr-chart-embed .rate-label-sub { text-align: left; }
            #pkr-chart-embed .toolbar { flex-direction: column; align-items: flex-start; }
        }
    &amp;lt;/style&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
    &amp;lt;div id=&amp;quot;pkr-chart-embed&amp;quot;&amp;gt;
        &amp;lt;div class=&amp;quot;chart-header&amp;quot;&amp;gt;
            &amp;lt;h1 class=&amp;quot;main-title&amp;quot;&amp;gt;
                &amp;lt;span&amp;gt;PKR vs USD Exchange Rate&amp;lt;/span&amp;gt;
                &amp;lt;span class=&amp;quot;currency-badge&amp;quot;&amp;gt;USD / PKR&amp;lt;/span&amp;gt;
            &amp;lt;/h1&amp;gt;

            &amp;lt;div class=&amp;quot;top-row&amp;quot;&amp;gt;
                &amp;lt;div class=&amp;quot;calculator-area&amp;quot;&amp;gt;
                    &amp;lt;span class=&amp;quot;calculator-title&amp;quot;&amp;gt;Calculator&amp;lt;/span&amp;gt;
                    &amp;lt;div class=&amp;quot;converter&amp;quot;&amp;gt;
                        &amp;lt;div class=&amp;quot;converter-group&amp;quot;&amp;gt;
                            &amp;lt;input type=&amp;quot;text&amp;quot; inputmode=&amp;quot;decimal&amp;quot; id=&amp;quot;usdInput&amp;quot; class=&amp;quot;converter-input&amp;quot; value=&amp;quot;1&amp;quot;&amp;gt;
                            &amp;lt;span class=&amp;quot;converter-label&amp;quot;&amp;gt;USD&amp;lt;/span&amp;gt;
                        &amp;lt;/div&amp;gt;
                        &amp;lt;span class=&amp;quot;equals-sign&amp;quot;&amp;gt;=&amp;lt;/span&amp;gt;
                        &amp;lt;div class=&amp;quot;converter-group&amp;quot;&amp;gt;
                            &amp;lt;input type=&amp;quot;text&amp;quot; inputmode=&amp;quot;decimal&amp;quot; id=&amp;quot;pkrInput&amp;quot; class=&amp;quot;converter-input pkr-field&amp;quot; value=&amp;quot;&amp;quot;&amp;gt;
                            &amp;lt;span class=&amp;quot;converter-label&amp;quot;&amp;gt;PKR&amp;lt;/span&amp;gt;
                        &amp;lt;/div&amp;gt;
                    &amp;lt;/div&amp;gt;
                &amp;lt;/div&amp;gt;

                &amp;lt;div class=&amp;quot;rate-badge-container&amp;quot;&amp;gt;
                    &amp;lt;div class=&amp;quot;rate-label-sub&amp;quot;&amp;gt;
                        &amp;lt;span&amp;gt;Latest Closing&amp;lt;/span&amp;gt;
                        &amp;lt;span id=&amp;quot;latestDateLabel&amp;quot;&amp;gt;25-Aug-26&amp;lt;/span&amp;gt;
                    &amp;lt;/div&amp;gt;
                    &amp;lt;div class=&amp;quot;rate-badge&amp;quot;&amp;gt;
                        &amp;lt;span class=&amp;quot;pulse-dot&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;
                        &amp;lt;span id=&amp;quot;latestBadgeRate&amp;quot;&amp;gt;277.52 PKR&amp;lt;/span&amp;gt;
                    &amp;lt;/div&amp;gt;
                &amp;lt;/div&amp;gt;
            &amp;lt;/div&amp;gt;
        &amp;lt;/div&amp;gt;

        &amp;lt;div class=&amp;quot;toolbar&amp;quot;&amp;gt;
            &amp;lt;div class=&amp;quot;timeframe-selector&amp;quot;&amp;gt;
                &amp;lt;button class=&amp;quot;tf-btn&amp;quot; data-range=&amp;quot;30&amp;quot;&amp;gt;1M&amp;lt;/button&amp;gt;
                &amp;lt;button class=&amp;quot;tf-btn&amp;quot; data-range=&amp;quot;90&amp;quot;&amp;gt;3M&amp;lt;/button&amp;gt;
                &amp;lt;button class=&amp;quot;tf-btn&amp;quot; data-range=&amp;quot;180&amp;quot;&amp;gt;6M&amp;lt;/button&amp;gt;
                &amp;lt;button class=&amp;quot;tf-btn&amp;quot; data-range=&amp;quot;365&amp;quot;&amp;gt;1Y&amp;lt;/button&amp;gt;
                &amp;lt;button class=&amp;quot;tf-btn active&amp;quot; data-range=&amp;quot;all&amp;quot;&amp;gt;ALL&amp;lt;/button&amp;gt;
            &amp;lt;/div&amp;gt;

            &amp;lt;div class=&amp;quot;stats-row&amp;quot;&amp;gt;
                &amp;lt;span class=&amp;quot;stat-item&amp;quot;&amp;gt;High: &amp;lt;strong id=&amp;quot;statHigh&amp;quot;&amp;gt;--&amp;lt;/strong&amp;gt;&amp;lt;/span&amp;gt;
                &amp;lt;span class=&amp;quot;stat-item&amp;quot;&amp;gt;Low: &amp;lt;strong id=&amp;quot;statLow&amp;quot;&amp;gt;--&amp;lt;/strong&amp;gt;&amp;lt;/span&amp;gt;
                &amp;lt;span class=&amp;quot;stat-item&amp;quot;&amp;gt;Avg: &amp;lt;strong id=&amp;quot;statAvg&amp;quot;&amp;gt;--&amp;lt;/strong&amp;gt;&amp;lt;/span&amp;gt;
                &amp;lt;span class=&amp;quot;stat-item&amp;quot;&amp;gt;Change: &amp;lt;strong id=&amp;quot;statChange&amp;quot;&amp;gt;--&amp;lt;/strong&amp;gt;&amp;lt;/span&amp;gt;
            &amp;lt;/div&amp;gt;
        &amp;lt;/div&amp;gt;

        &amp;lt;div class=&amp;quot;chart-canvas-container&amp;quot;&amp;gt;
            &amp;lt;canvas id=&amp;quot;closingRatesChart&amp;quot;&amp;gt;&amp;lt;/canvas&amp;gt;
        &amp;lt;/div&amp;gt;
    &amp;lt;/div&amp;gt;

    &amp;lt;script&amp;gt;
        (function() {
            // Full historical closing rate dataset
            const rawLabels = [&amp;quot;04-Mar-25&amp;quot;, &amp;quot;05-Mar-25&amp;quot;, &amp;quot;06-Mar-25&amp;quot;, &amp;quot;07-Mar-25&amp;quot;, &amp;quot;10-Mar-25&amp;quot;, &amp;quot;11-Mar-25&amp;quot;, &amp;quot;12-Mar-25&amp;quot;, &amp;quot;13-Mar-25&amp;quot;, &amp;quot;14-Mar-25&amp;quot;, &amp;quot;17-Mar-25&amp;quot;, &amp;quot;18-Mar-25&amp;quot;, &amp;quot;19-Mar-25&amp;quot;, &amp;quot;20-Mar-25&amp;quot;, &amp;quot;21-Mar-25&amp;quot;, &amp;quot;24-Mar-25&amp;quot;, &amp;quot;25-Mar-25&amp;quot;, &amp;quot;26-Mar-25&amp;quot;, &amp;quot;27-Mar-25&amp;quot;, &amp;quot;28-Mar-25&amp;quot;, &amp;quot;03-Apr-25&amp;quot;, &amp;quot;04-Apr-25&amp;quot;, &amp;quot;07-Apr-25&amp;quot;, &amp;quot;08-Apr-25&amp;quot;, &amp;quot;09-Apr-25&amp;quot;, &amp;quot;10-Apr-25&amp;quot;, &amp;quot;11-Apr-25&amp;quot;, &amp;quot;14-Apr-25&amp;quot;, &amp;quot;15-Apr-25&amp;quot;, &amp;quot;16-Apr-25&amp;quot;, &amp;quot;17-Apr-25&amp;quot;, &amp;quot;18-Apr-25&amp;quot;, &amp;quot;21-Apr-25&amp;quot;, &amp;quot;22-Apr-25&amp;quot;, &amp;quot;23-Apr-25&amp;quot;, &amp;quot;24-Apr-25&amp;quot;, &amp;quot;25-Apr-25&amp;quot;, &amp;quot;28-Apr-25&amp;quot;, &amp;quot;29-Apr-25&amp;quot;, &amp;quot;30-Apr-25&amp;quot;, &amp;quot;02-May-25&amp;quot;, &amp;quot;05-May-25&amp;quot;, &amp;quot;06-May-25&amp;quot;, &amp;quot;07-May-25&amp;quot;, &amp;quot;08-May-25&amp;quot;, &amp;quot;09-May-25&amp;quot;, &amp;quot;12-May-25&amp;quot;, &amp;quot;13-May-25&amp;quot;, &amp;quot;14-May-25&amp;quot;, &amp;quot;15-May-25&amp;quot;, &amp;quot;16-May-25&amp;quot;, &amp;quot;19-May-25&amp;quot;, &amp;quot;20-May-25&amp;quot;, &amp;quot;21-May-25&amp;quot;, &amp;quot;22-May-25&amp;quot;, &amp;quot;23-May-25&amp;quot;, &amp;quot;26-May-25&amp;quot;, &amp;quot;27-May-25&amp;quot;, &amp;quot;29-May-25&amp;quot;, &amp;quot;30-May-25&amp;quot;, &amp;quot;02-Jun-25&amp;quot;, &amp;quot;03-Jun-25&amp;quot;, &amp;quot;04-Jun-25&amp;quot;, &amp;quot;05-Jun-25&amp;quot;, &amp;quot;10-Jun-25&amp;quot;, &amp;quot;11-Jun-25&amp;quot;, &amp;quot;12-Jun-25&amp;quot;, &amp;quot;13-Jun-25&amp;quot;, &amp;quot;16-Jun-25&amp;quot;, &amp;quot;17-Jun-25&amp;quot;, &amp;quot;18-Jun-25&amp;quot;, &amp;quot;19-Jun-25&amp;quot;, &amp;quot;20-Jun-25&amp;quot;, &amp;quot;23-Jun-25&amp;quot;, &amp;quot;24-Jun-25&amp;quot;, &amp;quot;25-Jun-25&amp;quot;, &amp;quot;26-Jun-25&amp;quot;, &amp;quot;27-Jun-25&amp;quot;, &amp;quot;30-Jun-25&amp;quot;, &amp;quot;02-Jul-25&amp;quot;, &amp;quot;03-Jul-25&amp;quot;, &amp;quot;04-Jul-25&amp;quot;, &amp;quot;07-Jul-25&amp;quot;, &amp;quot;08-Jul-25&amp;quot;, &amp;quot;09-Jul-25&amp;quot;, &amp;quot;10-Jul-25&amp;quot;, &amp;quot;11-Jul-25&amp;quot;, &amp;quot;14-Jul-25&amp;quot;, &amp;quot;15-Jul-25&amp;quot;, &amp;quot;16-Jul-25&amp;quot;, &amp;quot;17-Jul-25&amp;quot;, &amp;quot;18-Jul-25&amp;quot;, &amp;quot;21-Jul-25&amp;quot;, &amp;quot;22-Jul-25&amp;quot;, &amp;quot;23-Jul-25&amp;quot;, &amp;quot;24-Jul-25&amp;quot;, &amp;quot;25-Jul-25&amp;quot;, &amp;quot;28-Jul-25&amp;quot;, &amp;quot;29-Jul-25&amp;quot;, &amp;quot;30-Jul-25&amp;quot;, &amp;quot;31-Jul-25&amp;quot;, &amp;quot;01-Aug-25&amp;quot;, &amp;quot;04-Aug-25&amp;quot;, &amp;quot;05-Aug-25&amp;quot;, &amp;quot;06-Aug-25&amp;quot;, &amp;quot;07-Aug-25&amp;quot;, &amp;quot;08-Aug-25&amp;quot;, &amp;quot;11-Aug-25&amp;quot;, &amp;quot;12-Aug-25&amp;quot;, &amp;quot;13-Aug-25&amp;quot;, &amp;quot;15-Aug-25&amp;quot;, &amp;quot;18-Aug-25&amp;quot;, &amp;quot;19-Aug-25&amp;quot;, &amp;quot;20-Aug-25&amp;quot;, &amp;quot;21-Aug-25&amp;quot;, &amp;quot;22-Aug-25&amp;quot;, &amp;quot;25-Aug-25&amp;quot;, &amp;quot;26-Aug-25&amp;quot;, &amp;quot;27-Aug-25&amp;quot;, &amp;quot;28-Aug-25&amp;quot;, &amp;quot;29-Aug-25&amp;quot;, &amp;quot;01-Sep-25&amp;quot;, &amp;quot;02-Sep-25&amp;quot;, &amp;quot;03-Sep-25&amp;quot;, &amp;quot;04-Sep-25&amp;quot;, &amp;quot;05-Sep-25&amp;quot;, &amp;quot;08-Sep-25&amp;quot;, &amp;quot;09-Sep-25&amp;quot;, &amp;quot;10-Sep-25&amp;quot;, &amp;quot;11-Sep-25&amp;quot;, &amp;quot;12-Sep-25&amp;quot;, &amp;quot;15-Sep-25&amp;quot;, &amp;quot;16-Sep-25&amp;quot;, &amp;quot;17-Sep-25&amp;quot;, &amp;quot;18-Sep-25&amp;quot;, &amp;quot;19-Sep-25&amp;quot;, &amp;quot;21-Sep-25&amp;quot;, &amp;quot;22-Sep-25&amp;quot;, &amp;quot;23-Sep-25&amp;quot;, &amp;quot;24-Sep-25&amp;quot;, &amp;quot;25-Sep-25&amp;quot;, &amp;quot;26-Sep-25&amp;quot;, &amp;quot;29-Sep-25&amp;quot;, &amp;quot;30-Sep-25&amp;quot;, &amp;quot;01-Oct-25&amp;quot;, &amp;quot;02-Oct-25&amp;quot;, &amp;quot;03-Oct-25&amp;quot;, &amp;quot;06-Oct-25&amp;quot;, &amp;quot;07-Oct-25&amp;quot;, &amp;quot;08-Oct-25&amp;quot;, &amp;quot;09-Oct-25&amp;quot;, &amp;quot;10-Oct-25&amp;quot;, &amp;quot;13-Oct-25&amp;quot;, &amp;quot;14-Oct-25&amp;quot;, &amp;quot;15-Oct-25&amp;quot;, &amp;quot;16-Oct-25&amp;quot;, &amp;quot;17-Oct-25&amp;quot;, &amp;quot;20-Oct-25&amp;quot;, &amp;quot;21-Oct-25&amp;quot;, &amp;quot;22-Oct-25&amp;quot;, &amp;quot;23-Oct-25&amp;quot;, &amp;quot;24-Oct-25&amp;quot;, &amp;quot;27-Oct-25&amp;quot;, &amp;quot;28-Oct-25&amp;quot;, &amp;quot;29-Oct-25&amp;quot;, &amp;quot;30-Oct-25&amp;quot;, &amp;quot;31-Oct-25&amp;quot;, &amp;quot;03-Nov-25&amp;quot;, &amp;quot;04-Nov-25&amp;quot;, &amp;quot;05-Nov-25&amp;quot;, &amp;quot;06-Nov-25&amp;quot;, &amp;quot;07-Nov-25&amp;quot;, &amp;quot;10-Nov-25&amp;quot;, &amp;quot;11-Nov-25&amp;quot;, &amp;quot;12-Nov-25&amp;quot;, &amp;quot;13-Nov-25&amp;quot;, &amp;quot;14-Nov-25&amp;quot;, &amp;quot;17-Nov-25&amp;quot;, &amp;quot;18-Nov-25&amp;quot;, &amp;quot;19-Nov-25&amp;quot;, &amp;quot;20-Nov-25&amp;quot;, &amp;quot;21-Nov-25&amp;quot;, &amp;quot;24-Nov-25&amp;quot;, &amp;quot;25-Nov-25&amp;quot;, &amp;quot;26-Nov-25&amp;quot;, &amp;quot;27-Nov-25&amp;quot;, &amp;quot;28-Nov-25&amp;quot;, &amp;quot;01-Dec-25&amp;quot;, &amp;quot;02-Dec-25&amp;quot;, &amp;quot;03-Dec-25&amp;quot;, &amp;quot;04-Dec-25&amp;quot;, &amp;quot;05-Dec-25&amp;quot;, &amp;quot;08-Dec-25&amp;quot;, &amp;quot;09-Dec-25&amp;quot;, &amp;quot;10-Dec-25&amp;quot;, &amp;quot;11-Dec-25&amp;quot;, &amp;quot;12-Dec-25&amp;quot;, &amp;quot;15-Dec-25&amp;quot;, &amp;quot;16-Dec-25&amp;quot;, &amp;quot;17-Dec-25&amp;quot;, &amp;quot;18-Dec-25&amp;quot;, &amp;quot;19-Dec-25&amp;quot;, &amp;quot;22-Dec-25&amp;quot;, &amp;quot;23-Dec-25&amp;quot;, &amp;quot;24-Dec-25&amp;quot;, &amp;quot;26-Dec-25&amp;quot;, &amp;quot;29-Dec-25&amp;quot;, &amp;quot;30-Dec-25&amp;quot;, &amp;quot;31-Dec-25&amp;quot;, &amp;quot;02-Jan-26&amp;quot;, &amp;quot;05-Jan-26&amp;quot;, &amp;quot;06-Jan-26&amp;quot;, &amp;quot;07-Jan-26&amp;quot;, &amp;quot;08-Jan-26&amp;quot;, &amp;quot;09-Jan-26&amp;quot;, &amp;quot;12-Jan-26&amp;quot;, &amp;quot;13-Jan-26&amp;quot;, &amp;quot;14-Jan-26&amp;quot;, &amp;quot;15-Jan-26&amp;quot;, &amp;quot;16-Jan-26&amp;quot;, &amp;quot;19-Jan-26&amp;quot;, &amp;quot;20-Jan-26&amp;quot;, &amp;quot;21-Jan-26&amp;quot;, &amp;quot;22-Jan-26&amp;quot;, &amp;quot;23-Jan-26&amp;quot;, &amp;quot;26-Jan-26&amp;quot;, &amp;quot;27-Jan-26&amp;quot;, &amp;quot;28-Jan-26&amp;quot;, &amp;quot;29-Jan-26&amp;quot;, &amp;quot;30-Jan-26&amp;quot;, &amp;quot;02-Feb-26&amp;quot;, &amp;quot;03-Feb-26&amp;quot;, &amp;quot;04-Feb-26&amp;quot;, &amp;quot;06-Feb-26&amp;quot;, &amp;quot;09-Feb-26&amp;quot;, &amp;quot;10-Feb-26&amp;quot;, &amp;quot;11-Feb-26&amp;quot;, &amp;quot;12-Feb-26&amp;quot;, &amp;quot;13-Feb-26&amp;quot;, &amp;quot;16-Feb-26&amp;quot;, &amp;quot;17-Feb-26&amp;quot;, &amp;quot;18-Feb-26&amp;quot;, &amp;quot;20-Feb-26&amp;quot;, &amp;quot;23-Feb-26&amp;quot;, &amp;quot;24-Feb-26&amp;quot;, &amp;quot;25-Feb-26&amp;quot;, &amp;quot;26-Feb-26&amp;quot;, &amp;quot;27-Feb-26&amp;quot;, &amp;quot;02-Mar-26&amp;quot;, &amp;quot;03-Mar-26&amp;quot;, &amp;quot;04-Mar-26&amp;quot;, &amp;quot;05-Mar-26&amp;quot;, &amp;quot;06-Mar-26&amp;quot;, &amp;quot;09-Mar-26&amp;quot;, &amp;quot;10-Mar-26&amp;quot;, &amp;quot;11-Mar-26&amp;quot;, &amp;quot;12-Mar-26&amp;quot;, &amp;quot;13-Mar-26&amp;quot;, &amp;quot;16-Mar-26&amp;quot;, &amp;quot;17-Mar-26&amp;quot;, &amp;quot;18-Mar-26&amp;quot;, &amp;quot;19-Mar-26&amp;quot;, &amp;quot;24-Mar-26&amp;quot;, &amp;quot;25-Mar-26&amp;quot;, &amp;quot;26-Mar-26&amp;quot;, &amp;quot;27-Mar-26&amp;quot;, &amp;quot;30-Mar-26&amp;quot;, &amp;quot;31-Mar-26&amp;quot;, &amp;quot;01-Apr-26&amp;quot;, &amp;quot;02-Apr-26&amp;quot;, &amp;quot;03-Apr-26&amp;quot;, &amp;quot;04-Apr-26&amp;quot;, &amp;quot;06-Apr-26&amp;quot;, &amp;quot;07-Apr-26&amp;quot;, &amp;quot;08-Apr-26&amp;quot;, &amp;quot;09-Apr-26&amp;quot;, &amp;quot;10-Apr-26&amp;quot;, &amp;quot;13-Apr-26&amp;quot;, &amp;quot;14-Apr-26&amp;quot;, &amp;quot;14-Apr-26&amp;quot;, &amp;quot;15-Apr-26&amp;quot;, &amp;quot;16-Apr-26&amp;quot;, &amp;quot;17-Apr-26&amp;quot;, &amp;quot;20-Apr-26&amp;quot;, &amp;quot;21-Apr-26&amp;quot;, &amp;quot;22-Apr-26&amp;quot;, &amp;quot;23-Apr-26&amp;quot;, &amp;quot;24-Apr-26&amp;quot;, &amp;quot;27-Apr-26&amp;quot;, &amp;quot;28-Apr-26&amp;quot;, &amp;quot;29-Apr-26&amp;quot;, &amp;quot;30-Apr-26&amp;quot;, &amp;quot;04-May-26&amp;quot;, &amp;quot;05-May-26&amp;quot;, &amp;quot;06-May-26&amp;quot;, &amp;quot;07-May-26&amp;quot;, &amp;quot;08-May-26&amp;quot;, &amp;quot;11-May-26&amp;quot;, &amp;quot;12-May-26&amp;quot;, &amp;quot;13-May-26&amp;quot;, &amp;quot;14-May-26&amp;quot;, &amp;quot;15-May-26&amp;quot;, &amp;quot;18-May-26&amp;quot;, &amp;quot;19-May-26&amp;quot;, &amp;quot;20-May-26&amp;quot;, &amp;quot;21-May-26&amp;quot;, &amp;quot;22-May-26&amp;quot;, &amp;quot;25-May-26&amp;quot;, &amp;quot;29-May-26&amp;quot;, &amp;quot;01-Jun-26&amp;quot;, &amp;quot;02-Jun-26&amp;quot;, &amp;quot;03-Jun-26&amp;quot;, &amp;quot;04-Jun-26&amp;quot;, &amp;quot;05-Jun-26&amp;quot;, &amp;quot;08-Jun-26&amp;quot;, &amp;quot;09-Jun-26&amp;quot;, &amp;quot;10-Jun-26&amp;quot;, &amp;quot;11-Jun-26&amp;quot;, &amp;quot;12-Jun-26&amp;quot;, &amp;quot;15-Jun-26&amp;quot;, &amp;quot;16-Jun-26&amp;quot;, &amp;quot;17-Jun-26&amp;quot;, &amp;quot;18-Jun-26&amp;quot;, &amp;quot;19-Jun-26&amp;quot;, &amp;quot;22-Jun-26&amp;quot;, &amp;quot;23-Jun-26&amp;quot;, &amp;quot;24-Jun-26&amp;quot;, &amp;quot;29-Jun-26&amp;quot;, &amp;quot;30-Jun-26&amp;quot;, &amp;quot;02-Jul-26&amp;quot;, &amp;quot;03-Jul-26&amp;quot;, &amp;quot;06-Jul-26&amp;quot;, &amp;quot;07-Jul-26&amp;quot;, &amp;quot;08-Jul-26&amp;quot;, &amp;quot;09-Jul-26&amp;quot;, &amp;quot;10-Jul-26&amp;quot;, &amp;quot;13-Jul-26&amp;quot;, &amp;quot;14-Jul-26&amp;quot;, &amp;quot;15-Jul-26&amp;quot;, &amp;quot;16-Jul-26&amp;quot;, &amp;quot;17-Jul-26&amp;quot;, &amp;quot;20-Jul-26&amp;quot;, &amp;quot;21-Jul-26&amp;quot;, &amp;quot;22-Jul-26&amp;quot;, &amp;quot;23-Jul-26&amp;quot;, &amp;quot;24-Jul-26&amp;quot;, &amp;quot;27-Jul-26&amp;quot;, &amp;quot;28-Jul-26&amp;quot;, &amp;quot;29-Jul-26&amp;quot;, &amp;quot;30-Jul-26&amp;quot;, &amp;quot;03-Aug-26&amp;quot;, &amp;quot;04-Aug-26&amp;quot;, &amp;quot;05-Aug-26&amp;quot;, &amp;quot;06-Aug-26&amp;quot;, &amp;quot;07-Aug-26&amp;quot;, &amp;quot;10-Aug-26&amp;quot;, &amp;quot;11-Aug-26&amp;quot;, &amp;quot;12-Aug-26&amp;quot;, &amp;quot;13-Aug-26&amp;quot;, &amp;quot;17-Aug-26&amp;quot;, &amp;quot;18-Aug-26&amp;quot;, &amp;quot;20-Aug-26&amp;quot;, &amp;quot;21-Aug-26&amp;quot;, &amp;quot;24-Aug-26&amp;quot;, &amp;quot;25-Aug-26&amp;quot;, &amp;quot;27-Aug-26&amp;quot;, &amp;quot;28-Aug-26&amp;quot;];
            
            const rawData = [279.77, 279.87, 279.82, 279.97, 280.07, 279.95, 279.97, 280.05, 280.21, 280.17, 280.27, 280.21, 280.22, 280.26, 280.37, 280.42, 280.26, 280.22, 280.16, 280.56, 280.47, 280.57, 280.73, 280.78, 280.56, 280.47, 280.60, 280.57, 280.46, 280.62, 280.72, 280.87, 280.77, 280.97, 281.07, 280.97, 281.07, 281.02, 280.97, 281.06, 281.22, 281.37, 281.47, 281.52, 281.71, 281.57, 281.67, 281.72, 281.61, 281.66, 281.77, 281.92, 281.97, 282.06, 281.97, 282.06, 282.17, 282.07, 282.02, 281.97, 282.12, 282.22, 282.17, 282.21, 282.47, 282.67, 282.96, 283.17, 283.41, 283.55, 283.64, 283.70, 283.87, 283.77, 283.72, 283.67, 283.72, 283.76, 283.95, 283.86, 283.97, 284.22, 284.36, 284.47, 284.56, 284.46, 284.72, 284.67, 284.96, 284.97, 284.87, 284.95, 284.97, 284.76, 284.22, 283.45, 283.21, 283.05, 282.95, 282.87, 282.72, 282.66, 282.57, 282.67, 282.56, 282.47, 282.45, 282.42, 282.22, 282.06, 282.01, 281.96, 281.95, 281.92, 281.90, 281.87, 281.86, 281.83, 281.80, 281.77, 281.75, 281.72, 281.71, 281.67, 281.65, 281.62, 281.61, 281.60, 281.56, 281.55, 281.52, 281.51, 281.50, 281.47, 281.46, 281.45, 281.46, 281.42, 281.43, 281.41, 281.37, 281.35, 281.32, 281.31, 281.27, 281.26, 281.25, 281.22, 281.21, 281.20, 281.17, 281.16, 281.15, 281.12, 281.11, 281.10, 281.07, 281.06, 281.05, 281.03, 281.02, 281.01, 280.97, 280.96, 280.92, 280.91, 280.90, 280.87, 280.86, 280.85, 280.82, 280.81, 280.78, 280.77, 280.76, 280.72, 280.71, 280.67, 280.66, 280.66, 280.65, 280.62, 280.61, 280.57, 280.56, 280.55, 280.52, 280.51, 280.47, 280.46, 280.45, 280.42, 280.41, 280.40, 280.37, 280.36, 280.32, 280.31, 280.30, 280.27, 280.26, 280.25, 280.22, 280.21, 280.20, 280.17, 280.16, 280.15, 280.12, 280.11, 280.10, 280.07, 280.06, 280.05, 280.02, 280.01, 280.00, 279.97, 279.96, 279.95, 279.92, 279.91, 279.90, 279.87, 279.86, 279.85, 279.82, 279.81, 279.80, 279.77, 279.76, 279.75, 279.72, 279.71, 279.70, 279.67, 279.66, 279.65, 279.62, 279.61, 279.60, 279.57, 279.56, 279.55, 279.52, 279.51, 279.50, 279.47, 279.46, 279.45, 279.42, 279.41, 279.40, 279.37, 279.36, 279.35, 279.32, 279.31, 279.30, 279.27, 279.26, 279.25, 279.22, 279.21, 279.20, 279.17, 279.16, 279.15, 279.12, 279.11, 279.10, 279.07, 279.06, 279.05, 279.02, 279.01, 279.00, 278.97, 278.96, 278.95, 278.92, 278.91, 278.90, 278.87, 278.86, 278.85, 278.82, 278.81, 278.80, 278.77, 278.76, 278.75, 278.72, 278.71, 278.70, 278.67, 278.66, 278.65, 278.62, 278.61, 278.60, 278.57, 278.56, 278.55, 278.52, 278.51, 278.50, 278.47, 278.46, 278.45, 278.42, 278.41, 278.40, 278.37, 278.36, 278.35, 278.32, 278.31, 278.30, 278.27, 278.26, 278.25, 278.22, 278.21, 278.20, 278.17, 278.16, 278.15, 278.12, 278.11, 278.10, 278.07, 278.06, 278.05, 278.02, 278.01, 278.00, 277.95, 277.95, 277.92, 277.91, 277.90, 277.87, 277.86, 277.85, 277.82, 277.81, 277.80, 277.77, 277.76, 277.75, 277.72, 277.71, 277.70, 277.67, 277.66, 277.65, 277.62, 277.61, 277.57, 277.56, 277.55, 277.52, 277.51, 277.50];

            const currentExchangeRate = rawData[rawData.length - 1];
            const currentExchangeDate = rawLabels[rawLabels.length - 1];

            // DOM Elements
            const usdInput = document.getElementById(&amp;#039;usdInput&amp;#039;);
            const pkrInput = document.getElementById(&amp;#039;pkrInput&amp;#039;);
            const badgeEl = document.getElementById(&amp;#039;latestBadgeRate&amp;#039;);
            const dateLabelEl = document.getElementById(&amp;#039;latestDateLabel&amp;#039;);

            const statHighEl = document.getElementById(&amp;#039;statHigh&amp;#039;);
            const statLowEl = document.getElementById(&amp;#039;statLow&amp;#039;);
            const statAvgEl = document.getElementById(&amp;#039;statAvg&amp;#039;);
            const statChangeEl = document.getElementById(&amp;#039;statChange&amp;#039;);

            // Format helpers
            const formatCurrency = (val, maxDecimals = 2, minDecimals = 2) =&amp;gt; {
                if (isNaN(val) || val === null) return &amp;#039;--&amp;#039;;
                return val.toLocaleString(&amp;#039;en-US&amp;#039;, {
                    minimumFractionDigits: minDecimals,
                    maximumFractionDigits: maxDecimals
                });
            };

            const parseCurrency = (valStr) =&amp;gt; {
                if (!valStr) return NaN;
                return parseFloat(valStr.toString().replace(/,/g, &amp;#039;&amp;#039;));
            };

            // Set Initial Values in UI
            dateLabelEl.textContent = currentExchangeDate;
            badgeEl.textContent = formatCurrency(currentExchangeRate) + &amp;#039; PKR&amp;#039;;
            pkrInput.value = formatCurrency(currentExchangeRate);

            // Converter Event Listeners
            usdInput.addEventListener(&amp;#039;input&amp;#039;, (e) =&amp;gt; {
                const val = parseCurrency(e.target.value);
                if (isNaN(val)) {
                    pkrInput.value = &amp;#039;&amp;#039;;
                } else {
                    pkrInput.value = formatCurrency(val * currentExchangeRate);
                }
            });

            pkrInput.addEventListener(&amp;#039;input&amp;#039;, (e) =&amp;gt; {
                const val = parseCurrency(e.target.value);
                if (isNaN(val)) {
                    usdInput.value = &amp;#039;&amp;#039;;
                } else {
                    usdInput.value = formatCurrency(val / currentExchangeRate, 4, 2);
                }
            });

            usdInput.addEventListener(&amp;#039;blur&amp;#039;, (e) =&amp;gt; {
                const val = parseCurrency(e.target.value);
                if (!isNaN(val)) {
                    e.target.value = formatCurrency(val, 2, 0);
                }
            });

            pkrInput.addEventListener(&amp;#039;blur&amp;#039;, (e) =&amp;gt; {
                const val = parseCurrency(e.target.value);
                if (!isNaN(val)) {
                    e.target.value = formatCurrency(val, 2, 2);
                }
            });

            const ctx = document.getElementById(&amp;#039;closingRatesChart&amp;#039;).getContext(&amp;#039;2d&amp;#039;);
            
            // Create gradient fill
            const gradient = ctx.createLinearGradient(0, 0, 0, 350);
            gradient.addColorStop(0, &amp;#039;rgba(79, 70, 229, 0.25)&amp;#039;);
            gradient.addColorStop(1, &amp;#039;rgba(79, 70, 229, 0.0)&amp;#039;);

            let chartInstance = new Chart(ctx, {
                type: &amp;#039;line&amp;#039;,
                data: {
                    labels: rawLabels,
                    datasets: [{
                        label: &amp;#039;USD to PKR&amp;#039;,
                        data: rawData,
                        borderColor: &amp;#039;#4f46e5&amp;#039;,
                        borderWidth: 2,
                        backgroundColor: gradient,
                        fill: true,
                        tension: 0.3,
                        pointRadius: 0,
                        pointHoverRadius: 6,
                        pointHoverBackgroundColor: &amp;#039;#4f46e5&amp;#039;,
                        pointHoverBorderColor: &amp;#039;#ffffff&amp;#039;,
                        pointHoverBorderWidth: 2
                    }]
                },
                options: {
                    responsive: true,
                    maintainAspectRatio: false,
                    interaction: {
                        intersect: false,
                        mode: &amp;#039;index&amp;#039;
                    },
                    plugins: {
                        legend: { display: false },
                        tooltip: {
                            backgroundColor: &amp;#039;#0f172a&amp;#039;,
                            titleFont: { family: &amp;#039;Plus Jakarta Sans&amp;#039;, size: 12, weight: &amp;#039;bold&amp;#039; },
                            bodyFont: { family: &amp;#039;Plus Jakarta Sans&amp;#039;, size: 13 },
                            padding: 10,
                            cornerRadius: 8,
                            displayColors: false,
                            callbacks: {
                                label: function(context) {
                                    return &amp;#039;Rate: &amp;#039; + formatCurrency(context.parsed.y) + &amp;#039; PKR&amp;#039;;
                                }
                            }
                        }
                    },
                    scales: {
                        x: {
                            grid: { display: false },
                            ticks: {
                                font: { family: &amp;#039;Plus Jakarta Sans&amp;#039;, size: 11 },
                                color: &amp;#039;#64748b&amp;#039;,
                                maxTicksLimit: 8,
                                maxRotation: 0
                            }
                        },
                        y: {
                            grid: { color: &amp;#039;#f1f5f9&amp;#039; },
                            ticks: {
                                font: { family: &amp;#039;Plus Jakarta Sans&amp;#039;, size: 11 },
                                color: &amp;#039;#64748b&amp;#039;,
                                callback: function(value) {
                                    return value.toFixed(1);
                                }
                            }
                        }
                    }
                }
            });

            function updateRangeStats(labels, data) {
                if (!data || data.length === 0) return;

                const high = Math.max(...data);
                const low = Math.min(...data);
                const avg = data.reduce((a, b) =&amp;gt; a + b, 0) / data.length;
                const startVal = data[0];
                const endVal = data[data.length - 1];
                const change = endVal - startVal;
                const changePct = (change / startVal) * 100;

                statHighEl.textContent = formatCurrency(high);
                statLowEl.textContent = formatCurrency(low);
                statAvgEl.textContent = formatCurrency(avg);

                const sign = change &amp;gt;= 0 ? &amp;#039;+&amp;#039; : &amp;#039;&amp;#039;;
                statChangeEl.textContent = `${sign}${formatCurrency(change)} (${sign}${changePct.toFixed(2)}%)`;
                statChangeEl.style.color = change &amp;gt; 0 ? &amp;#039;#10b981&amp;#039; : (change &amp;lt; 0 ? &amp;#039;#ef4444&amp;#039; : &amp;#039;#64748b&amp;#039;);
            }

            // Timeframe filtering handler
            function setTimeframe(rangeCount) {
                let slicedLabels = rawLabels;
                let slicedData = rawData;

                if (rangeCount !== &amp;#039;all&amp;#039;) {
                    const count = parseInt(rangeCount, 10);
                    slicedLabels = rawLabels.slice(-count);
                    slicedData = rawData.slice(-count);
                }

                chartInstance.data.labels = slicedLabels;
                chartInstance.data.datasets[0].data = slicedData;

                // Adjust Y axis dynamic scaling
                const minVal = Math.min(...slicedData);
                const maxVal = Math.max(...slicedData);
                const padding = (maxVal - minVal) * 0.1 || 1;
                
                chartInstance.options.scales.y.min = Math.floor((minVal - padding) * 10) / 10;
                chartInstance.options.scales.y.max = Math.ceil((maxVal + padding) * 10) / 10;

                chartInstance.update();
                updateRangeStats(slicedLabels, slicedData);
            }

            // Setup timeframe button listeners
            document.querySelectorAll(&amp;#039;#pkr-chart-embed .tf-btn&amp;#039;).forEach(btn =&amp;gt; {
                btn.addEventListener(&amp;#039;click&amp;#039;, (e) =&amp;gt; {
                    document.querySelectorAll(&amp;#039;#pkr-chart-embed .tf-btn&amp;#039;).forEach(b =&amp;gt; b.classList.remove(&amp;#039;active&amp;#039;));
                    e.target.classList.add(&amp;#039;active&amp;#039;);
                    setTimeframe(e.target.getAttribute(&amp;#039;data-range&amp;#039;));
                });
            });

            // Initial range load
            setTimeframe(&amp;#039;all&amp;#039;);
        })();
    &amp;lt;/script&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;
    &amp;lt;script&amp;gt;
        function reportHeight() {
            var h = document.documentElement.scrollHeight;
            window.parent.postMessage({ type: &amp;#039;raw-html-resize&amp;#039;, id: &amp;#039;raw-html-6a91a68fb5792&amp;#039;, height: h }, &amp;#039;*&amp;#039;);
        }
        window.addEventListener(&amp;#039;load&amp;#039;, reportHeight);
        if (window.ResizeObserver) {
            new ResizeObserver(reportHeight).observe(document.body);
        }
    &amp;lt;/script&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;"&gt;&lt;/iframe&gt;
&lt;script&gt;
if (!window._rawHtmlListenerAttached) {
    window._rawHtmlListenerAttached = true;
    window.addEventListener('message', function(event) {
        if (event.data &amp;&amp; event.data.type === 'raw-html-resize' &amp;&amp; event.data.id) {
            var iframe = document.getElementById(event.data.id);
            if (iframe) {
                var height = Math.min(Math.max(event.data.height, 50), 9200);
                iframe.style.height = height + 'px';
            }
        }
    });
}
&lt;/script&gt;
&lt;p&gt;&lt;strong&gt;The Pakistani rupee extended its marginal gains against the US dollar on Friday.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The local unit closed the day at 277.50, a gain of Re0.01 against the greenback.&lt;/p&gt;
    &lt;figure class='media  w-full sm:w-full  media--center  media--embed  media--uneven media--tweet' data-original-src='https://x.com/StateBank_Pak/status/2093305880909594838'&gt;
        &lt;div class='media__item  media__item--twitter  '&gt;&lt;span&gt;
    &lt;blockquote class="twitter-tweet" lang="en"&gt;
        &lt;a href="https://twitter.com/StateBank_Pak/status/2093305880909594838"&gt;&lt;/a&gt;
    &lt;/blockquote&gt;
&lt;/span&gt;&lt;/div&gt;
        
    &lt;/figure&gt;
&lt;p&gt;&lt;a href="https://www.brecorder.com/news/40436679"&gt;&lt;u&gt;On Thursday&lt;/u&gt;&lt;/a&gt;&lt;u&gt;, &lt;/u&gt;the Pakistani rupee settled at 277.51 against the dollar.&lt;/p&gt;
&lt;p&gt;The US dollar held ​flat near a one-week high against major peers on Friday.&lt;/p&gt;
&lt;p&gt;The euro and sterling were subdued near one-week lows against the greenback, last at $1.1652 and $1.3597, respectively, though both remained on track for a second ​straight monthly gain.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.brecorder.com/news/40436825/dollar-flat-near-one-week-high-as-investors-await-warshs-jackson-hole-debut"&gt;The yen was little&lt;/a&gt; changed at 159.34 per dollar, having surrendered part of its intervention-driven gains, ​but it was still headed for a 1.3% monthly rise.&lt;/p&gt;
&lt;p&gt;The dollar index, which measures ⁠the currency against six major peers, was little changed at 99.13 in early Asian trading.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.brecorder.com/news/40436824/oil-holds-steady-on-track-for-weekly-fall-on-us-iran-talks-stalemate"&gt;Oil prices fell on Friday&lt;/a&gt; and were on track for a weekly drop as traders weighed crude flows making it through the Strait of Hormuz against the deadlock in U.S.-Iran diplomacy.&lt;/p&gt;
&lt;p&gt;Brent crude futures were ​down 52 cents or 0.6% at $89.18 a barrel at 1419 GMT. West Texas Intermediate crude futures fell $1.01, ‌or 1.2%, to $82.52.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Inter-bank market rates for dollar on Friday&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;BID Rs 277.50&lt;/p&gt;
&lt;p&gt;OFFER Rs 277.70&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Open-market movement&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;In the open market, the PKR lost 5 paise for both buying and selling against USD, closing at 278.30 and 279.23, respectively.&lt;/p&gt;
&lt;p&gt;Against Euro, the PKR gained 27 paise for buying and 24 paise for selling, closing at 322.72 and 325.55, respectively.&lt;/p&gt;
&lt;p&gt;Against UAE Dirham, the PKR lost 3 paise for both buying and selling, closing at 75.63 and 76.29, respectively.&lt;/p&gt;
&lt;p&gt;Against Saudi Riyal, the PKR lost 5 paise for buying and 1 paisa for selling, closing at 73.93 and 74.47, respectively.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Open-market rates for dollar on Friday&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;BID Rs 278.30&lt;/p&gt;
&lt;p&gt;OFFER Rs 279.23&lt;/p&gt;
</description>
      <content:encoded xmlns="http://purl.org/rss/1.0/modules/content/"><![CDATA[<iframe id="raw-html-6a91a68fb5792" class="raw-html-embed" style="width: 100%; min-height: 50px; max-height: 9200px; border: none; overflow: hidden;" scrolling="no" srcdoc="&lt;!DOCTYPE html&gt;
&lt;html&gt;
&lt;head&gt;
    &lt;style&gt;
        body { margin: 0; padding: 0; font-family: system-ui, -apple-system, sans-serif; overflow-wrap: anywhere; }
    &lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
    
&lt;!DOCTYPE html&gt;
&lt;html lang=&quot;en&quot;&gt;
&lt;head&gt;
    &lt;meta charset=&quot;UTF-8&quot;&gt;
    &lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1.0&quot;&gt;
    &lt;title&gt;PKR vs USD Exchange Rate Chart&lt;/title&gt;
    &lt;!-- Chart.js for interactive rendering --&gt;
    &lt;script src=&quot;https://cdn.jsdelivr.net/npm/chart.js&quot;&gt;&lt;/script&gt;
    
    &lt;style&gt;
        @import url(&#039;https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght=400;500;600;700&amp;display=swap&#039;);

        #pkr-chart-embed {
            font-family: &#039;Plus Jakarta Sans&#039;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, Roboto, sans-serif;
            max-width: 1000px;
            width: 100%;
            margin: 24px auto;
            background-color: #ffffff;
            border: 1px solid #e2e8f0;
            border-radius: 20px;
            padding: 24px;
            box-shadow: 0 10px 25px -5px rgba(15, 23, 42, 0.05), 0 8px 10px -6px rgba(15, 23, 42, 0.05);
            color: #0f172a;
            box-sizing: border-box;
        }

        #pkr-chart-embed * { box-sizing: border-box; margin: 0; padding: 0; }

        #pkr-chart-embed .chart-header {
            display: flex;
            flex-direction: column;
            gap: 20px;
            margin-bottom: 20px;
            width: 100%;
        }

        #pkr-chart-embed .top-row {
            display: flex;
            flex-direction: row;
            justify-content: space-between;
            align-items: flex-start;
            gap: 20px;
        }

        #pkr-chart-embed .calculator-area {
            display: flex;
            flex-direction: column;
            gap: 8px;
            align-items: flex-start;
        }

        #pkr-chart-embed .main-title {
            font-size: 22px;
            font-weight: 700;
            color: #0f172a;
            letter-spacing: -0.025em;
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            gap: 10px;
        }

        #pkr-chart-embed .currency-badge {
            font-size: 11px;
            font-weight: 600;
            color: #4f46e5;
            background-color: rgba(79, 70, 229, 0.08);
            padding: 3px 10px;
            border-radius: 9999px;
            border: 1px solid rgba(79, 70, 229, 0.15);
            text-transform: uppercase;
        }

        #pkr-chart-embed .calculator-title {
            font-size: 10px;
            font-weight: 700;
            color: #64748b;
            text-transform: uppercase;
            letter-spacing: 0.05em;
        }

        #pkr-chart-embed .converter {
            display: flex;
            align-items: center;
            background: #f8fafc;
            border: 1px solid #e2e8f0;
            border-radius: 12px;
            padding: 4px;
            gap: 6px;
        }

        #pkr-chart-embed .converter-group {
            display: flex;
            align-items: center;
            background: #ffffff;
            border-radius: 8px;
            padding: 6px 10px;
            box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
            border: 1px solid #e2e8f0;
        }

        #pkr-chart-embed .converter-input {
            border: none;
            outline: none;
            width: 90px;
            font-family: inherit;
            font-weight: 700;
            color: #0f172a;
            font-size: 14px;
            text-align: right;
            background: transparent;
        }

        #pkr-chart-embed .converter-input.pkr-field { width: 120px; }

        #pkr-chart-embed .converter-label {
            font-size: 11px;
            font-weight: 700;
            color: #64748b;
            margin-left: 6px;
        }

        #pkr-chart-embed .equals-sign { color: #94a3b8; font-weight: 600; font-size: 16px; }

        #pkr-chart-embed .rate-badge-container {
            display: flex;
            flex-direction: column;
            align-items: flex-end;
            gap: 6px;
        }

        #pkr-chart-embed .rate-label-sub { text-align: right; }
        #pkr-chart-embed .rate-label-sub span:first-child { display: block; font-size: 9px; text-transform: uppercase; font-weight: 700; color: #64748b; }
        #pkr-chart-embed .rate-label-sub span:last-child { display: block; font-size: 12px; color: #334155; font-weight: 600; }

        #pkr-chart-embed .rate-badge {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            background: linear-gradient(135deg, #4f46e5, #3b82f6);
            color: #ffffff;
            font-weight: 700;
            font-size: 14px;
            padding: 8px 14px;
            border-radius: 12px;
            box-shadow: 0 8px 16px -3px rgba(79, 70, 229, 0.25);
        }

        #pkr-chart-embed .pulse-dot { width: 8px; height: 8px; border-radius: 50%; background-color: #ffffff; animation: pkrPulse 1.5s infinite; }

        @keyframes pkrPulse {
            0% { transform: scale(0.95); opacity: 0.6; }
            50% { transform: scale(1.15); opacity: 1; }
            100% { transform: scale(0.95); opacity: 0.6; }
        }

        /* Controls &amp; Stats Toolbar */
        #pkr-chart-embed .toolbar {
            display: flex;
            justify-content: space-between;
            align-items: center;
            flex-wrap: wrap;
            gap: 12px;
            margin-bottom: 16px;
            padding-bottom: 12px;
            border-bottom: 1px solid #f1f5f9;
        }

        #pkr-chart-embed .timeframe-selector {
            display: flex;
            gap: 4px;
            background: #f1f5f9;
            padding: 3px;
            border-radius: 10px;
        }

        #pkr-chart-embed .tf-btn {
            border: none;
            background: transparent;
            font-family: inherit;
            font-size: 12px;
            font-weight: 600;
            color: #64748b;
            padding: 5px 12px;
            border-radius: 7px;
            cursor: pointer;
            transition: all 0.2s ease;
        }

        #pkr-chart-embed .tf-btn.active {
            background: #ffffff;
            color: #4f46e5;
            box-shadow: 0 1px 3px rgba(0,0,0,0.1);
        }

        #pkr-chart-embed .stats-row {
            display: flex;
            gap: 16px;
            flex-wrap: wrap;
        }

        #pkr-chart-embed .stat-item {
            font-size: 12px;
            color: #64748b;
        }

        #pkr-chart-embed .stat-item strong {
            color: #0f172a;
            font-weight: 700;
        }

        #pkr-chart-embed .chart-canvas-container { position: relative; width: 100%; height: 380px; }

        @media (max-width: 768px) {
            #pkr-chart-embed .chart-canvas-container { height: 300px; }
            #pkr-chart-embed .top-row { flex-direction: column; align-items: flex-start; }
            #pkr-chart-embed .rate-badge-container { align-items: flex-start; }
            #pkr-chart-embed .rate-label-sub { text-align: left; }
            #pkr-chart-embed .toolbar { flex-direction: column; align-items: flex-start; }
        }
    &lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
    &lt;div id=&quot;pkr-chart-embed&quot;&gt;
        &lt;div class=&quot;chart-header&quot;&gt;
            &lt;h1 class=&quot;main-title&quot;&gt;
                &lt;span&gt;PKR vs USD Exchange Rate&lt;/span&gt;
                &lt;span class=&quot;currency-badge&quot;&gt;USD / PKR&lt;/span&gt;
            &lt;/h1&gt;

            &lt;div class=&quot;top-row&quot;&gt;
                &lt;div class=&quot;calculator-area&quot;&gt;
                    &lt;span class=&quot;calculator-title&quot;&gt;Calculator&lt;/span&gt;
                    &lt;div class=&quot;converter&quot;&gt;
                        &lt;div class=&quot;converter-group&quot;&gt;
                            &lt;input type=&quot;text&quot; inputmode=&quot;decimal&quot; id=&quot;usdInput&quot; class=&quot;converter-input&quot; value=&quot;1&quot;&gt;
                            &lt;span class=&quot;converter-label&quot;&gt;USD&lt;/span&gt;
                        &lt;/div&gt;
                        &lt;span class=&quot;equals-sign&quot;&gt;=&lt;/span&gt;
                        &lt;div class=&quot;converter-group&quot;&gt;
                            &lt;input type=&quot;text&quot; inputmode=&quot;decimal&quot; id=&quot;pkrInput&quot; class=&quot;converter-input pkr-field&quot; value=&quot;&quot;&gt;
                            &lt;span class=&quot;converter-label&quot;&gt;PKR&lt;/span&gt;
                        &lt;/div&gt;
                    &lt;/div&gt;
                &lt;/div&gt;

                &lt;div class=&quot;rate-badge-container&quot;&gt;
                    &lt;div class=&quot;rate-label-sub&quot;&gt;
                        &lt;span&gt;Latest Closing&lt;/span&gt;
                        &lt;span id=&quot;latestDateLabel&quot;&gt;25-Aug-26&lt;/span&gt;
                    &lt;/div&gt;
                    &lt;div class=&quot;rate-badge&quot;&gt;
                        &lt;span class=&quot;pulse-dot&quot;&gt;&lt;/span&gt;
                        &lt;span id=&quot;latestBadgeRate&quot;&gt;277.52 PKR&lt;/span&gt;
                    &lt;/div&gt;
                &lt;/div&gt;
            &lt;/div&gt;
        &lt;/div&gt;

        &lt;div class=&quot;toolbar&quot;&gt;
            &lt;div class=&quot;timeframe-selector&quot;&gt;
                &lt;button class=&quot;tf-btn&quot; data-range=&quot;30&quot;&gt;1M&lt;/button&gt;
                &lt;button class=&quot;tf-btn&quot; data-range=&quot;90&quot;&gt;3M&lt;/button&gt;
                &lt;button class=&quot;tf-btn&quot; data-range=&quot;180&quot;&gt;6M&lt;/button&gt;
                &lt;button class=&quot;tf-btn&quot; data-range=&quot;365&quot;&gt;1Y&lt;/button&gt;
                &lt;button class=&quot;tf-btn active&quot; data-range=&quot;all&quot;&gt;ALL&lt;/button&gt;
            &lt;/div&gt;

            &lt;div class=&quot;stats-row&quot;&gt;
                &lt;span class=&quot;stat-item&quot;&gt;High: &lt;strong id=&quot;statHigh&quot;&gt;--&lt;/strong&gt;&lt;/span&gt;
                &lt;span class=&quot;stat-item&quot;&gt;Low: &lt;strong id=&quot;statLow&quot;&gt;--&lt;/strong&gt;&lt;/span&gt;
                &lt;span class=&quot;stat-item&quot;&gt;Avg: &lt;strong id=&quot;statAvg&quot;&gt;--&lt;/strong&gt;&lt;/span&gt;
                &lt;span class=&quot;stat-item&quot;&gt;Change: &lt;strong id=&quot;statChange&quot;&gt;--&lt;/strong&gt;&lt;/span&gt;
            &lt;/div&gt;
        &lt;/div&gt;

        &lt;div class=&quot;chart-canvas-container&quot;&gt;
            &lt;canvas id=&quot;closingRatesChart&quot;&gt;&lt;/canvas&gt;
        &lt;/div&gt;
    &lt;/div&gt;

    &lt;script&gt;
        (function() {
            // Full historical closing rate dataset
            const rawLabels = [&quot;04-Mar-25&quot;, &quot;05-Mar-25&quot;, &quot;06-Mar-25&quot;, &quot;07-Mar-25&quot;, &quot;10-Mar-25&quot;, &quot;11-Mar-25&quot;, &quot;12-Mar-25&quot;, &quot;13-Mar-25&quot;, &quot;14-Mar-25&quot;, &quot;17-Mar-25&quot;, &quot;18-Mar-25&quot;, &quot;19-Mar-25&quot;, &quot;20-Mar-25&quot;, &quot;21-Mar-25&quot;, &quot;24-Mar-25&quot;, &quot;25-Mar-25&quot;, &quot;26-Mar-25&quot;, &quot;27-Mar-25&quot;, &quot;28-Mar-25&quot;, &quot;03-Apr-25&quot;, &quot;04-Apr-25&quot;, &quot;07-Apr-25&quot;, &quot;08-Apr-25&quot;, &quot;09-Apr-25&quot;, &quot;10-Apr-25&quot;, &quot;11-Apr-25&quot;, &quot;14-Apr-25&quot;, &quot;15-Apr-25&quot;, &quot;16-Apr-25&quot;, &quot;17-Apr-25&quot;, &quot;18-Apr-25&quot;, &quot;21-Apr-25&quot;, &quot;22-Apr-25&quot;, &quot;23-Apr-25&quot;, &quot;24-Apr-25&quot;, &quot;25-Apr-25&quot;, &quot;28-Apr-25&quot;, &quot;29-Apr-25&quot;, &quot;30-Apr-25&quot;, &quot;02-May-25&quot;, &quot;05-May-25&quot;, &quot;06-May-25&quot;, &quot;07-May-25&quot;, &quot;08-May-25&quot;, &quot;09-May-25&quot;, &quot;12-May-25&quot;, &quot;13-May-25&quot;, &quot;14-May-25&quot;, &quot;15-May-25&quot;, &quot;16-May-25&quot;, &quot;19-May-25&quot;, &quot;20-May-25&quot;, &quot;21-May-25&quot;, &quot;22-May-25&quot;, &quot;23-May-25&quot;, &quot;26-May-25&quot;, &quot;27-May-25&quot;, &quot;29-May-25&quot;, &quot;30-May-25&quot;, &quot;02-Jun-25&quot;, &quot;03-Jun-25&quot;, &quot;04-Jun-25&quot;, &quot;05-Jun-25&quot;, &quot;10-Jun-25&quot;, &quot;11-Jun-25&quot;, &quot;12-Jun-25&quot;, &quot;13-Jun-25&quot;, &quot;16-Jun-25&quot;, &quot;17-Jun-25&quot;, &quot;18-Jun-25&quot;, &quot;19-Jun-25&quot;, &quot;20-Jun-25&quot;, &quot;23-Jun-25&quot;, &quot;24-Jun-25&quot;, &quot;25-Jun-25&quot;, &quot;26-Jun-25&quot;, &quot;27-Jun-25&quot;, &quot;30-Jun-25&quot;, &quot;02-Jul-25&quot;, &quot;03-Jul-25&quot;, &quot;04-Jul-25&quot;, &quot;07-Jul-25&quot;, &quot;08-Jul-25&quot;, &quot;09-Jul-25&quot;, &quot;10-Jul-25&quot;, &quot;11-Jul-25&quot;, &quot;14-Jul-25&quot;, &quot;15-Jul-25&quot;, &quot;16-Jul-25&quot;, &quot;17-Jul-25&quot;, &quot;18-Jul-25&quot;, &quot;21-Jul-25&quot;, &quot;22-Jul-25&quot;, &quot;23-Jul-25&quot;, &quot;24-Jul-25&quot;, &quot;25-Jul-25&quot;, &quot;28-Jul-25&quot;, &quot;29-Jul-25&quot;, &quot;30-Jul-25&quot;, &quot;31-Jul-25&quot;, &quot;01-Aug-25&quot;, &quot;04-Aug-25&quot;, &quot;05-Aug-25&quot;, &quot;06-Aug-25&quot;, &quot;07-Aug-25&quot;, &quot;08-Aug-25&quot;, &quot;11-Aug-25&quot;, &quot;12-Aug-25&quot;, &quot;13-Aug-25&quot;, &quot;15-Aug-25&quot;, &quot;18-Aug-25&quot;, &quot;19-Aug-25&quot;, &quot;20-Aug-25&quot;, &quot;21-Aug-25&quot;, &quot;22-Aug-25&quot;, &quot;25-Aug-25&quot;, &quot;26-Aug-25&quot;, &quot;27-Aug-25&quot;, &quot;28-Aug-25&quot;, &quot;29-Aug-25&quot;, &quot;01-Sep-25&quot;, &quot;02-Sep-25&quot;, &quot;03-Sep-25&quot;, &quot;04-Sep-25&quot;, &quot;05-Sep-25&quot;, &quot;08-Sep-25&quot;, &quot;09-Sep-25&quot;, &quot;10-Sep-25&quot;, &quot;11-Sep-25&quot;, &quot;12-Sep-25&quot;, &quot;15-Sep-25&quot;, &quot;16-Sep-25&quot;, &quot;17-Sep-25&quot;, &quot;18-Sep-25&quot;, &quot;19-Sep-25&quot;, &quot;21-Sep-25&quot;, &quot;22-Sep-25&quot;, &quot;23-Sep-25&quot;, &quot;24-Sep-25&quot;, &quot;25-Sep-25&quot;, &quot;26-Sep-25&quot;, &quot;29-Sep-25&quot;, &quot;30-Sep-25&quot;, &quot;01-Oct-25&quot;, &quot;02-Oct-25&quot;, &quot;03-Oct-25&quot;, &quot;06-Oct-25&quot;, &quot;07-Oct-25&quot;, &quot;08-Oct-25&quot;, &quot;09-Oct-25&quot;, &quot;10-Oct-25&quot;, &quot;13-Oct-25&quot;, &quot;14-Oct-25&quot;, &quot;15-Oct-25&quot;, &quot;16-Oct-25&quot;, &quot;17-Oct-25&quot;, &quot;20-Oct-25&quot;, &quot;21-Oct-25&quot;, &quot;22-Oct-25&quot;, &quot;23-Oct-25&quot;, &quot;24-Oct-25&quot;, &quot;27-Oct-25&quot;, &quot;28-Oct-25&quot;, &quot;29-Oct-25&quot;, &quot;30-Oct-25&quot;, &quot;31-Oct-25&quot;, &quot;03-Nov-25&quot;, &quot;04-Nov-25&quot;, &quot;05-Nov-25&quot;, &quot;06-Nov-25&quot;, &quot;07-Nov-25&quot;, &quot;10-Nov-25&quot;, &quot;11-Nov-25&quot;, &quot;12-Nov-25&quot;, &quot;13-Nov-25&quot;, &quot;14-Nov-25&quot;, &quot;17-Nov-25&quot;, &quot;18-Nov-25&quot;, &quot;19-Nov-25&quot;, &quot;20-Nov-25&quot;, &quot;21-Nov-25&quot;, &quot;24-Nov-25&quot;, &quot;25-Nov-25&quot;, &quot;26-Nov-25&quot;, &quot;27-Nov-25&quot;, &quot;28-Nov-25&quot;, &quot;01-Dec-25&quot;, &quot;02-Dec-25&quot;, &quot;03-Dec-25&quot;, &quot;04-Dec-25&quot;, &quot;05-Dec-25&quot;, &quot;08-Dec-25&quot;, &quot;09-Dec-25&quot;, &quot;10-Dec-25&quot;, &quot;11-Dec-25&quot;, &quot;12-Dec-25&quot;, &quot;15-Dec-25&quot;, &quot;16-Dec-25&quot;, &quot;17-Dec-25&quot;, &quot;18-Dec-25&quot;, &quot;19-Dec-25&quot;, &quot;22-Dec-25&quot;, &quot;23-Dec-25&quot;, &quot;24-Dec-25&quot;, &quot;26-Dec-25&quot;, &quot;29-Dec-25&quot;, &quot;30-Dec-25&quot;, &quot;31-Dec-25&quot;, &quot;02-Jan-26&quot;, &quot;05-Jan-26&quot;, &quot;06-Jan-26&quot;, &quot;07-Jan-26&quot;, &quot;08-Jan-26&quot;, &quot;09-Jan-26&quot;, &quot;12-Jan-26&quot;, &quot;13-Jan-26&quot;, &quot;14-Jan-26&quot;, &quot;15-Jan-26&quot;, &quot;16-Jan-26&quot;, &quot;19-Jan-26&quot;, &quot;20-Jan-26&quot;, &quot;21-Jan-26&quot;, &quot;22-Jan-26&quot;, &quot;23-Jan-26&quot;, &quot;26-Jan-26&quot;, &quot;27-Jan-26&quot;, &quot;28-Jan-26&quot;, &quot;29-Jan-26&quot;, &quot;30-Jan-26&quot;, &quot;02-Feb-26&quot;, &quot;03-Feb-26&quot;, &quot;04-Feb-26&quot;, &quot;06-Feb-26&quot;, &quot;09-Feb-26&quot;, &quot;10-Feb-26&quot;, &quot;11-Feb-26&quot;, &quot;12-Feb-26&quot;, &quot;13-Feb-26&quot;, &quot;16-Feb-26&quot;, &quot;17-Feb-26&quot;, &quot;18-Feb-26&quot;, &quot;20-Feb-26&quot;, &quot;23-Feb-26&quot;, &quot;24-Feb-26&quot;, &quot;25-Feb-26&quot;, &quot;26-Feb-26&quot;, &quot;27-Feb-26&quot;, &quot;02-Mar-26&quot;, &quot;03-Mar-26&quot;, &quot;04-Mar-26&quot;, &quot;05-Mar-26&quot;, &quot;06-Mar-26&quot;, &quot;09-Mar-26&quot;, &quot;10-Mar-26&quot;, &quot;11-Mar-26&quot;, &quot;12-Mar-26&quot;, &quot;13-Mar-26&quot;, &quot;16-Mar-26&quot;, &quot;17-Mar-26&quot;, &quot;18-Mar-26&quot;, &quot;19-Mar-26&quot;, &quot;24-Mar-26&quot;, &quot;25-Mar-26&quot;, &quot;26-Mar-26&quot;, &quot;27-Mar-26&quot;, &quot;30-Mar-26&quot;, &quot;31-Mar-26&quot;, &quot;01-Apr-26&quot;, &quot;02-Apr-26&quot;, &quot;03-Apr-26&quot;, &quot;04-Apr-26&quot;, &quot;06-Apr-26&quot;, &quot;07-Apr-26&quot;, &quot;08-Apr-26&quot;, &quot;09-Apr-26&quot;, &quot;10-Apr-26&quot;, &quot;13-Apr-26&quot;, &quot;14-Apr-26&quot;, &quot;14-Apr-26&quot;, &quot;15-Apr-26&quot;, &quot;16-Apr-26&quot;, &quot;17-Apr-26&quot;, &quot;20-Apr-26&quot;, &quot;21-Apr-26&quot;, &quot;22-Apr-26&quot;, &quot;23-Apr-26&quot;, &quot;24-Apr-26&quot;, &quot;27-Apr-26&quot;, &quot;28-Apr-26&quot;, &quot;29-Apr-26&quot;, &quot;30-Apr-26&quot;, &quot;04-May-26&quot;, &quot;05-May-26&quot;, &quot;06-May-26&quot;, &quot;07-May-26&quot;, &quot;08-May-26&quot;, &quot;11-May-26&quot;, &quot;12-May-26&quot;, &quot;13-May-26&quot;, &quot;14-May-26&quot;, &quot;15-May-26&quot;, &quot;18-May-26&quot;, &quot;19-May-26&quot;, &quot;20-May-26&quot;, &quot;21-May-26&quot;, &quot;22-May-26&quot;, &quot;25-May-26&quot;, &quot;29-May-26&quot;, &quot;01-Jun-26&quot;, &quot;02-Jun-26&quot;, &quot;03-Jun-26&quot;, &quot;04-Jun-26&quot;, &quot;05-Jun-26&quot;, &quot;08-Jun-26&quot;, &quot;09-Jun-26&quot;, &quot;10-Jun-26&quot;, &quot;11-Jun-26&quot;, &quot;12-Jun-26&quot;, &quot;15-Jun-26&quot;, &quot;16-Jun-26&quot;, &quot;17-Jun-26&quot;, &quot;18-Jun-26&quot;, &quot;19-Jun-26&quot;, &quot;22-Jun-26&quot;, &quot;23-Jun-26&quot;, &quot;24-Jun-26&quot;, &quot;29-Jun-26&quot;, &quot;30-Jun-26&quot;, &quot;02-Jul-26&quot;, &quot;03-Jul-26&quot;, &quot;06-Jul-26&quot;, &quot;07-Jul-26&quot;, &quot;08-Jul-26&quot;, &quot;09-Jul-26&quot;, &quot;10-Jul-26&quot;, &quot;13-Jul-26&quot;, &quot;14-Jul-26&quot;, &quot;15-Jul-26&quot;, &quot;16-Jul-26&quot;, &quot;17-Jul-26&quot;, &quot;20-Jul-26&quot;, &quot;21-Jul-26&quot;, &quot;22-Jul-26&quot;, &quot;23-Jul-26&quot;, &quot;24-Jul-26&quot;, &quot;27-Jul-26&quot;, &quot;28-Jul-26&quot;, &quot;29-Jul-26&quot;, &quot;30-Jul-26&quot;, &quot;03-Aug-26&quot;, &quot;04-Aug-26&quot;, &quot;05-Aug-26&quot;, &quot;06-Aug-26&quot;, &quot;07-Aug-26&quot;, &quot;10-Aug-26&quot;, &quot;11-Aug-26&quot;, &quot;12-Aug-26&quot;, &quot;13-Aug-26&quot;, &quot;17-Aug-26&quot;, &quot;18-Aug-26&quot;, &quot;20-Aug-26&quot;, &quot;21-Aug-26&quot;, &quot;24-Aug-26&quot;, &quot;25-Aug-26&quot;, &quot;27-Aug-26&quot;, &quot;28-Aug-26&quot;];
            
            const rawData = [279.77, 279.87, 279.82, 279.97, 280.07, 279.95, 279.97, 280.05, 280.21, 280.17, 280.27, 280.21, 280.22, 280.26, 280.37, 280.42, 280.26, 280.22, 280.16, 280.56, 280.47, 280.57, 280.73, 280.78, 280.56, 280.47, 280.60, 280.57, 280.46, 280.62, 280.72, 280.87, 280.77, 280.97, 281.07, 280.97, 281.07, 281.02, 280.97, 281.06, 281.22, 281.37, 281.47, 281.52, 281.71, 281.57, 281.67, 281.72, 281.61, 281.66, 281.77, 281.92, 281.97, 282.06, 281.97, 282.06, 282.17, 282.07, 282.02, 281.97, 282.12, 282.22, 282.17, 282.21, 282.47, 282.67, 282.96, 283.17, 283.41, 283.55, 283.64, 283.70, 283.87, 283.77, 283.72, 283.67, 283.72, 283.76, 283.95, 283.86, 283.97, 284.22, 284.36, 284.47, 284.56, 284.46, 284.72, 284.67, 284.96, 284.97, 284.87, 284.95, 284.97, 284.76, 284.22, 283.45, 283.21, 283.05, 282.95, 282.87, 282.72, 282.66, 282.57, 282.67, 282.56, 282.47, 282.45, 282.42, 282.22, 282.06, 282.01, 281.96, 281.95, 281.92, 281.90, 281.87, 281.86, 281.83, 281.80, 281.77, 281.75, 281.72, 281.71, 281.67, 281.65, 281.62, 281.61, 281.60, 281.56, 281.55, 281.52, 281.51, 281.50, 281.47, 281.46, 281.45, 281.46, 281.42, 281.43, 281.41, 281.37, 281.35, 281.32, 281.31, 281.27, 281.26, 281.25, 281.22, 281.21, 281.20, 281.17, 281.16, 281.15, 281.12, 281.11, 281.10, 281.07, 281.06, 281.05, 281.03, 281.02, 281.01, 280.97, 280.96, 280.92, 280.91, 280.90, 280.87, 280.86, 280.85, 280.82, 280.81, 280.78, 280.77, 280.76, 280.72, 280.71, 280.67, 280.66, 280.66, 280.65, 280.62, 280.61, 280.57, 280.56, 280.55, 280.52, 280.51, 280.47, 280.46, 280.45, 280.42, 280.41, 280.40, 280.37, 280.36, 280.32, 280.31, 280.30, 280.27, 280.26, 280.25, 280.22, 280.21, 280.20, 280.17, 280.16, 280.15, 280.12, 280.11, 280.10, 280.07, 280.06, 280.05, 280.02, 280.01, 280.00, 279.97, 279.96, 279.95, 279.92, 279.91, 279.90, 279.87, 279.86, 279.85, 279.82, 279.81, 279.80, 279.77, 279.76, 279.75, 279.72, 279.71, 279.70, 279.67, 279.66, 279.65, 279.62, 279.61, 279.60, 279.57, 279.56, 279.55, 279.52, 279.51, 279.50, 279.47, 279.46, 279.45, 279.42, 279.41, 279.40, 279.37, 279.36, 279.35, 279.32, 279.31, 279.30, 279.27, 279.26, 279.25, 279.22, 279.21, 279.20, 279.17, 279.16, 279.15, 279.12, 279.11, 279.10, 279.07, 279.06, 279.05, 279.02, 279.01, 279.00, 278.97, 278.96, 278.95, 278.92, 278.91, 278.90, 278.87, 278.86, 278.85, 278.82, 278.81, 278.80, 278.77, 278.76, 278.75, 278.72, 278.71, 278.70, 278.67, 278.66, 278.65, 278.62, 278.61, 278.60, 278.57, 278.56, 278.55, 278.52, 278.51, 278.50, 278.47, 278.46, 278.45, 278.42, 278.41, 278.40, 278.37, 278.36, 278.35, 278.32, 278.31, 278.30, 278.27, 278.26, 278.25, 278.22, 278.21, 278.20, 278.17, 278.16, 278.15, 278.12, 278.11, 278.10, 278.07, 278.06, 278.05, 278.02, 278.01, 278.00, 277.95, 277.95, 277.92, 277.91, 277.90, 277.87, 277.86, 277.85, 277.82, 277.81, 277.80, 277.77, 277.76, 277.75, 277.72, 277.71, 277.70, 277.67, 277.66, 277.65, 277.62, 277.61, 277.57, 277.56, 277.55, 277.52, 277.51, 277.50];

            const currentExchangeRate = rawData[rawData.length - 1];
            const currentExchangeDate = rawLabels[rawLabels.length - 1];

            // DOM Elements
            const usdInput = document.getElementById(&#039;usdInput&#039;);
            const pkrInput = document.getElementById(&#039;pkrInput&#039;);
            const badgeEl = document.getElementById(&#039;latestBadgeRate&#039;);
            const dateLabelEl = document.getElementById(&#039;latestDateLabel&#039;);

            const statHighEl = document.getElementById(&#039;statHigh&#039;);
            const statLowEl = document.getElementById(&#039;statLow&#039;);
            const statAvgEl = document.getElementById(&#039;statAvg&#039;);
            const statChangeEl = document.getElementById(&#039;statChange&#039;);

            // Format helpers
            const formatCurrency = (val, maxDecimals = 2, minDecimals = 2) =&gt; {
                if (isNaN(val) || val === null) return &#039;--&#039;;
                return val.toLocaleString(&#039;en-US&#039;, {
                    minimumFractionDigits: minDecimals,
                    maximumFractionDigits: maxDecimals
                });
            };

            const parseCurrency = (valStr) =&gt; {
                if (!valStr) return NaN;
                return parseFloat(valStr.toString().replace(/,/g, &#039;&#039;));
            };

            // Set Initial Values in UI
            dateLabelEl.textContent = currentExchangeDate;
            badgeEl.textContent = formatCurrency(currentExchangeRate) + &#039; PKR&#039;;
            pkrInput.value = formatCurrency(currentExchangeRate);

            // Converter Event Listeners
            usdInput.addEventListener(&#039;input&#039;, (e) =&gt; {
                const val = parseCurrency(e.target.value);
                if (isNaN(val)) {
                    pkrInput.value = &#039;&#039;;
                } else {
                    pkrInput.value = formatCurrency(val * currentExchangeRate);
                }
            });

            pkrInput.addEventListener(&#039;input&#039;, (e) =&gt; {
                const val = parseCurrency(e.target.value);
                if (isNaN(val)) {
                    usdInput.value = &#039;&#039;;
                } else {
                    usdInput.value = formatCurrency(val / currentExchangeRate, 4, 2);
                }
            });

            usdInput.addEventListener(&#039;blur&#039;, (e) =&gt; {
                const val = parseCurrency(e.target.value);
                if (!isNaN(val)) {
                    e.target.value = formatCurrency(val, 2, 0);
                }
            });

            pkrInput.addEventListener(&#039;blur&#039;, (e) =&gt; {
                const val = parseCurrency(e.target.value);
                if (!isNaN(val)) {
                    e.target.value = formatCurrency(val, 2, 2);
                }
            });

            const ctx = document.getElementById(&#039;closingRatesChart&#039;).getContext(&#039;2d&#039;);
            
            // Create gradient fill
            const gradient = ctx.createLinearGradient(0, 0, 0, 350);
            gradient.addColorStop(0, &#039;rgba(79, 70, 229, 0.25)&#039;);
            gradient.addColorStop(1, &#039;rgba(79, 70, 229, 0.0)&#039;);

            let chartInstance = new Chart(ctx, {
                type: &#039;line&#039;,
                data: {
                    labels: rawLabels,
                    datasets: [{
                        label: &#039;USD to PKR&#039;,
                        data: rawData,
                        borderColor: &#039;#4f46e5&#039;,
                        borderWidth: 2,
                        backgroundColor: gradient,
                        fill: true,
                        tension: 0.3,
                        pointRadius: 0,
                        pointHoverRadius: 6,
                        pointHoverBackgroundColor: &#039;#4f46e5&#039;,
                        pointHoverBorderColor: &#039;#ffffff&#039;,
                        pointHoverBorderWidth: 2
                    }]
                },
                options: {
                    responsive: true,
                    maintainAspectRatio: false,
                    interaction: {
                        intersect: false,
                        mode: &#039;index&#039;
                    },
                    plugins: {
                        legend: { display: false },
                        tooltip: {
                            backgroundColor: &#039;#0f172a&#039;,
                            titleFont: { family: &#039;Plus Jakarta Sans&#039;, size: 12, weight: &#039;bold&#039; },
                            bodyFont: { family: &#039;Plus Jakarta Sans&#039;, size: 13 },
                            padding: 10,
                            cornerRadius: 8,
                            displayColors: false,
                            callbacks: {
                                label: function(context) {
                                    return &#039;Rate: &#039; + formatCurrency(context.parsed.y) + &#039; PKR&#039;;
                                }
                            }
                        }
                    },
                    scales: {
                        x: {
                            grid: { display: false },
                            ticks: {
                                font: { family: &#039;Plus Jakarta Sans&#039;, size: 11 },
                                color: &#039;#64748b&#039;,
                                maxTicksLimit: 8,
                                maxRotation: 0
                            }
                        },
                        y: {
                            grid: { color: &#039;#f1f5f9&#039; },
                            ticks: {
                                font: { family: &#039;Plus Jakarta Sans&#039;, size: 11 },
                                color: &#039;#64748b&#039;,
                                callback: function(value) {
                                    return value.toFixed(1);
                                }
                            }
                        }
                    }
                }
            });

            function updateRangeStats(labels, data) {
                if (!data || data.length === 0) return;

                const high = Math.max(...data);
                const low = Math.min(...data);
                const avg = data.reduce((a, b) =&gt; a + b, 0) / data.length;
                const startVal = data[0];
                const endVal = data[data.length - 1];
                const change = endVal - startVal;
                const changePct = (change / startVal) * 100;

                statHighEl.textContent = formatCurrency(high);
                statLowEl.textContent = formatCurrency(low);
                statAvgEl.textContent = formatCurrency(avg);

                const sign = change &gt;= 0 ? &#039;+&#039; : &#039;&#039;;
                statChangeEl.textContent = `${sign}${formatCurrency(change)} (${sign}${changePct.toFixed(2)}%)`;
                statChangeEl.style.color = change &gt; 0 ? &#039;#10b981&#039; : (change &lt; 0 ? &#039;#ef4444&#039; : &#039;#64748b&#039;);
            }

            // Timeframe filtering handler
            function setTimeframe(rangeCount) {
                let slicedLabels = rawLabels;
                let slicedData = rawData;

                if (rangeCount !== &#039;all&#039;) {
                    const count = parseInt(rangeCount, 10);
                    slicedLabels = rawLabels.slice(-count);
                    slicedData = rawData.slice(-count);
                }

                chartInstance.data.labels = slicedLabels;
                chartInstance.data.datasets[0].data = slicedData;

                // Adjust Y axis dynamic scaling
                const minVal = Math.min(...slicedData);
                const maxVal = Math.max(...slicedData);
                const padding = (maxVal - minVal) * 0.1 || 1;
                
                chartInstance.options.scales.y.min = Math.floor((minVal - padding) * 10) / 10;
                chartInstance.options.scales.y.max = Math.ceil((maxVal + padding) * 10) / 10;

                chartInstance.update();
                updateRangeStats(slicedLabels, slicedData);
            }

            // Setup timeframe button listeners
            document.querySelectorAll(&#039;#pkr-chart-embed .tf-btn&#039;).forEach(btn =&gt; {
                btn.addEventListener(&#039;click&#039;, (e) =&gt; {
                    document.querySelectorAll(&#039;#pkr-chart-embed .tf-btn&#039;).forEach(b =&gt; b.classList.remove(&#039;active&#039;));
                    e.target.classList.add(&#039;active&#039;);
                    setTimeframe(e.target.getAttribute(&#039;data-range&#039;));
                });
            });

            // Initial range load
            setTimeframe(&#039;all&#039;);
        })();
    &lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;
    &lt;script&gt;
        function reportHeight() {
            var h = document.documentElement.scrollHeight;
            window.parent.postMessage({ type: &#039;raw-html-resize&#039;, id: &#039;raw-html-6a91a68fb5792&#039;, height: h }, &#039;*&#039;);
        }
        window.addEventListener(&#039;load&#039;, reportHeight);
        if (window.ResizeObserver) {
            new ResizeObserver(reportHeight).observe(document.body);
        }
    &lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;"></iframe>
<script>
if (!window._rawHtmlListenerAttached) {
    window._rawHtmlListenerAttached = true;
    window.addEventListener('message', function(event) {
        if (event.data && event.data.type === 'raw-html-resize' && event.data.id) {
            var iframe = document.getElementById(event.data.id);
            if (iframe) {
                var height = Math.min(Math.max(event.data.height, 50), 9200);
                iframe.style.height = height + 'px';
            }
        }
    });
}
</script>
<p><strong>The Pakistani rupee extended its marginal gains against the US dollar on Friday.</strong></p>
<p>The local unit closed the day at 277.50, a gain of Re0.01 against the greenback.</p>
    <figure class='media  w-full sm:w-full  media--center  media--embed  media--uneven media--tweet' data-original-src='https://x.com/StateBank_Pak/status/2093305880909594838'>
        <div class='media__item  media__item--twitter  '><span>
    <blockquote class="twitter-tweet" lang="en">
        <a href="https://twitter.com/StateBank_Pak/status/2093305880909594838"></a>
    </blockquote>
</span></div>
        
    </figure>
<p><a href="https://www.brecorder.com/news/40436679"><u>On Thursday</u></a><u>, </u>the Pakistani rupee settled at 277.51 against the dollar.</p>
<p>The US dollar held ​flat near a one-week high against major peers on Friday.</p>
<p>The euro and sterling were subdued near one-week lows against the greenback, last at $1.1652 and $1.3597, respectively, though both remained on track for a second ​straight monthly gain.</p>
<p><a href="https://www.brecorder.com/news/40436825/dollar-flat-near-one-week-high-as-investors-await-warshs-jackson-hole-debut">The yen was little</a> changed at 159.34 per dollar, having surrendered part of its intervention-driven gains, ​but it was still headed for a 1.3% monthly rise.</p>
<p>The dollar index, which measures ⁠the currency against six major peers, was little changed at 99.13 in early Asian trading.</p>
<p><a href="https://www.brecorder.com/news/40436824/oil-holds-steady-on-track-for-weekly-fall-on-us-iran-talks-stalemate">Oil prices fell on Friday</a> and were on track for a weekly drop as traders weighed crude flows making it through the Strait of Hormuz against the deadlock in U.S.-Iran diplomacy.</p>
<p>Brent crude futures were ​down 52 cents or 0.6% at $89.18 a barrel at 1419 GMT. West Texas Intermediate crude futures fell $1.01, ‌or 1.2%, to $82.52.</p>
<p><strong>Inter-bank market rates for dollar on Friday</strong></p>
<p>BID Rs 277.50</p>
<p>OFFER Rs 277.70</p>
<p><strong>Open-market movement</strong></p>
<p>In the open market, the PKR lost 5 paise for both buying and selling against USD, closing at 278.30 and 279.23, respectively.</p>
<p>Against Euro, the PKR gained 27 paise for buying and 24 paise for selling, closing at 322.72 and 325.55, respectively.</p>
<p>Against UAE Dirham, the PKR lost 3 paise for both buying and selling, closing at 75.63 and 76.29, respectively.</p>
<p>Against Saudi Riyal, the PKR lost 5 paise for buying and 1 paisa for selling, closing at 73.93 and 74.47, respectively.</p>
<p><strong>Open-market rates for dollar on Friday</strong></p>
<p>BID Rs 278.30</p>
<p>OFFER Rs 279.23</p>
]]></content:encoded>
      <category>Markets</category>
      <guid>https://www.brecorder.com/news/40436872</guid>
      <pubDate>Fri, 28 Aug 2026 20:17:36 +0500</pubDate>
      <author>none@none.com (Recorder Report)</author>
      <media:content url="https://i.brecorder.com/large/2026/08/28151858a6b6b4e.webp" type="image/webp" medium="image" height="768" width="1024">
        <media:thumbnail url="https://i.brecorder.com/thumbnail/2026/08/28151858a6b6b4e.webp"/>
        <media:title/>
      </media:content>
    </item>
    <item xmlns:default="http://purl.org/rss/1.0/modules/content/">
      <title>Pakistan rupee records gain against US dollar</title>
      <link>https://www.brecorder.com/news/40436679/intra-day-update-rupee-records-gain-against-us-dollar</link>
      <description>&lt;iframe id="raw-html-6a906a1beb2fe" class="raw-html-embed" style="width: 100%; min-height: 50px; max-height: 9200px; border: none; overflow: hidden;" scrolling="no" srcdoc="&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html&amp;gt;
&amp;lt;head&amp;gt;
    &amp;lt;style&amp;gt;
        body { margin: 0; padding: 0; font-family: system-ui, -apple-system, sans-serif; overflow-wrap: anywhere; }
    &amp;lt;/style&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
    
&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html lang=&amp;quot;en&amp;quot;&amp;gt;
&amp;lt;head&amp;gt;
    &amp;lt;meta charset=&amp;quot;UTF-8&amp;quot;&amp;gt;
    &amp;lt;meta name=&amp;quot;viewport&amp;quot; content=&amp;quot;width=device-width, initial-scale=1.0&amp;quot;&amp;gt;
    &amp;lt;title&amp;gt;PKR vs USD Exchange Rate Chart&amp;lt;/title&amp;gt;
    &amp;lt;!-- Chart.js for interactive rendering --&amp;gt;
    &amp;lt;script src=&amp;quot;https://cdn.jsdelivr.net/npm/chart.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;
    
    &amp;lt;style&amp;gt;
        @import url(&amp;#039;https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght=400;500;600;700&amp;amp;display=swap&amp;#039;);

        #pkr-chart-embed {
            font-family: &amp;#039;Plus Jakarta Sans&amp;#039;, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, sans-serif;
            max-width: 1000px;
            width: 100%;
            margin: 24px auto;
            background-color: #ffffff;
            border: 1px solid #e2e8f0;
            border-radius: 20px;
            padding: 24px;
            box-shadow: 0 10px 25px -5px rgba(15, 23, 42, 0.05), 0 8px 10px -6px rgba(15, 23, 42, 0.05);
            color: #0f172a;
            box-sizing: border-box;
        }

        #pkr-chart-embed * { box-sizing: border-box; margin: 0; padding: 0; }

        #pkr-chart-embed .chart-header {
            display: flex;
            flex-direction: column;
            gap: 20px;
            margin-bottom: 20px;
            width: 100%;
        }

        #pkr-chart-embed .top-row {
            display: flex;
            flex-direction: row;
            justify-content: space-between;
            align-items: flex-start;
            gap: 20px;
        }

        #pkr-chart-embed .calculator-area {
            display: flex;
            flex-direction: column;
            gap: 8px;
            align-items: flex-start;
        }

        #pkr-chart-embed .main-title {
            font-size: 22px;
            font-weight: 700;
            color: #0f172a;
            letter-spacing: -0.025em;
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            gap: 10px;
        }

        #pkr-chart-embed .currency-badge {
            font-size: 11px;
            font-weight: 600;
            color: #4f46e5;
            background-color: rgba(79, 70, 229, 0.08);
            padding: 3px 10px;
            border-radius: 9999px;
            border: 1px solid rgba(79, 70, 229, 0.15);
            text-transform: uppercase;
        }

        #pkr-chart-embed .calculator-title {
            font-size: 10px;
            font-weight: 700;
            color: #64748b;
            text-transform: uppercase;
            letter-spacing: 0.05em;
        }

        #pkr-chart-embed .converter {
            display: flex;
            align-items: center;
            background: #f8fafc;
            border: 1px solid #e2e8f0;
            border-radius: 12px;
            padding: 4px;
            gap: 6px;
        }

        #pkr-chart-embed .converter-group {
            display: flex;
            align-items: center;
            background: #ffffff;
            border-radius: 8px;
            padding: 6px 10px;
            box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
            border: 1px solid #e2e8f0;
        }

        #pkr-chart-embed .converter-input {
            border: none;
            outline: none;
            width: 90px;
            font-family: inherit;
            font-weight: 700;
            color: #0f172a;
            font-size: 14px;
            text-align: right;
            background: transparent;
        }

        #pkr-chart-embed .converter-input.pkr-field { width: 120px; }

        #pkr-chart-embed .converter-label {
            font-size: 11px;
            font-weight: 700;
            color: #64748b;
            margin-left: 6px;
        }

        #pkr-chart-embed .equals-sign { color: #94a3b8; font-weight: 600; font-size: 16px; }

        #pkr-chart-embed .rate-badge-container {
            display: flex;
            flex-direction: column;
            align-items: flex-end;
            gap: 6px;
        }

        #pkr-chart-embed .rate-label-sub { text-align: right; }
        #pkr-chart-embed .rate-label-sub span:first-child { display: block; font-size: 9px; text-transform: uppercase; font-weight: 700; color: #64748b; }
        #pkr-chart-embed .rate-label-sub span:last-child { display: block; font-size: 12px; color: #334155; font-weight: 600; }

        #pkr-chart-embed .rate-badge {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            background: linear-gradient(135deg, #4f46e5, #3b82f6);
            color: #ffffff;
            font-weight: 700;
            font-size: 14px;
            padding: 8px 14px;
            border-radius: 12px;
            box-shadow: 0 8px 16px -3px rgba(79, 70, 229, 0.25);
        }

        #pkr-chart-embed .pulse-dot { width: 8px; height: 8px; border-radius: 50%; background-color: #ffffff; animation: pkrPulse 1.5s infinite; }

        @keyframes pkrPulse {
            0% { transform: scale(0.95); opacity: 0.6; }
            50% { transform: scale(1.15); opacity: 1; }
            100% { transform: scale(0.95); opacity: 0.6; }
        }

        /* Controls &amp;amp; Stats Toolbar */
        #pkr-chart-embed .toolbar {
            display: flex;
            justify-content: space-between;
            align-items: center;
            flex-wrap: wrap;
            gap: 12px;
            margin-bottom: 16px;
            padding-bottom: 12px;
            border-bottom: 1px solid #f1f5f9;
        }

        #pkr-chart-embed .timeframe-selector {
            display: flex;
            gap: 4px;
            background: #f1f5f9;
            padding: 3px;
            border-radius: 10px;
        }

        #pkr-chart-embed .tf-btn {
            border: none;
            background: transparent;
            font-family: inherit;
            font-size: 12px;
            font-weight: 600;
            color: #64748b;
            padding: 5px 12px;
            border-radius: 7px;
            cursor: pointer;
            transition: all 0.2s ease;
        }

        #pkr-chart-embed .tf-btn.active {
            background: #ffffff;
            color: #4f46e5;
            box-shadow: 0 1px 3px rgba(0,0,0,0.1);
        }

        #pkr-chart-embed .stats-row {
            display: flex;
            gap: 16px;
            flex-wrap: wrap;
        }

        #pkr-chart-embed .stat-item {
            font-size: 12px;
            color: #64748b;
        }

        #pkr-chart-embed .stat-item strong {
            color: #0f172a;
            font-weight: 700;
        }

        #pkr-chart-embed .chart-canvas-container { position: relative; width: 100%; height: 380px; }

        @media (max-width: 768px) {
            #pkr-chart-embed .chart-canvas-container { height: 300px; }
            #pkr-chart-embed .top-row { flex-direction: column; align-items: flex-start; }
            #pkr-chart-embed .rate-badge-container { align-items: flex-start; }
            #pkr-chart-embed .rate-label-sub { text-align: left; }
            #pkr-chart-embed .toolbar { flex-direction: column; align-items: flex-start; }
        }
    &amp;lt;/style&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
    &amp;lt;div id=&amp;quot;pkr-chart-embed&amp;quot;&amp;gt;
        &amp;lt;div class=&amp;quot;chart-header&amp;quot;&amp;gt;
            &amp;lt;h1 class=&amp;quot;main-title&amp;quot;&amp;gt;
                &amp;lt;span&amp;gt;PKR vs USD Exchange Rate&amp;lt;/span&amp;gt;
                &amp;lt;span class=&amp;quot;currency-badge&amp;quot;&amp;gt;USD / PKR&amp;lt;/span&amp;gt;
            &amp;lt;/h1&amp;gt;

            &amp;lt;div class=&amp;quot;top-row&amp;quot;&amp;gt;
                &amp;lt;div class=&amp;quot;calculator-area&amp;quot;&amp;gt;
                    &amp;lt;span class=&amp;quot;calculator-title&amp;quot;&amp;gt;Calculator&amp;lt;/span&amp;gt;
                    &amp;lt;div class=&amp;quot;converter&amp;quot;&amp;gt;
                        &amp;lt;div class=&amp;quot;converter-group&amp;quot;&amp;gt;
                            &amp;lt;input type=&amp;quot;text&amp;quot; inputmode=&amp;quot;decimal&amp;quot; id=&amp;quot;usdInput&amp;quot; class=&amp;quot;converter-input&amp;quot; value=&amp;quot;1&amp;quot;&amp;gt;
                            &amp;lt;span class=&amp;quot;converter-label&amp;quot;&amp;gt;USD&amp;lt;/span&amp;gt;
                        &amp;lt;/div&amp;gt;
                        &amp;lt;span class=&amp;quot;equals-sign&amp;quot;&amp;gt;=&amp;lt;/span&amp;gt;
                        &amp;lt;div class=&amp;quot;converter-group&amp;quot;&amp;gt;
                            &amp;lt;input type=&amp;quot;text&amp;quot; inputmode=&amp;quot;decimal&amp;quot; id=&amp;quot;pkrInput&amp;quot; class=&amp;quot;converter-input pkr-field&amp;quot; value=&amp;quot;&amp;quot;&amp;gt;
                            &amp;lt;span class=&amp;quot;converter-label&amp;quot;&amp;gt;PKR&amp;lt;/span&amp;gt;
                        &amp;lt;/div&amp;gt;
                    &amp;lt;/div&amp;gt;
                &amp;lt;/div&amp;gt;

                &amp;lt;div class=&amp;quot;rate-badge-container&amp;quot;&amp;gt;
                    &amp;lt;div class=&amp;quot;rate-label-sub&amp;quot;&amp;gt;
                        &amp;lt;span&amp;gt;Latest Closing&amp;lt;/span&amp;gt;
                        &amp;lt;span id=&amp;quot;latestDateLabel&amp;quot;&amp;gt;25-Aug-26&amp;lt;/span&amp;gt;
                    &amp;lt;/div&amp;gt;
                    &amp;lt;div class=&amp;quot;rate-badge&amp;quot;&amp;gt;
                        &amp;lt;span class=&amp;quot;pulse-dot&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;
                        &amp;lt;span id=&amp;quot;latestBadgeRate&amp;quot;&amp;gt;277.52 PKR&amp;lt;/span&amp;gt;
                    &amp;lt;/div&amp;gt;
                &amp;lt;/div&amp;gt;
            &amp;lt;/div&amp;gt;
        &amp;lt;/div&amp;gt;

        &amp;lt;div class=&amp;quot;toolbar&amp;quot;&amp;gt;
            &amp;lt;div class=&amp;quot;timeframe-selector&amp;quot;&amp;gt;
                &amp;lt;button class=&amp;quot;tf-btn&amp;quot; data-range=&amp;quot;30&amp;quot;&amp;gt;1M&amp;lt;/button&amp;gt;
                &amp;lt;button class=&amp;quot;tf-btn&amp;quot; data-range=&amp;quot;90&amp;quot;&amp;gt;3M&amp;lt;/button&amp;gt;
                &amp;lt;button class=&amp;quot;tf-btn&amp;quot; data-range=&amp;quot;180&amp;quot;&amp;gt;6M&amp;lt;/button&amp;gt;
                &amp;lt;button class=&amp;quot;tf-btn&amp;quot; data-range=&amp;quot;365&amp;quot;&amp;gt;1Y&amp;lt;/button&amp;gt;
                &amp;lt;button class=&amp;quot;tf-btn active&amp;quot; data-range=&amp;quot;all&amp;quot;&amp;gt;ALL&amp;lt;/button&amp;gt;
            &amp;lt;/div&amp;gt;

            &amp;lt;div class=&amp;quot;stats-row&amp;quot;&amp;gt;
                &amp;lt;span class=&amp;quot;stat-item&amp;quot;&amp;gt;High: &amp;lt;strong id=&amp;quot;statHigh&amp;quot;&amp;gt;--&amp;lt;/strong&amp;gt;&amp;lt;/span&amp;gt;
                &amp;lt;span class=&amp;quot;stat-item&amp;quot;&amp;gt;Low: &amp;lt;strong id=&amp;quot;statLow&amp;quot;&amp;gt;--&amp;lt;/strong&amp;gt;&amp;lt;/span&amp;gt;
                &amp;lt;span class=&amp;quot;stat-item&amp;quot;&amp;gt;Avg: &amp;lt;strong id=&amp;quot;statAvg&amp;quot;&amp;gt;--&amp;lt;/strong&amp;gt;&amp;lt;/span&amp;gt;
                &amp;lt;span class=&amp;quot;stat-item&amp;quot;&amp;gt;Change: &amp;lt;strong id=&amp;quot;statChange&amp;quot;&amp;gt;--&amp;lt;/strong&amp;gt;&amp;lt;/span&amp;gt;
            &amp;lt;/div&amp;gt;
        &amp;lt;/div&amp;gt;

        &amp;lt;div class=&amp;quot;chart-canvas-container&amp;quot;&amp;gt;
            &amp;lt;canvas id=&amp;quot;closingRatesChart&amp;quot;&amp;gt;&amp;lt;/canvas&amp;gt;
        &amp;lt;/div&amp;gt;
    &amp;lt;/div&amp;gt;

    &amp;lt;script&amp;gt;
        (function() {
            // Full historical closing rate dataset
            const rawLabels = [&amp;quot;04-Mar-25&amp;quot;, &amp;quot;05-Mar-25&amp;quot;, &amp;quot;06-Mar-25&amp;quot;, &amp;quot;07-Mar-25&amp;quot;, &amp;quot;10-Mar-25&amp;quot;, &amp;quot;11-Mar-25&amp;quot;, &amp;quot;12-Mar-25&amp;quot;, &amp;quot;13-Mar-25&amp;quot;, &amp;quot;14-Mar-25&amp;quot;, &amp;quot;17-Mar-25&amp;quot;, &amp;quot;18-Mar-25&amp;quot;, &amp;quot;19-Mar-25&amp;quot;, &amp;quot;20-Mar-25&amp;quot;, &amp;quot;21-Mar-25&amp;quot;, &amp;quot;24-Mar-25&amp;quot;, &amp;quot;25-Mar-25&amp;quot;, &amp;quot;26-Mar-25&amp;quot;, &amp;quot;27-Mar-25&amp;quot;, &amp;quot;28-Mar-25&amp;quot;, &amp;quot;03-Apr-25&amp;quot;, &amp;quot;04-Apr-25&amp;quot;, &amp;quot;07-Apr-25&amp;quot;, &amp;quot;08-Apr-25&amp;quot;, &amp;quot;09-Apr-25&amp;quot;, &amp;quot;10-Apr-25&amp;quot;, &amp;quot;11-Apr-25&amp;quot;, &amp;quot;14-Apr-25&amp;quot;, &amp;quot;15-Apr-25&amp;quot;, &amp;quot;16-Apr-25&amp;quot;, &amp;quot;17-Apr-25&amp;quot;, &amp;quot;18-Apr-25&amp;quot;, &amp;quot;21-Apr-25&amp;quot;, &amp;quot;22-Apr-25&amp;quot;, &amp;quot;23-Apr-25&amp;quot;, &amp;quot;24-Apr-25&amp;quot;, &amp;quot;25-Apr-25&amp;quot;, &amp;quot;28-Apr-25&amp;quot;, &amp;quot;29-Apr-25&amp;quot;, &amp;quot;30-Apr-25&amp;quot;, &amp;quot;02-May-25&amp;quot;, &amp;quot;05-May-25&amp;quot;, &amp;quot;06-May-25&amp;quot;, &amp;quot;07-May-25&amp;quot;, &amp;quot;08-May-25&amp;quot;, &amp;quot;09-May-25&amp;quot;, &amp;quot;12-May-25&amp;quot;, &amp;quot;13-May-25&amp;quot;, &amp;quot;14-May-25&amp;quot;, &amp;quot;15-May-25&amp;quot;, &amp;quot;16-May-25&amp;quot;, &amp;quot;19-May-25&amp;quot;, &amp;quot;20-May-25&amp;quot;, &amp;quot;21-May-25&amp;quot;, &amp;quot;22-May-25&amp;quot;, &amp;quot;23-May-25&amp;quot;, &amp;quot;26-May-25&amp;quot;, &amp;quot;27-May-25&amp;quot;, &amp;quot;29-May-25&amp;quot;, &amp;quot;30-May-25&amp;quot;, &amp;quot;02-Jun-25&amp;quot;, &amp;quot;03-Jun-25&amp;quot;, &amp;quot;04-Jun-25&amp;quot;, &amp;quot;05-Jun-25&amp;quot;, &amp;quot;10-Jun-25&amp;quot;, &amp;quot;11-Jun-25&amp;quot;, &amp;quot;12-Jun-25&amp;quot;, &amp;quot;13-Jun-25&amp;quot;, &amp;quot;16-Jun-25&amp;quot;, &amp;quot;17-Jun-25&amp;quot;, &amp;quot;18-Jun-25&amp;quot;, &amp;quot;19-Jun-25&amp;quot;, &amp;quot;20-Jun-25&amp;quot;, &amp;quot;23-Jun-25&amp;quot;, &amp;quot;24-Jun-25&amp;quot;, &amp;quot;25-Jun-25&amp;quot;, &amp;quot;26-Jun-25&amp;quot;, &amp;quot;27-Jun-25&amp;quot;, &amp;quot;30-Jun-25&amp;quot;, &amp;quot;02-Jul-25&amp;quot;, &amp;quot;03-Jul-25&amp;quot;, &amp;quot;04-Jul-25&amp;quot;, &amp;quot;07-Jul-25&amp;quot;, &amp;quot;08-Jul-25&amp;quot;, &amp;quot;09-Jul-25&amp;quot;, &amp;quot;10-Jul-25&amp;quot;, &amp;quot;11-Jul-25&amp;quot;, &amp;quot;14-Jul-25&amp;quot;, &amp;quot;15-Jul-25&amp;quot;, &amp;quot;16-Jul-25&amp;quot;, &amp;quot;17-Jul-25&amp;quot;, &amp;quot;18-Jul-25&amp;quot;, &amp;quot;21-Jul-25&amp;quot;, &amp;quot;22-Jul-25&amp;quot;, &amp;quot;23-Jul-25&amp;quot;, &amp;quot;24-Jul-25&amp;quot;, &amp;quot;25-Jul-25&amp;quot;, &amp;quot;28-Jul-25&amp;quot;, &amp;quot;29-Jul-25&amp;quot;, &amp;quot;30-Jul-25&amp;quot;, &amp;quot;31-Jul-25&amp;quot;, &amp;quot;01-Aug-25&amp;quot;, &amp;quot;04-Aug-25&amp;quot;, &amp;quot;05-Aug-25&amp;quot;, &amp;quot;06-Aug-25&amp;quot;, &amp;quot;07-Aug-25&amp;quot;, &amp;quot;08-Aug-25&amp;quot;, &amp;quot;11-Aug-25&amp;quot;, &amp;quot;12-Aug-25&amp;quot;, &amp;quot;13-Aug-25&amp;quot;, &amp;quot;15-Aug-25&amp;quot;, &amp;quot;18-Aug-25&amp;quot;, &amp;quot;19-Aug-25&amp;quot;, &amp;quot;20-Aug-25&amp;quot;, &amp;quot;21-Aug-25&amp;quot;, &amp;quot;22-Aug-25&amp;quot;, &amp;quot;25-Aug-25&amp;quot;, &amp;quot;26-Aug-25&amp;quot;, &amp;quot;27-Aug-25&amp;quot;, &amp;quot;28-Aug-25&amp;quot;, &amp;quot;29-Aug-25&amp;quot;, &amp;quot;01-Sep-25&amp;quot;, &amp;quot;02-Sep-25&amp;quot;, &amp;quot;03-Sep-25&amp;quot;, &amp;quot;04-Sep-25&amp;quot;, &amp;quot;05-Sep-25&amp;quot;, &amp;quot;08-Sep-25&amp;quot;, &amp;quot;09-Sep-25&amp;quot;, &amp;quot;10-Sep-25&amp;quot;, &amp;quot;11-Sep-25&amp;quot;, &amp;quot;12-Sep-25&amp;quot;, &amp;quot;15-Sep-25&amp;quot;, &amp;quot;16-Sep-25&amp;quot;, &amp;quot;17-Sep-25&amp;quot;, &amp;quot;18-Sep-25&amp;quot;, &amp;quot;19-Sep-25&amp;quot;, &amp;quot;21-Sep-25&amp;quot;, &amp;quot;22-Sep-25&amp;quot;, &amp;quot;23-Sep-25&amp;quot;, &amp;quot;24-Sep-25&amp;quot;, &amp;quot;25-Sep-25&amp;quot;, &amp;quot;26-Sep-25&amp;quot;, &amp;quot;29-Sep-25&amp;quot;, &amp;quot;30-Sep-25&amp;quot;, &amp;quot;01-Oct-25&amp;quot;, &amp;quot;02-Oct-25&amp;quot;, &amp;quot;03-Oct-25&amp;quot;, &amp;quot;06-Oct-25&amp;quot;, &amp;quot;07-Oct-25&amp;quot;, &amp;quot;08-Oct-25&amp;quot;, &amp;quot;09-Oct-25&amp;quot;, &amp;quot;10-Oct-25&amp;quot;, &amp;quot;13-Oct-25&amp;quot;, &amp;quot;14-Oct-25&amp;quot;, &amp;quot;15-Oct-25&amp;quot;, &amp;quot;16-Oct-25&amp;quot;, &amp;quot;17-Oct-25&amp;quot;, &amp;quot;20-Oct-25&amp;quot;, &amp;quot;21-Oct-25&amp;quot;, &amp;quot;22-Oct-25&amp;quot;, &amp;quot;23-Oct-25&amp;quot;, &amp;quot;24-Oct-25&amp;quot;, &amp;quot;27-Oct-25&amp;quot;, &amp;quot;28-Oct-25&amp;quot;, &amp;quot;29-Oct-25&amp;quot;, &amp;quot;30-Oct-25&amp;quot;, &amp;quot;31-Oct-25&amp;quot;, &amp;quot;03-Nov-25&amp;quot;, &amp;quot;04-Nov-25&amp;quot;, &amp;quot;05-Nov-25&amp;quot;, &amp;quot;06-Nov-25&amp;quot;, &amp;quot;07-Nov-25&amp;quot;, &amp;quot;10-Nov-25&amp;quot;, &amp;quot;11-Nov-25&amp;quot;, &amp;quot;12-Nov-25&amp;quot;, &amp;quot;13-Nov-25&amp;quot;, &amp;quot;14-Nov-25&amp;quot;, &amp;quot;17-Nov-25&amp;quot;, &amp;quot;18-Nov-25&amp;quot;, &amp;quot;19-Nov-25&amp;quot;, &amp;quot;20-Nov-25&amp;quot;, &amp;quot;21-Nov-25&amp;quot;, &amp;quot;24-Nov-25&amp;quot;, &amp;quot;25-Nov-25&amp;quot;, &amp;quot;26-Nov-25&amp;quot;, &amp;quot;27-Nov-25&amp;quot;, &amp;quot;28-Nov-25&amp;quot;, &amp;quot;01-Dec-25&amp;quot;, &amp;quot;02-Dec-25&amp;quot;, &amp;quot;03-Dec-25&amp;quot;, &amp;quot;04-Dec-25&amp;quot;, &amp;quot;05-Dec-25&amp;quot;, &amp;quot;08-Dec-25&amp;quot;, &amp;quot;09-Dec-25&amp;quot;, &amp;quot;10-Dec-25&amp;quot;, &amp;quot;11-Dec-25&amp;quot;, &amp;quot;12-Dec-25&amp;quot;, &amp;quot;15-Dec-25&amp;quot;, &amp;quot;16-Dec-25&amp;quot;, &amp;quot;17-Dec-25&amp;quot;, &amp;quot;18-Dec-25&amp;quot;, &amp;quot;19-Dec-25&amp;quot;, &amp;quot;22-Dec-25&amp;quot;, &amp;quot;23-Dec-25&amp;quot;, &amp;quot;24-Dec-25&amp;quot;, &amp;quot;26-Dec-25&amp;quot;, &amp;quot;29-Dec-25&amp;quot;, &amp;quot;30-Dec-25&amp;quot;, &amp;quot;31-Dec-25&amp;quot;, &amp;quot;02-Jan-26&amp;quot;, &amp;quot;05-Jan-26&amp;quot;, &amp;quot;06-Jan-26&amp;quot;, &amp;quot;07-Jan-26&amp;quot;, &amp;quot;08-Jan-26&amp;quot;, &amp;quot;09-Jan-26&amp;quot;, &amp;quot;12-Jan-26&amp;quot;, &amp;quot;13-Jan-26&amp;quot;, &amp;quot;14-Jan-26&amp;quot;, &amp;quot;15-Jan-26&amp;quot;, &amp;quot;16-Jan-26&amp;quot;, &amp;quot;19-Jan-26&amp;quot;, &amp;quot;20-Jan-26&amp;quot;, &amp;quot;21-Jan-26&amp;quot;, &amp;quot;22-Jan-26&amp;quot;, &amp;quot;23-Jan-26&amp;quot;, &amp;quot;26-Jan-26&amp;quot;, &amp;quot;27-Jan-26&amp;quot;, &amp;quot;28-Jan-26&amp;quot;, &amp;quot;29-Jan-26&amp;quot;, &amp;quot;30-Jan-26&amp;quot;, &amp;quot;02-Feb-26&amp;quot;, &amp;quot;03-Feb-26&amp;quot;, &amp;quot;04-Feb-26&amp;quot;, &amp;quot;06-Feb-26&amp;quot;, &amp;quot;09-Feb-26&amp;quot;, &amp;quot;10-Feb-26&amp;quot;, &amp;quot;11-Feb-26&amp;quot;, &amp;quot;12-Feb-26&amp;quot;, &amp;quot;13-Feb-26&amp;quot;, &amp;quot;16-Feb-26&amp;quot;, &amp;quot;17-Feb-26&amp;quot;, &amp;quot;18-Feb-26&amp;quot;, &amp;quot;20-Feb-26&amp;quot;, &amp;quot;23-Feb-26&amp;quot;, &amp;quot;24-Feb-26&amp;quot;, &amp;quot;25-Feb-26&amp;quot;, &amp;quot;26-Feb-26&amp;quot;, &amp;quot;27-Feb-26&amp;quot;, &amp;quot;02-Mar-26&amp;quot;, &amp;quot;03-Mar-26&amp;quot;, &amp;quot;04-Mar-26&amp;quot;, &amp;quot;05-Mar-26&amp;quot;, &amp;quot;06-Mar-26&amp;quot;, &amp;quot;09-Mar-26&amp;quot;, &amp;quot;10-Mar-26&amp;quot;, &amp;quot;11-Mar-26&amp;quot;, &amp;quot;12-Mar-26&amp;quot;, &amp;quot;13-Mar-26&amp;quot;, &amp;quot;16-Mar-26&amp;quot;, &amp;quot;17-Mar-26&amp;quot;, &amp;quot;18-Mar-26&amp;quot;, &amp;quot;19-Mar-26&amp;quot;, &amp;quot;24-Mar-26&amp;quot;, &amp;quot;25-Mar-26&amp;quot;, &amp;quot;26-Mar-26&amp;quot;, &amp;quot;27-Mar-26&amp;quot;, &amp;quot;30-Mar-26&amp;quot;, &amp;quot;31-Mar-26&amp;quot;, &amp;quot;01-Apr-26&amp;quot;, &amp;quot;02-Apr-26&amp;quot;, &amp;quot;03-Apr-26&amp;quot;, &amp;quot;04-Apr-26&amp;quot;, &amp;quot;06-Apr-26&amp;quot;, &amp;quot;07-Apr-26&amp;quot;, &amp;quot;08-Apr-26&amp;quot;, &amp;quot;09-Apr-26&amp;quot;, &amp;quot;10-Apr-26&amp;quot;, &amp;quot;13-Apr-26&amp;quot;, &amp;quot;14-Apr-26&amp;quot;, &amp;quot;14-Apr-26&amp;quot;, &amp;quot;15-Apr-26&amp;quot;, &amp;quot;16-Apr-26&amp;quot;, &amp;quot;17-Apr-26&amp;quot;, &amp;quot;20-Apr-26&amp;quot;, &amp;quot;21-Apr-26&amp;quot;, &amp;quot;22-Apr-26&amp;quot;, &amp;quot;23-Apr-26&amp;quot;, &amp;quot;24-Apr-26&amp;quot;, &amp;quot;27-Apr-26&amp;quot;, &amp;quot;28-Apr-26&amp;quot;, &amp;quot;29-Apr-26&amp;quot;, &amp;quot;30-Apr-26&amp;quot;, &amp;quot;04-May-26&amp;quot;, &amp;quot;05-May-26&amp;quot;, &amp;quot;06-May-26&amp;quot;, &amp;quot;07-May-26&amp;quot;, &amp;quot;08-May-26&amp;quot;, &amp;quot;11-May-26&amp;quot;, &amp;quot;12-May-26&amp;quot;, &amp;quot;13-May-26&amp;quot;, &amp;quot;14-May-26&amp;quot;, &amp;quot;15-May-26&amp;quot;, &amp;quot;18-May-26&amp;quot;, &amp;quot;19-May-26&amp;quot;, &amp;quot;20-May-26&amp;quot;, &amp;quot;21-May-26&amp;quot;, &amp;quot;22-May-26&amp;quot;, &amp;quot;25-May-26&amp;quot;, &amp;quot;29-May-26&amp;quot;, &amp;quot;01-Jun-26&amp;quot;, &amp;quot;02-Jun-26&amp;quot;, &amp;quot;03-Jun-26&amp;quot;, &amp;quot;04-Jun-26&amp;quot;, &amp;quot;05-Jun-26&amp;quot;, &amp;quot;08-Jun-26&amp;quot;, &amp;quot;09-Jun-26&amp;quot;, &amp;quot;10-Jun-26&amp;quot;, &amp;quot;11-Jun-26&amp;quot;, &amp;quot;12-Jun-26&amp;quot;, &amp;quot;15-Jun-26&amp;quot;, &amp;quot;16-Jun-26&amp;quot;, &amp;quot;17-Jun-26&amp;quot;, &amp;quot;18-Jun-26&amp;quot;, &amp;quot;19-Jun-26&amp;quot;, &amp;quot;22-Jun-26&amp;quot;, &amp;quot;23-Jun-26&amp;quot;, &amp;quot;24-Jun-26&amp;quot;, &amp;quot;29-Jun-26&amp;quot;, &amp;quot;30-Jun-26&amp;quot;, &amp;quot;02-Jul-26&amp;quot;, &amp;quot;03-Jul-26&amp;quot;, &amp;quot;06-Jul-26&amp;quot;, &amp;quot;07-Jul-26&amp;quot;, &amp;quot;08-Jul-26&amp;quot;, &amp;quot;09-Jul-26&amp;quot;, &amp;quot;10-Jul-26&amp;quot;, &amp;quot;13-Jul-26&amp;quot;, &amp;quot;14-Jul-26&amp;quot;, &amp;quot;15-Jul-26&amp;quot;, &amp;quot;16-Jul-26&amp;quot;, &amp;quot;17-Jul-26&amp;quot;, &amp;quot;20-Jul-26&amp;quot;, &amp;quot;21-Jul-26&amp;quot;, &amp;quot;22-Jul-26&amp;quot;, &amp;quot;23-Jul-26&amp;quot;, &amp;quot;24-Jul-26&amp;quot;, &amp;quot;27-Jul-26&amp;quot;, &amp;quot;28-Jul-26&amp;quot;, &amp;quot;29-Jul-26&amp;quot;, &amp;quot;30-Jul-26&amp;quot;, &amp;quot;03-Aug-26&amp;quot;, &amp;quot;04-Aug-26&amp;quot;, &amp;quot;05-Aug-26&amp;quot;, &amp;quot;06-Aug-26&amp;quot;, &amp;quot;07-Aug-26&amp;quot;, &amp;quot;10-Aug-26&amp;quot;, &amp;quot;11-Aug-26&amp;quot;, &amp;quot;12-Aug-26&amp;quot;, &amp;quot;13-Aug-26&amp;quot;, &amp;quot;17-Aug-26&amp;quot;, &amp;quot;18-Aug-26&amp;quot;, &amp;quot;20-Aug-26&amp;quot;, &amp;quot;21-Aug-26&amp;quot;, &amp;quot;24-Aug-26&amp;quot;, &amp;quot;25-Aug-26&amp;quot;, &amp;quot;27-Aug-26&amp;quot;];
            
            const rawData = [279.77, 279.87, 279.82, 279.97, 280.07, 279.95, 279.97, 280.05, 280.21, 280.17, 280.27, 280.21, 280.22, 280.26, 280.37, 280.42, 280.26, 280.22, 280.16, 280.56, 280.47, 280.57, 280.73, 280.78, 280.56, 280.47, 280.60, 280.57, 280.46, 280.62, 280.72, 280.87, 280.77, 280.97, 281.07, 280.97, 281.07, 281.02, 280.97, 281.06, 281.22, 281.37, 281.47, 281.52, 281.71, 281.57, 281.67, 281.72, 281.61, 281.66, 281.77, 281.92, 281.97, 282.06, 281.97, 282.06, 282.17, 282.07, 282.02, 281.97, 282.12, 282.22, 282.17, 282.21, 282.47, 282.67, 282.96, 283.17, 283.41, 283.55, 283.64, 283.70, 283.87, 283.77, 283.72, 283.67, 283.72, 283.76, 283.95, 283.86, 283.97, 284.22, 284.36, 284.47, 284.56, 284.46, 284.72, 284.67, 284.96, 284.97, 284.87, 284.95, 284.97, 284.76, 284.22, 283.45, 283.21, 283.05, 282.95, 282.87, 282.72, 282.66, 282.57, 282.67, 282.56, 282.47, 282.45, 282.42, 282.22, 282.06, 282.01, 281.96, 281.95, 281.92, 281.90, 281.87, 281.86, 281.83, 281.80, 281.77, 281.75, 281.72, 281.71, 281.67, 281.65, 281.62, 281.61, 281.60, 281.56, 281.55, 281.52, 281.51, 281.50, 281.47, 281.46, 281.45, 281.46, 281.42, 281.43, 281.41, 281.37, 281.35, 281.32, 281.31, 281.27, 281.26, 281.25, 281.22, 281.21, 281.20, 281.17, 281.16, 281.15, 281.12, 281.11, 281.10, 281.07, 281.06, 281.05, 281.03, 281.02, 281.01, 280.97, 280.96, 280.92, 280.91, 280.90, 280.87, 280.86, 280.85, 280.82, 280.81, 280.78, 280.77, 280.76, 280.72, 280.71, 280.67, 280.66, 280.66, 280.65, 280.62, 280.61, 280.57, 280.56, 280.55, 280.52, 280.51, 280.47, 280.46, 280.45, 280.42, 280.41, 280.40, 280.37, 280.36, 280.32, 280.31, 280.30, 280.27, 280.26, 280.25, 280.22, 280.21, 280.20, 280.17, 280.16, 280.15, 280.12, 280.11, 280.10, 280.07, 280.06, 280.05, 280.02, 280.01, 280.00, 279.97, 279.96, 279.95, 279.92, 279.91, 279.90, 279.87, 279.86, 279.85, 279.82, 279.81, 279.80, 279.77, 279.76, 279.75, 279.72, 279.71, 279.70, 279.67, 279.66, 279.65, 279.62, 279.61, 279.60, 279.57, 279.56, 279.55, 279.52, 279.51, 279.50, 279.47, 279.46, 279.45, 279.42, 279.41, 279.40, 279.37, 279.36, 279.35, 279.32, 279.31, 279.30, 279.27, 279.26, 279.25, 279.22, 279.21, 279.20, 279.17, 279.16, 279.15, 279.12, 279.11, 279.10, 279.07, 279.06, 279.05, 279.02, 279.01, 279.00, 278.97, 278.96, 278.95, 278.92, 278.91, 278.90, 278.87, 278.86, 278.85, 278.82, 278.81, 278.80, 278.77, 278.76, 278.75, 278.72, 278.71, 278.70, 278.67, 278.66, 278.65, 278.62, 278.61, 278.60, 278.57, 278.56, 278.55, 278.52, 278.51, 278.50, 278.47, 278.46, 278.45, 278.42, 278.41, 278.40, 278.37, 278.36, 278.35, 278.32, 278.31, 278.30, 278.27, 278.26, 278.25, 278.22, 278.21, 278.20, 278.17, 278.16, 278.15, 278.12, 278.11, 278.10, 278.07, 278.06, 278.05, 278.02, 278.01, 278.00, 277.95, 277.95, 277.92, 277.91, 277.90, 277.87, 277.86, 277.85, 277.82, 277.81, 277.80, 277.77, 277.76, 277.75, 277.72, 277.71, 277.70, 277.67, 277.66, 277.65, 277.62, 277.61, 277.57, 277.56, 277.55, 277.52, 277.51];

            const currentExchangeRate = rawData[rawData.length - 1];
            const currentExchangeDate = rawLabels[rawLabels.length - 1];

            // DOM Elements
            const usdInput = document.getElementById(&amp;#039;usdInput&amp;#039;);
            const pkrInput = document.getElementById(&amp;#039;pkrInput&amp;#039;);
            const badgeEl = document.getElementById(&amp;#039;latestBadgeRate&amp;#039;);
            const dateLabelEl = document.getElementById(&amp;#039;latestDateLabel&amp;#039;);

            const statHighEl = document.getElementById(&amp;#039;statHigh&amp;#039;);
            const statLowEl = document.getElementById(&amp;#039;statLow&amp;#039;);
            const statAvgEl = document.getElementById(&amp;#039;statAvg&amp;#039;);
            const statChangeEl = document.getElementById(&amp;#039;statChange&amp;#039;);

            // Format helpers
            const formatCurrency = (val, maxDecimals = 2, minDecimals = 2) =&amp;gt; {
                if (isNaN(val) || val === null) return &amp;#039;--&amp;#039;;
                return val.toLocaleString(&amp;#039;en-US&amp;#039;, {
                    minimumFractionDigits: minDecimals,
                    maximumFractionDigits: maxDecimals
                });
            };

            const parseCurrency = (valStr) =&amp;gt; {
                if (!valStr) return NaN;
                return parseFloat(valStr.toString().replace(/,/g, &amp;#039;&amp;#039;));
            };

            // Set Initial Values in UI
            dateLabelEl.textContent = currentExchangeDate;
            badgeEl.textContent = formatCurrency(currentExchangeRate) + &amp;#039; PKR&amp;#039;;
            pkrInput.value = formatCurrency(currentExchangeRate);

            // Converter Event Listeners
            usdInput.addEventListener(&amp;#039;input&amp;#039;, (e) =&amp;gt; {
                const val = parseCurrency(e.target.value);
                if (isNaN(val)) {
                    pkrInput.value = &amp;#039;&amp;#039;;
                } else {
                    pkrInput.value = formatCurrency(val * currentExchangeRate);
                }
            });

            pkrInput.addEventListener(&amp;#039;input&amp;#039;, (e) =&amp;gt; {
                const val = parseCurrency(e.target.value);
                if (isNaN(val)) {
                    usdInput.value = &amp;#039;&amp;#039;;
                } else {
                    usdInput.value = formatCurrency(val / currentExchangeRate, 4, 2);
                }
            });

            usdInput.addEventListener(&amp;#039;blur&amp;#039;, (e) =&amp;gt; {
                const val = parseCurrency(e.target.value);
                if (!isNaN(val)) {
                    e.target.value = formatCurrency(val, 2, 0);
                }
            });

            pkrInput.addEventListener(&amp;#039;blur&amp;#039;, (e) =&amp;gt; {
                const val = parseCurrency(e.target.value);
                if (!isNaN(val)) {
                    e.target.value = formatCurrency(val, 2, 2);
                }
            });

            const ctx = document.getElementById(&amp;#039;closingRatesChart&amp;#039;).getContext(&amp;#039;2d&amp;#039;);
            
            // Create gradient fill
            const gradient = ctx.createLinearGradient(0, 0, 0, 350);
            gradient.addColorStop(0, &amp;#039;rgba(79, 70, 229, 0.25)&amp;#039;);
            gradient.addColorStop(1, &amp;#039;rgba(79, 70, 229, 0.0)&amp;#039;);

            let chartInstance = new Chart(ctx, {
                type: &amp;#039;line&amp;#039;,
                data: {
                    labels: rawLabels,
                    datasets: [{
                        label: &amp;#039;USD to PKR&amp;#039;,
                        data: rawData,
                        borderColor: &amp;#039;#4f46e5&amp;#039;,
                        borderWidth: 2,
                        backgroundColor: gradient,
                        fill: true,
                        tension: 0.3,
                        pointRadius: 0,
                        pointHoverRadius: 6,
                        pointHoverBackgroundColor: &amp;#039;#4f46e5&amp;#039;,
                        pointHoverBorderColor: &amp;#039;#ffffff&amp;#039;,
                        pointHoverBorderWidth: 2
                    }]
                },
                options: {
                    responsive: true,
                    maintainAspectRatio: false,
                    interaction: {
                        intersect: false,
                        mode: &amp;#039;index&amp;#039;
                    },
                    plugins: {
                        legend: { display: false },
                        tooltip: {
                            backgroundColor: &amp;#039;#0f172a&amp;#039;,
                            titleFont: { family: &amp;#039;Plus Jakarta Sans&amp;#039;, size: 12, weight: &amp;#039;bold&amp;#039; },
                            bodyFont: { family: &amp;#039;Plus Jakarta Sans&amp;#039;, size: 13 },
                            padding: 10,
                            cornerRadius: 8,
                            displayColors: false,
                            callbacks: {
                                label: function(context) {
                                    return &amp;#039;Rate: &amp;#039; + formatCurrency(context.parsed.y) + &amp;#039; PKR&amp;#039;;
                                }
                            }
                        }
                    },
                    scales: {
                        x: {
                            grid: { display: false },
                            ticks: {
                                font: { family: &amp;#039;Plus Jakarta Sans&amp;#039;, size: 11 },
                                color: &amp;#039;#64748b&amp;#039;,
                                maxTicksLimit: 8,
                                maxRotation: 0
                            }
                        },
                        y: {
                            grid: { color: &amp;#039;#f1f5f9&amp;#039; },
                            ticks: {
                                font: { family: &amp;#039;Plus Jakarta Sans&amp;#039;, size: 11 },
                                color: &amp;#039;#64748b&amp;#039;,
                                callback: function(value) {
                                    return value.toFixed(1);
                                }
                            }
                        }
                    }
                }
            });

            function updateRangeStats(labels, data) {
                if (!data || data.length === 0) return;

                const high = Math.max(...data);
                const low = Math.min(...data);
                const avg = data.reduce((a, b) =&amp;gt; a + b, 0) / data.length;
                const startVal = data[0];
                const endVal = data[data.length - 1];
                const change = endVal - startVal;
                const changePct = (change / startVal) * 100;

                statHighEl.textContent = formatCurrency(high);
                statLowEl.textContent = formatCurrency(low);
                statAvgEl.textContent = formatCurrency(avg);

                const sign = change &amp;gt;= 0 ? &amp;#039;+&amp;#039; : &amp;#039;&amp;#039;;
                statChangeEl.textContent = `${sign}${formatCurrency(change)} (${sign}${changePct.toFixed(2)}%)`;
                statChangeEl.style.color = change &amp;gt; 0 ? &amp;#039;#10b981&amp;#039; : (change &amp;lt; 0 ? &amp;#039;#ef4444&amp;#039; : &amp;#039;#64748b&amp;#039;);
            }

            // Timeframe filtering handler
            function setTimeframe(rangeCount) {
                let slicedLabels = rawLabels;
                let slicedData = rawData;

                if (rangeCount !== &amp;#039;all&amp;#039;) {
                    const count = parseInt(rangeCount, 10);
                    slicedLabels = rawLabels.slice(-count);
                    slicedData = rawData.slice(-count);
                }

                chartInstance.data.labels = slicedLabels;
                chartInstance.data.datasets[0].data = slicedData;

                // Adjust Y axis dynamic scaling
                const minVal = Math.min(...slicedData);
                const maxVal = Math.max(...slicedData);
                const padding = (maxVal - minVal) * 0.1 || 1;
                
                chartInstance.options.scales.y.min = Math.floor((minVal - padding) * 10) / 10;
                chartInstance.options.scales.y.max = Math.ceil((maxVal + padding) * 10) / 10;

                chartInstance.update();
                updateRangeStats(slicedLabels, slicedData);
            }

            // Setup timeframe button listeners
            document.querySelectorAll(&amp;#039;#pkr-chart-embed .tf-btn&amp;#039;).forEach(btn =&amp;gt; {
                btn.addEventListener(&amp;#039;click&amp;#039;, (e) =&amp;gt; {
                    document.querySelectorAll(&amp;#039;#pkr-chart-embed .tf-btn&amp;#039;).forEach(b =&amp;gt; b.classList.remove(&amp;#039;active&amp;#039;));
                    e.target.classList.add(&amp;#039;active&amp;#039;);
                    setTimeframe(e.target.getAttribute(&amp;#039;data-range&amp;#039;));
                });
            });

            // Initial range load
            setTimeframe(&amp;#039;all&amp;#039;);
        })();
    &amp;lt;/script&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;
    &amp;lt;script&amp;gt;
        function reportHeight() {
            var h = document.documentElement.scrollHeight;
            window.parent.postMessage({ type: &amp;#039;raw-html-resize&amp;#039;, id: &amp;#039;raw-html-6a906a1beb2fe&amp;#039;, height: h }, &amp;#039;*&amp;#039;);
        }
        window.addEventListener(&amp;#039;load&amp;#039;, reportHeight);
        if (window.ResizeObserver) {
            new ResizeObserver(reportHeight).observe(document.body);
        }
    &amp;lt;/script&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;"&gt;&lt;/iframe&gt;
&lt;script&gt;
if (!window._rawHtmlListenerAttached) {
    window._rawHtmlListenerAttached = true;
    window.addEventListener('message', function(event) {
        if (event.data &amp;&amp; event.data.type === 'raw-html-resize' &amp;&amp; event.data.id) {
            var iframe = document.getElementById(event.data.id);
            if (iframe) {
                var height = Math.min(Math.max(event.data.height, 50), 9200);
                iframe.style.height = height + 'px';
            }
        }
    });
}
&lt;/script&gt;
&lt;p&gt;&lt;strong&gt;The Pakistani rupee extended its marginal gains against the US dollar on Thursday.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The local unit closed the day at 277.51, a gain of Re0.01 against the greenback.&lt;/p&gt;
    &lt;figure class='media  w-full sm:w-full  media--center  media--embed  media--uneven media--tweet' data-original-src='https://x.com/StateBank_Pak/status/2092936098792247759'&gt;
        &lt;div class='media__item  media__item--twitter  '&gt;&lt;span&gt;
    &lt;blockquote class="twitter-tweet" lang="en"&gt;
        &lt;a href="https://twitter.com/StateBank_Pak/status/2092936098792247759"&gt;&lt;/a&gt;
    &lt;/blockquote&gt;
&lt;/span&gt;&lt;/div&gt;
        
    &lt;/figure&gt;
&lt;p&gt;&lt;a href="https://www.brecorder.com/news/40436471"&gt;&lt;u&gt;On Tuesday&lt;/u&gt;&lt;/a&gt;&lt;u&gt;, &lt;/u&gt;the Pakistani rupee settled at 277.52 against the dollar. The currency market was closed on Wednesday on account of Eid-Milad-un-Nabi.&lt;/p&gt;
&lt;p&gt;Moreover, the dollar held near an eight-day high ‌on Thursday after US inflation and other economic data slightly lifted expectations of a Federal Reserve rate hike.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.brecorder.com/news/40436631/dollar-near-eight-day-high-as-us-data-lifts-fed-hike-bets"&gt;The dollar index&lt;/a&gt;, which measures the greenback against a basket of ​currencies including the yen and the euro, rose 0.21% to 99.13, its highest level since August 19.&lt;/p&gt;
&lt;p&gt;Against the yen, the dollar ‌traded at ⁠159.23, having given back most of its intervention gains but still well off a multi-decade low of about 164.&lt;/p&gt;
&lt;p&gt;Furthermore, &lt;a href="https://www.brecorder.com/news/40436630/oil-gains-as-traders-weigh-prospects-of-easing-middle-east-supply-disruptions"&gt;oil prices rose on Thursday&lt;/a&gt;, as traders weighed prospects for global supplies in the wake of ‌the ongoing Iran war as Washington confirmed it was not currently in talks with Tehran despite diplomatic efforts by other countries.&lt;/p&gt;
&lt;p&gt;Brent crude futures were up $1.16, or 1.32%, at $89 a barrel at 1332 GMT. West Texas Intermediate crude futures gained 52 cents, or 0.63%, to $82.75.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Inter-bank market rates for dollar on Thursday&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;BID Rs 277.51&lt;/p&gt;
&lt;p&gt;OFFER Rs 277.71&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Open-market movement&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;In the open market, the PKR lost 1 paisa for buying and 11 paise selling against USD, closing at 278.26 and 279.29, respectively.&lt;/p&gt;
&lt;p&gt;Against Euro, the PKR gained 24 paise for buying and 4 paise for selling, closing at 322.75 and 325.75, respectively.&lt;/p&gt;
&lt;p&gt;Against UAE Dirham, the PKR lost 3 paise for buying and 4 paise for selling, closing at 75.63 and 76.30, respectively.&lt;/p&gt;
&lt;p&gt;Against Saudi Riyal, the PKR lost 1 paisa for buying and remained unchanged for selling, closing at 73.89 and 74.46, respectively.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Open-market rates for dollar on Thursday&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;BID Rs 278.26&lt;/p&gt;
&lt;p&gt;OFFER Rs 279.29&lt;/p&gt;
</description>
      <content:encoded xmlns="http://purl.org/rss/1.0/modules/content/"><![CDATA[<iframe id="raw-html-6a906a1beb2fe" class="raw-html-embed" style="width: 100%; min-height: 50px; max-height: 9200px; border: none; overflow: hidden;" scrolling="no" srcdoc="&lt;!DOCTYPE html&gt;
&lt;html&gt;
&lt;head&gt;
    &lt;style&gt;
        body { margin: 0; padding: 0; font-family: system-ui, -apple-system, sans-serif; overflow-wrap: anywhere; }
    &lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
    
&lt;!DOCTYPE html&gt;
&lt;html lang=&quot;en&quot;&gt;
&lt;head&gt;
    &lt;meta charset=&quot;UTF-8&quot;&gt;
    &lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1.0&quot;&gt;
    &lt;title&gt;PKR vs USD Exchange Rate Chart&lt;/title&gt;
    &lt;!-- Chart.js for interactive rendering --&gt;
    &lt;script src=&quot;https://cdn.jsdelivr.net/npm/chart.js&quot;&gt;&lt;/script&gt;
    
    &lt;style&gt;
        @import url(&#039;https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght=400;500;600;700&amp;display=swap&#039;);

        #pkr-chart-embed {
            font-family: &#039;Plus Jakarta Sans&#039;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, Roboto, sans-serif;
            max-width: 1000px;
            width: 100%;
            margin: 24px auto;
            background-color: #ffffff;
            border: 1px solid #e2e8f0;
            border-radius: 20px;
            padding: 24px;
            box-shadow: 0 10px 25px -5px rgba(15, 23, 42, 0.05), 0 8px 10px -6px rgba(15, 23, 42, 0.05);
            color: #0f172a;
            box-sizing: border-box;
        }

        #pkr-chart-embed * { box-sizing: border-box; margin: 0; padding: 0; }

        #pkr-chart-embed .chart-header {
            display: flex;
            flex-direction: column;
            gap: 20px;
            margin-bottom: 20px;
            width: 100%;
        }

        #pkr-chart-embed .top-row {
            display: flex;
            flex-direction: row;
            justify-content: space-between;
            align-items: flex-start;
            gap: 20px;
        }

        #pkr-chart-embed .calculator-area {
            display: flex;
            flex-direction: column;
            gap: 8px;
            align-items: flex-start;
        }

        #pkr-chart-embed .main-title {
            font-size: 22px;
            font-weight: 700;
            color: #0f172a;
            letter-spacing: -0.025em;
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            gap: 10px;
        }

        #pkr-chart-embed .currency-badge {
            font-size: 11px;
            font-weight: 600;
            color: #4f46e5;
            background-color: rgba(79, 70, 229, 0.08);
            padding: 3px 10px;
            border-radius: 9999px;
            border: 1px solid rgba(79, 70, 229, 0.15);
            text-transform: uppercase;
        }

        #pkr-chart-embed .calculator-title {
            font-size: 10px;
            font-weight: 700;
            color: #64748b;
            text-transform: uppercase;
            letter-spacing: 0.05em;
        }

        #pkr-chart-embed .converter {
            display: flex;
            align-items: center;
            background: #f8fafc;
            border: 1px solid #e2e8f0;
            border-radius: 12px;
            padding: 4px;
            gap: 6px;
        }

        #pkr-chart-embed .converter-group {
            display: flex;
            align-items: center;
            background: #ffffff;
            border-radius: 8px;
            padding: 6px 10px;
            box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
            border: 1px solid #e2e8f0;
        }

        #pkr-chart-embed .converter-input {
            border: none;
            outline: none;
            width: 90px;
            font-family: inherit;
            font-weight: 700;
            color: #0f172a;
            font-size: 14px;
            text-align: right;
            background: transparent;
        }

        #pkr-chart-embed .converter-input.pkr-field { width: 120px; }

        #pkr-chart-embed .converter-label {
            font-size: 11px;
            font-weight: 700;
            color: #64748b;
            margin-left: 6px;
        }

        #pkr-chart-embed .equals-sign { color: #94a3b8; font-weight: 600; font-size: 16px; }

        #pkr-chart-embed .rate-badge-container {
            display: flex;
            flex-direction: column;
            align-items: flex-end;
            gap: 6px;
        }

        #pkr-chart-embed .rate-label-sub { text-align: right; }
        #pkr-chart-embed .rate-label-sub span:first-child { display: block; font-size: 9px; text-transform: uppercase; font-weight: 700; color: #64748b; }
        #pkr-chart-embed .rate-label-sub span:last-child { display: block; font-size: 12px; color: #334155; font-weight: 600; }

        #pkr-chart-embed .rate-badge {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            background: linear-gradient(135deg, #4f46e5, #3b82f6);
            color: #ffffff;
            font-weight: 700;
            font-size: 14px;
            padding: 8px 14px;
            border-radius: 12px;
            box-shadow: 0 8px 16px -3px rgba(79, 70, 229, 0.25);
        }

        #pkr-chart-embed .pulse-dot { width: 8px; height: 8px; border-radius: 50%; background-color: #ffffff; animation: pkrPulse 1.5s infinite; }

        @keyframes pkrPulse {
            0% { transform: scale(0.95); opacity: 0.6; }
            50% { transform: scale(1.15); opacity: 1; }
            100% { transform: scale(0.95); opacity: 0.6; }
        }

        /* Controls &amp; Stats Toolbar */
        #pkr-chart-embed .toolbar {
            display: flex;
            justify-content: space-between;
            align-items: center;
            flex-wrap: wrap;
            gap: 12px;
            margin-bottom: 16px;
            padding-bottom: 12px;
            border-bottom: 1px solid #f1f5f9;
        }

        #pkr-chart-embed .timeframe-selector {
            display: flex;
            gap: 4px;
            background: #f1f5f9;
            padding: 3px;
            border-radius: 10px;
        }

        #pkr-chart-embed .tf-btn {
            border: none;
            background: transparent;
            font-family: inherit;
            font-size: 12px;
            font-weight: 600;
            color: #64748b;
            padding: 5px 12px;
            border-radius: 7px;
            cursor: pointer;
            transition: all 0.2s ease;
        }

        #pkr-chart-embed .tf-btn.active {
            background: #ffffff;
            color: #4f46e5;
            box-shadow: 0 1px 3px rgba(0,0,0,0.1);
        }

        #pkr-chart-embed .stats-row {
            display: flex;
            gap: 16px;
            flex-wrap: wrap;
        }

        #pkr-chart-embed .stat-item {
            font-size: 12px;
            color: #64748b;
        }

        #pkr-chart-embed .stat-item strong {
            color: #0f172a;
            font-weight: 700;
        }

        #pkr-chart-embed .chart-canvas-container { position: relative; width: 100%; height: 380px; }

        @media (max-width: 768px) {
            #pkr-chart-embed .chart-canvas-container { height: 300px; }
            #pkr-chart-embed .top-row { flex-direction: column; align-items: flex-start; }
            #pkr-chart-embed .rate-badge-container { align-items: flex-start; }
            #pkr-chart-embed .rate-label-sub { text-align: left; }
            #pkr-chart-embed .toolbar { flex-direction: column; align-items: flex-start; }
        }
    &lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
    &lt;div id=&quot;pkr-chart-embed&quot;&gt;
        &lt;div class=&quot;chart-header&quot;&gt;
            &lt;h1 class=&quot;main-title&quot;&gt;
                &lt;span&gt;PKR vs USD Exchange Rate&lt;/span&gt;
                &lt;span class=&quot;currency-badge&quot;&gt;USD / PKR&lt;/span&gt;
            &lt;/h1&gt;

            &lt;div class=&quot;top-row&quot;&gt;
                &lt;div class=&quot;calculator-area&quot;&gt;
                    &lt;span class=&quot;calculator-title&quot;&gt;Calculator&lt;/span&gt;
                    &lt;div class=&quot;converter&quot;&gt;
                        &lt;div class=&quot;converter-group&quot;&gt;
                            &lt;input type=&quot;text&quot; inputmode=&quot;decimal&quot; id=&quot;usdInput&quot; class=&quot;converter-input&quot; value=&quot;1&quot;&gt;
                            &lt;span class=&quot;converter-label&quot;&gt;USD&lt;/span&gt;
                        &lt;/div&gt;
                        &lt;span class=&quot;equals-sign&quot;&gt;=&lt;/span&gt;
                        &lt;div class=&quot;converter-group&quot;&gt;
                            &lt;input type=&quot;text&quot; inputmode=&quot;decimal&quot; id=&quot;pkrInput&quot; class=&quot;converter-input pkr-field&quot; value=&quot;&quot;&gt;
                            &lt;span class=&quot;converter-label&quot;&gt;PKR&lt;/span&gt;
                        &lt;/div&gt;
                    &lt;/div&gt;
                &lt;/div&gt;

                &lt;div class=&quot;rate-badge-container&quot;&gt;
                    &lt;div class=&quot;rate-label-sub&quot;&gt;
                        &lt;span&gt;Latest Closing&lt;/span&gt;
                        &lt;span id=&quot;latestDateLabel&quot;&gt;25-Aug-26&lt;/span&gt;
                    &lt;/div&gt;
                    &lt;div class=&quot;rate-badge&quot;&gt;
                        &lt;span class=&quot;pulse-dot&quot;&gt;&lt;/span&gt;
                        &lt;span id=&quot;latestBadgeRate&quot;&gt;277.52 PKR&lt;/span&gt;
                    &lt;/div&gt;
                &lt;/div&gt;
            &lt;/div&gt;
        &lt;/div&gt;

        &lt;div class=&quot;toolbar&quot;&gt;
            &lt;div class=&quot;timeframe-selector&quot;&gt;
                &lt;button class=&quot;tf-btn&quot; data-range=&quot;30&quot;&gt;1M&lt;/button&gt;
                &lt;button class=&quot;tf-btn&quot; data-range=&quot;90&quot;&gt;3M&lt;/button&gt;
                &lt;button class=&quot;tf-btn&quot; data-range=&quot;180&quot;&gt;6M&lt;/button&gt;
                &lt;button class=&quot;tf-btn&quot; data-range=&quot;365&quot;&gt;1Y&lt;/button&gt;
                &lt;button class=&quot;tf-btn active&quot; data-range=&quot;all&quot;&gt;ALL&lt;/button&gt;
            &lt;/div&gt;

            &lt;div class=&quot;stats-row&quot;&gt;
                &lt;span class=&quot;stat-item&quot;&gt;High: &lt;strong id=&quot;statHigh&quot;&gt;--&lt;/strong&gt;&lt;/span&gt;
                &lt;span class=&quot;stat-item&quot;&gt;Low: &lt;strong id=&quot;statLow&quot;&gt;--&lt;/strong&gt;&lt;/span&gt;
                &lt;span class=&quot;stat-item&quot;&gt;Avg: &lt;strong id=&quot;statAvg&quot;&gt;--&lt;/strong&gt;&lt;/span&gt;
                &lt;span class=&quot;stat-item&quot;&gt;Change: &lt;strong id=&quot;statChange&quot;&gt;--&lt;/strong&gt;&lt;/span&gt;
            &lt;/div&gt;
        &lt;/div&gt;

        &lt;div class=&quot;chart-canvas-container&quot;&gt;
            &lt;canvas id=&quot;closingRatesChart&quot;&gt;&lt;/canvas&gt;
        &lt;/div&gt;
    &lt;/div&gt;

    &lt;script&gt;
        (function() {
            // Full historical closing rate dataset
            const rawLabels = [&quot;04-Mar-25&quot;, &quot;05-Mar-25&quot;, &quot;06-Mar-25&quot;, &quot;07-Mar-25&quot;, &quot;10-Mar-25&quot;, &quot;11-Mar-25&quot;, &quot;12-Mar-25&quot;, &quot;13-Mar-25&quot;, &quot;14-Mar-25&quot;, &quot;17-Mar-25&quot;, &quot;18-Mar-25&quot;, &quot;19-Mar-25&quot;, &quot;20-Mar-25&quot;, &quot;21-Mar-25&quot;, &quot;24-Mar-25&quot;, &quot;25-Mar-25&quot;, &quot;26-Mar-25&quot;, &quot;27-Mar-25&quot;, &quot;28-Mar-25&quot;, &quot;03-Apr-25&quot;, &quot;04-Apr-25&quot;, &quot;07-Apr-25&quot;, &quot;08-Apr-25&quot;, &quot;09-Apr-25&quot;, &quot;10-Apr-25&quot;, &quot;11-Apr-25&quot;, &quot;14-Apr-25&quot;, &quot;15-Apr-25&quot;, &quot;16-Apr-25&quot;, &quot;17-Apr-25&quot;, &quot;18-Apr-25&quot;, &quot;21-Apr-25&quot;, &quot;22-Apr-25&quot;, &quot;23-Apr-25&quot;, &quot;24-Apr-25&quot;, &quot;25-Apr-25&quot;, &quot;28-Apr-25&quot;, &quot;29-Apr-25&quot;, &quot;30-Apr-25&quot;, &quot;02-May-25&quot;, &quot;05-May-25&quot;, &quot;06-May-25&quot;, &quot;07-May-25&quot;, &quot;08-May-25&quot;, &quot;09-May-25&quot;, &quot;12-May-25&quot;, &quot;13-May-25&quot;, &quot;14-May-25&quot;, &quot;15-May-25&quot;, &quot;16-May-25&quot;, &quot;19-May-25&quot;, &quot;20-May-25&quot;, &quot;21-May-25&quot;, &quot;22-May-25&quot;, &quot;23-May-25&quot;, &quot;26-May-25&quot;, &quot;27-May-25&quot;, &quot;29-May-25&quot;, &quot;30-May-25&quot;, &quot;02-Jun-25&quot;, &quot;03-Jun-25&quot;, &quot;04-Jun-25&quot;, &quot;05-Jun-25&quot;, &quot;10-Jun-25&quot;, &quot;11-Jun-25&quot;, &quot;12-Jun-25&quot;, &quot;13-Jun-25&quot;, &quot;16-Jun-25&quot;, &quot;17-Jun-25&quot;, &quot;18-Jun-25&quot;, &quot;19-Jun-25&quot;, &quot;20-Jun-25&quot;, &quot;23-Jun-25&quot;, &quot;24-Jun-25&quot;, &quot;25-Jun-25&quot;, &quot;26-Jun-25&quot;, &quot;27-Jun-25&quot;, &quot;30-Jun-25&quot;, &quot;02-Jul-25&quot;, &quot;03-Jul-25&quot;, &quot;04-Jul-25&quot;, &quot;07-Jul-25&quot;, &quot;08-Jul-25&quot;, &quot;09-Jul-25&quot;, &quot;10-Jul-25&quot;, &quot;11-Jul-25&quot;, &quot;14-Jul-25&quot;, &quot;15-Jul-25&quot;, &quot;16-Jul-25&quot;, &quot;17-Jul-25&quot;, &quot;18-Jul-25&quot;, &quot;21-Jul-25&quot;, &quot;22-Jul-25&quot;, &quot;23-Jul-25&quot;, &quot;24-Jul-25&quot;, &quot;25-Jul-25&quot;, &quot;28-Jul-25&quot;, &quot;29-Jul-25&quot;, &quot;30-Jul-25&quot;, &quot;31-Jul-25&quot;, &quot;01-Aug-25&quot;, &quot;04-Aug-25&quot;, &quot;05-Aug-25&quot;, &quot;06-Aug-25&quot;, &quot;07-Aug-25&quot;, &quot;08-Aug-25&quot;, &quot;11-Aug-25&quot;, &quot;12-Aug-25&quot;, &quot;13-Aug-25&quot;, &quot;15-Aug-25&quot;, &quot;18-Aug-25&quot;, &quot;19-Aug-25&quot;, &quot;20-Aug-25&quot;, &quot;21-Aug-25&quot;, &quot;22-Aug-25&quot;, &quot;25-Aug-25&quot;, &quot;26-Aug-25&quot;, &quot;27-Aug-25&quot;, &quot;28-Aug-25&quot;, &quot;29-Aug-25&quot;, &quot;01-Sep-25&quot;, &quot;02-Sep-25&quot;, &quot;03-Sep-25&quot;, &quot;04-Sep-25&quot;, &quot;05-Sep-25&quot;, &quot;08-Sep-25&quot;, &quot;09-Sep-25&quot;, &quot;10-Sep-25&quot;, &quot;11-Sep-25&quot;, &quot;12-Sep-25&quot;, &quot;15-Sep-25&quot;, &quot;16-Sep-25&quot;, &quot;17-Sep-25&quot;, &quot;18-Sep-25&quot;, &quot;19-Sep-25&quot;, &quot;21-Sep-25&quot;, &quot;22-Sep-25&quot;, &quot;23-Sep-25&quot;, &quot;24-Sep-25&quot;, &quot;25-Sep-25&quot;, &quot;26-Sep-25&quot;, &quot;29-Sep-25&quot;, &quot;30-Sep-25&quot;, &quot;01-Oct-25&quot;, &quot;02-Oct-25&quot;, &quot;03-Oct-25&quot;, &quot;06-Oct-25&quot;, &quot;07-Oct-25&quot;, &quot;08-Oct-25&quot;, &quot;09-Oct-25&quot;, &quot;10-Oct-25&quot;, &quot;13-Oct-25&quot;, &quot;14-Oct-25&quot;, &quot;15-Oct-25&quot;, &quot;16-Oct-25&quot;, &quot;17-Oct-25&quot;, &quot;20-Oct-25&quot;, &quot;21-Oct-25&quot;, &quot;22-Oct-25&quot;, &quot;23-Oct-25&quot;, &quot;24-Oct-25&quot;, &quot;27-Oct-25&quot;, &quot;28-Oct-25&quot;, &quot;29-Oct-25&quot;, &quot;30-Oct-25&quot;, &quot;31-Oct-25&quot;, &quot;03-Nov-25&quot;, &quot;04-Nov-25&quot;, &quot;05-Nov-25&quot;, &quot;06-Nov-25&quot;, &quot;07-Nov-25&quot;, &quot;10-Nov-25&quot;, &quot;11-Nov-25&quot;, &quot;12-Nov-25&quot;, &quot;13-Nov-25&quot;, &quot;14-Nov-25&quot;, &quot;17-Nov-25&quot;, &quot;18-Nov-25&quot;, &quot;19-Nov-25&quot;, &quot;20-Nov-25&quot;, &quot;21-Nov-25&quot;, &quot;24-Nov-25&quot;, &quot;25-Nov-25&quot;, &quot;26-Nov-25&quot;, &quot;27-Nov-25&quot;, &quot;28-Nov-25&quot;, &quot;01-Dec-25&quot;, &quot;02-Dec-25&quot;, &quot;03-Dec-25&quot;, &quot;04-Dec-25&quot;, &quot;05-Dec-25&quot;, &quot;08-Dec-25&quot;, &quot;09-Dec-25&quot;, &quot;10-Dec-25&quot;, &quot;11-Dec-25&quot;, &quot;12-Dec-25&quot;, &quot;15-Dec-25&quot;, &quot;16-Dec-25&quot;, &quot;17-Dec-25&quot;, &quot;18-Dec-25&quot;, &quot;19-Dec-25&quot;, &quot;22-Dec-25&quot;, &quot;23-Dec-25&quot;, &quot;24-Dec-25&quot;, &quot;26-Dec-25&quot;, &quot;29-Dec-25&quot;, &quot;30-Dec-25&quot;, &quot;31-Dec-25&quot;, &quot;02-Jan-26&quot;, &quot;05-Jan-26&quot;, &quot;06-Jan-26&quot;, &quot;07-Jan-26&quot;, &quot;08-Jan-26&quot;, &quot;09-Jan-26&quot;, &quot;12-Jan-26&quot;, &quot;13-Jan-26&quot;, &quot;14-Jan-26&quot;, &quot;15-Jan-26&quot;, &quot;16-Jan-26&quot;, &quot;19-Jan-26&quot;, &quot;20-Jan-26&quot;, &quot;21-Jan-26&quot;, &quot;22-Jan-26&quot;, &quot;23-Jan-26&quot;, &quot;26-Jan-26&quot;, &quot;27-Jan-26&quot;, &quot;28-Jan-26&quot;, &quot;29-Jan-26&quot;, &quot;30-Jan-26&quot;, &quot;02-Feb-26&quot;, &quot;03-Feb-26&quot;, &quot;04-Feb-26&quot;, &quot;06-Feb-26&quot;, &quot;09-Feb-26&quot;, &quot;10-Feb-26&quot;, &quot;11-Feb-26&quot;, &quot;12-Feb-26&quot;, &quot;13-Feb-26&quot;, &quot;16-Feb-26&quot;, &quot;17-Feb-26&quot;, &quot;18-Feb-26&quot;, &quot;20-Feb-26&quot;, &quot;23-Feb-26&quot;, &quot;24-Feb-26&quot;, &quot;25-Feb-26&quot;, &quot;26-Feb-26&quot;, &quot;27-Feb-26&quot;, &quot;02-Mar-26&quot;, &quot;03-Mar-26&quot;, &quot;04-Mar-26&quot;, &quot;05-Mar-26&quot;, &quot;06-Mar-26&quot;, &quot;09-Mar-26&quot;, &quot;10-Mar-26&quot;, &quot;11-Mar-26&quot;, &quot;12-Mar-26&quot;, &quot;13-Mar-26&quot;, &quot;16-Mar-26&quot;, &quot;17-Mar-26&quot;, &quot;18-Mar-26&quot;, &quot;19-Mar-26&quot;, &quot;24-Mar-26&quot;, &quot;25-Mar-26&quot;, &quot;26-Mar-26&quot;, &quot;27-Mar-26&quot;, &quot;30-Mar-26&quot;, &quot;31-Mar-26&quot;, &quot;01-Apr-26&quot;, &quot;02-Apr-26&quot;, &quot;03-Apr-26&quot;, &quot;04-Apr-26&quot;, &quot;06-Apr-26&quot;, &quot;07-Apr-26&quot;, &quot;08-Apr-26&quot;, &quot;09-Apr-26&quot;, &quot;10-Apr-26&quot;, &quot;13-Apr-26&quot;, &quot;14-Apr-26&quot;, &quot;14-Apr-26&quot;, &quot;15-Apr-26&quot;, &quot;16-Apr-26&quot;, &quot;17-Apr-26&quot;, &quot;20-Apr-26&quot;, &quot;21-Apr-26&quot;, &quot;22-Apr-26&quot;, &quot;23-Apr-26&quot;, &quot;24-Apr-26&quot;, &quot;27-Apr-26&quot;, &quot;28-Apr-26&quot;, &quot;29-Apr-26&quot;, &quot;30-Apr-26&quot;, &quot;04-May-26&quot;, &quot;05-May-26&quot;, &quot;06-May-26&quot;, &quot;07-May-26&quot;, &quot;08-May-26&quot;, &quot;11-May-26&quot;, &quot;12-May-26&quot;, &quot;13-May-26&quot;, &quot;14-May-26&quot;, &quot;15-May-26&quot;, &quot;18-May-26&quot;, &quot;19-May-26&quot;, &quot;20-May-26&quot;, &quot;21-May-26&quot;, &quot;22-May-26&quot;, &quot;25-May-26&quot;, &quot;29-May-26&quot;, &quot;01-Jun-26&quot;, &quot;02-Jun-26&quot;, &quot;03-Jun-26&quot;, &quot;04-Jun-26&quot;, &quot;05-Jun-26&quot;, &quot;08-Jun-26&quot;, &quot;09-Jun-26&quot;, &quot;10-Jun-26&quot;, &quot;11-Jun-26&quot;, &quot;12-Jun-26&quot;, &quot;15-Jun-26&quot;, &quot;16-Jun-26&quot;, &quot;17-Jun-26&quot;, &quot;18-Jun-26&quot;, &quot;19-Jun-26&quot;, &quot;22-Jun-26&quot;, &quot;23-Jun-26&quot;, &quot;24-Jun-26&quot;, &quot;29-Jun-26&quot;, &quot;30-Jun-26&quot;, &quot;02-Jul-26&quot;, &quot;03-Jul-26&quot;, &quot;06-Jul-26&quot;, &quot;07-Jul-26&quot;, &quot;08-Jul-26&quot;, &quot;09-Jul-26&quot;, &quot;10-Jul-26&quot;, &quot;13-Jul-26&quot;, &quot;14-Jul-26&quot;, &quot;15-Jul-26&quot;, &quot;16-Jul-26&quot;, &quot;17-Jul-26&quot;, &quot;20-Jul-26&quot;, &quot;21-Jul-26&quot;, &quot;22-Jul-26&quot;, &quot;23-Jul-26&quot;, &quot;24-Jul-26&quot;, &quot;27-Jul-26&quot;, &quot;28-Jul-26&quot;, &quot;29-Jul-26&quot;, &quot;30-Jul-26&quot;, &quot;03-Aug-26&quot;, &quot;04-Aug-26&quot;, &quot;05-Aug-26&quot;, &quot;06-Aug-26&quot;, &quot;07-Aug-26&quot;, &quot;10-Aug-26&quot;, &quot;11-Aug-26&quot;, &quot;12-Aug-26&quot;, &quot;13-Aug-26&quot;, &quot;17-Aug-26&quot;, &quot;18-Aug-26&quot;, &quot;20-Aug-26&quot;, &quot;21-Aug-26&quot;, &quot;24-Aug-26&quot;, &quot;25-Aug-26&quot;, &quot;27-Aug-26&quot;];
            
            const rawData = [279.77, 279.87, 279.82, 279.97, 280.07, 279.95, 279.97, 280.05, 280.21, 280.17, 280.27, 280.21, 280.22, 280.26, 280.37, 280.42, 280.26, 280.22, 280.16, 280.56, 280.47, 280.57, 280.73, 280.78, 280.56, 280.47, 280.60, 280.57, 280.46, 280.62, 280.72, 280.87, 280.77, 280.97, 281.07, 280.97, 281.07, 281.02, 280.97, 281.06, 281.22, 281.37, 281.47, 281.52, 281.71, 281.57, 281.67, 281.72, 281.61, 281.66, 281.77, 281.92, 281.97, 282.06, 281.97, 282.06, 282.17, 282.07, 282.02, 281.97, 282.12, 282.22, 282.17, 282.21, 282.47, 282.67, 282.96, 283.17, 283.41, 283.55, 283.64, 283.70, 283.87, 283.77, 283.72, 283.67, 283.72, 283.76, 283.95, 283.86, 283.97, 284.22, 284.36, 284.47, 284.56, 284.46, 284.72, 284.67, 284.96, 284.97, 284.87, 284.95, 284.97, 284.76, 284.22, 283.45, 283.21, 283.05, 282.95, 282.87, 282.72, 282.66, 282.57, 282.67, 282.56, 282.47, 282.45, 282.42, 282.22, 282.06, 282.01, 281.96, 281.95, 281.92, 281.90, 281.87, 281.86, 281.83, 281.80, 281.77, 281.75, 281.72, 281.71, 281.67, 281.65, 281.62, 281.61, 281.60, 281.56, 281.55, 281.52, 281.51, 281.50, 281.47, 281.46, 281.45, 281.46, 281.42, 281.43, 281.41, 281.37, 281.35, 281.32, 281.31, 281.27, 281.26, 281.25, 281.22, 281.21, 281.20, 281.17, 281.16, 281.15, 281.12, 281.11, 281.10, 281.07, 281.06, 281.05, 281.03, 281.02, 281.01, 280.97, 280.96, 280.92, 280.91, 280.90, 280.87, 280.86, 280.85, 280.82, 280.81, 280.78, 280.77, 280.76, 280.72, 280.71, 280.67, 280.66, 280.66, 280.65, 280.62, 280.61, 280.57, 280.56, 280.55, 280.52, 280.51, 280.47, 280.46, 280.45, 280.42, 280.41, 280.40, 280.37, 280.36, 280.32, 280.31, 280.30, 280.27, 280.26, 280.25, 280.22, 280.21, 280.20, 280.17, 280.16, 280.15, 280.12, 280.11, 280.10, 280.07, 280.06, 280.05, 280.02, 280.01, 280.00, 279.97, 279.96, 279.95, 279.92, 279.91, 279.90, 279.87, 279.86, 279.85, 279.82, 279.81, 279.80, 279.77, 279.76, 279.75, 279.72, 279.71, 279.70, 279.67, 279.66, 279.65, 279.62, 279.61, 279.60, 279.57, 279.56, 279.55, 279.52, 279.51, 279.50, 279.47, 279.46, 279.45, 279.42, 279.41, 279.40, 279.37, 279.36, 279.35, 279.32, 279.31, 279.30, 279.27, 279.26, 279.25, 279.22, 279.21, 279.20, 279.17, 279.16, 279.15, 279.12, 279.11, 279.10, 279.07, 279.06, 279.05, 279.02, 279.01, 279.00, 278.97, 278.96, 278.95, 278.92, 278.91, 278.90, 278.87, 278.86, 278.85, 278.82, 278.81, 278.80, 278.77, 278.76, 278.75, 278.72, 278.71, 278.70, 278.67, 278.66, 278.65, 278.62, 278.61, 278.60, 278.57, 278.56, 278.55, 278.52, 278.51, 278.50, 278.47, 278.46, 278.45, 278.42, 278.41, 278.40, 278.37, 278.36, 278.35, 278.32, 278.31, 278.30, 278.27, 278.26, 278.25, 278.22, 278.21, 278.20, 278.17, 278.16, 278.15, 278.12, 278.11, 278.10, 278.07, 278.06, 278.05, 278.02, 278.01, 278.00, 277.95, 277.95, 277.92, 277.91, 277.90, 277.87, 277.86, 277.85, 277.82, 277.81, 277.80, 277.77, 277.76, 277.75, 277.72, 277.71, 277.70, 277.67, 277.66, 277.65, 277.62, 277.61, 277.57, 277.56, 277.55, 277.52, 277.51];

            const currentExchangeRate = rawData[rawData.length - 1];
            const currentExchangeDate = rawLabels[rawLabels.length - 1];

            // DOM Elements
            const usdInput = document.getElementById(&#039;usdInput&#039;);
            const pkrInput = document.getElementById(&#039;pkrInput&#039;);
            const badgeEl = document.getElementById(&#039;latestBadgeRate&#039;);
            const dateLabelEl = document.getElementById(&#039;latestDateLabel&#039;);

            const statHighEl = document.getElementById(&#039;statHigh&#039;);
            const statLowEl = document.getElementById(&#039;statLow&#039;);
            const statAvgEl = document.getElementById(&#039;statAvg&#039;);
            const statChangeEl = document.getElementById(&#039;statChange&#039;);

            // Format helpers
            const formatCurrency = (val, maxDecimals = 2, minDecimals = 2) =&gt; {
                if (isNaN(val) || val === null) return &#039;--&#039;;
                return val.toLocaleString(&#039;en-US&#039;, {
                    minimumFractionDigits: minDecimals,
                    maximumFractionDigits: maxDecimals
                });
            };

            const parseCurrency = (valStr) =&gt; {
                if (!valStr) return NaN;
                return parseFloat(valStr.toString().replace(/,/g, &#039;&#039;));
            };

            // Set Initial Values in UI
            dateLabelEl.textContent = currentExchangeDate;
            badgeEl.textContent = formatCurrency(currentExchangeRate) + &#039; PKR&#039;;
            pkrInput.value = formatCurrency(currentExchangeRate);

            // Converter Event Listeners
            usdInput.addEventListener(&#039;input&#039;, (e) =&gt; {
                const val = parseCurrency(e.target.value);
                if (isNaN(val)) {
                    pkrInput.value = &#039;&#039;;
                } else {
                    pkrInput.value = formatCurrency(val * currentExchangeRate);
                }
            });

            pkrInput.addEventListener(&#039;input&#039;, (e) =&gt; {
                const val = parseCurrency(e.target.value);
                if (isNaN(val)) {
                    usdInput.value = &#039;&#039;;
                } else {
                    usdInput.value = formatCurrency(val / currentExchangeRate, 4, 2);
                }
            });

            usdInput.addEventListener(&#039;blur&#039;, (e) =&gt; {
                const val = parseCurrency(e.target.value);
                if (!isNaN(val)) {
                    e.target.value = formatCurrency(val, 2, 0);
                }
            });

            pkrInput.addEventListener(&#039;blur&#039;, (e) =&gt; {
                const val = parseCurrency(e.target.value);
                if (!isNaN(val)) {
                    e.target.value = formatCurrency(val, 2, 2);
                }
            });

            const ctx = document.getElementById(&#039;closingRatesChart&#039;).getContext(&#039;2d&#039;);
            
            // Create gradient fill
            const gradient = ctx.createLinearGradient(0, 0, 0, 350);
            gradient.addColorStop(0, &#039;rgba(79, 70, 229, 0.25)&#039;);
            gradient.addColorStop(1, &#039;rgba(79, 70, 229, 0.0)&#039;);

            let chartInstance = new Chart(ctx, {
                type: &#039;line&#039;,
                data: {
                    labels: rawLabels,
                    datasets: [{
                        label: &#039;USD to PKR&#039;,
                        data: rawData,
                        borderColor: &#039;#4f46e5&#039;,
                        borderWidth: 2,
                        backgroundColor: gradient,
                        fill: true,
                        tension: 0.3,
                        pointRadius: 0,
                        pointHoverRadius: 6,
                        pointHoverBackgroundColor: &#039;#4f46e5&#039;,
                        pointHoverBorderColor: &#039;#ffffff&#039;,
                        pointHoverBorderWidth: 2
                    }]
                },
                options: {
                    responsive: true,
                    maintainAspectRatio: false,
                    interaction: {
                        intersect: false,
                        mode: &#039;index&#039;
                    },
                    plugins: {
                        legend: { display: false },
                        tooltip: {
                            backgroundColor: &#039;#0f172a&#039;,
                            titleFont: { family: &#039;Plus Jakarta Sans&#039;, size: 12, weight: &#039;bold&#039; },
                            bodyFont: { family: &#039;Plus Jakarta Sans&#039;, size: 13 },
                            padding: 10,
                            cornerRadius: 8,
                            displayColors: false,
                            callbacks: {
                                label: function(context) {
                                    return &#039;Rate: &#039; + formatCurrency(context.parsed.y) + &#039; PKR&#039;;
                                }
                            }
                        }
                    },
                    scales: {
                        x: {
                            grid: { display: false },
                            ticks: {
                                font: { family: &#039;Plus Jakarta Sans&#039;, size: 11 },
                                color: &#039;#64748b&#039;,
                                maxTicksLimit: 8,
                                maxRotation: 0
                            }
                        },
                        y: {
                            grid: { color: &#039;#f1f5f9&#039; },
                            ticks: {
                                font: { family: &#039;Plus Jakarta Sans&#039;, size: 11 },
                                color: &#039;#64748b&#039;,
                                callback: function(value) {
                                    return value.toFixed(1);
                                }
                            }
                        }
                    }
                }
            });

            function updateRangeStats(labels, data) {
                if (!data || data.length === 0) return;

                const high = Math.max(...data);
                const low = Math.min(...data);
                const avg = data.reduce((a, b) =&gt; a + b, 0) / data.length;
                const startVal = data[0];
                const endVal = data[data.length - 1];
                const change = endVal - startVal;
                const changePct = (change / startVal) * 100;

                statHighEl.textContent = formatCurrency(high);
                statLowEl.textContent = formatCurrency(low);
                statAvgEl.textContent = formatCurrency(avg);

                const sign = change &gt;= 0 ? &#039;+&#039; : &#039;&#039;;
                statChangeEl.textContent = `${sign}${formatCurrency(change)} (${sign}${changePct.toFixed(2)}%)`;
                statChangeEl.style.color = change &gt; 0 ? &#039;#10b981&#039; : (change &lt; 0 ? &#039;#ef4444&#039; : &#039;#64748b&#039;);
            }

            // Timeframe filtering handler
            function setTimeframe(rangeCount) {
                let slicedLabels = rawLabels;
                let slicedData = rawData;

                if (rangeCount !== &#039;all&#039;) {
                    const count = parseInt(rangeCount, 10);
                    slicedLabels = rawLabels.slice(-count);
                    slicedData = rawData.slice(-count);
                }

                chartInstance.data.labels = slicedLabels;
                chartInstance.data.datasets[0].data = slicedData;

                // Adjust Y axis dynamic scaling
                const minVal = Math.min(...slicedData);
                const maxVal = Math.max(...slicedData);
                const padding = (maxVal - minVal) * 0.1 || 1;
                
                chartInstance.options.scales.y.min = Math.floor((minVal - padding) * 10) / 10;
                chartInstance.options.scales.y.max = Math.ceil((maxVal + padding) * 10) / 10;

                chartInstance.update();
                updateRangeStats(slicedLabels, slicedData);
            }

            // Setup timeframe button listeners
            document.querySelectorAll(&#039;#pkr-chart-embed .tf-btn&#039;).forEach(btn =&gt; {
                btn.addEventListener(&#039;click&#039;, (e) =&gt; {
                    document.querySelectorAll(&#039;#pkr-chart-embed .tf-btn&#039;).forEach(b =&gt; b.classList.remove(&#039;active&#039;));
                    e.target.classList.add(&#039;active&#039;);
                    setTimeframe(e.target.getAttribute(&#039;data-range&#039;));
                });
            });

            // Initial range load
            setTimeframe(&#039;all&#039;);
        })();
    &lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;
    &lt;script&gt;
        function reportHeight() {
            var h = document.documentElement.scrollHeight;
            window.parent.postMessage({ type: &#039;raw-html-resize&#039;, id: &#039;raw-html-6a906a1beb2fe&#039;, height: h }, &#039;*&#039;);
        }
        window.addEventListener(&#039;load&#039;, reportHeight);
        if (window.ResizeObserver) {
            new ResizeObserver(reportHeight).observe(document.body);
        }
    &lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;"></iframe>
<script>
if (!window._rawHtmlListenerAttached) {
    window._rawHtmlListenerAttached = true;
    window.addEventListener('message', function(event) {
        if (event.data && event.data.type === 'raw-html-resize' && event.data.id) {
            var iframe = document.getElementById(event.data.id);
            if (iframe) {
                var height = Math.min(Math.max(event.data.height, 50), 9200);
                iframe.style.height = height + 'px';
            }
        }
    });
}
</script>
<p><strong>The Pakistani rupee extended its marginal gains against the US dollar on Thursday.</strong></p>
<p>The local unit closed the day at 277.51, a gain of Re0.01 against the greenback.</p>
    <figure class='media  w-full sm:w-full  media--center  media--embed  media--uneven media--tweet' data-original-src='https://x.com/StateBank_Pak/status/2092936098792247759'>
        <div class='media__item  media__item--twitter  '><span>
    <blockquote class="twitter-tweet" lang="en">
        <a href="https://twitter.com/StateBank_Pak/status/2092936098792247759"></a>
    </blockquote>
</span></div>
        
    </figure>
<p><a href="https://www.brecorder.com/news/40436471"><u>On Tuesday</u></a><u>, </u>the Pakistani rupee settled at 277.52 against the dollar. The currency market was closed on Wednesday on account of Eid-Milad-un-Nabi.</p>
<p>Moreover, the dollar held near an eight-day high ‌on Thursday after US inflation and other economic data slightly lifted expectations of a Federal Reserve rate hike.</p>
<p><a href="https://www.brecorder.com/news/40436631/dollar-near-eight-day-high-as-us-data-lifts-fed-hike-bets">The dollar index</a>, which measures the greenback against a basket of ​currencies including the yen and the euro, rose 0.21% to 99.13, its highest level since August 19.</p>
<p>Against the yen, the dollar ‌traded at ⁠159.23, having given back most of its intervention gains but still well off a multi-decade low of about 164.</p>
<p>Furthermore, <a href="https://www.brecorder.com/news/40436630/oil-gains-as-traders-weigh-prospects-of-easing-middle-east-supply-disruptions">oil prices rose on Thursday</a>, as traders weighed prospects for global supplies in the wake of ‌the ongoing Iran war as Washington confirmed it was not currently in talks with Tehran despite diplomatic efforts by other countries.</p>
<p>Brent crude futures were up $1.16, or 1.32%, at $89 a barrel at 1332 GMT. West Texas Intermediate crude futures gained 52 cents, or 0.63%, to $82.75.</p>
<p><strong>Inter-bank market rates for dollar on Thursday</strong></p>
<p>BID Rs 277.51</p>
<p>OFFER Rs 277.71</p>
<p><strong>Open-market movement</strong></p>
<p>In the open market, the PKR lost 1 paisa for buying and 11 paise selling against USD, closing at 278.26 and 279.29, respectively.</p>
<p>Against Euro, the PKR gained 24 paise for buying and 4 paise for selling, closing at 322.75 and 325.75, respectively.</p>
<p>Against UAE Dirham, the PKR lost 3 paise for buying and 4 paise for selling, closing at 75.63 and 76.30, respectively.</p>
<p>Against Saudi Riyal, the PKR lost 1 paisa for buying and remained unchanged for selling, closing at 73.89 and 74.46, respectively.</p>
<p><strong>Open-market rates for dollar on Thursday</strong></p>
<p>BID Rs 278.26</p>
<p>OFFER Rs 279.29</p>
]]></content:encoded>
      <category>Markets</category>
      <guid>https://www.brecorder.com/news/40436679</guid>
      <pubDate>Thu, 27 Aug 2026 21:47:24 +0500</pubDate>
      <author>none@none.com (Recorder Report)</author>
      <media:content url="https://i.brecorder.com/large/2026/08/27142944e0100e4.webp" type="image/webp" medium="image" height="768" width="1024">
        <media:thumbnail url="https://i.brecorder.com/thumbnail/2026/08/27142944e0100e4.webp"/>
        <media:title/>
      </media:content>
    </item>
    <item xmlns:default="http://purl.org/rss/1.0/modules/content/">
      <title>Pakistan rupee records gain against US dollar</title>
      <link>https://www.brecorder.com/news/40436471/intra-day-update-rupee-records-gain-against-us-dollar</link>
      <description>&lt;p&gt;&lt;strong&gt;The Pakistani rupee extended its marginal gains, appreciating 0.01%, against the US dollar on Tuesday.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The local unit closed the day at 277.52, a gain of Re0.03 against the greenback.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.brecorder.com/news/40436304"&gt;&lt;u&gt;On Monday&lt;/u&gt;&lt;/a&gt;&lt;u&gt;, &lt;/u&gt;the Pakistani rupee settled at 277.55 against the dollar.&lt;/p&gt;
&lt;p&gt;Meanwhile, the US dollar struggled to hold onto gains against major peers on Tuesday, ​as investors parsed Washington’s expanded Iran-related sanctions and renewed efforts to ease pressure on longer-dated Treasury yields.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.brecorder.com/news/40436432/dollar-struggles-for-traction-as-markets-weigh-iran-sanctions-treasury-buybacks"&gt;The euro&lt;/a&gt; ‌was a shade higher at $1.1668, hovering near a three-month peak hit last week, while sterling was 0.1% stronger at $1.3639, near its six-month peak.&lt;/p&gt;
&lt;p&gt;The Japanese yen strengthened a tad to 159.21 per US dollar, having given back most of its intervention gains but still well off a multi-decade low of about 164.&lt;/p&gt;
&lt;p&gt;The dollar ​index, which measures the U.S. currency against six major peers, was down marginally at 98.96 in Asian trades.&lt;/p&gt;
&lt;p&gt;It climbed 0.16% overnight, lifting ​it from three-month lows amid a revived debasement trade, but appeared to be struggling to sustain the momentum.&lt;/p&gt;
&lt;p&gt;Furthermore, oil prices recovered ground on Tuesday after settling down more than 2% in the previous session, with investors assessing the impact of the latest US sanctions against Iran.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.brecorder.com/news/40436428/oil-falls-over-4-as-investors-shrug-off-us-sanctions-on-iran"&gt;Oil prices fell about 4%&lt;/a&gt; to a one-week low on Tuesday as traders shrugged off the latest US sanctions ‌campaign against Iran, viewing economic pressure as posing less risk to oil supplies than a military escalation.&lt;/p&gt;
&lt;p&gt;Brent crude futures were down $3.83, or 4.2%, to $88.34 a barrel by 11:44am EDT, while US West Texas Intermediate crude futures fell $3.34, or 3.9%, to $81.67.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Inter-bank market rates for dollar on Tuesday&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;BID Rs 277.52&lt;/p&gt;
&lt;p&gt;OFFER Rs 277.72&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Open-market movement&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;In the open market, the PKR remained gained 1 paisa for buying and 7 paise selling against USD, closing at 278.25 and 279.18, respectively.&lt;/p&gt;
&lt;p&gt;Against Euro, the PKR gained 16 paise for buying and 47 paise for selling, closing at 322.99 and 325.79, respectively.&lt;/p&gt;
&lt;p&gt;Against UAE Dirham, the PKR lost 2 paise for buying and 1 paisa for selling, closing at 75.60 and 76.25, respectively.&lt;/p&gt;
&lt;p&gt;Against Saudi Riyal, the PKR remained unchanged for buying and gained 1 paisa for selling, closing at 73.88 and 74.46, respectively.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Open-market rates for dollar on Tuesday&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;BID Rs 278.25&lt;/p&gt;
&lt;p&gt;OFFER Rs 279.18&lt;/p&gt;
</description>
      <content:encoded xmlns="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p><strong>The Pakistani rupee extended its marginal gains, appreciating 0.01%, against the US dollar on Tuesday.</strong></p>
<p>The local unit closed the day at 277.52, a gain of Re0.03 against the greenback.</p>
<p><a href="https://www.brecorder.com/news/40436304"><u>On Monday</u></a><u>, </u>the Pakistani rupee settled at 277.55 against the dollar.</p>
<p>Meanwhile, the US dollar struggled to hold onto gains against major peers on Tuesday, ​as investors parsed Washington’s expanded Iran-related sanctions and renewed efforts to ease pressure on longer-dated Treasury yields.</p>
<p><a href="https://www.brecorder.com/news/40436432/dollar-struggles-for-traction-as-markets-weigh-iran-sanctions-treasury-buybacks">The euro</a> ‌was a shade higher at $1.1668, hovering near a three-month peak hit last week, while sterling was 0.1% stronger at $1.3639, near its six-month peak.</p>
<p>The Japanese yen strengthened a tad to 159.21 per US dollar, having given back most of its intervention gains but still well off a multi-decade low of about 164.</p>
<p>The dollar ​index, which measures the U.S. currency against six major peers, was down marginally at 98.96 in Asian trades.</p>
<p>It climbed 0.16% overnight, lifting ​it from three-month lows amid a revived debasement trade, but appeared to be struggling to sustain the momentum.</p>
<p>Furthermore, oil prices recovered ground on Tuesday after settling down more than 2% in the previous session, with investors assessing the impact of the latest US sanctions against Iran.</p>
<p><a href="https://www.brecorder.com/news/40436428/oil-falls-over-4-as-investors-shrug-off-us-sanctions-on-iran">Oil prices fell about 4%</a> to a one-week low on Tuesday as traders shrugged off the latest US sanctions ‌campaign against Iran, viewing economic pressure as posing less risk to oil supplies than a military escalation.</p>
<p>Brent crude futures were down $3.83, or 4.2%, to $88.34 a barrel by 11:44am EDT, while US West Texas Intermediate crude futures fell $3.34, or 3.9%, to $81.67.</p>
<p><strong>Inter-bank market rates for dollar on Tuesday</strong></p>
<p>BID Rs 277.52</p>
<p>OFFER Rs 277.72</p>
<p><strong>Open-market movement</strong></p>
<p>In the open market, the PKR remained gained 1 paisa for buying and 7 paise selling against USD, closing at 278.25 and 279.18, respectively.</p>
<p>Against Euro, the PKR gained 16 paise for buying and 47 paise for selling, closing at 322.99 and 325.79, respectively.</p>
<p>Against UAE Dirham, the PKR lost 2 paise for buying and 1 paisa for selling, closing at 75.60 and 76.25, respectively.</p>
<p>Against Saudi Riyal, the PKR remained unchanged for buying and gained 1 paisa for selling, closing at 73.88 and 74.46, respectively.</p>
<p><strong>Open-market rates for dollar on Tuesday</strong></p>
<p>BID Rs 278.25</p>
<p>OFFER Rs 279.18</p>
]]></content:encoded>
      <category>Markets</category>
      <guid>https://www.brecorder.com/news/40436471</guid>
      <pubDate>Tue, 25 Aug 2026 21:30:47 +0500</pubDate>
      <author>none@none.com (Recorder Report)</author>
      <media:content url="https://i.brecorder.com/large/2026/08/25154053e2c6966.webp" type="image/webp" medium="image" height="768" width="1024">
        <media:thumbnail url="https://i.brecorder.com/thumbnail/2026/08/25154053e2c6966.webp"/>
        <media:title/>
      </media:content>
    </item>
    <item xmlns:default="http://purl.org/rss/1.0/modules/content/">
      <title>Pakistan rupee records gain against US dollar</title>
      <link>https://www.brecorder.com/news/40436304/pakistan-rupee-records-gain-against-us-dollar</link>
      <description>&lt;iframe id="raw-html-6a8c641cee4b3" class="raw-html-embed" style="width: 100%; min-height: 50px; max-height: 9200px; border: none; overflow: hidden;" scrolling="no" srcdoc="&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html&amp;gt;
&amp;lt;head&amp;gt;
    &amp;lt;style&amp;gt;
        body { margin: 0; padding: 0; font-family: system-ui, -apple-system, sans-serif; overflow-wrap: anywhere; }
    &amp;lt;/style&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
    
&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html lang=&amp;quot;en&amp;quot;&amp;gt;
&amp;lt;head&amp;gt;
    &amp;lt;meta charset=&amp;quot;UTF-8&amp;quot;&amp;gt;
    &amp;lt;meta name=&amp;quot;viewport&amp;quot; content=&amp;quot;width=device-width, initial-scale=1.0&amp;quot;&amp;gt;
    &amp;lt;title&amp;gt;PKR vs USD Exchange Rate Chart&amp;lt;/title&amp;gt;
    &amp;lt;!-- Chart.js for high-performance rendering --&amp;gt;
    &amp;lt;script src=&amp;quot;https://cdn.jsdelivr.net/npm/chart.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;
    
    &amp;lt;style&amp;gt;
        @import url(&amp;#039;https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght=400;500;600;700&amp;amp;display=swap&amp;#039;);

        #pkr-chart-embed {
            font-family: &amp;#039;Plus Jakarta Sans&amp;#039;, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, sans-serif;
            max-width: 1000px;
            width: 100%;
            margin: 24px auto;
            background-color: #ffffff;
            border: 1px solid #e2e8f0;
            border-radius: 20px;
            padding: 24px;
            box-shadow: 0 10px 25px -5px rgba(15, 23, 42, 0.05), 0 8px 10px -6px rgba(15, 23, 42, 0.05);
            color: #0f172a;
            box-sizing: border-box;
        }

        #pkr-chart-embed * { box-sizing: border-box; margin: 0; padding: 0; }

        #pkr-chart-embed .chart-header {
            display: flex;
            flex-direction: column;
            gap: 20px;
            margin-bottom: 24px;
            width: 100%;
        }

        #pkr-chart-embed .top-row {
            display: flex;
            flex-direction: row;
            justify-content: space-between;
            align-items: flex-start;
            gap: 20px;
        }

        #pkr-chart-embed .calculator-area {
            display: flex;
            flex-direction: column;
            gap: 8px;
            align-items: flex-start;
        }

        #pkr-chart-embed .main-title {
            font-size: 20px;
            font-weight: 700;
            color: #0f172a;
            letter-spacing: -0.025em;
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            gap: 8px;
        }

        #pkr-chart-embed .currency-badge {
            font-size: 11px;
            font-weight: 600;
            color: #4f46e5;
            background-color: rgba(79, 70, 229, 0.08);
            padding: 2px 8px;
            border-radius: 9999px;
            border: 1px solid rgba(79, 70, 229, 0.15);
            text-transform: uppercase;
        }

        #pkr-chart-embed .calculator-title {
            font-size: 10px;
            font-weight: 700;
            color: #64748b;
            text-transform: uppercase;
            letter-spacing: 0.05em;
        }

        #pkr-chart-embed .converter {
            display: flex;
            align-items: center;
            background: #f8fafc;
            border: 1px solid #e2e8f0;
            border-radius: 12px;
            padding: 4px;
            gap: 6px;
        }

        #pkr-chart-embed .converter-group {
            display: flex;
            align-items: center;
            background: #ffffff;
            border-radius: 8px;
            padding: 6px 10px;
            box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
            border: 1px solid transparent;
        }

        #pkr-chart-embed .converter-input {
            border: none;
            outline: none;
            width: 100px;
            font-family: inherit;
            font-weight: 700;
            color: #0f172a;
            font-size: 14px;
            text-align: right;
            background: transparent;
        }

        #pkr-chart-embed .converter-input.pkr-field { width: 140px; }

        #pkr-chart-embed .converter-label {
            font-size: 11px;
            font-weight: 700;
            color: #64748b;
            margin-left: 6px;
        }

        #pkr-chart-embed .equals-sign { color: #94a3b8; font-weight: 600; font-size: 16px; }

        #pkr-chart-embed .rate-badge-container {
            display: flex;
            flex-direction: column;
            align-items: flex-end;
            gap: 8px;
        }

        #pkr-chart-embed .rate-label-sub { text-align: right; }
        #pkr-chart-embed .rate-label-sub span:first-child { display: block; font-size: 9px; text-transform: uppercase; font-weight: 700; color: #64748b; }
        #pkr-chart-embed .rate-label-sub span:last-child { display: block; font-size: 12px; color: #334155; font-weight: 600; }

        #pkr-chart-embed .rate-badge {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            background: linear-gradient(135deg, #4f46e5, #3b82f6);
            color: #ffffff;
            font-weight: 700;
            font-size: 13px;
            padding: 10px 16px;
            border-radius: 12px;
            box-shadow: 0 8px 16px -3px rgba(79, 70, 229, 0.25);
        }

        #pkr-chart-embed .pulse-dot { width: 8px; height: 8px; border-radius: 50%; background-color: #ffffff; animation: pkrPulse 1.5s infinite; }

        @keyframes pkrPulse {
            0% { transform: scale(0.95); opacity: 0.6; }
            50% { transform: scale(1.15); opacity: 1; }
            100% { transform: scale(0.95); opacity: 0.6; }
        }

        #pkr-chart-embed .chart-canvas-container { position: relative; width: 100%; height: 400px; }

        @media (max-width: 768px) {
            #pkr-chart-embed .chart-canvas-container { height: 320px; }
            #pkr-chart-embed .top-row { flex-direction: column; align-items: flex-start; }
            #pkr-chart-embed .rate-badge-container { align-items: flex-start; }
            #pkr-chart-embed .rate-label-sub { text-align: left; }
        }
    &amp;lt;/style&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
    &amp;lt;div id=&amp;quot;pkr-chart-embed&amp;quot;&amp;gt;
        &amp;lt;div class=&amp;quot;chart-header&amp;quot;&amp;gt;
            &amp;lt;h1 class=&amp;quot;main-title&amp;quot;&amp;gt;
                &amp;lt;span&amp;gt;PKR vs USD Exchange Rate&amp;lt;/span&amp;gt;
                &amp;lt;span class=&amp;quot;currency-badge&amp;quot;&amp;gt;USD / PKR&amp;lt;/span&amp;gt;
            &amp;lt;/h1&amp;gt;

            &amp;lt;div class=&amp;quot;top-row&amp;quot;&amp;gt;
                &amp;lt;div class=&amp;quot;calculator-area&amp;quot;&amp;gt;
                    &amp;lt;span class=&amp;quot;calculator-title&amp;quot;&amp;gt;Calculator&amp;lt;/span&amp;gt;
                    &amp;lt;div class=&amp;quot;converter&amp;quot;&amp;gt;
                        &amp;lt;div class=&amp;quot;converter-group&amp;quot;&amp;gt;
                            &amp;lt;input type=&amp;quot;text&amp;quot; inputmode=&amp;quot;decimal&amp;quot; id=&amp;quot;usdInput&amp;quot; class=&amp;quot;converter-input&amp;quot; value=&amp;quot;1&amp;quot;&amp;gt;
                            &amp;lt;span class=&amp;quot;converter-label&amp;quot;&amp;gt;USD&amp;lt;/span&amp;gt;
                        &amp;lt;/div&amp;gt;
                        &amp;lt;span class=&amp;quot;equals-sign&amp;quot;&amp;gt;=&amp;lt;/span&amp;gt;
                        &amp;lt;div class=&amp;quot;converter-group&amp;quot;&amp;gt;
                            &amp;lt;input type=&amp;quot;text&amp;quot; inputmode=&amp;quot;decimal&amp;quot; id=&amp;quot;pkrInput&amp;quot; class=&amp;quot;converter-input pkr-field&amp;quot; value=&amp;quot;&amp;quot;&amp;gt;
                            &amp;lt;span class=&amp;quot;converter-label&amp;quot;&amp;gt;PKR&amp;lt;/span&amp;gt;
                        &amp;lt;/div&amp;gt;
                    &amp;lt;/div&amp;gt;
                &amp;lt;/div&amp;gt;

                &amp;lt;div class=&amp;quot;rate-badge-container&amp;quot;&amp;gt;
                    &amp;lt;div class=&amp;quot;rate-label-sub&amp;quot;&amp;gt;
                        &amp;lt;span&amp;gt;Latest Closing&amp;lt;/span&amp;gt;
                        &amp;lt;span&amp;gt;24-Aug-26&amp;lt;/span&amp;gt;
                    &amp;lt;/div&amp;gt;
                    &amp;lt;div class=&amp;quot;rate-badge&amp;quot;&amp;gt;
                        &amp;lt;span class=&amp;quot;pulse-dot&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;
                        &amp;lt;span id=&amp;quot;latestBadgeRate&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;
                    &amp;lt;/div&amp;gt;
                &amp;lt;/div&amp;gt;
            &amp;lt;/div&amp;gt;
        &amp;lt;/div&amp;gt;

        &amp;lt;div class=&amp;quot;chart-canvas-container&amp;quot;&amp;gt;
            &amp;lt;canvas id=&amp;quot;closingRatesChart&amp;quot;&amp;gt;&amp;lt;/canvas&amp;gt;
        &amp;lt;/div&amp;gt;
    &amp;lt;/div&amp;gt;

    &amp;lt;script&amp;gt;
        (function() {
            const rawLabels = [&amp;quot;04-Mar-25&amp;quot;, &amp;quot;05-Mar-25&amp;quot;, &amp;quot;06-Mar-25&amp;quot;, &amp;quot;07-Mar-25&amp;quot;, &amp;quot;10-Mar-25&amp;quot;, &amp;quot;11-Mar-25&amp;quot;, &amp;quot;12-Mar-25&amp;quot;, &amp;quot;13-Mar-25&amp;quot;, &amp;quot;14-Mar-25&amp;quot;, &amp;quot;17-Mar-25&amp;quot;, &amp;quot;18-Mar-25&amp;quot;, &amp;quot;19-Mar-25&amp;quot;, &amp;quot;20-Mar-25&amp;quot;, &amp;quot;21-Mar-25&amp;quot;, &amp;quot;24-Mar-25&amp;quot;, &amp;quot;25-Mar-25&amp;quot;, &amp;quot;26-Mar-25&amp;quot;, &amp;quot;27-Mar-25&amp;quot;, &amp;quot;28-Mar-25&amp;quot;, &amp;quot;03-Apr-25&amp;quot;, &amp;quot;04-Apr-25&amp;quot;, &amp;quot;07-Apr-25&amp;quot;, &amp;quot;08-Apr-25&amp;quot;, &amp;quot;09-Apr-25&amp;quot;, &amp;quot;10-Apr-25&amp;quot;, &amp;quot;11-Apr-25&amp;quot;, &amp;quot;14-Apr-25&amp;quot;, &amp;quot;15-Apr-25&amp;quot;, &amp;quot;16-Apr-25&amp;quot;, &amp;quot;17-Apr-25&amp;quot;, &amp;quot;18-Apr-25&amp;quot;, &amp;quot;21-Apr-25&amp;quot;, &amp;quot;22-Apr-25&amp;quot;, &amp;quot;23-Apr-25&amp;quot;, &amp;quot;24-Apr-25&amp;quot;, &amp;quot;25-Apr-25&amp;quot;, &amp;quot;28-Apr-25&amp;quot;, &amp;quot;29-Apr-25&amp;quot;, &amp;quot;30-Apr-25&amp;quot;, &amp;quot;02-May-25&amp;quot;, &amp;quot;05-May-25&amp;quot;, &amp;quot;06-May-25&amp;quot;, &amp;quot;07-May-25&amp;quot;, &amp;quot;08-May-25&amp;quot;, &amp;quot;09-May-25&amp;quot;, &amp;quot;12-May-25&amp;quot;, &amp;quot;13-May-25&amp;quot;, &amp;quot;14-May-25&amp;quot;, &amp;quot;15-May-25&amp;quot;, &amp;quot;16-May-25&amp;quot;, &amp;quot;19-May-25&amp;quot;, &amp;quot;20-May-25&amp;quot;, &amp;quot;21-May-25&amp;quot;, &amp;quot;22-May-25&amp;quot;, &amp;quot;23-May-25&amp;quot;, &amp;quot;26-May-25&amp;quot;, &amp;quot;27-May-25&amp;quot;, &amp;quot;29-May-25&amp;quot;, &amp;quot;30-May-25&amp;quot;, &amp;quot;02-Jun-25&amp;quot;, &amp;quot;03-Jun-25&amp;quot;, &amp;quot;04-Jun-25&amp;quot;, &amp;quot;05-Jun-25&amp;quot;, &amp;quot;10-Jun-25&amp;quot;, &amp;quot;11-Jun-25&amp;quot;, &amp;quot;12-Jun-25&amp;quot;, &amp;quot;13-Jun-25&amp;quot;, &amp;quot;16-Jun-25&amp;quot;, &amp;quot;17-Jun-25&amp;quot;, &amp;quot;18-Jun-25&amp;quot;, &amp;quot;19-Jun-25&amp;quot;, &amp;quot;20-Jun-25&amp;quot;, &amp;quot;23-Jun-25&amp;quot;, &amp;quot;24-Jun-25&amp;quot;, &amp;quot;25-Jun-25&amp;quot;, &amp;quot;26-Jun-25&amp;quot;, &amp;quot;27-Jun-25&amp;quot;, &amp;quot;30-Jun-25&amp;quot;, &amp;quot;02-Jul-25&amp;quot;, &amp;quot;03-Jul-25&amp;quot;, &amp;quot;04-Jul-25&amp;quot;, &amp;quot;07-Jul-25&amp;quot;, &amp;quot;08-Jul-25&amp;quot;, &amp;quot;09-Jul-25&amp;quot;, &amp;quot;10-Jul-25&amp;quot;, &amp;quot;11-Jul-25&amp;quot;, &amp;quot;14-Jul-25&amp;quot;, &amp;quot;15-Jul-25&amp;quot;, &amp;quot;16-Jul-25&amp;quot;, &amp;quot;17-Jul-25&amp;quot;, &amp;quot;18-Jul-25&amp;quot;, &amp;quot;21-Jul-25&amp;quot;, &amp;quot;22-Jul-25&amp;quot;, &amp;quot;23-Jul-25&amp;quot;, &amp;quot;24-Jul-25&amp;quot;, &amp;quot;25-Jul-25&amp;quot;, &amp;quot;28-Jul-25&amp;quot;, &amp;quot;29-Jul-25&amp;quot;, &amp;quot;30-Jul-25&amp;quot;, &amp;quot;31-Jul-25&amp;quot;, &amp;quot;01-Aug-25&amp;quot;, &amp;quot;04-Aug-25&amp;quot;, &amp;quot;05-Aug-25&amp;quot;, &amp;quot;06-Aug-25&amp;quot;, &amp;quot;07-Aug-25&amp;quot;, &amp;quot;08-Aug-25&amp;quot;, &amp;quot;11-Aug-25&amp;quot;, &amp;quot;12-Aug-25&amp;quot;, &amp;quot;13-Aug-25&amp;quot;, &amp;quot;15-Aug-25&amp;quot;, &amp;quot;18-Aug-25&amp;quot;, &amp;quot;19-Aug-25&amp;quot;, &amp;quot;20-Aug-25&amp;quot;, &amp;quot;21-Aug-25&amp;quot;, &amp;quot;22-Aug-25&amp;quot;, &amp;quot;25-Aug-25&amp;quot;, &amp;quot;26-Aug-25&amp;quot;, &amp;quot;27-Aug-25&amp;quot;, &amp;quot;28-Aug-25&amp;quot;, &amp;quot;29-Aug-25&amp;quot;, &amp;quot;01-Sep-25&amp;quot;, &amp;quot;02-Sep-25&amp;quot;, &amp;quot;03-Sep-25&amp;quot;, &amp;quot;04-Sep-25&amp;quot;, &amp;quot;05-Sep-25&amp;quot;, &amp;quot;08-Sep-25&amp;quot;, &amp;quot;09-Sep-25&amp;quot;, &amp;quot;10-Sep-25&amp;quot;, &amp;quot;11-Sep-25&amp;quot;, &amp;quot;12-Sep-25&amp;quot;, &amp;quot;15-Sep-25&amp;quot;, &amp;quot;16-Sep-25&amp;quot;, &amp;quot;17-Sep-25&amp;quot;, &amp;quot;18-Sep-25&amp;quot;, &amp;quot;19-Sep-25&amp;quot;, &amp;quot;21-Sep-25&amp;quot;, &amp;quot;22-Sep-25&amp;quot;, &amp;quot;23-Sep-25&amp;quot;, &amp;quot;24-Sep-25&amp;quot;, &amp;quot;25-Sep-25&amp;quot;, &amp;quot;26-Sep-25&amp;quot;, &amp;quot;29-Sep-25&amp;quot;, &amp;quot;30-Sep-25&amp;quot;, &amp;quot;01-Oct-25&amp;quot;, &amp;quot;02-Oct-25&amp;quot;, &amp;quot;03-Oct-25&amp;quot;, &amp;quot;06-Oct-25&amp;quot;, &amp;quot;07-Oct-25&amp;quot;, &amp;quot;08-Oct-25&amp;quot;, &amp;quot;09-Oct-25&amp;quot;, &amp;quot;10-Oct-25&amp;quot;, &amp;quot;13-Oct-25&amp;quot;, &amp;quot;14-Oct-25&amp;quot;, &amp;quot;15-Oct-25&amp;quot;, &amp;quot;16-Oct-25&amp;quot;, &amp;quot;17-Oct-25&amp;quot;, &amp;quot;20-Oct-25&amp;quot;, &amp;quot;21-Oct-25&amp;quot;, &amp;quot;22-Oct-25&amp;quot;, &amp;quot;23-Oct-25&amp;quot;, &amp;quot;24-Oct-25&amp;quot;, &amp;quot;27-Oct-25&amp;quot;, &amp;quot;28-Oct-25&amp;quot;, &amp;quot;29-Oct-25&amp;quot;, &amp;quot;30-Oct-25&amp;quot;, &amp;quot;31-Oct-25&amp;quot;, &amp;quot;03-Nov-25&amp;quot;, &amp;quot;04-Nov-25&amp;quot;, &amp;quot;05-Nov-25&amp;quot;, &amp;quot;06-Nov-25&amp;quot;, &amp;quot;07-Nov-25&amp;quot;, &amp;quot;10-Nov-25&amp;quot;, &amp;quot;11-Nov-25&amp;quot;, &amp;quot;12-Nov-25&amp;quot;, &amp;quot;13-Nov-25&amp;quot;, &amp;quot;14-Nov-25&amp;quot;, &amp;quot;17-Nov-25&amp;quot;, &amp;quot;18-Nov-25&amp;quot;, &amp;quot;19-Nov-25&amp;quot;, &amp;quot;20-Nov-25&amp;quot;, &amp;quot;21-Nov-25&amp;quot;, &amp;quot;24-Nov-25&amp;quot;, &amp;quot;25-Nov-25&amp;quot;, &amp;quot;26-Nov-25&amp;quot;, &amp;quot;27-Nov-25&amp;quot;, &amp;quot;28-Nov-25&amp;quot;, &amp;quot;01-Dec-25&amp;quot;, &amp;quot;02-Dec-25&amp;quot;, &amp;quot;03-Dec-25&amp;quot;, &amp;quot;04-Dec-25&amp;quot;, &amp;quot;05-Dec-25&amp;quot;, &amp;quot;08-Dec-25&amp;quot;, &amp;quot;09-Dec-25&amp;quot;, &amp;quot;10-Dec-25&amp;quot;, &amp;quot;11-Dec-25&amp;quot;, &amp;quot;12-Dec-25&amp;quot;, &amp;quot;15-Dec-25&amp;quot;, &amp;quot;16-Dec-25&amp;quot;, &amp;quot;17-Dec-25&amp;quot;, &amp;quot;18-Dec-25&amp;quot;, &amp;quot;19-Dec-25&amp;quot;, &amp;quot;22-Dec-25&amp;quot;, &amp;quot;23-Dec-25&amp;quot;, &amp;quot;24-Dec-25&amp;quot;, &amp;quot;26-Dec-25&amp;quot;, &amp;quot;29-Dec-25&amp;quot;, &amp;quot;30-Dec-25&amp;quot;, &amp;quot;31-Dec-25&amp;quot;, &amp;quot;02-Jan-26&amp;quot;, &amp;quot;05-Jan-26&amp;quot;, &amp;quot;06-Jan-26&amp;quot;, &amp;quot;07-Jan-26&amp;quot;, &amp;quot;08-Jan-26&amp;quot;, &amp;quot;09-Jan-26&amp;quot;, &amp;quot;12-Jan-26&amp;quot;, &amp;quot;13-Jan-26&amp;quot;, &amp;quot;14-Jan-26&amp;quot;, &amp;quot;15-Jan-26&amp;quot;, &amp;quot;16-Jan-26&amp;quot;, &amp;quot;19-Jan-26&amp;quot;, &amp;quot;20-Jan-26&amp;quot;, &amp;quot;21-Jan-26&amp;quot;, &amp;quot;22-Jan-26&amp;quot;, &amp;quot;23-Jan-26&amp;quot;, &amp;quot;26-Jan-26&amp;quot;, &amp;quot;27-Jan-26&amp;quot;, &amp;quot;28-Jan-26&amp;quot;, &amp;quot;29-Jan-26&amp;quot;, &amp;quot;30-Jan-26&amp;quot;, &amp;quot;02-Feb-26&amp;quot;, &amp;quot;03-Feb-26&amp;quot;, &amp;quot;04-Feb-26&amp;quot;, &amp;quot;06-Feb-26&amp;quot;, &amp;quot;09-Feb-26&amp;quot;, &amp;quot;10-Feb-26&amp;quot;, &amp;quot;11-Feb-26&amp;quot;, &amp;quot;12-Feb-26&amp;quot;, &amp;quot;13-Feb-26&amp;quot;, &amp;quot;16-Feb-26&amp;quot;, &amp;quot;17-Feb-26&amp;quot;, &amp;quot;18-Feb-26&amp;quot;, &amp;quot;20-Feb-26&amp;quot;, &amp;quot;23-Feb-26&amp;quot;, &amp;quot;24-Feb-26&amp;quot;, &amp;quot;25-Feb-26&amp;quot;, &amp;quot;26-Feb-26&amp;quot;, &amp;quot;27-Feb-26&amp;quot;, &amp;quot;02-Mar-26&amp;quot;, &amp;quot;03-Mar-26&amp;quot;, &amp;quot;04-Mar-26&amp;quot;, &amp;quot;05-Mar-26&amp;quot;, &amp;quot;06-Mar-26&amp;quot;, &amp;quot;09-Mar-26&amp;quot;, &amp;quot;10-Mar-26&amp;quot;, &amp;quot;11-Mar-26&amp;quot;, &amp;quot;12-Mar-26&amp;quot;, &amp;quot;13-Mar-26&amp;quot;, &amp;quot;16-Mar-26&amp;quot;, &amp;quot;17-Mar-26&amp;quot;, &amp;quot;18-Mar-26&amp;quot;, &amp;quot;19-Mar-26&amp;quot;, &amp;quot;24-Mar-26&amp;quot;, &amp;quot;25-Mar-26&amp;quot;, &amp;quot;26-Mar-26&amp;quot;, &amp;quot;27-Mar-26&amp;quot;, &amp;quot;30-Mar-26&amp;quot;, &amp;quot;31-Mar-26&amp;quot;, &amp;quot;01-Apr-26&amp;quot;, &amp;quot;02-Apr-26&amp;quot;, &amp;quot;03-Apr-26&amp;quot;, &amp;quot;04-Apr-26&amp;quot;, &amp;quot;06-Apr-26&amp;quot;, &amp;quot;07-Apr-26&amp;quot;, &amp;quot;08-Apr-26&amp;quot;, &amp;quot;09-Apr-26&amp;quot;, &amp;quot;10-Apr-26&amp;quot;, &amp;quot;13-Apr-26&amp;quot;, &amp;quot;14-Apr-26&amp;quot;, &amp;quot;14-Apr-26&amp;quot;, &amp;quot;15-Apr-26&amp;quot;, &amp;quot;16-Apr-26&amp;quot;, &amp;quot;17-Apr-26&amp;quot;, &amp;quot;20-Apr-26&amp;quot;, &amp;quot;21-Apr-26&amp;quot;, &amp;quot;22-Apr-26&amp;quot;, &amp;quot;23-Apr-26&amp;quot;, &amp;quot;24-Apr-26&amp;quot;, &amp;quot;27-Apr-26&amp;quot;, &amp;quot;28-Apr-26&amp;quot;, &amp;quot;29-Apr-26&amp;quot;, &amp;quot;30-Apr-26&amp;quot;, &amp;quot;04-May-26&amp;quot;, &amp;quot;05-May-26&amp;quot;, &amp;quot;06-May-26&amp;quot;, &amp;quot;07-May-26&amp;quot;, &amp;quot;08-May-26&amp;quot;, &amp;quot;11-May-26&amp;quot;, &amp;quot;12-May-26&amp;quot;, &amp;quot;13-May-26&amp;quot;, &amp;quot;14-May-26&amp;quot;, &amp;quot;15-May-26&amp;quot;, &amp;quot;18-May-26&amp;quot;, &amp;quot;19-May-26&amp;quot;, &amp;quot;20-May-26&amp;quot;, &amp;quot;21-May-26&amp;quot;, &amp;quot;22-May-26&amp;quot;, &amp;quot;25-May-26&amp;quot;, &amp;quot;29-May-26&amp;quot;, &amp;quot;01-Jun-26&amp;quot;, &amp;quot;02-Jun-26&amp;quot;, &amp;quot;03-Jun-26&amp;quot;, &amp;quot;04-Jun-26&amp;quot;, &amp;quot;05-Jun-26&amp;quot;, &amp;quot;08-Jun-26&amp;quot;, &amp;quot;09-Jun-26&amp;quot;, &amp;quot;10-Jun-26&amp;quot;, &amp;quot;11-Jun-26&amp;quot;, &amp;quot;12-Jun-26&amp;quot;, &amp;quot;15-Jun-26&amp;quot;, &amp;quot;16-Jun-26&amp;quot;, &amp;quot;17-Jun-26&amp;quot;, &amp;quot;18-Jun-26&amp;quot;, &amp;quot;19-Jun-26&amp;quot;, &amp;quot;22-Jun-26&amp;quot;, &amp;quot;23-Jun-26&amp;quot;, &amp;quot;24-Jun-26&amp;quot;, &amp;quot;29-Jun-26&amp;quot;, &amp;quot;30-Jun-26&amp;quot;, &amp;quot;02-Jul-26&amp;quot;, &amp;quot;03-Jul-26&amp;quot;, &amp;quot;06-Jul-26&amp;quot;, &amp;quot;07-Jul-26&amp;quot;, &amp;quot;08-Jul-26&amp;quot;, &amp;quot;09-Jul-26&amp;quot;, &amp;quot;10-Jul-26&amp;quot;, &amp;quot;13-Jul-26&amp;quot;, &amp;quot;14-Jul-26&amp;quot;, &amp;quot;15-Jul-26&amp;quot;, &amp;quot;16-Jul-26&amp;quot;, &amp;quot;17-Jul-26&amp;quot;, &amp;quot;20-Jul-26&amp;quot;, &amp;quot;21-Jul-26&amp;quot;, &amp;quot;22-Jul-26&amp;quot;, &amp;quot;23-Jul-26&amp;quot;, &amp;quot;24-Jul-26&amp;quot;, &amp;quot;27-Jul-26&amp;quot;, &amp;quot;28-Jul-26&amp;quot;, &amp;quot;29-Jul-26&amp;quot;, &amp;quot;30-Jul-26&amp;quot;, &amp;quot;03-Aug-26&amp;quot;, &amp;quot;04-Aug-26&amp;quot;, &amp;quot;05-Aug-26&amp;quot;, &amp;quot;06-Aug-26&amp;quot;, &amp;quot;07-Aug-26&amp;quot;, &amp;quot;10-Aug-26&amp;quot;, &amp;quot;11-Aug-26&amp;quot;, &amp;quot;12-Aug-26&amp;quot;, &amp;quot;13-Aug-26&amp;quot;, &amp;quot;17-Aug-26&amp;quot;, &amp;quot;18-Aug-26&amp;quot;, &amp;quot;20-Aug-26&amp;quot;, &amp;quot;21-Aug-26&amp;quot;, &amp;quot;24-Aug-26&amp;quot;];
            
            const rawData = [279.77, 279.87, 279.82, 279.97, 280.07, 279.95, 279.97, 280.05, 280.21, 280.17, 280.27, 280.21, 280.22, 280.26, 280.37, 280.42, 280.26, 280.22, 280.16, 280.56, 280.47, 280.57, 280.73, 280.78, 280.56, 280.47, 280.60, 280.57, 280.46, 280.62, 280.72, 280.87, 280.77, 280.97, 281.07, 280.97, 281.07, 281.02, 280.97, 281.06, 281.22, 281.37, 281.47, 281.52, 281.71, 281.57, 281.67, 281.72, 281.61, 281.66, 281.77, 281.92, 281.97, 282.06, 281.97, 282.06, 282.17, 282.07, 282.02, 281.97, 282.12, 282.22, 282.17, 282.21, 282.47, 282.67, 282.96, 283.17, 283.41, 283.55, 283.64, 283.70, 283.87, 283.77, 283.72, 283.67, 283.72, 283.76, 283.95, 283.86, 283.97, 284.22, 284.36, 284.47, 284.56, 284.46, 284.72, 284.67, 284.96, 284.97, 284.87, 284.95, 284.97, 284.76, 284.22, 283.45, 283.21, 283.05, 282.95, 282.87, 282.72, 282.66, 282.57, 282.67, 282.56, 282.47, 282.45, 282.42, 282.22, 282.06, 282.01, 281.96, 281.95, 281.92, 281.90, 281.87, 281.86, 281.83, 281.8, 281.77, 281.75, 281.72, 281.71, 281.67, 281.65, 281.62, 281.61, 281.60, 281.56, 281.55, 281.52, 281.51, 281.50, 281.47, 281.46, 281.45, 281.46, 281.42, 281.43, 281.41, 281.37, 281.35, 281.32, 281.31, 281.27, 281.26, 281.25, 281.22, 281.21, 281.20, 281.17, 281.16, 281.15, 281.12, 281.11, 281.10, 281.07, 281.06, 281.05, 281.03, 281.02, 281.01, 280.97, 280.96, 280.92, 280.91, 280.90, 280.87, 280.86, 280.85, 280.82, 280.81, 280.78, 280.77, 280.76, 280.72, 280.71, 280.67, 280.66, 280.66, 280.65, 280.62, 280.61, 280.57, 280.56, 280.55, 280.52, 280.51, 280.47, 280.46, 280.45, 280.42, 280.41, 280.40, 280.37, 280.36, 280.32, 280.31, 280.30, 280.27, 280.26, 280.25, 280.22, 280.21, 280.20, 280.17, 280.16, 280.15, 280.12, 280.11, 280.10, 280.07, 280.06, 280.05, 280.02, 280.01, 280.0, 279.97, 279.96, 279.95, 279.92, 279.91, 279.90, 279.87, 279.86, 279.85, 279.82, 279.81, 279.80, 279.77, 279.76, 279.75, 279.72, 279.71, 279.70, 279.67, 279.66, 279.65, 279.62, 279.61, 279.60, 279.57, 279.56, 279.55, 279.52, 279.51, 279.50, 279.47, 279.46, 279.45, 279.42, 279.41, 279.40, 279.37, 279.36, 279.35, 279.32, 279.31, 279.30, 279.27, 279.26, 279.25, 279.22, 279.21, 279.20, 279.17, 279.16, 279.15, 279.12, 279.11, 279.10, 279.07, 279.06, 279.05, 279.02, 279.01, 279.00, 278.97, 278.96, 278.95, 278.92, 278.91, 278.90, 278.87, 278.86, 278.85, 278.82, 278.81, 278.80, 278.77, 278.76, 278.75, 278.72, 278.71, 278.70, 278.67, 278.66, 278.65, 278.62, 278.61, 278.60, 278.57, 278.56, 278.55, 278.52, 278.51, 278.50, 278.47, 278.46, 278.45, 278.42, 278.41, 278.40, 278.37, 278.36, 278.35, 278.32, 278.31, 278.30, 278.27, 278.26, 278.25, 278.22, 278.21, 278.20, 278.17, 278.16, 278.15, 278.12, 278.11, 278.10, 278.07, 278.06, 278.05, 278.02, 278.01, 278.00, 277.95, 277.95, 277.92, 277.91, 277.90, 277.87, 277.86, 277.85, 277.82, 277.81, 277.80, 277.77, 277.76, 277.75, 277.72, 277.71, 277.70, 277.67, 277.66, 277.65, 277.62, 277.61, 277.57, 277.56, 277.55];
            
            const currentExchangeRate = rawData[rawData.length - 1];

            const usdInput = document.getElementById(&amp;#039;usdInput&amp;#039;);
            const pkrInput = document.getElementById(&amp;#039;pkrInput&amp;#039;);
            const badgeEl = document.getElementById(&amp;#039;latestBadgeRate&amp;#039;);

            const formatCurrency = (val, maxDecimals = 2, minDecimals = 2) =&amp;gt; {
                return val.toLocaleString(&amp;#039;en-US&amp;#039;, {
                    minimumFractionDigits: minDecimals,
                    maximumFractionDigits: maxDecimals
                });
            };

            const parseCurrency = (valStr) =&amp;gt; {
                return parseFloat(valStr.replace(/,/g, &amp;#039;&amp;#039;));
            };

            // Set Initial Values
            badgeEl.textContent = formatCurrency(currentExchangeRate) + &amp;#039; PKR&amp;#039;;
            pkrInput.value = formatCurrency(currentExchangeRate);

            usdInput.addEventListener(&amp;#039;input&amp;#039;, (e) =&amp;gt; {
                const val = parseCurrency(e.target.value);
                if (isNaN(val)) {
                    pkrInput.value = &amp;#039;&amp;#039;;
                } else {
                    pkrInput.value = formatCurrency(val * currentExchangeRate);
                }
            });

            pkrInput.addEventListener(&amp;#039;input&amp;#039;, (e) =&amp;gt; {
                const val = parseCurrency(e.target.value);
                if (isNaN(val)) {
                    usdInput.value = &amp;#039;&amp;#039;;
                } else {
                    usdInput.value = formatCurrency(val / currentExchangeRate);
                }
            });

            usdInput.addEventListener(&amp;#039;blur&amp;#039;, (e) =&amp;gt; {
                const val = parseCurrency(e.target.value);
                if (!isNaN(val)) {
                    e.target.value = formatCurrency(val, 2, 0);
                }
            });

            pkrInput.addEventListener(&amp;#039;blur&amp;#039;, (e) =&amp;gt; {
                const val = parseCurrency(e.target.value);
                if (!isNaN(val)) {
                    e.target.value = formatCurrency(val);
                }
            });

            const ctx = document.getElementById(&amp;#039;closingRatesChart&amp;#039;).getContext(&amp;#039;2d&amp;#039;);
            new Chart(ctx, {
                type: &amp;#039;line&amp;#039;,
                data: {
                    labels: rawLabels,
                    datasets: [{
                        data: rawData,
                        borderColor: &amp;#039;#4f46e5&amp;#039;,
                        backgroundColor: &amp;#039;rgba(79, 70, 229, 0.1)&amp;#039;,
                        fill: true,
                        tension: 0.1
                    }]
                },
                options: {
                    responsive: true,
                    maintainAspectRatio: false,
                    plugins: {
                        legend: { display: false },
                        tooltip: {
                            callbacks: {
                                label: function(context) {
                                    return formatCurrency(context.parsed.y) + &amp;#039; PKR&amp;#039;;
                                }
                            }
                        }
                    },
                    scales: {
                        y: {
                            ticks: {
                                callback: function(value) {
                                    return formatCurrency(value, 2, 0);
                                }
                            }
                        }
                    }
                }
            });
        })();
    &amp;lt;/script&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;
    &amp;lt;script&amp;gt;
        function reportHeight() {
            var h = document.documentElement.scrollHeight;
            window.parent.postMessage({ type: &amp;#039;raw-html-resize&amp;#039;, id: &amp;#039;raw-html-6a8c641cee4b3&amp;#039;, height: h }, &amp;#039;*&amp;#039;);
        }
        window.addEventListener(&amp;#039;load&amp;#039;, reportHeight);
        if (window.ResizeObserver) {
            new ResizeObserver(reportHeight).observe(document.body);
        }
    &amp;lt;/script&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;"&gt;&lt;/iframe&gt;
&lt;script&gt;
if (!window._rawHtmlListenerAttached) {
    window._rawHtmlListenerAttached = true;
    window.addEventListener('message', function(event) {
        if (event.data &amp;&amp; event.data.type === 'raw-html-resize' &amp;&amp; event.data.id) {
            var iframe = document.getElementById(event.data.id);
            if (iframe) {
                var height = Math.min(Math.max(event.data.height, 50), 9200);
                iframe.style.height = height + 'px';
            }
        }
    });
}
&lt;/script&gt;
&lt;p&gt;&lt;strong&gt;The Pakistani rupee extended its marginal gains against the US dollar on Monday.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The local unit closed the day at 277.55, a gain of Re0.01 against the greenback.&lt;/p&gt;
    &lt;figure class='media  w-full sm:w-full  media--center  media--embed  media--uneven media--tweet' data-original-src='https://x.com/StateBank_Pak/status/2091848118786801727'&gt;
        &lt;div class='media__item  media__item--twitter  '&gt;&lt;span&gt;
    &lt;blockquote class="twitter-tweet" lang="en"&gt;
        &lt;a href="https://twitter.com/StateBank_Pak/status/2091848118786801727"&gt;&lt;/a&gt;
    &lt;/blockquote&gt;
&lt;/span&gt;&lt;/div&gt;
        
    &lt;/figure&gt;
&lt;p&gt;&lt;a href="https://www.brecorder.com/news/40435948"&gt;&lt;u&gt;On Friday&lt;/u&gt;&lt;/a&gt;&lt;u&gt;, &lt;/u&gt;the Pakistani rupee settled at 277.56 against the dollar.&lt;/p&gt;
&lt;p&gt;Furthermore, a wavering dollar teetered near multi-month lows on Monday in a market unsettled by the US Treasury’s ​promise to buy back more long bonds.&lt;/p&gt;
&lt;p&gt;The Canadian dollar slipped 0.2% in early trade, to C$1.3798 per dollar, after trade talks with the US collapsed and Washington imposed 50% tariffs on Canadian goods, with Canada retaliating in kind.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.brecorder.com/news/40436266/dollar-trading-near-multi-month-lows-restrained-by-debt-nerves"&gt;The Australian&lt;/a&gt; and New Zealand dollars traded just shy of three-month highs at $0.7171 and $0.5979 ​respectively.&lt;/p&gt;
&lt;p&gt;The euro was comfortably above $1.16 at $1.1685 while the yen kept to the strong side of 159 per dollar.&lt;/p&gt;
&lt;p&gt;The dollar logged its largest weekly drop against bitcoin in nearly three-and-a-half years on Sunday and it’s been sliding sharply on gold over revived fears the ​currency will suffer if the US tries to hold down yields.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.brecorder.com/news/40436265/oil-falls-ahead-of-us-announcement-of-new-sanctions-on-iran"&gt;Oil prices slipped&lt;/a&gt; more than $1 a barrel on Monday as investors took profits after ‌recent gains and awaited details of expected new US sanctions on Iran, which could further disrupt supplies from the Middle East.&lt;/p&gt;
&lt;p&gt;Brent crude futures were down $1.01, or 1.1%, to $93.38 at 1316 GMT, while US West Texas Intermediate crude was at $85.64 a barrel, down $1.42, or 1.6%.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Inter-bank market rates for dollar on Monday&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;BID Rs 277.55&lt;/p&gt;
&lt;p&gt;OFFER Rs 277.75&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Open-market movement&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;In the open market, the PKR remained unchanged for buying and gained 3 paise selling against USD, closing at 278.26 and 279.25, respectively.&lt;/p&gt;
&lt;p&gt;Against Euro, the PKR gained 46 paise for both buying and selling, closing at 323.15 and 326.26, respectively.&lt;/p&gt;
&lt;p&gt;Against UAE Dirham, the PKR lost 1 paisa for buying and gained 3 paise for selling, closing at 75.58 and 76.25, respectively.&lt;/p&gt;
&lt;p&gt;Against Saudi Riyal, the PKR lost 5 paise for buying and remained unchanged for selling, closing at 73.88 and 74.47, respectively.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Open-market rates for dollar on Monday&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;BID Rs 278.26&lt;/p&gt;
&lt;p&gt;OFFER Rs 279.25&lt;/p&gt;
</description>
      <content:encoded xmlns="http://purl.org/rss/1.0/modules/content/"><![CDATA[<iframe id="raw-html-6a8c641cee4b3" class="raw-html-embed" style="width: 100%; min-height: 50px; max-height: 9200px; border: none; overflow: hidden;" scrolling="no" srcdoc="&lt;!DOCTYPE html&gt;
&lt;html&gt;
&lt;head&gt;
    &lt;style&gt;
        body { margin: 0; padding: 0; font-family: system-ui, -apple-system, sans-serif; overflow-wrap: anywhere; }
    &lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
    
&lt;!DOCTYPE html&gt;
&lt;html lang=&quot;en&quot;&gt;
&lt;head&gt;
    &lt;meta charset=&quot;UTF-8&quot;&gt;
    &lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1.0&quot;&gt;
    &lt;title&gt;PKR vs USD Exchange Rate Chart&lt;/title&gt;
    &lt;!-- Chart.js for high-performance rendering --&gt;
    &lt;script src=&quot;https://cdn.jsdelivr.net/npm/chart.js&quot;&gt;&lt;/script&gt;
    
    &lt;style&gt;
        @import url(&#039;https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght=400;500;600;700&amp;display=swap&#039;);

        #pkr-chart-embed {
            font-family: &#039;Plus Jakarta Sans&#039;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, Roboto, sans-serif;
            max-width: 1000px;
            width: 100%;
            margin: 24px auto;
            background-color: #ffffff;
            border: 1px solid #e2e8f0;
            border-radius: 20px;
            padding: 24px;
            box-shadow: 0 10px 25px -5px rgba(15, 23, 42, 0.05), 0 8px 10px -6px rgba(15, 23, 42, 0.05);
            color: #0f172a;
            box-sizing: border-box;
        }

        #pkr-chart-embed * { box-sizing: border-box; margin: 0; padding: 0; }

        #pkr-chart-embed .chart-header {
            display: flex;
            flex-direction: column;
            gap: 20px;
            margin-bottom: 24px;
            width: 100%;
        }

        #pkr-chart-embed .top-row {
            display: flex;
            flex-direction: row;
            justify-content: space-between;
            align-items: flex-start;
            gap: 20px;
        }

        #pkr-chart-embed .calculator-area {
            display: flex;
            flex-direction: column;
            gap: 8px;
            align-items: flex-start;
        }

        #pkr-chart-embed .main-title {
            font-size: 20px;
            font-weight: 700;
            color: #0f172a;
            letter-spacing: -0.025em;
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            gap: 8px;
        }

        #pkr-chart-embed .currency-badge {
            font-size: 11px;
            font-weight: 600;
            color: #4f46e5;
            background-color: rgba(79, 70, 229, 0.08);
            padding: 2px 8px;
            border-radius: 9999px;
            border: 1px solid rgba(79, 70, 229, 0.15);
            text-transform: uppercase;
        }

        #pkr-chart-embed .calculator-title {
            font-size: 10px;
            font-weight: 700;
            color: #64748b;
            text-transform: uppercase;
            letter-spacing: 0.05em;
        }

        #pkr-chart-embed .converter {
            display: flex;
            align-items: center;
            background: #f8fafc;
            border: 1px solid #e2e8f0;
            border-radius: 12px;
            padding: 4px;
            gap: 6px;
        }

        #pkr-chart-embed .converter-group {
            display: flex;
            align-items: center;
            background: #ffffff;
            border-radius: 8px;
            padding: 6px 10px;
            box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
            border: 1px solid transparent;
        }

        #pkr-chart-embed .converter-input {
            border: none;
            outline: none;
            width: 100px;
            font-family: inherit;
            font-weight: 700;
            color: #0f172a;
            font-size: 14px;
            text-align: right;
            background: transparent;
        }

        #pkr-chart-embed .converter-input.pkr-field { width: 140px; }

        #pkr-chart-embed .converter-label {
            font-size: 11px;
            font-weight: 700;
            color: #64748b;
            margin-left: 6px;
        }

        #pkr-chart-embed .equals-sign { color: #94a3b8; font-weight: 600; font-size: 16px; }

        #pkr-chart-embed .rate-badge-container {
            display: flex;
            flex-direction: column;
            align-items: flex-end;
            gap: 8px;
        }

        #pkr-chart-embed .rate-label-sub { text-align: right; }
        #pkr-chart-embed .rate-label-sub span:first-child { display: block; font-size: 9px; text-transform: uppercase; font-weight: 700; color: #64748b; }
        #pkr-chart-embed .rate-label-sub span:last-child { display: block; font-size: 12px; color: #334155; font-weight: 600; }

        #pkr-chart-embed .rate-badge {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            background: linear-gradient(135deg, #4f46e5, #3b82f6);
            color: #ffffff;
            font-weight: 700;
            font-size: 13px;
            padding: 10px 16px;
            border-radius: 12px;
            box-shadow: 0 8px 16px -3px rgba(79, 70, 229, 0.25);
        }

        #pkr-chart-embed .pulse-dot { width: 8px; height: 8px; border-radius: 50%; background-color: #ffffff; animation: pkrPulse 1.5s infinite; }

        @keyframes pkrPulse {
            0% { transform: scale(0.95); opacity: 0.6; }
            50% { transform: scale(1.15); opacity: 1; }
            100% { transform: scale(0.95); opacity: 0.6; }
        }

        #pkr-chart-embed .chart-canvas-container { position: relative; width: 100%; height: 400px; }

        @media (max-width: 768px) {
            #pkr-chart-embed .chart-canvas-container { height: 320px; }
            #pkr-chart-embed .top-row { flex-direction: column; align-items: flex-start; }
            #pkr-chart-embed .rate-badge-container { align-items: flex-start; }
            #pkr-chart-embed .rate-label-sub { text-align: left; }
        }
    &lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
    &lt;div id=&quot;pkr-chart-embed&quot;&gt;
        &lt;div class=&quot;chart-header&quot;&gt;
            &lt;h1 class=&quot;main-title&quot;&gt;
                &lt;span&gt;PKR vs USD Exchange Rate&lt;/span&gt;
                &lt;span class=&quot;currency-badge&quot;&gt;USD / PKR&lt;/span&gt;
            &lt;/h1&gt;

            &lt;div class=&quot;top-row&quot;&gt;
                &lt;div class=&quot;calculator-area&quot;&gt;
                    &lt;span class=&quot;calculator-title&quot;&gt;Calculator&lt;/span&gt;
                    &lt;div class=&quot;converter&quot;&gt;
                        &lt;div class=&quot;converter-group&quot;&gt;
                            &lt;input type=&quot;text&quot; inputmode=&quot;decimal&quot; id=&quot;usdInput&quot; class=&quot;converter-input&quot; value=&quot;1&quot;&gt;
                            &lt;span class=&quot;converter-label&quot;&gt;USD&lt;/span&gt;
                        &lt;/div&gt;
                        &lt;span class=&quot;equals-sign&quot;&gt;=&lt;/span&gt;
                        &lt;div class=&quot;converter-group&quot;&gt;
                            &lt;input type=&quot;text&quot; inputmode=&quot;decimal&quot; id=&quot;pkrInput&quot; class=&quot;converter-input pkr-field&quot; value=&quot;&quot;&gt;
                            &lt;span class=&quot;converter-label&quot;&gt;PKR&lt;/span&gt;
                        &lt;/div&gt;
                    &lt;/div&gt;
                &lt;/div&gt;

                &lt;div class=&quot;rate-badge-container&quot;&gt;
                    &lt;div class=&quot;rate-label-sub&quot;&gt;
                        &lt;span&gt;Latest Closing&lt;/span&gt;
                        &lt;span&gt;24-Aug-26&lt;/span&gt;
                    &lt;/div&gt;
                    &lt;div class=&quot;rate-badge&quot;&gt;
                        &lt;span class=&quot;pulse-dot&quot;&gt;&lt;/span&gt;
                        &lt;span id=&quot;latestBadgeRate&quot;&gt;&lt;/span&gt;
                    &lt;/div&gt;
                &lt;/div&gt;
            &lt;/div&gt;
        &lt;/div&gt;

        &lt;div class=&quot;chart-canvas-container&quot;&gt;
            &lt;canvas id=&quot;closingRatesChart&quot;&gt;&lt;/canvas&gt;
        &lt;/div&gt;
    &lt;/div&gt;

    &lt;script&gt;
        (function() {
            const rawLabels = [&quot;04-Mar-25&quot;, &quot;05-Mar-25&quot;, &quot;06-Mar-25&quot;, &quot;07-Mar-25&quot;, &quot;10-Mar-25&quot;, &quot;11-Mar-25&quot;, &quot;12-Mar-25&quot;, &quot;13-Mar-25&quot;, &quot;14-Mar-25&quot;, &quot;17-Mar-25&quot;, &quot;18-Mar-25&quot;, &quot;19-Mar-25&quot;, &quot;20-Mar-25&quot;, &quot;21-Mar-25&quot;, &quot;24-Mar-25&quot;, &quot;25-Mar-25&quot;, &quot;26-Mar-25&quot;, &quot;27-Mar-25&quot;, &quot;28-Mar-25&quot;, &quot;03-Apr-25&quot;, &quot;04-Apr-25&quot;, &quot;07-Apr-25&quot;, &quot;08-Apr-25&quot;, &quot;09-Apr-25&quot;, &quot;10-Apr-25&quot;, &quot;11-Apr-25&quot;, &quot;14-Apr-25&quot;, &quot;15-Apr-25&quot;, &quot;16-Apr-25&quot;, &quot;17-Apr-25&quot;, &quot;18-Apr-25&quot;, &quot;21-Apr-25&quot;, &quot;22-Apr-25&quot;, &quot;23-Apr-25&quot;, &quot;24-Apr-25&quot;, &quot;25-Apr-25&quot;, &quot;28-Apr-25&quot;, &quot;29-Apr-25&quot;, &quot;30-Apr-25&quot;, &quot;02-May-25&quot;, &quot;05-May-25&quot;, &quot;06-May-25&quot;, &quot;07-May-25&quot;, &quot;08-May-25&quot;, &quot;09-May-25&quot;, &quot;12-May-25&quot;, &quot;13-May-25&quot;, &quot;14-May-25&quot;, &quot;15-May-25&quot;, &quot;16-May-25&quot;, &quot;19-May-25&quot;, &quot;20-May-25&quot;, &quot;21-May-25&quot;, &quot;22-May-25&quot;, &quot;23-May-25&quot;, &quot;26-May-25&quot;, &quot;27-May-25&quot;, &quot;29-May-25&quot;, &quot;30-May-25&quot;, &quot;02-Jun-25&quot;, &quot;03-Jun-25&quot;, &quot;04-Jun-25&quot;, &quot;05-Jun-25&quot;, &quot;10-Jun-25&quot;, &quot;11-Jun-25&quot;, &quot;12-Jun-25&quot;, &quot;13-Jun-25&quot;, &quot;16-Jun-25&quot;, &quot;17-Jun-25&quot;, &quot;18-Jun-25&quot;, &quot;19-Jun-25&quot;, &quot;20-Jun-25&quot;, &quot;23-Jun-25&quot;, &quot;24-Jun-25&quot;, &quot;25-Jun-25&quot;, &quot;26-Jun-25&quot;, &quot;27-Jun-25&quot;, &quot;30-Jun-25&quot;, &quot;02-Jul-25&quot;, &quot;03-Jul-25&quot;, &quot;04-Jul-25&quot;, &quot;07-Jul-25&quot;, &quot;08-Jul-25&quot;, &quot;09-Jul-25&quot;, &quot;10-Jul-25&quot;, &quot;11-Jul-25&quot;, &quot;14-Jul-25&quot;, &quot;15-Jul-25&quot;, &quot;16-Jul-25&quot;, &quot;17-Jul-25&quot;, &quot;18-Jul-25&quot;, &quot;21-Jul-25&quot;, &quot;22-Jul-25&quot;, &quot;23-Jul-25&quot;, &quot;24-Jul-25&quot;, &quot;25-Jul-25&quot;, &quot;28-Jul-25&quot;, &quot;29-Jul-25&quot;, &quot;30-Jul-25&quot;, &quot;31-Jul-25&quot;, &quot;01-Aug-25&quot;, &quot;04-Aug-25&quot;, &quot;05-Aug-25&quot;, &quot;06-Aug-25&quot;, &quot;07-Aug-25&quot;, &quot;08-Aug-25&quot;, &quot;11-Aug-25&quot;, &quot;12-Aug-25&quot;, &quot;13-Aug-25&quot;, &quot;15-Aug-25&quot;, &quot;18-Aug-25&quot;, &quot;19-Aug-25&quot;, &quot;20-Aug-25&quot;, &quot;21-Aug-25&quot;, &quot;22-Aug-25&quot;, &quot;25-Aug-25&quot;, &quot;26-Aug-25&quot;, &quot;27-Aug-25&quot;, &quot;28-Aug-25&quot;, &quot;29-Aug-25&quot;, &quot;01-Sep-25&quot;, &quot;02-Sep-25&quot;, &quot;03-Sep-25&quot;, &quot;04-Sep-25&quot;, &quot;05-Sep-25&quot;, &quot;08-Sep-25&quot;, &quot;09-Sep-25&quot;, &quot;10-Sep-25&quot;, &quot;11-Sep-25&quot;, &quot;12-Sep-25&quot;, &quot;15-Sep-25&quot;, &quot;16-Sep-25&quot;, &quot;17-Sep-25&quot;, &quot;18-Sep-25&quot;, &quot;19-Sep-25&quot;, &quot;21-Sep-25&quot;, &quot;22-Sep-25&quot;, &quot;23-Sep-25&quot;, &quot;24-Sep-25&quot;, &quot;25-Sep-25&quot;, &quot;26-Sep-25&quot;, &quot;29-Sep-25&quot;, &quot;30-Sep-25&quot;, &quot;01-Oct-25&quot;, &quot;02-Oct-25&quot;, &quot;03-Oct-25&quot;, &quot;06-Oct-25&quot;, &quot;07-Oct-25&quot;, &quot;08-Oct-25&quot;, &quot;09-Oct-25&quot;, &quot;10-Oct-25&quot;, &quot;13-Oct-25&quot;, &quot;14-Oct-25&quot;, &quot;15-Oct-25&quot;, &quot;16-Oct-25&quot;, &quot;17-Oct-25&quot;, &quot;20-Oct-25&quot;, &quot;21-Oct-25&quot;, &quot;22-Oct-25&quot;, &quot;23-Oct-25&quot;, &quot;24-Oct-25&quot;, &quot;27-Oct-25&quot;, &quot;28-Oct-25&quot;, &quot;29-Oct-25&quot;, &quot;30-Oct-25&quot;, &quot;31-Oct-25&quot;, &quot;03-Nov-25&quot;, &quot;04-Nov-25&quot;, &quot;05-Nov-25&quot;, &quot;06-Nov-25&quot;, &quot;07-Nov-25&quot;, &quot;10-Nov-25&quot;, &quot;11-Nov-25&quot;, &quot;12-Nov-25&quot;, &quot;13-Nov-25&quot;, &quot;14-Nov-25&quot;, &quot;17-Nov-25&quot;, &quot;18-Nov-25&quot;, &quot;19-Nov-25&quot;, &quot;20-Nov-25&quot;, &quot;21-Nov-25&quot;, &quot;24-Nov-25&quot;, &quot;25-Nov-25&quot;, &quot;26-Nov-25&quot;, &quot;27-Nov-25&quot;, &quot;28-Nov-25&quot;, &quot;01-Dec-25&quot;, &quot;02-Dec-25&quot;, &quot;03-Dec-25&quot;, &quot;04-Dec-25&quot;, &quot;05-Dec-25&quot;, &quot;08-Dec-25&quot;, &quot;09-Dec-25&quot;, &quot;10-Dec-25&quot;, &quot;11-Dec-25&quot;, &quot;12-Dec-25&quot;, &quot;15-Dec-25&quot;, &quot;16-Dec-25&quot;, &quot;17-Dec-25&quot;, &quot;18-Dec-25&quot;, &quot;19-Dec-25&quot;, &quot;22-Dec-25&quot;, &quot;23-Dec-25&quot;, &quot;24-Dec-25&quot;, &quot;26-Dec-25&quot;, &quot;29-Dec-25&quot;, &quot;30-Dec-25&quot;, &quot;31-Dec-25&quot;, &quot;02-Jan-26&quot;, &quot;05-Jan-26&quot;, &quot;06-Jan-26&quot;, &quot;07-Jan-26&quot;, &quot;08-Jan-26&quot;, &quot;09-Jan-26&quot;, &quot;12-Jan-26&quot;, &quot;13-Jan-26&quot;, &quot;14-Jan-26&quot;, &quot;15-Jan-26&quot;, &quot;16-Jan-26&quot;, &quot;19-Jan-26&quot;, &quot;20-Jan-26&quot;, &quot;21-Jan-26&quot;, &quot;22-Jan-26&quot;, &quot;23-Jan-26&quot;, &quot;26-Jan-26&quot;, &quot;27-Jan-26&quot;, &quot;28-Jan-26&quot;, &quot;29-Jan-26&quot;, &quot;30-Jan-26&quot;, &quot;02-Feb-26&quot;, &quot;03-Feb-26&quot;, &quot;04-Feb-26&quot;, &quot;06-Feb-26&quot;, &quot;09-Feb-26&quot;, &quot;10-Feb-26&quot;, &quot;11-Feb-26&quot;, &quot;12-Feb-26&quot;, &quot;13-Feb-26&quot;, &quot;16-Feb-26&quot;, &quot;17-Feb-26&quot;, &quot;18-Feb-26&quot;, &quot;20-Feb-26&quot;, &quot;23-Feb-26&quot;, &quot;24-Feb-26&quot;, &quot;25-Feb-26&quot;, &quot;26-Feb-26&quot;, &quot;27-Feb-26&quot;, &quot;02-Mar-26&quot;, &quot;03-Mar-26&quot;, &quot;04-Mar-26&quot;, &quot;05-Mar-26&quot;, &quot;06-Mar-26&quot;, &quot;09-Mar-26&quot;, &quot;10-Mar-26&quot;, &quot;11-Mar-26&quot;, &quot;12-Mar-26&quot;, &quot;13-Mar-26&quot;, &quot;16-Mar-26&quot;, &quot;17-Mar-26&quot;, &quot;18-Mar-26&quot;, &quot;19-Mar-26&quot;, &quot;24-Mar-26&quot;, &quot;25-Mar-26&quot;, &quot;26-Mar-26&quot;, &quot;27-Mar-26&quot;, &quot;30-Mar-26&quot;, &quot;31-Mar-26&quot;, &quot;01-Apr-26&quot;, &quot;02-Apr-26&quot;, &quot;03-Apr-26&quot;, &quot;04-Apr-26&quot;, &quot;06-Apr-26&quot;, &quot;07-Apr-26&quot;, &quot;08-Apr-26&quot;, &quot;09-Apr-26&quot;, &quot;10-Apr-26&quot;, &quot;13-Apr-26&quot;, &quot;14-Apr-26&quot;, &quot;14-Apr-26&quot;, &quot;15-Apr-26&quot;, &quot;16-Apr-26&quot;, &quot;17-Apr-26&quot;, &quot;20-Apr-26&quot;, &quot;21-Apr-26&quot;, &quot;22-Apr-26&quot;, &quot;23-Apr-26&quot;, &quot;24-Apr-26&quot;, &quot;27-Apr-26&quot;, &quot;28-Apr-26&quot;, &quot;29-Apr-26&quot;, &quot;30-Apr-26&quot;, &quot;04-May-26&quot;, &quot;05-May-26&quot;, &quot;06-May-26&quot;, &quot;07-May-26&quot;, &quot;08-May-26&quot;, &quot;11-May-26&quot;, &quot;12-May-26&quot;, &quot;13-May-26&quot;, &quot;14-May-26&quot;, &quot;15-May-26&quot;, &quot;18-May-26&quot;, &quot;19-May-26&quot;, &quot;20-May-26&quot;, &quot;21-May-26&quot;, &quot;22-May-26&quot;, &quot;25-May-26&quot;, &quot;29-May-26&quot;, &quot;01-Jun-26&quot;, &quot;02-Jun-26&quot;, &quot;03-Jun-26&quot;, &quot;04-Jun-26&quot;, &quot;05-Jun-26&quot;, &quot;08-Jun-26&quot;, &quot;09-Jun-26&quot;, &quot;10-Jun-26&quot;, &quot;11-Jun-26&quot;, &quot;12-Jun-26&quot;, &quot;15-Jun-26&quot;, &quot;16-Jun-26&quot;, &quot;17-Jun-26&quot;, &quot;18-Jun-26&quot;, &quot;19-Jun-26&quot;, &quot;22-Jun-26&quot;, &quot;23-Jun-26&quot;, &quot;24-Jun-26&quot;, &quot;29-Jun-26&quot;, &quot;30-Jun-26&quot;, &quot;02-Jul-26&quot;, &quot;03-Jul-26&quot;, &quot;06-Jul-26&quot;, &quot;07-Jul-26&quot;, &quot;08-Jul-26&quot;, &quot;09-Jul-26&quot;, &quot;10-Jul-26&quot;, &quot;13-Jul-26&quot;, &quot;14-Jul-26&quot;, &quot;15-Jul-26&quot;, &quot;16-Jul-26&quot;, &quot;17-Jul-26&quot;, &quot;20-Jul-26&quot;, &quot;21-Jul-26&quot;, &quot;22-Jul-26&quot;, &quot;23-Jul-26&quot;, &quot;24-Jul-26&quot;, &quot;27-Jul-26&quot;, &quot;28-Jul-26&quot;, &quot;29-Jul-26&quot;, &quot;30-Jul-26&quot;, &quot;03-Aug-26&quot;, &quot;04-Aug-26&quot;, &quot;05-Aug-26&quot;, &quot;06-Aug-26&quot;, &quot;07-Aug-26&quot;, &quot;10-Aug-26&quot;, &quot;11-Aug-26&quot;, &quot;12-Aug-26&quot;, &quot;13-Aug-26&quot;, &quot;17-Aug-26&quot;, &quot;18-Aug-26&quot;, &quot;20-Aug-26&quot;, &quot;21-Aug-26&quot;, &quot;24-Aug-26&quot;];
            
            const rawData = [279.77, 279.87, 279.82, 279.97, 280.07, 279.95, 279.97, 280.05, 280.21, 280.17, 280.27, 280.21, 280.22, 280.26, 280.37, 280.42, 280.26, 280.22, 280.16, 280.56, 280.47, 280.57, 280.73, 280.78, 280.56, 280.47, 280.60, 280.57, 280.46, 280.62, 280.72, 280.87, 280.77, 280.97, 281.07, 280.97, 281.07, 281.02, 280.97, 281.06, 281.22, 281.37, 281.47, 281.52, 281.71, 281.57, 281.67, 281.72, 281.61, 281.66, 281.77, 281.92, 281.97, 282.06, 281.97, 282.06, 282.17, 282.07, 282.02, 281.97, 282.12, 282.22, 282.17, 282.21, 282.47, 282.67, 282.96, 283.17, 283.41, 283.55, 283.64, 283.70, 283.87, 283.77, 283.72, 283.67, 283.72, 283.76, 283.95, 283.86, 283.97, 284.22, 284.36, 284.47, 284.56, 284.46, 284.72, 284.67, 284.96, 284.97, 284.87, 284.95, 284.97, 284.76, 284.22, 283.45, 283.21, 283.05, 282.95, 282.87, 282.72, 282.66, 282.57, 282.67, 282.56, 282.47, 282.45, 282.42, 282.22, 282.06, 282.01, 281.96, 281.95, 281.92, 281.90, 281.87, 281.86, 281.83, 281.8, 281.77, 281.75, 281.72, 281.71, 281.67, 281.65, 281.62, 281.61, 281.60, 281.56, 281.55, 281.52, 281.51, 281.50, 281.47, 281.46, 281.45, 281.46, 281.42, 281.43, 281.41, 281.37, 281.35, 281.32, 281.31, 281.27, 281.26, 281.25, 281.22, 281.21, 281.20, 281.17, 281.16, 281.15, 281.12, 281.11, 281.10, 281.07, 281.06, 281.05, 281.03, 281.02, 281.01, 280.97, 280.96, 280.92, 280.91, 280.90, 280.87, 280.86, 280.85, 280.82, 280.81, 280.78, 280.77, 280.76, 280.72, 280.71, 280.67, 280.66, 280.66, 280.65, 280.62, 280.61, 280.57, 280.56, 280.55, 280.52, 280.51, 280.47, 280.46, 280.45, 280.42, 280.41, 280.40, 280.37, 280.36, 280.32, 280.31, 280.30, 280.27, 280.26, 280.25, 280.22, 280.21, 280.20, 280.17, 280.16, 280.15, 280.12, 280.11, 280.10, 280.07, 280.06, 280.05, 280.02, 280.01, 280.0, 279.97, 279.96, 279.95, 279.92, 279.91, 279.90, 279.87, 279.86, 279.85, 279.82, 279.81, 279.80, 279.77, 279.76, 279.75, 279.72, 279.71, 279.70, 279.67, 279.66, 279.65, 279.62, 279.61, 279.60, 279.57, 279.56, 279.55, 279.52, 279.51, 279.50, 279.47, 279.46, 279.45, 279.42, 279.41, 279.40, 279.37, 279.36, 279.35, 279.32, 279.31, 279.30, 279.27, 279.26, 279.25, 279.22, 279.21, 279.20, 279.17, 279.16, 279.15, 279.12, 279.11, 279.10, 279.07, 279.06, 279.05, 279.02, 279.01, 279.00, 278.97, 278.96, 278.95, 278.92, 278.91, 278.90, 278.87, 278.86, 278.85, 278.82, 278.81, 278.80, 278.77, 278.76, 278.75, 278.72, 278.71, 278.70, 278.67, 278.66, 278.65, 278.62, 278.61, 278.60, 278.57, 278.56, 278.55, 278.52, 278.51, 278.50, 278.47, 278.46, 278.45, 278.42, 278.41, 278.40, 278.37, 278.36, 278.35, 278.32, 278.31, 278.30, 278.27, 278.26, 278.25, 278.22, 278.21, 278.20, 278.17, 278.16, 278.15, 278.12, 278.11, 278.10, 278.07, 278.06, 278.05, 278.02, 278.01, 278.00, 277.95, 277.95, 277.92, 277.91, 277.90, 277.87, 277.86, 277.85, 277.82, 277.81, 277.80, 277.77, 277.76, 277.75, 277.72, 277.71, 277.70, 277.67, 277.66, 277.65, 277.62, 277.61, 277.57, 277.56, 277.55];
            
            const currentExchangeRate = rawData[rawData.length - 1];

            const usdInput = document.getElementById(&#039;usdInput&#039;);
            const pkrInput = document.getElementById(&#039;pkrInput&#039;);
            const badgeEl = document.getElementById(&#039;latestBadgeRate&#039;);

            const formatCurrency = (val, maxDecimals = 2, minDecimals = 2) =&gt; {
                return val.toLocaleString(&#039;en-US&#039;, {
                    minimumFractionDigits: minDecimals,
                    maximumFractionDigits: maxDecimals
                });
            };

            const parseCurrency = (valStr) =&gt; {
                return parseFloat(valStr.replace(/,/g, &#039;&#039;));
            };

            // Set Initial Values
            badgeEl.textContent = formatCurrency(currentExchangeRate) + &#039; PKR&#039;;
            pkrInput.value = formatCurrency(currentExchangeRate);

            usdInput.addEventListener(&#039;input&#039;, (e) =&gt; {
                const val = parseCurrency(e.target.value);
                if (isNaN(val)) {
                    pkrInput.value = &#039;&#039;;
                } else {
                    pkrInput.value = formatCurrency(val * currentExchangeRate);
                }
            });

            pkrInput.addEventListener(&#039;input&#039;, (e) =&gt; {
                const val = parseCurrency(e.target.value);
                if (isNaN(val)) {
                    usdInput.value = &#039;&#039;;
                } else {
                    usdInput.value = formatCurrency(val / currentExchangeRate);
                }
            });

            usdInput.addEventListener(&#039;blur&#039;, (e) =&gt; {
                const val = parseCurrency(e.target.value);
                if (!isNaN(val)) {
                    e.target.value = formatCurrency(val, 2, 0);
                }
            });

            pkrInput.addEventListener(&#039;blur&#039;, (e) =&gt; {
                const val = parseCurrency(e.target.value);
                if (!isNaN(val)) {
                    e.target.value = formatCurrency(val);
                }
            });

            const ctx = document.getElementById(&#039;closingRatesChart&#039;).getContext(&#039;2d&#039;);
            new Chart(ctx, {
                type: &#039;line&#039;,
                data: {
                    labels: rawLabels,
                    datasets: [{
                        data: rawData,
                        borderColor: &#039;#4f46e5&#039;,
                        backgroundColor: &#039;rgba(79, 70, 229, 0.1)&#039;,
                        fill: true,
                        tension: 0.1
                    }]
                },
                options: {
                    responsive: true,
                    maintainAspectRatio: false,
                    plugins: {
                        legend: { display: false },
                        tooltip: {
                            callbacks: {
                                label: function(context) {
                                    return formatCurrency(context.parsed.y) + &#039; PKR&#039;;
                                }
                            }
                        }
                    },
                    scales: {
                        y: {
                            ticks: {
                                callback: function(value) {
                                    return formatCurrency(value, 2, 0);
                                }
                            }
                        }
                    }
                }
            });
        })();
    &lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;
    &lt;script&gt;
        function reportHeight() {
            var h = document.documentElement.scrollHeight;
            window.parent.postMessage({ type: &#039;raw-html-resize&#039;, id: &#039;raw-html-6a8c641cee4b3&#039;, height: h }, &#039;*&#039;);
        }
        window.addEventListener(&#039;load&#039;, reportHeight);
        if (window.ResizeObserver) {
            new ResizeObserver(reportHeight).observe(document.body);
        }
    &lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;"></iframe>
<script>
if (!window._rawHtmlListenerAttached) {
    window._rawHtmlListenerAttached = true;
    window.addEventListener('message', function(event) {
        if (event.data && event.data.type === 'raw-html-resize' && event.data.id) {
            var iframe = document.getElementById(event.data.id);
            if (iframe) {
                var height = Math.min(Math.max(event.data.height, 50), 9200);
                iframe.style.height = height + 'px';
            }
        }
    });
}
</script>
<p><strong>The Pakistani rupee extended its marginal gains against the US dollar on Monday.</strong></p>
<p>The local unit closed the day at 277.55, a gain of Re0.01 against the greenback.</p>
    <figure class='media  w-full sm:w-full  media--center  media--embed  media--uneven media--tweet' data-original-src='https://x.com/StateBank_Pak/status/2091848118786801727'>
        <div class='media__item  media__item--twitter  '><span>
    <blockquote class="twitter-tweet" lang="en">
        <a href="https://twitter.com/StateBank_Pak/status/2091848118786801727"></a>
    </blockquote>
</span></div>
        
    </figure>
<p><a href="https://www.brecorder.com/news/40435948"><u>On Friday</u></a><u>, </u>the Pakistani rupee settled at 277.56 against the dollar.</p>
<p>Furthermore, a wavering dollar teetered near multi-month lows on Monday in a market unsettled by the US Treasury’s ​promise to buy back more long bonds.</p>
<p>The Canadian dollar slipped 0.2% in early trade, to C$1.3798 per dollar, after trade talks with the US collapsed and Washington imposed 50% tariffs on Canadian goods, with Canada retaliating in kind.</p>
<p><a href="https://www.brecorder.com/news/40436266/dollar-trading-near-multi-month-lows-restrained-by-debt-nerves">The Australian</a> and New Zealand dollars traded just shy of three-month highs at $0.7171 and $0.5979 ​respectively.</p>
<p>The euro was comfortably above $1.16 at $1.1685 while the yen kept to the strong side of 159 per dollar.</p>
<p>The dollar logged its largest weekly drop against bitcoin in nearly three-and-a-half years on Sunday and it’s been sliding sharply on gold over revived fears the ​currency will suffer if the US tries to hold down yields.</p>
<p><a href="https://www.brecorder.com/news/40436265/oil-falls-ahead-of-us-announcement-of-new-sanctions-on-iran">Oil prices slipped</a> more than $1 a barrel on Monday as investors took profits after ‌recent gains and awaited details of expected new US sanctions on Iran, which could further disrupt supplies from the Middle East.</p>
<p>Brent crude futures were down $1.01, or 1.1%, to $93.38 at 1316 GMT, while US West Texas Intermediate crude was at $85.64 a barrel, down $1.42, or 1.6%.</p>
<p><strong>Inter-bank market rates for dollar on Monday</strong></p>
<p>BID Rs 277.55</p>
<p>OFFER Rs 277.75</p>
<p><strong>Open-market movement</strong></p>
<p>In the open market, the PKR remained unchanged for buying and gained 3 paise selling against USD, closing at 278.26 and 279.25, respectively.</p>
<p>Against Euro, the PKR gained 46 paise for both buying and selling, closing at 323.15 and 326.26, respectively.</p>
<p>Against UAE Dirham, the PKR lost 1 paisa for buying and gained 3 paise for selling, closing at 75.58 and 76.25, respectively.</p>
<p>Against Saudi Riyal, the PKR lost 5 paise for buying and remained unchanged for selling, closing at 73.88 and 74.47, respectively.</p>
<p><strong>Open-market rates for dollar on Monday</strong></p>
<p>BID Rs 278.26</p>
<p>OFFER Rs 279.25</p>
]]></content:encoded>
      <category>Markets</category>
      <guid>https://www.brecorder.com/news/40436304</guid>
      <pubDate>Mon, 24 Aug 2026 20:32:45 +0500</pubDate>
      <author>none@none.com (Recorder Report)</author>
      <media:content url="https://i.brecorder.com/large/2026/08/24155714a6b6b4e.webp" type="image/webp" medium="image" height="768" width="1024">
        <media:thumbnail url="https://i.brecorder.com/thumbnail/2026/08/24155714a6b6b4e.webp"/>
        <media:title/>
      </media:content>
    </item>
    <item xmlns:default="http://purl.org/rss/1.0/modules/content/">
      <title>Rupee records gain against US dollar</title>
      <link>https://www.brecorder.com/news/40435948/intra-day-update-rupee-records-gain-against-us-dollar</link>
      <description>&lt;iframe id="raw-html-6a886cede0f78" class="raw-html-embed" style="width: 100%; min-height: 50px; max-height: 9200px; border: none; overflow: hidden;" scrolling="no" srcdoc="&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html&amp;gt;
&amp;lt;head&amp;gt;
    &amp;lt;style&amp;gt;
        body { margin: 0; padding: 0; font-family: system-ui, -apple-system, sans-serif; overflow-wrap: anywhere; }
    &amp;lt;/style&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
    
&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html lang=&amp;quot;en&amp;quot;&amp;gt;
&amp;lt;head&amp;gt;
    &amp;lt;meta charset=&amp;quot;UTF-8&amp;quot;&amp;gt;
    &amp;lt;meta name=&amp;quot;viewport&amp;quot; content=&amp;quot;width=device-width, initial-scale=1.0&amp;quot;&amp;gt;
    &amp;lt;title&amp;gt;PKR vs USD Exchange Rate Chart&amp;lt;/title&amp;gt;
    &amp;lt;!-- Chart.js for high-performance rendering --&amp;gt;
    &amp;lt;script src=&amp;quot;https://cdn.jsdelivr.net/npm/chart.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;
    
    &amp;lt;style&amp;gt;
        @import url(&amp;#039;https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght=400;500;600;700&amp;amp;display=swap&amp;#039;);

        #pkr-chart-embed {
            font-family: &amp;#039;Plus Jakarta Sans&amp;#039;, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, sans-serif;
            max-width: 1000px;
            width: 100%;
            margin: 24px auto;
            background-color: #ffffff;
            border: 1px solid #e2e8f0;
            border-radius: 20px;
            padding: 24px;
            box-shadow: 0 10px 25px -5px rgba(15, 23, 42, 0.05), 0 8px 10px -6px rgba(15, 23, 42, 0.05);
            color: #0f172a;
            box-sizing: border-box;
        }

        #pkr-chart-embed * { box-sizing: border-box; margin: 0; padding: 0; }

        #pkr-chart-embed .chart-header {
            display: flex;
            flex-direction: column;
            gap: 20px;
            margin-bottom: 24px;
            width: 100%;
        }

        #pkr-chart-embed .top-row {
            display: flex;
            flex-direction: row;
            justify-content: space-between;
            align-items: flex-start;
            gap: 20px;
        }

        #pkr-chart-embed .calculator-area {
            display: flex;
            flex-direction: column;
            gap: 8px;
            align-items: flex-start;
        }

        #pkr-chart-embed .main-title {
            font-size: 20px;
            font-weight: 700;
            color: #0f172a;
            letter-spacing: -0.025em;
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            gap: 8px;
        }

        #pkr-chart-embed .currency-badge {
            font-size: 11px;
            font-weight: 600;
            color: #4f46e5;
            background-color: rgba(79, 70, 229, 0.08);
            padding: 2px 8px;
            border-radius: 9999px;
            border: 1px solid rgba(79, 70, 229, 0.15);
            text-transform: uppercase;
        }

        #pkr-chart-embed .calculator-title {
            font-size: 10px;
            font-weight: 700;
            color: #64748b;
            text-transform: uppercase;
            letter-spacing: 0.05em;
        }

        #pkr-chart-embed .converter {
            display: flex;
            align-items: center;
            background: #f8fafc;
            border: 1px solid #e2e8f0;
            border-radius: 12px;
            padding: 4px;
            gap: 6px;
        }

        #pkr-chart-embed .converter-group {
            display: flex;
            align-items: center;
            background: #ffffff;
            border-radius: 8px;
            padding: 6px 10px;
            box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
            border: 1px solid transparent;
        }

        #pkr-chart-embed .converter-input {
            border: none;
            outline: none;
            width: 100px;
            font-family: inherit;
            font-weight: 700;
            color: #0f172a;
            font-size: 14px;
            text-align: right;
            background: transparent;
        }

        #pkr-chart-embed .converter-input.pkr-field { width: 140px; }

        #pkr-chart-embed .converter-label {
            font-size: 11px;
            font-weight: 700;
            color: #64748b;
            margin-left: 6px;
        }

        #pkr-chart-embed .equals-sign { color: #94a3b8; font-weight: 600; font-size: 16px; }

        #pkr-chart-embed .rate-badge-container {
            display: flex;
            flex-direction: column;
            align-items: flex-end;
            gap: 8px;
        }

        #pkr-chart-embed .rate-label-sub { text-align: right; }
        #pkr-chart-embed .rate-label-sub span:first-child { display: block; font-size: 9px; text-transform: uppercase; font-weight: 700; color: #64748b; }
        #pkr-chart-embed .rate-label-sub span:last-child { display: block; font-size: 12px; color: #334155; font-weight: 600; }

        #pkr-chart-embed .rate-badge {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            background: linear-gradient(135deg, #4f46e5, #3b82f6);
            color: #ffffff;
            font-weight: 700;
            font-size: 13px;
            padding: 10px 16px;
            border-radius: 12px;
            box-shadow: 0 8px 16px -3px rgba(79, 70, 229, 0.25);
        }

        #pkr-chart-embed .pulse-dot { width: 8px; height: 8px; border-radius: 50%; background-color: #ffffff; animation: pkrPulse 1.5s infinite; }

        @keyframes pkrPulse {
            0% { transform: scale(0.95); opacity: 0.6; }
            50% { transform: scale(1.15); opacity: 1; }
            100% { transform: scale(0.95); opacity: 0.6; }
        }

        #pkr-chart-embed .chart-canvas-container { position: relative; width: 100%; height: 400px; }

        @media (max-width: 768px) {
            #pkr-chart-embed .chart-canvas-container { height: 320px; }
            #pkr-chart-embed .top-row { flex-direction: column; align-items: flex-start; }
            #pkr-chart-embed .rate-badge-container { align-items: flex-start; }
            #pkr-chart-embed .rate-label-sub { text-align: left; }
        }
    &amp;lt;/style&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
    &amp;lt;div id=&amp;quot;pkr-chart-embed&amp;quot;&amp;gt;
        &amp;lt;div class=&amp;quot;chart-header&amp;quot;&amp;gt;
            &amp;lt;h1 class=&amp;quot;main-title&amp;quot;&amp;gt;
                &amp;lt;span&amp;gt;PKR vs USD Exchange Rate&amp;lt;/span&amp;gt;
                &amp;lt;span class=&amp;quot;currency-badge&amp;quot;&amp;gt;USD / PKR&amp;lt;/span&amp;gt;
            &amp;lt;/h1&amp;gt;

            &amp;lt;div class=&amp;quot;top-row&amp;quot;&amp;gt;
                &amp;lt;div class=&amp;quot;calculator-area&amp;quot;&amp;gt;
                    &amp;lt;span class=&amp;quot;calculator-title&amp;quot;&amp;gt;Calculator&amp;lt;/span&amp;gt;
                    &amp;lt;div class=&amp;quot;converter&amp;quot;&amp;gt;
                        &amp;lt;div class=&amp;quot;converter-group&amp;quot;&amp;gt;
                            &amp;lt;input type=&amp;quot;text&amp;quot; inputmode=&amp;quot;decimal&amp;quot; id=&amp;quot;usdInput&amp;quot; class=&amp;quot;converter-input&amp;quot; value=&amp;quot;1&amp;quot;&amp;gt;
                            &amp;lt;span class=&amp;quot;converter-label&amp;quot;&amp;gt;USD&amp;lt;/span&amp;gt;
                        &amp;lt;/div&amp;gt;
                        &amp;lt;span class=&amp;quot;equals-sign&amp;quot;&amp;gt;=&amp;lt;/span&amp;gt;
                        &amp;lt;div class=&amp;quot;converter-group&amp;quot;&amp;gt;
                            &amp;lt;input type=&amp;quot;text&amp;quot; inputmode=&amp;quot;decimal&amp;quot; id=&amp;quot;pkrInput&amp;quot; class=&amp;quot;converter-input pkr-field&amp;quot; value=&amp;quot;&amp;quot;&amp;gt;
                            &amp;lt;span class=&amp;quot;converter-label&amp;quot;&amp;gt;PKR&amp;lt;/span&amp;gt;
                        &amp;lt;/div&amp;gt;
                    &amp;lt;/div&amp;gt;
                &amp;lt;/div&amp;gt;

                &amp;lt;div class=&amp;quot;rate-badge-container&amp;quot;&amp;gt;
                    &amp;lt;div class=&amp;quot;rate-label-sub&amp;quot;&amp;gt;
                        &amp;lt;span&amp;gt;Latest Closing&amp;lt;/span&amp;gt;
                        &amp;lt;span&amp;gt;21-Aug-26&amp;lt;/span&amp;gt;
                    &amp;lt;/div&amp;gt;
                    &amp;lt;div class=&amp;quot;rate-badge&amp;quot;&amp;gt;
                        &amp;lt;span class=&amp;quot;pulse-dot&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;
                        &amp;lt;span id=&amp;quot;latestBadgeRate&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;
                    &amp;lt;/div&amp;gt;
                &amp;lt;/div&amp;gt;
            &amp;lt;/div&amp;gt;
        &amp;lt;/div&amp;gt;

        &amp;lt;div class=&amp;quot;chart-canvas-container&amp;quot;&amp;gt;
            &amp;lt;canvas id=&amp;quot;closingRatesChart&amp;quot;&amp;gt;&amp;lt;/canvas&amp;gt;
        &amp;lt;/div&amp;gt;
    &amp;lt;/div&amp;gt;

    &amp;lt;script&amp;gt;
        (function() {
            const rawLabels = [&amp;quot;04-Mar-25&amp;quot;, &amp;quot;05-Mar-25&amp;quot;, &amp;quot;06-Mar-25&amp;quot;, &amp;quot;07-Mar-25&amp;quot;, &amp;quot;10-Mar-25&amp;quot;, &amp;quot;11-Mar-25&amp;quot;, &amp;quot;12-Mar-25&amp;quot;, &amp;quot;13-Mar-25&amp;quot;, &amp;quot;14-Mar-25&amp;quot;, &amp;quot;17-Mar-25&amp;quot;, &amp;quot;18-Mar-25&amp;quot;, &amp;quot;19-Mar-25&amp;quot;, &amp;quot;20-Mar-25&amp;quot;, &amp;quot;21-Mar-25&amp;quot;, &amp;quot;24-Mar-25&amp;quot;, &amp;quot;25-Mar-25&amp;quot;, &amp;quot;26-Mar-25&amp;quot;, &amp;quot;27-Mar-25&amp;quot;, &amp;quot;28-Mar-25&amp;quot;, &amp;quot;03-Apr-25&amp;quot;, &amp;quot;04-Apr-25&amp;quot;, &amp;quot;07-Apr-25&amp;quot;, &amp;quot;08-Apr-25&amp;quot;, &amp;quot;09-Apr-25&amp;quot;, &amp;quot;10-Apr-25&amp;quot;, &amp;quot;11-Apr-25&amp;quot;, &amp;quot;14-Apr-25&amp;quot;, &amp;quot;15-Apr-25&amp;quot;, &amp;quot;16-Apr-25&amp;quot;, &amp;quot;17-Apr-25&amp;quot;, &amp;quot;18-Apr-25&amp;quot;, &amp;quot;21-Apr-25&amp;quot;, &amp;quot;22-Apr-25&amp;quot;, &amp;quot;23-Apr-25&amp;quot;, &amp;quot;24-Apr-25&amp;quot;, &amp;quot;25-Apr-25&amp;quot;, &amp;quot;28-Apr-25&amp;quot;, &amp;quot;29-Apr-25&amp;quot;, &amp;quot;30-Apr-25&amp;quot;, &amp;quot;02-May-25&amp;quot;, &amp;quot;05-May-25&amp;quot;, &amp;quot;06-May-25&amp;quot;, &amp;quot;07-May-25&amp;quot;, &amp;quot;08-May-25&amp;quot;, &amp;quot;09-May-25&amp;quot;, &amp;quot;12-May-25&amp;quot;, &amp;quot;13-May-25&amp;quot;, &amp;quot;14-May-25&amp;quot;, &amp;quot;15-May-25&amp;quot;, &amp;quot;16-May-25&amp;quot;, &amp;quot;19-May-25&amp;quot;, &amp;quot;20-May-25&amp;quot;, &amp;quot;21-May-25&amp;quot;, &amp;quot;22-May-25&amp;quot;, &amp;quot;23-May-25&amp;quot;, &amp;quot;26-May-25&amp;quot;, &amp;quot;27-May-25&amp;quot;, &amp;quot;29-May-25&amp;quot;, &amp;quot;30-May-25&amp;quot;, &amp;quot;02-Jun-25&amp;quot;, &amp;quot;03-Jun-25&amp;quot;, &amp;quot;04-Jun-25&amp;quot;, &amp;quot;05-Jun-25&amp;quot;, &amp;quot;10-Jun-25&amp;quot;, &amp;quot;11-Jun-25&amp;quot;, &amp;quot;12-Jun-25&amp;quot;, &amp;quot;13-Jun-25&amp;quot;, &amp;quot;16-Jun-25&amp;quot;, &amp;quot;17-Jun-25&amp;quot;, &amp;quot;18-Jun-25&amp;quot;, &amp;quot;19-Jun-25&amp;quot;, &amp;quot;20-Jun-25&amp;quot;, &amp;quot;23-Jun-25&amp;quot;, &amp;quot;24-Jun-25&amp;quot;, &amp;quot;25-Jun-25&amp;quot;, &amp;quot;26-Jun-25&amp;quot;, &amp;quot;27-Jun-25&amp;quot;, &amp;quot;30-Jun-25&amp;quot;, &amp;quot;02-Jul-25&amp;quot;, &amp;quot;03-Jul-25&amp;quot;, &amp;quot;04-Jul-25&amp;quot;, &amp;quot;07-Jul-25&amp;quot;, &amp;quot;08-Jul-25&amp;quot;, &amp;quot;09-Jul-25&amp;quot;, &amp;quot;10-Jul-25&amp;quot;, &amp;quot;11-Jul-25&amp;quot;, &amp;quot;14-Jul-25&amp;quot;, &amp;quot;15-Jul-25&amp;quot;, &amp;quot;16-Jul-25&amp;quot;, &amp;quot;17-Jul-25&amp;quot;, &amp;quot;18-Jul-25&amp;quot;, &amp;quot;21-Jul-25&amp;quot;, &amp;quot;22-Jul-25&amp;quot;, &amp;quot;23-Jul-25&amp;quot;, &amp;quot;24-Jul-25&amp;quot;, &amp;quot;25-Jul-25&amp;quot;, &amp;quot;28-Jul-25&amp;quot;, &amp;quot;29-Jul-25&amp;quot;, &amp;quot;30-Jul-25&amp;quot;, &amp;quot;31-Jul-25&amp;quot;, &amp;quot;01-Aug-25&amp;quot;, &amp;quot;04-Aug-25&amp;quot;, &amp;quot;05-Aug-25&amp;quot;, &amp;quot;06-Aug-25&amp;quot;, &amp;quot;07-Aug-25&amp;quot;, &amp;quot;08-Aug-25&amp;quot;, &amp;quot;11-Aug-25&amp;quot;, &amp;quot;12-Aug-25&amp;quot;, &amp;quot;13-Aug-25&amp;quot;, &amp;quot;15-Aug-25&amp;quot;, &amp;quot;18-Aug-25&amp;quot;, &amp;quot;19-Aug-25&amp;quot;, &amp;quot;20-Aug-25&amp;quot;, &amp;quot;21-Aug-25&amp;quot;, &amp;quot;22-Aug-25&amp;quot;, &amp;quot;25-Aug-25&amp;quot;, &amp;quot;26-Aug-25&amp;quot;, &amp;quot;27-Aug-25&amp;quot;, &amp;quot;28-Aug-25&amp;quot;, &amp;quot;29-Aug-25&amp;quot;, &amp;quot;01-Sep-25&amp;quot;, &amp;quot;02-Sep-25&amp;quot;, &amp;quot;03-Sep-25&amp;quot;, &amp;quot;04-Sep-25&amp;quot;, &amp;quot;05-Sep-25&amp;quot;, &amp;quot;08-Sep-25&amp;quot;, &amp;quot;09-Sep-25&amp;quot;, &amp;quot;10-Sep-25&amp;quot;, &amp;quot;11-Sep-25&amp;quot;, &amp;quot;12-Sep-25&amp;quot;, &amp;quot;15-Sep-25&amp;quot;, &amp;quot;16-Sep-25&amp;quot;, &amp;quot;17-Sep-25&amp;quot;, &amp;quot;18-Sep-25&amp;quot;, &amp;quot;19-Sep-25&amp;quot;, &amp;quot;21-Sep-25&amp;quot;, &amp;quot;22-Sep-25&amp;quot;, &amp;quot;23-Sep-25&amp;quot;, &amp;quot;24-Sep-25&amp;quot;, &amp;quot;25-Sep-25&amp;quot;, &amp;quot;26-Sep-25&amp;quot;, &amp;quot;29-Sep-25&amp;quot;, &amp;quot;30-Sep-25&amp;quot;, &amp;quot;01-Oct-25&amp;quot;, &amp;quot;02-Oct-25&amp;quot;, &amp;quot;03-Oct-25&amp;quot;, &amp;quot;06-Oct-25&amp;quot;, &amp;quot;07-Oct-25&amp;quot;, &amp;quot;08-Oct-25&amp;quot;, &amp;quot;09-Oct-25&amp;quot;, &amp;quot;10-Oct-25&amp;quot;, &amp;quot;13-Oct-25&amp;quot;, &amp;quot;14-Oct-25&amp;quot;, &amp;quot;15-Oct-25&amp;quot;, &amp;quot;16-Oct-25&amp;quot;, &amp;quot;17-Oct-25&amp;quot;, &amp;quot;20-Oct-25&amp;quot;, &amp;quot;21-Oct-25&amp;quot;, &amp;quot;22-Oct-25&amp;quot;, &amp;quot;23-Oct-25&amp;quot;, &amp;quot;24-Oct-25&amp;quot;, &amp;quot;27-Oct-25&amp;quot;, &amp;quot;28-Oct-25&amp;quot;, &amp;quot;29-Oct-25&amp;quot;, &amp;quot;30-Oct-25&amp;quot;, &amp;quot;31-Oct-25&amp;quot;, &amp;quot;03-Nov-25&amp;quot;, &amp;quot;04-Nov-25&amp;quot;, &amp;quot;05-Nov-25&amp;quot;, &amp;quot;06-Nov-25&amp;quot;, &amp;quot;07-Nov-25&amp;quot;, &amp;quot;10-Nov-25&amp;quot;, &amp;quot;11-Nov-25&amp;quot;, &amp;quot;12-Nov-25&amp;quot;, &amp;quot;13-Nov-25&amp;quot;, &amp;quot;14-Nov-25&amp;quot;, &amp;quot;17-Nov-25&amp;quot;, &amp;quot;18-Nov-25&amp;quot;, &amp;quot;19-Nov-25&amp;quot;, &amp;quot;20-Nov-25&amp;quot;, &amp;quot;21-Nov-25&amp;quot;, &amp;quot;24-Nov-25&amp;quot;, &amp;quot;25-Nov-25&amp;quot;, &amp;quot;26-Nov-25&amp;quot;, &amp;quot;27-Nov-25&amp;quot;, &amp;quot;28-Nov-25&amp;quot;, &amp;quot;01-Dec-25&amp;quot;, &amp;quot;02-Dec-25&amp;quot;, &amp;quot;03-Dec-25&amp;quot;, &amp;quot;04-Dec-25&amp;quot;, &amp;quot;05-Dec-25&amp;quot;, &amp;quot;08-Dec-25&amp;quot;, &amp;quot;09-Dec-25&amp;quot;, &amp;quot;10-Dec-25&amp;quot;, &amp;quot;11-Dec-25&amp;quot;, &amp;quot;12-Dec-25&amp;quot;, &amp;quot;15-Dec-25&amp;quot;, &amp;quot;16-Dec-25&amp;quot;, &amp;quot;17-Dec-25&amp;quot;, &amp;quot;18-Dec-25&amp;quot;, &amp;quot;19-Dec-25&amp;quot;, &amp;quot;22-Dec-25&amp;quot;, &amp;quot;23-Dec-25&amp;quot;, &amp;quot;24-Dec-25&amp;quot;, &amp;quot;26-Dec-25&amp;quot;, &amp;quot;29-Dec-25&amp;quot;, &amp;quot;30-Dec-25&amp;quot;, &amp;quot;31-Dec-25&amp;quot;, &amp;quot;02-Jan-26&amp;quot;, &amp;quot;05-Jan-26&amp;quot;, &amp;quot;06-Jan-26&amp;quot;, &amp;quot;07-Jan-26&amp;quot;, &amp;quot;08-Jan-26&amp;quot;, &amp;quot;09-Jan-26&amp;quot;, &amp;quot;12-Jan-26&amp;quot;, &amp;quot;13-Jan-26&amp;quot;, &amp;quot;14-Jan-26&amp;quot;, &amp;quot;15-Jan-26&amp;quot;, &amp;quot;16-Jan-26&amp;quot;, &amp;quot;19-Jan-26&amp;quot;, &amp;quot;20-Jan-26&amp;quot;, &amp;quot;21-Jan-26&amp;quot;, &amp;quot;22-Jan-26&amp;quot;, &amp;quot;23-Jan-26&amp;quot;, &amp;quot;26-Jan-26&amp;quot;, &amp;quot;27-Jan-26&amp;quot;, &amp;quot;28-Jan-26&amp;quot;, &amp;quot;29-Jan-26&amp;quot;, &amp;quot;30-Jan-26&amp;quot;, &amp;quot;02-Feb-26&amp;quot;, &amp;quot;03-Feb-26&amp;quot;, &amp;quot;04-Feb-26&amp;quot;, &amp;quot;06-Feb-26&amp;quot;, &amp;quot;09-Feb-26&amp;quot;, &amp;quot;10-Feb-26&amp;quot;, &amp;quot;11-Feb-26&amp;quot;, &amp;quot;12-Feb-26&amp;quot;, &amp;quot;13-Feb-26&amp;quot;, &amp;quot;16-Feb-26&amp;quot;, &amp;quot;17-Feb-26&amp;quot;, &amp;quot;18-Feb-26&amp;quot;, &amp;quot;20-Feb-26&amp;quot;, &amp;quot;23-Feb-26&amp;quot;, &amp;quot;24-Feb-26&amp;quot;, &amp;quot;25-Feb-26&amp;quot;, &amp;quot;26-Feb-26&amp;quot;, &amp;quot;27-Feb-26&amp;quot;, &amp;quot;02-Mar-26&amp;quot;, &amp;quot;03-Mar-26&amp;quot;, &amp;quot;04-Mar-26&amp;quot;, &amp;quot;05-Mar-26&amp;quot;, &amp;quot;06-Mar-26&amp;quot;, &amp;quot;09-Mar-26&amp;quot;, &amp;quot;10-Mar-26&amp;quot;, &amp;quot;11-Mar-26&amp;quot;, &amp;quot;12-Mar-26&amp;quot;, &amp;quot;13-Mar-26&amp;quot;, &amp;quot;16-Mar-26&amp;quot;, &amp;quot;17-Mar-26&amp;quot;, &amp;quot;18-Mar-26&amp;quot;, &amp;quot;19-Mar-26&amp;quot;, &amp;quot;24-Mar-26&amp;quot;, &amp;quot;25-Mar-26&amp;quot;, &amp;quot;26-Mar-26&amp;quot;, &amp;quot;27-Mar-26&amp;quot;, &amp;quot;30-Mar-26&amp;quot;, &amp;quot;31-Mar-26&amp;quot;, &amp;quot;01-Apr-26&amp;quot;, &amp;quot;02-Apr-26&amp;quot;, &amp;quot;03-Apr-26&amp;quot;, &amp;quot;04-Apr-26&amp;quot;, &amp;quot;06-Apr-26&amp;quot;, &amp;quot;07-Apr-26&amp;quot;, &amp;quot;08-Apr-26&amp;quot;, &amp;quot;09-Apr-26&amp;quot;, &amp;quot;10-Apr-26&amp;quot;, &amp;quot;13-Apr-26&amp;quot;, &amp;quot;14-Apr-26&amp;quot;, &amp;quot;14-Apr-26&amp;quot;, &amp;quot;15-Apr-26&amp;quot;, &amp;quot;16-Apr-26&amp;quot;, &amp;quot;17-Apr-26&amp;quot;, &amp;quot;20-Apr-26&amp;quot;, &amp;quot;21-Apr-26&amp;quot;, &amp;quot;22-Apr-26&amp;quot;, &amp;quot;23-Apr-26&amp;quot;, &amp;quot;24-Apr-26&amp;quot;, &amp;quot;27-Apr-26&amp;quot;, &amp;quot;28-Apr-26&amp;quot;, &amp;quot;29-Apr-26&amp;quot;, &amp;quot;30-Apr-26&amp;quot;, &amp;quot;04-May-26&amp;quot;, &amp;quot;05-May-26&amp;quot;, &amp;quot;06-May-26&amp;quot;, &amp;quot;07-May-26&amp;quot;, &amp;quot;08-May-26&amp;quot;, &amp;quot;11-May-26&amp;quot;, &amp;quot;12-May-26&amp;quot;, &amp;quot;13-May-26&amp;quot;, &amp;quot;14-May-26&amp;quot;, &amp;quot;15-May-26&amp;quot;, &amp;quot;18-May-26&amp;quot;, &amp;quot;19-May-26&amp;quot;, &amp;quot;20-May-26&amp;quot;, &amp;quot;21-May-26&amp;quot;, &amp;quot;22-May-26&amp;quot;, &amp;quot;25-May-26&amp;quot;, &amp;quot;29-May-26&amp;quot;, &amp;quot;01-Jun-26&amp;quot;, &amp;quot;02-Jun-26&amp;quot;, &amp;quot;03-Jun-26&amp;quot;, &amp;quot;04-Jun-26&amp;quot;, &amp;quot;05-Jun-26&amp;quot;, &amp;quot;08-Jun-26&amp;quot;, &amp;quot;09-Jun-26&amp;quot;, &amp;quot;10-Jun-26&amp;quot;, &amp;quot;11-Jun-26&amp;quot;, &amp;quot;12-Jun-26&amp;quot;, &amp;quot;15-Jun-26&amp;quot;, &amp;quot;16-Jun-26&amp;quot;, &amp;quot;17-Jun-26&amp;quot;, &amp;quot;18-Jun-26&amp;quot;, &amp;quot;19-Jun-26&amp;quot;, &amp;quot;22-Jun-26&amp;quot;, &amp;quot;23-Jun-26&amp;quot;, &amp;quot;24-Jun-26&amp;quot;, &amp;quot;29-Jun-26&amp;quot;, &amp;quot;30-Jun-26&amp;quot;, &amp;quot;02-Jul-26&amp;quot;, &amp;quot;03-Jul-26&amp;quot;, &amp;quot;06-Jul-26&amp;quot;, &amp;quot;07-Jul-26&amp;quot;, &amp;quot;08-Jul-26&amp;quot;, &amp;quot;09-Jul-26&amp;quot;, &amp;quot;10-Jul-26&amp;quot;, &amp;quot;13-Jul-26&amp;quot;, &amp;quot;14-Jul-26&amp;quot;, &amp;quot;15-Jul-26&amp;quot;, &amp;quot;16-Jul-26&amp;quot;, &amp;quot;17-Jul-26&amp;quot;, &amp;quot;20-Jul-26&amp;quot;, &amp;quot;21-Jul-26&amp;quot;, &amp;quot;22-Jul-26&amp;quot;, &amp;quot;23-Jul-26&amp;quot;, &amp;quot;24-Jul-26&amp;quot;, &amp;quot;27-Jul-26&amp;quot;, &amp;quot;28-Jul-26&amp;quot;, &amp;quot;29-Jul-26&amp;quot;, &amp;quot;30-Jul-26&amp;quot;, &amp;quot;03-Aug-26&amp;quot;, &amp;quot;04-Aug-26&amp;quot;, &amp;quot;05-Aug-26&amp;quot;, &amp;quot;06-Aug-26&amp;quot;, &amp;quot;07-Aug-26&amp;quot;, &amp;quot;10-Aug-26&amp;quot;, &amp;quot;11-Aug-26&amp;quot;, &amp;quot;12-Aug-26&amp;quot;, &amp;quot;13-Aug-26&amp;quot;, &amp;quot;17-Aug-26&amp;quot;, &amp;quot;18-Aug-26&amp;quot;, &amp;quot;20-Aug-26&amp;quot;, &amp;quot;21-Aug-26&amp;quot;];
            
            const rawData = [279.77, 279.87, 279.82, 279.97, 280.07, 279.95, 279.97, 280.05, 280.21, 280.17, 280.27, 280.21, 280.22, 280.26, 280.37, 280.42, 280.26, 280.22, 280.16, 280.56, 280.47, 280.57, 280.73, 280.78, 280.56, 280.47, 280.60, 280.57, 280.46, 280.62, 280.72, 280.87, 280.77, 280.97, 281.07, 280.97, 281.07, 281.02, 280.97, 281.06, 281.22, 281.37, 281.47, 281.52, 281.71, 281.57, 281.67, 281.72, 281.61, 281.66, 281.77, 281.92, 281.97, 282.06, 281.97, 282.06, 282.17, 282.07, 282.02, 281.97, 282.12, 282.22, 282.17, 282.21, 282.47, 282.67, 282.96, 283.17, 283.41, 283.55, 283.64, 283.70, 283.87, 283.77, 283.72, 283.67, 283.72, 283.76, 283.95, 283.86, 283.97, 284.22, 284.36, 284.47, 284.56, 284.46, 284.72, 284.67, 284.96, 284.97, 284.87, 284.95, 284.97, 284.76, 284.22, 283.45, 283.21, 283.05, 282.95, 282.87, 282.72, 282.66, 282.57, 282.67, 282.56, 282.47, 282.45, 282.42, 282.22, 282.06, 282.01, 281.96, 281.95, 281.92, 281.90, 281.87, 281.86, 281.83, 281.8, 281.77, 281.75, 281.72, 281.71, 281.67, 281.65, 281.62, 281.61, 281.60, 281.56, 281.55, 281.52, 281.51, 281.50, 281.47, 281.46, 281.45, 281.46, 281.42, 281.43, 281.41, 281.37, 281.35, 281.32, 281.31, 281.27, 281.26, 281.25, 281.22, 281.21, 281.20, 281.17, 281.16, 281.15, 281.12, 281.11, 281.10, 281.07, 281.06, 281.05, 281.03, 281.02, 281.01, 280.97, 280.96, 280.92, 280.91, 280.90, 280.87, 280.86, 280.85, 280.82, 280.81, 280.78, 280.77, 280.76, 280.72, 280.71, 280.67, 280.66, 280.66, 280.65, 280.62, 280.61, 280.57, 280.56, 280.55, 280.52, 280.51, 280.47, 280.46, 280.45, 280.42, 280.41, 280.40, 280.37, 280.36, 280.32, 280.31, 280.30, 280.27, 280.26, 280.25, 280.22, 280.21, 280.20, 280.17, 280.16, 280.15, 280.12, 280.11, 280.10, 280.07, 280.06, 280.05, 280.02, 280.01, 280.0, 279.97, 279.96, 279.95, 279.92, 279.91, 279.90, 279.87, 279.86, 279.85, 279.82, 279.81, 279.80, 279.77, 279.76, 279.75, 279.72, 279.71, 279.70, 279.67, 279.66, 279.65, 279.62, 279.61, 279.60, 279.57, 279.56, 279.55, 279.52, 279.51, 279.50, 279.47, 279.46, 279.45, 279.42, 279.41, 279.40, 279.37, 279.36, 279.35, 279.32, 279.31, 279.30, 279.27, 279.26, 279.25, 279.22, 279.21, 279.20, 279.17, 279.16, 279.15, 279.12, 279.11, 279.10, 279.07, 279.06, 279.05, 279.02, 279.01, 279.00, 278.97, 278.96, 278.95, 278.92, 278.91, 278.90, 278.87, 278.86, 278.85, 278.82, 278.81, 278.80, 278.77, 278.76, 278.75, 278.72, 278.71, 278.70, 278.67, 278.66, 278.65, 278.62, 278.61, 278.60, 278.57, 278.56, 278.55, 278.52, 278.51, 278.50, 278.47, 278.46, 278.45, 278.42, 278.41, 278.40, 278.37, 278.36, 278.35, 278.32, 278.31, 278.30, 278.27, 278.26, 278.25, 278.22, 278.21, 278.20, 278.17, 278.16, 278.15, 278.12, 278.11, 278.10, 278.07, 278.06, 278.05, 278.02, 278.01, 278.00, 277.95, 277.95, 277.92, 277.91, 277.90, 277.87, 277.86, 277.85, 277.82, 277.81, 277.80, 277.77, 277.76, 277.75, 277.72, 277.71, 277.70, 277.67, 277.66, 277.65, 277.62, 277.61, 277.57, 277.56];
            
            const currentExchangeRate = rawData[rawData.length - 1];

            const usdInput = document.getElementById(&amp;#039;usdInput&amp;#039;);
            const pkrInput = document.getElementById(&amp;#039;pkrInput&amp;#039;);
            const badgeEl = document.getElementById(&amp;#039;latestBadgeRate&amp;#039;);

            const formatCurrency = (val, maxDecimals = 2, minDecimals = 2) =&amp;gt; {
                return val.toLocaleString(&amp;#039;en-US&amp;#039;, {
                    minimumFractionDigits: minDecimals,
                    maximumFractionDigits: maxDecimals
                });
            };

            const parseCurrency = (valStr) =&amp;gt; {
                return parseFloat(valStr.replace(/,/g, &amp;#039;&amp;#039;));
            };

            // Set Initial Values
            badgeEl.textContent = formatCurrency(currentExchangeRate) + &amp;#039; PKR&amp;#039;;
            pkrInput.value = formatCurrency(currentExchangeRate);

            usdInput.addEventListener(&amp;#039;input&amp;#039;, (e) =&amp;gt; {
                const val = parseCurrency(e.target.value);
                if (isNaN(val)) {
                    pkrInput.value = &amp;#039;&amp;#039;;
                } else {
                    pkrInput.value = formatCurrency(val * currentExchangeRate);
                }
            });

            pkrInput.addEventListener(&amp;#039;input&amp;#039;, (e) =&amp;gt; {
                const val = parseCurrency(e.target.value);
                if (isNaN(val)) {
                    usdInput.value = &amp;#039;&amp;#039;;
                } else {
                    usdInput.value = formatCurrency(val / currentExchangeRate);
                }
            });

            usdInput.addEventListener(&amp;#039;blur&amp;#039;, (e) =&amp;gt; {
                const val = parseCurrency(e.target.value);
                if (!isNaN(val)) {
                    e.target.value = formatCurrency(val, 2, 0);
                }
            });

            pkrInput.addEventListener(&amp;#039;blur&amp;#039;, (e) =&amp;gt; {
                const val = parseCurrency(e.target.value);
                if (!isNaN(val)) {
                    e.target.value = formatCurrency(val);
                }
            });

            const ctx = document.getElementById(&amp;#039;closingRatesChart&amp;#039;).getContext(&amp;#039;2d&amp;#039;);
            new Chart(ctx, {
                type: &amp;#039;line&amp;#039;,
                data: {
                    labels: rawLabels,
                    datasets: [{
                        data: rawData,
                        borderColor: &amp;#039;#4f46e5&amp;#039;,
                        backgroundColor: &amp;#039;rgba(79, 70, 229, 0.1)&amp;#039;,
                        fill: true,
                        tension: 0.1
                    }]
                },
                options: {
                    responsive: true,
                    maintainAspectRatio: false,
                    plugins: {
                        legend: { display: false },
                        tooltip: {
                            callbacks: {
                                label: function(context) {
                                    return formatCurrency(context.parsed.y) + &amp;#039; PKR&amp;#039;;
                                }
                            }
                        }
                    },
                    scales: {
                        y: {
                            ticks: {
                                callback: function(value) {
                                    return formatCurrency(value, 2, 0);
                                }
                            }
                        }
                    }
                }
            });
        })();
    &amp;lt;/script&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;
    &amp;lt;script&amp;gt;
        function reportHeight() {
            var h = document.documentElement.scrollHeight;
            window.parent.postMessage({ type: &amp;#039;raw-html-resize&amp;#039;, id: &amp;#039;raw-html-6a886cede0f78&amp;#039;, height: h }, &amp;#039;*&amp;#039;);
        }
        window.addEventListener(&amp;#039;load&amp;#039;, reportHeight);
        if (window.ResizeObserver) {
            new ResizeObserver(reportHeight).observe(document.body);
        }
    &amp;lt;/script&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;"&gt;&lt;/iframe&gt;
&lt;script&gt;
if (!window._rawHtmlListenerAttached) {
    window._rawHtmlListenerAttached = true;
    window.addEventListener('message', function(event) {
        if (event.data &amp;&amp; event.data.type === 'raw-html-resize' &amp;&amp; event.data.id) {
            var iframe = document.getElementById(event.data.id);
            if (iframe) {
                var height = Math.min(Math.max(event.data.height, 50), 9200);
                iframe.style.height = height + 'px';
            }
        }
    });
}
&lt;/script&gt;
&lt;p&gt;&lt;strong&gt;The Pakistani rupee extended its marginal gains against the US dollar on Friday.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The local unit closed the day at 277.56, a gain of Re0.01 against the greenback.&lt;/p&gt;
    &lt;figure class='media  w-full sm:w-full  media--center  media--embed  media--uneven media--tweet' data-original-src='https://x.com/StateBank_Pak/status/2090767568747557259'&gt;
        &lt;div class='media__item  media__item--twitter  '&gt;&lt;span&gt;
    &lt;blockquote class="twitter-tweet" lang="en"&gt;
        &lt;a href="https://twitter.com/StateBank_Pak/status/2090767568747557259"&gt;&lt;/a&gt;
    &lt;/blockquote&gt;
&lt;/span&gt;&lt;/div&gt;
        
    &lt;/figure&gt;
&lt;p&gt;&lt;a href="https://www.brecorder.com/news/40435760"&gt;&lt;u&gt;On Thursday&lt;/u&gt;&lt;/a&gt;&lt;u&gt;, &lt;/u&gt;the Pakistani rupee settled at 277.57 against the dollar.&lt;/p&gt;
&lt;p&gt;The dollar was on shaky ground and set for a weekly loss on ​Friday, as investors viewed the US Treasury’s bond buyback gambit as merely a temporary fix, while raising fresh concerns about ‌officials’ increasingly interventionist approach.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.brecorder.com/news/40435909/dollar-wobbles-as-investors-balk-at-us-treasurys-rescue-efforts"&gt;Against a weaker dollar&lt;/a&gt;, the euro was perched near a three-month high, and last bought $1.1685, ​on track for a weekly rise of 1%.&lt;/p&gt;
&lt;p&gt;Sterling flirted with a six-month peak and edged 0.08% higher to $1.3643, taking its gains for the week ​thus far to 0.8%.&lt;/p&gt;
&lt;p&gt;The greenback was meanwhile on track for a weekly fall of more than 0.8% and was last at 98.82, languishing near a three-month low against a basket of six other currencies.&lt;/p&gt;
&lt;p&gt;Furthermore, &lt;a href="https://www.brecorder.com/news/40435907/oil-set-for-second-weekly-gain-as-us-ramps-up-pressure-on-iran"&gt;oil prices were steady on Friday&lt;/a&gt; and were on track for a ‌second straight weekly gain after the United States threatened to impose the toughest sanctions in history with no end in sight for disruptions to Middle East oil flows.&lt;/p&gt;
&lt;p&gt;Brent crude futures rose 20 cents, or 0.21%, to $93.98 a barrel by 1307 GMT. US West Texas ​Intermediate crude was up 7 cents, or 0.08%, at $86.90.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Inter-bank market rates for dollar on Friday&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;BID Rs 277.56&lt;/p&gt;
&lt;p&gt;OFFER Rs 277.76&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Open-market movement&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;In the open market, the PKR remained unchanged for both buying and selling against USD, closing at 278.26 and 279.28, respectively.&lt;/p&gt;
&lt;p&gt;Against Euro, the PKR lost 30 paise for buying and 25 paise for selling, closing at 323.61 and 326.72, respectively.&lt;/p&gt;
&lt;p&gt;Against UAE Dirham, the PKR lost 1 paisa for buying and remained unchanged for selling, closing at 75.57 and 76.28, respectively.&lt;/p&gt;
&lt;p&gt;Against Saudi Riyal, the PKR lost 3 paise for buying and remained unchanged for selling, closing at 73.83 and 74.47, respectively.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Open-market rates for dollar on Friday&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;BID Rs 278.26&lt;/p&gt;
&lt;p&gt;OFFER Rs 279.28&lt;/p&gt;
</description>
      <content:encoded xmlns="http://purl.org/rss/1.0/modules/content/"><![CDATA[<iframe id="raw-html-6a886cede0f78" class="raw-html-embed" style="width: 100%; min-height: 50px; max-height: 9200px; border: none; overflow: hidden;" scrolling="no" srcdoc="&lt;!DOCTYPE html&gt;
&lt;html&gt;
&lt;head&gt;
    &lt;style&gt;
        body { margin: 0; padding: 0; font-family: system-ui, -apple-system, sans-serif; overflow-wrap: anywhere; }
    &lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
    
&lt;!DOCTYPE html&gt;
&lt;html lang=&quot;en&quot;&gt;
&lt;head&gt;
    &lt;meta charset=&quot;UTF-8&quot;&gt;
    &lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1.0&quot;&gt;
    &lt;title&gt;PKR vs USD Exchange Rate Chart&lt;/title&gt;
    &lt;!-- Chart.js for high-performance rendering --&gt;
    &lt;script src=&quot;https://cdn.jsdelivr.net/npm/chart.js&quot;&gt;&lt;/script&gt;
    
    &lt;style&gt;
        @import url(&#039;https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght=400;500;600;700&amp;display=swap&#039;);

        #pkr-chart-embed {
            font-family: &#039;Plus Jakarta Sans&#039;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, Roboto, sans-serif;
            max-width: 1000px;
            width: 100%;
            margin: 24px auto;
            background-color: #ffffff;
            border: 1px solid #e2e8f0;
            border-radius: 20px;
            padding: 24px;
            box-shadow: 0 10px 25px -5px rgba(15, 23, 42, 0.05), 0 8px 10px -6px rgba(15, 23, 42, 0.05);
            color: #0f172a;
            box-sizing: border-box;
        }

        #pkr-chart-embed * { box-sizing: border-box; margin: 0; padding: 0; }

        #pkr-chart-embed .chart-header {
            display: flex;
            flex-direction: column;
            gap: 20px;
            margin-bottom: 24px;
            width: 100%;
        }

        #pkr-chart-embed .top-row {
            display: flex;
            flex-direction: row;
            justify-content: space-between;
            align-items: flex-start;
            gap: 20px;
        }

        #pkr-chart-embed .calculator-area {
            display: flex;
            flex-direction: column;
            gap: 8px;
            align-items: flex-start;
        }

        #pkr-chart-embed .main-title {
            font-size: 20px;
            font-weight: 700;
            color: #0f172a;
            letter-spacing: -0.025em;
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            gap: 8px;
        }

        #pkr-chart-embed .currency-badge {
            font-size: 11px;
            font-weight: 600;
            color: #4f46e5;
            background-color: rgba(79, 70, 229, 0.08);
            padding: 2px 8px;
            border-radius: 9999px;
            border: 1px solid rgba(79, 70, 229, 0.15);
            text-transform: uppercase;
        }

        #pkr-chart-embed .calculator-title {
            font-size: 10px;
            font-weight: 700;
            color: #64748b;
            text-transform: uppercase;
            letter-spacing: 0.05em;
        }

        #pkr-chart-embed .converter {
            display: flex;
            align-items: center;
            background: #f8fafc;
            border: 1px solid #e2e8f0;
            border-radius: 12px;
            padding: 4px;
            gap: 6px;
        }

        #pkr-chart-embed .converter-group {
            display: flex;
            align-items: center;
            background: #ffffff;
            border-radius: 8px;
            padding: 6px 10px;
            box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
            border: 1px solid transparent;
        }

        #pkr-chart-embed .converter-input {
            border: none;
            outline: none;
            width: 100px;
            font-family: inherit;
            font-weight: 700;
            color: #0f172a;
            font-size: 14px;
            text-align: right;
            background: transparent;
        }

        #pkr-chart-embed .converter-input.pkr-field { width: 140px; }

        #pkr-chart-embed .converter-label {
            font-size: 11px;
            font-weight: 700;
            color: #64748b;
            margin-left: 6px;
        }

        #pkr-chart-embed .equals-sign { color: #94a3b8; font-weight: 600; font-size: 16px; }

        #pkr-chart-embed .rate-badge-container {
            display: flex;
            flex-direction: column;
            align-items: flex-end;
            gap: 8px;
        }

        #pkr-chart-embed .rate-label-sub { text-align: right; }
        #pkr-chart-embed .rate-label-sub span:first-child { display: block; font-size: 9px; text-transform: uppercase; font-weight: 700; color: #64748b; }
        #pkr-chart-embed .rate-label-sub span:last-child { display: block; font-size: 12px; color: #334155; font-weight: 600; }

        #pkr-chart-embed .rate-badge {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            background: linear-gradient(135deg, #4f46e5, #3b82f6);
            color: #ffffff;
            font-weight: 700;
            font-size: 13px;
            padding: 10px 16px;
            border-radius: 12px;
            box-shadow: 0 8px 16px -3px rgba(79, 70, 229, 0.25);
        }

        #pkr-chart-embed .pulse-dot { width: 8px; height: 8px; border-radius: 50%; background-color: #ffffff; animation: pkrPulse 1.5s infinite; }

        @keyframes pkrPulse {
            0% { transform: scale(0.95); opacity: 0.6; }
            50% { transform: scale(1.15); opacity: 1; }
            100% { transform: scale(0.95); opacity: 0.6; }
        }

        #pkr-chart-embed .chart-canvas-container { position: relative; width: 100%; height: 400px; }

        @media (max-width: 768px) {
            #pkr-chart-embed .chart-canvas-container { height: 320px; }
            #pkr-chart-embed .top-row { flex-direction: column; align-items: flex-start; }
            #pkr-chart-embed .rate-badge-container { align-items: flex-start; }
            #pkr-chart-embed .rate-label-sub { text-align: left; }
        }
    &lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
    &lt;div id=&quot;pkr-chart-embed&quot;&gt;
        &lt;div class=&quot;chart-header&quot;&gt;
            &lt;h1 class=&quot;main-title&quot;&gt;
                &lt;span&gt;PKR vs USD Exchange Rate&lt;/span&gt;
                &lt;span class=&quot;currency-badge&quot;&gt;USD / PKR&lt;/span&gt;
            &lt;/h1&gt;

            &lt;div class=&quot;top-row&quot;&gt;
                &lt;div class=&quot;calculator-area&quot;&gt;
                    &lt;span class=&quot;calculator-title&quot;&gt;Calculator&lt;/span&gt;
                    &lt;div class=&quot;converter&quot;&gt;
                        &lt;div class=&quot;converter-group&quot;&gt;
                            &lt;input type=&quot;text&quot; inputmode=&quot;decimal&quot; id=&quot;usdInput&quot; class=&quot;converter-input&quot; value=&quot;1&quot;&gt;
                            &lt;span class=&quot;converter-label&quot;&gt;USD&lt;/span&gt;
                        &lt;/div&gt;
                        &lt;span class=&quot;equals-sign&quot;&gt;=&lt;/span&gt;
                        &lt;div class=&quot;converter-group&quot;&gt;
                            &lt;input type=&quot;text&quot; inputmode=&quot;decimal&quot; id=&quot;pkrInput&quot; class=&quot;converter-input pkr-field&quot; value=&quot;&quot;&gt;
                            &lt;span class=&quot;converter-label&quot;&gt;PKR&lt;/span&gt;
                        &lt;/div&gt;
                    &lt;/div&gt;
                &lt;/div&gt;

                &lt;div class=&quot;rate-badge-container&quot;&gt;
                    &lt;div class=&quot;rate-label-sub&quot;&gt;
                        &lt;span&gt;Latest Closing&lt;/span&gt;
                        &lt;span&gt;21-Aug-26&lt;/span&gt;
                    &lt;/div&gt;
                    &lt;div class=&quot;rate-badge&quot;&gt;
                        &lt;span class=&quot;pulse-dot&quot;&gt;&lt;/span&gt;
                        &lt;span id=&quot;latestBadgeRate&quot;&gt;&lt;/span&gt;
                    &lt;/div&gt;
                &lt;/div&gt;
            &lt;/div&gt;
        &lt;/div&gt;

        &lt;div class=&quot;chart-canvas-container&quot;&gt;
            &lt;canvas id=&quot;closingRatesChart&quot;&gt;&lt;/canvas&gt;
        &lt;/div&gt;
    &lt;/div&gt;

    &lt;script&gt;
        (function() {
            const rawLabels = [&quot;04-Mar-25&quot;, &quot;05-Mar-25&quot;, &quot;06-Mar-25&quot;, &quot;07-Mar-25&quot;, &quot;10-Mar-25&quot;, &quot;11-Mar-25&quot;, &quot;12-Mar-25&quot;, &quot;13-Mar-25&quot;, &quot;14-Mar-25&quot;, &quot;17-Mar-25&quot;, &quot;18-Mar-25&quot;, &quot;19-Mar-25&quot;, &quot;20-Mar-25&quot;, &quot;21-Mar-25&quot;, &quot;24-Mar-25&quot;, &quot;25-Mar-25&quot;, &quot;26-Mar-25&quot;, &quot;27-Mar-25&quot;, &quot;28-Mar-25&quot;, &quot;03-Apr-25&quot;, &quot;04-Apr-25&quot;, &quot;07-Apr-25&quot;, &quot;08-Apr-25&quot;, &quot;09-Apr-25&quot;, &quot;10-Apr-25&quot;, &quot;11-Apr-25&quot;, &quot;14-Apr-25&quot;, &quot;15-Apr-25&quot;, &quot;16-Apr-25&quot;, &quot;17-Apr-25&quot;, &quot;18-Apr-25&quot;, &quot;21-Apr-25&quot;, &quot;22-Apr-25&quot;, &quot;23-Apr-25&quot;, &quot;24-Apr-25&quot;, &quot;25-Apr-25&quot;, &quot;28-Apr-25&quot;, &quot;29-Apr-25&quot;, &quot;30-Apr-25&quot;, &quot;02-May-25&quot;, &quot;05-May-25&quot;, &quot;06-May-25&quot;, &quot;07-May-25&quot;, &quot;08-May-25&quot;, &quot;09-May-25&quot;, &quot;12-May-25&quot;, &quot;13-May-25&quot;, &quot;14-May-25&quot;, &quot;15-May-25&quot;, &quot;16-May-25&quot;, &quot;19-May-25&quot;, &quot;20-May-25&quot;, &quot;21-May-25&quot;, &quot;22-May-25&quot;, &quot;23-May-25&quot;, &quot;26-May-25&quot;, &quot;27-May-25&quot;, &quot;29-May-25&quot;, &quot;30-May-25&quot;, &quot;02-Jun-25&quot;, &quot;03-Jun-25&quot;, &quot;04-Jun-25&quot;, &quot;05-Jun-25&quot;, &quot;10-Jun-25&quot;, &quot;11-Jun-25&quot;, &quot;12-Jun-25&quot;, &quot;13-Jun-25&quot;, &quot;16-Jun-25&quot;, &quot;17-Jun-25&quot;, &quot;18-Jun-25&quot;, &quot;19-Jun-25&quot;, &quot;20-Jun-25&quot;, &quot;23-Jun-25&quot;, &quot;24-Jun-25&quot;, &quot;25-Jun-25&quot;, &quot;26-Jun-25&quot;, &quot;27-Jun-25&quot;, &quot;30-Jun-25&quot;, &quot;02-Jul-25&quot;, &quot;03-Jul-25&quot;, &quot;04-Jul-25&quot;, &quot;07-Jul-25&quot;, &quot;08-Jul-25&quot;, &quot;09-Jul-25&quot;, &quot;10-Jul-25&quot;, &quot;11-Jul-25&quot;, &quot;14-Jul-25&quot;, &quot;15-Jul-25&quot;, &quot;16-Jul-25&quot;, &quot;17-Jul-25&quot;, &quot;18-Jul-25&quot;, &quot;21-Jul-25&quot;, &quot;22-Jul-25&quot;, &quot;23-Jul-25&quot;, &quot;24-Jul-25&quot;, &quot;25-Jul-25&quot;, &quot;28-Jul-25&quot;, &quot;29-Jul-25&quot;, &quot;30-Jul-25&quot;, &quot;31-Jul-25&quot;, &quot;01-Aug-25&quot;, &quot;04-Aug-25&quot;, &quot;05-Aug-25&quot;, &quot;06-Aug-25&quot;, &quot;07-Aug-25&quot;, &quot;08-Aug-25&quot;, &quot;11-Aug-25&quot;, &quot;12-Aug-25&quot;, &quot;13-Aug-25&quot;, &quot;15-Aug-25&quot;, &quot;18-Aug-25&quot;, &quot;19-Aug-25&quot;, &quot;20-Aug-25&quot;, &quot;21-Aug-25&quot;, &quot;22-Aug-25&quot;, &quot;25-Aug-25&quot;, &quot;26-Aug-25&quot;, &quot;27-Aug-25&quot;, &quot;28-Aug-25&quot;, &quot;29-Aug-25&quot;, &quot;01-Sep-25&quot;, &quot;02-Sep-25&quot;, &quot;03-Sep-25&quot;, &quot;04-Sep-25&quot;, &quot;05-Sep-25&quot;, &quot;08-Sep-25&quot;, &quot;09-Sep-25&quot;, &quot;10-Sep-25&quot;, &quot;11-Sep-25&quot;, &quot;12-Sep-25&quot;, &quot;15-Sep-25&quot;, &quot;16-Sep-25&quot;, &quot;17-Sep-25&quot;, &quot;18-Sep-25&quot;, &quot;19-Sep-25&quot;, &quot;21-Sep-25&quot;, &quot;22-Sep-25&quot;, &quot;23-Sep-25&quot;, &quot;24-Sep-25&quot;, &quot;25-Sep-25&quot;, &quot;26-Sep-25&quot;, &quot;29-Sep-25&quot;, &quot;30-Sep-25&quot;, &quot;01-Oct-25&quot;, &quot;02-Oct-25&quot;, &quot;03-Oct-25&quot;, &quot;06-Oct-25&quot;, &quot;07-Oct-25&quot;, &quot;08-Oct-25&quot;, &quot;09-Oct-25&quot;, &quot;10-Oct-25&quot;, &quot;13-Oct-25&quot;, &quot;14-Oct-25&quot;, &quot;15-Oct-25&quot;, &quot;16-Oct-25&quot;, &quot;17-Oct-25&quot;, &quot;20-Oct-25&quot;, &quot;21-Oct-25&quot;, &quot;22-Oct-25&quot;, &quot;23-Oct-25&quot;, &quot;24-Oct-25&quot;, &quot;27-Oct-25&quot;, &quot;28-Oct-25&quot;, &quot;29-Oct-25&quot;, &quot;30-Oct-25&quot;, &quot;31-Oct-25&quot;, &quot;03-Nov-25&quot;, &quot;04-Nov-25&quot;, &quot;05-Nov-25&quot;, &quot;06-Nov-25&quot;, &quot;07-Nov-25&quot;, &quot;10-Nov-25&quot;, &quot;11-Nov-25&quot;, &quot;12-Nov-25&quot;, &quot;13-Nov-25&quot;, &quot;14-Nov-25&quot;, &quot;17-Nov-25&quot;, &quot;18-Nov-25&quot;, &quot;19-Nov-25&quot;, &quot;20-Nov-25&quot;, &quot;21-Nov-25&quot;, &quot;24-Nov-25&quot;, &quot;25-Nov-25&quot;, &quot;26-Nov-25&quot;, &quot;27-Nov-25&quot;, &quot;28-Nov-25&quot;, &quot;01-Dec-25&quot;, &quot;02-Dec-25&quot;, &quot;03-Dec-25&quot;, &quot;04-Dec-25&quot;, &quot;05-Dec-25&quot;, &quot;08-Dec-25&quot;, &quot;09-Dec-25&quot;, &quot;10-Dec-25&quot;, &quot;11-Dec-25&quot;, &quot;12-Dec-25&quot;, &quot;15-Dec-25&quot;, &quot;16-Dec-25&quot;, &quot;17-Dec-25&quot;, &quot;18-Dec-25&quot;, &quot;19-Dec-25&quot;, &quot;22-Dec-25&quot;, &quot;23-Dec-25&quot;, &quot;24-Dec-25&quot;, &quot;26-Dec-25&quot;, &quot;29-Dec-25&quot;, &quot;30-Dec-25&quot;, &quot;31-Dec-25&quot;, &quot;02-Jan-26&quot;, &quot;05-Jan-26&quot;, &quot;06-Jan-26&quot;, &quot;07-Jan-26&quot;, &quot;08-Jan-26&quot;, &quot;09-Jan-26&quot;, &quot;12-Jan-26&quot;, &quot;13-Jan-26&quot;, &quot;14-Jan-26&quot;, &quot;15-Jan-26&quot;, &quot;16-Jan-26&quot;, &quot;19-Jan-26&quot;, &quot;20-Jan-26&quot;, &quot;21-Jan-26&quot;, &quot;22-Jan-26&quot;, &quot;23-Jan-26&quot;, &quot;26-Jan-26&quot;, &quot;27-Jan-26&quot;, &quot;28-Jan-26&quot;, &quot;29-Jan-26&quot;, &quot;30-Jan-26&quot;, &quot;02-Feb-26&quot;, &quot;03-Feb-26&quot;, &quot;04-Feb-26&quot;, &quot;06-Feb-26&quot;, &quot;09-Feb-26&quot;, &quot;10-Feb-26&quot;, &quot;11-Feb-26&quot;, &quot;12-Feb-26&quot;, &quot;13-Feb-26&quot;, &quot;16-Feb-26&quot;, &quot;17-Feb-26&quot;, &quot;18-Feb-26&quot;, &quot;20-Feb-26&quot;, &quot;23-Feb-26&quot;, &quot;24-Feb-26&quot;, &quot;25-Feb-26&quot;, &quot;26-Feb-26&quot;, &quot;27-Feb-26&quot;, &quot;02-Mar-26&quot;, &quot;03-Mar-26&quot;, &quot;04-Mar-26&quot;, &quot;05-Mar-26&quot;, &quot;06-Mar-26&quot;, &quot;09-Mar-26&quot;, &quot;10-Mar-26&quot;, &quot;11-Mar-26&quot;, &quot;12-Mar-26&quot;, &quot;13-Mar-26&quot;, &quot;16-Mar-26&quot;, &quot;17-Mar-26&quot;, &quot;18-Mar-26&quot;, &quot;19-Mar-26&quot;, &quot;24-Mar-26&quot;, &quot;25-Mar-26&quot;, &quot;26-Mar-26&quot;, &quot;27-Mar-26&quot;, &quot;30-Mar-26&quot;, &quot;31-Mar-26&quot;, &quot;01-Apr-26&quot;, &quot;02-Apr-26&quot;, &quot;03-Apr-26&quot;, &quot;04-Apr-26&quot;, &quot;06-Apr-26&quot;, &quot;07-Apr-26&quot;, &quot;08-Apr-26&quot;, &quot;09-Apr-26&quot;, &quot;10-Apr-26&quot;, &quot;13-Apr-26&quot;, &quot;14-Apr-26&quot;, &quot;14-Apr-26&quot;, &quot;15-Apr-26&quot;, &quot;16-Apr-26&quot;, &quot;17-Apr-26&quot;, &quot;20-Apr-26&quot;, &quot;21-Apr-26&quot;, &quot;22-Apr-26&quot;, &quot;23-Apr-26&quot;, &quot;24-Apr-26&quot;, &quot;27-Apr-26&quot;, &quot;28-Apr-26&quot;, &quot;29-Apr-26&quot;, &quot;30-Apr-26&quot;, &quot;04-May-26&quot;, &quot;05-May-26&quot;, &quot;06-May-26&quot;, &quot;07-May-26&quot;, &quot;08-May-26&quot;, &quot;11-May-26&quot;, &quot;12-May-26&quot;, &quot;13-May-26&quot;, &quot;14-May-26&quot;, &quot;15-May-26&quot;, &quot;18-May-26&quot;, &quot;19-May-26&quot;, &quot;20-May-26&quot;, &quot;21-May-26&quot;, &quot;22-May-26&quot;, &quot;25-May-26&quot;, &quot;29-May-26&quot;, &quot;01-Jun-26&quot;, &quot;02-Jun-26&quot;, &quot;03-Jun-26&quot;, &quot;04-Jun-26&quot;, &quot;05-Jun-26&quot;, &quot;08-Jun-26&quot;, &quot;09-Jun-26&quot;, &quot;10-Jun-26&quot;, &quot;11-Jun-26&quot;, &quot;12-Jun-26&quot;, &quot;15-Jun-26&quot;, &quot;16-Jun-26&quot;, &quot;17-Jun-26&quot;, &quot;18-Jun-26&quot;, &quot;19-Jun-26&quot;, &quot;22-Jun-26&quot;, &quot;23-Jun-26&quot;, &quot;24-Jun-26&quot;, &quot;29-Jun-26&quot;, &quot;30-Jun-26&quot;, &quot;02-Jul-26&quot;, &quot;03-Jul-26&quot;, &quot;06-Jul-26&quot;, &quot;07-Jul-26&quot;, &quot;08-Jul-26&quot;, &quot;09-Jul-26&quot;, &quot;10-Jul-26&quot;, &quot;13-Jul-26&quot;, &quot;14-Jul-26&quot;, &quot;15-Jul-26&quot;, &quot;16-Jul-26&quot;, &quot;17-Jul-26&quot;, &quot;20-Jul-26&quot;, &quot;21-Jul-26&quot;, &quot;22-Jul-26&quot;, &quot;23-Jul-26&quot;, &quot;24-Jul-26&quot;, &quot;27-Jul-26&quot;, &quot;28-Jul-26&quot;, &quot;29-Jul-26&quot;, &quot;30-Jul-26&quot;, &quot;03-Aug-26&quot;, &quot;04-Aug-26&quot;, &quot;05-Aug-26&quot;, &quot;06-Aug-26&quot;, &quot;07-Aug-26&quot;, &quot;10-Aug-26&quot;, &quot;11-Aug-26&quot;, &quot;12-Aug-26&quot;, &quot;13-Aug-26&quot;, &quot;17-Aug-26&quot;, &quot;18-Aug-26&quot;, &quot;20-Aug-26&quot;, &quot;21-Aug-26&quot;];
            
            const rawData = [279.77, 279.87, 279.82, 279.97, 280.07, 279.95, 279.97, 280.05, 280.21, 280.17, 280.27, 280.21, 280.22, 280.26, 280.37, 280.42, 280.26, 280.22, 280.16, 280.56, 280.47, 280.57, 280.73, 280.78, 280.56, 280.47, 280.60, 280.57, 280.46, 280.62, 280.72, 280.87, 280.77, 280.97, 281.07, 280.97, 281.07, 281.02, 280.97, 281.06, 281.22, 281.37, 281.47, 281.52, 281.71, 281.57, 281.67, 281.72, 281.61, 281.66, 281.77, 281.92, 281.97, 282.06, 281.97, 282.06, 282.17, 282.07, 282.02, 281.97, 282.12, 282.22, 282.17, 282.21, 282.47, 282.67, 282.96, 283.17, 283.41, 283.55, 283.64, 283.70, 283.87, 283.77, 283.72, 283.67, 283.72, 283.76, 283.95, 283.86, 283.97, 284.22, 284.36, 284.47, 284.56, 284.46, 284.72, 284.67, 284.96, 284.97, 284.87, 284.95, 284.97, 284.76, 284.22, 283.45, 283.21, 283.05, 282.95, 282.87, 282.72, 282.66, 282.57, 282.67, 282.56, 282.47, 282.45, 282.42, 282.22, 282.06, 282.01, 281.96, 281.95, 281.92, 281.90, 281.87, 281.86, 281.83, 281.8, 281.77, 281.75, 281.72, 281.71, 281.67, 281.65, 281.62, 281.61, 281.60, 281.56, 281.55, 281.52, 281.51, 281.50, 281.47, 281.46, 281.45, 281.46, 281.42, 281.43, 281.41, 281.37, 281.35, 281.32, 281.31, 281.27, 281.26, 281.25, 281.22, 281.21, 281.20, 281.17, 281.16, 281.15, 281.12, 281.11, 281.10, 281.07, 281.06, 281.05, 281.03, 281.02, 281.01, 280.97, 280.96, 280.92, 280.91, 280.90, 280.87, 280.86, 280.85, 280.82, 280.81, 280.78, 280.77, 280.76, 280.72, 280.71, 280.67, 280.66, 280.66, 280.65, 280.62, 280.61, 280.57, 280.56, 280.55, 280.52, 280.51, 280.47, 280.46, 280.45, 280.42, 280.41, 280.40, 280.37, 280.36, 280.32, 280.31, 280.30, 280.27, 280.26, 280.25, 280.22, 280.21, 280.20, 280.17, 280.16, 280.15, 280.12, 280.11, 280.10, 280.07, 280.06, 280.05, 280.02, 280.01, 280.0, 279.97, 279.96, 279.95, 279.92, 279.91, 279.90, 279.87, 279.86, 279.85, 279.82, 279.81, 279.80, 279.77, 279.76, 279.75, 279.72, 279.71, 279.70, 279.67, 279.66, 279.65, 279.62, 279.61, 279.60, 279.57, 279.56, 279.55, 279.52, 279.51, 279.50, 279.47, 279.46, 279.45, 279.42, 279.41, 279.40, 279.37, 279.36, 279.35, 279.32, 279.31, 279.30, 279.27, 279.26, 279.25, 279.22, 279.21, 279.20, 279.17, 279.16, 279.15, 279.12, 279.11, 279.10, 279.07, 279.06, 279.05, 279.02, 279.01, 279.00, 278.97, 278.96, 278.95, 278.92, 278.91, 278.90, 278.87, 278.86, 278.85, 278.82, 278.81, 278.80, 278.77, 278.76, 278.75, 278.72, 278.71, 278.70, 278.67, 278.66, 278.65, 278.62, 278.61, 278.60, 278.57, 278.56, 278.55, 278.52, 278.51, 278.50, 278.47, 278.46, 278.45, 278.42, 278.41, 278.40, 278.37, 278.36, 278.35, 278.32, 278.31, 278.30, 278.27, 278.26, 278.25, 278.22, 278.21, 278.20, 278.17, 278.16, 278.15, 278.12, 278.11, 278.10, 278.07, 278.06, 278.05, 278.02, 278.01, 278.00, 277.95, 277.95, 277.92, 277.91, 277.90, 277.87, 277.86, 277.85, 277.82, 277.81, 277.80, 277.77, 277.76, 277.75, 277.72, 277.71, 277.70, 277.67, 277.66, 277.65, 277.62, 277.61, 277.57, 277.56];
            
            const currentExchangeRate = rawData[rawData.length - 1];

            const usdInput = document.getElementById(&#039;usdInput&#039;);
            const pkrInput = document.getElementById(&#039;pkrInput&#039;);
            const badgeEl = document.getElementById(&#039;latestBadgeRate&#039;);

            const formatCurrency = (val, maxDecimals = 2, minDecimals = 2) =&gt; {
                return val.toLocaleString(&#039;en-US&#039;, {
                    minimumFractionDigits: minDecimals,
                    maximumFractionDigits: maxDecimals
                });
            };

            const parseCurrency = (valStr) =&gt; {
                return parseFloat(valStr.replace(/,/g, &#039;&#039;));
            };

            // Set Initial Values
            badgeEl.textContent = formatCurrency(currentExchangeRate) + &#039; PKR&#039;;
            pkrInput.value = formatCurrency(currentExchangeRate);

            usdInput.addEventListener(&#039;input&#039;, (e) =&gt; {
                const val = parseCurrency(e.target.value);
                if (isNaN(val)) {
                    pkrInput.value = &#039;&#039;;
                } else {
                    pkrInput.value = formatCurrency(val * currentExchangeRate);
                }
            });

            pkrInput.addEventListener(&#039;input&#039;, (e) =&gt; {
                const val = parseCurrency(e.target.value);
                if (isNaN(val)) {
                    usdInput.value = &#039;&#039;;
                } else {
                    usdInput.value = formatCurrency(val / currentExchangeRate);
                }
            });

            usdInput.addEventListener(&#039;blur&#039;, (e) =&gt; {
                const val = parseCurrency(e.target.value);
                if (!isNaN(val)) {
                    e.target.value = formatCurrency(val, 2, 0);
                }
            });

            pkrInput.addEventListener(&#039;blur&#039;, (e) =&gt; {
                const val = parseCurrency(e.target.value);
                if (!isNaN(val)) {
                    e.target.value = formatCurrency(val);
                }
            });

            const ctx = document.getElementById(&#039;closingRatesChart&#039;).getContext(&#039;2d&#039;);
            new Chart(ctx, {
                type: &#039;line&#039;,
                data: {
                    labels: rawLabels,
                    datasets: [{
                        data: rawData,
                        borderColor: &#039;#4f46e5&#039;,
                        backgroundColor: &#039;rgba(79, 70, 229, 0.1)&#039;,
                        fill: true,
                        tension: 0.1
                    }]
                },
                options: {
                    responsive: true,
                    maintainAspectRatio: false,
                    plugins: {
                        legend: { display: false },
                        tooltip: {
                            callbacks: {
                                label: function(context) {
                                    return formatCurrency(context.parsed.y) + &#039; PKR&#039;;
                                }
                            }
                        }
                    },
                    scales: {
                        y: {
                            ticks: {
                                callback: function(value) {
                                    return formatCurrency(value, 2, 0);
                                }
                            }
                        }
                    }
                }
            });
        })();
    &lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;
    &lt;script&gt;
        function reportHeight() {
            var h = document.documentElement.scrollHeight;
            window.parent.postMessage({ type: &#039;raw-html-resize&#039;, id: &#039;raw-html-6a886cede0f78&#039;, height: h }, &#039;*&#039;);
        }
        window.addEventListener(&#039;load&#039;, reportHeight);
        if (window.ResizeObserver) {
            new ResizeObserver(reportHeight).observe(document.body);
        }
    &lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;"></iframe>
<script>
if (!window._rawHtmlListenerAttached) {
    window._rawHtmlListenerAttached = true;
    window.addEventListener('message', function(event) {
        if (event.data && event.data.type === 'raw-html-resize' && event.data.id) {
            var iframe = document.getElementById(event.data.id);
            if (iframe) {
                var height = Math.min(Math.max(event.data.height, 50), 9200);
                iframe.style.height = height + 'px';
            }
        }
    });
}
</script>
<p><strong>The Pakistani rupee extended its marginal gains against the US dollar on Friday.</strong></p>
<p>The local unit closed the day at 277.56, a gain of Re0.01 against the greenback.</p>
    <figure class='media  w-full sm:w-full  media--center  media--embed  media--uneven media--tweet' data-original-src='https://x.com/StateBank_Pak/status/2090767568747557259'>
        <div class='media__item  media__item--twitter  '><span>
    <blockquote class="twitter-tweet" lang="en">
        <a href="https://twitter.com/StateBank_Pak/status/2090767568747557259"></a>
    </blockquote>
</span></div>
        
    </figure>
<p><a href="https://www.brecorder.com/news/40435760"><u>On Thursday</u></a><u>, </u>the Pakistani rupee settled at 277.57 against the dollar.</p>
<p>The dollar was on shaky ground and set for a weekly loss on ​Friday, as investors viewed the US Treasury’s bond buyback gambit as merely a temporary fix, while raising fresh concerns about ‌officials’ increasingly interventionist approach.</p>
<p><a href="https://www.brecorder.com/news/40435909/dollar-wobbles-as-investors-balk-at-us-treasurys-rescue-efforts">Against a weaker dollar</a>, the euro was perched near a three-month high, and last bought $1.1685, ​on track for a weekly rise of 1%.</p>
<p>Sterling flirted with a six-month peak and edged 0.08% higher to $1.3643, taking its gains for the week ​thus far to 0.8%.</p>
<p>The greenback was meanwhile on track for a weekly fall of more than 0.8% and was last at 98.82, languishing near a three-month low against a basket of six other currencies.</p>
<p>Furthermore, <a href="https://www.brecorder.com/news/40435907/oil-set-for-second-weekly-gain-as-us-ramps-up-pressure-on-iran">oil prices were steady on Friday</a> and were on track for a ‌second straight weekly gain after the United States threatened to impose the toughest sanctions in history with no end in sight for disruptions to Middle East oil flows.</p>
<p>Brent crude futures rose 20 cents, or 0.21%, to $93.98 a barrel by 1307 GMT. US West Texas ​Intermediate crude was up 7 cents, or 0.08%, at $86.90.</p>
<p><strong>Inter-bank market rates for dollar on Friday</strong></p>
<p>BID Rs 277.56</p>
<p>OFFER Rs 277.76</p>
<p><strong>Open-market movement</strong></p>
<p>In the open market, the PKR remained unchanged for both buying and selling against USD, closing at 278.26 and 279.28, respectively.</p>
<p>Against Euro, the PKR lost 30 paise for buying and 25 paise for selling, closing at 323.61 and 326.72, respectively.</p>
<p>Against UAE Dirham, the PKR lost 1 paisa for buying and remained unchanged for selling, closing at 75.57 and 76.28, respectively.</p>
<p>Against Saudi Riyal, the PKR lost 3 paise for buying and remained unchanged for selling, closing at 73.83 and 74.47, respectively.</p>
<p><strong>Open-market rates for dollar on Friday</strong></p>
<p>BID Rs 278.26</p>
<p>OFFER Rs 279.28</p>
]]></content:encoded>
      <category>Markets</category>
      <guid>https://www.brecorder.com/news/40435948</guid>
      <pubDate>Fri, 21 Aug 2026 20:21:18 +0500</pubDate>
      <author>none@none.com (Recorder Report)</author>
      <media:content url="https://i.brecorder.com/large/2026/08/21155421e160211.webp" type="image/webp" medium="image" height="768" width="1024">
        <media:thumbnail url="https://i.brecorder.com/thumbnail/2026/08/21155421e160211.webp"/>
        <media:title/>
      </media:content>
    </item>
    <item xmlns:default="http://purl.org/rss/1.0/modules/content/">
      <title>Pakistan rupee records gain against US dollar</title>
      <link>https://www.brecorder.com/news/40435760/intra-day-update-rupee-records-gain-against-us-dollar</link>
      <description>&lt;iframe id="raw-html-6a871c4484e84" class="raw-html-embed" style="width: 100%; min-height: 50px; max-height: 9200px; border: none; overflow: hidden;" scrolling="no" srcdoc="&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html&amp;gt;
&amp;lt;head&amp;gt;
    &amp;lt;style&amp;gt;
        body { margin: 0; padding: 0; font-family: system-ui, -apple-system, sans-serif; overflow-wrap: anywhere; }
    &amp;lt;/style&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
    
&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html lang=&amp;quot;en&amp;quot;&amp;gt;
&amp;lt;head&amp;gt;
    &amp;lt;meta charset=&amp;quot;UTF-8&amp;quot;&amp;gt;
    &amp;lt;meta name=&amp;quot;viewport&amp;quot; content=&amp;quot;width=device-width, initial-scale=1.0&amp;quot;&amp;gt;
    &amp;lt;title&amp;gt;PKR vs USD Exchange Rate Chart&amp;lt;/title&amp;gt;
    &amp;lt;!-- Chart.js for high-performance rendering --&amp;gt;
    &amp;lt;script src=&amp;quot;https://cdn.jsdelivr.net/npm/chart.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;
    
    &amp;lt;style&amp;gt;
        @import url(&amp;#039;https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght=400;500;600;700&amp;amp;display=swap&amp;#039;);

        #pkr-chart-embed {
            font-family: &amp;#039;Plus Jakarta Sans&amp;#039;, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, sans-serif;
            max-width: 1000px;
            width: 100%;
            margin: 24px auto;
            background-color: #ffffff;
            border: 1px solid #e2e8f0;
            border-radius: 20px;
            padding: 24px;
            box-shadow: 0 10px 25px -5px rgba(15, 23, 42, 0.05), 0 8px 10px -6px rgba(15, 23, 42, 0.05);
            color: #0f172a;
            box-sizing: border-box;
        }

        #pkr-chart-embed * { box-sizing: border-box; margin: 0; padding: 0; }

        #pkr-chart-embed .chart-header {
            display: flex;
            flex-direction: column;
            gap: 20px;
            margin-bottom: 24px;
            width: 100%;
        }

        #pkr-chart-embed .top-row {
            display: flex;
            flex-direction: row;
            justify-content: space-between;
            align-items: flex-start;
            gap: 20px;
        }

        #pkr-chart-embed .calculator-area {
            display: flex;
            flex-direction: column;
            gap: 8px;
            align-items: flex-start;
        }

        #pkr-chart-embed .main-title {
            font-size: 20px;
            font-weight: 700;
            color: #0f172a;
            letter-spacing: -0.025em;
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            gap: 8px;
        }

        #pkr-chart-embed .currency-badge {
            font-size: 11px;
            font-weight: 600;
            color: #4f46e5;
            background-color: rgba(79, 70, 229, 0.08);
            padding: 2px 8px;
            border-radius: 9999px;
            border: 1px solid rgba(79, 70, 229, 0.15);
            text-transform: uppercase;
        }

        #pkr-chart-embed .calculator-title {
            font-size: 10px;
            font-weight: 700;
            color: #64748b;
            text-transform: uppercase;
            letter-spacing: 0.05em;
        }

        #pkr-chart-embed .converter {
            display: flex;
            align-items: center;
            background: #f8fafc;
            border: 1px solid #e2e8f0;
            border-radius: 12px;
            padding: 4px;
            gap: 6px;
        }

        #pkr-chart-embed .converter-group {
            display: flex;
            align-items: center;
            background: #ffffff;
            border-radius: 8px;
            padding: 6px 10px;
            box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
            border: 1px solid transparent;
        }

        #pkr-chart-embed .converter-input {
            border: none;
            outline: none;
            width: 100px;
            font-family: inherit;
            font-weight: 700;
            color: #0f172a;
            font-size: 14px;
            text-align: right;
            background: transparent;
        }

        #pkr-chart-embed .converter-input.pkr-field { width: 140px; }

        #pkr-chart-embed .converter-label {
            font-size: 11px;
            font-weight: 700;
            color: #64748b;
            margin-left: 6px;
        }

        #pkr-chart-embed .equals-sign { color: #94a3b8; font-weight: 600; font-size: 16px; }

        #pkr-chart-embed .rate-badge-container {
            display: flex;
            flex-direction: column;
            align-items: flex-end;
            gap: 8px;
        }

        #pkr-chart-embed .rate-label-sub { text-align: right; }
        #pkr-chart-embed .rate-label-sub span:first-child { display: block; font-size: 9px; text-transform: uppercase; font-weight: 700; color: #64748b; }
        #pkr-chart-embed .rate-label-sub span:last-child { display: block; font-size: 12px; color: #334155; font-weight: 600; }

        #pkr-chart-embed .rate-badge {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            background: linear-gradient(135deg, #4f46e5, #3b82f6);
            color: #ffffff;
            font-weight: 700;
            font-size: 13px;
            padding: 10px 16px;
            border-radius: 12px;
            box-shadow: 0 8px 16px -3px rgba(79, 70, 229, 0.25);
        }

        #pkr-chart-embed .pulse-dot { width: 8px; height: 8px; border-radius: 50%; background-color: #ffffff; animation: pkrPulse 1.5s infinite; }

        @keyframes pkrPulse {
            0% { transform: scale(0.95); opacity: 0.6; }
            50% { transform: scale(1.15); opacity: 1; }
            100% { transform: scale(0.95); opacity: 0.6; }
        }

        #pkr-chart-embed .chart-canvas-container { position: relative; width: 100%; height: 400px; }

        @media (max-width: 768px) {
            #pkr-chart-embed .chart-canvas-container { height: 320px; }
            #pkr-chart-embed .top-row { flex-direction: column; align-items: flex-start; }
            #pkr-chart-embed .rate-badge-container { align-items: flex-start; }
            #pkr-chart-embed .rate-label-sub { text-align: left; }
        }
    &amp;lt;/style&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
    &amp;lt;div id=&amp;quot;pkr-chart-embed&amp;quot;&amp;gt;
        &amp;lt;div class=&amp;quot;chart-header&amp;quot;&amp;gt;
            &amp;lt;h1 class=&amp;quot;main-title&amp;quot;&amp;gt;
                &amp;lt;span&amp;gt;PKR vs USD Exchange Rate&amp;lt;/span&amp;gt;
                &amp;lt;span class=&amp;quot;currency-badge&amp;quot;&amp;gt;USD / PKR&amp;lt;/span&amp;gt;
            &amp;lt;/h1&amp;gt;

            &amp;lt;div class=&amp;quot;top-row&amp;quot;&amp;gt;
                &amp;lt;div class=&amp;quot;calculator-area&amp;quot;&amp;gt;
                    &amp;lt;span class=&amp;quot;calculator-title&amp;quot;&amp;gt;Calculator&amp;lt;/span&amp;gt;
                    &amp;lt;div class=&amp;quot;converter&amp;quot;&amp;gt;
                        &amp;lt;div class=&amp;quot;converter-group&amp;quot;&amp;gt;
                            &amp;lt;input type=&amp;quot;text&amp;quot; inputmode=&amp;quot;decimal&amp;quot; id=&amp;quot;usdInput&amp;quot; class=&amp;quot;converter-input&amp;quot; value=&amp;quot;1&amp;quot;&amp;gt;
                            &amp;lt;span class=&amp;quot;converter-label&amp;quot;&amp;gt;USD&amp;lt;/span&amp;gt;
                        &amp;lt;/div&amp;gt;
                        &amp;lt;span class=&amp;quot;equals-sign&amp;quot;&amp;gt;=&amp;lt;/span&amp;gt;
                        &amp;lt;div class=&amp;quot;converter-group&amp;quot;&amp;gt;
                            &amp;lt;input type=&amp;quot;text&amp;quot; inputmode=&amp;quot;decimal&amp;quot; id=&amp;quot;pkrInput&amp;quot; class=&amp;quot;converter-input pkr-field&amp;quot; value=&amp;quot;&amp;quot;&amp;gt;
                            &amp;lt;span class=&amp;quot;converter-label&amp;quot;&amp;gt;PKR&amp;lt;/span&amp;gt;
                        &amp;lt;/div&amp;gt;
                    &amp;lt;/div&amp;gt;
                &amp;lt;/div&amp;gt;

                &amp;lt;div class=&amp;quot;rate-badge-container&amp;quot;&amp;gt;
                    &amp;lt;div class=&amp;quot;rate-label-sub&amp;quot;&amp;gt;
                        &amp;lt;span&amp;gt;Latest Closing&amp;lt;/span&amp;gt;
                        &amp;lt;span&amp;gt;20-Aug-26&amp;lt;/span&amp;gt;
                    &amp;lt;/div&amp;gt;
                    &amp;lt;div class=&amp;quot;rate-badge&amp;quot;&amp;gt;
                        &amp;lt;span class=&amp;quot;pulse-dot&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;
                        &amp;lt;span id=&amp;quot;latestBadgeRate&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;
                    &amp;lt;/div&amp;gt;
                &amp;lt;/div&amp;gt;
            &amp;lt;/div&amp;gt;
        &amp;lt;/div&amp;gt;

        &amp;lt;div class=&amp;quot;chart-canvas-container&amp;quot;&amp;gt;
            &amp;lt;canvas id=&amp;quot;closingRatesChart&amp;quot;&amp;gt;&amp;lt;/canvas&amp;gt;
        &amp;lt;/div&amp;gt;
    &amp;lt;/div&amp;gt;

    &amp;lt;script&amp;gt;
        (function() {
            const rawLabels = [&amp;quot;04-Mar-25&amp;quot;, &amp;quot;05-Mar-25&amp;quot;, &amp;quot;06-Mar-25&amp;quot;, &amp;quot;07-Mar-25&amp;quot;, &amp;quot;10-Mar-25&amp;quot;, &amp;quot;11-Mar-25&amp;quot;, &amp;quot;12-Mar-25&amp;quot;, &amp;quot;13-Mar-25&amp;quot;, &amp;quot;14-Mar-25&amp;quot;, &amp;quot;17-Mar-25&amp;quot;, &amp;quot;18-Mar-25&amp;quot;, &amp;quot;19-Mar-25&amp;quot;, &amp;quot;20-Mar-25&amp;quot;, &amp;quot;21-Mar-25&amp;quot;, &amp;quot;24-Mar-25&amp;quot;, &amp;quot;25-Mar-25&amp;quot;, &amp;quot;26-Mar-25&amp;quot;, &amp;quot;27-Mar-25&amp;quot;, &amp;quot;28-Mar-25&amp;quot;, &amp;quot;03-Apr-25&amp;quot;, &amp;quot;04-Apr-25&amp;quot;, &amp;quot;07-Apr-25&amp;quot;, &amp;quot;08-Apr-25&amp;quot;, &amp;quot;09-Apr-25&amp;quot;, &amp;quot;10-Apr-25&amp;quot;, &amp;quot;11-Apr-25&amp;quot;, &amp;quot;14-Apr-25&amp;quot;, &amp;quot;15-Apr-25&amp;quot;, &amp;quot;16-Apr-25&amp;quot;, &amp;quot;17-Apr-25&amp;quot;, &amp;quot;18-Apr-25&amp;quot;, &amp;quot;21-Apr-25&amp;quot;, &amp;quot;22-Apr-25&amp;quot;, &amp;quot;23-Apr-25&amp;quot;, &amp;quot;24-Apr-25&amp;quot;, &amp;quot;25-Apr-25&amp;quot;, &amp;quot;28-Apr-25&amp;quot;, &amp;quot;29-Apr-25&amp;quot;, &amp;quot;30-Apr-25&amp;quot;, &amp;quot;02-May-25&amp;quot;, &amp;quot;05-May-25&amp;quot;, &amp;quot;06-May-25&amp;quot;, &amp;quot;07-May-25&amp;quot;, &amp;quot;08-May-25&amp;quot;, &amp;quot;09-May-25&amp;quot;, &amp;quot;12-May-25&amp;quot;, &amp;quot;13-May-25&amp;quot;, &amp;quot;14-May-25&amp;quot;, &amp;quot;15-May-25&amp;quot;, &amp;quot;16-May-25&amp;quot;, &amp;quot;19-May-25&amp;quot;, &amp;quot;20-May-25&amp;quot;, &amp;quot;21-May-25&amp;quot;, &amp;quot;22-May-25&amp;quot;, &amp;quot;23-May-25&amp;quot;, &amp;quot;26-May-25&amp;quot;, &amp;quot;27-May-25&amp;quot;, &amp;quot;29-May-25&amp;quot;, &amp;quot;30-May-25&amp;quot;, &amp;quot;02-Jun-25&amp;quot;, &amp;quot;03-Jun-25&amp;quot;, &amp;quot;04-Jun-25&amp;quot;, &amp;quot;05-Jun-25&amp;quot;, &amp;quot;10-Jun-25&amp;quot;, &amp;quot;11-Jun-25&amp;quot;, &amp;quot;12-Jun-25&amp;quot;, &amp;quot;13-Jun-25&amp;quot;, &amp;quot;16-Jun-25&amp;quot;, &amp;quot;17-Jun-25&amp;quot;, &amp;quot;18-Jun-25&amp;quot;, &amp;quot;19-Jun-25&amp;quot;, &amp;quot;20-Jun-25&amp;quot;, &amp;quot;23-Jun-25&amp;quot;, &amp;quot;24-Jun-25&amp;quot;, &amp;quot;25-Jun-25&amp;quot;, &amp;quot;26-Jun-25&amp;quot;, &amp;quot;27-Jun-25&amp;quot;, &amp;quot;30-Jun-25&amp;quot;, &amp;quot;02-Jul-25&amp;quot;, &amp;quot;03-Jul-25&amp;quot;, &amp;quot;04-Jul-25&amp;quot;, &amp;quot;07-Jul-25&amp;quot;, &amp;quot;08-Jul-25&amp;quot;, &amp;quot;09-Jul-25&amp;quot;, &amp;quot;10-Jul-25&amp;quot;, &amp;quot;11-Jul-25&amp;quot;, &amp;quot;14-Jul-25&amp;quot;, &amp;quot;15-Jul-25&amp;quot;, &amp;quot;16-Jul-25&amp;quot;, &amp;quot;17-Jul-25&amp;quot;, &amp;quot;18-Jul-25&amp;quot;, &amp;quot;21-Jul-25&amp;quot;, &amp;quot;22-Jul-25&amp;quot;, &amp;quot;23-Jul-25&amp;quot;, &amp;quot;24-Jul-25&amp;quot;, &amp;quot;25-Jul-25&amp;quot;, &amp;quot;28-Jul-25&amp;quot;, &amp;quot;29-Jul-25&amp;quot;, &amp;quot;30-Jul-25&amp;quot;, &amp;quot;31-Jul-25&amp;quot;, &amp;quot;01-Aug-25&amp;quot;, &amp;quot;04-Aug-25&amp;quot;, &amp;quot;05-Aug-25&amp;quot;, &amp;quot;06-Aug-25&amp;quot;, &amp;quot;07-Aug-25&amp;quot;, &amp;quot;08-Aug-25&amp;quot;, &amp;quot;11-Aug-25&amp;quot;, &amp;quot;12-Aug-25&amp;quot;, &amp;quot;13-Aug-25&amp;quot;, &amp;quot;15-Aug-25&amp;quot;, &amp;quot;18-Aug-25&amp;quot;, &amp;quot;19-Aug-25&amp;quot;, &amp;quot;20-Aug-25&amp;quot;, &amp;quot;21-Aug-25&amp;quot;, &amp;quot;22-Aug-25&amp;quot;, &amp;quot;25-Aug-25&amp;quot;, &amp;quot;26-Aug-25&amp;quot;, &amp;quot;27-Aug-25&amp;quot;, &amp;quot;28-Aug-25&amp;quot;, &amp;quot;29-Aug-25&amp;quot;, &amp;quot;01-Sep-25&amp;quot;, &amp;quot;02-Sep-25&amp;quot;, &amp;quot;03-Sep-25&amp;quot;, &amp;quot;04-Sep-25&amp;quot;, &amp;quot;05-Sep-25&amp;quot;, &amp;quot;08-Sep-25&amp;quot;, &amp;quot;09-Sep-25&amp;quot;, &amp;quot;10-Sep-25&amp;quot;, &amp;quot;11-Sep-25&amp;quot;, &amp;quot;12-Sep-25&amp;quot;, &amp;quot;15-Sep-25&amp;quot;, &amp;quot;16-Sep-25&amp;quot;, &amp;quot;17-Sep-25&amp;quot;, &amp;quot;18-Sep-25&amp;quot;, &amp;quot;19-Sep-25&amp;quot;, &amp;quot;21-Sep-25&amp;quot;, &amp;quot;22-Sep-25&amp;quot;, &amp;quot;23-Sep-25&amp;quot;, &amp;quot;24-Sep-25&amp;quot;, &amp;quot;25-Sep-25&amp;quot;, &amp;quot;26-Sep-25&amp;quot;, &amp;quot;29-Sep-25&amp;quot;, &amp;quot;30-Sep-25&amp;quot;, &amp;quot;01-Oct-25&amp;quot;, &amp;quot;02-Oct-25&amp;quot;, &amp;quot;03-Oct-25&amp;quot;, &amp;quot;06-Oct-25&amp;quot;, &amp;quot;07-Oct-25&amp;quot;, &amp;quot;08-Oct-25&amp;quot;, &amp;quot;09-Oct-25&amp;quot;, &amp;quot;10-Oct-25&amp;quot;, &amp;quot;13-Oct-25&amp;quot;, &amp;quot;14-Oct-25&amp;quot;, &amp;quot;15-Oct-25&amp;quot;, &amp;quot;16-Oct-25&amp;quot;, &amp;quot;17-Oct-25&amp;quot;, &amp;quot;20-Oct-25&amp;quot;, &amp;quot;21-Oct-25&amp;quot;, &amp;quot;22-Oct-25&amp;quot;, &amp;quot;23-Oct-25&amp;quot;, &amp;quot;24-Oct-25&amp;quot;, &amp;quot;27-Oct-25&amp;quot;, &amp;quot;28-Oct-25&amp;quot;, &amp;quot;29-Oct-25&amp;quot;, &amp;quot;30-Oct-25&amp;quot;, &amp;quot;31-Oct-25&amp;quot;, &amp;quot;03-Nov-25&amp;quot;, &amp;quot;04-Nov-25&amp;quot;, &amp;quot;05-Nov-25&amp;quot;, &amp;quot;06-Nov-25&amp;quot;, &amp;quot;07-Nov-25&amp;quot;, &amp;quot;10-Nov-25&amp;quot;, &amp;quot;11-Nov-25&amp;quot;, &amp;quot;12-Nov-25&amp;quot;, &amp;quot;13-Nov-25&amp;quot;, &amp;quot;14-Nov-25&amp;quot;, &amp;quot;17-Nov-25&amp;quot;, &amp;quot;18-Nov-25&amp;quot;, &amp;quot;19-Nov-25&amp;quot;, &amp;quot;20-Nov-25&amp;quot;, &amp;quot;21-Nov-25&amp;quot;, &amp;quot;24-Nov-25&amp;quot;, &amp;quot;25-Nov-25&amp;quot;, &amp;quot;26-Nov-25&amp;quot;, &amp;quot;27-Nov-25&amp;quot;, &amp;quot;28-Nov-25&amp;quot;, &amp;quot;01-Dec-25&amp;quot;, &amp;quot;02-Dec-25&amp;quot;, &amp;quot;03-Dec-25&amp;quot;, &amp;quot;04-Dec-25&amp;quot;, &amp;quot;05-Dec-25&amp;quot;, &amp;quot;08-Dec-25&amp;quot;, &amp;quot;09-Dec-25&amp;quot;, &amp;quot;10-Dec-25&amp;quot;, &amp;quot;11-Dec-25&amp;quot;, &amp;quot;12-Dec-25&amp;quot;, &amp;quot;15-Dec-25&amp;quot;, &amp;quot;16-Dec-25&amp;quot;, &amp;quot;17-Dec-25&amp;quot;, &amp;quot;18-Dec-25&amp;quot;, &amp;quot;19-Dec-25&amp;quot;, &amp;quot;22-Dec-25&amp;quot;, &amp;quot;23-Dec-25&amp;quot;, &amp;quot;24-Dec-25&amp;quot;, &amp;quot;26-Dec-25&amp;quot;, &amp;quot;29-Dec-25&amp;quot;, &amp;quot;30-Dec-25&amp;quot;, &amp;quot;31-Dec-25&amp;quot;, &amp;quot;02-Jan-26&amp;quot;, &amp;quot;05-Jan-26&amp;quot;, &amp;quot;06-Jan-26&amp;quot;, &amp;quot;07-Jan-26&amp;quot;, &amp;quot;08-Jan-26&amp;quot;, &amp;quot;09-Jan-26&amp;quot;, &amp;quot;12-Jan-26&amp;quot;, &amp;quot;13-Jan-26&amp;quot;, &amp;quot;14-Jan-26&amp;quot;, &amp;quot;15-Jan-26&amp;quot;, &amp;quot;16-Jan-26&amp;quot;, &amp;quot;19-Jan-26&amp;quot;, &amp;quot;20-Jan-26&amp;quot;, &amp;quot;21-Jan-26&amp;quot;, &amp;quot;22-Jan-26&amp;quot;, &amp;quot;23-Jan-26&amp;quot;, &amp;quot;26-Jan-26&amp;quot;, &amp;quot;27-Jan-26&amp;quot;, &amp;quot;28-Jan-26&amp;quot;, &amp;quot;29-Jan-26&amp;quot;, &amp;quot;30-Jan-26&amp;quot;, &amp;quot;02-Feb-26&amp;quot;, &amp;quot;03-Feb-26&amp;quot;, &amp;quot;04-Feb-26&amp;quot;, &amp;quot;06-Feb-26&amp;quot;, &amp;quot;09-Feb-26&amp;quot;, &amp;quot;10-Feb-26&amp;quot;, &amp;quot;11-Feb-26&amp;quot;, &amp;quot;12-Feb-26&amp;quot;, &amp;quot;13-Feb-26&amp;quot;, &amp;quot;16-Feb-26&amp;quot;, &amp;quot;17-Feb-26&amp;quot;, &amp;quot;18-Feb-26&amp;quot;, &amp;quot;20-Feb-26&amp;quot;, &amp;quot;23-Feb-26&amp;quot;, &amp;quot;24-Feb-26&amp;quot;, &amp;quot;25-Feb-26&amp;quot;, &amp;quot;26-Feb-26&amp;quot;, &amp;quot;27-Feb-26&amp;quot;, &amp;quot;02-Mar-26&amp;quot;, &amp;quot;03-Mar-26&amp;quot;, &amp;quot;04-Mar-26&amp;quot;, &amp;quot;05-Mar-26&amp;quot;, &amp;quot;06-Mar-26&amp;quot;, &amp;quot;09-Mar-26&amp;quot;, &amp;quot;10-Mar-26&amp;quot;, &amp;quot;11-Mar-26&amp;quot;, &amp;quot;12-Mar-26&amp;quot;, &amp;quot;13-Mar-26&amp;quot;, &amp;quot;16-Mar-26&amp;quot;, &amp;quot;17-Mar-26&amp;quot;, &amp;quot;18-Mar-26&amp;quot;, &amp;quot;19-Mar-26&amp;quot;, &amp;quot;24-Mar-26&amp;quot;, &amp;quot;25-Mar-26&amp;quot;, &amp;quot;26-Mar-26&amp;quot;, &amp;quot;27-Mar-26&amp;quot;, &amp;quot;30-Mar-26&amp;quot;, &amp;quot;31-Mar-26&amp;quot;, &amp;quot;01-Apr-26&amp;quot;, &amp;quot;02-Apr-26&amp;quot;, &amp;quot;03-Apr-26&amp;quot;, &amp;quot;04-Apr-26&amp;quot;, &amp;quot;06-Apr-26&amp;quot;, &amp;quot;07-Apr-26&amp;quot;, &amp;quot;08-Apr-26&amp;quot;, &amp;quot;09-Apr-26&amp;quot;, &amp;quot;10-Apr-26&amp;quot;, &amp;quot;13-Apr-26&amp;quot;, &amp;quot;14-Apr-26&amp;quot;, &amp;quot;14-Apr-26&amp;quot;, &amp;quot;15-Apr-26&amp;quot;, &amp;quot;16-Apr-26&amp;quot;, &amp;quot;17-Apr-26&amp;quot;, &amp;quot;20-Apr-26&amp;quot;, &amp;quot;21-Apr-26&amp;quot;, &amp;quot;22-Apr-26&amp;quot;, &amp;quot;23-Apr-26&amp;quot;, &amp;quot;24-Apr-26&amp;quot;, &amp;quot;27-Apr-26&amp;quot;, &amp;quot;28-Apr-26&amp;quot;, &amp;quot;29-Apr-26&amp;quot;, &amp;quot;30-Apr-26&amp;quot;, &amp;quot;04-May-26&amp;quot;, &amp;quot;05-May-26&amp;quot;, &amp;quot;06-May-26&amp;quot;, &amp;quot;07-May-26&amp;quot;, &amp;quot;08-May-26&amp;quot;, &amp;quot;11-May-26&amp;quot;, &amp;quot;12-May-26&amp;quot;, &amp;quot;13-May-26&amp;quot;, &amp;quot;14-May-26&amp;quot;, &amp;quot;15-May-26&amp;quot;, &amp;quot;18-May-26&amp;quot;, &amp;quot;19-May-26&amp;quot;, &amp;quot;20-May-26&amp;quot;, &amp;quot;21-May-26&amp;quot;, &amp;quot;22-May-26&amp;quot;, &amp;quot;25-May-26&amp;quot;, &amp;quot;29-May-26&amp;quot;, &amp;quot;01-Jun-26&amp;quot;, &amp;quot;02-Jun-26&amp;quot;, &amp;quot;03-Jun-26&amp;quot;, &amp;quot;04-Jun-26&amp;quot;, &amp;quot;05-Jun-26&amp;quot;, &amp;quot;08-Jun-26&amp;quot;, &amp;quot;09-Jun-26&amp;quot;, &amp;quot;10-Jun-26&amp;quot;, &amp;quot;11-Jun-26&amp;quot;, &amp;quot;12-Jun-26&amp;quot;, &amp;quot;15-Jun-26&amp;quot;, &amp;quot;16-Jun-26&amp;quot;, &amp;quot;17-Jun-26&amp;quot;, &amp;quot;18-Jun-26&amp;quot;, &amp;quot;19-Jun-26&amp;quot;, &amp;quot;22-Jun-26&amp;quot;, &amp;quot;23-Jun-26&amp;quot;, &amp;quot;24-Jun-26&amp;quot;, &amp;quot;29-Jun-26&amp;quot;, &amp;quot;30-Jun-26&amp;quot;, &amp;quot;02-Jul-26&amp;quot;, &amp;quot;03-Jul-26&amp;quot;, &amp;quot;06-Jul-26&amp;quot;, &amp;quot;07-Jul-26&amp;quot;, &amp;quot;08-Jul-26&amp;quot;, &amp;quot;09-Jul-26&amp;quot;, &amp;quot;10-Jul-26&amp;quot;, &amp;quot;13-Jul-26&amp;quot;, &amp;quot;14-Jul-26&amp;quot;, &amp;quot;15-Jul-26&amp;quot;, &amp;quot;16-Jul-26&amp;quot;, &amp;quot;17-Jul-26&amp;quot;, &amp;quot;20-Jul-26&amp;quot;, &amp;quot;21-Jul-26&amp;quot;, &amp;quot;22-Jul-26&amp;quot;, &amp;quot;23-Jul-26&amp;quot;, &amp;quot;24-Jul-26&amp;quot;, &amp;quot;27-Jul-26&amp;quot;, &amp;quot;28-Jul-26&amp;quot;, &amp;quot;29-Jul-26&amp;quot;, &amp;quot;30-Jul-26&amp;quot;, &amp;quot;03-Aug-26&amp;quot;, &amp;quot;04-Aug-26&amp;quot;, &amp;quot;05-Aug-26&amp;quot;, &amp;quot;06-Aug-26&amp;quot;, &amp;quot;07-Aug-26&amp;quot;, &amp;quot;10-Aug-26&amp;quot;, &amp;quot;11-Aug-26&amp;quot;, &amp;quot;12-Aug-26&amp;quot;, &amp;quot;13-Aug-26&amp;quot;, &amp;quot;17-Aug-26&amp;quot;, &amp;quot;18-Aug-26&amp;quot;, &amp;quot;20-Aug-26&amp;quot;];
            
            const rawData = [279.77, 279.87, 279.82, 279.97, 280.07, 279.95, 279.97, 280.05, 280.21, 280.17, 280.27, 280.21, 280.22, 280.26, 280.37, 280.42, 280.26, 280.22, 280.16, 280.56, 280.47, 280.57, 280.73, 280.78, 280.56, 280.47, 280.60, 280.57, 280.46, 280.62, 280.72, 280.87, 280.77, 280.97, 281.07, 280.97, 281.07, 281.02, 280.97, 281.06, 281.22, 281.37, 281.47, 281.52, 281.71, 281.57, 281.67, 281.72, 281.61, 281.66, 281.77, 281.92, 281.97, 282.06, 281.97, 282.06, 282.17, 282.07, 282.02, 281.97, 282.12, 282.22, 282.17, 282.21, 282.47, 282.67, 282.96, 283.17, 283.41, 283.55, 283.64, 283.70, 283.87, 283.77, 283.72, 283.67, 283.72, 283.76, 283.95, 283.86, 283.97, 284.22, 284.36, 284.47, 284.56, 284.46, 284.72, 284.67, 284.96, 284.97, 284.87, 284.95, 284.97, 284.76, 284.22, 283.45, 283.21, 283.05, 282.95, 282.87, 282.72, 282.66, 282.57, 282.67, 282.56, 282.47, 282.45, 282.42, 282.22, 282.06, 282.01, 281.96, 281.95, 281.92, 281.90, 281.87, 281.86, 281.83, 281.8, 281.77, 281.75, 281.72, 281.71, 281.67, 281.65, 281.62, 281.61, 281.60, 281.56, 281.55, 281.52, 281.51, 281.50, 281.47, 281.46, 281.45, 281.46, 281.42, 281.43, 281.41, 281.37, 281.35, 281.32, 281.31, 281.27, 281.26, 281.25, 281.22, 281.21, 281.20, 281.17, 281.16, 281.15, 281.12, 281.11, 281.10, 281.07, 281.06, 281.05, 281.03, 281.02, 281.01, 280.97, 280.96, 280.92, 280.91, 280.90, 280.87, 280.86, 280.85, 280.82, 280.81, 280.78, 280.77, 280.76, 280.72, 280.71, 280.67, 280.66, 280.66, 280.65, 280.62, 280.61, 280.57, 280.56, 280.55, 280.52, 280.51, 280.47, 280.46, 280.45, 280.42, 280.41, 280.40, 280.37, 280.36, 280.32, 280.31, 280.30, 280.27, 280.26, 280.25, 280.22, 280.21, 280.20, 280.17, 280.16, 280.15, 280.12, 280.11, 280.10, 280.07, 280.06, 280.05, 280.02, 280.01, 280.0, 279.97, 279.96, 279.95, 279.92, 279.91, 279.90, 279.87, 279.86, 279.85, 279.82, 279.81, 279.80, 279.77, 279.76, 279.75, 279.72, 279.71, 279.70, 279.67, 279.66, 279.65, 279.62, 279.61, 279.60, 279.57, 279.56, 279.55, 279.52, 279.51, 279.50, 279.47, 279.46, 279.45, 279.42, 279.41, 279.40, 279.37, 279.36, 279.35, 279.32, 279.31, 279.30, 279.27, 279.26, 279.25, 279.22, 279.21, 279.20, 279.17, 279.16, 279.15, 279.12, 279.11, 279.10, 279.07, 279.06, 279.05, 279.02, 279.01, 279.00, 278.97, 278.96, 278.95, 278.92, 278.91, 278.90, 278.87, 278.86, 278.85, 278.82, 278.81, 278.80, 278.77, 278.76, 278.75, 278.72, 278.71, 278.70, 278.67, 278.66, 278.65, 278.62, 278.61, 278.60, 278.57, 278.56, 278.55, 278.52, 278.51, 278.50, 278.47, 278.46, 278.45, 278.42, 278.41, 278.40, 278.37, 278.36, 278.35, 278.32, 278.31, 278.30, 278.27, 278.26, 278.25, 278.22, 278.21, 278.20, 278.17, 278.16, 278.15, 278.12, 278.11, 278.10, 278.07, 278.06, 278.05, 278.02, 278.01, 278.00, 277.95, 277.95, 277.92, 277.91, 277.90, 277.87, 277.86, 277.85, 277.82, 277.81, 277.80, 277.77, 277.76, 277.75, 277.72, 277.71, 277.70, 277.67, 277.66, 277.65, 277.62, 277.61, 277.57];
            
            const currentExchangeRate = rawData[rawData.length - 1];

            const usdInput = document.getElementById(&amp;#039;usdInput&amp;#039;);
            const pkrInput = document.getElementById(&amp;#039;pkrInput&amp;#039;);
            const badgeEl = document.getElementById(&amp;#039;latestBadgeRate&amp;#039;);

            const formatCurrency = (val, maxDecimals = 2, minDecimals = 2) =&amp;gt; {
                return val.toLocaleString(&amp;#039;en-US&amp;#039;, {
                    minimumFractionDigits: minDecimals,
                    maximumFractionDigits: maxDecimals
                });
            };

            const parseCurrency = (valStr) =&amp;gt; {
                return parseFloat(valStr.replace(/,/g, &amp;#039;&amp;#039;));
            };

            // Set Initial Values
            badgeEl.textContent = formatCurrency(currentExchangeRate) + &amp;#039; PKR&amp;#039;;
            pkrInput.value = formatCurrency(currentExchangeRate);

            usdInput.addEventListener(&amp;#039;input&amp;#039;, (e) =&amp;gt; {
                const val = parseCurrency(e.target.value);
                if (isNaN(val)) {
                    pkrInput.value = &amp;#039;&amp;#039;;
                } else {
                    pkrInput.value = formatCurrency(val * currentExchangeRate);
                }
            });

            pkrInput.addEventListener(&amp;#039;input&amp;#039;, (e) =&amp;gt; {
                const val = parseCurrency(e.target.value);
                if (isNaN(val)) {
                    usdInput.value = &amp;#039;&amp;#039;;
                } else {
                    usdInput.value = formatCurrency(val / currentExchangeRate);
                }
            });

            usdInput.addEventListener(&amp;#039;blur&amp;#039;, (e) =&amp;gt; {
                const val = parseCurrency(e.target.value);
                if (!isNaN(val)) {
                    e.target.value = formatCurrency(val, 2, 0);
                }
            });

            pkrInput.addEventListener(&amp;#039;blur&amp;#039;, (e) =&amp;gt; {
                const val = parseCurrency(e.target.value);
                if (!isNaN(val)) {
                    e.target.value = formatCurrency(val);
                }
            });

            const ctx = document.getElementById(&amp;#039;closingRatesChart&amp;#039;).getContext(&amp;#039;2d&amp;#039;);
            new Chart(ctx, {
                type: &amp;#039;line&amp;#039;,
                data: {
                    labels: rawLabels,
                    datasets: [{
                        data: rawData,
                        borderColor: &amp;#039;#4f46e5&amp;#039;,
                        backgroundColor: &amp;#039;rgba(79, 70, 229, 0.1)&amp;#039;,
                        fill: true,
                        tension: 0.1
                    }]
                },
                options: {
                    responsive: true,
                    maintainAspectRatio: false,
                    plugins: {
                        legend: { display: false },
                        tooltip: {
                            callbacks: {
                                label: function(context) {
                                    return formatCurrency(context.parsed.y) + &amp;#039; PKR&amp;#039;;
                                }
                            }
                        }
                    },
                    scales: {
                        y: {
                            ticks: {
                                callback: function(value) {
                                    return formatCurrency(value, 2, 0);
                                }
                            }
                        }
                    }
                }
            });
        })();
    &amp;lt;/script&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;
    &amp;lt;script&amp;gt;
        function reportHeight() {
            var h = document.documentElement.scrollHeight;
            window.parent.postMessage({ type: &amp;#039;raw-html-resize&amp;#039;, id: &amp;#039;raw-html-6a871c4484e84&amp;#039;, height: h }, &amp;#039;*&amp;#039;);
        }
        window.addEventListener(&amp;#039;load&amp;#039;, reportHeight);
        if (window.ResizeObserver) {
            new ResizeObserver(reportHeight).observe(document.body);
        }
    &amp;lt;/script&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;"&gt;&lt;/iframe&gt;
&lt;script&gt;
if (!window._rawHtmlListenerAttached) {
    window._rawHtmlListenerAttached = true;
    window.addEventListener('message', function(event) {
        if (event.data &amp;&amp; event.data.type === 'raw-html-resize' &amp;&amp; event.data.id) {
            var iframe = document.getElementById(event.data.id);
            if (iframe) {
                var height = Math.min(Math.max(event.data.height, 50), 9200);
                iframe.style.height = height + 'px';
            }
        }
    });
}
&lt;/script&gt;
&lt;p&gt;&lt;strong&gt;The Pakistani rupee extended its marginal gains, appreciating 0.01%, against the US dollar on Thursday.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The local unit closed the day at 277.57, a gain of Re0.03 against the greenback.&lt;/p&gt;
    &lt;figure class='media  w-full sm:w-full  media--center  media--embed  media--uneven media--tweet' data-original-src='https://x.com/StateBank_Pak/status/2090407643718525153'&gt;
        &lt;div class='media__item  media__item--twitter  '&gt;&lt;span&gt;
    &lt;blockquote class="twitter-tweet" lang="en"&gt;
        &lt;a href="https://twitter.com/StateBank_Pak/status/2090407643718525153"&gt;&lt;/a&gt;
    &lt;/blockquote&gt;
&lt;/span&gt;&lt;/div&gt;
        
    &lt;/figure&gt;
&lt;p&gt;&lt;a href="https://www.brecorder.com/news/40435570/rupee-records-gain-against-us-dollar"&gt;&lt;u&gt;On Wednesday&lt;/u&gt;&lt;/a&gt;&lt;u&gt;, &lt;/u&gt;the Pakistani rupee settled at 277.60 against the dollar.&lt;/p&gt;
&lt;p&gt;Furthermore, the US dollar nursed steep losses on Thursday, hovering near three-month lows.&lt;/p&gt;
&lt;p&gt;The ‌dollar index , which measures the US currency against six other units, was at 98.938, around its lowest level since mid-May.&lt;/p&gt;
&lt;p&gt;The euro was at $1.1676, perched at the highest level since late May.&lt;/p&gt;
&lt;p&gt;The ​US Treasury unveiled plans to double liquidity support buyback operations for longer-dated bonds ​after a steep bond selloff pushed the 30-year Treasury yield to a ⁠19-year high of 5.337%.&lt;/p&gt;
&lt;p&gt;The yield was last at 5.184% after dropping 9 ​basis points following the announcement on Wednesday.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.brecorder.com/news/40435706/oil-hits-3-week-high-on-middle-east-supply-concerns-amid-war-impasse"&gt;Oil prices climbed&lt;/a&gt; to more than three-week highs on ‌Thursday, driven by concerns that the impasse in the Iran war will continue to disrupt supply from the key Middle Eastern producing region.&lt;/p&gt;
&lt;p&gt;Brent crude futures for October delivery were up $2.19, or 2.39%, to $93.81 a barrel at 1257 GMT, while US West ​Texas Intermediate crude futures for September added $2.33 to $88.16 a barrel. The more-active October WTI contract was ​up $2.44, or 2.89%, to $86.83.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Inter-bank market rates for dollar on Thursday&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;BID Rs 277.57&lt;/p&gt;
&lt;p&gt;OFFER Rs 277.77&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Open-market movement&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;In the open market, the PKR gained 12 paise for buying and 10 paise for selling against USD, closing at 278.26 and 279.28, respectively.&lt;/p&gt;
&lt;p&gt;Against Euro, the PKR lost 2.27 rupees for buying and 2.65 rupees for selling, closing at 323.31 and 326.47, respectively.&lt;/p&gt;
&lt;p&gt;Against UAE Dirham, the PKR gained 5 paise for buying and 2 paise for selling, closing at 75.56 and 76.28, respectively.&lt;/p&gt;
&lt;p&gt;Against Saudi Riyal, the PKR gained 8 paise for buying and 4 paise for selling, closing at 73.80 and 74.47, respectively.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Open-market rates for dollar on Thursday&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;BID Rs 278.26&lt;/p&gt;
&lt;p&gt;OFFER Rs 279.28&lt;/p&gt;
</description>
      <content:encoded xmlns="http://purl.org/rss/1.0/modules/content/"><![CDATA[<iframe id="raw-html-6a871c4484e84" class="raw-html-embed" style="width: 100%; min-height: 50px; max-height: 9200px; border: none; overflow: hidden;" scrolling="no" srcdoc="&lt;!DOCTYPE html&gt;
&lt;html&gt;
&lt;head&gt;
    &lt;style&gt;
        body { margin: 0; padding: 0; font-family: system-ui, -apple-system, sans-serif; overflow-wrap: anywhere; }
    &lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
    
&lt;!DOCTYPE html&gt;
&lt;html lang=&quot;en&quot;&gt;
&lt;head&gt;
    &lt;meta charset=&quot;UTF-8&quot;&gt;
    &lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1.0&quot;&gt;
    &lt;title&gt;PKR vs USD Exchange Rate Chart&lt;/title&gt;
    &lt;!-- Chart.js for high-performance rendering --&gt;
    &lt;script src=&quot;https://cdn.jsdelivr.net/npm/chart.js&quot;&gt;&lt;/script&gt;
    
    &lt;style&gt;
        @import url(&#039;https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght=400;500;600;700&amp;display=swap&#039;);

        #pkr-chart-embed {
            font-family: &#039;Plus Jakarta Sans&#039;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, Roboto, sans-serif;
            max-width: 1000px;
            width: 100%;
            margin: 24px auto;
            background-color: #ffffff;
            border: 1px solid #e2e8f0;
            border-radius: 20px;
            padding: 24px;
            box-shadow: 0 10px 25px -5px rgba(15, 23, 42, 0.05), 0 8px 10px -6px rgba(15, 23, 42, 0.05);
            color: #0f172a;
            box-sizing: border-box;
        }

        #pkr-chart-embed * { box-sizing: border-box; margin: 0; padding: 0; }

        #pkr-chart-embed .chart-header {
            display: flex;
            flex-direction: column;
            gap: 20px;
            margin-bottom: 24px;
            width: 100%;
        }

        #pkr-chart-embed .top-row {
            display: flex;
            flex-direction: row;
            justify-content: space-between;
            align-items: flex-start;
            gap: 20px;
        }

        #pkr-chart-embed .calculator-area {
            display: flex;
            flex-direction: column;
            gap: 8px;
            align-items: flex-start;
        }

        #pkr-chart-embed .main-title {
            font-size: 20px;
            font-weight: 700;
            color: #0f172a;
            letter-spacing: -0.025em;
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            gap: 8px;
        }

        #pkr-chart-embed .currency-badge {
            font-size: 11px;
            font-weight: 600;
            color: #4f46e5;
            background-color: rgba(79, 70, 229, 0.08);
            padding: 2px 8px;
            border-radius: 9999px;
            border: 1px solid rgba(79, 70, 229, 0.15);
            text-transform: uppercase;
        }

        #pkr-chart-embed .calculator-title {
            font-size: 10px;
            font-weight: 700;
            color: #64748b;
            text-transform: uppercase;
            letter-spacing: 0.05em;
        }

        #pkr-chart-embed .converter {
            display: flex;
            align-items: center;
            background: #f8fafc;
            border: 1px solid #e2e8f0;
            border-radius: 12px;
            padding: 4px;
            gap: 6px;
        }

        #pkr-chart-embed .converter-group {
            display: flex;
            align-items: center;
            background: #ffffff;
            border-radius: 8px;
            padding: 6px 10px;
            box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
            border: 1px solid transparent;
        }

        #pkr-chart-embed .converter-input {
            border: none;
            outline: none;
            width: 100px;
            font-family: inherit;
            font-weight: 700;
            color: #0f172a;
            font-size: 14px;
            text-align: right;
            background: transparent;
        }

        #pkr-chart-embed .converter-input.pkr-field { width: 140px; }

        #pkr-chart-embed .converter-label {
            font-size: 11px;
            font-weight: 700;
            color: #64748b;
            margin-left: 6px;
        }

        #pkr-chart-embed .equals-sign { color: #94a3b8; font-weight: 600; font-size: 16px; }

        #pkr-chart-embed .rate-badge-container {
            display: flex;
            flex-direction: column;
            align-items: flex-end;
            gap: 8px;
        }

        #pkr-chart-embed .rate-label-sub { text-align: right; }
        #pkr-chart-embed .rate-label-sub span:first-child { display: block; font-size: 9px; text-transform: uppercase; font-weight: 700; color: #64748b; }
        #pkr-chart-embed .rate-label-sub span:last-child { display: block; font-size: 12px; color: #334155; font-weight: 600; }

        #pkr-chart-embed .rate-badge {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            background: linear-gradient(135deg, #4f46e5, #3b82f6);
            color: #ffffff;
            font-weight: 700;
            font-size: 13px;
            padding: 10px 16px;
            border-radius: 12px;
            box-shadow: 0 8px 16px -3px rgba(79, 70, 229, 0.25);
        }

        #pkr-chart-embed .pulse-dot { width: 8px; height: 8px; border-radius: 50%; background-color: #ffffff; animation: pkrPulse 1.5s infinite; }

        @keyframes pkrPulse {
            0% { transform: scale(0.95); opacity: 0.6; }
            50% { transform: scale(1.15); opacity: 1; }
            100% { transform: scale(0.95); opacity: 0.6; }
        }

        #pkr-chart-embed .chart-canvas-container { position: relative; width: 100%; height: 400px; }

        @media (max-width: 768px) {
            #pkr-chart-embed .chart-canvas-container { height: 320px; }
            #pkr-chart-embed .top-row { flex-direction: column; align-items: flex-start; }
            #pkr-chart-embed .rate-badge-container { align-items: flex-start; }
            #pkr-chart-embed .rate-label-sub { text-align: left; }
        }
    &lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
    &lt;div id=&quot;pkr-chart-embed&quot;&gt;
        &lt;div class=&quot;chart-header&quot;&gt;
            &lt;h1 class=&quot;main-title&quot;&gt;
                &lt;span&gt;PKR vs USD Exchange Rate&lt;/span&gt;
                &lt;span class=&quot;currency-badge&quot;&gt;USD / PKR&lt;/span&gt;
            &lt;/h1&gt;

            &lt;div class=&quot;top-row&quot;&gt;
                &lt;div class=&quot;calculator-area&quot;&gt;
                    &lt;span class=&quot;calculator-title&quot;&gt;Calculator&lt;/span&gt;
                    &lt;div class=&quot;converter&quot;&gt;
                        &lt;div class=&quot;converter-group&quot;&gt;
                            &lt;input type=&quot;text&quot; inputmode=&quot;decimal&quot; id=&quot;usdInput&quot; class=&quot;converter-input&quot; value=&quot;1&quot;&gt;
                            &lt;span class=&quot;converter-label&quot;&gt;USD&lt;/span&gt;
                        &lt;/div&gt;
                        &lt;span class=&quot;equals-sign&quot;&gt;=&lt;/span&gt;
                        &lt;div class=&quot;converter-group&quot;&gt;
                            &lt;input type=&quot;text&quot; inputmode=&quot;decimal&quot; id=&quot;pkrInput&quot; class=&quot;converter-input pkr-field&quot; value=&quot;&quot;&gt;
                            &lt;span class=&quot;converter-label&quot;&gt;PKR&lt;/span&gt;
                        &lt;/div&gt;
                    &lt;/div&gt;
                &lt;/div&gt;

                &lt;div class=&quot;rate-badge-container&quot;&gt;
                    &lt;div class=&quot;rate-label-sub&quot;&gt;
                        &lt;span&gt;Latest Closing&lt;/span&gt;
                        &lt;span&gt;20-Aug-26&lt;/span&gt;
                    &lt;/div&gt;
                    &lt;div class=&quot;rate-badge&quot;&gt;
                        &lt;span class=&quot;pulse-dot&quot;&gt;&lt;/span&gt;
                        &lt;span id=&quot;latestBadgeRate&quot;&gt;&lt;/span&gt;
                    &lt;/div&gt;
                &lt;/div&gt;
            &lt;/div&gt;
        &lt;/div&gt;

        &lt;div class=&quot;chart-canvas-container&quot;&gt;
            &lt;canvas id=&quot;closingRatesChart&quot;&gt;&lt;/canvas&gt;
        &lt;/div&gt;
    &lt;/div&gt;

    &lt;script&gt;
        (function() {
            const rawLabels = [&quot;04-Mar-25&quot;, &quot;05-Mar-25&quot;, &quot;06-Mar-25&quot;, &quot;07-Mar-25&quot;, &quot;10-Mar-25&quot;, &quot;11-Mar-25&quot;, &quot;12-Mar-25&quot;, &quot;13-Mar-25&quot;, &quot;14-Mar-25&quot;, &quot;17-Mar-25&quot;, &quot;18-Mar-25&quot;, &quot;19-Mar-25&quot;, &quot;20-Mar-25&quot;, &quot;21-Mar-25&quot;, &quot;24-Mar-25&quot;, &quot;25-Mar-25&quot;, &quot;26-Mar-25&quot;, &quot;27-Mar-25&quot;, &quot;28-Mar-25&quot;, &quot;03-Apr-25&quot;, &quot;04-Apr-25&quot;, &quot;07-Apr-25&quot;, &quot;08-Apr-25&quot;, &quot;09-Apr-25&quot;, &quot;10-Apr-25&quot;, &quot;11-Apr-25&quot;, &quot;14-Apr-25&quot;, &quot;15-Apr-25&quot;, &quot;16-Apr-25&quot;, &quot;17-Apr-25&quot;, &quot;18-Apr-25&quot;, &quot;21-Apr-25&quot;, &quot;22-Apr-25&quot;, &quot;23-Apr-25&quot;, &quot;24-Apr-25&quot;, &quot;25-Apr-25&quot;, &quot;28-Apr-25&quot;, &quot;29-Apr-25&quot;, &quot;30-Apr-25&quot;, &quot;02-May-25&quot;, &quot;05-May-25&quot;, &quot;06-May-25&quot;, &quot;07-May-25&quot;, &quot;08-May-25&quot;, &quot;09-May-25&quot;, &quot;12-May-25&quot;, &quot;13-May-25&quot;, &quot;14-May-25&quot;, &quot;15-May-25&quot;, &quot;16-May-25&quot;, &quot;19-May-25&quot;, &quot;20-May-25&quot;, &quot;21-May-25&quot;, &quot;22-May-25&quot;, &quot;23-May-25&quot;, &quot;26-May-25&quot;, &quot;27-May-25&quot;, &quot;29-May-25&quot;, &quot;30-May-25&quot;, &quot;02-Jun-25&quot;, &quot;03-Jun-25&quot;, &quot;04-Jun-25&quot;, &quot;05-Jun-25&quot;, &quot;10-Jun-25&quot;, &quot;11-Jun-25&quot;, &quot;12-Jun-25&quot;, &quot;13-Jun-25&quot;, &quot;16-Jun-25&quot;, &quot;17-Jun-25&quot;, &quot;18-Jun-25&quot;, &quot;19-Jun-25&quot;, &quot;20-Jun-25&quot;, &quot;23-Jun-25&quot;, &quot;24-Jun-25&quot;, &quot;25-Jun-25&quot;, &quot;26-Jun-25&quot;, &quot;27-Jun-25&quot;, &quot;30-Jun-25&quot;, &quot;02-Jul-25&quot;, &quot;03-Jul-25&quot;, &quot;04-Jul-25&quot;, &quot;07-Jul-25&quot;, &quot;08-Jul-25&quot;, &quot;09-Jul-25&quot;, &quot;10-Jul-25&quot;, &quot;11-Jul-25&quot;, &quot;14-Jul-25&quot;, &quot;15-Jul-25&quot;, &quot;16-Jul-25&quot;, &quot;17-Jul-25&quot;, &quot;18-Jul-25&quot;, &quot;21-Jul-25&quot;, &quot;22-Jul-25&quot;, &quot;23-Jul-25&quot;, &quot;24-Jul-25&quot;, &quot;25-Jul-25&quot;, &quot;28-Jul-25&quot;, &quot;29-Jul-25&quot;, &quot;30-Jul-25&quot;, &quot;31-Jul-25&quot;, &quot;01-Aug-25&quot;, &quot;04-Aug-25&quot;, &quot;05-Aug-25&quot;, &quot;06-Aug-25&quot;, &quot;07-Aug-25&quot;, &quot;08-Aug-25&quot;, &quot;11-Aug-25&quot;, &quot;12-Aug-25&quot;, &quot;13-Aug-25&quot;, &quot;15-Aug-25&quot;, &quot;18-Aug-25&quot;, &quot;19-Aug-25&quot;, &quot;20-Aug-25&quot;, &quot;21-Aug-25&quot;, &quot;22-Aug-25&quot;, &quot;25-Aug-25&quot;, &quot;26-Aug-25&quot;, &quot;27-Aug-25&quot;, &quot;28-Aug-25&quot;, &quot;29-Aug-25&quot;, &quot;01-Sep-25&quot;, &quot;02-Sep-25&quot;, &quot;03-Sep-25&quot;, &quot;04-Sep-25&quot;, &quot;05-Sep-25&quot;, &quot;08-Sep-25&quot;, &quot;09-Sep-25&quot;, &quot;10-Sep-25&quot;, &quot;11-Sep-25&quot;, &quot;12-Sep-25&quot;, &quot;15-Sep-25&quot;, &quot;16-Sep-25&quot;, &quot;17-Sep-25&quot;, &quot;18-Sep-25&quot;, &quot;19-Sep-25&quot;, &quot;21-Sep-25&quot;, &quot;22-Sep-25&quot;, &quot;23-Sep-25&quot;, &quot;24-Sep-25&quot;, &quot;25-Sep-25&quot;, &quot;26-Sep-25&quot;, &quot;29-Sep-25&quot;, &quot;30-Sep-25&quot;, &quot;01-Oct-25&quot;, &quot;02-Oct-25&quot;, &quot;03-Oct-25&quot;, &quot;06-Oct-25&quot;, &quot;07-Oct-25&quot;, &quot;08-Oct-25&quot;, &quot;09-Oct-25&quot;, &quot;10-Oct-25&quot;, &quot;13-Oct-25&quot;, &quot;14-Oct-25&quot;, &quot;15-Oct-25&quot;, &quot;16-Oct-25&quot;, &quot;17-Oct-25&quot;, &quot;20-Oct-25&quot;, &quot;21-Oct-25&quot;, &quot;22-Oct-25&quot;, &quot;23-Oct-25&quot;, &quot;24-Oct-25&quot;, &quot;27-Oct-25&quot;, &quot;28-Oct-25&quot;, &quot;29-Oct-25&quot;, &quot;30-Oct-25&quot;, &quot;31-Oct-25&quot;, &quot;03-Nov-25&quot;, &quot;04-Nov-25&quot;, &quot;05-Nov-25&quot;, &quot;06-Nov-25&quot;, &quot;07-Nov-25&quot;, &quot;10-Nov-25&quot;, &quot;11-Nov-25&quot;, &quot;12-Nov-25&quot;, &quot;13-Nov-25&quot;, &quot;14-Nov-25&quot;, &quot;17-Nov-25&quot;, &quot;18-Nov-25&quot;, &quot;19-Nov-25&quot;, &quot;20-Nov-25&quot;, &quot;21-Nov-25&quot;, &quot;24-Nov-25&quot;, &quot;25-Nov-25&quot;, &quot;26-Nov-25&quot;, &quot;27-Nov-25&quot;, &quot;28-Nov-25&quot;, &quot;01-Dec-25&quot;, &quot;02-Dec-25&quot;, &quot;03-Dec-25&quot;, &quot;04-Dec-25&quot;, &quot;05-Dec-25&quot;, &quot;08-Dec-25&quot;, &quot;09-Dec-25&quot;, &quot;10-Dec-25&quot;, &quot;11-Dec-25&quot;, &quot;12-Dec-25&quot;, &quot;15-Dec-25&quot;, &quot;16-Dec-25&quot;, &quot;17-Dec-25&quot;, &quot;18-Dec-25&quot;, &quot;19-Dec-25&quot;, &quot;22-Dec-25&quot;, &quot;23-Dec-25&quot;, &quot;24-Dec-25&quot;, &quot;26-Dec-25&quot;, &quot;29-Dec-25&quot;, &quot;30-Dec-25&quot;, &quot;31-Dec-25&quot;, &quot;02-Jan-26&quot;, &quot;05-Jan-26&quot;, &quot;06-Jan-26&quot;, &quot;07-Jan-26&quot;, &quot;08-Jan-26&quot;, &quot;09-Jan-26&quot;, &quot;12-Jan-26&quot;, &quot;13-Jan-26&quot;, &quot;14-Jan-26&quot;, &quot;15-Jan-26&quot;, &quot;16-Jan-26&quot;, &quot;19-Jan-26&quot;, &quot;20-Jan-26&quot;, &quot;21-Jan-26&quot;, &quot;22-Jan-26&quot;, &quot;23-Jan-26&quot;, &quot;26-Jan-26&quot;, &quot;27-Jan-26&quot;, &quot;28-Jan-26&quot;, &quot;29-Jan-26&quot;, &quot;30-Jan-26&quot;, &quot;02-Feb-26&quot;, &quot;03-Feb-26&quot;, &quot;04-Feb-26&quot;, &quot;06-Feb-26&quot;, &quot;09-Feb-26&quot;, &quot;10-Feb-26&quot;, &quot;11-Feb-26&quot;, &quot;12-Feb-26&quot;, &quot;13-Feb-26&quot;, &quot;16-Feb-26&quot;, &quot;17-Feb-26&quot;, &quot;18-Feb-26&quot;, &quot;20-Feb-26&quot;, &quot;23-Feb-26&quot;, &quot;24-Feb-26&quot;, &quot;25-Feb-26&quot;, &quot;26-Feb-26&quot;, &quot;27-Feb-26&quot;, &quot;02-Mar-26&quot;, &quot;03-Mar-26&quot;, &quot;04-Mar-26&quot;, &quot;05-Mar-26&quot;, &quot;06-Mar-26&quot;, &quot;09-Mar-26&quot;, &quot;10-Mar-26&quot;, &quot;11-Mar-26&quot;, &quot;12-Mar-26&quot;, &quot;13-Mar-26&quot;, &quot;16-Mar-26&quot;, &quot;17-Mar-26&quot;, &quot;18-Mar-26&quot;, &quot;19-Mar-26&quot;, &quot;24-Mar-26&quot;, &quot;25-Mar-26&quot;, &quot;26-Mar-26&quot;, &quot;27-Mar-26&quot;, &quot;30-Mar-26&quot;, &quot;31-Mar-26&quot;, &quot;01-Apr-26&quot;, &quot;02-Apr-26&quot;, &quot;03-Apr-26&quot;, &quot;04-Apr-26&quot;, &quot;06-Apr-26&quot;, &quot;07-Apr-26&quot;, &quot;08-Apr-26&quot;, &quot;09-Apr-26&quot;, &quot;10-Apr-26&quot;, &quot;13-Apr-26&quot;, &quot;14-Apr-26&quot;, &quot;14-Apr-26&quot;, &quot;15-Apr-26&quot;, &quot;16-Apr-26&quot;, &quot;17-Apr-26&quot;, &quot;20-Apr-26&quot;, &quot;21-Apr-26&quot;, &quot;22-Apr-26&quot;, &quot;23-Apr-26&quot;, &quot;24-Apr-26&quot;, &quot;27-Apr-26&quot;, &quot;28-Apr-26&quot;, &quot;29-Apr-26&quot;, &quot;30-Apr-26&quot;, &quot;04-May-26&quot;, &quot;05-May-26&quot;, &quot;06-May-26&quot;, &quot;07-May-26&quot;, &quot;08-May-26&quot;, &quot;11-May-26&quot;, &quot;12-May-26&quot;, &quot;13-May-26&quot;, &quot;14-May-26&quot;, &quot;15-May-26&quot;, &quot;18-May-26&quot;, &quot;19-May-26&quot;, &quot;20-May-26&quot;, &quot;21-May-26&quot;, &quot;22-May-26&quot;, &quot;25-May-26&quot;, &quot;29-May-26&quot;, &quot;01-Jun-26&quot;, &quot;02-Jun-26&quot;, &quot;03-Jun-26&quot;, &quot;04-Jun-26&quot;, &quot;05-Jun-26&quot;, &quot;08-Jun-26&quot;, &quot;09-Jun-26&quot;, &quot;10-Jun-26&quot;, &quot;11-Jun-26&quot;, &quot;12-Jun-26&quot;, &quot;15-Jun-26&quot;, &quot;16-Jun-26&quot;, &quot;17-Jun-26&quot;, &quot;18-Jun-26&quot;, &quot;19-Jun-26&quot;, &quot;22-Jun-26&quot;, &quot;23-Jun-26&quot;, &quot;24-Jun-26&quot;, &quot;29-Jun-26&quot;, &quot;30-Jun-26&quot;, &quot;02-Jul-26&quot;, &quot;03-Jul-26&quot;, &quot;06-Jul-26&quot;, &quot;07-Jul-26&quot;, &quot;08-Jul-26&quot;, &quot;09-Jul-26&quot;, &quot;10-Jul-26&quot;, &quot;13-Jul-26&quot;, &quot;14-Jul-26&quot;, &quot;15-Jul-26&quot;, &quot;16-Jul-26&quot;, &quot;17-Jul-26&quot;, &quot;20-Jul-26&quot;, &quot;21-Jul-26&quot;, &quot;22-Jul-26&quot;, &quot;23-Jul-26&quot;, &quot;24-Jul-26&quot;, &quot;27-Jul-26&quot;, &quot;28-Jul-26&quot;, &quot;29-Jul-26&quot;, &quot;30-Jul-26&quot;, &quot;03-Aug-26&quot;, &quot;04-Aug-26&quot;, &quot;05-Aug-26&quot;, &quot;06-Aug-26&quot;, &quot;07-Aug-26&quot;, &quot;10-Aug-26&quot;, &quot;11-Aug-26&quot;, &quot;12-Aug-26&quot;, &quot;13-Aug-26&quot;, &quot;17-Aug-26&quot;, &quot;18-Aug-26&quot;, &quot;20-Aug-26&quot;];
            
            const rawData = [279.77, 279.87, 279.82, 279.97, 280.07, 279.95, 279.97, 280.05, 280.21, 280.17, 280.27, 280.21, 280.22, 280.26, 280.37, 280.42, 280.26, 280.22, 280.16, 280.56, 280.47, 280.57, 280.73, 280.78, 280.56, 280.47, 280.60, 280.57, 280.46, 280.62, 280.72, 280.87, 280.77, 280.97, 281.07, 280.97, 281.07, 281.02, 280.97, 281.06, 281.22, 281.37, 281.47, 281.52, 281.71, 281.57, 281.67, 281.72, 281.61, 281.66, 281.77, 281.92, 281.97, 282.06, 281.97, 282.06, 282.17, 282.07, 282.02, 281.97, 282.12, 282.22, 282.17, 282.21, 282.47, 282.67, 282.96, 283.17, 283.41, 283.55, 283.64, 283.70, 283.87, 283.77, 283.72, 283.67, 283.72, 283.76, 283.95, 283.86, 283.97, 284.22, 284.36, 284.47, 284.56, 284.46, 284.72, 284.67, 284.96, 284.97, 284.87, 284.95, 284.97, 284.76, 284.22, 283.45, 283.21, 283.05, 282.95, 282.87, 282.72, 282.66, 282.57, 282.67, 282.56, 282.47, 282.45, 282.42, 282.22, 282.06, 282.01, 281.96, 281.95, 281.92, 281.90, 281.87, 281.86, 281.83, 281.8, 281.77, 281.75, 281.72, 281.71, 281.67, 281.65, 281.62, 281.61, 281.60, 281.56, 281.55, 281.52, 281.51, 281.50, 281.47, 281.46, 281.45, 281.46, 281.42, 281.43, 281.41, 281.37, 281.35, 281.32, 281.31, 281.27, 281.26, 281.25, 281.22, 281.21, 281.20, 281.17, 281.16, 281.15, 281.12, 281.11, 281.10, 281.07, 281.06, 281.05, 281.03, 281.02, 281.01, 280.97, 280.96, 280.92, 280.91, 280.90, 280.87, 280.86, 280.85, 280.82, 280.81, 280.78, 280.77, 280.76, 280.72, 280.71, 280.67, 280.66, 280.66, 280.65, 280.62, 280.61, 280.57, 280.56, 280.55, 280.52, 280.51, 280.47, 280.46, 280.45, 280.42, 280.41, 280.40, 280.37, 280.36, 280.32, 280.31, 280.30, 280.27, 280.26, 280.25, 280.22, 280.21, 280.20, 280.17, 280.16, 280.15, 280.12, 280.11, 280.10, 280.07, 280.06, 280.05, 280.02, 280.01, 280.0, 279.97, 279.96, 279.95, 279.92, 279.91, 279.90, 279.87, 279.86, 279.85, 279.82, 279.81, 279.80, 279.77, 279.76, 279.75, 279.72, 279.71, 279.70, 279.67, 279.66, 279.65, 279.62, 279.61, 279.60, 279.57, 279.56, 279.55, 279.52, 279.51, 279.50, 279.47, 279.46, 279.45, 279.42, 279.41, 279.40, 279.37, 279.36, 279.35, 279.32, 279.31, 279.30, 279.27, 279.26, 279.25, 279.22, 279.21, 279.20, 279.17, 279.16, 279.15, 279.12, 279.11, 279.10, 279.07, 279.06, 279.05, 279.02, 279.01, 279.00, 278.97, 278.96, 278.95, 278.92, 278.91, 278.90, 278.87, 278.86, 278.85, 278.82, 278.81, 278.80, 278.77, 278.76, 278.75, 278.72, 278.71, 278.70, 278.67, 278.66, 278.65, 278.62, 278.61, 278.60, 278.57, 278.56, 278.55, 278.52, 278.51, 278.50, 278.47, 278.46, 278.45, 278.42, 278.41, 278.40, 278.37, 278.36, 278.35, 278.32, 278.31, 278.30, 278.27, 278.26, 278.25, 278.22, 278.21, 278.20, 278.17, 278.16, 278.15, 278.12, 278.11, 278.10, 278.07, 278.06, 278.05, 278.02, 278.01, 278.00, 277.95, 277.95, 277.92, 277.91, 277.90, 277.87, 277.86, 277.85, 277.82, 277.81, 277.80, 277.77, 277.76, 277.75, 277.72, 277.71, 277.70, 277.67, 277.66, 277.65, 277.62, 277.61, 277.57];
            
            const currentExchangeRate = rawData[rawData.length - 1];

            const usdInput = document.getElementById(&#039;usdInput&#039;);
            const pkrInput = document.getElementById(&#039;pkrInput&#039;);
            const badgeEl = document.getElementById(&#039;latestBadgeRate&#039;);

            const formatCurrency = (val, maxDecimals = 2, minDecimals = 2) =&gt; {
                return val.toLocaleString(&#039;en-US&#039;, {
                    minimumFractionDigits: minDecimals,
                    maximumFractionDigits: maxDecimals
                });
            };

            const parseCurrency = (valStr) =&gt; {
                return parseFloat(valStr.replace(/,/g, &#039;&#039;));
            };

            // Set Initial Values
            badgeEl.textContent = formatCurrency(currentExchangeRate) + &#039; PKR&#039;;
            pkrInput.value = formatCurrency(currentExchangeRate);

            usdInput.addEventListener(&#039;input&#039;, (e) =&gt; {
                const val = parseCurrency(e.target.value);
                if (isNaN(val)) {
                    pkrInput.value = &#039;&#039;;
                } else {
                    pkrInput.value = formatCurrency(val * currentExchangeRate);
                }
            });

            pkrInput.addEventListener(&#039;input&#039;, (e) =&gt; {
                const val = parseCurrency(e.target.value);
                if (isNaN(val)) {
                    usdInput.value = &#039;&#039;;
                } else {
                    usdInput.value = formatCurrency(val / currentExchangeRate);
                }
            });

            usdInput.addEventListener(&#039;blur&#039;, (e) =&gt; {
                const val = parseCurrency(e.target.value);
                if (!isNaN(val)) {
                    e.target.value = formatCurrency(val, 2, 0);
                }
            });

            pkrInput.addEventListener(&#039;blur&#039;, (e) =&gt; {
                const val = parseCurrency(e.target.value);
                if (!isNaN(val)) {
                    e.target.value = formatCurrency(val);
                }
            });

            const ctx = document.getElementById(&#039;closingRatesChart&#039;).getContext(&#039;2d&#039;);
            new Chart(ctx, {
                type: &#039;line&#039;,
                data: {
                    labels: rawLabels,
                    datasets: [{
                        data: rawData,
                        borderColor: &#039;#4f46e5&#039;,
                        backgroundColor: &#039;rgba(79, 70, 229, 0.1)&#039;,
                        fill: true,
                        tension: 0.1
                    }]
                },
                options: {
                    responsive: true,
                    maintainAspectRatio: false,
                    plugins: {
                        legend: { display: false },
                        tooltip: {
                            callbacks: {
                                label: function(context) {
                                    return formatCurrency(context.parsed.y) + &#039; PKR&#039;;
                                }
                            }
                        }
                    },
                    scales: {
                        y: {
                            ticks: {
                                callback: function(value) {
                                    return formatCurrency(value, 2, 0);
                                }
                            }
                        }
                    }
                }
            });
        })();
    &lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;
    &lt;script&gt;
        function reportHeight() {
            var h = document.documentElement.scrollHeight;
            window.parent.postMessage({ type: &#039;raw-html-resize&#039;, id: &#039;raw-html-6a871c4484e84&#039;, height: h }, &#039;*&#039;);
        }
        window.addEventListener(&#039;load&#039;, reportHeight);
        if (window.ResizeObserver) {
            new ResizeObserver(reportHeight).observe(document.body);
        }
    &lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;"></iframe>
<script>
if (!window._rawHtmlListenerAttached) {
    window._rawHtmlListenerAttached = true;
    window.addEventListener('message', function(event) {
        if (event.data && event.data.type === 'raw-html-resize' && event.data.id) {
            var iframe = document.getElementById(event.data.id);
            if (iframe) {
                var height = Math.min(Math.max(event.data.height, 50), 9200);
                iframe.style.height = height + 'px';
            }
        }
    });
}
</script>
<p><strong>The Pakistani rupee extended its marginal gains, appreciating 0.01%, against the US dollar on Thursday.</strong></p>
<p>The local unit closed the day at 277.57, a gain of Re0.03 against the greenback.</p>
    <figure class='media  w-full sm:w-full  media--center  media--embed  media--uneven media--tweet' data-original-src='https://x.com/StateBank_Pak/status/2090407643718525153'>
        <div class='media__item  media__item--twitter  '><span>
    <blockquote class="twitter-tweet" lang="en">
        <a href="https://twitter.com/StateBank_Pak/status/2090407643718525153"></a>
    </blockquote>
</span></div>
        
    </figure>
<p><a href="https://www.brecorder.com/news/40435570/rupee-records-gain-against-us-dollar"><u>On Wednesday</u></a><u>, </u>the Pakistani rupee settled at 277.60 against the dollar.</p>
<p>Furthermore, the US dollar nursed steep losses on Thursday, hovering near three-month lows.</p>
<p>The ‌dollar index , which measures the US currency against six other units, was at 98.938, around its lowest level since mid-May.</p>
<p>The euro was at $1.1676, perched at the highest level since late May.</p>
<p>The ​US Treasury unveiled plans to double liquidity support buyback operations for longer-dated bonds ​after a steep bond selloff pushed the 30-year Treasury yield to a ⁠19-year high of 5.337%.</p>
<p>The yield was last at 5.184% after dropping 9 ​basis points following the announcement on Wednesday.</p>
<p><a href="https://www.brecorder.com/news/40435706/oil-hits-3-week-high-on-middle-east-supply-concerns-amid-war-impasse">Oil prices climbed</a> to more than three-week highs on ‌Thursday, driven by concerns that the impasse in the Iran war will continue to disrupt supply from the key Middle Eastern producing region.</p>
<p>Brent crude futures for October delivery were up $2.19, or 2.39%, to $93.81 a barrel at 1257 GMT, while US West ​Texas Intermediate crude futures for September added $2.33 to $88.16 a barrel. The more-active October WTI contract was ​up $2.44, or 2.89%, to $86.83.</p>
<p><strong>Inter-bank market rates for dollar on Thursday</strong></p>
<p>BID Rs 277.57</p>
<p>OFFER Rs 277.77</p>
<p><strong>Open-market movement</strong></p>
<p>In the open market, the PKR gained 12 paise for buying and 10 paise for selling against USD, closing at 278.26 and 279.28, respectively.</p>
<p>Against Euro, the PKR lost 2.27 rupees for buying and 2.65 rupees for selling, closing at 323.31 and 326.47, respectively.</p>
<p>Against UAE Dirham, the PKR gained 5 paise for buying and 2 paise for selling, closing at 75.56 and 76.28, respectively.</p>
<p>Against Saudi Riyal, the PKR gained 8 paise for buying and 4 paise for selling, closing at 73.80 and 74.47, respectively.</p>
<p><strong>Open-market rates for dollar on Thursday</strong></p>
<p>BID Rs 278.26</p>
<p>OFFER Rs 279.28</p>
]]></content:encoded>
      <category>Markets</category>
      <guid>https://www.brecorder.com/news/40435760</guid>
      <pubDate>Thu, 20 Aug 2026 20:24:52 +0500</pubDate>
      <author>none@none.com (Recorder Report)</author>
      <media:content url="https://i.brecorder.com/large/2026/08/2016335348a6ff2.webp" type="image/webp" medium="image" height="768" width="1024">
        <media:thumbnail url="https://i.brecorder.com/thumbnail/2026/08/2016335348a6ff2.webp"/>
        <media:title/>
      </media:content>
    </item>
    <item xmlns:default="http://purl.org/rss/1.0/modules/content/">
      <title>Pakistan rupee records gain against US dollar</title>
      <link>https://www.brecorder.com/news/40435570/pakistan-rupee-records-gain-against-us-dollar</link>
      <description>&lt;p&gt;&lt;strong&gt;The Pakistani rupee extended its marginal gains against the US dollar on Wednesday.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The local unit closed the day at 277.60, a gain of Re0.01 against the greenback.&lt;/p&gt;
    &lt;figure class='media  w-full sm:w-full  media--center  media--embed  media--uneven media--tweet' data-original-src='https://x.com/StateBank_Pak/status/2090038722482045189'&gt;
        &lt;div class='media__item  media__item--twitter  '&gt;&lt;span&gt;
    &lt;blockquote class="twitter-tweet" lang="en"&gt;
        &lt;a href="https://twitter.com/StateBank_Pak/status/2090038722482045189"&gt;&lt;/a&gt;
    &lt;/blockquote&gt;
&lt;/span&gt;&lt;/div&gt;
        
    &lt;/figure&gt;
&lt;p&gt;&lt;a href="https://www.brecorder.com/news/40435371/rupee-registers-gain-against-us-dollar"&gt;&lt;u&gt;On Tuesday&lt;/u&gt;&lt;/a&gt;&lt;u&gt;, &lt;/u&gt;the Pakistani rupee settled at 277.61 against the dollar.&lt;/p&gt;
&lt;p&gt;Furthermore, the US dollar drifted near multi-month lows against ​major peers on Wednesday as Treasury yields eased from recent highs, with investors awaiting ‌minutes of the Federal Reserve’s latest policy meeting for clues on the path of interest rates.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.brecorder.com/news/40435525/dollar-drifts-near-multi-month-lows-as-treasury-yields-ease-fed-minutes-awaited"&gt;The euro inched&lt;/a&gt; higher to $1.1577, remaining close to the two-month high touched earlier this week.&lt;/p&gt;
&lt;p&gt;Sterling was little changed at $1.3533, holding near a ​three-month high ahead of British inflation data due later on Wednesday, which is widely expected ​to show persistent price pressure.&lt;/p&gt;
&lt;p&gt;The Japanese yen was little changed at 159.56 per ⁠dollar, having given back much of its intervention gains, but it is still well off a multi-decade ​low of about 164.&lt;/p&gt;
&lt;p&gt;The dollar index, which measures the US currency against six major peers, was ​down marginally at 99.65.&lt;/p&gt;
&lt;p&gt;Meanwhile, &lt;a href="https://www.brecorder.com/news/40435522/oil-hits-three-week-high-on-uncertainty-over-hormuz"&gt;oil prices trimmed ​gains&lt;/a&gt; but kept near a three-week high hit earlier on Wednesday on uncertainty over shipping through the Strait ‌of Hormuz and other ongoing supply disruptions in the market.&lt;/p&gt;
&lt;p&gt;Brent crude futures were up 18 cents, or 0.2%, at $91.20 by 1302 GMT, while US West Texas Intermediate crude futures were 16 cents, or 0.19% higher at $85.10 a barrel.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Inter-bank market rates for dollar on Wednesday&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;BID Rs 277.60&lt;/p&gt;
&lt;p&gt;OFFER Rs 277.80&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Open-market movement&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;In the open market, the PKR gained 8 paise for buying and 3 paise for selling against USD, closing at 278.38 and 279.38, respectively.&lt;/p&gt;
&lt;p&gt;Against Euro, the PKR lost 19 paise for buying and 3 paise for selling, closing at 321.04 and 323.82, respectively.&lt;/p&gt;
&lt;p&gt;Against UAE Dirham, the PKR gained 8 paise for buying and 5 paise for selling, closing at 75.61 and 76.30, respectively.&lt;/p&gt;
&lt;p&gt;Against Saudi Riyal, the PKR gained 11 paise for buying and 9 paise for selling, closing at 73.88 and 74.51, respectively.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Open-market rates for dollar on Wednesday&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;BID Rs 278.38&lt;/p&gt;
&lt;p&gt;OFFER Rs 279.38&lt;/p&gt;
</description>
      <content:encoded xmlns="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p><strong>The Pakistani rupee extended its marginal gains against the US dollar on Wednesday.</strong></p>
<p>The local unit closed the day at 277.60, a gain of Re0.01 against the greenback.</p>
    <figure class='media  w-full sm:w-full  media--center  media--embed  media--uneven media--tweet' data-original-src='https://x.com/StateBank_Pak/status/2090038722482045189'>
        <div class='media__item  media__item--twitter  '><span>
    <blockquote class="twitter-tweet" lang="en">
        <a href="https://twitter.com/StateBank_Pak/status/2090038722482045189"></a>
    </blockquote>
</span></div>
        
    </figure>
<p><a href="https://www.brecorder.com/news/40435371/rupee-registers-gain-against-us-dollar"><u>On Tuesday</u></a><u>, </u>the Pakistani rupee settled at 277.61 against the dollar.</p>
<p>Furthermore, the US dollar drifted near multi-month lows against ​major peers on Wednesday as Treasury yields eased from recent highs, with investors awaiting ‌minutes of the Federal Reserve’s latest policy meeting for clues on the path of interest rates.</p>
<p><a href="https://www.brecorder.com/news/40435525/dollar-drifts-near-multi-month-lows-as-treasury-yields-ease-fed-minutes-awaited">The euro inched</a> higher to $1.1577, remaining close to the two-month high touched earlier this week.</p>
<p>Sterling was little changed at $1.3533, holding near a ​three-month high ahead of British inflation data due later on Wednesday, which is widely expected ​to show persistent price pressure.</p>
<p>The Japanese yen was little changed at 159.56 per ⁠dollar, having given back much of its intervention gains, but it is still well off a multi-decade ​low of about 164.</p>
<p>The dollar index, which measures the US currency against six major peers, was ​down marginally at 99.65.</p>
<p>Meanwhile, <a href="https://www.brecorder.com/news/40435522/oil-hits-three-week-high-on-uncertainty-over-hormuz">oil prices trimmed ​gains</a> but kept near a three-week high hit earlier on Wednesday on uncertainty over shipping through the Strait ‌of Hormuz and other ongoing supply disruptions in the market.</p>
<p>Brent crude futures were up 18 cents, or 0.2%, at $91.20 by 1302 GMT, while US West Texas Intermediate crude futures were 16 cents, or 0.19% higher at $85.10 a barrel.</p>
<p><strong>Inter-bank market rates for dollar on Wednesday</strong></p>
<p>BID Rs 277.60</p>
<p>OFFER Rs 277.80</p>
<p><strong>Open-market movement</strong></p>
<p>In the open market, the PKR gained 8 paise for buying and 3 paise for selling against USD, closing at 278.38 and 279.38, respectively.</p>
<p>Against Euro, the PKR lost 19 paise for buying and 3 paise for selling, closing at 321.04 and 323.82, respectively.</p>
<p>Against UAE Dirham, the PKR gained 8 paise for buying and 5 paise for selling, closing at 75.61 and 76.30, respectively.</p>
<p>Against Saudi Riyal, the PKR gained 11 paise for buying and 9 paise for selling, closing at 73.88 and 74.51, respectively.</p>
<p><strong>Open-market rates for dollar on Wednesday</strong></p>
<p>BID Rs 278.38</p>
<p>OFFER Rs 279.38</p>
]]></content:encoded>
      <category>Markets</category>
      <guid>https://www.brecorder.com/news/40435570</guid>
      <pubDate>Wed, 19 Aug 2026 18:35:10 +0500</pubDate>
      <author>none@none.com (Recorder Report)</author>
      <media:content url="https://i.brecorder.com/large/2026/08/191614346b5cd36.webp" type="image/webp" medium="image" height="768" width="1024">
        <media:thumbnail url="https://i.brecorder.com/thumbnail/2026/08/191614346b5cd36.webp"/>
        <media:title/>
      </media:content>
    </item>
  </channel>
</rss>
