/* ============================================================
   MXDialed guides — shared stylesheet for the content pages.

   The APP is deliberately one self-contained file (see CLAUDE.md) and that
   rule is not being broken here: these are separate long-form pages, there
   are a dozen of them, and duplicating this into every one would guarantee
   they drift apart. Same-origin file, so `style-src 'self'` already allows it
   and the CSP needs no change.
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Chakra+Petch:ital,wght@0,600;0,700;1,700&display=swap');

:root{
  --dirt:#0d0f11; --panel:#171b1f; --panel2:#1e2429; --line:#2c3339;
  --orange:#ff5c1a; --orange-dim:#8f3410; --bone:#e9e7e1; --dim:#98a0a7;
  --good:#3ecf7e; --warn:#ffc02e; --bad:#ff4d4d;
  --head:'Chakra Petch',system-ui,sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--dirt);color:var(--bone);font:17px/1.7 system-ui,-apple-system,sans-serif;
  -webkit-font-smoothing:antialiased;overflow-x:hidden}

/* ---------- header ---------- */
header{position:sticky;top:0;z-index:20;background:rgba(13,15,17,.94);backdrop-filter:blur(8px);
  border-bottom:1px solid var(--line)}
.hbar{max-width:860px;margin:0 auto;padding:11px 20px;display:flex;align-items:center;gap:12px}
.logo{font:italic 700 20px var(--head);letter-spacing:.5px;text-decoration:none;color:var(--bone);white-space:nowrap}
.logo b{color:var(--orange)}
.spacer{flex:1}
.btn{display:inline-block;background:var(--orange);color:#140b06;border:none;border-radius:10px;
  padding:11px 17px;font:700 13px var(--head);letter-spacing:1px;cursor:pointer;text-decoration:none;
  white-space:nowrap}
.btn.ghost{background:none;border:1px solid var(--orange-dim);color:var(--orange)}
.btn.mini{padding:8px 13px;font-size:12px}
.btn:hover{filter:brightness(1.08)}

/* ---------- layout ---------- */
.wrap{max-width:720px;margin:0 auto;padding:0 20px 80px}
.crumb{font-size:13px;color:var(--dim);padding:22px 0 0}
.crumb a{color:var(--dim);text-decoration:none}
.crumb a:hover{color:var(--orange)}

h1{font:700 clamp(28px,5.2vw,40px)/1.15 var(--head);letter-spacing:.3px;margin:16px 0 14px}
.lede{font-size:19px;color:#c9cdd1;margin-bottom:8px}
.byline{font-size:13px;color:#6c757c;border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:28px}

h2{font:700 clamp(21px,3.4vw,26px)/1.25 var(--head);letter-spacing:.3px;margin:40px 0 12px;
  scroll-margin-top:70px}
h3{font:700 18px/1.3 var(--head);letter-spacing:.3px;margin:28px 0 8px;color:var(--bone)}
p{margin:0 0 16px;color:#d6d9dc}
a{color:var(--orange)}
strong,b{color:var(--bone);font-weight:700}
ul,ol{margin:0 0 18px;padding-left:22px;color:#d6d9dc}
li{margin:0 0 9px}
li::marker{color:var(--orange)}

/* ---------- blocks ---------- */
.card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:18px 20px;margin:24px 0}
.card h3{margin-top:0}
.callout{border-left:3px solid var(--orange);background:#ff5c1a10;border-radius:0 10px 10px 0;
  padding:14px 16px;margin:22px 0;font-size:16px}
.callout.bad{border-color:var(--bad);background:#ff4d4d12}
.callout.good{border-color:var(--good);background:#3ecf7e12}
.callout.warn{border-color:var(--warn);background:#ffc02e12}
.callout p:last-child{margin-bottom:0}

table{width:100%;border-collapse:collapse;margin:20px 0;font-size:15.5px;display:block;overflow-x:auto}
th,td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap}
th{font:700 12px var(--head);letter-spacing:1.2px;text-transform:uppercase;color:var(--orange);
  border-bottom:1px solid var(--orange-dim)}
td:first-child{color:#c9cdd1}
tbody tr:hover{background:var(--panel)}

.steps{counter-reset:s;list-style:none;padding:0}
.steps li{counter-increment:s;position:relative;padding:0 0 0 46px;margin-bottom:20px}
.steps li::before{content:counter(s);position:absolute;left:0;top:-2px;width:32px;height:32px;
  border-radius:50%;background:var(--panel2);border:1px solid var(--orange-dim);color:var(--orange);
  font:700 15px var(--head);display:flex;align-items:center;justify-content:center}
.steps li b{display:block;margin-bottom:3px}

/* ---------- app CTA ---------- */
.cta{background:linear-gradient(160deg,#1c2126,#141719);border:1px solid var(--orange-dim);
  border-radius:16px;padding:22px;margin:34px 0;text-align:center}
.cta h3{font-size:21px;margin:0 0 8px}
.cta p{color:#c9cdd1;font-size:15.5px;margin-bottom:16px}
.cta .btn{padding:13px 24px;font-size:14px}
.cta .fine{font-size:12.5px;color:#6c757c;margin:12px 0 0}

/* ---------- faq ---------- */
.faq{border-top:1px solid var(--line);margin-top:14px}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;padding:15px 0;font:700 16px var(--head);letter-spacing:.2px;
  list-style:none;display:flex;gap:12px;align-items:flex-start}
.faq summary::-webkit-details-marker{display:none}
.faq summary::before{content:"+";color:var(--orange);font-size:19px;line-height:1.1;flex:0 0 auto}
.faq details[open] summary::before{content:"–"}
.faq .a{padding:0 0 15px 24px;color:#c9cdd1;font-size:16px}
.faq .a p:last-child{margin-bottom:0}

/* ---------- related ---------- */
.related{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0 0}
@media(max-width:560px){.related{grid-template-columns:1fr}}
.related a{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:15px 16px;
  text-decoration:none;display:block;transition:border-color .15s}
.related a:hover{border-color:var(--orange-dim)}
.related b{display:block;font:700 15px var(--head);color:var(--bone);letter-spacing:.2px;margin-bottom:4px}
.related span{font-size:13.5px;color:var(--dim);line-height:1.5;display:block}

/* ---------- hub ---------- */
.hub{display:grid;gap:14px;margin-top:26px}
.hub a{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:20px;
  text-decoration:none;display:block;transition:border-color .15s}
.hub a:hover{border-color:var(--orange-dim)}
.hub b{display:block;font:700 19px var(--head);color:var(--bone);margin-bottom:5px}
.hub span{color:var(--dim);font-size:15.5px;line-height:1.55;display:block}
.hub .tag{display:inline-block;font:700 10.5px var(--head);letter-spacing:1.2px;text-transform:uppercase;
  color:var(--orange);border:1px solid var(--orange-dim);border-radius:999px;padding:3px 9px;margin-bottom:9px}

/* ---------- footer ---------- */
footer{border-top:1px solid var(--line);margin-top:56px;padding:22px 0 0;color:#6c757c;font-size:13px;
  line-height:1.65;text-align:center}
footer a{color:#6c757c;text-decoration:none}
footer a:hover{color:var(--orange)}
footer .disc{max-width:600px;margin:0 auto 14px}
