/*
 * EDGE / LAB — Tool Explorer, November 2026
 *
 * Loaded after the legacy theme. Shares EDGE JOURNAL's existing OS shell,
 * editorial ink/accent and Files directory vocabulary. Only the Tools index
 * is restyled: individual utilities retain their functional workspaces.
 */
body.tools-index-page .edge-os-shell .edge-tools-explorer {
  --et-bg: #080d14;
  --et-panel: #0e151f;
  --et-panel-raised: #121d2b;
  --et-border: rgba(175,200,232,.16);
  --et-border-strong: rgba(175,200,232,.29);
  --et-accent: #76b9ff;
  --et-white: #f2f6fc;
  --et-muted: #a9b8c9;
  --et-soft: #7d91a9;
  --et-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  width: 100% !important;
  max-width: none !important;
  min-width: 0;
  margin: 0 !important;
  padding: 0 0 clamp(34px,5vw,72px) !important;
  color: var(--et-white);
  font-family: inherit;
}

body.tools-index-page .edge-tools-explorer a {
  color: inherit;
}
body.tools-index-page .edge-tools-explorer :is(a,button,input):focus-visible {
  outline: 2px solid var(--et-accent) !important;
  outline-offset: 3px;
}
body.tools-index-page .edge-tools-explorer :is(h1,h2,h3,p) {
  overflow-wrap: break-word;
  word-break: normal;
}
body.tools-index-page .edge-tools-explorer [hidden] { display: none !important; }

