/* ==========================================================================
   Groyt Dashboard — "Sunucularım" ekranı (#dashGuilds) revizyonu
   --------------------------------------------------------------------------
   Yalnızca #dashGuilds altında çalışır; ayarlar/bildirim ekranları ve giriş ekranı
   etkilenmez. Palet style.css'teki Groyt tokenlarıdır (amber/altın + koyu zemin).
   Bot ekli sunucular büyük "sunucu kartı", bot olmayanlar yoğun "davet satırı"
   olarak sunulur. Animasyonlar transform/opacity ağırlıklı.
   ========================================================================== */
@property --a { syntax: '<angle>'; inherits: false; initial-value: 0deg; }

#dashGuilds {
  --dg-ease: cubic-bezier(0.16, 1, 0.3, 1);
  --dg-amber: rgba(255, 193, 7, 0.22);
  max-width: 1080px;
}

/* ---- Üst çubuk: kullanıcı + eylemler ---- */
#dashGuilds .dash-topbar {
  padding: 12px 16px; margin-bottom: 44px; border-radius: 14px;
  background: linear-gradient(120deg, rgba(255, 193, 7, 0.07), rgba(255, 255, 255, 0.02) 60%);
  border: 1px solid rgba(255, 255, 255, 0.09);
  animation: dgIn 0.7s var(--dg-ease) both;
}
#dashGuilds .user-chip img {
  width: 42px; height: 42px; border: 2px solid rgba(255, 193, 7, 0.65);
  box-shadow: 0 0 0 3px rgba(255, 193, 7, 0.12), 0 0 20px -4px rgba(255, 193, 7, 0.5);
  transition: transform 0.5s var(--dg-ease), box-shadow 0.5s var(--dg-ease);
}
#dashGuilds .user-chip:hover img { transform: scale(1.08) rotate(-4deg); box-shadow: 0 0 0 4px rgba(255, 193, 7, 0.2), 0 0 28px -2px rgba(255, 193, 7, 0.7); }

/* ---- Başlık ---- */
#dashGuilds .dash-title {
  font-size: clamp(30px, 4.4vw, 46px); letter-spacing: -0.03em; line-height: 1.08; margin-bottom: 12px;
  animation: dgIn 0.8s var(--dg-ease) 0.05s both;
}
#dashGuilds .dash-title::before {
  content: 'GROYT DASHBOARD'; display: flex; align-items: center; gap: 12px; margin-bottom: 16px;
  font: 700 11px 'Orbitron', sans-serif; letter-spacing: 0.24em; color: var(--blue-bright);
}
#dashGuilds .dash-subtitle { font-size: 15.5px; max-width: 58ch; margin-bottom: 30px; animation: dgIn 0.8s var(--dg-ease) 0.12s both; }

/* ---- Özet kutuları: amber neon ---- */
.guild-summary { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 34px; }
.gs-box {
  min-width: 150px; display: flex; flex-direction: column; gap: 2px; padding: 14px 22px; border-radius: 10px;
  border: 1px solid rgba(255, 193, 7, 0.4);
  background: linear-gradient(160deg, rgba(255, 193, 7, 0.08), rgba(255, 193, 7, 0.015));
  box-shadow: 0 0 0 1px rgba(255, 193, 7, 0.06), 0 0 18px -4px rgba(255, 193, 7, 0.32), inset 0 0 14px -8px rgba(255, 193, 7, 0.5);
  animation: dgIn 0.7s var(--dg-ease) both;
  transition: transform 0.5s var(--dg-ease), box-shadow 0.5s var(--dg-ease), border-color 0.4s ease;
}
.gs-box:nth-child(2) { animation-delay: 0.08s; } .gs-box:nth-child(3) { animation-delay: 0.16s; }
.gs-box.is-on { border-color: rgba(255, 193, 7, 0.7); box-shadow: 0 0 0 1px rgba(255, 193, 7, 0.1), 0 0 26px -3px rgba(255, 193, 7, 0.5), inset 0 0 16px -6px rgba(255, 193, 7, 0.6); }
.gs-box b { font: 800 30px/1.1 'Orbitron', sans-serif; color: var(--blue-bright); text-shadow: 0 0 16px rgba(255, 193, 7, 0.5); }
.gs-box span { font-size: 11.5px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--text-secondary); }
@media (hover: hover) { .gs-box:hover { transform: translateY(-4px) scale(1.04); border-color: var(--blue-bright); } }

/* ---- Arama ---- */
#dashGuilds .guild-search {
  max-width: 440px; height: 48px; margin-bottom: 4px; padding: 0 16px 0 46px; border-radius: 10px;
  background: rgba(255, 255, 255, 0.04) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239aa4bd' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E") no-repeat 15px center / 18px;
  transition: border-color 0.3s ease, box-shadow 0.4s var(--dg-ease), transform 0.4s var(--dg-ease), background-color 0.3s;
  animation: dgIn 0.7s var(--dg-ease) 0.2s both;
}
#dashGuilds .guild-search:hover { border-color: var(--dg-amber); }
#dashGuilds .guild-search:focus { border-color: var(--blue-bright); box-shadow: 0 0 0 4px rgba(255, 218, 71, 0.13); transform: translateY(-1px); }

