/* Dumpster Sizer — site tokens and art classes (structure lives in base.css). Plum and warm grey, own palette. */
:root{
  --bg:#F5F3F1; --surface:#FFFFFF; --ink:#211A24; --muted:#5E5562; --line:#E2DCE0; --line-strong:#BDB2BA;
  --accent:#6A3D7A; --accent-ink:#FFFFFF; --accent-soft:#EEE6F0;
  --cool:#2F6E5A; --cool-soft:#DCEFE7; --ok:#2F6E5A; --ok-soft:#DCEFE7; --warm:#A2621A; --warm-soft:#F8EBD8; --bad:#A8342C; --bad-soft:#F8E2DF;
  --r:10px; --max:1060px;
  --sans:Inter,"Avenir Next","Segoe UI",system-ui,-apple-system,Roboto,sans-serif;
  --mono:ui-monospace,Menlo,Consolas,monospace;
  --display:"Barlow Condensed","Avenir Next Condensed","Arial Narrow",var(--sans); --glass:#D8E4EC; --hero-art-bg:#EFE9E4;
  --bin:#6A3D7A; --bin-dark:#4A2856; --debris:#B98A4E; --debris-2:#8C6A44; --concrete:#C9C3BC; --concrete-2:#A79F97;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){:root{
  --bg:#17131A; --surface:#211B25; --ink:#EEE8F0; --muted:#ABA0AF; --line:#352C3A; --line-strong:#4E4354;
  --accent:#C9A3D6; --accent-ink:#2A1531; --accent-soft:#33243A;
  --cool:#78D0B2; --cool-soft:#173328; --ok:#78D0B2; --ok-soft:#173328; --warm:#F0B866; --warm-soft:#3A2B14; --bad:#F09088; --bad-soft:#3E1F1C;
  --glass:#3D5260; --hero-art-bg:#2A2230; --bin:#8E5EA0; --bin-dark:#5E3A6C; --debris:#B58A55; --debris-2:#86684A; --concrete:#8F8982; --concrete-2:#6E6862;
  color-scheme:dark;
}}
.brand-mark{width:18px;height:14px;border-radius:2px 2px 4px 4px;background:var(--accent);clip-path:polygon(18% 0,100% 0,100% 100%,6% 100%,0 55%)}
h1,.hero h1{font-family:var(--display);font-weight:700;letter-spacing:0}
.eyebrow{font:600 .8rem var(--display);letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin:0 0 .3em}

/* art (src/js/art.js) */
.art .art-paint{fill:var(--bin);stroke:var(--ink);stroke-width:3;stroke-linejoin:round}
.art .art-box{fill:var(--bin)}
.art .art-ghost{fill:none;stroke:var(--muted);stroke-width:2;stroke-dasharray:7 6;opacity:.6}
.art .art-rib{stroke:var(--bin-dark);stroke-width:5;opacity:.7}
.art .art-fill{fill:var(--debris);opacity:.92}
.art .art-fill-edge{stroke:var(--ink);stroke-width:2;stroke-dasharray:6 5}
.art .art-rail{fill:var(--ink)}
.art .art-hook{fill:none;stroke:var(--ink);stroke-width:5;stroke-linecap:round}
.art .art-hinge{fill:var(--line-strong);stroke:var(--ink);stroke-width:1.5}
.art .art-dim{stroke:var(--muted);stroke-width:1.5;stroke-dasharray:3 4}
.art .art-layer{fill:none;stroke:var(--debris-2);stroke-width:6;stroke-linejoin:round}
.art .art-deck{fill:var(--debris);opacity:.85;stroke:var(--ink);stroke-width:2}
.art .art-door{fill:var(--line-strong);stroke:var(--ink);stroke-width:2}
.art .art-chunk{fill:var(--concrete);stroke:var(--ink);stroke-width:2;stroke-linejoin:round}
.art-roof .art-chunk,.art-heap-scene .art-chunk{fill:var(--debris-2)}
.art .art-slab-top{fill:var(--concrete);stroke:var(--ink);stroke-width:3;stroke-linejoin:round}
.art .art-slab-side{fill:var(--concrete-2);stroke:var(--ink);stroke-width:3;stroke-linejoin:round}
.art .art-slab-end{opacity:.85}
.art .art-crack{fill:none;stroke:var(--ink);stroke-width:2.5;stroke-linecap:round}
.art .art-bay{fill:var(--ink);opacity:.82}
.art .art-scale{fill:var(--line-strong);stroke:var(--ink);stroke-width:2}
.art .art-meter{fill:var(--surface);stroke:var(--ink);stroke-width:2}
.art .art-truck{fill:var(--line-strong);stroke:var(--ink);stroke-width:2.5}
.art .art-heap{fill:var(--debris);stroke:var(--ink);stroke-width:3;stroke-linejoin:round}
.art .art-plank{fill:var(--debris);stroke:var(--ink);stroke-width:2}
.art .art-sheet{fill:var(--surface);stroke:var(--ink);stroke-width:2}
.art .art-ban{fill:none;stroke:var(--accent);stroke-width:7;stroke-linecap:round}
.art .art-strand{fill:none;stroke:var(--debris-2);stroke-width:3;stroke-linecap:round}
.art .art-cube-top{opacity:.9}.art .art-cube-side{opacity:.75}
.art-heap-scene .art-body{fill:var(--accent-soft);stroke:var(--accent);stroke-width:2.5;stroke-dasharray:8 5}

/* page pieces */
.verdict-box{border:1px solid var(--line);border-left:5px solid var(--accent);background:var(--surface);border-radius:var(--r);padding:12px 14px;margin:14px 0}
.verdict-box b{font-family:var(--display);font-size:1.3rem}
.tool .answers{margin-bottom:6px}
.segs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}
.segs label{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:6px 12px;border:1px solid var(--line-strong);border-radius:999px;background:var(--bg);cursor:pointer;font-size:.92rem}
.segs input{accent-color:var(--accent);margin:0}
.segs label:has(input:checked){border-color:var(--accent);background:var(--accent-soft);color:var(--ink);font-weight:600}
.fields[hidden]{display:none}
dl.facts{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;margin:8px 0 14px}dl.facts dt{color:var(--muted)}dl.facts dd{margin:0;font-weight:600}
.disclaimer{font-size:.86rem;color:var(--muted);border-top:1px solid var(--line);padding-top:10px;margin-top:22px}
.tool-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px 12px}
.hero-home .tool{margin:6px 0 0}
.hero-home .answers{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin:12px 0 0}
.hero-home .answer .value{font-size:1.3rem}
@media (max-width:760px){.hero-home .lede{display:none}.hero-home h1{font-size:1.9rem}.hero-home .segs{gap:6px}.hero-home .segs label{padding:6px 10px}}
article p,article li,.small{overflow-wrap:break-word}
