    :root {
      color-scheme: light;
      --ink:#1e2d26;
      --green:#1f4a3a;
      --line:#e2e7e3;
      --soft:#f6f8f6;
    }

    *, *::before, *::after { box-sizing:border-box; }
    html, body { width:100%; max-width:100%; margin:0; }
    body {
      color:var(--ink);
      font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Yu Gothic",sans-serif;
      line-height:1.85;
      overflow-wrap:anywhere;
    }
    main {
      width:100%;
      max-width:860px;
      min-width:0;
      margin:0 auto;
      padding:32px 20px 80px;
    }
    article, .post-content, nav, figure { min-width:0; max-width:100%; }
    a { color:var(--green); overflow-wrap:anywhere; word-break:break-word; }
    .draft-banner { padding:10px 14px; background:#fff6d8; border:1px solid #ead596; border-radius:8px; margin-bottom:24px; }
    .meta { color:#647168; font-size:.92rem; }
    .toc-box { background:var(--soft); border:1px solid var(--line); border-radius:10px; padding:14px 18px; margin:24px 0 32px; }
    .toc-box > strong { display:block; margin-bottom:6px; }
    .article-hardware-tags {
      display:flex;
      flex-wrap:wrap;
      gap:.45rem;
      margin:-20px 0 32px;
    }
    .article-hardware-tags[hidden] { display:none; }
    .article-hardware-tag {
      display:inline-flex;
      align-items:center;
      overflow:hidden;
      border:1px solid var(--line);
      border-radius:999px;
      background:#fff;
      color:#46534c;
      font-size:.82rem;
      line-height:1.35;
    }
    .article-hardware-tag > span {
      padding:.22rem .6rem .22rem .15rem;
    }
    .article-hardware-tag__level {
      align-self:stretch;
      display:inline-flex;
      align-items:center;
      padding:.22rem .5rem;
      margin-right:.35rem;
      font-size:.74rem;
      letter-spacing:.02em;
    }
    .article-hardware-tag__level--required {
      background:#e4f1e7;
      color:#285d38;
    }
    .article-hardware-tag__level--optional {
      background:#eef0ef;
      color:#59655f;
    }
    .section-nav { margin:0; padding-left:1.25rem; }
    h1,h2,h3 { line-height:1.45; overflow-wrap:anywhere; }
    h2 { margin-top:2.2em; border-bottom:1px solid var(--line); padding-bottom:.25em; }
    figure { margin:1.5rem 0; }
    img, video, iframe, svg { display:block; max-width:100%; height:auto; }
    img { border-radius:10px; }
    figcaption { margin-top:.5rem; font-size:.92rem; color:#647168; }

    .text-photo {
      display:grid;
      grid-template-columns:minmax(0, 1.25fr) minmax(220px, .75fr);
      gap:1.25rem;
      align-items:start;
      clear:both;
      margin:1.5rem 0;
    }
    .text-photo__content { min-width:0; }
    .text-photo__content > :first-child { margin-top:0; }
    .text-photo__content > :last-child { margin-bottom:0; }
    figure.text-photo__figure,
    .text-photo__figure { width:auto; margin:0; }
    .text-photo__figure img { width:100%; }
    .text-photo--interleaved {
      grid-template-areas:
        "lead figure"
        "continuation figure";
    }
    .text-photo--interleaved .text-photo__figure {
      grid-area:figure;
    }
    .text-photo__lead { grid-area:lead; min-width:0; }
    .text-photo__continuation { grid-area:continuation; min-width:0; }
    .text-photo--interleaved .text-photo__lead > :first-child,
    .text-photo--interleaved .text-photo__continuation > :first-child { margin-top:0; }
    .text-photo--interleaved .text-photo__lead > :last-child,
    .text-photo--interleaved .text-photo__continuation > :last-child { margin-bottom:0; }
    figure.text-photo--interleaved__figure { grid-area:figure; }

    .photo-grid {
      display:grid;
      grid-template-columns:repeat(2, minmax(0, 1fr));
      gap:.85rem;
      clear:both;
      margin:1rem 0;
    }
    .photo-grid--3 { grid-template-columns:repeat(3, minmax(0, 1fr)); }
    figure.photo-grid__item { min-width:0; margin:0; }
    .photo-grid__item img { width:100%; }

    .automation-grid {
      display:grid;
      grid-template-columns:repeat(2, minmax(0, 300px));
      justify-content:center;
      gap:1.25rem;
      clear:both;
      margin:1.5rem 0;
    }
    .automation-grid--3 {
      grid-template-columns:repeat(3, minmax(0, 1fr));
    }

    .automation-figure {
      width:min(100%, 300px);
      min-width:0;
      margin:1rem auto;
    }
    .automation-figure > figcaption {
      margin-top:.5rem;
    }
    .automation-card {
      min-width:0;
      height:100%;
      margin:0;
      padding:.65rem;
      border:1px solid #c8cfca;
      border-radius:16px;
      background:#f6f6f8;
      color:#252a35;
      box-shadow:0 2px 7px rgba(30,45,38,.08);
    }
    .automation-card__name {
      display:flex;
      align-items:center;
      gap:.7rem;
      min-height:48px;
      padding:.6rem .75rem;
      border:1px solid #dde2de;
      border-radius:12px;
      background:#fff;
    }
    .automation-card__name-label {
      flex:0 0 auto;
      font-weight:700;
    }
    .automation-card__name strong {
      font-size:1rem;
    }
    .automation-card__section {
      margin-top:.75rem;
    }
    .automation-card__section h4 {
      margin:0 0 .25rem;
      font-size:.92rem;
      line-height:1.4;
    }
    .automation-card__panel {
      overflow:hidden;
      border:1px solid #dde2de;
      border-radius:12px;
      background:#fff;
      padding:0 .75rem;
    }
    .automation-card__logic {
      padding:.55rem 0;
      border-bottom:1px solid var(--line);
      font-size:.9rem;
    }
    .automation-card__logic--with-symbol {
      display:flex;
      align-items:center;
      justify-content:flex-start;
      gap:.2rem;
    }
    .automation-card__and-symbol {
      flex:0 0 auto;
      color:#626b73;
      font-size:1.05rem;
      line-height:1;
    }
    .automation-card__rows {
      margin:0;
      padding:0;
    }
    .automation-card__row {
      display:flex;
      flex-direction:column;
      gap:.04rem;
      margin:0;
      padding:.5rem 0 .5rem 1em;
      border-bottom:1px solid var(--line);
      overflow-wrap:anywhere;
    }
    .automation-card__row:last-child {
      border-bottom:0;
    }
    .automation-card__row strong {
      font-size:.96rem;
      line-height:1.5;
    }
    .automation-card__row span {
      color:#9299a0;
      font-size:.9rem;
      line-height:1.45;
    }
    .text-photo > .automation-figure {
      width:100%;
      margin:0;
      align-self:start;
    }

    .climate-guide {
      width:min(100%, 620px);
      margin:1.5rem auto;
      padding:1rem;
      border:1px solid var(--line);
      border-radius:16px;
      background:var(--soft);
    }
    .climate-guide__notice {
      display:grid;
      gap:.2rem;
      margin-bottom:.9rem;
      padding:.7rem .8rem;
      border:1px solid #d8c8a9;
      border-radius:10px;
      background:#fffaf0;
      font-size:.9rem;
    }
    .climate-guide__notice[hidden] {
      display:none;
    }
    .climate-guide__notice span {
      color:#647168;
    }
    .climate-guide__submit:disabled {
      cursor:not-allowed;
      opacity:.5;
    }
    .climate-guide__form {
      display:grid;
      gap:.9rem;
    }
    .climate-guide__examples { padding:.85rem; border:1px solid var(--design-border); border-radius:.75rem; background:var(--design-surface); }
    .climate-guide__examples h3 { margin:0 0 .35rem; font-size:1rem; }
    .climate-guide__examples p { margin:.25rem 0 .65rem; }
    .climate-guide__example-actions { display:flex; flex-wrap:wrap; gap:.5rem; }
    .climate-guide__example-actions button { flex:1 1 12rem; padding:.6rem .75rem; border:1px solid var(--design-primary); border-radius:.5rem; background:var(--design-surface); color:var(--design-primary); font-weight:700; }
    .climate-guide__example-actions button[aria-pressed="true"] { background:var(--design-primary); color:#fff; }
    .climate-guide__example-actions button:disabled { cursor:wait; opacity:.55; }
    .climate-guide__field {
      display:grid;
      gap:.35rem;
      min-width:0;
    }
    .climate-guide__field--two {
      grid-template-columns:repeat(2, minmax(0, 1fr));
      gap:.75rem;
    }
    .climate-guide__field label,
    .climate-guide__label {
      font-weight:600;
    }
    .climate-guide input,
    .climate-guide select,
    .climate-guide button {
      max-width:100%;
      font:inherit;
    }
    .climate-guide input[type="text"],
    .climate-guide input[type="time"],
    .climate-guide input[type="number"],
    .climate-guide select {
      width:100%;
      margin-top:.2rem;
      padding:.55rem .65rem;
      border:1px solid #cfd6d1;
      border-radius:9px;
      background:#fff;
      color:var(--ink);
    }
    .climate-guide__map-canvas {
      width:100%;
      height:320px;
      overflow:hidden;
      border:1px solid #cfd6d1;
      border-radius:10px;
      background:#f7f8f6;
    }
    .climate-guide__map-canvas .leaflet-overlay-pane svg path {
      stroke:#8fa095;
      stroke-width:1;
      fill:#dfe8e1;
    }
    .climate-guide__map-canvas .leaflet-control-zoom {
      border:0;
      box-shadow:0 1px 6px rgba(30,45,38,.12);
    }
    .climate-guide__map-canvas .leaflet-control-zoom a {
      width:34px;
      height:34px;
      line-height:34px;
      color:var(--ink);
      background:#fff;
      font-size:1.15rem;
    }
    .climate-guide__map-canvas .leaflet-control-attribution {
      display:none;
    }
    .climate-guide__map-selection {
      display:flex;
      align-items:baseline;
      justify-content:space-between;
      gap:.75rem;
      padding:.15rem .1rem 0;
      font-size:.9rem;
    }
    .climate-guide__map-selection span {
      color:#647168;
      font-size:.82rem;
    }
    .climate-guide__choices {
      display:flex;
      flex-wrap:wrap;
      gap:.5rem 1rem;
    }
    .climate-guide__choices label {
      font-weight:400;
    }
    .climate-guide__unit {
      display:flex;
      align-items:center;
      gap:.35rem;
      font-weight:400;
    }
    .climate-guide__unit input {
      flex:1 1 auto;
    }
    .climate-guide__hint,
    .climate-guide__status {
      margin:0;
      color:#647168;
      font-size:.88rem;
    }
    .climate-guide__details {
      display:grid;
      gap:.9rem;
      padding:0;
      border-radius:0;
      background:transparent;
    }
    .climate-guide__advanced {
      border:1px solid var(--line);
      border-radius:10px;
      background:#fff;
    }
    .climate-guide__advanced > summary {
      padding:.7rem .8rem;
      cursor:pointer;
      font-weight:600;
    }
    .climate-guide__advanced[open] > summary {
      border-bottom:1px solid var(--line);
    }
    .climate-guide__advanced > .climate-guide__details {
      padding:.8rem;
    }
    .climate-guide__recommendation {
      margin:0 0 1rem;
      padding:.9rem;
      border:1px solid #86b993;
      border-radius:12px;
      background:#f3faf5;
    }
    .climate-guide__recommendation h3 {
      margin:0 0 .65rem;
      font-size:1rem;
    }
    .climate-guide__recommendation-grid {
      display:grid;
      grid-template-columns:repeat(3, minmax(0, 1fr));
      gap:.55rem;
    }
    .climate-guide__recommendation-grid > div {
      display:grid;
      gap:.15rem;
      padding:.55rem .65rem;
      border:1px solid #c9dfce;
      border-radius:9px;
      background:#fff;
    }
    .climate-guide__recommendation-grid span {
      color:#647168;
      font-size:.75rem;
    }
    .climate-guide__recommendation-grid strong {
      font-size:1.05rem;
    }
    .climate-guide__recommendation p {
      margin:.7rem 0 0;
      color:#59655f;
      font-size:.85rem;
    }
    .climate-guide__primary-grid > label {
      display:grid;
      grid-template-rows:auto 2.65rem;
      align-content:start;
    }
    .climate-guide__primary-grid input {
      box-sizing:border-box;
      height:2.65rem;
    }
    .climate-guide__simulation-rules {
      display:grid;
      grid-template-columns:repeat(2, minmax(0, 1fr));
      gap:.75rem;
    }
    .climate-guide__simulation-inputs {
      display:grid;
      gap:.7rem;
      padding-top:.15rem;
    }
    .climate-guide__comparison-inputs,
    .climate-guide__comparison-results {
      display:grid;
      gap:.65rem;
      padding:.85rem;
      border:1px solid var(--line);
      border-radius:10px;
      background:#fff;
    }
    .climate-guide__comparison-inputs h3,
    .climate-guide__comparison-results h3 { margin:0; font-size:1rem; }
    .climate-guide__comparison-list { display:grid; gap:.45rem; }
    .climate-guide__comparison-choice {
      display:grid;
      gap:.2rem;
      width:100%;
      padding:.6rem .7rem;
      border:1px solid var(--design-primary);
      border-radius:8px;
      background:var(--design-surface);
      color:var(--ink);
      text-align:left;
    }
    .climate-guide__comparison-choice-title,
    .climate-guide__comparison-choice-metric {
      display:flex;
      flex-wrap:wrap;
      gap:.2rem .45rem;
      font-size:.88rem;
      line-height:1.35;
    }
    .climate-guide__comparison-choice-title { font-size:1rem; font-weight:700; }
    .climate-guide__comparison-choice-token { white-space:nowrap; }
    .climate-guide__comparison-choice[aria-pressed="true"] {
      border-width:2px;
      background:color-mix(in srgb, var(--design-primary) 12%, var(--design-surface));
    }
    .climate-guide__comparison-invalid { margin:0; color:#8b2f2f; font-size:.88rem; }
    .climate-guide__simulation-inputs-title {
      margin:0;
      font-size:1rem;
      font-weight:700;
    }
    .climate-guide__simulation-rule {
      display:grid;
      gap:.45rem;
      min-width:0;
      margin:0;
      padding:.7rem;
      border:1px solid var(--line);
      border-radius:10px;
      background:#fff;
    }
    .climate-guide__simulation-rule legend {
      padding:0 .2rem;
      color:var(--green);
      font-size:.9rem;
      font-weight:700;
    }
    .climate-guide__simulation-rule label {
      display:grid;
      gap:.2rem;
      font-size:.85rem;
      font-weight:600;
    }
    .climate-guide__simulation-rule--stop { grid-column:1 / -1; grid-template-columns:repeat(2, minmax(0, 1fr)); }
    .climate-guide__submit {
      justify-self:start;
      padding:.55rem .9rem;
      border:0;
      border-radius:9px;
      background:var(--green);
      color:#fff;
      cursor:pointer;
      font-weight:600;
    }
    .climate-guide__summary {
      display:grid;
      gap:.2rem;
      margin-bottom:1rem;
      padding:.75rem .8rem;
      border-radius:10px;
      background:#fff;
    }
    .climate-guide__summary span {
      color:#647168;
      font-size:.9rem;
    }
    .climate-guide__warnings {
      display:grid;
      gap:.7rem;
      margin:0 0 1rem;
      padding:.8rem .9rem;
      border:1px solid #d6a44f;
      border-radius:10px;
      background:#fff7e6;
    }
    .climate-guide__warnings[hidden] {
      display:none;
    }
    .climate-guide__warning-group {
      display:grid;
      gap:.2rem;
    }
    .climate-guide__warning-group b {
      color:#57451f;
      font-size:.9rem;
    }
    .climate-guide__warning-group ul {
      margin:.1rem 0 0 1.15rem;
      padding:0;
      color:#65512d;
      font-size:.88rem;
    }
    .climate-guide__warning-group li + li {
      margin-top:.18rem;
    }
    .climate-guide__automation-grid {
      grid-template-columns:repeat(2, minmax(0, 300px));
      justify-content:center;
      gap:1rem;
    }
    .climate-guide__automation-grid .automation-figure {
      height:100%;
      margin:0;
    }
    .climate-guide__hardware-configurations {
      margin:1.25rem 0 0;
      padding-top:1rem;
      border-top:1px solid var(--line);
    }
    .climate-guide__hardware-configurations[hidden] { display:none; }
    .climate-guide__hardware-configurations h3 {
      margin:.2rem 0 .35rem;
      font-size:1rem;
    }
    .climate-guide__hardware-configuration-list {
      display:grid;
      gap:.5rem;
      margin-top:.75rem;
    }
    .climate-guide__hardware-configuration {
      display:flex;
      flex-wrap:wrap;
      align-items:baseline;
      gap:.35rem .7rem;
      padding:.55rem .7rem;
      border:1px solid var(--line);
      border-radius:9px;
      background:#fff;
      font-size:.88rem;
    }
    .climate-guide__hardware-configuration strong {
      flex:0 0 auto;
      color:var(--green);
    }
    .climate-guide__hardware-configuration span {
      color:#59655f;
    }
    .climate-guide__result {
      margin-top:1rem;
      padding-top:1rem;
      border-top:1px solid var(--line);
    }
    .climate-guide__result pre {
      margin:.6rem 0;
      padding:.75rem;
      border-radius:9px;
      background:#fff;
      font-size:.82rem;
    }
    .climate-guide__simulation {
      margin-top:1.5rem;
      padding-top:1.25rem;
      border-top:1px solid var(--line);
    }
    .climate-guide__simulation h3 {
      margin:.2rem 0 .35rem;
      font-size:1rem;
    }
    .climate-guide__month-grid {
      display:grid;
      grid-template-columns:repeat(3, minmax(0, 1fr));
      gap:.55rem;
      margin:.85rem 0 1rem;
    }
    .climate-guide__month {
      display:grid;
      grid-template-columns:1fr auto;
      gap:.25rem .5rem;
      min-height:86px;
      padding:.6rem .7rem;
      border:1px solid var(--line);
      border-radius:10px;
      background:#fff;
      color:var(--ink);
      text-align:left;
      cursor:pointer;
      font:inherit;
    }
    .climate-guide__month > strong {
      font-size:.95rem;
    }
    .climate-guide__month span {
      font-size:.72rem;
      line-height:1.35;
    }
    .climate-guide__month-metrics {
      grid-column:1 / -1;
      color:#59655f;
      white-space:pre-line;
    }
    .climate-guide__month-status {
      align-self:start;
      justify-self:end;
      padding:.12rem .4rem;
      border-radius:999px;
      font-weight:700;
      letter-spacing:.01em;
    }
    .climate-guide__month-status--success {
      background:#dff0e3;
      color:#2d6a3d;
    }
    .climate-guide__month-status--warning {
      background:#fff0bd;
      color:#7a5c00;
    }
    .climate-guide__month-status--fail {
      background:#f8d8d4;
      color:#8b2f2f;
    }
    .climate-guide__month--success {
      border-color:#86b993;
      background:#f3faf5;
    }
    .climate-guide__month--warning {
      border-color:#d9bd62;
      background:#fffaf0;
    }
    .climate-guide__month--fail {
      border-color:#d58b84;
      background:#fff3f1;
    }
    .climate-guide__month.is-active {
      box-shadow:0 0 0 2px #303b35;
    }
    .climate-guide__legend {
      display:flex;
      flex-wrap:wrap;
      gap:.5rem 1rem;
      margin:.5rem 0;
      color:#647168;
      font-size:.8rem;
    }
    .climate-guide__legend span {
      display:inline-flex;
      align-items:center;
      gap:.3rem;
    }
    .climate-guide__legend-swatch {
      display:inline-block;
      width:14px;
      height:10px;
      border-radius:2px;
    }
    .climate-guide__legend-swatch--heat {
      background:rgba(205, 70, 60, .18);
    }
    .climate-guide__legend-swatch--cool {
      background:rgba(45, 110, 210, .18);
    }
    .climate-guide__legend-swatch--heat-strong {
      background:rgba(205, 70, 60, .34);
    }
    .climate-guide__legend-swatch--cool-strong {
      background:rgba(45, 110, 210, .34);
    }
    .climate-guide__behavior-chart {
      width:100%;
      box-sizing:border-box;
      overflow:hidden;
      border:1px solid var(--line);
      border-radius:12px;
      background:#fff;
      padding:.5rem;
    }
    .climate-guide__behavior-chart canvas {
      display:block;
      width:100%;
      height:auto;
    }

    /* Keep figures in normal document flow.
       Float-based layouts make later headings/tables wrap around tall portrait photos. */
    figure.photo-side,
    figure.photo-compact {
      width:min(72%, 560px);
      margin:1.5rem auto;
    }
    figure.photo-side img,
    figure.photo-compact img { width:100%; }
    table { width:100%; max-width:100%; border-collapse:collapse; table-layout:fixed; }
    th,td { border:1px solid var(--line); padding:.45rem .6rem; vertical-align:top; overflow-wrap:anywhere; word-break:break-word; }
    pre { max-width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch; }
    code { overflow-wrap:anywhere; word-break:break-word; }
    pre code { overflow-wrap:normal; word-break:normal; }
    @media (max-width:600px) {
      main { padding:20px 16px 56px; }
      h1 { font-size:1.65rem; }
      h2 { font-size:1.3rem; }
      .toc-box { padding:12px 14px; }
      table { font-size:.86rem; }
      th,td { padding:.35rem .4rem; }
      figure.photo-side,
      figure.photo-compact {
        width:100%;
        max-width:100%;
        margin:1.25rem 0;
      }
      .text-photo,
      .photo-grid,
      .photo-grid--3,
      .automation-grid,
      .automation-grid--3 {
        grid-template-columns:minmax(0, 1fr);
        margin:1.25rem 0;
      }
      .text-photo--interleaved {
        grid-template-areas:
          "lead"
          "figure"
          "continuation";
      }
      .photo-grid--mobile-2 { grid-template-columns:repeat(2, minmax(0, 1fr)); }
      .climate-guide { padding:.8rem; }
      .climate-guide__field--two { grid-template-columns:minmax(0, 1fr); }
      .climate-guide__primary-grid { grid-template-columns:repeat(2, minmax(0, 1fr)); }
      .climate-guide__simulation-rules,
      .climate-guide__simulation-rule--stop { grid-template-columns:minmax(0, 1fr); }
      .climate-guide__map-canvas { height:250px; }
      .climate-guide__map-selection { align-items:flex-start; flex-direction:column; gap:.15rem; }
      .climate-guide__automation-grid { grid-template-columns:minmax(0, 1fr); justify-content:stretch; }
      .climate-guide__automation-grid .automation-card { min-width:0; }
      .climate-guide__behavior-chart { padding:.35rem; }
      .climate-guide__recommendation-grid { grid-template-columns:repeat(2, minmax(0, 1fr)); }
      .climate-guide__month-grid { grid-template-columns:minmax(0, 1fr); }
    }
    @media (max-width:360px) {
      .climate-guide__primary-grid { grid-template-columns:minmax(0, 1fr); }
    }

/* SwitchLab editorial shell */
:root {
  --ink:var(--design-text); --green:var(--design-primary); --olive:var(--design-secondary);
  --ivory:var(--design-background); --pale:var(--design-surface-muted); --soft:var(--design-surface-muted); --line:var(--design-border);
}
html { color-scheme:light; }
html[data-theme='dark'] { color-scheme:dark; }
@media (prefers-color-scheme:dark) { html[data-theme='system'] { color-scheme:dark; } }
body { margin:0; background:var(--design-background); color:var(--design-text); font-family:var(--design-font-family); font-size:var(--design-body-size); line-height:var(--design-line-height); }
h1,h2,h3,h4 { font-family:inherit; line-height:var(--design-heading-line-height); }
a { color:var(--design-primary); }
main, .site-header__inner, .site-footer__inner { width:min(var(--design-max-width), calc(100% - 2 * var(--design-page-gutter))); max-width:none; min-width:0; margin-inline:auto; }
main { padding:24px 0 64px; }
.site-header { background:var(--design-surface); border-bottom:1px solid var(--design-border); }
.site-header__inner { min-height:76px; display:flex; align-items:center; gap:1.5rem; }
.site-brand { display:flex; align-items:center; gap:.65rem; min-width:0; color:var(--design-text); text-decoration:none; }
.site-brand__mark { display:block; flex:0 0 auto; width:42px; height:42px; border-radius:11px; }
.site-brand strong,.site-brand small { display:block; }
.site-brand strong { font-size:20px; line-height:1.3; }
.site-brand small { margin-top:2px; color:var(--design-text-muted); font-size:var(--design-small-size); line-height:1.3; }
.site-nav { display:flex; align-items:center; gap:1.2rem; margin-left:auto; }
.site-nav a { color:var(--design-text); text-decoration:none; }
.site-badge { flex:0 0 auto; padding:.2rem .5rem; border:1px solid var(--design-border); border-radius:999px; color:var(--design-text-muted); font-size:var(--design-small-size); white-space:nowrap; }
.site-menu { display:none; position:relative; margin-left:auto; }
.site-menu summary { display:grid; place-items:center; min-width:44px; min-height:44px; color:var(--design-text); cursor:pointer; list-style:none; }
.site-menu summary::-webkit-details-marker { display:none; }
.site-menu__panel { position:absolute; z-index:20; top:calc(100% + 4px); right:0; display:grid; gap:2px; width:160px; max-width:calc(100vw - 32px); padding:8px; border:1px solid var(--design-border); border-radius:var(--design-control-radius); background:var(--design-surface); box-shadow:0 8px 20px rgba(0,0,0,.12); }
.site-menu__panel a { display:flex; align-items:center; min-height:38px; padding:7px 8px; color:var(--design-text); font-size:14px; line-height:1.35; text-decoration:none; white-space:nowrap; }
.site-footer { border-top:1px solid var(--design-border); background:var(--design-surface-muted); color:var(--design-text-muted); font-size:var(--design-small-size); }
.site-footer__inner { padding:28px 0; }
.site-footer p { margin:.3rem 0; }
.eyebrow { margin:0 0 8px; color:var(--design-secondary); font-size:var(--design-small-size); font-weight:700; letter-spacing:.05em; }
.home-hero { display:block; margin:0 0 16px; padding:0; }
.home-hero h1 { max-width:none; margin:0; color:var(--design-text); font-size:var(--design-page-title-size); }
.home-hero p { max-width:60ch; margin:8px 0 0; color:var(--design-text-muted); }
.home-search { margin:0 0 8px; }
.topic-shortcuts { margin-top:0; }
.blog-search label,.archive-controls label { display:block; margin:0 0 4px; color:var(--design-text-muted); font-size:var(--design-small-size); font-weight:700; }
.blog-search__row { display:flex; gap:var(--design-control-gap); }
.blog-search input,.archive-controls input,.archive-controls select { width:100%; min-height:44px; padding:8px 12px; border:1px solid var(--design-border); border-radius:var(--design-control-radius); background:var(--design-surface); color:var(--design-text); font:inherit; }
.blog-search__row input { flex:1 1 auto; }
.blog-search button,.archive-controls button { min-height:44px; padding:8px 16px; border:1px solid var(--design-primary); border-radius:var(--design-control-radius); background:var(--design-primary); color:var(--design-on-primary); font:inherit; cursor:pointer; }
.topic-shortcuts { display:flex; flex-wrap:wrap; gap:var(--design-control-gap); margin:0 0 var(--design-section-gap); }
.topic-shortcuts a { display:inline-flex; align-items:center; min-height:44px; padding:8px 14px; border:1px solid var(--design-border); border-radius:var(--design-control-radius); background:var(--design-surface); color:var(--design-primary); text-decoration:none; }
.section-heading,.topic-shelf__heading { display:flex; justify-content:space-between; align-items:end; gap:var(--design-control-gap); margin-bottom:var(--design-control-gap); }
.section-heading h2,.topic-shelf__heading h2,.goal-shelf h2,.recent-articles h2 { margin:0; border:0; padding:0; color:var(--design-text); font-size:var(--design-section-title-size); }
.section-heading>a,.topic-shelf__heading>a { flex:0 0 auto; color:var(--design-primary); font-size:var(--design-small-size); }
.home-highlights,.goal-shelf,.topic-shelf { margin:0 0 var(--design-section-gap); }
.highlight-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--design-grid-gap); }
.featured-article { display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,.9fr); grid-column:1/-1; gap:var(--design-grid-gap); align-items:center; min-width:0; padding:var(--design-card-padding); border:1px solid var(--design-border); border-radius:var(--design-card-radius); background:var(--design-surface); }
.featured-article__content { min-width:0; }
.featured-article h2 { margin:8px 0; border:0; padding:0; font-size:var(--design-card-title-size); }
.article-cover { position:relative; min-width:0; margin:0; aspect-ratio:var(--article-cover-ratio, var(--design-image-ratio)); overflow:hidden; border-radius:var(--design-image-radius); }
.article-cover img { display:block; width:100%; height:100%; max-width:none; object-fit:cover; object-position:var(--article-cover-position, var(--design-image-position)); border-radius:0; }
.featured-article__media { min-width:0; }
.featured-article:not(:has(.featured-article__media)) { grid-template-columns:1fr; }
.post-card__media { width:100%; margin-top:var(--design-control-gap); }
.article-header__media { width:min(100%, 720px); margin:var(--design-card-padding) 0 0; }
.post-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--design-grid-gap); }
.post-card { display:flex; flex-direction:column; min-width:0; gap:0; padding:var(--design-card-padding); border:1px solid var(--design-border); border-radius:var(--design-card-radius); background:var(--design-surface); box-shadow:none; }
.post-card[hidden],.empty-state[hidden],[hidden] { display:none!important; }
.post-card__meta { display:flex; flex-wrap:wrap; gap:4px 8px; color:var(--design-text-muted); font-size:var(--design-small-size); }
.post-card__topic { color:var(--design-secondary); font-weight:700; }
.post-card__kind { color:var(--design-text-muted); }
.post-card__topic + .post-card__kind::before { content:'・'; }
.post-card h2 { margin:8px 0; border:0; padding:0; font-size:var(--design-card-title-size); }
.post-card h2 a,.featured-article h2 a { color:var(--design-text); text-decoration:none; }
.post-card__summary { margin:0; color:var(--design-text-muted); line-height:var(--design-line-height); }
.post-card__verification { margin:0 0 4px; color:var(--design-text-muted); font-size:var(--design-small-size); }
.post-card time,.recent-articles time { white-space:nowrap; }
.goal-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border-top:1px solid var(--design-border); border-left:1px solid var(--design-border); }
.goal-tile { display:flex; flex-direction:column; gap:4px; padding:var(--design-card-padding); border-right:1px solid var(--design-border); border-bottom:1px solid var(--design-border); background:var(--design-surface); color:var(--design-text); text-decoration:none; }
.goal-tile span { color:var(--design-text-muted); font-size:var(--design-small-size); }
.topic-shelf__heading h2 span { color:var(--design-text-muted); font-size:var(--design-small-size); font-weight:400; }
.topic-shelf__track { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--design-grid-gap); min-width:0; }
.topic-shelf__track .post-card { min-height:100%; }
.topic-shelf__controls { display:none; }
.recent-articles ul { display:grid; gap:0; margin:0; padding:0; list-style:none; }
.recent-articles li { border-bottom:1px solid var(--design-border); }
.recent-articles li a { display:flex; justify-content:space-between; gap:var(--design-control-gap); padding:12px 0; color:var(--design-text); text-decoration:none; }
.recent-articles li span { flex:0 0 auto; color:var(--design-text-muted); font-size:var(--design-small-size); }
.archive-controls { display:grid; grid-template-columns:minmax(0,1fr) minmax(150px,190px) minmax(150px,190px) auto; align-items:end; gap:var(--design-control-gap); margin:var(--design-control-gap) 0; }
.archive-controls button { background:var(--design-surface); color:var(--design-primary); }
.results-meta { min-height:1.5em; color:var(--design-text-muted); font-size:var(--design-small-size); }
.catalog-diagnostic,.search-fallback,.noscript-note,.empty-state { padding:12px 16px; border:1px solid var(--design-border); border-radius:var(--design-control-radius); background:var(--design-warning-surface); color:var(--design-warning-text); }
.archive-grid { margin-top:var(--design-control-gap); }
.article-shell { display:block; min-width:0; }
.article-card { min-width:0; padding:var(--design-card-padding); border:1px solid var(--design-border); border-radius:var(--design-card-radius); background:var(--design-surface); color:var(--design-text); overflow-x:clip; }
.article-header { margin-bottom:12px; }
.post-content > h2:first-of-type { margin-top:1.1em; }
.article-header--cover { position:relative; isolation:isolate; margin:calc(-1 * var(--design-card-padding)); margin-bottom:12px; padding:var(--design-card-padding); overflow:hidden; border-radius:var(--design-card-radius) var(--design-card-radius) 0 0; }
.article-header--cover::before { content:""; position:absolute; z-index:0; inset:0; background-image:var(--article-header-cover); background-position:var(--article-header-cover-position); background-size:cover; opacity:.3; filter:saturate(.9); }
.article-header--cover::after { content:""; position:absolute; z-index:1; inset:0; background:linear-gradient(90deg,rgba(255,255,255,.78) 0%,rgba(255,255,255,.58) 48%,rgba(255,255,255,.3) 78%,rgba(255,255,255,.12) 100%),linear-gradient(0deg,rgba(255,255,255,.7) 0%,rgba(255,255,255,.28) 32%,rgba(255,255,255,.04) 100%); }
.article-header--cover > * { position:relative; z-index:2; }
.article-header h1,.archive-page>h1 { margin:8px 0; color:var(--design-text); font-size:var(--design-page-title-size); }
.article-title__segment { display:inline-block; }
.article-meta { display:flex; flex-wrap:wrap; gap:4px var(--design-control-gap); color:var(--design-text-muted); font-size:var(--design-small-size); }
.article-tags { display:flex; flex-wrap:wrap; gap:6px; margin-top:var(--design-control-gap); }
.article-tags .tag { padding:4px 8px; border-radius:999px; background:var(--design-surface-muted); color:var(--design-secondary); font-size:var(--design-small-size); }
.article-toc { margin:var(--design-card-padding) 0; }
.article-toc summary { min-height:44px; display:flex; align-items:center; gap:8px; padding:8px 0; cursor:pointer; list-style:none; }
.article-toc summary::-webkit-details-marker { display:none; }
.article-toc summary::before { content:'▸'; display:inline-block; color:var(--design-primary); transition:transform .15s ease; }
.article-toc[open] summary::before { transform:rotate(90deg); }
.article-toc ul { margin:8px 0 0; padding-left:1.1em; line-height:1.7; }
.article-toc li { padding:4px 0; }
.article-sidebar { min-width:0; margin-top:var(--design-grid-gap); }
.toc-box,.related-articles { padding:var(--design-card-padding); border:1px solid var(--design-border); border-radius:var(--design-card-radius); background:var(--design-surface-muted); color:var(--design-text); }
.related-articles { margin-top:0; }
.related-articles h2 { margin:0 0 8px; border:0; font-size:var(--design-card-title-size); }
.related-articles ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--design-control-gap); margin:0; padding:0; list-style:none; }
.related-articles li { min-width:0; }
.related-articles a { display:block; height:100%; padding:var(--design-control-gap); border:1px solid var(--design-border); border-radius:var(--design-control-radius); color:var(--design-text); text-decoration:none; }
.related-articles strong,.related-articles span { display:block; }
.related-articles strong { line-height:var(--design-heading-line-height); }
.related-articles span { margin-top:4px; color:var(--design-text-muted); font-size:var(--design-small-size); }
.post-content { max-width:var(--design-reading-width); }
.post-content table,.post-content th,.post-content td { border-color:var(--design-border); }
.post-content th { background:var(--design-surface-muted); }
.post-content code,.post-content pre { background:var(--design-surface-muted); color:var(--design-text); }
input,select,textarea,button { font-family:inherit; }
.article-card input,.article-card select,.article-card textarea,.article-card button { background:var(--design-surface); color:var(--design-text); border-color:var(--design-border); border-radius:var(--design-control-radius); }
.article-card .climate-guide,.article-card .lighting-guide__section,.article-card .automation-card,.article-card .switchlab-select__menu { background:var(--design-surface-muted); color:var(--design-text); border-color:var(--design-border); }
.article-card .climate-guide input,.article-card .climate-guide select,.article-card .lighting-guide input,.article-card .lighting-guide select,.article-card .switchlab-select__trigger,.article-card .switchlab-select__option { background:var(--design-surface); color:var(--design-text); border-color:var(--design-border); }
.article-card .climate-guide__notice,.article-card .climate-guide__summary,.article-card .climate-guide__recommendation,.article-card .climate-guide__recommendation-grid>div,.article-card .climate-guide__advanced,.article-card .climate-guide__month,.article-card .climate-guide__behavior-chart { background:var(--design-surface); color:var(--design-text); border-color:var(--design-border); }
.article-card .climate-guide__hint,.article-card .climate-guide__status,.article-card .lighting-guide__hint,.article-card .lighting-guide__intro { color:var(--design-text-muted); }
.article-card .climate-guide__submit { background:var(--design-primary); color:var(--design-on-primary); }
:focus-visible { outline:3px solid var(--design-focus); outline-offset:2px; }
@media (max-width:900px) { .site-nav { display:none; } .site-menu { display:block; } }
@media (min-width:1200px) { .article-shell--with-related { display:grid; grid-template-columns:minmax(0,1fr) var(--design-article-sidebar-width); gap:var(--design-grid-gap); align-items:start; } .article-shell--with-related .article-sidebar { position:sticky; top:16px; margin-top:0; } .related-articles ul { grid-template-columns:1fr; } }
@media (max-width:900px) { .post-grid,.topic-shelf__track { grid-template-columns:repeat(2,minmax(0,1fr)); } .featured-article { grid-template-columns:1fr; } }
@media (max-width:600px) {
  main,.site-header__inner,.site-footer__inner { width:min(var(--design-max-width), calc(100% - 2 * var(--design-page-gutter-mobile))); }
  main { padding:16px 0 48px; } body { font-size:var(--design-body-size-mobile); }
  .site-header__inner { min-height:60px; } .site-brand__mark { width:36px; height:36px; border-radius:9px; } .site-brand small { display:none; } .site-badge { font-size:var(--design-small-size); }
  .home-hero h1,.archive-page>h1 { font-size:var(--design-page-title-size-mobile); }
  .article-header h1 { font-size:1.4rem; line-height:1.3; }
  .home-search,.home-highlights,.goal-shelf,.topic-shelf { margin-bottom:var(--design-section-gap-mobile); }
  .highlight-grid,.post-grid { grid-template-columns:1fr; gap:var(--design-grid-gap); }
  .featured-article { grid-template-columns:1fr; padding:var(--design-card-padding-mobile); }
  .featured-article__content { order:1; } .featured-article__media { order:2; }
  .post-card { padding:var(--design-card-padding-mobile); }
  .article-card { padding:var(--design-card-padding-mobile); }
  .article-toc { padding:var(--design-card-padding-mobile); }
  .goal-tile { padding:var(--design-card-padding-mobile); }
  .topic-shelf__track { display:flex; gap:var(--design-grid-gap); overflow-x:auto; padding-bottom:4px; scroll-snap-type:x proximity; }
  .topic-shelf__track .post-card { flex:0 0 85%; scroll-snap-align:start; }
  .topic-shelf__controls { display:flex; justify-content:flex-end; gap:var(--design-control-gap); margin-top:var(--design-control-gap); }
  .topic-shelf__controls button { min-width:44px; min-height:44px; border:1px solid var(--design-border); border-radius:var(--design-control-radius); background:var(--design-surface); color:var(--design-primary); }
  .archive-controls { grid-template-columns:1fr; } .archive-controls button { width:100%; }
  .recent-articles li a { display:block; } .recent-articles li span { display:block; margin-top:4px; }
  .related-articles ul { grid-template-columns:1fr; }
  .blog-search__row { flex-wrap:nowrap; }
  .blog-search__row input { min-width:0; flex:1 1 auto; }
  .blog-search button { flex:0 0 auto; white-space:nowrap; }
  .topic-shortcuts { margin-bottom:var(--design-section-gap-mobile); }
}

