/* Quiet page chrome; the approved character art supplies the romance detail. */
:root { --ink: #232629; --muted: #67666a; --ease: cubic-bezier(.2,.7,.3,1); }
body { color: var(--ink); background: #fff; }
.site-header { background: #fff; border-bottom: 1px solid #efeeee; }
.brand { color: #232629; letter-spacing: .08em; }
.brand b { padding-left: 10px; margin-left: 8px; border-left: 1px solid #d7cbcf; font-weight: 600; }
.live-brand { text-decoration: none; min-height: 44px; display: flex; align-items: center; }
.local-badge { font-size: 9px; color: #777; margin-left: auto; white-space: nowrap; }
.quiet-link { color: #656166; }
.cta { box-shadow: none; }
.section h2, .live-question h1 { font-family: "Hiragino Mincho ProN", "Yu Mincho", "YuMincho", serif; font-weight: 600; font-feature-settings: "palt" 1; }
.live-question { padding: 30px 22px 40px; }
.live-question .question-progress { margin: 0 0 12px; font-size: 11px; }
.live-question [data-position] { color: var(--rose); font-weight: 700; }
.live-question progress { display: block; width: 100%; height: 5px; appearance: none; border: 0; border-radius: 6px; overflow: hidden; background: #efe8eb; accent-color: #ad4563; }
.live-question progress::-webkit-progress-bar { background: #efe8eb; border-radius: 6px; }
.live-question progress::-webkit-progress-value { background: #ad4563; border-radius: 6px; }
.live-question progress::-moz-progress-bar { background: #ad4563; border-radius: 6px; }
.live-question h1 { margin: 28px 0; font-size: 26px; line-height: 1.6; }
.live-question .options { gap: 12px; }
.live-question .options button { display: grid; grid-template-columns: 22px minmax(0,1fr); gap: 13px; min-height: 68px; padding: 16px; border-color: #dedbdd; border-radius: 12px; font-size: 14px; background: #fff; }
.live-question .options .option-copy { color: inherit; flex-shrink: 1; }
.live-question .option-marker { width: 21px; height: 21px; border: 1.5px solid #aaa3a6; border-radius: 50%; display: grid; place-items: center; }
.live-question .options button[aria-pressed=true] { border-color: var(--rose); background: #fff8fa; color: var(--ink); }
.live-question .options button[aria-pressed=true] .option-marker { border-color: var(--rose); }
.live-question .options button[aria-pressed=true] .option-marker::after { content: ""; width: 9px; height: 9px; border-radius: 50%; background: var(--rose); }
.live-question .options button:disabled { cursor: wait; }
.live-question h1:focus { outline: none; }
.live-question .text-link { color: var(--muted); text-decoration: underline; text-underline-offset: 5px; margin-top: 18px; }
.love-capture { min-height: calc(100svh - 48px); background: #fffaf9; }
.love-capture > .eyebrow { text-align: center; }
.love-capture h1 { margin: 10px 0 12px; font-family: "Hiragino Mincho ProN", "Yu Mincho", "YuMincho", serif; font-size: 26px; line-height: 1.55; text-align: center; }
.love-capture h1:focus { outline: none; }
.love-capture__lead { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.9; }
.love-capture-test-note { margin: 18px 0 0; padding: 11px 13px; border: 1px solid #dfb37c; border-radius: 10px; background: #fff7e9; color: #6f4519; font-size: 11px; line-height: 1.7; font-weight: 700; }
.love-capture-form { display: grid; gap: 19px; margin-top: 27px; }
.love-capture-field { min-width: 0; margin: 0; padding: 0; border: 0; }
.love-capture-field legend,
.love-capture-field > label { display: block; margin: 0 0 8px; font-size: 13px; line-height: 1.55; font-weight: 750; }
.love-capture-field legend span,
.love-capture-field > label span { color: #9c2630; font-size: 10px; }
.love-capture-gender__options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.love-capture-gender__options label { position: relative; min-width: 0; }
.love-capture-gender__options input { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); }
.love-capture-gender__options span { min-height: 50px; padding: 9px 7px; display: grid; place-items: center; border: 1px solid #ddcbd2; border-radius: 11px; background: #fff; cursor: pointer; font-size: 13px; font-weight: 700; text-align: center; }
.love-capture-gender__options input:checked + span { border-color: var(--rose); background: #fff1f5; box-shadow: inset 0 0 0 1px var(--rose); }
.love-capture-gender__options input:focus-visible + span { outline: 3px solid #44699e; outline-offset: 3px; }
.love-capture-field > input { width: 100%; min-width: 0; min-height: 52px; padding: 11px 13px; border: 1px solid #ddcbd2; border-radius: 11px; background: #fff; color: var(--ink); font: inherit; font-size: 16px; }
.love-capture-field > input:focus-visible,
.love-capture-consent input:focus-visible { outline: 3px solid #44699e; outline-offset: 3px; }
.love-capture-hint { margin: 6px 0 0; color: var(--muted); font-size: 10px; line-height: 1.7; }
.love-capture-consent { padding: 15px; border: 1px solid #e1d3d8; border-radius: 12px; background: #fff; }
.love-capture-consent > label { display: grid; grid-template-columns: 22px minmax(0, 1fr); align-items: start; gap: 10px; color: #66525b; font-size: 11px; line-height: 1.8; }
.love-capture-consent input { width: 20px; height: 20px; margin: 2px 0 0; }
.love-capture-consent a { color: var(--rose); font-weight: 750; }
.love-capture-error { margin: 6px 0 0; color: #9b211d; font-size: 11px; line-height: 1.65; font-weight: 700; }
.love-capture-field.is-invalid > input,
.love-capture-consent.is-invalid { border-color: #a9231c; }
.love-capture-gender.is-invalid .love-capture-gender__options span { border-color: #a9231c; }
.love-capture-status { min-height: 1.7em; margin: -4px 0 0; color: var(--muted); font-size: 11px; line-height: 1.7; }
.love-capture-actions { display: flex; flex-direction: column-reverse; gap: 6px; }
.love-capture-actions .text-link { margin: 0 auto; }
.love-capture-form[aria-busy="true"] { cursor: wait; }
.love-capture-form[aria-busy="true"] input,
.love-capture-form[aria-busy="true"] label { pointer-events: none; }
/* Budget the image against the viewport, keeping all 3 share buttons in view. */
.result-first, .live-result .result-first { height: auto; min-height: 0; padding: 12px 18px 22px; display: block; }
.result-eyebrow { color: #555; font-size: 12px; line-height: 18px; }
.result-art { height: min(360px, calc(100svh - 252px), calc(100vw - 36px)); margin-top: 12px; }
.result-art img { border-radius: 4px; box-shadow: none; }
.share-actions { display: block; margin-top: 14px; }
.share-action { padding: 0; width: 100%; font: inherit; }
.share-actions__heading { line-height: 22px; }
.share-actions__guidance { font-size: 10px; line-height: 1.7; margin-top: 11px; }
.share-actions__save { min-height: 24px; display: inline-flex; align-items: center; }
.share-preview-status { margin: 12px 0 0; padding: 12px; background: #f6f5f4; font-size: 11px; line-height: 1.8; }
.benefit-section { background: #faf9f7; border-color: #e9e6e3; }
.result-benefit, .live-result .result-benefit { padding-top: 32px; padding-bottom: 32px; }
.benefit-section h2 { font-size: 23px; line-height: 1.65; margin: 10px 0 14px; }
.benefit-section > .eyebrow { margin: 0; font-size: 11px; letter-spacing: .08em; }
.benefit-section .lead { font-size: 12px; }
.benefit-list { margin: 24px 0; border-top: 1px solid #dcd8d4; }
.benefit-list article { display: flex; gap: 18px; align-items: center; padding: 19px 3px; border-bottom: 1px solid #dcd8d4; }
.benefit-list article > span { color: #8b8279; font: 20px/1.4 Georgia, serif; }
.benefit-list h3 { font-size: 15px; line-height: 1.6; margin: 0; font-weight: 650; }
.benefit-list p { font-size: 11px; color: var(--muted); line-height: 1.8; margin: 4px 0 0; }
.line-cta { background: #06c755; border-radius: 8px; min-height: 54px; box-shadow: none; }
.live-result-details { padding-top: 28px; padding-bottom: 28px; }
.live-result-details h2 { font-size: 22px; text-align: center; }
.live-result-types { margin: 18px 0; padding: 0; list-style: none; display: grid; gap: 14px; text-align: center; }
.live-result-types strong { font-size: 14px; }
.live-result-types p { margin: 5px 0 0; font-size: 12px; color: var(--muted); }
.live-result-details .micro { text-align: left; }
.live-result-details { border-top: 1px solid #eeecea; }
.result-summary { font-size: 14px; line-height: 2; margin: 18px 0 24px; }
.result-secondary { padding-block: 20px; }
.love-result-pdf { border-top: 1px solid #eee4e7; border-bottom: 1px solid #eee4e7; background: #fff9f4; }
.love-result-pdf h2 { margin-bottom: 10px; font-size: 21px; }
.love-result-pdf .cta { margin-top: 20px; }
.love-result-pdf .love-capture-test-note { text-align: left; }
.site-footer { background: #fff; border-top: 1px solid #eeecea; }
.site-footer a { color: #666; margin-top: 8px; }
.live-noscript { padding: 20px; text-align: center; }
@media (max-width: 350px) {
  .live-question { padding-inline: 18px; }
  .live-question h1 { font-size: 24px; }
  .live-question .options button { padding: 14px; }
  .benefit-section h2 { font-size: 20px; }
  .share-actions__grid { gap: 4px; }
  .local-badge { font-size: 8px; }
  .love-capture { padding-inline: 18px; }
  .love-capture h1 { font-size: 23px; }
}
@media (prefers-reduced-motion: reduce) {
  .share-action,
  .love-capture-gender__options span { transition: none; }
}

/* Shared LINE CTA mark: fixed size, label may wrap on narrow screens. */
.line-cta__icon { display:block; width:24px; height:24px; min-width:24px; flex:0 0 24px; }
.line-benefit__button { flex-wrap:nowrap; gap:9px; }
.line-cta__label { min-width:0; }

.line-cta { gap:9px; }
.line-cta .line-cta__label { font-size:inherit; }

.result-explanations { display: grid; gap: 28px; margin: 24px 0; }
.result-explanations h3 { margin: 0 0 10px; padding-left: 10px; border-left: 3px solid #c18a9b; font-size: 16px; line-height: 1.6; }
.result-explanations p { margin: 0; font-size: 14px; line-height: 2; text-align: left; }
.result-love-copy { display: grid; gap: 14px; }
