@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,400;0,9..144,600;0,9..144,700;1,9..144,400&family=IBM+Plex+Mono:wght@400;500&family=DM+Sans:wght@400;500;600&display=swap');

:root{
  --panel:#0D2820;--panel-alt:#112F25;
  --bg:#F7F3EC;--parchment:#F5EFE0;
  --amber:#C8780A;--amber-lt:#E89B2A;
  --teal:#2A7A6E;--teal-lt:#3B9C8E;
  --ink:#1C1C14;--ink-mid:#4A4A38;--ink-lt:#7A7A68;
  --cream:#FDFAF4;--cream-dk:#EDE8DA;
  --border:#D4C9A8;--border-dk:#B8AA88;
  --readout-text:#C8D8C4;--readout-dim:#7A9A88;
  --readout-amber:#E8A830;--readout-teal:#4ABCAA;
  --readout-green:#5CD890;--readout-red:#F07060;
  --radius:12px;--radius-sm:6px;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
body{font-family:'DM Sans',sans-serif;background:var(--bg);color:var(--ink)}

.station-wrap{max-width:960px;margin:0 auto;padding:0 0 48px;font-family:'DM Sans',sans-serif}

.calc-hero{background:var(--panel);color:var(--readout-text);padding:40px 32px 32px;border-radius:var(--radius) var(--radius) 0 0;border-bottom:3px solid var(--amber)}
.hero-badge{display:inline-flex;align-items:center;gap:6px;background:rgba(200,120,10,0.18);border:1px solid rgba(200,120,10,0.4);border-radius:20px;padding:4px 12px;font-size:11px;font-family:'IBM Plex Mono',monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--readout-amber);margin-bottom:14px}
.hero-badge::before{content:'◆';font-size:8px}
.calc-hero h1{font-family:'Fraunces',serif;font-size:clamp(26px,4vw,38px);font-weight:700;line-height:1.15;color:#fff;margin-bottom:10px;text-wrap:balance}
.calc-hero p{font-size:15px;color:var(--readout-text);line-height:1.6;max-width:620px}

.formula-strip{background:var(--panel-alt);border-left:3px solid var(--teal);padding:10px 20px;font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--readout-teal);letter-spacing:.04em}
.formula-strip span{color:var(--readout-amber);font-weight:500}

.dual-panel{display:grid;grid-template-columns:1fr 1fr;min-height:560px}
@media(max-width:700px){.dual-panel{grid-template-columns:1fr}}

.intake{background:var(--parchment);padding:28px 24px;border-right:1px solid var(--border-dk)}
.intake h2{font-family:'Fraunces',serif;font-size:18px;font-weight:600;color:var(--ink);margin-bottom:20px;display:flex;align-items:center;gap:8px}
.intake h2::before{content:'';display:inline-block;width:10px;height:10px;background:var(--amber);border-radius:50%;flex-shrink:0}

.field-group{margin-bottom:18px}
.field-label{display:block;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-mid);margin-bottom:6px;font-family:'IBM Plex Mono',monospace}
.field-hint{font-size:11px;color:var(--ink-lt);margin-top:4px;line-height:1.4}

.field-row{display:flex!important;gap:8px!important;align-items:stretch!important}
.field-row input[type="number"]{flex:1 1 auto!important;min-width:0!important;width:auto!important}
.unit-select{flex:0 0 72px!important;width:72px!important;min-width:72px!important;max-width:72px!important}

.intake input[type="number"],
.intake select{width:100%;padding:10px 12px;border:1.5px solid var(--border-dk);border-radius:var(--radius-sm);background:var(--cream);font-family:'DM Sans',sans-serif;font-size:14px;color:var(--ink)!important;-webkit-text-fill-color:var(--ink)!important;opacity:1!important;transition:border-color .2s}
.intake input[type="number"]:focus,.intake select:focus{outline:none;border-color:var(--amber);box-shadow:0 0 0 3px rgba(200,120,10,0.12)}