@media (min-width:601px) {
  .text-photo--interleaved { grid-template-rows:min-content 1fr; }
  .text-photo--interleaved .text-photo__continuation { align-self:start; }
  .text-photo--balanced { grid-template-columns:repeat(2, minmax(0, 1fr)); }
}

/* Semantic controls for embedded article tools. */
.draft-banner { background:var(--design-warning-surface); color:var(--design-warning-text); border-color:var(--design-border); }
.lighting-guide__help { border-color:var(--design-border); color:var(--design-text-muted); }
.article-card .lighting-guide__help::after { border-color:var(--design-border); background:var(--design-surface); color:var(--design-text); }
.article-card .lighting-guide__context span,
.article-card .lighting-guide__status-badge { background:var(--design-surface-muted); color:var(--design-text); }

.climate-setup-effort { min-width:0; margin:1.5rem 0; }
.climate-setup-effort__figure { width:100%; min-width:0; margin:0 auto 1rem; }
.climate-setup-effort__figure figcaption,
.climate-setup-effort__note,
.climate-setup-effort__selected { color:var(--design-text-muted); }
.climate-setup-effort__figure figcaption { margin-top:.5rem; font-size:.875rem; line-height:1.5; }
.climate-setup-effort__controls { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:.75rem; margin:1.25rem 0 .5rem; }
.climate-setup-effort__controls label { display:grid; min-width:0; gap:.3rem; font-weight:600; }
.climate-setup-effort__controls select { min-width:0; padding:.55rem; border:1px solid var(--design-border); border-radius:var(--design-control-radius); background:var(--design-surface); color:var(--design-text); font:inherit; }
.climate-setup-effort__metric-controls { display:flex; flex-wrap:wrap; gap:.5rem; margin:.75rem 0; }
.climate-setup-effort__metric-controls button { min-height:44px; padding:.55rem .8rem; border:1px solid var(--design-border); border-radius:var(--design-control-radius); background:var(--design-surface); color:var(--design-text); font:inherit; font-weight:700; }
.climate-setup-effort__metric-controls button[aria-pressed="true"] { border-color:var(--design-primary); background:var(--design-primary); color:var(--design-on-primary); }
.climate-setup-effort__prefecture-control { display:grid; gap:.3rem; margin:.75rem 0; font-weight:600; }
.climate-setup-effort__prefecture-control select { width:100%; min-height:44px; padding:.55rem; border:1px solid var(--design-border); border-radius:var(--design-control-radius); background:var(--design-surface); color:var(--design-text); font:inherit; }
.climate-setup-effort__legend { display:flex; flex-wrap:wrap; align-items:center; gap:.45rem .75rem; margin:.75rem 0; color:var(--design-text-muted); font-size:.8125rem; }
.climate-setup-effort__legend-title { color:var(--design-text); font-weight:700; }
.climate-setup-effort__legend-item { display:inline-flex; align-items:center; gap:.25rem; white-space:nowrap; }
.climate-setup-effort__legend i { width:1rem; height:1rem; border:1px solid var(--design-border); border-radius:2px; background:var(--design-surface-muted); }
.climate-setup-effort__map-frame { position:relative; width:100%; max-width:34rem; min-width:0; margin-inline:auto; }
.climate-setup-effort__map { display:block; width:100%; height:auto; touch-action:manipulation; }
.climate-setup-effort__map-path { cursor:pointer; fill:var(--design-surface-muted); stroke:var(--design-border); stroke-width:1; stroke-linejoin:round; vector-effect:non-scaling-stroke; }
.climate-setup-effort__map-path[data-level="1"],.climate-setup-effort__legend i[data-level="1"] { fill:color-mix(in srgb, var(--design-primary) 22%, var(--design-surface)); background:color-mix(in srgb, var(--design-primary) 22%, var(--design-surface)); }
.climate-setup-effort__map-path[data-level="2"],.climate-setup-effort__legend i[data-level="2"] { fill:color-mix(in srgb, var(--design-primary) 42%, var(--design-surface)); background:color-mix(in srgb, var(--design-primary) 42%, var(--design-surface)); }
.climate-setup-effort__map-path[data-level="3"],.climate-setup-effort__legend i[data-level="3"] { fill:color-mix(in srgb, var(--design-primary) 64%, var(--design-surface)); background:color-mix(in srgb, var(--design-primary) 64%, var(--design-surface)); }
.climate-setup-effort__map-path[data-level="4"],.climate-setup-effort__legend i[data-level="4"] { fill:color-mix(in srgb, var(--design-primary) 84%, var(--design-surface)); background:color-mix(in srgb, var(--design-primary) 84%, var(--design-surface)); }
.climate-setup-effort__map-path[data-level="missing"] { fill:var(--design-surface-muted); stroke-dasharray:3 2; }
.climate-setup-effort__legend i[data-level="missing"] { background:repeating-linear-gradient(135deg, var(--design-surface-muted) 0 3px, var(--design-border) 3px 6px); }
.climate-setup-effort__map-path[data-selected=""],.climate-setup-effort__map-path:focus-visible { stroke:var(--design-focus); stroke-width:3; outline:none; }
.climate-setup-effort__map-inset rect { fill:none; stroke:var(--design-border); stroke-width:1; vector-effect:non-scaling-stroke; }
.climate-setup-effort__map-inset-label { position:absolute; font-size:.75rem; font-weight:400; line-height:1.4; color:var(--design-text-muted); white-space:nowrap; pointer-events:none; transform:translateY(-100%); }
.climate-setup-effort__all-results { margin-top:1rem; }
.climate-setup-effort__all-results summary { cursor:pointer; font-weight:700; }
.climate-setup-effort__selected-detail { margin-top:.75rem; }
.climate-setup-effort__list { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:.75rem; }
.climate-setup-effort__card { min-width:0; padding:.8rem; border:1px solid var(--design-border); border-radius:var(--design-card-radius); background:var(--design-surface); }
.climate-setup-effort__card h4 { margin:0 0 .6rem; font-size:1rem; }
.climate-setup-effort__card h4 span { color:var(--design-text-muted); font-size:.85rem; font-weight:400; }
.climate-setup-effort__card dl { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:.55rem .75rem; margin:0; }
.climate-setup-effort__card dl div { min-width:0; }
.climate-setup-effort__card dt { color:var(--design-text-muted); font-size:.75rem; }
.climate-setup-effort__card dd { margin:.1rem 0 0; overflow-wrap:anywhere; font-size:.875rem; font-weight:700; line-height:1.4; }
@media (max-width:600px) {
  .climate-setup-effort__controls,
  .climate-setup-effort__list,
  .climate-setup-effort__card dl { grid-template-columns:minmax(0, 1fr); }
  .climate-setup-effort__figure { width:100%; }
}
.article-card .lighting-guide__opportunity { background:var(--design-surface); border-color:var(--design-border); color:var(--design-text); }
.article-card .lighting-guide__products,
.article-card .lighting-guide__metrics,
.article-card .lighting-guide__price-note,
.article-card .lighting-guide__ranking-head span,
.article-card .lighting-guide__ranking-scale,
.article-card .lighting-guide__ranking-note,
.article-card .lighting-guide__inventory-intro { color:var(--design-text-muted); }
.article-card .lighting-guide__warnings-inline { background:var(--design-warning-surface); color:var(--design-warning-text); border-color:var(--design-border); }
.article-card .lighting-guide__ranking { background:var(--design-surface-muted); border-color:var(--design-border); color:var(--design-text); }
.article-card .lighting-guide__inventory-item { background:var(--design-surface); border-color:var(--design-border); color:var(--design-text); }

