:root{--paper:#f4f1e9;--ink:#252722;--red:#8d392e;--line:#d5cec0;--muted:#73746a}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:"PingFang SC","Microsoft YaHei",sans-serif;font-size:16px;line-height:1.85}button,input,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--red);outline-offset:4px}h1:focus{outline:none}h1,h2,h3,p{margin:0}h1,h2,.archetype{font-family:"Songti SC","SimSun",serif}h1{font-size:32px;font-weight:600;line-height:1.5}h2{font-size:23px;line-height:1.5}h3{font-size:16px;font-weight:600}p+p{margin-top:16px}.masthead,#app,.site-footer{width:calc(100% - 32px);max-width:460px;margin:auto}.masthead{height:72px;display:flex;align-items:center;border-bottom:1px solid var(--line);font-size:13px;letter-spacing:2px}.masthead a{text-decoration:none;display:flex;align-items:center;gap:12px}.seal{background:var(--red);color:var(--paper);display:grid;place-items:center;width:29px;height:29px;font-family:serif;font-size:20px}.site-footer{padding:30px 0 25px;font-size:11px;color:var(--muted);line-height:1.7}.eyebrow{color:var(--red);font-size:11px;letter-spacing:2px;margin-bottom:20px}.muted{color:var(--muted)}.small{font-size:13px}.accent{color:var(--red)}.primary,.secondary{display:block;width:100%;border:1px solid var(--red);padding:14px 12px;min-height:52px;text-align:center;text-decoration:none;line-height:1.5;border-radius:3px}.primary{background:var(--red);color:#fffaf2}.secondary{background:transparent;color:var(--ink);border-color:var(--line)}.gate{padding:30px 8px 10px}.gate h1{margin:20px 0}.archive-mark{border:1px solid var(--red);color:var(--red);width:52px;height:60px;display:grid;place-items:center;font-family:serif;font-size:34px}.gate form{margin-top:28px}.gate label{display:block;font-size:13px;margin-bottom:8px}.gate input{width:100%;padding:10px;letter-spacing:16px;text-align:center;background:#faf8f3;border:1px solid var(--line);height:58px;border-radius:3px;font-size:24px}.gate #gate-error{min-height:32px;color:var(--red);font-size:12px}.landing{padding-top:29px}.landing h1{font-size:36px;line-height:1.42;letter-spacing:1px}.home-copy{margin:22px 0 20px;font-size:15px;line-height:1.9}.home-copy .muted{font-size:14px}.meta{font-size:11px;letter-spacing:-.15px;margin-bottom:13px;color:var(--muted);white-space:nowrap}.home-foot{margin-top:26px;padding:16px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;font-size:12px;letter-spacing:3px;color:#9a8b6d}.direction{padding:30px 0 0}.direction h1{font-size:28px;margin-bottom:26px}.direction-option{display:block;width:100%;text-align:left;background:transparent;border:1px solid var(--line);border-radius:4px;padding:16px 20px;margin-bottom:12px;color:var(--ink)}.direction-option strong,.direction-option span{display:block}.direction-option span{font-size:13px;color:var(--muted);margin-top:4px}.direction-option[aria-pressed=true]{border-color:var(--red);background:#eee5dc}.direction .primary{margin-top:24px}body[data-stage=question] .masthead,body[data-stage=question] .site-footer,body[data-stage=calculating] .site-footer,body[data-stage=result] .site-footer{display:none}.question-wrap{padding:24px 0 max(16px,env(safe-area-inset-bottom))}.progress-meta{font-size:13px;letter-spacing:2px;color:var(--red)}progress{display:block;width:100%;height:3px;border:0;background:var(--line);margin:12px 0 27px;border-radius:0}progress::-webkit-progress-bar{background:var(--line)}progress::-webkit-progress-value{background:var(--red)}progress::-moz-progress-bar{background:var(--red)}.question-wrap h1{font-family:inherit;font-size:21px;font-weight:600;line-height:1.65;margin-bottom:25px;min-height:105px}.option{display:flex;align-items:center;gap:13px;width:100%;text-align:left;color:var(--ink);font-size:15px;line-height:1.7;border:1px solid var(--line);border-radius:4px;background:#faf8f3;padding:14px 15px;min-height:74px;margin-bottom:12px;transition:background .15s,border-color .15s}.letter{color:#998d76;font-size:13px;flex:0 0 16px}.option[aria-pressed=true]{border-color:var(--red);background:#eee1d7;color:#652d25}.option:disabled{opacity:1}.previous{border:0;background:none;padding:12px 0;font-size:13px;color:var(--muted);min-height:46px}.previous:disabled{opacity:.35}.calculating{padding:90px 0;text-align:center}.calculating .archive-mark{margin:0 auto 25px}.calculating h1{font-size:26px}.result-hero{padding:32px 0 26px}.result-hero h1{font-size:58px;letter-spacing:7px;line-height:1.3}.result-hero .muted{font-size:13px;margin-top:9px}.archetype{font-size:25px;margin-top:20px}.tags{display:flex;gap:8px;flex-wrap:wrap;margin:15px 0 24px}.tags span{border:1px solid var(--line);padding:3px 9px;font-size:12px;color:#817052}.portrait{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:contain;background:#e8e4da;border:1px solid var(--line)}.report-section{border-top:1px solid var(--line);padding:27px 0 30px}.section-index{font-size:12px;color:var(--red);letter-spacing:2px}.report-section h2{margin:6px 0 19px}.report-section p{font-size:16px;line-height:1.95}.report-section h3{margin:18px 0 7px;color:var(--red)}.insight+.insight{margin-top:22px}.quotes{padding:0;list-style:none;counter-reset:quote;margin:0}.quotes li{counter-increment:quote;position:relative;padding:17px 0 17px 30px;border-bottom:1px solid var(--line);font-family:"Songti SC","SimSun",serif;font-size:21px;line-height:1.7}.quotes li:before{content:counter(quote,decimal-leading-zero);position:absolute;left:0;top:22px;color:var(--red);font-size:11px}.quotes li:last-child{border:0}.result-actions{display:grid;gap:12px}.disclaimer{font-size:11px!important;color:var(--muted);line-height:1.8!important;margin:28px 0 35px}dialog{border:1px solid var(--line);background:var(--paper);padding:20px;width:calc(100% - 28px);max-width:460px;max-height:88dvh;color:var(--ink);border-radius:5px}dialog::backdrop{background:#17191299}dialog h2{margin:18px 0 12px}dialog p{font-size:14px;margin:12px 0 20px}dialog img{display:block;width:100%;height:auto;margin-top:18px}.confirm-actions{display:grid;gap:12px}#notice{position:fixed;bottom:20px;left:16px;right:16px;max-width:450px;margin:auto;background:var(--ink);color:var(--paper);padding:12px 18px;font-size:13px;z-index:10;display:none}#notice.show{display:block}.qa{width:calc(100% - 32px);max-width:900px;margin:25px auto}.qa h1{font-size:27px}.qa-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;margin:20px 0}.qa-card{border:1px solid var(--line);padding:14px}.qa-card button{margin-top:8px}.qa-card p{font-size:12px}.qa-details{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;border:1px solid var(--line);padding:15px}.qa-report{max-width:460px;margin:auto}.qa-banner{padding:15px;background:#e9dfcb;margin:20px 0;font-size:14px}.qa-report [data-action=restart]{display:none}@media(min-width:800px){.masthead{margin-top:24px}.question-wrap{padding-top:48px}.landing{padding-top:38px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
/* Portrait assets are complete 3:4 compositions; keep the full frame visible. */
.portrait{object-fit:contain;object-position:center}
