.wbgi {
  --wbgi-green: #2f6e52;
  --wbgi-green-dark: #22523d;
  --wbgi-soft: #f1f6f2;
  --wbgi-surface: #fff;
  --wbgi-text: #25322a;
  --wbgi-muted: #66736b;
  --wbgi-line: #dce6de;
  color: var(--wbgi-text);
  font: inherit;
  margin: 1.5rem 0 2rem;
}
.wbgi * { box-sizing: border-box; }
.wbgi-head h2 { margin: 0 0 .45rem; }
.wbgi-head p { color: var(--wbgi-muted); margin: 0 0 1.15rem; max-width: 52rem; }
.wbgi-search > label,
.wbgi-filters label > span,
.wbgi-portion label > span:first-child { display: block; font-weight: 600; margin-bottom: .35rem; }
.wbgi-search-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .6rem; max-width: 52rem; }
.wbgi input,
.wbgi select,
.wbgi button { font: inherit; }
.wbgi input,
.wbgi select {
  width: 100%;
  min-height: 44px;
  border: 1px solid var(--wbgi-line);
  border-radius: 8px;
  background: var(--wbgi-surface);
  color: var(--wbgi-text);
  padding: .65rem .75rem;
}
.wbgi button {
  min-height: 44px;
  border: 0;
  border-radius: 8px;
  background: var(--wbgi-green);
  color: #fff;
  padding: .65rem 1rem;
  cursor: pointer;
}
.wbgi button:hover { background: var(--wbgi-green-dark); }
.wbgi button:disabled { opacity: .45; cursor: default; }
.wbgi-filters { display: flex; flex-wrap: wrap; gap: .8rem; margin: 1rem 0; }
.wbgi-filters label { flex: 1 1 15rem; max-width: 24rem; }
.wbgi-status { color: var(--wbgi-muted); margin: .75rem 0; }
.wbgi-layout { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(17rem, .75fr); gap: 1rem; align-items: start; }
.wbgi-results,
.wbgi-detail { border: 1px solid var(--wbgi-line); border-radius: 10px; background: var(--wbgi-surface); overflow: hidden; }
.wbgi-table-wrap { overflow-x: auto; }
.wbgi table { width: 100%; border-collapse: collapse; margin: 0; }
.wbgi th,
.wbgi td { padding: .72rem .8rem; border-bottom: 1px solid var(--wbgi-line); text-align: left; vertical-align: top; }
.wbgi th { color: var(--wbgi-muted); font-size: .86rem; font-weight: 600; }
.wbgi tbody tr:last-child td { border-bottom: 0; }
.wbgi tbody tr.is-selected { background: var(--wbgi-soft); }
.wbgi-select {
  min-height: 0 !important;
  padding: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--wbgi-text) !important;
  text-align: left;
  font-weight: 600;
}
.wbgi-select:hover { color: var(--wbgi-green) !important; text-decoration: underline; }
.wbgi-original { display: block; color: var(--wbgi-muted); font-size: .78rem; line-height: 1.35; margin-top: .2rem; }
.wbgi-level-badge { display: inline-block; padding: .2rem .5rem; border-radius: 999px; background: var(--wbgi-soft); white-space: nowrap; font-size: .82rem; }
.wbgi-pagination { display: flex; align-items: center; justify-content: center; gap: .75rem; padding: .75rem; border-top: 1px solid var(--wbgi-line); }
.wbgi-pagination button { min-height: 38px; padding: .45rem .7rem; background: var(--wbgi-soft); color: var(--wbgi-text); }
.wbgi-detail { padding: 1rem; position: sticky; top: 1rem; overflow: visible; }
.wbgi-kicker { color: var(--wbgi-green); font-size: .76rem; font-weight: 700; letter-spacing: .04em; }
.wbgi-detail h3 { margin: .4rem 0 .65rem; }
.wbgi-score { display: flex; gap: .65rem; align-items: baseline; margin-bottom: .8rem; }
.wbgi-detail-gi { font-size: 2rem; }
.wbgi-detail-level { color: var(--wbgi-muted); }
.wbgi-meta { margin: 0; }
.wbgi-meta div { display: grid; grid-template-columns: minmax(7rem, .75fr) 1.25fr; gap: .6rem; padding: .55rem 0; border-top: 1px solid var(--wbgi-line); }
.wbgi-meta dt { color: var(--wbgi-muted); }
.wbgi-meta dd { margin: 0; overflow-wrap: anywhere; }
.wbgi-portion { border-top: 1px solid var(--wbgi-line); margin-top: .8rem; padding-top: .8rem; }
.wbgi-portion summary { color: var(--wbgi-green); font-weight: 600; cursor: pointer; }
.wbgi-portion p { color: var(--wbgi-muted); font-size: .88rem; }
.wbgi-number-field { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: .45rem; margin-bottom: .6rem; }
.wbgi-portion-output { margin-top: .65rem; padding: .65rem; background: var(--wbgi-soft); border-radius: 8px; }
.wbgi-portion-output:empty { display: none; }
.wbgi-attribution { color: var(--wbgi-muted); font-size: .8rem; line-height: 1.5; margin-top: .8rem; }
.wbgi-attribution a { overflow-wrap: anywhere; }
@media (max-width: 760px) {
  .wbgi-search-row,
  .wbgi-layout { grid-template-columns: 1fr; }
  .wbgi-detail { position: static; }
  .wbgi table { min-width: 37rem; }
}

