:root{--paper:#f6f1e7;--paper-deep:#efe8d8;--card:#fdfbf6;--ink:#2a2620;--ink-soft:#4a443a;--ink-faint:#8a8375;--line:#ddd3bf;--line-soft:#e9e2d2;--cinnabar:#9a3b26;--cinnabar-soft:#f3e4dc;--gold:#b08d3e;--gold-soft:#f4ecd8;--jade:#2f4a4e;--jade-soft:#e3ebea;--danger:#a03030;--ok:#3f6b4f;--radius:6px;--shadow:0 1px 3px rgba(42,38,32,0.06),0 4px 16px rgba(42,38,32,0.05);--serif:"Noto Serif SC","Songti SC","SimSun","STSong",serif;--sans:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei","Segoe UI",sans-serif}*{box-sizing:border-box}body,html{padding:0;margin:0;font-family:var(--sans);background:var(--paper);color:var(--ink);-webkit-tap-highlight-color:transparent;line-height:1.65;overflow-x:hidden;max-width:100%}h1,h2,h3,h4{font-family:var(--serif);font-weight:600;color:var(--ink)}a{color:inherit;text-decoration:none}button{cursor:pointer}button,input,select,textarea{font-family:inherit}.app{min-height:100vh;background:var(--paper)}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:40;background:var(--ink);color:var(--paper)}.topbar-inner{width:100%;max-width:1240px;margin:0 auto;padding:12px 24px;display:flex;align-items:center;justify-content:space-between;gap:12px}.tb-home{min-height:34px;display:inline-flex;align-items:center;justify-content:center;padding:6px 12px;border:1px solid rgba(246,241,231,.42);border-radius:7px;background:transparent;color:var(--paper);font-size:12px;white-space:nowrap}.tb-home:hover{background:rgba(246,241,231,.12)}.tb-brand{min-width:0;display:flex;align-items:center;gap:10px}.tb-logo,.tb-logo-img{width:34px;height:34px;flex:0 0 34px;border-radius:7px}.tb-logo{display:inline-flex;align-items:center;justify-content:center;background:var(--cinnabar);color:#fff;font-family:var(--serif);font-size:18px;font-weight:700}.tb-logo-img{object-fit:cover}.tb-brand h1{margin:0;color:var(--paper);font-size:16px;letter-spacing:.12em;white-space:nowrap}.tb-brand p{margin:1px 0 0;color:var(--paper);opacity:.7;font-size:11px}.reports-main{min-height:calc(100vh - 150px);padding:28px 16px 60px}.footer{margin-top:30px;padding:22px 16px;border-top:1px solid var(--line);color:var(--ink-faint);text-align:center;font-size:11px}@media (max-width:720px){.topbar-inner{padding:10px 12px}.tb-brand h1{font-size:14px;letter-spacing:.05em}.tb-brand p{display:none}.reports-main{padding:18px 12px 48px}}@media (prefers-color-scheme:dark){html{color-scheme:dark}}.ml-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 20px;border:1px solid var(--ink);background:transparent;color:var(--ink);border-radius:var(--radius);font-size:14px;letter-spacing:.08em;transition:all .18s ease;white-space:nowrap}.ml-btn.primary,.ml-btn:hover{background:var(--ink);color:var(--paper)}.ml-btn.primary{border-color:var(--ink)}.ml-btn.cinnabar,.ml-btn.primary:hover{background:var(--cinnabar);border-color:var(--cinnabar)}.ml-btn.cinnabar{color:#fff}.ml-btn.cinnabar:hover{background:#7e2f1e;border-color:#7e2f1e}.ml-btn:disabled{opacity:.55;cursor:not-allowed}.ml-btn.small{padding:5px 12px;font-size:12px}.ml-btn.gold{background:var(--gold);color:#fff;border-color:var(--gold)}.ml-btn.gold:hover{background:#96782f;border-color:#96782f}.acard{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px;margin-bottom:16px;box-shadow:var(--shadow)}.acard.neg{border-left:3px solid var(--danger)}.acard.pos{border-left:3px solid var(--ok)}.acard-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:10px}.ac-year{display:inline-flex;align-items:baseline;gap:8px;font-family:var(--serif)}.ac-year b{font-size:20px;color:var(--ink)}.ac-year span{color:var(--cinnabar);font-size:13px}.ac-score{font-size:13px;color:var(--ink-soft)}.ac-score b{font-size:15px;color:var(--ink)}.ac-grade{font-size:12px;padding:2px 8px;border:1px solid var(--line);border-radius:4px;color:var(--ink-soft)}.ac-grade.g-偏吉,.ac-grade.g-吉{color:var(--ok);border-color:var(--ok)}.ac-grade.g-偏凶,.ac-grade.g-凶{color:var(--danger);border-color:var(--danger)}.ac-dir{font-size:13px;font-weight:600}.ac-plain{background:var(--paper-deep);border-radius:var(--radius);padding:12px 14px;margin:8px 0}.ac-advice-tag,.ac-core-label,.ac-label,.ac-plain-tag{display:inline-block;font-size:12px;letter-spacing:.08em;color:var(--cinnabar);margin-bottom:4px}.ac-plain-text{margin:0;font-size:14px;line-height:1.7}.ac-core{margin:8px 0}.ac-core p{margin:0;font-size:13px;color:var(--ink-soft)}.ac-half{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px;margin:10px 0}.ac-half-item{border:1px solid var(--line-soft);border-radius:var(--radius);padding:10px 12px;background:#fff}.ac-half-item.neg{border-left:3px solid var(--danger)}.ac-half-item.pos{border-left:3px solid var(--ok)}.ac-half-tag{color:var(--ink-soft)}.ac-half-score,.ac-half-tag{font-size:12px;display:block}.ac-half-score{color:var(--ink);margin:2px 0}.ac-half-item p{margin:4px 0 0;font-size:13px;color:var(--ink-soft)}.ac-domains{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px;margin:10px 0}.ac-domain{border:1px solid var(--line-soft);border-radius:var(--radius);padding:10px 12px;background:#fff}.ac-domain span{display:block;font-size:12px;color:var(--ink-faint);margin-bottom:4px}.ac-domain p{margin:0;font-size:13px;color:var(--ink-soft)}.ac-advice{margin:10px 0;padding:10px 12px;background:var(--gold-soft);border-radius:var(--radius)}.ac-advice p{margin:0;font-size:13px;color:var(--ink)}.ac-summary{border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;margin:10px 0;background:linear-gradient(135deg,var(--jade-soft),var(--paper))}.ac-summary-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:6px}.ac-summary-tag{display:inline-block;letter-spacing:.1em;color:#fff;background:var(--jade)}.ac-summary-cls,.ac-summary-tag{font-size:12px;border-radius:4px;padding:2px 8px}.ac-summary-cls{font-weight:600;border:1px solid var(--line)}.ac-summary-cls.cls-mixed_positive,.ac-summary-cls.cls-positive{color:var(--ok);border-color:var(--ok)}.ac-summary-cls.cls-mixed_negative,.ac-summary-cls.cls-negative{color:var(--danger);border-color:var(--danger)}.ac-summary-cls.cls-mixed{color:#a0702a;border-color:#d8b36a}.ac-summary-cls.cls-stable{color:var(--ink-soft);border-color:var(--line)}.ac-summary-theme{font-family:var(--serif);font-size:14px;font-weight:600;color:var(--ink)}.ac-summary-dir{margin:4px 0;font-size:13px;color:var(--cinnabar)}.ac-summary-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px;margin:8px 0}.ac-summary-cell{border:1px solid var(--line-soft);border-radius:var(--radius);padding:10px 12px;background:#fff}.ac-summary-cell.pos{border-left:3px solid var(--ok)}.ac-summary-cell.pre{border-left:3px solid var(--cinnabar)}.ac-summary-cell p{margin:0;font-size:13px;color:var(--ink-soft)}.ac-block{margin:10px 0}.ac-tags{display:flex;flex-wrap:wrap;gap:6px}.ac-tag{font-size:12px;border:1px solid var(--line);border-radius:12px;padding:3px 10px;background:#fff}.ac-note,.ac-tag{color:var(--ink-soft)}.ac-note{margin:4px 0 0;font-size:13px}.ac-career-axes{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px;margin:10px 0}.ac-career-axis{border:1px solid var(--line-soft);border-radius:var(--radius);padding:10px 12px;background:#fff}.ac-career-axis.pos{border-left:3px solid var(--ok)}.ac-career-axis.neg{border-left:3px solid var(--danger)}.ac-career-axis-tag{display:block;font-size:12px;color:var(--ink-faint)}.ac-career-axis-score{display:block;font-size:12px;color:var(--ink);margin:2px 0}.ac-career-axis-ev{margin:4px 0 0;padding-left:16px;font-size:12px;color:var(--ink-soft)}.ac-pro{margin-top:10px}.ac-pro-toggle{width:100%;text-align:left;background:transparent;border:1px dashed var(--line);border-radius:var(--radius);padding:8px 12px;font-size:13px;color:var(--ink-soft)}.ac-pro-toggle:hover{border-color:var(--cinnabar);color:var(--cinnabar)}.ac-pro-body{margin-top:10px;padding:12px;border:1px solid var(--line-soft);border-radius:var(--radius);background:#fff}.ac-pro-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:8px;gap:8px;margin-bottom:8px}.ac-pro-item p{margin:2px 0 0;font-size:13px;color:var(--ink)}.ac-basis,.ac-rels,.ac-uncertain{margin:6px 0 0;padding-left:18px;font-size:13px;color:var(--ink-soft)}.ac-basis li,.ac-rels li,.ac-uncertain li{margin-bottom:4px}.ac-pro-domains{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.ac-pro-domain{border:1px solid var(--line-soft);border-radius:var(--radius);padding:8px 10px}.ac-pro-domain b{display:block;font-size:12px;color:var(--cinnabar)}.ac-pro-domain p{margin:4px 0 0;font-size:12px;color:var(--ink-soft)}@media (max-width:640px){.ac-career-axes,.ac-domains,.ac-half,.ac-pro-domains,.ac-summary-grid{grid-template-columns:1fr}.acard{padding:14px}}.lang-switch{position:relative;flex-shrink:0}.lang-switch,.lang-trigger{display:inline-flex;align-items:center}.lang-trigger{gap:6px;background:transparent;border:1px solid rgba(246,241,231,.35);color:inherit;border-radius:6px;padding:6px 10px;font-size:12px;cursor:pointer;white-space:nowrap;line-height:1}.lang-trigger:hover{background:rgba(246,241,231,.12)}.lang-globe{font-size:13px}.lang-caret{font-size:10px;opacity:.7}.lang-menu{position:absolute;right:0;top:calc(100% + 6px);z-index:1000;min-width:148px;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 6px 20px rgba(42,38,32,.14);padding:6px;display:flex;flex-direction:column;gap:2px;max-height:min(70vh,420px);overflow-y:auto}.lang-menu button{display:flex;align-items:center;gap:8px;border:none;background:transparent;padding:8px 10px;font-size:13px;color:var(--ink);text-align:left;cursor:pointer;border-radius:5px;font-family:inherit}.lang-menu button:hover{background:var(--gold-soft)}.lang-menu button.active{background:var(--cinnabar-soft);color:var(--cinnabar);font-weight:600}.lang-menu .lm-short{width:22px;height:22px;border-radius:4px;background:var(--paper-deep);display:inline-flex;align-items:center;justify-content:center;font-size:11px;flex-shrink:0}.lang-list{display:flex;flex-direction:column;gap:4px}.lang-list button{border:none;background:transparent;padding:10px 12px;font-size:14px;color:var(--paper);text-align:left;cursor:pointer;font-family:inherit}.lang-list button:hover{background:rgba(246,241,231,.1)}.lang-list button.active{color:var(--gold);font-weight:600}.mobile-menu{position:relative;display:none}.mm-trigger{display:inline-flex;flex-direction:column;justify-content:center;gap:4px;width:38px;height:38px;padding:8px;background:transparent;border:1px solid rgba(246,241,231,.35);border-radius:6px;cursor:pointer}.mm-trigger .mm-bar{height:2px;width:20px;background:currentColor;border-radius:1px;margin:0 auto}.mm-panel{position:absolute;right:0;top:calc(100% + 6px);z-index:70;min-width:220px;background:var(--ink);color:var(--paper);border:1px solid rgba(246,241,231,.15);border-radius:10px;box-shadow:0 10px 28px rgba(0,0,0,.35);padding:10px}.mm-nav{display:flex;flex-direction:column;gap:2px}.mm-nav button{border:none;background:transparent;color:var(--paper);padding:10px 12px;font-size:14px;text-align:left;cursor:pointer;font-family:inherit}.mm-nav button:hover{background:rgba(246,241,231,.1)}.mm-divider{height:1px;background:rgba(246,241,231,.15);margin:6px 0}@media (max-width:720px){.mobile-menu{display:inline-flex}.lang-switch.mobile-prominent{display:inline-flex;z-index:110}.lang-switch.mobile-prominent .lang-trigger{min-width:58px;min-height:42px;padding:8px 10px;border-color:rgba(246,241,231,.9);background:var(--paper);color:var(--ink);box-shadow:0 4px 14px rgba(0,0,0,.2);font-size:13px;font-weight:700}.lang-switch.mobile-prominent .lang-globe{font-size:16px}.lang-switch.mobile-prominent .lang-label{min-width:18px;text-align:center}.lang-menu{position:absolute;left:auto;right:0;bottom:auto;top:calc(100% + 8px);width:174px;min-width:174px;max-height:min(60vh,330px);overflow-y:auto;z-index:120;padding:6px;border-radius:10px}.lang-menu button{min-height:42px;font-size:14px;padding:8px 10px}.mm-panel{position:absolute;left:auto;right:0;bottom:auto;top:calc(100% + 8px);width:180px;min-width:180px;max-height:50vh;overflow-y:auto;border-radius:10px}.mobile-menu.align-left .mm-panel{left:0;right:auto}}