@font-face{font-family:FST Luopan;src:url(/fonts/fst-luopan.woff)format("woff");font-weight:600;font-display:swap}.lp{--g:#e2c88f;--gh:#f6e6bd;--iv:#ece6d8;--mu:#b5ad9c;--red:#d4553f;--serif:"FST Luopan","Noto Serif SC","Songti SC","STSong",serif;min-height:100dvh;padding:16px max(16px,env(safe-area-inset-right,0px)) 48px max(16px,env(safe-area-inset-left,0px));color:var(--iv);font-family:var(--serif);background:radial-gradient(120% 60% at 50% 30%,#17140f 0,#0b0b0d 62%);overflow-x:clip}.lp>*{max-width:520px;margin-left:auto;margin-right:auto}.lp-nav{justify-content:space-between;align-items:center;font-size:14px;display:flex}.lp-nav a{color:var(--g);text-decoration:none}.lp-nav span{letter-spacing:.5em;color:var(--mu);font-size:12px}.lp-head{text-align:center;margin-top:18px}.lp-head p{letter-spacing:.5em;color:var(--g);margin:0;font-size:12px}.lp-head h1{letter-spacing:.6em;text-indent:.6em;color:var(--gh);margin:6px 0 0;font-size:30px;font-weight:600}.lp-stage{aspect-ratio:1;width:min(100%,460px);margin-top:10px;position:relative}.lp-stage:before{content:"";pointer-events:none;border-radius:50%;position:absolute;inset:6%;box-shadow:0 30px 80px #000000a6,0 0 120px #e2c88f14}.lp-svg{touch-action:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:relative;overflow:visible}.lp-face{fill:#0f0d0a}.lp-bezel{fill:none;stroke:url(#lp-metal);stroke-width:2.4px}.lp-bezel.thin{stroke-width:.8px;opacity:.8}.lp-tick{stroke:#e2c88f73;stroke-width:.5px}.lp-tick.mid{stroke:#ecdcb3b3;stroke-width:.7px}.lp-tick.major{stroke:#f3e6c4;stroke-width:1.1px}.lp-deg{fill:#ece6d899;text-anchor:middle;dominant-baseline:central;letter-spacing:.02em;font:500 7px/1 Cormorant Garamond,Georgia,serif}.lp-ring{fill:none;stroke:#e2c88f8c;stroke-width:.9px}.lp-seg{fill:#e2c88f06;stroke:none}.lp-seg.odd{fill:#e2c88f0f}.lp-seg.lp-gua{fill:#d4553f17}.lp-div{stroke:#e2c88f73;stroke-width:.7px}.lp-mt{font:600 19px/1 var(--serif);text-anchor:middle;dominant-baseline:central}.lp-mt.lp-zhi{fill:var(--iv)}.lp-mt.lp-gan{fill:var(--g)}.lp-mt.lp-gua{fill:var(--red)}.lp-yao{fill:#e8d6a8}.lp-gua-name{fill:var(--mu);font:600 10px/1 var(--serif);text-anchor:middle;dominant-baseline:central;letter-spacing:.1em}.lp-pool-rim{fill:none;stroke:url(#lp-metal);stroke-width:1.6px}.lp-pool-rim.thin{stroke-width:.6px;opacity:.6}.lp-sea{stroke:var(--red);stroke-width:.9px;opacity:.85}.lp-needle .n{fill:#c8402f;filter:drop-shadow(0 0 3px #c8402f99)}.lp-needle .s{fill:#e9e2cf}.lp-needle .pin{fill:url(#lp-metal)}.lp-needle .pin-c{fill:#2a231a}.lp-pool-txt{fill:#ece6d859;font:600 10px/1 var(--serif);text-anchor:middle;dominant-baseline:central}.lp-sun circle{fill:#ffcf6b;filter:drop-shadow(0 0 5px #ffbe5ae6)}.lp-sun line{stroke:#ffcf6b;stroke-width:1.4px;stroke-linecap:round}.lp-cross line{stroke:#e0513c;stroke-width:.9px;opacity:.9;filter:drop-shadow(0 0 2px #e0513c8c)}.lp-mark path{fill:var(--gh);filter:drop-shadow(0 0 4px #f6e6bd99)}.lp-mark text{fill:var(--gh);font:600 12px/1 var(--serif);text-anchor:middle;letter-spacing:.2em}.lp-mark .sit{fill:var(--mu)}.lp-read{text-align:center;margin-top:6px}.lp-big{justify-content:center;align-items:baseline;gap:22px;display:flex}.lp-big span{color:var(--gh);letter-spacing:.06em;font-size:46px;font-weight:600;line-height:1.1}.lp-big small{letter-spacing:.2em;color:var(--mu);margin-right:8px;font-size:15px}.lp-big i{background:#e2c88f59;align-self:center;width:1px;height:34px}.lp-sub{color:var(--mu);flex-wrap:wrap;justify-content:center;gap:4px 12px;margin:8px 0 0;font-size:14px;display:flex}.lp-sub b{color:var(--g);letter-spacing:.1em;font-weight:600}.lp-sub em{color:#f2a48f;font-style:normal}.lp-gua{color:#8f887a;letter-spacing:.04em;margin:6px 0 0;font-size:13px}.lp-actions{gap:10px;margin-top:18px;display:grid}.lp button{font:inherit;cursor:pointer}.lp-primary{color:#1a140b;letter-spacing:.3em;background:linear-gradient(#f2deac,#d2b375);border:0;border-radius:26px;min-height:52px;font-size:16px;font-weight:600;box-shadow:0 8px 24px #d2b37538}.lp-primary[aria-pressed=true]{color:var(--gh);background:#2a241b;box-shadow:inset 0 0 0 1px #e2c88f99}.lp-ghost{min-height:46px;color:var(--gh);letter-spacing:.14em;background:0 0;border:1px solid #e2c88f80;border-radius:23px;font-size:14px}.lp-ghost:disabled{opacity:.5}.lp-sunbox{background:#ffcf6b0d;border:1px solid #ffcf6b59;margin-top:14px;padding:14px 16px}.lp-sunbox p{color:#d8cfbb;margin:0 0 8px;font-size:14px;line-height:1.8}.lp-sunbox b{color:#ffd98a;font-weight:600}.lp-sunbox .lp-ghost{width:100%;margin-top:4px}.lp-tips{border-left:2px solid var(--g);background:#e2c88f0d;margin-top:14px;padding:12px 14px}.lp-tips p{color:#c9c1b0;margin:0;font-size:13px;line-height:1.8}.lp-how{border-top:1px solid #e2c88f2e;margin-top:26px;padding-top:18px}.lp-how h2{letter-spacing:.4em;color:var(--gh);margin:0;font-size:16px;font-weight:600}.lp-how ol{color:#c9c1b0;gap:8px;margin:12px 0 0;padding-left:1.3em;font-size:14px;line-height:1.8;display:grid}.lp-note{color:#8f887a;margin:14px 0 0;font-size:12px;line-height:1.8}@media (prefers-reduced-motion:reduce){.lp-needle .n{filter:none}}.lp-cam{z-index:30;background:#000;position:fixed;inset:0}.lp-cam video{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.lp-cam-ring{--p:0;background:conic-gradient(#ffd98a calc(var(--p)*360deg),#ffffff40 0);border-radius:50%;width:26vmin;height:26vmin;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);-webkit-mask:radial-gradient(circle,#0000 62%,#000 64%);mask:radial-gradient(circle,#0000 62%,#000 64%)}.lp-cam-spot{border:2px solid #ffd98a;border-radius:50%;width:30px;height:30px;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 14px #ffd98a}.lp-cam-bar{padding:16px max(16px,env(safe-area-inset-right,0px)) calc(18px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px));text-align:center;background:linear-gradient(#0000,#000d 30%);gap:6px;display:grid;position:absolute;bottom:0;left:0;right:0}.lp-cam-bar p{color:#f6e6bd;letter-spacing:.1em;margin:0;font-size:17px}.lp-cam-bar small{color:#c9c1b0;font-size:13px}.lp-cam-bar small.warn{color:#f2a48f}.lp-cam-bar button{color:#f6e6bd;background:0 0;border:1px solid #e2c88f99;border-radius:22px;justify-self:center;min-height:44px;margin-top:6px;padding:0 28px}
