:root{--bg: #ece6da;--sheet: #fffdf9;--sheet-2: #f6f0e5;--sheet-3: #f0f5f2;--ink: #162128;--muted: #66757d;--line: rgba(22, 33, 40, .1);--line-strong: rgba(22, 33, 40, .16);--accent: #0d6a5b;--accent-soft: rgba(13, 106, 91, .1);--accent-strong: #0c4f45;--warm: #b76c35;--danger: #9c2f16;--rise: #c2412d;--rise-soft: rgba(194, 65, 45, .1);--fall: #0b7a52;--fall-soft: rgba(11, 122, 82, .1);--neutral-soft: rgba(102, 117, 125, .12);--shadow: 0 20px 60px rgba(22, 33, 40, .08);--shadow-soft: 0 10px 24px rgba(22, 33, 40, .05)}*{box-sizing:border-box}body{margin:0;min-height:100vh;color:var(--ink);background:linear-gradient(rgba(24,33,38,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(24,33,38,.035) 1px,transparent 1px),radial-gradient(circle at top left,rgba(176,100,46,.16),transparent 28%),linear-gradient(180deg,#faf6ef 0%,var(--bg) 100%);background-size:28px 28px,28px 28px,auto,auto;font-family:Segoe UI,Microsoft YaHei,sans-serif}button,input{font:inherit}.app-layout{display:flex;min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;width:64px;display:flex;flex-direction:column;background:linear-gradient(180deg,#1a2530,#162128);border-right:1px solid rgba(255,255,255,.06);transition:width .2s ease;overflow:hidden;z-index:100;flex-shrink:0}.sidebar:hover{width:220px}.sidebar-logo{display:flex;align-items:center;justify-content:center;height:64px;flex-shrink:0;color:#fff;font-size:24px;font-weight:900;letter-spacing:-.04em;border-bottom:1px solid rgba(255,255,255,.06)}.sidebar-nav{list-style:none;margin:0;padding:12px 10px;flex:1;display:flex;flex-direction:column;gap:4px}.sidebar-btn{display:flex;align-items:center;gap:14px;width:100%;padding:12px;border:none;border-radius:12px;background:transparent;color:#ffffff80;cursor:pointer;font-size:13px;font-weight:700;white-space:nowrap;transition:background .12s,color .12s}.sidebar-btn:hover{background:#ffffff14;color:#ffffffd9}.sidebar-btn.active{background:#0d6a5b4d;color:#5ae4c8}.sidebar-btn svg{flex-shrink:0;width:20px;height:20px}.sidebar-label{opacity:0;transition:opacity .16s ease}.sidebar:hover .sidebar-label{opacity:1}.sidebar-top{padding:10px 10px 6px;border-bottom:1px solid rgba(255,255,255,.06);flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:6px}.sidebar-asset-badge{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:10px;background:#0d6a5b40;color:#5ae4c8;font-size:18px;font-weight:900;letter-spacing:-.02em;flex-shrink:0}.sidebar-asset-select{display:none;width:100%}.sidebar:hover .sidebar-asset-select{display:flex;justify-content:center}.sidebar-asset-select select{width:100%;padding:8px 10px;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:#ffffff0f;color:#fffc;font-size:12px;font-weight:800;text-align:center;cursor:pointer}.sidebar-asset-select select option{background:#1a2530;color:#fff}.page-shell{flex:1;min-width:0;width:auto;max-width:1440px;padding:20px 28px 36px;margin:0 auto}.hero{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;padding:34px;border:1px solid rgba(255,255,255,.6);border-radius:32px;background:linear-gradient(135deg,#fffdf8f5,#f6eee1d1),radial-gradient(circle at 12% 8%,rgba(13,106,91,.14),transparent 26%);box-shadow:var(--shadow)}.eyebrow{margin:0 0 8px;color:var(--warm);font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.hero h1{margin:0;font-size:clamp(34px,5vw,58px);line-height:1;letter-spacing:-.05em}.hero-copy{margin:12px 0 0;max-width:820px;color:var(--muted);line-height:1.8;font-size:18px}.hero-meta{display:flex;flex-wrap:wrap;gap:8px}.hero-meta span,.section-label{display:inline-flex;align-items:center;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:12px;font-weight:800}.hero-meta span{padding:8px 12px}.copy-row-btn{display:inline-flex;align-items:center;gap:8px;padding:8px 18px;border:1px solid var(--accent);border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:12px;font-weight:800;cursor:pointer;transition:background .12s;white-space:nowrap}.copy-row-btn:hover{background:var(--accent);color:#fff}.copy-status{font-size:11px;opacity:.8}.date-control,.asset-control{display:inline-flex;align-items:center;gap:10px;padding:6px 10px;border-radius:999px;background:#ffffffb3;border:1px solid var(--line);color:var(--accent-strong);font-size:12px;font-weight:800}.date-input,.asset-select{border:0;background:transparent;color:var(--ink);font-weight:700;outline:none}.section-label{margin-bottom:8px;padding:5px 10px;letter-spacing:.08em}.sheet-stack{display:grid;gap:16px;margin-top:16px}.sheet-panel{border:1px solid rgba(255,255,255,.66);border-radius:28px;background:linear-gradient(180deg,#fffdf7f2,#fbf8f1eb);box-shadow:var(--shadow);overflow:hidden}.sheet-toolbar{display:flex;justify-content:space-between;gap:18px;align-items:flex-end;padding:22px 24px 16px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#ffffffc7,#fff0),radial-gradient(circle at top right,rgba(13,106,91,.05),transparent 30%)}.sheet-toolbar h2{margin:0;font-size:22px;letter-spacing:-.03em}.sheet-toolbar p{margin:0;max-width:660px;color:var(--muted);line-height:1.65}.sheet-scroll{overflow:auto}table{width:100%;border-collapse:separate;border-spacing:0}th,td{min-width:132px;padding:16px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;background:#fffdf785}th{position:sticky;top:0;z-index:2;color:var(--muted);background:#f6f0e5e0;font-size:12px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}tbody tr:hover td,tbody tr:hover th{background:#0d6a5b0b}.sticky-col{left:0;z-index:3;min-width:126px;border-right:1px solid var(--line-strong);background:#f6f0e5f0}.total-row th,.total-row td{background:linear-gradient(180deg,#0d6a5b14,#0d6a5b0a);font-weight:900}.metric-sheet td,.metric-sheet tbody th{font-size:17px}.metric-sheet .total-row td{color:var(--accent-strong);font-size:18px}.exchange-panel{background:linear-gradient(135deg,#0d6a5b14,#b76c3514),#fffdf7f0}.exchange-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;padding:18px 20px 22px}.exchange-card{min-height:140px;padding:20px 18px 18px;border:1px solid rgba(255,255,255,.72);border-radius:22px;background:linear-gradient(180deg,#ffffffd6,#fffdf7e6),var(--sheet);box-shadow:var(--shadow-soft)}.exchange-label{display:block;margin-bottom:18px;color:var(--muted);font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.exchange-card strong{color:var(--ink);font-size:clamp(24px,2.5vw,36px);line-height:1.02;letter-spacing:-.04em}.exchange-footer{margin-top:16px}.category-sheet tbody tr{cursor:pointer}.selected-row td{background:#b0642e1f}.category-name{font-weight:800}.ratio-cell{display:grid;gap:8px}.ratio-head{display:flex;justify-content:space-between;gap:10px;align-items:center}.metric-value-cell{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.metric-primary{color:var(--ink);font-size:16px;font-weight:800;letter-spacing:-.02em}.total-row .metric-primary{font-size:18px}.delta-pill{display:inline-flex;align-items:center;min-height:24px;padding:4px 9px;border-radius:999px;font-size:11px;font-weight:800;letter-spacing:.03em;line-height:1}.delta-tooltip{position:relative;display:inline-flex;align-items:center}.delta-tooltip-bubble{position:absolute;left:0;bottom:calc(100% + 10px);z-index:20;min-width:max-content;max-width:220px;padding:10px 12px;border:1px solid rgba(22,33,40,.12);border-radius:12px;background:#162128f5;color:#fffdf8;box-shadow:0 16px 32px #1621282e;font-size:12px;font-weight:700;line-height:1.4;letter-spacing:.01em;opacity:0;pointer-events:none;transform:translateY(6px);transition:opacity .14s ease,transform .14s ease;white-space:nowrap}.delta-tooltip-bubble:after{content:"";position:absolute;left:14px;top:100%;width:10px;height:10px;background:#162128f5;transform:rotate(45deg) translateY(-4px);border-right:1px solid rgba(22,33,40,.12);border-bottom:1px solid rgba(22,33,40,.12)}.delta-tooltip:hover .delta-tooltip-bubble{opacity:1;transform:translateY(0)}.delta-pill.positive{color:var(--rise);background:var(--rise-soft)}.delta-pill.negative{color:var(--fall);background:var(--fall-soft)}.delta-pill.neutral{color:var(--muted);background:var(--neutral-soft)}.ratio-track{width:100%;height:6px;border-radius:999px;background:#18212614;overflow:hidden}.ratio-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--accent),var(--warm))}.address-tools{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:16px 20px 6px}.tab-row{display:flex;gap:8px}.tab-button,.clear-button{border:1px solid var(--line);border-radius:999px;background:#ffffffc2;color:var(--muted);cursor:pointer;font-weight:800}.tab-button{padding:9px 14px}.clear-button{padding:9px 12px;color:var(--warm)}.tab-button.active{border-color:#116b5a42;background:var(--accent-soft);color:var(--accent);box-shadow:inset 0 0 0 1px #0d6a5b14}.search-input{min-width:min(360px,100%);padding:11px 15px;border:1px solid var(--line);border-radius:999px;background:#ffffffdb;color:var(--ink)}.address-cell{max-width:320px;min-width:260px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:Consolas,SFMono-Regular,Menlo,monospace;font-size:13px}.ranking-table th,.ranking-table td{min-width:100px}.rank-cell{text-align:center;min-width:60px!important}.rank-badge{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;font-size:13px;font-weight:900;line-height:1}.rank-1{background:linear-gradient(135deg,gold,#ffb300);color:#5a3e00;box-shadow:0 2px 8px #ffb30059}.rank-2{background:linear-gradient(135deg,#e0e0e0,#b0b0b0);color:#3a3a3a;box-shadow:0 2px 8px #a0a0a04d}.rank-3{background:linear-gradient(135deg,#e8a862,#c47a30);color:#502e0a;box-shadow:0 2px 8px #c47a304d}.rank-other{background:var(--neutral-soft);color:var(--muted)}.exchange-name-cell{font-weight:800;font-size:15px;letter-spacing:-.01em}.status{margin-top:16px;padding:16px 18px;border:1px solid var(--line);border-radius:16px;background:#fffdf7db}.status.error{color:var(--danger);border-color:#9c2f1633;background:#9c2f160f}@media(max-width:900px){.hero,.sheet-toolbar{flex-direction:column;align-items:stretch}.exchange-strip{grid-template-columns:1fr}}.mgr-add-btn{padding:10px 18px;border:1px solid var(--accent);border-radius:999px;background:var(--accent-soft);color:var(--accent);font-weight:800;font-size:13px;cursor:pointer;transition:background .12s}.mgr-add-btn:hover{background:var(--accent);color:#fff}.mgr-error{padding:12px 20px;color:var(--danger);background:#9c2f160f;border-bottom:1px solid rgba(156,47,22,.15);font-size:13px;font-weight:700}.mgr-form{padding:20px 24px;border-bottom:1px solid var(--line);background:#f6f0e580}.mgr-form h3{margin:0 0 16px;font-size:16px}.mgr-form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.mgr-form-grid label{display:flex;flex-direction:column;gap:4px}.mgr-form-grid label>span{font-size:11px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.mgr-form-grid input,.mgr-form-grid select{padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:#fffc;font-size:13px}.mgr-checkbox{flex-direction:row!important;align-items:center;gap:8px!important}.mgr-checkbox input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent)}.mgr-form-actions{display:flex;gap:10px;margin-top:16px}.mgr-save-btn{padding:10px 24px;border:none;border-radius:999px;background:var(--accent);color:#fff;font-weight:800;cursor:pointer}.mgr-save-btn:disabled{opacity:.5;cursor:not-allowed}.mgr-cancel-btn{padding:10px 18px;border:1px solid var(--line);border-radius:999px;background:#ffffffb3;color:var(--muted);font-weight:800;cursor:pointer}.mgr-table td,.mgr-table th{min-width:80px;padding:10px 12px;font-size:13px}.mgr-code-cell{font-family:Consolas,SFMono-Regular,monospace;font-weight:700;color:var(--accent-strong)}.mgr-inactive-row td{opacity:.45}.mgr-toggle-btn{padding:5px 12px;border:1px solid var(--line);border-radius:999px;font-size:11px;font-weight:800;cursor:pointer}.mgr-toggle-btn.active{background:var(--accent-soft);color:var(--accent);border-color:#0d6a5b33}.mgr-toggle-btn.inactive{background:var(--neutral-soft);color:var(--muted)}.mgr-action-row{display:flex;gap:6px}.mgr-edit-btn,.mgr-del-btn{padding:5px 12px;border:1px solid var(--line);border-radius:999px;font-size:11px;font-weight:800;cursor:pointer;background:#ffffffb3}.mgr-edit-btn{color:var(--accent)}.mgr-del-btn{color:var(--danger)}.mgr-edit-btn:hover{background:var(--accent-soft)}.mgr-del-btn:hover{background:#9c2f1614}.report-modal-overlay{position:fixed;inset:0;background:#16212880;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.report-modal{background:var(--sheet);border-radius:16px;width:min(960px,92vw);max-height:88vh;display:flex;flex-direction:column;box-shadow:0 24px 80px #0003}.report-modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 28px;border-bottom:1px solid var(--line);background:var(--sheet-3);border-radius:16px 16px 0 0}.report-modal-header h2{font-size:1.1rem;font-weight:600;margin:0;color:var(--accent-strong)}.report-modal-actions{display:flex;gap:8px;align-items:center}.report-copy-btn{padding:7px 18px;border-radius:8px;border:1px solid var(--accent);background:var(--accent);color:#fff;font-size:.85rem;font-weight:500;cursor:pointer;transition:opacity .15s}.report-copy-btn:hover{opacity:.85}.report-close-btn{width:32px;height:32px;border-radius:8px;border:none;background:transparent;color:var(--muted);font-size:1.1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}.report-close-btn:hover{background:var(--line);color:var(--ink)}.report-body{padding:24px 28px;overflow-y:auto;font-size:.9rem;line-height:1.6;color:var(--ink)}.report-title{font-size:1.05rem;font-weight:700;color:var(--accent-strong);margin:0 0 8px;padding-bottom:8px;border-bottom:2px solid var(--accent)}.report-section{font-weight:600;color:var(--ink);background:var(--accent-soft);padding:6px 12px;border-radius:6px;margin:12px 0 6px;font-size:.92rem;border-left:3px solid var(--accent)}.report-sub{font-weight:500;color:var(--ink);padding:2px 0 2px 16px;margin:4px 0}.report-indent{color:var(--muted);padding:1px 0 1px 28px;font-size:.88rem;font-family:Menlo,Consolas,monospace;border-left:2px solid var(--line);margin-left:16px}.report-line{padding:2px 0 2px 8px;margin:2px 0}.report-spacer{height:6px}
