@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600;700&display=swap');
/* ============================================================
   Systemaic — v2 free-tool template (scoped .tool-os)
   Ported from design-refs/v2/email-deliverability-checker-...template.
   Console + animated doughnut gauge + learn / CTA / FAQ bands.
   ============================================================ */
:root{
  --bg:#0b0e14; --bg-2:#0e1219; --black:#09090b;
  --card:#121826; --raised:#161d2e;
  --line:#1f2735; --line-2:#2a3447;
  --text:#e6eaf2; --head:#fafafa; --body:#c3cad6; --muted:#8b95a7; --dim:#5c6678;
  --lime:#a3e635; --on-lime:#0c1207;
  --amber:#fbbf24; --red:#f87171; --cyan:#22d3ee;
  --mono:'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, monospace;
  --sans:'Inter', system-ui, -apple-system, sans-serif;
  --display:'Space Grotesk', var(--sans);
  --r:16px; --r-sm:10px;
  --maxw:1140px;
  --pad: clamp(20px, 5vw, 56px);
}
/* break out of the app's constrained <main> shell */
main:has(.tool-os){max-width:none!important;width:100%!important;padding:0!important;margin:0!important;background:var(--bg)}
body:has(.tool-os){background:var(--bg)}

.tool-os{ position:relative; background:var(--bg); color:var(--body);
  font-family:var(--sans); font-size:16px; line-height:1.65; -webkit-font-smoothing:antialiased; min-height:100vh; }
