:root{--cyan:#9dbacb;--amber:#ddb58d}.decode-hero{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:42px 0 30px}.decode-hero h1{font-size:38px;margin:10px 0;letter-spacing:1px}.decode-hero p{color:var(--muted);line-height:1.8;margin:0;max-width:730px}.progress-ring{width:94px;height:94px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;flex-shrink:0;color:var(--green);font-size:26px;background:#1b2520}.module-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:8px 0 38px}.module-link{--accent:var(--green);border:1px solid var(--line);border-radius:12px;padding:24px;background:var(--panel);transition:border-color .2s}.module-link:nth-child(2){--accent:var(--cyan)}.module-link:nth-child(3){--accent:var(--amber)}.module-link:hover{border-color:var(--accent)}.module-link header{display:flex;justify-content:space-between;align-items:center;color:var(--accent);font-size:12px;gap:10px}.module-link h2{font-size:22px;margin:22px 0 12px}.module-link p{font-size:14px;color:var(--muted);line-height:1.7;margin:0}.module-action{display:block;margin-top:23px;color:var(--accent);font-size:14px}.module-symbol{font-size:24px}.status-tag{padding:4px 8px;border:1px solid #4b5751;border-radius:30px;font-size:12px}.section-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:30px 0 20px}.section-bar h2{font-size:23px}.section-bar p{color:var(--muted);font-size:14px;margin-bottom:0;line-height:1.7}.actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.primary,.secondary{border-radius:7px;padding:11px 18px;min-height:44px;font-size:14px;display:inline-flex;align-items:center;justify-content:center;gap:8px;line-height:1.5;text-align:center}.primary{background:var(--green);color:#162019;border:1px solid var(--green);font-weight:600}.secondary{border:1px solid #536059;color:var(--text);background:transparent}.primary:disabled,.secondary:disabled{opacity:.4}.primary:hover:not(:disabled){background:#d3e8ae}.secondary:hover{background:#25302b}.portrait{border:1px solid var(--line);border-radius:14px;padding:28px;background:linear-gradient(135deg,#1c2622,#182124 65%,#25251f);margin-bottom:24px}.portrait-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #3b4840;padding-bottom:23px}.portrait-heading h2{font-family:"Songti SC",Georgia,serif;font-size:28px}.portrait-heading span{font-size:13px;color:var(--muted)}.portrait-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding-top:24px}.portrait-column{min-width:0}.portrait-column+.portrait-column{border-inline-start:1px solid var(--line);padding-inline-start:24px}.portrait-column .perspective{color:var(--green);font-size:12px;line-height:1.7}.portrait-column:nth-child(2) .perspective{color:var(--cyan)}.portrait-column:nth-child(3) .perspective{color:var(--amber)}.portrait-column h3{font-size:20px;margin:10px 0 16px;font-weight:500}.portrait-column p{font-size:14px;color:var(--muted);line-height:1.8}.portrait-empty{min-height:225px;border:1px dashed #536058;border-radius:8px;display:flex;align-items:center;justify-content:center;text-align:center;flex-direction:column;padding:20px}.portrait-empty .module-symbol{font-size:36px;color:#697e6d;margin-bottom:14px}.portrait-bottom{border-top:1px solid var(--line);padding-top:20px;margin-top:28px;font-size:13px;line-height:1.8;color:var(--muted)}.graph{width:100%;height:auto;display:block;overflow:visible}.graph text{font-family:"PingFang SC","Microsoft YaHei",Arial,sans-serif}.cohort{border:1px solid var(--line);border-radius:10px;padding:22px;margin-top:20px;background:#131b1b}.cohort h3{font-size:16px;font-weight:500;margin:0 0 10px}.cohort p{margin:0;color:var(--muted);font-size:13px;line-height:1.8}.cohort-bars{height:24px;display:flex;gap:7px;margin:16px 0}.cohort-bars span{flex:1;border-radius:4px;background:#26342d}.scope-note,.source-note{border-inline-start:2px solid #668474;padding:8px 14px;font-size:13px;color:var(--muted);line-height:1.8;margin:20px 0}.source-note{border-color:var(--amber)}.view-heading{margin:28px 0}.view-heading>a{color:var(--muted);font-size:14px}.view-heading h1{font-size:34px;margin:18px 0 12px}.view-heading p{color:var(--muted);line-height:1.8;max-width:850px}.work-area{max-width:880px;margin:0 auto 40px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:30px;margin:22px 0}.panel h2{font-size:20px;line-height:1.7}.panel p{color:var(--muted);line-height:1.8}.quiz-progress{display:flex;gap:18px;align-items:center;font-size:13px;color:var(--muted);margin:25px 0 18px}.quiz-progress progress{flex:1;height:5px;accent-color:var(--green)}.question-title{font-size:23px;font-weight:500;line-height:1.8;margin:20px 0}.approaches{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:22px 0}.approach{padding:19px;border:1px solid #414f47;border-radius:8px}.approach strong{color:var(--green);font-size:13px}.approach p{font-size:16px;margin-bottom:0;color:var(--text)}.answers{border:0;margin:25px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}.answer{cursor:pointer;display:flex;align-items:center;gap:12px;padding:14px;border:1px solid #455149;border-radius:7px;font-size:14px;line-height:1.6}.answer:has(input:checked){border-color:var(--green);background:#2e3e2a}.answer input{accent-color:var(--green);width:17px;height:17px;flex-shrink:0}.answer:hover{background:#25302b}.quiz-actions{display:flex;justify-content:space-between;gap:12px;margin-top:25px}.question-jump{display:flex;gap:6px;flex-wrap:wrap;margin-top:20px}.question-jump button{width:30px;height:30px;border:1px solid #4d5b51;background:transparent;border-radius:5px;font-size:12px}.question-jump button.answered{background:#384933;color:var(--green)}.question-jump button.current{outline:2px solid var(--green);outline-offset:1px}.inline-error{color:#f0b8a8;font-size:14px;line-height:1.7;margin:14px 0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field{display:flex;flex-direction:column;gap:9px;font-size:14px;min-width:0}.field label{line-height:1.6}.field input,.field select{background:#11191a;border:1px solid #536058;border-radius:6px;color:var(--text);padding:12px;font:inherit;width:100%;min-width:0;min-height:45px}.field small{font-size:12px;line-height:1.7;color:var(--muted)}input:focus-visible{outline:2px solid var(--green);outline-offset:3px}.form-bottom{margin-top:25px;display:flex;align-items:center;gap:18px;flex-wrap:wrap}.result-layout{display:grid;grid-template-columns:1fr 1fr;gap:25px;align-items:start;margin:24px 0}.result-layout .panel{margin:0;min-width:0}.result-title{font-size:30px;line-height:1.5;color:var(--green);font-family:"Songti SC",Georgia,serif;margin:16px 0}.result-code{font-size:14px;color:var(--muted);overflow-wrap:anywhere;direction:ltr}.result-copy{line-height:1.85;font-size:16px;white-space:pre-line}.muted{color:var(--muted)}.detail-list{display:grid;gap:18px}.detail-list article{border-bottom:1px solid var(--line);padding-bottom:18px}.detail-list h3{font-size:17px;font-weight:500;margin:8px 0}.detail-list p{margin:8px 0;font-size:14px;line-height:1.85;color:var(--muted)}details{margin:20px 0;border:1px solid var(--line);padding:16px 20px;border-radius:8px}summary{cursor:pointer;font-size:14px;line-height:1.8}details p,details li{font-size:14px;line-height:1.8;color:var(--muted)}.type-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:18px 0}.type-cell{padding:13px 8px;border:1px solid #39493e;border-radius:6px;text-align:center;font-size:12px;line-height:1.7}.type-cell b{font-size:14px;display:block}.type-cell.selected{background:#3b4c30;border-color:var(--green);color:var(--green)}.pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:20px 0}.pillar{background:#11191a;border-radius:8px;padding:18px;text-align:center}.pillar small{color:var(--muted);font-size:12px}.pillar strong{display:block;font-family:serif;font-size:28px;margin-top:10px;font-weight:400;color:var(--amber)}.candidate-list{display:grid;gap:16px}.candidate{border:1px solid var(--line);border-radius:10px;padding:20px}.candidate h3{font-size:19px;margin:0 0 10px}.candidate p{font-size:14px;color:var(--muted);line-height:1.8}.data-table{width:100%;border-collapse:collapse;font-size:13px}.data-table td,.data-table th{text-align:start;border-bottom:1px solid var(--line);padding:10px 7px}.table-scroll{overflow:auto}.maintenance{margin:20px 0 40px;display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;align-items:center}.maintenance p{font-size:12px;color:var(--muted);line-height:1.8;max-width:680px}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:var(--green);color:#15201a;padding:14px 23px;border-radius:8px;z-index:20;max-width:90vw;font-size:14px;box-shadow:0 8px 30px #0008}dialog{color:var(--text);background:var(--bg);border:1px solid var(--line);border-radius:14px;padding:24px;width:min(900px,94vw);max-height:90vh}dialog::backdrop{background:#000b}.dialog-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.dialog-head button{background:none;border:1px solid var(--line);border-radius:5px;font-size:24px;min-width:38px}.export-preview{max-height:64vh;overflow:auto;margin-bottom:20px}.export-preview img{display:block;width:100%;height:auto}.result-actions{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0 36px}.loading{padding:80px;text-align:center;color:var(--green)}
@media(max-width:900px){.portrait-grid{grid-template-columns:1fr}.portrait-column+.portrait-column{border-inline-start:0;border-top:1px solid var(--line);padding-inline-start:0;padding-top:24px}.portrait-column .graph{max-width:500px;margin:auto}.result-layout{grid-template-columns:1fr}.module-link{padding:20px}.module-link h2{font-size:20px}.portrait-heading{align-items:flex-start;flex-direction:column}}
@media(max-width:760px){.decode-hero{padding:28px 0 22px;align-items:flex-start}.decode-hero h1{font-size:28px}.decode-hero p{font-size:14px}.progress-ring{width:62px;height:62px;font-size:20px;margin-top:15px}.module-cards{grid-template-columns:1fr;gap:12px;margin-bottom:30px}.module-link{padding:20px}.module-link h2{margin-top:12px}.module-action{margin-top:12px}.section-bar{align-items:flex-start;flex-direction:column}.section-bar h2{font-size:22px}.portrait{padding:20px}.portrait-heading h2{font-size:24px}.view-heading h1{font-size:28px}.panel{padding:22px 18px}.question-title{font-size:20px}.approaches,.answers,.form-grid{grid-template-columns:1fr}.approaches{gap:10px}.approach{padding:15px}.approach p{font-size:15px}.answer{padding:12px}.quiz-progress{gap:12px}.type-grid{grid-template-columns:repeat(2,1fr)}.result-title{font-size:27px}.pillars{gap:6px}.pillar{padding:13px 8px}.pillar strong{font-size:25px}.result-copy{font-size:15px}.portrait-column h3{font-size:20px}.primary,.secondary{padding:10px 14px}.maintenance{align-items:flex-start;flex-direction:column}.view-heading p{font-size:14px}.form-bottom>*{width:100%}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.progress-ring{display:flex;justify-content:center;align-items:center}html[dir=rtl] .result-copy,html[dir=rtl] [lang=zh-CN]{direction:ltr;text-align:start}.type-grid,.pillars{direction:ltr}
.panel>.graph{max-width:620px;margin-inline:auto}.panel .result-title{font-size:29px;line-height:1.5}.structure-charts{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:22px}.structure-charts .graph{align-self:center}
@media(max-width:760px){.structure-charts{grid-template-columns:1fr;gap:22px}.panel .result-title{font-size:25px}}

.export-actions{display:flex;flex-wrap:wrap;gap:10px}.auto-next-note,.birth-sync-note{font-size:13px;color:var(--muted,#a3aeaa);line-height:1.7}.birth-sync-note{padding:14px 18px;border:1px solid #40513f;border-radius:12px}.birth-sync-note button{margin-inline-start:12px}.answers:disabled{opacity:.8}.quiz-actions [hidden]{display:none}

.footer{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:16px 24px}.footer-disclaimer{grid-column:1 / -1;max-width:1080px;font-size:12px;line-height:1.9;color:var(--muted)}.footer-disclaimer p{margin:0 0 6px}.footer-disclaimer p:last-child{margin-bottom:0}@media(max-width:760px){.footer{grid-template-columns:minmax(0,1fr);gap:12px}.footer>div{flex-wrap:wrap;gap:6px 16px}.footer-disclaimer{grid-row:2}.footer>small{grid-row:3}}
