:root {
  --bg1: #0f1724;
  --bg2: #071223;
  --card: #0b1220;
  --accent: #7c5cff;
  --accent-2: #00d4ff;
  --text: #e6eef8;
  --muted: #9fb0c8;
}
*{box-sizing:border-box}
html,body{height:100%;margin:0}
body{
  font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial;
  background:linear-gradient(180deg,var(--bg1),var(--bg2));
  color:var(--text);
  overflow-x:hidden;
}
canvas#particles{position:fixed;top:0;left:0;width:100%;height:100%;z-index:0;}
.container{position:relative;z-index:1;padding:40px;max-width:1200px;margin:0 auto;}
header{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px;}
.brand{display:flex;align-items:center;gap:14px;}
.logo{width:56px;height:56px;border-radius:12px;background:linear-gradient(135deg,var(--accent),var(--accent-2));display:flex;align-items:center;justify-content:center;color:white;font-weight:700;font-size:20px;}
h1{margin:0;font-size:20px;display:flex;align-items:center;gap:10px;}
.top-buttons{display:flex;gap:8px;}
.add-btn,.del-btn{
  background:linear-gradient(90deg,var(--accent),var(--accent-2));
  color:#021225;
  border:none;border-radius:8px;
  width:32px;height:32px;font-size:22px;
  cursor:pointer;display:inline-flex;align-items:center;justify-content:center;
  transition:transform .2s,box-shadow .2s;
}
.add-btn:hover,.del-btn:hover{transform:scale(1.1);box-shadow:0 0 12px var(--accent-2);}
.del-btn{background:linear-gradient(90deg,#ff3b3b,#ff7a7a);color:#fff;}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;}
.card{background:var(--card);border-radius:16px;padding:20px;box-shadow:0 8px 30px rgba(0,0,0,0.6);transition:transform .2s,box-shadow .2s;}
.card:hover{transform:translateY(-6px);box-shadow:0 12px 40px rgba(0,0,0,0.7);}
.country-name{display:flex;align-items:center;gap:12px;}
.flag{width:44px;height:44px;border-radius:10px;background:linear-gradient(135deg,var(--accent),var(--accent-2));display:grid;place-items:center;font-weight:700;color:#021225;}
.meta{color:var(--muted);font-size:13px;}
.cta{margin-top:18px;}
.btn{padding:10px 14px;border-radius:10px;border:none;cursor:pointer;font-weight:600;}
.btn-primary{background:linear-gradient(90deg,var(--accent),var(--accent-2));color:#021225;}
.btn-ghost{background:transparent;color:var(--accent);border:1px solid rgba(124,92,255,0.25);}
.panel{position:fixed;right:40px;top:40px;width:520px;max-width:95%;height:80vh;background:rgba(15,23,36,0.95);backdrop-filter:blur(20px);border-radius:16px;padding:20px;box-shadow:0 0 40px rgba(124,92,255,0.25);border:1px solid rgba(255,255,255,0.06);display:flex;flex-direction:column;overflow:hidden;opacity:0;transform:translateY(30px);pointer-events:none;transition:all .3s ease;z-index:5;}
.panel.open{opacity:1;transform:none;pointer-events:auto;}
.search{margin-top:14px;display:flex;gap:10px;}
.search input{flex:1;padding:10px 12px;border-radius:10px;border:1px solid rgba(255,255,255,0.1);background:rgba(255,255,255,0.05);color:var(--text);}
.states{margin-top:16px;overflow:auto;padding-right:6px;flex:1;}
.state{padding:10px 12px;border-radius:10px;margin-bottom:8px;background:rgba(255,255,255,0.06);display:flex;justify-content:space-between;align-items:center;color:var(--text);border:1px solid rgba(255,255,255,0.08);cursor:pointer;transition:background .2s,border .2s;}
.state:hover{background:rgba(124,92,255,0.15);}
.state.checked{background:rgba(0,255,0,0.15);border:1px solid rgba(0,255,0,0.4);}
.tick{color:#0f0;font-weight:700;margin-left:8px;}
.toast{position:fixed;right:60px;top:30px;background:rgba(0,0,0,0.7);color:#e6eef8;padding:10px 14px;border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,0.5);opacity:0;transform:translateY(-10px);transition:all .22s ease;pointer-events:none;z-index:10;}
.toast.show{opacity:1;transform:none;}
.modal{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.6);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .25s ease;z-index:15;}
.modal.open{opacity:1;pointer-events:auto;}
.modal-content{background:rgba(15,23,36,0.98);padding:24px;border-radius:16px;width:400px;max-width:90%;box-shadow:0 0 40px rgba(124,92,255,0.3);transform:scale(0.9);transition:transform .25s ease;}
.modal.open .modal-content{transform:scale(1);}
.modal-content input,.modal-content textarea{width:100%;background:rgba(255,255,255,0.05);color:var(--text);border:1px solid rgba(255,255,255,0.1);border-radius:10px;padding:10px;margin-bottom:14px;font-size:14px;}
.modal-actions{display:flex;gap:10px;justify-content:flex-end;}
footer{margin-top:20px;color:var(--muted);font-size:13px;text-align:center;}
@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.1)}100%{transform:scale(1)}}
.meta.pulse{animation:pulse .4s ease;}