/* Qiita-style article navigation and sharing. */
.article-shell { width:min(100%, var(--design-article-max-width)); margin-inline:auto; display:flex; flex-direction:column; min-width:0; }
.article-card { order:1; }
.article-share { order:2; position:relative; display:flex; align-items:center; gap:var(--design-control-gap); margin-top:var(--design-grid-gap); }
.article-share button,.article-share a { min-height:44px; padding:8px 12px; border:1px solid var(--design-border); border-radius:var(--design-control-radius); background:var(--design-surface); color:var(--design-text); font:inherit; text-decoration:none; cursor:pointer; }
.article-share__draft-note { color:var(--design-text-muted); font-size:var(--design-small-size); }
.article-share__status { color:var(--design-text-muted); font-size:var(--design-small-size); }
.article-share__status:not(:empty) { position:absolute; z-index:5; top:calc(100% + 8px); left:0; width:max-content; max-width:220px; padding:6px 8px; border:1px solid var(--design-border); border-radius:var(--design-control-radius); background:var(--design-surface); overflow-wrap:anywhere; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.article-toc-panel { order:3; display:none; min-width:0; }
.article-toc-panel .article-toc { margin:0; max-height:calc(100vh - var(--design-toc-sticky-offset) - 16px); overflow:auto; }
.article-toc-panel .article-toc h2 { margin:0 0 8px; border:0; font-size:var(--design-card-title-size); }
.article-toc-panel .article-toc ul { margin:0; padding-left:1.1em; font-size:var(--design-toc-size); line-height:1.7; }
.article-toc-panel .article-toc li { padding:4px 0; }
.article-toc-panel .article-toc a { color:var(--design-text-muted); text-decoration:none; }
.article-toc-panel .article-toc a[aria-current="location"] { color:var(--design-primary); font-weight:700; }
.article-related { width:min(100%, var(--design-article-max-width)); margin:var(--design-section-gap) auto 0; }
.article-related ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--design-control-gap); margin:0; padding:0; list-style:none; }
.article-related li a { display:block; height:100%; padding:var(--design-control-gap); border:1px solid var(--design-border); border-radius:var(--design-control-radius); color:var(--design-text); text-decoration:none; }
.article-related strong,.article-related span { display:block; }
.article-related span { margin-top:4px; color:var(--design-text-muted); font-size:var(--design-small-size); }
.post-content h2,.post-content h3 { scroll-margin-top:var(--design-toc-sticky-offset); }
.author-profile { display:grid; grid-template-columns:72px minmax(0,1fr); align-items:start; gap:1rem; margin-top:var(--design-section-gap); padding-top:1.5rem; border-top:1px solid var(--design-border); }
.author-profile__image { flex:0 0 72px; width:72px; height:72px; border-radius:16px; object-fit:cover; }
.author-profile__body { min-width:0; grid-column:2; grid-row:1; }
.author-profile__eyebrow { margin:0 0 .25rem; color:var(--design-text-muted); font-size:var(--design-small-size); }
.author-profile__name { margin:0; font-size:1.25rem; }
.author-profile__name a { color:inherit; text-decoration:none; }
.author-profile__name a:hover,.author-profile__name a:focus-visible { text-decoration:underline; }
.author-profile__bio { grid-column:2; grid-row:2; margin:-.25rem 0 0; color:var(--design-text-muted); }
.author-profile__social { display:flex; flex-wrap:wrap; gap:.5rem 1rem; margin:.75rem 0 0; padding:0; list-style:none; }
.author-profile__social a { overflow-wrap:anywhere; }
.author-page { width:min(100%,var(--design-article-max-width)); margin-inline:auto; }
.author-page .author-profile { margin-top:1rem; }
.author-page__articles { margin-top:var(--design-section-gap); }
.author-page__articles ul { padding-left:1.5rem; }
.author-page__articles li+li { margin-top:.5rem; }
@media (max-width:600px) { .author-profile { grid-template-columns:56px minmax(0,1fr); gap:.75rem; } .author-profile__image { flex-basis:56px; width:56px; height:56px; border-radius:12px; } .author-profile__body { grid-column:2; grid-row:1; } .author-profile__bio { grid-column:1 / -1; grid-row:2; margin-top:.25rem; } }
main:has(.article-shell) { width:min(var(--design-article-max-width), calc(100% - 2 * var(--design-page-gutter))); }
@media (min-width:1200px) {
  .article-shell:not(.article-shell--with-toc) { display:grid; grid-template-columns:44px minmax(0,1fr); gap:var(--design-grid-gap); align-items:start; }
  .article-shell:not(.article-shell--with-toc) .article-share { grid-column:1; grid-row:1; position:sticky; top:var(--design-toc-sticky-offset); display:grid; margin-top:0; }
  .article-shell:not(.article-shell--with-toc) .article-card { grid-column:2; grid-row:1; }
  .article-shell--with-toc { display:grid; grid-template-columns:44px minmax(0,1fr) var(--design-article-sidebar-width); gap:var(--design-grid-gap); align-items:start; }
  .article-shell--with-toc .article-share { grid-column:1; grid-row:1; position:sticky; top:var(--design-toc-sticky-offset); display:grid; margin-top:0; }
  .article-shell--with-toc .article-card { grid-column:2; grid-row:1; }
  .article-shell--with-toc .article-toc-panel { grid-column:3; grid-row:1; display:block; position:sticky; top:var(--design-toc-sticky-offset); align-self:start; }
  .article-shell .article-share button,.article-shell .article-share a { width:44px; padding:8px 4px; }
  .article-shell .article-share__draft-note { display:none; }
  .article-related { grid-template-columns:1fr; }
}
@media (max-width:1199px) {
  .article-share { flex-wrap:wrap; }
  .article-toc-panel { display:none; }
}
@media (max-width:600px) { .article-related ul { grid-template-columns:1fr; } }
@media (max-width:600px) { main:has(.article-shell) { width:calc(100% - 2 * var(--design-page-gutter-mobile)); } }

