/* ============================================================
   99creatix free tools: page layer.
   The shared .c99 system (tokens, nav, qbar, bigfoot, .btn, .tag,
   .display, .band) loads site-wide. This file carries only what the
   tool pages add: the form in the hero, the result stage, the
   explainer, the FAQ and per-tool widgets. Selectors are doubled
   (.c99.c99-tool) so they outrank the homepage's .c99 rules.
   Zero radius everywhere. Blue is only ever a numeral.
   ============================================================ */

.c99.c99-tool .display { font-size: clamp(2.2rem, 6.5vw, 4.8rem); line-height: 0.9; }
.c99.c99-tool .opening .hero { padding-block: clamp(2.5rem, 6vw, 4.5rem) clamp(2rem, 5vw, 3rem); }
.c99.c99-tool .hero__eyebrow { padding-bottom: 1.4rem; display: block; }
.c99.c99-tool .hero h1 { margin-bottom: 1.4rem; }
.c99.c99-tool .hero__sub { max-width: 62ch; }
.c99.c99-tool .opening .crumb { padding-top: 1.4rem; margin: 0; font-family: var(--mono); font-size: 0.63rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--panel-mute); }
.c99.c99-tool .opening .crumb a { color: var(--panel-mute); text-decoration: none; }
.c99.c99-tool .opening .crumb a:hover { color: var(--panel-ink); }
.c99.c99-tool .opening .crumb span { color: var(--blue-l); }

