:root{--bg: #f7f5f0;--card: #ffffff;--text: #2b2b2b;--muted: #6b6b6b;--accent: #2b3a4a;--line: #e3ded3;--good: #2e7d4f;--bad: #a33a3a;--flat: #8a7a3a;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px)}@media (prefers-color-scheme: dark){:root{--bg: #1c1e22;--card: #26292f;--text: #ececec;--muted: #9a9a9a;--accent: #c9b98a;--line: #3a3d44;--good: #6fc794;--bad: #e08a8a;--flat: #c9b46a}}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,PingFang SC,Microsoft YaHei,sans-serif;line-height:1.6}#app{max-width:560px;margin:0 auto;padding-bottom:80px}.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px;margin:12px}.btn{display:block;width:100%;border:none;background:var(--accent);color:var(--bg);font-size:17px;padding:14px;border-radius:12px;margin:12px 0;cursor:pointer}.btn.secondary{background:transparent;color:var(--accent);border:1px solid var(--accent)}h1{font-size:22px;margin:18px 16px}h2{font-size:17px;margin:0 0 8px}.muted{color:var(--muted);font-size:13px}.tag{display:inline-block;padding:2px 8px;border-radius:8px;font-size:12px;border:1px solid var(--line);margin:2px}input,select,textarea{width:100%;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--text);font-size:16px;margin:6px 0}label{font-size:14px;color:var(--muted)}nav.bottom{position:fixed;bottom:0;left:0;right:0;max-width:560px;margin:0 auto;display:flex;background:var(--card);border-top:1px solid var(--line);padding-bottom:var(--safe-bottom)}nav.bottom a{flex:1;text-align:center;padding:10px 0;color:var(--muted);text-decoration:none;font-size:12px}nav.bottom a.router-link-active{color:var(--accent)}.line-yang,.line-yin{height:10px;border-radius:2px;margin:8px 0}.line-yang{background:var(--text)}.line-yin{background:linear-gradient(to right,var(--text) 42%,transparent 42%,transparent 58%,var(--text) 58%)}.moving-mark{color:var(--bad);font-size:12px;margin-left:6px}.label-good{color:var(--good);font-weight:700}.label-bad{color:var(--bad);font-weight:700}.label-flat{color:var(--flat);font-weight:700}details summary{cursor:pointer}
