:root{--brand: #7c6ff0;--brand-soft: rgba(124, 111, 240, .12);--brand-line: rgba(124, 111, 240, .3);--bg: #f4f5fb;--panel: #ffffff;--panel-2: #f3f4f9;--line: #e6e8f0;--text-1: #2b2f3a;--text-2: #8a90a2;--gutter: clamp(16px, 4vw, 56px);--shell: 1120px;--shadow-card: 0 6px 20px rgba(20, 24, 46, .06)}:root[data-theme=dark]{--bg: #14151b;--panel: #1d1f27;--panel-2: #24262f;--line: #2f323c;--text-1: #e6e8ee;--text-2: #9aa0b0;--brand-soft: rgba(124, 111, 240, .18);--shadow-card: 0 6px 20px rgba(0, 0, 0, .28)}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:-apple-system,PingFang SC,Microsoft YaHei,Segoe UI,sans-serif;background:var(--bg);color:var(--text-1);-webkit-font-smoothing:antialiased}#liuren-root{min-height:40vh}.nav{display:flex;align-items:center;justify-content:space-between;padding:14px var(--gutter);color:#fff;background:linear-gradient(120deg,#0b1a3a,#1b1740)}.nav__logo{font-size:18px;font-weight:800;letter-spacing:2px;color:#fff;text-decoration:none}.nav__theme{border:1px solid rgba(255,255,255,.25);background:#ffffff14;color:#fff;padding:6px 14px;border-radius:999px;cursor:pointer}.container{max-width:calc(var(--shell) + var(--gutter) * 2);margin:0 auto;padding:28px var(--gutter) 64px}.tool-intro{max-width:760px;margin:0 auto 20px}.tool-intro h1{font-size:32px;margin:0 0 10px;letter-spacing:4px}.tool-intro p{color:var(--text-2);line-height:1.9;margin:0}.tool-faq{max-width:760px;margin:32px auto 0;border-top:1px solid var(--line);padding-top:20px}.tool-faq h2{font-size:20px;margin:0 0 12px}.tool-faq h3{font-size:15px;margin:16px 0 6px;color:var(--brand)}.tool-faq p{font-size:14px;line-height:1.9;color:var(--text-1);margin:0 0 8px}.tool-faq a{color:var(--brand)}.modal.modal--hidden{display:none}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:flex-start;justify-content:center;padding:max(6vh,48px) var(--gutter) 32px;background:#0f122680;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);overflow-y:auto}.modal__panel{position:relative;width:100%;max-width:460px;animation:modal-in .2s ease}.modal__close{position:absolute;top:-38px;right:0;width:30px;height:30px;border-radius:50%;border:1px solid rgba(255,255,255,.35);background:#ffffff1f;color:#fff;font-size:18px;line-height:1;cursor:pointer}.modal__close:hover{background:#ffffff40}@keyframes modal-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.form-card{border:1px solid var(--line);border-radius:14px;padding:18px;background:var(--panel);box-shadow:0 8px 24px #0000000f}.form-card__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.form-card__head h3{margin:0;font-size:18px;border-bottom:3px solid var(--brand);padding-bottom:4px}.mb{margin-bottom:12px}.opt-row{display:flex;align-items:center;gap:12px}.opt-label{width:48px;font-size:14px;color:var(--text-2)}.f-datetime,.f-select{height:36px;padding:0 10px;border:1px solid var(--line);border-radius:6px;background:var(--panel);color:var(--text-1);font-size:14px;outline:none}.f-datetime:focus,.f-select:focus{border-color:var(--brand)}.seg{display:inline-flex;border:1px solid var(--line);border-radius:6px;overflow:hidden;background:var(--panel-2)}.seg button{border:0;background:transparent;color:var(--text-2);padding:6px 14px;font-size:13px;cursor:pointer;border-right:1px solid var(--line)}.seg button:last-child{border-right:0}.seg button.is-active{background:var(--brand);color:#fff}.f-now{height:36px;padding:0 14px;border:1px solid var(--brand-line);border-radius:6px;background:var(--brand-soft);color:var(--brand);font-size:13px;cursor:pointer}.f-now:hover{border-color:var(--brand)}.form-hint{margin:0 0 14px;font-size:12px;line-height:1.8;color:var(--text-2)}.submit{width:100%;height:44px;font-size:16px;letter-spacing:4px;background:linear-gradient(90deg,#7c6ff0,#9d7bf0,#b98ef0);border:0;color:#fff;border-radius:8px;cursor:pointer}.submit:disabled{opacity:.6;cursor:not-allowed}.result{display:grid;grid-template-columns:108px 1fr;gap:18px;align-items:start;max-width:1000px;margin:0 auto}.rail{display:flex;flex-direction:column;gap:8px;position:sticky;top:16px;padding:10px;border:1px solid var(--line);border-radius:14px;background:var(--panel);box-shadow:var(--shadow-card)}.rail__paipan,.rail__tab{border:1px solid transparent;cursor:pointer;padding:11px 8px;border-radius:9px;font-size:13px;line-height:1.4;font-weight:600;transition:background .15s,color .15s,border-color .15s}.rail__paipan{color:var(--brand);background:var(--brand-soft);border-color:var(--brand-line);margin-bottom:4px;font-size:14px}.rail__paipan:hover{border-color:var(--brand)}.rail__tab{color:var(--text-2);background:transparent}.rail__tab:hover{background:var(--brand-soft);color:var(--brand)}.content{min-width:0;display:flex;flex-direction:column;gap:14px}.panelbox{position:relative;border:1px solid var(--line);border-radius:16px;padding:clamp(18px,2.5vw,28px);background:var(--panel);box-shadow:var(--shadow-card);overflow:hidden;display:flex;flex-direction:column;gap:22px}.panelbox:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#7c6ff0,#9d7bf0,#b98ef0);opacity:.75}@media(max-width:720px){.result{grid-template-columns:1fr;gap:12px}.rail{flex-direction:row;flex-wrap:wrap;align-items:center;position:static}.rail__paipan,.rail__tab{flex:1;margin-bottom:0;white-space:nowrap}.panelbox{padding:14px}}.info-bar{display:flex;align-items:center;gap:14px;padding:16px 20px;border-radius:14px;color:#fff;background:linear-gradient(120deg,#0b1a3a,#132b57 40%,#1b1740);box-shadow:0 6px 18px #0b1a3a40}.info-bar__name{font-size:22px;font-weight:800;letter-spacing:2px;flex-shrink:0}.info-bar__tags{display:flex;flex-wrap:wrap;gap:8px;flex:1}.pill{padding:4px 12px;border-radius:999px;font-size:13px;background:#ffffff1a;border:1px solid rgba(255,255,255,.14);white-space:nowrap}.pill--accent{background:#ffd66629;color:#ffd666;border-color:#ffd66666;font-weight:700}.pill--ghost{background:transparent}.sect{display:flex;flex-direction:column;gap:10px}.sect__title{margin:0;font-size:14px;font-weight:600;color:var(--brand);padding-left:9px;border-left:3px solid var(--brand);line-height:1.4;display:flex;align-items:center;gap:8px}.sect__note{margin:0;font-size:12px;line-height:1.7;color:var(--text-2)}.tag{font-style:normal;font-size:12px;font-weight:400;padding:1px 8px;border-radius:4px;color:var(--brand);background:var(--brand-soft);border:1px solid var(--brand-line)}.grid-wrap{border:1px solid var(--brand-line);border-radius:12px;overflow-x:auto;background:var(--panel);box-shadow:0 6px 18px #7c6ff01a}.shipan{display:grid;grid-template-columns:repeat(4,1fr);grid-template-areas:"g5 g6 g7 g8" "g4 c  c  g9" "g3 c  c  g10" "g2 g1 g0 g11";gap:1px;background:var(--line);min-width:320px}.gongcell{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:10px 4px;background:var(--panel);min-height:86px}.gongcell__jiang{font-size:12px;color:var(--text-2);letter-spacing:1px}.gongcell__main{display:inline-flex;align-items:baseline;gap:2px}.gongcell__dun{font-size:12px;color:var(--text-2)}.gongcell__kong{font-size:10px;color:#e0a800;border:1px solid #e0a800;border-radius:50%;padding:1px 2px;line-height:1;transform:translateY(-6px)}.gongcell__di{font-size:12px;color:var(--text-2);border-top:1px dashed var(--line);padding-top:3px;min-width:2em;text-align:center}.shipan__center{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;background:var(--panel-2);padding:10px;text-align:center}.shipan__yuejiang{font-size:13px;color:var(--text-2);letter-spacing:2px}.shipan__yuejiang b{font-size:18px;color:var(--brand);margin-left:4px}.shipan__pillars{font-size:15px;font-weight:700;letter-spacing:1px}.shipan__ma{font-size:11px;color:var(--text-2)}.pan{width:100%;border-collapse:collapse;text-align:center;font-size:13px}.pan th,.pan td{border:1px solid var(--line);padding:8px 4px;vertical-align:middle;min-width:56px}.pan tr>:first-child{border-left:0}.pan tr>:last-child{border-right:0}.pan thead th{border-top:0;background:linear-gradient(180deg,var(--brand-soft),var(--panel-2));color:var(--text-2);font-weight:600;padding:9px 4px;letter-spacing:1px}.pan tbody tr:last-child>*{border-bottom:0}.pan--dense th,.pan--dense td{min-width:44px;padding:6px 2px;font-size:12px}.row-head{background:var(--panel-2);color:var(--text-2);width:42px;min-width:42px;font-weight:600}.ke__jiang{color:var(--text-2);font-size:12px}.chuan{display:flex;flex-direction:column;gap:8px}.chuan__row{display:flex;align-items:center;gap:14px;padding:8px 14px;border:1px solid var(--line);border-radius:10px;background:var(--panel)}.chuan__title{width:3em;font-size:13px;font-weight:600;color:var(--text-2)}.chuan__dun{width:2em;text-align:center;font-size:13px;color:var(--text-2)}.chuan__jiang,.chuan__qin{font-size:13px;color:var(--text-1)}.chuan__qin{color:var(--brand)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:8px;overflow:hidden}.cell{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;background:var(--panel);font-size:13px}.cell__label{color:var(--text-2);flex-shrink:0}.cell__value{font-weight:600;display:inline-flex;align-items:baseline;gap:8px;flex-wrap:wrap;justify-content:flex-end;text-align:right}.cell--wide{grid-column:1 / -1;justify-content:flex-start}.cell--wide .cell__value{justify-content:flex-start;text-align:left;font-weight:400}.inline-gz{display:inline-flex;gap:1px}.ganzhi{display:inline-flex;align-items:baseline;font-weight:700;line-height:1;white-space:nowrap}.ganzhi__char{font-family:KaiTi,STKaiti,serif}.ganzhi.is-sm .ganzhi__char{font-size:15px}.ganzhi.is-md .ganzhi__char{font-size:20px}.ganzhi.is-lg .ganzhi__char{font-size:26px}.ganzhi__wx{font-size:.55em;font-weight:400;margin-left:1px;opacity:.85}.alert{max-width:760px;margin:24px auto;padding:14px 18px;border:1px solid #e0a800;border-radius:10px;background:#e0a80014;font-size:14px;display:flex;align-items:center;gap:12px;justify-content:space-between}.btn{border:1px solid var(--brand-line);background:var(--brand-soft);color:var(--brand);padding:6px 14px;border-radius:6px;cursor:pointer}.toast{position:fixed;top:24px;left:50%;transform:translate(-50%);z-index:9999;padding:10px 20px;border-radius:8px;background:#2b2f3a;color:#fff;font-size:14px;box-shadow:0 8px 24px #0003;animation:toast-in .2s ease}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%)}}