/* ---- form in the hero ---- */
.c99.c99-tool .tool-form { margin-top: 2rem; max-width: 720px; display: grid; gap: 1rem; }
.c99.c99-tool .tool-form--wide { max-width: none; }
.c99.c99-tool .tool-row { display: grid; gap: 0.45rem; }
.c99.c99-tool .tool-row--split { grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 1rem; }
.c99.c99-tool .tool-row--split > div { display: grid; gap: 0.45rem; }
.c99.c99-tool .tool-label { font-family: var(--mono); font-size: 0.64rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--panel-mute); }
.c99.c99-tool .tool-label span { text-transform: none; letter-spacing: 0; color: var(--panel-mute); opacity: 0.8; }
.c99.c99-tool .tool-label .count { float: right; }
.c99.c99-tool .tool-form input[type=text], .c99.c99-tool .tool-form textarea, .c99.c99-tool .tool-form select {
  width: 100%; box-sizing: border-box; font: inherit; font-size: 1rem; padding: 0.85rem 1rem;
  background: var(--panel-2); color: var(--panel-ink); border: 1px solid var(--panel-rule); border-radius: 0; outline: none;
  transition: border-color .18s ease;
}
.c99.c99-tool .tool-form textarea { resize: vertical; min-height: 5.5rem; line-height: 1.5; }
.c99.c99-tool .tool-form input:focus, .c99.c99-tool .tool-form textarea:focus, .c99.c99-tool .tool-form select:focus { border-color: var(--panel-ink); }
.c99.c99-tool .tool-form input::placeholder, .c99.c99-tool .tool-form textarea::placeholder { color: #5e636d; }
.c99.c99-tool .tool-form select { appearance: none; -webkit-appearance: none; background-image: linear-gradient(45deg, transparent 50%, var(--panel-mute) 50%), linear-gradient(135deg, var(--panel-mute) 50%, transparent 50%); background-position: calc(100% - 20px) 50%, calc(100% - 14px) 50%; background-size: 6px 6px; background-repeat: no-repeat; padding-right: 2.5rem; }
.c99.c99-tool .hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; opacity: 0; }
.c99.c99-tool .tool-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 0.9rem 1.4rem; margin-top: 0.25rem; }
.c99.c99-tool .tool-note { font-family: var(--mono); font-size: 0.66rem; letter-spacing: 0.04em; color: var(--panel-mute); max-width: 44ch; line-height: 1.5; }
.c99.c99-tool .tool-status { margin: 1rem 0 0; min-height: 1.3em; font-family: var(--mono); font-size: 0.72rem; letter-spacing: 0.04em; color: var(--panel-mute); }
.c99.c99-tool .tool-status.err { color: #FF8A7A; }
.c99.c99-tool .tool-status.busy::before { content: ""; display: inline-block; width: 8px; height: 8px; margin-right: 8px; background: var(--blue-l); animation: c99t-pulse 1s ease-in-out infinite; vertical-align: 1px; }
@keyframes c99t-pulse { 0%, 100% { opacity: 0.25 } 50% { opacity: 1 } }
.c99.c99-tool .tool-add { background: none; border: 0; color: var(--panel-mute); font-family: var(--mono); font-size: 0.66rem; letter-spacing: 0.08em; text-transform: uppercase; cursor: pointer; padding: 0.3rem 0; text-align: left; justify-self: start; }
.c99.c99-tool .tool-add:hover { color: var(--panel-ink); }
.c99.c99-tool .listing-inputs { display: grid; gap: 0.6rem; }
.c99.c99-tool .btn[disabled] { opacity: 0.55; cursor: progress; }
.c99.c99-tool .opening .btn--ghost { background: transparent; color: var(--panel-ink); border-color: rgba(237,237,234,0.34); }
.c99.c99-tool .opening .btn--ghost:hover { background: var(--panel-ink); color: var(--panel); border-color: var(--panel-ink); }

/* ---- result stage (dark: this is what the data says) ---- */
.c99.c99-tool .tool-result { padding-block: 0 clamp(2.5rem, 6vw, 4rem); color: var(--panel-ink); }
.c99.c99-tool .tool-result[hidden] { display: none; }
.c99.c99-tool .res-head { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 1.5rem clamp(1.5rem, 4vw, 3.5rem); align-items: start; border-top: 1px solid var(--panel-rule); padding-top: clamp(1.5rem, 4vw, 2.5rem); }
.c99.c99-tool .score { display: grid; gap: 0.2rem; min-width: 150px; }
.c99.c99-tool .score__k { font-family: var(--mono); font-size: 0.62rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--panel-mute); }
.c99.c99-tool .score__v { font-family: var(--mono); font-size: clamp(3rem, 7vw, 5rem); line-height: 1; letter-spacing: -0.05em; color: var(--blue-l); font-variant-numeric: tabular-nums; }
.c99.c99-tool .score__v small { font-size: 0.35em; color: var(--panel-mute); letter-spacing: 0; margin-left: 2px; }
.c99.c99-tool .score__g { font-family: var(--mono); font-size: 0.72rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--panel-ink); }
.c99.c99-tool .res-meta { min-width: 0; }
.c99.c99-tool .res-meta h2 { font-size: clamp(1.15rem, 2.4vw, 1.6rem); letter-spacing: -0.025em; text-transform: none; margin: 0 0 0.5rem; line-height: 1.2; word-break: break-word; color: var(--panel-ink); }
.c99.c99-tool .res-meta p { margin: 0 0 1rem; color: var(--panel-mute); font-size: 0.95rem; line-height: 1.55; max-width: 62ch; }
.c99.c99-tool .cats { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 1px; background: var(--panel-rule); border: 1px solid var(--panel-rule); margin-top: 1rem; }
.c99.c99-tool .cats div { background: var(--panel-2); padding: 0.8rem 0.9rem; display: grid; gap: 0.25rem; }
.c99.c99-tool .cats b { font-family: var(--mono); font-weight: 500; font-size: 1.35rem; color: var(--blue-l); letter-spacing: -0.03em; }
.c99.c99-tool .cats span { font-size: 0.72rem; color: var(--panel-mute); }
.c99.c99-tool .counts { display: flex; flex-wrap: wrap; gap: 0.5rem 1.2rem; margin: 0.9rem 0 0; font-family: var(--mono); font-size: 0.68rem; letter-spacing: 0.06em; text-transform: uppercase; color: var(--panel-mute); }
.c99.c99-tool .counts b { font-weight: 500; color: var(--panel-ink); }

