:root{--paper:#faf6ee;--paper-deep:#f1ead9;--ink:#372f26;--ink-soft:#7a6f5f;--hair:#e3d9c6;--cinnabar:#bd4632;--cinnabar-deep:#a23527;--teal:#3f7a6d;--teal-deep:#356a5e;--kai:"STKaiti","Kaiti SC","KaiTi","楷体","华文楷体",serif;--ui:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif}*{box-sizing:border-box;margin:0;padding:0}html,body,#app{min-height:100%}body{font-family:var(--ui);color:var(--ink);background:var(--paper)}.home{flex-direction:column;max-width:960px;min-height:100vh;margin:0 auto;padding:64px 24px 40px;display:flex;position:relative;overflow:hidden}.grain{z-index:0;pointer-events:none;background-image:linear-gradient(var(--hair) 1px,transparent 1px), linear-gradient(90deg,var(--hair) 1px,transparent 1px);opacity:.5;background-size:30px 30px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(120% 60% at 50% 0,#000 0%,#0000 60%);mask-image:radial-gradient(120% 60% at 50% 0,#000 0%,#0000 60%)}.home>*{z-index:1;position:relative}.hero{text-align:center;margin-bottom:42px}.logo{justify-content:center;margin-bottom:18px;display:flex}.seal{background:var(--cinnabar);color:#fdf8ef;width:76px;height:76px;font-family:var(--kai);border-radius:16px;justify-content:center;align-items:center;font-size:44px;line-height:1;display:flex;box-shadow:inset 0 0 0 2.5px #fdf8ef66,0 10px 26px #bd463252}.brand{font-family:var(--kai);letter-spacing:8px;text-indent:8px;font-size:42px;font-weight:700}.slogan{color:var(--cinnabar);letter-spacing:2px;margin-top:10px;font-size:17px;font-weight:600}.lead{max-width:560px;color:var(--ink-soft);margin:14px auto 0;font-size:14px;line-height:1.85}.lead b{color:var(--ink);font-weight:700}.badges{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:22px;list-style:none;display:flex}.badges li{color:var(--ink-soft);border:1px solid var(--hair);background:#fffdf8;border-radius:999px;padding:5px 13px;font-size:12px}.badges li:first-child{color:var(--cinnabar);background:#fdf3f0;border-color:#e7c3bb;font-weight:600}.grid{grid-template-columns:1fr 1fr;gap:22px;display:grid}.card{border:1px solid var(--hair);background:#fffdf8;border-radius:18px;flex-direction:column;gap:11px;padding:30px 26px 26px;transition:transform .15s,box-shadow .15s,border-color .15s;display:flex;position:relative;overflow:hidden}.card:hover{transform:translateY(-4px);box-shadow:0 16px 36px #372f2621}.ribbon{height:5px;position:absolute;top:0;left:0;right:0}.card-zi{--accent:var(--cinnabar);--accent-deep:var(--cinnabar-deep)}.card-suan{--accent:var(--teal);--accent-deep:var(--teal-deep)}.card:hover{border-color:var(--accent)}.ribbon{background:var(--accent)}.ic{background:var(--paper-deep);width:62px;height:62px;color:var(--accent);font-family:var(--kai);border-radius:14px;justify-content:center;align-items:center;font-size:38px;display:flex;box-shadow:inset 0 0 0 1.5px #0000000a}.card h2{font-family:var(--kai);letter-spacing:3px;font-size:24px}.desc{color:var(--ink-soft);min-height:74px;font-size:13px;line-height:1.9}.tags{flex-wrap:wrap;gap:7px;list-style:none;display:flex}.tags li{color:var(--ink-soft);background:var(--paper-deep);border-radius:6px;padding:4px 10px;font-size:11.5px}.acts{align-items:center;gap:10px;margin-top:8px;display:flex}.btn{font-size:14px;font-family:var(--ui);border-radius:10px;justify-content:center;align-items:center;padding:11px 20px;text-decoration:none;transition:background .15s,color .15s,border-color .15s,transform .1s;display:inline-flex}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--accent);color:#fdf8ef;letter-spacing:1px;font-weight:600}.btn-primary:hover{background:var(--accent-deep)}.btn-ghost{color:var(--ink);border:1px solid var(--hair);background:0 0}.btn-ghost:hover{border-color:var(--accent);color:var(--accent)}.why{border:1px solid var(--hair);background:#fffdf8;border-radius:18px;margin-top:24px;padding:28px 30px;position:relative}.why:before{content:"";background:var(--cinnabar);border-radius:18px 0 0 18px;width:5px;position:absolute;top:0;bottom:0;left:0}.why-tt{font-family:var(--kai);letter-spacing:2px;align-items:center;gap:9px;margin-bottom:12px;font-size:19px;display:flex}.why-tt .dot{background:var(--cinnabar);border-radius:2px;width:9px;height:9px}.why p{color:var(--ink-soft);font-size:13.5px;line-height:1.95}.why p+p{margin-top:10px}.why b{color:var(--cinnabar);font-weight:700}.ft{text-align:center;color:var(--ink-soft);letter-spacing:.5px;margin-top:auto;padding-top:40px;font-size:11.5px}@media (width<=680px){.home{padding:44px 18px}.brand{font-size:36px}.grid{grid-template-columns:1fr}.desc{min-height:0}.why{padding:24px 22px}}
