:root{
  --card-shadow: 0 8px 24px rgba(0,0,0,.06);
}
body{
  font-family: system-ui,-apple-system,Segoe UI,Roboto,Inter,Arial,sans-serif;
  background: linear-gradient(135deg,#eef2ff,#f8fafc);
}
header.sticky-top{
  backdrop-filter:saturate(180%) blur(8px);
  background: rgba(255,255,255,.9) !important;
}
.card-glass{
  border:1px solid rgba(0,0,0,.06);
  border-radius:16px;
  box-shadow: var(--card-shadow);
}
.news-item img{object-fit:cover}
.lang-switch a{text-decoration:none}
.emoji-grid{
  display:grid;
  grid-template-columns: repeat(auto-fill,minmax(56px,1fr));
  gap:8px;
  margin-top:8px;
}
.emoji-card{
  background:#fff;
  border:1px solid rgba(0,0,0,.06);
  border-radius:12px;
  padding:10px 6px 6px;
  text-align:center;
  cursor:pointer;
  user-select:none;
  transition:.15s;
}
.emoji-card:hover{transform:translateY(-2px);box-shadow:0 10px 20px rgba(0,0,0,.08)}
.emoji-char{font-size:26px;line-height:1}
.emoji-meta{font-size:10px;color:#6c757d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.font-mono{font-family: ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;}
/* Snack (copy feedback) */
.snack{
  position: fixed;
  left: 50%;
  top: 12px;
  transform: translateX(-50%) translateY(-16px);
  background: #198754;
  color: #fff;
  padding: 8px 14px;
  border-radius: 10px;
  font-size: 13px;
  opacity: 0;
  pointer-events: none;
  transition: .25s ease;
  z-index: 1050;
  box-shadow: 0 10px 24px rgba(0,0,0,.12);
}
.snack.show{ opacity: 1; transform: translateX(-50%) translateY(0); }

/* Visual feedback on copied card */
.emoji-card.copied{
  outline: 2px solid rgba(25,135,84,.35);
  box-shadow: 0 0 0 4px rgba(25,135,84,.12);
}
