/* walle-service public page. Dark (the house ground), no script, no inline
   style. Chart classes match internal/charts. */
:root{--bg:#0c1014;--bg-card:#111518;--bg-surface:#161b22;--text:#e8edf2;--text-bright:#fff;--text-soft:#b0bec5;--border:#1c2428;--border-bright:#2a3640;
  --blue:#818cf8;--gold:#daa04a;--green:#22c55e;--cyan:#22d3ee;--link:#a5b4fc;
  --font:"DM Sans",system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--mono:"JetBrains Mono","SF Mono",ui-monospace,Menlo,Consolas,monospace;color-scheme:dark}
*,*::before,*::after{box-sizing:border-box}
html{font-size:17px;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);line-height:1.65}
a{color:var(--link)}
.wrap{max-width:1180px;margin:0 auto;padding:0 1rem}
@media (min-width:768px){.wrap{padding:0 2rem}}
.top{border-bottom:1px solid var(--border)}
.top .wrap{display:flex;align-items:baseline;gap:.6rem;min-height:56px;padding-top:.8rem}
.brand{font-weight:700;font-size:1.2rem;color:var(--text-bright);border-left:3px solid var(--gold);padding-left:.6rem}
.by{color:var(--text-soft);font-size:15px}
.hero{padding:2.5rem 0 1.5rem}
.hero h1{font-size:clamp(2rem,5vw,2.8rem);line-height:1.2;margin:0 0 1rem;color:var(--text-bright)}
.lede{font-size:1.15rem;max-width:46rem;margin:0}
.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));gap:1rem;margin:1rem 0 2rem}
.tile{background:var(--bg-card);border:1px solid var(--border);border-left:3px solid var(--blue);border-radius:12px;padding:1.1rem 1.25rem}
.tile:nth-child(3n+2){border-left-color:var(--cyan)}.tile:nth-child(3n){border-left-color:var(--gold)}
.t-val{font-size:2rem;font-weight:700;color:var(--text-bright);line-height:1.2;font-variant-numeric:tabular-nums}
.t-lab{font-size:16px;color:var(--text)}
.t-note{font-size:15px;color:var(--text-soft)}
.empty{padding:1.5rem;border:1px dashed var(--border-bright);border-radius:12px;color:var(--text-soft)}
.note{color:var(--text-soft)}
.chart-card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:1rem .75rem 1.1rem;margin:0 0 2.5rem}
@media (min-width:768px){.chart-card{padding:1.25rem 1.5rem}}
.how h2{font-size:1.8rem;color:var(--text-bright);margin:0 0 1rem}
.cols{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:1.25rem}
.cols article{background:var(--bg-surface);border:1px solid var(--border);border-radius:12px;padding:1.1rem 1.25rem}
.cols h3{font-size:1.2rem;margin:0 0 .4rem;color:var(--text-bright)}
.cols p{margin:0}
.foot{margin:3rem auto 2rem;font-size:15px;color:var(--text-soft)}
/* charts (internal/charts); SVG font sizes are attributes, never set here */
.wc-chart{margin:0}
.wc-title{font-size:1.25rem;color:var(--text-bright);margin:0 0 .5rem}
.wc-box{display:none}
@media (max-width:419.98px){.wc-m{display:block}}
@media (min-width:420px) and (max-width:599.98px){.wc-s{display:block}}
@media (min-width:600px) and (max-width:767.98px){.wc-p{display:block}}
@media (min-width:768px) and (max-width:1179.98px){.wc-d{display:block}}
@media (min-width:1180px){.wc-x{display:block}}
.wc-svg{display:block;width:100%;height:auto}
.wc-reading{font-size:15px;color:var(--text-soft);margin:.5rem 0 0}
.wc-t{font-family:var(--mono)}
.wc-axis{fill:rgba(255,255,255,0.72)}
.wc-base{stroke:rgba(255,255,255,0.12)}.wc-rule{stroke:rgba(255,255,255,0.05)}.wc-vrule{stroke:rgba(255,255,255,0.06)}
.wc-bar-hollow{stroke-width:1.5}
.wc-gap{fill:rgba(138,154,168,0.13)}.wc-gaplab{fill:#c3ccd4}.wc-gaplead{stroke:rgba(195,204,212,0.5)}
