:root {
  --bg:#fff7fd !important;
  --surface:#fff !important;
  --surface-2:#e7f7ff !important;
  --text:#393657 !important;
  --muted:#6d6798 !important;
  --line:#5c55d3 !important;
  --grid:#d8d2f0 !important;
  --red:#eb5dac !important;
  --green:#5c55d3 !important;
  --blue:#6cc9e9 !important;
  --amber:#e2ae45 !important;
  --sidebar:#5b55df !important;
  background:#fff7fd !important;
}
.ledger-auth-gate { position:fixed; inset:0; z-index:5000; display:grid; place-items:center; padding:24px; background:repeating-linear-gradient(0deg,transparent 0 5px,rgba(128,116,218,.06) 5px 6px),#fff7fd; }
.ledger-auth-panel { width:min(390px,100%); padding:30px 28px 26px; border:2px solid #3731c9; background:#fff; box-shadow:7px 7px 0 #e954aa; color:#393657; }
.ledger-auth-kicker { color:#e954aa; font:700 10px/1.2 'Segoe UI','Microsoft YaHei',sans-serif; letter-spacing:.08em; }
.ledger-auth-panel h1 { margin:10px 0 6px; color:#4039bb; font:700 28px/1.1 'Segoe UI','Microsoft YaHei',sans-serif; }
.ledger-auth-panel p { margin:0 0 20px; color:#6d6798; font:14px/1.6 'Segoe UI','Microsoft YaHei',sans-serif; }
.ledger-auth-form { display:grid; gap:9px; }
.ledger-auth-form label { color:#4b43c4; font:700 12px/1.2 'Segoe UI','Microsoft YaHei',sans-serif; }
.ledger-auth-form label + input { margin-bottom:4px; }
.ledger-auth-form input { width:100%; min-height:42px; padding:0 12px; border:2px solid #5c55d3; background:#fff; color:#393657; font:16px/1 'Segoe UI','Microsoft YaHei',sans-serif; outline:none; }
.ledger-auth-form input:focus { border-color:#e954aa; box-shadow:0 0 0 3px rgba(233,84,170,.18); }
.ledger-auth-form button { min-height:42px; margin-top:4px; border:2px solid #3731c9; background:#5149c9; color:#fff; cursor:pointer; font:700 13px/1 'Segoe UI','Microsoft YaHei',sans-serif; }
.ledger-auth-form button:hover { background:#e954aa; }
.ledger-auth-error { min-height:16px; color:#d72d82; font:12px/1.3 'Segoe UI','Microsoft YaHei',sans-serif; }
* { border-radius:0 !important; }
html { background:#fff7fd; }
body { color:var(--text) !important; background:repeating-linear-gradient(0deg,transparent 0 5px,rgba(128,116,218,.06) 5px 6px),#fff7fd !important; transition:opacity 150ms ease,transform 150ms ease; }
html.ledger-leaving body { opacity:0; transform:translateY(8px); }
.sidebar { display:none !important; }
.app-shell { display:block !important; min-height:0 !important; }
main { max-width:none !important; padding:0 26px 36px !important; }
.topbar { height:80px !important; border-bottom:2px solid var(--line) !important; }
.topbar h1,.section-header h2,.trend-head h2,.rhythm-copy h2 { color:#4039bb !important; letter-spacing:0 !important; }
.topbar h1 { font-family:'Segoe UI','Microsoft YaHei',sans-serif !important; font-size:23px !important; }
.eyebrow,.insight-label { color:#e954aa !important; }
.top-actions { margin-right:120px; }
.icon-button,.export-button { border:2px solid var(--line) !important; color:#4b43c4 !important; background:#e7f7ff !important; box-shadow:2px 2px 0 #ef8cca !important; }
.icon-button:hover,.export-button:hover { color:#fff !important; border-color:#e954aa !important; background:#e954aa !important; }
.ledger-return-blog { position:fixed; z-index:1000; top:20px; right:26px; display:inline-flex; align-items:center; min-height:40px; padding:0 11px; border:2px solid #3731c9; color:#fff; background:#e954aa; box-shadow:2px 2px 0 #4e47c5; font:700 10px 'Segoe UI','Microsoft YaHei',sans-serif; text-decoration:none; }
.ledger-return-blog:hover { background:#5149c9; }
.filter-strip,.metrics-grid,.analysis-grid,.rhythm-section,.crypto-section,.table-wrap,footer { border-color:#bdb6e6 !important; }
.filter-strip { color:#655e98 !important; }
.year-tabs,.mode-switch { border:1px solid #a29ae1 !important; background:#e8f7ff !important; }
.year-tabs button,.mode-switch button { color:#625c94 !important; }
.year-tabs button.selected,.mode-switch button.selected { color:#fff !important; background:#5b55df !important; box-shadow:none !important; }
.hero { min-height:220px !important; padding:34px 0 28px !important; }
.hero h2 { color:#4039bb !important; letter-spacing:0 !important; font-family:'Segoe UI','Microsoft YaHei',sans-serif !important; }
.hero p,.section-header p,.rhythm-copy p,.metric-meta,.confidence,.chart-footnotes,.pagination,footer { color:#6d6798 !important; }
.status-line { color:#4d48c4 !important; }.status-line span { background:#6cc9e9 !important; box-shadow:0 0 0 4px rgba(108,201,233,.2) !important; }
.hero-insight { border-left-color:#e954aa !important; background:#fff1f8; padding:12px 16px !important; }
.hero-insight strong { color:#4b44ba !important; font-size:19px !important; }.confidence span { background:#6cc9e9 !important; }
.metric { border-color:#bdb6e6 !important; background:#fff !important; }.metric-value { color:#4039bb !important; }.metric-top { color:#6d6798 !important; }
.metric-red .metric-top svg { color:#e954aa !important; }.metric-green .metric-top svg { color:#5b55df !important; }.metric-blue .metric-top svg { color:#6cc9e9 !important; }
.chart-footnotes i.red { background:#e954aa !important; }.chart-footnotes i.green { background:#5b55df !important; }.chart-footnotes i.blue { background:#6cc9e9 !important; }
.crypto-total { border:2px solid #3731c9; background:#5149c9 !important; box-shadow:4px 4px 0 #e954aa; }.crypto-total svg { color:#fff3a3 !important; }.crypto-total span,.crypto-total small { color:#e9e6ff !important; }
.route-panel { border:2px solid #3731c9; background:#5149c9 !important; margin-inline:-26px !important; }.route-copy { background:linear-gradient(145deg,#5149c9,#8073e6) !important; }.route-stats { background:#a79cea !important; }.route-stats div { background:#4039ac !important; }.route-years,.route-event { border-color:#aaa1ee !important; }.event-date,.route-copy .eyebrow { color:#fff3a3 !important; }.map-stage { border-left:2px solid #3731c9; }
.table-wrap tbody tr:hover { background:#fff0f9 !important; }.search-box { border:2px solid #5c55d3 !important; background:#fff !important; }.pagination button { border:2px solid #5c55d3 !important; color:#4b43c4 !important; }
.leaflet-popup-content-wrapper,.leaflet-popup-tip { border:1px solid #5c55d3; color:#393657; }
@media (max-width:760px) { main { padding:0 16px 28px !important; }.topbar { height:74px !important; }.top-actions { margin-right:46px; }.ledger-return-blog { top:18px; right:14px; width:36px; padding:0; justify-content:center; font-size:0; }.ledger-return-blog::first-letter { font-size:19px; }.route-panel { margin-inline:-16px !important; }.map-stage { border-top:2px solid #3731c9; border-left:0; } }
