.qwf-tools-app{
  --qwf-green:#00cc66;
  --qwf-green-dark:#008f4e;
  --qwf-ink:#0b0f14;
  --qwf-muted:#5f6f82;
  --qwf-line:#dce8e1;
  --qwf-soft:#f4faf7;
  --qwf-white:#fff;
  color:var(--qwf-ink);
  font-family:"Nunito Sans",sans-serif;
  overflow-x:clip;
}
.qwf-tools-app *,
.qwf-tools-app *::before,
.qwf-tools-app *::after{box-sizing:border-box}
.qwf-tool-shell{width:min(calc(100% - 48px),1240px);margin-inline:auto}
.qwf-tool-hero{
  padding:88px 0 148px;
  color:var(--qwf-white);
  background:
    radial-gradient(circle at 82% 16%,rgba(255,255,255,.17) 0 2px,transparent 2.5px) 0 0/30px 30px,
    linear-gradient(135deg,var(--qwf-green-dark),var(--qwf-green));
}
.qwf-tool-eyebrow{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  margin:0 0 16px;
  padding:6px 12px;
  border:1px solid rgba(255,255,255,.3);
  border-radius:999px;
  background:rgba(11,15,20,.12);
  color:#fff;
  font:700 12px/1 "Nunito Sans",sans-serif;
  letter-spacing:.12em;
}
.qwf-tool-hero h1{
  max-width:940px;
  margin:0 0 22px;
  color:#fff;
  font:400 clamp(42px,5.2vw,72px)/1.04 "Inter",sans-serif;
  letter-spacing:-.045em;
}
.qwf-tool-hero p{
  max-width:760px;
  margin:0;
  color:#fff;
  font-size:20px;
  line-height:1.55;
}
.qwf-tool-workspace{
  margin-top:-82px;
  padding:0 0 88px;
  background:transparent;
}
.qwf-tool-panel{
  position:relative;
  padding:40px;
  border:1px solid var(--qwf-line);
  border-radius:28px;
  background:#fff;
  box-shadow:0 30px 80px -48px rgba(0,65,36,.65);
}
.qwf-tool-form,
.qwf-schema-builder{max-width:1040px;margin-inline:auto}
.qwf-tool-form label,
.qwf-schema-builder>label,
.qwf-schema-field label{
  display:block;
  margin:0 0 9px;
  color:var(--qwf-ink);
  font:700 16px/1.3 "Nunito Sans",sans-serif;
}
.qwf-tool-input-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(210px,auto);
  gap:14px;
  align-items:stretch;
}
.qwf-tool-input-row input,
.qwf-schema-builder select,
.qwf-schema-field input,
.qwf-schema-field textarea{
  width:100%;
  min-width:0;
  min-height:56px;
  padding:14px 16px;
  border:1px solid #afc6b8;
  border-radius:12px;
  background:#fff;
  color:var(--qwf-ink);
  font:400 17px/1.35 "Nunito Sans",sans-serif;
}
.qwf-tool-input-row input:focus,
.qwf-schema-builder select:focus,
.qwf-schema-field input:focus,
.qwf-schema-field textarea:focus{
  outline:3px solid rgba(0,204,102,.2);
  outline-offset:1px;
  border-color:var(--qwf-green);
}
.qwf-tool-button,
.qwf-tool-cta-button{
  min-height:56px;
  padding:14px 25px;
  border:0;
  border-radius:12px;
  background:var(--qwf-green);
  color:#fff;
  font:700 16px/1.2 "Nunito Sans",sans-serif;
  text-align:center;
  text-decoration:none;
  cursor:pointer;
  transition:background-color .2s ease,transform .2s ease,box-shadow .2s ease;
}
.qwf-tool-button:hover,
.qwf-tool-button:focus-visible,
.qwf-tool-cta-button:hover,
.qwf-tool-cta-button:focus-visible{
  background:var(--qwf-ink);
  color:#fff;
  box-shadow:0 12px 28px -18px rgba(11,15,20,.8);
  transform:translateY(-1px);
}
.qwf-tool-button:disabled{opacity:.58;cursor:wait;transform:none}
.qwf-tool-privacy{margin:11px 0 0;color:var(--qwf-muted);font-size:14px;line-height:1.5}
.qwf-tool-status{margin-top:20px;font-weight:700;text-align:center}
.qwf-tool-status.is-loading::before{
  content:"";
  display:inline-block;
  width:18px;
  height:18px;
  margin:0 9px -4px 0;
  border:3px solid var(--qwf-line);
  border-top-color:var(--qwf-green);
  border-radius:50%;
  animation:qwfspin .8s linear infinite;
}
@keyframes qwfspin{to{transform:rotate(360deg)}}
.qwf-tool-results:not(:empty){margin-top:30px;padding-top:30px;border-top:1px solid var(--qwf-line)}
.qwf-score-wrap{display:grid;grid-template-columns:180px minmax(0,1fr);gap:30px;align-items:center}
.qwf-score{
  display:grid;
  width:158px;
  height:158px;
  place-items:center;
  border:12px solid var(--qwf-green);
  border-radius:50%;
  background:#fff;
  font:700 46px/1 "Nunito Sans",sans-serif;
}
.qwf-score.is-warn{border-color:#f59e0b}
.qwf-score.is-bad{border-color:#e53935}
.qwf-subscore-grid,
.qwf-metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.qwf-result-card{
  min-width:0;
  height:100%;
  padding:20px;
  border:1px solid var(--qwf-line);
  border-radius:16px;
  background:var(--qwf-soft);
}
.qwf-result-card strong{display:block;margin-bottom:4px;font:700 18px/1.3 "Nunito Sans",sans-serif}
.qwf-result-card span{color:var(--qwf-muted);line-height:1.5}
.qwf-issues{display:grid;gap:14px;margin-top:26px}
.qwf-issue{
  padding:20px;
  border:1px solid var(--qwf-line);
  border-left:5px solid var(--qwf-green);
  border-radius:14px;
  background:var(--qwf-soft);
}
.qwf-issue.high{border-left-color:#e53935}
.qwf-issue.medium{border-left-color:#f59e0b}
.qwf-issue h3{margin:0 0 7px;font:700 20px/1.3 "Nunito Sans",sans-serif}
.qwf-issue p{margin:5px 0;line-height:1.55}
.qwf-tool-content{padding:88px 0;background:#fff}
.qwf-tool-content-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:stretch}
.qwf-tool-content article,
.qwf-tool-cta{min-width:0;padding:30px;border:1px solid var(--qwf-line);border-radius:22px}
.qwf-tool-content article{height:100%;background:#fff}
.qwf-tool-content h2,
.qwf-tool-faq h2{margin:0 0 14px;color:var(--qwf-ink);font:600 clamp(29px,2.4vw,36px)/1.15 "Inter",sans-serif;letter-spacing:-.025em}
.qwf-tool-content p{margin:0 0 16px;font-size:18px;line-height:1.65}
.qwf-tool-content p:last-child{margin-bottom:0}
.qwf-tool-cta{
  grid-column:1/-1;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  column-gap:40px;
  align-items:center;
  background:var(--qwf-ink);
  color:#fff;
}
.qwf-tool-cta>span,
.qwf-tool-cta>h2,
.qwf-tool-cta>p{grid-column:1}
.qwf-tool-cta>span{margin-bottom:8px;color:var(--qwf-green);font:700 12px/1.3 "Nunito Sans",sans-serif;letter-spacing:.1em}
.qwf-tool-cta h2{color:#fff}
.qwf-tool-cta p{max-width:760px;color:#fff}
.qwf-tool-links{font-size:16px!important}
.qwf-tool-links a{
  color:#fff;
  font-weight:700;
  text-decoration:underline;
  text-decoration-color:var(--qwf-green);
  text-underline-offset:4px;
}
.qwf-tool-links a:hover,
.qwf-tool-links a:focus-visible{color:var(--qwf-green)}
.qwf-tool-cta-button{
  grid-column:2;
  grid-row:1/5;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:220px;
  margin:0;
}
.qwf-tool-faq{padding:84px 0;background:var(--qwf-soft)}
.qwf-tool-faq .qwf-tool-shell{max-width:1000px}
.qwf-tool-faq details{
  margin-top:14px;
  padding:19px 22px;
  border:1px solid var(--qwf-line);
  border-radius:14px;
  background:#fff;
}
.qwf-tool-faq summary{cursor:pointer;font:700 18px/1.4 "Nunito Sans",sans-serif}
.qwf-tool-faq details p{margin:12px 0 2px;color:var(--qwf-muted);font-size:17px;line-height:1.6}
.qwf-schema-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:22px 0}
.qwf-schema-field textarea{min-height:120px;resize:vertical}
.qwf-code-actions{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}
.qwf-code-actions .qwf-tool-button{min-height:48px}
.qwf-code{
  max-width:100%;
  max-height:420px;
  padding:20px;
  overflow:auto;
  border-radius:14px;
  background:var(--qwf-ink);
  color:#e8fff3;
  font:400 14px/1.6 "Nunito Sans",sans-serif;
  white-space:pre;
}
.qwf-scope{margin-top:18px;padding:15px;border-radius:11px;background:#fff7e6;color:#6d4b00;line-height:1.55}
.qwf-error{padding:17px;border-radius:12px;background:#fff0f0;color:#8a1010;line-height:1.5}
@media(max-width:1100px){
  .qwf-tool-content-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .qwf-tool-content article:nth-of-type(3){grid-column:1/-1}
  .qwf-subscore-grid,.qwf-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:820px){
  .qwf-tool-shell{width:min(calc(100% - 36px),1240px)}
  .qwf-tool-hero{padding:72px 0 128px}
  .qwf-tool-workspace{margin-top:-66px;padding-bottom:70px}
  .qwf-tool-panel{padding:30px;border-radius:24px}
  .qwf-tool-input-row{grid-template-columns:1fr}
  .qwf-tool-button{width:100%}
  .qwf-score-wrap{grid-template-columns:1fr}
  .qwf-score{margin-inline:auto}
  .qwf-tool-content-grid{grid-template-columns:1fr}
  .qwf-tool-content article:nth-of-type(3){grid-column:auto}
  .qwf-tool-cta{grid-template-columns:1fr;row-gap:12px}
  .qwf-tool-cta-button{grid-column:1;grid-row:auto;width:100%;margin-top:6px}
}
@media(max-width:767px){
  .qwf-tool-shell{width:min(calc(100% - 28px),1240px)}
  .qwf-tool-hero{padding:56px 0 108px}
  .qwf-tool-eyebrow{margin-bottom:14px}
  .qwf-tool-hero h1{margin-bottom:18px;font-size:clamp(38px,12vw,54px);line-height:1.06}
  .qwf-tool-hero p{font-size:18px;line-height:1.5}
  .qwf-tool-workspace{margin-top:-54px;padding-bottom:58px}
  .qwf-tool-panel{padding:22px 18px;border-radius:20px}
  .qwf-tool-input-row input,.qwf-schema-builder select,.qwf-schema-field input,.qwf-schema-field textarea{font-size:16px}
  .qwf-score{width:144px;height:144px;border-width:10px;font-size:42px}
  .qwf-subscore-grid,.qwf-metric-grid,.qwf-schema-fields{grid-template-columns:1fr}
  .qwf-result-card,.qwf-issue{padding:17px}
  .qwf-tool-content,.qwf-tool-faq{padding:58px 0}
  .qwf-tool-content-grid{gap:16px}
  .qwf-tool-content article,.qwf-tool-cta{padding:23px;border-radius:18px}
  .qwf-tool-content h2,.qwf-tool-faq h2{font-size:29px}
  .qwf-tool-content p{font-size:17px}
  .qwf-tool-faq details{padding:17px 18px}
}
@media(max-width:420px){
  .qwf-tool-shell{width:min(calc(100% - 24px),1240px)}
  .qwf-tool-panel{padding:20px 15px}
  .qwf-tool-button,.qwf-tool-cta-button{padding-inline:16px}
  .qwf-code-actions{display:grid;grid-template-columns:1fr}
  .qwf-code-actions .qwf-tool-button{width:100%}
}
@media(prefers-reduced-motion:reduce){
  .qwf-tool-status.is-loading:before{animation:none}
  .qwf-tool-button,.qwf-tool-cta-button{transition:none}
}
.qwf-tools-app .qwf-tool-cta .qwf-tool-cta-button,
.qwf-tools-app .qwf-tool-cta .qwf-tool-cta-button:visited{
  color:#fff;
}
.qwf-tools-app .qwf-tool-cta .qwf-tool-cta-button:hover,
.qwf-tools-app .qwf-tool-cta .qwf-tool-cta-button:focus-visible{
  color:#fff;
}
