:root{--paper:#f4efe5;--ink:#292b28;--muted:#6d6c64;--red:#a63d30;--line:#d7d0c2;--surface:#faf7f0;--serif:"Songti SC","STSong","Noto Serif CJK SC",serif;--sans:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.75 var(--sans)}button{font:inherit;color:inherit;cursor:pointer;border:0;background:none;min-height:48px}button:disabled{opacity:.4;cursor:not-allowed}button:focus-visible,a:focus-visible{outline:3px solid var(--red);outline-offset:4px}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:600}img{display:block;max-width:100%}.shell{max-width:920px;margin:auto;padding:28px 36px 40px}.masthead{display:flex;justify-content:space-between;align-items:center;padding-bottom:20px;border-bottom:1px solid var(--line);gap:16px}.brand{display:flex;align-items:center;gap:12px;font-family:var(--serif);font-size:21px;letter-spacing:3px}.seal{background:var(--red);color:var(--paper);font-size:14px;letter-spacing:2px;line-height:1.1;padding:8px 7px;border-radius:2px}.subtle{color:var(--muted);font-size:14px;min-height:44px;padding:6px 0}.home{display:grid;grid-template-columns:1fr 300px;align-items:center;gap:38px;padding:52px 0 34px}.home h1{font-size:42px;line-height:1.45;letter-spacing:1px;margin-bottom:22px}.home p{color:var(--muted);max-width:440px}.hero-art{height:330px;overflow:hidden}.hero-art img{width:100%;height:100%;object-fit:cover;mix-blend-mode:multiply}.primary{display:block;background:var(--red);color:var(--surface);padding:14px 26px;border-radius:3px;font-size:17px;letter-spacing:1px;min-width:180px}.home .primary{margin-top:30px}.secondary{border:1px solid var(--line);border-radius:3px;padding:12px 24px;background:var(--surface)}.home-note{margin-top:12px;font-size:13px;color:var(--muted)}.footer{border-top:1px solid var(--line);margin-top:24px;padding-top:12px;display:flex;flex-wrap:wrap;gap:12px 24px}.quiz{max-width:590px;margin:34px auto 0}.progress-label{color:var(--red);font-size:14px;letter-spacing:1px;display:flex;justify-content:space-between}.progress{height:2px;background:var(--line);margin:12px 0 26px}.progress span{display:block;background:var(--red);height:2px}.quiz h1{font-size:29px;line-height:1.5;margin-bottom:14px}.question{font-size:18px;line-height:1.8;margin-bottom:10px}.hint{color:var(--muted);font-size:14px;margin-bottom:24px}.options{display:grid;gap:12px}.option{display:flex;text-align:left;gap:16px;align-items:center;padding:17px 18px;border:1px solid var(--line);border-radius:3px;background:var(--surface);font-size:16px;line-height:1.7;width:100%}.option-label{font-family:var(--serif);color:var(--muted);font-size:19px}.option.selected{border-color:var(--red);background:#eee2d5}.option.selected .option-label{color:var(--red)}.actions{display:flex;justify-content:space-between;gap:16px;margin-top:26px}.actions .primary{min-width:150px}.result{max-width:650px;margin:30px auto 0}.result-intro{text-align:center}.eyebrow{font-size:14px;color:var(--muted)}.result h1{font-size:42px;letter-spacing:8px;margin-top:6px}.result h2{font-size:25px;line-height:1.5;margin-top:4px}.portrait{width:100%;height:310px;margin:18px auto;object-fit:contain;mix-blend-mode:multiply}.portrait-fallback{height:180px;display:grid;place-items:center;font:50px var(--serif);color:var(--red)}.quote{font:21px/1.7 var(--serif);color:var(--red)}.traits{display:grid;grid-template-columns:1fr 1fr;gap:26px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:23px 0;margin:28px 0}.traits h3{font-family:var(--sans);font-size:14px;color:var(--muted);margin-bottom:7px}.traits p{font-size:17px}.body-copy{line-height:2.05;text-align:justify}.section-title{font-size:20px;margin:30px 0 14px}.reasons{padding-left:21px;line-height:1.9;margin:0}.reasons li+li{margin-top:10px}.reminder{border-left:3px solid var(--red);padding:0 0 0 18px;margin:30px 0}.reminder h3{font-size:17px;margin-bottom:8px}.result-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.result-actions button{flex:1;min-width:145px}.disclaimer{font-size:13px;color:var(--muted);margin-top:18px;text-align:center}.feedback{margin-top:34px;padding-top:20px;border-top:1px solid var(--line)}.feedback p{font-size:14px;color:var(--muted)}.feedback-options{display:flex;gap:12px;margin-top:10px}.feedback-options button{padding:7px 16px;border:1px solid var(--line);border-radius:3px;font-size:14px}.feedback-options button[aria-pressed="true"]{border-color:var(--red);color:var(--red)}.about{max-width:600px;margin:32px auto}.about h1{font-size:30px;margin-bottom:22px}.about h2{font-size:19px;margin:25px 0 8px}.about p{margin-top:10px;line-height:1.95}.about button{margin-top:25px}.status{min-height:24px;color:var(--red);font-size:14px;margin-top:12px}.card-preview{margin-top:22px}.card-preview img{max-width:340px;margin:auto}.card-preview summary{cursor:pointer;min-height:44px;font-size:14px;color:var(--muted)}
@media(max-width:650px){.shell{padding:20px 24px 28px}.masthead{padding-bottom:12px}.brand{font-size:19px}.home{display:flex;flex-direction:column-reverse;align-items:stretch;gap:10px;padding-top:18px}.hero-art{height:200px;width:100%;}.hero-art img{object-fit:contain}.home h1{font-size:31px;line-height:1.5;margin-bottom:16px}.home .primary{width:100%;margin-top:24px}.home p{font-size:16px}.home-note{text-align:center}.quiz{margin-top:26px}.quiz h1{font-size:26px}.question{font-size:17px}.option{padding:14px;gap:12px}.hint{margin-bottom:18px}.actions{gap:12px}.actions .primary{min-width:140px}.result h1{font-size:38px}.result h2{font-size:23px}.portrait{height:270px}.traits{gap:18px}.quote{font-size:19px}.footer{gap:8px 18px}.body-copy{font-size:16px}.result-actions{flex-direction:column}.result-actions button{width:100%}.feedback-options{gap:8px}.feedback-options button{flex:1;padding:8px}.about{margin-top:26px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}
.review-picking{cursor:crosshair}.review-picking :is(button,h1,h2,h3,p,img,li,summary,.brand):hover{outline:2px dashed var(--red);outline-offset:3px;cursor:crosshair}.review-picked{outline:2px solid var(--red);outline-offset:4px}
.review-selection-overlay{position:fixed;inset:0;z-index:2147483646;cursor:crosshair;touch-action:none;background:#a63d3007}.review-selection-box{display:none;position:absolute;border:2px solid var(--red);background:#a63d301c;pointer-events:none}.review-selection-overlay.capturing{cursor:wait;background:#f4efe555;display:grid;place-items:center;font-size:14px;color:var(--red)}