/* Keep the search action readable at every width. */
.blog-search__row input { min-width:0; flex:1 1 auto; }
.blog-search button { flex:0 0 auto; min-width:max-content; white-space:nowrap; }
.blog-search input::placeholder { color:var(--design-text-muted); opacity:1; }
@media (max-width:600px) {
  .topic-shortcuts { flex-wrap:nowrap; overflow-x:auto; overscroll-behavior-x:contain; }
  .topic-shortcuts a { flex:0 0 auto; white-space:nowrap; }
}

/* Reference landing layout. The existing article and tool rules above remain shared. */
.home-page { width:min(var(--design-max-width), calc(100% - 2 * var(--design-page-gutter))); }
.home-hero {
  display:grid;
  grid-template-columns:minmax(0, .8fr) minmax(0, 1.7fr);
  gap:16px;
  margin:calc(-1 * 24px) calc(-1 * var(--design-page-gutter)) var(--design-section-gap);
  padding:20px var(--design-page-gutter) 24px;
  background:var(--design-surface-muted);
}
.home-hero__intro {
  display:flex;
  align-items:flex-start;
  min-width:0;
  min-height:440px;
  padding:22px 12px 24px;
  border-radius:var(--design-card-radius);
  background:linear-gradient(180deg,var(--design-surface) 0%,var(--design-surface) 42%,transparent 100%),url('../images/home-living.jpg') center bottom/cover no-repeat;
}
.home-hero__intro-content { max-width:28rem; }
.home-hero h1 { margin:0; color:var(--design-text); font-size:clamp(1.8rem,2.25vw,1.9rem); line-height:1.28; letter-spacing:-.035em; }
.home-hero__intro-content > p { max-width:31ch; margin:16px 0 22px; color:var(--design-text-muted); font-size:1.05rem; line-height:1.75; }
.home-hero__cta,.home-about__cta,.tool-card__cta {
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  min-height:44px;
  padding:9px 18px;
  border-radius:999px;
  background:var(--design-primary);
  color:var(--design-on-primary);
  font-weight:700;
  text-decoration:none;
}
.home-hero__cta { min-width:174px; }
.home-hero__cta span,.home-about__cta span,.tool-card__cta span { font-size:1.35em; line-height:1; }
.home-hero__features { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(0,1fr); gap:16px; min-width:0; }
.home-hero:not(:has(.home-hero__features)) { grid-template-columns:1fr; }
.home-hero__feature { min-width:0; }
.home-hero__feature--main { grid-row:span 2; }
.home-hero__feature--side { min-height:0; align-self:start; }
.home-hero__feature .featured-article,.home-hero__feature .post-card { height:100%; }
.home-hero__feature .featured-article { display:flex; flex-direction:column; align-items:stretch; gap:0; padding:0; overflow:hidden; }
.home-hero__feature .featured-article__media { order:0; width:100%; min-height:0; aspect-ratio:16 / 10; }
.home-hero__feature--main .featured-article__media { aspect-ratio:3 / 2; }
.home-hero__feature .featured-article__content { order:1; flex:1 1 auto; min-height:0; padding:14px 18px 18px; }
.home-hero__feature .featured-article__content { display:flex; flex-direction:column; }
.home-hero__feature .featured-article h2 { display:-webkit-box; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:2; min-height:2.8em; margin:4px 0 8px; font-size:clamp(1.15rem,1.8vw,1.55rem); line-height:1.4; }
.home-hero__feature .featured-article .post-card__summary { display:-webkit-box; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:2; min-height:2.9em; line-height:1.45; }
.home-hero__feature .post-card { height:100%; padding:0 14px 14px; overflow:hidden; }
.home-hero__feature .post-card__media { order:-1; width:calc(100% + 28px); max-width:none; margin:0 0 12px -14px; }
.home-hero__feature .post-card__media + .post-card__meta { margin-top:0; }
.home-hero__feature .post-card h2 { font-size:1rem; line-height:1.4; }
.home-hero__feature .post-card p { margin-top:8px; margin-bottom:0; line-height:1.5; }
.home-hero__feature .post-card__meta,.home-hero__feature .post-card__verification { font-size:12px; line-height:1.4; }
.home-hero__feature .post-card__summary { display:-webkit-box; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:2; min-height:2.8em; font-size:.8rem; line-height:1.4; }
.home-hero__feature .post-card__verification { margin-top:0; }
.home-hero__feature .post-card .post-card__footer p { margin:0; }
.home-hero__feature .article-cover { border-radius:0; }
.home-hero__feature--side .post-card__media { height:88px; aspect-ratio:2.5 / 1; }
.home-hero__feature--side .post-card h2 { display:-webkit-box; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:2; min-height:2.8em; margin:4px 0; }
.home-hero__feature--side .post-card p { margin-top:4px; }
.home-hero__feature .article-cover img { min-height:100%; }
.article-cover__badges { position:absolute; right:10px; bottom:10px; left:10px; display:flex; min-width:0; }
.article-cover__badge { max-width:100%; overflow:hidden; padding:4px 9px; border-radius:999px; background:var(--design-primary); color:var(--design-on-primary); font-size:12px; font-weight:700; line-height:1.25; text-overflow:ellipsis; white-space:nowrap; }
.recent-articles,.home-tools,.home-about { margin:0 0 var(--design-section-gap); }
.recent-grid,.tools-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr)); gap:var(--design-grid-gap); }
.archive-grid { grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr)); }
.recent-grid .post-card { min-height:100%; height:100%; }
.recent-grid .post-card__media { order:-1; margin:calc(-1 * var(--design-card-padding)) calc(-1 * var(--design-card-padding)) var(--design-control-gap); width:calc(100% + 2 * var(--design-card-padding)); }
.recent-grid .post-card__media { max-width:none; aspect-ratio:16 / 10; border-radius:var(--design-card-radius) var(--design-card-radius) 0 0; }
.home-hero__feature .post-card__media img,.recent-grid .post-card__media img { height:100%; object-fit:cover; }
.recent-grid .post-card h2 { display:-webkit-box; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:2; min-height:2.8em; margin:8px 0; font-size:1.05rem; line-height:1.4; }
.recent-grid .post-card__summary { display:-webkit-box; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:2; min-height:2.9em; font-size:.9rem; line-height:1.45; }
.post-card__footer,.featured-article__footer { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:1.75rem; margin-top:auto; }
.post-card__footer .post-card__verification { margin:0; }
.post-card__verification--home { margin:0; }
.post-card__arrow,.featured-article__arrow { display:flex; align-items:center; justify-content:center; flex:0 0 1.75rem; width:1.75rem; height:1.75rem; margin:0; border-radius:50%; color:var(--design-primary); font-size:1.3rem; line-height:1; text-decoration:none; }
.post-card > .post-card__arrow { margin:6px 0 0 auto; }
.featured-article > .featured-article__arrow { margin:0 16px 12px auto; }
.post-card__arrow:hover,.post-card__arrow:focus-visible,.featured-article__arrow:hover,.featured-article__arrow:focus-visible { background:var(--design-surface-muted); }
.featured-article__footer { order:2; padding:0 16px 12px; }
.post-card__media { order:-1; }
.section-heading__title { display:flex; align-items:baseline; gap:12px; }
.section-heading__title p { margin:0; color:var(--design-text-muted); font-size:var(--design-small-size); }
.home-tools .section-heading { align-items:baseline; }
.tools-grid { gap:12px; }
.tool-card { display:flex; flex-direction:column; align-items:center; min-width:0; padding:18px 14px 14px; border:1px solid var(--design-border); border-radius:var(--design-card-radius); background:var(--design-surface); color:var(--design-text); text-align:center; text-decoration:none; }
.tool-card__icon { display:grid; place-items:center; width:60px; height:60px; margin-bottom:8px; color:var(--design-primary); }
.tool-card__icon svg { width:56px; height:56px; fill:none; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; stroke-width:2.1; }
.tool-card__icon--light { color:#d5a928; }
.tool-card h3 { margin:4px 0 8px; font-size:1rem; line-height:1.45; }
.tool-card p { flex:1; margin:0 0 12px; color:var(--design-text-muted); font-size:.88rem; line-height:1.55; }
.tool-card__cta { width:100%; padding:8px 14px; font-size:.88rem; }
.home-about { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.15fr); min-height:180px; overflow:hidden; border-radius:var(--design-card-radius); background:var(--design-surface-muted); }
.home-about__content { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; min-width:0; padding:28px 32px; }
.home-about h2 { margin:0 0 10px; border:0; color:var(--design-text); font-size:clamp(1.55rem,2.4vw,2.1rem); line-height:1.35; }
.home-about p:not(.eyebrow) { max-width:38ch; margin:0 0 18px; color:var(--design-text-muted); }
.home-about__media { min-height:220px; background:url('../images/home-living.jpg') center/cover no-repeat; }
.site-search { display:flex; align-items:center; flex:0 1 400px; min-width:0; margin-left:auto; }
.site-search input,.site-search button { box-sizing:border-box; height:44px; min-height:44px; max-height:44px; appearance:none; }
.site-search input { flex:1 1 auto; min-width:0; width:auto; padding:0 12px; border:1px solid var(--design-border); border-radius:var(--design-control-radius) 0 0 var(--design-control-radius); background:var(--design-surface); color:var(--design-text); font:inherit; line-height:1.4; }
.site-search button { display:grid; flex:0 0 46px; place-items:center; width:46px; min-width:46px; padding:0; border:1px solid var(--design-primary); border-radius:0 var(--design-control-radius) var(--design-control-radius) 0; background:var(--design-primary); color:var(--design-on-primary); font-size:1.55rem; line-height:1; cursor:pointer; }
.site-menu__search { display:grid; grid-template-columns:minmax(0,1fr) 44px; align-items:center; gap:4px; margin-top:4px; padding:8px 0 0; border-top:1px solid var(--design-border); }
.site-menu__search input,.site-menu__search button { box-sizing:border-box; height:44px; min-height:44px; max-height:44px; font:inherit; font-size:14px; }
.site-menu__search input { min-width:0; width:100%; padding:0 6px; border:1px solid var(--design-border); border-radius:var(--design-control-radius); background:var(--design-surface); color:var(--design-text); line-height:1.4; }
.site-menu__search button { display:grid; place-items:center; min-width:44px; padding:0; border:1px solid var(--design-primary); border-radius:var(--design-control-radius); background:var(--design-primary); color:var(--design-on-primary); line-height:1; white-space:nowrap; cursor:pointer; }
.site-footer__inner { display:grid; grid-template-columns:1.2fr 1fr auto; align-items:center; gap:24px; }
.site-footer__brand { display:flex; align-items:center; gap:10px; color:var(--design-text); }
.site-footer__brand img { border-radius:10px; }
.site-footer__brand strong,.site-footer__brand small { display:block; }
.site-footer__brand small { margin-top:2px; color:var(--design-text-muted); font-size:var(--design-small-size); }
.site-footer__nav { display:flex; flex-wrap:wrap; gap:16px; }
.site-footer__nav a { color:var(--design-text); text-decoration:none; font-size:var(--design-small-size); }
.site-footer__note { grid-column:1/-1; margin:0; }
.site-footer__copyright { margin:0; white-space:nowrap; }
@media (max-width:1099px) {
  .home-hero { grid-template-columns:1fr; }
  .home-hero__intro { min-height:300px; }
  .home-hero__features { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .home-hero__feature--main { grid-column:1; grid-row:span 2; }
  .recent-grid,.tools-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .site-search { flex-basis:260px; }
  .site-badge { display:none; }
}
@media (max-width:900px) {
  .site-nav,.site-search { display:none; }
  .site-menu { display:block; }
  .home-page { width:min(var(--design-max-width), calc(100% - 2 * var(--design-page-gutter))); }
  .home-hero { margin-inline:calc(-1 * var(--design-page-gutter)); padding-inline:var(--design-page-gutter); }
  .home-about { grid-template-columns:1fr 1fr; }
  .home-hero__feature--main .featured-article__media { height:clamp(240px,31vw,300px); aspect-ratio:auto; }
  .site-footer__inner { grid-template-columns:1fr 1fr; }
  .site-footer__copyright { grid-column:2; justify-self:end; }
}
@media (max-width:600px) {
  .home-page { width:calc(100% - 2 * var(--design-page-gutter-mobile)); }
  .home-hero { margin:calc(-1 * 16px) calc(-1 * var(--design-page-gutter-mobile)) var(--design-section-gap-mobile); padding:14px var(--design-page-gutter-mobile) 18px; gap:16px; }
  .home-hero__intro { min-height:330px; padding:22px 12px; }
  .home-hero h1 { font-size:clamp(1.5rem,7.4vw,1.9rem); }
  .home-hero p { font-size:.95rem; }
  .home-hero__features,.recent-grid,.tools-grid { grid-template-columns:1fr; gap:16px; }
  .home-hero__feature--main,.home-hero__feature--side { grid-column:auto; grid-row:auto; }
  .home-hero__feature--main .featured-article__media,.home-hero__feature .featured-article__media { height:clamp(190px,62vw,240px); min-height:0; aspect-ratio:auto; }
  .recent-grid .post-card__media { margin:calc(-1 * var(--design-card-padding-mobile)) calc(-1 * var(--design-card-padding-mobile)) var(--design-control-gap); width:calc(100% + 2 * var(--design-card-padding-mobile)); }
  .section-heading { align-items:flex-start; }
  .section-heading__title { display:block; }
  .section-heading__title p { margin-top:3px; }
  .home-about { grid-template-columns:1fr; }
  .home-about__content { padding:26px 20px; }
  .home-about__media { min-height:180px; }
  .lighting-guide__field-label { position:relative; display:flex; width:100%; }
  .lighting-guide__field-label .lighting-guide__help { position:static; }
  .lighting-guide__field-label .lighting-guide__help::after { left:0; right:0; width:auto; max-width:none; transform:none; }
  .site-footer__inner { grid-template-columns:1fr; gap:16px; }
  .site-footer__copyright { grid-column:auto; justify-self:start; }
}


.model-disclaimer-note {
  margin-top: 1rem;
  padding: .9rem 1rem;
  border: 1px solid var(--design-border);
  border-radius: var(--design-control-radius);
  background: var(--design-surface);
  color: var(--design-text-muted);
  font-size: var(--design-small-size);
  line-height: 1.65;
}
.model-disclaimer-note strong {
  display: block;
  margin-bottom: .2rem;
  color: var(--design-text);
}
.model-disclaimer-note p {
  margin: 0 0 .35rem;
}
.model-disclaimer-note a {
  font-weight: 700;
}


/* Mermaid diagrams */
.mermaid {
  margin: 1.5rem 0 2rem;
  overflow-x: auto;
  text-align: center;
}

.mermaid svg {
  max-width: 100%;
  height: auto;
}


/* One-minute thermal model demo */
.thermal-step-demo {
  margin:1.25rem 0 2rem;
  padding:1rem;
  border:1px solid var(--design-border);
  border-radius:var(--design-card-radius);
  background:var(--design-surface-muted);
  color:var(--design-text);
}
.thermal-step-demo__inputs {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.7rem 1rem;
}
.thermal-step-demo__field {
  display:grid;
  gap:.35rem;
  min-width:0;
  font-weight:600;
}
.thermal-step-demo__label {
  color:var(--design-text);
}
.thermal-step-demo__control-row {
  display:grid;
  grid-template-columns:minmax(0,1fr) 4.5rem;
  align-items:center;
  gap:.3rem;
  min-width:0;
}
.thermal-step-demo__unit {
  min-width:0;
  color:var(--design-text-muted);
  font-size:.9em;
  white-space:nowrap;
}
.thermal-step-demo input,
.thermal-step-demo select {
  box-sizing:border-box;
  width:100%;
  height:44px;
  min-height:44px;
  padding:8px 12px;
  border:1px solid var(--design-border);
  border-radius:var(--design-control-radius);
  background:var(--design-surface);
  color:var(--design-text);
  font:inherit;
  font-size:1rem;
  line-height:1.2;
}
.thermal-step-demo input:focus-visible,
.thermal-step-demo select:focus-visible,
.thermal-step-demo__submit:focus-visible {
  outline:3px solid var(--design-focus);
  outline-offset:2px;
}
.article-card .thermal-step-demo__submit,
.thermal-step-demo__submit {
  justify-self:start;
  min-height:44px;
  margin-top:.9rem;
  padding:8px 16px;
  border:1px solid var(--design-primary);
  border-radius:var(--design-control-radius);
  background:var(--design-primary);
  color:var(--design-on-primary);
  font:inherit;
  font-weight:700;
  cursor:pointer;
}
.thermal-step-demo__submit:hover:not(:disabled) {
  filter:brightness(.94);
}
.thermal-step-demo__submit:disabled {
  cursor:wait;
  opacity:.55;
}
.thermal-step-demo__status {
  min-height:1.4em;
  margin:.55rem 0 0;
  color:var(--design-text-muted);
  font-size:.88rem;
}
.thermal-step-demo__result {
  margin-top:1rem;
  padding:.85rem;
  border:1px solid var(--design-border);
  border-radius:var(--design-control-radius);
  background:var(--design-surface);
  color:var(--design-text);
}
.thermal-step-demo__result-title {
  display:block;
}
.thermal-step-demo__values {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.5rem;
  margin-top:.5rem;
}
.thermal-step-demo__value {
  display:grid;
  gap:.1rem;
  min-width:0;
}
.thermal-step-demo__value-label {
  color:var(--design-text-muted);
  font-size:.86rem;
}
.thermal-step-demo__values b {
  font-size:1.15rem;
}
.thermal-step-demo__value-reading {
  display:flex;
  align-items:baseline;
  gap:.25rem;
  min-width:0;
}
.thermal-step-demo__result p,
.thermal-step-demo__note {
  margin:.6rem 0 0;
  color:var(--design-text-muted);
  font-size:.88rem;
}
@media (max-width:680px) {
  .thermal-step-demo__inputs,
  .thermal-step-demo__values { grid-template-columns:1fr; }
}
@media (max-width:600px) {
  .thermal-step-demo input,
  .thermal-step-demo select {
    font-size:16px;
  }
}


/* Compact explanatory tables for the thermal model */
.thermal-model-table {
  margin:1rem 0 1.5rem;
  overflow-x:auto;
}
.thermal-model-table table {
  width:100%;
  table-layout:fixed;
}
.thermal-model-table th:first-child,
.thermal-model-table td:first-child {
  width:34%;
}
.thermal-model-table th,
.thermal-model-table td {
  vertical-align:top;
}
@media (max-width:600px) {
  .thermal-model-table {
    font-size:.92rem;
  }
  .thermal-model-table th:first-child,
  .thermal-model-table td:first-child {
    width:38%;
  }
  .thermal-model-table th,
  .thermal-model-table td {
    padding:.5rem .45rem;
  }
}


/* Compact display equations used by the thermal-model guide */
.thermal-equations {
  margin:1.25rem 0;
  overflow-x:auto;
  font-size:.94rem;
}
.thermal-equations mjx-container[display="true"] {
  margin:.7rem 0 !important;
  text-align:left !important;
}
@media (max-width:600px) {
  .thermal-equations {
    font-size:.78rem;
  }
  .thermal-equations mjx-container {
    max-width:100%;
  }
}
