*{box-sizing:border-box}:root{--bg-dark:#0f172a;--bg-card:#1e293b;--text-light:#f8fafc;--text-dim:#94a3b8;--accent-primary:#38bdf8;--accent-secondary:#818cf8;--success:#22c55e;--error:#ef4444;--gradient-legend:linear-gradient(90deg,#ef4444,#facc15,#22c55e);--app-bg:var(--bg-dark);--card-bg:var(--bg-card);--header-bg:rgba(15,23,42,.8);--body-text:var(--text-light);--dim-text:var(--text-dim);--border-color:hsla(0,0%,100%,.1);--modal-overlay:rgba(15,23,42,.8);--card-border:hsla(0,0%,100%,.05);--stat-card-bg:hsla(0,0%,100%,.03);--input-bg:rgba(15,23,42,.5)}body.light-mode{--app-bg:#f8fafc;--card-bg:#fff;--header-bg:hsla(0,0%,100%,.8);--body-text:#1e293b;--dim-text:#64748b;--border-color:rgba(0,0,0,.1);--modal-overlay:rgba(0,0,0,.4);--card-border:rgba(0,0,0,.05);--stat-card-bg:rgba(0,0,0,.02);--input-bg:#f1f5f9}body{margin:0;font-family:Outfit,sans-serif;background-color:var(--app-bg);color:var(--body-text);overflow:hidden}h1,h2,h3,h4{margin:0;font-weight:600}button{cursor:pointer;font-family:Outfit,sans-serif}.app-container{height:100vh;height:100dvh;display:flex;flex-direction:column}.app-header{padding:1rem 2rem;display:flex;align-items:center;background:var(--header-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border-color);z-index:200}.app-header,footer{justify-content:space-between;flex-shrink:0}footer{padding:12px 24px calc(12px + env(safe-area-inset-bottom, 0px));display:flex!important;align-items:center!important;line-height:1.2}@media (max-width:768px){footer{flex-direction:column;justify-content:center;gap:8px;padding:12px 16px calc(12px + env(safe-area-inset-bottom, 0px));text-align:center}}.title-container h1{font-size:1.5rem;color:var(--body-text);transition:font-size .3s}.title-container p{font-size:.875rem;color:var(--dim-text);margin-top:.25rem}@media (max-width:768px){.app-header{padding:.75rem 1rem;flex-direction:column;gap:.75rem;align-items:flex-start}.title-container h1{font-size:1.25rem}.title-container p{display:none}.header-actions{width:100%;justify-content:space-between}}.filter-button-unit:hover{background:hsla(0,0%,100%,.08)!important;border-color:hsla(0,0%,100%,.2)!important}.filter-button-unit[style*="background: rgb(56, 189, 248)"]:hover{background:#0ea5e9!important;border-color:#0ea5e9!important}.filter-label{display:none}@media (min-width:1200px){.filter-label{display:inline}}.filter-button-inner{padding:6px;gap:0}@media (min-width:1200px){.filter-button-inner{padding:6px 12px;gap:8px}}.filter-info-btn{padding:6px!important}@media (min-width:768px){.filter-info-btn{padding:6px 8px!important}}.language-switcher{display:flex;gap:.5rem;background:var(--card-bg);padding:.25rem;border-radius:9999px;border:1px solid var(--border-color)}.lang-btn{background:transparent;border:none;color:var(--dim-text);padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:600;transition:all .2s}.lang-btn.active{background:var(--accent-primary);color:#000;box-shadow:0 0 10px rgba(56,189,248,.4)}.lang-btn:hover:not(.active){color:var(--text-light)}@media (max-width:768px){.hidden-mobile{display:none!important}.stat-card .value{font-size:1rem}}.main-content{flex:1 1;position:relative;overflow:hidden;display:flex}.map-wrapper{flex:1 1;position:relative;background:radial-gradient(circle at center,#1e293b 0,#0f172a 100%)}.map-legend{position:absolute;top:2rem;left:2rem;bottom:auto;background:var(--header-bg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:1rem;border-radius:12px;border:1px solid var(--border-color);box-shadow:0 4px 20px rgba(0,0,0,.3)}.map-legend h4{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--dim-text);margin-bottom:.5rem}.gradient-bar{width:200px;height:8px;border-radius:4px;background:var(--gradient-legend);margin-bottom:.25rem}.map-legend .labels{display:flex;justify-content:space-between;font-size:.75rem;color:var(--dim-text)}.sidebar-overlay{display:flex;justify-content:flex-end;position:relative;width:50%;height:100%;flex-shrink:0;border-left:1px solid var(--border-color);background:var(--card-bg)}.country-details-sidebar{width:100%;height:100%;background:transparent;display:flex;flex-direction:column;overflow:hidden;pointer-events:auto}.details-header{display:flex;justify-content:space-between;align-items:center;padding:2rem 2rem 1.5rem;flex-shrink:0}.details-header h2{font-size:2rem;background:linear-gradient(to right,var(--body-text),var(--dim-text));background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.close-btn{background:transparent;border:none;color:var(--dim-text);padding:.5rem;border-radius:50%;transition:all .2s}.close-btn:hover{background:hsla(0,0%,100%,.1);color:var(--text-light)}.stat-card{background:var(--stat-card-bg);padding:1rem;border-radius:12px;margin-bottom:1rem;justify-content:space-between;border:1px solid var(--card-border)}.stat-card,.stat-card .label{display:flex;align-items:center}.stat-card .label{gap:.5rem;color:var(--dim-text);font-size:.875rem}.stat-card .value{font-size:1.25rem;font-weight:700}.stat-card .value.highlight{color:#facc15}.stat-card .value.success{color:var(--success);display:flex;align-items:center;gap:.25rem}.stat-card .value.error{color:var(--error);display:flex;align-items:center;gap:.25rem}.divider{border:0;height:1px;background:var(--border-color);margin:2rem 0}.info-section{margin-bottom:2rem}.info-section h3{font-size:1.1rem;color:var(--accent-primary);margin-bottom:.75rem}.info-section p{font-size:.95rem}.info-section p,.tips-list{color:var(--dim-text);line-height:1.6}.tips-list{margin:0;padding-left:1.25rem}.tips-list li::marker{color:var(--accent-secondary)}@media (max-width:768px){.sidebar-overlay{position:absolute;top:0;right:0;bottom:0;width:100%;z-index:50;border-left:none}.country-details-sidebar{background:var(--card-bg)}}.about-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:var(--modal-overlay);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:9999;display:flex;justify-content:center;align-items:center;padding:20px}.about-modal-content{background:var(--card-bg);border-radius:16px;padding:30px;max-width:600px;width:100%;position:relative;box-shadow:0 25px 50px -12px rgba(0,0,0,.8);border:1px solid var(--border-color);max-height:90vh;overflow-y:auto}.about-modal-close{position:absolute;top:20px;right:20px;background:transparent;border:none;color:var(--dim-text);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:color .2s}.about-modal-close:hover{color:#f8fafc}.details-content{flex:1 1;overflow-y:auto;padding:0 2rem 2rem}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.spin{animation:spin 1s linear infinite}@keyframes chatDotBounce{0%,80%,to{transform:translateY(0);opacity:.4}40%{transform:translateY(-6px);opacity:1}}