body[data-tool-id="main_smoking"] {
  --home-canvas: #FFFFFF;
  --home-soft: #F5F4F0;
  --home-surface: #FFFFFF;
  --home-text: #292824;
  --home-muted: #716E66;
  --home-line: #D5D2C9;
  --home-action: #A93B22;
  --home-action-hover: #87301D;
  --home-link: #A93B22;
  --home-score: #1F5D40;
  --home-score-surface: #EDF5F0;
  background: var(--home-canvas);
  color: var(--home-text);
}
body.embed-mode .home-toolbar,
body.embed-mode .smoke-ledger-hero,
body.embed-mode .guide-nav { display:none !important; }
html[data-theme="dark"] body[data-tool-id="main_smoking"] {
  color-scheme:dark;
  --home-canvas: #171C22;
  --home-soft: #364455;
  --home-surface: #273443;
  --home-text: #F5F4EF;
  --home-muted: #B8B4AA;
  --home-line: #75879C;
  --home-action: #E15A37;
  --home-action-hover: #F06A48;
  --home-link: #FF9F80;
  --home-score: #A8D9BC;
  --home-score-surface: #234F3B;
}
body[data-tool-id="main_smoking"] #main-content {
  --charcoal: var(--home-text);
  --text-muted: var(--home-muted);
  --card-bg: var(--home-surface);
  --card-border: var(--home-line);
  --surface-soft: var(--home-soft);
  --surface-strong: var(--home-surface);
  --line: var(--home-line);
  color: var(--home-text);
}
body[data-tool-id="main_smoking"] .eyebrow { color:var(--home-link); }
.home-toolbar { display:flex; justify-content:flex-end; margin-bottom:14px; }
.theme-toggle {
  min-height:44px; display:inline-flex; align-items:center; gap:7px;
  padding:0 14px; border:1px solid var(--home-line); border-radius:999px;
  background:var(--home-surface); color:var(--home-text); font:700 14px var(--font-sans-fallback);
  cursor:pointer;
}
.theme-toggle:hover { border-color:var(--home-action); }
.theme-toggle:focus-visible { outline:3px solid var(--home-action); outline-offset:3px; }
.smoke-ledger-hero { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr); gap:28px; align-items:stretch; margin-bottom:28px; }
.smoke-ledger-masthead { min-width:0; padding:clamp(24px,4vw,52px) 0; align-self:center; }
.smoke-ledger-masthead .task-switcher { width:100%; min-width:0; }
.smoke-ledger-masthead h1 { max-width:760px; margin:0 0 16px; font:700 clamp(42px,6.5vw,76px)/.94 var(--font-display); letter-spacing:-.045em; }
.smoke-ledger-masthead .lede { max-width:760px; color:var(--home-muted); font:400 18px/1.65 var(--font-sans-fallback); }
.smoke-score-panel { padding:24px; border:1px solid color-mix(in srgb,var(--home-score) 45%,var(--home-line)); border-radius:18px; background:var(--home-score-surface); color:var(--home-text); }
.smoke-score-panel h2 { margin:0 0 10px; font:700 13px var(--font-util); letter-spacing:.14em; text-transform:uppercase; color:var(--home-score); }
@media (max-width:860px) { .smoke-ledger-hero { grid-template-columns:minmax(0,1fr); } }
@media (max-width:560px) { .smoke-ledger-masthead h1 { font-size:clamp(38px,13vw,54px); } .smoke-score-panel { padding:18px; } }
.task-switcher { display: inline-grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 3px; width: min(100%, 380px); margin-top: 1rem; padding: 3px; border: 1px solid var(--card-border); border-radius: 8px; background: rgba(255,255,255,.7); }
.task-switcher a { padding: .65rem .85rem; border-radius: 5px; color: var(--charcoal); font-family: var(--font-util); font-size: .82rem; font-weight: 700; text-align: center; text-decoration: none; }
.task-switcher a[aria-current="page"] { background: var(--charcoal); color: #fff; }
.task-switcher a:hover, .task-switcher a:focus-visible { outline: 2px solid var(--amber); outline-offset: 1px; }
.advanced-settings { grid-column: 1 / -1; border-top: 1px solid var(--card-border); margin-top: .25rem; padding-top: .25rem; }
.advanced-settings summary { cursor: pointer; padding: .7rem 0; font-family: var(--font-util); font-size: .82rem; font-weight: 700; text-transform: uppercase; color: var(--amber-dark); }
.advanced-settings summary:focus-visible { outline: 2px solid var(--amber); outline-offset: 2px; }
.advanced-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; padding-top: .75rem; }
@media (max-width:600px) { .advanced-grid { grid-template-columns: 1fr; } .hero-row > .page-hero { flex-basis: 100%; } }
.serving-toggle { display: flex; border: 1.5px solid var(--card-border); border-radius: 6px; overflow: hidden; }
.serving-toggle button { flex: 1; border: none; background: #FAFAF8; color: var(--text-muted); font-family: inherit; font-size: .875rem; font-weight: 600; padding: .55rem .5rem; cursor: pointer; transition: background .15s,color .15s; border-right: 1px solid var(--card-border); line-height: 1.2; }
.serving-toggle button:last-child { border-right: none; }
.serving-toggle button.active { background: var(--amber); color: #fff; }
.serving-toggle button .sz { display: block; font-size: .75rem; font-weight: 400; opacity: .85; }
#two-phase-section { display: none; grid-column: 1/-1; background: #FBF7F0; border: 1px solid #EDD9AA; border-radius: 6px; padding: 1rem; margin-top: .25rem; }
#two-phase-section.visible { display: grid; }
.tp-inner { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
@media (max-width:600px) { .tp-inner { grid-template-columns: 1fr; } }
#two-phase-section h4 { grid-column: 1/-1; font-size: .8rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--amber-dark); margin-bottom: .25rem; }
.srows { display: grid; gap: .5rem; margin-bottom: .75rem; }
.srow { display: flex; justify-content: space-between; align-items: baseline; font-size: .9rem; padding-bottom: .5rem; border-bottom: 1px solid #F0EBE3; }
.srow:last-child { border-bottom: none; padding-bottom: 0; }
.srow .lbl { color: var(--text-muted); }
.srow .val { font-weight: 700; color: var(--charcoal); }
.srow .val.hi { color: var(--amber-dark); font-size: 1.05rem; }
.mc-warn { display: none; margin-top: .75rem; padding: .75rem 1rem; background: var(--yellow-warn); border: 1px solid var(--yellow-warn-border); border-radius: 6px; font-size: .875rem; color: #6D4C00; }
.mc-warn.visible { display: block; }
.timeline { position: relative; padding-left: 2rem; }
.timeline::before { content: ''; position: absolute; left: 10px; top: 8px; bottom: 8px; width: 2px; background: linear-gradient(to bottom, var(--blue), var(--amber), var(--green)); opacity: .3; }
.tl-item { position: relative; padding: .625rem 0 .625rem 1.25rem; animation: tlIn .3s ease backwards; }
@keyframes tlIn { from { opacity:0; transform:translateX(-8px); } to { opacity:1; transform:translateX(0); } }
.tl-dot { position: absolute; left: -1.65rem; top: 50%; transform: translateY(-50%); width: 14px; height: 14px; border-radius: 50%; border: 2px solid #fff; box-shadow: 0 0 0 1px currentColor; }
.tl-dot.blue  { background: var(--blue);  color: var(--blue); }
.tl-dot.amber { background: var(--amber); color: var(--amber); }
.tl-dot.red   { background: var(--red);   color: var(--red); }
.tl-dot.green { background: var(--green); color: var(--green); }
.tl-dot.gray  { background: #AAA; color: #AAA; }
.tl-time { font-size: .8rem; font-weight: 700; color: var(--text-muted); letter-spacing: .04em; text-transform: uppercase; }
.tl-label { font-size: .95rem; font-weight: 600; color: var(--charcoal); }
.tl-sub { font-size: .8rem; color: var(--text-muted); margin-top: 1px; }
.tl-item + .tl-item { border-top: 1px solid #F5F0E8; }
.tw-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-bottom: 1.5rem; }
.tip-card p { font-size: .9rem; line-height: 1.65; color: #333; }
.wlist { display: flex; flex-direction: column; gap: .6rem; margin-top: .25rem; }
.wpill { display: inline-flex; flex-direction: column; gap: 1px; }
.wname { display: inline-block; background: var(--amber-light); border: 1px solid #EDD9AA; color: var(--link-text); font-size: .8rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; padding: 3px 10px; border-radius: 12px; margin-bottom: 1px; }
.wflavor { font-size: .85rem; color: var(--text-muted); padding-left: 4px; }
.about-section {
  max-width: 960px;
  margin: 0 auto 2rem;
  border: 1px solid #D9D4CC;
  border-radius: var(--radius);
  background: #ECE8E1;
  color: #3F3A35;
  font-size: 14px;
}
.about-section summary {
  list-style: none;
  cursor: pointer;
  padding: .95rem 1.1rem;
  font-weight: 700;
}
.about-section summary::-webkit-details-marker { display: none; }
.about-section summary::after {
  content: '+';
  float: right;
  font-size: 1rem;
}
.about-section[open] summary::after { content: '−'; }
.about-section__content {
  padding: 0 1.1rem 1rem;
  line-height: 1.65;
}
.about-section__content p + p,
.about-section__content p + ul,
.about-section__content ul + p { margin-top: .75rem; }
.about-section__content ul { padding-left: 1.1rem; }
.editorial-section p + p,
.editorial-section p + h3,
.editorial-section h3 + p,
.editorial-section table + p,
.editorial-section ul + p,
.editorial-section ol + p,
.editorial-section p + ul,
.editorial-section p + ol,
.editorial-section .editorial-table-wrap + p,
.editorial-section .table-scroll-frame + p,
.editorial-section .wood-grid + p,
.editorial-section .inline-table + p,
.editorial-section .guide-card + .guide-card {
  margin-top: .9rem;
}
.inline-table {
  width: 100%;
  max-width: 520px;
  border-collapse: collapse;
  margin: 1rem 0;
  background: #fff;
  border: 1px solid var(--card-border);
  box-shadow: var(--shadow);
}
.inline-table th,
.inline-table td {
  padding: .7rem .8rem;
  border-bottom: 1px solid #EFE7DA;
  text-align: left;
}
.wood-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.wood-card,
.guide-card,
.embed-section {
  background: rgba(255,255,255,.82);
  border: 1px solid var(--card-border);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  padding: 1.25rem 1.35rem;
}
.wood-card { overflow: hidden; }
.wood-card__thumb {
  display: block;
  margin: -1.25rem -1.35rem 1rem;
  height: 140px;
  overflow: hidden;
  border-bottom: 1px solid var(--card-border);
}
.wood-card__thumb picture { display: block; width: 100%; height: 100%; }
.wood-card__thumb img { display: block; width: 100%; height: 100%; object-fit: cover; }
.wood-card p,
.guide-card p { margin-top: .55rem; }
.faq-numbered {
  counter-reset: faq-item;
}
.faq-numbered .faq-item summary {
  counter-increment: faq-item;
}
.faq-numbered .faq-item summary::before {
  content: counter(faq-item) '. ';
}
.embed-section textarea {
  width: 100%;
  min-height: 140px;
  margin: .85rem 0;
  padding: .9rem 1rem;
  border: 1px solid var(--card-border);
  border-radius: var(--radius);
  background: #fff;
  color: #1a1a1a;
  resize: vertical;
  font-family: Consolas, "SFMono-Regular", monospace;
  font-size: .9rem;
  line-height: 1.6;
}
.embed-note {
  font-size: .86rem;
  color: var(--text-muted);
}
.text-link {
  color: #9A5F08;
  text-decoration: underline;
}
#print-header { display: none; }
.resolve-row { display: flex; gap: .5rem; margin-top: .75rem; }
.resolve-row input { flex: 1; padding: .55rem .75rem; border: 1.5px solid var(--card-border); border-radius: 6px; font-size: .95rem; font-family: inherit; }
.resolve-row input:focus { outline: 2px solid var(--amber); outline-offset: 2px; border-color: var(--amber); }
.calc-btn--sm { padding: .55rem 1rem; background: var(--amber); color: #fff; border: none; border-radius: 6px; font-family: inherit; font-size: .875rem; font-weight: 700; cursor: pointer; white-space: nowrap; }
.calc-btn--sm:hover { background: #D78108; }
.calc-btn--sm:focus-visible { outline: 2px solid var(--amber); outline-offset: 2px; }
.chart-cta { display: block; max-width: 480px; margin: 1.25rem auto 0; padding: .9rem 1.25rem; background: var(--amber); color: #fff; border-radius: 6px; font-size: .95rem; font-weight: 700; text-align: center; text-decoration: none; }
.chart-cta:hover { background: #D78108; }
.chart-cta:focus-visible { outline: 2px solid var(--amber); outline-offset: 2px; }
.resolve-result { margin-top: .5rem; font-size: .9rem; font-weight: 600; color: var(--charcoal); min-height: 1.4em; }
.model-note { font-size: .8rem; color: var(--text-muted); line-height: 1.6; margin-top: 1.25rem; padding: .875rem 1rem; background: #FAFAF8; border: 1px solid var(--card-border); border-radius: var(--radius); }
.hero-gauge { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; align-items: start; justify-items: center; }
.hero-gauge:not(.hero-gauge--live) { grid-template-columns: 1fr; }   /* static / single fallback centers one gauge */
.hero-gauge .gauge { width: 100%; max-width: 180px; height: auto; display: block; }
.hero-gauge__cell { display: flex; flex-direction: column; align-items: center; gap: .15rem; text-decoration: none; color: inherit; padding: .3rem .35rem; border-radius: 8px; transition: background .15s; }
.hero-gauge__cell:hover, .hero-gauge__cell:focus-visible { background: rgba(237,120,24,.12); outline: none; }
.hero-gauge__city { font-size: .9rem; font-weight: 700; color: var(--charcoal); text-align: center; line-height: 1.2; }
.hero-gauge__score { font-size: .82rem; color: var(--text-muted); }
.hero-gauge__caption { margin: .55rem 0 .9rem; font-size: .9rem; line-height: 1.45; color: var(--text-muted); text-align: center; }
.hero-gauge__caption strong { color: var(--charcoal); }
.hero-forecast-card__form { display: flex; gap: .5rem; margin-bottom: .6rem; }
.hero-forecast-card__form .visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.hero-forecast-card__form input { flex: 1 1 0; min-width: 0; padding: .55rem .75rem; border: 1px solid var(--card-border); border-radius: 6px; font: inherit; }
.hero-forecast-card__form input:focus-visible { outline: 2px solid var(--amber); outline-offset: 2px; border-color: var(--amber); }
.hero-forecast-card__btn { padding: .55rem 1rem; background: var(--amber); color: var(--charcoal); border: none; border-radius: 6px; font-family: inherit; font-size: .9rem; font-weight: 700; cursor: pointer; white-space: nowrap; }
.hero-forecast-card__btn:hover, .hero-forecast-card__btn:focus-visible { background: var(--amber-dark); color: #fff; outline: none; }
.hero-forecast-card__alt { margin: 0; font-size: .85rem; }
.hero-forecast-card__alt a { color: var(--amber-dark); text-decoration: underline; font-weight: 600; }
.hero-forecast-card__alt a:hover { color: var(--charcoal); }
html[data-theme="dark"] body[data-tool-id="main_smoking"] .task-switcher { background: var(--home-surface); }
html[data-theme="dark"] body[data-tool-id="main_smoking"] .task-switcher a[aria-current="page"] { color: var(--home-canvas); }
html[data-theme="dark"] body[data-tool-id="main_smoking"] .hero-forecast-card__alt a { color: var(--home-score); }
html[data-theme="dark"] body[data-tool-id="main_smoking"] .hero-forecast-card__alt a:hover { color: var(--home-text); }
@media (max-width:600px) {
  .smoke-ledger-hero { gap:16px; }
  .hero-gauge { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  .hero-gauge:not(.hero-gauge--live) { min-height:123px; }
  .hero-gauge .gauge { max-width:110px; }
  .smoke-score-panel { padding:16px; }
  .planner-shell { margin-top:24px; padding-top:22px; }
}
@media (max-width:390px) {
  .smoke-ledger-masthead { padding:0; }
  .smoke-ledger-masthead h1 { font-size:36px; }
  .smoke-ledger-masthead .lede { font-size:15px; line-height:1.4; }
  /* side padding must leave the label slack at 320px; Linux Chromium renders Oswald wider (see #186) */
  .smoke-ledger-masthead .task-switcher a { padding:.45rem .3rem; }
  .hero-gauge .gauge { max-width:100px; }
  .hero-gauge__caption { margin:.25rem 0 .5rem; }
}
.planner-shell { margin:34px 0 0; padding-top:30px; border-top:4px solid var(--home-text); }
.planner-intro { display:grid; grid-template-columns:minmax(0,1fr) minmax(260px,.55fr); column-gap:24px; row-gap:8px; align-items:end; margin-bottom:18px; }
.planner-intro > .eyebrow { grid-column:1; grid-row:1; }
.planner-intro > .calculator-section-title { grid-column:1; grid-row:2; }
.planner-intro > p:last-child { grid-column:2; grid-row:1 / span 2; }
.planner-intro .calculator-section-title { margin:0; font-size:clamp(34px,4.5vw,52px); line-height:1; letter-spacing:-.035em; }
.planner-intro > p:last-child { color:var(--home-muted); font-family:var(--font-sans-fallback); }
.planner-shell .form-card { padding:clamp(18px,3vw,30px); background:var(--home-soft); border-color:var(--home-line); box-shadow:none; }
.planner-shell .form-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.planner-shell .form-group label { color:var(--home-muted); }
.planner-shell .form-group select,
.planner-shell .form-group input[type="number"],
.planner-shell .form-group input[type="time"] { min-height:48px; background:var(--home-surface); color:var(--home-text); border-color:var(--home-line); }
.planner-shell .input-unit-label { background:var(--home-surface); color:var(--home-muted); border-color:var(--home-line); }
.planner-shell .advanced-settings { margin-top:8px; border:1px solid var(--home-line); border-radius:12px; padding:0; background:var(--home-surface); }
.planner-shell .advanced-settings summary { min-height:58px; display:flex; justify-content:space-between; gap:16px; align-items:center; padding:10px 14px; color:var(--home-text); text-transform:none; }
.advanced-hint { display:block; margin-top:2px; color:var(--home-muted); font:400 13px/1.4 var(--font-sans-fallback); }
.optional { color:var(--home-muted); font:700 11px var(--font-util); letter-spacing:.1em; text-transform:uppercase; }
.planner-shell .advanced-grid { padding:0 14px 16px; }
.planner-shell .serving-toggle button { background:var(--home-surface); color:var(--home-muted); border-color:var(--home-line); }
.planner-shell .serving-toggle button.active { background:var(--home-action); color:#FFF; }
.planner-shell #two-phase-section { background:var(--home-surface); border-color:var(--home-line); }
.planner-shell .calc-btn { min-height:52px; background:var(--home-action); color:#FFF; letter-spacing:.04em; text-transform:none; }
.planner-shell .calc-btn:hover { background:var(--home-action-hover); }
@media (max-width:860px) { .planner-intro { grid-template-columns:1fr; } }
@media (max-width:860px) { .planner-intro > .eyebrow, .planner-intro > .calculator-section-title, .planner-intro > p:last-child { grid-column:1; grid-row:auto; } }
@media (max-width:860px) { .planner-shell .form-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:560px) { .planner-shell .form-grid { grid-template-columns:1fr; } }
@media (max-width:560px) { .planner-shell .advanced-settings summary { align-items:flex-start; } .planner-shell .optional { padding-top:3px; } }
@media (max-width:320px) {
  body[data-tool-id="main_smoking"] #main-content { padding-top:12px; }
  body[data-tool-id="main_smoking"] .home-toolbar { margin-bottom:8px; }
  body[data-tool-id="main_smoking"] .smoke-ledger-hero { gap:8px; }
  body[data-tool-id="main_smoking"] .smoke-ledger-masthead h1 { font-size:32px; }
  body[data-tool-id="main_smoking"] .smoke-ledger-masthead .lede { font-size:14px; line-height:1.35; }
  body[data-tool-id="main_smoking"] .smoke-score-panel { padding:8px; }
  body[data-tool-id="main_smoking"] .hero-gauge:not(.hero-gauge--live) { min-height:100px; }
  body[data-tool-id="main_smoking"] .hero-gauge .gauge { max-width:74px; }
  body[data-tool-id="main_smoking"] .hero-gauge__city { max-width:100%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; font-size:.8rem; }
  body[data-tool-id="main_smoking"] .hero-gauge__caption { font-size:13px; line-height:1.35; }
  body[data-tool-id="main_smoking"] .planner-shell { margin-top:16px; padding-top:8px; }
  body[data-tool-id="main_smoking"] .planner-intro > .eyebrow { display:none; }
  body[data-tool-id="main_smoking"] .planner-intro .calculator-section-title { font-size:30px; }
}
body[data-tool-id="main_smoking"] .results-modal { background:var(--home-surface); color:var(--home-text); border:1px solid var(--home-line); }
body[data-tool-id="main_smoking"] .results-modal__header { border-bottom:4px solid var(--home-text); }
body[data-tool-id="main_smoking"] .results-modal__title { font:700 clamp(26px,4vw,38px)/1 var(--font-display); }
body[data-tool-id="main_smoking"] .stat-card { background:var(--home-text); border-color:var(--home-text); box-shadow:none; }
body[data-tool-id="main_smoking"] .stat-card .sc-label,
body[data-tool-id="main_smoking"] .stat-card .sc-sub { color:color-mix(in srgb,var(--home-canvas) 70%,transparent); }
body[data-tool-id="main_smoking"] .stat-card .sc-value { color:var(--home-canvas); }
body[data-tool-id="main_smoking"] .results-modal .card { background:var(--home-soft); border-color:var(--home-line); box-shadow:none; }
body[data-tool-id="main_smoking"] .timeline::before { background:var(--home-line); opacity:1; }
body[data-tool-id="main_smoking"] .tl-label { color:var(--home-text); }
body[data-tool-id="main_smoking"] .tl-time,
body[data-tool-id="main_smoking"] .tl-sub { color:var(--home-muted); }
body[data-tool-id="main_smoking"] .model-note { background:var(--home-soft); border-color:var(--home-line); color:var(--home-muted); }
body[data-tool-id="main_smoking"] .srow { border-color:var(--home-line); }
body[data-tool-id="main_smoking"] .srow .lbl { color:var(--home-muted); }
body[data-tool-id="main_smoking"] .srow .val { color:var(--home-text); }
html[data-theme="dark"] body[data-tool-id="main_smoking"] .gauge__track { stroke:var(--home-line); }
html[data-theme="dark"] body[data-tool-id="main_smoking"] .gauge__fill { stroke:#FFB26B; }
html[data-theme="dark"] body[data-tool-id="main_smoking"] .gauge__fill[stroke="#B5311F"] { stroke:#FF8A7A; }
html[data-theme="dark"] body[data-tool-id="main_smoking"] .gauge__fill[stroke="#8A6308"] { stroke:#FFD166; }
html[data-theme="dark"] body[data-tool-id="main_smoking"] .gauge__fill[stroke="#2D7A3A"] { stroke:#A8D9BC; }
html[data-theme="dark"] body[data-tool-id="main_smoking"] .gauge__fill[stroke="#1F5DAA"] { stroke:#8FC6FF; }
html[data-theme="dark"] body[data-tool-id="main_smoking"] .gauge__fill[stroke="#ED7818"] { stroke:#FFB26B; }
html[data-theme="dark"] body[data-tool-id="main_smoking"] .gauge__needle { stroke:var(--home-text); }
html[data-theme="dark"] body[data-tool-id="main_smoking"] .gauge circle { fill:var(--home-text); }
html[data-theme="dark"] body[data-tool-id="main_smoking"] .gauge__num { fill:var(--home-text); }
.guide-nav { margin:32px 0 24px; padding:16px 0; border-top:1px solid var(--home-line); border-bottom:1px solid var(--home-line); display:grid; grid-template-columns:max-content repeat(4,minmax(0,1fr)); gap:10px; align-items:stretch; }
.guide-nav > strong { grid-row:1 / span 2; align-self:center; white-space:nowrap; color:var(--home-muted); font:700 11px/1.2 var(--font-util); letter-spacing:.13em; text-transform:uppercase; }
.guide-nav a { min-width:0; min-height:44px; display:flex; align-items:center; justify-content:center; padding:9px 10px; border:1px solid var(--home-line); border-radius:8px; background:var(--home-surface); color:var(--home-text); text-align:center; text-decoration:none; font-family:var(--font-sans-fallback); }
.guide-nav a:hover { border-color:var(--home-action); color:var(--home-link); }
.guide-nav a:focus-visible { outline:3px solid var(--home-action); outline-offset:2px; }
body[data-tool-id="main_smoking"] .editorial-section { width:100%; max-width:none; border-top:4px solid var(--home-text); }
body[data-tool-id="main_smoking"] .editorial-section > p,
body[data-tool-id="main_smoking"] .editorial-section .faq-answer > p { width:100%; max-width:none; color:var(--home-text); font-family:var(--font-sans-fallback); }
body[data-tool-id="main_smoking"] .editorial-section h2 { font-size:clamp(30px,4vw,44px); line-height:1; letter-spacing:-.03em; }
body[data-tool-id="main_smoking"] .editorial-section h2::before { display:none; }
body[data-tool-id="main_smoking"] .faq-item,
body[data-tool-id="main_smoking"] .wood-card,
body[data-tool-id="main_smoking"] .guide-card,
body[data-tool-id="main_smoking"] .embed-section,
body[data-tool-id="main_smoking"] .about-section { background:var(--home-surface); border-color:var(--home-line); color:var(--home-text); box-shadow:none; }
body[data-tool-id="main_smoking"] .editorial-table-wrap,
body[data-tool-id="main_smoking"] .editorial-table,
body[data-tool-id="main_smoking"] .inline-table { background:var(--home-surface); border-color:var(--home-line); box-shadow:none; color:var(--home-text); }
body[data-tool-id="main_smoking"] .editorial-table thead th { background:var(--home-soft); }
body[data-tool-id="main_smoking"] .editorial-table tbody tr:nth-child(even) { background:color-mix(in srgb,var(--home-soft) 70%,transparent); }
body[data-tool-id="main_smoking"] .editorial-table th,
body[data-tool-id="main_smoking"] .editorial-table td,
body[data-tool-id="main_smoking"] .inline-table th,
body[data-tool-id="main_smoking"] .inline-table td { border-color:var(--home-line); }
body[data-tool-id="main_smoking"] .editorial-section a,
body[data-tool-id="main_smoking"] .faq-answer a,
body[data-tool-id="main_smoking"] .text-link { color:var(--home-link); }
body[data-tool-id="main_smoking"] .tip-card p,
body[data-tool-id="main_smoking"] .guide-card p,
body[data-tool-id="main_smoking"] .embed-note,
body[data-tool-id="main_smoking"] .about-section__content { color:var(--home-text); }
body[data-tool-id="main_smoking"] .wood-card p { color:var(--home-text); }
html[data-theme="dark"] body[data-tool-id="main_smoking"] .subscribe-form { background:var(--home-soft); border-color:var(--home-line); }
html[data-theme="dark"] body[data-tool-id="main_smoking"] .subscribe-form__title,
html[data-theme="dark"] body[data-tool-id="main_smoking"] .subscribe-form__privacy a { color:var(--home-link); }
html[data-theme="dark"] body[data-tool-id="main_smoking"] .subscribe-form__field input { background:var(--home-surface); color:var(--home-text); border-color:var(--home-line); }
html[data-theme="dark"] body[data-tool-id="main_smoking"] .subscribe-form__field input::placeholder { color:var(--home-muted); }
html[data-theme="dark"] body[data-tool-id="main_smoking"] .subscribe-form__btn { background:var(--home-action); color:var(--home-canvas); }
html[data-theme="dark"] body[data-tool-id="main_smoking"] .subscribe-form__btn:hover,
html[data-theme="dark"] body[data-tool-id="main_smoking"] .subscribe-form__btn:focus-visible { background:var(--home-action-hover); color:var(--home-canvas); }
html[data-theme="dark"] body[data-tool-id="main_smoking"] .subscribe-form__lede { color:var(--home-text); }
html[data-theme="dark"] body[data-tool-id="main_smoking"] .subscribe-form__status,
html[data-theme="dark"] body[data-tool-id="main_smoking"] .subscribe-form__privacy { color:var(--home-muted); }
html[data-theme="dark"] body[data-tool-id="main_smoking"] .subscribe-form__status.is-error { color:#FF8A7A; }
html[data-theme="dark"] body[data-tool-id="main_smoking"] .subscribe-form__success { color:var(--home-score); }
html[data-theme="dark"] body[data-tool-id="main_smoking"] .hero-forecast-card__form input,
html[data-theme="dark"] body[data-tool-id="main_smoking"] .resolve-row input { background:var(--home-surface); color:var(--home-text); border-color:var(--home-line); }
html[data-theme="dark"] body[data-tool-id="main_smoking"] .hero-forecast-card__form input::placeholder,
html[data-theme="dark"] body[data-tool-id="main_smoking"] .resolve-row input::placeholder { color:var(--home-muted); }
html[data-theme="dark"] body[data-tool-id="main_smoking"] .planner-shell .serving-toggle button.active,
html[data-theme="dark"] body[data-tool-id="main_smoking"] .planner-shell .calc-btn,
html[data-theme="dark"] body[data-tool-id="main_smoking"] .calc-btn--sm,
html[data-theme="dark"] body[data-tool-id="main_smoking"] .chart-cta,
html[data-theme="dark"] body[data-tool-id="main_smoking"] .hero-forecast-card__btn { color:var(--home-canvas); }
html[data-theme="dark"] body[data-tool-id="main_smoking"] #two-phase-section h4 { color:var(--home-link); }
html[data-theme="dark"] body[data-tool-id="main_smoking"] .hero-forecast-card__btn:hover,
html[data-theme="dark"] body[data-tool-id="main_smoking"] .hero-forecast-card__btn:focus-visible { color:#fff; }
@media (max-width:860px) { .guide-nav { grid-template-columns:repeat(2,minmax(0,1fr)); } .guide-nav > strong { grid-column:1 / -1; grid-row:auto; } }
@media (max-width:560px) { .guide-nav { grid-template-columns:1fr; } .guide-nav a { justify-content:flex-start; text-align:left; } }
@media print { html[data-theme] body[data-tool-id="main_smoking"] { --home-canvas:#FFF; --home-soft:#F5F4F0; --home-surface:#FFF; --home-text:#292824; --home-muted:#716E66; --home-line:#D5D2C9; --home-link:#A93B22; } body[data-tool-id="main_smoking"] .editorial-section .text-link { color:var(--home-link) !important; } .home-toolbar,.guide-nav { display:none !important; } }

/* Connected planner: compact field-guide layout with persistent editable inputs. */
body[data-tool-id="main_smoking"] { --home-muted:#625f58; }
html[data-theme="dark"] body[data-tool-id="main_smoking"] { --home-muted:#cbc6ba; }
.smoke-ledger-hero { gap:20px; margin-bottom:20px; align-items:start; grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr); }
.smoke-ledger-masthead { padding:12px 0; }
.smoke-ledger-masthead h1 { font-size:clamp(30px,4vw,48px); line-height:1.04; letter-spacing:-.025em; }
.smoke-ledger-masthead .lede { font-size:16px; line-height:1.5; }
.smoke-score-panel { padding:14px; border-radius:8px; background:var(--home-soft); border-color:var(--home-line); }
.smoke-score-panel h2 { color:var(--home-text); }
#heroGauge { display:block; min-height:150px; padding:0; font:400 13px/1.45 var(--font-sans-fallback); }
#heroGauge p { margin:6px 0; }
#heroGauge a,#heroGauge small { display:block; margin:5px 0; color:var(--home-text); }
#heroGauge a { min-height:44px; padding:8px 0; font-weight:700; }
#heroGauge .weather-score { font-size:24px; font-weight:700; }
#heroGaugeCaption { font:400 12px/1.4 var(--font-sans-fallback); }
#heroForecastForm { display:flex; flex-wrap:wrap; gap:8px; }
#heroForecastForm label { flex-basis:100%; }
#heroZipInput { width:110px; min-width:0; flex:1; }
.weather-actions { display:flex; flex-wrap:wrap; gap:8px; align-items:center; font-size:13px; }
.weather-actions button,.weather-actions a { min-height:44px; padding:8px; }
.planner-columns { display:grid; grid-template-columns:minmax(280px,.85fr) minmax(0,1.15fr); gap:24px; align-items:start; }
.planner-columns > * { min-width:0; }
body[data-tool-id="main_smoking"] .planner-columns .form-card { margin:0; padding:18px; }
body[data-tool-id="main_smoking"] #results[data-inline] { display:none; position:static; inset:auto; padding:0; background:none; overflow:visible; z-index:auto; }
body[data-tool-id="main_smoking"] #results[data-inline].visible { display:block; }
body[data-tool-id="main_smoking"] #results .results-modal { max-width:none; width:auto; margin:0; max-height:none; overflow:visible; padding:18px; border-radius:8px; box-shadow:none; }
body[data-tool-id="main_smoking"] .results-modal__header { border-bottom:1px solid var(--home-line); }
body[data-tool-id="main_smoking"] .results-modal__title { font-size:26px; }
body[data-tool-id="main_smoking"] .form-grid,body[data-tool-id="main_smoking"] .advanced-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
body[data-tool-id="main_smoking"] input,body[data-tool-id="main_smoking"] select,body[data-tool-id="main_smoking"] button,body[data-tool-id="main_smoking"] label,body[data-tool-id="main_smoking"] small { font-family:var(--font-sans-fallback); }
body[data-tool-id="main_smoking"] input,body[data-tool-id="main_smoking"] select { min-width:0; max-width:100%; min-height:44px; }
body[data-tool-id="main_smoking"] button { min-height:44px; cursor:pointer; }
body[data-tool-id="main_smoking"] button:focus-visible,body[data-tool-id="main_smoking"] a:focus-visible,body[data-tool-id="main_smoking"] input:focus-visible,body[data-tool-id="main_smoking"] select:focus-visible { outline:3px solid var(--home-action); outline-offset:3px; }
body[data-tool-id="main_smoking"] .calc-btn { background:var(--home-action); color:#fff; }
.control-group-title { grid-column:1/-1; font-size:18px; border-bottom:1px solid var(--home-line); margin:8px 0 0; padding-bottom:6px; }
.presets { grid-column:1/-1; display:flex; flex-wrap:wrap; gap:6px; }
.presets button { padding:6px 12px; border:1px solid var(--home-line); border-radius:6px; background:var(--home-soft); color:var(--home-text); }
.presets p { flex-basis:100%; font-size:13px; }
.plan-decision { font:700 27px/1.2 var(--font-display); margin:14px 0; }
#planAssumptions { font:400 14px/1.6 var(--font-sans-fallback); }
body[data-tool-id="main_smoking"] .stat-cards { grid-template-columns:1fr; gap:8px; }
body[data-tool-id="main_smoking"] .stat-card { padding:12px; border-radius:6px; }
body[data-tool-id="main_smoking"] .sc-value { font-size:23px; }
body[data-tool-id="main_smoking"] .tw-grid { grid-template-columns:1fr; }
#sharedPlanControls { border-block:1px solid var(--home-line); padding:8px 0; }
#sharedPlanControls button { background:var(--home-soft); color:var(--home-text); border:1px solid var(--home-line); border-radius:6px; }
#sharedPlanControls a { color:var(--home-link); }
.next-step { font:700 25px/1.4 var(--font-sans-fallback); }
.tl-item input[type=checkbox] { width:24px; height:24px; min-height:24px; margin:8px; accent-color:var(--home-action); }
.step-complete .tl-label { text-decoration:line-through; }
#brisketComparison table { width:100%; border-collapse:collapse; }
#brisketComparison th,#brisketComparison td { padding:10px; border-bottom:1px solid var(--home-line); text-align:left; }
@media(max-width:980px){.planner-columns{grid-template-columns:1fr;} .smoke-ledger-hero{grid-template-columns:1fr;} .smoke-score-panel{max-width:none;} #heroGauge{min-height:140px;} .smoke-ledger-masthead h1{font-size:36px;} }
@media(max-width:420px){body[data-tool-id="main_smoking"] .form-grid,body[data-tool-id="main_smoking"] .advanced-grid{grid-template-columns:1fr;} .smoke-ledger-masthead h1{font-size:30px;} }
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important;}}
@media print{.smoke-ledger-hero,.home-toolbar,.planner-intro,.cook-mode{display:none!important}.planner-columns{display:block}#results .results-modal{border:0!important;padding:0!important}.tl-item{break-inside:avoid}#results input[type=checkbox]{display:none}}

.smoke-ledger-hero {display:block;}
body[data-tool-id="main_smoking"] #results[data-inline]{display:block;}
#results[data-inline]:not(.visible) .results-modal {display:none;}
#results[data-inline]:not(.visible)::before{content:"Your timeline will appear here. Choose your cut and serving time, then build your plan.";display:block;padding:24px;border:1px dashed var(--home-line);border-radius:8px;color:var(--home-muted);font:400 17px/1.6 var(--font-sans-fallback);}

#calculator,#cookInputs{scroll-margin-top:90px;}
body[data-tool-id="main_smoking"] input[type=date],body[data-tool-id="main_smoking"] input[list]{width:100%;padding:10px 12px;border:1px solid var(--home-line);border-radius:6px;background:var(--home-surface);color:var(--home-text);}
body[data-tool-id="main_smoking"] p,body[data-tool-id="main_smoking"] .srow,body[data-tool-id="main_smoking"] caption{font-family:var(--font-sans-fallback);}
#heroGauge{min-height:260px;}
@media(max-width:600px){#heroGauge{min-height:350px;}}

/* Homepage: the planner is the first task; reference material follows it. */
body[data-tool-id="main_smoking"] .visually-hidden { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
body[data-tool-id="main_smoking"] #main-content { max-width:1120px; padding:28px 24px 48px; }
.home-intro { margin:0 0 24px; max-width:740px; }
.home-intro h1 { font:700 clamp(30px,4vw,46px)/1.12 var(--font-display); letter-spacing:-.025em; margin:0 0 10px; }
.home-intro p { font-size:17px; line-height:1.55; color:var(--home-muted); margin:0; }
.home-intro + .planner-shell { border:0; padding-top:0; }
body[data-tool-id="main_smoking"] .planner-columns { grid-template-columns:minmax(360px,1fr) minmax(0,1fr); gap:28px; }
body[data-tool-id="main_smoking"] #cookInputs { padding:20px; border-radius:12px; background:var(--home-soft); }
body[data-tool-id="main_smoking"] .field-wide { grid-column:1/-1; }
body[data-tool-id="main_smoking"] .form-group label { font:600 14px/1.4 var(--font-sans-fallback); text-transform:none; letter-spacing:0; color:var(--home-text); }
.field-label { display:flex; justify-content:space-between; align-items:center; gap:6px; margin-bottom:6px; }
.field-label label { margin:0; }
body[data-tool-id="main_smoking"] .field-label .unit-toggle { display:flex; flex-shrink:0; border:1px solid var(--home-line); background:var(--home-surface); border-radius:6px; overflow:hidden; }
body[data-tool-id="main_smoking"] .field-label .unit-toggle button { min-width:36px; padding:4px; font:600 13px var(--font-sans-fallback); min-height:44px; color:var(--home-muted); background:var(--home-surface); border:0; }
body[data-tool-id="main_smoking"] .field-label .unit-toggle button.active { color:var(--home-surface); background:var(--home-text); }
body[data-tool-id="main_smoking"] .field-help { font-size:12px; line-height:1.4; margin:0; color:var(--home-muted); }
body[data-tool-id="main_smoking"] input,body[data-tool-id="main_smoking"] select { font-size:16px; }
body[data-tool-id="main_smoking"] [hidden] { display:none!important; }
.timezone-settings { font:400 13px/1.5 var(--font-sans-fallback); }
.timezone-settings summary { min-height:44px; display:flex; align-items:center; justify-content:space-between; gap:8px; cursor:pointer; }
.change-label { color:var(--home-link); text-decoration:underline; }
.timezone-settings .form-group { padding:8px 0; }
body[data-tool-id="main_smoking"] .advanced-settings { margin:0; }
body[data-tool-id="main_smoking"] .advanced-settings summary { font:600 14px/1.4 var(--font-sans-fallback); min-height:44px; padding:10px 12px; align-items:center; }
body[data-tool-id="main_smoking"] .calc-btn { font:700 17px/1.4 var(--font-sans-fallback); letter-spacing:0; border-radius:8px; min-height:50px; margin-top:12px; }
body[data-tool-id="main_smoking"] header .theme-toggle { background:transparent; border-color:#68665b; color:#fff; font-size:13px; }
body[data-tool-id="main_smoking"] #results .results-modal { padding:20px; border:1px solid var(--home-line); border-radius:12px; }
.serve-deadline { font-size:16px; line-height:1.5; margin:0 0 10px; }
.result-caution { font-size:13px; line-height:1.5; color:var(--home-muted); }
body[data-tool-id="main_smoking"] .stat-cards { grid-template-columns:repeat(2,minmax(0,1fr)); margin:20px 0; }
body[data-tool-id="main_smoking"] .stat-card { background:var(--home-soft); border:0; }
body[data-tool-id="main_smoking"] .stat-card .sc-label { font:600 13px/1.4 var(--font-sans-fallback); text-transform:none; letter-spacing:0; color:var(--home-muted); }
body[data-tool-id="main_smoking"] .stat-card .sc-value { font:700 23px/1.3 var(--font-sans-fallback); color:var(--home-text); }
body[data-tool-id="main_smoking"] .stat-card .sc-sub { color:var(--home-muted); opacity:1; }
.result-detail { border-top:1px solid var(--home-line); margin:0; padding:0; }
.result-detail > summary { padding:14px 0; min-height:48px; cursor:pointer; font:600 16px/1.4 var(--font-sans-fallback); }
.result-detail .card { padding:8px 0; border:0; box-shadow:none; }
body[data-tool-id="main_smoking"] #results .section-title { font:700 17px/1.4 var(--font-sans-fallback); text-transform:none; letter-spacing:0; }
.home-help { margin:32px 0; max-width:760px; }
.home-help h2 { font:700 26px/1.25 var(--font-display); margin:0 0 12px; }
.home-help p,.home-help td,.home-help th { font-size:16px; line-height:1.65; }
.home-help p { margin:10px 0; }
.home-help a { color:var(--home-link); text-underline-offset:3px; }
.home-help details { border-bottom:1px solid var(--home-line); }
.home-help summary { padding:12px 0; font:600 16px/1.5 var(--font-sans-fallback); cursor:pointer; }
.home-help .review-note { font-size:13px; color:var(--home-muted); }
.home-help .safety-note { border-left:3px solid var(--home-action); padding-left:16px; margin-top:20px; }
.home-help .editorial-table { width:100%; border-collapse:collapse; }
.home-help th,.home-help td { padding:10px 12px; text-align:left; border-bottom:1px solid var(--home-line); }
.related-tools { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.related-tools a { display:block; border:1px solid var(--home-line); border-radius:8px; padding:16px; text-decoration:none; font-size:15px; line-height:1.5; }
.related-tools a:hover { border-color:var(--home-action); }
.related-tools span { display:block; color:var(--home-muted); margin-top:6px; }
body[data-tool-id="main_smoking"] .smoke-score-panel { margin:28px auto; padding:20px; max-width:760px; }
body[data-tool-id="main_smoking"] .smoke-score-panel h2 { font:700 22px/1.3 var(--font-display); letter-spacing:0; text-transform:none; }
body[data-tool-id="main_smoking"] #heroGauge { display:block; min-height:0; text-align:left; }
.weather-detail { margin:8px 0; font-size:13px; width:100%; text-align:left; }
.weather-detail summary { cursor:pointer; min-height:44px; padding:10px 0; }
@media(max-width:980px) { body[data-tool-id="main_smoking"] .planner-columns { grid-template-columns:1fr; } }
@media(max-width:600px) {
  body[data-tool-id="main_smoking"] #main-content { padding:20px 16px 32px; }
  .home-intro { margin-bottom:16px; }
  .home-intro p { font-size:15px; line-height:1.5; }
  body[data-tool-id="main_smoking"] #cookInputs { padding:14px; }
  body[data-tool-id="main_smoking"] .form-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  body[data-tool-id="main_smoking"] .advanced-grid { grid-template-columns:1fr; }
  body[data-tool-id="main_smoking"] .field-label label { font-size:12px; }
  body[data-tool-id="main_smoking"] .field-label .unit-toggle button { min-width:32px; }
  .home-help h2 { font-size:24px; }
  .related-tools { grid-template-columns:1fr; }
  .home-help th,.home-help td { font-size:14px; padding:10px 8px; }
  .plan-decision { font-size:25px; }
}
@media(max-width:350px) { .field-label { flex-wrap:wrap; } }
@media print {
  .home-intro,.home-help,.timezone-settings,.smoke-score-panel { display:none!important; }
  body[data-tool-id="main_smoking"] .stat-card { background:#fff!important; }
  body[data-tool-id="main_smoking"] .sc-value { color:#000!important; }
}
body.embed-mode .home-intro,body.embed-mode .home-help,body.embed-mode .smoke-score-panel { display:none!important; }

/* Keep the long timeline below the compact inputs and result summary. */
.timeline-details { display:none; grid-column:1 / -1; min-width:0; }
#results.visible + .timeline-details { display:block; }
body[data-tool-id="main_smoking"] .timeline-details .card { background:var(--home-soft); border-color:var(--home-line); box-shadow:none; }
body[data-tool-id="main_smoking"] .timeline-details .section-title { font:700 17px/1.4 var(--font-sans-fallback); text-transform:none; letter-spacing:0; }
@media print { .timeline-details input[type=checkbox] { display:none; } }

body[data-tool-id="main_smoking"] input[type=date],body[data-tool-id="main_smoking"] input[type=time] { color-scheme:light; }
html[data-theme="dark"] body[data-tool-id="main_smoking"] input[type=date],html[data-theme="dark"] body[data-tool-id="main_smoking"] input[type=time] { color-scheme:dark; }
body[data-tool-id="main_smoking"] #useLocalWeather,body[data-tool-id="main_smoking"] .results-close { min-height:44px; padding:10px 12px; border:1px solid var(--home-line); border-radius:6px; background:var(--home-surface); color:var(--home-text); font:600 14px/1.4 var(--font-sans-fallback); }
body[data-tool-id="main_smoking"] #useLocalWeather:hover { border-color:var(--home-link); }