.c99.c99-tool .pill { display: inline-block; font-family: var(--mono); font-size: 0.6rem; letter-spacing: 0.1em; text-transform: uppercase; padding: 3px 7px; border: 1px solid currentColor; white-space: nowrap; }
.c99.c99-tool .pill.pass { color: #35D6BE; }
.c99.c99-tool .pill.warn { color: #E8B64C; }
.c99.c99-tool .pill.fail { color: #FF8A7A; }
.c99.c99-tool .pill.info { color: var(--panel-mute); }

.c99.c99-tool .res-section { margin-top: clamp(2rem, 5vw, 3rem); }
.c99.c99-tool .res-section h3 { margin: 0 0 1rem; font-size: 1rem; letter-spacing: -0.015em; text-transform: uppercase; color: var(--panel-ink); display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }
.c99.c99-tool .res-section h3 small { font-family: var(--mono); font-weight: 400; font-size: 0.64rem; letter-spacing: 0.1em; color: var(--panel-mute); text-transform: uppercase; }
.c99.c99-tool .checks { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--panel-rule); }
.c99.c99-tool .checks li { display: grid; grid-template-columns: 5.2rem minmax(0, 1fr); gap: 0.75rem 1rem; padding: 0.9rem 0; border-bottom: 1px solid var(--panel-rule); font-size: 0.93rem; line-height: 1.5; }
.c99.c99-tool .checks li strong { display: block; color: var(--panel-ink); font-weight: 600; }
.c99.c99-tool .checks li span.d { display: block; color: var(--panel-mute); font-size: 0.86rem; word-break: break-word; }
.c99.c99-tool .checks li span.f { display: block; color: var(--panel-ink); font-size: 0.86rem; margin-top: 0.25rem; }
.c99.c99-tool .checks li span.f::before { content: "Fix: "; font-family: var(--mono); font-size: 0.6rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--blue-l); }
.c99.c99-tool .checks.locked li { filter: blur(3px); pointer-events: none; user-select: none; }

/* ---- the gate ---- */
.c99.c99-tool .gate { margin-top: clamp(1.75rem, 4vw, 2.5rem); border: 1px solid var(--panel-rule); background: var(--panel-2); padding: clamp(1.25rem, 3vw, 2rem); display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 1.5rem clamp(1.5rem, 4vw, 3rem); align-items: center; }
.c99.c99-tool .gate h3 { margin: 0.4rem 0 0.6rem; font-size: clamp(1.15rem, 2.4vw, 1.5rem); letter-spacing: -0.025em; text-transform: uppercase; color: var(--panel-ink); line-height: 1.05; }
.c99.c99-tool .gate p { margin: 0; color: var(--panel-mute); font-size: 0.92rem; line-height: 1.55; }
.c99.c99-tool .gate form { display: grid; gap: 0.7rem; }
.c99.c99-tool .gate input[type=text], .c99.c99-tool .gate input[type=email] { width: 100%; box-sizing: border-box; font: inherit; font-size: 1rem; padding: 0.8rem 1rem; background: var(--panel); color: var(--panel-ink); border: 1px solid var(--panel-rule); border-radius: 0; outline: none; }
.c99.c99-tool .gate input:focus { border-color: var(--panel-ink); }
.c99.c99-tool .gate label.chk { display: flex; gap: 0.6rem; align-items: flex-start; font-size: 0.78rem; color: var(--panel-mute); line-height: 1.45; }
.c99.c99-tool .gate label.chk input { margin: 3px 0 0; accent-color: var(--panel-ink); }
.c99.c99-tool .gate .ok { color: #35D6BE; font-family: var(--mono); font-size: 0.72rem; letter-spacing: 0.04em; }
.c99.c99-tool .gate .portal { font-family: var(--mono); font-size: 0.64rem; letter-spacing: 0.06em; color: var(--panel-mute); margin-top: 0.4rem; }
.c99.c99-tool .gate .portal a { color: var(--panel-ink); }

/* ---- the CTA card at the end of every result ---- */
.c99.c99-tool .cta-card { margin-top: clamp(2rem, 5vw, 3rem); border-top: 2px solid var(--panel-ink); padding-top: 1.4rem; display: grid; grid-template-columns: minmax(0, 1.4fr) auto; gap: 1.2rem 2rem; align-items: end; }
.c99.c99-tool .cta-card .tag { display: block; margin-bottom: 0.6rem; }
.c99.c99-tool .cta-card h3 { margin: 0 0 0.5rem; font-size: clamp(1.25rem, 2.8vw, 1.8rem); letter-spacing: -0.03em; text-transform: uppercase; color: var(--panel-ink); line-height: 1.02; }
.c99.c99-tool .cta-card p { margin: 0; color: var(--panel-mute); font-size: 0.95rem; line-height: 1.55; max-width: 58ch; }
.c99.c99-tool .cta-card .acts { display: grid; gap: 0.6rem; justify-items: start; }
.c99.c99-tool .cta-card .acts a.plain { font-family: var(--mono); font-size: 0.66rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--panel-mute); text-decoration: none; }
.c99.c99-tool .cta-card .acts a.plain:hover { color: var(--panel-ink); }

/* ---- explainer band ---- */
.c99.c99-tool .tool-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1.5rem, 4vw, 3rem); }
.c99.c99-tool .tool-steps > div { border-top: 2px solid var(--ink); padding-top: 1rem; }
.c99.c99-tool .tool-steps .k { font-family: var(--mono); font-size: 0.62rem; letter-spacing: 0.13em; text-transform: uppercase; color: var(--blue); display: block; margin-bottom: 0.7rem; }
.c99.c99-tool .tool-steps h3 { margin: 0 0 0.6rem; font-size: 1.1rem; letter-spacing: -0.02em; text-transform: uppercase; }
.c99.c99-tool .tool-steps p { margin: 0; color: var(--ink-mute); font-size: 0.95rem; line-height: 1.6; }
.c99.c99-tool .tool-limits { margin: clamp(1.75rem, 4vw, 2.5rem) 0 0; font-family: var(--mono); font-size: 0.7rem; letter-spacing: 0.03em; color: var(--ink-soft); max-width: 70ch; line-height: 1.6; }
.c99.c99-tool .tool-limits a { color: var(--ink); }

