:root{color-scheme:light;--bg:#f5f2e8;--paper:#fffdf6;--ink:#344c39;--muted:#65715f;--line:#dbdecf;--wash:#e6ecda;--peer:#d99328;--peer-track:#faeed9;--output:#319ac4;--output-track:#e7f2f7;--wealth:#49ad85;--wealth-track:#e7f3eb;--officer:#d96e77;--officer-track:#f9eaea;--resource:#b78363;--resource-track:#f4ebe3;font-family:ui-sans-serif,system-ui,"Microsoft YaHei",sans-serif;color:var(--ink);background:var(--bg)}
*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;min-width:320px}a{color:inherit;text-underline-offset:4px}.topbar{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:22px clamp(20px,5vw,70px);border-bottom:1px solid var(--line)}.brand{text-decoration:none;font:700 .82rem/1 Georgia,serif;letter-spacing:.16em}.brand span{color:#899666}nav{display:flex;gap:24px;font-size:.85rem}nav a{text-decoration:none}main{width:min(720px,calc(100% - 36px));margin:48px auto 56px}.eyebrow{font-size:.73rem;letter-spacing:.12em;color:var(--muted);margin:0 0 14px}.intro h1{font:500 clamp(2rem,6vw,3.3rem)/1.3 "Songti SC",Georgia,serif;margin:0 0 12px}.lead{color:var(--muted);line-height:1.8;font-size:.95rem;margin:0 0 32px}.birth-panel,.result-panel{background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:26px 28px}h2{font-size:1.2rem;line-height:1.5;font-weight:600;margin:0 0 9px}.hint{font-size:.8rem;color:var(--muted);line-height:1.8;margin:0 0 14px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:22px}.fields label{display:grid;gap:9px;min-width:0;font-size:.87rem}input{display:block;width:100%;min-width:0;min-height:48px;padding:10px 12px;font:16px/1.4 inherit;font-family:inherit;border:1px solid #bac5ae;border-radius:9px;background:#fffefa;color:var(--ink)}.privacy{color:var(--muted);font-size:.76rem;line-height:1.8;margin:18px 0 20px}.form-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}button{min-height:46px;padding:11px 16px;border-radius:10px;font:500 .87rem/1.5 inherit;font-family:inherit;cursor:pointer}.primary{display:flex;justify-content:space-between;gap:24px;background:#375940;color:#fff;border:1px solid #375940}.secondary{background:transparent;color:var(--ink);border:1px solid #b7c2ab}button:disabled{cursor:wait;opacity:.65}.status{font-size:.83rem;line-height:1.7;color:#86503f;min-height:1.5em;margin:14px 0 0}.result-heading{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;margin:36px 0 16px}.result-heading h2{font-size:1.4rem;margin:0}.result-heading p{font-size:.9rem;margin:0;color:var(--muted)}.part{color:var(--muted);font-size:.73rem;letter-spacing:.09em;margin:0 0 8px}.columns{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:8px;margin:30px 0 18px}.column{min-width:0;text-align:center}.bar-track{position:relative;height:240px;width:20px;margin:0 auto 14px;border-radius:12px 12px 0 0;background:var(--family-track);overflow:hidden}.bar-fill{position:absolute;bottom:0;width:100%;height:var(--height,0%);background:var(--family);border-radius:12px 12px 0 0}.god-name{display:block;font-size:.95rem;line-height:1.6}.percent{display:block;font-size:.85rem;white-space:nowrap;margin-top:9px;font-variant-numeric:tabular-nums}.peer{--family:var(--peer);--family-track:var(--peer-track)}.output{--family:var(--output);--family-track:var(--output-track)}.wealth{--family:var(--wealth);--family-track:var(--wealth-track)}.officer{--family:var(--officer);--family-track:var(--officer-track)}.resource{--family:var(--resource);--family-track:var(--resource-track)}.legend{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;border-top:1px solid var(--line);padding:14px 0 0;color:var(--muted);font-size:.75rem}.legend span{display:inline-flex;align-items:center;gap:6px}.legend i{display:block;width:7px;height:7px;border-radius:50%;background:var(--family)}.chart-note{color:var(--muted);font-size:.76rem;line-height:1.8;margin:16px 0 0}details{margin-top:12px;color:var(--muted);font-size:.8rem;line-height:1.8}summary{display:list-item;min-height:44px;padding:10px 0;color:var(--ink);cursor:pointer}details p{margin:8px 0 12px}.pillars-wrap{max-width:100%;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.75rem}caption{text-align:left;padding-bottom:10px}th,td{padding:9px 7px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;word-break:break-word}th{font-weight:600}.divider{display:flex;align-items:center;gap:14px;color:var(--muted);font-size:.76rem;margin:25px 0}.divider:before,.divider:after{content:"";flex:1;height:1px;background:var(--line)}.date-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding:17px 0 20px;margin-bottom:24px;font-size:.8rem;color:var(--muted)}.date-row b{font-weight:400}.date{font-size:2rem;letter-spacing:.05em;color:var(--ink)}.meetup-result{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.meetup-result h3{font:500 3rem/1.2 "Songti SC",Georgia,serif;letter-spacing:.15em;margin:0}.theme-label{font-size:.73rem;color:var(--muted)}#meetup-theme{margin:5px 0 0;font-size:1.2rem}.relation,.theme-description{color:var(--muted);font-size:.83rem;line-height:1.8;margin:16px 0 0}blockquote{font:400 clamp(1.3rem,4vw,1.65rem)/1.9 "Songti SC",Georgia,serif;border-top:1px solid var(--line);padding:23px 0 0;margin:24px 0 16px;overflow-wrap:anywhere}.quote-source{font-size:.73rem;color:var(--muted);line-height:1.7;margin:0}.disclaimer{font-size:.75rem;color:var(--muted);line-height:1.8;text-align:center;margin:22px 0 0}footer{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;border-top:1px solid var(--line);padding:28px 18px;font-size:.76rem;color:var(--muted)}
@media(max-width:540px){.topbar{align-items:flex-start;gap:16px;flex-direction:column}nav{font-size:.79rem;gap:20px}main{margin-top:30px;width:calc(100% - 28px)}.birth-panel,.result-panel{padding:22px 17px;border-radius:17px}.fields{grid-template-columns:1fr;gap:16px}.form-actions{align-items:stretch}.primary{flex:1}.columns{gap:4px}.bar-track{width:15px;height:205px}.god-name{font-size:.8rem}.percent{font-size:.72rem}.date{font-size:1.7rem}.meetup-result{gap:18px}.meetup-result h3{font-size:2.6rem}}
@media(max-width:360px){.result-panel{padding-left:12px;padding-right:12px}.columns{gap:2px}.bar-track{width:13px}.percent{font-size:11px}.legend{font-size:11px;gap:5px}}
@media(prefers-reduced-motion:no-preference){#result-title{scroll-margin-top:24px}}
input{font-family:inherit;font-size:16px;line-height:1.4}button{font-family:inherit;font-size:.87rem;font-weight:500;line-height:1.5}
