:root,:root[data-theme=dark]{--bg1:#1b1825;--bg2:#14121a;--bg3:#0f0d14;--panel:#1f1c28;--panel2:#272231;--ink:#ece7da;--muted:#a39d8f;--faint:#726c60;--gold:#d8a657;--gold-soft:rgba(216,166,87,.14);--gold-bd:rgba(216,166,87,.45);--jade:#7fb09a;--border:rgba(236,231,218,.12);--border2:rgba(236,231,218,.22);--shadow:rgba(0,0,0,.35)}:root[data-theme=light]{--bg1:#f7f0dd;--bg2:#f1e8d2;--bg3:#e9dec3;--panel:#fbf6ea;--panel2:#f1e8d4;--ink:#3b3324;--muted:#7c7059;--faint:#a99c7e;--gold:#b07d24;--gold-soft:rgba(176,125,36,.15);--gold-bd:rgba(176,125,36,.5);--jade:#4f8a6f;--border:rgba(59,51,36,.14);--border2:rgba(59,51,36,.26);--shadow:rgba(120,100,60,.16)}:root{--serif:Georgia,"Songti SC","Source Han Serif",serif;--sans:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}*{box-sizing:border-box}html,body{height:100%}body{margin:0;color:var(--ink);font-family:var(--sans);line-height:1.6;min-height:100vh;background:radial-gradient(120% 80% at 50% 0%,var(--bg1) 0%,var(--bg2) 60%,var(--bg3) 100%);background-attachment:fixed;-webkit-font-smoothing:antialiased;padding:22px 16px 64px;transition:color .3s,background-color .3s}.wrap{max-width:720px;margin:0 auto}header{margin-bottom:20px}.bar{display:flex;align-items:center;justify-content:space-between;gap:10px}.brand{text-align:center;flex:1}.zh{font-family:var(--serif);font-size:32px;letter-spacing:6px;color:var(--gold);line-height:1.1}.tag{color:var(--muted);font-size:12px;letter-spacing:1px;margin-top:3px}.icon{display:inline-flex;align-items:center;gap:7px;background:transparent;color:var(--muted);border:1px solid var(--border2);border-radius:10px;padding:8px 12px;font:400 13px var(--sans);cursor:pointer;transition:background .2s,color .2s;min-height:38px}.icon:hover{background:var(--panel2);color:var(--ink)}#navTheme{font-size:16px;min-width:42px;justify-content:center}.barlbl{letter-spacing:.3px}.ibook{width:13px;height:13px;border:1.5px solid currentColor;border-radius:2px;border-left-width:3px;display:inline-block}@media (max-width:460px){.barlbl{display:none}}.card{background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:26px 26px 28px;box-shadow:0 10px 30px var(--shadow)}.view{animation:fade .45s ease}@keyframes fade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}[hidden]{display:none!important}label.lbl{display:block;font-size:14px;color:var(--muted);margin-bottom:10px}textarea{width:100%;min-height:96px;resize:vertical;background:var(--panel2);color:var(--ink);border:1px solid var(--border2);border-radius:10px;padding:12px 14px;font:16px/1.5 var(--sans)}textarea:focus{outline:none;border-color:var(--gold-bd)}.hint{font-size:13px;color:var(--faint);margin:12px 0 20px;line-height:1.6}button.primary{display:inline-block;background:var(--gold);color:#231a09;border:none;border-radius:10px;padding:12px 26px;font:500 15px var(--sans);cursor:pointer;transition:transform .08s,filter .2s}button.primary:hover{filter:brightness(1.07)}button.primary:active{transform:scale(.97)}button.primary:disabled{opacity:.5;cursor:default;filter:none}button.ghost{background:transparent;color:var(--ink);border:1px solid var(--border2);border-radius:10px;padding:11px 20px;font:400 14px var(--sans);cursor:pointer;transition:background .2s}button.ghost:hover{background:var(--panel2)}.center{text-align:center}.qref{text-align:center;color:var(--faint);font-size:13px;font-style:italic;margin-bottom:14px;font-family:var(--serif)}.count{text-align:center;font-size:15px;font-weight:500;letter-spacing:.3px}.focus{text-align:center;color:var(--muted);font-size:14.5px;font-style:italic;font-family:var(--serif);min-height:24px;margin:4px 0 18px}.coins{display:flex;justify-content:center;gap:26px;margin:6px 0 30px;padding-bottom:26px;perspective:700px}.coin{width:78px;height:78px;border-radius:50%;background:var(--panel2);border:2px solid var(--border2);display:flex;align-items:center;justify-content:center;position:relative;transition:background .35s,border-color .35s;transform-style:preserve-3d}.coin .hole{width:22px;height:22px;border:2px solid var(--faint);border-radius:4px;transition:border-color .35s}.coin .cv{position:absolute;bottom:-24px;font:500 12.5px var(--sans);color:var(--faint);white-space:nowrap;letter-spacing:.3px}.coin.yang{background:var(--gold-soft);border-color:var(--gold-bd)}.coin.yang .hole{border-color:var(--gold)}.coin.yang .cv{color:var(--gold)}.coin.yin .hole{border-color:var(--ink)}.coin.yin .cv{color:var(--muted)}.coin.spin{animation:flip .8s ease}@keyframes flip{0%{transform:rotateX(0)}to{transform:rotateX(1080deg)}}.hex{display:flex;flex-direction:column-reverse;align-items:center;gap:8px;margin:6px auto 4px;min-height:30px}.line{display:flex;justify-content:center;align-items:center;width:210px;height:16px;position:relative}.seg{height:14px;background:var(--ink);border-radius:2px}.line.yang .seg{width:210px}.line.yin{justify-content:space-between}.line.yin .seg{width:88px}.line.changing .seg{background:var(--gold)}.mark{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);color:var(--gold);font:500 13px var(--sans);line-height:1}.note{text-align:center;font-size:13.5px;color:var(--muted);min-height:20px;margin:14px 0 20px}.note strong{color:var(--ink)}.castctl{min-height:50px}.line.placeholder .seg{width:210px;height:4px;background:var(--faint);opacity:.3;border-radius:2px}.hex.mini{gap:5px;margin:0}.hex.mini .line{width:108px;height:11px}.hex.mini .seg{height:9px}.hex.mini .line.yang .seg{width:108px}.hex.mini .line.yin .seg{width:44px}.hex.mini .mark{font-size:10px}.rtop{display:flex;align-items:center;justify-content:center;gap:26px;flex-wrap:wrap;margin:2px 0 22px}.rcol{text-align:center}.rcol .glyphcap{font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--faint);margin-bottom:10px}.arrow{color:var(--gold);font-size:22px;align-self:center}.rname{margin-top:12px}.rzh{font-family:var(--serif);font-size:24px;color:var(--gold)}.ren{font-size:17px;font-weight:500;margin-top:2px}.rmeta{color:var(--muted);font-size:12.5px;margin-top:3px}.sec{font-size:12px;letter-spacing:1px;text-transform:uppercase;color:var(--faint);margin:26px 0 8px;border-top:1px solid var(--border);padding-top:18px}.oracle{font-family:var(--serif);font-size:16.5px;line-height:1.75}.oracle.dim{color:var(--muted);font-size:15.5px;margin-top:8px}.trdyn{text-align:center;font-family:var(--serif);font-style:italic;color:var(--muted);font-size:14px;line-height:1.6;max-width:560px;margin:10px auto 0}.weight{font-size:14px;line-height:1.65;color:var(--ink);background:var(--gold-soft);border:1px solid var(--gold-bd);border-radius:10px;padding:10px 14px;margin:12px 0 4px}.prose{font-size:15.5px;line-height:1.75}.prose strong{color:var(--gold)}.clitem{border-left:2px solid var(--gold-bd);border-radius:0;padding:4px 0 4px 14px;margin:14px 0}.cltag{font:500 12px var(--sans);color:var(--gold);letter-spacing:.4px;margin-bottom:3px}.cltext{font-family:var(--serif);font-size:15.5px;line-height:1.7}.synth{background:var(--panel2);border:1px solid var(--border);border-radius:12px;padding:16px 18px;margin-top:14px;font-size:15px;line-height:1.7}.btnrow{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:28px}.src{text-align:center;color:var(--faint);font-size:12px;margin-top:30px;line-height:1.6}.jhead{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:16px}.jtitle{font-size:18px;font-weight:500}.jempty{color:var(--muted);font-family:var(--serif);font-style:italic;text-align:center;padding:34px 10px;line-height:1.7}.jitem{display:flex;align-items:center;gap:14px;width:100%;text-align:left;background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:14px 16px;margin-bottom:10px;cursor:pointer;color:var(--ink);font:inherit;transition:border-color .2s,background .2s}.jitem:hover{border-color:var(--gold-bd);background:var(--panel2)}.jglyph{flex:0 0 auto}.jbody{flex:1;min-width:0}.jq{font-size:14.5px;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jq.none{color:var(--faint);font-style:italic;font-family:var(--serif)}.jmeta{color:var(--muted);font-size:12.5px;margin-top:4px}.jdel{flex:0 0 auto;background:transparent;border:1px solid var(--border2);color:var(--muted);border-radius:8px;width:32px;height:32px;cursor:pointer;font-size:15px;line-height:1;transition:color .2s,border-color .2s}.jdel:hover{color:var(--gold);border-color:var(--gold-bd)}
