*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;overflow:hidden}:root{--bg-base: #0d1117;--bg-surface: #161b22;--bg-card: #1c2128;--bg-card-hover: #22272e;--border: #30363d;--border-subtle: rgba(48, 54, 61, .5);--text-primary: #e6edf3;--text-secondary: #c9d1d9;--text-muted: #8b949e;--text-faint: #484f58;--green: #3fb950;--green-bg: rgba(63, 185, 80, .1);--red: #f85149;--red-bg: rgba(248, 81, 73, .1);--gold: #d4a843;--gold-bg: rgba(212, 168, 67, .1);--amber: #e3b341;--blue: #58a6ff;--blue-bg: rgba(88, 166, 255, .1);--sidebar-width: 220px;--header-height: 56px;--font-body: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px}[data-theme=light]{--bg-base: #f6f1eb;--bg-surface: #ede6dd;--bg-card: #ffffff;--bg-card-hover: #f9f5f0;--border: #d4cdc4;--border-subtle: rgba(180, 170, 158, .35);--text-primary: #1c1917;--text-secondary: #44403c;--text-muted: #78716c;--text-faint: #a8a29e;--green: #16a34a;--green-bg: rgba(22, 163, 74, .08);--red: #dc2626;--red-bg: rgba(220, 38, 38, .08);--gold: #b8860b;--gold-bg: rgba(184, 134, 11, .08);--blue: #2563eb;--blue-bg: rgba(37, 99, 235, .08)}body{font-family:var(--font-body);background:var(--bg-base);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums lining-nums}.about-box{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-6);max-width:480px;border-left:3px solid var(--gold)}.about-header{display:flex;align-items:center;gap:var(--space-4);margin-bottom:var(--space-5)}.about-avatar{width:44px;height:44px;border-radius:50%;background:var(--gold-bg);border:2px solid var(--gold);display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:14px;font-weight:700;color:var(--gold);letter-spacing:.04em;flex-shrink:0}.about-name{font-size:18px;font-weight:700;color:var(--text-primary);letter-spacing:.02em}.about-role{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-top:2px}.about-body{display:flex;flex-direction:column;gap:var(--space-3)}.about-row{display:flex;align-items:center;gap:var(--space-3)}.about-divider{height:1px;background:var(--border-subtle);margin:var(--space-1) 0}.dashboard{display:grid;grid-template-columns:var(--sidebar-width) 1fr;grid-template-rows:var(--header-height) 1fr;height:100dvh}.header{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-6);background:var(--bg-surface);border-bottom:1px solid var(--border);z-index:20}.header-left{display:flex;align-items:center;gap:var(--space-3)}.logo-icon{width:28px;height:28px;color:var(--gold)}.header-title{font-size:16px;font-weight:700;letter-spacing:.08em;color:var(--text-primary)}.header-right{display:flex;align-items:center;gap:var(--space-5)}.header-timer{display:flex;align-items:center;gap:var(--space-3);font-size:11px;font-family:var(--font-mono);color:var(--text-muted)}.header-timer .countdown{color:var(--gold);font-weight:600}.header-timer .last-updated{color:var(--text-faint)}.refresh-btn{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted);padding:3px 8px;cursor:pointer;font-size:10px;font-weight:600;letter-spacing:.04em;font-family:var(--font-body);transition:color .2s,border-color .2s}.refresh-btn:hover{color:var(--gold);border-color:var(--gold)}.timestamp{font-size:12px;color:var(--text-muted);font-family:var(--font-mono)}.live-badge{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:600;letter-spacing:.06em;color:var(--green);background:var(--green-bg);padding:4px 10px;border-radius:20px}.live-dot{width:8px;height:8px;border-radius:50%;background:var(--green);animation:pulse 1.2s ease-in-out infinite;box-shadow:0 0 6px #3fb95080}@keyframes pulse{0%,to{opacity:1;box-shadow:0 0 #3fb95099;transform:scale(1)}50%{opacity:.5;box-shadow:0 0 0 8px #3fb95000;transform:scale(1.15)}}.theme-toggle{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted);padding:6px 8px;cursor:pointer;display:flex;align-items:center;transition:color .2s,border-color .2s}.theme-toggle:hover{color:var(--text-primary);border-color:var(--gold)}.theme-toggle svg{width:16px;height:16px}.sidebar{grid-row:2;background:var(--bg-surface);border-right:1px solid var(--border);overflow-y:auto;overscroll-behavior:contain;padding:var(--space-4) 0}.sidebar-nav{list-style:none}.sidebar-nav li a{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-5);font-size:13px;font-weight:500;color:var(--text-muted);text-decoration:none;border-left:3px solid transparent;transition:all .15s ease}.sidebar-nav li a:hover{color:var(--text-primary);background:var(--bg-card)}.sidebar-nav li a.active{color:var(--gold);border-left-color:var(--gold);background:var(--gold-bg)}.sidebar-nav li a svg{width:16px;height:16px;flex-shrink:0;opacity:.7}.sidebar-section-label{font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint);padding:var(--space-4) var(--space-5) var(--space-2)}.main{grid-column:2;overflow-y:auto;overscroll-behavior:contain;padding:var(--space-6);scroll-behavior:smooth}.section{margin-bottom:var(--space-10);scroll-margin-top:var(--space-4)}.section-header{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-5)}.section-title{font-size:18px;font-weight:700;color:var(--text-primary)}.section-accent{width:4px;height:22px;border-radius:2px;background:var(--gold)}.section-subtitle{font-size:12px;color:var(--text-muted);margin-left:auto}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-5);transition:border-color .2s}.card:hover{border-color:#d4a8434d}.card-accent-left{border-left:3px solid var(--gold)}.card-accent-green{border-left:3px solid var(--green)}.card-accent-red{border-left:3px solid var(--red)}.card-accent-blue{border-left:3px solid var(--blue)}.card-title{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin-bottom:var(--space-3)}.kpi-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--space-4)}.kpi-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-5);position:relative;overflow:hidden}.kpi-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px}.kpi-card.up:before{background:var(--green)}.kpi-card.down:before{background:var(--red)}.kpi-label{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin-bottom:var(--space-2)}.kpi-price{font-family:var(--font-mono);font-variant-numeric:tabular-nums lining-nums;font-size:28px;font-weight:700;color:var(--text-primary);line-height:1.1}.kpi-unit{font-size:12px;font-weight:400;color:var(--text-muted);margin-left:4px}.kpi-change{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-2);font-size:13px;font-family:var(--font-mono);font-variant-numeric:tabular-nums lining-nums}.kpi-change.up{color:var(--green)}.kpi-change.down{color:var(--red)}.kpi-arrow{font-size:10px}.kpi-month{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-1);font-size:11px;color:var(--text-muted)}.kpi-month span{font-family:var(--font-mono)}.kpi-range{margin-top:var(--space-3);padding:0 2px}.range-label{font-size:10px;color:var(--text-faint);display:flex;justify-content:space-between;margin-bottom:3px;padding-right:2px}.range-label span{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.range-bar{height:4px;background:var(--border);border-radius:2px;position:relative}.range-fill{position:absolute;height:100%;border-radius:2px;background:var(--gold)}.range-marker{position:absolute;top:-3px;width:8px;height:8px;border-radius:50%;background:var(--gold);border:2px solid var(--bg-card);transform:translate(-50%)}.kpi-sparkline{margin-top:var(--space-3);height:30px}.kpi-sparkline svg{width:100%;height:30px}.data-table{width:100%;border-collapse:collapse;font-size:13px}.data-table thead{position:sticky;top:0;z-index:1}.data-table th{background:var(--bg-surface);font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);padding:var(--space-2) var(--space-3);text-align:right;border-bottom:1px solid var(--border);white-space:nowrap}.data-table th:first-child{text-align:left}.data-table td{padding:var(--space-2) var(--space-3);text-align:right;border-bottom:1px solid var(--border-subtle);font-family:var(--font-mono);font-variant-numeric:tabular-nums lining-nums;font-size:13px;color:var(--text-secondary);white-space:nowrap}.data-table td:first-child{text-align:left;font-family:var(--font-body);font-weight:500;color:var(--text-primary)}.data-table tbody tr:hover{background:var(--bg-card-hover)}.cell-up{color:var(--green)!important}.cell-down{color:var(--red)!important}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4)}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4)}.grid-5{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--space-3)}.grid-auto{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-4)}.grid-region{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:var(--space-4)}.badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:10px;font-size:10px;font-weight:600;letter-spacing:.04em}.badge-red{background:var(--red-bg);color:var(--red)}.badge-green{background:var(--green-bg);color:var(--green)}.badge-gold{background:var(--gold-bg);color:var(--gold)}.badge-blue{background:var(--blue-bg);color:var(--blue)}.alert-banner{background:var(--red-bg);border:1px solid var(--red);border-radius:var(--radius-md);padding:var(--space-3) var(--space-5);display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4)}.alert-banner .alert-icon{color:var(--red);font-size:16px;flex-shrink:0}.alert-banner .alert-text{font-size:13px;font-weight:600;color:var(--red)}.region-card{overflow:hidden}.region-card .card-table-wrap{overflow-x:auto;margin:0 calc(-1 * var(--space-5));padding:0 var(--space-5)}.region-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-3)}.region-name{font-size:14px;font-weight:600;color:var(--text-primary)}.mini-table{width:100%;font-size:12px;border-collapse:collapse}.mini-table th{font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint);padding:4px 5px;text-align:right;border-bottom:1px solid var(--border-subtle)}.mini-table th:first-child{text-align:left}.mini-table td{padding:4px 5px;text-align:right;font-family:var(--font-mono);font-variant-numeric:tabular-nums lining-nums;font-size:12px;color:var(--text-secondary);border-bottom:1px solid rgba(48,54,61,.25)}.mini-table td:first-child{text-align:left;font-family:var(--font-body);font-weight:500;color:var(--text-primary);font-size:11px;white-space:nowrap}.price-big{font-family:var(--font-mono);font-variant-numeric:tabular-nums lining-nums;font-size:24px;font-weight:700;color:var(--text-primary)}.price-medium{font-family:var(--font-mono);font-variant-numeric:tabular-nums lining-nums;font-size:18px;font-weight:600;color:var(--text-primary)}.price-small{font-family:var(--font-mono);font-variant-numeric:tabular-nums lining-nums;font-size:14px;color:var(--text-secondary)}.stat-row{display:flex;justify-content:space-between;align-items:center;padding:var(--space-2) 0;border-bottom:1px solid var(--border-subtle)}.stat-row:last-child{border-bottom:none}.stat-label{font-size:12px;color:var(--text-muted)}.stat-value{font-size:13px;font-family:var(--font-mono);font-variant-numeric:tabular-nums lining-nums;color:var(--text-primary);font-weight:500}.context-card{padding:var(--space-5)}.context-card p{font-size:13px;line-height:1.6;color:var(--text-secondary)}.context-card ul{list-style:none;padding:0}.context-card ul li{font-size:13px;line-height:1.5;color:var(--text-secondary);padding:var(--space-2) 0;border-bottom:1px solid var(--border-subtle);padding-left:var(--space-4);position:relative}.context-card ul li:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:5px;height:5px;border-radius:50%;background:var(--gold)}.context-card ul li:last-child{border-bottom:none}.price-bar-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) 0}.price-bar-name{font-size:12px;font-weight:500;color:var(--text-primary);width:90px;flex-shrink:0}.price-bar-track{flex:1;height:6px;background:var(--border);border-radius:3px;overflow:hidden}.price-bar-fill{height:100%;border-radius:3px;transition:width .6s ease}.price-bar-value{font-size:12px;font-family:var(--font-mono);font-variant-numeric:tabular-nums lining-nums;color:var(--text-secondary);width:60px;text-align:right;flex-shrink:0}.region-avg-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--space-3)}.region-avg-item{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:var(--space-3);background:var(--bg-surface)}.region-avg-label{font-size:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px}.region-avg-price{font-size:16px;font-family:var(--font-mono);font-variant-numeric:tabular-nums lining-nums;font-weight:700;color:var(--text-primary)}.region-avg-sub{margin-top:2px;font-size:11px;color:var(--text-secondary);font-family:var(--font-mono);font-variant-numeric:tabular-nums lining-nums}.region-avg-change{margin-top:3px;font-size:11px;font-family:var(--font-mono);font-variant-numeric:tabular-nums lining-nums;color:var(--text-faint)}.news-list{list-style:none;padding:0}.news-list li{padding:var(--space-3) 0;border-bottom:1px solid var(--border-subtle);display:flex;align-items:flex-start;gap:var(--space-3)}.news-list li:last-child{border-bottom:none}.news-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:4px;font-size:9px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;flex-shrink:0;min-width:72px;justify-content:center}.news-badge-bloomberg{background:#58a6ff26;color:var(--blue)}.news-badge-reuters{background:var(--gold-bg);color:var(--gold)}.news-badge-usnews{background:#f851491a;color:var(--red)}.news-badge-et{background:#3fb9501a;color:var(--green)}.news-badge-npr{background:#58a6ff1a;color:#79c0ff}.news-badge-nyt{background:#d4a84314;color:var(--amber)}.news-badge-oilprice{background:#3fb9501f;color:var(--green)}.news-badge-eia{background:#d4a8431f;color:var(--amber)}.news-date{font-size:10px;color:var(--text-faint);margin-left:auto;white-space:nowrap;padding-left:var(--space-3)}.news-list li a{font-size:13px;color:var(--text-secondary);text-decoration:none;line-height:1.4;transition:color .15s}.news-list li a:hover{color:var(--gold)}.context-news-link{font-size:11px;color:var(--blue);text-decoration:none;display:inline-flex;align-items:center;gap:4px;margin-top:4px}.context-news-link:hover{text-decoration:underline}.footer{padding:var(--space-8) 0 var(--space-6);border-top:1px solid var(--border);margin-top:var(--space-10)}.footer-sources{font-size:11px;color:var(--text-faint);margin-bottom:var(--space-2)}.footer-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:var(--space-3)}.footer-link{font-size:11px;color:var(--text-muted);text-decoration:none}.footer-link:hover{color:var(--gold)}.footer-disclaimer{font-size:10px;color:var(--text-faint);font-style:italic}@media (max-width: 1400px){.kpi-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width: 1024px){.dashboard{grid-template-columns:1fr}.sidebar{display:none}.main{grid-column:1}.kpi-grid,.grid-5{grid-template-columns:repeat(2,1fr)}.grid-region{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.grid-3{grid-template-columns:1fr}.region-avg-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 640px){.kpi-grid,.grid-2{grid-template-columns:1fr}.header{padding:0 var(--space-3)}.header-title{font-size:14px}.timestamp,.header-timer{display:none}.main{padding:var(--space-4)}.region-avg-grid{grid-template-columns:1fr}}.main::-webkit-scrollbar,.sidebar::-webkit-scrollbar{width:6px}.main::-webkit-scrollbar-track,.sidebar::-webkit-scrollbar-track{background:transparent}.main::-webkit-scrollbar-thumb,.sidebar::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.main::-webkit-scrollbar-thumb:hover,.sidebar::-webkit-scrollbar-thumb:hover{background:var(--text-faint)}.mb-4{margin-bottom:var(--space-4)}.mb-6{margin-bottom:var(--space-6)}.mt-4{margin-top:var(--space-4)}.flex-between{display:flex;justify-content:space-between;align-items:center}.record-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:10px;font-size:10px;font-weight:700;letter-spacing:.06em;background:var(--red-bg);color:var(--red);animation:recordPulse 2s ease-in-out infinite}@keyframes recordPulse{0%,to{opacity:1}50%{opacity:.7}}.table-wrap{overflow-x:auto;border-radius:var(--radius-md);border:1px solid var(--border)}.table-wrap .data-table{margin:0}.highlight-card{text-align:center;padding:var(--space-6)}.highlight-label{font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-bottom:var(--space-1)}.highlight-value{font-family:var(--font-mono);font-variant-numeric:tabular-nums lining-nums;font-size:20px;font-weight:700}.card-note{font-size:12px;color:var(--text-muted);line-height:1.5;margin-top:var(--space-3)}.inline-change{font-family:var(--font-mono);font-variant-numeric:tabular-nums lining-nums;font-size:12px}.two-col-stats{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.tech-level{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) 0}.tech-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.tech-label{font-size:12px;color:var(--text-muted);flex:1}.tech-value{font-size:13px;font-family:var(--font-mono);font-variant-numeric:tabular-nums lining-nums;font-weight:600}.section{content-visibility:auto;contain-intrinsic-size:0 400px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}.main{scroll-behavior:auto}}
