:root{--brand:#2b5aed;--brand-deep:#1e43c7;--brand-soft:#eef3ff;--accent:#f59e0b;--accent-soft:#fef3c7;--accent-deep:#b45309;--up:#dc2626;--down:#16a34a;--risk:#dc2626;--risk-soft:#fef2f2;--text-1:#111827;--text-2:#4b5563;--text-3:#6b7280;--border:#e8ebf0;--hover-row:#f5f8ff;--bg:#ffffff;--bg-soft:#f7f8fb;--ok:#16a34a;--ok-soft:#ecfdf3;--r-card:14px;--r-input:10px;--r-badge:6px;--shadow-card:0 1px 2px rgba(16,30,60,0.05);--shadow-lift:0 8px 24px rgba(16,30,60,0.1);--font-sans:-apple-system,"PingFang SC","Microsoft YaHei","HarmonyOS Sans SC","Noto Sans SC",sans-serif;--brand-blue:var(--brand);--brand-blue-tint:var(--brand-soft);--hero-gradient-from:#f3f6ff;--amber:var(--accent);--rise-red:var(--up);--fall-green:var(--down);--text-primary:var(--text-1);--text-secondary:var(--text-2);--text-tertiary:var(--text-3);--border-subtle:var(--border);--radius-card:var(--r-card);--radius-input:var(--r-input);--radius-badge:var(--r-badge)}*{box-sizing:border-box;margin:0;padding:0}html{font-family:var(--font-sans);color:var(--text-1);font-size:16px;line-height:1.7}body{background:var(--bg);-webkit-font-smoothing:antialiased;overflow-x:hidden}button{cursor:pointer}button,input{font-family:inherit}a{color:var(--brand);text-decoration:none}.tnum{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.skeleton{height:12px;border-radius:4px;background:linear-gradient(90deg,#eef1f5 25%,#f7f9fb 45%,#eef1f5 65%);background-size:200% 100%;animation:skeleton-shimmer 1.2s infinite}@keyframes skeleton-shimmer{0%{background-position:120% 0}to{background-position:-80% 0}}.stream-caret{display:inline-block;width:7px;height:14px;background:var(--brand);vertical-align:-2px;animation:caret-blink .9s infinite}@keyframes caret-blink{50%{opacity:0}}.agent-dot{width:8px;height:8px;border-radius:50%;background:var(--brand);animation:agent-pulse 1.2s infinite;flex:none}.agent-dot.done{background:var(--ok);animation:none}@keyframes agent-pulse{50%{opacity:.3}}tbody tr{transition:background .12s}tbody tr:hover{background:var(--hover-row)}tbody tr .t-title{cursor:pointer;transition:color .12s}tbody tr:hover .t-title{color:var(--brand)}.brief-row:hover{background:var(--hover-row)}.award-row{transition:background .15s ease}.award-row:hover{background:var(--hover-row)}.project-detail-grid{display:grid;grid-template-columns:300px minmax(0,1fr) 300px;grid-gap:16px;gap:16px;align-items:start}.project-detail-grid>section{min-width:0}@media (max-width:1100px){.project-detail-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}@media (max-width:760px){.project-detail-grid{grid-template-columns:minmax(0,1fr)}}.app-nav{display:flex;gap:4px;align-items:center;overflow-x:auto;scrollbar-width:none;min-width:0}.app-nav::-webkit-scrollbar{display:none}.app-nav a{white-space:nowrap}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.table-scroll table{min-width:760px}img,svg{max-width:100%}.grid-2{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-gap:16px}.grid-2,.grid-2a{display:grid;gap:16px;align-items:start}.grid-2a{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);grid-gap:16px}.grid-main-side{display:grid;grid-template-columns:minmax(0,1fr) 312px;grid-gap:18px;gap:18px;align-items:start}@media (max-width:1080px){.grid-2,.grid-2a,.grid-main-side{grid-template-columns:minmax(0,1fr)}}@media (max-width:820px){.app-header{padding:0 14px!important;height:56px!important}.app-brand-text,.app-quota{display:none}}