.dfw-widget{--dfw-bg-base:#0B1020;--dfw-bg-gradient:linear-gradient(135deg, #0B1020 0%, #0F172A 50%, #131B33 100%);--dfw-card-bg:rgba(255, 255, 255, 0.04);--dfw-card-bg-hover:rgba(255, 255, 255, 0.07);--dfw-card-border:rgba(255, 255, 255, 0.08);--dfw-card-border-hover:rgba(255, 255, 255, 0.16);--dfw-text-primary:#F8FAFC;--dfw-text-secondary:#94A3B8;--dfw-text-muted:#64748B;--dfw-up:#22C55E;--dfw-up-glow:rgba(34, 197, 94, 0.25);--dfw-up-gradient-from:rgba(34, 197, 94, 0.35);--dfw-up-gradient-to:rgba(34, 197, 94, 0);--dfw-down:#EF4444;--dfw-down-glow:rgba(239, 68, 68, 0.25);--dfw-down-gradient-from:rgba(239, 68, 68, 0.35);--dfw-down-gradient-to:rgba(239, 68, 68, 0);--dfw-flat:#94A3B8;--dfw-accent-purple:#8B5CF6;--dfw-accent-cyan:#06B6D4;--dfw-accent-pink:#EC4899;--dfw-shadow:0 8px 32px rgba(0, 0, 0, 0.35);--dfw-shadow-card:0 4px 16px rgba(0, 0, 0, 0.2);--dfw-radius:16px;--dfw-radius-sm:10px;--dfw-blur:blur(20px)}.dfw-widget[data-theme="light"]{--dfw-bg-base:#FFFFFF;--dfw-bg-gradient:linear-gradient(135deg, #FAFBFF 0%, #F1F5F9 100%);--dfw-card-bg:rgba(255, 255, 255, 0.7);--dfw-card-bg-hover:rgba(255, 255, 255, 0.95);--dfw-card-border:rgba(15, 23, 42, 0.08);--dfw-card-border-hover:rgba(15, 23, 42, 0.16);--dfw-text-primary:#0F172A;--dfw-text-secondary:#475569;--dfw-text-muted:#94A3B8;--dfw-up:#16A34A;--dfw-down:#DC2626;--dfw-shadow:0 8px 32px rgba(15, 23, 42, 0.08);--dfw-shadow-card:0 2px 8px rgba(15, 23, 42, 0.06)}@media (prefers-color-scheme:light){.dfw-widget[data-theme="auto"]{--dfw-bg-base:#FFFFFF;--dfw-bg-gradient:linear-gradient(135deg, #FAFBFF 0%, #F1F5F9 100%);--dfw-card-bg:rgba(255, 255, 255, 0.7);--dfw-card-bg-hover:rgba(255, 255, 255, 0.95);--dfw-card-border:rgba(15, 23, 42, 0.08);--dfw-card-border-hover:rgba(15, 23, 42, 0.16);--dfw-text-primary:#0F172A;--dfw-text-secondary:#475569;--dfw-text-muted:#94A3B8;--dfw-up:#16A34A;--dfw-down:#DC2626;--dfw-shadow:0 8px 32px rgba(15, 23, 42, 0.08);--dfw-shadow-card:0 2px 8px rgba(15, 23, 42, 0.06)}}.dfw-widget{font-family:-apple-system,BlinkMacSystemFont,"Inter","SF Pro Display","Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:var(--dfw-text-primary);background:var(--dfw-bg-gradient);border-radius:var(--dfw-radius);padding:20px;margin:16px 0;position:relative;overflow:hidden;box-shadow:var(--dfw-shadow);font-feature-settings:"tnum" 1,"lnum" 1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.dfw-widget::before{content:"";position:absolute;top:-50%;right:-10%;width:400px;height:400px;background:radial-gradient(circle,var(--dfw-accent-purple) 0%,transparent 60%);opacity:.08;pointer-events:none;z-index:0}.dfw-widget::after{content:"";position:absolute;bottom:-40%;left:-10%;width:350px;height:350px;background:radial-gradient(circle,var(--dfw-accent-cyan) 0%,transparent 60%);opacity:.06;pointer-events:none;z-index:0}.dfw-widget>*{position:relative;z-index:1}.dfw-widget-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-bottom:16px}.dfw-widget-title{font-size:18px;font-weight:700;letter-spacing:-.01em;margin:0;color:var(--dfw-text-primary);display:flex;align-items:center;gap:8px}.dfw-widget-title::before{content:"";width:4px;height:18px;border-radius:2px;background:linear-gradient(180deg,var(--dfw-accent-purple),var(--dfw-accent-cyan))}.dfw-widget-subtitle{font-size:12px;color:var(--dfw-text-secondary);font-weight:500}.dfw-market-badge{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:600;padding:4px 10px;border-radius:999px;background:var(--dfw-card-bg);border:1px solid var(--dfw-card-border);color:var(--dfw-text-secondary);text-transform:uppercase;letter-spacing:.04em}.dfw-market-badge::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--dfw-flat)}.dfw-market-badge.dfw-market-open::before{background:var(--dfw-up);box-shadow:0 0 8px var(--dfw-up-glow);animation:dfw-pulse 2s ease-in-out infinite}.dfw-market-badge.dfw-market-closed::before{background:var(--dfw-down)}@keyframes dfw-pulse{0%,100%{opacity:1}50%{opacity:.5}}.dfw-grid{display:grid;gap:12px}.dfw-cols-1{grid-template-columns:1fr}.dfw-cols-2{grid-template-columns:repeat(2,1fr)}.dfw-cols-3{grid-template-columns:repeat(3,1fr)}.dfw-cols-4{grid-template-columns:repeat(4,1fr)}.dfw-cols-5{grid-template-columns:repeat(5,1fr)}.dfw-cols-6{grid-template-columns:repeat(6,1fr)}@media (max-width:768px){.dfw-cols-3,.dfw-cols-4,.dfw-cols-5,.dfw-cols-6{grid-template-columns:repeat(2,1fr)}}@media (max-width:480px){.dfw-cols-2,.dfw-cols-3,.dfw-cols-4,.dfw-cols-5,.dfw-cols-6{grid-template-columns:1fr}}.dfw-card{background:var(--dfw-card-bg);backdrop-filter:var(--dfw-blur);-webkit-backdrop-filter:var(--dfw-blur);border:1px solid var(--dfw-card-border);border-radius:var(--dfw-radius-sm);padding:14px;position:relative;overflow:hidden;transition:transform 0.2s ease,border-color 0.2s ease,background 0.2s ease;box-shadow:var(--dfw-shadow-card)}.dfw-card:hover{background:var(--dfw-card-bg-hover);border-color:var(--dfw-card-border-hover);transform:translateY(-2px)}.dfw-card-header{display:flex;align-items:center;gap:10px;margin-bottom:10px}.dfw-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;font-size:18px;flex-shrink:0;background:var(--dfw-card-bg);border:1px solid var(--dfw-card-border)}.dfw-icon.dfw-logo{background:rgb(255 255 255 / .95);border:none;padding:4px}.dfw-widget[data-theme="light"] .dfw-icon.dfw-logo,.dfw-widget[data-theme="auto"] .dfw-icon.dfw-logo{background:#FFF;border:1px solid var(--dfw-card-border)}@media (prefers-color-scheme:light){.dfw-widget[data-theme="auto"] .dfw-icon.dfw-logo{background:#FFF}}.dfw-icon.dfw-logo svg{width:100%;height:100%;fill:currentColor}.dfw-icon-small{width:24px;height:24px;font-size:14px;border-radius:6px;padding:3px}.dfw-card-name{display:flex;flex-direction:column;line-height:1.2;min-width:0;flex:1}.dfw-card-name>span:first-child,.dfw-card-name{font-weight:600;font-size:14px;color:var(--dfw-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dfw-card-name small{font-size:11px;color:var(--dfw-text-secondary);font-weight:500;margin-top:2px;letter-spacing:.02em}.dfw-card-price{display:flex;align-items:baseline;gap:4px;margin:8px 0 6px}.dfw-card-price .dfw-currency{font-size:13px;color:var(--dfw-text-secondary);font-weight:500}.dfw-card-price .dfw-value{font-size:24px;font-weight:700;color:var(--dfw-text-primary);letter-spacing:-.02em;line-height:1.1}.dfw-card-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;margin-top:8px}.dfw-unit{color:var(--dfw-text-secondary);font-weight:500}.dfw-change{display:inline-flex;align-items:center;gap:3px;padding:3px 8px;border-radius:6px;font-weight:600;font-size:12px;font-variant-numeric:tabular-nums}.dfw-change.dfw-up{color:var(--dfw-up);background:rgb(34 197 94 / .12)}.dfw-change.dfw-down{color:var(--dfw-down);background:rgb(239 68 68 / .12)}.dfw-change.dfw-flat{color:var(--dfw-flat);background:rgb(148 163 184 / .12)}.dfw-sparkline{width:100%;height:50px;display:block;margin-top:6px;overflow:visible}.dfw-sparkline path.dfw-spark-line{fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.dfw-sparkline path.dfw-spark-area{stroke:none}.dfw-sparkline.dfw-up path.dfw-spark-line{stroke:var(--dfw-up)}.dfw-sparkline.dfw-down path.dfw-spark-line{stroke:var(--dfw-down)}.dfw-sparkline.dfw-flat path.dfw-spark-line{stroke:var(--dfw-flat)}.dfw-size-small .dfw-sparkline{height:32px}.dfw-size-medium .dfw-sparkline{height:50px}.dfw-size-large .dfw-sparkline{height:60px}.dfw-size-small{padding:14px}.dfw-size-small .dfw-widget-title{font-size:15px}.dfw-size-small .dfw-widget-title::before{height:14px}.dfw-list{display:flex;flex-direction:column;gap:4px}.dfw-list-row{display:grid;grid-template-columns:28px minmax(0,1fr) 70px 1fr auto;align-items:center;gap:10px;padding:8px 10px;border-radius:10px;background:var(--dfw-card-bg);border:1px solid #fff0;transition:background 0.15s ease,border-color 0.15s ease}.dfw-list-row:hover{background:var(--dfw-card-bg-hover);border-color:var(--dfw-card-border)}.dfw-list-row .dfw-icon{width:28px;height:28px;font-size:14px;border-radius:7px;padding:3px}.dfw-list-row .dfw-name-text{display:flex;flex-direction:column;min-width:0}.dfw-list-row .dfw-name-text span:first-child{font-weight:600;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dfw-list-row .dfw-name-text small{font-size:10px;color:var(--dfw-text-secondary);font-weight:500}.dfw-list-row .dfw-mini-spark{width:70px;height:24px}.dfw-list-row .dfw-price{font-weight:700;font-size:13px;text-align:right;font-variant-numeric:tabular-nums}.dfw-list-row .dfw-change{font-size:11px;padding:2px 6px}.dfw-size-medium .dfw-card-price .dfw-value{font-size:22px}.dfw-size-large{padding:24px}.dfw-size-large .dfw-widget-title{font-size:22px}.dfw-hero-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:20px;margin-bottom:16px}@media (max-width:768px){.dfw-hero-layout{grid-template-columns:1fr}}.dfw-hero-chart{background:var(--dfw-card-bg);border:1px solid var(--dfw-card-border);border-radius:var(--dfw-radius-sm);padding:18px;backdrop-filter:var(--dfw-blur);-webkit-backdrop-filter:var(--dfw-blur)}.dfw-hero-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;flex-wrap:wrap;gap:10px}.dfw-hero-symbol{display:flex;align-items:center;gap:12px}.dfw-hero-symbol .dfw-icon{width:42px;height:42px;font-size:22px;border-radius:10px;padding:6px}.dfw-hero-symbol .dfw-name-text{display:flex;flex-direction:column}.dfw-hero-symbol .dfw-name-text span:first-child{font-size:18px;font-weight:700}.dfw-hero-symbol .dfw-name-text small{font-size:12px;color:var(--dfw-text-secondary);font-weight:500}.dfw-hero-price{display:flex;align-items:baseline;gap:8px;margin-bottom:14px}.dfw-hero-price .dfw-value{font-size:32px;font-weight:700;letter-spacing:-.02em;line-height:1}.dfw-hero-price .dfw-currency{font-size:14px;color:var(--dfw-text-secondary);font-weight:500}.dfw-hero-price .dfw-change{font-size:13px;padding:4px 10px}.dfw-range-selector{display:inline-flex;background:var(--dfw-card-bg);border:1px solid var(--dfw-card-border);border-radius:10px;padding:3px;gap:2px}.dfw-range-btn{background:#fff0;border:none;color:var(--dfw-text-secondary);padding:6px 12px;font-size:12px;font-weight:600;border-radius:7px;cursor:pointer;transition:all 0.15s ease;letter-spacing:.02em;font-family:inherit}.dfw-range-btn:hover{color:var(--dfw-text-primary);background:var(--dfw-card-bg-hover)}.dfw-range-btn.active{color:var(--dfw-text-primary);background:linear-gradient(135deg,var(--dfw-accent-purple),var(--dfw-accent-cyan));box-shadow:0 2px 8px rgb(139 92 246 / .3)}.dfw-chart-container{position:relative;width:100%;height:240px;margin-top:8px}.dfw-chart-container canvas{width:100%!important;height:100%!important}.dfw-chart-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--dfw-text-secondary);font-size:13px;background:var(--dfw-card-bg);border-radius:var(--dfw-radius-sm)}.dfw-chart-loading::before{content:"";width:18px;height:18px;margin-right:8px;border:2px solid var(--dfw-card-border);border-top-color:var(--dfw-accent-purple);border-radius:50%;animation:dfw-spin 0.8s linear infinite}@keyframes dfw-spin{to{transform:rotate(360deg)}}.dfw-stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:14px}.dfw-stat{background:var(--dfw-card-bg);border:1px solid var(--dfw-card-border);border-radius:8px;padding:10px 12px}.dfw-stat-label{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--dfw-text-secondary);font-weight:600;margin-bottom:4px}.dfw-stat-value{font-size:14px;font-weight:700;color:var(--dfw-text-primary);font-variant-numeric:tabular-nums}.dfw-hero-side{background:var(--dfw-card-bg);border:1px solid var(--dfw-card-border);border-radius:var(--dfw-radius-sm);padding:16px;backdrop-filter:var(--dfw-blur);-webkit-backdrop-filter:var(--dfw-blur)}.dfw-side-title{font-size:13px;font-weight:600;color:var(--dfw-text-secondary);text-transform:uppercase;letter-spacing:.06em;margin:0 0 12px}.dfw-side-list{display:flex;flex-direction:column;gap:8px}.dfw-side-item{display:grid;grid-template-columns:26px minmax(0,1fr) 60px auto;align-items:center;gap:8px;padding:6px;border-radius:8px;cursor:pointer;transition:background 0.15s ease}.dfw-side-item:hover{background:var(--dfw-card-bg-hover)}.dfw-side-item.active{background:var(--dfw-card-bg-hover);border:1px solid var(--dfw-card-border-hover)}.dfw-side-item .dfw-icon{width:26px;height:26px;font-size:12px;border-radius:6px;padding:3px}.dfw-side-item .dfw-side-name{font-size:12px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dfw-side-item .dfw-side-spark{width:60px;height:22px}.dfw-side-item .dfw-change{font-size:10px;padding:2px 5px}.dfw-widget-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-top:14px;padding-top:12px;border-top:1px solid var(--dfw-card-border);font-size:11px;color:var(--dfw-text-muted)}.dfw-source{font-weight:500}.dfw-updated{font-variant-numeric:tabular-nums}.dfw-theme-toggle{background:var(--dfw-card-bg);border:1px solid var(--dfw-card-border);color:var(--dfw-text-secondary);width:28px;height:28px;border-radius:7px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:13px;padding:0;transition:all 0.15s ease}.dfw-theme-toggle:hover{color:var(--dfw-text-primary);border-color:var(--dfw-card-border-hover)}.dfw-error,.dfw-empty{background:var(--dfw-card-bg);border:1px solid var(--dfw-card-border);border-radius:var(--dfw-radius-sm);padding:16px;color:var(--dfw-text-secondary);font-size:13px;text-align:center}.dfw-error{border-color:rgb(239 68 68 / .3);background:rgb(239 68 68 / .06);color:var(--dfw-down)}.dfw-widget-fuel .dfw-card{background:linear-gradient(135deg,var(--dfw-card-bg),rgb(139 92 246 / .04))}.dfw-table{width:100%;border-collapse:collapse}.dfw-table tr{border-bottom:1px solid var(--dfw-card-border)}.dfw-table tr:last-child{border-bottom:none}.dfw-table td{padding:10px 8px;font-size:13px}.dfw-table .dfw-name{display:flex;align-items:center;gap:8px;font-weight:600}.dfw-table .dfw-price{text-align:right;font-weight:700;font-variant-numeric:tabular-nums}.dfw-table .dfw-change{float:right}