.warning-box{background:rgba(240,112,96,0.12);border:1.5px solid rgba(240,112,96,0.4);border-radius:var(--radius-sm);padding:12px 14px;margin-bottom:18px;font-size:12px;color:#C05040;line-height:1.5}
.warning-box strong{display:block;margin-bottom:4px;font-size:13px}

.calc-btn{width:100%;padding:14px;background:var(--panel);color:#fff;border:none;border-radius:var(--radius-sm);font-family:'DM Sans',sans-serif;font-size:15px;font-weight:600;cursor:pointer;transition:background .2s;letter-spacing:.02em;margin-top:8px}
.calc-btn:hover{background:var(--teal)}

.readout{background:var(--panel);padding:28px 24px;display:flex;flex-direction:column;gap:0}
.readout-title{font-family:'Fraunces',serif;font-size:16px;font-weight:600;color:var(--readout-amber);margin-bottom:20px;display:flex;align-items:center;gap:8px}
.readout-title::before{content:'';display:inline-block;width:8px;height:8px;background:var(--readout-amber);border-radius:50%}

.metric-row{display:flex;justify-content:space-between;align-items:baseline;padding:10px 0;border-bottom:1px solid rgba(255,255,255,0.06)}
.metric-label{font-family:'IBM Plex Mono',monospace;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--readout-dim)}
.metric-value{font-family:'IBM Plex Mono',monospace;font-size:14px;font-weight:500;color:var(--readout-text);text-align:right}
.metric-value.highlight{color:var(--readout-amber);font-size:18px;font-weight:700}
.metric-value.good{color:var(--readout-green)}
.metric-value.info{color:var(--readout-teal)}
.metric-value.warn{color:var(--readout-amber)}
.metric-value.alert{color:var(--readout-red)}

.dose-box{background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.08);border-radius:8px;padding:16px;margin:16px 0;text-align:center}
.dose-big{font-family:'Fraunces',serif;font-size:44px;font-weight:700;color:var(--readout-amber);line-height:1}
.dose-unit{font-size:13px;color:var(--readout-dim);font-family:'IBM Plex Mono',monospace;letter-spacing:.06em;text-transform:uppercase;margin-top:4px}
.dose-sub{font-size:11px;color:var(--readout-dim);margin-top:6px;font-family:'DM Sans',sans-serif}

.action-row{display:flex;gap:8px;margin-top:auto;padding-top:20px}
.act-btn{flex:1;padding:10px;border-radius:var(--radius-sm);font-size:12px;font-family:'DM Sans',sans-serif;font-weight:600;cursor:pointer;border:1px solid rgba(255,255,255,0.15);background:transparent;color:var(--readout-text);transition:all .2s;text-align:center}
.act-btn:hover{background:rgba(255,255,255,0.08);border-color:rgba(255,255,255,0.3)}
.act-btn.primary{background:var(--amber);border-color:var(--amber);color:#fff}
.act-btn.primary:hover{background:var(--amber-lt)}

/* dose chart */
.chart-section{background:var(--parchment);padding:32px 28px;border-top:1px solid var(--border)}
.chart-section h2{font-family:'Fraunces',serif;font-size:22px;font-weight:700;color:var(--ink);margin-bottom:8px;text-wrap:balance}
.chart-intro{font-size:14px;color:var(--ink-mid);margin-bottom:24px;line-height:1.6}
#doseChart{width:100%;height:auto;display:block}

/* medication table */
.med-table-wrap{background:var(--cream);padding:32px 28px;border-top:1px solid var(--border)}
.med-table-wrap h2{font-family:'Fraunces',serif;font-size:22px;font-weight:700;color:var(--ink);margin-bottom:8px;text-wrap:balance}
.mtable{width:100%;border-collapse:collapse;margin-top:20px;font-size:13px}
.mtable thead th{background:var(--panel);color:var(--readout-text);font-family:'IBM Plex Mono',monospace;font-size:11px;text-transform:uppercase;letter-spacing:.08em;padding:12px 14px;text-align:left}
.mtable tbody tr:nth-child(even){background:var(--parchment)}
.mtable tbody td{padding:10px 14px;border-bottom:1px solid var(--border);color:var(--ink-mid);line-height:1.5;vertical-align:top}
.mtable tbody td:first-child{font-weight:600;color:var(--ink)}
.mtable-overflow{overflow-x:auto}

/* toxic foods section */
.toxic-section{background:var(--parchment);padding:32px 28px;border-top:3px solid rgba(240,112,96,0.4)}
.toxic-section h2{font-family:'Fraunces',serif;font-size:22px;font-weight:700;color:var(--ink);margin-bottom:8px;text-wrap:balance}
.toxic-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-top:20px}
.toxic-card{background:var(--cream);border:1px solid rgba(240,112,96,0.3);border-top:3px solid #F07060;border-radius:var(--radius-sm);padding:14px}
.toxic-card h3{font-family:'Fraunces',serif;font-size:14px;font-weight:600;color:var(--ink);margin-bottom:6px}
.toxic-card p{font-size:12px;color:var(--ink-mid);line-height:1.5}

/* science, how, cases, tips, faq, related, disclaimer - reuse pattern */
.science-section{background:var(--cream);padding:40px 28px;border-top:3px solid var(--border)}
.science-section h2,.how-section h2,.cases-section h2,.tips-section h2,.faq-section h2{font-family:'Fraunces',serif;font-size:26px;font-weight:700;color:var(--ink);margin-bottom:6px;text-wrap:balance}
.science-section .sec-label{font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--amber);text-transform:uppercase;letter-spacing:.1em;margin-bottom:18px;display:block}
.science-section p{font-size:15px;color:var(--ink-mid);line-height:1.7;margin-bottom:16px}
.science-section h3{font-family:'Fraunces',serif;font-size:18px;font-weight:600;color:var(--ink);margin:28px 0 10px}

