@import"https://fonts.googleapis.com/css2?family=Electrolize&display=swap";:root{--bg: #0d1117;--panel: #161b27;--panel-2: #1e2433;--border: #252d3d;--text: #e6e9ef;--muted: #6b7589;--accent: #4f8cff;--green: #22c55e;--red: #ef4444;--chart-grid: rgba(255,255,255,.04);--chart-legend: #ffffff;--shadow: 0 4px 20px rgba(0,0,0,.5);--text-xs: 12px;--text-sm: 16px;--text-md: 24px;--text-lg: 32px;--text-xl: 40px;--text-2xl: 64px}body.theme-light{--bg: #f2f2f2;--panel: #ffffff;--panel-2: #ececec;--border: #d4d4d4;--text: #1f1f1f;--muted: #8a8a8a;--accent: #4a4a4a;--green: #16a34a;--red: #dc2626;--chart-grid: rgba(0,0,0,.06);--chart-legend: #1f1f1f;--shadow: 0 4px 20px rgba(0,0,0,.08)}body.theme-eink{--bg: #e8e4d8;--panel: #f1ede1;--panel-2: #ddd8c8;--border: #b8b2a1;--text: #1a1814;--muted: #6b665a;--accent: #2b2822;--green: #3d4a2a;--red: #7a2e22;--chart-grid: rgba(26,24,20,.08);--chart-legend: #1a1814;--shadow: 0 1px 0 rgba(0,0,0,.12)}body.theme-cyber{--bg: #0a0612;--panel: #120a1f;--panel-2: #1a0f2e;--border: #3a1f5e;--text: #e8d5ff;--muted: #7a5a9e;--accent: #00f0ff;--green: #00ff9d;--red: #ff2e7e;--chart-grid: rgba(0,240,255,.08);--chart-legend: #e8d5ff;--shadow: 0 4px 24px rgba(0,240,255,.15), 0 0 1px rgba(255,46,126,.3)}*{box-sizing:border-box;margin:0;padding:0}*,*:before,*:after{transition:background-color .25s ease,border-color .25s ease,color .25s ease,fill .25s ease,stroke .25s ease,box-shadow .25s ease}button,input,select,textarea{font-family:inherit}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--muted)}*{scrollbar-width:thin;scrollbar-color:var(--border) transparent}html,body{position:fixed;width:100%;height:100%;overflow:hidden}body{font-family:Electrolize,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text)}#root,.app-root{display:flex;flex-direction:column;width:100%;height:100%;overflow:hidden}.app-header{display:flex;align-items:stretch;gap:24px;padding:0 24px;background:var(--panel);border-bottom:1px solid var(--border);flex-shrink:0}.app-header>.header-left,.app-header>.tabs-actions{align-self:center}.app-header>.tabs{flex:1;border-left:1px solid var(--border)}.header-left{display:flex;align-items:center;gap:12px}.header-logo{width:32px;height:32px;border-radius:50%;background:var(--accent);display:flex;align-items:center;justify-content:center;font-size:var(--text-xs);font-weight:700;color:#fff;flex-shrink:0}.header-title{font-size:var(--text-sm);font-weight:100;line-height:1}.header-badge{font-size:var(--text-xs);font-weight:600;background:var(--panel-2);border:1px solid var(--border);color:var(--muted);padding:4px 8px;border-radius:4px}.header-right{font-size:var(--text-xs);color:var(--muted)}.tabs{position:relative;display:flex;align-items:stretch;gap:0;overflow-x:auto;scrollbar-width:none;margin-bottom:-1px}.tabs::-webkit-scrollbar{display:none}.tabs button{background:transparent;border:none;border-bottom:4px solid transparent;color:var(--muted);padding:20px 16px 16px;cursor:pointer;font-size:var(--text-sm);line-height:1;white-space:nowrap;transition:color .15s;display:inline-flex;align-items:center;justify-content:center}.tabs button .tab-icon{display:none}.tabs button:hover,.tabs button.active{color:var(--text)}.tab-indicator{position:absolute;bottom:0;left:0;height:4px;background:var(--accent);border-radius:2px 2px 0 0;transition:transform .25s ease,background-color .25s ease;will-change:transform;pointer-events:none}.tabs-actions{display:flex;align-items:center;gap:8px}.refresh-btn{font-size:var(--text-xs);padding:0 12px;height:40px;display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap;background:transparent;border:1px solid var(--border);color:var(--muted);border-radius:8px;cursor:pointer}.refresh-btn .refresh-time{font-size:var(--text-xs);line-height:1}.refresh-btn:hover{color:var(--text);border-color:var(--muted)}.refresh-btn svg{transition:transform .4s ease}.refresh-btn:not(.theme-toggle):hover svg{transform:rotate(90deg)}.refresh-btn:not(.theme-toggle):active svg{transform:rotate(180deg);transition-duration:.15s}.refresh-btn.is-loading svg{animation:refresh-spin .9s linear infinite;transition:none}@keyframes refresh-spin{to{transform:rotate(360deg)}}.theme-toggle{width:40px;padding:0}.theme-picker{position:relative;display:inline-block}.theme-menu{position:absolute;top:calc(100% + 4px);right:0;background:var(--panel);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow);padding:4px;display:flex;flex-direction:column;min-width:160px;z-index:1000}.theme-menu-item{display:flex;align-items:center;gap:8px;background:transparent;border:0;color:var(--muted);font-family:inherit;font-size:var(--text-xs);padding:8px 10px;border-radius:6px;cursor:pointer;text-align:left}.theme-menu-item.active{color:var(--text);background:color-mix(in srgb,var(--text) 7%,transparent)}.theme-menu-item:hover{background:color-mix(in srgb,var(--text) 14%,transparent);color:var(--text)}.app-content{padding:24px 24px 12px;flex:1;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:12px}.kpi{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:16px 20px}.kpi-label{color:var(--muted);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.6px;margin-bottom:12px;font-weight:500}.kpi-value{font-size:var(--text-md);font-weight:700;letter-spacing:-.5px;display:flex;align-items:baseline;gap:8px}.kpi-sub{font-size:var(--text-xs);margin-top:8px;color:var(--muted)}.kpi-double{display:flex;flex-direction:column;gap:0;padding:0}.kpi-double-half{padding:20px}.kpi-double-half+.kpi-double-half{border-top:1px solid var(--border)}.kpi-double .kpi-value{font-size:var(--text-lg)}.kpi-double-half--primary .kpi-value{font-size:var(--text-2xl)}.kpi-with-donut{display:flex;flex-wrap:wrap;align-items:stretch;padding:0}.kpi-with-donut>.kpi-double{flex:1 0 400px;min-width:0;background:transparent;border:0;border-radius:0;padding:0}.donut-tile{flex:1 0 200px;min-width:0;max-width:360px;display:grid;grid-template-rows:auto 1fr auto;gap:10px;padding:20px;background:transparent;border:0;border-radius:0;border-left:1px solid var(--border)}.donut-tile .kpi-label{text-align:left;justify-self:start;margin-bottom:0}.donut-tile .mini-donut{align-self:center;justify-self:center}.mini-donut{display:flex;align-items:center;justify-content:center;position:relative}.mini-donut svg{display:block;overflow:visible}.mini-donut-tooltip{position:fixed;background:#000000d9;color:#fff;font-size:var(--text-xs);padding:6px 8px;border-radius:4px;white-space:nowrap;pointer-events:none;z-index:1000}.mini-donut-tooltip-row{display:inline-flex;align-items:center;gap:6px}.mini-donut-tooltip-extra{margin-top:2px;opacity:.75;padding-left:16px}.mini-donut-tooltip-dot{width:10px;height:10px;border-radius:2px;display:inline-block}.donut-legend{display:flex;flex-direction:column;gap:4px;font-size:var(--text-xs);color:var(--muted);align-self:stretch}.donut-legend>span{display:flex;align-items:center;gap:6px}.donut-legend-extra{margin-left:auto;padding-left:8px;font-variant-numeric:tabular-nums}.donut-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.pos{color:var(--green)}.neg{color:var(--red)}.kpi-grid--two-col{grid-template-columns:1fr 1fr}.grid-main{display:grid;grid-template-columns:2fr 1fr;gap:12px;margin-bottom:12px}.grid-second{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}.summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}@media(max-width:1000px){.grid-main{grid-template-columns:1fr}}@media(max-width:1280px){.kpi-grid--two-col:has(.kpi-with-donut){grid-template-columns:1fr}}.panel{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:20px}.panel-title{font-size:var(--text-sm);font-weight:600;margin-bottom:4px;display:flex;justify-content:space-between;align-items:flex-start}.panel-sub{font-size:var(--text-xs);color:var(--muted);margin-bottom:16px}.range-tabs{display:flex;gap:4px}.range-tabs button{background:transparent;border:1px solid transparent;color:var(--muted);padding:4px 8px;border-radius:4px;cursor:pointer;font-size:var(--text-xs);font-weight:500}.range-tabs button:hover{color:var(--text)}.range-tabs button.active{background:var(--accent);color:#fff;border-color:var(--accent)}.table-wrap{max-height:260px;overflow:auto}table{width:100%;border-collapse:collapse;font-size:var(--text-xs)}th,td{text-align:right;padding:12px 8px;border-bottom:1px solid var(--border)}th:first-child,td:first-child{text-align:left}th{color:var(--muted);font-weight:500;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.4px;position:sticky;top:0;background:var(--panel);padding-top:0;padding-bottom:8px}tbody tr:last-child td{border-bottom:none}tbody tr:hover{background:var(--panel-2)}.ticker-name{font-weight:500;font-size:var(--text-xs)}.ticker-sub{font-size:var(--text-xs);color:var(--muted);margin-top:0}.ticker-dot{width:8px;height:8px;border-radius:50%;display:inline-block;margin-right:8px;flex-shrink:0}.ticker-name-cell{display:flex;align-items:center}.type-badge{display:inline-block;font-size:var(--text-xs);font-weight:600;padding:4px 8px;border-radius:4px}.chart-wrap{position:relative;height:280px}.chart-wrap-sm{position:relative;height:220px}.loading{display:flex;align-items:center;justify-content:center;height:100%;color:var(--muted);text-align:center;font-size:var(--text-md);animation:loading-pulse 1.6s ease-in-out infinite}.loading-dots{display:inline-block;margin-left:4px}.loading-dots i{font-style:normal;font-weight:100;display:inline-block;vertical-align:baseline;line-height:1;margin-left:2px;opacity:0;animation:1.6s steps(1,end) infinite}.loading-dots i:before{content:"."}.loading-dots i:first-child{margin-left:0}.loading-dots i:nth-child(1){animation-name:loading-dot-1}.loading-dots i:nth-child(2){animation-name:loading-dot-2}.loading-dots i:nth-child(3){animation-name:loading-dot-3}@keyframes loading-pulse{0%,to{opacity:.65}50%{opacity:1}}@keyframes loading-dot-1{0%,to{opacity:0}20%,75%{opacity:1}90%{opacity:0}}@keyframes loading-dot-2{0%,to{opacity:0}40%,75%{opacity:1}90%{opacity:0}}@keyframes loading-dot-3{0%,to{opacity:0}60%,75%{opacity:1}90%{opacity:0}}.err{color:var(--red);padding:16px;background:#ef444414;border-radius:8px;border:1px solid rgba(239,68,68,.2)}.chartjs-ext-tooltip{position:absolute;pointer-events:none;background:#000000d9;color:#fff;font-size:var(--text-xs);font-family:inherit;padding:6px 8px;border-radius:4px;white-space:nowrap;transform:translate(-50%,calc(-100% - 8px));opacity:0;transition:opacity .15s ease,left .05s ease,top .05s ease;z-index:1000}.chartjs-ext-tooltip .ctt-title{font-weight:600;margin-bottom:2px}@keyframes fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.app-content>*{animation:fade-in .35s ease-out both}.panel,.kpi,.donut-tile{animation:fade-in .45s ease-out both}.kpi-grid>*:nth-child(1),.grid-main>*:nth-child(1),.grid-second>*:nth-child(1),.summary-grid>*:nth-child(1){animation-delay:.02s}.kpi-grid>*:nth-child(2),.grid-main>*:nth-child(2),.grid-second>*:nth-child(2),.summary-grid>*:nth-child(2){animation-delay:.06s}.kpi-grid>*:nth-child(3),.grid-main>*:nth-child(3),.grid-second>*:nth-child(3),.summary-grid>*:nth-child(3){animation-delay:.1s}.kpi-grid>*:nth-child(4),.grid-main>*:nth-child(4),.grid-second>*:nth-child(4),.summary-grid>*:nth-child(4){animation-delay:.14s}.kpi-grid>*:nth-child(n+5),.grid-main>*:nth-child(n+5),.grid-second>*:nth-child(n+5),.summary-grid>*:nth-child(n+5){animation-delay:.18s}@media(prefers-reduced-motion:reduce){.app-content>*,.panel,.kpi,.donut-tile{animation:none}}.section-label{font-size:var(--text-xs);color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px;font-weight:500}.app-footer{display:flex;align-items:center;justify-content:space-between;padding:12px 24px;border-top:1px solid var(--border);font-size:var(--text-xs);color:var(--muted);margin-top:8px}.count-badge{display:inline-flex;align-items:center;gap:4px;font-size:var(--text-xs);color:var(--muted);background:var(--panel-2);border:1px solid var(--border);border-radius:4px;padding:4px 8px;margin-left:8px;font-weight:400}.chart-legend{display:flex;gap:16px;align-items:center;font-size:var(--text-xs);color:var(--muted)}.chart-legend-dot{width:8px;height:8px;border-radius:50%;display:inline-block;margin-right:4px}.info-tooltip-wrap{display:inline-flex;align-items:center;margin-left:4px;vertical-align:middle}.info-icon{color:var(--muted);cursor:default;flex-shrink:0;display:block}.info-tooltip-wrap:hover .info-icon{color:var(--text)}.info-tooltip{background:#000000d9;border:0;border-radius:4px;padding:6px 8px;font-size:var(--text-xs);font-weight:400;text-transform:none;letter-spacing:0;color:#fff;white-space:nowrap;z-index:1000;box-shadow:none;min-width:220px;pointer-events:none}.info-tooltip-row{display:flex;justify-content:space-between;gap:24px;padding:2px 0}.info-tooltip-divider{height:1px;background:#fff3;margin:4px 0}.info-tooltip-total{font-weight:600}@media(min-width:641px)and (max-width:1000px){.app-content{padding:16px 16px 12px}.chart-wrap{height:240px}.chart-wrap-sm{height:200px}}@media(max-width:640px){.app-content{padding:12px}.app-header{padding:8px 8px 8px 12px;gap:8px}.app-header>.tabs-actions{margin-left:auto}.app-header>.tabs{position:fixed;bottom:0;left:0;right:0;z-index:50;background:var(--panel);border-top:1px solid var(--border);border-left:0;margin-bottom:0;padding:0 8px;justify-content:space-around;-webkit-overflow-scrolling:touch;padding-bottom:env(safe-area-inset-bottom)}.app-header>.tabs button{flex:1;height:64px;padding:8px;font-size:var(--text-xs);flex-direction:column;gap:4px}.app-header>.tabs button .tab-icon{display:block}.app-content{padding-bottom:80px}.kpi-grid{grid-template-columns:1fr 1fr;gap:8px}.kpi-grid--two-col{grid-template-columns:1fr}.kpi{padding:16px}.kpi-grid--merge-mobile{gap:0;border:1px solid var(--border);border-radius:14px;overflow:hidden;background:var(--panel)}.kpi-grid--merge-mobile .kpi{border:0;border-radius:0;background:transparent}.kpi-grid--merge-mobile:not(.kpi-grid--two-col) .kpi:nth-child(odd){border-right:1px solid var(--border)}.kpi-grid--merge-mobile:not(.kpi-grid--two-col) .kpi:nth-child(-n+2){border-bottom:1px solid var(--border)}.kpi-grid--merge-mobile.kpi-grid--two-col .kpi+.kpi{border-top:1px solid var(--border)}.kpi-double{padding:0}.kpi-double-half{padding:16px}.kpi-with-donut{padding:0;flex-direction:column}.kpi-with-donut>.kpi-double{flex:0 0 auto}.kpi-with-donut>.donut-tile{flex:0 0 auto;max-width:none;border-left:0;border-top:1px solid var(--border)}.kpi-double .kpi-value{font-size:var(--text-md)}.kpi-double-half--primary .kpi-value{font-size:var(--text-xl)}.grid-main,.grid-second,.summary-grid{grid-template-columns:1fr}.panel{padding:16px}.panel-title{flex-direction:column;align-items:flex-start;gap:8px}.chart-wrap{height:220px}.chart-wrap-sm{height:180px}.table-wrap{max-height:none;overflow:visible}table,tbody,tr,td{display:block;width:100%}thead{display:none}table{min-width:0}tbody tr{border:1px solid var(--border);border-radius:12px;background:transparent;padding:4px 12px;margin-bottom:10px}tbody tr:last-child{margin-bottom:0}tbody tr:hover{background:transparent}td{display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:right;padding:8px 0;border-bottom:1px solid var(--border)}td:last-child{border-bottom:none}td:before{content:attr(data-label);color:var(--muted);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.4px;white-space:nowrap}td:first-child{text-align:left;padding-top:10px}td:first-child:before{display:none}.app-footer{flex-direction:column;gap:4px;padding:12px 16px}.loading{font-size:var(--text-sm)}}
