/* Nicotine dose curve. Light follows the site paper; dark keeps the original
   deep-navy instrument look. Series colours are tuned per theme for contrast. */
:root{
  --nd-ink:#1b1917;--nd-muted:#5d574f;--nd-bg:#faf8f4;--nd-panel:#ffffff;--nd-panel2:#f3f0e9;
  --nd-line:#d6cfc3;--nd-grid:#ebe6dd;--nd-cyan:#0f8a83;--nd-amber:#c46a00;--nd-night:rgba(40,52,80,.06);
  --nd-accent:#0f8a83;--nd-shadow:0 1px 0 rgba(27,25,23,.04),0 14px 40px -24px rgba(27,25,23,.35);
  --nd-note:#3a342d;
}
html[data-theme="dark"]{
  --nd-ink:#eaf0f6;--nd-muted:#98a7b8;--nd-bg:#07131f;--nd-panel:#0d1e2d;--nd-panel2:#081824;
  --nd-line:#2b4b62;--nd-grid:#173246;--nd-cyan:#56d8d0;--nd-amber:#ffb454;--nd-night:rgba(0,0,0,.22);
  --nd-accent:#56d8d0;--nd-shadow:0 18px 50px #0004;--nd-note:#dbe4ec;
}
html[data-theme="dark"] body.ig-site{background:radial-gradient(circle at 20% 0%,#11344b 0,#07131f 45%,#050d16 100%) fixed!important}
body.ig-site{color:var(--nd-ink)}
.nd *{box-sizing:border-box}
.nd{max-width:1180px;margin:0 auto;padding:30px 22px 70px;font:16px/1.5 var(--ig-sans,Inter,ui-sans-serif,system-ui,sans-serif);color:var(--nd-ink)}
.nd .eyebrow{font:12px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.16em;text-transform:uppercase;color:var(--nd-accent);margin:0 0 12px}
.nd h1{font-family:var(--ig-serif,Georgia,serif);font-weight:400;font-size:clamp(34px,6vw,68px);line-height:1;letter-spacing:-.03em;margin:0 0 16px;max-width:760px;color:var(--nd-ink)}
.nd h2{font-family:var(--ig-serif,Georgia,serif);font-weight:400;font-size:22px;margin:0;color:var(--nd-ink)}
.nd p{color:var(--nd-muted);max-width:70ch}
.nd .lede{font-size:18px;max-width:700px}
.nd .hero{display:grid;grid-template-columns:1.1fr .9fr;gap:28px;align-items:end;margin-bottom:26px}
.nd .note{border-left:2px solid var(--nd-amber);padding:12px 0 12px 16px;color:var(--nd-note)}
.nd .note strong{color:var(--nd-amber)}
.nd .layout{display:grid;grid-template-columns:310px minmax(0,1fr);gap:18px}
.nd .panel{background:var(--nd-panel);border:1px solid var(--nd-line);border-radius:16px;padding:20px;box-shadow:var(--nd-shadow);min-width:0}
html[data-theme="dark"] .nd .panel{background:linear-gradient(150deg,rgba(18,43,61,.95),rgba(9,24,37,.96))}
.nd .controls{display:flex;flex-direction:column;gap:18px}
.nd .control label{display:flex;justify-content:space-between;gap:12px;color:var(--nd-ink);font-size:14px;font-weight:600}
.nd .control output{color:var(--nd-accent);font-variant-numeric:tabular-nums;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}
.nd .control input{width:100%;accent-color:var(--nd-accent);margin-top:9px}
.nd .chart-title{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:8px}
.nd .chart-title span{color:var(--nd-muted);font-size:13px}
.nd .chart-wrap{position:relative}
.nd .chart{width:100%;height:400px;display:block;cursor:crosshair;border-radius:8px}
.nd .chart:focus-visible{outline:2px solid var(--nd-accent);outline-offset:3px}
.nd .legend{display:flex;gap:10px 22px;flex-wrap:wrap;margin:10px 0 0;color:var(--nd-muted);font-size:13px;align-items:center}
.nd .legend .key{display:inline-flex;align-items:center;gap:8px;color:var(--nd-ink)}
.nd .legend .key i{display:inline-block;width:22px;height:3px;border-radius:2px}
.nd .legend .key small{color:var(--nd-muted);font-variant-numeric:tabular-nums}
.nd .legend .hint{margin-left:auto;font-size:12px}
.nd .stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:16px}
.nd .stat{padding:13px 14px;border:1px solid var(--nd-line);border-radius:12px;background:var(--nd-panel2);position:relative}
.nd .stat::before{content:"";position:absolute;left:14px;top:0;width:26px;height:3px;border-radius:0 0 2px 2px;background:var(--k)}
.nd .stat b{display:block;font-size:23px;letter-spacing:-.02em;color:var(--nd-ink);font-variant-numeric:tabular-nums}
.nd .stat small{color:var(--nd-muted)}
.nd .reading{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:22px}
.nd .reading h3{font-size:15px;margin:0 0 7px;color:var(--nd-accent)}
.nd .reading p{font-size:14px;margin:0}
.nd .footer{margin-top:28px;padding-top:18px;border-top:1px solid var(--nd-line);font-size:13px;color:var(--nd-muted)}
.nd a{color:var(--nd-accent)}
.nd-tip{position:absolute;pointer-events:none;min-width:170px;background:var(--nd-panel);border:1px solid var(--nd-line);border-radius:8px;padding:8px 10px;font-size:12px;box-shadow:0 8px 24px -10px rgba(0,0,0,.4);opacity:0;transition:opacity .08s;z-index:3}
.nd-tip.on{opacity:1}
.nd-tip .th{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--nd-muted);margin-bottom:4px}
.nd-tip .th span{font-family:var(--ig-sans,sans-serif);font-size:11px}
.nd-tip .tr{display:flex;justify-content:space-between;gap:14px;line-height:1.7;color:var(--nd-muted)}
.nd-tip .tr span{display:flex;align-items:center;gap:6px}
.nd-tip .tr i{display:inline-block;width:12px;height:3px;border-radius:2px}
.nd-tip .tr b{color:var(--nd-ink);font-variant-numeric:tabular-nums;font-weight:600}
.nd-tip .tr.sub{border-top:1px solid var(--nd-line);margin-top:3px;padding-top:3px}
@media(max-width:850px){.nd .hero,.nd .layout,.nd .reading{grid-template-columns:1fr}.nd .layout{gap:14px}.nd .controls{display:grid;grid-template-columns:1fr 1fr}.nd .controls .control:last-child{grid-column:1/-1}.nd .stats{grid-template-columns:repeat(2,1fr)}.nd .chart{height:330px}}
@media(max-width:520px){.nd{padding:24px 14px 50px}.nd .controls{display:flex}.nd .panel{padding:14px;border-radius:14px}.nd .legend .hint{margin-left:0}.nd .chart{height:300px}}
@media (prefers-reduced-motion:reduce){.nd-tip{transition:none}}
html[data-theme="dark"] #ig-header,html[data-theme="dark"] #ig-breadcrumb,html[data-theme="dark"] #ig-footer{--ig-paper:#07131f;--ig-panel:#0d1e2d;--ig-ink:#eaf0f6;--ig-muted:#98a7b8;--ig-rule:#244258;--ig-accent:#56d8d0}