.how-section{background:var(--parchment);padding:40px 28px;border-top:1px solid var(--border)}
.how-intro{font-size:15px;color:var(--ink-mid);line-height:1.6;margin-bottom:28px}
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}
.step{background:var(--cream);border:1px solid var(--border-dk);border-radius:var(--radius-sm);padding:20px}
.step-num{font-family:'Fraunces',serif;font-size:32px;font-weight:700;color:var(--amber);opacity:.3;line-height:1;margin-bottom:8px}
.step h3{font-family:'Fraunces',serif;font-size:16px;font-weight:600;color:var(--ink);margin-bottom:8px}
.step p{font-size:13px;color:var(--ink-mid);line-height:1.5}

.cases-section{background:var(--cream);padding:40px 28px;border-top:1px solid var(--border)}
.sec-intro{font-size:15px;color:var(--ink-mid);margin-bottom:24px;line-height:1.6}
.cases-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.case-card{background:var(--parchment);border:1px solid var(--border-dk);border-left:4px solid var(--amber);border-radius:var(--radius-sm);padding:20px}
.case-card h3{font-family:'Fraunces',serif;font-size:16px;font-weight:600;color:var(--ink);margin-bottom:8px}
.case-card p{font-size:13px;color:var(--ink-mid);line-height:1.5}
.case-card .case-stat{font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--teal);font-weight:500;margin-top:10px;padding-top:10px;border-top:1px solid var(--border)}

.tips-section{background:var(--parchment);padding:40px 28px;border-top:1px solid var(--border)}
.tips-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-top:20px}
.tip{background:var(--cream);border:1px solid var(--border-dk);border-top:3px solid var(--teal);border-radius:var(--radius-sm);padding:18px}
.tip h3{font-family:'Fraunces',serif;font-size:15px;font-weight:600;color:var(--ink);margin-bottom:8px}
.tip p{font-size:13px;color:var(--ink-mid);line-height:1.5}

.faq-section{background:var(--cream);padding:40px 28px;border-top:1px solid var(--border)}
.faq-list{margin-top:20px;display:flex;flex-direction:column;gap:14px}
.faq-item{background:var(--parchment);border:1px solid var(--border-dk);border-radius:var(--radius-sm);padding:20px}
.faq-q{font-family:'Fraunces',serif;font-size:16px;font-weight:600;color:var(--ink);margin-bottom:10px}
.faq-a{font-size:14px;color:var(--ink-mid);line-height:1.7}

.related-section{background:var(--parchment);padding:32px 28px;border-top:1px solid var(--border)}
.related-section h2{font-family:'Fraunces',serif;font-size:20px;font-weight:700;color:var(--ink);margin-bottom:16px}
.related-rail{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}
.rel-card{background:var(--cream);border:1px solid var(--border-dk);border-radius:var(--radius-sm);padding:14px;text-decoration:none;transition:border-color .2s;display:block}
.rel-card:hover{border-color:var(--amber)}
.rel-card-label{font-family:'IBM Plex Mono',monospace;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--amber);margin-bottom:4px}
.rel-card-title{font-size:13px;font-weight:600;color:var(--ink);line-height:1.35}

.disclaimer{background:var(--panel);padding:28px;border-top:1px solid rgba(255,255,255,0.08);border-radius:0 0 var(--radius) var(--radius)}
.disclaimer-body-inner{display:flex;gap:14px;align-items:flex-start}
.disc-icon{font-size:20px;flex-shrink:0;margin-top:2px;color:var(--readout-amber)}
.disclaimer-body-inner p{font-size:12px;color:var(--readout-dim);line-height:1.6}
.disclaimer-body-inner a{color:var(--readout-teal);text-decoration:underline}

.science-section p,.how-intro,.sec-intro,.step p,.case-card p,.tip p,.faq-a,.disclaimer-body-inner p,.toxic-card p{max-width:100%!important}
