.ac-teststudio {
  --ac-red: #c41442;
  --ac-red-soft: #fbe8ed;
  --ac-dark: #2a2023;
  --ac-green: #3c8f68;
  --ac-line: #e7e2e3;
  --ac-muted: #746d70;
  color: var(--ac-dark);
  font-family: Arial, Helvetica, sans-serif;
  margin: 30px auto;
  max-width: 980px;
}
.ac-teststudio * { box-sizing: border-box; }
.ac-frame { background: #fff; border: 1px solid var(--ac-line); border-radius: 14px; box-shadow: 0 18px 60px rgba(42,32,35,.08); overflow: hidden; }
.ac-header { align-items: center; background: var(--ac-dark); color: #fff; display: flex; justify-content: space-between; padding: 16px 22px; }
.ac-brand { align-items: center; display: flex; gap: 12px; }
.ac-brand img { background: #fff; border-radius: 50%; height: 48px; object-fit: cover; width: 48px; }
.ac-brand strong, .ac-brand span { display: block; }
.ac-brand strong { font-size: 14px; line-height: 1.15; }
.ac-brand span { color: #d8d1d3; font-size: 10px; margin-top: 4px; }
.ac-logout { border: 1px solid #ffffff44; border-radius: 7px; color: #fff !important; font-size: 11px; padding: 8px 11px; text-decoration: none !important; }
.ac-start, .ac-result { padding: 48px 54px; }
.ac-kicker { color: var(--ac-red); font-size: 10px; font-weight: 800; letter-spacing: 1.6px; }
.ac-start h2, .ac-result h2, .ac-question h2 { font-family: Georgia, "Times New Roman", serif; }
.ac-start h2 { font-size: 34px; margin: 9px 0; }
.ac-start > p { color: var(--ac-muted); font-size: 13px; }
.ac-name { display: block; font-size: 11px; font-weight: 700; margin: 28px 0 20px; max-width: 420px; }
.ac-name input { border: 1px solid var(--ac-line); border-radius: 7px; display: block; font: inherit; margin-top: 7px; padding: 12px; width: 100%; }
.ac-name input:focus { border-color: var(--ac-red); box-shadow: 0 0 0 3px var(--ac-red-soft); outline: 0; }
.ac-name input.ac-error { border-color: var(--ac-red); }
.ac-test-grid { display: grid; gap: 12px; grid-template-columns: repeat(3, 1fr); }
.ac-test-card { align-items: flex-start; background: #fff; border: 1px solid var(--ac-line); border-radius: 10px; color: var(--ac-dark); display: flex; flex-direction: column; padding: 20px; text-align: left; transition: .18s ease; }
.ac-test-card:hover { border-color: var(--ac-red); box-shadow: 0 8px 28px rgba(196,20,66,.1); transform: translateY(-2px); }
.ac-test-card > span { background: var(--ac-red-soft); border-radius: 8px; color: var(--ac-red); display: grid; font-weight: 800; height: 38px; place-items: center; width: 38px; }
.ac-test-card strong { font-size: 14px; margin: 17px 0 5px; }
.ac-test-card small { color: var(--ac-muted); font-size: 10px; }
.ac-disclaimer { color: #948c8f !important; font-size: 9px !important; margin: 24px 0 0; }
.ac-meta, .ac-actions { align-items: center; display: flex; justify-content: space-between; padding: 16px 24px; }
.ac-meta { color: var(--ac-muted); font-size: 10px; }
.ac-meta span:first-child { color: var(--ac-red); font-weight: 800; letter-spacing: 1px; }
.ac-progress { background: #eee9ea; height: 4px; }
.ac-progress span { background: var(--ac-red); display: block; height: 100%; transition: width .2s ease; }
.ac-question-body { min-height: 430px; padding: 52px 70px; }
.ac-question-body > small { color: var(--ac-red); font-size: 10px; font-weight: 700; }
.ac-question-body h2 { font-size: 28px; line-height: 1.3; margin: 12px 0 32px; }
.ac-options { display: grid; gap: 10px; grid-template-columns: 1fr 1fr; }
.ac-options button { background: #fff; border: 1px solid var(--ac-line); border-radius: 9px; color: var(--ac-dark); padding: 14px; text-align: left; }
.ac-options button:hover, .ac-options button.is-selected { background: var(--ac-red-soft); border-color: var(--ac-red); }
.ac-options button > span { background: #f0edee; border-radius: 6px; display: inline-grid; height: 26px; margin-right: 10px; place-items: center; width: 26px; }
.ac-options button.is-selected > span { background: var(--ac-red); color: #fff; }
.ac-actions { border-top: 1px solid var(--ac-line); gap: 9px; justify-content: flex-end; }
.ac-button { border: 1px solid var(--ac-line); border-radius: 7px; font-weight: 700; padding: 11px 18px; }
.ac-primary { background: var(--ac-red); border-color: var(--ac-red); color: #fff; }
.ac-secondary { background: #fff; color: var(--ac-dark); }
.ac-button:disabled { cursor: not-allowed; opacity: .45; }
.ac-result-head { align-items: flex-start; border-bottom: 1px solid var(--ac-line); display: flex; justify-content: space-between; padding-bottom: 24px; }
.ac-result-head h2 { font-size: 29px; margin: 5px 0; }
.ac-result-head p { color: var(--ac-muted); font-size: 11px; margin: 0; }
.ac-score { text-align: right; }
.ac-score strong, .ac-score span { display: block; }
.ac-score strong { color: var(--ac-red); font-family: Georgia, serif; font-size: 44px; line-height: 1; }
.ac-score span { color: var(--ac-muted); font-size: 10px; margin-top: 6px; }
.ac-verdict { background: #faf7f8; border-radius: 9px; margin: 20px 0; padding: 18px; }
.ac-verdict strong { font-size: 16px; }
.ac-verdict p { color: var(--ac-muted); font-size: 10px; margin: 5px 0 0; }
.ac-review h3 { font-size: 14px; margin: 24px 0 10px; }
.ac-review details { border-top: 1px solid var(--ac-line); padding: 11px 0; }
.ac-review summary { cursor: pointer; font-size: 11px; font-weight: 700; list-style: none; }
.ac-review summary > span { border-radius: 50%; display: inline-grid; height: 22px; margin-right: 9px; place-items: center; width: 22px; }
.ac-review .is-correct { background: #eaf5ee; color: var(--ac-green); }
.ac-review .is-wrong { background: var(--ac-red-soft); color: var(--ac-red); }
.ac-review details p { background: #fafafa; color: var(--ac-muted); font-size: 10px; line-height: 1.6; margin: 10px 0 0; padding: 12px 14px; }
@media (max-width: 700px) {
  .ac-start, .ac-result { padding: 32px 22px; }
  .ac-test-grid, .ac-options { grid-template-columns: 1fr; }
  .ac-question-body { min-height: 0; padding: 36px 22px 46px; }
  .ac-question-body h2 { font-size: 23px; }
  .ac-result-head { gap: 20px; }
  .ac-score strong { font-size: 34px; }
}

.ac-public-teaser {
  --ac-red: #c41442;
  --ac-red-soft: #fbe8ed;
  --ac-dark: #2a2023;
  --ac-line: #e7e2e3;
  --ac-muted: #746d70;
  color: var(--ac-dark);
  font-family: Arial, Helvetica, sans-serif;
  margin: 28px auto 50px;
  max-width: 980px;
}
.ac-public-teaser * { box-sizing: border-box; }
.ac-public-hero {
  align-items: center;
  background: #fff;
  border: 1px solid var(--ac-line);
  border-radius: 14px;
  display: grid;
  gap: 34px;
  grid-template-columns: minmax(220px, 38%) 1fr;
  overflow: hidden;
  padding: 34px;
}
.ac-public-hero img {
  height: auto;
  max-height: 310px;
  object-fit: contain;
  width: 100%;
}
.ac-public-kicker {
  color: var(--ac-red);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 1.5px;
}
.ac-public-hero h1 {
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(30px, 4vw, 45px);
  line-height: 1.08;
  margin: 12px 0 18px;
}
.ac-public-hero p, .ac-access-box p {
  color: var(--ac-muted);
  line-height: 1.65;
  margin: 0;
}
.ac-public-tests {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(3, 1fr);
  margin: 20px 0;
}
.ac-public-tests article {
  background: #fff;
  border: 1px solid var(--ac-line);
  border-radius: 11px;
  padding: 23px;
}
.ac-public-tests article > span {
  color: var(--ac-red);
  font-size: 11px;
  font-weight: 800;
}
.ac-public-tests h2 {
  font-size: 18px;
  margin: 14px 0 8px;
}
.ac-public-tests p {
  color: var(--ac-muted);
  font-size: 13px;
  line-height: 1.5;
  margin: 0;
}
.ac-public-contact {
  background: var(--ac-red-soft);
  border-radius: 9px;
  line-height: 1.55;
  margin: 0 0 20px;
  padding: 17px 20px;
}
.ac-public-contact a { color: var(--ac-red); font-weight: 700; }
.ac-access-box {
  align-items: end;
  background: var(--ac-dark);
  border-radius: 14px;
  color: #fff;
  display: grid;
  gap: 35px;
  grid-template-columns: 1fr 1fr;
  padding: 32px;
}
.ac-access-box h2 {
  color: #fff;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 27px;
  margin: 10px 0;
}
.ac-access-box p { color: #d8d1d3; }
.ac-password-form label {
  color: #fff;
  display: block;
  font-size: 12px;
  font-weight: 700;
  margin-bottom: 8px;
}
.ac-password-row { display: flex; gap: 8px; }
.ac-password-row input[type="password"] {
  border: 1px solid #ffffff55;
  border-radius: 7px;
  flex: 1;
  min-width: 120px;
  padding: 12px;
}
.ac-password-row input[type="submit"] {
  background: var(--ac-red);
  border: 0;
  border-radius: 7px;
  color: #fff;
  cursor: pointer;
  font-weight: 700;
  padding: 12px 17px;
}
@media (max-width: 700px) {
  .ac-public-hero, .ac-access-box { grid-template-columns: 1fr; }
  .ac-public-hero { padding: 24px; }
  .ac-public-hero img { max-height: 240px; }
  .ac-public-tests { grid-template-columns: 1fr; }
  .ac-access-box { padding: 25px; }
  .ac-password-row { align-items: stretch; flex-direction: column; }
}
