#dq-fire{
  --f-accent: var(--dq-accent, #0066cc);
  --f-accent-dark: var(--dq-accent-dark, #004e9e);
  --f-ink: var(--dq-text, #16202b);
  --f-muted: var(--dq-text-muted, #5d6b7a);
  --f-line: var(--dq-border, #dde3ea);
  --f-surface: var(--dq-surface, #ffffff);
  --f-tint: #f4f7fb;
  --f-growth: #1a9e7a;
  --f-warn: #c0392b;
  --f-radius: 8px;
  color: var(--f-ink);
  font-size: 16px;
  line-height: 1.5;
  margin: 0 0 2rem;
}
#dq-fire *,#dq-fire *::before,#dq-fire *::after{box-sizing:border-box;}

#dq-fire .dq-fire__grid{display:grid;grid-template-columns:1.15fr 1fr;gap:1.75rem;align-items:start;}

#dq-fire .dq-fire__form{
  display:grid;gap:1.25rem;margin:0;padding:1.5rem;
  background:var(--f-surface);border:1px solid var(--f-line);border-radius:var(--f-radius);
}
#dq-fire .dq-fire__field--inline{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
#dq-fire .dq-fire__field label{display:block;font-weight:600;font-size:.9375rem;margin:0 0 .4rem;}
#dq-fire .dq-fire__opt{
  font-weight:400;font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;
  color:var(--f-muted);margin-left:.35rem;
}
#dq-fire input[type=number],#dq-fire select{
  width:100%;padding:.6rem .75rem;font:inherit;font-size:.9375rem;color:var(--f-ink);
  background:#fff;border:1px solid var(--f-line);border-radius:6px;appearance:none;-webkit-appearance:none;
}
#dq-fire select{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%235d6b7a' d='M1 1.5 6 6.5l5-5'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right .8rem center;padding-right:2.2rem;
}
#dq-fire input:focus-visible,#dq-fire select:focus-visible,#dq-fire summary:focus-visible{
  outline:2px solid var(--f-accent);outline-offset:2px;
}
#dq-fire .dq-fire__input-wrap{position:relative;}
#dq-fire .dq-fire__input-wrap input{padding-left:2.1rem;}
#dq-fire .dq-fire__field--inline .dq-fire__input-wrap input,
#dq-fire .dq-fire__input-wrap--sm input{padding-left:.75rem;padding-right:2.2rem;}
#dq-fire #dqf-raise{padding-left:.75rem;padding-right:2.2rem;}
#dq-fire .dq-fire__prefix{
  position:absolute;left:.8rem;top:50%;transform:translateY(-50%);
  font-size:.9375rem;color:var(--f-muted);pointer-events:none;
}
#dq-fire .dq-fire__suffix{
  position:absolute;right:.85rem;top:50%;transform:translateY(-50%);
  font-size:.875rem;color:var(--f-muted);pointer-events:none;
}
#dq-fire .dq-fire__hint{margin:.4rem 0 0;font-size:.8125rem;line-height:1.45;color:var(--f-muted);}
#dq-fire .dq-fire__hint--pull{margin-top:-.85rem;}

#dq-fire .dq-fire__slider-row{display:flex;align-items:center;gap:.9rem;}
#dq-fire .dq-fire__input-wrap--sm{flex:0 0 92px;}
#dq-fire input[type=range]{
  flex:1;-webkit-appearance:none;appearance:none;height:4px;border-radius:3px;
  background:linear-gradient(to right,var(--f-accent) 0%,var(--f-accent) var(--pct,33%),var(--f-line) var(--pct,33%),var(--f-line) 100%);
  outline:none;padding:0;border:0;
}
#dq-fire input[type=range]::-webkit-slider-thumb{
  -webkit-appearance:none;width:20px;height:20px;border-radius:50%;
  background:#fff;border:3px solid var(--f-accent);cursor:pointer;
  box-shadow:0 1px 3px rgba(0,0,0,.18);
}
#dq-fire input[type=range]::-moz-range-thumb{
  width:20px;height:20px;border-radius:50%;background:#fff;
  border:3px solid var(--f-accent);cursor:pointer;box-shadow:0 1px 3px rgba(0,0,0,.18);
}