/* Unified wbmind tool skin. Keep this block after legacy rules so the module
   follows the site palette even when the operating system uses dark mode. */
.wb-tool--gi{--wbgi-green:#087f70;--wbgi-green-dark:#05685d;--wbgi-soft:#f3faf7;--wbgi-surface:#fff;--wbgi-text:#17342f;--wbgi-muted:#5d716d;--wbgi-line:#d6e7e1;box-sizing:border-box;width:100%;max-width:920px;margin:clamp(24px,4vw,40px) auto;overflow:hidden;color:var(--wbgi-text);background:#fff;border:1px solid var(--wbgi-line);border-radius:22px;box-shadow:0 18px 48px rgba(31,72,64,.1);font-family:inherit;text-align:left}.wb-tool--gi *,.wb-tool--gi *:before,.wb-tool--gi *:after{box-sizing:border-box}.wb-tool--gi .wb-tool__header{padding:clamp(24px,5vw,38px);background:radial-gradient(circle at 90% 8%,rgba(99,189,169,.23),transparent 34%),linear-gradient(145deg,#edf9f5,#f9fcfb);border-bottom:1px solid var(--wbgi-line)}.wb-tool--gi .wb-tool__eyebrow{display:inline-flex;min-height:28px;margin-bottom:12px;padding:4px 11px;color:var(--wbgi-green-dark);background:#ddf2eb;border-radius:999px;font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.wb-tool--gi .wb-tool__title{margin:0;color:var(--wbgi-text);font-size:clamp(25px,5vw,34px);font-weight:800;letter-spacing:-.025em;line-height:1.08}.wb-tool--gi .wb-tool__intro{max-width:700px;margin:14px 0 0;color:var(--wbgi-muted);font-size:16px;line-height:1.55}.wbgi-body{padding:clamp(24px,5vw,38px)}.wb-tool--gi .wbgi-head p{max-width:700px;margin:14px 0 0}.wb-tool--gi .wbgi-search>label,.wb-tool--gi .wbgi-filters label>span{margin-bottom:7px;color:var(--wbgi-text);font-size:13px;font-weight:800}.wb-tool--gi .wbgi-search-row{max-width:none;grid-template-columns:minmax(0,1fr) auto;gap:10px}.wb-tool--gi input,.wb-tool--gi select{display:block!important;width:100%!important;min-width:0!important;min-height:52px!important;margin:0!important;padding:0 14px!important;color:var(--wbgi-text)!important;background:#fff!important;border:1px solid #b8cec7!important;border-radius:12px!important;box-shadow:none!important;font:inherit!important;font-size:15px!important;outline:0!important}.wb-tool--gi input:focus,.wb-tool--gi select:focus{border-color:var(--wbgi-green)!important;box-shadow:0 0 0 3px rgba(8,127,112,.14)!important}.wb-tool--gi button{min-height:52px;margin:0;padding:11px 20px;color:#fff;background:var(--wbgi-green);border:1px solid transparent;border-radius:12px;box-shadow:none;font:inherit;font-size:15px;font-weight:800;text-transform:none;cursor:pointer}.wb-tool--gi button:hover{color:#fff;background:var(--wbgi-green-dark)}.wb-tool--gi .wbgi-filters{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;margin:16px 0}.wb-tool--gi .wbgi-filters label{max-width:none}.wb-tool--gi .wbgi-status{margin:14px 0;color:var(--wbgi-muted);font-size:14px;font-weight:750}.wb-tool--gi .wbgi-layout{grid-template-columns:minmax(0,1.6fr) minmax(250px,.72fr);gap:12px}.wb-tool--gi .wbgi-results,.wb-tool--gi .wbgi-detail{background:#fff;border:1px solid var(--wbgi-line);border-radius:14px;box-shadow:0 6px 18px rgba(31,72,64,.055)}.wb-tool--gi .wbgi-table-wrap{background:#fff;border-radius:14px 14px 0 0}.wb-tool--gi table{width:100%;min-width:620px;margin:0;color:var(--wbgi-text)!important;background:#fff!important;border-collapse:collapse}.wb-tool--gi th,.wb-tool--gi td{height:auto;padding:13px 14px!important;color:var(--wbgi-text)!important;background:#fff!important;border:0!important;border-bottom:1px solid var(--wbgi-line)!important;font-size:13px;line-height:1.45;text-align:left;vertical-align:middle}.wb-tool--gi th{color:var(--wbgi-muted)!important;background:#f3faf7!important;font-size:11px;font-weight:850;letter-spacing:.03em;text-transform:uppercase}.wb-tool--gi tbody tr:hover td,.wb-tool--gi tbody tr.is-selected td{background:#eef8f4!important}.wb-tool--gi .wbgi-select{display:inline!important;width:auto!important;max-width:100%;min-height:0!important;margin:0!important;padding:0!important;color:var(--wbgi-text)!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;font:inherit!important;font-size:13px!important;font-weight:800!important;line-height:1.4!important;text-align:left!important;white-space:normal}.wb-tool--gi .wbgi-select:hover{color:var(--wbgi-green-dark)!important}.wb-tool--gi .wbgi-level-badge{padding:4px 8px;color:var(--wbgi-text)!important;background:#e7f5ef!important;font-size:11px;font-weight:750}.wb-tool--gi .wbgi-pagination{padding:12px;border-top:0;gap:10px}.wb-tool--gi .wbgi-pagination button{min-height:38px;padding:7px 11px;color:var(--wbgi-text);background:#f3faf7;border-color:var(--wbgi-line);font-size:12px}.wb-tool--gi .wbgi-pagination button:hover{color:#fff;background:var(--wbgi-green)}.wb-tool--gi .wbgi-detail{padding:18px;top:16px}.wb-tool--gi .wbgi-detail h3{color:var(--wbgi-text);font-size:19px;line-height:1.35}.wb-tool--gi .wbgi-detail-gi{color:var(--wbgi-green-dark)}.wb-tool--gi .wbgi-meta dt,.wb-tool--gi .wbgi-meta dd,.wb-tool--gi .wbgi-portion p{color:var(--wbgi-muted)}.wb-tool--gi .wbgi-number-field input{height:48px!important;min-height:48px!important}.wb-tool--gi .wbgi-portion-output{color:var(--wbgi-text);background:#eef8f4}.wb-tool--gi .wbgi-attribution{margin:18px 0 0;padding:14px 16px;color:var(--wbgi-muted);background:#f8fbfa;border:1px solid var(--wbgi-line);border-radius:11px;font-size:11px}.wb-tool--gi [hidden]{display:none!important}@media(max-width:760px){.wb-tool--gi{border-radius:18px}.wb-tool--gi .wbgi-search-row,.wb-tool--gi .wbgi-layout,.wb-tool--gi .wbgi-filters{grid-template-columns:1fr}.wb-tool--gi .wbgi-search-row button{width:100%}.wb-tool--gi .wbgi-detail{position:static}.wb-tool--gi table{min-width:590px}}@media(max-width:480px){.wbgi-body{padding:22px 18px}.wb-tool--gi th,.wb-tool--gi td{padding:11px!important}}
