:root{--ink:#1c1f26;--ink-soft:#5a6270;--ink-muted:#8a92a0;--line:#e6e8ee;--line-strong:#d5d9e2;--surface:#ffffff;--surface-soft:#f6f7f9;--blue:#2f6fed;--blue-soft:#eef3ff;--green:#1d9d62;--green-soft:#e8f7f0;--yellow:#b8860b;--yellow-soft:#fdf6e3;--orange:#d96c1b;--orange-soft:#fdf0e4;--red:#d64545;--red-soft:#fdecec;--shadow-soft:0 1px 2px rgba(20,24,32,.04)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,'PingFang SC','Microsoft YaHei',sans-serif;background:#f2f3f6;color:var(--ink);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}a{color:var(--blue);text-decoration:none}.app-header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;background:rgba(255,255,255,.86);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.brand{display:flex;align-items:center;gap:9px;color:var(--ink);min-width:0}.brand-mark{width:30px;height:30px;border-radius:10px;background:var(--blue);color:#fff;display:grid;place-items:center;font-weight:800;font-size:15px}.brand>span:last-child{min-width:0}.brand small{display:block;color:var(--ink-muted);font-size:10px;letter-spacing:.06em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.read-only{font-size:11px;color:var(--ink-muted);background:var(--surface-soft);padding:4px 9px;border-radius:999px;border:1px solid var(--line)}.page{max-width:640px;margin:0 auto;padding:0 0 90px}.content{padding:18px 20px}.page-intro{padding:18px 20px 4px}.date-line{font-size:12px;color:var(--ink-muted);display:flex;align-items:center;gap:6px}.page-intro h1{font-size:22px;letter-spacing:-.03em;margin:6px 0 4px}.hero-note,.page-intro__desc{font-size:13px;color:var(--ink-soft)}.block{margin-top:18px}.block-title{font-size:12px;font-weight:700;color:var(--ink-muted);letter-spacing:.04em;text-transform:uppercase;margin:0 0 10px;display:flex;align-items:center;gap:8px}.card,.attention,.panel{border:1px solid var(--line);border-radius:20px;background:var(--surface);box-shadow:var(--shadow-soft);padding:16px}.attention{background:linear-gradient(180deg,#fff,#fbfcff)}.attention__top{display:flex;justify-content:space-between;align-items:flex-start}.attention h2{font-size:13px;color:var(--ink-soft);font-weight:650}.attention .count{font-size:38px;font-weight:800;letter-spacing:-.08em;line-height:1}.attention .icon{width:38px;height:38px;border-radius:13px;background:var(--green-soft);color:var(--green);display:grid;place-items:center;font-size:18px}.attention .msg{font-size:16px;font-weight:700;margin-top:12px}.attention .desc{font-size:12px;color:var(--ink-soft);margin-top:4px}.attention-item{display:flex;gap:9px;padding:10px 0;border-top:1px solid var(--line)}.attention-item:first-of-type{border-top:none;padding-top:12px}.attention-item .t{font-size:13px;font-weight:700}.attention-item .m{font-size:12px;color:var(--ink-soft)}.pill{display:inline-flex;align-items:center;gap:5px;padding:3px 8px;border-radius:999px;font-size:11px;font-weight:700;white-space:nowrap}.pill-n{background:var(--green-soft);color:var(--green)}.pill-y{background:var(--yellow-soft);color:var(--yellow)}.pill-o{background:var(--orange-soft);color:var(--orange)}.pill-r{background:var(--red-soft);color:var(--red)}.pill-g{background:#eef0f4;color:var(--ink-muted)}.metric{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:11px 0;border-top:1px solid var(--line)}.metric:first-of-type{border-top:none;padding-top:0}.metric .l{font-size:12px;color:var(--ink-soft)}.metric .v{font-size:16px;font-weight:750;letter-spacing:-.02em}.metric .v small{font-size:11px;color:var(--ink-muted);font-weight:550}.grid{display:grid;gap:12px}.grid2{display:grid;gap:12px;grid-template-columns:1fr 1fr}@media(max-width:520px){.grid2{grid-template-columns:1fr}}.card h3{font-size:15px;font-weight:720;margin-bottom:3px}.card .src{font-size:11px;color:var(--ink-muted)}.card .val{font-size:22px;font-weight:760;letter-spacing:-.04em;margin:8px 0 2px}.card .val small{font-size:12px;color:var(--ink-soft);font-weight:550;margin-left:4px}.card .note{font-size:12px;color:var(--ink-soft);margin:6px 0 0}.meta{font-size:11px;color:var(--ink-muted);border-top:1px solid var(--line);margin-top:12px;padding-top:10px}.meta div{display:flex;justify-content:space-between;padding:2px 0}.meta a{font-weight:650}.trace{margin-top:10px;padding-top:9px;border-top:1px dashed var(--line-strong);font-size:11px;color:var(--ink-muted)}.trace div{display:flex;justify-content:space-between;gap:12px;padding:2px 0}.trace b{font-weight:550;color:var(--ink-soft);text-align:right;overflow-wrap:anywhere}.trace a{font-weight:650;overflow-wrap:anywhere}.trend-list{display:grid;gap:8px;margin-top:12px}.trend-row{display:grid;grid-template-columns:80px minmax(0,1fr) auto;align-items:center;gap:8px;font-size:11px}.trend-row .bar{height:8px;border-radius:999px;background:var(--blue-soft);overflow:hidden}.trend-row .bar i{display:block;height:100%;border-radius:999px;background:var(--blue)}.trend-row b{font-size:12px;white-space:nowrap}.empty{border:1px dashed var(--line-strong);border-radius:18px;padding:14px;display:flex;gap:10px;background:var(--surface-soft);font-size:12px;color:var(--ink-soft)}.panel--warn{background:#fffaf0;border-color:#f0dfb2}.panel--warn h4{color:var(--yellow);font-size:13px;margin-bottom:6px}.panel p{font-size:12px;color:var(--ink-soft)}.quick a{display:flex;align-items:center;justify-content:space-between;padding:13px 15px;border:1px solid var(--line);border-radius:16px;background:var(--surface);margin-bottom:9px;color:var(--ink);font-size:13px;font-weight:650}.quick a .arr{color:var(--blue)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:11px 18px;border-radius:14px;border:none;background:var(--blue);color:#fff;font-size:14px;font-weight:650;cursor:pointer}.btn-g{background:var(--surface);border:1px solid var(--line);color:var(--ink)}input,textarea{width:100%;padding:11px 13px;border:1px solid var(--line-strong);border-radius:12px;font-size:14px;background:var(--surface);color:var(--ink)}textarea{min-height:96px;resize:vertical}label{display:block;font-size:12px;color:var(--ink-soft);margin:12px 0 6px;font-weight:650}.hint{font-size:11px;color:var(--ink-muted);margin-top:8px;line-height:1.6}.result{border-top:1px solid var(--line);margin-top:16px;padding-top:14px}.result .r-title{font-size:13px;font-weight:700;margin-bottom:8px}.kv{display:flex;justify-content:space-between;font-size:12px;padding:4px 0;color:var(--ink-soft)}.kv b{color:var(--ink)}.chat{position:fixed;right:16px;bottom:calc(78px + env(safe-area-inset-bottom));z-index:40;width:min(340px,calc(100vw - 32px));max-height:420px;display:flex;flex-direction:column;border-radius:20px;border:1px solid var(--line);background:#fff;box-shadow:0 8px 32px rgba(20,24,32,.14);overflow:hidden}.chat.hidden{display:none}.chat-head{display:flex;justify-content:space-between;align-items:center;padding:11px 14px;background:var(--surface-soft);border-bottom:1px solid var(--line);font-size:13px;font-weight:700}.chat-body{padding:12px 14px;overflow-y:auto;flex:1;font-size:12px;line-height:1.7}.chat-body .q{background:var(--blue-soft);border-radius:12px;padding:8px 11px;margin-bottom:8px}.chat-body .a{color:var(--ink-soft);white-space:pre-wrap}.chat-input{display:flex;gap:8px;padding:10px;border-top:1px solid var(--line)}.chat-input input{font-size:13px}.fab{position:fixed;right:16px;bottom:calc(72px + env(safe-area-inset-bottom));z-index:40;width:50px;height:50px;border-radius:16px;border:none;background:var(--blue);color:#fff;font-size:20px;cursor:pointer;box-shadow:0 6px 20px rgba(47,111,237,.35)}.bottom-nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:640px;display:grid;grid-template-columns:repeat(5,1fr);background:rgba(255,255,255,.92);backdrop-filter:blur(14px);border-top:1px solid var(--line);z-index:30}.bottom-nav a{display:grid;place-items:center;padding:9px 0 calc(8px + env(safe-area-inset-bottom));color:var(--ink-muted);font-size:10px;gap:3px;font-weight:650}.bottom-nav a.on{color:var(--blue)}.bottom-nav a span{font-size:16px}table{width:100%;border-collapse:collapse;font-size:12px}th,td{padding:8px 9px;text-align:left;border-bottom:1px solid var(--line)}th{color:var(--ink-muted);font-weight:650;font-size:11px}.quote-actions{display:flex;gap:10px;margin-top:12px}.quote-actions .btn{flex:1;min-width:0}@media(max-width:520px){.read-only{display:none}.quote-actions{flex-direction:column}.quote-actions .btn{width:100%}}