/* ---- FAQ ---- */
.c99.c99-tool .tool-faq { padding-top: 0; }
.c99.c99-tool .faq { max-width: 760px; border-top: 1px solid var(--ink); }
.c99.c99-tool .faq details { border-bottom: 1px solid var(--rule); }
.c99.c99-tool .faq summary { cursor: pointer; list-style: none; padding: 1.1rem 2.2rem 1.1rem 0; font-weight: 600; font-size: 1.02rem; letter-spacing: -0.01em; position: relative; }
.c99.c99-tool .faq summary::-webkit-details-marker { display: none; }
.c99.c99-tool .faq summary::after { content: "+"; position: absolute; right: 0.2rem; top: 50%; transform: translateY(-50%); font-family: var(--mono); color: var(--ink-soft); font-size: 1.1rem; }
.c99.c99-tool .faq details[open] summary::after { content: "–"; }
.c99.c99-tool .faq .a { margin: 0 0 1.2rem; color: var(--ink-mute); line-height: 1.65; max-width: 62ch; font-size: 0.98rem; }

/* ---- closer with more tools ---- */
.c99.c99-tool .tool-closer { padding-block: clamp(2.5rem, 6vw, 4rem) 0; }
.c99.c99-tool .tool-more { display: flex; flex-wrap: wrap; gap: 0.6rem; margin-top: 1rem; }
.c99.c99-tool .tool-more a { font-family: var(--mono); font-size: 0.68rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--panel-ink); text-decoration: none; border: 1px solid var(--panel-rule); padding: 0.6rem 0.9rem; }
.c99.c99-tool .tool-more a:hover { border-color: var(--panel-ink); }
.c99.c99-tool .bigfoot { margin-top: clamp(2.5rem, 6vw, 4rem); }

