:root{--bg:#f7f5f0;--surface:#fff;--text:#1f1f1f;--muted:#555;--line:#d9d4c7;--accent:#8a2a1c;--accent-text:#fff;--error:#b00020;--warn-bg:#fff6e0;--focus:#1a5fb4;color:var(--text);background:var(--bg);font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Noto Sans CJK SC,Source Han Sans SC,sans-serif;font-size:16px;line-height:1.6}*{box-sizing:border-box}body{margin:0}#app{max-width:1200px;margin:0 auto;padding:16px}h1{margin:.5rem 0;font-size:1.75rem}h2{margin:0 0 .75rem;font-size:1.35rem}h3{margin:0 0 .5rem;font-size:1.1rem}h4{margin:.75rem 0 .25rem;font-size:1rem}.lead{color:var(--muted)}.hint{color:var(--muted);font-size:.95rem}.scope,.advanced,details{background:var(--surface);border:1px solid var(--line);border-radius:8px;margin:12px 0;padding:0 12px}summary{cursor:pointer;align-items:center;min-height:44px;font-weight:600;display:flex}.people{grid-template-columns:1fr;gap:16px;display:grid}@media (width>=768px){.people{grid-template-columns:1fr 1fr}}fieldset.person{background:var(--surface);border:1px solid var(--line);border-radius:8px;min-width:0;margin:0;padding:12px 16px 16px}fieldset.person>legend{padding:0 6px;font-size:1.2rem;font-weight:700}fieldset.basis{border:0;min-width:0;margin:12px 0 0;padding:0}fieldset.basis>legend{margin-bottom:4px;padding:0;font-weight:600}.field{flex-direction:column;margin-top:12px;display:flex}.field>label{margin-bottom:4px;font-weight:600}input[type=text],input[type=date],input[type=time],select{font:inherit;min-height:44px;color:var(--text);background:#fff;border:1px solid #8c8577;border-radius:6px;width:100%;max-width:100%;padding:8px 10px}.radio,.checkbox{cursor:pointer;align-items:center;gap:10px;min-height:44px;display:flex}.radio input,.checkbox input{flex:none;width:22px;height:22px;margin:0}[aria-invalid=true]{border-color:var(--error);outline:2px solid var(--error);outline-offset:1px}.field-error{color:var(--error);margin:4px 0 0;font-size:.95rem}button{font:inherit;background:var(--surface);min-width:44px;min-height:44px;color:var(--text);cursor:pointer;border:1px solid #8c8577;border-radius:6px;padding:8px 16px}button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text);width:100%;margin-top:16px;font-weight:700}@media (width>=768px){button.primary{width:auto}}button:disabled{opacity:.55;cursor:not-allowed}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.status{min-height:1.6em;margin:16px 0 8px;font-weight:600}.status[data-status=failed],.status[data-status=invalid]{color:var(--error)}.actions{flex-wrap:wrap;gap:8px;margin:8px 0 16px;display:flex}.result-block{background:var(--surface);border:1px solid var(--line);border-radius:8px;margin:16px 0;padding:16px}.pair{grid-template-columns:1fr;gap:16px;display:grid}@media (width>=768px){.pair{grid-template-columns:1fr 1fr}}.card{border:1px solid var(--line);background:var(--surface);border-radius:8px;min-width:0;padding:12px}.card.warn,.notice{background:var(--warn-bg);color:var(--text)}.notice{border:1px solid #e0c98a;border-radius:8px;padding:12px}dl{margin:0}.kv{border-bottom:1px dashed var(--line);grid-template-columns:8em 1fr;gap:8px;padding:4px 0;display:grid}.kv dt{color:var(--muted)}.kv dd{overflow-wrap:anywhere;margin:0}.meta{margin-top:12px}.table-scroll{max-width:100%;overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:320px}caption{text-align:left;color:var(--muted);padding-bottom:4px}th,td{border:1px solid var(--line);text-align:center;white-space:nowrap;padding:6px 8px}thead th{background:#efebe1}tbody th{text-align:left;background:#faf8f3;font-weight:600}tr.ganzhi td{letter-spacing:.1em;font-size:1.35rem;font-weight:700}td.day-pillar{outline:2px solid var(--accent);outline-offset:-2px}@media (width<=480px){#app,.result-block{padding:10px}.card{padding:8px}table{min-width:0}th,td{padding:6px 3px}tr.ganzhi td{letter-spacing:0;font-size:1.2rem}.kv{grid-template-columns:6.5em 1fr}}.elements ul{margin:0;padding:0;list-style:none}.elements li{grid-template-columns:2em 1fr 3.5em;align-items:center;gap:8px;padding:2px 0;display:grid}.bar{background:#ece7db;border-radius:5px;height:10px;overflow:hidden}.bar-fill{background:#6d6455;height:100%;display:block}.el-count{text-align:right}.evidence-list{grid-template-columns:1fr;gap:12px;display:grid}@media (width>=768px){.evidence-list{grid-template-columns:1fr 1fr}}.evidence details{margin:8px 0 0}.questions li{margin:6px 0}#food{margin-top:32px}#food select[multiple]{min-height:8em}#food input[type=number]{font:inherit;border:1px solid #8c8577;border-radius:6px;width:100%;min-height:44px;padding:8px 10px}#food .tag{background:var(--warn-bg);border:1px solid #e0c98a;border-radius:4px;margin:0 0 4px;padding:2px 8px;font-size:.9rem;display:inline-block}#food .notes{color:var(--muted);font-size:.95rem}#food .card button{margin-top:8px}.disclaimer{border-top:1px solid var(--line);margin-top:12px;padding-top:12px}.site-footer{color:var(--muted);border-top:1px solid var(--line);margin-top:24px;font-size:.95rem}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}#print-root{display:none}@media print{:root{background:#fff}#app{display:none!important}#print-root{color:#000;padding:0 8mm;display:block}#print-root .result-block,#print-root .card{break-inside:avoid;border:1px solid #999}#print-root details{border:0}#print-root details>:not(summary){display:block}}
