:root{--bg: #1a2233;--card: #232d42;--card-hover: #2a3550;--border: #35415c;--text: #e8ecf5;--text-dim: #9aa7c0;--accent: #7ab8e0;--gold: #d4af6a;--green: #6abf8a;--red: #d97a7a}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:-apple-system,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;line-height:1.6;min-height:100vh}.hero{text-align:center;padding:40px 20px 20px}.hero h1{font-size:2.2em;letter-spacing:2px}.hero .sub{color:var(--text-dim);margin-top:6px}main{max-width:960px;margin:0 auto;padding:0 16px 40px}.card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:20px;margin-bottom:20px}.card h2{font-size:1.15em;margin-bottom:14px;color:var(--accent)}.input-card .row{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:16px}.input-card label{display:flex;flex-direction:column;gap:4px;font-size:.9em;color:var(--text-dim)}.input-card select,.input-card input{background:#1a2130;border:1px solid var(--border);color:var(--text);padding:8px 10px;border-radius:8px;font-size:1em}.btn-primary{background:var(--accent);color:#16202e;border:none;padding:10px 24px;border-radius:8px;font-size:1em;font-weight:600;cursor:pointer}.btn-primary:hover{filter:brightness(1.1)}.pillars{display:flex;gap:16px;flex-wrap:wrap}.pillar{display:flex;flex-direction:column;align-items:center;border:1px solid var(--border);border-radius:10px;padding:10px 18px;background:#1a2130}.pillar-label{font-size:.8em;color:var(--text-dim)}.pillar-gan{font-size:1.6em;font-weight:700;color:var(--accent)}.pillar-zhi{font-size:1.6em;font-weight:700;color:var(--gold)}.meta{color:var(--text-dim);font-size:.9em;margin-top:10px}.ziwei-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-template-areas:"p0 p1 p2 p3" "p11 p0 p1 p4" "p10 p3 p2 p5" "p9 p8 p7 p6";gap:6px;margin-top:10px}.palace{border:1px solid var(--border);border-radius:8px;padding:8px;min-height:74px;background:#1a2130;font-size:.82em}.palace.is-body{border-color:var(--gold)}.palace-head{color:var(--text-dim);font-weight:600}.palace-major{color:var(--accent);font-weight:700;font-size:1.05em}.palace-minor{color:var(--text-dim);font-size:.85em}.palace-mutagen{color:var(--red);font-weight:600;margin-top:2px}.month-table table{width:100%;border-collapse:collapse;font-size:.85em}.month-table th,.month-table td{border:1px solid var(--border);padding:6px 8px;text-align:left}.month-table th{background:#1a2130;color:var(--text-dim)}.month-table tr:nth-child(2n){background:#1e2637}.risk-cell{color:var(--text-dim);font-size:.86em;line-height:1.5}.subscribe-card .gate{margin-top:12px;padding:16px;border:1px dashed var(--gold);border-radius:10px;text-align:center}.subscribe-card .gate p{margin-bottom:10px;color:var(--text-dim)}.preview{background:#1a2130;border-radius:10px;padding:14px}.preview h3{color:var(--gold);margin-bottom:8px;font-size:1em}.preview p{margin:6px 0;font-size:.92em}.footer{text-align:center;color:var(--text-dim);font-size:.8em;padding:20px}.hidden{display:none}.yuyan-report{background:#1a2130;border-radius:8px;padding:10px 14px;margin-bottom:12px;font-size:.95em}.yuyan-report strong{color:var(--gold)}.yuyan-card{border:1px solid var(--border);border-radius:10px;padding:14px;margin-bottom:10px;background:#1a2130}.yuyan-head{display:flex;align-items:center;gap:10px;margin-bottom:6px;flex-wrap:wrap}.yuyan-time{font-weight:700;color:var(--accent)}.yuyan-domain{font-size:.8em;color:var(--text-dim);background:#2a3550;padding:2px 8px;border-radius:10px}.yuyan-status{font-size:.85em;font-weight:600;margin-left:auto}.status-pending{color:var(--text-dim)}.status-hit{color:var(--green)}.status-partial{color:var(--gold)}.status-miss{color:var(--red)}.yuyan-content{font-size:.92em;margin-bottom:4px}.yuyan-basis{font-size:.8em;color:var(--text-dim);margin-bottom:10px}.yuyan-actions{display:flex;gap:8px}.btn-feedback{background:transparent;border:1px solid var(--border);color:var(--text);padding:5px 14px;border-radius:6px;cursor:pointer;font-size:.85em}.btn-feedback:hover{border-color:var(--accent);color:var(--accent)}.yuyan-tools{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 16px}.yuyan-locked{border:1px dashed var(--border);border-radius:10px;padding:16px;text-align:center;color:var(--text-dim);background:#1a2130;margin-top:12px;font-size:.92em}.yuyan-locked strong{color:var(--gold)}.backtest-actions{display:flex;gap:10px;margin:12px 0}.btn-secondary{background:transparent;border:1px solid var(--border);color:var(--text);padding:8px 16px;border-radius:8px;cursor:pointer}.btn-secondary:hover{border-color:var(--accent);color:var(--accent)}.backtest-row{display:flex;gap:8px;align-items:center;margin-bottom:8px}.backtest-row input,.backtest-row select{background:#1a2130;border:1px solid var(--border);color:var(--text);padding:6px 10px;border-radius:6px}.backtest-row .bp-remove{background:transparent;border:none;color:var(--text-dim);font-size:1.2em;cursor:pointer;padding:0 6px}.backtest-row .bp-remove:hover{color:var(--red)}.backtest-result-card{border:1px solid var(--border);border-left:4px solid var(--text-dim);border-radius:8px;padding:10px 14px;margin-bottom:8px;background:#1a2130;font-size:.9em}.backtest-result-card.hit{border-left-color:var(--green)}.backtest-result-card.partial{border-left-color:var(--gold)}.backtest-result-card.miss{border-left-color:var(--red)}.backtest-result-head{display:flex;gap:10px;align-items:center;margin-bottom:4px}.bt-year{font-weight:700;color:var(--accent)}.bt-type{color:var(--text-dim)}.bt-level{margin-left:auto;font-weight:600}.backtest-result-card.hit .bt-level{color:var(--green)}.backtest-result-card.partial .bt-level{color:var(--gold)}.backtest-result-card.miss .bt-level{color:var(--red)}.bt-details{color:var(--text-dim);font-size:.85em}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#080c16d1;display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.subscribe-modal{background:var(--card);border:1px solid var(--gold);border-radius:14px;padding:28px 26px 22px;max-width:380px;width:90%;position:relative;text-align:center;box-shadow:0 20px 60px #00000080}.modal-close{position:absolute;top:10px;right:14px;background:none;border:none;color:var(--text-dim);font-size:1.5em;cursor:pointer;line-height:1}.modal-close:hover{color:var(--text)}.subscribe-modal h3{color:var(--gold);font-size:1.25em;margin-bottom:10px}.modal-lead{color:var(--text-dim);font-size:.92em;margin-bottom:8px}.subscribe-modal ul{text-align:left;color:var(--text);margin:14px auto 18px;padding-left:20px;line-height:1.9;font-size:.9em;max-width:300px}.modal-price{margin-bottom:16px;color:var(--text-dim);font-size:.9em}.price{color:var(--accent);font-size:1.5em;font-weight:700}.price .unit{font-size:.6em;color:var(--text-dim);font-weight:400}.modal-subscribe{width:100%}.plan-options{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:14px;max-width:320px;margin-left:auto;margin-right:auto}.plan-btn{background:#14202e;border:1px solid var(--border);border-radius:10px;padding:12px 8px;color:var(--text);cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:5px;transition:border-color .2s}.plan-btn:hover{border-color:var(--accent)}.plan-btn.popular{border-color:var(--gold);background:#d4af6a14}.plan-btn b{color:var(--accent);font-size:.95em}.plan-price{font-weight:700;font-size:1.08em;line-height:1.2}.plan-price .unit{font-size:.68em;color:var(--text-dim);font-weight:400}.plan-tag{color:var(--gold);font-size:.72em}.nav{display:flex;gap:14px;justify-content:center;margin-top:14px;flex-wrap:wrap}.nav a{color:var(--text-dim);text-decoration:none;padding:6px 18px;border:1px solid var(--border);border-radius:20px;font-size:.9em}.nav a:hover{color:var(--accent);border-color:var(--accent)}.content-hub{max-width:960px;margin:24px auto;padding:6px 16px}.content-hub h2{color:var(--accent);font-size:1.25em;margin-bottom:4px}.content-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:16px}.content-card{display:block;background:var(--card);border:1px solid var(--border);border-radius:12px;padding:20px;text-decoration:none;color:var(--text);transition:border-color .2s}.content-card h3{color:var(--accent);font-size:1.05em;margin-bottom:8px}.content-card p{color:var(--text-dim);font-size:.85em;line-height:1.55}.content-groups{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:16px}.content-group{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:18px 20px;display:flex;flex-direction:column}.content-group h3{color:var(--accent);font-size:1.05em;margin-bottom:10px}.content-group ul{list-style:none;padding:0;margin:0}.content-group li{margin-bottom:9px}.content-group a{color:#c5cee0;text-decoration:none;font-size:.92em;line-height:1.5;display:block}.content-group a:hover{color:var(--accent)}.content-cta{display:inline-block;margin-top:18px;color:var(--accent);text-decoration:none;font-weight:600}.content-cta:hover{text-decoration:underline}.footer-links{margin-top:8px;font-size:.9em}.footer-links a{color:var(--text-dim);text-decoration:none;margin:0 4px}.footer-links a:hover{color:var(--accent);text-decoration:underline}.content-page{max-width:780px;margin:24px auto;padding:0 20px;line-height:1.85}.content-page h1{font-size:1.7em;color:var(--text);margin-bottom:8px}.content-page h2{font-size:1.25em;color:var(--accent);margin:28px 0 12px}.content-page p{color:#c5cee0;margin-bottom:12px;font-size:.98em}.content-page ul{color:#c5cee0;padding-left:22px;margin-bottom:14px;line-height:1.8}.content-page li{margin-bottom:6px}.byline{color:var(--text-dim);font-size:.82em;margin-bottom:24px}.tldr{background:#1a2130;border-left:3px solid var(--accent);border-radius:8px;padding:12px 16px;margin-bottom:24px;color:#c5cee0;font-size:.95em}.cta{background:#7bb8e01a;border:1px solid var(--border);border-radius:10px;padding:16px;margin-top:28px;text-align:center}.cta a{color:var(--accent);font-weight:600;text-decoration:none}@media (max-width: 720px){.hero{padding:28px 14px 14px}.hero h1{font-size:1.7em}main{padding:0 12px 30px}.card{padding:14px}.input-card .row{gap:10px}.ziwei-grid{grid-template-columns:repeat(2,1fr);grid-template-areas:none}.ziwei-grid .palace{grid-area:auto!important;min-height:58px}.month-table{overflow-x:auto;-webkit-overflow-scrolling:touch}.month-table table{min-width:540px}.content-groups,.content-cards{grid-template-columns:1fr}.pillars{gap:10px}.pillar{padding:8px 12px}.pillar-gan,.pillar-zhi{font-size:1.3em}.yuyan-actions,.backtest-actions,.backtest-row{flex-wrap:wrap}.subscribe-modal{padding:22px 18px}.nav{gap:8px}.nav a{padding:5px 12px;font-size:.82em}}
