:root{--bg-primary: #fafaf9;--bg-secondary: #ffffff;--bg-elevated: #ffffff;--bg-surface: rgba(255, 255, 255, .85);--bg-glass: rgba(255, 255, 255, .7);--text-primary: #18181b;--text-secondary: #52525b;--text-muted: #a1a1aa;--text-accent: #dc2626;--border-subtle: rgba(0, 0, 0, .05);--border-medium: rgba(0, 0, 0, .08);--border-glass: rgba(0, 0, 0, .06);--red-500: #ef4444;--red-600: #dc2626;--blue-400: #60a5fa;--blue-500: #3b82f6;--blue-600: #2563eb;--green-500: #22c55e;--green-600: #16a34a;--orange-500: #f97316;--orange-600: #ea580c;--cyan-500: #06b6d4;--teal-500: #14b8a6;--purple-500: #a855f7;--amber-500: #f59e0b;--slate-400: #94a3b8;--slate-500: #64748b;--font-serif: "Source Serif 4", "Charter", "Georgia", serif;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "JetBrains Mono", "SF Mono", "Consolas", monospace;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .06);--shadow-md: 0 4px 16px rgba(0, 0, 0, .08);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .1);--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .25s cubic-bezier(.4, 0, .2, 1);--transition-smooth: .35s cubic-bezier(.16, 1, .3, 1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background:var(--bg-primary);color:var(--text-primary);font-family:var(--font-serif);line-height:1.6;min-height:100vh;overflow-x:hidden}#root{position:relative;z-index:1}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#0000001f;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#0003}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-fade-in{animation:fadeIn .4s ease-out forwards}.animate-slide-up{animation:slideUp .5s cubic-bezier(.16,1,.3,1) forwards}.stagger-children>*{opacity:0;animation:slideUp .5s cubic-bezier(.16,1,.3,1) forwards}.stagger-children>*:nth-child(1){animation-delay:0ms}.stagger-children>*:nth-child(2){animation-delay:50ms}.stagger-children>*:nth-child(3){animation-delay:.1s}.stagger-children>*:nth-child(4){animation-delay:.15s}.stagger-children>*:nth-child(5){animation-delay:.2s}.stagger-children>*:nth-child(6){animation-delay:.25s}.stagger-children>*:nth-child(7){animation-delay:.3s}.stagger-children>*:nth-child(8){animation-delay:.35s}.stagger-children>*:nth-child(9){animation-delay:.4s}.stagger-children>*:nth-child(10){animation-delay:.45s}.stagger-children>*:nth-child(11){animation-delay:.5s}.stagger-children>*:nth-child(12){animation-delay:.55s}.stagger-children>*:nth-child(13){animation-delay:.6s}.stagger-children>*:nth-child(14){animation-delay:.65s}.mobile-bottom-nav,.data-source-dropdown{display:none}@media(max-width:768px){.heading-xl{font-size:1.375rem}.heading-lg{font-size:1.125rem}.header-inner{padding:16px 20px 14px!important}.header-flex{flex-direction:column!important;align-items:flex-start!important;gap:12px!important}.header-title h1{font-size:1.3rem!important}.nav-tabs{display:none!important}.mobile-bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:200;background:#fff;border-top:1px solid var(--border-medium);box-shadow:0 -2px 12px #0000000f;padding:6px 8px;padding-bottom:max(6px,env(safe-area-inset-bottom));gap:2px;justify-content:space-around}.mobile-bottom-nav button{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 4px;border:none;background:transparent;border-radius:8px;cursor:pointer;transition:background .15s,color .15s;font-family:var(--font-mono);font-size:.55rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);min-height:48px}.mobile-bottom-nav button.active{background:var(--bg-primary);color:var(--text-accent)}.mobile-bottom-nav button .nav-icon{font-size:1.1rem;line-height:1}.main-content{padding:16px 16px 100px!important}.stats-grid{grid-template-columns:repeat(2,1fr)!important;gap:8px!important}.detail-grid{grid-template-columns:1fr!important;gap:12px!important}.outlet-grid{grid-template-columns:1fr!important;gap:10px!important}.chart-container{padding:16px 12px 12px!important}.data-source-strip{display:none!important}.data-source-dropdown{display:block;margin-bottom:14px;border-bottom:1px solid var(--border-subtle);padding-bottom:10px}.data-source-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:10px 14px;background:var(--bg-secondary);border:1px solid rgba(0,0,0,.08);border-radius:8px;cursor:pointer;transition:border-color .15s;min-height:44px}.data-source-toggle:active{background:var(--bg-primary)}.data-source-toggle-label{display:flex;align-items:center;gap:8px}.data-source-list{display:flex;flex-direction:column;gap:2px;margin-top:8px;padding:4px;background:var(--bg-secondary);border:1px solid rgba(0,0,0,.06);border-radius:8px;animation:fadeIn .2s ease-out}.data-source-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:6px;text-decoration:none;transition:background .15s;min-height:44px}.data-source-item:active{background:var(--bg-primary)}.alert-banner{padding:10px 14px!important;flex-direction:column!important;gap:6px!important}.alert-banner span:last-child{font-size:.75rem!important}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.table-scroll table{min-width:500px}.scrape-controls{flex-direction:column!important;gap:8px!important}.scrape-controls button{width:100%!important;text-align:center}}@media(max-width:480px){.header-inner{padding:12px 14px 10px!important}.header-title h1{font-size:1.1rem!important}.header-title p{font-size:.68rem!important}.main-content{padding:12px 12px 100px!important}.stats-grid{grid-template-columns:1fr 1fr!important;gap:6px!important}.sentiment-scale{flex-direction:column!important;gap:6px!important}.tags-ref{gap:4px!important}}@media(hover:none)and (pointer:coarse){button,a,[role=button]{min-height:44px;min-width:44px}.chart-container svg circle{r:8}}
