/* Local design review layer. The source test packages remain untouched. */
.design-course,
.design-leader {
  --ink: #101c22;
  --yellow: #c69622;
  --paper: #f4f2ec;
  --white: #fffdf8;
  --line: #d8d4c9;
  --purple: #6652bd;
  background: var(--paper);
  color: var(--ink);
}

.design-course .topbar,
.design-leader .topbar {
  width: 100%;
  max-width: none;
  min-height: 78px;
  height: auto;
  margin: 0;
  padding: 10px max(24px, calc((100vw - 1200px)/2));
  border: 0;
  border-bottom: 3px solid #c69622;
  border-radius: 0;
  background: var(--ink);
  color: #fff;
  display: flex;
  align-items: center;
  gap: 28px;
}
.design-leader header { padding: 0; }
.design-course .topbar .brand,
.design-leader .topbar .brand {
  display: block;
  position: relative;
  flex: 0 0 95px;
  width: 95px;
  height: 47px;
  overflow: hidden;
  margin: 0;
}
.design-course .topbar .logo-crop,
.design-leader .topbar .logo-crop { display: block; position: relative; width: 100%; height: 100%; overflow: hidden; margin-top: 0; }
.design-course .topbar .brand img,
.design-leader .topbar .brand img {
  display: block;
  position: absolute;
  max-width: none;
  width: 141.1px;
  height: auto;
  left: -23.1px;
  top: -47.25px;
}
.test-nav { display: flex; align-items: center; gap: 28px; margin-left: auto; }
.test-nav a { padding: 8px 0; color: #f4f2ec; font-size: 14px; font-weight: 600; text-decoration: none; border-bottom: 2px solid transparent; }
.test-nav a:hover, .test-nav a:focus-visible { border-bottom-color: #e5b743; }
.design-course .edition,
.design-leader .header-count { margin: 0; padding: 0; border: 0; border-radius: 0; background: none; color: #dfc27b; font-size: 12px; font-weight: 700; letter-spacing: .03em; }
.design-leader .header-identity { flex: 0 0 auto; }
.design-leader .header-divider { height: 30px; }
.design-leader .product { font-size: 15px; font-weight: 650; }

.design-course main,
.design-leader .page { background: var(--paper); }
.design-course .intro-editorial { min-height: calc(100svh - 150px); gap: clamp(35px, 5vw, 75px); }
.design-course .intro-kicker { color: #67655f; }
.design-course .intro-editorial h1 { gap: 0; font-size: clamp(42px, 5vw, 68px); line-height: 1.08; }
.design-course .intro-marker { padding: 0; color: var(--ink); white-space: normal; }
.design-course .intro-marker::before { display: none; }
.design-course .intro-lead { color: #4c5354; font-size: clamp(16px, 1.4vw, 19px); font-weight: 450; }
.design-course .intro-editorial .intro-duration { color: #67655f; font-weight: 600; }
.design-course .intro-visual { margin: 0; padding: 9px; border-radius: 7px; transform: none; box-shadow: none; background: var(--ink); }
.design-course .intro-visual img { aspect-ratio: 16/9; object-fit: cover; border-radius: 3px; }
.design-course .intro-visual figcaption { color: #f1eee7; }
.design-course .intro-visual figcaption span { color: #dfc27b; }

.design-course .stage,
.design-leader .question-main,
.design-leader .review,
.design-leader .workspace > .journey { border: 1px solid var(--line); border-radius: 8px; background: var(--white); box-shadow: none; }
.design-course .stage { padding: 38px 42px; }
.design-course .stage-meta { display: flex; justify-content: flex-end; gap: 13px; margin-bottom: 16px; }
.design-course .stage-meta .question-number { color: #4c5559; font-family: Inter, Arial, sans-serif; font-size: 12px; font-weight: 800; line-height: 1; letter-spacing: .04em; white-space: nowrap; }
.design-course .compact-heading .nextbar .primary { display: none; }
.design-course .compact-heading.can-continue:not(.auto-advancing) .nextbar .primary,
.design-course .compact-heading.has-error .nextbar .primary { display: inline-flex; }
.design-course .compact-heading.auto-advancing { animation: course-advance .3s ease-in .12s both; pointer-events: none; }
@keyframes course-advance { from { opacity: 1; transform: translateX(0); } to { opacity: .7; transform: translateX(-8px); } }
.design-course .question-top h1 { margin: 4px 0 13px; font-size: clamp(29px, 3vw, 40px); line-height: 1.12; }
.design-course .scene-text { margin: 0 0 18px; padding: 16px 18px; font-size: 16px; line-height: 1.48; background: transparent; border-left: 2px solid #c69622; }
.design-course .prompt { margin: 16px 0 15px; }
.design-course .character-card img { height: 190px; aspect-ratio: auto; object-fit: cover; }
.design-course .character-card { min-height: 275px; }
.design-course .primary,
.design-leader .primary,
.design-course .choice,
.design-leader .choice { border-radius: 5px; box-shadow: none; }
.design-course .primary,
.design-course .intro-editorial .primary { min-height: 48px; padding: 11px 18px; background: var(--ink); color: #fff; border: 1px solid var(--ink); }
.design-course .primary:hover:not(:disabled) { background: #27383f; border-color: #27383f; }
.design-course .choice,
.design-leader .choice { border: 1px solid #d0d1cc; background: var(--white); }
.design-course .choice:hover,
.design-leader .choice:hover { background: #f7f4eb; border-color: #8b8b82; transform: none; }
.design-course .choice.selected,
.design-leader .choice:has(input:checked) { background: #ede9db; border-color: var(--ink); }
.design-course .letter { border-radius: 3px; }
.design-course .selected .letter { background: var(--ink); border-color: var(--ink); }
.design-course .progress i,
.design-leader .page-dot::after { border-radius: 1px; }
.design-course .progress i.done { background: var(--ink); }
.design-course .scene-image,
.design-course .painting,
.design-course .character-card,
.design-course .result-card { border-radius: 6px; }
.design-course .result-card,
.design-course .result-card.surprise { border: 1px solid var(--line); background: var(--white); box-shadow: none; }
.design-course .result-shortcuts > a { border: 1px solid var(--line); border-radius: 5px; background: var(--white); }
.design-course .result-shortcuts > a:nth-child(2) { background: #f7f4eb; }
.design-course .result-shortcuts span { color: #67655f; }
.design-course .result-header p { color: #4c5354; }
.design-course dialog,
.design-leader dialog { border-radius: 7px; }

.design-leader .page { padding-top: 42px; }
.design-leader .question-main { padding: 31px 35px 17px; color: var(--ink); }
.design-leader .question-main .page-title,
.design-leader .question-main .scenario { color: var(--ink); }
.design-leader .question-main .eyebrow { color: #6652bd; }
.design-leader .question-main fieldset { border-color: #d8d4c9; }
.design-leader .q-number,
.design-leader .letter { border-radius: 3px; }
.design-leader .back#back,
.design-leader .primary#next,
.design-leader .primary#next.finish { width: auto; min-width: 50px; height: 50px; border-radius: 5px; }
.design-leader .result-card { padding: 0; border: 1px solid var(--line); border-radius: 7px; background: var(--white); box-shadow: none; }
.design-leader .result-content { border-radius: 5px; }
.design-leader .result-content img { filter: saturate(.75); }
.design-leader .result-nav { padding: 0; border-radius: 0; background: transparent; box-shadow: none; }
.design-leader .result-tab { border: 1px solid var(--line); border-radius: 5px; background: var(--white); font-weight: 650; }
.design-leader .result-tab[aria-current=page] { border-color: var(--ink); background: #ede9db; }
.design-leader .result-tab span { border-radius: 3px; }
.design-leader .result-header button { border-radius: 4px; background: var(--white); }

.design-leader .topbar { border-bottom-color: #ffbc0b; }

@media (max-width: 700px) {
  .design-course .topbar,
  .design-leader .topbar { min-height: 68px; padding: 10px 16px; gap: 12px; }
  .design-course .topbar .brand,
  .design-leader .topbar .brand { flex-basis: 78px; width: 78px; height: 40px; }
  .design-course .topbar .brand img,
  .design-leader .topbar .brand img { width: 116px; left: -19px; top: -39px; }
  .test-nav { gap: 12px; }
  .test-nav a { font-size: 12px; }
  .test-nav a:first-child { display: none; }
  .design-course .edition,
  .design-leader .header-count { display: none; }
  .design-leader .header-divider { height: 25px; }
  .design-leader .product { font-size: 13px; }
  .design-course .intro-editorial { min-height: 0; gap: 26px; }
  .design-course .intro-editorial h1 { font-size: clamp(38px, 9vw, 52px); }
  .design-course .intro-visual { max-width: none; }
  .design-course .intro-visual img { aspect-ratio: 16/9; }
  .design-course .stage { padding: 26px 20px; }
  .design-course .stage-meta { display: flex; margin-bottom: 18px; }
  .design-course .compact-heading .question-top h1 { display: block; margin: 0 0 18px; font-size: clamp(28px, 7vw, 34px); line-height: 1.13; }
  .design-course .compact-heading .stage-meta .question-number { display: inline; margin: 0; color: #4c5559; font-size: 11px; font-weight: 800; letter-spacing: .04em; }
  .design-course .scene-text { padding: 12px 0 12px 15px; font-size: 15px; line-height: 1.48; }
  .design-course main { padding-bottom: 105px; }
  .design-course .nextbar { position: fixed; z-index: 5; inset: auto 0 0; width: 100%; margin: 0; padding: 12px 17px calc(12px + env(safe-area-inset-bottom)); border-top: 1px solid #d8d4c9; background: #fffdf8; box-shadow: 0 -6px 16px #101c2214; }
  .design-course .nextbar .back,
  .design-course .nextbar .primary { min-height: 46px; border-radius: 4px; }
  .design-course .character-card { min-height: 0; }
  .design-course .character-card img { height: 120px; }
  .design-leader .page { padding: 24px 13px 38px; }
  .design-leader .question-main { min-height: 0; padding: 24px 18px 25px; }
  .design-leader .question-main .journey { margin-bottom: 18px; }
  .design-leader .question-main .page-title { font-size: 27px; }
  .design-leader .question-main fieldset { padding: 0; border: 0; }
  .design-leader .question-main legend { align-items: flex-start; margin-bottom: 18px; }
  .design-leader .question-main .scenario { font-size: 19px; line-height: 1.4; }
  .design-leader .choice { min-height: 60px; padding: 12px 13px; }
  .design-leader .choice:has(input:checked) { padding: 12px 13px; }
  .design-leader .page-dots { display: none; }
  .design-leader .bottom-center { max-width: none; }
}
@media (prefers-reduced-motion: reduce) {
  .design-course *, .design-leader * { transition: none !important; animation: none !important; }
}