/* DOS-style breadcrumb, inside the shared Edge Journal OS window. */
body.tools-index-page .edge-tools-path {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
  min-height: 46px;
  padding: 10px clamp(13px,1.5vw,23px);
  margin: 0 0 14px;
  border: 1px solid var(--et-border) !important;
  background: #101824;
  color: var(--et-soft);
  font: 700 10px/1.3 var(--et-mono);
  letter-spacing: .10em;
}
body.tools-index-page .edge-tools-path > a {
  display: inline-flex;
  align-items: center;
  min-width: 0;
  gap: 10px;
  color: #c6d9ef;
  text-decoration: none;
}
body.tools-index-page .edge-tools-path > a:hover { color: #fff; }
body.tools-index-page .edge-tools-drive {
  display: inline-grid;
  place-items: center;
  min-width: 27px;
  height: 25px;
  border: 1px solid rgba(121,185,255,.42);
  border-radius: 3px;
  background: rgba(74,157,255,.09);
  color: var(--et-accent);
  font-size: 11px;
  letter-spacing: -.02em;
}
body.tools-index-page .edge-tools-path > span[aria-current="page"] { color: var(--et-white); }
body.tools-index-page .edge-tools-path__counter {
  margin-left: auto;
  color: var(--et-soft);
  white-space: nowrap;
}

/* Hero: large editorial headline, restrained grid and a meaningful summary. */
body.tools-index-page .edge-tools-explorer .edge-tools-hero {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 0;
  max-width: none;
  padding: clamp(20px,2.7vw,42px) clamp(19px,3vw,48px) 0 !important;
  overflow: hidden;
  border: 1px solid var(--et-border-strong) !important;
  border-top: 2px solid var(--et-accent) !important;
  border-radius: 3px !important;
  background: linear-gradient(119deg,#101927 0%,#0e151f 60%,#090e15 100%) !important;
  isolation: isolate;
}
body.tools-index-page .edge-tools-hero::before {
  content: "";
  position: absolute;
  z-index: -1;
  pointer-events: none;
  inset: 0;
  background-image:
    linear-gradient(rgba(112,167,219,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(112,167,219,.045) 1px,transparent 1px);
  background-size: 34px 34px;
  mask-image: linear-gradient(90deg,transparent 6%,#000 70%);
}
body.tools-index-page .edge-tools-hero__identity {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  min-height: 24px;
}
body.tools-index-page .edge-tools-hero__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: var(--et-accent);
  font: 700 10px/1.5 var(--et-mono);
  letter-spacing: .12em;
  text-transform: uppercase;
}
body.tools-index-page .edge-tools-indicator {
  width: 7px;
  height: 7px;
  background: var(--et-accent);
  box-shadow: 0 0 0 3px rgba(118,185,255,.09);
}
body.tools-index-page .edge-tools-hero__stamp {
  margin: -10px 0 0;
  color: rgba(212,231,255,.11);
  font: 900 clamp(36px,6.6vw,100px)/.9 system-ui, sans-serif;
  letter-spacing: -.09em;
  user-select: none;
}
body.tools-index-page .edge-tools-hero__stamp span { color: rgba(118,185,255,.3); }
body.tools-index-page .edge-tools-hero__content {
  display: grid;
  align-items: end;
  grid-template-columns: minmax(0,1.45fr) minmax(0,.55fr);
  gap: clamp(20px,4vw,70px);
  padding: clamp(10px,2vw,30px) 0 clamp(25px,3vw,42px);
}
body.tools-index-page .edge-tools-hero__copy { min-width: 0; }
body.tools-index-page .edge-tools-explorer .edge-tools-hero h1 {
  max-width: 18ch !important;
  margin: 0 0 clamp(13px,1.7vw,23px) !important;
  color: #f3f7fc !important;
  font: 680 clamp(37px,4.3vw,78px)/1.04 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif !important;
  letter-spacing: -.066em !important;
  text-wrap: pretty;
}
body.tools-index-page .edge-tools-hero h1 em {
  display: block;
  margin-top: .05em;
  color: #acd3fa;
  font: italic 400 .95em/1.05 Georgia,"Times New Roman",serif;
  letter-spacing: -.068em;
}
body.tools-index-page .edge-tools-explorer .edge-tools-hero__copy > p {
  max-width: 62ch !important;
  margin: 0 !important;
  color: #b6c2d0 !important;
  font-size: clamp(14px,1.32vw,18px) !important;
  line-height: 1.58 !important;
}
body.tools-index-page .edge-tools-hero__summary {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  align-items: stretch;
  gap: 1px;
  min-width: 0;
  border: 1px solid var(--et-border);
  background: var(--et-border);
}
body.tools-index-page .edge-tools-hero__summary > div {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-end;
  min-height: 100px;
  gap: 9px;
  padding: clamp(9px,1.2vw,16px);
  background: #101b29;
}
body.tools-index-page .edge-tools-hero__summary strong {
  color: var(--et-white);
  font: 650 clamp(23px,2.2vw,39px)/1 var(--et-mono);
  letter-spacing: -.07em;
}
body.tools-index-page .edge-tools-hero__summary span {
  color: var(--et-soft);
  font: 650 9px/1.3 var(--et-mono);
  letter-spacing: .08em;
  white-space: normal;
}
body.tools-index-page .edge-tools-hero__footer {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 8px 22px;
  margin: 0 calc(-1 * clamp(19px,3vw,48px));
  padding: 12px clamp(19px,3vw,48px);
  border-top: 1px solid var(--et-border);
  color: var(--et-soft);
  font: 650 9px/1.5 var(--et-mono);
  letter-spacing: .09em;
}
body.tools-index-page .edge-tools-hero__footer span:last-child { color: #9cc6f0; }

/* Search + filters are real controls rather than decoration. */
body.tools-index-page .edge-tools-catalogue {
  margin-top: clamp(24px,3vw,44px);
  min-width: 0;
}
body.tools-index-page .edge-tools-explorer .edge-tools-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  min-width: 0;
  gap: 15px;
  margin: 0 0 16px !important;
  padding-bottom: 15px;
  border-bottom: 1px solid var(--et-border);
}
body.tools-index-page .edge-tools-heading .tool-section-label {
  color: var(--et-accent);
  font: 700 10px var(--et-mono);
  letter-spacing: .13em;
}
body.tools-index-page .edge-tools-heading h2 {
  margin: 7px 0 0;
  color: var(--et-white) !important;
  font-size: clamp(22px,2.2vw,34px) !important;
  font-weight: 650;
  letter-spacing: -.045em;
}
body.tools-index-page .edge-tools-heading__total {
  color: var(--et-soft) !important;
  font: 650 10px/1.4 var(--et-mono) !important;
  letter-spacing: .1em;
  white-space: nowrap;
}
body.tools-index-page .edge-tools-toolbar {
  display: grid;
  grid-template-columns: minmax(240px,1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 13px;
  border: 1px solid var(--et-border);
  border-bottom: 0;
  background: #101925;
}
body.tools-index-page .edge-tools-search {
  display: flex;
  align-items: center;
  gap: 11px;
  min-width: 0;
  min-height: 43px;
  padding: 0 12px;
  border: 1px solid var(--et-border-strong);
  background: #080e16;
  color: #86a7ca;
}
body.tools-index-page .edge-tools-search:focus-within { border-color: var(--et-accent); }
body.tools-index-page .edge-tools-search input {
  flex: 1 1 auto;
  width: 100%;
  min-width: 0;
  min-height: 40px;
  padding: 8px 0;
  border: 0;
  outline: none !important;
  background: transparent;
  color: #eaf3fd;
  font-family: inherit;
  font-weight: 500;
  font-size: 14px;
  line-height: 1.4;
  box-shadow: none;
}
body.tools-index-page .edge-tools-search input::placeholder { color: #879bb1; opacity: 1; }
body.tools-index-page .edge-tools-search kbd {
  display: inline-grid;
  place-items: center;
  min-width: 25px;
  min-height: 24px;
  border: 1px solid rgba(139,171,207,.26);
  border-radius: 3px;
  color: #8da7c5;
  font: 600 11px var(--et-mono);
}
body.tools-index-page .edge-tools-filters {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
}
body.tools-index-page .edge-tools-filters .edge-tools-filter {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 42px;
  padding: 9px 12px;
  border: 1px solid var(--et-border);
  border-radius: 3px;
  background: #0d1622;
  color: #b3c3d6;
  font: 650 11px/1.2 var(--et-mono);
  cursor: pointer;
}
body.tools-index-page .edge-tools-filters .edge-tools-filter:hover { color: white; border-color: var(--et-border-strong); }
body.tools-index-page .edge-tools-filters .edge-tools-filter.is-active {
  color: #f4f9ff;
  background: #17314b;
  border-color: rgba(118,185,255,.55);
}
body.tools-index-page .edge-tools-filter span {
  color: #8daac8;
  font-size: 10px;
  font-weight: 600;
}
body.tools-index-page .edge-tools-results-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 9px 18px;
  padding: 10px 14px;
  border: 1px solid var(--et-border);
  border-bottom: 0;
  color: var(--et-soft);
  background: #0b131e;
  font: 650 9px/1.4 var(--et-mono);
  letter-spacing: .095em;
}
body.tools-index-page .edge-tools-results-bar > span:first-child {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #aac7e5;
}
body.tools-index-page .edge-tools-results-bar i {
  width: 6px;
  height: 6px;
  background: var(--et-accent);
}

/* OS files, not the old purple/teal marketing tiles. */
body.tools-index-page .edge-tools-explorer .edge-tools-grid {
  display: grid !important;
  grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  gap: 1px !important;
  min-width: 0;
  padding: 1px;
  border: 1px solid var(--et-border);
  background: rgba(175,200,232,.13);
}
body.tools-index-page .edge-tools-explorer .edge-tools-card {
  --tool-accent: var(--et-accent);
  position: relative;
  display: flex !important;
  flex-direction: column;
  justify-content: flex-start;
  gap: 0;
  width: 100%;
  min-width: 0;
  min-height: 300px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid transparent !important;
  border-radius: 0 !important;
  background: #0d151f !important;
  color: var(--et-white) !important;
  box-shadow: none !important;
  text-decoration: none;
  transform: none !important;
  transition: background-color .18s ease, border-color .18s ease !important;
}
body.tools-index-page .edge-tools-card:hover,
body.tools-index-page .edge-tools-card:focus-visible {
  border-color: rgba(118,185,255,.55) !important;
  background: #142335 !important;
  box-shadow: inset 0 0 0 1px rgba(118,185,255,.13) !important;
}
body.tools-index-page .edge-tools-card__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 40px;
  padding: 9px clamp(14px,1.6vw,22px);
  border-bottom: 1px solid var(--et-border);
  color: var(--et-soft);
}
body.tools-index-page .edge-tools-card__file {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  font: 700 10px var(--et-mono);
  letter-spacing: .08em;
  white-space: nowrap;
}
body.tools-index-page .edge-tools-card__file-marker {
  display: grid;
  place-items: center;
  width: 24px;
  height: 22px;
  border: 1px solid rgba(118,185,255,.3);
  border-radius: 3px;
  color: var(--et-accent);
  background: rgba(118,185,255,.07);
  font-size: 9px;
}
body.tools-index-page .edge-tools-card .tools-card-status {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  max-width: 65%;
  padding: 4px 0;
  border: none;
  background: transparent;
  color: #9cb8d6;
  font: 650 10px/1.3 var(--et-mono);
  text-transform: uppercase;
  letter-spacing: .045em;
  white-space: normal;
  text-align: right;
}
body.tools-index-page .tools-card-status i {
  flex: 0 0 auto;
  width: 6px;
  height: 6px;
  border-radius: 1px;
  background: #62d6b5;
}
body.tools-index-page .tools-card-status.is-pending { color: #c0aa84; }
body.tools-index-page .tools-card-status.is-pending i { background: #c0aa84; }
body.tools-index-page .edge-tools-card__body {
  display: grid;
  grid-template-columns: 58px minmax(0,1fr);
  align-items: start;
  gap: clamp(14px,1.7vw,23px);
  min-width: 0;
  padding: clamp(17px,2vw,28px) clamp(14px,1.6vw,22px) 12px;
}
body.tools-index-page .edge-tools-card .tools-card-icon {
  display: grid;
  place-items: center;
  width: 58px;
  height: 58px;
  margin: 0;
  padding: 13px;
  border: 1px solid rgba(118,185,255,.3);
  border-radius: 5px;
  background: linear-gradient(155deg,rgba(118,185,255,.15),rgba(26,52,79,.03));
  color: #b9dcff;
  font-size: 27px;
  transition: border-color .18s, background-color .18s;
}
body.tools-index-page .edge-tools-card:hover .tools-card-icon {
  border-color: rgba(118,185,255,.66);
  background: rgba(118,185,255,.19);
}
body.tools-index-page .edge-tools-card .tools-card-icon svg {
  display: block;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  fill: none;
  stroke: currentColor;
}
body.tools-index-page .edge-tools-card__content { min-width: 0; }
body.tools-index-page .edge-tools-card .tools-card-label {
  display: block;
  margin-bottom: 7px;
  color: var(--et-accent);
  font: 700 10px/1.4 var(--et-mono);
  letter-spacing: .11em;
  text-transform: uppercase;
}
body.tools-index-page .edge-tools-card h3 {
  margin: 0 0 9px !important;
  color: #f3f7fc !important;
  font-size: clamp(19px,1.55vw,26px) !important;
  font-weight: 680;
  line-height: 1.18;
  letter-spacing: -.034em;
  text-wrap: pretty;
}
body.tools-index-page .edge-tools-card p {
  width: 100%;
  margin: 0 !important;
  color: #b9c7d7 !important;
  font-size: clamp(12px,1.06vw,14px) !important;
  line-height: 1.54 !important;
  text-wrap: pretty;
}
body.tools-index-page .edge-tools-card__features {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 11px;
  width: auto;
  min-width: 0;
  margin: 0 clamp(14px,1.6vw,22px) 20px;
  padding: 0;
  list-style: none;
}
body.tools-index-page .edge-tools-card__features li {
  position: relative;
  flex: 0 1 auto;
  max-width: 100%;
  margin: 0 !important;
  padding: 4px 8px 4px 16px;
  border: 1px solid rgba(141,177,214,.17);
  background: rgba(124,167,214,.06);
  color: #9caec4;
  font-family: inherit;
  font-weight: 550;
  font-size: 11px;
  line-height: 1.4;
}
body.tools-index-page .edge-tools-card__features li::before {
  content: "";
  position: absolute;
  top: 10px;
  left: 7px;
  width: 4px;
  height: 4px;
  background: #76b9ff;
}
body.tools-index-page .edge-tools-card__bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px 16px;
  min-height: 50px;
  margin-top: auto;
  padding: 10px clamp(14px,1.6vw,22px);
  border-top: 1px solid var(--et-border);
}
body.tools-index-page .edge-tools-card__badges {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  align-items: center;
}
body.tools-index-page .edge-tools-card .tools-card-local,
body.tools-index-page .edge-tools-card__external {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-height: 23px;
  padding: 3px 7px;
  border: 1px solid rgba(118,185,255,.25);
  background: rgba(118,185,255,.06);
  border-radius: 3px;
  color: #a4c9ef;
  font: 650 9px/1.25 var(--et-mono);
  letter-spacing: .04em;
}
body.tools-index-page .tools-card-local svg { width: 13px; height: 13px; }
body.tools-index-page .edge-tools-card .tools-card-cta {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  margin-left: auto;
  color: #e6f0fb;
  font: 700 11px/1.3 var(--et-mono);
  text-align: right;
  white-space: normal;
}
body.tools-index-page .edge-tools-card .tools-card-cta > span {
  display: inline-block;
  color: #8cc4ff;
  font-size: 19px;
  transition: transform .18s ease;
}
body.tools-index-page .edge-tools-card:hover .tools-card-cta > span { transform: translateX(3px); }

/* Empty state, community and tool-data disclaimer share the same ink. */
body.tools-index-page .edge-tools-empty {
  display: grid;
  place-items: center;
  gap: 9px;
  padding: 52px 16px;
  text-align: center;
  background: var(--et-panel);
  border: 1px solid var(--et-border);
}
body.tools-index-page .edge-tools-empty > span { color: var(--et-accent); font: 600 45px var(--et-mono); }
body.tools-index-page .edge-tools-empty > strong { font-size: 21px; color: var(--et-white); }
body.tools-index-page .edge-tools-empty p { margin: 0; color: var(--et-muted); font-size: 13px; }
body.tools-index-page .edge-tools-empty button {
  margin-top: 9px;
  min-height: 40px;
  padding: 10px 14px;
  border: 1px solid rgba(118,185,255,.52);
  background: #142b43;
  color: var(--et-white);
  cursor: pointer;
}
body.tools-index-page .edge-tools-explorer .edge-tools-community {
  display: grid;
  grid-template-columns: 1fr 1fr auto;
  align-items: center;
  gap: 18px 28px;
  min-height: 110px;
  margin-top: clamp(23px,3vw,39px);
  padding: clamp(17px,2vw,28px) !important;
  border: 1px solid var(--et-border-strong) !important;
  border-radius: 3px !important;
  background: #111d2b !important;
  color: var(--et-white);
  text-decoration: none;
}
body.tools-index-page .edge-tools-community > div { min-width: 0; }
body.tools-index-page .edge-tools-community > div > span { color: var(--et-accent); }
body.tools-index-page .edge-tools-community h2 { color: var(--et-white); font-size: clamp(18px,1.8vw,27px); }
body.tools-index-page .edge-tools-community p { color: #b2c0d0; font-size: 13px; line-height: 1.5; }
body.tools-index-page .edge-tools-community b { color: #b3d7fa; font-size: 12px; white-space: nowrap; }
body.tools-index-page .edge-tools-explorer .edge-tools-note {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-top: 19px;
  padding: 13px 15px;
  border: 1px solid rgba(140,169,200,.15);
  border-radius: 3px;
  background: #0c1420;
  color: #a4b5c8;
}
body.tools-index-page .edge-tools-note > span { color: #8bc0f4; font-size: 20px; }
body.tools-index-page .edge-tools-note p { margin: 0; font-size: 12px; line-height: 1.6; }
body.tools-index-page .edge-tools-note b { color: #d9e9f7; }

/* This catalogue is inside the same mobile sliding explorer as the blog. */
@media (min-width: 1600px) {
  body.tools-index-page .edge-tools-explorer .edge-tools-grid {
    grid-template-columns: repeat(3,minmax(0,1fr)) !important;
  }
  body.tools-index-page .edge-tools-card__body {
    grid-template-columns: 53px minmax(0,1fr);
  }
  body.tools-index-page .edge-tools-card .tools-card-icon { width: 53px;height: 53px; }
}
@media (max-width: 1250px) {
  body.tools-index-page .edge-tools-hero__content {
    grid-template-columns: minmax(0,1fr);
    gap: 22px;
  }
  body.tools-index-page .edge-tools-hero__summary { max-width: 540px; }
  body.tools-index-page .edge-tools-toolbar {
    grid-template-columns: minmax(0,1fr);
  }
  body.tools-index-page .edge-tools-filters { gap: 6px; }
}
/* A seven-tool directory should finish with a deliberate wide file card,
   not an empty grid cell pretending to be an unavailable eighth tool. */
@media (min-width: 901px) and (max-width: 1599px) {
  body.tools-index-page .edge-tools-explorer .edge-tools-grid > .edge-tools-card:last-child:nth-child(odd) {
    grid-column: 1 / -1;
    display: grid !important;
    grid-template-columns: minmax(0,1.1fr) minmax(240px,.9fr);
    grid-template-rows: auto minmax(0,1fr) auto;
    align-items: stretch;
    min-height: 0 !important;
  }
  body.tools-index-page .edge-tools-grid > .edge-tools-card:last-child:nth-child(odd) > .edge-tools-card__top {
    grid-column: 1 / -1;
    grid-row: 1;
  }
  body.tools-index-page .edge-tools-grid > .edge-tools-card:last-child:nth-child(odd) > .edge-tools-card__body {
    grid-column: 1;
    grid-row: 2;
  }
  body.tools-index-page .edge-tools-grid > .edge-tools-card:last-child:nth-child(odd) > .edge-tools-card__features {
    grid-column: 2;
    grid-row: 2;
    align-self: center;
    margin: 20px 25px;
  }
  body.tools-index-page .edge-tools-grid > .edge-tools-card:last-child:nth-child(odd) > .edge-tools-card__bottom {
    grid-column: 1 / -1;
    grid-row: 3;
  }
}
@media (max-width: 900px) {
  body.tools-index-page .edge-tools-explorer .edge-tools-grid {
    grid-template-columns: minmax(0,1fr) !important;
  }
  body.tools-index-page .edge-tools-card {
    min-height: 250px !important;
  }
  body.tools-index-page .edge-tools-hero__content { padding-top: 6px; }
  body.tools-index-page .edge-tools-hero__stamp { font-size: 58px; }
  body.tools-index-page .edge-tools-hero h1 { max-width: 100% !important; }
}
@media (max-width: 640px) {
  body.tools-index-page .edge-tools-path { margin-bottom: 10px; padding-inline: 11px; font-size: 9px; }
  body.tools-index-page .edge-tools-explorer .edge-tools-hero {
    padding: 20px 17px 0 !important;
  }
  body.tools-index-page .edge-tools-hero__stamp { font-size: 42px; }
  body.tools-index-page .edge-tools-explorer .edge-tools-hero h1 {
    font-size: clamp(34px,8.5vw,48px) !important;
    line-height: 1.08 !important;
  }
  body.tools-index-page .edge-tools-hero__summary > div { min-height: 76px; padding: 11px 9px; }
  body.tools-index-page .edge-tools-hero__summary strong { font-size: 27px; }
  body.tools-index-page .edge-tools-hero__summary span { font-size: 8px; }
  body.tools-index-page .edge-tools-hero__footer {
    margin: 0 -17px;
    padding-inline: 17px;
  }
  body.tools-index-page .edge-tools-explorer .edge-tools-heading {
    align-items: flex-start;
    flex-wrap: wrap;
  }
  body.tools-index-page .edge-tools-toolbar { padding: 10px; }
  body.tools-index-page .edge-tools-filters .edge-tools-filter { flex: 1 1 auto; justify-content: center; padding-inline: 8px; }
  body.tools-index-page .edge-tools-card__body {
    grid-template-columns: 48px minmax(0,1fr);
    gap: 13px;
    padding: 18px 14px 12px;
  }
  body.tools-index-page .edge-tools-card .tools-card-icon { width: 48px;height: 48px;padding: 10px; }
  body.tools-index-page .edge-tools-card h3 { font-size: 21px !important; }
  body.tools-index-page .edge-tools-card p { font-size: 13px !important; }
  body.tools-index-page .edge-tools-card__features { margin-inline: 14px; }
  body.tools-index-page .edge-tools-card__bottom { padding-inline: 14px; }
  body.tools-index-page .edge-tools-explorer .edge-tools-community {
    grid-template-columns: minmax(0,1fr);
    gap: 12px;
  }
  body.tools-index-page .edge-tools-results-bar > span:last-child { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  body.tools-index-page .edge-tools-card,
  body.tools-index-page .edge-tools-card .tools-card-cta > span {
    transition: none !important;
  }
}

/* Hidden state must outrank the card's structural display:flex!important.
   Both search and the empty-state button depend on this being authoritative. */
body.tools-index-page .edge-tools-explorer .edge-tools-card[hidden],
body.tools-index-page .edge-tools-explorer .edge-tools-empty[hidden] {
  display: none !important;
}

/* The wide final card still needs to disappear when filtered. This rule has
   higher specificity than the :last-child:nth-child(odd) grid layout. */
@media (min-width: 901px) and (max-width: 1599px) {
  body.tools-index-page .edge-tools-explorer .edge-tools-grid > .edge-tools-card:last-child:nth-child(odd)[hidden] {
    display: none !important;
  }
}
