:root{--paper:#fcf8f3;--ink:#382b33;--muted:#796b70;--rose:#8d4459;--blush:#f3e6e5;--gold:#b29268;--line:#e6d9d2;--serif:Georgia,'Times New Roman','Songti SC','STSong',serif;--sans:-apple-system,BlinkMacSystemFont,'Segoe UI','PingFang SC','Hiragino Sans GB','Microsoft YaHei',sans-serif;color-scheme:light;font-family:var(--sans);font-size:16px;color:var(--ink);background:var(--paper)}
*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible{outline:3px solid var(--rose);outline-offset:5px}button{touch-action:manipulation}img{display:block;max-width:100%;height:auto}p{margin:0 0 1em;line-height:1.7}h1,h2,h3{margin:0;font-weight:400}button{color:inherit}button:disabled{cursor:default}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.brand-bar,main,footer{width:calc(100% - 40px);max-width:700px;margin-inline:auto}.brand-bar{display:flex;align-items:center;gap:12px;height:77px}.brand-mark{font-family:var(--serif);font-size:32px;line-height:1;color:var(--rose)}.wordmark{font-size:13px;font-weight:650;letter-spacing:.22em}.brand-line{height:1px;flex:1;margin-left:13px;background:var(--line)}.hero-art{border-radius:80px 80px 5px 5px;overflow:hidden;border:1px solid #e1c7b7}.hero-art img{aspect-ratio:16/9;width:100%}.hero-copy{text-align:center;padding-top:27px}.display-title{font-family:var(--serif);font-size:clamp(36px,6.6vw,56px);line-height:1.09;letter-spacing:-.045em;max-width:620px;margin:0 auto 18px;text-wrap:balance}.hero-lead{max-width:440px;margin:0 auto 22px;line-height:1.55;color:#66535b;font-size:18px}.primary-button{display:flex;justify-content:center;align-items:center;gap:24px;min-height:58px;max-width:100%;margin:0 auto;border:1px solid var(--rose);border-radius:40px;background:var(--rose);color:#fff9f5;padding:15px 29px;font-size:16px;font-weight:600;line-height:1.4;box-shadow:0 6px 19px #8d445915}.primary-button>span:last-child:not(:first-child){font-size:23px;font-weight:400}.primary-button:hover{background:#78384c}.primary-button:active{background:#692f42}.start-help{font-size:13px;line-height:1.6;color:var(--muted);max-width:330px;margin:14px auto 0}.hero-intro{max-width:570px;color:var(--muted);font-size:16px;line-height:1.8;margin:27px auto 0;padding-top:26px;border-top:1px solid var(--line)}
.ad-block{margin:42px 0 46px;padding-top:22px;border-top:1px solid var(--line);text-align:center;clear:both}.ad-label{font-size:10px;line-height:1.4;letter-spacing:.12em;color:#82767a;text-transform:uppercase;margin:0 0 12px}.ad-space{width:300px;max-width:100%;height:250px;margin-inline:auto;position:relative;background:#f3eeea}.ad-placeholder{width:300px;height:250px;border:1px dashed #d1c2ba;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;color:#91818a;font-size:12px;background:repeating-linear-gradient(135deg,transparent,transparent 12px,#e9e0d71c 12px,#e9e0d71c 13px)}.ad-placeholder strong{font-size:12px;font-weight:500}.ad-placeholder small{font-size:10px;color:#a8999b;letter-spacing:.06em}.ad-space ins{margin:0;padding:0;border:0}.ad-space[data-ad-state="too-narrow"]{width:100%;max-width:300px;background:none}
#quiz{padding-top:18px;scroll-margin-top:20px}.quiz-heading{padding:24px 26px;background:#f0e6e1;border-radius:4px 28px 4px 4px;margin-bottom:10px}.eyebrow{font-size:12px;letter-spacing:.1em;line-height:1.6;color:var(--rose);margin-bottom:16px}.progress-heading{display:flex;justify-content:space-between;align-items:center;font-size:17px}.progress-decoration{font-family:var(--serif);font-size:28px;color:#a16b7d;line-height:1}progress{display:block;width:100%;height:4px;margin-top:15px;border:0;border-radius:2px;background:#ddc8c5;accent-color:var(--rose)}progress::-webkit-progress-bar{background:#ddc8c5;border-radius:2px}progress::-webkit-progress-value{background:var(--rose);border-radius:2px}progress::-moz-progress-bar{background:var(--rose);border-radius:2px}.question{border:0;border-bottom:1px solid var(--line);padding:31px 0 30px;margin:0;min-width:0;scroll-margin-top:30px}.question legend{display:block;width:100%;padding:0;float:left}.question legend+.sr-only{clear:both}.question-number{display:block;font-family:var(--serif);font-size:25px;font-style:italic;color:#a7767b;line-height:1;margin-bottom:13px}.question-number span{font-family:var(--sans);font-size:10px;letter-spacing:.08em;font-style:normal;color:#a29395;margin-left:5px}.question-text{display:block;font-family:var(--serif);font-size:27px;line-height:1.27;letter-spacing:-.018em;text-wrap:balance;overflow-wrap:break-word}.options{clear:both;padding-top:20px;display:grid;gap:11px}.option{position:relative;display:flex;align-items:center;gap:15px;min-height:62px;padding:16px 19px;border:1px solid #dfd2cc;border-radius:8px;background:#fffdfa;cursor:pointer;transition:background-color .15s,border-color .15s;line-height:1.5;overflow-wrap:anywhere}.option input{position:absolute;opacity:0;width:1px;height:1px;inset:20px auto auto 20px}.selection{display:grid;place-items:center;flex-shrink:0;width:25px;height:25px;border:1px solid #d8c7c4;border-radius:50%;font-size:11px;font-weight:500;color:#8d777d;line-height:1}.option-text{font-size:16px;flex:1;min-width:0}.option-check{display:none;font-size:18px;color:var(--rose);font-weight:600}.option:has(input:checked){border:2px solid var(--rose);padding:15px 18px;background:#f3e6e6}.option:has(input:checked) .selection{border-color:var(--rose);background:var(--rose);color:white}.option:has(input:checked) .option-check{display:block}.option:has(input:focus-visible){outline:3px solid #b29268;outline-offset:4px}.option:hover{border-color:#b08791}.question[data-missing="true"] .question-text{color:var(--rose)}.question[data-missing="true"] .options{border-left:3px solid var(--rose);padding-left:12px}.submit-area{padding:31px 0 44px;text-align:center}.completion-message{font-size:15px;color:#725666;margin:0 0 16px}.completion-message:empty,.validation-message:empty,.update-message:empty{display:none}.validation-message{font-size:16px;color:#8d334c;margin-bottom:18px}.submit-area .primary-button{width:100%;max-width:420px}
.result{padding-top:37px;border-top:1px solid var(--line);margin-top:4px}.result-header>.eyebrow{text-align:center;margin-bottom:15px}.result h2{font-family:var(--serif);font-size:clamp(35px,6.5vw,49px);line-height:1.12;letter-spacing:-.035em;text-align:center;margin:0 auto 26px;text-wrap:balance;scroll-margin-top:27px}.result h2:focus{outline:none}#result-image{width:100%;aspect-ratio:16/9;border-radius:4px 40px 4px 4px;border:1px solid #e0cbbf}.result-summary{padding:26px 0 0}.result-summary>p{font-family:var(--serif);font-size:23px;line-height:1.55;color:#634a55;margin-bottom:22px}.tags{list-style:none;padding:0;margin:0;display:flex;gap:9px;flex-wrap:wrap}.tags li{padding:7px 12px;border:1px solid #dfcbc6;border-radius:30px;font-size:12px;line-height:1.4;color:#805365;background:#f9efeb}.result .ad-block{margin-top:32px;margin-bottom:37px}.chapter{padding:0 0 29px}.chapter h3{font-family:var(--serif);font-size:24px;line-height:1.4;margin-bottom:13px;color:#72515f}.chapter p{font-size:17px;line-height:1.85;margin:0}.story-details{margin-top:4px;padding:27px 26px;background:#f1e8df;border:1px solid #e5d5c8;border-radius:3px 30px 3px 3px}.story-details h3{font-family:var(--serif);font-size:26px;line-height:1.3;margin-bottom:22px}.story-details dl{margin:0;display:grid;gap:17px}.detail-row{border-top:1px solid #ddcfc4;padding-top:15px}.detail-row:first-child{border-top:0;padding-top:0}.detail-row dt{color:#8a6d72;font-size:11px;letter-spacing:.05em;margin-bottom:5px}.detail-row dd{margin:0;font-size:16px;line-height:1.55}.closing-line{font-family:var(--serif);font-size:25px;font-style:italic;line-height:1.5;text-align:center;padding:28px 12px 0;color:#8d4459}.secondary-button{display:block;margin:22px auto 47px;max-width:100%;min-height:52px;border:1px solid #aa7887;border-radius:30px;padding:13px 25px;background:transparent;color:#8d4459;font-weight:500}.secondary-button:hover{background:#f3e6e6}.update-message{color:#8d4459;text-align:center;font-size:15px}.update-message:not(:empty){border:1px solid #dfc0c6;border-radius:5px;padding:15px;background:#f7e9e8}
footer{border-top:1px solid var(--line);padding:31px 0 30px;margin-top:8px}footer p{font-size:12px;line-height:1.8;color:#8b7e80;margin-bottom:13px}.footer-brand{font-size:11px;font-weight:600;letter-spacing:.18em;margin-bottom:18px;color:#80636a}.footer-brand span{font-size:19px;padding-left:6px;vertical-align:middle}.footer-links{display:flex;gap:20px;flex-wrap:wrap;margin-bottom:22px}.footer-links button{font-size:12px;line-height:1.5;border:0;background:none;padding:4px 0;color:#725763;text-decoration:underline;text-underline-offset:4px}.footer-note{font-family:var(--serif);font-size:14px;font-style:italic;color:#a48783;margin-top:23px}dialog{max-width:min(550px,calc(100vw - 32px));border:1px solid #d9c4be;border-radius:16px;padding:25px;background:var(--paper);color:var(--ink)}dialog::backdrop{background:#33232d80;backdrop-filter:blur(3px)}.dialog-top{display:flex;align-items:start;justify-content:space-between;gap:20px;margin-bottom:18px}.dialog-top h2{font-family:var(--serif);font-size:28px;line-height:1.3}.dialog-top button{border:1px solid #dcc9c4;border-radius:50%;background:none;width:44px;min-width:44px;height:44px;font-size:27px;line-height:1}.dialog-top button:hover{background:var(--blush)}#dialog-content p{font-size:16px;line-height:1.8}#dialog-content p:last-child{margin:0}.noscript{padding:25px;max-width:700px;margin:auto;color:var(--rose)}html[lang="zh-CN"] .display-title{font-size:clamp(32px,6.1vw,47px);line-height:1.3;letter-spacing:.025em}html[lang="zh-CN"] .question-text{font-size:24px;line-height:1.45;letter-spacing:.015em}html[lang="zh-CN"] .hero-lead{font-size:17px}html[lang="zh-CN"] .result-summary>p{font-size:21px;line-height:1.85}html[lang="zh-CN"] .result h2{line-height:1.4;font-size:36px}html[lang="zh-CN"] .closing-line{font-style:normal;font-size:23px;line-height:1.7}
@media(max-width:520px){.brand-bar,main,footer{width:calc(100% - 36px)}.brand-bar{height:62px;gap:9px}.brand-mark{font-size:29px}.wordmark{font-size:11px}.hero-art{border-radius:46px 46px 4px 4px}.hero-copy{padding-top:23px}.display-title{max-width:350px;margin-bottom:14px}.hero-lead{font-size:16px;max-width:310px;margin-bottom:21px}.primary-button{width:100%;padding:14px 20px;gap:15px;min-height:56px}.start-help{font-size:12px;margin-top:13px}.hero-intro{margin-top:24px;padding-top:23px;font-size:16px;line-height:1.75}.ad-block{margin-top:34px;margin-bottom:37px;padding-top:18px}.quiz-heading{padding:22px 19px}.eyebrow{font-size:11px;letter-spacing:.04em}.question{padding-top:28px;padding-bottom:28px}.question-text{font-size:25px}.option{padding:15px 15px;gap:12px;min-height:62px}.option:has(input:checked){padding:14px}.option-text{font-size:16px}.story-details{padding:24px 20px}.result-summary>p{font-size:22px}.chapter p{font-size:16px;line-height:1.85}.chapter h3{font-size:23px}.result{padding-top:28px}.result h2{font-size:37px}footer{padding-top:27px}.footer-links{gap:18px}}
@media(max-width:350px){.brand-bar,main,footer{width:calc(100% - 20px)}.display-title{font-size:34px}.hero-art{border-radius:35px 35px 4px 4px}.hero-copy{padding-top:19px}.hero-lead{font-size:16px}.option{gap:10px;padding-inline:12px}.option:has(input:checked){padding-inline:11px}.question-text{font-size:24px}.ad-label{font-size:10px}html[lang="zh-CN"] .display-title{font-size:30px}.result h2{font-size:33px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Home D follows the short invitation; the longer introduction follows D. */
.brand-bar{height:48px}
.hero-art{max-width:480px;margin-inline:auto}
.hero-copy{padding-top:18px}
.hero .display-title{max-width:100%;margin-bottom:14px}
.hero-lead{max-width:580px;font-size:16px;margin-bottom:16px}
.hero #start-button{min-height:52px;padding:10px 24px}
.hero .start-help{max-width:640px;margin-top:10px}
.ad-block[data-placement="D"]{margin-top:20px;margin-bottom:0;padding-top:8px}
.ad-block[data-placement="D"] .ad-label{margin-bottom:8px}
.hero-intro{margin:24px auto 32px;padding-top:22px;text-align:center}
@media(max-width:520px){
  .hero-art{max-width:320px}
  .hero-copy{padding-top:16px}
  .hero .display-title{margin-bottom:12px}
  .hero-lead{max-width:310px}
  .hero .start-help{max-width:330px}
  .ad-block[data-placement="D"]{margin-top:16px}
}
@media(min-width:521px) and (max-height:820px){.hero-art{max-width:400px}}

/* No empty ad label when release/consent is held; confirmed no-fill only. */
.ad-block[data-ad-held="true"],.ad-block[data-ad-collapsed="true"]{display:none}
