.home-page{--ink:#222;--peach:#f4c7b0;--mint:#dceee0;--lavender:#e4dcf0;--paper:#fffdf8;--line:#222}.home-hero{text-align:center;padding:1.6rem 0 .4rem}.home-hero-title{flex-wrap:wrap;justify-content:center;align-items:flex-end;gap:.4rem 1rem;display:flex}.home-hero h1{letter-spacing:.04em;color:var(--ink);margin:0;font-family:ZCOOL KuaiLe,Microsoft YaHei,PingFang SC,Noto Sans SC,sans-serif;font-size:clamp(2.1rem,6vw,3.4rem);font-weight:400;line-height:1.2}.home-hero-cat{flex:none;width:min(220px,42vw);height:auto;margin-bottom:-.4rem}.home-cta{flex-wrap:wrap;justify-content:center;gap:.85rem;margin:1.4rem 0 2.2rem;display:flex}.home-pill{border:2px solid var(--line);background:var(--paper);min-width:7.5rem;color:var(--ink);letter-spacing:.04em;border-radius:999px;justify-content:center;align-items:center;padding:.62rem 1.25rem;font-family:ZCOOL KuaiLe,Microsoft YaHei,PingFang SC,Noto Sans SC,sans-serif;font-size:1.02rem;transition:transform .16s,box-shadow .16s;display:inline-flex}.home-pill:hover{transform:translateY(-2px)}.home-pill.peach{background:var(--peach)}.home-pill.lavender{background:var(--lavender)}.home-channels{grid-template-columns:repeat(3,1fr);gap:1.1rem;display:grid}.home-card{border:2px solid var(--line);background:var(--paper);min-height:220px;color:inherit;border-radius:1.35rem;flex-direction:column;gap:1rem;padding:1.15rem 1.15rem 1.25rem;scroll-margin-top:1.2rem;display:flex}a.home-card{transition:transform .18s}a.home-card:hover{transform:translateY(-3px)}.home-list{flex-direction:column;gap:.65rem;margin-top:auto;display:flex}.home-chip{border:2px solid var(--line);background:var(--paper);border-radius:.95rem;justify-content:space-between;align-items:center;gap:.7rem;padding:.85rem .9rem;display:flex}.home-chip-link{color:inherit;cursor:pointer;transition:transform .16s,background .16s}.home-chip-link:hover{background:#fff;transform:translateY(-2px)}.home-chip-soon{color:#6b6660;cursor:default}.home-chip-more{background:0 0;border-style:dashed}.home-chip-more p{text-align:center;letter-spacing:.2em;color:#888;width:100%}.home-card.mint{background:color-mix(in srgb, var(--mint) 78%, white)}.home-card.peach{background:color-mix(in srgb, var(--peach) 62%, white)}.home-card.lavender{background:color-mix(in srgb, var(--lavender) 72%, white)}.home-card-head{align-items:center;gap:.55rem;display:flex}.home-card-head .home-tag{margin-left:auto}.home-lede{color:#5a554e;margin:-.35rem 0 .2rem;font-size:.92rem;line-height:1.55}.home-card-head svg{width:1.7rem;height:1.7rem}.home-card h2{letter-spacing:.03em;margin:0;font-family:ZCOOL KuaiLe,Microsoft YaHei,PingFang SC,Noto Sans SC,sans-serif;font-size:1.35rem;font-weight:400}.home-chip p{color:#333;margin:0;font-family:ZCOOL KuaiLe,Microsoft YaHei,PingFang SC,Noto Sans SC,sans-serif;font-size:.98rem;line-height:1.45}.home-tag{white-space:nowrap;border-radius:999px;flex:none;padding:.18rem .55rem;font-size:.75rem;font-weight:600}.home-tag.ok{color:#215c32;background:#cfe9d4}.home-tag.warn{color:#8a4b1d;background:#f4d2b0}.home-tag.soon{color:#4d3d6b;background:#ddd4ec}.home-footer{border-top:2px solid var(--line);color:#555;justify-content:center;align-items:center;gap:.85rem;margin-top:2.6rem;padding-top:1.1rem;font-size:.95rem;display:flex}.home-footer svg{opacity:.85;width:4.4rem;height:auto}.contact-page{text-align:center;padding:2.2rem 0 1rem}.contact-page h1{margin:.4rem 0 .8rem;font-family:ZCOOL KuaiLe,Microsoft YaHei,PingFang SC,Noto Sans SC,sans-serif;font-size:clamp(1.8rem,5vw,2.6rem);font-weight:400}.contact-page p{color:#444;max-width:26rem;margin:0 auto 1.2rem;line-height:1.7}.contact-page .home-hero-cat{width:min(200px,50vw);margin:0 auto .6rem;display:block}.easter-egg{width:fit-content;color:inherit;opacity:.72;flex-direction:column;align-items:center;gap:.2rem;margin:3.2rem auto 0;transition:opacity .18s,transform .18s;display:flex}.easter-egg:hover,.easter-egg:focus-visible{opacity:1;transform:translateY(-2px)}.easter-basket{width:3.1rem;height:auto}.easter-hint{letter-spacing:.18em;color:#8a7b6b;font-family:ZCOOL KuaiLe,Microsoft YaHei,PingFang SC,Noto Sans SC,sans-serif;font-size:.78rem}.bazi-page{text-align:center;padding:.4rem 0 1rem}.bazi-back{color:#6b6358;margin-bottom:.8rem;font-size:.92rem;display:inline-block}.bazi-hero-basket{width:4.4rem;height:auto;margin:0 auto .4rem;display:block}.bazi-page h1{margin:.2rem 0 .6rem;font-family:ZCOOL KuaiLe,Microsoft YaHei,PingFang SC,Noto Sans SC,sans-serif;font-size:clamp(1.8rem,5vw,2.6rem);font-weight:400}.bazi-lead,.bazi-note,.bazi-hour-hint,.bazi-master{color:#555;max-width:26rem;margin:0 auto 1rem;line-height:1.7}.bazi-form{flex-wrap:wrap;justify-content:center;gap:.9rem 1.2rem;margin:1.1rem 0 .4rem;display:flex}.bazi-form label{color:#666;text-align:left;flex-direction:column;gap:.35rem;font-size:.86rem;display:flex}.bazi-form input,.bazi-form select{background:#fffdf8;border:2px solid #222;border-radius:.85rem;min-width:11rem;padding:.55rem .7rem}.bazi-lunar{color:#6b6358;margin:.4rem auto .8rem;font-size:.92rem}.bazi-more{color:#8a6a3b;letter-spacing:.12em;text-underline-offset:.28em;cursor:pointer;background:0 0;border:none;margin:.4rem 0 1rem;padding:0;font-family:ZCOOL KuaiLe,Microsoft YaHei,PingFang SC,Noto Sans SC,sans-serif;font-size:1.02rem;text-decoration:underline;display:inline-block}.bazi-more:disabled{opacity:.55;cursor:wait}.bazi-report{text-align:left;white-space:pre-wrap;color:#3f3a34;border-top:1px dashed #cbbba8;max-width:40rem;margin:.4rem auto 1.4rem;padding:1.15rem 1.2rem 1.3rem;font-size:.95rem;line-height:1.8}.bazi-pillars{grid-template-columns:repeat(4,1fr);gap:.7rem;margin:1.2rem 0 .8rem;display:grid}.bazi-pillar{background:#fffdf8;border:2px solid #222;border-radius:1.1rem;flex-direction:column;gap:.25rem;padding:.85rem .4rem;display:flex}.bazi-pillar-name{color:#777;font-size:.78rem}.bazi-pillar strong{font-family:ZCOOL KuaiLe,Microsoft YaHei,PingFang SC,Noto Sans SC,sans-serif;font-size:1.45rem;font-weight:400}.bazi-wx{color:#8a6a3b;font-size:.8rem}.bazi-note{color:#888;font-size:.82rem}@media (width<=640px){.bazi-pillars{grid-template-columns:repeat(2,1fr)}}@media (width<=860px){.home-channels{grid-template-columns:1fr}.home-card{min-height:0}}@font-face{font-family:ZCOOL KuaiLe;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/zcool-kuaile-chinese-simplified-400-normal-BKaOBC6q.woff2)format("woff2");unicode-range:U+3000-303F,U+3400-4DBF,U+4E00-9FFF,U+F900-FAFF,U+FF00-FFEF}@font-face{font-family:ZCOOL KuaiLe;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/zcool-kuaile-latin-400-normal-CVXjA4UX.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg0:#fbf7f0;--bg1:#f3eee4;--ink:#222;--ink-soft:#4a4540;--brand:#222;--accent:#f4c7b0;--lime:#dceee0;--line:#222;--card:#fffdf8;--ok:#1f7a4d;--warn:#b45309;--shadow:0 10px 28px #2222220f;--font-display:"ZCOOL KuaiLe", "Microsoft YaHei", "PingFang SC", sans-serif;--font-body:"Microsoft YaHei", "PingFang SC", "Noto Sans SC", sans-serif;color:var(--ink);background:var(--bg0);font-family:var(--font-body);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased}*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100%}body{background:radial-gradient(900px 520px at 12% -8%, #f4c7b059, transparent 55%), radial-gradient(800px 480px at 100% 0%, #e4dcf066, transparent 50%), linear-gradient(180deg, var(--bg0), var(--bg1));background-attachment:fixed;min-width:320px;margin:0}body:before{content:none}a{color:inherit;text-decoration:none}button,input{font:inherit}.app-shell{z-index:1;width:min(1100px,100% - 2rem);margin:0 auto;padding:1.25rem 0 4rem;position:relative}.site-header{background:#fffdf8;border:2px solid #222;border-radius:1.35rem;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.2rem;padding:.55rem .85rem .55rem .7rem;display:flex}.brand{font-family:var(--font-display);letter-spacing:.02em;align-items:center;gap:.55rem;font-size:1.05rem;font-weight:400;display:inline-flex}.brand-mark{width:2.35rem;height:2.35rem;box-shadow:none;background:0 0;border-radius:999px;place-items:center;display:grid}.brand-mark svg{width:2.35rem;height:2.35rem}.nav{gap:.45rem;display:flex}.nav a{color:#222;font-family:var(--font-display);background:#fffdf8;border:2px solid #222;border-radius:999px;padding:.38rem .95rem;transition:background .16s,color .16s}.nav a:hover,.nav a.active{color:#222;background:#f4c7b0}.hero{align-content:end;gap:1.1rem;padding:2.2rem 0 1.4rem;animation:.7s both rise;display:grid}.hero h1{font-family:"Noto Sans SC", var(--font-display), sans-serif;letter-spacing:-.03em;color:var(--brand);margin:0;font-size:clamp(2.2rem,6vw,3.8rem);line-height:1.15}.hero p{max-width:34rem;color:var(--ink-soft);margin:0;font-size:1.08rem;line-height:1.65}.cta-row{flex-wrap:wrap;gap:.75rem;margin-top:.5rem;display:flex}.btn{cursor:pointer;border:2px solid #222;border-radius:999px;justify-content:center;align-items:center;gap:.4rem;padding:.8rem 1.15rem;transition:transform .16s,box-shadow .16s,background .16s;display:inline-flex}.btn:hover{transform:translateY(-1px)}.btn-primary{color:#222;box-shadow:none;background:#f4c7b0;border-color:#222}.btn-ghost{color:#222;background:#fffdf8;border-color:#222}.section{margin-top:2.5rem;animation:.7s 80ms both rise}.section h2{font-family:var(--font-display);letter-spacing:-.03em;margin:0 0 .4rem;font-size:clamp(1.6rem,3vw,2.1rem)}.section>p,.lede{color:var(--ink-soft);max-width:40rem;margin:0 0 1.25rem;line-height:1.6}.tool-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;display:grid}.tool-card{border:1px solid var(--line);background:var(--card);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);min-height:180px;box-shadow:var(--shadow);border-radius:1.1rem;flex-direction:column;gap:.7rem;padding:1.25rem;transition:transform .18s,border-color .18s;display:flex}.tool-card:hover{border-color:#0b2e2a47;transform:translateY(-3px)}.tool-card .tag{color:#8a4b1d;background:#f0a36b33;border-radius:999px;align-self:flex-start;padding:.2rem .55rem;font-size:.75rem;font-weight:600}.tool-card h3{font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-size:1.35rem}.tool-card p{color:var(--ink-soft);flex:1;margin:0;line-height:1.5}.tool-card .go{color:var(--brand);font-weight:600}.tool-card.locked{background:#fffcf680}.tool-card.locked:hover{transform:none}.channel{padding-top:.4rem}.gate-card{border:1px solid var(--line);background:var(--card);max-width:28rem;box-shadow:var(--shadow);border-radius:1.1rem;padding:1.2rem 1.25rem 1.3rem}.gate-card label{color:var(--ink-soft);margin-bottom:.55rem;font-size:.86rem;font-weight:600;display:block}.gate-row{gap:.6rem;display:flex}.gate-row input{border:1px solid var(--line);min-width:0;color:var(--ink);background:#fff;border-radius:.7rem;flex:1;padding:.7rem .85rem}.gate-error{color:#9b2c2c;margin:.7rem 0 0;font-size:.9rem}.empty-panel{text-align:center;color:var(--ink-soft);padding:3rem 1.2rem}.panel{border:1px solid var(--line);background:var(--card);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow);border-radius:1.2rem;overflow:hidden}.panel-head{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;gap:.75rem;padding:1rem 1.15rem;display:flex}.meta{color:var(--ink-soft);font-size:.92rem}.table-wrap{overflow-x:auto}table.basis{border-collapse:collapse;width:100%;min-width:680px}table.basis th,table.basis td{text-align:left;border-bottom:1px solid var(--line);white-space:nowrap;padding:.9rem 1rem}table.basis th{text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft);font-size:.8rem;font-weight:600}table.basis td.num{font-variant-numeric:tabular-nums}.neg{color:var(--ok);font-weight:600}.pos{color:var(--warn);font-weight:600}.status-pill{background:#0b2e2a14;border-radius:999px;align-items:center;gap:.35rem;padding:.25rem .65rem;font-size:.82rem;display:inline-flex}.status-pill.live{color:var(--ok);background:#1f7a4d1f}.status-pill.sample{color:var(--warn);background:#b453091f}.footnote{color:var(--ink-soft);margin-top:1rem;font-size:.9rem;line-height:1.55}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@media (width<=640px){.site-header{flex-wrap:wrap}.hero{min-height:auto;padding-top:2rem}}
