.wc{--wc-line:var(--line,#dfe3dc);--wc-ink:var(--ink,#131713);--wc-muted:var(--muted,#687068);--wc-accent:var(--green,#1e5b3a);--wc-soft:var(--green-soft,#e7f0e9);display:grid;gap:14px}
.wc-label{font-size:15px;color:var(--wc-ink)}
.wc textarea{min-height:200px;resize:vertical;font-size:15px;line-height:1.55}
.wc-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.wc-btn{border:0;border-radius:999px;padding:8px 16px;font-weight:700;font-size:14px;cursor:pointer;background:var(--wc-ink);color:#fff}
.wc-btn.ghost{background:transparent;border:1px solid var(--wc-ink);color:var(--wc-ink)}
.wc-btn:disabled{opacity:.45;cursor:not-allowed}
.wc-summary{font-size:14px;color:var(--wc-muted)}
.wc-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;margin:0}
.wc-stats div{background:var(--wc-soft);border-radius:10px;padding:10px 12px;min-width:0}
.wc-stats dt{font-size:12px;font-weight:600;color:var(--wc-muted);text-transform:uppercase;letter-spacing:.03em}
.wc-stats dd{margin:2px 0 0;font-size:22px;font-weight:700;color:var(--wc-ink);font-variant-numeric:tabular-nums}
.wc-box{background:#fff;border:1px solid var(--wc-line);border-radius:12px;padding:14px;display:grid;gap:10px}
.wc-box h3{margin:0;font-size:16px}
.wc-limits{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.wc-limits li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;font-size:14px}
.wc-lname{font-weight:600;color:var(--wc-ink)}
.wc-lnum{font-variant-numeric:tabular-nums;color:var(--wc-muted)}
.wc-bar{grid-column:1/-1;height:8px;border-radius:999px;background:var(--wc-soft);overflow:hidden}
.wc-fill{display:block;height:100%;width:0;border-radius:999px;background:var(--wc-accent);transition:width .15s}
.wc-limits li.is-near .wc-fill{background:#c08a12}
.wc-limits li.is-over .wc-fill{background:#b23a3a}
.wc-limits li.is-over .wc-lnum{color:#9a2f2f;font-weight:700}
.wc-small{margin:0;font-size:13px;color:var(--wc-muted)}
.wc-keyhead{display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;align-items:center}
.wc-check{display:flex;align-items:center;gap:6px;font-size:14px;cursor:pointer}
.wc-table-wrap{overflow-x:auto}
.wc-keys{width:100%;border-collapse:collapse;font-size:14px;font-variant-numeric:tabular-nums}
.wc-keys th,.wc-keys td{text-align:left;padding:6px 8px;border-bottom:1px solid var(--wc-line)}
.wc-keys th:not(:first-child),.wc-keys td:not(:first-child){text-align:right}
.wc-note{font-size:13px;color:var(--wc-muted);margin:0}
/* the page styles every input and button inside .lab-tool; these rules win back the tool's own look */
.wc [hidden]{display:none!important}
.wc .wc-check input{width:auto;padding:0;border:0;margin:0;accent-color:var(--wc-accent)}