/* ---- Grup başlıkları ---- */
#dashGuilds .guild-group-label { margin: 40px 0 20px; animation: dgIn 0.7s var(--dg-ease) 0.2s both; }
#dashGuilds .guild-group-count { border-radius: 6px; font-family: 'Orbitron', sans-serif; padding: 2px 9px; }
#dashGuilds .guild-group-label::before { box-shadow: 0 0 12px rgba(255, 193, 7, 0.55); }

/* ---- Bot ekli: sunucu kartları ---- */
#dashGuilds .guild-list { grid-template-columns: repeat(auto-fill, minmax(232px, 1fr)); gap: 16px; }
#dashGuilds .guild-card {
  padding: 30px 18px 20px; border-radius: 20px; border: 1px solid rgba(255, 255, 255, 0.1);
  background: linear-gradient(170deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.02));
  animation: dgIn 0.75s var(--dg-ease) both; animation-delay: min(calc(var(--i, 0) * 55ms + 0.15s), 1.2s);
  transition: transform 0.55s var(--dg-ease), box-shadow 0.55s var(--dg-ease), border-color 0.4s ease, background 0.4s ease;
}
/* dönen altın kenar (hover) */
#dashGuilds .guild-card::after {
  content: ''; position: absolute; inset: 0; z-index: 2; border-radius: inherit; padding: 1px; pointer-events: none; opacity: 0; transition: opacity 0.4s;
  background: conic-gradient(from var(--a), transparent 0 55%, rgba(255, 218, 71, 0.95) 78%, transparent 100%);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor;
  mask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0);
  animation: dgSpin 3.2s linear infinite;
}
#dashGuilds .guild-card:hover::after, #dashGuilds .guild-card:focus-visible::after { opacity: 1; }
#dashGuilds .guild-card img, #dashGuilds .guild-fallback-icon {
  width: 82px; height: 82px; margin-bottom: 12px; border: 3px solid rgba(255, 255, 255, 0.16);
  transition: transform 0.6s var(--dg-ease), border-color 0.4s ease, box-shadow 0.5s var(--dg-ease);
}
#dashGuilds .guild-card:hover { transform: translateY(-7px) scale(1.03); border-color: rgba(255, 218, 71, 0.5); box-shadow: 0 28px 48px -26px rgba(0, 0, 0, 0.9), 0 0 44px -14px rgba(255, 193, 7, 0.32); }
#dashGuilds .guild-card:hover img, #dashGuilds .guild-card:hover .guild-fallback-icon { transform: scale(1.1) rotate(-4deg); border-color: var(--blue-bright); box-shadow: 0 10px 26px -6px rgba(255, 193, 7, 0.55); }
#dashGuilds .guild-card-name { font-size: 16px; letter-spacing: -0.01em; transition: color 0.3s ease; }
#dashGuilds .guild-card:hover .guild-card-name { color: var(--blue-bright); }

/* durum rozeti: canlı nokta */
#dashGuilds .guild-card-status { padding: 3px 10px; margin-top: 8px; border-radius: 6px; background: rgba(61, 220, 132, 0.09); border: 1px solid rgba(61, 220, 132, 0.28); color: #86efac; font-weight: 600; }
#dashGuilds .guild-card-status::before { animation: dgPulse 2s ease-in-out infinite; }
#dashGuilds .guild-card-status.is-missing { background: rgba(240, 168, 104, 0.09); border-color: rgba(240, 168, 104, 0.3); color: #f0a868; }
#dashGuilds .guild-card-status.is-missing::before { animation: none; }

/* eylem düğmesi + kayan ok */
#dashGuilds .guild-card-action { position: relative; margin-top: 16px; border-radius: 10px; padding: 10px 14px; font-weight: 700; letter-spacing: 0.01em; transition: background-color 0.35s ease, color 0.3s ease, border-color 0.3s ease, transform 0.45s var(--dg-ease), box-shadow 0.45s var(--dg-ease); }
#dashGuilds .guild-card-action::after { content: '→'; display: inline-block; margin-left: 8px; transition: transform 0.45s var(--dg-ease); }
#dashGuilds .guild-card:hover .guild-card-action { transform: translateY(-1px); box-shadow: 0 10px 22px -10px rgba(255, 193, 7, 0.7); }
#dashGuilds .guild-card:hover .guild-card-action::after { transform: translateX(5px); }