.tool-os *{ box-sizing:border-box; }
.tool-os::before{
  content:""; position:fixed; inset:0; z-index:0; pointer-events:none;
  background:
    radial-gradient(900px 480px at 50% -8%, rgba(163,230,53,.10), transparent 60%),
    radial-gradient(700px 700px at 92% 4%, rgba(34,211,238,.05), transparent 60%),
    linear-gradient(rgba(255,255,255,.014) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.014) 1px, transparent 1px);
  background-size:100% 100%, 100% 100%, 44px 44px, 44px 44px;
}
.tool-os .wrap{ max-width:var(--maxw); margin:0 auto; padding-left:var(--pad); padding-right:var(--pad); position:relative; z-index:1; }
.tool-os a{ color:var(--cyan); text-decoration:none; }
.tool-os a:hover{ text-decoration:underline; }
.tool-os h1,.tool-os h2,.tool-os h3{ color:var(--head); font-family:var(--display); font-weight:600; letter-spacing:-.02em; line-height:1.12; margin:0; }
.tool-os p{ margin:0 0 1em; }
.tool-os ::selection{ background:rgba(163,230,53,.28); color:#fff; }

.tool-os .eyebrow{ font-family:var(--mono); font-size:.78rem; letter-spacing:.14em; text-transform:lowercase; color:var(--lime); display:inline-flex; align-items:center; gap:.5em; }
.tool-os .mono{ font-family:var(--mono); }

/* ---------- hero / tool ---------- */
.tool-os .hero{ padding:clamp(34px,6vw,64px) 0 18px; }
.tool-os .crumbs{ font-family:var(--mono); font-size:.72rem; letter-spacing:.06em; color:var(--dim); margin-bottom:22px; }
.tool-os .crumbs a{ color:var(--muted); }
.tool-os .crumbs span{ color:var(--dim); margin:0 7px; }
.tool-os .hero h1{ font-size:clamp(2.1rem, 5.4vw, 3.4rem); font-weight:700; max-width:16ch; }
.tool-os .hero .sub{ color:var(--body); font-size:clamp(1.02rem,1.6vw,1.18rem); max-width:62ch; margin-top:18px; }
.tool-os .hero .sub b{ color:var(--text); font-weight:600; }

/* ---------- console ---------- */
.tool-os .console{ margin-top:30px; background:linear-gradient(180deg, var(--raised), var(--card));
  border:1px solid var(--line); border-radius:var(--r);
  box-shadow:0 1px 0 rgba(255,255,255,.03) inset, 0 40px 90px -40px rgba(0,0,0,.8); overflow:hidden; }
.tool-os .console-bar{ display:flex; align-items:center; gap:12px; padding:12px 18px; border-bottom:1px solid var(--line); background:var(--black); }
.tool-os .dots{ display:flex; gap:7px; }
.tool-os .dots i{ width:10px; height:10px; border-radius:50%; display:block; }
.tool-os .dots i:nth-child(1){ background:#3a4051; } .tool-os .dots i:nth-child(2){ background:#343b4b; } .tool-os .dots i:nth-child(3){ background:#2e3543; }
.tool-os .console-bar .title{ font-family:var(--mono); font-size:.78rem; color:var(--muted); letter-spacing:.04em; }
.tool-os .console-bar .title b{ color:var(--text); font-weight:600; }
.tool-os .console-bar .status{ margin-left:auto; font-family:var(--mono); font-size:.7rem; letter-spacing:.1em; text-transform:uppercase; color:var(--dim); display:flex; align-items:center; gap:7px; }
.tool-os .console-bar .status .pulse{ width:7px; height:7px; border-radius:50%; background:var(--lime); box-shadow:0 0 0 0 rgba(163,230,53,.6); animation:tl-pulse 2.4s infinite; }
@keyframes tl-pulse{ 0%{ box-shadow:0 0 0 0 rgba(163,230,53,.5);} 70%{ box-shadow:0 0 0 7px rgba(163,230,53,0);} 100%{ box-shadow:0 0 0 0 rgba(163,230,53,0);} }
.tool-os .console-body{ padding:clamp(20px,3vw,30px); }

/* input row */
.tool-os .checkform{ display:flex; flex-direction:column; gap:14px; }
.tool-os .input-shell{ display:flex; align-items:stretch; gap:10px; background:var(--bg-2); border:1px solid var(--line-2); border-radius:12px; padding:8px; transition:border-color .15s, box-shadow .15s; }
.tool-os .input-shell:focus-within{ border-color:var(--lime); box-shadow:0 0 0 4px rgba(163,230,53,.12); }
.tool-os .input-shell .pre{ display:flex; align-items:center; padding:0 4px 0 12px; color:var(--dim); font-family:var(--mono); font-size:.92rem; user-select:none; }
.tool-os .input-shell input[type=text]{ flex:1; min-width:0; background:transparent; border:0; outline:0; color:var(--head); font-family:var(--mono); font-size:1.05rem; letter-spacing:.01em; padding:12px 4px; }
.tool-os .input-shell input::placeholder{ color:var(--dim); }
.tool-os .btn-run{ flex:none; display:inline-flex; align-items:center; gap:9px; cursor:pointer; background:var(--lime); color:var(--on-lime); font-family:var(--sans); font-weight:700; font-size:1rem; border:0; border-radius:9px; padding:0 22px; letter-spacing:-.01em; transition:transform .12s, filter .15s; box-shadow:0 8px 26px -10px rgba(163,230,53,.6); }
.tool-os .btn-run:hover{ filter:brightness(1.06); transform:translateY(-1px); }
.tool-os .btn-run:disabled{ opacity:.6; cursor:default; transform:none; }
.tool-os .btn-run svg{ width:17px; height:17px; }
.tool-os .assure{ display:flex; flex-wrap:wrap; gap:7px 20px; align-items:center; }
.tool-os .assure .item{ font-family:var(--mono); font-size:.74rem; color:var(--muted); display:inline-flex; align-items:center; gap:7px; letter-spacing:.02em; }
.tool-os .assure .item .d{ width:6px; height:6px; border-radius:50%; background:var(--lime); }
.tool-os .examples{ display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin-top:2px; }
.tool-os .examples .lab{ font-family:var(--mono); font-size:.72rem; color:var(--dim); text-transform:uppercase; letter-spacing:.1em; }
.tool-os .chip{ font-family:var(--mono); font-size:.8rem; color:var(--text); background:var(--card); border:1px solid var(--line-2); padding:5px 11px; border-radius:7px; cursor:pointer; transition:border-color .15s,color .15s; }
.tool-os .chip:hover{ border-color:var(--lime); color:var(--lime); }
.tool-os .errline{ color:var(--red); font-family:var(--mono); font-size:.86rem; margin-top:6px; }

/* result area */
.tool-os .result{ margin-top:26px; border-top:1px solid var(--line); padding-top:26px; }

/* empty state */
.tool-os .empty{ display:grid; grid-template-columns:auto 1fr; gap:clamp(20px,4vw,44px); align-items:center; }
.tool-os .ghost-gauge{ width:150px; height:150px; border-radius:50%; display:grid; place-items:center; border:2px dashed var(--line-2); color:var(--dim); position:relative; flex:none; }
.tool-os .ghost-gauge .n{ font-family:var(--display); font-size:2.6rem; font-weight:700; color:var(--dim); }
.tool-os .ghost-gauge .u{ font-family:var(--mono); font-size:.7rem; color:var(--dim); position:absolute; bottom:34px; }
.tool-os .e-copy h3{ font-size:1.18rem; color:var(--text); margin-bottom:8px; }
.tool-os .e-copy p{ color:var(--muted); margin:0 0 16px; max-width:48ch; font-size:.96rem; }
.tool-os .ghost-rows{ display:flex; flex-wrap:wrap; gap:8px; }
.tool-os .ghost-rows span{ font-family:var(--mono); font-size:.74rem; color:var(--dim); border:1px solid var(--line); border-radius:7px; padding:6px 12px; display:inline-flex; align-items:center; gap:8px; }
.tool-os .ghost-rows span::before{ content:""; width:7px; height:7px; border-radius:50%; background:var(--line-2); }
@media(max-width:620px){ .tool-os .empty{ grid-template-columns:1fr; } }

/* scanning state */
.tool-os .scan-head{ display:flex; align-items:center; gap:12px; margin-bottom:16px; }
.tool-os .scan-head .spin{ width:18px; height:18px; border:2px solid var(--line-2); border-top-color:var(--lime); border-radius:50%; animation:tl-spin .7s linear infinite; }
@keyframes tl-spin{ to{ transform:rotate(360deg);} }
.tool-os .scan-head .t{ font-family:var(--mono); font-size:.86rem; color:var(--text); }
.tool-os .scanlog{ font-family:var(--mono); font-size:.82rem; line-height:1.85; color:var(--muted); background:var(--black); border:1px solid var(--line); border-radius:10px; padding:16px 18px; min-height:150px; }
.tool-os .scanlog .ln{ opacity:0; transition:opacity .2s; }
.tool-os .scanlog .ln.show{ opacity:1; }
.tool-os .scanlog .ok{ color:var(--lime); }
.tool-os .scanbar{ height:4px; background:var(--line); border-radius:99px; overflow:hidden; margin-top:14px; }
.tool-os .scanbar i{ display:block; height:100%; width:0; background:linear-gradient(90deg,var(--lime),#d9f99d); transition:width .25s linear; }

/* report state */
.tool-os .report{ animation:tl-fade .5s ease; }
@keyframes tl-fade{ from{ opacity:0; transform:translateY(8px);} to{ opacity:1; transform:none; } }
.tool-os .rep-top{ display:grid; grid-template-columns:auto 1fr; gap:clamp(20px,4vw,40px); align-items:center; }
@media(max-width:660px){ .tool-os .rep-top{ grid-template-columns:1fr; } }
.tool-os .gauge{ position:relative; width:168px; height:168px; flex:none; }
.tool-os .gauge svg{ width:100%; height:100%; transform:rotate(-90deg); }
.tool-os .gauge .track{ fill:none; stroke:var(--line); stroke-width:9; }
.tool-os .gauge .arc{ fill:none; stroke-width:9; stroke-linecap:round; transition:stroke-dashoffset 1.1s cubic-bezier(.22,1,.36,1), stroke .4s; }
.tool-os .gauge .ctr{ position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; }
.tool-os .gauge .score{ font-family:var(--display); font-weight:700; font-size:3.1rem; line-height:1; color:var(--head); }
.tool-os .gauge .of{ font-family:var(--mono); font-size:.72rem; color:var(--dim); letter-spacing:.08em; margin-top:5px; }
.tool-os .vrow{ display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.tool-os .vpill{ font-family:var(--mono); font-weight:600; font-size:.78rem; letter-spacing:.06em; text-transform:uppercase; padding:6px 12px; border-radius:7px; border:1px solid; }
.tool-os .v-lime{ color:var(--lime); border-color:rgba(163,230,53,.4); background:rgba(163,230,53,.08); }
.tool-os .v-amber{ color:var(--amber); border-color:rgba(251,191,36,.4); background:rgba(251,191,36,.08); }
.tool-os .v-red{ color:var(--red); border-color:rgba(248,113,113,.4); background:rgba(248,113,113,.08); }
.tool-os .verdict-wrap .dom{ font-family:var(--mono); color:var(--text); font-size:.95rem; }
.tool-os .verdict-wrap .answer{ color:var(--text); font-size:1.16rem; font-family:var(--display); font-weight:500; line-height:1.4; margin:14px 0 14px; max-width:46ch; }
.tool-os .counts{ display:flex; gap:8px 10px; flex-wrap:wrap; }
.tool-os .count{ font-family:var(--mono); font-size:.76rem; display:inline-flex; align-items:center; gap:7px; color:var(--muted); border:1px solid var(--line); border-radius:7px; padding:5px 10px; }
.tool-os .count .d{ width:8px; height:8px; border-radius:50%; }
.tool-os .d.pass{ background:var(--lime);} .tool-os .d.warn{ background:var(--amber);} .tool-os .d.fail{ background:var(--red);} .tool-os .d.idle{ background:var(--line-2);}

/* checks */
.tool-os .checks{ margin-top:26px; display:flex; flex-direction:column; gap:10px; }
.tool-os .check{ border:1px solid var(--line); border-radius:12px; background:var(--card); overflow:hidden; transition:border-color .15s; }
.tool-os .check:hover{ border-color:var(--line-2); }
.tool-os .check.pass{ border-left:3px solid var(--lime); } .tool-os .check.warn{ border-left:3px solid var(--amber); } .tool-os .check.fail{ border-left:3px solid var(--red); }
.tool-os .check-head{ width:100%; display:flex; align-items:center; gap:14px; padding:15px 16px; background:none; border:0; cursor:pointer; text-align:left; color:inherit; font:inherit; }
.tool-os .check-head .ico{ width:30px; height:30px; border-radius:8px; display:grid; place-items:center; flex:none; font-weight:700; }
.tool-os .ico.pass{ background:rgba(163,230,53,.12); color:var(--lime);} .tool-os .ico.warn{ background:rgba(251,191,36,.12); color:var(--amber);} .tool-os .ico.fail{ background:rgba(248,113,113,.12); color:var(--red);}
.tool-os .check-head .name{ font-family:var(--mono); font-weight:600; font-size:.92rem; color:var(--head); letter-spacing:.02em; min-width:62px; flex:none; }
.tool-os .check-head .desc{ color:var(--body); font-size:.93rem; flex:1; min-width:0; }
@media(max-width:560px){ .tool-os .check-head .desc{ display:none; } }
/* Mobile: the run button covered the input. Wrap it to its own full-width row
   below the input instead of squeezing them side by side. */
@media(max-width:560px){
  .tool-os .input-shell{ flex-wrap:wrap; }
  .tool-os .input-shell input[type=text]{ flex:1 1 120px; }
  .tool-os .btn-run{ flex:1 0 100%; justify-content:center; padding:13px 22px; }
}
.tool-os .check-head .tag{ font-family:var(--mono); font-size:.72rem; font-weight:600; letter-spacing:.08em; padding:3px 9px; border-radius:6px; flex:none; }
.tool-os .tag.pass{ color:var(--lime); background:rgba(163,230,53,.1);} .tool-os .tag.warn{ color:var(--amber); background:rgba(251,191,36,.1);} .tool-os .tag.fail{ color:var(--red); background:rgba(248,113,113,.1);}
.tool-os .check-head .chev{ color:var(--dim); transition:transform .2s; flex:none; font-family:var(--mono); }
.tool-os .check[open] .chev{ transform:rotate(180deg); }
.tool-os .check-body{ padding:0 16px 18px; }
.tool-os .reclabel{ display:flex; align-items:center; justify-content:space-between; gap:10px; margin:4px 0 6px; }
.tool-os .codeblock{ position:relative; background:var(--black); border:1px solid var(--line); border-radius:10px; padding:14px 15px; }
.tool-os .codeblock pre{ margin:0; font-family:var(--mono); font-size:.82rem; line-height:1.7; color:var(--text); white-space:pre-wrap; word-break:break-word; overflow-wrap:anywhere; }
.tool-os .codeblock pre .none{ color:var(--red); }
.tool-os .meaning{ color:var(--muted); font-size:.9rem; margin:13px 0 0; }
.tool-os .meaning .k{ color:var(--text); font-weight:600; }

/* fixes */
.tool-os .fixes{ margin-top:22px; border:1px solid var(--line); border-radius:12px; background:linear-gradient(180deg, rgba(251,191,36,.04), transparent); border-top:2px solid var(--amber); padding:18px 18px 6px; }
.tool-os .fixes.clean{ border-top-color:var(--lime); background:linear-gradient(180deg, rgba(163,230,53,.05), transparent); }
.tool-os .fixes h4{ font-family:var(--display); color:var(--head); font-size:1.05rem; margin:0 0 4px; }
.tool-os .fixes .lead{ color:var(--muted); font-size:.9rem; margin:0 0 14px; }
.tool-os .fix{ display:flex; gap:13px; padding:14px 0; border-top:1px solid var(--line); }
.tool-os .fix:first-of-type{ border-top:0; }
.tool-os .fix .num{ font-family:var(--mono); font-size:.74rem; font-weight:700; color:var(--on-lime); background:var(--lime); width:22px; height:22px; border-radius:6px; display:grid; place-items:center; flex:none; margin-top:2px; }
.tool-os .fix .ftext{ flex:1; min-width:0; }
.tool-os .fix .ftext .ft-t{ color:var(--text); font-weight:600; font-size:.94rem; margin-bottom:9px; }
.tool-os .clean-state{ display:flex; align-items:center; gap:13px; color:var(--body); font-size:.95rem; padding:6px 0 14px; }
.tool-os .clean-state .big{ width:34px; height:34px; border-radius:9px; background:rgba(163,230,53,.12); color:var(--lime); display:grid; place-items:center; flex:none; font-weight:700; }

.tool-os .rep-foot{ margin-top:20px; display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap; }
.tool-os .rescan{ font-family:var(--mono); font-size:.82rem; color:var(--text); background:var(--raised); border:1px solid var(--line-2); border-radius:9px; padding:9px 15px; cursor:pointer; display:inline-flex; align-items:center; gap:8px; }
.tool-os .rescan:hover{ border-color:var(--dim); }
.tool-os .rescan svg{ width:14px; height:14px; }
.tool-os .rep-foot .mini{ font-size:.85rem; color:var(--muted); margin:0; }
.tool-os .rep-foot .mini a{ color:var(--lime); font-weight:600; }
.tool-os .disclaimer{ font-family:var(--mono); font-size:.68rem; color:var(--dim); margin-top:14px; letter-spacing:.02em; }

/* ---------- bands ---------- */
.tool-os section.band{ padding:clamp(48px,8vw,86px) 0; position:relative; z-index:1; }
.tool-os .sec-head{ max-width:64ch; margin-bottom:30px; }
.tool-os .sec-head .eyebrow{ margin-bottom:14px; }
.tool-os .sec-head h2{ font-size:clamp(1.7rem,3.4vw,2.3rem); }
.tool-os .sec-head p{ color:var(--muted); margin-top:14px; font-size:1.04rem; }
.tool-os .edu{ display:grid; grid-template-columns:1fr; gap:14px; }
.tool-os .edu .art{ background:var(--card); border:1px solid var(--line); border-radius:var(--r); padding:clamp(22px,3vw,34px); }
.tool-os .edu .art h2{ font-size:clamp(1.4rem,2.6vw,1.85rem); margin-bottom:6px; }
.tool-os .edu .art h3{ font-size:1.12rem; margin:22px 0 8px; color:var(--text); }
.tool-os .edu .art p{ color:var(--body); margin:0 0 1em; }
.tool-os .edu .art > .ans{ color:var(--text); font-size:1.06rem; line-height:1.7; margin:10px 0 18px; border-left:2px solid var(--lime); padding-left:16px; }
.tool-os .edu .art .mono{ font-family:var(--mono); font-size:.92em; color:var(--cyan); }
.tool-os .edu ul.clean{ list-style:none; padding:0; margin:0 0 1em; }
.tool-os .edu ul.clean li{ position:relative; padding-left:26px; margin-bottom:11px; color:var(--body); }
.tool-os .edu ul.clean li::before{ content:""; position:absolute; left:4px; top:9px; width:7px; height:7px; border-radius:2px; background:var(--lime); transform:rotate(45deg); }
.tool-os .edu ul.clean li b{ color:var(--text); }
.tool-os .scoretable{ width:100%; border-collapse:collapse; margin:8px 0 4px; font-size:.92rem; }
.tool-os .scoretable th,.tool-os .scoretable td{ text-align:left; padding:10px 12px; border-bottom:1px solid var(--line); }
.tool-os .scoretable th{ font-family:var(--mono); font-size:.7rem; text-transform:uppercase; letter-spacing:.1em; color:var(--muted); font-weight:600; }
.tool-os .scoretable td{ color:var(--body); }
.tool-os .scoretable td.w{ font-family:var(--mono); color:var(--text); }
.tool-os .bandkey{ display:inline-flex; align-items:center; gap:8px; font-family:var(--mono); font-size:.82rem; }
.tool-os .bandkey .d{ width:9px; height:9px; border-radius:50%; display:inline-block; }
.tool-os .passblock{ background:var(--black); border:1px solid var(--line); border-radius:12px; padding:18px; margin-top:6px; }
.tool-os .passblock .row{ display:grid; grid-template-columns:80px 1fr; gap:14px; padding:9px 0; border-top:1px solid var(--line); }
.tool-os .passblock .row:first-child{ border-top:0; }
.tool-os .passblock .k{ font-family:var(--mono); font-size:.8rem; color:var(--lime); font-weight:600; }
.tool-os .passblock .v{ font-family:var(--mono); font-size:.8rem; color:var(--text); white-space:pre-wrap; word-break:break-word; overflow-wrap:anywhere; }

/* ---------- CTA ---------- */
.tool-os .cta{ position:relative; background:linear-gradient(180deg, var(--raised), var(--card)); border:1px solid var(--line); border-radius:calc(var(--r) + 4px); padding:clamp(28px,5vw,52px); overflow:hidden; }
.tool-os .cta::after{ content:""; position:absolute; inset:0; pointer-events:none; background:radial-gradient(520px 220px at 100% 0%, rgba(163,230,53,.10), transparent 60%); }
.tool-os .cta .inner{ position:relative; z-index:1; max-width:640px; }
.tool-os .cta h2{ font-size:clamp(1.7rem,3.4vw,2.35rem); margin:0 0 12px; }
.tool-os .cta p{ color:var(--body); font-size:1.05rem; max-width:56ch; }
.tool-os .cta form{ display:flex; gap:10px; margin-top:22px; flex-wrap:wrap; }
.tool-os .cta input[type=email]{ flex:1; min-width:230px; background:var(--bg-2); border:1px solid var(--line-2); border-radius:10px; padding:14px 16px; color:var(--head); font-family:var(--sans); font-size:1rem; outline:0; transition:.15s; }
.tool-os .cta input[type=email]:focus{ border-color:var(--lime); box-shadow:0 0 0 4px rgba(163,230,53,.12); }
.tool-os .cta button{ flex:none; background:var(--lime); color:var(--on-lime); font-family:var(--sans); font-weight:700; font-size:1rem; border:0; border-radius:10px; padding:14px 24px; cursor:pointer; transition:.15s; box-shadow:0 10px 30px -12px rgba(163,230,53,.6); }
.tool-os .cta button:hover{ filter:brightness(1.06); transform:translateY(-1px); }
.tool-os .cta .done{ color:var(--lime); font-family:var(--mono); font-size:.95rem; margin-top:18px; }

/* ---------- FAQ ---------- */
.tool-os .faq{ display:flex; flex-direction:column; gap:10px; max-width:860px; }
.tool-os .qa{ border:1px solid var(--line); border-radius:12px; background:var(--card); overflow:hidden; }
.tool-os .qa:hover{ border-color:var(--line-2); }
.tool-os .qa summary{ list-style:none; width:100%; display:flex; align-items:center; gap:16px; padding:18px 20px; cursor:pointer; color:var(--head); font-family:var(--display); font-weight:500; font-size:1.06rem; }
.tool-os .qa summary::-webkit-details-marker{ display:none; }
.tool-os .qa summary .plus{ margin-left:auto; flex:none; color:var(--lime); transition:transform .2s; font-family:var(--mono); font-size:1.2rem; }
.tool-os .qa[open] summary .plus{ transform:rotate(45deg); }
.tool-os .qa .a{ padding:0 20px 20px; color:var(--body); font-size:.98rem; line-height:1.7; max-width:74ch; }

/* ---------- generic list / detection results ---------- */
.tool-os .rcard{ border:1px solid var(--line); border-radius:12px; background:var(--card); padding:clamp(18px,2.5vw,24px); }
.tool-os .rcard + .rcard{ margin-top:14px; }
.tool-os .rcard h3{ font-size:1.12rem; color:var(--head); margin:0 0 4px; }
.tool-os .rcard .rsub{ color:var(--muted); font-size:.9rem; margin:0 0 14px; }
.tool-os .rlinks{ display:grid; gap:8px; }
.tool-os .rlink{ display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 14px; background:var(--bg-2); border:1px solid var(--line-2); border-radius:9px; font-family:var(--mono); font-size:.9rem; color:var(--text); }
.tool-os .rlink:hover{ border-color:var(--lime); color:var(--lime); text-decoration:none; }
.tool-os .rlink .arr{ color:var(--dim); }
.tool-os .rlink:hover .arr{ color:var(--lime); }
.tool-os .rgroup{ padding-top:16px; margin-top:16px; border-top:1px solid var(--line); }
.tool-os .rgroup:first-child{ padding-top:0; margin-top:0; border-top:0; }
.tool-os .rgroup .glabel{ font-family:var(--mono); font-size:.7rem; text-transform:uppercase; letter-spacing:.1em; color:var(--dim); margin-bottom:9px; }
.tool-os .rchips{ display:flex; flex-wrap:wrap; gap:8px; }
.tool-os .rchip{ font-family:var(--mono); font-size:.82rem; color:var(--text); background:var(--bg-2); border:1px solid var(--line-2); border-radius:7px; padding:5px 11px; }
.tool-os .rchip .meta{ color:var(--dim); }
.tool-os .rrow{ display:flex; align-items:center; gap:12px; padding:12px 0; border-top:1px solid var(--line); }
.tool-os .rrow:first-child{ border-top:0; }
.tool-os .rrow .rk{ width:130px; flex:none; color:var(--muted); font-family:var(--mono); font-size:.8rem; }
.tool-os .rrow a{ color:var(--lime); font-weight:600; font-family:var(--mono); font-size:.9rem; word-break:break-all; }
.tool-os .vbadge{ display:inline-flex; align-items:center; gap:9px; font-family:var(--mono); font-weight:700; font-size:.86rem; letter-spacing:.04em; padding:8px 14px; border-radius:9px; border:1px solid; }
.tool-os .vbadge.yes{ color:var(--lime); border-color:rgba(163,230,53,.4); background:rgba(163,230,53,.08); }
.tool-os .vbadge.no{ color:var(--muted); border-color:var(--line-2); background:var(--bg-2); }
.tool-os .rnote{ color:var(--muted); font-size:.88rem; margin:14px 0 0; }

/* ---------- board pages (risers / funding feed) ---------- */
.tool-os .board{ border:1px solid var(--line); border-radius:14px; background:var(--card); overflow:hidden; margin-top:18px; }
.tool-os .brow{ display:flex; align-items:center; gap:14px; padding:14px 18px; border-top:1px solid var(--line); transition:background .15s; }
.tool-os .brow:first-child{ border-top:0; }
.tool-os .brow:hover{ background:var(--bg-2); }
.tool-os .brank{ width:26px; flex:none; font-family:var(--mono); font-size:.82rem; color:var(--dim); }
.tool-os .bname{ flex:1; min-width:0; }
.tool-os .bname a{ color:var(--head); font-weight:600; font-size:.95rem; }
.tool-os .bname .nm{ color:var(--head); font-weight:600; font-size:.95rem; }
.tool-os .bname .bsub{ font-size:.8rem; color:var(--muted); margin-top:2px; }
.tool-os .bmetric{ text-align:right; flex:none; }
.tool-os .bmetric .up{ color:var(--lime); font-weight:700; font-size:.95rem; }
.tool-os .bmetric .down{ color:var(--red); font-weight:700; font-size:.95rem; }
.tool-os .bmetric .msub{ font-size:.72rem; color:var(--dim); margin-top:1px; }
.tool-os .board-foot{ margin-top:26px; padding-top:18px; border-top:1px solid var(--line); color:var(--muted); font-size:.95rem; }
.tool-os .board-foot a{ color:var(--lime); font-weight:600; }

/* ---------- tools index grid ---------- */
.tool-os .toolgrid{ display:grid; grid-template-columns:repeat(2,1fr); gap:14px; margin-top:26px; }
@media(max-width:680px){ .tool-os .toolgrid{ grid-template-columns:1fr; } }
.tool-os .toolcard{ display:block; border:1px solid var(--line); border-radius:var(--r); background:var(--card); padding:22px; transition:transform .15s, border-color .15s; }
.tool-os .toolcard:hover{ border-color:var(--lime); transform:translateY(-2px); text-decoration:none; }
.tool-os .toolcard .tag{ display:inline-block; font-family:var(--mono); font-size:.62rem; letter-spacing:.1em; text-transform:uppercase; color:var(--lime); border:1px solid rgba(163,230,53,.35); border-radius:5px; padding:2px 8px; margin-bottom:12px; }
.tool-os .toolcard h2{ font-size:1.08rem; color:var(--head); margin:0 0 7px; }
.tool-os .toolcard h2 .arr{ color:var(--lime); }
.tool-os .toolcard p{ font-size:.9rem; color:var(--muted); margin:0; line-height:1.6; }

@media(prefers-reduced-motion:reduce){ .tool-os *{ animation:none !important; transition:none !important; } }
