/* SignalForge score, calculator, and conversion components. */
.tool-kicker{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:7px 10px;
  border:1px solid var(--rule-2);
  color:var(--fg-mute);
  font-family:var(--mono);
  font-size:10px;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.tool-kicker::before{
  content:"";
  width:6px;
  height:6px;
  background:var(--accent);
}
.review-section{padding:clamp(72px,9vw,120px) 0;border-top:1px solid var(--rule)}
.review-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--rule);border:1px solid var(--rule)}
.review-panel{background:var(--bg);padding:clamp(26px,3.2vw,44px)}
.review-panel h2,.review-panel h3{font-family:var(--display);font-weight:500;letter-spacing:-.02em;margin:0}
.review-panel h3{font-size:clamp(22px,2vw,30px)}
.review-panel p{color:var(--fg-dim);line-height:1.6}
.review-meta{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}
.review-question{padding:24px 0;border-bottom:1px solid var(--rule)}
.review-question:first-of-type{margin-top:18px;border-top:1px solid var(--rule)}
.review-question p{margin:0 0 14px;color:var(--fg);font-size:16px}
.review-scale{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.review-scale button,.review-tab{
  appearance:none;
  border:1px solid var(--rule-2);
  background:var(--bg-2);
  color:var(--fg-dim);
  padding:12px 14px;
  cursor:pointer;
  font-family:var(--mono);
  font-size:12px;
}
.review-scale button:hover,.review-scale button.selected,.review-tab:hover,.review-tab.active{
  border-color:var(--accent);
  color:var(--accent);
}
.review-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:24px}
.review-actions .btn:disabled{opacity:.35;cursor:not-allowed}
.review-fine{font-family:var(--mono);font-size:11px;line-height:1.5;color:var(--fg-mute)}
.review-result{display:none;margin-top:24px;padding:28px;border:1px solid var(--accent);background:var(--bg-2)}
.review-result.show{display:block}
.review-score{font-family:var(--display);font-size:clamp(64px,9vw,112px);font-weight:500;line-height:.9;color:var(--accent)}
.review-score small{font-family:var(--mono);font-size:15px;color:var(--fg-mute)}
.review-form{margin-top:24px}
.review-field{margin-bottom:18px}
.review-field label{display:block;margin-bottom:8px;font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--fg-mute)}
.review-field input,.review-field select,.review-field textarea{
  width:100%;
  padding:13px 14px;
  border:1px solid var(--rule-2);
  border-radius:0;
  background:var(--bg-2);
  color:var(--fg);
  font:inherit;
}
.review-field textarea{min-height:110px;resize:vertical}
.review-field input:focus,.review-field select:focus,.review-field textarea:focus{outline:none;border-color:var(--accent)}
.review-confirmation{display:none;margin-top:18px;padding:16px;border-left:2px solid var(--accent);background:var(--bg-2);color:var(--fg-dim);font-size:14px;line-height:1.6}
.review-confirmation.show{display:block}
.review-confirmation.error{border-left-color:#d96b5b}
.review-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:32px 0 20px}
.review-tool{display:none}
.review-tool.active{display:block}
.tool-grid-live{display:grid;grid-template-columns:.9fr 1.1fr;gap:1px;background:var(--rule);border:1px solid var(--rule)}
.tool-inputs,.tool-output{background:var(--bg);padding:clamp(26px,3.2vw,44px)}
.tool-output{display:flex;flex-direction:column;justify-content:center;min-height:360px;background:var(--bg-2)}
.tool-number{font-family:var(--display);font-size:clamp(64px,9vw,116px);font-weight:500;line-height:.9;color:var(--accent);letter-spacing:-.04em}
.tool-explanation{margin-top:22px;color:var(--fg-dim);font-size:17px;max-width:54ch}
.tool-math{margin-top:24px;padding-top:18px;border-top:1px solid var(--rule-2);font-family:var(--mono);font-size:11px;line-height:1.55;color:var(--fg-mute)}
.tool-link{display:inline-flex;margin-top:24px;color:var(--accent);font-family:var(--mono);font-size:11px;letter-spacing:.04em;text-decoration:none;border-bottom:1px solid var(--rule-2)}
.report-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}
.report-actions .btn{padding:11px 16px}
.form-status{min-height:18px;margin-top:12px;font-family:var(--mono);font-size:11px;line-height:1.5;color:var(--fg-mute)}
.form-status.error{color:#d96b5b}
.calendar-shell{display:none}
.calendar-shell.show{display:block}
@media print{
  body.score-page header,.score-page .page-hero,.score-page footer,.score-page .review-panel:first-child,.score-page .review-actions,.score-page .review-form,.score-page .review-meta{display:none!important}
  body.score-page,.score-page .review-section,.score-page .review-grid,.score-page .review-panel{background:#fff!important;color:#111!important;border:0!important}
  .score-page .review-grid{display:block}
  .score-page .review-panel{padding:24px!important}
  .score-page .review-confirmation{display:block!important;color:#222!important;border-left:3px solid #e4771a!important}
  .score-page .report-actions{display:none!important}
}
@media(max-width:820px){
  .review-grid,.tool-grid-live{grid-template-columns:1fr}
  .tool-output{min-height:300px}
}
@media(max-width:560px){
  .review-scale button{padding:12px 8px}
}