/* ---- tables in results (authority, keywords) ---- */
.c99.c99-tool .rtable { width: 100%; border-collapse: collapse; font-variant-numeric: tabular-nums; border-top: 1px solid var(--panel-rule); }
.c99.c99-tool .rtable th { text-align: left; font-family: var(--mono); font-weight: 400; font-size: 0.62rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--panel-mute); padding: 0.7rem 0.6rem 0.7rem 0; border-bottom: 1px solid var(--panel-rule); }
.c99.c99-tool .rtable td { padding: 0.75rem 0.6rem 0.75rem 0; border-bottom: 1px solid var(--panel-rule); font-size: 0.92rem; vertical-align: top; }
.c99.c99-tool .rtable td.n, .c99.c99-tool .rtable th.n { text-align: right; font-family: var(--mono); }
.c99.c99-tool .rtable td.n { color: var(--blue-l); }
.c99.c99-tool .rtable td.m { color: var(--panel-mute); font-size: 0.82rem; }
.c99.c99-tool .rtable tr.yours td { color: var(--panel-ink); font-weight: 600; }
.c99.c99-tool .bar { height: 6px; background: var(--panel-rule); position: relative; margin-top: 6px; min-width: 120px; }
.c99.c99-tool .bar i { position: absolute; left: 0; top: 0; bottom: 0; background: var(--blue-l); }
.c99.c99-tool .dots { font-family: var(--mono); letter-spacing: 0.1em; color: var(--blue-l); white-space: nowrap; }
.c99.c99-tool .dots span { color: var(--panel-rule); }
.c99.c99-tool .intent { font-family: var(--mono); font-size: 0.6rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--panel-mute); border: 1px solid var(--panel-rule); padding: 2px 6px; white-space: nowrap; }
.c99.c99-tool .filters { display: flex; flex-wrap: wrap; gap: 0.5rem; margin: 0 0 1rem; }
.c99.c99-tool .filters button { background: none; border: 1px solid var(--panel-rule); color: var(--panel-mute); font-family: var(--mono); font-size: 0.62rem; letter-spacing: 0.1em; text-transform: uppercase; padding: 0.5rem 0.8rem; cursor: pointer; }
.c99.c99-tool .filters button.on, .c99.c99-tool .filters button:hover { color: var(--panel-ink); border-color: var(--panel-ink); }
.c99.c99-tool .filters button b { color: var(--blue-l); font-weight: 500; margin-left: 4px; }

