:root {
  --lc-paper:#f7f2e8;
  --lc-sheet:#fffdf8;
  --lc-ink:#1c1b18;
  --lc-muted:#66645e;
  --lc-line:#d7d0c3;
  --lc-accent:#b9505d;
  --lc-pale:#f8e8e9;
  color-scheme:light;
}

* { box-sizing:border-box; }
html { min-width:320px; background:var(--lc-paper); scroll-behavior:smooth; }
body { margin:0; min-width:320px; color:var(--lc-ink); background:var(--lc-paper); font-family:"PingFang SC","Microsoft YaHei",sans-serif; letter-spacing:0; }
button { color:inherit; font:inherit; letter-spacing:0; }
button,input { -webkit-tap-highlight-color:transparent; }
.hidden { display:none !important; }
.lc-body { min-height:100vh; }
.lc-app { width:100%; min-height:calc(100vh - 46px); }

.lc-intro { width:min(1180px, 100%); min-height:calc(100dvh - 46px); margin:0 auto; padding:38px 42px; display:grid; grid-template-columns:minmax(0, .92fr) minmax(380px, .76fr); align-items:center; gap:68px; }
.lc-intro-copy { max-width:590px; }
.lc-kicker { margin:0 0 20px; color:#8a3341; font-family:"Songti SC","STSong",serif; font-size:14px; font-weight:750; }
.lc-intro h1 { margin:0; font-family:"Songti SC","STSong",serif; font-size:59px; line-height:1.2; font-weight:700; }
.lc-lead { max-width:545px; margin:26px 0 24px; color:#4f4e49; font-family:"Songti SC","STSong",serif; font-size:19px; line-height:1.85; }
.lc-meta { display:flex; flex-wrap:wrap; gap:0; margin:0 0 30px; color:var(--lc-muted); font-size:12px; }
.lc-meta span { display:flex; align-items:center; }
.lc-meta span:not(:last-child)::after { content:""; width:1px; height:11px; margin:0 12px; background:#bdb7ac; }
.lc-button { width:100%; min-height:54px; border:1px solid var(--lc-ink); border-radius:4px; cursor:pointer; transition:transform .16s ease, background .16s ease, color .16s ease, border-color .16s ease; }
.lc-button:active { transform:translateY(1px); }
.lc-primary { max-width:348px; color:#fffaf1; border-color:#702c39; background:#702c39; font-weight:750; }
.lc-primary:hover { border-color:#5d2430; background:#5d2430; }
.lc-secondary { background:transparent; font-weight:700; }
.lc-secondary:hover { color:#fff; background:var(--lc-ink); }
.lc-intro-note { margin:13px 0 0; color:#77736b; font-size:11px; }
.lc-cover { position:relative; width:100%; max-width:470px; aspect-ratio:3/4; margin:0; justify-self:end; overflow:hidden; border:0; background:#d8ccb8; box-shadow:0 22px 45px rgba(62,43,24,.16); }
.lc-cover::after { display:none; content:none; }
.lc-cover img { width:100%; height:100%; display:block; object-fit:cover; }

.lc-question { width:min(760px, 100%); min-height:calc(100dvh - 46px); margin:0 auto; padding:28px 28px 22px; display:flex; flex-direction:column; }
.lc-progress { min-height:28px; display:flex; align-items:center; justify-content:space-between; }
.lc-progress > div { display:flex; align-items:center; gap:9px; font-family:Georgia,serif; font-variant-numeric:tabular-nums; }
.lc-progress strong { color:var(--lc-accent); font-size:21px; }
.lc-progress i { width:28px; height:1px; background:var(--lc-line); }
.lc-progress span { color:var(--lc-muted); font-size:12px; }
.lc-progress p { margin:0; font-family:"Songti SC","STSong",serif; font-size:13px; font-weight:650; }
.lc-progress-track { height:2px; margin-top:13px; overflow:hidden; background:#ded8cc; }
.lc-progress-track i { display:block; width:4.17%; height:100%; background:var(--lc-accent); transition:width .24s ease; }
.lc-question-stage { flex:1; display:flex; flex-direction:column; justify-content:center; padding:30px 0 20px; }
.lc-situation { margin:0 0 12px; color:var(--lc-accent); font-size:13px; font-weight:750; }
.lc-question-stage h2 { max-width:680px; min-height:48px; margin:0 0 26px; font-family:"Songti SC","STSong",serif; font-size:29px; line-height:1.48; }
.lc-options { display:grid; gap:9px; }
.lc-option { width:100%; min-height:66px; padding:11px 17px 11px 12px; display:grid; grid-template-columns:38px 1fr; align-items:center; gap:10px; text-align:left; border:1px solid #cec7bb; border-radius:4px; background:rgba(255,255,255,.48); cursor:pointer; transition:border-color .15s ease,background .15s ease,transform .15s ease; }
.lc-option:hover { border-color:var(--lc-ink); background:var(--lc-sheet); }
.lc-option:active { transform:scale(.997); }
.lc-option.is-selected { border-color:var(--lc-accent); background:var(--lc-pale); }
.lc-option span { width:30px; height:30px; display:grid; place-items:center; border:1px solid #aaa398; border-radius:50%; font-family:Georgia,serif; font-size:13px; }
.lc-option.is-selected span { color:#fff; border-color:var(--lc-accent); background:var(--lc-accent); }
.lc-option strong { font-size:14px; line-height:1.52; font-weight:520; }
.lc-question-nav { min-height:38px; display:flex; align-items:center; justify-content:center; }
.lc-previous { padding:8px 18px; color:var(--lc-muted); border:0; border-bottom:1px solid #aaa398; background:transparent; font-size:13px; cursor:pointer; }

.lc-result { min-height:100vh; padding:38px 20px 76px; background-color:#e9dfcf; background-image:repeating-linear-gradient(0deg,rgba(74,55,31,.018) 0,rgba(74,55,31,.018) 1px,transparent 1px,transparent 5px); }
.lc-report { width:min(680px, 100%); margin-right:auto; margin-left:auto; }
.lc-result-card { width:100%; height:auto; aspect-ratio:3/4; border:1px solid #bbae98; background:var(--lc-sheet); }
.lc-export-card { display:none !important; }
.lc-actions { display:grid; gap:10px; margin-top:48px; padding-top:30px; border-top:1px solid #bcae97; }
.lc-actions .lc-button { max-width:none; }
.lc-actions .lc-primary { min-height:66px; padding:10px 18px 9px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px; color:#6f2c38; border:1px solid #927858; border-radius:0; background:#f7eddd; box-shadow:inset 0 0 0 4px #f7eddd,inset 0 0 0 5px rgba(146,120,88,.62),0 3px 9px rgba(75,54,31,.06); font-family:"Songti SC","STSong",serif; font-size:18px; font-weight:700; }
.lc-actions .lc-primary span { display:block; line-height:1.25; }
.lc-actions .lc-primary small { display:block; color:#8c7557; font-family:Georgia,"Times New Roman",serif; font-size:9px; font-style:italic; line-height:1.2; font-weight:400; }
.lc-actions .lc-primary:hover { color:#5c202c; border-color:#765b3d; background:#f1e3cd; box-shadow:inset 0 0 0 4px #f1e3cd,inset 0 0 0 5px rgba(118,91,61,.68),0 4px 11px rgba(75,54,31,.08); }
.lc-actions .lc-primary:disabled { cursor:wait; opacity:.74; }
.lc-report { position:relative; padding:70px 58px 48px; overflow:hidden; color:#2f2c27; border:1px solid #b9aa92; background-color:#f8f1e3; background-image:linear-gradient(90deg,rgba(105,73,37,.035),transparent 13%,transparent 87%,rgba(105,73,37,.035)),repeating-linear-gradient(0deg,rgba(73,54,30,.016) 0,rgba(73,54,30,.016) 1px,transparent 1px,transparent 4px); box-shadow:0 14px 34px rgba(68,48,28,.11); }
.lc-report::before { content:""; position:absolute; inset:13px; border:1px solid rgba(120,92,57,.34); pointer-events:none; }
.lc-manuscript-mark { position:absolute; top:28px; right:34px; color:#8b7d68; font-family:Georgia,"Times New Roman",serif; font-size:10px; font-style:italic; }
.lc-character-hero { display:grid; grid-template-columns:238px minmax(0, 1fr); gap:30px; align-items:center; padding:0 0 56px; border-bottom:1px solid #bcae97; }
.lc-character-portrait { width:100%; aspect-ratio:3/4; margin:0; overflow:hidden; border:1px solid #8f806b; background:#dfd4c1; }
.lc-character-portrait img { width:100%; height:100%; display:block; object-fit:cover; object-position:center 24%; }
.lc-character-identity { min-width:0; }
.lc-character-label { margin:0 0 9px; color:#514a40; font-size:12px; font-weight:750; }
.lc-character-identity h2 { margin:0; color:#1d1b18; font-family:"Songti SC","STSong",serif; font-size:42px; line-height:1.2; }
.lc-report-source { margin:12px 0 0; color:#665d51; font-size:12px; font-weight:700; line-height:1.6; }
.lc-character-verdict { margin:23px 0 0; color:#2c2925; font-family:"Songti SC","STSong",serif; font-size:19px; font-weight:650; line-height:1.75; }
.lc-character-verdict::before { content:"“"; color:var(--lc-accent); }
.lc-character-verdict::after { content:"”"; color:var(--lc-accent); }
.lc-report-intro { padding:54px 0 50px; border-bottom:1px solid #bcae97; }
.lc-report-intro h2 { margin:0; font-family:"Songti SC","STSong",serif; font-size:42px; line-height:1.38; }
.lc-report-intro h2 em { color:var(--lc-accent); font-style:normal; }
.lc-report-intro > p:last-child { max-width:720px; margin:22px 0 0; color:#3f3c36; font-family:"Songti SC","STSong",serif; font-size:18px; line-height:1.95; }
.lc-traits { display:flex; flex-wrap:wrap; gap:7px; margin-top:22px; }
.lc-traits span { padding:6px 11px; color:#4b242b; border:1px solid color-mix(in srgb,var(--lc-accent) 72%,#7d6d5c); border-radius:2px; background:color-mix(in srgb,var(--lc-pale) 52%,#f8f1e3); font-size:12px; font-weight:750; }
.lc-dimensions,.lc-reading,.lc-core,.lc-origin,.lc-related,.lc-books { padding:54px 0; border-bottom:1px solid #bcae97; }
.lc-section-heading { display:grid; grid-template-columns:46px 1fr; gap:16px; align-items:start; margin-bottom:30px; }
.lc-section-heading > span { padding-top:7px; color:var(--lc-accent); border-top:2px solid var(--lc-accent); font-family:Georgia,"Times New Roman",serif; font-size:13px; }
.lc-section-heading p { margin:0 0 5px; color:#847967; font-family:Georgia,"Times New Roman",serif; font-size:10px; font-style:italic; }
.lc-section-heading h3 { margin:0; font-family:"Songti SC","STSong",serif; font-size:31px; line-height:1.34; }
.lc-section-lead { margin:-12px 0 28px 62px; color:#686052; font-family:"Songti SC","STSong",serif; font-size:14px; line-height:1.8; }
.lc-dimension-list { display:grid; grid-template-columns:1fr 1fr; gap:23px 34px; }
.lc-dimension-item > div { display:flex; align-items:baseline; justify-content:space-between; margin-bottom:9px; }
.lc-dimension-item span { font-size:14px; font-weight:680; }
.lc-dimension-item strong { color:var(--lc-accent); font-family:Georgia,"Times New Roman",serif; font-size:20px; }
.lc-dimension-item i { display:block; height:3px; background:#d8cdbb; }
.lc-dimension-item i::after { content:""; display:block; width:var(--score); height:100%; background:var(--lc-accent); }
.lc-reading-list { border-top:1px solid #c7baa5; }
.lc-reading-item { padding:24px 0 26px; display:grid; grid-template-columns:112px 1fr; column-gap:24px; border-bottom:1px solid #d4c9b8; }
.lc-reading-item:last-child { border-bottom:0; }
.lc-reading-item p { grid-row:1 / span 2; margin:5px 0 0; color:var(--lc-accent); font-size:12px; font-weight:750; }
.lc-reading-item h4 { margin:0 0 9px; font-family:"Songti SC","STSong",serif; font-size:22px; line-height:1.45; }
.lc-reading-item div { color:#4e4c47; font-size:15px; line-height:1.9; }
.lc-core-grid { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid #bcae97; border-bottom:1px solid #bcae97; }
.lc-core-item { min-height:220px; padding:27px 25px 30px; }
.lc-core-item + .lc-core-item { border-left:1px solid #bcae97; }
.lc-core-item p { margin:0 0 16px; color:#7b705f; font-size:12px; }
.lc-core-item h4 { margin:0 0 13px; color:var(--lc-accent); font-family:"Songti SC","STSong",serif; font-size:22px; line-height:1.45; }
.lc-core-item div { color:#4e4c47; font-size:15px; line-height:1.88; }
.lc-advice { position:relative; margin:22px 0 0; padding:26px 30px 28px 54px; border:0; border-top:3px double #a9987d; border-bottom:3px double #a9987d; background:rgba(255,255,255,.22); }
.lc-advice::before { content:"“"; position:absolute; top:12px; left:16px; color:var(--lc-accent); font-family:Georgia,"Times New Roman",serif; font-size:48px; line-height:1; }
.lc-advice p { margin:0 0 8px; color:#7b705f; font-size:11px; }
.lc-advice strong { display:block; color:#302c27; font-family:"Songti SC","STSong",serif; font-size:18px; line-height:1.85; font-weight:500; }
.lc-origin-source { margin:0 0 18px; color:var(--lc-accent); font-size:12px; font-weight:750; }
.lc-origin blockquote { margin:0; padding:0 0 0 22px; color:#2c2823; border-left:3px solid var(--lc-accent); font-family:"Songti SC","STSong",serif; font-size:24px; line-height:1.75; }
.lc-origin > p:last-child { margin:22px 0 0; color:#5a5348; font-size:15px; line-height:1.9; }
.lc-related-list { border-top:1px solid #bcae97; }
.lc-related-item { padding:23px 0 25px; display:grid; grid-template-columns:94px 1fr; column-gap:20px; border-bottom:1px solid #d2c6b4; }
.lc-related-item p { grid-row:1 / span 3; margin:5px 0 0; color:#817563; font-family:Georgia,"Times New Roman",serif; font-size:10px; }
.lc-related-item h4 { margin:0 0 4px; font-family:"Songti SC","STSong",serif; font-size:23px; }
.lc-related-item span { color:var(--lc-accent); font-size:12px; font-weight:700; }
.lc-related-item div { margin-top:10px; color:#575046; font-size:14px; line-height:1.75; }
.lc-books ol { margin:0; padding:0; list-style:none; counter-reset:lc-books; }
.lc-books li { min-height:92px; padding:17px 0; display:grid; grid-template-columns:46px 150px 1fr; align-items:center; gap:10px; border-top:1px solid #c7baa5; counter-increment:lc-books; }
.lc-books li::before { content:"0" counter(lc-books); color:var(--lc-accent); font-family:Georgia,"Times New Roman",serif; font-size:12px; }
.lc-books li strong { font-family:"Songti SC","STSong",serif; font-size:17px; }
.lc-books li span { color:#55534e; font-size:14px; line-height:1.7; }
.lc-disclaimer { margin:30px auto 0; color:#756b5c; text-align:center; font-size:10px; line-height:1.65; }
.lc-restart { display:block; margin:20px auto 0; padding:8px 4px; color:var(--lc-muted); border:0; border-bottom:1px solid #aaa398; background:transparent; font-size:13px; cursor:pointer; }
.regulatory-footer { min-height:46px; display:flex; align-items:center; justify-content:center; padding:12px; color:#66645e; font-size:11px; }
.regulatory-footer a { color:inherit; text-decoration:none; }

.lc-preview-requested body > * { visibility:hidden; }
.lc-preview-authorized body > * { visibility:visible; }
#lc-preview-gate { position:fixed; inset:0; z-index:100; display:grid; place-items:center; padding:24px; background:var(--lc-paper); }
#lc-preview-gate p { font-family:"Songti SC","STSong",serif; font-size:18px; }
#lc-preview-gate.is-failed p { color:#a6404d; }
.lc-preview-active .regulatory-footer,.lc-preview-active #result-actions,.lc-preview-active .lc-restart { display:none !important; }
.lc-preview-active .lc-result { padding-top:18px; padding-bottom:92px; }
.lc-preview-active .lc-report { margin-top:0; }
.lc-preview-controls { position:fixed; z-index:80; left:50%; bottom:max(14px, env(safe-area-inset-bottom)); width:min(310px, calc(100% - 30px)); min-height:58px; display:grid; grid-template-columns:52px 1fr 52px; align-items:center; transform:translateX(-50%); color:#fff; border:1px solid rgba(255,255,255,.16); background:rgba(28,27,24,.95); transition:opacity .2s ease, transform .2s ease; }
.lc-preview-controls.is-hidden {
  visibility:hidden;
  opacity:0;
  transform:translate(-50%, 10px);
  pointer-events:none;
}
.lc-preview-controls button { height:56px; color:#fff; border:0; background:transparent; font-family:Georgia,serif; font-size:30px; cursor:pointer; }
.lc-preview-controls div { min-width:0; text-align:center; }
.lc-preview-controls strong,.lc-preview-controls span { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.lc-preview-controls strong { font-size:13px; }
.lc-preview-controls span { margin-top:3px; color:#cbc7be; font-size:10px; }

@media (max-width:760px) {
  .lc-app { min-height:calc(100vh - 42px); }
  .lc-intro { min-height:auto; padding:0 0 28px; display:flex; flex-direction:column-reverse; gap:0; }
  .lc-cover { width:100%; max-width:none; height:min(48dvh, 430px); aspect-ratio:auto; border-width:0 0 1px; box-shadow:none; }
  .lc-cover::after { inset:10px; }
  .lc-cover img { object-position:center 41%; }
  .lc-intro-copy { width:100%; padding:24px 21px 0; }
  .lc-kicker { margin-bottom:11px; font-size:12px; }
  .lc-intro h1 { font-size:37px; line-height:1.22; }
  .lc-lead { margin:14px 0 16px; font-size:15px; line-height:1.72; }
  .lc-meta { margin-bottom:19px; font-size:11px; }
  .lc-primary { max-width:none; min-height:52px; }
  .lc-intro-note { text-align:center; }
  .lc-question { min-height:calc(100dvh - 42px); padding:19px 15px 13px; }
  .lc-question-stage { justify-content:flex-start; padding:clamp(20px, 4.6dvh, 40px) 0 10px; }
  .lc-question-stage h2 { min-height:0; margin-bottom:18px; font-size:23px; line-height:1.43; }
  .lc-options { gap:8px; }
  .lc-option { min-height:59px; padding:8px 11px 8px 9px; grid-template-columns:34px 1fr; gap:8px; }
  .lc-option span { width:28px; height:28px; font-size:12px; }
  .lc-option strong { font-size:13px; line-height:1.46; }
  .lc-question-nav { margin-top:auto; min-height:34px; }
  .lc-result { padding:12px 10px 44px; }
  .lc-report { width:100%; }
  .lc-actions { margin:40px 0 0; padding-top:26px; }
  .lc-actions .lc-primary { min-height:64px; gap:3px; font-size:17px; }
  .lc-report { padding:54px 22px 34px; box-shadow:none; }
  .lc-report::before { inset:8px; }
  .lc-manuscript-mark { top:24px; right:22px; font-size:9px; }
  .lc-character-hero { grid-template-columns:1fr; gap:24px; padding-bottom:42px; }
  .lc-character-portrait { width:min(100%, 310px); justify-self:center; }
  .lc-character-identity { text-align:center; }
  .lc-character-label { margin-bottom:7px; }
  .lc-character-identity h2 { font-size:39px; }
  .lc-report-source { margin-top:9px; }
  .lc-character-verdict { margin-top:18px; font-size:18px; }
  .lc-traits { justify-content:center; margin-top:18px; }
  .lc-report-intro { padding:42px 0 38px; }
  .lc-report-intro h2 { font-size:30px; }
  .lc-report-intro > p:last-child { margin-top:16px; font-size:16px; line-height:1.9; }
  .lc-dimensions,.lc-reading,.lc-core,.lc-origin,.lc-related,.lc-books { padding:42px 0; }
  .lc-section-heading { grid-template-columns:34px 1fr; gap:12px; margin-bottom:25px; }
  .lc-section-heading h3 { font-size:27px; }
  .lc-section-lead { margin:-9px 0 24px 46px; font-size:13px; }
  .lc-dimension-list,.lc-reading-list,.lc-core-grid,.lc-related-list { grid-template-columns:1fr; }
  .lc-dimension-list { gap:18px; }
  .lc-reading-item { min-height:0; padding:21px 0 23px; display:block; }
  .lc-reading-item p { margin:0 0 7px; }
  .lc-reading-item h4 { font-size:20px; }
  .lc-reading-item div { font-size:14px; line-height:1.87; }
  .lc-core-item { min-height:0; padding:23px 0 25px; }
  .lc-core-item + .lc-core-item { border-top:1px solid #bcae97; border-left:0; }
  .lc-advice { padding:24px 18px 26px 45px; }
  .lc-advice strong { font-size:16px; }
  .lc-origin blockquote { padding-left:17px; font-size:21px; }
  .lc-related-item { min-height:0; padding:21px 0 23px; display:block; }
  .lc-related-item p { margin:0 0 7px; }
  .lc-books li { grid-template-columns:36px 1fr; gap:8px; padding:17px 0; }
  .lc-books li span { grid-column:2; margin-top:-2px; }
}

@media (max-width:370px) {
  .lc-cover { height:41dvh; }
  .lc-intro-copy { padding:19px 17px 0; }
  .lc-intro h1 { font-size:33px; }
  .lc-lead { margin:11px 0 14px; font-size:14px; }
  .lc-meta { margin-bottom:15px; }
  .lc-question-stage { padding-top:18px; }
  .lc-question-stage h2 { font-size:21px; margin-bottom:14px; }
  .lc-option { min-height:55px; }
  .lc-option strong { font-size:12px; }
}

@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  * { transition:none !important; }
}
