:root{--bg:#eef2f7;--surface:hsla(0,0%,100%,.97);--surface-soft:#f7f9fc;--line:#d8e0ea;--line-strong:#c5d1df;--text:#17212b;--muted:#66758a;--accent:#0f6fff;--accent-strong:#0b59cf;--green:#1f8f52;--red:#c53535;--shadow:0 14px 36px rgba(15,23,42,.08)}*{box-sizing:border-box}body,html{margin:0;min-height:100%;background:radial-gradient(circle at top left,rgba(15,111,255,.08),transparent 28%),linear-gradient(180deg,#edf2f8,#f7f9fc 52%,#eef3fa);color:var(--text)}body{font-family:IBM Plex Sans,PingFang SC,Microsoft YaHei,sans-serif}a{color:inherit}.page-shell{max-width:1720px;margin:0 auto;padding:24px}.metric-card,.overview-card,.table-card,.toolbar-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}.toolbar-card{padding:20px;margin-bottom:16px}.toolbar-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.toolbar-title{font-size:28px;font-weight:700;letter-spacing:-.02em}.metric-label,.metric-note,.notice-row,.status-row,.toolbar-status{color:var(--muted);font-size:13px}.query-bar-plain{display:flex;gap:12px}.query-input{flex:1 1;min-width:0;height:46px;padding:0 14px;border:1px solid var(--line);border-radius:12px;background:#fff;font-size:14px;outline:none}.query-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(15,111,255,.12)}.query-button{height:46px;min-width:132px;border:0;border-radius:12px;background:linear-gradient(180deg,var(--accent) 0,var(--accent-strong) 100%);color:#fff;font-size:14px;font-weight:700;cursor:pointer}.query-button:disabled{cursor:wait;opacity:.85}.notice-row{margin-top:12px}.status-row{margin-top:8px}.error-box{margin-top:12px;padding:12px 14px;border:1px solid rgba(197,53,53,.18);border-radius:12px;background:rgba(197,53,53,.06);color:var(--red);font-size:14px}.overview-card{margin-bottom:16px;padding:18px}.overview-top{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:16px}.overview-identity{display:flex;align-items:center;gap:14px}.overview-avatar{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:#ebf2ff;color:#4866bf;font-weight:700}.overview-title{font-size:20px;font-weight:700}.overview-subtitle{margin-top:4px;color:var(--muted);font-size:13px;font-family:IBM Plex Mono,monospace}.overview-summary{text-align:right}.overview-profit{font-size:32px;font-weight:700;line-height:1.05}.overview-meta{display:flex;gap:18px;justify-content:flex-end;margin-top:8px;color:var(--muted);font-size:12px}.overview-meta div{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.side-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px}.side-card{border:1px solid var(--line);border-radius:16px;padding:14px;background:#fff}.side-card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.side-card-title{font-weight:700}.side-card-count{font-size:12px;color:var(--muted)}.side-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:10px;gap:10px}.side-stat{padding:10px;border-radius:12px;background:var(--surface-soft);display:flex;flex-direction:column;gap:4px;min-height:72px}.side-stat span{color:var(--muted);font-size:12px}.side-stat strong{font-size:14px;line-height:1.35}.metric-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:8px;gap:8px;margin-bottom:12px}.metric-pill{display:grid;grid-template-columns:minmax(0,92px) minmax(0,1fr);align-items:center;grid-gap:4px 10px;gap:4px 10px;padding:8px 12px;background:hsla(0,0%,100%,.72);border:1px solid var(--line);border-radius:12px;box-shadow:0 4px 10px rgba(15,23,42,.03)}.metric-pill-label{color:var(--muted);font-size:11px;white-space:nowrap}.metric-pill-value{font-size:14px;font-weight:700;line-height:1.1;justify-self:end;text-align:right;min-width:0}.metric-pill-code{max-width:340px;font-family:IBM Plex Mono,monospace;font-size:12px}.metric-pill-code,.metric-pill-note{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.metric-pill-note{grid-column:1/-1;color:#7a8798;font-size:10px;line-height:1.2}.chart-grid{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(320px,.85fr);grid-gap:14px;gap:14px;margin-bottom:14px}.chart-stack{display:grid;grid-template-rows:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px}.chart-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:14px}.chart-line-card{padding:12px 14px 8px}.chart-head{margin-bottom:12px}.chart-title{font-size:16px;font-weight:700}.chart-subtitle{margin-top:4px;color:var(--muted);font-size:12px}.pie-wrap{display:grid;grid-template-columns:136px minmax(0,1fr);align-items:center;grid-gap:10px;gap:10px}.pie-svg{width:120px;height:120px}.pie-legend{display:grid;grid-gap:8px;gap:8px}.legend-row{display:grid;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;grid-gap:8px;gap:8px;font-size:12px}.legend-dot{width:10px;height:10px;border-radius:999px}.legend-label{color:var(--muted)}.legend-value{font-size:12px}.trend-svg{width:100%;height:290px;display:block;margin-top:22px}.trend-wrap{position:relative}.trend-grid,.trend-zero{stroke:#d8e0ea;stroke-width:1}.trend-zero{stroke:#b9c5d3;stroke-dasharray:4 4}.trend-line{fill:none;stroke:#0f6fff;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.trend-dot-positive{fill:#1f8f52}.trend-dot-negative{fill:#c53535}.trend-hit{fill:transparent;pointer-events:all}.trend-tooltip{position:absolute;transform:translate(-50%,-100%);padding:8px 10px;border-radius:10px;background:rgba(23,33,43,.94);color:#fff;font-size:12px;line-height:1.35;box-shadow:0 10px 20px rgba(15,23,42,.18);pointer-events:none;white-space:nowrap;z-index:3}.trend-tooltip strong{display:block;margin-top:2px}.trend-axis,.trend-label{fill:#78879a;font-size:11px}.table-card{padding:16px;margin-bottom:16px}.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.card-title{font-size:18px;font-weight:700;margin-bottom:0}.table-search-input{width:260px;max-width:100%;height:36px;padding:0 12px;border:1px solid var(--line);border-radius:10px;background:#fff;font-size:13px;outline:none}.table-search-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(15,111,255,.1)}.table-scroll{overflow:auto}.table-scroll-mid{max-height:760px}.table-scroll-tall{max-height:820px}.expand-row td{background:#f9fbfd}.expand-cell{padding:0!important}.embedded-rounds{padding:12px}.embedded-rounds-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.embedded-rounds-title{font-size:14px;font-weight:700}.embedded-rounds-sort{display:flex;gap:12px;flex-wrap:wrap}.embedded-rounds-scroll{overflow:hidden;border:1px solid #edf2f6;border-radius:12px;background:#fff}.embedded-table{width:100%;min-width:1080px;border-collapse:separate;border-spacing:0;background:#fff}.embedded-table td,.embedded-table th{padding:9px 10px;border-bottom:1px solid #edf2f6;text-align:left;font-size:12px;white-space:nowrap}.embedded-table-head th{background:#f4f7fb;color:var(--muted);font-weight:600;box-shadow:inset 0 -1px 0 #edf2f6}.embedded-rounds-body{max-height:420px;overflow:auto}.embedded-table-body td{background:#fff}.embedded-table-body,.embedded-table-head{table-layout:fixed}.embedded-table-body td,.embedded-table-head th{width:8.33%}.embedded-table-body td:first-child,.embedded-table-head th:first-child{width:6%}.embedded-table-body td:nth-child(2),.embedded-table-head th:nth-child(2){width:7%}.embedded-table-body td:nth-child(10),.embedded-table-head th:nth-child(10){width:8%}.embedded-table-body td:nth-child(11),.embedded-table-head th:nth-child(11){width:9%}.embedded-table-body td:nth-child(12),.embedded-table-head th:nth-child(12){width:8%}.embedded-table-body td:nth-child(13),.embedded-table-head th:nth-child(13){width:7%}.expand-icon-button{border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--accent);padding:3px 8px;font-size:11px;line-height:1.6;cursor:pointer;white-space:nowrap}.data-table{width:100%;min-width:1580px;border-collapse:collapse}.data-table td,.data-table th{padding:10px 12px;border-bottom:1px solid #edf2f6;text-align:left;vertical-align:top;font-size:13px;white-space:nowrap}.data-table th{position:-webkit-sticky;position:sticky;top:0;z-index:2;background:#f8fafc;color:var(--muted);font-weight:600}.data-table tr:hover td{background:rgba(15,111,255,.025)}.data-table td:first-child,.data-table th:first-child{min-width:208px}.data-table td:nth-child(2),.data-table th:nth-child(2){min-width:96px}.sort-button{display:inline-flex;align-items:center;gap:6px;border:0;padding:0;background:transparent;color:inherit;font:inherit;font-weight:600;cursor:pointer}.sort-button-active{color:var(--accent)}.sort-indicator{font-size:11px;color:var(--muted)}.code-cell{max-width:208px;white-space:normal}.project-cell{position:relative;display:inline-flex;align-items:center;gap:8px;max-width:100%;padding-bottom:12px;margin-bottom:-12px}.link-button{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0;border:0;background:transparent;color:inherit;text-decoration:none;font:inherit;font-weight:600;cursor:pointer}.link-button:hover{color:var(--accent);text-decoration:underline}.warn-flag{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:999px;background:rgba(197,53,53,.12);color:var(--red);font-size:11px;font-weight:700}.project-tooltip{position:absolute;left:0;top:calc(100% + 2px);display:none;align-items:center;gap:8px;min-width:300px;max-width:380px;padding:10px 12px;border-radius:12px;background:rgba(23,33,43,.98);color:#fff;box-shadow:0 10px 24px rgba(15,23,42,.24);z-index:30}.project-cell:focus-within .project-tooltip,.project-cell:hover .project-tooltip,.project-tooltip:hover{display:inline-flex}.copy-trigger{border:1px solid #d6dde7;border-radius:8px;background:#eef2f6;color:#66758a;padding:2px 8px;font-size:11px;line-height:1.6;cursor:pointer;opacity:0;pointer-events:none;transition:opacity .15s ease}.project-cell:focus-within .copy-trigger,.project-cell:hover .copy-trigger{opacity:1;pointer-events:auto}.copy-trigger:hover{background:#e3e9f0;color:#425468}.project-address{word-break:break-all;white-space:normal;font-family:IBM Plex Mono,monospace;font-size:12px;line-height:1.4}.toast{position:fixed;top:18px;right:18px;z-index:40;padding:10px 14px;border-radius:12px;background:rgba(23,33,43,.94);color:#fff;font-size:13px;box-shadow:0 10px 24px rgba(15,23,42,.22)}.sol-positive{color:var(--green);font-weight:700}.sol-negative{color:var(--red);font-weight:700}@media (max-width:1180px){.metric-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.chart-grid{grid-template-columns:1fr}.chart-stack{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none}.side-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:860px){.page-shell{padding:16px}.overview-top,.query-bar-plain,.toolbar-head{flex-direction:column;align-items:stretch}.overview-summary{text-align:left}.overview-meta{justify-content:flex-start}.overview-meta div{align-items:flex-start}.chart-stack,.metric-strip,.side-grid{grid-template-columns:1fr}.card-head{flex-direction:column;align-items:stretch}.table-search-input{width:100%}.side-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.toolbar-title{font-size:24px}.overview-profit{font-size:28px}.side-stats{grid-template-columns:1fr}.project-tooltip{min-width:240px;max-width:280px}}