/* Five romantic wedding design directions. The guest link is fixed to Vow & Vellum;
   the small selector is enabled only by ?review=1 in index.html. */
.entry-stack { width: min(100%, 445px); }
.hero { position: relative; align-items: center; }
.hero-copy-block, .entry-stack, .portrait-wrap { min-width: 0; }
.season-seal { display: none; }

/* Shared quiz/readability system across all five visual themes. */
html[data-theme] body { transition: background-color .4s ease, color .4s ease; }
html[data-theme] .entry-card,
html[data-theme] .quiz-card { color: var(--ink); border-color: var(--line); background: var(--white); box-shadow: var(--shadow); }
html[data-theme] .entry-heading,
html[data-theme] .question-title,
html[data-theme] .complete-card h2,
html[data-theme] .lock-card h2 { color: var(--ink); }
html[data-theme] .field label,
html[data-theme] .quiz-kicker,
html[data-theme] .question-label { color: var(--olive-dark); }
html[data-theme] .field input { border-color: var(--line); color: var(--ink); background: #fffdf9; }
html[data-theme] .primary-btn,
html[data-theme] .continue-btn { color: #fffdf9; background: var(--olive-dark); box-shadow: 0 8px 20px color-mix(in srgb, var(--olive-dark) 18%, transparent); }
html[data-theme] .primary-btn:hover,
html[data-theme] .continue-btn:hover:not(:disabled) { filter: brightness(.92); }
html[data-theme] .winner-note { border-left-color: var(--gold); color: var(--ink); background: color-mix(in srgb, var(--white) 82%, transparent); }
html[data-theme] .portrait-frame { border-color: var(--gold); background: var(--white); box-shadow: var(--shadow); }
html[data-theme] .portrait-caption { color: #fffaf4; background: color-mix(in srgb, var(--ink) 78%, transparent); }
html[data-theme] .answer-option { border-color: var(--line); color: var(--ink); background: var(--white); }
html[data-theme] .answer-option:hover { border-color: var(--olive); }
html[data-theme] .answer-option.selected { border-color: var(--olive); color: var(--ink); background: color-mix(in srgb, var(--olive) 15%, var(--white)); }
html[data-theme] .answer-option.selected .answer-letter { border-color: var(--olive-dark); color: #fffdf9; background: var(--olive-dark); }
html[data-theme] .progress-track { background: var(--paper-deep); }
html[data-theme] .progress-fill { background: linear-gradient(90deg, var(--rose), var(--gold)); }
html[data-theme] .theme-review-select { color: var(--ink); border-color: var(--line); background: var(--white); }
html[data-theme] .complete-flower { border-color: var(--gold); color: var(--rose); background: var(--white); }
html[data-theme] .lock-flower { color: var(--rose); }
html[data-theme] .footer { border-color: var(--line); color: var(--muted); }
html[data-theme] .monogram-mark { color: var(--olive-dark); border-color: var(--gold); }

/* 01 · Vow & Vellum — formal printed invitation; Cormorant Garamond + Inter. */
html[data-theme="vow"] {
  --paper: #f7f2e8; --paper-deep: #eae0d0; --ink: #26382f; --muted: #6d756d;
  --olive: #85937c; --olive-dark: #3e5749; --gold: #b69763; --rose: #b86f70;
  --line: rgba(62,87,73,.2); --white: #fffdf8; --shadow: 0 19px 54px rgba(49,61,49,.12);
  --serif: 'Cormorant Garamond', Georgia, serif; --sans: 'Inter', Arial, sans-serif;
}
html[data-theme="vow"] body {
  background: radial-gradient(ellipse at 88% 9%, rgba(185,111,112,.11), transparent 25rem),
              radial-gradient(ellipse at 8% 82%, rgba(133,147,124,.17), transparent 27rem), var(--paper);
}
html[data-theme="vow"] .topbar { border-bottom: 1px solid var(--line); }
html[data-theme="vow"] .hero {
  grid-template-columns: minmax(0,1fr) minmax(290px,.93fr);
  column-gap: clamp(35px,7vw,92px); row-gap: 12px; padding-top: clamp(44px,6vw,76px);
}
html[data-theme="vow"] .hero-copy-block { grid-column: 1; grid-row: 1; align-self: end; }
html[data-theme="vow"] .entry-stack { grid-column: 1; grid-row: 2; align-self: start; width: min(100%,460px); }
html[data-theme="vow"] .portrait-wrap { grid-column: 2; grid-row: 1 / span 2; width: min(100%,400px); }
html[data-theme="vow"] .hero-copy-block::before {
  content: 'A WEDDING INVITATION'; display: inline-block; margin: 0 0 20px; padding: 0 0 8px;
  border-bottom: 1px solid var(--gold); color: var(--olive-dark); font: 600 10px var(--sans); letter-spacing: .22em;
}
html[data-theme="vow"] h1 { font-size: clamp(68px,7.6vw,96px); line-height: .86; letter-spacing: -.055em; }
html[data-theme="vow"] h1 .amp { color: var(--rose); }
html[data-theme="vow"] .hero-subtitle { margin-top: 17px; color: var(--olive-dark); }
html[data-theme="vow"] .portrait-wrap { padding: 11px; transform: rotate(1deg); }
html[data-theme="vow"] .portrait-frame { aspect-ratio: .79; padding: 7px; border: 1px solid var(--gold); border-radius: 47% 47% 4px 4px; }
html[data-theme="vow"] .portrait-frame::before { inset: 5px; border: 1px solid color-mix(in srgb, var(--gold) 65%, transparent); border-radius: 45% 45% 2px 2px; }
html[data-theme="vow"] .portrait-frame img { border-radius: 45% 45% 2px 2px; }
html[data-theme="vow"] .portrait-caption { right: 20px; bottom: 19px; left: 20px; border: 1px solid rgba(255,255,255,.56); border-radius: 2px; text-align: center; }
html[data-theme="vow"] .entry-card { border-radius: 2px; box-shadow: 5px 6px 0 rgba(133,147,124,.18); }
html[data-theme="vow"] .primary-btn, html[data-theme="vow"] .continue-btn { background: #3e5749; }
html[data-theme="vow"] .winner-note { border-left: 2px solid var(--gold); }

/* 02 · Garden Vows — blush garden-party florals; Playfair Display + DM Sans. */
html[data-theme="garden"] {
  --paper: #fbf3f1; --paper-deep: #f0dfe0; --ink: #47343b; --muted: #786a70;
  --olive: #94a38a; --olive-dark: #76515e; --gold: #c69d68; --rose: #bf7888;
  --line: rgba(118,81,94,.22); --white: #fffaf8; --shadow: 0 18px 48px rgba(118,81,94,.12);
  --serif: 'Playfair Display', Georgia, serif; --sans: 'DM Sans', Arial, sans-serif;
}
html[data-theme="garden"] body {
  background: radial-gradient(circle at 5% 16%, rgba(225,157,171,.2), transparent 23rem),
              radial-gradient(circle at 94% 72%, rgba(147,169,133,.2), transparent 25rem),
              radial-gradient(circle at 55% 0%, rgba(255,255,255,.82), transparent 36rem), var(--paper);
}
html[data-theme="garden"] .hero { grid-template-columns: minmax(0,1fr) minmax(0,1fr); column-gap: clamp(25px,5vw,66px); row-gap: 26px; padding-top: 50px; }
html[data-theme="garden"] .hero-copy-block { grid-column: 1 / -1; grid-row: 1; justify-self: center; max-width: 780px; text-align: center; }
html[data-theme="garden"] .portrait-wrap { grid-column: 1; grid-row: 2; width: min(100%,380px); }
html[data-theme="garden"] .entry-stack { grid-column: 2; grid-row: 2; align-self: center; width: min(100%,445px); }
html[data-theme="garden"] .hero-copy-block::before {
  content: 'GARDEN VOWS · WEDDING EDITION'; display: block; margin: 0 0 13px;
  color: var(--rose); font: 700 10px var(--sans); letter-spacing: .2em;
}
html[data-theme="garden"] .hero-copy-block::after { content: '✿  ❀  ✿'; display: block; margin: 12px auto 0; color: var(--rose); font: 19px var(--serif); letter-spacing: .35em; }
html[data-theme="garden"] h1 { font-size: clamp(58px,7vw,84px); line-height: .91; letter-spacing: -.04em; }
html[data-theme="garden"] h1 .amp { color: var(--rose); }
html[data-theme="garden"] .hero-subtitle { margin: 14px auto 0; color: var(--olive-dark); }
html[data-theme="garden"] .portrait-wrap { padding: 12px; transform: rotate(-1.2deg); }
html[data-theme="garden"] .portrait-frame { aspect-ratio: .82; padding: 8px; border-radius: 48% 48% 20px 20px; }
html[data-theme="garden"] .portrait-frame::before { inset: 6px; border: 1px solid rgba(191,120,136,.52); border-radius: 46% 46% 14px 14px; }
html[data-theme="garden"] .portrait-frame img { border-radius: 44% 44% 16px 16px; }
html[data-theme="garden"] .portrait-caption { right: 20px; bottom: 21px; left: 20px; border-radius: 16px; background: rgba(88,67,73,.74); }
html[data-theme="garden"] .entry-card { border: 1px solid rgba(191,120,136,.34); border-radius: 24px 4px 24px 4px; }
html[data-theme="garden"] .primary-btn, html[data-theme="garden"] .continue-btn { background: #76515e; }
html[data-theme="garden"] .winner-note { border-left: 3px solid var(--rose); border-radius: 0 9px 9px 0; }
html[data-theme="garden"] .answer-option.selected { background: #f7e7e8; }

/* 03 · Notes for Two — a keepsake love letter with a wax-heart seal; Allura + Libre Baskerville + Source Sans 3. */
html[data-theme="letter"] {
  --paper: #f4ebe2; --paper-deep: #e8d8ce; --ink: #49323a; --muted: #7d6b70;
  --olive: #a56c71; --olive-dark: #71424e; --gold: #c2a06d; --rose: #b86e78;
  --line: rgba(113,66,78,.23); --white: #fffaf6; --shadow: 0 20px 55px rgba(91,57,64,.12);
  --serif: 'Libre Baskerville', Georgia, serif; --sans: 'Source Sans 3', Arial, sans-serif;
}
html[data-theme="letter"] body {
  background: radial-gradient(ellipse at 92% 17%, rgba(184,110,120,.16), transparent 25rem),
              repeating-linear-gradient(0deg, rgba(113,66,78,.025) 0, rgba(113,66,78,.025) 1px, transparent 1px, transparent 7px), var(--paper);
}
html[data-theme="letter"] .hero {
  grid-template-columns: minmax(0,1fr) minmax(280px,.9fr); column-gap: clamp(28px,5vw,68px); row-gap: 10px;
  margin-top: 22px; padding: clamp(28px,4vw,50px); border: 1px solid rgba(113,66,78,.3);
  background: linear-gradient(135deg, rgba(255,250,246,.72), rgba(244,235,226,.82)); box-shadow: var(--shadow);
}
html[data-theme="letter"] .hero::after { content: '♡'; position: absolute; top: 14px; right: 22px; color: var(--rose); font: 27px 'Libre Baskerville',serif; opacity: .75; }
html[data-theme="letter"] .hero-copy-block { grid-column: 1; grid-row: 1; align-self: end; }
html[data-theme="letter"] .entry-stack { grid-column: 1; grid-row: 2; width: min(100%,460px); }
html[data-theme="letter"] .portrait-wrap { grid-column: 2; grid-row: 1 / span 2; width: min(100%,400px); transform: rotate(1.5deg); }
html[data-theme="letter"] .hero-copy-block::before { content: 'A LOVE LETTER FOR THE WEDDING'; display: block; margin-bottom: 4px; color: var(--rose); font: italic 12px var(--serif); letter-spacing: .12em; }
html[data-theme="letter"] h1 { font: 400 clamp(80px,9vw,112px)/.82 'Allura', cursive; letter-spacing: 0; }
html[data-theme="letter"] h1 .amp { color: var(--rose); font-size: .82em; }
html[data-theme="letter"] .hero-subtitle { margin-top: 18px; font: italic 400 clamp(17px,2vw,21px)/1.6 var(--serif); }
html[data-theme="letter"] .entry-card { position: relative; overflow: visible; border: 1px dashed rgba(113,66,78,.42); border-radius: 1px; background: repeating-linear-gradient(180deg, #fffaf6 0, #fffaf6 35px, #f1e6df 36px, #fffaf6 37px); }
html[data-theme="letter"] .entry-card::before { content: '♥'; position: absolute; top: -19px; right: 24px; display: grid; width: 38px; height: 38px; place-items: center; border: 2px solid rgba(255,250,246,.8); border-radius: 50%; color: #fff5ef; background: #a95462; box-shadow: 0 3px 9px rgba(73,50,58,.18); font: 16px Georgia,serif; }
html[data-theme="letter"] .portrait-frame { aspect-ratio: .8; padding: 8px 8px 39px; border: 1px solid var(--gold); border-radius: 2px; background: #fffaf6; box-shadow: 0 16px 32px rgba(73,50,58,.15); }
html[data-theme="letter"] .portrait-frame::before { inset: 7px 7px 38px; border: 1px solid rgba(194,160,109,.42); border-radius: 1px; }
html[data-theme="letter"] .portrait-frame img { border-radius: 1px; }
html[data-theme="letter"] .portrait-caption { right: 15px; bottom: 12px; left: 15px; padding: 4px; border: 0; color: var(--ink); background: transparent; backdrop-filter: none; }
html[data-theme="letter"] .portrait-caption span:first-child { font: italic 15px var(--serif); }
html[data-theme="letter"] .portrait-caption span:last-child { color: var(--rose); }
html[data-theme="letter"] .primary-btn, html[data-theme="letter"] .continue-btn { background: #71424e; }
html[data-theme="letter"] .winner-note { border-left: 2px solid var(--rose); font-family: var(--serif); }

/* 04 · Afterglow Ballroom — candlelit reception-night elegance; Cinzel + Manrope. */
html[data-theme="ballroom"] {
  --paper: #171b2b; --paper-deep: #2b3042; --ink: #f7f0e5; --muted: #c7c1bd;
  --olive: #c5a86f; --olive-dark: #ddc58f; --gold: #e0c27c; --rose: #cf9aaa;
  --line: rgba(224,194,124,.3); --white: #24293a; --shadow: 0 24px 66px rgba(0,0,0,.32);
  --serif: 'Cinzel', Georgia, serif; --sans: 'Manrope', Arial, sans-serif;
}
html[data-theme="ballroom"] body {
  background: radial-gradient(ellipse at 50% 4%, rgba(220,185,112,.19), transparent 26rem),
              radial-gradient(ellipse at 8% 70%, rgba(118,83,120,.21), transparent 24rem), var(--paper);
}
html[data-theme="ballroom"] .topbar { border-bottom: 1px solid var(--line); }
html[data-theme="ballroom"] .monogram, html[data-theme="ballroom"] .monogram-copy { color: var(--ink); }
html[data-theme="ballroom"] .hero {
  grid-template-columns: minmax(0,1fr) minmax(0,1fr); column-gap: clamp(24px,4vw,55px); row-gap: 26px;
  margin: 28px 0 55px; padding: clamp(26px,4vw,48px); border: 1px solid var(--gold);
  background: linear-gradient(145deg, rgba(39,44,63,.97), rgba(27,31,47,.97)); box-shadow: 0 0 0 5px rgba(224,194,124,.08), var(--shadow);
}
html[data-theme="ballroom"] .hero-copy-block { grid-column: 1 / -1; grid-row: 1; justify-self: center; max-width: 850px; text-align: center; }
html[data-theme="ballroom"] .entry-stack { grid-column: 1; grid-row: 2; align-self: center; width: min(100%,440px); }
html[data-theme="ballroom"] .portrait-wrap { grid-column: 2; grid-row: 2; width: min(100%,360px); }
html[data-theme="ballroom"] .hero-copy-block::before { content: 'YONG KIAT & ROSA · WEDDING RECEPTION'; display: block; margin: 0 0 16px; color: var(--gold); font: 600 10px var(--sans); letter-spacing: .24em; }
html[data-theme="ballroom"] .hero-copy-block::after { content: '✦  ♡  ✦'; display: block; margin-top: 10px; color: var(--gold); font: 15px var(--serif); letter-spacing: .5em; }
html[data-theme="ballroom"] h1 { font: 500 clamp(46px,6.2vw,76px)/1.04 var(--serif); letter-spacing: .025em; }
html[data-theme="ballroom"] h1 .amp { color: var(--gold); font-size: .86em; }
html[data-theme="ballroom"] .hero-subtitle { margin: 14px auto 0; color: #f0dfbf; font: italic 500 clamp(18px,2vw,22px)/1.5 Georgia,serif; }
html[data-theme="ballroom"] .portrait-frame { aspect-ratio: .88; padding: 8px; border: 2px solid var(--gold); border-radius: 48% 48% 4px 4px; background: #1b2030; }
html[data-theme="ballroom"] .portrait-frame::before { inset: 14px; border: 1px solid rgba(224,194,124,.5); border-radius: 45% 45% 2px 2px; }
html[data-theme="ballroom"] .portrait-frame img { border-radius: 44% 44% 2px 2px; }
html[data-theme="ballroom"] .portrait-caption { right: 21px; bottom: 21px; left: 21px; border: 1px solid rgba(224,194,124,.4); border-radius: 4px; color: var(--ink); background: rgba(27,31,47,.88); }
html[data-theme="ballroom"] .entry-card { border: 1px solid rgba(224,194,124,.45); border-radius: 9px; background: rgba(255,255,255,.055); }
html[data-theme="ballroom"] .entry-heading { color: var(--ink); }
html[data-theme="ballroom"] .field label { color: #e5d5b2; }
html[data-theme="ballroom"] .field input { color: #302b2d; background: #fffaf2; }
html[data-theme="ballroom"] .entry-note { color: #d1c9bb; }
html[data-theme="ballroom"] .primary-btn, html[data-theme="ballroom"] .continue-btn { color: #1f2230; background: var(--gold); }
html[data-theme="ballroom"] .winner-note { border: 1px solid rgba(224,194,124,.34); border-left: 2px solid var(--gold); color: #f1e7d5; background: rgba(255,255,255,.045); }
html[data-theme="ballroom"] .answer-option { color: var(--ink); background: rgba(255,255,255,.055); }
html[data-theme="ballroom"] .answer-option.selected { background: rgba(224,194,124,.18); }
html[data-theme="ballroom"] .answer-option.selected .answer-letter { color: #1f2230; background: var(--gold); }
html[data-theme="ballroom"] .complete-card, html[data-theme="ballroom"] .lock-card { color: var(--ink); }
html[data-theme="ballroom"] .theme-review-select { color: var(--ink); background: #24293a; }

/* 05 · Chapel Romance — stained-glass arch, candlelight and fine filigree; Bodoni Moda + Lato. */
html[data-theme="chapel"] {
  --paper: #f3ece2; --paper-deep: #e6d7c7; --ink: #3d2d35; --muted: #75666b;
  --olive: #71877c; --olive-dark: #654451; --gold: #b28c58; --rose: #b66f7d;
  --line: rgba(101,68,81,.23); --white: #fffaf2; --shadow: 0 20px 54px rgba(61,45,53,.13);
  --serif: 'Bodoni Moda', Georgia, serif; --sans: 'Lato', Arial, sans-serif;
}
html[data-theme="chapel"] body {
  background: radial-gradient(ellipse at 16% 12%, rgba(177,137,90,.15), transparent 22rem),
              radial-gradient(ellipse at 85% 45%, rgba(120,151,137,.16), transparent 26rem),
              linear-gradient(140deg, #f3ece2 0 38%, #efe5dc 38% 62%, #f3ece2 62%);
}
html[data-theme="chapel"] .hero {
  grid-template-columns: minmax(0,.9fr) minmax(230px,.82fr) minmax(0,1.1fr);
  column-gap: clamp(16px,2.2vw,30px); row-gap: 10px; padding: clamp(34px,4vw,54px) 1.4%;
}
html[data-theme="chapel"] .hero-copy-block { grid-column: 1; grid-row: 1; align-self: end; }
html[data-theme="chapel"] .portrait-wrap { grid-column: 2; grid-row: 1 / span 2; width: min(100%,290px); }
html[data-theme="chapel"] .entry-stack { grid-column: 3; grid-row: 1 / span 2; align-self: center; width: min(100%,445px); }
html[data-theme="chapel"] .hero-copy-block::before { content: 'A CHAPEL WEDDING'; display: block; margin-bottom: 16px; color: var(--olive-dark); font: 700 10px var(--sans); letter-spacing: .2em; }
html[data-theme="chapel"] h1 { font: 500 clamp(49px,5.8vw,72px)/.91 var(--serif); letter-spacing: -.045em; }
html[data-theme="chapel"] h1 .amp { color: var(--rose); }
html[data-theme="chapel"] .hero-subtitle { margin-top: 17px; color: var(--olive-dark); font: italic 500 clamp(17px,1.8vw,20px)/1.5 Georgia,serif; }
html[data-theme="chapel"] .portrait-frame { aspect-ratio: .72; padding: 7px; border: 3px double var(--gold); border-radius: 50% 50% 4px 4px; background: #eee4d8; }
html[data-theme="chapel"] .portrait-frame::before { inset: 12px; border: 1px solid rgba(182,111,125,.5); border-radius: 46% 46% 2px 2px; }
html[data-theme="chapel"] .portrait-frame img { border-radius: 45% 45% 2px 2px; }
html[data-theme="chapel"] .portrait-caption { right: 18px; bottom: 19px; left: 18px; border: 1px solid rgba(255,250,242,.4); border-radius: 2px; background: rgba(61,45,53,.82); }
html[data-theme="chapel"] .entry-card { border: 1px solid var(--gold); border-radius: 2px; box-shadow: inset 0 0 0 5px rgba(178,140,88,.08), var(--shadow); }
html[data-theme="chapel"] .primary-btn, html[data-theme="chapel"] .continue-btn { background: #654451; }
html[data-theme="chapel"] .winner-note { border-left: 2px solid var(--rose); }

/* Small screens keep the entry action ahead of the replaceable couple photo. */
@media (max-width: 1000px) {
  html[data-theme="chapel"] .hero { grid-template-columns: minmax(0,.95fr) minmax(0,1.05fr); column-gap: 22px; }
  html[data-theme="chapel"] .hero-copy-block { grid-column: 1; grid-row: 1; }
  html[data-theme="chapel"] .entry-stack { grid-column: 1; grid-row: 2; }
  html[data-theme="chapel"] .portrait-wrap { grid-column: 2; grid-row: 1 / span 2; width: min(100%,330px); }
}
@media (max-width: 820px) {
  .page-shell { width: min(100% - 36px, 620px); }
  .topbar { padding-top: 18px; }
  html[data-theme] .hero { grid-template-columns: minmax(0,1fr); gap: 25px; padding: 38px 0 50px; }
  html[data-theme] .hero-copy-block { grid-column: 1; grid-row: 1; justify-self: stretch; text-align: left; }
  html[data-theme] .entry-stack { grid-column: 1; grid-row: 2; justify-self: stretch; width: 100%; }
  html[data-theme] .portrait-wrap { grid-column: 1; grid-row: 3; justify-self: center; width: min(78%,360px); }
  html[data-theme="garden"] .hero-copy-block,
  html[data-theme="ballroom"] .hero-copy-block { text-align: center; }
  html[data-theme="ballroom"] .hero { margin: 18px 0 42px; padding: 27px 22px; }
  html[data-theme="chapel"] .hero { padding-right: 0; padding-left: 0; }
}
@media (max-width: 480px) {
  .page-shell { width: calc(100% - 32px); }
  .topbar { gap: 8px; padding-top: 15px; }
  .monogram { gap: 7px; }
  .monogram-mark { width: 34px; height: 34px; }
  .monogram-copy { font-size: 10px; }
  .theme-review-label { display: none; }
  .theme-review-select { width: 145px; min-height: 33px; padding: 0 7px; font-size: 9px; }
  html[data-theme="vow"] h1 { font-size: clamp(58px,13.5vw,76px); }
  html[data-theme="garden"] h1 { font-size: clamp(48px,11.8vw,66px); }
  html[data-theme="letter"] h1 { font-size: clamp(74px,18vw,94px); }
  html[data-theme="ballroom"] h1 { font-size: clamp(41px,10vw,58px); }
  html[data-theme="chapel"] h1 { font-size: clamp(48px,12vw,63px); }
  html[data-theme="vow"] .hero { padding-top: 31px; }
  html[data-theme="garden"] .hero { padding-top: 34px; }
  html[data-theme="letter"] .hero { margin-top: 12px; padding: 23px 16px 28px; }
  html[data-theme="ballroom"] .hero { padding: 22px 15px; }
  html[data-theme="chapel"] .hero { padding-top: 30px; }
  .entry-card { padding: 19px 16px; }
  .form-row { grid-template-columns: minmax(0,1fr) 90px; gap: 9px; }
  .quiz-stage { min-height: 74vh; padding: 24px 0 48px; }
  .quiz-card { padding: 24px 19px; }
  .question-title { font-size: 31px; }
  .answer-option { min-height: 53px; }
}
@media (max-width: 360px) {
  body.design-review-mode .monogram-copy { display: none; }
  .theme-review-select { width: 150px; }
}
