:root{--bg-dark: #0a0a1a;--bg-sidebar: rgba(10, 10, 30, .85);--bg-glass: rgba(20, 20, 50, .6);--border-glass: rgba(100, 120, 255, .15);--text-primary: #e8eaf6;--text-secondary: #9fa8da;--text-muted: #5c6bc0;--accent: #7c4dff;--accent-glow: rgba(124, 77, 255, .4);--accent-secondary: #448aff;--success: #69f0ae;--warning: #ffd740;--danger: #ff5252;--category-population: #42a5f5;--category-economy: #ffd740;--category-environment: #69f0ae;--category-energy: #ff8a65;--category-health: #ef5350;--sidebar-width: 320px;--sidebar-collapsed: 0px;--transition-smooth: cubic-bezier(.4, 0, .2, 1);--font-main: "Inter", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace}*{margin:0;padding:0;box-sizing:border-box}html,body{width:100%;height:100%;overflow:hidden;font-family:var(--font-main);background:var(--bg-dark);color:var(--text-primary)}#app{width:100%;height:100%;position:relative}#globe-canvas{display:block;width:100%;height:100%;position:absolute;top:0;left:0}.sidebar{position:fixed;left:0;top:0;width:var(--sidebar-width);height:100vh;background:var(--bg-sidebar);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-right:1px solid var(--border-glass);display:flex;flex-direction:column;z-index:100;transition:transform .4s var(--transition-smooth),opacity .4s var(--transition-smooth);box-shadow:4px 0 30px #00000080}.sidebar.collapsed{transform:translate(calc(-1 * var(--sidebar-width)));opacity:0}.sidebar-header{padding:20px 20px 16px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border-glass)}.logo{display:flex;align-items:center;gap:10px}.logo-icon{font-size:28px;animation:pulse-globe 3s ease-in-out infinite}@keyframes pulse-globe{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.logo-text{font-size:22px;font-weight:800;background:linear-gradient(135deg,var(--accent),var(--accent-secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.5px}.sidebar-toggle{background:var(--bg-glass);border:1px solid var(--border-glass);color:var(--text-secondary);width:32px;height:32px;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:12px;transition:all .2s ease}.sidebar-toggle:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.sidebar.collapsed+.sidebar-open-btn{opacity:1;pointer-events:all}.sidebar-open-btn{position:fixed;left:12px;top:12px;z-index:101;background:var(--bg-glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border-glass);color:var(--text-primary);width:40px;height:40px;border-radius:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:18px;opacity:0;pointer-events:none;transition:all .3s ease}.sidebar-open-btn.visible{opacity:1;pointer-events:all}.sidebar-open-btn:hover{background:var(--accent);border-color:var(--accent)}.sidebar-content{flex:1;overflow-y:auto;padding:16px;scrollbar-width:thin;scrollbar-color:var(--accent) transparent}.sidebar-content::-webkit-scrollbar{width:4px}.sidebar-content::-webkit-scrollbar-thumb{background:var(--accent);border-radius:4px}.data-status{display:flex;align-items:center;gap:8px;padding:10px 14px;background:var(--bg-glass);border:1px solid var(--border-glass);border-radius:10px;font-size:12px;color:var(--text-secondary);margin-bottom:16px}.status-dot{width:8px;height:8px;border-radius:50%;background:var(--warning);animation:blink 1.5s ease-in-out infinite}.status-dot.live{background:var(--success);animation:pulse-dot 2s ease-in-out infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:.3}}@keyframes pulse-dot{0%,to{box-shadow:0 0 #69f0ae99}50%{box-shadow:0 0 0 6px #69f0ae00}}.category-list{display:flex;flex-direction:column;gap:6px}.category-item{border-radius:10px;overflow:hidden;transition:all .3s ease}.category-header{display:flex;align-items:center;gap:10px;padding:12px 14px;cursor:pointer;border-radius:10px;border:1px solid transparent;transition:all .25s ease;-webkit-user-select:none;user-select:none}.category-header:hover{background:var(--bg-glass);border-color:var(--border-glass)}.category-header.active{background:var(--bg-glass);border-color:var(--accent);box-shadow:0 0 20px var(--accent-glow)}.category-icon{font-size:20px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:8px;background:var(--bg-glass);flex-shrink:0}.category-name{flex:1;font-size:14px;font-weight:600;color:var(--text-primary)}.category-arrow{font-size:10px;color:var(--text-muted);transition:transform .3s ease}.category-header.active .category-arrow{transform:rotate(90deg)}.subcategory-list{display:none;padding:4px 0 8px 18px;flex-direction:column;gap:2px}.category-item.open .subcategory-list{display:flex}.subcategory-btn{display:flex;align-items:center;gap:8px;padding:8px 12px;background:none;border:1px solid transparent;border-radius:8px;color:var(--text-secondary);font-size:13px;font-family:var(--font-main);cursor:pointer;transition:all .2s ease;text-align:left}.subcategory-btn:hover{background:var(--bg-glass);color:var(--text-primary)}.subcategory-btn.selected{background:var(--bg-glass);border-color:var(--accent);color:var(--accent);font-weight:600}.subcategory-dot{width:6px;height:6px;border-radius:50%;background:var(--text-muted);flex-shrink:0;transition:background .2s ease}.subcategory-btn.selected .subcategory-dot{background:var(--accent);box-shadow:0 0 8px var(--accent-glow)}.sidebar-footer{padding:14px 20px;border-top:1px solid var(--border-glass);font-size:11px;color:var(--text-muted)}.sidebar-footer a{color:var(--accent-secondary);text-decoration:none;transition:color .2s ease}.sidebar-footer a:hover{color:var(--accent)}.update-timer{margin-top:6px;font-family:var(--font-mono);font-size:11px}#timer-value{color:var(--success);font-weight:700}.country-info{position:fixed;right:20px;top:20px;background:var(--bg-sidebar);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--border-glass);border-radius:14px;padding:18px 22px;z-index:90;min-width:200px;box-shadow:0 8px 32px #00000080;transition:all .3s var(--transition-smooth);transform:translateY(0);opacity:1}.country-info.hidden{opacity:0;pointer-events:none;transform:translateY(-10px)}.country-info h3{font-size:16px;font-weight:700;margin-bottom:8px;color:var(--text-primary)}.country-value{font-family:var(--font-mono);font-size:24px;font-weight:700;background:linear-gradient(135deg,var(--accent),var(--accent-secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.loading-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--bg-dark);z-index:1000;display:flex;align-items:center;justify-content:center;transition:opacity .8s ease,visibility .8s ease}.loading-overlay.hidden{opacity:0;visibility:hidden;pointer-events:none}.loading-content{text-align:center}.loading-globe{font-size:64px;animation:spin-globe 2s linear infinite;margin-bottom:20px}@keyframes spin-globe{0%{transform:rotateY(0)}to{transform:rotateY(360deg)}}.loading-content h2{font-size:32px;font-weight:800;background:linear-gradient(135deg,var(--accent),var(--accent-secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:8px}.loading-content p{color:var(--text-secondary);font-size:14px;margin-bottom:24px}.loading-bar{width:240px;height:3px;background:var(--bg-glass);border-radius:3px;overflow:hidden;margin:0 auto}.loading-bar-fill{width:0%;height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-secondary));border-radius:3px;transition:width .3s ease}.label-3d{font-family:var(--font-mono);font-weight:900;text-align:center;pointer-events:none;transition:opacity .3s ease;text-shadow:0 0 8px rgba(0,0,0,1),0 0 16px rgba(0,0,0,.9),0 0 32px rgba(0,0,0,.7),0 2px 4px rgba(0,0,0,1);white-space:nowrap;-webkit-text-stroke:.5px rgba(0,0,0,.5);filter:drop-shadow(0 2px 6px rgba(0,0,0,.8))}.label-3d .label-value{font-size:1.4em;display:block;line-height:1.1;letter-spacing:1px}.label-3d .label-name{font-family:var(--font-main);font-size:.55em;font-weight:600;opacity:.85;display:block;margin-top:3px;letter-spacing:.5px;text-transform:uppercase}.label-3d.region-label .label-value{font-size:1.8em}.label-3d.region-label .label-name{font-size:.65em;opacity:.9}@media(max-width:768px){.sidebar{width:280px}}
