:root{--bg: #f7f5f0;--card: #ffffff;--ink: #2b2b2b;--sub: #6b6b6b;--line: #e6e1d8;--accent: #7b5ea7;--accent2: #c98a3b;--soft: #f0ecf6;--good: #3d8a5f;--bad: #b8524a}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,PingFang SC,Microsoft YaHei,sans-serif;background:var(--bg);color:var(--ink);line-height:1.7;font-size:15px}.app{max-width:520px;margin:0 auto;padding:0 14px 90px}.hero{background:linear-gradient(135deg,#5e4b8b,#9b7bc4);color:#fff;border-radius:0 0 18px 18px;padding:22px 18px 18px;margin:0 -14px 14px}.hero h1{margin:0;font-size:20px}.hero p{margin:4px 0 0;font-size:12.5px;opacity:.85}.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px;margin:12px 0;box-shadow:0 4px 14px #0000000a}.card h3{margin:0 0 10px;font-size:16px;color:var(--accent)}.card h4{margin:12px 0 6px;font-size:14px;color:var(--accent2)}.menu-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.menu-item{background:var(--soft);border:1px solid var(--line);border-radius:12px;padding:14px 12px;cursor:pointer;text-align:left;font-family:inherit;font-size:14px}.menu-item b{display:block;color:var(--accent);font-size:15px}.menu-item span{color:var(--sub);font-size:12px}.menu-item:active{transform:scale(.97)}.tabbar{position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid var(--line);display:flex;justify-content:center;gap:0;padding:6px 0 calc(6px + env(safe-area-inset-bottom));z-index:10}.tabbar button{flex:0 1 96px;background:none;border:none;font-family:inherit;font-size:12px;color:var(--sub);cursor:pointer;padding:4px 0}.tabbar button.active{color:var(--accent);font-weight:600}.tabbar .icon{display:block;font-size:20px;line-height:1.2}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.kv{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px dashed var(--line);font-size:14px}.kv:last-child{border-bottom:none}.kv b{color:var(--accent)}label.field{display:block;margin:8px 0;font-size:13.5px;color:var(--sub)}input,select,textarea{width:100%;padding:9px 10px;margin-top:3px;border:1px solid var(--line);border-radius:9px;font-family:inherit;font-size:15px;background:#fff;color:var(--ink)}textarea{resize:vertical}.btn{display:inline-block;background:var(--accent);color:#fff;border:none;border-radius:10px;padding:10px 22px;font-family:inherit;font-size:15px;cursor:pointer;margin-top:10px}.btn.secondary{background:var(--soft);color:var(--accent);border:1px solid var(--line)}.btn:active{opacity:.85}.pill{display:inline-block;background:var(--soft);color:var(--accent);border-radius:14px;padding:1px 10px;font-size:12px;margin:2px 3px 2px 0}.pill.gold{background:#faf3e3;color:var(--accent2)}.pill.good{background:#e8f4ed;color:var(--good)}.pill.bad{background:#faeae8;color:var(--bad)}table{width:100%;border-collapse:collapse;margin:10px 0;font-size:13px}th,td{border:1px solid var(--line);padding:7px 8px;text-align:center}th{background:var(--soft);color:var(--accent);font-weight:600}.stars{color:var(--accent2);letter-spacing:2px}.score-bar{height:8px;background:var(--soft);border-radius:4px;overflow:hidden;flex:1}.score-bar i{display:block;height:100%;background:linear-gradient(90deg,#9b7bc4,#c98a3b);border-radius:4px}.fortune-item{display:flex;align-items:center;gap:10px;padding:7px 0}.fortune-item .dim{width:3em;font-size:14px;color:var(--sub)}.fortune-item .num{width:2.2em;text-align:right;font-weight:600;color:var(--accent)}.day-tabs{display:flex;gap:8px;margin-bottom:10px}.day-tabs button{flex:1;padding:7px 0;border:1px solid var(--line);border-radius:9px;background:#fff;font-family:inherit;font-size:13.5px;color:var(--sub);cursor:pointer}.day-tabs button.active{background:var(--accent);border-color:var(--accent);color:#fff}.garden{font-size:26px;letter-spacing:4px;line-height:1.4}.tarot-card{border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin:10px 0;background:#fdfcfa}.tarot-card .name{font-size:15px;font-weight:600;color:var(--accent)}.tarot-card .pos{font-size:12px;color:var(--accent2)}.tarot-card .reading{font-size:13.5px;color:var(--ink);margin-top:4px}.tarot-card.reversed .name:after{content:" · 逆位";color:var(--bad);font-size:12px}.gua-box{display:flex;gap:14px;justify-content:space-around;text-align:center;margin:10px 0}.gua-box .g{font-size:13px;color:var(--sub)}.gua-box .sym{font-size:34px;color:var(--accent);line-height:1.2}.gua-box .nm{font-weight:600;color:var(--ink)}.note{background:#fff8ec;border:1px solid #f0dcb4;border-radius:10px;padding:10px 12px;font-size:12.5px;color:#7a5a1f;margin:10px 0}.disclaimer{font-size:11.5px;color:var(--sub);text-align:center;margin:18px 0 6px;opacity:.8}.verdict{font-size:15px;font-weight:600;margin:8px 0}.verdict.good{color:var(--good)}.verdict.bad{color:var(--bad)}.muted{color:var(--sub);font-size:12.5px}