/* ---- Bot yok: yoğun davet satırları ---- */
#dashGuilds .guild-list:has(> .is-disabled) { grid-template-columns: repeat(auto-fill, minmax(380px, 1fr)); gap: 12px; }
#dashGuilds .guild-card.is-disabled {
  flex-direction: row; align-items: center; text-align: left; gap: 14px; padding: 14px 16px; border-radius: 14px; border-style: dashed; border-color: rgba(255, 255, 255, 0.14);
  background: rgba(255, 255, 255, 0.02);
}
#dashGuilds .guild-card.is-disabled img, #dashGuilds .guild-card.is-disabled .guild-fallback-icon { width: 48px; height: 48px; margin: 0; border-width: 2px; font-size: 16px; }
#dashGuilds .guild-card.is-disabled .guild-card-info { flex: 1; width: auto; min-width: 0; }
#dashGuilds .guild-card.is-disabled .guild-card-status { margin-top: 5px; white-space: nowrap; }
#dashGuilds .guild-card.is-disabled .guild-card-info { text-align: left; }
#dashGuilds .guild-card.is-disabled .guild-card-action { width: auto; margin: 0; padding: 8px 14px; white-space: nowrap; background: rgba(255, 193, 7, 0.08); border-color: var(--dg-amber); color: var(--blue-bright); }
#dashGuilds .guild-card.is-disabled .guild-card-action::after { content: '↗'; }
#dashGuilds .guild-card.is-disabled:hover { border-style: solid; transform: translateY(-4px) scale(1.02); }
#dashGuilds .guild-card.is-disabled:hover .guild-card-action { background: var(--blue-bright); color: #1a1400; }
#dashGuilds .guild-card.is-disabled:hover .guild-card-action::after { transform: translate(3px, -3px); }
#dashGuilds .guild-card.is-disabled .guild-card-glow { opacity: 0.1; }
/* simgesi olmayan sunucuların yedek parıltısı daha sönük (eskiden çok baskındı) */
#dashGuilds .guild-card-glow.is-fallback { opacity: 0.14; }
#dashGuilds .guild-card:hover .guild-card-glow.is-fallback { opacity: 0.3; }

/* ---- Boş / hata / yükleniyor ---- */
#guildGrid > .form-hint {
  padding: 30px 24px; text-align: center; font-size: 14.5px; color: var(--text-secondary);
  border: 1px dashed rgba(255, 255, 255, 0.16); border-radius: 14px; background: rgba(255, 255, 255, 0.02);
  animation: dgIn 0.7s var(--dg-ease) both;
}
.guild-skeleton { display: grid; grid-template-columns: repeat(auto-fill, minmax(232px, 1fr)); gap: 16px; margin-top: 14px; }
.guild-skeleton i {
  height: 196px; border-radius: 20px; border: 1px solid rgba(255, 255, 255, 0.06);
  background: linear-gradient(100deg, rgba(255, 255, 255, 0.03) 30%, rgba(255, 193, 7, 0.09) 50%, rgba(255, 255, 255, 0.03) 70%); background-size: 220% 100%;
  animation: dgShimmer 1.5s linear infinite;
}
.guild-skeleton i:nth-child(2) { animation-delay: 0.15s; } .guild-skeleton i:nth-child(3) { animation-delay: 0.3s; } .guild-skeleton i:nth-child(4) { animation-delay: 0.45s; }

@keyframes dgIn { from { opacity: 0; transform: translateY(18px) scale(0.97); } to { opacity: 1; transform: none; } }
@keyframes dgFade { from { opacity: 0; } to { opacity: 1; } }
@keyframes dgSpin { to { --a: 360deg; } }
@keyframes dgPulse { 0%, 100% { box-shadow: 0 0 0 0 rgba(61, 220, 132, 0.55); } 50% { box-shadow: 0 0 0 5px rgba(61, 220, 132, 0); } }
@keyframes dgShimmer { from { background-position: 120% 0; } to { background-position: -120% 0; } }

@media (max-width: 620px) {
  #dashGuilds .guild-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  #dashGuilds .guild-list:has(> .is-disabled) { grid-template-columns: minmax(0, 1fr); }
  #dashGuilds .guild-card.is-disabled { flex-wrap: wrap; }
  #dashGuilds .guild-card.is-disabled .guild-card-action { margin-left: 58px; }
  #dashGuilds .guild-card { padding: 22px 10px 14px; }
  #dashGuilds .guild-card img, #dashGuilds .guild-fallback-icon { width: 62px; height: 62px; }
  #dashGuilds .guild-card.is-disabled { padding: 12px 14px; }
  #dashGuilds .guild-card.is-disabled img, #dashGuilds .guild-card.is-disabled .guild-fallback-icon { width: 44px; height: 44px; }
  .gs-box { flex: 1 1 calc(50% - 6px); min-width: 0; padding: 12px 14px; }
  .gs-box b { font-size: 24px; }
  #dashGuilds .dash-topbar { margin-bottom: 30px; }
  .guild-skeleton { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Hareketi azalt: kayma/dönen kenar kapanır, yumuşak belirme + hover sürer */

