:root{
  --fsq-accent:#17627b;
  --fsq-accent-dark:#104b5f;
  --fsq-text:#202020;
  --fsq-muted:#666;
  --fsq-border:#d8d8d8;
  --fsq-bg:#ffffff;
  --fsq-soft:#f7f7f7;
  --fsq-ok:#237a3b;
  --fsq-ok-bg:#eef8f1;
  --fsq-bad:#a21b1b;
  --fsq-bad-bg:#fff0f0;
}
.fsq-wrap{
  max-width:760px;
  margin:0 auto;
  font-family:Arial,Helvetica,sans-serif;
  color:var(--fsq-text);
}
.fsq-card{
  box-sizing:border-box;
  border:1px solid var(--fsq-border);
  border-radius:10px;
  background:var(--fsq-bg);
  padding:22px;
}
.fsq-brand{
  font-size:12px;
  font-weight:700;
  letter-spacing:.08em;
  color:var(--fsq-accent);
  margin-bottom:7px;
}
.fsq-title{
  font-size:30px;
  line-height:1.15;
  margin:0 0 5px;
}
.fsq-sub{
  margin:0 0 6px;
  color:var(--fsq-muted);
  font-size:15px;
}
.fsq-date{
  color:#777;
  font-size:14px;
  margin-bottom:22px;
}
.fsq-progress{
  color:#6b6b6b;
  font-size:14px;
  margin-bottom:8px;
}
.fsq-question{
  font-size:22px;
  line-height:1.35;
  font-weight:700;
  margin:0 0 17px;
}
.fsq-answers{
  display:grid;
  gap:10px;
}
.fsq-answer{
  width:100%;
  min-height:48px;
  box-sizing:border-box;
  display:flex;
  gap:10px;
  align-items:flex-start;
  text-align:left;
  background:#fff;
  border:1px solid #ccc;
  border-radius:8px;
  padding:12px 14px;
  font-size:16px;
  line-height:1.35;
  cursor:pointer;
}
.fsq-answer-letter{font-weight:700;min-width:18px}
.fsq-answer:hover:not(:disabled){
  border-color:var(--fsq-accent);
  background:#f6fbfc;
}
.fsq-answer:disabled{cursor:default}
.fsq-answer.is-correct{
  border-color:var(--fsq-ok);
  background:var(--fsq-ok-bg);
}
.fsq-answer.is-wrong{
  border-color:var(--fsq-bad);
  background:var(--fsq-bad-bg);
}
.fsq-answer:focus-visible,
.fsq-button:focus-visible,
.fsq-link:focus-visible,
.fsq-home-link:focus-visible{
  outline:3px solid rgba(23,98,123,.24);
  outline-offset:2px;
}
.fsq-feedback{
  display:none;
  margin-top:18px;
  padding:15px 16px;
  background:var(--fsq-soft);
  border-left:4px solid var(--fsq-accent);
  line-height:1.5;
}
.fsq-feedback strong{
  display:block;
  margin-bottom:5px;
}
.fsq-link{
  display:inline-block;
  margin-top:10px;
  color:var(--fsq-accent-dark);
  font-weight:700;
  text-decoration:none;
}
.fsq-link:hover{text-decoration:underline}
.fsq-controls{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:9px;
  margin-top:18px;
}
.fsq-button{
  border:0;
  border-radius:8px;
  background:var(--fsq-accent);
  color:#fff;
  padding:11px 17px;
  font-size:15px;
  font-weight:700;
  cursor:pointer;
}
.fsq-button:hover{background:var(--fsq-accent-dark)}
.fsq-button.secondary{
  background:#fff;
  color:var(--fsq-accent);
  border:1px solid var(--fsq-accent);
}
.fsq-button.secondary:hover{background:#f6fbfc}
.fsq-button:disabled{
  opacity:.45;
  cursor:default;
}
.fsq-result{
  display:none;
  text-align:center;
}
.fsq-score{
  font-size:42px;
  font-weight:700;
  color:var(--fsq-accent);
  margin:7px 0 10px;
}
.fsq-result-text{
  font-size:18px;
  line-height:1.45;
  margin:0 auto;
  max-width:590px;
}
.fsq-result-actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:10px;
  margin-top:20px;
}
.fsq-mode-note{
  margin:0 0 17px;
  padding:10px 12px;
  border-radius:7px;
  background:#f3f3f3;
  color:#555;
  font-size:14px;
}
.fsq-free-count{
  color:#777;
  font-size:13px;
  margin-top:14px;
}
.fsq-home{
  box-sizing:border-box;
  border:1px solid var(--fsq-border);
  border-radius:9px;
  background:#fff;
  padding:17px 18px;
  font-family:Arial,Helvetica,sans-serif;
  color:var(--fsq-text);
}
.fsq-home-title{
  font-size:21px;
  font-weight:700;
  margin:0 0 3px;
}
.fsq-home-date{
  font-size:13px;
  color:#777;
  margin-bottom:10px;
}
.fsq-home-question{
  font-size:18px;
  font-weight:700;
  line-height:1.35;
  margin:0 0 9px;
}
.fsq-home-copy{
  font-size:15px;
  margin:0 0 12px;
}
.fsq-home-link{
  display:inline-block;
  background:var(--fsq-accent);
  color:#fff !important;
  text-decoration:none;
  font-weight:700;
  border-radius:7px;
  padding:9px 13px;
}
.fsq-error{
  padding:14px;
  border:1px solid #d9a3a3;
  background:#fff5f5;
  border-radius:8px;
}
@media(max-width:600px){
  .fsq-card{padding:17px}
  .fsq-title{font-size:26px}
  .fsq-question{font-size:20px}
  .fsq-answer{font-size:16px}
  .fsq-controls{justify-content:stretch}
  .fsq-controls .fsq-button{flex:1 1 auto}
}