#dq-fire .dq-fire__out{
  padding:1.5rem;background:var(--f-tint);border:1px solid var(--f-line);
  border-top:3px solid var(--f-accent);border-radius:var(--f-radius);
}
#dq-fire .dq-fire__eyebrow{
  display:block;font-size:.6875rem;font-weight:700;text-transform:uppercase;
  letter-spacing:.09em;color:var(--f-muted);
}
#dq-fire .dq-fire__big{
  display:block;font-size:clamp(2rem,5.5vw,2.85rem);font-weight:700;line-height:1.05;
  letter-spacing:-.02em;color:var(--f-accent-dark);font-variant-numeric:tabular-nums;margin:.25rem 0 .1rem;
}
#dq-fire .dq-fire__unit{display:block;font-size:.875rem;color:var(--f-muted);}
#dq-fire .dq-fire__verdict{
  margin-top:1rem;padding:.7rem .9rem;border-radius:6px;font-size:.875rem;
  font-weight:600;background:#fff;border-left:3px solid var(--f-accent);
}
#dq-fire .dq-fire__verdict.is-warn{border-left-color:var(--f-warn);color:#8a2020;}
#dq-fire .dq-fire__stats{
  display:grid;gap:.75rem;margin:1.25rem 0 0;padding:1.1rem 0 0;border-top:1px solid var(--f-line);
}
#dq-fire .dq-fire__stats div{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;}
#dq-fire .dq-fire__stats dt{font-size:.875rem;color:var(--f-muted);}
#dq-fire .dq-fire__stats dd{
  margin:0;font-size:.9375rem;font-weight:600;text-align:right;font-variant-numeric:tabular-nums;
}
#dq-fire .dq-fire__plain{
  margin:1.1rem 0 0;padding-top:1.1rem;border-top:1px solid var(--f-line);
  font-size:.875rem;line-height:1.55;color:var(--f-muted);
}
#dq-fire .dq-fire__error{
  margin:1rem 0 0;padding:.7rem .85rem;font-size:.875rem;color:#8a2020;
  background:#fdf2f2;border-left:3px solid var(--f-warn);border-radius:3px;
}

#dq-fire .dq-fire__chartwrap{
  margin-top:1.5rem;padding:1.25rem 1.5rem 1rem;background:var(--f-surface);
  border:1px solid var(--f-line);border-radius:var(--f-radius);
}
#dq-fire .dq-fire__charthead{
  display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;
  gap:.75rem;margin-bottom:.75rem;
}
#dq-fire .dq-fire__legend{
  display:flex;flex-wrap:wrap;gap:1rem;margin:0;padding:0;list-style:none;
  font-size:.75rem;color:var(--f-muted);
}
#dq-fire .dq-fire__legend li{display:flex;align-items:center;gap:.35rem;}
#dq-fire .dq-fire__legend i{width:14px;height:10px;border-radius:2px;display:block;}
#dq-fire .dq-fire__legend .k-contrib{background:var(--f-accent);opacity:.55;}
#dq-fire .dq-fire__legend .k-growth{background:var(--f-growth);opacity:.55;}
#dq-fire .dq-fire__legend .k-target{background:none;border-top:2px dashed var(--f-warn);height:0;}
#dq-fire .dq-fire__chart svg{display:block;width:100%;height:auto;}

#dq-fire .dq-fire__col{
  margin-top:1.5rem;padding:1.25rem 1.4rem;background:var(--f-surface);
  border:1px solid var(--f-line);border-radius:var(--f-radius);
}
#dq-fire .dq-fire__table{width:100%;border-collapse:collapse;margin-top:.75rem;font-size:.875rem;}
#dq-fire .dq-fire__table th{
  text-align:left;padding:0 0 .5rem;font-size:.75rem;text-transform:uppercase;
  letter-spacing:.06em;color:var(--f-muted);border-bottom:1px solid var(--f-line);font-weight:700;
}
#dq-fire .dq-fire__table th:not(:first-child),
#dq-fire .dq-fire__table td:not(:first-child){text-align:right;}
#dq-fire .dq-fire__table td{
  padding:.55rem 0;border-bottom:1px solid var(--f-line);font-variant-numeric:tabular-nums;
}
#dq-fire .dq-fire__table tr:last-child td{border-bottom:0;}
#dq-fire .dq-fire__table tr.is-current td{font-weight:700;color:var(--f-accent-dark);}
#dq-fire .dq-fire__table tr.is-current td:first-child::after{content:" ← yours";font-weight:400;font-size:.75rem;color:var(--f-muted);}

#dq-fire .dq-fire__notes{margin-top:1.5rem;display:grid;gap:.5rem;}
#dq-fire details{border:1px solid var(--f-line);border-radius:var(--f-radius);background:var(--f-surface);}
#dq-fire summary{padding:.85rem 1.1rem;font-size:.9375rem;font-weight:600;cursor:pointer;list-style:none;}
#dq-fire summary::-webkit-details-marker{display:none;}
#dq-fire summary::after{content:"+";float:right;color:var(--f-accent);font-weight:700;}
#dq-fire details[open] summary::after{content:"–";}
#dq-fire details p{margin:0 1.1rem 1rem;font-size:.875rem;line-height:1.6;color:var(--f-muted);}
#dq-fire details p:first-of-type{margin-top:.25rem;}
#dq-fire .dq-fire__formula{
  padding:.85rem 1rem;background:var(--f-tint);border-radius:4px;
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:.8125rem;color:var(--f-ink);overflow-x:auto;
}

@media (max-width:781px){
  #dq-fire .dq-fire__grid{grid-template-columns:1fr;gap:1.25rem;}
  #dq-fire .dq-fire__form,#dq-fire .dq-fire__out{padding:1.25rem;}
  #dq-fire .dq-fire__chartwrap{padding:1.1rem 1rem .85rem;}
}
@media (prefers-reduced-motion:reduce){#dq-fire *{transition:none !important;}}
