/* next/pages/backtest.css: page blocks for /free-backtest/ (route "backtest", templates/backtest.php)
   and /2026/05/04/download-backtest/ (route "download", templates/download.php).
   Loaded by those two templates only, after next/site.css. Every rule is scoped to
   body.dgn-page[data-page="backtest"|"download"] (KIT 9): .dgn-page is printed only by rebuilt
   templates, so the old bodies of these routes, printed under the new chrome with the same
   data-page, are never restyled. Kit classes and tokens only; no new colours. */

/* ---------- shared: MT5 menu names, files and keys (dgn_backtest_rich()), settings rows ---------- */
body.dgn-page:is([data-page="backtest"],[data-page="download"]) .dgn-bt-ui{padding:1px 7px;border:1px solid var(--dgn-line2);border-radius:6px;background:rgba(255,255,255,.04);color:#ececf0;font-weight:500;-webkit-box-decoration-break:clone;box-decoration-break:clone}
body.dgn-page:is([data-page="backtest"],[data-page="download"]) .dgn-bt-code{padding:1px 6px;border:0;border-radius:5px;background:rgba(251,191,36,.08);color:var(--dgn-gold);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.88em;font-weight:500;white-space:nowrap}
body.dgn-page:is([data-page="backtest"],[data-page="download"]) .dgn-bt-kbd{display:inline-block;padding:0 7px;border:1px solid var(--dgn-line3);border-bottom-width:2px;border-radius:6px;background:rgba(255,255,255,.05);box-shadow:none;color:#fff;font-family:var(--dgn-fb);font-size:.86em;font-weight:600;line-height:1.5;white-space:nowrap}
body.dgn-page:is([data-page="backtest"],[data-page="download"]) .dgn-bt-dlicon{flex:none}

body.dgn-page:is([data-page="backtest"],[data-page="download"]) .dgn-bt-set{margin:0;border-top:1px solid var(--dgn-line2)}
body.dgn-page:is([data-page="backtest"],[data-page="download"]) .dgn-bt-set__row{display:grid;grid-template-columns:minmax(120px,170px) minmax(0,1fr);column-gap:24px;padding:18px 0;border-bottom:1px solid var(--dgn-line)}
body.dgn-page:is([data-page="backtest"],[data-page="download"]) .dgn-bt-set dt{padding-top:4px;font-family:var(--dgn-fd);font-stretch:112%;font-weight:700;font-size:11px;line-height:1.4;letter-spacing:.16em;text-transform:uppercase;color:var(--dgn-dim)}
body.dgn-page:is([data-page="backtest"],[data-page="download"]) .dgn-bt-set dd{margin:0;min-width:0}
body.dgn-page:is([data-page="backtest"],[data-page="download"]) .dgn-bt-set__v{display:block;font-size:16px;font-weight:600;line-height:1.5;color:#fff}
body.dgn-page:is([data-page="backtest"],[data-page="download"]) .dgn-bt-set__n{display:block;margin-top:4px;font-size:13.5px;line-height:1.6;color:var(--dgn-muted)}
body.dgn-page:is([data-page="backtest"],[data-page="download"]) .dgn-bt-set--compact .dgn-bt-set__row{padding:15px 0}
body.dgn-page:is([data-page="backtest"],[data-page="download"]) .dgn-bt-set--compact .dgn-bt-set__v{font-size:15px;font-weight:500;color:#ececf0}

/* ---------- /free-backtest/ hero: text left, the BACKTEST recording right ---------- */
body.dgn-page[data-page="backtest"] .dgn-bt-media{min-width:0}
body.dgn-page[data-page="backtest"] .dgn-bt-media__note{max-width:560px;margin-top:20px;padding-left:14px;border-left:2px solid rgba(251,191,36,.55);font-size:13.5px;line-height:1.6;color:var(--dgn-muted);text-wrap:pretty}
body.dgn-page[data-page="backtest"] .dgn-bt-hero .dgn-trust small{text-wrap:pretty}

/* ---------- guided test: heading, progress and stage links left (sticky on wide screens), the four stages right ---------- */
body.dgn-page[data-page="backtest"] .dgn-bt-guide__grid{display:grid;grid-template-columns:minmax(0,1fr);row-gap:40px}
body.dgn-page[data-page="backtest"] .dgn-bt-guide .dgn-lead{max-width:460px}

body.dgn-page[data-page="backtest"] .dgn-bt-progress{max-width:460px;margin-top:32px;padding:18px 0 14px;border-top:1px solid var(--dgn-line2);border-bottom:1px solid var(--dgn-line)}
body.dgn-page[data-page="backtest"] .dgn-bt-progress__k{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 16px;font-size:13.5px;line-height:1.5;color:var(--dgn-muted)}
body.dgn-page[data-page="backtest"] .dgn-bt-progress__k b{font-weight:600;color:#fff}
body.dgn-page[data-page="backtest"] .dgn-bt-progress__k span{font-variant-numeric:tabular-nums}
body.dgn-page[data-page="backtest"] .dgn-bt-progress__track{position:relative;height:6px;margin-top:12px;border-radius:3px;background:rgba(255,255,255,.1);overflow:hidden}
/* page.js sets the bar's width (0-100%) */
body.dgn-page[data-page="backtest"] .dgn-bt-progress__track>span{display:block;width:0;height:100%;border-radius:inherit;background:var(--dgn-grad);transition:width .3s var(--dgn-ease)}
body.dgn-page[data-page="backtest"] .dgn-bt-reset{display:inline-block;margin-top:10px;padding:2px 0;font-size:12.5px;font-weight:600;line-height:1.5;color:var(--dgn-dim);text-decoration:underline;text-decoration-color:rgba(255,255,255,.25);text-underline-offset:3px}
body.dgn-page[data-page="backtest"] .dgn-bt-reset:is(:hover,:focus){color:#fff;background:transparent;text-decoration-color:currentColor}
body.dgn-page[data-page="backtest"] .dgn-bt-reset:focus-visible{outline:2px solid var(--dgn-gold);outline-offset:2px}

body.dgn-page[data-page="backtest"] .dgn-bt-jump{display:grid;max-width:460px;margin-top:18px}
body.dgn-page[data-page="backtest"] .dgn-bt-jump a{display:flex;align-items:baseline;gap:14px;padding:10px 0;border-bottom:1px solid var(--dgn-line);font-size:14.5px;font-weight:500;line-height:1.4;color:#d9d9df;transition:color .2s}
body.dgn-page[data-page="backtest"] .dgn-bt-jump a:is(:hover,:focus){color:var(--dgn-gold)}
body.dgn-page[data-page="backtest"] .dgn-bt-jump a:focus-visible{outline:2px solid var(--dgn-gold);outline-offset:2px}
body.dgn-page[data-page="backtest"] .dgn-bt-jump b{font-family:var(--dgn-fd);font-stretch:74%;font-weight:850;font-size:17px;line-height:1;color:var(--dgn-gold);font-variant-numeric:tabular-nums;transition:color .25s}
/* a ticked stage turns its stage link green too (audit fix, 24 Sep 2026): :has() reads the tick box, so page.js is unchanged */
@supports selector(:has(a)){
  body.dgn-page[data-page="backtest"] .dgn-bt-guide__grid:has(#prepare input:checked) .dgn-bt-jump a[href="#prepare"],
  body.dgn-page[data-page="backtest"] .dgn-bt-guide__grid:has(#install input:checked) .dgn-bt-jump a[href="#install"],
  body.dgn-page[data-page="backtest"] .dgn-bt-guide__grid:has(#run input:checked) .dgn-bt-jump a[href="#run"],
  body.dgn-page[data-page="backtest"] .dgn-bt-guide__grid:has(#read input:checked) .dgn-bt-jump a[href="#read"]{color:#bdf5cf}
  body.dgn-page[data-page="backtest"] .dgn-bt-guide__grid:has(#prepare input:checked) .dgn-bt-jump a[href="#prepare"] b,
  body.dgn-page[data-page="backtest"] .dgn-bt-guide__grid:has(#install input:checked) .dgn-bt-jump a[href="#install"] b,
  body.dgn-page[data-page="backtest"] .dgn-bt-guide__grid:has(#run input:checked) .dgn-bt-jump a[href="#run"] b,
  body.dgn-page[data-page="backtest"] .dgn-bt-guide__grid:has(#read input:checked) .dgn-bt-jump a[href="#read"] b{color:var(--dgn-prop)}
}

body.dgn-page[data-page="backtest"] .dgn-bt-stages{margin:0;padding:0;list-style:none;border-top:1px solid var(--dgn-line2)}
body.dgn-page[data-page="backtest"] .dgn-bt-stage{position:relative;display:grid;grid-template-columns:64px minmax(0,1fr) auto;grid-template-areas:"n body check";column-gap:24px;align-items:start;padding:30px 0 32px;border-bottom:1px solid var(--dgn-line)}
/* a green rule marks a completed stage: page.js sets .is-complete; :has() covers ticks without JS */
body.dgn-page[data-page="backtest"] .dgn-bt-stage::before{content:"";position:absolute;left:-14px;top:30px;bottom:32px;width:2px;border-radius:2px;background:var(--dgn-prop);opacity:0;transition:opacity .3s}
body.dgn-page[data-page="backtest"] .dgn-bt-stage.is-complete::before{opacity:1}
body.dgn-page[data-page="backtest"] .dgn-bt-stage__n{grid-area:n;font-family:var(--dgn-fd);font-stretch:72%;font-weight:850;font-size:44px;line-height:.9;color:transparent;-webkit-text-stroke:1px var(--dgn-gold);font-variant-numeric:tabular-nums;transition:-webkit-text-stroke-color .3s}
body.dgn-page[data-page="backtest"] .dgn-bt-stage.is-complete .dgn-bt-stage__n{-webkit-text-stroke-color:var(--dgn-prop)}
body.dgn-page[data-page="backtest"] .dgn-bt-stage__body{grid-area:body;min-width:0}
body.dgn-page[data-page="backtest"] .dgn-bt-stage .dgn-h3{margin-top:10px}
body.dgn-page[data-page="backtest"] .dgn-bt-list{display:grid;gap:8px;margin:14px 0 0;padding:0 0 0 1.25em;font-size:15px;line-height:1.7;color:var(--dgn-muted)}
body.dgn-page[data-page="backtest"] ul.dgn-bt-list{list-style:disc}
body.dgn-page[data-page="backtest"] ol.dgn-bt-list{list-style:decimal}
body.dgn-page[data-page="backtest"] .dgn-bt-list li{padding-left:4px}
body.dgn-page[data-page="backtest"] .dgn-bt-list li::marker{color:var(--dgn-gold);font-weight:600}
body.dgn-page[data-page="backtest"] .dgn-bt-stage__check{grid-area:check;justify-self:end;align-items:center;gap:10px;padding:9px 14px 9px 12px;border:1px solid var(--dgn-line2);border-radius:10px;font-size:13.5px;font-weight:600;line-height:1.3;color:#d9d9df;white-space:nowrap;transition:border-color .25s,background .25s,color .25s}
body.dgn-page[data-page="backtest"] .dgn-bt-stage__check:hover{border-color:var(--dgn-line3)}
body.dgn-page[data-page="backtest"] .dgn-bt-stage__check input:is([type="checkbox"]){margin:0}
body.dgn-page[data-page="backtest"] .dgn-bt-stage.is-complete .dgn-bt-stage__check{border-color:rgba(74,222,128,.45);background:rgba(74,222,128,.08);color:#bdf5cf}
body.dgn-page[data-page="backtest"] .dgn-bt-stage__check input:checked{border-color:var(--dgn-prop);background-color:rgba(74,222,128,.14);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8.5l3 3 7-7' fill='none' stroke='%234ade80' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
@supports selector(:has(a)){
  body.dgn-page[data-page="backtest"] .dgn-bt-stage:has(input:checked)::before{opacity:1}
  body.dgn-page[data-page="backtest"] .dgn-bt-stage:has(input:checked) .dgn-bt-stage__n{-webkit-text-stroke-color:var(--dgn-prop)}
  body.dgn-page[data-page="backtest"] .dgn-bt-stage__check:has(input:checked){border-color:rgba(74,222,128,.45);background:rgba(74,222,128,.08);color:#bdf5cf}
}

/* ---------- settings, report, compare ---------- */
body.dgn-page[data-page="backtest"] .dgn-bt-settings .dgn-lead{max-width:460px}
body.dgn-page[data-page="backtest"] .dgn-bt-metrics{margin:0;padding:0}
body.dgn-page[data-page="backtest"] .dgn-bt-metrics__n{font-family:var(--dgn-fd);font-stretch:112%;font-weight:700;font-size:11px;line-height:1.3;letter-spacing:.2em;color:var(--dgn-gold)}
body.dgn-page[data-page="backtest"] .dgn-bt-metrics .dgn-h3{font-size:clamp(20px,1.8vw,24px)}
body.dgn-page[data-page="backtest"] .dgn-bt-compare{background:linear-gradient(180deg,var(--dgn-bg2),rgba(251,191,36,.028) 40%,var(--dgn-bg2))}

@media (min-width:1141px){
  /* three lines ("Backtest DowGold / yourself. / Free.") beside the recording, not four */
  body.dgn-page[data-page="backtest"] .dgn-bt-hero .dgn-h1{font-size:clamp(44px,4.6vw,68px)}
  body.dgn-page[data-page="backtest"] .dgn-bt-guide__grid{grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);column-gap:72px;align-items:start}
  body.dgn-page[data-page="backtest"] .dgn-bt-split{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:72px}
  /* stage links: a green tick beside a ticked stage (wide screens, where the links are a list) */
  @supports selector(:has(a)){
    body.dgn-page[data-page="backtest"] .dgn-bt-jump a::after{content:"";margin-left:auto;align-self:center;width:14px;height:14px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8.5l3 3 7-7' fill='none' stroke='%234ade80' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;opacity:0;transition:opacity .25s}
    body.dgn-page[data-page="backtest"] .dgn-bt-guide__grid:has(#prepare input:checked) .dgn-bt-jump a[href="#prepare"]::after,
    body.dgn-page[data-page="backtest"] .dgn-bt-guide__grid:has(#install input:checked) .dgn-bt-jump a[href="#install"]::after,
    body.dgn-page[data-page="backtest"] .dgn-bt-guide__grid:has(#run input:checked) .dgn-bt-jump a[href="#run"]::after,
    body.dgn-page[data-page="backtest"] .dgn-bt-guide__grid:has(#read input:checked) .dgn-bt-jump a[href="#read"]::after{opacity:1}
  }
}
/* the side column sticks only when the whole of it fits on screen: at 1280x720 it is taller than the
   viewport and "04 Read" would stay below the fold (audit fix, 24 Sep 2026; the same guard as faq.css) */
@media (min-width:1141px) and (min-height:760px){
  body.dgn-page[data-page="backtest"] .dgn-bt-guide__side{position:-webkit-sticky;position:sticky;top:104px}
}
@media (min-width:1600px){
  body.dgn-page[data-page="backtest"] .dgn-bt-hero .dgn-h1{font-size:clamp(76px,4.3vw,84px)}
  body.dgn-page[data-page="backtest"] .dgn-bt-guide__grid{column-gap:104px}
  body.dgn-page[data-page="backtest"] .dgn-bt-split{gap:104px}
}
@media (max-width:1140px){
  /* tablets and phones keep the kit's hero order (lead, recording, then the buttons), as home and every
     wave-2 page do (audit fix, 24 Sep 2026; the download page keeps its status box first, WAVE3 2.3) */
  body.dgn-page[data-page="backtest"] .dgn-bt-jump{grid-template-columns:repeat(4,minmax(0,1fr));max-width:680px;border-top:1px solid var(--dgn-line)}
  body.dgn-page[data-page="backtest"] .dgn-bt-jump a{justify-content:center;padding:12px 6px}
  body.dgn-page[data-page="backtest"] .dgn-bt-jump a+a{border-left:1px solid var(--dgn-line)}
}
@media (max-width:720px){
  body.dgn-page[data-page="backtest"] .dgn-bt-media__note{font-size:13px}
  body.dgn-page[data-page="backtest"] .dgn-bt-guide__grid{row-gap:32px}
  body.dgn-page[data-page="backtest"] .dgn-bt-jump a{flex-direction:column;align-items:center;gap:4px;padding:10px 2px;font-size:12.5px}
  body.dgn-page[data-page="backtest"] .dgn-bt-stage{grid-template-columns:44px minmax(0,1fr);grid-template-areas:"n body" ". check";column-gap:14px;padding:24px 0 26px}
  body.dgn-page[data-page="backtest"] .dgn-bt-stage::before{left:-10px;top:24px;bottom:26px}
  body.dgn-page[data-page="backtest"] .dgn-bt-stage__n{font-size:34px}
  body.dgn-page[data-page="backtest"] .dgn-bt-stage__check{justify-self:start;margin-top:16px}
  body.dgn-page[data-page="backtest"] .dgn-bt-list{font-size:14.5px}
  body.dgn-page:is([data-page="backtest"],[data-page="download"]) .dgn-bt-set__row{grid-template-columns:minmax(0,1fr);row-gap:6px;padding:16px 0}
  body.dgn-page:is([data-page="backtest"],[data-page="download"]) .dgn-bt-set dt{padding-top:0}
}

/* ---------- /2026/05/04/download-backtest/: the kit's split hero, status box left, the BACKTEST recording right ---------- */
body.dgn-page[data-page="download"] .dgn-dl-media{min-width:0}
body.dgn-page[data-page="download"] .dgn-dl-hero .dgn-trust small{text-wrap:pretty}
/* the recording waits for the kit's "Play backtest" button (no autoplay, preload none; sections/backtest-dl-hero.php)
   and gets native controls only once played: keep them clear of the tilted frame's clipped corner */
body.dgn-page[data-page="download"] .dgn-dl-media .dgn-video video{object-position:50% 50%}

/* the live status box: the script adds .is-requested to #dgea-dl-status 1.5 s after it requests the file */
body.dgn-page[data-page="download"] .dg-download-status{width:100%;max-width:600px;margin-top:0;padding:22px 24px 22px;border:1px solid rgba(251,191,36,.28);border-radius:18px;background:var(--dgn-card-hero);box-shadow:0 44px 110px -56px rgba(251,191,36,.26),inset 0 1px 0 rgba(255,255,255,.06)}
body.dgn-page[data-page="download"] .dg-download-status-row{display:flex;align-items:center;gap:11px;font-size:15.5px;font-weight:600;line-height:1.45;color:var(--dgn-gold)}
body.dgn-page[data-page="download"] .dgn-dl-status__acts{display:flex;flex-wrap:wrap;align-items:center;gap:14px 26px;margin-top:16px}
body.dgn-page[data-page="download"] .dgn-dl-status__acts .dg-download-again{margin-top:0}
body.dgn-page[data-page="download"] .dgn-dl-hero .dgn-trust{margin-top:28px}
body.dgn-page[data-page="download"] .dg-download-spinner{flex:none;width:19px;height:19px;border:2px solid rgba(251,191,36,.25);border-top-color:var(--dgn-gold);border-radius:50%;animation:dgn-dl-spin .85s linear infinite}
@keyframes dgn-dl-spin{to{transform:rotate(360deg)}}
body.dgn-page[data-page="download"] .dg-download-status-tick{display:none;flex:none;width:21px;height:21px;fill:none;stroke:var(--dgn-prop);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
body.dgn-page[data-page="download"] .dg-download-status-done{display:none}
body.dgn-page[data-page="download"] .dg-download-status.is-requested .dg-download-spinner,
body.dgn-page[data-page="download"] .dg-download-status.is-requested .dg-download-status-going{display:none}
body.dgn-page[data-page="download"] .dg-download-status.is-requested .dg-download-status-tick{display:block}
body.dgn-page[data-page="download"] .dg-download-status.is-requested .dg-download-status-done{display:inline}
body.dgn-page[data-page="download"] .dg-download-status.is-requested .dg-download-status-row{color:#86efac}
body.dgn-page[data-page="download"] .dg-download-status>p{margin-top:10px;font-size:13px;line-height:1.5;color:var(--dgn-muted)}
body.dgn-page[data-page="download"] .dg-download-again{margin-top:18px}

/* install steps left, settings right */
body.dgn-page[data-page="download"] .dgn-dl-steps{margin:30px 0 0;padding:0;list-style:none;border-top:1px solid var(--dgn-line2)}
body.dgn-page[data-page="download"] .dgn-dl-steps li{display:grid;grid-template-columns:52px minmax(0,1fr);column-gap:18px;padding:18px 0;border-bottom:1px solid var(--dgn-line)}
body.dgn-page[data-page="download"] .dgn-dl-steps b{font-family:var(--dgn-fd);font-stretch:72%;font-weight:850;font-size:34px;line-height:.9;color:transparent;-webkit-text-stroke:1px var(--dgn-gold);font-variant-numeric:tabular-nums}
body.dgn-page[data-page="download"] .dgn-dl-steps h3{font-family:var(--dgn-fd);font-stretch:92%;font-weight:800;font-size:19px;line-height:1.25;color:#fff}
body.dgn-page[data-page="download"] .dgn-dl-steps p{margin-top:5px;font-size:14.5px;line-height:1.7;color:var(--dgn-muted)}
body.dgn-page[data-page="download"] .dgn-dl-set .dgn-bt-set{margin-top:30px}
body.dgn-page[data-page="download"] .dgn-dl-set .dgn-note{margin-top:16px;max-width:460px}

@media (min-width:1141px){
  /* two lines ("Your DowGold backtest / is downloading.") beside the recording */
  body.dgn-page[data-page="download"] .dgn-dl-hero .dgn-h1{font-size:clamp(44px,4.3vw,64px)}
  body.dgn-page[data-page="download"] .dgn-dl-hero .dgn-hero__bot{margin-top:34px}
  body.dgn-page[data-page="download"] .dgn-dl-split{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:72px}
}
@media (min-width:1600px){
  body.dgn-page[data-page="download"] .dgn-dl-hero .dgn-h1{font-size:clamp(70px,4vw,78px)}
  body.dgn-page[data-page="download"] .dgn-dl-split{gap:104px}
}
@media (max-width:1140px){
  /* the download status before the recording on tablets and phones */
  body.dgn-page[data-page="download"] .dgn-dl-hero .dgn-hero__grid{grid-template-areas:"top" "bot" "card"}
}
@media (max-width:720px){
  body.dgn-page[data-page="download"] .dg-download-status{padding:20px 18px 22px;border-radius:16px}
  body.dgn-page[data-page="download"] .dgn-dl-status__acts{flex-direction:column;align-items:stretch;text-align:center}
  body.dgn-page[data-page="download"] .dg-download-status-row{font-size:15px}
  body.dgn-page[data-page="download"] .dg-download-again{width:100%}
  body.dgn-page[data-page="download"] .dgn-dl-steps li{grid-template-columns:40px minmax(0,1fr);column-gap:14px}
  body.dgn-page[data-page="download"] .dgn-dl-steps b{font-size:28px}
}

/* phones: a button never shrinks below its label; when two do not fit side by side, each takes the full row
   (the kit gives them flex:1 1 220px, which clipped "Download the free backtest" at 500px; integration, 24 Sep 2026) */
@media (max-width:720px){
  body.dgn-page:is([data-page="backtest"],[data-page="download"]) .dgn-cta-row .dgn-btn{min-width:-webkit-max-content;min-width:max-content}
  body.dgn-page[data-page="download"] .dgn-dl-status__acts .dgn-link{align-self:center}
}