/* ---- SERP preview tool ---- */
.c99.c99-tool .serp-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(1.5rem, 4vw, 3rem); align-items: start; }
.c99.c99-tool .serp-inputs { display: grid; gap: 1rem; }
.c99.c99-tool .serp-tabs { display: flex; gap: 0; border: 1px solid var(--panel-rule); width: max-content; margin-bottom: 1rem; }
.c99.c99-tool .serp-tabs button, .c99.c99-tool .schema-type button { background: none; border: 0; color: var(--panel-mute); font-family: var(--mono); font-size: 0.64rem; letter-spacing: 0.1em; text-transform: uppercase; padding: 0.6rem 1rem; cursor: pointer; }
.c99.c99-tool .serp-tabs button.on, .c99.c99-tool .schema-type button.on { background: var(--panel-ink); color: var(--panel); }
.c99.c99-tool .serp-card { background: #fff; color: #1f1f1f; padding: 18px 20px 20px; font-family: Arial, Helvetica, sans-serif; width: 100%; max-width: 652px; box-sizing: border-box; }
.c99.c99-tool .serp-card[data-view=mobile] { max-width: 400px; padding: 16px; }
.c99.c99-tool .serp-site { display: grid; grid-template-columns: 26px minmax(0, 1fr); grid-template-rows: auto auto; column-gap: 10px; align-items: center; margin-bottom: 8px; }
.c99.c99-tool .serp-fav { grid-row: 1 / span 2; width: 26px; height: 26px; border-radius: 50%; background: #e2eeff; border: 1px solid #dadce0; }
.c99.c99-tool .serp-name { font-size: 14px; line-height: 20px; color: #202124; }
.c99.c99-tool .serp-url { font-size: 12px; line-height: 16px; color: #4d5156; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.c99.c99-tool .serp-title { font-size: 20px; line-height: 26px; color: #1a0dab; margin: 0 0 6px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.c99.c99-tool .serp-card[data-view=mobile] .serp-title { white-space: normal; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.c99.c99-tool .serp-desc { font-size: 14px; line-height: 22px; color: #4d5156; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.c99.c99-tool .serp-card[data-view=mobile] .serp-desc { -webkit-line-clamp: 3; }
.c99.c99-tool .serp-desc b, .c99.c99-tool .serp-title b { font-weight: 700; }
.c99.c99-tool .serp-checks { list-style: none; margin: 1rem 0 0; padding: 0; display: grid; gap: 0.5rem; }
.c99.c99-tool .serp-checks li { display: grid; grid-template-columns: 5rem minmax(0, 1fr); gap: 0.6rem; font-size: 0.84rem; color: var(--panel-mute); align-items: start; line-height: 1.45; }
.c99.c99-tool .serp-checks li strong { color: var(--panel-ink); font-weight: 600; }
.c99.c99-tool .variants { display: grid; gap: 1px; background: var(--panel-rule); border: 1px solid var(--panel-rule); }
.c99.c99-tool .variants button { text-align: left; background: var(--panel-2); border: 0; color: var(--panel-ink); padding: 0.9rem 1rem; cursor: pointer; font: inherit; display: grid; gap: 0.25rem; }
.c99.c99-tool .variants button:hover { background: #191c21; }
.c99.c99-tool .variants button span { font-size: 0.8rem; color: var(--panel-mute); }
.c99.c99-tool .variants button em { font-style: normal; font-family: var(--mono); font-size: 0.6rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--blue-l); }

/* ---- schema generator ---- */
.c99.c99-tool .schema-type { display: flex; flex-wrap: wrap; border: 1px solid var(--panel-rule); width: max-content; max-width: 100%; margin-top: 2rem; }
.c99.c99-tool .schema-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(1.5rem, 4vw, 3rem); align-items: start; margin-top: 1.2rem; }
.c99.c99-tool .schema-fields { display: grid; gap: 1rem; }
.c99.c99-tool .schema-fields fieldset { border: 1px solid var(--panel-rule); padding: 1rem; margin: 0; display: grid; gap: 0.8rem; min-width: 0; }
.c99.c99-tool .schema-fields legend { font-family: var(--mono); font-size: 0.62rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--panel-mute); padding: 0 0.4rem; }
.c99.c99-tool .schema-fields .tool-row--split { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
.c99.c99-tool .hours { display: grid; gap: 0.4rem; }
.c99.c99-tool .hours div { display: grid; grid-template-columns: 2.6rem minmax(0, 1fr) minmax(0, 1fr) auto; gap: 0.5rem; align-items: center; }
.c99.c99-tool .hours label { font-family: var(--mono); font-size: 0.66rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--panel-mute); }
.c99.c99-tool .hours input[type=time] { font: inherit; font-size: 0.9rem; padding: 0.5rem 0.6rem; background: var(--panel-2); color: var(--panel-ink); border: 1px solid var(--panel-rule); border-radius: 0; color-scheme: dark; }
.c99.c99-tool .hours label.closed { display: flex; gap: 0.3rem; align-items: center; }
.c99.c99-tool .repeat { display: grid; gap: 0.8rem; }
.c99.c99-tool .repeat > div { display: grid; gap: 0.5rem; border-left: 2px solid var(--panel-rule); padding-left: 0.8rem; }
.c99.c99-tool .schema-out__head { display: flex; justify-content: space-between; align-items: center; gap: 1rem; flex-wrap: wrap; margin-bottom: 0.7rem; }
.c99.c99-tool .schema-out__head .btn { padding: 0.55rem 0.9rem; font-size: 0.62rem; }
.c99.c99-tool pre#schemaOut { margin: 0; background: var(--panel-2); border: 1px solid var(--panel-rule); color: var(--panel-ink); font-family: var(--mono); font-size: 0.78rem; line-height: 1.55; padding: 1rem; overflow: auto; max-height: 560px; white-space: pre-wrap; word-break: break-word; }

@media (max-width: 960px) {
  .c99.c99-tool .serp-grid, .c99.c99-tool .schema-grid { grid-template-columns: minmax(0, 1fr); }
  .c99.c99-tool .tool-steps { grid-template-columns: minmax(0, 1fr); }
  .c99.c99-tool .gate, .c99.c99-tool .cta-card { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 640px) {
  .c99.c99-tool .res-head { grid-template-columns: minmax(0, 1fr); }
  .c99.c99-tool .checks li { grid-template-columns: minmax(0, 1fr); gap: 0.35rem; }
  .c99.c99-tool .hours div { grid-template-columns: 2.4rem minmax(0, 1fr) minmax(0, 1fr); }
  .c99.c99-tool .hours label.closed { grid-column: 2 / -1; }
  .c99.c99-tool .rtable td.m.hide-s, .c99.c99-tool .rtable th.hide-s { display: none; }
}
@media (prefers-reduced-motion: reduce) { .c99.c99-tool .tool-status.busy::before { animation: none; } }
